CLI-Anything:让所有软件都能被 AI Agent 控制
CLI-Anything:让所有软件都能被 AI Agent 控制
今天的软件是为人类设计的 👨💻,明天的用户将是 AI Agent 🤖。CLI-Anything 是香港大学数据智能实验室(HKUDS)推出的开源项目,它能让任何图形软件通过一个命令行变成 Agent 可控制的工具,无需 API、无需重构、无需复杂封装。
一、核心问题:AI Agent 无法使用真正的软件
AI Agent 擅长推理,但无法使用真正的专业软件。当前的解决方案存在严重问题:
| 痛点 | CLI-Anything 解决方案 |
|---|---|
| AI 无法使用真正工具 | 直接集成软件后端(Blender、LibreOffice、FFmpeg),完整功能无妥协 |
| UI 自动化经常崩溃 | 无截图、无点击、无 RPA 脆弱性,纯命令行可靠性 |
| Agent 需要结构化数据 | 内置 JSON 输出,无缝 Agent 消费 + 人类可读格式调试 |
| 自定义集成成本高 | 一个 Claude 插件自动生成任何代码库的 CLI |
| 原型与生产差距大 | 1839+ 测试,16 个主要应用实战验证 |
二、CLI-Anything 是什么?
一句话:把任何软件变成 Agent 可控制的工具,只需一个命令。
核心能力
- 自动分析 — 扫描源代码,映射 GUI 操作到 API
- 架构设计 — 设计命令组、状态模型、输出格式
- CLI 实现 — 生成 Click CLI,支持 REPL、JSON 输出、撤销重做
- 测试生成 — 单元测试 + 端到端测试
- 一键发布 — 创建 setup.py,安装到 PATH
三、支持的 AI 平台
CLI-Anything 原生支持多个 AI 编码平台:
| 平台 | 状态 | 安装方式 |
|---|---|---|
| Claude Code | ✅ 完整支持 | 插件市场安装 |
| OpenClaw | ✅ 社区支持 | SKILL.md 技能文件 |
| OpenCode | ⚡ 实验性 | 命令文件 + HARNESS.md |
| Codex | ⚡ 实验性 | 技能文件安装脚本 |
| Qodercli | ✅ 社区支持 | 插件注册脚本 |
| Goose | ⚡ 实验性 | 通过 CLI 提供商 |
| Cursor / Windsurf | 🔮 即将支持 | 开发中 |
四、快速开始(以 OpenClaw 为例)
安装
| # 克隆仓库 |
| git clone https://github.com/HKUDS/CLI-Anything.git |
| # 安装到 OpenClaw 技能目录 |
| mkdir -p ~/.openclaw/skills/cli-anything |
| cp CLI-Anything/openclaw-skill/SKILL.md ~/.openclaw/skills/cli-anything/SKILL.md |
使用
安装后,在 OpenClaw 中使用:
示例命令:
@cli-anything build a CLI for ./gimp
五、7 阶段生成流程
CLI-Anything 采用 7 阶段自动化流程:
- 🔍 分析 — 扫描源代码,映射 GUI 操作到 API
- 📐 设计 — 设计命令组、状态模型、输出格式
- 🔨 实现 — 构建 Click CLI,支持 REPL、JSON 输出、撤销重做
- 📋 规划测试 — 创建 TEST.md,规划单元测试和端到端测试
- 🧪 编写测试 — 实现完整测试套件
- 📝 文档 — 更新 TEST.md 记录测试结果
- 📦 发布 — 创建 setup.py,安装到 PATH
六、支持的应用类型
CLI-Anything 已在 16 个复杂应用上测试通过:
🎨 创意与媒体
- Blender(3D 建模)
- GIMP(图像编辑)
- OBS Studio(直播)
- Audacity(音频)
- Krita(绘画)
- Kdenlive(视频)
- Shotcut(视频)
📊 数据与分析
- JupyterLab
- Apache Superset
- Metabase
- DBeaver
- KNIME
- Orange
🤖 AI/ML 平台
- Stable Diffusion WebUI
- ComfyUI
- Ollama
- InvokeAI
- Open WebUI
- SillyTavern
🏢 企业与办公
- LibreOffice
- NextCloud
- GitLab
- Grafana
- Mattermost
- Zoom
七、生成的 CLI 如何使用?
生成的 CLI 可以独立使用,不依赖特定 AI 平台:
| # 安装到 PATH |
| cd gimp/agent-harness && pip install -e . |
| # 使用帮助 |
| cli-anything-gimp --help |
| # 创建项目 |
| cli-anything-gimp project new --width 1920 --height 1080 -o poster.json |
| # 添加图层(JSON 输出) |
| cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e" |
| # 进入交互式 REPL |
| cli-anything-gimp |
八、SKILL.md 自动生成
每个生成的 CLI 都包含一个 SKILL.md 文件,让 AI Agent 能够自动发现和使用:
SKILL.md 包含:
- YAML 前言 — 名称和描述,用于 Agent 技能发现
- 命令组 — 所有可用子命令文档
- 使用示例 — 常见工作流程示例
- Agent 指南 — JSON 输出、错误处理、程序化使用指南
九、CLI-Hub:社区 CLI 注册中心
CLI-Anything 提供了一个中心化的 CLI 注册中心:
- 浏览 — 在 CLI-Hub 浏览所有社区 CLI
- 安装 — 一个 pip 命令安装任何 CLI
- 贡献 — 通过 PR 添加新 CLI,Hub 自动更新
- 发现 — 所有生成的 CLI 都在
cli_anything.*命名空间下
十、测试覆盖
- 1,839+ 测试 — 全面覆盖
- 单元测试 — 合成数据测试
- 端到端测试 — 真实文件和软件测试
- CLI 子进程验证 — 安装命令验证
十一、为什么选择 CLI?
CLI 是人类和 AI Agent 的通用接口:
| 特性 | 优势 |
|---|---|
| 结构化与可组合 | 文本命令匹配 LLM 格式,可链式组合复杂工作流 |
| 轻量与通用 | 最小开销,跨所有系统无依赖 |
| 自描述 | --help 提供自动文档,Agent 可发现 |
| 已验证成功 | Claude Code 每天通过 CLI 运行数千个真实工作流 |
| Agent 优先设计 | 结构化 JSON 输出消除解析复杂性 |
| 确定性与可靠性 | 一致的结果使 Agent 行为可预测 |
十二、适用场景
✅ 推荐场景
- 开源软件自动化 — GitHub 上的任何开源项目
- AI Agent 工具链 — 让 Agent 控制专业软件
- 批量处理工作流 — 图像、视频、音频批量处理
- 开发工具集成 — IDE、测试、部署自动化
- 企业应用自动化 — LibreOffice、NextCloud 等办公软件
❌ 不适用场景
- 纯 SaaS 服务 — 需要 API 封装,不是 CLI 封装
- 需要 GUI 交互的应用 — 只能封装 CLI 可访问的功能
- 没有源码的软件 — 需要开源软件或有 SDK 的软件
- 实时协作工具 — 如 Figma、Notion 等
十三、总结
CLI-Anything 核心价值
- ✅ 一键转换 — 一个命令把任何软件变成 Agent 工具
- ✅ 完整功能 — 不妥协,保留软件全部能力
- ✅ 结构化输出 — JSON 格式让 Agent 轻松消费
- ✅ 跨平台支持 — 支持 Claude Code、OpenClaw、Codex 等
- ✅ 自动测试 — 1839+ 测试确保质量
- ✅ 社区生态 — CLI-Hub 持续增长的 CLI 库
十四、资源链接
本文发布于 2026-03-20,项目处于活跃开发状态,信息可能随时间变化,请以官方文档为准。
评论
发表评论