CLI-Anything:让一切软件变成 Agent 原生工具

> 来源: https://github.com/HKUDS/CLI-Anything

> 团队: 香港大学数据智能实验室(Data Intelligence Lab@HKU),Chao Huang 教授

> 协议: MIT License

> 技术栈: Python 3.10+, Click CLI, Claude Code Plugin

> 测试: 1,298 个测试,100% 通过率

> 日期: 2026-03-09

📌 一句话总结

CLI-Anything 是一个 Claude Code 插件,能自动将任意开源软件的源码分析后,生成一套完整的 CLI 命令行工具,让 AI Agent 可以直接操控 Blender、GIMP、LibreOffice 等专业软件——不需要截图、不需要 GUI 自动化、不需要重写。

🎯 要解决的核心问题

AI Agent 擅长推理,但不擅长操作真正的专业软件。现有方案各有硬伤:

现有方案问题
GUI 自动化(RPA/截图)脆弱,界面一改就崩
API 封装大多数桌面软件没有 API
重写简化版丢失 90% 的功能
MCP/工具协议需要软件方主动适配

CLI-Anything 的思路:不改软件,给软件"套一层壳"——自动生成 CLI 接口,调用软件的真实后端。

🔧 工作原理:7 阶段自动管线


源代码 → 📦 CLI-Anything Plugin (Claude Code)
           ↓
   Phase 1: 🔍 Analyze — 扫描源码,映射 GUI 操作到 API
   Phase 2: 📐 Design — 设计命令组、状态模型、输出格式
   Phase 3: 🔨 Implement — 构建 Click CLI + REPL + JSON 输出 + undo/redo
   Phase 4: 📋 Plan Tests — 生成测试计划(TEST.md)
   Phase 5: 🧪 Write Tests — 实现完整测试套件
   Phase 6: 📝 Document — 更新测试结果文档
   Phase 7: 📦 Publish — 生成 setup.py,安装到 PATH
           ↓
   pip install -e . → cli-anything-<软件名> 可用

关键设计决策

1. 真实后端调用:不是模拟,是真正调用 Blender 的 bpy、LibreOffice 的 headless 模式、sox 处理音频

2. 双模式交互:命令行模式 + REPL 交互模式

3. --json 标志:每个命令都支持 JSON 输出,Agent 直接解析

4. --help 自描述:Agent 通过 which + --help 就能发现和使用工具

📊 已验证的 8 款软件

软件领域CLI 命令后端测试数
🎨 GIMP图像编辑`cli-anything-gimp`Pillow + GEGL/Script-Fu107
🧊 Blender3D 建模渲染`cli-anything-blender`bpy (Python)208
✏️ Inkscape矢量图形`cli-anything-inkscape`SVG/XML 直接操作202
🎵 Audacity音频制作`cli-anything-audacity`Python wave + sox161
📄 LibreOffice办公套件`cli-anything-libreoffice`ODF + headless LO158
📹 OBS Studio直播录制`cli-anything-obs-studio`JSON scene + obs-websocket153
🎞️ Kdenlive视频剪辑`cli-anything-kdenlive`MLT XML + melt155
🎬 Shotcut视频剪辑`cli-anything-shotcut`MLT XML + melt154
**合计****1,298**

100% 通过率:895 单元测试 + 403 端到端测试。

测试分层

层级测什么示例
单元测试每个核心函数项目创建、图层操作、滤镜参数
E2E(原生)文件生成管线ODF ZIP 结构、MLT XML 合法性
E2E(真实后端)调用真实软件LibreOffice → PDF(验证 %PDF- 魔术字节)
CLI 子进程安装后的命令`cli-anything-gimp --json project new` → 合法 JSON

💡 使用示例

安装


# Claude Code 插件方式(推荐)
/plugin marketplace add HKUDS/CLI-Anything
/plugin install cli-anything

# 手动安装
git clone https://github.com/HKUDS/CLI-Anything.git
cp -r CLI-Anything/cli-anything-plugin ~/.claude/plugins/cli-anything

为任意软件生成 CLI


# 本地源码
/cli-anything /home/user/gimp

# GitHub 仓库
/cli-anything https://github.com/blender/blender

