Opencu

io.github.Daily-AC由 GitHub 账号 Daily-AC 发布v0.9.1更新于 Nov 6, 2026

Independent local computer-use engine and MCP server for macOS, Windows, Linux and Android

已验证STDIO仅桌面浏览器自动化开发者工具

概览

AI 生成的概览

本地计算机操作类 MCP 服务器,让 AI 助手读取并操作 macOS、Windows、Linux 和 Android 上的桌面应用。

可以做什么
  • 列出正在运行和可启动的应用,读取窗口的无障碍树,并可按需附带截图。
  • 点击、拖拽、滚动,输入文本、粘贴、发送按键与快捷键,修改数值并触发元素自带的操作。
  • 将应用切到前台,并在一次调用中批量执行最多 16 个操作,返回一个最终状态。
  • 启动、检查或停止代理桌面:macOS 和 Android 上是虚拟显示器,Windows 上是独立会话。
适用场景
适合需要助手完成只能在图形界面中进行的任务,例如填写表单、运行安装程序、使用“另存为”对话框或关闭弹窗,并且希望在本机而非托管服务上完成。
运行要求
以本地 stdio 进程运行,通过 npm 安装;macOS 需 Apple 芯片、macOS 14 及以上和 Node.js 22+,Windows 和 Linux 使用预编译 x64 版本(Linux 仅支持 X11),Android 需从电脑通过 adb 驱动。macOS 需授予辅助功能和屏幕录制权限。无需账号或模型密钥。
安装前请注意
它是人工急停开关而非沙箱:助手操作的应用共享你的账号和文件,任何能运行该命令的本地进程都会使用其权限。它会在你的应用中执行真实的点击、输入和数值修改,且在 Windows、Linux 和 Android 上,在你 10 秒无输入后会占用前台。Windows 版本未签名,macOS 包未公证。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Opencu,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

[OpenCU]

OpenCU

Computer use for any AI agent, on your own machine.

https://github.com/user-attachments/assets/5da04b21-47fe-44c4-9d3d-e2b3a2e9a9c6

Re-created in code from a real session.

OpenCU is an MCP server that lets Claude Code, Codex or any other MCP client read
and operate the apps on macOS, Windows, Linux and Android. It runs locally, needs no account
or model key, and the person at the keyboard can stop it at any time.

[Latest release] [macOS, Windows, Linux, Android] [MIT license]

Install · Connect · Measured · Limitations · 简体中文


Why OpenCU

It works beside you. On macOS, input goes to the target app's process and window. Your cursor stays where it is and the app in front keeps the keyboard.

It can have a screen of its own. Start the agent desktop and the agent works on a virtual display (macOS) or in a separate session (Windows), which you watch in an ordinary window.

You stay in charge. You can always stop it: the Stop button on macOS, a physical Escape on Windows and Linux, three presses of volume-down on Android. On Windows, Linux and Android it will not take the foreground within 10 seconds of your last input. A stopped connection never restarts on its own.

It is measured. On Windows tasks that can only be done through the UI, the same agent passed 7 of 8 trials with OpenCU and 2 of 8 with a shell and screenshots. Details below.

It is yours. MIT licensed, with no account, no proprietary runtime and nothing hosted. The agent you already use brings the model.

Install

Windows · PowerShell, as your normal user, no administrator rights

powershell
irm https://github.com/Daily-AC/opencu/releases/latest/download/install.ps1 | iex

Linux · x86_64 with glibc, X11 desktops

sh
curl -fsSL https://github.com/Daily-AC/opencu/releases/latest/download/install.sh | sh

macOS · Apple silicon, macOS 14 or later, Node.js 22+

sh
npm install -g @z10/opencuopencu setup    # grant Accessibility and Screen Recording

Android · preview, Android 14 or later, driven from a computer over adb (USB or wireless debugging)

sh
npm install -g @z10/opencu    # Apple silicon Macs, with adb; other computers build from source, see the Android guideopencu android doctor

To check an installation, run opencu doctor (on Windows and Linux, the command from the table below). Platform guides: macOS · Windows · Linux · Android. Connecting your own host to Android: Android integration.

Connect your agent

OpenCU is a stdio MCP server. The command to register is:

PlatformCommand
macOSopencu
Windows%LOCALAPPDATA%\OpenCU\bin\opencu.cmd
Linux~/.local/share/opencu/bin/opencu
Androidopencu android (one phone on adb, or set ANDROID_SERIAL)
sh
# Claude Codeclaude mcp add --scope user opencu -- opencu
# Codexcodex mcp add opencu -- opencu

On Windows, Linux and Android, use the command from the table instead of opencu.

Any other MCP client (on Android, add "args": ["android"]):

json
{  "mcpServers": {    "opencu": { "command": "opencu" }  }}

Then ask your agent to do something in an app. It starts by reading the app with get_app_state.

What the agent can do

ToolWhat it does
list_appsList running and launchable apps
get_app_stateRead a window's accessibility tree, with a screenshot on request; launches the app if needed
click · drag · scrollAct on an element by its index, or on screenshot coordinates
type_text · paste · press_keyType Unicode text, paste, send keys and shortcuts
set_value · select_text · perform_secondary_actionChange values and use an element's own actions
activate_appBring an app to the front when a step needs it
run_actionsRun up to 16 actions in one call and return one final state
agent_desktopStart, check or stop the agent desktop

