编程 CLI-Anything:把任意GUI软件自动转成AI Agent能用的CLI工具

2026-05-22 11:59:13 +0800 CST views 11

CLI-Anything:把任意 GUI 软件自动转成 AI Agent 能用的 CLI 工具

标签: AI Agent / CLI工具 / 自动化 / HKUDS / Claude Code
原文: 微信公众号「极客之家」https://mp.weixin.qq.com/s/LfT4HFtNIjdOsx5RnJ8mJQ
GitHub: https://github.com/HKUDS/CLI-Anything
CLI-Hub: https://clianything.cc/


核心亮点

香港大学数据科学实验室(HKUDS)开源 CLI-Anything,给任意一款软件自动生成一套结构化的 CLI 接口,让 Agent 直接用命令行调软件,输入命令,拿回 JSON 结果。

没有截图,没有点击,没有 fragile 的 GUI 操控,就是纯粹的命令行交互。


问题:AI Agent 搞不定 GUI 软件

现在的 AI Agent——不管是 Claude Code 还是 Codex,本质上是文本进文本出的东西。它能写代码、调 API、查文档,但遇到 Blender、GIMP、LibreOffice 这种带 GUI 的专业软件,就只能绕道走。

现有解法的硬伤

解法问题
手写 wrapper写得越深工作量越大
截图点击 RPA脆得很,换个系统主题就崩

CLI-Anything 的思路:CLI 本来就是人和程序之间的接口,格式清晰,可组合,天然适合 LLM 读写。


一条命令搞定

核心就是一条命令:

/cli-anything ./gimp

把软件路径(或 GitHub 仓库地址)丢进去,它会跑一条 7 阶段全自动流水线

阶段功能
🔍 Analyze扫描源码,把 GUI 操作映射到底层 API
📐 Design设计命令分组、状态模型、输出格式
🔨 Implement用 Click 框架实现 CLI,带 REPL 模式、JSON 输出、undo/redo
📋 Plan Tests生成 TEST.md,规划单元测试和端到端测试
🧪 Write Tests跑测试,覆盖真实软件调用
📝 Document更新测试结果文档
📦 Publish生成 setup.py,装进 PATH

跑完之后你就有了一个可以直接 pip install 的 CLI 包,名字统一叫 cli-anything-<软件名>,比如 cli-anything-gimpcli-anything-blender


SKILL.md:给 Agent 读的技能文件

每个生成的 CLI 都会附带一个 SKILL.md 文件,放在 skills/cli-anything-<软件名>/SKILL.md

这个文件的格式是专门给 Agent 读的

  • YAML 头部写名称和描述
  • 正文列所有命令组和子命令
  • 加上用法示例和 JSON 输出说明

Agent 读完这个文件就知道这个工具能干什么、怎么调、输出是什么格式。

让 Agent 自主完成任务

结合 CLI-Hub 的元技能,Agent 甚至可以自己去注册表里找合适的 CLI、装好、读 SKILL.md、然后开始干活——全程不需要人介入:

"Find appropriate CLI software in CLI-Hub and complete the task: <your task here>"

CLI-Hub:社区驱动的 CLI 注册表

单靠一个项目自己维护所有软件的 CLI 肯定撑不住,所以他们做了一个 CLI-Hub,相当于一个社区驱动的 CLI 注册表。

pip install cli-anything-hub
cli-hub install <name>

已覆盖的软件

类别软件
创意类Blender、GIMP、Krita、Inkscape、Shotcut、Kdenlive、Audacity、OBS Studio
科学计算FreeCAD、QGIS、RenderDoc、UniMol Tools
开发工具Obsidian、Zotero、n8n、WireMock、Exa
游戏Godot Engine、Slay the Spire II
办公协作LibreOffice、Zoom、Jitsi Meet
AI/MLStable Diffusion WebUI、ComfyUI、Ollama

注册表是实时更新的,社区提交 PR 合并后立刻生效。几乎每天都有新的 CLI 并入,Rekordbox、Calibre、MiniMax 这些都是最近刚合并的。


