{/* TRANSLATED — 已翻译为中文 */}

> ## 文档索引
> 在此获取完整文档索引：https://code.claude.com/docs/llms.txt
> 使用此文件发现所有可用页面，然后再进一步探索。

# 让 Claude 从 CLI 使用你的电脑

> 在 Claude Code CLI 中启用计算机使用功能，让 Claude 能够在 macOS 上打开应用、点击、输入和查看你的屏幕。测试原生应用、调试可视化问题，以及自动化仅限 GUI 的工具，无需离开终端。

<Note>
  {/* plan-availability: feature=computer-use plans=pro,max */}

  计算机使用是 macOS 上的研究预览功能，需要 Pro 或 Max 计划。Team 或 Enterprise 计划不可用。需要 Claude Code v2.1.85 或更高版本以及交互式会话，因此在使用 `-p` 标志的非交互模式下不可用。
</Note>

计算机使用功能让 Claude 可以打开应用、控制屏幕，并像你一样在你的机器上工作。从 CLI 中，Claude 可以编译 Swift 应用、启动它、点击每个按钮并截图结果，所有这些都在编写代码的同一个对话中完成。

本页面介绍 CLI 中计算机使用功能的工作原理。关于 macOS 或 Windows 上的桌面应用，请参阅[桌面应用中的计算机使用](/en/desktop#let-claude-use-your-computer)。

## 你可以用计算机使用功能做什么

计算机使用功能处理需要 GUI 的任务：任何你通常需要离开终端手动完成的事情。

* **构建和验证原生应用**：让 Claude 构建一个 macOS 菜单栏应用。Claude 编写 Swift 代码、编译、启动并点击每个控件以验证其功能，然后你才打开它。
* **端到端 UI 测试**：将 Claude 指向本地 Electron 应用并说"test the onboarding flow"。Claude 打开应用、点击注册流程，并截取每个步骤的屏幕截图。无需 Playwright 配置，无需测试框架。
* **调试视觉和布局问题**：告诉 Claude "the modal is clipping on small windows"。Claude 调整窗口大小、重现错误、截图、修补 CSS 并验证修复。Claude 看到的和你一样。
* **操控仅限 GUI 的工具**：与设计工具、硬件控制面板、iOS 模拟器或没有 CLI 或 API 的专有应用进行交互。

## 何时应用计算机使用

Claude 有多种与应用或服务交互的方式。计算机使用是最广泛但最慢的方式，因此 Claude 会先尝试最精确的工具：

* 如果你有该服务的 [MCP 服务器](/en/mcp)，Claude 会使用它。
* 如果任务是 shell 命令，Claude 会使用 Bash。
* 如果任务是浏览器工作且你已设置 [Chrome 中的 Claude](/en/chrome)，Claude 会使用它。
* 如果以上都不适用，Claude 会使用计算机使用功能。

屏幕控制保留给其他方式无法触及的事物：原生应用、模拟器和没有 API 的工具。

## 启用计算机使用

计算机使用作为名为 `computer-use` 的内置 MCP 服务器提供。默认情况下它是关闭的，需要你启用。

<Steps>
  <Step title="打开 MCP 菜单">
    在交互式 Claude Code 会话中，运行：

    ```text theme={null}
    /mcp
    ```

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

  <Step title="启用服务器">
    选择 `computer-use` 并选择 **Enable**。该设置按项目持久化，因此你只需为每个需要计算机使用功能的项目执行一次此操作。
  </Step>

  <Step title="授予 macOS 权限">
    Claude 首次尝试使用你的电脑时，你会看到一个提示，要求授予两项 macOS 权限：

    * **辅助功能**：允许 Claude 点击、输入和滚动
    * **屏幕录制**：允许 Claude 查看屏幕内容

    该提示包含打开相关系统设置面板的链接。授予两项权限后，在提示中选择 **Try again**。macOS 可能会在授予屏幕录制权限后要求你重启 Claude Code。
  </Step>
</Steps>

设置完成后，让 Claude 做一些需要 GUI 的事情：

```text theme={null}
Build the app target, launch it, and click through each tab to make
sure nothing crashes. Screenshot any error states you find.
```

## 按会话批准应用

启用 `computer-use` 服务器并不会授予 Claude 访问你机器上所有应用的权限。在会话中 Claude 首次需要特定应用时，你的终端中会出现一个提示，显示：

* Claude 想要控制哪些应用
* 请求的额外权限，如剪贴板访问
* Claude 工作期间将隐藏多少其他应用

选择 **Allow for this session** 或 **Deny**。批准在当前会话有效。当 Claude 同时请求多个应用时，你可以一次性批准。

具有广泛权限的应用会在提示中显示额外警告，让你知道批准它们会授予什么：

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

这些应用并未被阻止。警告让你决定任务是否值得该级别的访问权限。

Claude 的控制级别也因应用类别而异：浏览器和交易平台为仅查看，终端和 IDE 为仅点击，其他应用获得完全控制。完整的层级划分请参阅[桌面应用中的应用权限](/en/desktop#app-permissions)。

## Claude 如何在你的屏幕上工作

了解工作流程有助于你预判 Claude 的行为以及如何干预。

### 一次只能一个会话

计算机使用在激活时持有机器范围的锁定。如果另一个 Claude Code 会话正在使用你的电脑，新尝试会失败并显示一条消息告知你哪个会话持有锁定。请先完成或退出该会话。

### Claude 工作时应用被隐藏

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

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

### 截图自动降分辨率

Claude Code 在发送到模型之前会对每个截图进行降分辨率处理。你无需降低显示分辨率或在 Retina 或其他高分辨率显示器上调整窗口大小。16 英寸 MacBook Pro 以原生 Retina 分辨率（3456x2234）捕获，然后降分辨率到约 1372x887，保持宽高比。

没有更改目标大小的设置。如果降分辨率后屏幕上的文本或控件对 Claude 来说太小，请在应用中增大它们的大小，而不是更改显示分辨率。

### 随时停止

当 Claude 获取锁定时，会出现 macOS 通知："Claude is using your computer · press Esc to stop."。在任何地方按 `Esc` 可立即中止当前操作，或在终端中按 `Ctrl+C`。无论哪种方式，Claude 都会释放锁定、取消隐藏你的应用并将控制权交还给你。

Claude 完成后会出现第二条通知。

## 安全性和信任边界

<Warning>
  与[沙箱化 Bash 工具](/en/sandboxing)不同，计算机使用在你的实际桌面上运行，可以访问你批准的应用。Claude 会检查每个操作并标记来自屏幕内容的潜在提示注入，但信任边界有所不同。请参阅[计算机使用安全指南](https://support.claude.com/en/articles/14128542)了解最佳实践。
</Warning>

内置防护措施无需配置即可降低风险：

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

## 示例工作流

这些示例展示了将计算机使用与编码任务结合的常见方式。

### 验证原生构建

对 macOS 或 iOS 应用进行更改后，让 Claude 一次性编译并验证：

```text theme={null}
Build the MenuBarStats target, launch it, open the preferences window,
and verify the interval slider updates the label. Screenshot the
preferences window when you're done.
```

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

### 重现布局错误

当视觉错误仅在特定窗口大小下出现时，让 Claude 找到它：

```text theme={null}
The settings modal clips its footer on narrow windows. Resize the app
window down until you can reproduce it, screenshot the clipped state,
then check the CSS for the modal container.
```

Claude 调整窗口大小、捕获异常状态并读取相关样式表。

### 测试模拟器流程

无需编写 XCTest 即可操控 iOS 模拟器：

```text theme={null}
Open the iOS Simulator, launch the app, tap through the onboarding
screens, and tell me if any screen takes more than a second to load.
```

Claude 以与你使用鼠标相同的方式控制模拟器。

## 与桌面应用的区别

CLI 和桌面界面共享相同的计算机使用引擎，但有一些区别：

| 功能                 | 桌面应用                                                 | CLI                             |
| :------------------- | :------------------------------------------------------- | :------------------------------ |
| 支持平台             | macOS 和 Windows                                         | 仅 macOS                        |
| 启用方式             | 在 **Settings > General**（**Desktop app** 下）中切换    | 在 `/mcp` 中启用 `computer-use` |
| 拒绝应用列表         | 可在设置中配置                                           | 尚不可用                        |
| 自动取消隐藏切换     | 可选                                                     | 始终开启                        |
| Dispatch 集成        | Dispatch 生成的会话可以使用计算机使用                    | 不适用                          |

## 故障排除

### "Computer use is in use by another Claude session"

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

### macOS 权限提示反复出现

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

### `computer-use` 未出现在 `/mcp` 中

该服务器仅在符合条件的设置中出现。请检查：

* 你正在使用 macOS。CLI 中的计算机使用在 Linux 或 Windows 上不可用。在 Windows 上，请改用[桌面应用中的计算机使用](/en/desktop#let-claude-use-your-computer)。
* 你正在运行 Claude Code v2.1.85 或更高版本。运行 `claude --version` 检查。
* 你拥有 Pro 或 Max 计划。运行 `/status` 确认你的订阅。
* 你通过 claude.ai 认证。计算机使用不适用于 Amazon Bedrock、Google Cloud Vertex AI 或 Microsoft Foundry 等第三方提供商。如果你仅通过第三方提供商访问 Claude，则需要单独的 claude.ai 账户才能使用此功能。
* 你处于交互式会话中。在使用 `-p` 标志的非交互模式下，计算机使用不可用。

## 另请参阅

* [桌面应用中的计算机使用](/en/desktop#let-claude-use-your-computer)：具有图形设置页面的相同功能
* [Chrome 中的 Claude](/en/chrome)：用于基于 Web 的任务的浏览器自动化
* [MCP](/en/mcp)：将 Claude 连接到结构化工具和 API
* [沙箱化](/en/sandboxing)：Claude 的 Bash 工具如何隔离文件系统和网络访问
* [计算机使用安全指南](https://support.claude.com/en/articles/14128542)：安全使用计算机的最佳实践
