用途
agent-desktop 用于在宿主 macOS 桌面上执行自动化操作。当任务涉及原生 macOS 应用,而不是仓库文件、Shell 输出或仅限浏览器的验证时,应使用该技能。该项目在宿主上使用 agent-desktop,对于这类任务,应优先使用内置的 Computer 子智能体,而不是尝试用普通 Shell 命令驱动桌面。
何时使用
- 用户希望检查或与原生 macOS 应用交互。
- 任务需要启动应用、聚焦窗口、无障碍快照、语义元素引用、点击、输入、按键或滚动。
- 仅浏览器工作流不够,或者目标不是网页。
要求
- 必须已安装 agent-desktop,并且其原生二进制可用。
- 在 macOS 上,运行 grok 的终端应用需要辅助功能权限。
- computer_snapshot 返回的 ref 仅在下一次快照之前有效。
推荐流程
- 除非当前智能体已经具备 computer_* 工具且任务很小,否则通过 task 委派给 agent: "computer"。
- 使用 computer_launch、computer_list_windows 或 computer_focus_window 准备好目标应用或窗口。
- 从 computer_snapshot 开始。
- 选择一个基于 ref 的操作。
- 在任何界面变化后,再次快照,然后再复用 ref。
工具说明
- computer_snapshot:主要观察工具;优先使用 interactive_only。
- computer_click:尽可能使用最新快照中的 ref 值。
- computer_type:需要目标 ref,优先于按坐标输入。
- computer_press:用于快捷键和特殊按键,例如 Enter、Tab、cmd+space 或 cmd+k。
- computer_scroll:传入元素 ref,而不是原始坐标。
- computer_get:从 ref 读取文本、值、边界、角色或状态。
- computer_screenshot:用于视觉确认,或无障碍树信息不足时使用。
可靠性规则
- 使用“快照 -> 操作 -> 快照”的循环。
- 优先使用 ref,而不是坐标。
- ref 在下一次快照后会失效;不要盲目复用。
- 除非用户明确要求破坏性操作,否则保持操作可逆且低风险。
- 如果无障碍树质量差或含义不明确,使用 computer_screenshot 进行确认,并说明该限制。
阻塞情况
遇到以下情况时,应停止并清楚报告:
- 缺少辅助功能权限。
- agent-desktop 不可用,或其原生二进制缺失。
- 找不到目标应用或窗口。
- 界面变化后 ref 失效或含义不明确。
- 请求的操作可能是破坏性的,而用户并未明确要求。