Claude Code官方文档Computer Use自动化

Claude Code Computer Use - CLI 中让 Claude 操作你的电脑

在 Claude Code CLI 中启用 computer use,使 Claude 能够在 macOS 上打开应用、点击、输入和查看您的屏幕。

· 阅读约 11 分钟

让 Claude 从 CLI 使用您的计算机

在 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 中的工作原理。对于桌面应用,请参阅 Desktop 中的 computer use

您可以用 computer use 做什么

Computer use 处理需要 GUI 的任务:任何您通常必须离开终端并手动完成的事情。

  • 构建和验证原生应用:要求 Claude 构建 macOS 菜单栏应用。Claude 编写 Swift、编译它、启动它,并点击每个控件来验证它是否有效,然后您才打开它。
  • 端到端 UI 测试:将 Claude 指向本地 Electron 应用并说”测试入门流程”。Claude 打开应用、点击注册,并截图每一步。无需 Playwright 配置,无需测试工具。
  • 调试视觉和布局问题:告诉 Claude”模态框在小窗口上被裁剪”。Claude 调整窗口大小、重现错误、截图、修补 CSS,并验证修复。Claude 看到您看到的内容。
  • 驱动仅限 GUI 的工具:与设计工具、硬件控制面板、iOS 模拟器或没有 CLI 或 API 的专有应用交互。

Computer use 何时适用

Claude 有多种方式与应用或服务交互。Computer use 是最广泛和最慢的,所以 Claude 首先尝试最精确的工具:

  • 如果您有该服务的 MCP server,Claude 会使用它。
  • 如果任务是 shell 命令,Claude 会使用 Bash。
  • 如果任务是浏览器工作且您已设置 Claude in Chrome,Claude 会使用它。
  • 如果以上都不适用,Claude 会使用 computer use。

屏幕控制保留用于其他工具无法到达的事物:原生应用、模拟器和没有 API 的工具。

启用 computer use

Computer use 作为称为 computer-use 的内置 MCP server 可用。默认情况下它是关闭的,直到您启用它。

  1. 打开 MCP 菜单:在交互式 Claude Code 会话中,运行:

    /mcp
    

    在服务器列表中找到 computer-use。它显示为已禁用。

  2. 启用服务器:选择 computer-use 并选择启用。该设置按项目持久化,因此您只需为每个想要 computer use 的项目执行一次此操作。

  3. 授予 macOS 权限:Claude 第一次尝试使用您的计算机时,您会看到一个提示来授予两个 macOS 权限:

    • Accessibility:让 Claude 点击、输入和滚动
    • Screen Recording:让 Claude 看到您屏幕上的内容

    该提示包括打开相关系统设置窗格的链接。授予两者,然后在提示中选择重试。授予 Screen Recording 后,macOS 可能需要您重启 Claude Code。

设置后,要求 Claude 做需要 GUI 的事情:

构建应用目标、启动它,并点击每个选项卡以确保
没有任何内容崩溃。截图您找到的任何错误状态。

按会话批准应用

启用 computer-use 服务器不会授予 Claude 访问您机器上每个应用的权限。Claude 在会话中第一次需要特定应用时,您的终端中会出现一个提示,显示:

  • Claude 想要控制哪些应用
  • 任何额外请求的权限,例如剪贴板访问
  • Claude 工作时将隐藏多少其他应用

选择允许此会话拒绝。批准持续当前会话。当 Claude 一起请求多个应用时,您可以一次批准多个应用。

具有广泛影响的应用在提示中显示额外警告,以便您知道批准它们授予什么:

警告适用于
等同于 shell 访问Terminal、iTerm、VS Code、Warp 和其他终端和 IDE
可以读取或写入任何文件Finder
可以更改系统设置System Settings

这些应用不被阻止。警告让您决定任务是否值得那个级别的访问。

Claude 的控制级别也因应用类别而异:浏览器和交易平台是仅查看的,终端和 IDE 是仅点击的,其他所有内容都获得完全控制。有关完整的分层细分,请参阅 Desktop 中的应用权限

Claude 如何在您的屏幕上工作

理解流程有助于您预期 Claude 将做什么以及如何干预。

一次一个会话

Computer use 在活动时持有机器范围的锁。如果另一个 Claude Code 会话已在使用您的计算机,新的尝试会失败并显示一条消息,告诉您哪个会话持有锁。首先完成或退出该会话。

Claude 工作时应用被隐藏

