OpenCU:让 AI agent 在后台操作你电脑上的应用
经项目作者授权代发,文中的「我」是作者 e0_7。数字来自仓库 README 的 Measured 一节和 evidence 目录。
Claude Code 和 Codex 写代码已经很顺手了,可很多事的最后一步只能在图形界面里做:点完一个安装程序,在另存为对话框里选目录,做一份 Keynote。让 agent 截图、猜坐标、点鼠标,慢,容易点错,还得把鼠标和键盘交给它,人只能在旁边等。
OpenCU 是我为这件事写的开源 MCP 服务器。任何支持 MCP 的 agent 接上它,就能读取并操作 macOS、Windows、Linux 上的应用,安卓手机上也能用(预览版)。
它怎么读界面
OpenCU 通过系统的无障碍接口读窗口:Mac 上是 Accessibility,Windows 上是 UI Automation,Linux 上是 AT-SPI2。窗口里的按钮、输入框、菜单被读成一份带编号的列表,agent 说「点 12 号」「在 7 号里输入」就行。控件树读不到的地方,比如自绘的画布,再用截图和坐标。
它不抢你的电脑
在 Mac 上,输入只发给目标应用的进程和窗口。agent 在后台的 Keynote 里排版,我在前台的编辑器里照常打字,光标不会被拽走。想让它有一块自己的屏幕,就开 agent 桌面:一块虚拟显示器,我在一个只能看、不能点的窗口里看它干活。
Windows 和 Linux 上输入要用前台,所以 OpenCU 等人 10 秒没碰键盘鼠标才切过去。人一动,这次操作就停。
安卓上引擎经 adb 以 shell 身份运行,可以开一块后台虚拟屏,主屏继续给人用。可选的配套 App 在屏幕顶部显示状态,也能看后台画面。
最近很火的 agent-desktop 覆盖的平台和命令更多。OpenCU 的差别在两点:Mac 上按坐标点击也走后台(它要加 --headed),坐在电脑前的人能叫停,停了就一直停着。
人说了算
Mac 菜单栏的 V 图标里有「停止」;Windows 和 Linux 上按一下实体 Esc;安卓上 1.5 秒内连按三次音量减。人停下之后,这个连接就一直停着,agent 拿到 STOPPED_BY_PERSON,规则要求它不准自己重连。
它是给坐在电脑前的人的刹车,不是沙箱:agent 打开的应用用的还是你的账号和文件。
实测
同一个 agent、同一个模型,只给命令行加截图,和再加上 OpenCU 比:
- Windows 上 4 个只能走界面的任务(填表、安装程序、另存为、弹窗打断),各跑两次,加 OpenCU 通过 7/8,不加通过 2/8。
- Linux 上 5 个桌面任务两边都是 10/10,在应用窗口里的操作快 40% 到 65%。
和 open-computer-use 1.1.2 在同样的任务上比:Linux 10/10 对 9/10,Windows 7/8 对 4/8,Mac 虚拟机 4/10 对 4/10;Mac 上两边都通过的 4 个任务,OpenCU 共用 544 秒,open-computer-use 用 1498 秒。样本都很小,证据文件在仓库的 evidence 目录里。
局限
Mac 只支持 Apple 芯片。安装包用 OpenCU 自己的证书签名,没有经过苹果公证,所以走 npm 安装,不提供浏览器下载。Windows 安装包没有签名,SmartScreen 可能会提示。Linux 只支持 X11。安卓是预览版,要 Android 14 以上,只在一部 OPPO 上测过;npm 包只支持 Apple 芯片的 Mac,用别的电脑连手机要从源码构建。Blender 这类自绘界面的应用,以及台前调度侧栏里的窗口,只能在前台操作。
安装
- Mac:
npm install -g @z10/opencu,再跑一次opencu setup授权辅助功能和录屏 - Windows:PowerShell 里
irm https://github.com/Daily-AC/opencu/releases/latest/download/install.ps1 | iex - Linux:
curl -fsSL https://github.com/Daily-AC/opencu/releases/latest/download/install.sh | sh - 安卓:手机开 USB 或无线调试,Mac 上装好后跑
opencu android doctor
装好后把 opencu 注册成 agent 的 MCP 服务器就能用。MIT 协议,不需要账号和模型密钥,模型用你的 agent 自己的。
仓库:https://github.com/Daily-AC/opencu
仓库首页有一段演示视频,是照着 10 月 15 日的一次真实使用用代码重画的:Claude Code 经 OpenCU 在后台的 Keynote 里做了五页幻灯片。片中时间压缩过,叫停那段取自验收测试。