我用 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 项目页

参考链接:

 

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。