|
4 | 4 |
|
5 | 5 | # WeChat Auto Shell |
6 | 6 |
|
7 | | -一个面向 Windows 的微信预览监听桌面壳:低打扰看左侧会话变化,把新消息整理到本地界面里,按需接翻译和 TTS。 |
| 7 | +一个面向 Windows 的微信预览监听桌面壳。它做的事很单一:盯住微信左侧会话列表,把最新预览整理到独立界面里,并按需接翻译和朗读。 |
8 | 8 |
|
9 | | -它不是聊天机器人,不做主动发消息,不做自动回复,也不尝试读取完整聊天记录。它适合的是“看见左侧会话变化,快速浏览、翻译、朗读”的场景。 |
| 9 | +它不是聊天机器人,也不是“完整聊天记录抓取器”。它不发消息、不自动回复、不写输入框,也不读取右侧聊天区全文。 |
10 | 10 |
|
11 | | -## 适合谁 |
| 11 | +## 它适合谁 |
12 | 12 |
|
13 | | -- 想低打扰跟踪微信群/私聊的最新预览内容 |
14 | | -- 想把微信里的英文/中英文消息顺手翻成可读文本 |
15 | | -- 想在 Windows 上用本地桌面壳查看状态、日志和消息流 |
16 | | -- 想要一个不改微信客户端的监听方案 |
| 13 | +- 想低打扰跟踪微信群或私聊最新动静的人 |
| 14 | +- 想把英文或中英混合消息顺手翻译成可读文本的人 |
| 15 | +- 想在 Windows 上单独看状态、消息预览和日志的人 |
| 16 | +- 想要一个不改微信客户端的监听方案的人 |
17 | 17 |
|
18 | | -## 核心能力 |
| 18 | +## 你会得到什么 |
19 | 19 |
|
20 | 20 | - 监听微信左侧可见会话预览,自动提取最新变化 |
21 | | -- 桌面壳展示会话列表、消息卡片、运行状态和健康信息 |
22 | | -- 支持翻译 provider:`deeplx`、`openai_compatible`、`passthrough` |
23 | | -- 支持 TTS:`windows_system`、`doubao`、`tencent_cloud` |
24 | | -- 支持单实例桌面壳,第二次启动只聚焦已有窗口 |
25 | | -- 运行时配置、日志和锁都落在 `%LOCALAPPDATA%\com.wechatauto.shell` |
| 21 | +- 在本地桌面壳里查看会话列表、消息卡片、运行状态和健康信息 |
| 22 | +- 按需接入翻译服务,把外语消息转换成更容易读的文本 |
| 23 | +- 按需接入朗读能力,让消息可以直接播出来 |
| 24 | +- 单实例桌面壳,重复启动只聚焦已有窗口 |
26 | 25 |
|
27 | 26 | ## 你需要先接受的限制 |
28 | 27 |
|
29 | 28 | - 当前抓的是左侧会话预览,不是右侧聊天区全文 |
30 | 29 | - 长消息会被微信预览截断,后半段拿不回来 |
31 | 30 | - 当前只覆盖左侧可见会话,看不见的会话本轮抓不到 |
32 | | -- 这套方案适合低干扰浏览和翻译,不适合完整审计或归档 |
| 31 | +- 这套方案适合低干扰浏览、翻译、朗读,不适合完整审计或归档 |
33 | 32 | - 不提供发送消息、发送文件、自动回复、写输入框等主动操作 |
34 | 33 |
|
35 | | -## 安装与启动 |
| 34 | +## 普通用户怎么理解它 |
36 | 35 |
|
37 | | -先装 Python 依赖: |
| 36 | +- 如果你拿到的是安装包或现成的桌面应用,直接运行即可 |
| 37 | +- 仓库跟踪的默认配置以“首启可进入设置页”为目标,不把翻译或云 TTS 密钥当成硬依赖 |
| 38 | +- 只有当你主动启用额外翻译服务或云端朗读服务时,才需要额外补 URL 或凭据 |
| 39 | +- 运行时配置、日志和锁文件会落到 `%LOCALAPPDATA%\com.wechatauto.shell` |
38 | 40 |
|
39 | | -```bash |
40 | | -pip install -r requirements.txt |
41 | | -``` |
| 41 | +## 文档分流 |
42 | 42 |
|
43 | | -再装前端依赖: |
44 | | - |
45 | | -```bash |
46 | | -cd desktop-shell |
47 | | -npm install |
48 | | -``` |
49 | | - |
50 | | -### 源码态启动 |
51 | | - |
52 | | -开一个终端启动后端: |
53 | | - |
54 | | -```bash |
55 | | -python listener_app/backend_main.py --config ".\config\listener.json" |
56 | | -``` |
57 | | - |
58 | | -再开一个终端启动前端开发页: |
59 | | - |
60 | | -```bash |
61 | | -cd desktop-shell |
62 | | -npm run dev |
63 | | -``` |
64 | | - |
65 | | -- HTTP 默认地址:`http://127.0.0.1:8765` |
66 | | -- WebSocket 默认地址:`ws://127.0.0.1:8766/events` |
67 | | - |
68 | | -### Tauri 桌面壳 |
69 | | - |
70 | | -如果本机已经装好 Rust toolchain: |
71 | | - |
72 | | -```bash |
73 | | -cd desktop-shell |
74 | | -npm run tauri dev |
75 | | -``` |
76 | | - |
77 | | -`npm run tauri dev` 会先构建 PyInstaller sidecar,再由 Tauri 壳托管 backend。 |
78 | | - |
79 | | -### 打包 |
80 | | - |
81 | | -```bash |
82 | | -cd desktop-shell |
83 | | -npm run tauri build |
84 | | -``` |
85 | | - |
86 | | -这一步会产出 Windows 桌面壳、backend sidecar 和 worker sidecar。首次启动时,如果没有 `.env.local`,默认也应该能先进入壳和设置页。 |
87 | | - |
88 | | -## 默认配置 |
89 | | - |
90 | | -仓库跟踪的默认配置是“首启可用”的,不把密钥当成硬依赖: |
91 | | - |
92 | | -- `translate.enabled=false` |
93 | | -- `tts.provider=windows_system` |
94 | | - |
95 | | -如果你要接 DeepLX、OpenAI-compatible 翻译,或者启用豆包 / 腾讯云 TTS,再补对应 URL 和凭据即可。 |
96 | | - |
97 | | -## 发布产物 |
98 | | - |
99 | | -`npm run tauri build` 当前会产出: |
100 | | - |
101 | | -- `wechat-auto-shell.exe` |
102 | | -- `wechat-auto-backend.exe` |
103 | | -- `group_listener_worker.exe` |
104 | | -- `msi` |
105 | | -- `nsis setup.exe` |
106 | | - |
107 | | -第二次启动 `wechat-auto-shell.exe` 时,只会聚焦已有窗口,不会再拉第二份壳或 backend。 |
108 | | -Windows 打包图标现在统一来自 `desktop-shell/src-tauri/icons/icon.svg` 和它生成的 `icon.ico`;别再拿空壳默认图标糊弄发布产物。 |
109 | | - |
110 | | -## 开发与构建 |
111 | | - |
112 | | -如果你在本地做回归,最少跑这几步: |
113 | | - |
114 | | -```bash |
115 | | -cd desktop-shell |
116 | | -npm test |
117 | | -npm run build |
118 | | -npm run test:rust |
119 | | -``` |
120 | | - |
121 | | -更完整的交付闸口是: |
122 | | - |
123 | | -```bash |
124 | | -python scripts/build_desktop_shell_sidecars.py --python python |
125 | | -cd desktop-shell |
126 | | -npm test |
127 | | -npm run build |
128 | | -npm run test:rust |
129 | | -python scripts/smoke_desktop_shell_release.py |
130 | | -``` |
131 | | - |
132 | | -## 配置与排障 |
133 | | - |
134 | | -- 配置说明:`config/listener.md` |
135 | | -- 桌面壳测试与构建:`docs/desktop-shell-build.md` |
136 | | -- 监听、健康契约和打包坑位:`docs/wechat-listening-pitfalls.md` |
137 | | - |
138 | | -## 项目结构 |
139 | | - |
140 | | -```text |
141 | | -config/ |
142 | | -desktop-shell/ |
143 | | -docs/ |
144 | | -listener_app/ |
145 | | -wechat_auto/ |
146 | | -``` |
| 43 | +- 普通用户:看这份 `README.md` 就够了 |
| 44 | +- 开发者 / 维护者:看 [docs/developer-guide.md](./docs/developer-guide.md) |
147 | 45 |
|
148 | 46 | ## 协议 |
149 | 47 |
|
|
0 commit comments