尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

10 分钟搞懂 cua:开源 AI 操作电脑基础设施,附 Python 沙箱与 Agent 上手代码

10 分钟搞懂 cua:开源 AI 操作电脑基础设施,附 Python 沙箱与 Agent 上手代码 10 分钟搞懂 cua开源 AI 操作电脑基础设施附 Python 沙箱与 Agent 上手代码一、项目概览把AI 操作电脑做成开源基础设施二、四大组件总览一张表看懂 cua 的能力地图三、核心上手Sandbox ComputerAgent10 行代码跑通第一个 Agent3.1 安装与 Python 版本3.2 Sandbox 上手一套 API 通吃四大平台3.3 ComputerAgent 上手让 LLM 接管沙箱3.4 沙箱生命周期与本地模式四、Cua Drivers让 Claude Code/Cursor 后台操控你的桌面五、Cua-Bench 与 Lume评测环境与 macOS 虚拟化5.1 Cua-Bench基准测试与 RL 环境5.2 LumeApple Silicon 上的 macOS 虚拟化六、CLI 与 MCP 集成命令行管理沙箱与权限粒度七、注意事项与适用场景客观说清边界八、总结开源基础设施让 AI 操作电脑从演示走向可复现工程10 分钟搞懂 cua开源 AI 操作电脑基础设施附 Python 沙箱与 Agent 上手代码让 AI 真正操作电脑–点按钮、填表单、跨应用跑流程–一直是 AI 落地难啃的骨头闭源 SaaS 不开放自研又得从零搭沙箱、接模型、写驱动。cua把这件事做成了开源基础设施一套 API 覆盖 macOS、Linux、Windows、Android 四大平台。本文从四大组件切入给出可直接复制的 Python 上手代码10 分钟跑通你的第一个 Computer-Use Agent。一、项目概览把AI 操作电脑做成开源基础设施cua 是一套 MIT 开源的 Computer-Use AgentCUA基础设施目标是让 AI 像人一样操作完整的桌面环境。它和闭源 SaaS 的根本区别在于沙箱、SDK、驱动、基准测试全部开源可自托管你可以看清每一步、改每一处。官方在 GitHub 页面用一句话这样描述它逐字引用Open-source infrastructure for Computer-Use Agents. Sandboxes, SDKs, and benchmarks to train and evaluate AI agents that can control full desktops (macOS, Linux, Windows).基本信息一览项目内容仓库trycua/cuagit地址https://github.com/trycua/cua官网地址https://cua.aiStars约 22k stars技术栈上 cua 是典型的多语言 monorepoPython 用 uv workspace 管理 agent/core/computer/computer-server/som/mcp-server/bench-ui 等核心子包cua-sandbox、cua-cli、cua 元包为独立发布包TypeScript 用 pnpm workspace 管理 agent/computer/fleet/playgroundRust 用 Cargo workspace 实现 cua-driver 的跨平台后台驱动。这种结构意味着不同能力用合适的语言写–驱动求性能用 RustAgent 框架求生态用 Python前端求迭代用 TypeScript。二、四大组件总览一张表看懂 cua 的能力地图cua 的能力分布在四个相对独立的组件里你可以按需取用不必一次全装。下表并置它们的定位、实现语言与上手方式来源README.md:23-158。组件定位实现语言上手方式Cua Drivers在 macOS/Windows/Linux 后台驱动原生桌面应用代理可点击/输入/校验不抢占光标与焦点RustCargo workspaceinstall.sh/install.ps1或作为 MCP server 接入 Claude Code 等CuaSandbox Agent任意 OS 的 VM/容器沙箱 LLM 驱动的 computer-use agent一套 API 云或本地Pythonpip install cuaCua-Bench在 OSWorld、ScreenSpot、Windows Arena 及自定义任务上评测 agent可导出轨迹训练Pythonuvcb run dataset ...命令Lume在 Apple Silicon 上用 Apple Virtualization.Framework 创建管理 macOS/Linux VM近原生性能Swift / 脚本lume create/lume run一句话区分Drivers 解决驱动真实桌面SandboxAgent 解决在隔离环境里跑 AI 操作Cua-Bench 解决怎么客观评测Lume 解决在 Mac 上批量起 VM。下文逐一展开最重的第三节给到可直接复制的 Python 代码。三、核心上手Sandbox ComputerAgent10 行代码跑通第一个 Agent这一节兑现标题里的Python 沙箱与 Agent 上手代码。你只需要一条pip install加十几行异步 Python就能让一个 LLM 驱动的 agent 在沙箱里打开浏览器。3.1 安装与 Python 版本pipinstallcuaPython 版本务必精确来源libs/python/cua/pyproject.toml:27-28、libs/python/cua/README.md:46cua元包要求 Python 3.12 或 3.13requires-python 3.12,3.14因为cua-cli要求 3.12元包取子包约束的交集。Python 3.11 可直接安装cua-sandboxcua-agent本身也支持 3.11可单独安装但cua元包与cua-cli要求 3.12所以 3.11 下装不了cua元包。可选 extras来源libs/python/cua/README.md:37-42cua[omni]SOM 视觉定位、cua[uitars-mlx]Apple Silicon 上 UiTars、cua[uitars-hf]HuggingFace UiTars、cua[all]全部。3.2 Sandbox 上手一套 API 通吃四大平台Sandbox 是 cua 的核心抽象。下面这段代码逐字引用自根README.md:96-107展示了沙箱能做的所有基础操作# Requires Python 3.11 or laterfromcuaimportSandbox,Image# Same API regardless of OS or runtimeasyncwithSandbox.ephemeral(Image.linux())assb:# or .macos() .windows() .android()resultawaitsb.shell.run(echo hello)screenshotawaitsb.screenshot()awaitsb.mouse.click(100,200)awaitsb.keyboard.type(Hello from Cua!)awaitsb.mobile.gesture((100,500),(100,200))# multi-touch gestures⚠️ 版本提示源码注释里的 “Requires Python 3.11 or later” 指的是cua-sandbox的最低门槛若你通过pip install cua安装元包实际要求 Python 3.12/3.13。两者并不矛盾但容易混淆–以 3.1 节为准。注意Image.linux()可以换成.macos()/.windows()/.android()API 形态完全一致。这是 cua 的核心卖点“Same API regardless of OS or runtime”–同一套shell.run/screenshot/mouse.click/keyboard.type/mobile.gesture在 Linux 容器、Linux VM、macOS、Windows、Android 上都能跑。平台支持矩阵来源README.md:109-112运行方式Linux 容器Linux VMmacOSWindowsAndroidBYOI(.qcow2/.iso)云cua.ai支持支持支持支持支持即将支持本地QEMU支持支持支持支持支持支持3.3 ComputerAgent 上手让 LLM 接管沙箱有了沙箱下一步是把 LLM 接上去。下面这段代码逐字引用自libs/python/cua/README.md:13-23是官方推荐的 Agent 最小可运行示例fromcuaimportSandbox,Image,ComputerAgent# Ephemeral local sandbox with an agentasyncwithSandbox.ephemeral(Image.linux(),localTrue)assb:awaitsb.shell.run(uname -a)agentComputerAgent(modelanthropic/claude-sonnet-4-5,tools[sb])asyncforresponseinagent.run(Open the browser and go to example.com):print(response)关键在ComputerAgent(model..., tools[sb])把沙箱作为工具交给 agentagent 就能看屏幕、点鼠标、敲键盘去完成任务。agent.run(...)返回一个异步迭代器逐条吐出 agent 的中间动作与响应。模型后端由cua-agent通过litellm集成支持面较广来源libs/python/agent/pyproject.toml:29-101API 类openai、anthropic、gemini、qwen、uitarsAPI 模式本地/HF 类uitars-mlxApple Silicon、uitars-hf、glm45v-hf、opencua-hf、internvl-hf、moondream3视觉定位omni基于微软 OmniParser 的 SOMcua-agent[cloud]默认随cua元包安装只含 API 类后端不含 torch/transformers适合容器/云部署要本地模型就装对应 extras 或cua[all]。3.4 沙箱生命周期与本地模式Sandbox 有四种生命周期形态来源libs/python/cua-sandbox/README.mdephemeral进入async with即建、退出即毁适合一次性任务。persistent用Sandbox.create创建脚本退出后仍存活保存sb.name后可用Sandbox.connect(name)重连。销毁sb.destroy()显式回收。本地 VMSandbox.ephemeral(Image.linux(), localTrue, runtimeQEMURuntime())用本地 QEMU 或 Lume 跑不走云。⚠️Localhost.connect()是直接控制宿主机不是沙箱。它能驱动你当前这台机器没有隔离谨慎使用仅在你明确需要驱动本机时再用。四、Cua Drivers让 Claude Code/Cursor 后台操控你的桌面Cua Drivers 解决的是另一类问题不进沙箱直接驱动你真实桌面上的原生应用而且在后台执行–不抢占你的光标和焦点来源README.md:62-64。它用 Rust 写成macOS/Windows/Linux 三端共用一套 CLI 和 MCP server可接入 Claude Code、Cursor、Codex、OpenClaw 及自定义客户端。Linux 端有显式边界支持 X11 与特定 Wayland 合成器路由raw background input原始后台输入存在限制Wayland 体验取决于合成器建议参考官方文档确认你的桌面环境。安装逐字引用来源README.md:66-76macOS / Linux/bin/bash-c$(curl-fsSLhttps://cua.ai/driver/install.sh)WindowsPowerShellirmhttps://cua.ai/driver/install.ps1|iex接入 Claude Code逐字引用来源README.md:80-82、libs/cua-driver/README.md:33-41标准 MCP 接入claude mcpadd--transportstdio cua-driver -- cua-driver mcp兼容模式让 Claude Code 的视觉/computer-use 流程基于 CuaDriver 的窗口截图来定位claude mcpadd--transportstdio cua-computer-use -- cua-driver mcp --claude-code-computer-use-compatmacOS 权限模型值得单独说明来源libs/cua-driver/README.md:47-54Accessibility 与 Screen Recording 权限要授予给 responsible app identity而不是裸的可执行路径启动分 StandaloneCuaDriver.app与 Embedded设CUA_DRIVER_EMBEDDED1两种模式。易混淆点cua-driver面向本地后台驱动驱动你本机真实桌面cua-cli面向cua.ai 云服务管理管云上的沙箱和镜像需 API Key 认证。两者名字相近、定位完全不同下文第六节讲cua-cli时再展开。五、Cua-Bench 与 Lume评测环境与 macOS 虚拟化这两个组件各走定位 上手命令的小循环按需选用。5.1 Cua-Bench基准测试与 RL 环境定位在 OSWorld、ScreenSpot、Windows Arena 及自定义任务上评测 computer-use agent并可导出轨迹用于训练来源README.md:118-120。Registry 与合作入口在 cuabench.ai。上手逐字引用来源README.md:122-129# Clone, install, and create base imagegitclone https://github.com/trycua/cuacdcua/cua-bench uv toolinstall-e.cb image create linux-docker# Run benchmark with agentcb run dataset datasets/cua-bench-basic--agentcua-agent --max-parallel4--max-parallel 4控制并发--agent cua-agent指定用前文的 ComputerAgent 作为被测对象。跑完可以导出轨迹用于训练RL 等场景。5.2 LumeApple Silicon 上的 macOS 虚拟化定位在 Apple Silicon 上用 Apple Virtualization.Framework 创建管理 macOS/Linux VM近原生性能来源README.md:135-137。它是 cua 本地沙箱在 Mac 上的底层运行时之一。上手逐字引用来源README.md:139-147# Install Lume/bin/bash-c$(curl-fsSLhttps://cua.ai/lume/install.sh)# Create and start a vanilla macOS VM from an Apple restore imagecurl-L$(lume ipsw|tail-n1)-o~/Downloads/macos-tahoe.ipsw lume create macos-tahoe--ipsw~/Downloads/macos-tahoe.ipsw--unattendedtahoe lume run macos-tahoe--unattended会离线准备已安装的 guest内置sequoia/tahoe预设会创建lume用户、启用 SSH、配置自动登录、禁用睡眠与锁屏默认凭据是lume/lume来源README.md:149-152。⚠️ 已知限制Tahoe 流程已 E2E 验证Sequoia 首次显示启动时可能仍会打开 Setup Assistant 的 Accessibility 步骤详见 issue #2155来源README.md:154-155。用 Sequoia 预设时做好手动兜底的准备。六、CLI 与 MCP 集成命令行管理沙箱与权限粒度cua-cli命令名就是cua是 cua.ai 云服务的管理入口MCP 则是把沙箱能力接入 AI 客户端的桥梁。安装来源libs/python/cua-cli/README.md:7-9,59-73pipinstallcua-cli# 基础安装pipinstallcua-cli[mcp]# 带 MCP serverpipinstallcua-cli[skills]# 带技能录制VLM captioningpipinstallcua-cli[all]# 全部主要命令组来源libs/python/cua-cli/README.md:13-57命令组作用代表子命令cua auth认证login/login --api-key/status/logout/envcua ws工作区set slugcua sb沙箱管理list/create/start/stop/restart/suspend/delete/vnccua image镜像管理list [--local]/push/pull/deletecua skills技能管理list/read/record/replay/delete/cleancua serve-mcp启动 MCP server--permissions ...创建一个云沙箱的示例cua sb create--oslinux--sizemedium--regionnorth-americaMCP 接入 Claude Code逐字引用来源libs/python/cua-cli/README.md:79-88# 把 CUA 作为 MCP server 加进 Claude Codeclaude mcpaddcua -- cua serve-mcp# 指定权限范围claude mcpaddcua -- cua serve-mcp--permissionssandbox:all,computer:readonly# 绑定默认沙箱claude mcpaddcua -- cua serve-mcp--sandboxmy-sandbox权限粒度是 cua-cli 的亮点来源libs/python/cua-cli/README.md:90-100从粗到细all/sandbox:all|readonly/computer:all|readonly/skills:all|readonly再往下还有细粒度computer:click|type|key|scroll|drag|hotkey|clipboard|file|shell|window等。这意味着你可以让 AI 只能截图和点击、不能开 shell做到最小授权。常用环境变量来源libs/python/cua-cli/README.md:102-109、libs/python/cua/README.md:48-63CUA_API_KEY认证 API keyCUA_API_BASEAPI 地址默认https://api.cua.aiCUA_TELEMETRY_ENABLEDfalse关闭匿名遥测也可在实例级传telemetry_enabledFalse七、注意事项与适用场景客观说清边界已知限制Python 版本cua元包仅支持 3.12/3.13Python 3.11 可装cua-sandbox和cua-agent但装不了cua元包与cua-cli要求 3.12。Linux 桌面cua-driver 的 raw background input 有显式限制Wayland 仅特定合成器支持X11 体验较佳。Lume SequoiaSequoia 预设首次启动可能残留 Setup Assistant 的 Accessibility 步骤issue #2155Tahoe 已 E2E 验证。Localhost 非沙箱Localhost.connect()直接控制宿主机无隔离谨慎使用。文档域名https://cua.ai/docs官网主域与https://docs.trycua.com部分子包 pyproject 仍在用并存以cua.ai/docs为准。云服务定价cua.ai 云服务的具体定价与额度未核实建议参考官方文档。适用场景需要在隔离沙箱里跑 AI Agent 做自动化测试、评测、训练数据生成。想在 Claude Code / Cursor 里后台操控真实桌面应用不抢占当前焦点。在 Apple Silicon 上批量起 macOS VM 跑自动化。做 computer-use 研究需要 OSWorld/ScreenSpot 等公开基准的可复现评测环境。不适用场景只想用纯 API 调 LLM–直接用 litellm 即可不必上 cua。生产环境高并发、对云成本敏感–云服务定价未核实建议先查 cua.ai 官网评估。Wayland 桌面且有强后台输入需求–当前限制较多建议先在 X11 验证。八、总结开源基础设施让 AI 操作电脑从演示走向可复现工程cua 把AI 操作电脑从闭源演示变成了可复现的开源工程四大组件覆盖了驱动真实桌面Cua Drivers、隔离沙箱与 AgentCua、基准评测Cua-Bench、macOS 虚拟化Lume的全链路且沙箱 API 在四大平台上一致云与本地双轨。它适合做 computer-use 研究与自动化的工程师、想在 AI 编程客户端里后台操控桌面的开发者、以及在 Apple Silicon 上批量跑 macOS VM 的团队。如果你属于上述任何一类现在就动手pipinstallcua然后回到本文第三节复制那十几行代码10 分钟内你就能看到第一个 Computer-Use Agent 在沙箱里替你打开浏览器。从能跑的代码开始是理解一个基础设施项目更高效的方式。 博客主页https://xiaoy.blog.csdn.net 本文由呆呆敲代码的小Y原创 学习专栏推荐Unity系统学习专栏 游戏制作专栏推荐游戏制作Unity实战100例专栏推荐Unity 实战100例 教程 欢迎点赞 收藏 ⭐留言 如有错误敬请指正 未来很长值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------资料白嫖技术互助学习路线指引点击解锁知识定位人群定位 Unity系统学习专栏入门级本专栏从Unity入门开始学习快速达到Unity的入门水平 Unity实战类项目进阶级计划制作Unity的 100个实战案例助你进入Unity世界争取做最全的Unity原创博客大全。❤️ 游戏制作专栏难度偏高分享学习一些Unity成品的游戏Demo和其他语言的小游戏 游戏爱好者万人社区互助/吹水数万人游戏爱好者社区聊天互助白嫖奖品 Unity100个实用技能Unity查漏补缺针对一些Unity中经常用到的一些小知识和技能进行学习介绍核心目的就是让我们能够快速学习Unity的知识以达到查漏补缺
返回列表