CLI-Anything:未来软件可能不是给人用的,而是给 Agent 用的
2026年4月10日 · 3332 字 · 7 分钟 · CLI-Anything AI Agent OpenClaw Claude Code Codex 自动化工具

很多 AI Agent 现在最尴尬的问题,不是不聪明。
而是手太短。
它能写计划,能拆需求,能生成代码,聊起来也像那么回事。
但你真让它去操控一个复杂软件,比如 GIMP、Blender、LibreOffice、OBS、Kdenlive,它立刻就会遇到一个很尴尬的问题:
它懂你想干什么,但它未必碰得到软件真正的能力。
GUI 自动化太脆。
API 覆盖又太窄。
重新实现一套“简化版工具”更尴尬,最后往往只剩 10% 的功能。
这就是 CLI-Anything 想解决的事。
它的判断挺直接:以后很多软件,不能只给人点按钮用,也得给 Agent 留一个能稳定调用的入口。
一、CLI-Anything 到底是什么?
CLI-Anything 是 HKUDS 开源的一个项目。
它想做的事情,可以压缩成一句话:
把任意软件自动转成 Agent 能调用的 CLI。
这里的 CLI,就是命令行工具。
比如你有一个图像编辑软件、视频剪辑软件、办公套件、数据分析平台,过去 Agent 想用它,通常有三条路:
- 模拟人类点击界面
- 调用软件已有 API
- 自己写一个缩水版替代工具
但这三条路都有问题。
模拟点击很容易因为界面变化崩掉。
API 往往只覆盖一小部分能力。
自己重写工具又容易变成玩具,离真实生产环境差很远。
CLI-Anything 的思路是:
别逼 Agent 去“看屏幕”,给真实软件补一个结构化命令入口。
这样 Agent 就能通过 --help 发现能力,通过命令组合任务,通过 JSON 输出读取结果。
这比截图、坐标、按钮点击稳得多,也更像工程系统,而不是碰运气。
二、为什么偏偏是 CLI?
很多人看到这里可能会问:
为什么不是 MCP?
为什么不是 API?
为什么不是 GUI Agent?
原因也很简单:CLI 是人和 Agent 都能理解的最小公共接口。
它有几个很朴素的优势。
第一,CLI 是文本。
LLM 本来就擅长读写文本命令。相比让模型猜一个按钮在哪里,命令行天然更清楚。
第二,CLI 可组合。
一个命令创建项目,一个命令添加素材,一个命令导出文件,这些命令可以串成完整工作流。
第三,CLI 自描述。
一个 --help 就能暴露命令、参数、示例和约束。Agent 不需要猜,也不需要靠视觉识别。
第四,CLI 输出稳定。
如果每个命令都支持 JSON 输出,Agent 就可以直接消费结构化结果,而不是从一大段自然语言里抠信息。
这也是 CLI-Anything 的基本判断:
对 Agent 来说,CLI 不是什么老古董,反而可能是最现实的通用接口。
三、它是怎么把软件变成 CLI 的?
CLI-Anything 不是让你手写一堆命令,然后自己慢慢维护。
它提供的是一套自动生成流程。
以 Claude Code 为例,你可以先添加插件市场,再安装 cli-anything 插件,然后对一个软件源码目录执行命令。
项目文档里给出的流程大概是 7 步:
- 分析源码,把 GUI 操作映射到内部 API
- 设计命令分组、状态模型和输出格式
- 实现 Click CLI,包含 REPL、JSON 输出、撤销和重做
- 规划测试,生成测试文档
- 编写测试套件
- 更新文档,记录测试结果
- 生成安装包,把命令安装到 PATH
换句话说,它不是只帮你包一层壳,也不是给 GUI 外面贴一张命令行皮肤。
它想把一个软件整理成 Agent 能长期使用的命令系统。
生成之后,你会得到类似这样的工具:
cli-anything-gimp --help
cli-anything-gimp project new --width 1920 --height 1080 -o poster.json
cli-anything-gimp --json layer add -n "Background" --type solid --color "#1a1a2e"
Agent 可以读帮助文档,可以执行命令,可以解析 JSON,可以在 REPL 里维持项目状态。
这就不再是“临时点几下界面”,而是有状态、可组合、可测试的工具调用。
四、它支持哪些 Agent 工具?
CLI-Anything 现在的接入方式,明显是冲着 AI 编程工具和 Agent 客户端去的。
README 里提到了这些平台:
- Claude Code
- OpenCode
- Qodercli
- OpenClaw
- Codex
- GitHub Copilot CLI
- 未来计划支持 Cursor、Windsurf 等更多平台
不同平台的接入方式不完全一样。
Claude Code 走插件市场。
OpenClaw 走 Skill。
Codex 也提供了对应 Skill。
OpenCode、Qodercli、GitHub Copilot CLI 则有各自的命令或插件注册方式。
这背后的意思是:
CLI-Anything 不想绑定某一个 Agent。
它更像是想做一层中间接口:
上面接各种 Agent,下面接各种真实软件。
如果这层接口成立,Agent 工具链就会从“每个软件单独适配一次”,变成“软件先 CLI 化,然后多个 Agent 都能用”。
这也是它真正值得看的地方。
五、它不只是概念,已经做了不少实测
我最关心的不是它口号喊得多大,而是有没有真的碰过复杂软件。
从 README_CN 里看,CLI-Anything 已经给多类软件生成过 CLI,并提供了测试结果。
里面包括:
- GIMP:图像编辑
- Blender:3D 建模与渲染
- Inkscape:矢量图形
- Audacity:音频制作
- LibreOffice:办公套件
- Zotero:文献管理
- OBS Studio:直播与录制
- Kdenlive、Shotcut:视频剪辑
- Zoom:视频会议
- Draw.io:图表绘制
- AnyGen:AI 内容生成
- Sketch:UI 设计
README 里给出的测试总数是 1,527 项全部通过。
这里最有价值的点,不是数字本身。
而是它反复强调了一个原则:
CLI 必须调用真实软件后端,而不是写一个看起来差不多的替代品。
比如 LibreOffice 要真的导出 PDF。
Blender 要真的渲染图片。
视频剪辑工具要生成合法的项目文件,再交给真实渲染器。
这件事绕不过去。
因为 Agent 工具最怕的就是“演示很顺,生产一碰就碎”。
如果只是做一个 demo,很多问题都可以绕过去。
但如果要让 Agent 真的进入办公、设计、剪辑、科研、数据分析这些工作流,就绕不开真实软件的文件格式、渲染逻辑、依赖环境和边界情况。
CLI-Anything 至少选了一条更难、也更接近生产环境的路。
六、它适合解决什么问题?
我觉得 CLI-Anything 最适合三类场景。
1. 让 Agent 接管专业软件工作流
比如你希望 Agent 帮你批量处理图片、生成文档、导出视频、制作图表。
如果软件本身有源码或可调用后端,就有机会通过 CLI-Anything 生成一套命令接口。
这比让 Agent 看屏幕点按钮更稳定,也更容易测试。批处理、固定流程、重复导出这类活,尤其适合。
2. 把零散 API 整理成一个工具
很多 Web 服务都有 API,但接口零散、状态分散、文档复杂。
对人来说还能慢慢查。
对 Agent 来说,十几个裸 API 调来调去,token 消耗大,出错点也多。
如果能把这些能力整理成一个状态清晰的 CLI,Agent 调用时会轻松很多。
它调用的就不是“接口碎片”,而是一套任务工具。
3. 给 GUI Agent 做评测和替代方案
GUI Agent 很热,但真实评测很难。
因为界面变化、截图识别、点击位置、系统环境都会影响结果。
CLI-Anything 的另一个价值是:
它可以把软件操作变成代码和终端命令,从而更容易生成任务、评测器和 Benchmark。
这会让 Agent 的能力评估更可复现。
七、但它也不是银弹
这类项目很有想象力,但不能神化。
它至少有几个现实门槛。
第一,它更适合有代码库、可脚本化、可调用真实后端的软件。
如果一个软件高度封闭,没有稳定文件格式,也没有可编程入口,生成 CLI 的难度会明显上升。
第二,复杂软件的能力覆盖不是一次性完成的。
README 里也提供了 refine 命令,用来对已有 CLI 做差距分析和增量扩展。
这说明一开始生成的 CLI 不是终点,更像是一个可以继续打磨的 harness。
第三,测试成本不会消失。
只要你真的接真实软件,环境依赖、渲染结果、文件合法性、版本差异都要验证。
CLI-Anything 的方向是把这些成本工程化,而不是让它们凭空消失。
所以更准确地说:
它不是帮你省掉工程复杂度,而是把复杂度搬到 Agent 更能处理的位置。
八、为什么我觉得这个方向值得看?
过去一年,大家聊 Agent,经常卡在一个问题上:
模型越来越强,但真实工作流还是不好接。
人类的软件世界是 GUI、文件、插件、菜单、快捷键、导出选项、历史兼容。
Agent 的世界是文本、结构化输入、工具调用、状态管理、可验证输出。
这两个世界之间,缺一层桥。
MCP 是一层桥。
API 是一层桥。
CLI 也可能是一层桥,而且朴素、耐用。
CLI-Anything 的价值就在这里。
它不是发明一个全新的软件形态。
它是承认现有软件世界本来就复杂,然后给 Agent 开一扇更稳定的门。
如果这个方向继续发展,未来的软件可能会多出一种默认交付物:
- 给人用的 GUI
- 给开发者用的 API
- 给 Agent 用的 CLI / Skill / MCP 接口
到那时,一个软件好不好用,不只看人类点起来顺不顺。
还要看 Agent 能不能发现它、理解它、调用它、验证它。
我觉得这才是 CLI-Anything 背后更值得琢磨的变化:
软件的用户,正在从人类扩展到 Agent。
一灯短评
如果你是开发者、独立产品作者,或者正在做 AI Agent 工作流,我建议你关注 CLI-Anything 这类项目。
不是因为它已经解决了一切。
而是因为它提出了一个很硬的问题:
当 Agent 真的要干活时,我们到底该把软件接口设计成什么样?
以前这个问题属于开发者体验。
以后它可能会变成软件能不能被 Agent 时代接住的问题。

我会持续整理 AI Agent、OpenClaw、Claude Code、Codex 和自动化工具相关的实用内容。 如果你也在关注“Agent 怎么真正接管工作流”,可以关注我的公众号,后面我会继续拆这类工具。