project
CLI-Anything - 港大开源代码转AI Agent的原生工具
CLI-Anything 是香港大学数据科学实验室(HKUDS)开源的工具,能将任意开源软件的代码库一键转化为 AI Agent 可用的命令行接口(CLI)。
CLI-Anything是什么
CLI-Anything 是香港大学数据科学实验室(HKUDS)开源的工具,能将任意开源软件的代码库一键转化为 AI Agent 可用的命令行接口(CLI)。工具通过 7 阶段自动化流程(分析、设计、实现、测试等),让 GIMP、Blender、LibreOffice 等专业软件摆脱脆弱的 GUI 自动化,变为稳定、结构化、可编程的 Agent 原生工具,实现”今天的软件为人而生,明天的用户是 Agent”的愿景。
CLI-Anything的主要功能
-
一键生成 CLI:通过单条命令自动完成从源码分析到发布的 7 阶段全流程,将任意开源软件转化为 Agent 可用的命令行工具。
-
真实软件集成:直接操作现有专业软件(如 GIMP、Blender、LibreOffice),调用真实应用程序处理项目文件。
-
告别 GUI 自动化:摒弃截图识别和模拟点击的脆弱方案,采用纯命令行交互,消除 UI 元素变动导致的失效风险。
-
结构化输出:支持 REPL 交互模式和脚本子命令双模式,内置
--json标志输出结构化数据,便于 Agent 直接消费解析。 -
生产级测试保障:在 9 个专业软件上完成 1436 个测试用例验证,包含单元测试、E2E 测试及真实软件调用,确保 100% 通过率。
CLI-Anything的技术原理
- 源码静态分析与 GUI 映射:通过扫描目标软件的源代码,识别图形界面中的操作逻辑、事件处理和 API 调用,将人类点击、拖拽等 GUI 操作映射为可编程的函数接口。
- 架构设计与状态建模:基于分析结果设计命令组结构,构建状态模型管理软件运行时的上下文(如当前项目、选中对象、编辑历史),定义统一的输入输出格式规范。
- CLI 框架自动生成:用代码生成技术,基于 Click 等 Python CLI 框架自动构建命令行接口,包含 REPL 交互环境、JSON 序列化输出、撤销/重做机制等 Agent 友好特性。
- 真实软件调用封装:生成的 CLI 不重新实现功能,通过调用软件原生 API、脚本接口或无头模式(headless)直接驱动真实应用程序,确保功能完整性和兼容性。
- 测试驱动验证:支持自动生成并执行单元测试和端到端测试,验证生成的 CLI 与目标软件各版本的行为一致性,确保生产环境可靠性。
CLI-Anything的项目地址
- GitHub仓库:https://github.com/HKUDS/CLI-Anything
CLI-Anything的应用场景
- 多媒体内容创作:让 AI Agent 直接调用 Blender 进行 3D 建模渲染、使用 GIMP 处理图像、通过 Audacity 编辑音频,实现自动化内容生产流水线。
- 文档自动化处理:驱动 LibreOffice 批量生成报告、转换格式、填充数据,替代传统模板引擎完成复杂版式文档的智能化生成。
- 视频后期制作:控制 OBS、Kdenlive、Shotcut 等专业工具,实现自动剪辑、特效添加、多轨道合成与批量导出,大幅提升视频生产效率。
- 设计工作流集成:将 Inkscape、Krita 等设计软件接入 Agent 系统,完成矢量图生成、批量素材处理、品牌视觉规范自动化执行。
- 科研与工程计算:扩展至 CAD、EDA、科学计算工具领域,让 Agent 直接操作专业软件完成仿真分析、电路设计、数据可视化等复杂任务。