CLI-Anything:让所有软件都能被AI操控了
你有没有想过这个问题。
现在的 AI 已经很强了。写代码、分析数据、翻译文章,什么都能干。
但你让它操控一个具体的专业软件,就不行了。
让 AI 用 Blender 建模?让 AI 用 GIMP 修图?让 AI 用 Audacity 剪辑音频?
目前的答案大多是——做不到,或者做得很烂。
为什么?
因为这些软件都是为人类设计的。界面、按钮、菜单、快捷键,一切都是给人类的手指和眼睛准备的。AI 没有手指,没有眼睛。
这就是 AI Agent 和真实软件之间的”最后一公里”问题。
GUI(图形用户界面)是人类的天堂,却是 AI 的地狱。
GUI 是非结构化的。AI 看到的只是像素,不知道哪个是按钮,哪个是菜单。
GUI 是脆弱的。换个分辨率,换个主题,换个语言,什么都认不出来了。
GUI 不可组合。你不能把 GUI 的操作像代码一样串联起来。
有人试过用计算机视觉+自动点击来操控 GUI,脆弱得像纸糊的。
有人想让软件厂商都提供 API,但 API 通常只暴露 10%-20% 的功能。
这条路,走不通。
CLI-Anything 的解决思路很另类。
与其改造 AI 让它看懂 GUI,不如改造软件,让它说 AI 听得懂的话。
而 AI 听得懂的话,恰好是 CLI(命令行接口)。
为什么?
因为 CLI 是结构化的。 一条命令就是”动作+参数”,`gimp –resize 1920×1080 –output poster.png`,AI 一看就懂。
因为 CLI 是可组合的。 管道、重定向、脚本,可以把几十个命令串成一套完整的工作流。
因为 CLI 是无界面的。 不需要视觉理解,不需要解析像素,纯文本交互,稳定可靠。
因为 CLI 是可测试的。 每条命令都有确定的输入和输出,可以轻松自动化测试。
这些特性恰好都是 AI Agent 需要的。GUI 一条都不占。
所以 CLI 不是”过时”了。在 AI 时代,它反而成了最自然的人机-AI 共同语言。
CLI-Anything 由香港大学 HKUDS 团队开发。
核心是一个 7 步全自动流水线。
你把软件的源码丢进去,出来的是一个可以直接使用的 Python CLI 包。整个过程不需要人工介入。
以 GIMP 为例,生成的 CLI 长这样:
cli-anything-gimp –json layer add -n “Background” –type solid –color “#1a1a2e”
每个命令都支持 –json 参数,输出结构化数据。这样 AI Agent 就能理解结果,做下一步决策。
这个项目不是 PPT 级别的概念验证。
覆盖 40+ 款主流软件。 创意设计(GIMP/Blender/Inkscape/Krita)、音视频处理(Audacity/Shotcut/OBS)、生产力工具(LibreOffice/Draw.io/Notion)、AI 内容生成(Stable Diffusion/ComfyUI)。
1,527 项测试 100% 通过。 涵盖 11 款复杂应用的 1,073 项单元测试和 454 项端到端测试。
兼容 7 大 Agent 框架。 Claude Code、GitHub Copilot、OpenClaw、Nanobot、Windsurf、Witsy、Kimi-IDE,全部原生支持。
CLI-Hub 社区仓库已经上线(clianything.cc),直接安装就能用。
作者自己也实践过,用 CLI-Anything 操控 Blender 建模。
发现直接让 AI 从零开始建模,效果还是有差距。
最优方案反而是:先生成一张参考图,图生模得到一个基础模型,再交给 CLI-Anything 去细化。
这说明什么?
说明 CLI 接口解决了”操作”的问题。但”创造”本身还是另一回事。
CLI 让 AI 能够接触和操作专业软件。这扇门打开了。
但门后面有多远的路要走,取决于 AI 自身的能力。
回到开头。
AI Agent 和真实软件之间隔着最后一公里。
GUI 是墙。CLI 是门。
CLI-Anything 做的事情,就是把这扇门自动装上。
当 40 多款软件被覆盖的时候,你可能没什么感觉。
但当 400 款、4000 款软件都被覆盖的时候,AI Agent 就不再是”聊天机器人”了。
它变成了真正的”数字操作员”。你说一句话,它打开软件,操作完成,交给你结果。
那一天,不远了。
夜雨聆风