← 返回信息流
GitHub 热榜GitHub Trending · 日·13 小时前

trycua/cua —— 开源计算机使用2.0:驱动、跨OS集群与训练基准

原标题:trycua/cua
HTML20,165 stars+136 今日

速览

CUA (Computer Use Agent 2.0) 提供开源驱动和跨操作系统集群,支持大规模自动化计算机操作。它包含训练、评估和数据集生成的基准测试,适用于构建能够像人类一样操作电脑的AI agent,可应用于自动化测试、机器人流程自动化(RPA)和AI辅助操作等场景。

AI 深度解读

这是什么

Cua 是一个开源项目(GitHub: trycua/cua),旨在为计算机操作(computer-use)2.0 时代提供标准化的基础设施。它包含三个核心组件:

  • Cua Drivers:跨操作系统(macOS、Windows、Linux)的底层驱动,允许 AI Agent 在后台原生驱动桌面应用,模拟点击、输入、手势等操作,且不抢占鼠标焦点或光标。
  • Cua Bench:一套用于训练、评估和数据生成的基准测试工具,支持 OSWorld、ScreenSpot、Windows Arena 等标准任务,并支持自定义任务。
  • Lume:基于 Apple 的 Virtualization.Framework 的 macOS/Linux 虚拟机管理工具,专为 Apple Silicon 设计,提供接近原生的性能,用于创建隔离的测试环境。

项目使用 MIT 许可证,第三方组件如 OmniParser(CC-BY-4.0)、Kasm(MIT)等各自保留其许可证。

解决的问题

当前 AI Agent 在操作计算机时面临几个关键痛点:

  1. 跨平台驱动不统一:macOS、Windows、Linux 的自动化接口差异大,Agent 需要为每个系统编写不同适配层。Cua 提供统一的 CLI 和 MCP 服务器,可以在 Claude Code、Cursor、Codex 等客户端中直接使用相同接口。
  2. 背景执行与焦点冲突:传统自动化工具(如 AppleScript、Win32 API)常会抢占用户光标或窗口焦点,导致用户无法同时进行其他操作。Cua Drivers 通过底层输入路由实现后台驱动,Agent 操作不影响前台用户交互。
  3. 评估与训练数据匮乏:计算机操作 Agent 的评测缺乏标准化基准和可复现的环境。Cua Bench 提供预置数据集、自动轨迹导出功能,支持训练和评估闭环。
  4. 虚拟机环境搭建繁琐:在本地搭建干净、可重复的 macOS 或 Linux 虚拟机以供 Agent 测试需要大量手动配置。Lume 通过一行命令创建免值守的 macOS VM,并内置 SSH、自动登录、休眠禁用等预设。

核心功能

  • 统一 API 驱动多系统:Python SDK 提供 Sandbox 抽象,支持 ephemeral 临时沙箱,可指定 .linux().macos().windows().android() 镜像。同一套代码执行 shell 命令、截图、鼠标点击、键盘输入、移动端手势(多指触摸)。
  • 后台原生输入:在 macOS 和 Linux 上,Cua Drivers 使用系统级事件注入(如 CGEvent、X11 的 XTest、Wayland 的特定路由),确保 Agent 操作不抢占鼠标焦点和键盘输入。Windows 支持通过 Power Automate 或其他机制实现类似效果。
  • 跨客户端集成:提供 CLI 和 MCP 服务器,支持从 Claude Code、Cursor、Codex、OpenClaw 等工具直接调用。无需修改现有 Agent 框架即可接入。
  • 基准测试与数据生成cua-bench 子项目包含 cb 命令行工具,可克隆数据集、创建基础镜像、使用任意 Agent 并行运行评测任务,并导出轨迹(trajectories)用于训练。支持自定义任务。
  • 本地虚拟机管理(Lume):通过 lume 命令创建 macOS VM(支持 Tahoe、Sequoia 等预设),自动配置 lume 用户、SSH 服务、禁用休眠和锁屏,支持 --unattended 离线安装系统。Linux VM 同样支持。

亮点 / 与同类相比

  • 开源与跨平台:与闭源的商业自动化工具(如 Browserbase、Playwright)不同,Cua 完全开源(MIT),且同时覆盖桌面原生应用和 Web 应用。它不依赖浏览器,而是直接操作操作系统级别的输入。
  • 后台无干扰:大部分同类工具(如 Selenium、Appium、AppleScript)在驱动时会抢夺窗口焦点,导致用户无法并发使用。Cua Drivers 通过系统级后台输入路由实现了真正的“不抢光标”,这是其核心差异化能力。
  • 统一 API 抽象:无论是 macOS、Windows、Linux 还是 Android,Cua 的 Sandbox API 保持一致。竞争对手如微软的 Windows Agent 框架仅限 Windows,而 Apple 的自动化工具仅限 macOS。Cua 提供真正的跨 OS 控制平面。
  • 内置训练与评估生态:除了驱动能力,Cua 还包含基准测试工具(Cua Bench)和虚拟化管理(Lume),形成从环境搭建、Agent 运行到数据收集的完整链路。同类项目往往只聚焦于驱动或只聚焦于评估,Cua 提供了端到端方案。
  • 与主流 AI 客户端兼容:通过 MCP 服务器,Cua 可以直接接入 Claude Code、Cursor、Codex 等流行 Agent 开发工具,无需额外适配。

适合谁用 / 上手

适合人群:

  • 开发计算机操作 Agent(computer-use agent)的研究人员或工程师,需要跨平台的后台驱动能力。
  • 需要大规模评测 Agent 性能的团队,可使用 Cua Bench 在 OSWorld、ScreenSpot 等标准基准上自动跑分。
  • 需要生成训练数据的团队,Cua 可导出 Agent 轨迹(screenshot + action 序列)用于模型训练。
  • 需要在 macOS 上创建隔离测试环境(如原生应用测试)的开发者,可借助 Lume 快速部署无头 macOS VM。

上手步骤:

  1. 安装 Drivers(驱动后台输入能力):

    • macOS/Linux:/bin/bash -c "$(curl -fsSL https://cua.ai/driver/install.sh)"
    • Windows (PowerShell):irm https://cua.ai/driver/install.ps1 | iex 安装后按照提示完成后续配置(如授权辅助功能权限)。
  2. 安装 Python SDK

    pip install cua   # Python 3.11+
    
  3. 运行第一个 Agent 示例

    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!")
    
  4. 运行基准测试(可选):

    git clone https://github.com/trycua/cua
    cd cua/cua-bench
    uv tool install -e .
    cb image create linux-docker
    cb run dataset datasets/cua-bench-basic --agent cua-agent --max-parallel 4
    
  5. 使用 Lume 创建 macOS VM(可选):

    /bin/bash -c "$(curl -fsSL https://cua.ai/lume/install.sh)"
    lume create macos-tahoe --ipsw ~/Downloads/macos-tahoe.ipsw --unattended tahoe
    lume run macos-tahoe
    

详细文档请

查看原文 →github.com