news 2026/9/6 16:11:35

Cua 计算机使用代理指南:把 AI 关进沙箱桌面里快速上手

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Cua 计算机使用代理指南:把 AI 关进沙箱桌面里快速上手

Cua 计算机使用代理指南:把 AI 关进沙箱桌面里快速上手

【免费下载链接】cuaScale computer-use 2.0 with open-source drivers, cross-OS fleets, and benchmarks for training, evaluation, and data generation.项目地址: https://gitcode.com/GitHub_Trending/cua/cua

让 AI 替你点鼠标,最容易被低估的坑不是点不准,而是点完你的机器就乱了。Cua 把代理的桌面操作放进一次性沙箱(用完即弃的隔离虚拟机),也支持后台驱动你真机,一套接口打通截图、点击、输入和 Shell,覆盖 Linux、Windows、macOS 和 Android。

它到底在解决什么问题

先想三个"没有它,会怎样"的场景。

没有视觉理解:大量老应用、设计软件、签了名的业务系统根本不给 API,GUI 就是唯一入口。你只能写死坐标或控件选择器,界面一改版脚本全崩,维护成本远超人工。

没有安全隔离:代理一定会犯错。它没有沙箱的话,一次误点"删除"或误输命令就落进你的真机;CI 里更糟——每个测试都依赖同一台机器的状态,跑一遍结果就漂一次,没法复现。

没有跨平台一致性:同样的"截图→点击",在 Docker 容器、QEMU 虚拟机、macOS 虚拟机里各有各的底层。没有统一接口,你每换一个操作系统就得重写一遍输入注入和画面采集。

说白了,Cua 干的事就是:给代理一个看得见、点得动、删得掉的计算机,并且这个计算机在 Linux、Windows、macOS、Android 上长得一样。

一条工作流跑通:从截图到验证

我们挑一个典型任务走一遍时间线:让代理在 Linux 桌面里打开应用、填一个表单、点提交,然后确认结果。

整个过程是一圈循环,每一圈大约耗时从百毫秒到几秒不等,取决于 VLM(会看图的 AI 模型)的推理速度:

  1. 截图screenshot()从沙箱桌面抓当前画面,容器环境里走远程显示栈,虚拟机里走虚拟显卡。
  2. 理解:截图连同任务描述交给 VLM。模型看到的不是 DOM,而是"屏幕上有什么、按钮在哪"。
  3. 决策:代理循环(OpenAI / Anthropic / Omni 等 100+ 模型可插)输出下一步动作——点 (100, 200)、输入文本,或干脆跑一段 Shell 绕过 GUI。
  4. 执行mouse.click()keyboard.type()把动作注入沙箱。这里有个设计细节:代码半区和 GUI 半区是同一台机器——代理可以先shell.run造一个文件,再用鼠标去应用里打开它,两者共享同一份文件系统。
  5. 验证:再截一张图,让模型确认状态变了;没变就重试或换路径。

每圈的截图、动作、结果都会被录成轨迹(操作回放录像),方便事后回放和做训练数据。

from cua import Sandbox, Image async with Sandbox.ephemeral(Image.linux()) as sb: # 换 .macos()/.windows() 即换系统 result = await sb.shell.run("echo hello") shot = await sb.screenshot() await sb.mouse.click(100, 200) await sb.keyboard.type("Hello from Cua!")

环境选型藏在这一行里:Linux 容器启动最快(共享宿主内核),全虚拟机(QEMU、Hyper-V、Apple Virtualization)启动慢一点但操作系统保真度高。macOS 虚拟机由 libs/lume/ 下的 Lume(macOS 虚拟化器)负责,在 Apple Silicon 上接近原生性能。

5 分钟上手:怎么跑起来

先装 SDK,再开一个临时沙箱,全程不超过三条命令。

pip install cua

Python 3.11+,装完直接开沙箱试手:

python -c "import cua; print(cua.__version__)"
import asyncio from cua import Sandbox, Image async def main(): async with Sandbox.ephemeral(Image.linux()) as sb: print(await sb.shell.run("uname -a")) print(await sb.screenshot()) asyncio.run(main())

先做pip install,再做Sandbox.ephemeral——用完async with自动销毁,不留任何状态。想跑基准测试的话,另装cua-benchCLI,用cb task create搭一个模拟桌面任务,无需 Docker 和 API key 就能验证全流程,步骤见 docs/content/docs/tutorials/your-first-cua-bench-task.mdx。

和 Selenium、Playwright、传统 RPA 差在哪

