CLI-Anything:让所有软件都能被 Agent 驱动
本文欲回答的核心问题:CLI-Anything 到底是什么,它怎样让 AI Agent 真正接管任意软件的工作流?
CLI-Anything 通过一行命令就把任何软件变成 Agent 原生工具。它不依赖 GUI 自动化,不需要重写 API,也不要求你从零搭建新系统。只要目标软件有代码库或者仓库地址,Agent 就能直接调用结构化的命令来完成任务。今天的软件大多是为人类设计的,明天却要面对 Agent 用户,而这个工具正是那座桥梁。它让 Claude Code、OpenClaw、OpenCode 等框架里的 Agent 瞬间获得专业软件的全部能力。
这里有个地方值得注意:很多 Agent 项目卡在“如何操控真实专业工具”这一步。CLI-Anything 把这个问题直接绕开。它生成的 CLI 不是玩具实现,而是调用真实软件后端——Blender 用 bpy 渲染,LibreOffice 用 headless 导出 PDF,GIMP 用 GEGL 处理图像。Agent 拿到的是真实结果,而不是模拟截图。
为什么是 CLI?
本段欲回答的核心问题:为什么 CLI 才是连接 AI Agent 和软件的最合适接口?
CLI 是人类和 AI Agent 都能无缝理解的万能接口。它结构化、可组合,文本命令天然匹配 LLM 的输入格式,Agent 可以自由串联成复杂工作流。轻量且通用,几乎零开销,跨平台运行,不依赖额外环境。一个 –help 就能让 Agent 自动发现所有功能,这一点在实际集成时特别省事。
它久经验证,Claude Code 每天通过 CLI 执行数以千计的真实任务。输出支持结构化 JSON,Agent 无需任何额外解析,行为也更确定可靠。这些特性加在一起,让 CLI 成为最稳定的桥梁。
我认为,CLI 的自描述能力是它最大的优势。Agent 不需要额外文档,只要运行一次 –help,就能知道所有子命令和参数。这在多工具流水线场景里,直接减少了调试时间。
举个场景:在视频剪辑工作流中,Agent 先用 Shotcut 的 CLI 创建项目,再调用 Kdenlive 的 CLI 叠加特效,最后用 OBS Studio 的 CLI 直播输出。所有步骤通过纯文本命令串联,中间无需切换界面,效率直接拉满。
快速上手
本段欲回答的核心问题:怎样在最短时间内让 CLI-Anything 在自己的环境中跑起来?
环境要求很简单:Python 3.10+,目标软件已经安装,支持的 AI 编程工具包括 Claude Code、OpenClaw、OpenCode、Codex、Qodercli 等。整个过程最快 5 分钟就能完成。
Claude Code
本小节欲回答的核心问题:Claude Code 用户如何通过插件市场快速安装并生成 CLI?
第一步添加插件市场:
/plugin marketplace add HKUDS/CLI-Anything
第二步安装插件:
/plugin install cli-anything
插件立刻可用。Windows 用户注意,需要安装 Git for Windows 提供 bash 和 cygpath,否则可能报 cygpath 命令缺失。
第三步生成 CLI:
/cli-anything:cli-anything ./gimp
这条命令会自动走完 7 个阶段:分析源码、设计命令分组、实现 Click CLI、规划测试、编写测试、更新文档、发布安装包。整个流水线全自动,无需人工干预。
生成后进入项目目录安装:
cd gimp/agent-harness && pip install -e .
现在 cli-anything-gimp 就全局可用了。Agent 可以直接调用 –help 探索功能,或者用 –json 模式获取结构化输出。
这里有个值得注意的细节:初始生成的 CLI 覆盖率已经很高,但如果你需要特定领域更深的功能,可以继续运行 refine 命令。它会分析现有覆盖差距,然后增量添加新命令、测试和文档,不会破坏已有的部分。
OpenCode(实验性支持)
本小节欲回答的核心问题:OpenCode 用户怎样安装命令并启动生成流程?
克隆仓库后,把 opencode-commands 里的 .md 文件和 HARNESS.md 复制到命令目录:
cp CLI-Anything/opencode-commands/*.md ~/.config/opencode/commands/
cp CLI-Anything/cli-anything-plugin/HARNESS.md ~/.config/opencode/commands/
安装后获得 /cli-anything、/cli-anything-refine 等斜杠命令。生成方式和 Claude Code 一致:
/cli-anything ./gimp
或者直接从 GitHub 仓库构建:
/cli-anything https://github.com/blender/blender
Qodercli、OpenClaw、Codex
本小节欲回答的核心问题:其他平台如何接入 CLI-Anything?
Qodercli 用户运行仓库里的 setup-qodercli.sh 脚本即可注册插件,随后用 /cli-anything:cli-anything ./gimp 启动。
OpenClaw 用户把 SKILL.md 复制到 ~/.openclaw/skills/cli-anything/SKILL.md,然后用自然语言调用:
@cli-anything build a CLI for ./gimp
Codex 用户运行 install.sh(或 PowerShell 脚本),重启后直接用自然语言描述任务即可。
所有平台生成的 CLI 使用方式完全统一:pip install -e . 后,cli-anything-软件名 命令就进入 PATH。支持子命令模式和 REPL 模式。
从我实际操作这些步骤的感受来看,REPL 模式特别适合 Agent 长时间会话。它带项目状态持久化、撤销重做、统一提示符,操作起来像在和一个有记忆的助手对话。
CLI-Anything 的愿景
本段欲回答的核心问题:这个工具最终想构建怎样的软件生态?
它要让任何软件无门槛接入 Agent。无需专门 API,无需 GUI 操控,无需重构代码。一条命令就把为人类设计的软件变成 Agent 原生工具。未来,Agent 可以直接调用 GIMP、Blender、LibreOffice 等专业能力,完成从创意到生产的完整链路。
适用场景
本段欲回答的核心问题:哪些实际工作场景最适合用 CLI-Anything?
它覆盖了几乎所有领域。GitHub 开源项目、AI/ML 平台、数据分析工具、开发工具、创意媒体软件、图表可视化、科学计算、企业办公、通信协作,都能通过生成的 CLI 被 Agent 接管。
| 类别 | 如何接入 Agent | 典型软件 |
|---|---|---|
| GitHub 开源项目 | 通过自动 CLI 生成,将任意开源项目变成 Agent 可控的工具 | VSCodium、WordPress、Calibre、Zotero、Joplin、Logseq、Penpot、Super Productivity |
| AI/ML 平台 | 用结构化命令驱动模型训练、推理流水线和超参搜索 | Stable Diffusion WebUI、ComfyUI、InvokeAI、Text-generation-webui、Open WebUI、Fooocus、Kohya_ss、AnythingLLM、SillyTavern |
| 数据与分析 | 以编程方式完成数据处理、可视化和统计分析工作流 | JupyterLab、Apache Superset、Metabase、Redash、DBeaver、KNIME、Orange、OpenSearch Dashboards、Lightdash |
| 开发工具 | 通过命令行接口串联代码编辑、构建、测试和部署流程 | Jenkins、Gitea、Hoppscotch、Portainer、pgAdmin、SonarQube、ArgoCD、OpenLens、Insomnia、Beekeeper Studio |
| 创意与媒体 | 以编程方式控制内容创作、编辑和渲染工作流 | Blender、GIMP、OBS Studio、Audacity、Krita、Kdenlive、Shotcut、Inkscape、Darktable、LMMS、Ardour |
| 图表与可视化 | 以编程方式创建和操作流程图、架构图、ER 图等各类图表 | Draw.io (diagrams.net)、Mermaid、PlantUML、Excalidraw、yEd |
| 科学计算 | 自动化科研工作流、仿真模拟和复杂计算 | ImageJ、FreeCAD、QGIS、ParaView、Gephi、LibreCAD、Stellarium、KiCad、JASP、Jamovi |
| 企业与办公 | 将商业应用和生产力工具转化为 Agent 可访问的系统 | NextCloud、GitLab、Grafana、Mattermost、LibreOffice、AppFlowy、NocoDB、Odoo (Community)、Plane、ERPNext |
| 通信与协作 | 通过结构化 CLI 自动化会议调度、参会人管理、录制获取和报告生成 | Zoom、Jitsi Meet、BigBlueButton、Mattermost |
拿创意媒体举例:Agent 可以用 GIMP CLI 批量加水印,用 Blender CLI 渲染产品图,用 Shotcut CLI 合成视频,最后用 OBS Studio CLI 推流直播。整个流程全在命令行完成,Agent 只需要发几条指令。
核心优势与现有痛点对比
本段欲回答的核心问题:CLI-Anything 到底解决了 Agent 操控软件时的哪些真实痛点?
现有方案要么是脆弱的 GUI 自动化,要么是覆盖面有限的 API,要么是阉割版重新实现。CLI-Anything 直接对接真实软件后端,功能一个不少。
| 现有痛点 | CLI-Anything 怎么解 |
|---|---|
| AI 用不了真正的专业工具 | 直接对接真实软件后端(Blender、LibreOffice、FFmpeg)——完整的专业能力,零妥协 |
| GUI 自动化三天两头崩 | 告别截图、点击和 RPA 的脆弱性,纯命令行操控,结构化接口 |
| Agent 需要结构化数据 | 内置 JSON 输出供 Agent 直接消费,同时保留可读格式方便调试 |
| 定制集成太贵了 | 一个插件就能为任意代码库自动生成 CLI,经过验证的 7 阶段流水线 |
| 原型和生产之间差十万八千里 | 1,508+ 测试用例,全部在真实软件上验证通过,覆盖 11 款主流应用 |
这里承认一点复杂性:虽然生成过程高度自动化,但初始覆盖率有时仍需多次 refine 才能达到生产级。这不是工具的缺点,而是真实软件功能过于丰富导致的正常现象。
CLI-Anything 能做什么?
本段欲回答的核心问题:用它生成 CLI 后,Agent 具体能完成哪些工作?
它能让 Agent 接管工作流、统一散装 API、取代或增强 GUI Agent。把代码库扔给 /cli-anything 就行,GIMP、Blender、LibreOffice 立刻变成可编程工具。
场景一:创意工作流。Agent 用 cli-anything-gimp 创建项目、添加图层、应用滤镜,最后导出 PNG。整个过程用 JSON 输出给下一步 Agent 继续处理。
场景二:办公自动化。Agent 用 cli-anything-libreoffice 新建 Writer 文档、插入表格、添加标题,最后 headless 导出 PDF 报告。
场景三:直播管理。Agent 用 cli-anything-obs-studio 切换场景、调整音视频源、启动录制,一切通过命令完成。
工作方式
本段欲回答的核心问题:CLI-Anything 内部到底如何一步步把软件变成可用 CLI?
它采用全自动 7 阶段流水线:分析、设计、实现、规划测试、编写测试、文档、发布。直接调用真实应用渲染项目文件,保证零妥协。
智能会话管理支持持久化状态、撤销重做、统一 REPL 界面。零配置安装,pip install -e . 后就进入 PATH。生产级测试包含单元、端到端、CLI 子进程三层验证。
干净的包架构统一在 cli_anything 命名空间下,命名规范为 cli-anything-软件名。
实测展示与测试结果
本段欲回答的核心问题:实际在多少软件上验证过,测试通过率如何?
已经在 11 款复杂应用上实测,生成完整可投产 CLI,合计 1,508 项测试 100% 通过。
| 软件 | 领域 | CLI 命令 | 后端 | 测试 |
|---|---|---|---|---|
| GIMP | 图像编辑 | cli-anything-gimp | Pillow + GEGL/Script-Fu | 107 |
| Blender | 3D 建模与渲染 | cli-anything-blender | bpy | 208 |
| Inkscape | 矢量图形 | cli-anything-inkscape | Direct SVG/XML | 202 |
| Audacity | 音频制作 | cli-anything-audacity | Python wave + sox | 161 |
| LibreOffice | 办公套件 | cli-anything-libreoffice | ODF + headless LO | 158 |
| OBS Studio | 直播与录制 | cli-anything-obs-studio | JSON + obs-websocket | 153 |
| Kdenlive | 视频剪辑 | cli-anything-kdenlive | MLT XML + melt | 155 |
| Shotcut | 视频剪辑 | cli-anything-shotcut | Direct MLT XML + melt | 154 |
| Zoom | 视频会议 | cli-anything-zoom | Zoom REST API | 22 |
| Draw.io | 图表绘制 | cli-anything-drawio | mxGraph XML | 138 |
| AnyGen | AI 内容生成 | cli-anything-anygen | AnyGen REST API | 50 |
测试层级包括单元测试(合成数据)、端到端测试(项目文件合法性)、真实后端验证(PDF 魔术字节、渲染 PNG)、CLI 子进程调用验证。全部通过,覆盖 1,073 单元 + 435 端到端。
插件命令与实际操作演示
本段欲回答的核心问题:生成后如何日常使用这些命令?
主要命令有 /cli-anything(构建)、/cli-anything-refine(优化)、/cli-anything-test(运行测试)、/cli-anything-validate(验证)、/cli-anything-list(列出工具)。
实际演示(以 LibreOffice 为例):
cli-anything-libreoffice document new -o report.json --type writer
cli-anything-libreoffice --project report.json writer add-heading -t "Q1 Report" --level 1
cli-anything-libreoffice --project report.json export render output.pdf -p pdf --overwrite
cli-anything-libreoffice --json document info --project report.json
REPL 模式更直观:
cli-anything-blender
blender> scene new --name ProductShot
blender[ProductShot]> object add-mesh --type cube --location 0 0 1
blender[ProductShot]*> render execute --output render.png --engine CYCLES
HARNESS.md 标准手册
本段欲回答的核心问题:生成 CLI 时必须遵守哪些核心经验?
HARNESS.md 是唯一权威方法论。它强调必须用真实软件渲染,不能用替代品;注意渲染鸿沟、滤镜转译、时间码精度、输出验证。这些经验来自 11 款软件的实际沉淀。
安装与使用、参与贡献
本段欲回答的核心问题:生成后如何安装使用,以及如何贡献新软件?
安装统一为 cd agent-harness && pip install -e .。测试用 pytest 运行,推荐设置 CLI_ANYTHING_FORCE_INSTALLED=1。
贡献方式:为新软件生成 CLI 后按 PUBLISHING.md 提交;改进 HARNESS.md;增强插件或测试覆盖。
已知局限
本段欲回答的核心问题:使用时需要注意哪些现实限制?
它依赖强大基础模型,较弱模型可能需要迭代修正。依赖可用源代码,二进制文件需反编译。单次构建不一定 100% 覆盖,通常需要 refine 迭代。
这里承认复杂性:真实软件功能庞大,一次生成很难做到完美,但多次 refine 就能逐步逼近生产级。这也是为什么测试覆盖率被放在如此重要的位置。
实用摘要 / 操作清单
-
克隆仓库或添加插件市场。 -
根据平台安装命令或 skill。 -
运行 /cli-anything <软件路径> 生成完整 CLI。 -
cd agent-harness && pip install -e .。 -
用 cli-anything-软件名 –help 探索,或进入 REPL。 -
需要扩展时运行 refine 命令。 -
验证测试:python -m pytest。 -
生产使用时优先 –json 模式供 Agent 消费。
一页速览(One-page Summary)
-
核心:一行命令生成真实软件 CLI -
平台:Claude Code、OpenClaw、OpenCode、Codex、Qodercli -
流程:7 阶段全自动(分析→发布) -
输出:Click CLI + JSON + REPL + 1,508 测试 -
优势:真实后端、结构化、Agent 原生 -
适用:创意、办公、直播、数据、开发全领域 -
下一步:克隆仓库,为你的第一个软件试跑一次
从这个工具的设计中我学到的最重要一点是:Agent 时代不需要重写所有软件,只要给它们一个结构化的命令接口,就能释放出惊人的生产力。现在,你可以直接克隆仓库,选一个熟悉的软件试试生成 CLI,看看 Agent 能帮你完成多少以前手动做的工作。
