CLI-Anything 指南:一条命令把 GUI 软件变成 AI 代理可操作的命令行接口
【免费下载链接】CLI-Anything"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/项目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anything
当 AI 代理需要用 GIMP 批量处理图片、或在 Blender 里搭建模型时,它面对的是一套没有公开接口的图形界面:靠截图点击的 UI 自动化脆弱且难维护,而半成品式的重写又会丢掉软件九成的能力。CLI-Anything 就是为这个 GUI 转 CLI 转换问题设计的:它把开源 GUI 软件的源码交给编码代理,自动产出一个状态化、带测试、可 pip 安装的命令行接口(CLI),让代理不需要鼠标和显示器也能完整驱动软件。
项目定位:一条命令完成 GUI 转 CLI
CLI-Anything 本质上是一个"CLI 工具壳(harness)生成器"。你喂给它软件的代码仓库,它返回一个装好即用的包:主 CLI 入口、后端封装、测试套件和代理可发现的技能文档。
它的核心设计原则是"不重写软件,直接调用真实后端":GIMP 走 Script-Fu 批处理,Blender 走 bpy 脚本,LibreOffice 走无头模式导出。代理产出的 PDF、渲染图、音视频与人工操作的结果一致,而不是某种"近似模拟"。所有生成物遵循统一目录结构——<软件名>/agent-harness/下的cli_anything.<软件名>/命名空间包,多个 CLI 可共存安装、互不冲突,命名统一为cli-anything-<软件名>。
📐 工作原理:七阶段自动化流水线
项目的方法论全部浓缩在 cli-anything-plugin/HARNESS.md 这份 SOP 里,编码代理按七个阶段自动执行:
| 阶段 | 做什么 | 产出 |
|---|---|---|
| 1 代码库分析 | 定位后端引擎,把 GUI 操作映射为 API 调用,梳理数据格式 | 能力清单 |
| 2 架构设计 | 规划命令组(项目/核心操作/导入导出/状态)与状态模型 | 架构草案 |
| 3 实现 | 基于 Click 构建 CLI:子命令 + REPL +--json双模式 | 可安装包 |
| 4 测试规划 | 先写测试计划、列出真实文件与工作流场景 | TEST.md |
| 5 测试实现 | 单元测试 + 端到端测试,E2E 必须调用真实软件并校验产物 | test_core.py、test_full_e2e.py |
| 6 文档 | 回填测试结果;skill_generator.py 同步生成 SKILL.md | 文档 + 技能文件 |
| 7 发布 | 生成setup.py,pip install后命令进入 PATH | 可发布包 |
三个关键约定决定了生成物的质量:真后端、不造假——导出必须调用真实应用;缺后端则测试失败——不做降级跳过,逼着 CLI 保持诚实;每条命令支持--json——结构化输出让代理直接消费,人类则看可读表格。
🧪 真实验证:40+ 软件,2,461 个测试全部通过
仓库目前已为 40 多个软件生成了 CLI,覆盖图像、3D、视频、音频、办公、游戏引擎、GPU 调试等领域。代表性的测试数据(引自仓库 README):
| 软件 | 领域 | 测试数 |
|---|---|---|
| s&box | 游戏引擎 | 244 |
| Blender | 3D 建模与渲染 | 208 |
| Inkscape | 矢量图形 | 202 |
| Audacity | 音频处理 | 161 |
| LibreOffice | 办公文档 | 158 |
| OBS Studio / Kdenlive / Shotcut | 直播与视频 | 153 / 155 / 154 |
| GIMP | 图像编辑 | 107 |
合计 2,461 个测试(1,732 单元 + 579 端到端 + 19 个 Node.js 测试),通过率 100%。这里的 E2E 不是"命令没报错":LibreOffice 的导出要校验%PDF-魔数,Blender 的渲染要确认真实 PNG 落盘,音频要检查 RMS 电平。
下面是真实演示:代理通过cli-anything-blender逐步搭建一台轨道中继无人机,每一步命令都推送新的渲染预览,代理可以"看着"模型长出来:
更轻量的例子:draw.io 的 CLI 让代理纯靠命令画出一张完整的 HTTPS 握手时序图,从 TCP 三次握手到 TLS 协商再到断开,全程不打开图形界面:
⚡ 上手实操:装现成的,或从零构建
路径一:直接用社区 CLI(最快)
pip install cli-anything-hub cli-hub search image # 按关键词搜索注册表 cli-hub install gimp # 一键安装 cli-hub launch gimp # 启动使用注意:包装真实桌面软件的 CLI 需要先在本机装好对应软件(GIMP、Blender 等),CLI 只负责调度它们。
路径二:从源码构建(Claude Code,插件方式)
git clone https://gitcode.com/GitHub_Trending/cl/CLI-Anything cp -r CLI-Anything/cli-anything-plugin ~/.claude/plugins/cli-anything # 在 Claude Code 会话中执行 /reload-plugins 加载插件 /cli-anything ./gimp # 自动跑完七阶段,生成完整 CLI路径三:从源码构建(OpenCode,命令文件方式)
# 前置:已按上一步克隆仓库到 CLI-Anything 目录 cp CLI-Anything/opencode-commands/*.md ~/.config/opencode/commands/ cp CLI-Anything/cli-anything-plugin/HARNESS.md ~/.config/opencode/commands/ # 然后在 OpenCode 中执行 /cli-anything ./gimpOpenCode 要求HARNESS.md与命令文件放在同一目录——它是所有命令引用的方法论规范。Cursor、Codex、OpenClaw 等平台也有对应的安装脚本,流程相同。
生成之后:安装到 PATH 并使用
cd gimp/agent-harness && pip install -e . cli-anything-gimp --help # 人类可读帮助 cli-anything-gimp --json project new --width 800 --height 600 -o poster.json # 加 --json 输出结构化数据,供代理解析 cli-anything-gimp # 不带参数即进入 REPL 交互模式🔧 进阶与常见坑
- 迭代精化是常态。第一次
/cli-anything很少覆盖全部能力,跟一句/cli-anything:refine ./gimp "批量处理与滤镜"做增量补缺,可重复执行且不会破坏已有命令。 - 后端缺失 = 测试失败而非跳过。这是设计使然:CLI 没有假后端兜底,缺 GIMP 可执行文件时 E2E 会直接红掉。
- 模型能力决定生成质量。官方明确依赖前沿级强模型;用较弱的模型会得到需要大量人工修补的 CLI。
- Windows 上跑 Claude Code需要 Git for Windows(提供 bash 和 cygpath)或使用 WSL,否则插件命令可能报错。
- 命令找不到通常是 PATH 问题:回到
agent-harness目录重新pip install -e .,再用which cli-anything-<软件名>确认。 - 质量验收:
/cli-anything:validate <路径>对照标准检查,/cli-anything:test <路径>跑测试;生成的TEST.md记录计划与结果,可参考 GIMP 的测试套件 了解一套完整结构长什么样。
收尾:适合谁,从哪里继续
如果你在开发 AI 代理,它给你一个比"看截图点鼠标"可靠得多的路径来使用专业软件;如果你是自动化工程师,--json命令可以原样接进 CI 流水线;如果你想分享成果,提交 harness 后 CLI-Hub 注册表会即时收录。目标软件若是完全闭源、无任何可编程入口,暂时不在它的适用范围内。
- 中文完整文档:README_CN.md
- 五分钟快速上手:cli-anything-plugin/QUICKSTART.md
- 全部 CLI 的技能文件:skills/
【免费下载链接】CLI-Anything"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/项目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anything
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考