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

trycua/cua:面向计算机使用代理的开源基础设施

原标题:trycua/cua
HTML17,996 stars+57 今日

速览

该项目致力于构建计算机使用代理(Computer-Use Agents)的开源基础设施,提供完整的开发环境以训练和评估能够操作全桌面的AI智能体。它涵盖了沙箱隔离、软件开发工具包(SDK)以及标准化的基准测试,旨在解决AI代理在复杂桌面环境中执行任务的训练与评测难题。

AI 深度解读

这是什么

Cua 是一个由 GitHub 热门开源项目 trycua/cua 提供的综合性 AI Agent 基础设施平台。它不仅仅是一个单一的工具,而是一套完整的生态系统,旨在为构建、评估和运行计算机使用(Computer-Use)Agent 提供底层支持。

该项目主要包含四个核心组件:

  1. Cua Drivers:允许 Agent 在后台驱动原生桌面应用,无需抢占鼠标焦点或输入焦点。
  2. Cua Bench:用于评估或训练 AI 模型的基准测试工具,支持 OSWorld、ScreenSpot 等数据集。
  3. Lume:基于 Apple Silicon 的 Virtualization.Framework,提供接近原生性能的 macOS/Linux 虚拟机管理。
  4. Cua Sandbox:提供统一的 API,用于在任何 VM 或容器镜像中构建能“看见”屏幕、点击按钮并自主完成任务的 Agent。

该项目主语言标注为 HTML(可能指其 Web 界面或文档结构),目前 Star 数约为 17,996,支持 macOS、Windows 以及处于预发布阶段的 Linux。

解决的问题

在 AI Agent 从“文本交互”走向“实体操作”的过程中,开发者面临三大核心痛点,Cua 旨在解决这些问题:

  1. 焦点冲突与用户体验中断:传统的自动化脚本(如 PyAutoGUI)通常需要抢占系统焦点和鼠标控制权,导致用户无法同时使用电脑,且容易引发焦点丢失或操作冲突。Cua Drivers 解决了这一问题,使 Agent 能够在后台静默运行,不干扰用户的正常操作。
  2. 跨平台环境一致性差:构建能跨操作系统(macOS, Windows, Linux, Android)工作的 Agent 极其困难,因为各平台的 UI 渲染、API 和权限机制差异巨大。Cua 通过统一的 API 抽象层,屏蔽了底层操作系统的差异。
  3. 缺乏标准化的评估体系:目前对于“计算机使用”能力的评估缺乏统一标准,难以量化 Agent 在真实桌面环境中的表现。Cua Bench 提供了标准化的基准测试框架,支持轨迹导出,便于模型训练和性能对比。

核心功能

1. 后台桌面驱动 (Cua Drivers)

  • 无焦点操作:Agent 可以模拟点击、输入和验证操作,而不会窃取当前窗口的焦点或光标。
  • 多客户端兼容:提供 CLI 和 MCP (Model Context Protocol) 服务器接口,可直接集成到 Claude Code、Cursor、Codex、OpenClaw 等主流 AI 编程助手或自定义客户端中。
  • 安装简便:支持通过一键脚本在 macOS/Linux (install.sh) 和 Windows (PowerShell install.ps1) 上快速部署。

2. 统一沙箱 API (Cua Sandbox)

  • 跨平台统一接口:通过 Python SDK (pip install cua) 提供一致的编程接口。无论底层是 Linux、macOS、Windows 还是 Android,API 调用方式保持一致。
  • 多模态交互能力
    • 视觉sb.screenshot() 获取屏幕截图。
    • 控制sb.mouse.click() 模拟鼠标点击,sb.keyboard.type() 模拟键盘输入。
    • 移动端支持sb.mobile.gesture() 支持多点触控手势操作。
    • Shell 执行sb.shell.run() 执行系统命令。

3. 基准测试与训练 (Cua Bench)

  • 数据集支持:内置支持 OSWorld、ScreenSpot、Windows Arena 等主流计算机使用基准测试数据集。
  • 轨迹导出:支持将 Agent 的操作轨迹导出,用于后续的模型微调或训练。
  • 并行评估:支持通过 CLI (cb run) 并行运行多个 Agent 实例,提高评估效率。

4. 高性能虚拟机管理 (Lume)

  • Apple Silicon 优化:利用 Apple 原生的 Virtualization.Framework,在 M 系列芯片 Mac 上提供接近原生性能的 macOS 虚拟机。
  • 轻量级部署:通过 lume run 命令即可快速拉取并启动如 macOS Sequoia 等系统镜像,无需复杂的虚拟化配置。

亮点 / 与同类相比

  • MCP 协议原生支持:Cua 深度集成 Model Context Protocol (MCP),这使得它能够无缝接入基于 MCP 构建的现代 AI 应用生态(如 Cursor、Claude Code),降低了集成门槛。
  • 真正的“后台”驱动:与 Selenium 或 Playwright 等浏览器自动化工具不同,Cua Drivers 针对原生桌面应用进行了优化,解决了焦点抢占问题,更适合需要长期运行且不干扰用户的自动化场景。
  • 全栈覆盖:大多数竞品可能只关注浏览器自动化(如 Browser-use)或只关注某个特定 OS。Cua 提供了从底层虚拟机(Lume)、桌面驱动(Drivers)、沙箱环境(Sandbox)到上层评估(Bench)的全栈解决方案。
  • 多平台一致性:通过抽象层屏蔽了 macOS、Windows 和 Linux 的差异,开发者只需编写一次代码即可适配多种环境,极大降低了跨平台 Agent 的开发成本。

适合谁用 / 上手

适合人群

  • AI Agent 开发者:需要构建能够操作桌面应用、浏览网页或执行系统任务的自主 Agent。
  • 自动化测试工程师:需要跨平台、非侵入式的 UI 自动化测试方案。
  • 模型研究人员:需要标准化的基准测试(Bench)来评估 Computer-Use 模型的性能,并需要导出轨迹数据进行训练。
  • Mac 用户/开发者:需要高效管理 macOS 虚拟机进行开发或测试的用户。

快速上手指南

  1. 安装桌面驱动 (以 macOS 为例)

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/trycua/cua/main/libs/cua-driver/scripts/install.sh)"
    
  2. 集成到 MCP 服务器: 将 Cua Driver 添加为 MCP 服务器,使 AI 客户端能够调用桌面控制能力:

    claude mcp add --transport stdio cua-driver -- cua-driver mcp
    
  3. 使用 Python SDK 构建 Agent

    pip install cua
    
    from cua import Sandbox, Image
    
    # 启动一个临时的 Linux 沙箱
    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
    

Cua 采用 MIT 许可证开源,欢迎社区贡献。对于需要构建下一代自主计算机使用 Agent 的团队来说,这是一个极具潜力的基础设施项目。

查看原文 →github.com