乐于分享
好东西不私藏

AI 不会用软件?这个开源项目一行命令就能搞定,Github 20K Star 炸裂

AI 不会用软件?这个开源项目一行命令就能搞定,Github 20K Star 炸裂

你的 AI Agent 会写代码、会查资料、会发邮件——
但它能用 Blender 建模吗?能用 GIMP 修图吗?能控制 OBS 开播吗?

不能。这是 2026 年 AI Agent 最大的短板。
而 CLI-Anything 正在把这堵墙推倒。


🤔 说一个真实的困境:AI 会思考,但不会”动手”

AI Agent 在推理层面已经非常强大。让它写一篇报告、分析一份数据、规划一个项目——完全没问题。

但如果你说:”帮我把这 200 张图片批量用 GIMP 加滤镜”,它会卡住。

为什么?

因为 GIMP 是一个 GUI 软件,没有标准化的命令行接口,没有 REST API。AI Agent 要控制它,要么靠脆弱的截图+点击(随时失效),要么靠人工手写封装代码(耗时费力),要么……就是做不到。

这个问题不只存在于 GIMP。Blender、Audacity、LibreOffice、OBS Studio、ComfyUI、Ollama——几乎所有专业软件,对 AI Agent 来说都是黑箱。

这正是 CLI-Anything 要解决的问题。


🎯 CLI-Anything 是什么?

来自香港大学数据科学团队(HKUDS)的开源项目,副标题直接把问题说透:

Making ALL Software Agent-Native
让所有软件对 AI Agent 原生友好

项目刚发布不久,已经收获 20,500+ GitHub Star,Fork 数超过 1,800,是近期最受关注的 AI 工程化工具之一。

核心功能用一句话概括:给 Claude Code(或其他 AI Agent)一个插件,它就能自动为任意软件生成一套完整的 CLI 命令行接口,附带测试、文档和 pip 安装包。

这套 CLI 不是玩具。它调用的是真实软件的真实后端——LibreOffice 真的在生成 PDF,Blender 真的在渲染 3D 场景,不是什么简化的替代实现。


⚡ 核心理念:CLI 是人类和 AI 共同的语言

为什么要用 CLI 而不是 GUI 自动化?项目给出了六个理由,每一条都切中要害:

  • • 结构化 + 可组合:文本命令格式和 LLM 天然契合,命令可以链式组合构建复杂工作流
  • • 轻量 + 通用:最小化开销,跨所有系统运行,无额外依赖
  • • 自描述--help 标志提供自动文档,Agent 可以自动发现用法
  • • 经过验证:Claude Code 每天已经通过 CLI 跑了数千个真实工作流
  • • Agent 优先设计:结构化 JSON 输出消除了解析复杂性
  • • 确定性 + 可靠:一致的结果让 Agent 行为可预期

这六条理由不只是设计哲学,更是工程选择的依据。


🚀 快速上手:三步开始

第一步:安装插件(以 Claude Code 为例)

# 在 Claude Code 会话中,添加 CLI-Anything 插件市场
/plugin marketplace add HKUDS/CLI-Anything

# 安装插件

/plugin install cli-anything

就这两条命令,插件就在你的 Claude Code 里激活了。

Windows 用户注意:Claude Code 通过 bash 执行命令。Windows 需要安装 Git for Windows(包含 bash 和 cygpath),或者使用 WSL,否则会报 cygpath: command not found

第二步:为目标软件生成 CLI

# 给 GIMP 生成完整 CLI(执行全部 7 个阶段)
/cli-anything:cli-anything ./gimp

# 也可以直接传 GitHub 仓库地址

/cli-anything:cli-anything https://github.com/blender/blender

这一条命令背后,AI Agent 会自动完成七个阶段的工作(详见下文),从分析源码到生成 pip 安装包,全自动。

第三步:安装并使用生成的 CLI

# 安装到 PATH
cd
 gimp/agent-harness && pip install -e .

# 查看所有命令

cli-anything-gimp --help

# 创建一个新的图像项目

cli-anything-gimp project new --width 1920 --height 1080 -o poster.json

# 添加图层(JSON 模式,适合 AI 读取)

cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e"

# 进入交互式 REPL 模式

cli-anything-gimp

🏗️ 7 阶段流水线:AI 是怎么自动生成 CLI 的?

这是 CLI-Anything 最值得深挖的部分。当你执行 /cli-anything 命令,AI Agent 不是”随便写一些代码”,而是执行一套经过 17 款软件实战检验的标准化流程:

① 分析(Analyze)

