字节笔记本
2026年9月6日
open-computer-use:Codex Computer Use 的开源替代方案
OpenAI 的 Codex Computer Use 演示了一条不太一样的屏幕操作路线:不靠截图和坐标猜测,而是站在操作系统辅助功能(Accessibility)之上,直接读取界面元素树来点击和输入,对正在用电脑的人来说是非侵入式的。开发者 iFurySt 把这条路线做成了开源项目 open-computer-use:一个封装成 MCP 的 Computer Use 服务,任何 AI agent 或 MCP 客户端都能接入,一套代码覆盖 macOS、Linux、Windows。项目目前 1900+ stars,MIT 协议。
项目简介
open-computer-use 的定位很直接:把 Computer Use 做成本地服务,同时提供两种形态。一个是 stdio MCP server,给支持 MCP 的客户端用;另一个是 ocu 命令行,人和脚本可以直接调用同一个工具集。作者在 README 里写明了来由:Codex Computer Use 证明了基于 Accessibility 的非侵入式 CUA 可行,于是决定做个开源版本。
项目用作者自己的 harness-template 模板搭建,接近 100% AI 生成,作者还专门写了一篇博客讲这套 AI 优先的开发方法。macOS 运行时用 Swift 编写,要求 macOS 14.0 以上;Windows 和 Linux 各自使用平台自己的运行时。
核心特性
一套工具面,三个平台通用。 九个核心工具在 macOS、Linux、Windows 上行为一致:list_apps、get_app_state、click、perform_secondary_action、scroll、drag、type_text、press_key、set_value。agent 换平台不用换操作方式。
基于元素树而非视觉模型。 get_app_state 返回带 element_index 的界面状态,后续动作直接引用元素索引,不用截图猜坐标。长文本、长列表有 text_limit 和 max_tree_nodes 参数兜底。
多客户端一条命令接入。 Codex(CLI 与 App)、Claude Code、Gemini CLI、OpenCode 都有现成安装命令,也支持手动写 MCP JSON 配置。
doctor 自检。 权限缺失时才打开引导界面,平时不打扰。
序列执行复用状态。 --calls 把多个工具调用放进同一个进程,元素索引映射在操作间复用,成功操作之间默认歇 1 秒,避免手速过快点空。
技术栈
- macOS 运行时:Swift,基于系统辅助功能 API
- 分发:npm 全局安装,
open-computer-use与ocu两个入口 - 协议:stdio MCP(Model Context Protocol)
- 测试:
make smoke、make stress(支持压测循环数)、make agent-smoke用真实 agent(claude、codex、hermes)跑端到端冒烟 - 许可:MIT,第三方署名见 THIRD_PARTY_NOTICES.md
安装指南
npm i -g open-computer-usemacOS 需要 14.0 或更高版本。首次运行时系统会要求授权辅助功能(Accessibility)和屏幕录制(Screen Recording),授权一次即可;Windows 和 Linux 不需要这一步。
然后把它装进你的 agent:
# Codex:写入 ~/.codex/config.toml
open-computer-use install-codex-mcp
# Codex App 插件
open-computer-use install-codex-plugin
# Claude Code:写入 ~/.claude.json
open-computer-use install-claude-mcp
# Gemini CLI:当前项目
open-computer-use install-gemini-mcp
# 或写入用户级配置
open-computer-use install-gemini-mcp --scope user
# OpenCode
open-computer-use install-opencode-mcp任何 MCP 客户端也可以手动配置:
{
"mcpServers": {
"open-computer-use": {
"command": "open-computer-use",
"args": ["mcp"]
}
}
}如果你习惯用 Skill 的方式,也可以不装 MCP,直接装成 agent 技能:
# Codex
npx skills add iFurySt/open-codex-computer-use -g -a codex --skill open-computer-use -y
# Claude Code
npx skills add iFurySt/open-codex-computer-use -g -a claude-code --skill open-computer-use -y快速开始
先跑一次自检:
open-computer-use doctor然后看看桌面上有哪些应用:
open-computer-use call list_apps使用示例
典型的操作流程是先读状态,再用元素索引行动:
# 读取 TextEdit 的界面状态
open-computer-use call get_app_state --args '{"app":"TextEdit"}'
# 点击刚才返回的元素索引 0
open-computer-use call click --args '{"app":"TextEdit","element_index":"0"}'
# 输入文本
open-computer-use call type_text --args '{"app":"TextEdit","text":"Hello from Open Computer Use"}'多步操作建议放进一个进程,元素索引状态可以复用:
open-computer-use call --calls '[{"tool":"get_app_state","args":{"app":"TextEdit"}},{"tool":"press_key","args":{"app":"TextEdit","key":"Return"}}]'也可以把序列写成 JSON 文件:
open-computer-use call --calls-file examples/textedit-overlay-seq.json --sleep 0.5API 参考
MCP 工具共九个:
| 工具 | 用途 |
|---|---|
list_apps | 列出可操作的应用 |
get_app_state | 读取界面状态,返回带 element_index 的元素树 |
click | 点击元素或坐标 |
perform_secondary_action | 右键等次要动作 |
scroll | 滚动 |
drag | 拖拽 |
type_text | 输入文本 |
press_key | 按键 |
set_value | 直接设置可编辑控件的值 |
CLI 常用命令:call(单工具调用)、call --calls / --calls-file(序列执行)、doctor(权限自检)、mcp(启动 MCP server)、-h(帮助)。
项目链接
- GitHub 仓库:https://github.com/iFurySt/open-codex-computer-use
- 姊妹项目 open-browser-use,把同样的思路用在了浏览器上:https://github.com/iFurySt/open-codex-browser-use
- 配套的 Cursor Motion(开源光标运动系统,macOS)可在 Releases 页下载
- 作者关于 harness-template 开发方法的文章:https://www.ifuryst.com/blog/2026/speedrunning-the-ai-era/