CLI-Anything:让所有软件
变成 Agent 原生工具
港大数据科学实验室出品 · 一条命令生成可操控真实软件的 CLI
💡核心理念
"Today's Software Serves Humans. Tomorrow's Users will be Agents."
— HKUDS 实验室
AI Agent 已经具备强大的推理能力,但它们能真正操控专业软件吗?答案是:很难。
现有两条主流路径都有根本缺陷:
🔴 MCP(模型上下文协议):需要软件供应商主动实现 Server,目前只有少数 SaaS 服务接入,桌面软件几乎为零。
🔴 GUI 自动化:截图 + 模拟点击,界面改版即失效,脆弱得像纸糊的桥。
不需要软件供应商适配,不需要截图点击——只需读软件的源码,自动生成一个 Agent 可操控的 CLI 接口,让 Agent 通过结构化命令调用软件的真实后端能力。
这个项目来自香港大学数据科学实验室(HKUDS),核心理念:**让所有软件变成 Agent-Native(Agent 原生)**。
⚡项目速览
🔄7 阶段全自动流水线
输入任意软件的源码路径,一条命令自动完成从分析到发布的全流程:
🔍 阶段1 · 分析(Analyze) 扫描软件源码,将 GUI 操作映射到对应的 API 调用,识别核心功能和参数。
📐 阶段2 · 设计(Design) 架构命令组结构、状态模型、输出格式,确保生成的 CLI 逻辑清晰、可组合。
🔨 阶段3 · 实现(Implement) 基于 Click 框架构建带 REPL 交互层、支持
--json结构化输出、支持撤销/重做的命令行工具。📋 阶段4-6 · 测试与文档 自动生成 TEST.md 规划文档,实现完整测试套件,更新文档记录结果。
📦 阶段7 · 发布(Publish) 创建 setup.py,一行命令安装到 PATH,以 pip 包形式分发(如
cli-anything-gimp)。
✨核心亮点
1 零妥协 · 调用真实软件后端 生成的 CLI 不是玩具替代品:LibreOffice 必须调用 headless 二进制输出真实 PDF(含
%PDF-魔法字节验证),Blender 必须用 bpy 引擎做真实 Cycles 渲染。如果后端缺失,测试直接报错——绝不跳过。2 2,280 个测试,100% 通过率 包含 1,682 个单元测试 + 579 个端到端测试 + 19 个 Node.js 测试。测试验证不仅看退出码,还直接验证输出:PDF 的魔法字节、ZIP/OOXML 结构、像素级图像对比、音频 RMS 等级。
3 SKILL.md 自动生成 每个生成的 CLI 包自带
SKILL.md,包含 YAML 前置元数据、所有命令组文档、使用示例,以及 Agent 专用的 JSON 输出指引。REPL 启动时还会显示 SKILL.md 路径,Claude Code 可直接读取理解工具能力。4 CLI-Hub:Agent 原生工具市场 社区贡献者仅需提交 registry.json 的 PR 即可新增软件接入,类似 npm/pip 的分发机制。Agent 可自主浏览目录、搜索合适 CLI、安装后立即使用——零人工干预。
5 双模式交互:REPL + 子命令 交互式 REPL 适合 Agent 会话(记住跨命令的项目状态),子命令接口适合脚本化和流水线组合。统一由
repl_skin.py提供一致的交互体验。6 Agent 平台中立,不被单一厂商锁定 官方支持 Claude Code、Pi Coding Agent;实验性支持 OpenCode、Codex、Goose;社区支持 OpenClaw、Qodercli、GitHub Copilot CLI。任选其一均可使用。
🧪已覆盖的软件生态
HKUDS 团队已为 35+ 款专业软件生成了生产级 CLI,涵盖十大领域:
GIMP · Blender · Inkscape · Audacity · Kdenlive · Shotcut · OBS Studio
ComfyUI · Ollama · Stable Diffusion WebUI · AnyGen
JupyterLab · Metabase · DBeaver · Apache Superset
Jenkins · Gitea · Portainer · pgAdmin · SonarQube
LibreOffice · GitLab · Grafana · Mattermost · NextCloud
FreeCAD · QGIS · ImageJ
⚖️与现有方案对比
| 维度 | CLI-Anything | Anthropic MCP | GUI Agent |
|---|---|---|---|
| 实现逻辑 | |||
| 覆盖广度 | |||
| 稳定性 | |||
| 适用场景 |
CLI-Anything 与 MCP 是互补而非竞争——两者解决不同层次的问题;与 GUI Agent 是错位竞争,CLI 无法覆盖的图形密集操作仍需 GUI Agent 补充。
🔧使用方法
Claude Code 三步上手
/plugin marketplace add HKUDS/CLI-Anything/plugin install cli-anything/cli-anything ./gimp # 或从 GitHub 仓库直接构建 /cli-anything https://github.com/blender/blendercd gimp/agent-harness && pip install -e . # 使用命令 cli-anything-gimp --help # JSON 模式(Agent 专用) cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e"REPL 交互示例
$ cli-anything-blender ╔══════════════════════════════════════════╗ ║ cli-anything-blender v1.0.0 ║ ╚══════════════════════════════════════════╝ blender> scene new --name ProductShot ✓ Created scene: ProductShot blender[ProductShot]> object add-mesh --type cube --location 0 0 1 ✓ Added mesh: Cube at (0, 0, 1) blender[ProductShot]*> render execute --output render.png --engine CYCLES ✓ Rendered: render.png (1920×1080, 2.3 MB)CLI-Hub 包管理
pip install cli-anything-hub cli-hub search blender cli-hub install blender cli-hub list # 浏览全部可用 CLI⚠️当前局限
🔸 模型门槛高:仅 Claude Opus 4.6、Sonnet 4.6、GPT-5.4 等前沿模型能稳定生成合格 CLI,小模型产物需要大量人工修正。
🔸 依赖可用源码:纯二进制商业软件(如 Adobe 全家桶)无法直接套用。
🔸 迭代成本:单次运行无法覆盖全部能力,需多次 /refine 迭代。
🔸 场景边界:Blender 雕刻、Photoshop 自由变换等交互密集图形操作难以完整 CLI 化。
🚀选型建议
基于开源软件的 Agent 工作流(图像/3D/音视频/办公/网络管理)场景,CLI-Anything 是当前覆盖最广、可靠性最高的方案。Claude Code、OpenClaw 用户可直接套用现有 35+ 款软件 CLI。
HKUDS Roadmap 明确将支持 CAD、DAW、IDE、EDA 等更多品类,同时研究闭源软件和 Web 服务的封装机制。
📌今日总结
CLI-Anything 的本质
它构建了一个"AI Agent 的应用商店 + 工具标准化层"。通过全自动 7 阶段流水线,将任意有源码的软件包装成符合 SKILL 协议的 CLI,让 AI Agent 能够像人类使用 App Store 一样,自主发现、安装和操控现实世界中的专业软件工具。这是 AI Agent 从"对话"走向"行动"的关键基础设施。
三个关键词
🔵 Agent-Native:让所有软件原生支持 AI Agent 操控
🔵 7 阶段自动流水线:源码 → 可安装 CLI,全程自动化
🔵 零妥协真实后端:不模拟、不跳过,2,280 个测试 100% 通过
每天一个值得深读的开源项目
AI AgentCLIClaude CodeHKUDS自动化
GitHub Daily · 第033期
项目地址:github.com/HKUDS/CLI-Anything
夜雨聆风