第26章 计算机操作(Computer Use)
计算机操作 通过无障碍树、截图和安全 UI 操作,让 Agent 驱动本地桌面应用。Orca Computer CLI 允许 Agent 检查和控制原生桌面应用——包括列出运行中的应用、读取无障碍树、点击控件、设置值、输入文本、滚动以及截图。当任务需要操作系统或第三方应用,而非终端或内置浏览器时,应使用此功能。
首次设置 检查运行时和权限: orca status --json orca computer permissions --json orca computer capabilities --json 如果权限报告缺失项,请在系统设置中授予 Orca Computer Use 无障碍(在 macOS 上还需屏幕录制)权限,然后重新运行 permissions --json 进行确认。
快照 → 操作 → 快照 每次交互都遵循相同的循环:读取应用当前状态,对特定元素执行操作,然后重新读取状态以验证结果。 orca computer list-apps --json orca computer get-app-state --app com.spotify.client --json orca computer click --app com.spotify.client --element-index 42 --json 元素索引的作用域仅限于最新的 get-app-state 结果,且可能是稀疏的。在 --json 输出中,请从 result.snapshot.treeText 读取树结构。不要根据 elementCount 随意捏造索引。在重用索引之前,若发生导航、焦点变更、滚动或应用重新渲染,请先刷新状态。
多窗口应用
orca computer list-windows --app com.microsoft.edgemac --json
orca computer get-app-state --app com.microsoft.edgemac --window-id
选择应用
优先使用 list-apps 返回的 Bundle ID:
orca computer get-app-state --app com.microsoft.edgemac --json
在名称无歧义时,应用名称也可用(--app Spotify)。仅当 Bundle ID 和名称都冲突时,才使用 --app pid:
可用操作
orca computer click --app
当无障碍定位失败时,需谨慎地回退到坐标操作:
orca computer click --app com.apple.Safari --x 120 --y 340 --json
orca computer drag --app
敏感输入 通过 stdin 传递密钥,以免其出现在 shell 历史记录中: printf '%s' "$TEXT" | orca computer set-value \ --app com.apple.Safari --element-index 7 --value-stdin --json --text-stdin 对 type-text 和 paste-text 的作用相同。
截图 get-app-state 返回无障碍树,默认还包括截图。使用 --json 时,图像字节会写入磁盘,路径通过 screenshot.path 返回,而非嵌入在响应中。当不需要像素数据时(更快,负载更小),请传递 --no-screenshot。在捕获之前,传递 --restore-window 可将隐藏或最小化的窗口调至可见状态。
在 Agent 中使用 随附的 computer-use 技能将相同的命令界面与安全性指导进行了打包。将其安装到 Agent 的技能目录中: npx skills add https://github.com/stablyai/orca --skill computer-use 有关技能如何被加载的详细信息,请参阅技能注册表与 MCP。
后续步骤
* Orca CLI 概述——CLI 的其余功能(worktrees、终端、浏览器)。 * 技能注册表与 MCP——将此 CLI 分发至各 Agent。