连 UI Bug 都能自己修?Claude Code 桌面控制功能炸裂上线

0 阅读7分钟

Claude Code 的 computer use 功能,是 2026 年 3 月正式上线的原生 macOS 桌面控制能力,让 Claude 可以打开 App、点击、输入、截图,直接在你的真实桌面上完成 GUI 任务。它以内置 MCP 服务器的形式集成到 Claude Code CLI 中,通过 /mcp 命令启用,无需 Docker 或虚拟机。需要 Claude Code v2.1.85 及以上版本、macOS 系统、以及 Pro 或 Max 订阅计划。

在这里插入图片描述


Computer Use 能做什么

Claude Code 一直以来的边界是终端和代码文件——它能写代码、跑命令、改文件,但碰到需要 GUI 操作的环节就只能让你自己去手动点。computer use 打通了这个缺口。

典型用途:

  • 构建并验证原生 App:让 Claude 写 Swift 代码、xcodebuild 编译、启动 App、点击每个控件,截图反馈异常状态——全程不用离开终端。
  • 端到端 UI 测试:指向一个本地 Electron 应用说"测试注册流程",Claude 打开 App、点击注册、截图每一步,无需写 Playwright 配置。
  • 复现视觉 Bug:告诉 Claude"Modal 在小窗口下被截断",Claude 自己缩小窗口、复现 Bug、截图,然后检查 CSS 并验证修复结果。
  • 驱动无 API 的工具:设计工具、iOS Simulator、硬件控制面板、企业内部无 CLI 的专有软件——只要能点,Claude 就能操作。

工具选择优先级:Claude Code 会先用最精准的工具——有 MCP Server 的用 MCP,是 Shell 命令的用 Bash,是浏览器任务且装了 Claude in Chrome 就用 Chrome 扩展——以上都不适用时,才启用 computer use 控制屏幕。


如何启用

Step 1:确认前置条件

claude --version   # 需要 v2.1.85 或更高版本

同时确认:

  • 系统为 macOS(不支持 Linux 和 Windows)
  • 已登录 claude.ai 的 Pro 或 Max 账户(不支持 Bedrock / Vertex AI / Foundry 等第三方 provider)
  • 当前在交互式会话中(-p 非交互模式不可用)

Step 2:在 /mcp 菜单中启用

在 Claude Code 交互式会话中运行:

/mcp

找到列表中的 computer-use 服务器,选择 Enable。此设置按项目持久化,每个项目只需设置一次。

Step 3:授权 macOS 权限

首次使用时 macOS 会弹出权限申请,需要授权两项:

权限用途
辅助功能(Accessibility)允许 Claude 点击、输入、滚动
屏幕录制(Screen Recording)允许 Claude 看到屏幕内容

按提示在系统设置中开启,再选择 Try again。授权屏幕录制后可能需要重启 Claude Code。

Step 4:使用示例

启用后直接在对话中描述任务:

编译 MenuBarStats target,启动 App,打开偏好设置窗口,
验证时间间隔滑块能正常更新标签。完成后截图偏好设置窗口。

Claude 会运行 xcodebuild、启动 App、交互 UI 并报告结果。


Claude 如何操控你的屏幕

逐 App 会话审批

启用 computer-use 服务器并不代表 Claude 可以访问你机器上的所有 App。每次会话首次需要访问某个 App 时,终端会弹出提示,显示:

  • Claude 想要控制哪些 App
  • 是否请求了剪贴板等额外权限
  • 操作期间哪些 App 会被隐藏

选择 Allow for this sessionDeny。审批仅对当前会话有效。

对以下高权限 App,系统会额外显示警告提示:

警告标签适用 App
等同 Shell 访问权限Terminal、iTerm、VS Code、Warp 等终端/IDE
可读写任意文件Finder
可修改系统设置系统设置

操作期间其他 App 会被隐藏

Claude 开始控制屏幕时,其他可见 App 会被自动隐藏,确保 Claude 只与已审批的 App 交互。终端窗口始终保持可见且不会出现在截图中,避免屏幕上的提示词注入反馈回模型。Claude 完成当次任务后,隐藏的 App 自动恢复。

