Files
wx-win-agent/docs/WebUI-MCP-功能矩阵.md
T
rogee 7bf994de88
Build web service image / build (push) Successful in 40s
feat: make Windows Agent configuration GUI-only
2026-09-20 17:25:34 +08:00

6.7 KiB
Raw Blame History

Web UI + MCP 功能矩阵

状态以 GET /api/v1/capabilities 为准;implemented 不代表 validated,数据库指纹也不代表当前 UI 账号绑定。

多 Client 约束:平台可同时连接多个 Desktop Agent/Client;任务、事件、账号绑定和 UI 业务上下文按 client_id(内部可兼容 node_id)隔离。单个 Client 掉线只影响其自身任务和事件流,不得让其它 Client 进入离线或停止操作。

操作 REST MCP 当前状态 说明
服务/微信诊断 GET /api/v1/status/api/v1/diagnostics agent_statusagent_diagnose Ready/环境依赖 脱敏;服务在线不等于微信可用,不执行恢复或 UI 写操作
能力清单 GET /api/v1/capabilities agent_capabilities Ready 各项 implemented/validated/enabled 分离
数据库账号发现 GET /api/v1/accounts accounts_list 只读 仅返回指纹和绑定状态,不返回密钥
窗口枚举/显式绑定 GET /api/v1/ui-targetsPOST /api/v1/accounts/bind/unbind ui_targetsaccount_bindaccount_unbind Ready/需真机 用户选择 PID+HWND;绑定前读取 UI 身份并与已验证 contact.db 身份匹配,重复/不匹配拒绝
可见会话 GET /api/v1/sessions?accountId=.../search/currentPOST /open/scroll sessions_listsessions_searchsession_current 只读/导航 所有 UI 调用必须携带已绑定 accountId;精确匹配拒绝猜测;open/scroll 需 manage 且当前仍待导航验收
可见消息 GET /api/v1/messages?accountId=... messages_read 只读 必须使用已绑定 accountId;默认摘要;includeContent 需要 content 权限
数据库消息/合并记录 GET /api/v1/db/messages/api/v1/db/merged db_messagesdb_merged Implemented but disabled 仅接受显式已验证账号 fingerprint;只读 SQLCipher,未提供通用 SQL
任务查询/取消 GET /api/v1/operations/api/v1/operations/{id}POST /api/v1/operations/{id}/cancel operations_listoperation_getoperation_cancel Ready 按 principal 隔离;accountId 仅为调用方视图筛选,不是账号授权;取消不撤销已发生副作用
事件流 GET /api/v1/events 暂未注册 Explicit opt-in SSE 有界缓存、Last-Event-ID gap、Windows ListenEventsAsync 已接入;默认关闭,需受控真机验收后开启
单目标文本发送 POST /api/v1/operationskind=send-text operation_submit Implemented(仅验证模式开放) 已完成单 Client 账号绑定、目标唯一性、确认、幂等和 Windows 真机写后确认;默认部署仍只读,Web UI 直接提交继续门控
多目标文本群发 POST /api/v1/operationskind=broadcast-text operation_submit Implemented(仅验证模式开放) 冻结 1–20 个可见且唯一的会话 automation ID,串行逐项发送、记录结果、按错误停止并支持幂等重放;真实单 Client 最终已完成两个白名单目标均成功的群发验收,并保留失败停止证据
文件/卡片发送、联系人/群管理、朋友圈 Deferred/Disabled 遵循 docs/PENDING.md,需单项授权和真机证据
任意 SQL/UI 菜单/shell Unsupported 不提供

本轮普通用户工作台状态(2026-09-19)

范围 当前状态 验证边界
消息首页、会话和消息正文 已实现/只读已验证 通过真实控制面读取任务和双 Client 联调;仅显示当前 Client 的数据
通讯录/群列表 已实现/只读已验证 通过真实控制面读取任务联调;添加好友保持禁用
任务中心 已实现/只读已验证 展示 Client 归属、状态和结果;不提供未经验收的写操作重试
多 Client 选择与隔离 已实现/协议及浏览器已验证 client_id/node_id、连接代次、任务和事件按 Client 隔离;掉线任务进入等待/待核对,不自动跨 Client 改投
发送、群发、添加好友 发送/群发已具备验证模式入口;添加好友禁用 单 Client 白名单对象已完成发送与 broadcast-text 多目标逐项/停止/幂等验证;默认部署和 Web UI 直接写入口仍安全门控,添加好友不在本轮

详细步骤、自动检查和 Windows 证据见 WebUI-MCP-2026-09-19 验收记录

单 Client 生产验证状态(2026-09-19

范围 状态 说明
.mcp.json Windows 直连、真实 Session 1、账号绑定 已验证 使用真实微信 UI 和本地 Client 服务;未使用 Session 0 或 fake Client
会话、消息、联系人、群只读 已验证 真实账号 Rogee;会话/消息/白名单联系人及群查询通过
单消息发送 已验证(受控) 文件传输助手通过 Windows MCP 发送并在 UIA 中确认;服务 send-text 保留确认、幂等和目标校验
普通群消息 已验证(受控) 吉祥三宝通过可见会话 automation ID 发送并返回 Succeeded;群预览完成写后确认
多目标文本群发 已验证(受控) 最终真实 broadcast-text 冻结“文件传输助手”和“吉祥三宝”两个目标,逐项均返回 Succeeded,并确认幂等重放不创建第二次群发;此前失败项按 stopOnError 停止的记录也保留。
@所有人 / group-at-all 禁用 当前没有注册独立操作,不能宣称已验证
添加好友 禁用 本轮明确排除,未进行真实联系人变更
多 Client / 跨 Client 故障恢复 未纳入 本轮只验收单 Client

详细操作 ID、失败结果、版本差异和剩余风险见 单 Client 生产验证记录

运行边界

  • Windows Agent 只接受双击 WxAgent.Tray.exe 启动;首次运行或托盘菜单/托盘图标双击会打开“服务设置...”配置窗口。WxAgent.Host serve --config 及命令行配置入口均禁用。默认监听 127.0.0.1,外部 IP 必须显式 allowExternal: true
  • 本机回环访问 Web UI、HTTP API 和 Streamable HTTP MCP (/mcp) 不需要 Token;远程访问仍使用 Bearer TokenToken 只放 Authorization,不放 URL。
  • 远程浏览器登录后仅保留短期 HttpOnly SameSite Cookie,写请求需可信 Host/Origin、CSRF;本机浏览器写请求还需同源本机请求头;普通日志不记录正文、Token、Cookie、密钥或完整 UI 树。
  • 明文 HTTP 不提供传输保密性,只适合可信隔离网络;不应直接暴露公网。外部监听必须使用具体 IP,不能使用 0.0.0.0/:: 作为工作台地址。