feat: make Windows Agent configuration GUI-only
Build web service image / build (push) Successful in 40s

This commit is contained in:
2026-09-20 17:25:34 +08:00
parent c7c0ab273f
commit 7bf994de88
12 changed files with 82 additions and 137 deletions
+5 -15
View File
@@ -27,7 +27,7 @@ export WXAGENT_NODE_TOKENS='{"node-a":"token-a","node-b":"token-b"}'
export WXAGENT_WEB_USERS='{"admin":"change-me","auditor":"read-only-password"}'
```
可选:`WXAGENT_CONTROL_PLANE_ADDR`(默认 `127.0.0.1:8090`)、`WXAGENT_CONTROL_PLANE_DATA`(默认 `control-plane-data.json`)。凭据可通过环境变量或 `*_FILE` Secret 文件读取,不写入控制面数据文件和日志。节点 `service.json` 可设置 `remoteConfigurationFile` 指向 CLI 管理的 `remote.json`;修改上报配置会在下一轮生效,修改远程地址/Token 后需重启 Agent。
可选:`WXAGENT_CONTROL_PLANE_ADDR`(默认 `127.0.0.1:8090`)、`WXAGENT_CONTROL_PLANE_DATA`(默认 `control-plane-data.json`)。凭据可通过环境变量或 `*_FILE` Secret 文件读取,不写入控制面数据文件和日志。节点的 `remoteConfigurationFile` 仅用于读取预置配置;Windows Agent 不提供命令行修改配置,启动和本机配置必须通过双击 `WxAgent.Tray.exe` 后的“服务设置...”窗口完成。
生产控制面可直接启用 TLS 和节点 mTLS:
@@ -116,20 +116,10 @@ WXAGENT_SCALE_WEB_PASSWORD='<test-password>' \
## Windows 手工验收
1. 在已登录且未锁定的微信桌面会话中运行 `WxAgent.Host doctor` 和 `WxAgent.Host inspect-ui --output artifacts/ui-tree.json`,确认账号绑定使用稳定 `accountId`,会话使用稳定 `AutomationId`,不使用昵称/PID/窗口句柄猜测。
2. 为节点配置 `remote.json`,例如先执行:
```powershell
WxAgent.Host remote auth set --config remote.json --address https://control.example --token $env:WXAGENT_NODE_TOKEN --node node-a --active-account <已确认的accountId>
WxAgent.Host remote reporting enable --config remote.json
WxAgent.Host remote reporting account-add --config remote.json --account <已确认的accountId>
WxAgent.Host remote reporting account-enable --config remote.json --account <已确认的accountId>
WxAgent.Host remote reporting allow --config remote.json --account <已确认的accountId> --type group --chat-id <已确认的稳定chatId> --identity-verified
WxAgent.Host remote probe run --config remote.json
```
3. 在节点 `service.json` 设置 `"remoteConfigurationFile": "<remote.json绝对路径>"` 后启动 `serve`。控制面应显示节点 `Online`、已验证账号和心跳版本。
4. 仅使用文件传输助手、`Hao 豪`、`吉祥三宝`、`消息测试专用群组`做发送/接收验证:先验证允许的群聊事件能到达控制面,再执行 `reporting deny`,确认后续正文不再上传;创建 `send-text` 前确认目标账号、稳定 chat ID 和文本。
1. 在已登录且未锁定的微信桌面会话中双击 `WxAgent.Tray.exe`;首次运行或托盘菜单“服务设置...”打开后,配置本机监听、凭据、验证模式和自动锁屏。
2. 不使用 `WxAgent.Host serve`、`--config`、`remote auth set`、`remote reporting enable/allow` 或其他命令行配置。`WxAgent.Host doctor`、`inspect-ui`、`remote ... show/probe` 仅用于只读诊断。
3. 远程配置若已由部署系统预置,托盘服务读取 `remoteConfigurationFile`;当前不通过命令行修改远程地址、Token、节点 ID 或 reporting 白名单。
4. 仅使用文件传输助手、`Hao 豪`、`吉祥三宝`、`消息测试专用群组`做发送/接收验证:先确认目标账号、稳定 chat ID 和文本;Web/HTTP/MCP 写操作仍必须通过现有确认门禁。
5. 在控制面取消任务并验证节点不执行;断开网络后恢复,确认未完成副作用任务显示 `ResultUnconfirmed`,不会自动重放。
未解锁的 Session 0、昵称、PID、窗口句柄和未确认的运行时身份都应视为验收失败;手工验收不得改写微信数据库或绕过安全机制。