港大开源项目 35K+ Stars,重新定义 Agent 与软件的关系
一句话说清楚它是什么
CLI-Anything 是香港大学数据科学实验室(HKUDS)开源的革命性项目——它可以让 AI Agent 用一行命令,把 GIMP、Blender、LibreOffice、OBS、ComfyUI 等任何软件变成自己能操控的命令行工具。
不用写 UI 自动化脚本,不用研究 API,不用做任何适配——直接喂给它源码,自动生成生产级 CLI。
为什么这个项目值得你关注?
当前 AI Agent 面临的最大痛点
现在的 AI 编程 Agent(Claude Code、Cursor、Codex 等)虽然推理能力很强,但无法真正使用专业软件。举个例子:
- 你让 Agent “把这张图片的背景变成蓝色”,它做不到——因为它操作不了 GIMP
- 你让 Agent “生成一份 Q1 财报 PPT”,它只能给你 Markdown——因为它用不了 LibreOffice Impress
- 你让 Agent “渲染这个 3D 模型并导出 PNG”,它只能写脚本——因为它控制不了 Blender
当前的处理方式有三种,都不理想:
| 方式 | 问题 |
|---|---|
| UI 自动化(截图+点击) | 极其脆弱,换分辨率就崩 |
| 调用有限 API | 覆盖不全,大部分软件没有好 API |
| 重新实现一遍 | 工程量巨大,永远追不上原版 |
CLI-Anything 的解法
不为 Agent 重新造轮子,而是给轮子装一个 Agent 能用的方向盘。
它自动分析软件源码 → 生成命令行接口 → 写测试 → 发文档,全程无需人工编码。Agent 通过标准的 --help、--json、子命令来操作软件,可靠、可测试、可组合。
核心架构:7 阶段全自动流水线
CLI-Anything 不只是一个 “脚手架生成器”,它是一套完整的工程化方法论:
源码 → 分析 → 设计 → 实现 → 测试规划 → 测试实现 → 文档 → 发布
| 阶段 | 做什么 | 为什么重要 |
|---|---|---|
| Phase 1 - 分析 | 扫描源码,映射 GUI 操作到可调用接口 | 建立软件能力的完整地图 |
| Phase 2 - 设计 | 架构命令组、状态模型、输出格式 | 确保 CLI 结构合理、可扩展 |
| Phase 3 - 实现 | 生成 Click CLI,含 REPL、JSON 输出、undo/redo | 产出可直接使用的工具 |
| Phase 4 - 测试规划 | 创建 TEST.md 测试计划 | 定义质量基线 |
| Phase 5 - 测试实现 | 实现单元测试 + 端到端测试 | 验证功能正确性 |
| Phase 6 - 文档 | 更新测试结果文档 | 可追溯的质量记录 |
| Phase 6.5 - SKILL.md | 自动生成 AI 可发现的技能定义 | Agent 能自己理解和使用 CLI |
| Phase 7 - 发布 | 创建 setup.py,安装到 PATH | 一条 pip install 即可 |
当前总测试通过数:2,280+ 条,100% 通过率(含 1,682 单元测试 + 579 端到端测试 + 19 Node.js 测试)。
支持哪些软件?
截至 2026 年 5 月,已支持 35+ 款真实软件,覆盖多个领域:
???? 创意 & 媒体
GIMP(图像编辑)、Blender(3D 建模)、Inkscape(矢量图形)、Audacity(音频)、Kdenlive / Shotcut(视频编辑)、OBS Studio(直播推流)
???? 办公 & 效率
LibreOffice(文档/表格/演示)、Zotero(文献管理)、Obsidian(知识管理)、幕布(大纲笔记)
???? AI / ML
ComfyUI(AI 绘图工作流)、Ollama(本地 LLM)、Dify Workflow、NotebookLM
???? 开发 & 基础设施
n8n(工作流自动化)、http://Draw.io / Mermaid(图表)、Chromium(浏览器自动化)、PM2、ChromaDB
???? 游戏开发
Godot Engine、s&box(Source 2)
???? 企业 & 通信
Zoom、Mailchimp(303 条命令)、Firefly III(财务管理)
???? 科学计算
FreeCAD(3D CAD)、QGIS(地理信息)、CloudCompare(点云处理)
???? 还有更多
AdGuard Home、WireMock、LLDB、RenderDoc、Unreal Insights、ETH2……
理论上:任何有源码的软件,都能自动生成 CLI。
真实落地案例:1 小时搞定钉钉 CLI
这是目前社区最有价值的实战案例之一,来自开发者 @Rang:
背景
作者日常重度使用钉钉,但钉钉的开放性和 Agent 生态远不如飞书。虽然阿里内部(悟空项目)在推 CLI 化,对外仍无原生 CLI。
实施过程(三轮迭代)
第一轮 - 生成骨架:
/cli-anything <钉钉 SDK 源码路径>
自动生成了基础可运行的 CLI 框架,测试全部通过。但远未达到钉钉复杂权限模型下的生产可用水平。
第二轮 - 自主完善:
/cli-anything:refine <钉钉 SDK 源码路径>
自动修补遗漏部分,生成 SKILL.md。然后让另一个 Agent(OpenClaw)以”使用者”身份审查,提出 6 条改进建议:
- 单方法 Schema 查询(避免整模块输出过大)
- 统一 Schema 结构(方便 Agent 长期解析)
- Schema 校验(调用前校验字段、类型、必填项)
- 多种 JSON 输入方式(body-json/body-file/header-json/header-file)
- 结构化错误输出(Agent 可自动修复)
- 示例模板输出(帮助 Agent 快速构造合法调用)
第三轮 - 定向完善:
/cli-anything:refine <路径> '实现上述6条改进建议'
成果
- ✅ 消息发送
- ✅ 日程创建
- ✅ 报表读取
- ✅ 完整的 Schema 自省能力
- ✅ 测试全部通过,总耗时约 1 小时
- 项目已开源:github.com/sonicrang/dingtalk-cli
这个案例告诉我们的关键洞察
一个 Agent 生成工具,另一个 Agent 审查工具,第三个 Agent 使用工具 —— 这就是 AI 时代的新开发范式。
独特亮点
1. Preview + Live Preview + Trajectory 系统
不是简单的 “执行命令”,而是构建了一个完整的预览-实时预览-回放 循环:
- 生成真实渲染产物
- 刷新实时预览会话
- 记录命令到预览的历史轨迹
官方 Demo 中,FreeCAD Curiosity Rover 和 Blender Orbital Relay Drone 完全通过这个预览驱动的工作流构建。
2. CLI-Hub:让 Agent 自己发现和安装工具
CLI-Anything 不只是生成工具,还提供了一个 Agent 可以自主浏览和安装的命令行工具市场:
pip install cli-anything-hub
cli-hub install
Agent 可以自己发现 20+ 个分类好的 CLI,无需人类干预。
3. 零妥协的真实软件集成
CLI 不是重新实现软件功能,而是调用真正的软件后端:
- LibreOffice → 生成真实 PDF(验证
%PDF-magic bytes) - Blender → 渲染真实 PNG
- Audacity → 调用 sox 处理音频
测试不是 mock,是真的跑了一遍真实软件并验证输出。
4. Agent-Native 设计
每一个生成的 CLI 都内置:
--json标志:机器可消费的结构化输出--help:Agent 动态自省能力- REPL 模式:交互式会话,带状态管理
- SKILL.md:Agent 专属的使用指南
局限与思考
坦白地说,CLI-Anything 不是银弹:
| 局限性 | 说明 |
|---|---|
| 需要前沿模型 | Claude Opus 4.6 / GPT-5.4 级别才能可靠生成 |
| 依赖源码 | 纯二进制软件效果打折 |
| 多轮迭代 | 一次生成可能覆盖不全,需要 /refine |
| 权限和平台规则 | 生成工具能调用 API,但权限仍需人工配置(如钉钉案例中的 access_token) |
| 从框架到生产有距离 | 面对复杂系统,真实功能验证不可省略 |
但换个角度想——它把一个原本需要数周的工作压缩到了 1 小时。剩下的不是它做不到,而是”还需要人来判断和调优”。
对开发者的启示
CLI-Anything 背后有一个更深层的趋势判断:
“今天的软件为人设计,明天的用户是 Agent。”
这对我们意味着什么?
- CLI 正在复兴 —— 不是因为人类更喜欢敲命令,而是因为 Agent 最擅长消费结构化文本
- 软件需要 “Agent-Native” 层 —— 就像当年需要 “Mobile-First”,未来需要 “Agent-First”
- 工具生成 + Agent 审查 + Agent 使用 —— 这是新的开发流水线
- 不要再写脆弱的 UI 自动化了 —— 给 Agent 装 CLI 方向盘,而不是让它 “看着屏幕点按钮”
快速上手
# 1. 在 Claude Code 中添加插件市场
/plugin marketplace add HKUDS/CLI-Anything
# 2. 安装插件
/plugin install cli-anything
# 3. 给任意软件生成 CLI
/cli-anything /path/to/software
# 4. 安装并使用
cd software/agent-harness && pip install -e .
cli-anything-<软件名> --help
cli-anything-<软件名> --json <子命令>
结语
35,000+ GitHub Stars 不只是数字——它代表着一个共识正在形成:Agent 时代的软件交互方式,将从 GUI 转向 CLI。
CLI-Anything 不是 “又一个 AI 工具”,它抓准了 Agent 落地最难的环节:让 Agent 稳定、可验证地使用真实软件能力。
而 1 小时生成钉钉 CLI 的实战案例告诉我们:这条路已经走通了。
项目地址:github.com/HKUDS/CLI-Anything
官方站点:clianything.org
CLI-Hub 市场:clianything.cc
如果你也在做 Agent 落地,强烈建议关注这个项目。它不是未来,它正在发生。