Ops Client 操作客户端
Overview 概述
操作并验证真实的桌面客户端窗口。当前指南以 Tauri 为核心,但该技能适用于浏览器预览无法作为有效证据的客户端应用程序。
Workflow 工作流程
- 确定指定的客户端目标:应用名称、仓库路径、包/应用目录、进程、PID、可见窗口以及请求的证据。
- 如果从仓库开始工作,通过检查清单文件和源代码布局(例如
src-tauri/、tauri.conf.*、Electron 配置、原生应用目标、包脚本、justfile 任务或 README 运行说明)来确认其中是否包含桌面/客户端应用。 - 在验证前确认启动命令和运行时来源:
pnpm tauri dev、调试包、发布版本、Electron/原生运行命令,或者不清楚时标明Not found/Not verified。 - 枚举真实窗口,并通过所有者、PID、标题和边界来识别匹配的
CGWindowID。 - 无需依赖前台焦点即可捕获真实窗口:
screencapture -x -l<CGWindowID> /private/tmp/desktop-client-window.png - 在主张视觉证据之前,使用
view_image检查截图。 - 优先使用后台安全检查和辅助功能操作,例如在命名控件上使用
AXPress。 - 在 UI、包或辅助功能发生相关更改后,重新构建/重新启动目标客户端实例,然后再进行重新验证。
Modes 模式
- Launch Review (启动审查): 在运行或验证之前,识别仓库所属的客户端应用及其启动命令。
- Window Evidence (窗口证据): 证明进程、运行时、窗口身份和截图来源。
- Interaction (交互): 在坐标点击之前,使用辅助功能/控件树路径。
- AI-Operable UI (AI 可操作 UI): 改进 DOM 和辅助功能界面,使智能体能够可靠地识别控件。
Do Not Use For 不适用场景
- 纯浏览器页面、Web 预览、表单工作流、下载或浏览器控制台/网络检查;请使用
ops-browser。 - 常规的仓库发现,除非用户要求进行客户端启动审查、真实窗口验证或浏览器预览无效化。
- 当任务需要来自 Tauri、Electron 或原生桌面运行时的证据时,使用浏览器预览证据。
- 本地差异审查、规划或仅安全审查;请使用相关的
code-*技能。
Hard Rules 硬性规则
- 除非用户明确要求仅进行浏览器检查,否则不得将浏览器预览、开发服务器页面或区域截图视为桌面客户端证据。
- 在确认启动命令来源以及它是否会干扰现有应用实例、活动窗口或用户工作流之前,不得启动或重新启动客户端。
- 除非不存在稳定的控制路径且风险可接受,否则不得窃取用户的鼠标、移动指针、激活无关窗口或进行坐标点击。
- 对于关键控件,优先使用语义化控件、无障碍名称、
aria-label、title、sr-only、关联的表单标签和稳定的data-testid选择器。 - 当进程、运行时、窗口来源或交互证据未经检查时,标明
Not verified。
Output Contract 输出合约
报告指定的客户端目标、仓库/客户端所有权证据、启动命令或 Not found、目标进程/运行时、真实窗口证据、截图来源、交互方法、辅助功能或 DOM 差距、重新启动/重新构建状态,以及任何 Not verified 的内容。
Skill Maintenance 技能维护
维护此包时,当触发范围、模式、硬性规则或输出合约发生变化时,请更新 references/eval-cases.md、references/usage.md 和 agents/openai.yaml。在 AICraft 中,发布前运行 python3 scripts/validate-skills.py,发布到 GitHub 后运行 npx skills add https://github.com/idaibin/aicraft --list。
References 参考
- 有关触发指南和工作流详细信息,请参阅 references/usage.md。
- 有关触发器和质量评估,请参阅 references/eval-cases.md。