news 2026/8/31 9:08:49

CLI-Anything 使用教程:7 步流水线把 GUI 软件变成命令行工具

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CLI-Anything 使用教程:7 步流水线把 GUI 软件变成命令行工具

CLI-Anything 使用教程:7 步流水线把 GUI 软件变成命令行工具

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

CI 任务里要批量导出文档,或者想让 AI 代理自动操作 GIMP、LibreOffice 这类纯 GUI 软件,都会撞上同一个障碍:它们没有可被脚本驱动的入口。UI 自动化的录屏点击方案脆弱难维护,只调部分 API 又丢掉了大部分功能,而手动给每个软件写一套命令行接口,成本又高得吓人。

CLI-Anything 是一个 GUI 转 CLI 的命令行构建工具:它分析目标应用的架构,自动生成一套完整的、带测试的命令行接口,让 AI 代理和 CI 流水线能直接驱动原本只有图形界面的软件。目前它已经为 GIMP、Blender 等 11 个主流应用构建了 CLI,累计 1,245 个测试用例全部通过。

三步把 GIMP 装进命令行

最短路径只需要三步。以 Claude Code 为例:

cp -r cli-anything-plugin ~/.claude/plugins/cli-anything # 然后执行 /reload-plugins

接着对目标软件执行构建命令,支持本地源码路径或仓库 URL:

/cli-anything gimp

产物在gimp/agent-harness/下,用可编辑安装放到 PATH 里:

cd gimp/agent-harness && pip install -e . which cli-anything-gimp # 能打印路径即成功

之后cli-anything-gimp --help、带--json的机器可读输出、无参数直接进的交互式 REPL,都已就绪。

从安装到产出:7 阶段构建流程

构建命令跑通后,后台实际执行的是 HARNESS.md 定义的 7 阶段流水线。三个平台共用这一份方法论文档,这也是跨平台产物格式完全一致的原因。

  1. 代码库分析:找出后端引擎与数据模型,把每个 GUI 操作映射到对应的 API 调用,产出一份软件专属的 SOP 文档(如GIMP.md)。
  2. CLI 架构设计:按应用功能域划分命令组,定义状态模型与输出格式。
  3. 实现:用 Click(Python 命令行框架)搭建 CLI,支持子命令与 REPL 双模式,所有命令都带--json标志供代理消费。
  4. 测试规划:先写TEST.md测试计划,列明要覆盖的模块、用例数量与端到端场景。
  5. 测试实现test_core.py用合成数据做单元测试;test_full_e2e.py用真实文件跑完整流水线,并验证输出像素、文件结构等硬指标。
  6. 测试文档:用pytest -v --tb=no执行全量测试,把完整结果与覆盖率差距追加回TEST.md
  7. 发布安装:生成setup.py,包名cli-anything-<软件名>,按 PEP 420 命名空间规范组织,最后验证命令在 PATH 中可执行。

每个生成的 CLI 还会附带一份SKILL.md,让 AI 代理无需阅读源码就能发现并正确调用它。

Claude Code、OpenCode、OpenClaw 三种接入方式

三平台的差异只在入口形式,方法论与产物格式完全相同。

  • Claude Code(官方插件):上面一节演示过,另有/cli-anything:refine增量补全功能、/cli-anything:test跑测试、/cli-anything:validate校验质量。Windows 上需先装 Git for Windows 或启用 WSL,否则会报cygpath找不到。
  • OpenCode(实验性):把 opencode-commands/ 目录下的命令文件和HARNESS.md一起拷进~/.config/opencode/commands/,即可获得cli-anythingcli-anything-refinecli-anything-testcli-anything-validatecli-anything-list五个命令。HARNESS.md必须与命令文件同目录,否则命令会找不到方法论文档。
  • OpenClaw:走 SKILL 机制,技能文件声明支持 build、refine、test、validate 四种模式,接受本地源码路径或仓库 URL,会自动推导软件名称。

生成产物的标准目录结构

无论哪个平台构建,落地结构都一样,方便你按约定找文件:

<软件名>/ └── agent-harness/ ├── <SOFTWARE>.md # 软件专属 SOP ├── setup.py # PyPI 包配置 └── cli_anything/ # 命名空间包(无 __init__.py) └── <软件名>/ # 子包(有 __init__.py) ├── README.md ├── <软件名>_cli.py # 主入口 ├── core/ # 核心模块 ├── utils/ # 工具与后端封装 └── tests/ # 测试套件

