乐于分享
好东西不私藏

CLI-Anything:让所有软件 变成 Agent 原生工具|港大数据科学实验室出品 · 一条命令生成可操控真实的 CLI | Github Daily

CLI-Anything:让所有软件 变成 Agent 原生工具|港大数据科学实验室出品 · 一条命令生成可操控真实的 CLI | Github Daily

CLI-Anything:让所有软件
变成 Agent 原生工具

港大数据科学实验室出品 · 一条命令生成可操控真实软件的 CLI

📅 2026-05-19⭐ 36.8k Stars🔧 Python

💡核心理念

"Today's Software Serves Humans. Tomorrow's Users will be Agents."

— HKUDS 实验室

AI Agent 已经具备强大的推理能力,但它们能真正操控专业软件吗?答案是:很难。

现有两条主流路径都有根本缺陷:

🔴 MCP(模型上下文协议):需要软件供应商主动实现 Server,目前只有少数 SaaS 服务接入,桌面软件几乎为零。

🔴 GUI 自动化:截图 + 模拟点击,界面改版即失效,脆弱得像纸糊的桥。

CLI-Anything 的破局思路

不需要软件供应商适配,不需要截图点击——只需读软件的源码,自动生成一个 Agent 可操控的 CLI 接口,让 Agent 通过结构化命令调用软件的真实后端能力。

这个项目来自香港大学数据科学实验室(HKUDS),核心理念:**让所有软件变成 Agent-Native(Agent 原生)**。

项目速览

CLI-ANYTHING · AT A GLANCE
GitHub
HKUDS/CLI-Anything
Stars
36,825 ⭐
今日新增
+1,049 ⭐
语言
Python 97.1%
协议
Apache 2.0
测试覆盖
2,280 个 · 100% 通过
支持软件
35+ 款专业软件
实验室
香港大学数据科学实验室

🔄7 阶段全自动流水线

输入任意软件的源码路径,一条命令自动完成从分析到发布的全流程:

1分析
2设计
3实现
4规划测试
5编写测试
6文档
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

🤖 AI & ML 平台

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-AnythingAnthropic MCPGUI Agent
实现逻辑
读源码自动生成桥接 CLI,零需软件方适配
需软件供应商主动实现 Server
截图 + 模拟点击
覆盖广度
有源码的开源软件优势明显
仅少数 SaaS 接入,桌面软件几乎为零
无限制,所有 GUI 软件都可操作
稳定性
调用真实后端,生产级可靠
依赖 Server 实现质量
界面改版易失效,稳定性差
适用场景
开源软件 Agent 自动化工作流
SaaS 服务接入
临时性、无源码的 GUI 操作
关系判断

CLI-Anything 与 MCP 是互补而非竞争——两者解决不同层次的问题;与 GUI Agent 是错位竞争,CLI 无法覆盖的图形密集操作仍需 GUI Agent 补充。

🔧使用方法

Claude Code 三步上手

STEP 1 · 添加插件市场
/plugin marketplace add HKUDS/CLI-Anything
STEP 2 · 安装插件
/plugin install cli-anything
STEP 3 · 指向目标软件(以 GIMP 为例)
/cli-anything ./gimp 
# 或从 GitHub 仓库直接构建 
/cli-anything https://github.com/blender/blender
安装到 PATH
cd 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 交互示例

Blender 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 包管理

一键安装社区构建的 CLI
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