# Web UI / MCP 验收记录(2026-09-19) ## 范围 本记录验证普通用户 Web 工作台、多 Client 隔离,以及消息、通讯录、任务的只读任务队列闭环;它是只读基线,不覆盖随后单 Client 验证模式下的写操作。Web UI 的发送、群发、添加好友提交仍保持禁用;真实 Client API 的 `send-text`/`broadcast-text` 受控证据见[单 Client 生产验证记录](WebUI-MCP-single-client-2026-09-19.md)。 ## Linux 自动检查 | 检查 | 结果 | | --- | --- | | `cd control-plane && go test ./...` | 通过 | | `cd control-plane/web && npm run build` | 通过;生成 `index-BkrtfWai.css`、`index-_unPe9bQ.js` | | `dotnet test tests/node-agent/WxAgent.Core.Tests -c Release --no-restore` | 通过;168 tests,0 failed,0 skipped | | `dotnet build WxAgent.sln -c Release -p:EnableWindowsTargeting=true --no-restore` | 通过;0 warnings,0 errors | | `git diff --check` | 通过 | ## Web UI 只读联调 - 控制面:`http://127.0.0.1:8090/`;测试身份为本地测试管理员。 - 使用两个隔离的 fake Client(`client-a` / `client-b`)持续发送 heartbeat,并只处理真实控制面任务队列中的读取任务;fake Client 不是产品能力,也不计入 Windows 真机通过数。 - 浏览器实测消息页默认打开;Client 切换后会清空旧会话上下文并丢弃过期响应。 - Client A 的会话、消息正文、通讯录/群和任务记录均可通过队列读取;切换 Client 后不串用数据。 - 发送按钮、群发提交、添加好友按钮均保持 `disabled`,并显示未完成能力/真机验收原因。 - 桌面及 390px 窄屏布局通过浏览器检查,无横向溢出;加载、空列表、离线、错误和权限提示由 UI 提供明确状态。 ## Windows 真机检查 发布包为 `WxAgent.Host` self-contained `win-x64` single-file,上传至 `C:\Users\Rogee\wx-agent`,在已登录的交互式 Windows 用户会话(Session 1)中执行: - 微信版本:`4.1.13.65`。 - `doctor`:通过;`WindowFound=true`,`MainView/session_list/chat_message_page/chat_message_list/chat_input_field/tool_bar_accessible` 均为 `true`,`Errors=[]`,`InputDesktopAvailable=true`。 - `inspect-ui --output artifacts/ui-tree.json`:通过;164 个脱敏节点,`sanitized=true`。 - `smoke`:通过;`scope=M1`,目标为白名单“文件传输助手”,`sendSkipped=false`,`confirmed=true`。该命令是既有 CLI smoke 的受控写验证,不代表 Web UI 已开放写操作。 ## 未完成/保留限制 - Web UI 的消息发送、群发、添加好友提交继续禁用;后端验证模式的 `send-text` 与 `broadcast-text` 已有真实单 Client 证据,详见单 Client 记录,默认部署仍保持只读。 - fake Client 只验证控制面任务路由和 Client 隔离,不替代真实 Desktop Agent 的只读能力验收。 - 未进行外部网络部署、MCP 客户端兼容性和长时事件流验收;不改变功能矩阵中对应状态。