
先说结果
Cua(trycua/cua)是 GitHub 上 25.7K Star 的开源项目,MIT 协议,Y Combinator X25 孵化。它不是一个"帮你点一下鼠标"的脚本,而是一套让 AI 真正使用电脑的工程基础设施——把 Driver(后台驱动桌面)、Sandbox(一次性隔离环境)、Bench(基准评测)、Lume(本地虚拟机)四块能力拼到一起,解决 Computer-Use 从 Demo 到生产的四大难题:状态感知、动作确认、结果验证、失败复现。支持 macOS/Windows/Linux/Android,操作可在后台进行不抢光标,提供 CLI、MCP、Python SDK 三种接入方式。
一、Cua 是什么:不是脚本,是基础设施
以前的 AI 会告诉你"怎么点"——生成操作步骤、写自动化脚本。但真正麻烦的是:谁来点、点完有没有成功、出了问题能不能复盘?
让 Agent 操作电脑,不是把鼠标交出去就结束了。它还需要看到屏幕、执行动作、验证结果,并且最好不抢走你正在使用的键盘和光标。
Cua 关注的不是某一个网站的自动化,而是更底层的问题:Agent 能不能跨操作系统看懂界面、做出动作、确认结果,并把过程交给团队复用?
| 方案 |
能做什么 |
主要短板 |
| 普通 AI 助手 |
回答问题、生成代码、给出操作步骤 |
通常不会真的操作桌面 |
| 单点自动化脚本 |
固定点击、填写表单、执行流程 |
换机器、换界面后容易失效 |
| Cua |
驱动真实桌面、启动隔离环境、评测任务、记录轨迹 |
仍需要权限控制和任务边界 |
项目基本信息:
📌
GitHub:github.com/trycua/cua,约 25.7K Star,100+ 贡献者,MIT 许可证
📌
最新 Release:fleet-v0.0.3 / sandbox-v0.8,持续快速迭代中
📌
背景:Y Combinator X25 孵化公司,专注 Computer-Use Agent 基础设施层
📌
官方文档:cua.ai/docs,提供 Cloud Fleets、Cua Driver、Lume、Cua-Bench 四条入门路径
二、四大核心模块详解
Cua 的架构由四个互补的模块组成,覆盖从"驱动电脑"到"评测 Agent"的完整链路。
1
Cua Driver:让 Agent 在后台操作电脑
Driver 面向 macOS、Windows、Linux,让 Agent 可以查看窗口、截图、点击、输入、启动应用并验证结果。最关键的设计是:操作可以在后台进行,不必抢走你当前正在使用的光标和焦点。对办公自动化、桌面 QA、演示环境和个人 Agent 来说,这比"自动移动鼠标"更接近真正可用的产品能力。
Driver 还提供 CLI 和 MCP 接入方式,可以接入 Claude Code、Codex、Cursor、OpenClaw 等客户端。后台驱动程序发送点击和键盘输入到指定桌面窗口,不移动系统光标。
2
Cua Sandbox:给 Agent 一台一次性电脑
如果直接把生产电脑交给 Agent,风险和复现成本都很高。Sandbox 的思路是创建一次性的 GUI 机器,让任务在隔离环境中运行。支持 Linux、macOS、Windows、Android 等环境,既可以使用云端机器(Cloud Fleets),也可以在本地 QEMU 中运行。
核心价值:每个任务都有自己的环境,失败之后可以重新创建,测试结果也更容易复现。预热机器池可以毫秒级获取沙箱,空闲时缩容到零。用户从快照 fork 环境,保证可复现。
3
Cua-Bench:别只看"演示成功"
Computer-Use 最容易出现的错觉是:视频里点成功一次,就以为系统已经可靠。Cua-Bench 把 OSWorld、ScreenSpot、Windows Arena 和自定义任务放进评测流程,还可以导出轨迹用于训练和分析。
团队评估的不只是"模型会不会点",还包括:任务成功率怎么样?在不同系统上是否稳定?哪一步最容易失败?失败轨迹能不能复盘和再利用?
4
Lume:把本地虚拟机也纳入工具链
Lume 面向 macOS 和 Linux 虚拟机,在 Apple Silicon 上使用 Apple Virtualization Framework,目标是让本地 VM 更接近真实机器的使用体验。这让 Cua 不只适合"云端跑一次",也适合开发者在本地构建、调试和验证自己的 Computer-Use 流程。
三、它真正解决的不是"会不会点"
很多桌面 Agent 的 Demo 看起来都很惊艳:识别屏幕,然后点击按钮。但进入真实项目后,难点通常变成了四件事:
四大工程难题
❓
状态:当前窗口到底是什么状态?AI 需要知道屏幕上有什么、哪个窗口在前台、按钮是否可点击。
❓
动作:点击或输入是否真的发出去了?不是"我发了点击指令"就等于"点击成功了"。
❓
验证:页面变化是不是任务要求的结果?需要独立验证,而不是 Agent 自己说"完成了"。
❓
复现:失败后能不能重新跑出同样的问题?没有复现能力就无法调试和改进。
Cua 的价值,就是把"看屏幕、做动作、验证结果、记录轨迹"放进同一套工程模型里。一个真实任务的执行流水线是:
→
自然语言任务 → 获取窗口状态或截图 → 点击/输入/启动应用 → 等待界面状态变化 → 独立验证任务结果 → 记录轨迹,支持复盘和评测
例如,让 Agent 打开计算器完成 6 × 7,并不是让它"凭感觉"说答案,而是让它打开应用、执行输入、读取结果,再把最终状态报告出来。这个过程才有机会被测试、被审计、被扩展。
四、3 分钟上手:安装 + 第一个任务
1
安装 Cua Driver:macOS 或 Linux 用户打开终端粘贴一行命令,Windows 用户在 PowerShell 里跑。安装器会把 CuaDriver.app 放进应用程序文件夹,并配置好 cua-driver 命令行工具,不需要管理员权限。
2
检查本机状态:运行 cua-driver doctor 检查安装是否正常,cua-driver call list_apps 列出当前运行的应用,确认 Driver 能看到桌面状态。
3
接入 Agent 客户端:可以安装 Cua skills 或生成 MCP 配置,让 Claude Code、Codex、Cursor 等客户端直接调用 Driver 的桌面控制能力。
4
体验隔离环境(可选):如果想研究沙箱,从 pip install cua 和官方 Sandbox 教程开始,创建一次性 Linux 桌面环境,在里面运行 Agent 任务。
五、三套实战代码模板
# 1. 一行安装 Cua Driver
/bin/bash -c "$(curl -fsSL https://cua.ai/driver/install.sh)"
# 2. 检查安装状态
cua-driver doctor
# 3. 列出当前运行的应用,确认能看到桌面
cua-driver call list_apps
# 4. 截图当前桌面
cua-driver call screenshot
# Windows 用户在 PowerShell 中运行:
# irm https://cua.ai/driver/install.ps1 | iex
# 安装 Python SDK
pip install cua
# 创建一次性 Linux 沙箱,运行命令并截图
from cua import Image, Sandbox
async with Sandbox.ephemeral(Image.linux()) as sb:
# 在沙箱中执行 shell 命令
result = await sb.shell.run("echo hello from cua sandbox")
print(result.stdout)
# 截取沙箱桌面截图
screenshot = await sb.screenshot()
screenshot.save("sandbox_desktop.png")
# 安装浏览器并打开网页
await sb.shell.run("apt-get update && apt-get install -y firefox")
await sb.shell.run("firefox https://example.com &")
# 沙箱在 with 块结束后自动销毁,无需手动清理
# 1. 安装带 MCP 支持的 Cua CLI
pip install --extra-index-url https://wheels.cua.ai/simple "cua-cli[mcp]"
# 2. 启动 MCP 服务器(暴露沙箱管理、电脑控制、技能给 MCP 客户端)
cua serve-mcp
# 3. 在 Claude Code 配置中添加 MCP server
# 编辑 ~/.claude.json 或使用 claude mcp add 命令:
# claude mcp add cua "cua serve-mcp"
# 4. 然后在 Claude Code 中直接用自然语言操作桌面:
# "打开计算器,计算 256 * 1024,把结果截图发给我"
# "帮我整理下载文件夹,把超过1GB的文件列出来"
# "打开浏览器,搜索今天的AI新闻,总结前3条"
六、适合谁?不适合谁?
适合场景
✅
构建桌面型 AI Agent:需要 AI 真正操作桌面应用,而不只是生成操作步骤。
✅
跨系统 GUI 自动化:需要在 macOS/Windows/Linux 上运行相同的自动化任务,统一 API 抽象。
✅
QA、回归测试、任务评测:需要可复现的测试环境、基准评测、失败轨迹复盘。
✅
训练数据和操作轨迹生成:批量生成 AI 操作电脑的轨迹数据,用于训练和微调 Computer-Use 模型。
不适合直接使用的场景
❌
没有权限隔离的生产环境:直接让 Agent 操作生产电脑风险高,应使用沙箱隔离。
❌
只靠坐标点击、完全不做验证的脚本:Cua 的价值在于状态感知和结果验证,纯坐标点击用 pyautogui 更轻量。
❌
把高风险账号直接交给不受控 Agent:涉及支付、删除、登录的任务必须人工确认。
❌
需要百分之百稳定、但没有重试和人工兜底的流程:Computer-Use 仍有失败概率,关键流程需要重试机制和人工介入。
七、避坑提醒
避坑提醒
1
后台操作不等于无风险操作:Cua 提供权限策略,可以按工具和参数限制 Agent 的能力,并支持默认拒绝。但涉及支付、删除、登录和敏感数据的任务,仍然应该放在隔离环境中,并保留人工确认。不要因为"操作在后台"就放松安全警惕。
2
macOS 需要授予辅助功能权限:Cua Driver 在 macOS 上控制桌面需要"辅助功能"和"屏幕录制"权限。安装后首次运行时,系统会弹出权限请求,必须在"系统设置 → 隐私与安全性"中手动授权,否则 Driver 只能看到黑屏或无法点击。
3
云端沙箱需要购买 credits:Cua Cloud Fleets 是付费服务,需要在 cua.ai 注册账号并购买额度。本地沙箱(QEMU/Lume)免费但需要本机有足够的虚拟化资源(至少 8GB 内存推荐)。先从本地 Driver 免费体验,再考虑云端。
4
不要用纯坐标点击,要用状态验证:Cua 的核心优势是"获取窗口状态 → 执行动作 → 验证结果"的闭环。如果你的 Agent 只是"截图 → 估算坐标 → 点击",没有验证步骤,那和普通自动化脚本没有区别,也享受不到 Cua 的工程化价值。
5
Star 数增长快但项目仍在早期:25.7K Star 说明社区热度高,但最新 Release 还是 v0.0.3/v0.8,API 可能频繁变动。生产环境使用前建议锁定版本,关注 Release Notes,避免升级后 API 不兼容。
6
先从低风险任务试跑:不要一上来就让 Agent 操作你的银行账号或删除重要文件。建议从"打开计算器算算术"、"整理下载文件夹"、"搜索网页总结信息"这类低风险任务开始,熟悉 Driver 的行为模式和失败场景后,再逐步扩大任务范围。
八、一句话收个尾
Cua 最值得关注的地方,不是它让 AI"会点鼠标"了,而是它开始补齐 Computer-Use 真正缺少的工程环节:执行环境、跨平台驱动、权限控制、结果验证、评测基准和可复用轨迹。这意味着桌面 Agent 正在从"看起来很聪明的 Demo",走向"可以被开发、被测试、被复盘的系统"。如果你正在做 AI Agent、桌面自动化或智能 QA,Cua 值得先收藏,再拿一个低风险任务试跑。
作者声明:本作品含 AI 生成内容