news 2026/8/31 19:39:47

CLI-Anything 指南:一条命令把 GUI 软件变成 AI 代理可操作的命令行接口

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CLI-Anything 指南:一条命令把 GUI 软件变成 AI 代理可操作的命令行接口

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.pytest_full_e2e.py
6 文档回填测试结果;skill_generator.py 同步生成 SKILL.md文档 + 技能文件
7 发布生成setup.pypip install后命令进入 PATH可发布包

三个关键约定决定了生成物的质量:真后端、不造假——导出必须调用真实应用;缺后端则测试失败——不做降级跳过,逼着 CLI 保持诚实;每条命令支持--json——结构化输出让代理直接消费,人类则看可读表格。

🧪 真实验证:40+ 软件,2,461 个测试全部通过

仓库目前已为 40 多个软件生成了 CLI,覆盖图像、3D、视频、音频、办公、游戏引擎、GPU 调试等领域。代表性的测试数据(引自仓库 README):

软件领域测试数
s&box游戏引擎244
Blender3D 建模与渲染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 ./gimp

OpenCode 要求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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/8/31 19:37:40

基于YOLOv8的交通人群监测系统设计与边缘部署实践

简介&#xff1a;本资源是一套完整的基于YOLOv8的交通人群监测系统实现方案&#xff0c;面向深度学习初学者、计算机视觉课程设计与本科毕业设计学生&#xff0c;解决交通场景下行人检测、计数与实时监控等核心问题&#xff0c;适用于智能交通管理、公共安全预警等实际应用场景…

作者头像 李华
网站建设 2026/8/31 19:37:05

PCA人脸识别Matlab实现全解析:从原理到GUI毕业设计

简介&#xff1a;本资源是一套基于MATLAB实现的PCA算法人脸识别系统完整毕业设计项目&#xff0c;面向计算机、人工智能、信号处理等专业的本科生及课程设计学习者&#xff0c;解决人脸图像降维、特征提取与分类识别的核心问题&#xff0c;可直接用于毕业设计、课程大作业或算法…

作者头像 李华
网站建设 2026/8/31 19:36:54

小米2019秋招软件开发笔试A卷解析:从考点到编程题全复盘

2019年秋招季&#xff0c;小米的软件开发笔试题A卷&#xff0c;是不少计算机专业应届生投递简历后的第一道坎。当时各大求职讨论区里关于这套题的帖子能翻好几页&#xff0c;有人吐槽选择题考得太细&#xff0c;有人说编程题看起来不难但一提交就超时&#xff0c;还有人在求多选…

作者头像 李华
网站建设 2026/8/31 19:32:23

如何把多台设备拼成一台本地 AI 超算:exo 分布式集群实战指南

如何把多台设备拼成一台本地 AI 超算&#xff1a;exo 分布式集群实战指南 【免费下载链接】exo Run frontier AI locally. 项目地址: https://gitcode.com/GitHub_Trending/exo8/exo 想跑一个参数量超过单台机器内存的大模型&#xff0c;与其把量化精度压到失真&#xf…

作者头像 李华
网站建设 2026/8/31 19:32:07

C盘又满了?用磁盘可视化分析找出隐藏大文件,彻底释放空间

C盘红得发紫的那一天&#xff0c;我盯着资源管理器里的剩余空间&#xff0c;发现数字几乎没怎么动。真相往往藏在一个反直觉的点上&#xff1a;你删了那么多缓存&#xff0c;清理了那么多临时文件&#xff0c;但空间没有回来。原因很简单——真正吃掉C盘的&#xff0c;不是垃圾…

作者头像 李华
网站建设 2026/8/31 19:29:59

前端面试八股文学习指南:从基础原理到实战应对

聊到前端面试八股文&#xff0c;大多数人的第一反应是“背题”&#xff0c;第二反应是“背了也没用”。我在这个行业待了十来年&#xff0c;面过别人也被别人面过&#xff0c;对这件事的看法很明确&#xff1a;八股文本身没有原罪&#xff0c;原罪是只用死记硬背的态度去对待它…

作者头像 李华