openClaw 不会和你抢电脑了! ClawCon:全球首个“多玩家”电脑操作技术正式发布
作者:Francesco Bonacci 和 Dillon DuPont
openClaw 是独占资源的, 所以如果你把它部署在你的笔记本中, 它操作浏览器时, 你只能看着, 否则会打起来.
而现在, 这个问题将被打破, 你甚至可以在一台电脑中养多个 openClaw, 而且他们即使同时操作浏览器, 也互不干扰, 当然也不会干扰你.
🎉 现场盛况:ClawCon上的重磅发布
ClawCon大会在旧金山的 Frontier Tower 举行,现场吸引了超过700名参与者,排队等候的人群甚至沿着市场街排起了长龙,同时还有2万名观众在线观看直播。这是 OpenClaw 社区的首次大型聚会,我们在会上进行了第二个演示环节。
我们(指作者)是 OpenClaw 的早期贡献者和赞助商(我们曾分享过如何使用 Lume 工具将 OpenClaw 部署到 macOS 的沙箱环境中)。我们一直坚信, “电脑操作”能力(Computer-Use)最好作为 OpenClaw 这类更通用的智能体系统中的一项工具,而不是作为一个独立运行的、会完全接管你屏幕的“屏幕霸主”型智能体。
因此,我们推迟了在 Hacker News 上的产品发布,只为在 ClawCon 的舞台上,现场带来一个重磅产品。
🛠️ 主角登场:CuaBot 是什么?
CuaBot 是一个命令行工具,它的核心作用是:为任何能写代码的智能体(比如 Claude Code、Gemini CLI、Codex、OpenClaw、Aider 等)提供一个拥有完整电脑操作能力的“沙箱版 Linux 桌面”。
它的工作方式很巧妙:智能体在沙箱里运行的应用程序窗口,会通过一种叫 Xpra 的技术,像直播一样,一个个独立地“流”到你的本地电脑桌面上。这样,智能体在后台埋头苦干的同时,你依然可以完全正常地使用自己的电脑,两者互不干扰。
💡 核心理念:这才是真正的“多玩家”模式
我们想实现的是 “多玩家电脑操作” :智能体和人类,各自拥有独立的鼠标光标、独立的键盘焦点、独立的窗口管理。大家在同一块屏幕上同时工作,和平共处。
为什么要费这么大劲做这个?
现在的所有电脑操作智能体,工作时都需要独占你的电脑桌面。这背后的逻辑是,操作系统从诞生之初就假设只有一个人、一个光标、一个键盘焦点在操作。一旦智能体开始工作,你的操作就会和它的操作打架。你只能干等着,直到它干完活把控制权还给你。
我们在 Cua 公司就是专门为这类电脑操作智能体构建底层基础设施的。用户最常问我们的一个问题是:“能不能让我本地的智能体直接操作我的真实电脑桌面?” 问题在于,一旦你这么做了,屏幕就被智能体接管了,你的电脑在它工作期间就“不属于”你了。
这个想法的部分灵感,来源于 @steipete 开发的 Peekaboo 工具。它能让智能体在 macOS 上获取屏幕截图和无障碍能力,但又不会完全霸占屏幕。我们想更进一步: 不仅要让智能体能“看”到屏幕,还要给它一个完整的、可以交互的桌面,并且让它有自己的光标和窗口。
⚙️ 技术原理:神奇的“发夹回环”
CuaBot 的神奇之处,在于它如何巧妙地绕过“独占”的限制。它的工作原理是这样的:
沙箱环境:CuaBot 首先在后台启动一个 Docker 容器,这个容器里运行着一个完整的、带图形界面的 Linux 桌面系统(使用 X11 显示服务器)。 智能体入驻:你选择的智能体(比如 OpenClaw)和一套提供电脑操作能力的 MCP 服务器,都会在这个容器里运行。MCP 服务器就是智能体的“手和眼”,负责截图、点击、打字、滚动等操作。 窗口“直播” :容器里的 Xpra 扮演了“直播推流”的角色。它把智能体操作的应用程序窗口,通过 WebSocket 协议,一个个地“投射”到你宿主机(你的电脑)的桌面上。这些窗口会有彩色的边框,看起来就像你电脑上的原生窗口一样,你可以随意拖动、缩放。剪贴板和音频也会自动同步。 关键的“发夹回环”(Hairpin) :当智能体想要执行操作(比如截图、点击坐标)时,MCP 服务器会向宿主机上的一个叫 cuabotd的守护进程发送 HTTP 请求。cuabotd会驱动一个由 Playwright 控制的无头浏览器,这个浏览器已经连接到了 Xpra 的 HTML5 客户端。Playwright 通过这个浏览器执行操作,操作指令再通过 WebSocket 传回容器内的 X11 服务器,最终完成点击。
整个流程是 容器 → 宿主机 → 容器。我们把它叫做“发夹回环”。虽然路径有点绕,但它巧妙地将智能体的显示服务器和你的宿主操作系统完全隔离开,这正是实现“多玩家”模式的关键。
🎮 真正的“多玩家”体验
因为每个智能体都运行在自己独立的容器和 Xpra 实例中,你可以像这样同时启动多个智能体:
cuabot claude # 启动一个Claude智能体
cuabot gemini -n second # 再启动一个Gemini智能体,并命名为second
每个智能体都会获得自己的桌面、自己颜色不同的鼠标光标,以及自己的一组独立窗口,并排显示在你的电脑桌面上。你可以直接和任何一个智能体的窗口互动——点进它的窗口打字,然后切回自己的工作——整个过程完全不会打扰到智能体的后台运行。
🤝 ClawCon 现场演示:OpenClaw + CuaBot
我们在 ClawCon 上特意演示了 OpenClaw 与 CuaBot 的结合,因为 CuaBot 从设计之初就和 OpenClaw 无缝集成。
只需要一条命令:
cuabot openclaw
这条命令会在 CuaBot 的沙箱里启动 OpenClaw,并且所有电脑操作所需的 MCP 工具都已预先配置好。OpenClaw 获得了一个完整的桌面环境来工作,它的窗口会实时投射到你的电脑上,而你则完全保有电脑的使用权。整个过程除了这条命令,不需要任何额外设置。
对于想在自己现有环境里运行 OpenClaw、又想赋予它电脑操作能力的用户,也可以使用:
cuabot --add-mcp openclaw
这条命令会将 CuaBot 的 MCP 服务器注入到你现有的 OpenClaw 安装中。
这还意味着,你可以让 OpenClaw 和其他智能体并肩工作——OpenClaw 处理一个任务,Claude Code 处理另一个任务。每个都在自己的沙箱里,每个都有自己的光标,同时出现在你的桌面上,就像一支团队在为你工作。
🚀 如何开始使用
非常简单,只需在终端运行:
npx cuabot
首次启动的引导程序会自动帮你处理 Docker、Xpra、Playwright 的安装和配置,并拉取所需的容器镜像(大约 2GB)。你只需选择默认的智能体,就可以开始体验了。
系统要求:Node.js 18 或更高版本、Docker Desktop、以及 Xpra 客户端。
🔮 未来展望
macOS 虚拟机支持:通过 Lume 技术,支持需要运行 macOS 原生应用的智能体。 跨沙箱的多智能体编排:让多个智能体在各自的沙箱里协同工作。 强化学习训练环境:基于沙箱构建类似游戏模拟器的训练环境,用于训练智能体。
CuaBot 现已开源,是 Cua 平台的一部分。如果你也在研究电脑操作智能体,并想探讨“多玩家”模式的用户体验,欢迎联系我们。
Francesco Bonacci — CEO @ Cua
Dillon DuPont — CTO @ Cua
夜雨聆风