用途
本技能用于规划与收集 OpenClaw Windows 侧变更的验证与证据。适用于会影响以下区域的改动:托盘 UX、Settings、onboarding、chat/canvas、Command Center、Windows 节点能力、本地 MCP、网关连接/配对、权限、诊断,或面向智能体的指令。
如果验证主机是 macOS,需阅读 PARALLELS.md 了解可选的本地 Parallels Windows 虚拟机工作流。
规则
必需的自动化/聚焦测试是强制性的,不得请求跳过。
优先使用隔离的托盘数据,使证据收集不会改动 %APPDATA%\OpenClawTray。
Computer-use 通常是收尾阶段的批量证据检查,而不是持续的开发循环工具。在明确要求或需要解除工作阻塞时,开发中途使用也可以;但应先询问是运行它,还是改为提供手动截图/输出步骤。
本地 MCP 是每个 Windows 节点命令契约的一部分:命令发现与调用必须能通过 winnode 或原始 MCP JSON-RPC 工作。
对于非平凡的 UI/MCP/节点命令/设置/配对/安全/权限/诊断工作,在发布 PR 前必须进行 rubber-duck 评审;在开发中途需要额外设计/测试验证时也很有用。
必须明确报告阻塞项。不得把缺失的 UI、MCP、网关、摄像头、屏幕或权限证据转写成成功形态的措辞。
必需验证
$env:OPENCLAW_REPO_ROOT = (Get-Location).Path
.\build.ps1
dotnet test .\tests\OpenClaw.Shared.Tests\OpenClaw.Shared.Tests.csproj --no-restore
dotnet test .\tests\OpenClaw.Tray.Tests\OpenClaw.Tray.Tests.csproj --no-restore
新的 worktree 可能需要先不带 --no-restore 运行一次,或先构建项目,以免在 bin\ 存在前测试变成空操作。
对于 winnode、命令描述,或新增/重命名的节点命令,还需运行:
dotnet test .\tests\OpenClaw.WinNode.Cli.Tests\OpenClaw.WinNode.Cli.Tests.csproj --no-restore
证据清单
| 表面 | 需收集的证据 |
|---|---|
| UI / WinUI | 运行 .\run-app-local.ps1 -Isolated,用 computer-use 或开发者提供的截图/输出走通变更路径,并附上可见证据或阻塞项。如果开发者手动截图,提供精确步骤,并在更新 PR 正文后确认截图/产物链接可解析。 |
| 本地 MCP | 启用 Local MCP Server,运行 winnode --list-tools,然后用 winnode --command <name> --params '<json-object>' 调用变更的命令。 |
| 原始 MCP HTTP | 对于协议/服务器形态变更,粘贴来自 http://127.0.0.1:8765/ 的 JSON-RPC tools/list 与 tools/call 响应。 |
| 网关路径 | 在相关且可用时,证明 openclaw nodes invoke --command <name> --params '<json-object>';否则说明网关阻塞项。 |
| Rubber-duck | 请 rubber-duck 评审者检查最终实现/证据计划;在改动代码前先验证任何发现。 |
对于隔离托盘运行,复制 run-app-local.ps1 -Isolated 打印的数据目录,并在 MCP 证据命令前设置:
$env:OPENCLAW_TRAY_DATA_DIR = '<isolated-data-dir-from-run-app-local>'
原始 token 查找:
$tokenPath = if ($env:OPENCLAW_TRAY_DATA_DIR) {
Join-Path $env:OPENCLAW_TRAY_DATA_DIR 'mcp-token.txt'
} else {
Join-Path $env:APPDATA 'OpenClawTray\mcp-token.txt'
}
$token = Get-Content $tokenPath -Raw
新增 Windows 节点命令清单
- 在网关节点所用的同一 INodeCapability 路径中注册该命令。
- 新增/更新 McpToolBridge.CommandDescriptions。
- 更新 .agents/skills/winnode/SKILL.md,包含输入形态、输出形态、副作用、权限与示例。
- 视情况新增/更新 capability、MCP bridge、winnode 以及 UI/网关测试。
- 用 winnode 或原始 MCP JSON-RPC 证明命令发现与调用。
- 当行为经由网关中介且网关可用时,证明网关路径。
PR 证据包
在发布或更新 PR 前,收集:
- Validation:包含精确命令与通过/失败计数。
- Real behavior proof:基于当前 head 的变更后证据,直接展示变更后的行为,例如复制的实时输出、截图/视频、开发者提供的截图、复制的 UI 诊断信息、winnode、原始 MCP JSON-RPC、网关调用输出、脱敏的运行时日志或链接产物。对于 UI 变更,优先使用处于变更后活动状态的截图/视频,而不仅是相邻或空白 UI。
- PR 正文证据必须与当前行为保持同步:设计变更后移除过时的截图/声明,并确认内嵌图片/产物链接可解析。
- Rubber-duck 说明:针对非平凡 UI/MCP 敏感工作,或说明为何跳过。
- Not verified / blocked 说明:针对未完成的聚焦证据或不可用的依赖。