# M1 技术验证验收记录(2026-09-04) ## 环境 - Windows:10.0.19044,主机 `DESKTOP-EGI7QCK` - 用户会话:`Rogee`,Session 1,活动 console - 微信:4.1.8.29 - 部署目录:`C:\Users\Rogee\wx-agent` - 默认测试目标:文件传输助手 ## Linux 检查 ```bash dotnet test tests/node-agent/WxAgent.Core.Tests -c Release dotnet build WxAgent.sln -c Release -p:EnableWindowsTargeting=true dotnet publish node-agent/WxAgent.Host -c Release -r win-x64 --self-contained true \ -p:EnableWindowsTargeting=true -p:PublishSingleFile=true \ -p:IncludeNativeLibrariesForSelfExtract=true -p:PublishTrimmed=false ``` 结果:Core 测试 9/9 通过;Release 构建 0 warnings、0 errors;单文件发布成功。 ## 真机结果 - `doctor`:登录后主窗口、`MainView` 和 `session_list` 检测正常;未选择聊天时不再误报 UI 结构变化。 - 文件传输助手:可按会话 AutomationId 直接激活;会话未出现时可通过搜索结果 AutomationId 激活。 - `chat send`:唯一 ASCII 标记发送成功,随后 `chat read --include-content` 精确读回。 - 输入法兼容:最初使用模拟键盘输入时观察到输入法组合态改变消息。改为 UIA ValuePattern 直接设置文本,并在发送前逐字读取校验;不一致时中止发送,不执行盲目重试。修复后发送和精确读回通过。 - `chat listen`:监听期间由另一个 CLI 进程发送唯一标记;UIA 结构事件配合两秒低频轮询发现 1 条新消息。 - `smoke --timeout 45`:`doctor`、脱敏 UI 树、唯一文本发送和读回确认全部通过;导出 168 个脱敏节点。 - 微信重启恢复:停止所有 Weixin 进程并重新启动后,微信要求手机确认登录;用户正常确认后出现 5 个 Weixin 进程,CLI 无需重启服务即可重新附加,发送、读取、监听和消息级 smoke 再次通过。 - Session 断开:RDP 会话断开时输入 API 返回 access denied/invalid handle;恢复为活动 console 后正常。该行为由 `doctor`/`SessionLocked` 边界约束,不尝试绕过桌面会话限制。 ## 结论 M1 Go/No-Go:**Go**。 发送、读取、监听和恢复均通过 UIA 元素定位及实时边界中心兜底完成,没有维护固定绝对坐标。发送写操作只执行一次;若输入内容或发送结果无法确认,返回 `ResultUnconfirmed`,不自动重试。