Files
wx-win-agent/docs/validation/WebUI-MCP-2026-09-07.md
T

4.5 KiB
Raw Blame History

WebUI/MCP 验收记录(2026-09-07

环境

  • WindowsDESKTOP-EGI7QCK / Windows 用户 rogee
  • 微信版本:4.1.13.63
  • 发布方式:Linux .NET 8 self-contained win-x64 single-file,部署目录 C:\Users\Rogee\wx-agent
  • 服务进程:曾在交互式用户会话启动(非 Session 0);最终验证配置恢复默认回环 127.0.0.1:5088,发布完成后保持停止
  • MCP SDKModelContextProtocol.AspNetCore 2.2.0

已验证

能力 入口 结果
服务/微信诊断 GET /api/v1/status HTTP 200serviceOnline=truewechatAvailable=truesessionAvailable=truewindowFound=true,错误为空
会话列表 GET /api/v1/sessions?accountId=... HTTP 200;返回可见会话,含 automationId;未携带 accountId 拒绝执行
会话当前/精确搜索 /api/v1/sessions/current?accountId=.../search?accountId=...&exactOnly=true 需要显式绑定账号;当前锁屏环境不作为真机成功证据
账号发现/窗口目标 GET /api/v1/accountsGET /api/v1/ui-targets HTTP 200;返回数据库指纹、绑定状态和当前窗口目标
显式账号绑定 POST /api/v1/accounts/bind 已实现身份匹配、PID+HWND 持久化和冲突拒绝;锁屏环境未执行成功绑定
联系人只读 GET /api/v1/contacts?accountId=... 需要显式账号;返回稳定联系人 ID;未输出密钥
群成员只读 GET /api/v1/groups/{accountId}/{group}/members HTTP 200;显式账号范围与测试群 消息测试专用群组,返回稳定成员 ID
SSE 单帧 GET /api/v1/events HTTP 200;真实 id/event/data 帧,正文不进入事件;默认仍需显式 opt-in

| 可见消息摘要 | GET /api/v1/messages?accountId=... | 需要显式绑定账号;返回 fingerprint/type/summary,正文为 null | | MCP | /mcp initialize、tools/list | HTTP 200;同一 Bearer Token;工具 schema 可加载 | | Web 静态入口 | / | HTTP 200;静态资源随发布包部署 |

安全/失败路径

  • 回环本机无 Bearer Token:允许直接访问;远程无 Bearer Token401。
  • Host/Origin 不再作为认证条件;远程仍必须通过 Bearer TokenURL 查询中的 token 仍拒绝。
  • URL 查询中出现 token 参数:400,拒绝凭据泄漏路径。
  • 旧 Token 轮换后:旧 Bearer 与浏览器 Cookie 均 401;身份与幂等记录保留。
  • 写能力:保持 disabled;当前服务不模拟成功、不执行微信写入。
  • SSH 端口转发初次测试需要显式覆盖 Host 头;未将转发场景误判为外部网络验收。
  • 0.0.0.0 外部监听配置已验证可加载并明确要求 AllowExternal=true;当前 Windows 防火墙未开放入站端口,因此未声称外部网络连通验收通过。

自动化证据

  • dotnet test tests/node-agent/WxAgent.Core.Tests -c Release153 passed。
  • dotnet test tests/node-agent/WxAgent.Service.Tests -c Release12 passed。
  • dotnet build WxAgent.sln -c Release -p:EnableWindowsTargeting=true:成功,0 warning/0 error。
  • self-contained win-x64 publish:成功,包含 wwwroot 与 MCP 依赖。

本轮多账号绑定验证

  • 使用 tscon 1 /dest:console 将 Rogee 会话重新接入 console 后,WeChat/UIA 可用;未发送消息。
  • /api/v1/ui-targets 成功读取 i-Rogee / Rogee,并通过临时 manage 权限完成 PID 8912、HWND 590928 绑定;随后已恢复原始只读凭据。
  • /api/v1/accounts 返回 Bound,带 accountId 的 sessions 返回 HTTP 200;缺少 accountId 的 sessions/contacts/messages 仍返回 HTTP 400 AccountIdRequired
  • 已配置 AC/DC 不息屏、不睡眠、不休眠、屏保关闭,并设置 NoLockScreen=1;配置仅禁止自动锁屏,不阻止用户手动锁定。

未完成/不宣称

  • 未执行发送、联系人/群管理、朋友圈、语音等写操作;send-textgroup-at-all 和 deferred 项保持禁用。
  • 未完成第二个账号/第二个窗口隔离、60 分钟/20 条消息监听、断线补齐和多客户端慢消费者真机验收;SSE 与服务端监听源已实现,内部监听事件开关默认关闭,不作为用户配置项。自动化高频探针已中止,不作为验收证据;后续真机消息验证上限 3 条。
  • 未完成外部主机直接访问验收(防火墙未开放);不将 HTTP 鉴权描述为网络加密。
  • 远程验证任务已停止并清理;不再自动发送测试消息,后续真机消息验证上限为 3 条。