CLI-Anything 实战指南:如何把 GUI 软件变成 AI 代理能直接操作的 CLI 接口
2026/8/31 12:46:46 网站建设 项目流程

CLI-Anything 实战指南:如何把 GUI 软件变成 AI 代理能直接操作的 CLI 接口

【免费下载链接】CLI-Anything"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/项目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anything

你给 AI 代理派了个活:“批量处理这 50 个 GIMP 工程文件。”几分钟后它回复:“抱歉,我不会操作 GIMP。”问题不在模型,而在接口:多数专业软件只提供图形界面,代理既看不到屏幕,也点不了按钮。CLI-Anything 做的事很集中——GUI 转命令行:给它一份软件源码,它生成一套 AI 代理可直接调用的命令行接口,带结构化输出和完整测试,让你不必再为每款软件手写 CLI。

输入与输出是什么:三句话看懂整条链路

输入很简单:一个软件源码目录(给仓库地址也行)。中间发生的事:代理阅读源码,定位真正干活的后台引擎,把每个 GUI 操作映射到一次函数调用,再基于 Click(一个 Python 命令行框架)生成 CLI、测试套件和可安装包。输出是一条能装进 PATH 的cli-anything-<软件名>命令,同时提供 REPL 交互模式和--json机器可读模式——前者给人探索,后者让代理稳定解析。这就是 CLI 转换的全部产物。

生成过程走读:从一条命令到可安装

在代理会话里敲下构建命令后,过程按 6 步展开:

  1. 取源码:执行/cli-anything /path/to/software;给的是 URL 时,代理先克隆到本地。
  2. 代码分析:定位后台引擎(GIMP 的 Script-Fu、Shotcut 的 MLT),弄清工程文件格式,把菜单和按钮映射到函数调用。
  3. 架构设计:按领域切分命令组——project、layer、filter、export——并决定哪些状态要跨命令保留。
  4. 实现:core/负责数据操作,utils/封装真实软件命令行,入口同时提供一次性命令和 REPL。
  5. 测试:先写 TEST.md 计划,再写单元测试与调用真实软件的端到端测试,全部必须通过。
  6. 打包:生成 setup.py 和供代理阅读的 SKILL.md 技能文件,pip install -e .装进 PATH。

全程约 10–15 分钟,得到的目录结构如下:

gimp/ └── agent-harness/ ├── GIMP.md # 软件特定操作 SOP ├── setup.py # PyPI 包配置 └── cli_anything/ └── gimp/ ├── README.md # 安装与使用指南 ├── gimp_cli.py # CLI 入口 ├── core/ # 工程、会话、导出模块 ├── utils/ # 真实软件后端封装 └── tests/ # 单元测试 + 端到端测试

最短上手路径:三条命令跑通第一个 CLI

以支持最完整的 Claude Code 为主写(OpenCode 把命令文件复制进它的 commands 目录即可,OpenClaw 直接装技能文件,思路相同)。终端里依次执行:

# 1. 克隆 CLI-Anything 仓库 git clone https://gitcode.com/GitHub_Trending/cl/CLI-Anything # 2. 安装核心依赖(要求 Python 3.10+) pip install click pytest # 3. 把插件拷入 Claude Code 插件目录 cp -r CLI-Anything/cli-anything-plugin ~/.claude/plugins/cli-anything

然后在 Claude Code 会话里:

# 重载插件使其生效 /reload-plugins # 对 GIMP 源码执行完整构建流程 /cli-anything /path/to/gimp

代理会自动跑完上面 6 步。完成后在生成的agent-harness/目录里执行pip install -e .cli-anything-gimp就能在机器任意位置使用。

🧪 看它实际工作:JSON 输出与 Blender 自主建模

装好之后,在代理对话里说一句“检查这 50 个 GIMP 工程的画布尺寸和图层数”,代理执行的是一串这样的命令:

# JSON 输出,代理可按结构解析 cli-anything-gimp --json --project project.json project info

每条结果都是稳定的 JSON,代理不用“看屏幕”就能解析输出。同一个 CLI 人用起来也顺手:--help自带说明,不带子命令执行会直接落进 REPL。

这张 GIF 记录了一次代理在 Blender 里自主完成建模任务的过程:左侧是分步轨迹,中间是实时 3D 预览,右侧是构建元数据。这个仓库里已有 50 多款软件经过同样的 CLI 转换:GIMP、Blender、Inkscape、LibreOffice、Shotcut 与 Kdenlive 这类视频工具、数据库、WireMock 这类模拟服务,全仓库测试合计 2,461 个用例通过。

🛠️ 踩坑与进阶:三个你会遇到的场景

执行/cli-anything时报Unknown skill: cli-anything,几乎都是插件没加载:先/reload-plugins,再用/help cli-anything确认命令出现,仍不行就重装插件;两种命令写法指向同一个技能,换写法解决不了问题。

Windows 上 Claude Code 通过 bash 执行命令,看到cygpath: command not found时,装上 Git for Windows 或改用 WSL 即可,不用怀疑仓库本身。

别忘了一部分 CLI 是对真实软件的“壳”——比如 LibreOffice CLI 最终调用的是 headless 转换,目标软件本机也得装好;CLI 报“找不到后端”时,错误信息里已经附了安装指引。生成之后还可以反复执行/cli-anything:refine补齐未覆盖的命令,每次增量推进,不会破坏已有内容。

想深入时读哪两个文件

CLI-Anything 的价值,在于把“GUI 软件变 AI 代理接口”的成本从“手写一条 CLI”压缩到“跑一条命令等十分钟”。想了解生成机制的话,最值得一读的是生成规范 HARNESS.md 和核心生成引擎 skill_generator.py。

【免费下载链接】CLI-Anything"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/项目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anything

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询