ARTICLE · 1209887
AI 终于能自己操作软件了!港大开源 CLI-Anything:让 AI 自动调用工具,建模、剪辑、设计都能安排!

AI 会写代码,但它不会"用"软件——你没法让 Claude 去 GIMP 里批量调滤镜,没法让 Cursor 在 Blender 里建个模。港大(HKUDS)开源的 CLI-Anything 换了个思路:给任何软件生成一层命令行外壳,让 AI 像人敲终端一样操作 GIMP、Blender、FreeCAD、LibreOffice……一条命令,7 个阶段,全自动。18 个软件、2,461 个测试通过。
先说结论
CLI-Anything 是香港大学数据科学研究院(HKUDS)开源的项目,Apache-2.0,目前 54,589 Star,创建于 2026 年 3 月。
它的口号印在 README 第一行:
今天的软件服务于人类;明天的用户将是 Agent。
解决的问题非常具体:AI Agent 已经会读代码、会跑命令,但世界上 99% 的专业软件没有命令行界面。GIMP 有脚本fu,Blender 有 Python API,但每个软件的接口都不一样,Agent 学不动,也记不住。
CLI-Anything 的做法是:分析任意软件的代码库,自动生成一套完整的 CLI(命令行工具)——带 REPL、JSON 输出、撤销重做、单元测试和 E2E 测试、自动生成的 SKILL.md。生成之后,Claude Code、Cursor、Codex 这些 Agent 就能直接调用它,操作真实软件产出真实文件。

(——软件那么多,命令行那么少)
为什么是 CLI,而不是别的方案?
让 AI 操作软件,业内的常见思路是 MCP(Model Context Protocol)之类的工具协议。CLI-Anything 在 README 里专门回答了"为什么选 CLI",六条理由,条条实在:
• 结构化、可组合——文本命令天然匹配 LLM 的输出格式,还能链式组合成复杂工作流 • 轻量、通用——开销极小,不依赖特定运行时,跨所有系统 • 自我描述—— --help就是现成的文档,Agent 自己就能发现用法• 久经考验——Claude Code 每天通过 CLI 跑几千个真实工作流 • Agent 优先——结构化 JSON 输出,免去解析 GUI 的麻烦 • 确定性、可靠——同样输入同样输出,Agent 行为可预测
一句话:CLI 是人和 Agent 通用的接口。与其给每个软件造一个新协议,不如把存量软件包上一层 CLI。
两种用法
用法一:直接用现成的(CLI-Hub)
社区已经生成了一批 CLI,挂在注册表里。装个包管理器,一条命令安装:
pip install cli-anything-hubcli-hub list # 浏览注册表cli-hub search image # 按关键词搜cli-hub install gimp # 安装 GIMP 的 CLIcli-hub info gimp # 查看详情cli-hub launch gimp # 直接跑还能给 Agent 装"元技能",让它自己发现该装哪个 CLI:
npx skills add HKUDS/CLI-Anything --skill cli-hub-meta-skill -g -y然后你只需要说:"去 CLI-Hub 找个合适的 CLI 完成这个任务:……"
生成的 CLI 全部带 --help 自描述、REPL 交互和结构化 JSON 输出——Agent 读一遍帮助文本就能上手,这是"自我描述"设计最直接的体现:

(cli-typing 演示)
注册表里的软件列表很长:GIMP、Blender、Inkscape、Krita、Audacity、MuseScore、LibreOffice、Kdenlive、Shotcut、Obsidian、Zotero、Calibre、Joplin、n8n、Draw.io、QGIS、Godot、RenderDoc、FreeCAD、3MF、Zoom、Exa、MiniMax……还在持续增加。
用法二:给没有 CLI 的软件生成一个
以 Claude Code 为例,装插件后:
/plugin marketplace add HKUDS/CLI-Anything/plugin install cli-anything/cli-anything ./gimp一条命令,7 个阶段全自动:

