2026 年 9 月 24 日的 GitHub 趋势日榜上,HKUDS/CLI-Anything 当日 +415★。仓库元数据(取数时间 2026-09-24 21:33–21:40,数据来自 GitHub API):50,166★、4,610 fork、105 个 open issue、201 位 watcher、Apache-2.0 协议、2026-03-08 创建、最后一次提交 2026-09-22、最新 release v0.4.0 发布于 2026-06-25。
这组数字里有两处值得先点出来:
- 半年时间 5 万星。建仓到 5 万星只用了约六个半月,期间只打了三个版本号,大头靠社区 PR 往上堆——仓库里的 harness 大多是外部贡献者合进来的。
- 它的野心写在一句话里:
Making ALL Software Agent-Native。同一天榜单上还有几个 2 万星级的 AI 项目,但"让所有软件都能被 Agent 用"这个提法,只有它敢这么写。
配套还有一份技术报告《CLI-Anything: Towards Agent-Native Computer Use》(arXiv:2606.03854,HKUDS 的 Yuhao Yang、Tianyu Fan、Chao Huang),说明它不是纯工程仓库。
一句话定位:它不写新软件,它写"软件的翻译层"
理解这个项目只要抓住一个区分:AI Agent 很会推理,但几乎不会用专业软件。现在通行的三条路各自有坑——
- 截图点击式 GUI Agent:让模型看屏幕、找按钮、移动鼠标。软件一改版、弹窗一变位置,整条链路就碎了。
- 等官方 API:覆盖度参差,而且 API 往往只暴露软件 10% 的能力。
- 让模型重写一个简化版:功能直接缩水九成,出来的东西不能进生产。
CLI-Anything 走的是第四条:读源码,把软件的真实能力翻译成一组结构化命令行,由模型去敲命令,软件的渲染/导出/运算还交给软件本体。README 里把这条原则写得很硬——「We build structured interfaces TO software, not replacements」(我们造的是通往软件的接口,不是替代品),并且赌上了可验证性:后端软件没装时,测试是失败(fail)而不是跳过(skip)。
它到底生成什么:7 阶段流水线
在 Claude Code 里一行命令 /cli-anything ./gimp,触发的是一条 7 阶段流水线:
| 阶段 | 做什么 | 产出 |
|---|---|---|
| 1 Analyze | 扫源码,把"界面上能点的操作"映射到真实 API 调用 | 能力清单 |
| 2 Design | 设计命令组、状态模型、输出格式 | 命令架构 |
| 3 Implement | 用 Click 搭 CLI,带 REPL、JSON 输出、undo/redo | cli-anything-<软件> |
| 4 Plan Tests | 写 TEST.md,定单测 + 端到端测试计划 | 测试计划 |
| 5 Write Tests | 实现测试套件 | 测试代码 |
| 6 Document | 回填测试结果到 TEST.md | 文档 |
| 6.5 SKILL.md | 从 Click 装饰器、setup.py、README 自动抽出技能定义 | SKILL.md |
| 7 Publish | 生成 setup.py 并装进 PATH | pip 可装包 |
生成出来的东西长这样(以 GIMP 为例):
| |
几个设计细节值得记:
- 双模式:带子命令跑脚本、不带子命令进交互 REPL,所有 CLI 共用一套统一皮肤(
repl_skin.py),带命令历史和进度条。 --json是内建的,不是后加的。Agent 拿结构化数据,人看人类可读的表格。- 会话有状态:项目状态可持久化,支持 undo/redo——这点比"每条命令都是一次性调用"的封装方式实用得多。
- 命令规模可以很大:FreeCAD CLI 有 258 条命令、分 17 个组;Mailchimp CLI 有 303 条命令。
三条上手路径,按你的起点选
README 明确给了两条起跑线(能用的现成货 / 自己造新的),实际是三条:
路径一:只用现成的,cli-anything-hub 一个包搞定
| |
它同时也是个包管理器:update、uninstall 齐备。注意一个前提——有些 CLI 包的是真的桌面软件,选了 GIMP、Blender、LibreOffice 这类,你得先把上游软件装上,否则命令没有后端可调。
路径二:给 Coding Agent 一次性装 meta-skill,让它自己去发现和安装
| |
装完之后你可以只说一句「在 CLI-Hub 里找合适的 CLI 完成这个任务:……」,Agent 自己去目录里挑、装、读它的 SKILL.md 再干活。官方列出兼容的平台有一长串:Claude Code、Cursor、Codex、OpenCode、Pi、OpenClaw、Reasonix、Qodercli、GitHub Copilot CLI,以及 Hermes。
路径三:仓库里没有的软件,自己生成一个
Claude Code 侧的安装是多两步的插件流程:
| |
后续可以用 /cli-anything:refine ./gimp "我想加强图像批处理和滤镜这块" 做增量补全——refine 是对照软件全量能力清单做差距分析,只加不删。
Hermes 也支持,但标了 Experimental + Community。仓库里有一个 hermes-skill/ 目录,装法是从仓库克隆后跑 bash CLI-Anything/hermes-skill/scripts/install.sh,它会落到 $HERMES_HOME/skills/cli-anything-hermes(没设 HERMES_HOME 就是 ~/.hermes/skills/cli-anything-hermes),装完要重启 Hermes 才会被发现。它把 Hermes 的 terminal、execute_code、delegate_task、read_file/write_file/patch 这几个工具绑到同一条 7 阶段流程上,生成的 Python harness 格式与其它平台完全一致——也就是说,用 Hermes 的人这次不用羡慕 Claude Code 用户。(同类思路的延伸阅读可以看我们之前拆的把剪辑交给编码 Agent 的 video-use 和 Cloudflare 的安全审计 Skill。)
现成货有多少:79 个自研 harness + 24 个第三方 CLI
这是判断"现在能不能上手"的关键。仓库里两个注册表(取数时间同上):
registry.json:79 条 CLI-Anything 自研/社区贡献 harness。列表中既有 Audacity、Blender、ComfyUI、Draw.io、FreeCAD、GIMP、Inkscape、Kdenlive、LibreOffice、Mermaid、OBS Studio、Ollama、Shotcut、Zotero、QGIS、RenderDoc、Zoom 这类专业软件,也有 WireMock、n8n、PM2、ChromaDB、Joplin、Calibre 这类工程与效率工具。public_registry.json:24 条第三方官方 CLI 的收录(飞书、企业微信、1Password CLI、Sentry、Shopify、Contentful、ElevenLabs、MiniMax 等),用来把"官方 CLI 生态"和"自动生成的封装"放进同一个安装入口。
需要注意的是,README 的能力清单里明说了:自己造一个新 harness,前提是有源码(Python 3.10+)。README 还专门列了一份"哪些软件适合被 agent 化"的分类表,从 GitHub 项目、AI/ML 平台、数据分析、开发工具、创意媒体、游戏引擎、科研计算到办公协作,每类都点名了典型软件——这份表本身可以当选题清单用。
测试成绩单:2,464 项通过,但数字有三处口径
README 的测试汇总表是目前这个项目最硬的资产,列出每个 harness 的通过数(节选):
blender 208 passed (150 unit + 58 e2e)
inkscape 202 passed (148 unit + 54 e2e)
audacity 161 passed (107 unit + 54 e2e)
libreoffice 158 passed ( 89 unit + 69 e2e)
kdenlive 155 passed
shotcut 154 passed
obs-studio 153 passed
nslogger 139 passed
drawio 138 passed
joplin 134 passed
gimp 107 passed
openscreen 101 passed
ollama 98 passed
cloudcompare 88 passed
comfyui 73 passed
...
TOTAL 2,464 passed 100% pass rate
测试分四层:单元测试(合成数据)、原生 E2E(生成的项目文件结构是否合法,比如 ODF ZIP 结构、MLT XML、SVG 合法性)、真后端 E2E(真的调 LibreOffice 转出 PDF 后查 %PDF- 魔数字节,真的让 Blender 渲出 PNG)、以及子进程测试(装好的命令能不能返回合法 JSON)。
但这里有个我必须指出的细节:同一份 README 里出现了三个测试数字——顶部徽章写 2,461 Passing,测试汇总表合计 2,464 passed,文末页脚还写着 2,280 passing tests(另有徽章写 18 Apps)。这三个口径我没能对齐出官方解释,只能确认明细表本身相加是 2,464。另外注册表里有 79 个 harness,测试表里只有 30 个有明细数字——覆盖面很广,验证深度不均,看星标冲着"全都能用"来的人应该知道这一点。
六个官方 demo:Agent 到底能用它产出什么
README 里放的演示都不是玩具,这一点比测试数字更能说明问题:
- FreeCAD:Agent 一步步拼出一辆好奇号风格的火星车,过程中不断推送预览包、刷新实时预览,并把每条命令与对应画面绑成可回放的
trajectory.json。 - Blender:同样在 preview + live preview + trajectory 三件套下长出一台硬表面"轨道中继无人机"。
- Draw.io:约 4 分钟从零画出完整的 HTTPS 连接生命周期图(三次握手、TLS 协商、加密传输、四次挥手),产出
.drawio加.png。 - Slay the Spire II:Agent 通过 harness 读游戏状态、选卡、选路径,实时打完一局。
- VideoCaptioner:自动生成并烧录双语样式字幕。
- ArcGIS Pro:这是个反面参照——商业闭源桌面软件,没法读源码,所以它走 MCP 桥接官方 ArcPy/SDK,驱动一个真实打开的 Pro 会话缩放地图、跑地理处理、导出布局图。
也就是说,有源码就生成,没源码就桥接(ArcGIS Pro 走 MCP,官方把它作为"商业软件的对应方案"列出来)。
和截图点击式 GUI Agent 的对比:换的是失败模式
| 维度 | 截图点击式 GUI Agent | 直接接官方 API | CLI-Anything |
|---|---|---|---|
| 输入给模型的东西 | 屏幕像素 + 坐标 | 原始接口文档/散装接口 | 结构化命令 + --json 输出 |
| 能力保留 | 界面能点的才可用 | 看 API 覆盖度 | 接近软件全量能力 |
| 稳定性 | 界面改版/弹窗即失效 | 较稳,但接口变更要改代码 | 稳,失效点是软件 CLI 版本 |
| token 成本 | 截图最贵 | 便宜 | 便宜(文本进出) |
| 失败模式 | 静默点错、假成功 | 接口未覆盖→做不到 | 后端缺失直接报错,不静默降级 |
| 人在环里 | 能看它点,难审计 | 靠日志 | 命令可审计、可重放、可 undo |
README 里有一句很关键的自我设限:真软件是硬依赖,没有 fallback、没有"优雅降级"。这就是为什么它们的测试在后端缺失时选择 fail 而不是 skip——宁可测试红,也不留一个"看起来能用其实调的是玩具实现"的中间态。
官方承认的三条限制,以及我补的两条
README 的 Limitations 一节写了三条,值得原样重视:
- 需要前沿模型。官方点名 Claude Opus 4.6 / Sonnet 4.6 / GPT-5.4 这一档才能稳定生成 harness,弱模型或小模型产出的 CLI 会不完整甚至错误,需要大量人工修。
- 依赖源码。纯二进制、需要反编译的软件,harness 质量和覆盖度会明显下降。
- 一次跑不够。单次
/cli-anything常常不能覆盖全部能力,要跑一到多次/refine才能到生产质量。
我额外补两条,都是上手成本层面的:
- 你得先装"真软件"。想用 Blender CLI,机器上就得有 Blender;想用 LibreOffice CLI,就得有 LibreOffice。这不是一个"pip 装完就能玩"的项目,它把你原有的软件安装负担一个都没省掉——省掉的只是"点鼠标"这一步。
- Hermes 侧的入口是社区实验性质。
hermes-skill/在 README 里标了 Experimental,且由社区贡献,版本跟进节奏不保证跟 Claude Code 插件同步。
我的判断:谁该上,谁再等等,谁别碰
该上的三类人:
- 已经在用编码 Agent(Claude Code / Codex / Hermes)且每天要碰专业软件的人。你已经付了模型钱,这个项目把你手上软件的能力直接接进 Agent,边际成本只有"装上游软件"这一项。首选路径是先
pip install cli-anything-hub看 79 个现成货里有没有你要的。 - 做内部工具的团队。把内部系统或散装的一堆接口喂给
/cli-anything,换一个有状态、命令成组的 CLI,比让 Agent 每次直连几十个原始接口省 token 也好审计——README 自己就把这条列为三大用法之一。 - 想积累开源履历的人。它明确接受"为某个软件造 harness 并提交"的 PR,CLI-Hub 对社区贡献是即时收录的,这条路径的门槛比从零写一个开源项目低得多。
**再等等的:**手上只有中等或小模型额度的人(官方限制第一条直接点名);目标软件是闭源、又没有像 ArcGIS Pro 那样的官方 SDK/MCP 可用的人——这时候 harness 质量会掉到"能做但不能用"。
**别碰的:**期待"一句话自动出片、还不装任何软件"的人。这个项目的价值上限很高,但它的下限就是你的软件安装能力;把它当成"免安装剪辑神器"会立刻失望。
一句话收口:它是一个把专业软件的"手"接给 Agent 的中间层,不是新的生产力 App。 你的 Agent 越强、你手上的专业软件越多,它的收益越大;反过来,它一样都替不了。
顺带一提:软件能被 Agent 敲命令的前提,是你先选对了趁手的编码工具——这篇AI 编程助手整理可以对着配。
本文由拾光札记编辑部整理,勘误请联系我们。