当前位置: 首页 > news >正文

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

http://www.cnnetsun.cn/news/4325017.html

相关文章:

  • 牛客一模编程题复盘:从考点拆解到Python笔试实战模板
  • LocalAI 桌面客户端教程:从安装到跑通第一次对话的完整步骤
  • 网约车司机一天的技术复盘:调度、计费与路径规划核心逻辑
  • Claude Subconscious如何实现“永不阻塞“?异步Hook模式完整深度分析
  • 数据爬虫资源包全处理:zip解压报错与Python环境配置实战
  • awesome-design-md案例:PostHog刺猬品牌与开发者友好暗色UI设计
  • PPT Master:免费用 AI 从文档生成完全可编辑的 PPTX
  • 百万行遗留项目如何用graphify?CTO决策视角的完全指南
  • 日志清洗实战:用脚本自动聚合统计ERROR红色报错
  • 如何快速做出可编辑的专业 PPT:PPT Master 完整指南
  • container30 Volume 提速实操:3 个参数搞定写入加速
  • 2025西交869信号与系统真题趋势与高效备考指南
  • draw.io 桌面版 Windows 安装三步搞定:x64、32 位与 ARM64 兼容指南
  • Cherry Studio 备份与数据恢复实操:换电脑、重装系统前该做什么
  • Hypermesh2024从单位设置到3D网格质量检查与节点显示排查
  • 计算机二级C语言一天速通攻略:核心考点与上机技巧
  • Fooocus 本地 AI 绘画完整指南:不碰参数,3 步出图的高质量文生图工具
  • DBeaver 启动慢、内存占用高:从插件清单到 JVM 参数的四步检查
  • LocalAI 让普通电脑跑大模型:从安装到 P2P 集群的完整入门路径
  • Logseq 完整指南:如何用双链大纲笔记构建本地优先的知识管理系统
  • 信号与系统考研强化:核心考点、题型组块与真题突破策略
  • HyperMesh固定边界条件设置:自由度、网格质量与约束反力全解析
  • 掼蛋7分牌怎么打?首发牌选择与出牌权控制策略
  • marketingskills 快速上手:让 Claude Code 一次装好 50 个营销技能,覆盖 CRO 到 SEO
  • Umi-OCR 离线 OCR 教程:3 个高频场景与排障速查
  • LocalAI 本地部署指南:一个免费开源的 AI 引擎,跑通大模型、图像与语音
  • Codex+Hermes+Ollama:本地多智能体编码协作方案搭建指南
  • DeepseekHarness插件化架构:8个必装插件角色与开发实战
  • ClickHouse 性能测试完整实操指南:3步跑通 TPC-H,横评 PostgreSQL/MySQL 实测数据说话
  • 残虹抽取价值深度解析:暴击叠层机制与配队实战指南