我用 cua 让 Claude Code 真正"动手"了——一次关于 AI 桌面控制的深度实测
大多数人用 Claude Code 或 Cursor,用到某个节点就卡住了:模型理解了你的需求,也写出了解决思路,但它动不了鼠标。打不开那个弹窗,填不了那张表,点不了那个"确认"按钮。
我被这个问题卡了很久。直到我找到 cua。
cua 是什么?先说清楚,别被名字迷惑
cua(读作"koo-ah")是一个开源的 Computer-Use Agent 基础设施框架,GitHub 地址在 trycua/cua,已获 YC 支持。它不是一个"自动化脚本工具",也不是 Claude 或 GPT 的套壳产品。
它解决的问题是:让 AI Agent 能够真正操作桌面——看屏幕、点按钮、输入文字、执行代码——并且提供一套标准化的沙盒、SDK 和 Benchmark 体系,供开发者构建、训练和评测这类 Agent。
一句话总结它的定位:cua 是 Computer-Use Agent 领域的 Docker——统一封装底层复杂性,让你专注于 Agent 逻辑本身。
它到底在解决一个什么真实问题
在 cua 出现之前,你想让 AI Agent 控制桌面,面临三个老大难:
1. 抢焦点 传统方案 PyAutoGUI 或 Selenium,移动鼠标必须抢前台。你在写代码,Agent 突然把你的窗口弹走了。没法并行工作。
2. 环境不一致 Agent 截的图和你实际看到的可能不是同一个状态。异步执行下,时序错误直接导致操作失效。
3. 跨平台三套代码 Windows 一套驱动,macOS 一套,Linux 又是另一套。想让你的 Agent 可移植,维护成本极高。
cua 用三个核心组件解决了这三个问题:
- Background Computer Use:在 macOS 和 Windows 上实现后台驱动,Agent 点击、截图、输入全在独立会话完成,不碰你的前台焦点。
- 统一 Computer SDK:一套 API 搞定 Linux Container、macOS VM、Windows Sandbox、Android 模拟器,甚至云端沙盒,切换只需改一个参数。
- 标准 MCP Server 接口:Agent 能力直接暴露为 MCP 工具,Claude Code 和 Cursor 可以原生接入,无需中间层。
架构拆解:它由哪些部分组成
不需要全部用,但了解结构有助于你选对入口:
| 组件 | 作用 | 适合谁用 |
|---|---|---|
Agent SDK (cua-agent) |
统一接口调用 100+ VLM 模型,支持 Claude/GPT/Qwen3/UI-TARS 等 | 想快速搭 Agent 的开发者 |
Computer SDK (cua-computer) |
控制本地/云端 VM 的截图、点击、输入等操作 | 需要桌面控制能力的工程师 |
MCP Server (cua-mcp-server) |
把 Computer SDK 封装成 MCP 工具,接入 Claude Code/Cursor | AI 编程工具重度用户 |
| Lume | Apple Silicon 原生 macOS VM 管理,直调 Virtualization.Framework | 需要本地 macOS 沙盒的开发者 |
| Lumier | Docker 镜像方式运行 Linux 桌面环境 | 喜欢容器化的工程师 |
| HUD / Bench | 集成 OSWorld、ScreenSpot 等 Benchmark,一行代码跑评测 | 做模型训练和评测的研究者 |
支持哪些模型?这张表值得看完
cua Agent SDK 的核心优势之一是模型解耦——换模型只改一个字符串:
# Claude Sonnet(推荐起步)
agent = ComputerAgent(model="anthropic/claude-sonnet-4-5-20250929", tools=[computer])
# OpenAI Computer-Use Preview
agent = ComputerAgent(model="openai/computer-use-preview", tools=[computer])
# 本地推理:ByteDance UI-TARS(专门为桌面任务训练的模型)
agent = ComputerAgent(model="huggingface-local/ByteDance-Seed/UI-TARS-1.5-7B", tools=[computer])
# 组合模式:GTA 负责 Grounding,GPT-5 负责规划
agent = ComputerAgent(model="huggingface-local/HelloKKMe/GTA1-7B+openai/gpt-5", tools=[computer])
# OmniParser + GPT-4o 组合
agent = ComputerAgent(model="omniparser+openai/gpt-4o", tools=[computer])
模型分三类能力:Computer-Use(完整 Agent 循环)、Grounding(UI 元素检测定位)、VLM(视觉理解)。Claude、Qwen3 VL、UI-TARS 是三种全能选手,OmniParser 和 GTA 是专注定位的 Grounding 专家,可以和任意规划模型组合。
接入 Claude Code 的完整步骤
这是大多数人最想看的部分。
Step 1:安装
# 需要 Python 3.12 或 3.13(注意:3.14 暂不支持)
pip install cua-mcp-server
pip install cua-computer
Step 2:配置 MCP Server
在 Claude Code 的 MCP 配置文件中加入:
{
"mcpServers": {
"cua": {
"command": "python",
"args": ["-m", "cua_mcp_server"]
}
}
}
Step 3:初始化 Computer
from computer import Computer
computer = Computer(
os_type="macos", # 或 "linux"、"windows"
provider_type="lume", # 本地用 lume,云端用 "cloud"
use_host_computer_server=True # 直接控制宿主机桌面
)
Step 4:给 Claude Code 发任务
配置完成后,你可以直接在 Claude Code 里说:
"打开浏览器,进入 localhost:3000,截图并告诉我当前页面有哪些布局问题。"
Claude 会通过 MCP 调用 cua 的 screenshot、click、type 等工具,全程后台执行,不打断你正在做的事。
云端方案:不想折腾本地环境怎么办
cua 同时提供云服务(cua.ai),免配置直接用:
import os
from agent import ComputerAgent
from computer import Computer
os.environ["CUA_API_KEY"] = "sk_..." # 从 cua.ai/dashboard 获取
computer = Computer(
os_type="linux",
provider_type="cloud",
name="your-sandbox-name"
)
agent = ComputerAgent(
model="cua/anthropic/claude-sonnet-4.5",
tools=[computer]
)
messages = [{"role": "user", "content": "打开 Firefox,搜索 trycua GitHub"}]
async for result in agent.run(messages):
print(result)
定价参考(信用点计费,按用量):
- Linux Small 沙盒:5 credits/小时
- Linux Medium:9 credits/小时
- Windows Small:8 credits/小时
- Claude Sonnet 推理:约 1305 credits/百万 token
- 免费起步:注册送 10 credits,无需信用卡
与其他方案对比,说真话
| 维度 | cua | Anthropic 官方 Computer Use | PyAutoGUI/Selenium |
|---|---|---|---|
| 后台无感运行 | ✅ | ❌ | ❌ |
| MCP 原生集成 | ✅ | 需自行封装 | ❌ |
| 多平台统一 API | ✅ | 仅 Docker 示例 | 需各自维护 |
| 模型无关 | ✅ 100+ 模型 | ❌ 仅 Claude | ✅ |
| Benchmark 内置 | ✅ OSWorld/ScreenSpot | ❌ | ❌ |
| 本地部署 | ✅ | 有限 | ✅ |
| 学习成本 | 中 | 低 | 低 |
| 商业支持 | 无(开源社区) | Anthropic 官方 | 无 |
Anthropic 官方的 Computer Use API 更适合快速原型,cua 更适合需要本地部署、模型自选、且有研发深度需求的场景。两者并不互斥,cua 本身就支持调用 Claude 模型。
三个真实可用的验证场景
与其空讲特性,不如给你三个能落地的验证场景:
场景一:AI 辅助 UI 测试 让 Agent 在后台打开你的 Web 应用,自动截图每个关键页面,对比设计稿,输出布局差异报告。你继续写代码,测试并行跑。
场景二:自动化重复数据录入 让 Agent 读取本地 Excel,逐行填入某个没有 API 的内部管理系统。cua 的 type、click、screenshot 三个动作就能搞定。
场景三:Agent 能力评测 用内置 HUD 一行代码跑 OSWorld-Verified(369 个标准任务),对比不同模型的成功率,为你的下一个 Agent 项目选对基础模型。
使用前必须知道的几件事
Python 版本限制:目前只支持 3.12 和 3.13,3.14 因为 pydantic-core/PyO3 兼容问题暂不支持。
macOS 权限要求:需要在系统设置里授予辅助功能(Accessibility)和屏幕录制权限,这是后台驱动的必要条件,安全敏感环境请评估合规风险。
Linux 后端成熟度:Linux 桌面驱动目前仍是活跃开发阶段,如果你的主力环境是 Linux,建议先用云端沙盒方案,稳定性更好。
AGPL 风险:核心库是 MIT,但如果你安装 cua-agent[omni](包含 ultralytics),该部分是 AGPL-3.0。商业闭源项目请避开此 extra 或咨询法务。
值不值得花时间试?我的判断
如果你满足以下任意一条,答案是值得:
- 你在用 Claude Code 或 Cursor,但有"最后一公里"的 GUI 操作无法自动化
- 你在构建 Computer-Use Agent,不想自己封装 VM 和驱动层
- 你需要对不同模型做 Benchmark 对比
- 你想在 Apple Silicon 上跑近原生性能的 macOS VM
如果你只是想用 AI 写写代码、改改文档,完全不需要碰 GUI——那 cua 对你暂时没用,别浪费时间。
cua 补上的是 AI 编程工作流里真正缺失的那一环:让 Agent 从"能理解"变成"能操作"。这不是概念,是 2025 年现在就能跑通的基础设施。
参考:GitHub trycua/cua · 官方文档 cua.ai · YC 项目页
参考链接:
- GitHub 仓库:https://github.com/trycua/cua
- 官方文档:https://docs.cua.ai
- Cua Drivers 详解:libs/cua-driver/README.md
- 相关实测文章:OpenClaw 深度解析

评论(0)