扫描目标软件的源代码,将 GUI 操作逐一映射到底层 API 调用。这一步决定了生成的 CLI 是否真实——要调用真正的后端,就必须先理解软件内部是怎么工作的。

② 设计(Design)

架构命令分组,设计状态模型,规划输出格式。一个好的 CLI 不是功能的堆砌,而是有结构的接口设计。

③ 实现(Implement)

用 Python Click 框架构建 CLI,同时实现 REPL 交互模式、JSON 结构化输出、undo/redo 状态管理。

④ 规划测试(Plan Tests)

生成 TEST.md,包含单元测试和端到端测试的完整计划。

⑤ 编写测试(Write Tests)

实现测试套件,覆盖合成数据测试(单元)和真实文件测试(E2E)。

⑥ 文档(Document)

更新 TEST.md 结果,同时生成 SKILL.md——一份 AI 可读的技能定义文件,让其他 Agent 能自动发现和使用这个 CLI。

⑦ 发布(Publish)

创建 setup.py,把 CLI 打包成可安装的 Python 包,安装到系统 PATH。

整个流程下来,输出的不是脚本,是一个完整的、有测试的、可发布的软件包。


🎬 真实案例:AI 用 LibreOffice 生成 PDF 报告

这是项目官方演示中最有说服力的案例之一:

# 创建新的 Writer 文档
$ cli-anything-libreoffice document new -o report.json --type writer
✓ Created Writer document: report.json

# 添加一级标题

$ cli-anything-libreoffice --project report.json writer add-heading \
    -t "Q1 财务报告" --level 1
✓ Added heading: "Q1 财务报告"

# 添加 4×3 数据表格

$ cli-anything-libreoffice --project report.json writer add-table \
    --rows 4 --cols 3
✓ Added 4×3 table

# 通过 LibreOffice headless 导出为真实 PDF

$ cli-anything-libreoffice --project report.json export render output.pdf \
    -p pdf --overwrite
✓ Exported: output.pdf (42,831 bytes) via libreoffice-headless

# JSON 模式查看文档信息(给 AI Agent 读取)

$ cli-anything-libreoffice --json document info --project report.json
{
  "name"
: "Q1 财务报告",
  "type"
: "writer",
  "pages"
: 1,
  "elements"
: 2,
  "modified"
: true
}

关键细节:这里输出的 output.pdf 是 LibreOffice 真实渲染的 PDF,有 %PDF- 魔法字节头,不是假的。项目的测试用例会验证这个。


🎮 Blender REPL 模式:AI 在终端里建 3D 场景

$ cli-anything-blender
╔══════════════════════════════════════════╗
║       cli-anything-blender v1.0.0       ║
║     Blender CLI for AI Agents           ║
╚══════════════════════════════════════════╝

blender> scene new --name ProductShot
✓ Created scene: ProductShot

blender[ProductShot]> object add-mesh --type cube --location 0 0 1
✓ Added mesh: Cube at (0, 0, 1)

blender[ProductShot]*> render execute --output render.png --engine CYCLES
✓ Rendered: render.png (1920×1080, 2.3 MB) via blender --background

blender[ProductShot]> exit
Goodbye! 👋

REPL 模式的设计让 AI Agent 可以保持会话状态,在一次对话中完成完整的创作工作流——不是单条命令的拼接,而是有状态的协作过程。


🔧 迭代优化:refine 命令

单次生成不可能覆盖所有功能。CLI-Anything 提供了 refine 命令,可以在首次生成的基础上持续扩展:

# 广泛迭代——分析全部功能缺口
/cli-anything:refine ./gimp

# 聚焦迭代——指定要补充的功能方向

/cli-anything:refine ./gimp "I want more CLIs on image batch processing and filters"

# 针对视频编辑的特定能力

/cli-anything:refine ./shotcut "vid-in-vid and picture-in-picture compositing"

每次 refine 都是增量的、非破坏性的:Agent 分析现有 CLI 与软件完整能力之间的缺口,只补充缺失的命令和测试,不破坏已有的内容。


📊 测试数据:1,839 项,100% 通过

项目目前已为 17 款软件生成了生产级 CLI,测试覆盖率令人印象深刻:

软件
领域
测试数
Blender
3D 建模渲染
208 ✅
Inkscape
矢量图形
202 ✅
Audacity
音频制作
161 ✅
LibreOffice
办公套件
158 ✅
Kdenlive
视频编辑
155 ✅
Shotcut
视频编辑
154 ✅
OBS Studio
直播推流
153 ✅
Draw.io
图表绘制
138 ✅
GIMP
图像编辑
107 ✅
Ollama
本地 LLM
98 ✅
Mubu
知识管理
96 ✅
ComfyUI
AI 图像生成
70 ✅
AnyGen
AI 内容生成
50 ✅
AdGuardHome
网络广告屏蔽
36 ✅
Zoom
视频会议
22 ✅
NotebookLM
AI 研究助手
21 ✅
Mermaid
图表编辑
10 ✅
合计 1,839 ✅