真实 Demo

Blender:3D 轨道中继无人机

Agent 用 cli-anything-blender 一步一步搭了一个轨道中继无人机的 3D 模型,每一步都能看到实时预览,命令和对应的视觉状态全部记录进了 trajectory.json,可以回放。

FreeCAD:好奇号月球车

cli-anything-freecad 搭了一个好奇号风格的月球车模型,同样带实时预览和轨迹记录。FreeCAD 是个比较硬核的 CAD 工具,能跑通这个流程说明 CLI 覆盖的功能深度不低。

Draw.io:HTTPS 握手流程图

Agent 从零开始画了一张完整的 HTTPS 连接生命周期图——TCP 三次握手、TLS 协商、加密数据交换、四次挥手——全部通过 CLI 命令完成,最终产出 .drawio.png 两个文件。


平台支持

平台接入方式状态
Claude Code/plugin marketplace add HKUDS/CLI-Anything官方支持
Pi Coding Agentbash 脚本安装扩展官方支持
OpenCode复制命令文件到配置目录官方支持
OpenClaw复制 SKILL.md 到技能目录社区支持
Codexbash 安装脚本社区支持(实验性)
GitHub Copilot CLIcopilot plugin install社区支持
Qodercli注册脚本社区支持

Claude Code 接入三步搞定

# 第一步:添加插件市场
/plugin marketplace add HKUDS/CLI-Anything

# 第二步:安装插件
/plugin install cli-anything

# 第三步:生成 CLI
/cli-anything ./目标软件路径

写在最后

值得认可的地方

能让 Claude Code、Codex 这类工具直接驱动 Blender、FreeCAD、GIMP 这种专业软件,思路上确实打在了痛点上。Demo 也不是玩具级别的——月球车、3D 无人机、完整流程图,东西是真的产出来了。

项目每天都在合并 PR,这个更新频率在开源项目里不多见。社区也在持续贡献,最近合并的 Rekordbox、Calibre、MiniMax 这些,都是真实使用场景里会用到的工具。

值得观察的地方

问题说明
CLI 质量依赖源码分析如果软件的 Python API 封装得乱七八糟,生成的 CLI 覆盖率可能不理想
社区贡献质量参差不齐Hub 现在靠 CI 做基础验证,但能不能挡住差的东西,得看维护力度

快速开始

# 安装 Hub
pip install cli-anything-hub

# 安装指定 CLI
cli-hub install blender

# 或者自己生成
/cli-anything ./your-software

对正在用 Claude Code 或者 Codex 做自动化的同学,这个项目值得试一下。特别是你的工作流里有某款有界面但没开放 API 的工具——扔进去跑一圈,没准直接就通了。


本文整理自微信公众号「极客之家」,原文链接:https://mp.weixin.qq.com/s/LfT4HFtNIjdOsx5RnJ8mJQ
GitHub: https://github.com/HKUDS/CLI-Anything
CLI-Hub: https://clianything.cc/

推荐文章

Golang 中你应该知道的 noCopy 策略
2024-11-19 05:40:53 +0800 CST
Web 端 Office 文件预览工具库
2024-11-18 22:19:16 +0800 CST
php curl并发代码
2024-11-18 01:45:03 +0800 CST
PHP 命令行模式后台执行指南
2025-05-14 10:05:31 +0800 CST
实现微信回调多域名的方法
2024-11-18 09:45:18 +0800 CST
Rust 与 sqlx:数据库迁移实战指南
2024-11-19 02:38:49 +0800 CST
Go 1.23 中的新包:unique
2024-11-18 12:32:57 +0800 CST
html5在客户端存储数据
2024-11-17 05:02:17 +0800 CST
浅谈CSRF攻击
2024-11-18 09:45:14 +0800 CST
Web浏览器的定时器问题思考
2024-11-18 22:19:55 +0800 CST
基于Flask实现后台权限管理系统
2024-11-19 09:53:09 +0800 CST
使用 node-ssh 实现自动化部署
2024-11-18 20:06:21 +0800 CST
程序员茄子在线接单