适合人群
- 想让 AI 代理直接操控专业软件(GIMP、Blender、LibreOffice 等)的开发者
- 需要自动化 GUI 软件操作的 DevOps 工程师
- 构建 AI Agent 工作流的技术负责人
- 对 AI 代理 + 软件集成感兴趣的研究者和爱好者
准备清单
- Python 3.10+
- Claude Code / Cursor / VS Code + Copilot(任一 AI 编码 IDE)
- 目标软件已安装(如 GIMP、Blender、LibreOffice 等)
- 基本的命令行操作能力
CLI-Anything 是什么
CLI-Anything 是由香港大学数据科学实验室(HKUDS)开发的 AI 代理工具框架,项目已获得 32,300+ Stars,拥有 500+ 社区贡献者。
核心理念:今天的软件服务人类,明天的用户将是 AI 代理。 CLI-Anything 通过一条命令,将任意软件转化为 AI 代理可直接操作的 CLI 工具,让软件变得"Agent-Native"。
它解决了什么问题
当前 AI 代理操控软件主要有两种方式:
- API 调用 — 很多桌面软件没有 API,AI 无法操作
- GUI 自动化 — 基于截图和像素点击,脆弱且不稳定
CLI-Anything 提供了第三条路:自动生成 CLI 包装器,让 AI 代理通过命令行直接操控软件,稳定、可测试、可编程。
7 阶段全自动生成管线
CLI-Anything 会自动完成以下 7 个阶段:
| 阶段 | 名称 | 功能 |
|---|---|---|
| Phase 1 | Analyze | 扫描源代码,将 GUI 操作映射为 API |
| Phase 2 | Design | 设计命令组、状态模型和输出格式 |
| Phase 3 | Implement | 构建 Click CLI,含 REPL、JSON 输出、撤销/重做 |
| Phase 4 | Plan Tests | 创建测试计划(TEST.md) |
| Phase 5 | Write Tests | 实现完整测试套件 |
| Phase 6 | Document | 生成 SKILL.md 文档 |
| Phase 7 | Publish | 创建 setup.py,安装到 PATH |
已验证的 35+ 个软件领域
CLI-Anything 已经成功为以下类型的软件生成了 CLI:
- 图像编辑 — GIMP(图像处理 CLI)
- 3D 建模 — Blender(场景渲染、建模操作)
- 矢量图形 — Inkscape(SVG 编辑)
- 音频制作 — Audacity(音频处理)
- 办公套件 — LibreOffice(文档生成、PDF 导出)
- 视频编辑 — Shotcut、Kdenlive(视频剪辑)
- 直播录制 — OBS Studio(场景切换、录制控制)
- AI 图像生成 — ComfyUI、Stable Diffusion WebUI
- 本地 LLM — Ollama(模型管理、推理)
- 浏览器自动化 — Playwright
- 视频会议 — Zoom
- 乐谱 — MuseScore
- 游戏引擎 — Godot
- 科学计算 — FreeCAD、QGIS、ParaView
- 以及更多...
全部 2229 个测试 100% 通过率。
操作步骤
1. 在 Claude Code 中安装插件(推荐)
# 添加市场
/plugin marketplace add HKUDS/CLI-Anything
# 安装插件
/plugin install cli-anything
2. 一键生成 CLI
将目标软件的源代码路径传给 CLI-Anything:
# 为 GIMP 生成 CLI
/cli-anything ./gimp
# 为 LibreOffice 生成 CLI
/cli-anything ./libreoffice
AI 会自动完成 7 阶段管线,从分析源码到生成可安装的 CLI 工具。
3. 迭代优化
如果生成的 CLI 覆盖不够全面,可以继续优化:
# 对已有 CLI 进行差距分析并扩展
/cli-anything:refine ./gimp
# 指定要增加的功能
/cli-anything:refine ./gimp "我想增加图像批量处理和滤镜的 CLI"
refine 命令是增量非破坏性的,可以多次运行。
4. 手动安装和使用 CLI
# 进入生成的 CLI 目录
cd <software>/agent-harness
# 安装到系统
pip install -e .
# 验证安装
which cli-anything-<software>
# 查看帮助
cli-anything-<software> --help
# 进入 REPL 交互模式
cli-anything-<software>
# JSON 输出模式(供其他 AI 代理使用)
cli-anything-<software> --json <command>
5. 使用 CLI-Hub 安装社区构建的 CLI
# 安装 CLI-Hub 包管理器
pip install cli-anything-hub
# 搜索可用的 CLI
cli-hub search blender
# 安装社区构建的 CLI
cli-hub install blender
6. 在自动化工作流中使用
生成的 CLI 支持 --json 标志,可以方便地集成到自动化脚本中:
import subprocess, json
# 调用 GIMP CLI 进行图像处理
result = subprocess.run(
["cli-anything-gimp", "--json", "apply-filter", "--name", "blur", "--radius", "5"],
capture_output=True, text=True
)
output = json.loads(result.stdout)
print(output)
7. 让 AI 代理自主发现和使用工具
每个生成的 CLI 都包含 SKILL.md 文件,AI 代理可以通过阅读这个文件了解工具的能力和使用方法。CLI-Anything 还提供 meta-skill,让 AI 代理自主发现和安装所需的 CLI:
我需要处理一批图片,请帮我找到合适的 CLI 工具并安装
实际应用场景
场景 1:AI 自动生成 PPT
用户:帮我用 LibreOffice 生成一份销售报告 PPT
AI:(调用 cli-anything-libreoffice)创建文档 → 插入数据 → 生成图表 → 导出 PPTX
场景 2:AI 自动处理图片
用户:把这 100 张图片批量调整为统一尺寸并加水印
AI:(调用 cli-anything-gimp)批量读取 → 调整尺寸 → 添加水印 → 导出
场景 3:AI 自动剪辑视频
用户:把这个会议录像剪辑成 5 分钟精华版
AI:(调用 cli-anything-shotcut)分析时长 → 标记关键段 → 剪辑 → 导出
常见问题
Q: 和 GUI 自动化(如 PyAutoGUI)有什么区别?
A: GUI 自动化通过模拟鼠标点击和键盘输入来操控软件,非常脆弱——窗口位置变了就会失败。CLI-Anything 直接调用软件的后端 API,输出结构化 JSON,稳定可靠且可测试。关于更多 AI 自动化工具,可以阅读 PPT Master:AI 自动生成原生 PPT。
Q: 支持哪些 AI 编码代理?
A: 支持 Claude Code(主要平台,通过插件市场分发)、Pi Coding Agent、OpenCode、Goose、OpenClaw、Codex、GitHub Copilot CLI 等。社区还在不断增加新的支持平台。
Q: 生成的 CLI 质量如何?
A: 每个生成的 CLI 都包含完整的多层测试:单元测试(合成数据)、端到端测试(真实文件和软件)、CLI 子进程验证。目前 2229 个测试全部通过。你可以在生成后运行测试验证:python3 -m pytest cli_anything/<software>/tests/ -v
Q: 可以用于闭源/商业软件吗?
A: CLI-Anything 需要访问软件的源代码来分析 GUI 操作。对于没有源代码的商业软件,可以考虑通过其公开的 API 文档或 SDK 来生成 CLI。项目也支持根据 API 文档生成 CLI。
Q: 对 Windows 支持如何?
A: CLI-Anything 本身是 Python 项目,跨平台运行。但部分生成的 CLI 依赖目标软件的 Python 绑定(如 bpy for Blender),需要确认目标软件在 Windows 上是否提供对应的 Python 接口。想了解更多 AI 开发工具?查看 Awesome DESIGN.md:69 个品牌设计系统。
参考来源
下一步建议
- 想用 AI 生成更专业的 UI?看看 Awesome DESIGN.md:69 个品牌设计系统
- 想用 AI 赚钱?阅读 AI 副业赚钱手册:446+ 实战方案
- 需要美化你的 GitHub 主页?查看 ICONIC:开发者技能图标库
