CLI-Anything - 让任意软件都能被 AI Agent 控制

CLI-Anything让今天的软件为明天的 AI Agent 而生。

你的 AI 编码助手想要控制 GIMP 修图、操作 Blender 建模、甚至管理 LibreOffice 文档,但这些软件没有 API?CLI-Anything 让这一切成为可能。

为什么需要 CLI-Anything?

如果你经常使用 Claude Code、Cursor、OpenCode 等 AI 编码助手,你一定遇到过这样的困境:

  • AI 能写代码,但无法直接操作你电脑上的专业软件
  • 想要自动化处理图片、视频、文档,却苦于没有 API
  • 每个软件的学习成本都很高,AI 也无法帮你”一键搞定”

CLI-Anything 解决了这个问题 —— 它通过自动生成命令行接口,让任何软件都能被 AI Agent 控制。

CLI-Anything 是什么?

CLI-Anything 是由 香港大学数据科学实验室 (HKUDS) 开发的开源项目,核心目标是:

让世界上所有的软件都能被 AI Agent 原生控制

它通过分析软件源码,自动生成完整的 CLI 工具,包括:

  • 📐 命令设计 — 自动映射软件功能到命令行参数
  • 🔨 CLI 实现 — 基于 Python Click 框架生成可执行工具
  • 🧪 完整测试 — 自动生成单元测试和 E2E 测试
  • 📚 AI 技能定义 — 生成 SKILL.md,让 AI 自动学习使用方法
  • 📦 一键安装pip install 即可使用
1
软件源码 → CLI-Anything → 完整 CLI 工具 → AI Agent 控制

核心特性

1. 多平台 AI Agent 支持

CLI-Anything 支持目前主流的 AI 编码平台:

平台 安装方式 状态
Claude Code /plugin install cli-anything ✅ 官方支持
OpenCode /cli-anything ./gimp ✅ 官方支持
OpenClaw @cli-anything build ./gimp ✅ 社区支持
Codex cli-anything build ./gimp ✅ 社区支持
Qodercli /cli-anything:cli-anything ./gimp ✅ 社区支持
GitHub Copilot CLI /cli-anything:cli-anything ./gimp ✅ 社区支持
Goose 通过 CLI Provider 🧪 实验性

2. 七阶段自动化流程

CLI-Anything 采用严谨的七阶段流程生成 CLI:

1
2
3
4
5
6
7
Phase 1: 分析 (Analyze) — 扫描源码,映射 GUI 动作到 API
Phase 2: 设计 (Design) — 架构命令组、状态模型、输出格式
Phase 3: 实现 (Implement) — 构建 Click CLI,支持 REPL、JSON 输出、撤销/重做
Phase 4: 规划测试 (Plan Tests) — 创建 TEST.md,规划单元测试 + E2E 测试
Phase 5: 编写测试 (Write Tests) — 实现完整测试套件
Phase 6: 文档 (Document) — 更新 TEST.md 测试结果
Phase 7: 发布 (Publish) — 创建 setup.py,安装到 PATH

3. 已支持的软件(16+)

CLI-Anything 社区已经贡献了 16+ 个软件的 CLI 封装:

创意工具

  • 🎨 GIMP — 图像编辑
  • 🎬 Blender — 3D 建模与动画
  • 🎵 Audacity — 音频编辑
  • 🎼 MuseScore — 乐谱编辑
  • 🎥 Kdenlive / Shotcut — 视频剪辑
  • 🖼️ Krita — 数字绘画
  • 📐 Inkscape — 矢量图形

生产力工具

  • 📄 LibreOffice — 办公套件
  • 📝 Mubu — 思维导图
  • 📊 Draw.io — 流程图
  • 📓 NotebookLM — 笔记管理

AI/开发工具

  • 🧠 ComfyUI — AI 图像生成工作流
  • 🦙 Ollama — 本地 LLM 管理
  • 🌐 Novita AI — OpenAI 兼容 API
  • 🛡️ AdGuard Home — 网络过滤

4. CLI-Hub 生态

CLI-Anything 推出了 CLI-Hub —— 一个中央注册表,你可以:

  • 🔍 浏览所有社区 CLI
  • 📦 一键安装:pip install cli-anything-gimp
  • 🤖 Agent 自动发现 — AI 可以自主浏览并安装所需 CLI
1
2
3
# Agent 可以自主完成:
"Find appropriate CLI software in CLI-Hub and complete the task: edit image"
# → 自动发现 GIMP CLI → pip install → 读取 SKILL.md → 执行任务

快速开始

Claude Code 用户

1
2
3
4
5
6
7
8
9
10
11
# 添加插件市场
/plugin marketplace add HKUDS/CLI-Anything

# 安装插件
/plugin install cli-anything

# 生成 CLI(以 GIMP 为例)
/cli-anything:cli-anything ./gimp

# 可选:持续优化
/cli-anything:refine ./gimp "batch processing and filters"

OpenCode 用户