两个容易踩坑的点:cli_anything/一层不要__init__.py(PEP 420 命名空间包的硬性要求);setup.py里用find_namespace_packages(include=["cli_anything.*"]),否则会漏包子包。

已构建软件与测试结果

首批 11 个应用的测试数据如下(完整清单见各agent-harness下的TEST.md):

软件测试用例后端方式
GIMP103光栅图像,基于 Pillow
Blender2003D 创作,bpy 脚本生成
Inkscape197矢量图形,SVG 操作
Audacity154音频编辑,WAV 处理
LibreOffice143办公套件,ODF ZIP/XML
OBS Studio153流媒体录制,JSON 场景集合
Kdenlive151视频编辑,MLT XML
Shotcut144视频编辑,MLT XML + ffmpeg
其余 3 个应用合计 153视频会议、绘图等
总计1,245全部通过

排错:失败时先看哪里

  • 测试失败:先跑/cli-anything:validate <软件名>,再查TEST.md里的具体断言;依赖用pip list | grep -E 'click|pytest'确认,Python 版本要求 3.10 及以上。
  • 命令找不到:确认第 7 阶段真的执行完了、目录布局与上一节一致;必要时重跑构建命令。
  • 导入错误:对照标准结构检查各层__init__.py是否存在、PYTHONPATH是否正确。
  • E2E 测试跳过或异常:很多 CLI 依赖上游真实软件(GIMP、ffmpeg、sox 等),上游没装时测试会直接失败而非降级,把上游软件装上是预期行为。

延伸阅读

  • 完整方法论:cli-anything-plugin/HARNESS.md,五个命令文件的定义就在同目录的commands/下。
  • 测试证据样例:gimp/agent-harness/cli_anything/gimp/tests/TEST.md。
  • 5 分钟快速上手:cli-anything-plugin/QUICKSTART.md。

下一步可以挑一个自己日常在用的 GUI 软件,把它的源码丢给/cli-anything试跑一次,再用/cli-anything:refine针对自己最常做的操作逐步补齐覆盖。

【免费下载链接】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 9:08:24

牛客一模编程题复盘:从考点拆解到Python笔试实战模板

这套牛客一模的题&#xff0c;我在2021年春招前翻出来完整过了一遍。当时的心态很简单&#xff1a;秋招已经攒了一波笔试经验&#xff0c;但发现自己在模拟题和真题之间还是存在“会做但写不快、写对但读不懂样例”这类割裂感。一模这套编程题&#xff0c;正好成了我把自己重新…

作者头像 李华
网站建设 2026/8/31 9:06:01

LocalAI 桌面客户端教程:从安装到跑通第一次对话的完整步骤

LocalAI 桌面客户端教程&#xff1a;从安装到跑通第一次对话的完整步骤 【免费下载链接】LocalAI LocalAI is the open-source AI engine. Run any model - LLMs, vision, voice, image, video - on any hardware. No GPU required. 项目地址: https://gitcode.com/GitHub_Tr…

作者头像 李华
网站建设 2026/8/31 9:01:31

网约车司机一天的技术复盘:调度、计费与路径规划核心逻辑

早上六点半&#xff0c;闹钟还没真正发挥作用&#xff0c;手机就已经响了。网约车司机的接单提示音&#xff0c;比任何闹钟都精准。如果你只把“啊僵跑网约车的一天”当成一个普通人的工作流水账&#xff0c;那就错过了更值得研究的东西&#xff1a;这背后是一整套实时在线系统…

作者头像 李华
网站建设 2026/8/31 8:53:06

数据爬虫资源包全处理:zip解压报错与Python环境配置实战

简介&#xff1a;本资源是一套面向高校毕业设计与科研实践的影视数据采集工具&#xff0c;专为人工智能、电子信息、物联网等专业学生及科研人员设计&#xff0c;用于学习网络爬虫开发、影视元数据解析与轻量级Web服务构建。项目基于Go语言实现核心爬虫逻辑&#xff0c;配合Typ…

作者头像 李华
网站建设 2026/8/31 8:49:53

awesome-design-md案例:PostHog刺猬品牌与开发者友好暗色UI设计

awesome-design-md案例&#xff1a;PostHog刺猬品牌与开发者友好暗色UI设计 【免费下载链接】awesome-design-md A collection of DESIGN.md files analysis by popular brand design systems. Drop one into your project and let coding agents generate a matching UI. 项…

作者头像 李华