select_text is macOS and Linux only. Linux has no agent_desktop.

Input requires a fresh observation of the same app, and every error starts with a stable code such as STOPPED_BY_PERSON. Details are in Tools and the engine contract.

Measured

With and without OpenCU. The same agent and model, with a shell and screenshots alone or with OpenCU added:

PlatformTasksShell and screenshotsWith OpenCU
Windows 11 VM4 tasks that need the UI: a form, an installer, Save As, an interrupting popup2/87/8
Windows 11 VM3 Office and OBS tasks that can be scripted around6/63/6
Linux XFCE container5 desktop tasks10/1010/10, 40–65% faster inside app windows

On the scriptable tasks the shell-only agent wrote LibreOffice and OBS scripts instead of using the UI; two of OpenCU's three failures there were a modal-dialog defect fixed in 0.3.2. Evidence: Windows, Linux.

Against open-computer-use. The same agents, models and tasks with OpenCU and with iFurySt/open-computer-use 1.1.2 at its default settings:

PlatformTasksOpenCUopen-computer-use
Linux5 desktop tasks, 2 trials each10/109/10
Windows 11 VM4 UI-only tasks, 2 trials each7/84/8
macOS VM (MacArena subset)10 tasks, 1 trial each4/104/10, the same tasks
  • Linux: the two Firefox tasks took OpenCU 244 and 96 seconds (median) and open-computer-use 872 and 552. open-computer-use did not list Firefox until the agent turned on the AT-SPI bus itself, and in one trial its set_value and type_text left the Firefox entries empty without an error.
  • Windows: in all eight open-computer-use trials the agent also wrote its own Win32 input code, and its four passes completed input that way. It wrote none with OpenCU. open-computer-use ran behind a bridge on the VM (1.5 to 7 seconds per call), so its Windows timings are not comparable.
  • macOS: both passed the same four tasks. On those, the agent took 544 seconds in total with OpenCU and 1,498 with open-computer-use; median click time was 292 ms against 2,029 ms. The OpenCU build in that VM was 0.2.0.

The samples are small and each platform used one model. We did not test open-computer-use's locked-screen mode, its background input on covered Chrome windows, or its global pointer setting (evidence).

Platforms

macOSWindowsLinuxAndroid
Installnpm, Apple siliconPrebuilt x64, unsignedPrebuilt x64npm on Apple silicon Macs, otherwise build from source; runs over adb
InputBackground, to the target app onlyForeground, after 10 s without your inputForeground, after 10 s without your inputForeground, after 10 s without your input
Agent desktopVirtual display with a watch-only previewSeparate session in a windowNot availableVirtual display; watch-only preview with the optional phone app
Screen lockedRefused; the agent desktop pausesRefused; the agent desktop keeps indexed clicks and valuesRefusedRefused

Stopping it

  • macOS: the V in the menu bar has Stop. In agent desktop mode, the preview's Stop button does the same.
  • Windows and Linux: a physical Escape stops input for the rest of the connection, and your own input during an action stops that action. The Windows agent desktop also has a Stop button.
  • Android: press volume-down three times within 1.5 seconds. While the agent works on its background screen, the optional phone app's status island also has Stop. Touching the main screen during an action there stops that action.
  • A person's stop is final for the connection. Agents must never reconnect around it.

OpenCU is a person-facing brake, not a sandbox: the agent's apps share your account and files, and any local process that can run opencu uses its permissions.

Limitations

  • macOS: Apple silicon only. The package is signed with OpenCU's own certificate and is not notarized, so install it with npm, not a browser download. macOS asks about once a month whether OpenCU may keep capturing the screen. It cannot operate a locked Mac.
  • Windows: the package is unsigned, so SmartScreen or Defender may warn. Outside the agent desktop, input uses the foreground.
  • Linux: X11 only; Wayland is refused. Input uses the foreground.
  • Android: a preview, tested on one phone (OPPO PGBM10, Android 14). It runs from a computer over adb; the npm package installs only on Apple silicon Macs, and other computers build from source. The phone app is optional and only shows status, a preview and Stop.
  • Custom-drawn apps such as Blender, and windows in the Stage Manager strip, need the foreground.

The full list, with measurements, is in Limitations.

Documentation

Development

sh
npm testpython3 scripts/test-native.pynode scripts/verify-gui.mjs

verify-gui.mjs builds two disposable AppKit fixtures, keeps one in the foreground and operates the other in the background through the MCP server. On Windows, node scripts/verify-gui-win.mjs uses disposable WinForms and Chrome fixtures and takes the foreground.

python3 scripts/package-opencu.py builds a self-contained archive with Node and the MCP dependencies for your own Macs, signed with your local identity, and python3 scripts/verify-release.py checks it offline.

License

Original OpenCU code is available under the MIT License. Bundled open source dependencies retain their own licenses. No license for proprietary third party software is included or implied.

来源:README.md,提交 eda54d0

工具

0
SourceWeft 曾在隔离沙箱中以无凭据方式启动该软件包一次,以列出其工具,但未能完成:软件包安装失败。

版本历史

2
  1. v0.9.1最新Nov 6, 2026
  2. v0.9.0Nov 5, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分