AI Agent的能力边界正在不断拓宽,但它们依然面临一个尴尬的现实:能思考,却干不了具体的“活”。具体来说,当任务涉及到真正使用专业软件时,大多数Agent就束手无策了。
想让Agent帮你用Photoshop修图?不行。让它用Blender渲染3D模型?也不行。操作LibreOffice批量生成报表?依然无法实现。
怎么办呢?目前主流的解决方案各有各的痛点:
- UI自动化(RPA):通过截图、模拟点击鼠标来操作,看似智能实则脆弱,软件界面稍有变动就可能失效。
- API封装:需要开发者专门为软件编写接口,成本高昂且难以覆盖软件的全部功能,90%的操作可能都无法接入。
- 简化替代:用自研的简陋工具凑合,功能和专业性大打折扣,无法满足专业人士的需求。
那么,是否存在一种方案,能让AI Agent原生、无损耗地控制任何专业软件?答案是肯定的,这就是今天要介绍的 CLI-Anything。
CLI-Anything:一行命令生成AI可控的CLI工具
CLI-Anything是香港大学开源的一个热门项目,其核心理念极其直接:只要软件有源代码,就能通过一行命令为其生成一个完整的命令行接口(CLI),从而让AI Agent直接控制。
这意味着什么?举个例子,如果你想授权AI Agent操作开源的图像编辑器GIMP,只需:
# 在 Claude Code 中运行
/cli-anything ./gimp
运行后,你将得到一个 cli-anything-gimp 命令。AI Agent就可以像使用其他命令行工具一样调用它,例如:
# 创建项目
cli-anything-gimp project new --width 1920 --height 1080 -o poster.json
# 添加图层
cli-anything-gimp --json layer add -n “Background” --type solid --color “#1a1a2e”
# 渲染输出
cli-anything-gimp --project poster.json export render output.png
整个过程无需打开GUI界面,AI仅通过命令行即可完成复杂的图像编辑操作。最关键的是——它调用的始终是真实的GIMP软件内核,不会丢失任何专业功能。
七阶段自动化流水线:如何实现?
CLI-Anything能够自动生成可用的CLI,依靠的是一套成熟的七阶段自动化流水线:
- 🔍 分析(Analyze) — 扫描软件源代码,将GUI操作映射到底层API。
- 📐 设计(Design) — 规划CLI的命令分组、状态模型以及输出格式。
- 🔨 实现(Implement) — 使用Python的Click库构建完整的CLI,包含交互式REPL、JSON输出、撤销/重做等高级功能。
- 📋 规划测试(Plan Tests) — 为生成的CLI制定测试计划。
- 🧪 编写测试(Write Tests) — 实现完整的测试套件,确保CLI的可靠性。
- 📝 文档化(Document) — 自动更新测试文档。
- 📦 发布(Publish) — 创建
setup.py,将生成的CLI工具安装到系统PATH中。
整个流程全自动运行,用户只需提供目标软件的路径即可。
生产级验证:覆盖11款软件,1508个测试全部通过
这并非停留在概念演示阶段。CLI-Anything已经成功为 11款专业软件 生成了可用的CLI,并进行了严格的测试验证,结果全部通过:
| 软件 |
领域 |
测试数量 |
| GIMP |
图像编辑 |
107 |
| Blender |
3D建模渲染 |
208 |
| Inkscape |
矢量图形 |
202 |
| Audacity |
音频制作 |
161 |
| LibreOffice |
办公套件 |
158 |
| OBS Studio |
直播录制 |
153 |
| Kdenlive |
视频剪辑 |
155 |
| Shotcut |
视频剪辑 |
154 |
| Zoom |
视频会议 |
22 |
| Draw.io |
流程图 |
138 |
| AnyGen |
AI内容生成 |
50 |
| 总计 |
|
1,508 (100% 通过) |
100%的测试通过率,覆盖了从创意设计、音视频处理到3D建模和办公自动化等多个核心领域,充分证明了该方案的可行性与鲁棒性。
多平台支持:主流的AI编程助手均可使用
CLI-Anything不绑定特定AI,它支持多种主流的AI编程助手环境:
- Claude Code(推荐):可通过插件市场一键安装。
- OpenCode:复制命令文件即可使用。
- Codex:通过skill安装。
- Qodercli:社区提供支持。
安装过程非常简单,以在Claude Code中为例:
# 添加插件市场
/plugin marketplace add HKUDS/CLI-Anything
# 安装插件
/plugin install cli-anything
# 开始为软件生成CLI
/cli-anything ./gimp
核心设计哲学:不做替代品,只做桥梁
CLI-Anything设计中最巧妙的一点在于其定位:它并不试图替代或简化软件原有的GUI,而是为AI Agent专门开辟一条稳定的、原生的命令行控制通道。
这一理念通过几个关键设计得以贯彻:
- 真实软件调用:CLI工具生成的是有效的项目文件(如
.blend, .odt),并调用真实的软件(Blender, LibreOffice)进行渲染或处理,绝不使用简化方案。
- 双重交互模式:生成的每个CLI都同时支持交互式REPL(方便人类开发者调试)和子命令接口(适合AI Agent进行自动化脚本调用)。
- 结构化JSON输出:内置
--json 参数,Agent可以直接获取并解析结构化的操作结果数据,省去了复杂的非结构化文本解析步骤。
- 严格的测试驱动:如果后端依赖的软件不存在,相关测试会直接失败而非被跳过,确保所有声称可用的功能都是真实可用的。
实际应用场景有哪些?
- 赋能AI工作流:设计师可以结合Claude和GIMP CLI批量处理图片;视频剪辑师可以让Agent通过Shotcut CLI自动生成粗剪素材,极大提升内容生产的自动化程度。
- 统一散乱的API:对于功能割裂的Web服务,可以用CLI-Anything将其封装成具有统一状态管理的命令行工具。一个工具就能替代数十个零散的原始API调用,既节省大模型调用的Token,也便于管理和维护。
- 替代脆弱的GUI自动化:传统上Agent依赖计算机视觉进行截图和像素点模拟点击,极易因界面变化而失效。现在通过直接、稳定的命令行调用,自动化流程的可靠性大幅提升,并且可以基于此自动化生成测试用例和性能基准。
目前,这个极具潜力的开源项目已在GitHub上获得超过10.7k星标,采用MIT协议。如果你对如何让AI更深入地融入实际工作流感兴趣,不妨前往项目主页深入了解。也欢迎在云栈社区的人工智能或开源实战板块与其他开发者交流探讨。