1
2
3
4
5
6
# 复制命令到配置目录
cp CLI-Anything/opencode-commands/*.md ~/.config/opencode/commands/
cp CLI-Anything/cli-anything-plugin/HARNESS.md ~/.config/opencode/commands/

# 生成 CLI
/cli-anything ./gimp

使用生成的 CLI

无论通过哪个平台生成,CLI 的使用方式都一样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 安装到 PATH
cd gimp/agent-harness && pip install -e .

# 查看帮助
cli-anything-gimp --help

# 创建新项目
cli-anything-gimp project new --width 1920 --height 1080 -o poster.json

# 添加图层
cli-anything-gimp layer add -n "Background" --type solid --color "#1a1a2e"

# 进入交互式 REPL
cli-anything-gimp

为什么 CLI 是 Agent 的最佳接口?

CLI-Anything 选择 CLI 作为 AI Agent 和软件之间的桥梁,因为:

特性 CLI 优势
结构化 & 可组合 文本命令与 LLM 格式天然匹配,支持链式调用
轻量 & 通用 最小开销,跨平台无需额外依赖
自描述 --help 提供自动文档,Agent 可自动发现
已被验证 Claude Code 每天通过 CLI 运行数千个真实工作流
Agent 优先设计 JSON 输出消除解析复杂度
确定性 & 可靠 一致的结果确保可预测的 Agent 行为

技术架构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
┌─────────────────────────────────────────────────────────┐
│ AI Agent │
│ (Claude Code / OpenCode / Cursor / Codex ...) │
└────────────────────┬────────────────────────────────────┘
│ MCP / CLI
┌────────────────────┴────────────────────────────────────┐
│ CLI-Anything Plugin │
│ ┌─────────────┐ ┌─────────────┐ ┌───────────────────┐ │
│ │ Analyze │ │ Design │ │ Implement │ │
│ │ (源码分析) │ │ (命令设计) │ │ (CLI 实现) │ │
│ └─────────────┘ └─────────────┘ └───────────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌───────────────────┐ │
│ │ Plan Tests │ │ Write Tests │ │ Document │ │
│ │ (测试规划) │ │ (编写测试) │ │ (文档生成) │ │
│ └─────────────┘ └─────────────┘ └───────────────────┘ │
│ ┌───────────────────────────────────────────────────┐ │
│ │ Publish (发布打包) │ │
│ └───────────────────────────────────────────────────┘ │
└────────────────────┬────────────────────────────────────┘

┌────────────────────┴────────────────────────────────────┐
│ Generated CLI Package │
│ ┌─────────────┐ ┌─────────────┐ ┌───────────────────┐ │
│ │ CLI Tool │ │ Tests │ │ SKILL.md │ │
│ │ (Python pkg)│ │ (pytest) │ │ (AI 可发现技能定义) │ │
│ └─────────────┘ └─────────────┘ └───────────────────┘ │
└─────────────────────────────────────────────────────────┘

实际应用场景

场景 1:自动化图像处理

1
2
3
4
5
# 批量处理图片
cli-anything-gimp batch process \
--input ./photos/*.jpg \
--action "resize 1920x1080, apply filter 'vintage', export png" \
--output ./processed/

场景 2:AI 辅助 3D 建模

1
2
3
4
5
# 创建场景并渲染
cli-anything-blender scene new --name "ProductShowcase"
cli-anything-blender object add --type cube --location "0,0,0"
cli-anything-blender material apply --object Cube --material "Metallic"
cli-anything-blender render --output ./render.png --resolution 4K

场景 3:自动化文档处理

1
2
3
4
5
# 批量转换文档格式
cli-anything-libreoffice convert \
--input ./docs/*.docx \
--format pdf \
--output ./pdfs/

社区贡献

CLI-Anything 是一个活跃的开源项目,欢迎贡献:

  • 🌟 Star 项目表示支持
  • 📝 提交新的软件 CLI
  • 🔧 改进现有 CLI
  • 🐛 报告 Bug
  • 📖 完善文档

贡献方式:Fork → 修改 → PR,CLI-Hub 会自动更新。

与其他方案对比

方案 需要 API 需要重新编译 学习成本 Agent 友好
原生 API ✅ 需要 ❌ 不需要 取决于 API 设计
GUI 自动化 ❌ 不需要 ❌ 不需要 不稳定
重新封装 ❌ 不需要 ✅ 需要 极高
CLI-Anything ❌ 不需要 ❌ 不需要 ✅ 原生支持

总结

CLI-Anything 解决了 AI Agent 时代的核心问题:

如何让现有的软件生态为 AI Agent 所用?

它的答案是:自动生成 CLI 接口 —— 不需要 API、不需要重新编译、不需要复杂的集成。

  1. 自动化 — 七阶段流程自动生成完整 CLI
  2. 通用性 — 适用于任何开源软件
  3. Agent 原生 — JSON 输出 + SKILL.md,AI 可自动学习使用
  4. 社区驱动 — 16+ 软件已支持,持续扩展

如果你希望 AI Agent 能够控制更多软件、自动化更多工作流,CLI-Anything 绝对值得尝试。


📌 项目地址: https://github.com/HKUDS/CLI-Anything

🌐 CLI-Hub: https://hkuds.github.io/CLI-Anything/