fix: disable unsolicited background UI automation

This commit is contained in:
2026-09-20 18:40:23 +08:00
parent 7bf994de88
commit e17124de59
7 changed files with 56 additions and 17 deletions
+3 -3
View File
@@ -6,7 +6,7 @@
1. 在已登录、未锁定的 Windows 用户会话中运行发布包中的 `WxAgent-Setup.exe`。安装器会创建桌面/开始菜单快捷方式和可选的登录启动项,不需要 PowerShell 或管理员权限。
2. 启动托盘程序后,首次运行会生成唯一的远程访问 Token,并自动打开“服务设置...”窗口。Token 在该窗口中明文展示,可复制或重新生成;不需要单独的凭据窗口,也不支持多 Token。
3. Windows Agent 不支持无托盘运行、`serve --config` 或其他命令行配置。请双击 `WxAgent.Tray.exe`,在托盘菜单的“服务设置...”窗口中配置监听地址、凭据、验证模式和自动锁屏选项。
3. Windows Agent 不支持无托盘运行、`serve --config` 或其他命令行配置。请双击 `WxAgent.Tray.exe`,在托盘菜单的“服务设置...”窗口中配置监听地址、凭据、验证模式、后台消息监听和自动锁屏选项。
`credentials.json` 只保存 SHA-256 大写十六进制摘要,例如:
@@ -16,7 +16,7 @@
`AccountIds` 仅为旧凭据格式保留,不再作为账号级数据授权边界;`[]` 可以保留。凭据文件应使用当前用户 ACL,禁止提交仓库。调用方仍必须显式携带 account fingerprint 选择数据和目标,Agent 会验证绑定、窗口和目标一致性。托盘模式的 `service.json` 会保存 `AccessToken` 明文,以便服务设置窗口随时展示;该文件同样只应保存在本机。
服务运行后通过托盘菜单或双击托盘图标打开“服务设置...”配置监听地址、端口、远程访问、唯一 Token、验证模式和自动锁屏选项,不需要手工编辑 `service.json`/`credentials.json`。不提供命令行配置入口。队列容量、监听会话和监听事件开关属于内部实现/验收策略,不作为用户配置项。自动锁屏设置由服务设置窗口保存;该设置不阻止用户手动锁定。默认只监听 `127.0.0.1:5088`,本机访问控制台不需要 Token,会自动进入。外部监听必须启用远程访问并自行配置防火墙,服务不会自动开放端口;外部监听使用具体 IP,不能使用 `0.0.0.0`/`::`。服务校验可信 Host/Origin;远程浏览器写请求需要 Cookie、CSRF 和可信 Origin,本机浏览器写请求还需要 `X-WxAgent-Local: 1`。HTTP 不加密 Token、Cookie、消息或附件,不直接暴露公网。
服务运行后通过托盘菜单或双击托盘图标打开“服务设置...”配置监听地址、端口、远程访问、唯一 Token、验证模式、后台消息监听和自动锁屏选项,不需要手工编辑 `service.json`/`credentials.json`。不提供命令行配置入口。队列容量、监听会话和监听事件开关属于内部实现/验收策略,不作为用户配置项。自动锁屏设置由服务设置窗口保存;该设置不阻止用户手动锁定。默认只监听 `127.0.0.1:5088`,本机访问控制台不需要 Token,会自动进入。外部监听必须启用远程访问并自行配置防火墙,服务不会自动开放端口;外部监听使用具体 IP,不能使用 `0.0.0.0`/`::`。服务校验可信 Host/Origin;远程浏览器写请求需要 Cookie、CSRF 和可信 Origin,本机浏览器写请求还需要 `X-WxAgent-Local: 1`。HTTP 不加密 Token、Cookie、消息或附件,不直接暴露公网。
远程浏览器访问 `/` 后输入 Token 登录。HTTP/MCP 客户端使用:
@@ -24,7 +24,7 @@
Authorization: Bearer <TOKEN>
```
MCP Streamable HTTP 地址为 `/mcp`。不要把 Token 放在 URL、MCP session ID、浏览器持久存储或日志中。事件流默认关闭,是否启用属于内部验收开关,不作为用户配置项;真机消息验证最多发送 3 条。
MCP Streamable HTTP 地址为 `/mcp`。不要把 Token 放在 URL、MCP session ID、浏览器持久存储或日志中。后台消息监听默认关闭;启用后会在微信界面上进行消息观察,可在“服务设置...”中显式打开。真机消息验证最多发送 3 条。
## 凭据更换与撤销
@@ -578,7 +578,7 @@ scp -r node-agent/WxAgent.Tray/bin/Release/net8.0-windows10.0.19041.0/win-x64/pu
}
```
当前版本不提供任何命令行配置入口,也不接受通过 CLI 修改 `remote.json`、Token、节点 ID 或上报白名单。Windows Agent 只通过双击 `WxAgent.Tray.exe` 启动;本机监听、访问凭据、验证写操作和自动锁屏在“服务设置...”配置窗口中维护。远程上报配置尚未提供用户配置容器时保持已有部署配置或禁用,不得用命令行绕过该边界。
当前版本不提供任何命令行配置入口,也不接受通过 CLI 修改 `remote.json`、Token、节点 ID 或上报白名单。Windows Agent 只通过双击 `WxAgent.Tray.exe` 启动;本机监听、访问凭据、验证写操作、后台消息监听和自动锁屏在“服务设置...”配置窗口中维护。后台消息监听默认关闭,启用后会操作微信界面;远程上报配置尚未提供用户配置容器时保持已有部署配置或禁用,不得用命令行绕过该边界。
### 9.3 诊断与只读确认
@@ -57,7 +57,7 @@
- `cd control-plane && go test ./...`:通过。
- `cd control-plane/web && npm run build`:通过。
- `dotnet test tests/node-agent/WxAgent.Core.Tests -c Release --no-restore`:168 tests 通过。
- `dotnet test tests/node-agent/WxAgent.Service.Tests -c Release --no-restore`:22 tests 通过,包含 `broadcast-text` 冻结、顺序、停止和幂等覆盖。
- `dotnet test tests/node-agent/WxAgent.Service.Tests -c Release --no-restore`:23 tests 通过,包含 `broadcast-text` 冻结、顺序、停止、幂等和后台监听默认关闭覆盖。
- `dotnet build WxAgent.sln -c Release -p:EnableWindowsTargeting=true --no-restore`:0 warnings、0 errors。
- `git diff --check`、Go `gofmt`:通过。