让 AI 代理接管 GUI 软件:CLI-Anything 5 分钟把任意应用变成命令行接口
【免费下载链接】CLI-Anything"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/项目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anything
让 AI 代理批量处理 200 张照片、逐张调整曝光,它面对的不是 API,而是一整套布满按钮、菜单和弹窗的图形界面。CLI-Anything 就是为这个落差而生的工具:它自动把 GUI 软件转换成 AI 代理可以直接调用的命令行接口,把"人点鼠标"变成"代理敲命令"。生成的 CLI 自带测试、文档和安装包,可以直接接进自动化流水线和各种代理平台。
为什么 AI 代理用不好 GUI 软件
GUI 是为人的眼睛和手设计的:操作路径藏在菜单层级里,状态靠弹窗反馈,几乎没有稳定的编程入口。当用户变成 AI 代理后,这个设计立刻失效——代理无法"看见"按钮,也难以把点选动作写进 CI 管道或定时任务。
- 接口碎片化:每款专业软件都有自己的操作方式,缺少统一的、代理可复用的入口
- 自动化受阻:GUI 操作很难直接写进流水线,只能靠脆弱的脚本模拟点击
- 手工建 CLI 成本高:要自己读源码、包命令、补测试,还要长期跟随上游更新
CLI-Anything 的思路是让 AI 代理来干这些活:给它一份目标软件的代码库,它自己完成从分析到发布的全部工作。
从代码扫描到安装包:CLI 是如何自动生成的
整个流程是一条代理自动执行的流水线,产物落在统一的目录结构里(agent-harness/下的规范文档、setup.py和cli_anything/命名空间包),保证不同软件生成的 CLI 形态一致。
这条流水线大致分成七步,用大白话说就是:
- 摸代码:扫描目标应用源码,把界面上的每个动作映射到底层 API 和数据模型
- 画蓝图:按应用领域设计命令分组、状态模型和输出格式
- 写实现:生成基于 Click 的 CLI 主体,内置 REPL 交互模式、JSON 输出和撤销/重做
- 定测试计划:先产出 TEST.md,规划单元测试和端到端测试的覆盖范围
- 写测试:实现完整测试套件,端到端部分使用真实文件验证
- 补文档:回填测试结果与覆盖率,同时生成供代理读取的技能说明文件
- 打包发布:配置 setup.py 并安装到系统 PATH,实现一键
pip install可用
5 分钟上手:如何生成一个 CLI
整个流程可以合并成一条连贯的路线:准备环境 → 选平台生成 → 验证使用。
第一步,准备环境。需要 Python 3.10+,克隆仓库并装好两个核心依赖:
git clone https://gitcode.com/GitHub_Trending/cl/CLI-Anything cd CLI-Anything && pip install click pytest第二步,选一个代理平台生成 CLI。以 Claude Code 为例,安装官方插件后,一条命令跑完全流程:
/plugin marketplace add HKUDS/CLI-Anything /plugin install cli-anything /cli-anything ./gimp如果用 OpenCode 或 OpenClaw,则分别把opencode-commands/*.md拷入命令目录、把技能配置放入技能目录,方法更轻量,执行的是同一套方法论。
第三步,验证并安装。跑一遍测试,确认质量后装进 PATH:
cd gimp/agent-harness pytest -v --tb=no pip install -e .之后就可以像普通命令一样使用,JSON 模式适合喂给代理,REPL 适合人手工探索:
cli-anything-gimp --json list-projects cli-anything-gimp repl能做出什么效果
项目目前已覆盖 18 个应用的演示,累计 1,245 个测试用例全部通过;其中 Blender 这一个软件就配了 200 个测试用例。挑两个典型场景看看。
Blender:3D 建模自动化。代理通过命令一步步搭出一架"轨道中继无人机"模型:左侧是分步构建跟踪,中央是实时 3D 预览窗口,右侧显示构建元数据和性能指标,整个过程不需要人碰鼠标。
draw.io:流程图代码化生成。代理用shape add一类命令添加图形元素,CLI 操作即时同步到 draw.io 界面,最终自动产出一张包含节点、连接线和标签的 HTTPS 握手流程图——图形文件从此可以像代码一样被脚本生产出来。
实用提示与常见坑
- 先用 GIMP、Inkscape 这类结构简单的软件练手,再挑战 Blender、LibreOffice
- 给代理用
--json输出,给人交互用repl,两种模式是设计好并存的 - 生成后建议跑
/cli-anything:validate和/cli-anything:test复核质量,再用:refine增量补功能 - 测试失败先看依赖(
pip list | grep -E 'click|pytest'),再用pytest --tb=long定位细节 - 命令找不到时,
pip uninstall后重新pip install -e .,并确认安装目录在 PATH 中 - 遇到导入错误,检查
cli_anything/命名空间下各级__init__.py是否完整
进一步深入的材料
CLI-Anything 的价值在于把"给软件补一个代理接口"从手工工程变成了可重复的自动化流程,这也是软件走向"代理原生"的一个务实起点。想自己扩展或排查细节,从这几处入手最快:
- 核心生成引擎:cli-anything-plugin/skill_generator.py
- 七阶段方法论规范:cli-anything-plugin/HARNESS.md
- 技能描述模板:cli-anything-plugin/templates/SKILL.md.template
- 在线文档与演示:docs/
【免费下载链接】CLI-Anything"CLI-Anything: Making ALL Software Agent-Native" -- CLI-Hub: https://clianything.cc/项目地址: https://gitcode.com/GitHub_Trending/cl/CLI-Anything
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考