Open Computer Use
iFurySt/open-codex-computer-use
Platform-neutral guidance for using Open Computer Use, the open-source Computer Use MCP server and CLI for macOS, Linux, and Windows.
Controls macOS native apps that have no API, taking window-level screenshots as reproducible evidence without stealing focus and probing whether an app can be automated.
SKILL.md written in Chinese; this summary is our English description.
$ npx skills add alchaincyf/huashu-mac-use --skill huashu-mac-use -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install alchaincyf/huashu-mac-use huashu-mac-use --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
Claude Code skills documentation · loads skills from .claude/skills/
Install the "huashu-mac-use" agent skill from https://github.com/alchaincyf/huashu-mac-use/tree/master into .claude/skills/huashu-mac-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huashu-mac-use", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alchaincyf/huashu-mac-use --skill huashu-mac-use -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install alchaincyf/huashu-mac-use huashu-mac-use --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "huashu-mac-use" agent skill from https://github.com/alchaincyf/huashu-mac-use/tree/master into .agents/skills/huashu-mac-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huashu-mac-use", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alchaincyf/huashu-mac-use --skill huashu-mac-use -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install alchaincyf/huashu-mac-use huashu-mac-use --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "huashu-mac-use" agent skill from https://github.com/alchaincyf/huashu-mac-use/tree/master into .cursor/skills/huashu-mac-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huashu-mac-use", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alchaincyf/huashu-mac-use --skill huashu-mac-use -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install alchaincyf/huashu-mac-use huashu-mac-use --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "huashu-mac-use" agent skill from https://github.com/alchaincyf/huashu-mac-use/tree/master into .gemini/skills/huashu-mac-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huashu-mac-use", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install alchaincyf/huashu-mac-use huashu-mac-useInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add alchaincyf/huashu-mac-use --skill huashu-mac-use -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "huashu-mac-use" agent skill from https://github.com/alchaincyf/huashu-mac-use/tree/master into .github/skills/huashu-mac-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huashu-mac-use", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add alchaincyf/huashu-mac-use --skill huashu-mac-use -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install alchaincyf/huashu-mac-use huashu-mac-use --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "huashu-mac-use" agent skill from https://github.com/alchaincyf/huashu-mac-use/tree/master into .opencode/skills/huashu-mac-use/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "huashu-mac-use", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
huashu-mac-useControls macOS native apps that have no API, taking window-level screenshots as reproducible evidence without stealing focus and probing whether an app can be automated.
The agent acts as a macOS automation engineer and evidence collector, driving GUI-only apps such as desktop AI clients while leaving a reproducible trail. A four-layer control model applies: reading stays fully in the background and writes default to zero focus, starting with structural interfaces (CDP for Chromium-based apps, AppleScript dictionaries, URL schemes, local ports), then accessibility-tree actions, then window-coordinate actions, with pixel screenshots as the last control step and the check after every action.
A tool's own success message is not trusted: effects are checked through readbacks, screenshots, app state indicators and side effects, and commands report outcomes such as confirmed or suspected no-op. A dry-run mode previews coordinate resolution and safety gates, and focus is borrowed only after gates such as waiting for you to stop typing. The kernel is compiled on first use with build.sh, and a probe script picks the layer for an unfamiliar app. Browser tasks belong to the huashu-chrome skill and finding old screenshots to disk-keeper.
3 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit 4dda98c. It shows what the files ask for, not the result of running them.
Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.
From allowed-tools in the SKILL.md frontmatter.
Ships 1 file in scripts/ (Python, from the files we listed), which the agent can run.
Shell commands in SKILL.md call:
gitbashFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use git, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Native Mac App Controller loads about 1.5k tokens when it runs, and up to ~30k if it reads all its reference files. Until then it costs about 38 tokens; SKILL.md has 297 words of instructions outside code blocks.
Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.
The automated check found no risky patterns in SKILL.md.
Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.
The full file from alchaincyf/huashu-mac-use at commit 4dda98c, republished under its MIT licence (© alchaincyf). 297 words, ~1,529 tokens.
.claude/skills/huashu-mac-use/SKILL.md (or your agent's skills folder). This skill also uses 23 other files; get the full folder from GitHub.你是 macOS 自动化工程师兼取证员。你的独特价值不是「能截图」,是操控一个既没有 CLI 也没有 API 的 GUI-only 原生 app,并把每一步都留成可复现的证据——桌面 AI 客户端这类东西,命令行进不去、网页工具够不着,只有你能一边操作一边把窗口拍下来。你交付的标准是:用户在另一个窗口打字时完全感觉不到你在干活,而你交出的每一张图都能说出它是怎么来的。
$SKILL_DIR 指本文件所在目录。脚本一律写全路径调用(agent 的 cwd 是用户项目目录)。首次用先 bash $SKILL_DIR/scripts/build.sh 编译内核(约 20 秒)。
| 任务信号 | 走哪 |
|---|---|
| 操控 Mac 原生 app:点菜单、填输入框、读界面、切窗口;系统层动作(打开退出 app、系统设置) | 本 skill |
| 给某个 app 的窗口截图取证(配图、汇报、复现 bug) | 本 skill,窗口级截图别的 skill 都够不着 |
| 探测陌生 app 能不能自动化 | probe.sh |
| 多模型同题跑批,目标是桌面客户端本身 | 本 skill(只关心模型能力 → multi-model 走 API) |
| 浏览器里的任何事 | huashu-chrome。Chrome/Safari/Edge/Arc 的窗口即使列出来也不接 |
| 验收自己写的本地 HTML | webapp-testing;别人 app 里产出的 deck 只能截窗口 → 本 skill,视口对齐设计尺寸 |
| 找已有截图、批量 OCR | disk-keeper。剪录屏 → huastudio-edit / huashu-jianji。压图 → image-compress |
| 层 | 手段 | 何时 |
|---|---|---|
| L0 结构接口 | cdp.js(内嵌 Chromium 的 app)、AppleScript 字典、URL scheme、本地端口 | 默认起点。零焦点、跨 Space、多 agent 互不干扰 |
| L1 AX 树 | mac ax / mac axset | 探到可编辑控件且实写后状态指示器变化才算通 |
| L2 窗口坐标 | mac see → mac op / mac clickin | 前两层不可用时的主力,需借焦点 |
| L3 像素 | mac shot | 控制手段的最后一档;验证手段的每一步 |
三条原则,压过一切效率考虑:
mac op 默认走阶梯:先 postToPid 把事件投给进程(不抢焦点、不切 Space、不受遮挡)并截图验证,判不出生效才升级借焦点,升级前自动过三道闸——终端类窗口按发送要 --force、全机借焦点锁、用户 2 秒内动过键鼠就静静等他停手(最多 15 秒),等不到就拒绝而不是抢。所以别自己纠结该不该抢焦点,交给闸;想预知结果先 mac idle。借到焦点的那半秒仍会报实测秒数,并且屏幕四角会脉冲一圈取景框告诉用户此刻是 agent 在动——它鼠标穿透、不抢焦点、跨 Space,且对屏幕捕获隐身,所以你的取证截图不会带上它。mac op 和 cdp.js mouse/insert 会自动做差分并回 effect=confirmed|partial|suspected_noop|unverifiable,suspected_noop 不是失败,是「回去重看」。refused: cross-space),此时改 CDP 或请用户把窗口挪过来,不要自己切 Space。probe.sh <app> 选层。Chromium 系(Electron/CEF/内嵌浏览器)直接跳 CDP
├ CDP: mac open <app> --cdp 9333 [--relaunch] → cdp.js 9333 snapshot auto → find/mouse/insert/wait/shot
└ 其它: mac see <app> → 看图,坐标直接用图上像素 → mac op <id> <x> <y> @<图> "文本" shot after.png
经验回流:新学到的写进 references/(见第五节)坐标三种写法全命令通用,回显会告诉你它被理解成什么:≤1 归一化、>1 窗口内点数、x y @截图.png 图上像素(内核按图尺寸换算,你永远不做乘法)。
任何写操作先 --dry 预演。 它零执行,但会把坐标解析结果和每道闸的判定一起报出来(闸预检: frontmost=BLOCK(目标 pid 不在前台) 遮挡=BLOCK(上层是「FanBox」) 在场=pass(空闲22s))。想知道「这一下会不会打错地方」看它,不要拿真命令去试——前台和遮挡关系随时在变,试错的代价是戳到用户正在用的窗口。
mac windows [关键词] [--all] 列窗口:id / pid / owner / on(当前Space可见) / origin / 尺寸。默认隐藏系统残留窗口
mac see <id|owner关键词> [--out] 一次拿到:降采样截图 + 收据 + AX 元素表(可用时 eN@json 直接点)
mac shot <id> <路径> 后台截窗口。失败自诊断(id 过期 / 锁屏 / 壳窗口→自动改截兄弟窗口 / 未渲染),成功报尺寸与判空
mac shotfg <id> <路径> 先试后台,确认空图才借焦点并立刻还(Chromium 系后台常不渲染)
mac hud <毫秒> [文案] [corner|glow|plain] 屏幕四角脉冲取景框(借焦点时自动闪,一般不用手调)。MAC_HUD=0 关;
默认对截图隐身,要录屏演示它本身用 MAC_HUD_CAPTURABLE=1
mac idle 用户在不在场:键鼠空闲秒数 + 前台 app + 借焦点锁归谁。动手前问这一句
mac op <id> <x> <y> <文本> [@图] [send <sx> <sy>] [shot <路径>] 写操作默认入口:后台档 postToPid→截图验证→判不出生效才升级借焦点(升级前过三道闸)
--bg 只走后台不升级 · --fast 跳过后台直接借焦点 · --force 拆掉三道闸
mac clickin <id> <x> <y> [@图] / hoverin ... [holdms] 不激活的点击/真实悬停(组件库菜单要真实悬停)。走全局事件流,同样过遮挡闸和在场闸
mac open <显示名|路径> [--cdp 端口] [--relaunch] 中文显示名解析成绝对路径启动;--cdp 带调试端口并等到通
mac ax <pid> / mac axset <pid> <文本> AX 探测(内部查两次)/ 设值
mac type <pid> <文本> [global] / mac key <pid> <码> [cmd] / mac scroll / mac click / mac frontmost
⚠️ 这几个走全局流的打给「当前前台窗口」,不是打给你写的 pid。内核已加 frontmost 闸
(前台不是目标就拒绝),但仍请先 --dry。不带 global 的 type 走 postToPid 直投进程,不碰前台,无闸
probe.sh <app名> 第 0 步:bundle、架构、URL scheme、真实 sdef、本地端口、AX 控件数、版本
cdp.js <端口> list | snapshot <target> [--all] | find <target> "文本" | wait <target> <css|text:..|gone:..> [秒]
cdp.js <端口> mouse <ref|选择器> | insert <ref|选择器|-> "文本" | press Enter|Escape|Slash|At | shot <路径> [选择器] | eval <js> | html
cdp.js <端口> act <target> <脚本> 一次会话跑多步(find/$last/mouse/insert/wait/shot),任一步失败停下退出码 2退出码三态:0 成功 / 1 失败 / 2 拒绝或未知。2 永远不算成功。
四条内核已内置、但你要知道的行为:mac open 不认中文显示名的坑已解决(走 Spotlight 显示名);open -g 启动的窗口从未渲染截不到;回车不一定是发送(有的 app 只换行),发消息前先看截图;insert 走输入法上屏,el.value= 那种写法 app 不认账。
op ... send 和前台是终端时的 key 36(要 --force),但这是最后一道网不是许可证。caffeinate 防锁,要么标「此步需人在场」,不能假装能截。--cdp --relaunch 会关掉正在运行的 app,未保存内容会丢,动手前说一声。截图落项目目录不落桌面;正文图 JPG、长边 1600、<500KB(压缩交 image-compress);截产物时视口对齐设计尺寸;合规禁词(未发布代号、友商名、本地路径)以项目根目录禁词表为准,加工件与原图分离、原图永远留着、只 mv 进 _archive/ 不 rm;多模型跑批不默认产出横向对比和排名。命名、目录、台账、夹具清场 → references/取证规范.md。
收工回流是硬步骤:非显而易见、下次能省时间、有本轮实测证据,三条同时成立才写;证伪旧结论优先于新增;单个 app 的观察只进 references/app档案.md,至少两个 app 重现才升正文。坐标、端口、界面文案是易腐信息,只许进档案不许进正文。先问一句「这条教训能不能变成工具行为」,能就改代码不改文档。
| 学到的 | 落点 |
|---|---|
| 某个 app 的架构、输入路径、端口、坑 | references/app档案.md |
| 错误码、权限、跨 Space、代理吞本地请求 | references/权限与故障.md |
| 命名、目录、合规、跑批 | references/取证规范.md |
| 控制层原理、坐标系、CDP 接法、输入路径对比 | references/控制面详解.md |
| v1 正文与全部翻车实录(为什么工具长这样) | references/踩坑实录.md |
每次使用前读本目录 .last-update-check(一行日期 YYYY-MM-DD):存在且不足 30 天就跳过本节。到期或不存在时:不是 git 克隆(无 .git 或无 origin)→ 写入今天日期后跳过;否则比对 git -C <本目录> rev-parse HEAD 与 git -C <本目录> ls-remote origin HEAD,无论结果都写入今天日期。一致→什么都不说;落后→先完成当前任务,结束后附一句「本 skill 有新版本,可用 git -C <本目录> pull --ff-only 更新」,是否更新由用户决定,不主动执行。
© alchaincyf, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 23 other files (scripts, references, assets) in the repository root of alchaincyf/huashu-mac-use.
Open the folder on GitHubat commit 4dda98c
Native Mac App Controller next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Native Mac App Controller this skillalchaincyf/huashu-mac-use | 300 | — | ~1.5k | Automated safety check: Pass | MIT | |
| Open Computer UseiFurySt/open-codex-computer-use | 2.4k | — | ~1.5k | Automated safety check: Pass | MIT | |
| Mac Computer UseTo3akaRin/mac-computer-use | 1.1k | — | ~495 | Automated safety check: Pass | MIT | |
| TuriX macOS Desktop AgentTurixAI/TuriX-CUA | 3.2k | — | ~3.2k | Automated safety check: Warn | MIT | |
| Waku Computer Useegoist/waku | 1.6k | — | ~3.6k | Automated safety check: Pass | GPL-3.0 | |
| Interceptor BrowserHacker-Valley-Media/Interceptor | 522 | — | ~4.8k | Automated safety check: Pass | Custom licence |
iFurySt/open-codex-computer-use
Platform-neutral guidance for using Open Computer Use, the open-source Computer Use MCP server and CLI for macOS, Linux, and Windows.
To3akaRin/mac-computer-use
操作 macOS 桌面应用,探测窗口和自动化接口、截图、读取或修改辅助功能元素、执行鼠标键盘动作,以及通过 CDP 操作内嵌 Chromium 页面。适用于桌面应用自动化与界面验收;普通网页任务优先使用已有浏览器工具。
TurixAI/TuriX-CUA
Controls the macOS desktop visually through the TuriX computer-use agent, for opening apps, clicking buttons and navigating interfaces that have no CLI or API.
egoist/waku
Control local macOS, Windows, and Linux apps through Waku Computer Use.
Hacker-Valley-Media/Interceptor
Drive a signed-in Chrome / Brave / Safari session via the interceptor CLI: open/read pages, click, type, inspect DOM/text/network, automate rich browser editors and scene graphs, capture…
kerpopule/hermes-jev-skills
Drives desktop GUI apps and OS dialogs by letting Jev pick the next action from a menu of safe actions the agent built, with a Mac Co-Agent shortcut.
Works with
Categories
Controls macOS native apps that have no API, taking window-level screenshots as reproducible evidence without stealing focus and probing whether an app can be automated. The agent acts as a macOS automation engineer and evidence collector, driving GUI-only apps such as desktop AI clients while leaving a reproducible trail. A four-layer control model applies: reading stays fully in the background and writes default to zero focus, starting with structural interfaces (CDP for Chromium-based apps, AppleScript dictionaries, URL schemes, local ports), then accessibility-tree actions, then window-coordinate actions, with pixel screenshots as the last control step and the check after every action.
Native Mac App Controller fits situations like: clicking menus and filling fields in a macOS app that has no API; taking window-level screenshots of an app, even when it is covered, as evidence; checking whether an unfamiliar app can be automated; running the same prompts through several models inside a desktop client.
Run `npx skills add alchaincyf/huashu-mac-use --skill huashu-mac-use -a claude-code`. Or copy the skill folder (the alchaincyf/huashu-mac-use repository) into .claude/skills/huashu-mac-use in your project. Claude Code loads it when a task matches its description.
Run `npx skills add alchaincyf/huashu-mac-use --skill huashu-mac-use -a codex`. Or copy the skill folder (the alchaincyf/huashu-mac-use repository) into .agents/skills/huashu-mac-use in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add alchaincyf/huashu-mac-use --skill huashu-mac-use -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/huashu-mac-use, .gemini/skills/huashu-mac-use, .github/skills/huashu-mac-use and .opencode/skills/huashu-mac-use in your project.
Going by SKILL.md and its folder, Native Mac App Controller needs Python for the scripts in its folder and the command-line tools its instructions call (git and bash). Our summary lists: macOS; The bundled kernel compiled with scripts/build.sh.
SKILL.md contains no URLs. Its commands use git, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.
Native Mac App Controller is published under the MIT licence (from the LICENSE file in the skill folder). It allows redistribution, so the full SKILL.md is shown on this page.
About 1.5k tokens (SKILL.md is roughly 6.1k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 29k tokens, read only when the agent opens those files.
Skills that share tags, products or a category with Native Mac App Controller: Open Computer Use (iFurySt/open-codex-computer-use, 2.4k stars), Mac Computer Use (To3akaRin/mac-computer-use, 1.1k stars), TuriX macOS Desktop Agent (TurixAI/TuriX-CUA, 3.2k stars) and Waku Computer Use (egoist/waku, 1.6k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
alchaincyf (a GitHub user) maintains it in alchaincyf/huashu-mac-use, which has 300 GitHub stars. The repository was last updated on September 8, 2026.
Source: alchaincyf/huashu-mac-use on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.