




















今天在 GitHub Trending 上看到一个势头非常猛的项目:Cua,一个为 AI Agent 提供计算机使用能力的全栈开源平台——从沙箱环境、桌面驱动到基准评测,一站式解决 Agent 操作电脑的所有难题。
Cua(Computer Use Agent)由 TryCua 团队开发,是一个 Monorepo 风格的开源项目,核心目标是让 AI Agent 能够像人类一样操作计算机界面。项目覆盖了从底层虚拟化到上层评测的完整链路:
项目采用 MIT 协议开源,Python 3.12+ 驱动核心逻辑,Swift 实现桌面驱动层,支持 Claude Code、Cursor、Codex、OpenClaw 等主流 Agent 客户端。
Cua 采用分层架构设计:
┌─────────────────────────────────────┐
│ Agent (Claude/Cursor/Codex/...) │
├─────────────────────────────────────┤
│ MCP Server / Python SDK │
├─────────────────────────────────────┤
│ Cua Driver (Swift) / Cua Sandbox │
├─────────────────────────────────────┤
│ OS (macOS / Windows / Linux) │
├─────────────────────────────────────┤
│ Lume / QEMU 虚拟化层 │
└─────────────────────────────────────┘
上层通过 MCP(Model Context Protocol)协议与各种 AI Agent 框架对接,底层通过 Swift 的 Accessibility API 和 AXUIElement 框架实现桌面自动化,虚拟化层基于 Apple Virtualization.Framework 或 QEMU。
Cua Drivers 的核心创新在于后台操作——Agent 可以在后台点击、输入、验证,不会抢占用户的鼠标和键盘焦点。从 Package.swift 可以看到,Swift 包分为两层:
// Package.swift 中的包结构定义
.library(name: "CuaDriverCore", targets: ["CuaDriverCore"]),
.library(name: "CuaDriverServer", targets: ["CuaDriverServer"])
安装后一行命令即可接入 Claude Code:
claude mcp add --transport stdio cua-driver -- cua-driver mcp
Cua Sandbox 提供了一套与操作系统无关的统一 Python API:
from cua import Sandbox, Image
async with Sandbox.ephemeral(Image.linux()) as sb:
result = await sb.shell.run("echo hello")
screenshot = await sb.screenshot()
await sb.mouse.click(100, 200)
await sb.keyboard.type("Hello from Cua!")
await sb.mobile.gesture((100, 500), (100, 200))
关键设计点:
ephemeral 上下文管理器:自动创建和销毁沙箱实例,确保资源回收Image.linux()、Image.macos()、Image.windows()、Image.android() 一套 API 搞定所有平台.qcow2 和 .iso 镜像Cua Bench 解决了一个行业痛点:如何客观评估计算机使用 Agent 的能力。它集成了多个权威基准:
cb run dataset datasets/cua-bench-basic --agent cua-agent --max-parallel 4
--max-parallel 4 参数支持并行执行,大幅提升评测效率。
Lume 利用 Apple Silicon 原生的 Virtualization.Framework 实现 macOS 和 Linux VM 管理:
lume run macos-sequoia-vanilla:latest
相比传统的 QEMU 方案,Lume 提供接近原生的性能。配套的 Lumier 组件还提供了 Docker 兼容接口,让习惯 Docker 工作流的用户可以无缝切换。
macOS / Linux:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/cua-driver/scripts/install.sh)"
Windows (PowerShell):
irm https://raw.githubusercontent.com/trycua/cua/main/libs/cua-driver/scripts/install.ps1 | iex
import asyncio
from cua import Sandbox, Image
async def main():
async with Sandbox.ephemeral(Image.linux()) as sb:
result = await sb.shell.run("uname -a")
print(result)
screenshot = await sb.screenshot()
# screenshot 是屏幕截图,可传给视觉模型分析
asyncio.run(main())
这是目前最主流的用法——让 Claude Code 通过 MCP 直接驱动你的桌面:
claude mcp add --transport stdio cua-driver -- cua-driver mcp
添加后,Claude Code 就获得了"看屏幕、点鼠标、敲键盘"的能力,可以帮你操作任意原生桌面应用。
基于 cua-agent SDK 可以构建更复杂的 Agent 工作流,组合使用 shell 执行、屏幕识别、鼠标点击、键盘输入等原语:
from cua import Sandbox, Image
async with Sandbox.ephemeral(Image.macos()) as sb:
# 打开一个应用
await sb.shell.run("open -a Safari")
# 截图分析当前状态
await sb.screenshot()
# 点击特定位置
await sb.mouse.click(500, 300)
# 输入文本
await sb.keyboard.type("github.com/trycua/cua")
await sb.keyboard.press("return")
# 创建基础镜像
cb image create linux-docker
# 运行评测
cb run dataset datasets/cua-bench-basic --agent cua-agent --max-parallel 4
评测结果可以导出为标准格式,用于模型对比或论文引用。项目还提供了 cuabench.ai 在线排行榜。
# 安装 Lume
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/lume/scripts/install.sh)"
# 启动 macOS 虚拟机
lume run macos-sequoia-vanilla:latest
配合 Dockerfile 中提到的 host.docker.internal:7777 架构,Docker 容器内的 Agent 可以通过网络连接到宿主机运行的 Lume VM。
检查 cua-driver 是否正确加入 PATH,手动验证:
如果出现系统权限弹窗,需要在 macOS 的「隐私与安全性」设置中授予辅助功能权限。
从 pyproject.toml 可以看到项目要求 >=3.12, <3.14:
requires-python = "<3.14,>=3.12"
如果使用 uv 管理依赖(项目推荐),确保 uv 已安装并指向正确的 Python 版本。
README 明确标注 Linux 支持为 pre-release 阶段,平台测试仍在进行中。如遇问题建议通过 GitHub Issues 反馈或加入 Discord 社区 讨论。
由于项目使用 cua-driver-v* 格式的 tag 而非标准 semver,Swift Package Manager 无法自动解析版本。需要通过 revision 指定:
.package(url: "https://github.com/trycua/cua.git", .revision("cua-driver-v0.1.0"))
本地 QEMU 模式下首次拉取镜像可能较慢。建议先用 cua.ai 云端模式验证功能,再切换到本地 QEMU 环境。
Cua 是目前计算机使用 Agent 领域最全面的开源方案之一。它最突出的优势在于全栈覆盖——从底层虚拟化(Lume)、桌面自动化驱动(Cua Drivers)、沙箱管理(Cua Sandbox)到评测基准(Cua Bench),形成了一个完整闭环。
对于开发者来说,Cua 的 MCP 协议集成设计使其能无缝接入现有的 AI 编码工具链;对于研究者来说,Cua Bench 提供了标准化的评测环境和轨迹导出能力,降低了计算机使用 Agent 研究的门槛。如果你正在构建或评估能操作计算机的 AI Agent,Cua 是一个值得深入研究的平台。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。