diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..88a6c53
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2026 shenjianZ
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/client/.gitignore b/client/.gitignore
index c5c2167..cc2c963 100644
--- a/client/.gitignore
+++ b/client/.gitignore
@@ -29,4 +29,4 @@ src-tauri/gen
pnpm-lock.yaml
package-lock.json
yarn.lock
-bun.lockb
\ No newline at end of file
+bun.lockb
diff --git a/client/icon.svg b/client/icon.svg
new file mode 100644
index 0000000..3f23954
--- /dev/null
+++ b/client/icon.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/client/src-tauri/icons/128x128.png b/client/src-tauri/icons/128x128.png
index 6be5e50..c929e6d 100644
Binary files a/client/src-tauri/icons/128x128.png and b/client/src-tauri/icons/128x128.png differ
diff --git a/client/src-tauri/icons/128x128@2x.png b/client/src-tauri/icons/128x128@2x.png
index e81bece..bac0c9f 100644
Binary files a/client/src-tauri/icons/128x128@2x.png and b/client/src-tauri/icons/128x128@2x.png differ
diff --git a/client/src-tauri/icons/32x32.png b/client/src-tauri/icons/32x32.png
index a437dd5..87c1ccb 100644
Binary files a/client/src-tauri/icons/32x32.png and b/client/src-tauri/icons/32x32.png differ
diff --git a/client/src-tauri/icons/64x64.png b/client/src-tauri/icons/64x64.png
new file mode 100644
index 0000000..5ac5036
Binary files /dev/null and b/client/src-tauri/icons/64x64.png differ
diff --git a/client/src-tauri/icons/Square107x107Logo.png b/client/src-tauri/icons/Square107x107Logo.png
index 0ca4f27..f7bbc5a 100644
Binary files a/client/src-tauri/icons/Square107x107Logo.png and b/client/src-tauri/icons/Square107x107Logo.png differ
diff --git a/client/src-tauri/icons/Square142x142Logo.png b/client/src-tauri/icons/Square142x142Logo.png
index b81f820..1e07675 100644
Binary files a/client/src-tauri/icons/Square142x142Logo.png and b/client/src-tauri/icons/Square142x142Logo.png differ
diff --git a/client/src-tauri/icons/Square150x150Logo.png b/client/src-tauri/icons/Square150x150Logo.png
index 624c7bf..a977f4f 100644
Binary files a/client/src-tauri/icons/Square150x150Logo.png and b/client/src-tauri/icons/Square150x150Logo.png differ
diff --git a/client/src-tauri/icons/Square284x284Logo.png b/client/src-tauri/icons/Square284x284Logo.png
index c021d2b..9a7cdf1 100644
Binary files a/client/src-tauri/icons/Square284x284Logo.png and b/client/src-tauri/icons/Square284x284Logo.png differ
diff --git a/client/src-tauri/icons/Square30x30Logo.png b/client/src-tauri/icons/Square30x30Logo.png
index 6219700..714cd73 100644
Binary files a/client/src-tauri/icons/Square30x30Logo.png and b/client/src-tauri/icons/Square30x30Logo.png differ
diff --git a/client/src-tauri/icons/Square310x310Logo.png b/client/src-tauri/icons/Square310x310Logo.png
index f9bc048..56f6dfb 100644
Binary files a/client/src-tauri/icons/Square310x310Logo.png and b/client/src-tauri/icons/Square310x310Logo.png differ
diff --git a/client/src-tauri/icons/Square44x44Logo.png b/client/src-tauri/icons/Square44x44Logo.png
index d5fbfb2..33ed7a8 100644
Binary files a/client/src-tauri/icons/Square44x44Logo.png and b/client/src-tauri/icons/Square44x44Logo.png differ
diff --git a/client/src-tauri/icons/Square71x71Logo.png b/client/src-tauri/icons/Square71x71Logo.png
index 63440d7..35e1360 100644
Binary files a/client/src-tauri/icons/Square71x71Logo.png and b/client/src-tauri/icons/Square71x71Logo.png differ
diff --git a/client/src-tauri/icons/Square89x89Logo.png b/client/src-tauri/icons/Square89x89Logo.png
index f3f705a..63a83ab 100644
Binary files a/client/src-tauri/icons/Square89x89Logo.png and b/client/src-tauri/icons/Square89x89Logo.png differ
diff --git a/client/src-tauri/icons/StoreLogo.png b/client/src-tauri/icons/StoreLogo.png
index 4556388..66515a4 100644
Binary files a/client/src-tauri/icons/StoreLogo.png and b/client/src-tauri/icons/StoreLogo.png differ
diff --git a/client/src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml b/client/src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml
new file mode 100644
index 0000000..2ffbf24
--- /dev/null
+++ b/client/src-tauri/icons/android/mipmap-anydpi-v26/ic_launcher.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/client/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png b/client/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png
new file mode 100644
index 0000000..21c8840
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png differ
diff --git a/client/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png b/client/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..784697c
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png differ
diff --git a/client/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/client/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png
new file mode 100644
index 0000000..c3381e4
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png differ
diff --git a/client/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png b/client/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png
new file mode 100644
index 0000000..e28acdd
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png differ
diff --git a/client/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png b/client/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..8becf2d
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png differ
diff --git a/client/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png b/client/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png
new file mode 100644
index 0000000..b9c0941
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png differ
diff --git a/client/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png b/client/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png
new file mode 100644
index 0000000..11c5a9a
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png differ
diff --git a/client/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png b/client/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..3b44d0b
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png differ
diff --git a/client/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png b/client/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..add3f46
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png differ
diff --git a/client/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png b/client/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png
new file mode 100644
index 0000000..0937efe
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/client/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png b/client/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..cd82748
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png differ
diff --git a/client/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png b/client/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..8f54134
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png differ
diff --git a/client/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png b/client/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png
new file mode 100644
index 0000000..2d0cdca
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/client/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png b/client/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png
new file mode 100644
index 0000000..9891bce
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png differ
diff --git a/client/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png b/client/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png
new file mode 100644
index 0000000..d1a6a70
Binary files /dev/null and b/client/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png differ
diff --git a/client/src-tauri/icons/android/values/ic_launcher_background.xml b/client/src-tauri/icons/android/values/ic_launcher_background.xml
new file mode 100644
index 0000000..ea9c223
--- /dev/null
+++ b/client/src-tauri/icons/android/values/ic_launcher_background.xml
@@ -0,0 +1,4 @@
+
+
+ #fff
+
\ No newline at end of file
diff --git a/client/src-tauri/icons/icon.icns b/client/src-tauri/icons/icon.icns
index 12a5bce..170e9ad 100644
Binary files a/client/src-tauri/icons/icon.icns and b/client/src-tauri/icons/icon.icns differ
diff --git a/client/src-tauri/icons/icon.ico b/client/src-tauri/icons/icon.ico
index b3636e4..143f9d0 100644
Binary files a/client/src-tauri/icons/icon.ico and b/client/src-tauri/icons/icon.ico differ
diff --git a/client/src-tauri/icons/icon.png b/client/src-tauri/icons/icon.png
index e1cd261..8eabb88 100644
Binary files a/client/src-tauri/icons/icon.png and b/client/src-tauri/icons/icon.png differ
diff --git a/client/src-tauri/icons/icon.svg b/client/src-tauri/icons/icon.svg
new file mode 100644
index 0000000..3f23954
--- /dev/null
+++ b/client/src-tauri/icons/icon.svg
@@ -0,0 +1,30 @@
+
\ No newline at end of file
diff --git a/client/src-tauri/icons/ios/AppIcon-20x20@1x.png b/client/src-tauri/icons/ios/AppIcon-20x20@1x.png
new file mode 100644
index 0000000..bf8a5e2
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-20x20@1x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-20x20@2x-1.png b/client/src-tauri/icons/ios/AppIcon-20x20@2x-1.png
new file mode 100644
index 0000000..84d54c2
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-20x20@2x-1.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-20x20@2x.png b/client/src-tauri/icons/ios/AppIcon-20x20@2x.png
new file mode 100644
index 0000000..84d54c2
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-20x20@2x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-20x20@3x.png b/client/src-tauri/icons/ios/AppIcon-20x20@3x.png
new file mode 100644
index 0000000..4fad2b1
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-20x20@3x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-29x29@1x.png b/client/src-tauri/icons/ios/AppIcon-29x29@1x.png
new file mode 100644
index 0000000..9989f34
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-29x29@1x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-29x29@2x-1.png b/client/src-tauri/icons/ios/AppIcon-29x29@2x-1.png
new file mode 100644
index 0000000..b26568b
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-29x29@2x-1.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-29x29@2x.png b/client/src-tauri/icons/ios/AppIcon-29x29@2x.png
new file mode 100644
index 0000000..b26568b
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-29x29@2x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-29x29@3x.png b/client/src-tauri/icons/ios/AppIcon-29x29@3x.png
new file mode 100644
index 0000000..9fb4726
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-29x29@3x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-40x40@1x.png b/client/src-tauri/icons/ios/AppIcon-40x40@1x.png
new file mode 100644
index 0000000..84d54c2
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-40x40@1x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-40x40@2x-1.png b/client/src-tauri/icons/ios/AppIcon-40x40@2x-1.png
new file mode 100644
index 0000000..50d2580
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-40x40@2x-1.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-40x40@2x.png b/client/src-tauri/icons/ios/AppIcon-40x40@2x.png
new file mode 100644
index 0000000..50d2580
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-40x40@2x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-40x40@3x.png b/client/src-tauri/icons/ios/AppIcon-40x40@3x.png
new file mode 100644
index 0000000..916683e
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-40x40@3x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-512@2x.png b/client/src-tauri/icons/ios/AppIcon-512@2x.png
new file mode 100644
index 0000000..c0821d9
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-512@2x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-60x60@2x.png b/client/src-tauri/icons/ios/AppIcon-60x60@2x.png
new file mode 100644
index 0000000..916683e
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-60x60@2x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-60x60@3x.png b/client/src-tauri/icons/ios/AppIcon-60x60@3x.png
new file mode 100644
index 0000000..38c5b33
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-60x60@3x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-76x76@1x.png b/client/src-tauri/icons/ios/AppIcon-76x76@1x.png
new file mode 100644
index 0000000..b7e37e6
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-76x76@1x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-76x76@2x.png b/client/src-tauri/icons/ios/AppIcon-76x76@2x.png
new file mode 100644
index 0000000..d780ea9
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-76x76@2x.png differ
diff --git a/client/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png b/client/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png
new file mode 100644
index 0000000..e9d162f
Binary files /dev/null and b/client/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png differ
diff --git a/crawler-module/README.md b/crawler-module/README.md
index b6c4c39..7012443 100644
--- a/crawler-module/README.md
+++ b/crawler-module/README.md
@@ -46,10 +46,13 @@ python -m src.cli.main --list
python -m src.cli.main netease:tech
# 运行所有爬虫
-python -m src.cli.main --all
+python -m src.cli.main --all
# 指定最大文章数
python -m src.cli.main netease:tech --max 5
+
+# 运行所有爬虫,并指定最大文章数
+python -m src.cli.main --all --max 40
```
## 项目结构