维度CuaSelenium / Playwright传统 RPA
界面理解VLM 读截图 + 无障碍树解析 DOM固定选择器/坐标
覆盖范围桌面 GUI、浏览器、移动端基本只有 Web 页面单一桌面环境
运行隔离一次性沙箱整机浏览器进程宿主进程
界面变化后自适应重新决策选择器失效即崩脚本需人工修

主要跑 Web 页面的话,Playwright 更轻更成熟;要碰原生桌面应用、老系统或者"没有 API 的 UI",Cua 这类计算机使用代理才真正派上用场。两者也不互斥——代理循环里完全可以让它浏览器部分走 DOM、桌面部分走截图。

目前的边界与下一步

坦白讲,现在确实还有几处不太行:

  • Linux Wayland 原生应用收不到合成的键盘输入,原始按键注入受限,得走 XWayland 或前台兜底。
  • 全虚拟机启动明显慢于容器,macOS 沙箱还绑死在 Apple Silicon 硬件上。
  • 复杂 UI 的语义理解精度很大程度取决于底层 VLM 本身,框架不兜底。
  • 后台驱动是尽力而为:少数应用只认真正的前台输入,得逐动作升级回前台。

接下来值得盯的:本地模型接入的持续打磨(上下文预算和推理吞吐对轨迹长度影响很大)、多代理并行跑一个桌面任务、以及 BYOI 自定义镜像上云的路径。

拆一个最有辨识度的点:不打扰你的后台驱动

有意思的是,Cua Driver 驱动你真机时默认不抢你的鼠标。它在屏幕上层画一个"假光标"展示代理动作,你的真光标和当前窗口原封不动。底层路径按平台挑最后台的方案:macOS 走无障碍 API + 窗口级画面采集,Windows 走 UI Automation 按窗口句柄操作控件,Linux 走 AT-SPI 语义动作。协议层用 MCP(模型上下文协议)over stdio,所以 Claude Code、Cursor 这类编码代理可以当工具直接挂载。

# 驱动本地应用的调用形态(示意) tool("screenshot", {"window": "notepad"}) # 只采目标窗口 tool("click", {"element": "保存按钮"}) # 经无障碍树直达控件 # 需要前台的动作会显式上报,由调用方决定是否升级

沙箱与真机驱动共用同一套动作语义,这是它把"可复现的评估环境"和"日常可用的自动化"缝在一起的关键,更多细节在 docs/content/docs/concepts/how-sandboxes-work.mdx。


回到开头那个坑:AI 点鼠标怕的不是点错,是点错没地方兜底。如果你的任务要碰桌面 GUI——测试、数据搬运、老系统自动化——Cua 是目前少数能把"隔离"和"跨平台"同时交给你的选择。

【免费下载链接】cuaScale computer-use 2.0 with open-source drivers, cross-OS fleets, and benchmarks for training, evaluation, and data generation.项目地址: https://gitcode.com/GitHub_Trending/cua/cua

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 16:11:31

三轴转台内环控制系统实战:从建模到仿真全解析

简介:《三轴转台内环控制系统——基于哈工大自动控制原理》PDF文档,是面向自动控制原理课程大作业设计的完整技术报告,适合哈工大及相关高校学生参考三轴转台内环控制系统的建模、校正与验证方法。内容围绕最大角速度400/s、动态跟踪误差不超…

作者头像 李华
网站建设 2026/9/6 16:11:23

基于PLC的自动送料装车控制系统设计:从工艺到上位监控完整指南

简介:一份基于PLC的自动送料装车控制系统设计说明文档,面向机电一体化、工业自动化等专业学生及现场工程师,围绕物料输送与装车场景,系统阐述以PLC为核心的控制方案,并结合组态王软件实现监控仿真的完整思路。资源为1个…

作者头像 李华
网站建设 2026/9/6 16:11:17

Umi-OCR:3 分钟跑通的离线 OCR,把截图里的文字变出来

Umi-OCR:3 分钟跑通的离线 OCR,把截图里的文字变出来 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内…

作者头像 李华
网站建设 2026/9/6 16:11:13

3 分钟把微信聊天记录备份下来:WeChatMsg 上手指南

3 分钟把微信聊天记录备份下来:WeChatMsg 上手指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChatMs…

作者头像 李华
网站建设 2026/9/6 16:07:53

React Router 6.4 架构决策:如何把 Remix 分层到 React Router 6.4 之上

React Router 6.4 架构决策:如何把 Remix 分层到 React Router 6.4 之上 【免费下载链接】react-router Declarative routing for React 项目地址: https://gitcode.com/GitHub_Trending/re/react-router 本篇基于 React Router 仓库中的架构决策记录 0007-r…

作者头像 李华