让AI智能体直接操作我们的电脑,目前常见的两种方法各有各的烦恼。
第一种,智能体直接接管你的鼠标和屏幕。听起来很酷,但实际体验很糟——AI正在帮你调试代码,你的鼠标指针却突然自己乱跑。更关键的是,将整个桌面暴露给AI存在不小的安全隐患。
第二种,为AI创建一个云端沙盒桌面。安全性提升了,但交互体验大打折扣,就像隔着一层毛玻璃指挥别人干活,监控状态、传输文件都变得非常麻烦。
所以,当前的困境在于:当你希望AI助手帮你测试或操作一个带图形界面的应用程序时,往往需要大费周章地搭建环境。
CuaBot的解法
CuaBot是开源项目Cua(Computer Use基础设施)的一部分,它就是为了解决上述痛点而设计的。它的核心理念是让用户和AI各自拥有独立的鼠标光标,在同一应用窗口内协同工作,既不争夺控制权,也无需截取整个桌面。
设想这样一个场景:你想和Claude一起玩一个它刚写好的游戏。
$ npx cuabot claude
> “编写一个双人井字游戏,然后我们来玩。我先开始”
接下来,Claude会在你的桌面上启动一个沙盒窗口并运行游戏。游戏开始后,你点击你的格子,AI点击它的格子,互不干扰。AI只能“看到”游戏窗口和你的操作,而无法触及你桌面的其他区域。这个窗口还支持H.265视频编码、音频以及剪贴板共享,交互体验接近原生应用。

更多用法
CuaBot支持同时运行多个AI智能体,让它们各司其职:
# 并行运行不同任务的智能体
$ npx cuabot -n research openclaw
$ npx cuabot -n coding codex
# 或者,直接通过CLI脚本精细控制GUI应用
$ npx cuabot chromium &
[PID: 12847]
$ npx cuabot --click 150 48
✓ Clicked 150, 48
$ npx cuabot --type “I ❤️ Cua!”
✓ Typed “I ❤️ Cua!”
$ npx cuabot --screenshot
技术实现
当你运行 cuabot [command] 时,它会启动后台服务 cuabotd。这个服务负责管理一个基于Ubuntu和Xpra的Docker容器、渲染多光标覆盖层、运行Xpra计算机使用的MCP服务器,以及启动Xpra无缝客户端。
所有的AI智能体都通过MCP(Model Context Protocol)连接,终端I/O通过WebSocket传输。这种设计确保了智能体只能“看到”它所需的任务窗口,避免了无关的桌面信息干扰其判断。同时,所有操作都被严格限制在沙盒环境中,保证了主系统的安全隔离。
项目资源:
如果你对这类让AI智能体与真实世界交互的开源项目感兴趣,欢迎来云栈社区的开发者板块交流讨论。
|