测试分四层:单元测试用合成数据,E2E 测试用真实文件,真实后端测试(如 LibreOffice 实际输出 PDF),以及 CLI subprocess 测试(直接调用已安装的命令行)。

100% 通过率不是刷出来的——项目明确规定:缺少后端软件时,测试必须失败(而不是跳过),确保真实性。


🌐 支持多个 AI Agent 平台

CLI-Anything 不绑定某一个 AI 编程工具,已支持:

  • • Claude Code:通过 /plugin 插件市场一键安装
  • • OpenClaw:将 SKILL.md 复制到 ~/.openclaw/skills/cli-anything/ 即可
  • • OpenCode:将命令文件复制到 ~/.config/opencode/commands/
  • • Codex:运行内置的 install.sh 脚本
  • • Qodercli:运行 setup-qodercli.sh 注册插件

每个平台安装后,使用体验完全一致——相同的命令名,相同的 7 阶段流程,相同的输出格式。


🏆 和其他方案的本质区别

方案
核心问题
UI 自动化(截图+点击)
界面变更即失效,无法大规模使用
手写 API 封装
耗时费力,每个软件都要重新做
简化实现
丢失 90% 功能,不是真正的软件集成
CLI-Anything
一条命令生成完整 CLI,调用真实后端,附测试和文档

CLI-Anything 的核心主张是:建立到软件的结构化接口,而不是替代软件本身。 LibreOffice 还是那个 LibreOffice,Blender 还是那个 Blender,CLI-Anything 只是给它们加了一层 AI Agent 可以操作的”方向盘”。


📖 一个隐藏的设计彩蛋:SKILL.md 自动生成

每个生成的 CLI 包里,都会附带一个 SKILL.md 文件,路径是 cli_anything/<software>/skills/SKILL.md

这个文件用 YAML frontmatter 描述了技能名称和说明,列出所有可用命令,提供典型工作流示例,还有专门给 AI Agent 的调用指引。

当你运行 CLI 的 REPL 时,启动横幅会直接显示这个文件的绝对路径——其他 Agent 看到路径,就能自动读取并学会使用这个工具。 AI 帮 AI 教 AI,技能扩散形成闭环。


🚀 三分钟上手清单

# 1. 在 Claude Code 里安装插件
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything

# 2. 生成你想用的软件 CLI(任选其一)

/cli-anything:cli-anything ./gimp          # 本地安装的 GIMP
/cli-anything:cli-anything ./blender       # 本地安装的 Blender
/cli-anything:cli-anything https://github.com/ollama/ollama   # GitHub 仓库

# 3. 安装生成的 CLI 到 PATH

cd
 <software>/agent-harness && pip install -e .

# 4. 开始使用

cli-anything-<software> --help
cli-anything-<software>            # 进入 REPL

项目地址https://github.com/HKUDS/CLI-Anything
CLI Hub(社区 CLI 浏览器):https://hkuds.github.io/CLI-Anything/hub/


写在最后

有一句话在这个项目的 README 里,我觉得说出了整个时代的方向:

Today’s Software Serves Humans. Tomorrow’s Users will be Agents.
今天的软件是为人类服务的。明天的用户将会是 Agent。

这不是遥远的预言,而是正在发生的现实。

GIMP 的用户界面,是为人类的眼睛和鼠标设计的。Blender 的菜单,是为人类的耐心和直觉设计的。这些软件花了几十年时间演化出复杂的 GUI,背后却没有任何一套接口是为”机器读者”设计的。

CLI-Anything 正在填补这个空白——不是重写软件,不是绕过软件,而是在人类工具和 AI Agent 之间建立一座桥梁。

当 Blender、GIMP、LibreOffice、OBS 都可以被 Agent 精确控制,创作自动化、内容流水线、智能工作流……这些概念就不再只是概念了。


30.4k Star:这个项目用 12 节课拆透了 Claude Code 的全部底层原理
你的 Claude Code 正在悄悄失控:这个开源插件给它装上了仪表盘
YC CEO Garry Tan,一周合并 100 个 PR:他把 Claude Code 变成了一支完整的开发团队
为什么 AI 生成的界面总是那么丑?这个开源插件找到了答案