随时按 Esc 终止

Claude 获取屏幕控制权时,macOS 通知栏会提示:"Claude is using your computer · press Esc to stop"。任何时候按 Esc 或终端内按 Ctrl+C 都可立即中止,Claude 释放控制权并恢复所有隐藏 App。

全局互斥锁

computer use 持有机器级别的互斥锁——同一时间只有一个 Claude Code 会话可以控制屏幕。如果另一个会话正在使用,新的尝试会报错提示当前持锁会话。

在这里插入图片描述


不同类型 App 的控制权限级别

Claude 对不同类别 App 的控制程度不同:

App 类别控制级别
浏览器、交易平台仅查看(view-only)
终端、IDE仅点击(click-only)
其他应用完整控制(截图 + 点击 + 输入)

安全边界说明

重要:与 Claude Code 的沙箱 Bash 工具不同,computer use 运行在你的真实桌面上,访问的是你实际批准的 App。Anthropic 官方安全建议:

  1. 使用低权限账户运行敏感任务,避免意外改动系统文件
  2. 每次只审批必要的 App,不要无差别放行全部权限请求
  3. 注意提示词注入风险:屏幕上的文字内容可能被 Claude 读取并影响行为;内置的注入检测会在发现可疑内容时暂停并请求确认
  4. 终端窗口不会被截图,这是系统保证,Claude 永远看不到自己的输出

CLI 版与 Desktop 版的差异

computer use 在 CLI 和 Desktop App 中共享同一底层引擎,部分管理功能仅 Desktop 版目前支持:

功能Desktop AppCLI
启用方式Settings > Desktop app > General 开关/mcp 菜单启用 computer-use
黑名单 App 配置可在 Settings 中配置暂不支持
自动恢复隐藏 App可选关闭始终开启
Dispatch 集成Dispatch 会话可使用不适用

常见问题

Q:computer use 为什么不支持 Bedrock / Vertex / Foundry? computer use 依赖 claude.ai 账户的 Pro/Max 订阅权益,第三方 provider 路由的 API 调用不含此权益。如果你的 Claude Code 配置走的是第三方 provider,需要单独创建一个 claude.ai 账户来使用此功能。

Q:computer use 和在 Claude Code 里手写 Playwright 测试有什么区别? Playwright 需要专门的测试配置,只适用于 Web 应用。computer use 可以驱动任何 GUI 应用(原生 App、模拟器、设计工具),且不需要编写测试脚本,直接用自然语言描述任务即可。

Q:Esc 终止后 App 会恢复吗? 会。按 EscCtrl+C 后,Claude 立即释放屏幕控制权,所有被隐藏的 App 自动恢复到原始状态,不会留下残留影响。

Q:同一台机器能同时运行多个 Claude Code 会话用 computer use 吗? 不行。computer use 持有机器级别互斥锁,同一时间只能有一个会话控制屏幕。新的会话尝试会收到错误提示,需要等前一个会话结束后才能启动。

Q:v2.1.85 之前的版本能用吗? 不行。/mcp 列表中只有满足 v2.1.85+、macOS、Pro/Max 计划三个条件时才会出现 computer-use 选项。运行 claude --version 检查当前版本。


结语

Claude Code 上线 computer use,标志着 AI 编程助手完成了从"代码层"到"界面层"的打通。原来写完代码还要手动启动 App 验证的环节,现在可以一并交给 Claude。目前仅限 macOS 的 Pro/Max 用户,功能仍在持续迭代中。

据 Anthropic 官方文档,computer use 是 Claude Code v2.1.85 起随 CLI 内置的 MCP 服务器,无需额外安装。如需在国内环境下通过兼容 Anthropic 接口的服务调用 Claude API 用于开发,可参考七牛云的 Claude Code 配置指南,但需注意 computer use 本身不支持第三方 provider 路由。

本文基于 Claude Code 官方文档(2026 年 3 月版本),建议结合官方最新文档同步更新。


延伸资源