# WebUI/MCP 验收记录(2026-09-07) ## 环境 - Windows:`DESKTOP-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 SDK:`ModelContextProtocol.AspNetCore 2.2.0` ## 已验证 | 能力 | 入口 | 结果 | |---|---|---| | 服务/微信诊断 | `GET /api/v1/status` | HTTP 200;`serviceOnline=true`、`wechatAvailable=true`、`sessionAvailable=true`、`windowFound=true`,错误为空 | | 会话列表 | `GET /api/v1/sessions` | HTTP 200;返回可见会话,含 automationId | | 会话当前/精确搜索 | `/api/v1/sessions/current`、`/search?exactOnly=true` | HTTP 200;当前会话和“文件传输助手”精确匹配均返回稳定 automationId | | 账号发现 | `GET /api/v1/accounts` | HTTP 200;返回数据库指纹;UI 绑定保持 false | | 联系人只读 | `GET /api/v1/contacts` | HTTP 200;返回稳定联系人 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` | HTTP 200;返回 fingerprint/type/summary,正文为 null | | MCP | `/mcp` initialize、`tools/list` | HTTP 200;同一 Bearer Token;工具 schema 可加载 | | Web 静态入口 | `/` | HTTP 200;静态资源随发布包部署 | ## 安全/失败路径 - 无 Bearer Token:401。 - 非 allowlist Host/Origin:403。 - URL 查询中出现 token 参数:400,拒绝凭据泄漏路径。 - 旧 Token 轮换后:旧 Bearer 与浏览器 Cookie 均 401;身份与幂等记录保留。 - 写能力:保持 disabled;当前服务不模拟成功、不执行微信写入。 - SSH 端口转发初次测试需要显式覆盖 Host 头;未将转发场景误判为外部网络验收。 - `0.0.0.0` 外部监听配置已验证可加载并明确要求 `AllowExternal=true`;当前 Windows 防火墙未开放入站端口,因此未声称外部网络连通验收通过。 ## 自动化证据 - `dotnet test tests/WxAgent.Core.Tests -c Release`:150 passed。 - `dotnet test tests/WxAgent.Service.Tests -c Release`:11 passed。 - `dotnet build WxAgent.sln -c Release -p:EnableWindowsTargeting=true`:成功,0 warning/0 error。 - self-contained `win-x64` publish:成功,包含 `wwwroot` 与 MCP 依赖。 ## 未完成/不宣称 - 未执行发送、联系人/群管理、朋友圈、语音等写操作;`send-text`、`group-at-all` 和 deferred 项保持禁用。 - 未完成 60 分钟/20 条消息监听、断线补齐和多客户端慢消费者真机验收;SSE 与服务端监听源已实现,默认配置 `EnableListenerEvents=false`。自动化高频探针已中止,不作为验收证据;后续真机消息验证上限 3 条。 - 未完成外部主机直接访问验收(防火墙未开放);不将 HTTP 鉴权描述为网络加密。 - 远程验证任务已停止并清理;不再自动发送测试消息,后续真机消息验证上限为 3 条。