Claude Code 平台集成
Claude Code 平台集成
计算机使用(预览版)
3 分钟阅读
从 CLI 让 Claude 使用你的电脑
在 Claude Code CLI 中启用 computer use,以便 Claude 可以在 macOS 上打开应用、点击、输入并查看你的屏幕。测试原生应用、调试视觉问题,并自动化仅支持 GUI 的工具,无需离开终端。
Computer use 是 macOS 上的研究预览功能,需要 Pro 或 Max 套餐。Team 和 Enterprise 套餐不可用。它需要 Claude Code v2.1.85 或更高版本以及交互式会话,因此在使用 -p 标志的非交互式模式下不可用。
Computer use 让 Claude 可以打开应用、控制你的屏幕,并像你自己一样在你的机器上工作。从 CLI 中,Claude 可以编译 Swift 应用、启动它、点击每个按钮,并对结果截屏,所有这些都在它编写代码的同一个对话中完成。
本页面涵盖 computer use 在 CLI 中的工作方式。对于 macOS 或 Windows 上的 Desktop 应用,请参见 Desktop 中的 computer use。
使用 computer use 可以做什么
Computer use 处理需要 GUI 的任务:任何你通常必须离开终端并手动执行的操作。
- 构建和验证原生应用:让 Claude 构建一个 macOS 菜单栏应用。Claude 编写 Swift 代码、编译、启动,并点击每个控件以验证其工作正常,然后你才打开它。
- 端到端 UI 测试:让 Claude 指向一个本地 Electron 应用并说 "test the onboarding flow"。Claude 打开应用,点击注册流程,并对每一步截屏。无需 Playwright 配置,无需测试框架。
- 调试视觉和布局问题:告诉 Claude "the modal is clipping on small windows"。Claude 调整窗口大小,复现 bug,截屏,修补 CSS,并验证修复。Claude 看到你所看到的。
- 驱动仅支持 GUI 的工具:与设计工具、硬件控制面板、iOS 模拟器或没有 CLI 或 API 的专有应用交互。
computer use 的适用时机
Claude 有多种方式与应用或服务交互。Computer use 是最广泛且最慢的方式,因此 Claude 会优先尝试最精确的工具:
- 如果你有针对该服务的 MCP 服务器,Claude 会使用它。
- 如果任务是 shell 命令,Claude 会使用 Bash。
- 如果任务是浏览器工作,并且你已设置 Claude in Chrome,Claude 会使用它。
- 如果以上都不适用,Claude 会使用 computer use。
屏幕控制保留给其他工具无法触及的场景:原生应用、模拟器和没有 API 的工具。
启用 computer use
Computer use 作为一个名为 computer-use 的内置 MCP 服务器提供。默认关闭,直到你启用它。
打开 MCP 菜单
在交互式 Claude Code 会话中,运行:
在服务器列表中找到 computer-use。它显示为已禁用。
启用服务器
选择 computer-use 并选择 Enable。该设置按项目持久保存,因此你只需为每个需要 computer use 的项目执行一次。
授予 macOS 权限
Claude 首次尝试使用你的电脑时,你会看到一个提示,要求授予两项 macOS 权限:
- 辅助功能:让 Claude 可以点击、输入和滚动
- 屏幕录制:让 Claude 可以看到你屏幕上的内容
提示中包含打开相关系统设置面板的链接。授予两项权限,然后在提示中选择 Try again。macOS 可能要求你在授予屏幕录制权限后重启 Claude Code。
设置完成后,让 Claude 执行需要 GUI 的操作:
按会话批准应用
启用 computer-use 服务器并不会授予 Claude 访问你机器上每个应用的权限。Claude 在会话中首次需要特定应用时,终端中会出现一个提示,显示:
- Claude 想要控制哪些应用
- 请求的任何额外权限,例如剪贴板访问
- Claude 工作时将隐藏多少其他应用
选择 Allow for this session 或 Deny。批准仅对当前会话有效。当 Claude 同时请求多个应用时,你可以一次性批准。
具有广泛访问权限的应用会在提示中显示额外警告,以便你了解批准它们会授予什么权限:
| 警告 | 适用于 |
|---|---|
| 等同于 shell 访问 | Terminal、iTerm、VS Code、Warp 和其他终端及 IDE |
| 可以读取或写入任何文件 | Finder |
| 可以更改系统设置 | System Settings |
这些应用不会被阻止。警告让你决定该任务是否值得授予该级别的访问权限。
Claude 的控制级别也因应用类别而异:浏览器和交易平台仅可查看,终端和 IDE 仅可点击,其他所有应用获得完全控制。有关完整的层级划分,请参见 Desktop 中的应用权限。
Claude 如何在你的屏幕上工作
了解流程有助于你预判 Claude 将要做什么以及如何干预。
一次一个会话
Computer use 从第一个 computer use 操作开始持有机器级锁,直到获取该锁的会话退出。从 v2.1.195 开始,完成任务不会释放锁;只有退出会话才会释放。如果另一个 Claude Code 会话已经在使用你的电脑,新的尝试会失败,并显示一条消息告诉你哪个会话持有该锁。请先退出该会话。
Claude 工作时隐藏应用
当 Claude 开始控制你的屏幕时,其他可见应用会被隐藏,以便 Claude 仅与已批准的应用交互。你的终端窗口保持可见,并且不会被截屏,因此你可以观察会话,而 Claude 永远不会看到它自己的输出。
当 Claude 完成该轮操作时,隐藏的应用会自动恢复。
截图自动降采样
Claude Code 在将每张截图发送给模型之前会对其进行降采样。你无需降低显示分辨率或在 Retina 或其他高分辨率显示器上调整窗口大小。16 英寸 MacBook Pro 在原生 Retina 分辨率下以 3456×2234 捕获,并降采样至约 1372×887,保持宽高比。
没有更改目标大小的设置。如果屏幕上的文本或控件在降采样后太小,Claude 无法读取,请在应用中增大它们的大小,而不是更改显示分辨率。
随时停止
当 Claude 获取锁时,会出现一个 macOS 通知:"Claude is using your computer · press Esc to stop。" 在任何地方按 Esc 可立即中止当前操作,或在终端中按 Ctrl+C。无论哪种方式,Claude 都会停止,取消隐藏你的应用,并将控制权交还给你。会话保持 computer use 锁 直到退出。
Claude 完成时会出现第二个通知。
安全与信任边界
内置的安全护栏无需配置即可降低风险:
- 按应用批准:Claude 只能控制你在当前会话中批准的应用。
- 哨兵警告:授予 shell、文件系统或系统设置访问权限的应用会在你批准前被标记。
- 终端排除在截图之外:Claude 永远不会看到你的终端窗口,因此会话中的屏幕提示不会反馈到模型中。
- 全局退出:
Esc键可从任何地方中止 computer use,并且按键被消耗,因此提示注入无法使用它来关闭对话框。 - 锁文件:一次只有一个会话可以控制你的机器。
示例工作流
这些示例展示了将 computer use 与编码任务相结合的常见方式。
验证原生构建
在对 macOS 或 iOS 应用进行更改后,让 Claude 一次性编译并验证:
Claude 运行 xcodebuild,启动应用,与 UI 交互,并报告发现的内容。
复现布局 bug
当视觉 bug 仅在特定窗口大小时出现,让 Claude 找到它:
Claude 调整窗口大小,捕获损坏状态,并读取相关的样式表。
测试模拟器流程
无需编写 XCTest 即可驱动 iOS 模拟器:
Claude 像你用鼠标一样控制模拟器。
与 Desktop 应用的差异
CLI 和 Desktop 界面共享相同的 computer use 引擎,但有几点差异:
| 功能 | Desktop | CLI |
|---|---|---|
| 平台 | macOS 和 Windows | 仅 macOS |
| 启用方式 | 在 Settings > General(Desktop app 下)中切换 | 在 /mcp 中启用 computer-use |
| 拒绝应用列表 | 在 Settings 中可配置 | 暂不可用 |
| 自动取消隐藏开关 | 可选 | 始终开启 |
| Dispatch 集成 | Dispatch 生成的会话可以使用 computer use | 不适用 |
故障排除
"Computer use is in use by another Claude session"
另一个 Claude Code 会话持有该锁,直到它退出才会释放。请退出该会话。如果另一个会话崩溃了,当 Claude 检测到进程不再运行时,锁会自动释放。
macOS 权限提示不断出现
macOS 有时要求你在授予屏幕录制权限后重启请求进程。完全退出 Claude Code 并启动新会话。如果提示仍然存在,请打开 System Settings > Privacy & Security > Screen Recording 并确认你的终端应用已列出并启用。
/mcp 中未显示 computer-use
该服务器仅在符合条件的设置中显示。请检查:
- 你正在使用 macOS。CLI 中的 computer use 在 Linux 或 Windows 上不可用。在 Windows 上,请改用 Desktop 中的 computer use。
- 你正在运行 Claude Code v2.1.85 或更高版本。运行
claude --version检查。 - 你正在使用 Pro 或 Max 套餐。运行
/status确认你的订阅。 - 你通过 claude.ai 进行认证。Computer use 不适用于第三方提供商,如 Amazon Bedrock、Google Cloud 的 Agent Platform 或 Microsoft Foundry。如果你仅通过第三方提供商访问 Claude,你需要一个单独的 claude.ai 账户才能使用此功能。
- 你处于交互式会话中。Computer use 在使用
-p标志的非交互式模式下不可用。
另请参阅
- Desktop 中的 Computer use:具有图形设置页面的相同功能
- Claude in Chrome:基于 Web 的任务的浏览器自动化
- MCP:将 Claude 连接到结构化工具和 API
- 沙箱:Claude 的 Bash 工具如何隔离文件系统和网络访问
- Computer use 安全指南:安全使用 computer use 的最佳实践