当 Claude 开始控制您的屏幕时,其他可见应用被隐藏,以便 Claude 仅与批准的应用交互。您的终端窗口保持可见并被排除在屏幕截图之外,因此您可以观看会话,Claude 永远看不到自己的输出。

当 Claude 完成轮次时,隐藏的应用会自动恢复。

随时停止

当 Claude 获取锁时,会出现 macOS 通知:“Claude is using your computer · press Esc to stop”。在任何地方按 Esc 立即中止当前操作,或在终端中按 Ctrl+C。无论哪种方式,Claude 都会释放锁、取消隐藏您的应用,并将控制权返回给您。

当 Claude 完成时,会出现第二个通知。

安全性和信任边界

⚠️ 与 sandboxed Bash tool 不同,computer use 在您的实际桌面上运行,可以访问您批准的应用。Claude 检查每个操作并标记来自屏幕内容的潜在提示注入,但信任边界是不同的。有关最佳实践,请参阅 computer use 安全指南

内置的护栏在不需要配置的情况下降低风险:

  • 按应用批准:Claude 只能控制您在当前会话中批准的应用。
  • 哨兵警告:授予 shell、文件系统或系统设置访问权限的应用在您批准之前被标记。
  • 终端被排除在屏幕截图之外:Claude 永远看不到您的终端窗口,因此您会话中的屏幕提示无法反馈到模型中。
  • 全局转义Esc 键从任何地方中止 computer use,并且按键被消耗,因此提示注入无法使用它来关闭对话框。
  • 锁文件:一次只有一个会话可以控制您的机器。

示例工作流

这些示例展示了将 computer use 与编码任务结合的常见方式。

验证原生构建

对 macOS 或 iOS 应用进行更改后,让 Claude 在一次通过中编译和验证:

构建 MenuBarStats 目标、启动它、打开首选项窗口,
并验证间隔滑块更新标签。完成后截图首选项窗口。

Claude 运行 xcodebuild、启动应用、与 UI 交互,并报告它发现的内容。

重现布局错误

当视觉错误仅在某些窗口大小下出现时,让 Claude 找到它:

设置模态框在窄窗口上裁剪其页脚。调整应用窗口大小
直到您可以重现它、截图裁剪状态,然后检查模态框容器的 CSS。

Claude 调整窗口大小、捕获损坏的状态,并读取相关的样式表。

测试模拟器流程

无需编写 XCTest 即可驱动 iOS 模拟器:

打开 iOS 模拟器、启动应用、点击入门屏幕,
并告诉我是否有任何屏幕加载时间超过一秒。

Claude 以您使用鼠标的方式控制模拟器。

与 Desktop 应用的差异

CLI 和 Desktop 表面共享相同的 computer use 引擎。一些 Desktop 特定的控件在 CLI 中还不可用:

功能DesktopCLI
启用Settings > General 中的切换(在 Desktop app 下)/mcp 中启用 computer-use
拒绝应用列表在设置中可配置尚不可用
自动取消隐藏切换可选始终开启
Dispatch 集成Dispatch 生成的会话可以使用 computer use不适用

故障排除

”Computer use is in use by another Claude session”

另一个 Claude Code 会话持有锁。完成该会话中的任务或退出它。如果另一个会话崩溃,当 Claude 检测到该进程不再运行时,锁会自动释放。

macOS 权限提示不断重新出现

授予 Screen Recording 后,macOS 有时需要重启请求进程。完全退出 Claude Code 并启动新会话。如果提示仍然存在,打开 System Settings > Privacy & Security > Screen Recording 并确认您的终端应用已列出并启用。

computer-use 不出现在 /mcp

服务器仅在符合条件的设置上出现。检查:

  • 您在 macOS 上。Computer use 在 Linux 或 Windows 上不可用。
  • 您运行的是 Claude Code v2.1.85 或更高版本。运行 claude --version 来检查。
  • 您在 Pro 或 Max 计划上。运行 /status 来确认您的订阅。
  • 您通过 claude.ai 进行身份验证。Computer use 不适用于第三方提供商,如 Amazon Bedrock、Google Cloud Vertex AI 或 Microsoft Foundry。如果您仅通过第三方提供商访问 Claude,您需要单独的 claude.ai 账户来使用此功能。
  • 您在交互式会话中。Computer use 在使用 -p 标志的非交互式模式下不可用。

另请参阅


本文翻译自 Anthropic Claude Code 官方文档,最近一次同步:2025-05-01。