CLI-Anything:从源码自动生成 AI Agent 可调用的 CLI

来源: HKUDS (香港大学数据科学实验室)
GitHub: https://github.com/HKUDS/CLI-Anything
发布时间: 2026-03-08

项目基本信息

指标 数值
GitHub Stars 7,995+ ⭐(发布几天内涨了30倍)
代码行数 ~45,501 行 Python
主要语言 Python (≥3.10)
依赖 Click ≥8.0, Pillow ≥10.0, prompt-toolkit ≥3.0

核心概念

目标: 让所有 GUI 软件都能被 AI Agent 调用

本质: 代码分析 + 能力映射 + CLI 封装

GUI 软件源码 → 分析架构 → 生成 CLI → Agent 调用

为什么这事儿重要:AI Agent 能力越来越强,但能调用的工具有限。大部分桌面软件没有 API,MCP 解决的是"有 API 的服务怎么接入",CLI-Anything 解决的是"没有 API 的软件怎么办"。

工作流程

  1. 输入: 本地路径或 GitHub 仓库地址
  2. 分析: 识别后端引擎、数据模型、API 调用
  3. 生成: 创建 Click 命令组 + Session 状态管理
  4. 输出: 可安装的 Python CLI 包

已支持的 8 款软件

软件 类型 用途
GIMP 图像编辑 Photoshop 替代品
Blender 3D 建模/动画 建模、渲染、动画
Inkscape 矢量图形 Illustrator 替代品
Audacity 音频编辑 录音、剪辑、降噪
LibreOffice 办公套件 Word/Excel/PPT
OBS Studio 直播录制 场景切换、推流
Kdenlive 视频剪辑 非线性视频编辑
Shotcut 视频剪辑 另一款视频编辑器

使用方式

# 安装生成的 CLI
pip install -e .

# 子命令模式
cli-anything-gimp project new --width 1920 --height 1080
cli-anything-gimp layer add-from-file photo.jpg

# REPL 交互模式
cli-anything-gimp repl
>>> project new --width 800 --height 600
>>> layer add background.png
>>> filter apply sharpen
>>> project export result.png
>>> undo

技术架构

cli_anything/<software>/
├── core/              # project.py, session.py, layers.py...
├── utils/             # repl_skin.py, helpers
├── tests/             # pytest 测试
└── <software>_cli.py  # 入口文件

关键特性:

与 MCP 的关系

维度 CLI-Anything MCP
目标 让无 API 的软件可被调用 标准化工具接口协议
输入 软件源代码 预定义 API/服务
输出 Python CLI 包 JSON-RPC 服务
适用场景 本地开源软件 云服务、第三方 API

结论: 互补关系。CLI-Anything 生成的 CLI 可作为 MCP 的底层实现。MCP 定义"怎么调用",CLI-Anything 解决"调用什么"。

打个比方:MCP 是统一的插座标准,CLI-Anything 是给没有插头的设备装一个插头。

限制

一些思考

CLI-Anything 代表了一个方向:让 AI Agent 的能力边界从"有 API 的世界"扩展到"有源码的世界"

这带来一个有趣的价值重估——开源软件的价值不只是"免费"和"可定制",现在又多了一个维度:AI 可调用性。一个软件如果开源,就有机会被 AI Agent 无缝集成;如果闭源,就放弃了这条路径。

对于闭源软件,要实现类似效果,可能需要走另一条路:逆向工程 + 自动化测试,或者屏幕识别 + 自动化操作。但这两条路都不太现实——逆向有法律风险,屏幕操作不够稳定。

标签

#CLI #AI-Agent #开源项目 #HKUDS #Python #工具生成 #MCP