(官方架构图。7 阶段管线产出 agent-harness/,再驱动下方"真实软件"生态)
1. 代码库分析——扫源码,把 GUI 动作映射到 API 2. CLI 设计——规划命令组、状态模型、输出格式 3. 实现——构建 Click CLI,带 REPL、JSON 输出、撤销/重做 4. 测试规划——生成 TEST.md,单元 + E2E 计划 5. 测试实现——写完整的测试套件 6. 测试文档——回填测试结果 7. 发布——生成 setup.py,装进 PATH
生成完还能迭代补缺口:
/cli-anything:refine ./gimp "I want more CLIs on image batch processing and filters"refine 会做能力差距分析——对照软件的全部功能 vs 当前 CLI 覆盖率——然后增量补命令、补测试、补文档。可以反复跑,每轮都是非破坏性的。
真实 Demo:AI 操作软件,不是演示,是产出物
官方放了 6 个真实 Demo,全是 Agent 用生成的 CLI 做出来的完整作品,没有 GUI 介入。
Blender:轨道中继无人机
Agent 通过 cli-anything-blender 在预览循环里增量搭建一个硬表面无人机:每个阶段推送带渲染图的预览包,实时预览会话跟踪当前进度,trajectory.json 把每条命令和对应的视觉状态绑在一起,方便回放。最后直接出成品场景。

(图:左侧 Agent 构建轨迹 10 步,右侧实时预览监视器)
FreeCAD:好奇号火星车
cli-anything-freecad 有 258 条命令、17 个命令组。Agent 边搭边发布真实的 FreeCAD 预览包,最后攒出一台好奇号风格的火星车。

Draw.io:一句话画架构图
在 Claude Code 里说"用 cli-anything-drawio 画一个 HTTPS 握手图",Agent 查 --help 自己学用法,然后在 draw.io 里生成了一张像样的网络时序图——它自己认左边工具栏,自己认右边属性面板。

其他
• 杀戮尖塔 II:Agent 打通这个卡牌 Roguelike( cli-anything-slay-the-spire-ii),自己看牌、算伤、做决策• VideoCaptioner:AI 视频字幕,官方 Demo 是 UP 主的视频,"before" 无字幕 → "after" 自动配好中文字幕 • ArcGIS Pro 实时桥接:Windows/ArcPy 制图与地理处理,支持连到运行中的 Pro 实例

(图:官方 Demo,Agent 自主游玩卡牌 Roguelike)

(图:官方 Demo,连接运行中的 ArcGIS Pro 做制图与地理处理)

(图:官方 Demo after 帧,中文字幕已自动生成)
质量怎么保证?
README 给了一整节测试体系,这不是"生成完就扔"的玩具:
| 真调软件,验证产出 | %PDF- 魔数的 PDF;Blender → 真渲染出 PNG |
累计 18 个软件、2,461 个测试全绿,配一篇 arXiv 技术报告(2606.03854)。每个生成的 CLI 还带自动生成的 SKILL.md——Agent 可发现的技能定义,这就是为什么 Claude Code、Cursor、Codex、OpenClaw、Pi 等平台开箱即用。
边界与实话
• 底层软件还得自己装。CLI 是壳,GIMP/Blender/LibreOffice 本体要装在本机 • 生成的 CLI 是"完整能力保留",不是"重新实现"——它调原软件的 API/后端,不重造轮子 • 覆盖率取决于 refine 轮次。第一遍生成的命令组未必全覆盖,差距分析靠 /refine补• Windows 用户注意:Claude Code 走 bash,需要 Git for Windows 或 WSL,否则可能报 cygpath: command not found• 项目很年轻(2026 年 3 月建仓),接口还在快速演变
适合谁
• 想让 Agent 替你做重复软件操作的人:批量处理图片、转码音视频、批量文档转换 • AI 应用开发者:给你的产品包一层 CLI,立刻接进整个 Agent 生态 • 想学习"Agent 操作真实软件"范式的人:7 阶段生成管线 + SKILL.md 的设计值得细读
当每个软件都有了一个 Agent 能读懂的 CLI 外壳,"AI 帮你操作软件"才真正从演示变成日常。
项目地址:https://github.com/HKUDS/CLI-Anything (Apache-2.0 · 54,589 ★ · Python)
CLI-Hub 注册表:https://hkuds.github.io/CLI-Anything/ ·
技术报告:arXiv 2606.03854















































