Agent 使用生成的 CLI


# 创建文档
cli-anything-libreoffice document new -o report.json --type writer

# 添加标题
cli-anything-libreoffice --project report.json writer add-heading -t "Q1 Report" --level 1

# 添加表格
cli-anything-libreoffice --project report.json writer add-table --rows 4 --cols 3

# 导出为 PDF(调用真实 LibreOffice)
cli-anything-libreoffice --project report.json export render output.pdf -p pdf --overwrite
# → ✓ Exported: output.pdf (42,831 bytes) via LibreOffice headless

🧠 深度分析

理念:CLI 是 Agent 的最佳界面

这个项目的核心论点非常有说服力:

> "Today's Software Serves Humans. Tomorrow's Users will be Agents."

CLI 为什么比 GUI 自动化、API、MCP 更适合 Agent?

特性CLIGUI 自动化APIMCP
通用性✅ 任何软件✅ 任何有界面的❌ 需要提供❌ 需要适配
可靠性✅ 确定性❌ 界面变动即崩
LLM 友好✅ 文本输入输出❌ 需要视觉✅ JSON✅ JSON
自描述✅ --help✅ Schema✅ Schema
改造成本⚠️ 需 Claude Code❌ 软件方做❌ 软件方做

优势

1. 零妥协的真实能力:不是"简化版 Blender",而是真正调用 Blender 渲染引擎

2. 即插即用pip install -e . 后 Agent 通过 which 就能发现

3. 统一体验:所有生成的 CLI 共享 repl_skin.py,交互风格一致

4. 严格测试:缺少后端时测试 fail 而不是 skip,确保不是"假功能"

局限与疑问

1. 强依赖 Claude Code:7 阶段管线需要 Claude Code 的 plugin 系统执行,其他 Agent(OpenClaw、Cursor)能直接复用吗?

2. 源码分析质量:自动分析源码 → 映射 GUI 到 API 这一步,对于复杂软件(如 Blender 有上百万行代码)效果如何?

3. 维护问题:软件更新后,生成的 CLI 是否需要重新跑一遍管线?

4. 8 款之外:目前验证了 8 款,README 列出了几十个"可以做"的,但实际效果未知

5. REPL 模式的状态管理:跨会话的项目状态如何持久化?

与现有方案的对比

方案思路CLI-Anything 优势
**Computer Use**(Anthropic)截图 + 点击不需要视觉模型,确定性强
**MCP**标准化 Agent-工具协议不需要软件方配合
**Open Interpreter**Python 代码执行更结构化,有测试保障
**browser-use**浏览器自动化不限于 Web 应用
**Lobster**(OpenClaw)YAML 工作流可互补:Lobster 编排 + CLI-Anything 执行

🔗 与我们的关联

直接可用

1. OpenClaw Skill 生态:CLI-Anything 生成的 CLI 可以直接作为 OpenClaw 的外部工具使用

2. Lobster 集成:在 Lobster 工作流中调用 cli-anything-* 命令,实现复杂自动化

3. 扩展 deep-research:比如用 cli-anything-libreoffice 直接生成 PDF 格式的研究报告

思考方向

1. 为 OpenClaw 本身生成 CLI?OpenClaw 已经有 CLI(openclaw),但 CLI-Anything 的理念——"让 Agent 能操控任何工具"——和 OpenClaw 的技能系统是同一方向

2. Agent 工具链的未来:CLI(标准化接口)vs MCP(协议标准)vs 原生 API——最终可能共存

3. HKU 团队的其他项目:这个实验室(HKUDS)还做了 VideoRAG、HiGPT 等,都是大模型应用方向的活跃研究组

📊 评分

维度评分(/10)
创新性8.5 — CLI 作为 Agent 万能接口的思路清晰
技术深度8.0 — 7 阶段自动管线 + 1298 个测试
实用价值7.5 — 强依赖 Claude Code,通用性待验证
工程质量9.0 — 测试覆盖、文档、模块化都很好
生态潜力8.0 — 如果能脱离 Claude Code 依赖会更强
**综合****8.2**

报告由深度研究助手自动生成 | 2026-03-09

来源: https://github.com/HKUDS/CLI-Anything