open-computer-use

6个月前发布 501 00

open-computer-use 是一个开源的 Computer Use 服务,已经包装成 MCP 协议,支持所有的 AI Agent 或 MCP Client 快速调用,实现 macOS、Linux 和 Windows 上的 Computer Use 能力。

所在地:
中国
收录时间:
2026-04-26
open-computer-useopen-computer-use

open-computer-use 是一个开源的 Computer Use (CUA) 服务,基于模型上下文协议 (MCP) 封装。它允许任何支持 MCP 的 AI Agent(如 Claude Code, Codex, Gemini CLI, OpenCode 等)直接调用计算机操作能力,实现对 macOS、Linux 和 Windows 系统的非侵入式控制。

该项目的灵感来源于 OpenAI 发布的 Codex Computer Use,利用操作系统原生的 Accessibility API(辅助功能接口)实现屏幕读取、元素定位及交互,无需劫持输入设备或进行复杂的图像识别,从而提供了一种轻量、高效且安全的自动化方案。

核心亮点

1. 原生 MCP 支持

  • 即插即用:完美适配 MCP 标准,可作为独立服务器被任何 MCP Client 发现并调用。
  • 广泛兼容:一键安装脚本支持主流 AI 编程助手,包括 Claude Code, Codex, Gemini CLI, OpenCode 等。

2. 跨平台与非侵入式控制

  • 多系统支持:覆盖 macOS, Linux, Windows。
  • 基于 Accessibility:利用系统底层的辅助功能接口获取 UI 树结构、文本内容及控件状态,而非依赖昂贵的视觉模型截图分析。这意味着更低延迟、更高精度和更少的资源占用。
  • 非抢占式:不会接管鼠标键盘底层驱动,允许用户与 AI 并行操作,安全性更高。

3. 丰富的原子化操作

提供了一系列细粒度的工具函数,支持 Agent 编排复杂工作流:

  • list_apps: 列出当前运行的应用程序。
  • get_app_state: 获取指定应用的 UI 结构、焦点元素及文本内容。
  • press_key: 模拟按键输入。
  • click_element: 点击指定 UI 元素。
  • type_text: 在焦点位置输入文本。

4. AI 驱动的快速开发

项目基于作者自研的 harness 模版 构建,这是一个专为 “100% AI-Generated” 项目设计的快速启动框架。通过这套方法论,开发者可以极快地从概念落地到可用的 MVP 产品。

快速开始

1. 安装

使用 npm 全局安装:

npm i -g open-computer-use

2. 权限配置 (macOS 专属)

首次使用前,macOS 用户需授予终端或 Node.js 进程以下权限:

  • 辅助功能 (Accessibility):用于读取 UI 结构和模拟交互。
  • 屏幕录制 (Screen Recording):部分高级视觉功能可能需要(视具体实现而定,基础 CUA 通常仅需辅助功能)。

Windows 和 Linux 用户通常无需额外配置权限。

3. 一键集成到 AI Agent

安装到 Codex

open-computer-use install-codex-mcp
# 这将自动写入 ~/.codex/config.toml

安装到 Claude Code

open-computer-use install-claude-mcp
# 这将自动写入 ~/.claude.json

安装到 Gemini CLI

# 当前项目级
open-computer-use install-gemini-mcp
# 用户全局级
open-computer-use install-gemini-mcp --scope user

安装到 OpenCode

open-computer-use install-opencode-mcp

4. 手动配置 MCP Server

如果你使用其他 MCP Client,可以在配置文件中添加:

{
  "mcpServers": {
    "open-computer-use": {
      "command": "open-computer-use",
      "args": ["mcp"]
    }
  }
}

高级用法

直接调用工具 (CLI 模式)

你可以直接在终端测试工具功能,输出为标准 JSON:

# 列出所有应用
open-computer-use call list_apps

# 获取 TextEdit 的状态
open-computer-use call get_app_state --args '{"app":"TextEdit"}'

编排连续动作

支持在一次调用中执行多个步骤,自动处理上下文(如复用 element_index):

# 连续动作:获取状态 -> 按下回车键
open-computer-use call --calls '[
  {"tool":"get_app_state","args":{"app":"TextEdit"}},
  {"tool":"press_key","args":{"app":"TextEdit","key":"Return"}}
]'

# 从文件加载动作序列
open-computer-use call --calls-file examples/textedit-overlay-seq.json --sleep 0.5

健康检查

检查权限是否齐全,若缺失则引导用户开启:

open-computer-use doctor

项目结构与方法论

该项目是 harness 模版 实践的成果。Harness 是一套旨在加速 AI 原生应用开发的框架,强调:

  1. 标准化接口:快速暴露功能为 MCP 或 API。
  2. AI 友好型代码结构:便于 LLM 理解和生成后续代码。
  3. 极简部署:通过 npm 全局包简化分发。

相关导航