乐于分享
好东西不私藏

一行命令,让任何软件变成AI Agent的原生工具

一行命令,让任何软件变成AI Agent的原生工具

开篇寄语

昨晚,伯衡君我盯着屏幕,陷入了沉思。

Claude Code在终端里跑着,我让它帮我用GIMP处理一张图片。结果它告诉我,抱歉,我不会用GIMP的图形界面。

我当时就想,这不对啊,AI不是应该什么都会吗?

然后我发现了CLI-Anything。

那一刻,我的心情就像发现了新大陆。

之前伯衡君介绍过不少AI编程助手,比如Claude Code、OpenClaw这些。它们都很强,但有个共同的问题,它们擅长写代码,却不擅长操作那些没有命令行接口的软件。

你想让AI帮你用Blender建个模型?不好意思,Blender虽然有Python API,但没有现成的CLI。

你想让AI帮你用GIMP批量处理图片?GIMP有Script-Fu,但AI不会写Scheme脚本。

你想让AI帮你用LibreOffice生成报表?抱歉,LibreOffice的命令行功能很有限。

所以问题来了,这些强大的桌面软件,AI用不了。

直到CLI-Anything出现。

社区地址

  • 社区地址:https://clianything.cc/

CLI-Hub是一个在线注册中心,你可以浏览、搜索、安装所有社区贡献的CLI工具。

项目地址

  • GitHub:https://github.com/HKUDS/CLI-Anything
  • Star数:37,533+
  • 今日新增:1,027 ⭐

内容详情

CLI-Anything是什么

简单说,CLI-Anything能给你的任何软件自动生成一套完整的命令行接口。

你想想看,今天我们用的大部分软件都是为人类设计的,有图形界面、有菜单、有按钮。但AI Agent不一样,它们更喜欢命令行,因为命令行是结构化的、可预测的、容易解析的。

CLI-Anything做的事情,就是在这两者之间架一座桥。

它扫描你的软件源码,分析GUI操作对应的API调用,然后自动生成一套完整的CLI工具。

一行命令搞定

坦率的讲,我第一次看到这个项目的时候,觉得肯定很复杂。

如果你用 OpenClaw 一行命令就搞定。

添加 cli-anything-hub

openclaw skills install cli-anything-hub

然后你就可以用它了。

直接在聊天窗口说。

Find appropriate CLI software in CLI-Hub and complete the task:给我生成 XX 的 CLI

它会自动跑完7个阶段,分析源码、设计命令架构、实现CLI、写测试、生成文档、发布安装。

整个过程你不用管,等着就行。

7个阶段都干了什么

说真的,这个自动化程度让我有点意外。

第一阶段,分析。它扫描源码,把GUI操作映射到API调用。

第二阶段,设计。它规划命令分组、状态模型、输出格式。

第三阶段,实现。它用Click框架构建CLI,支持REPL、JSON输出、撤销重做。

第四阶段,规划测试。它创建测试计划,包括单元测试和端到端测试。

第五阶段,写测试。它实现完整的测试套件。

第六阶段,文档。它更新测试结果和文档。

第七阶段,发布。它创建setup.py,安装到PATH。

我有时候觉得,这比很多人类开发者写得都规范。

支持哪些平台

目前支持的平台还挺多的。

Claude Code、Pi Coding Agent、OpenClaw、OpenCode、Codex、Qodercli、GitHub Copilot CLI。

基本上主流的AI编程助手都覆盖了。

而且它还支持Goose,通过CLI Provider的方式间接使用。

已经有哪些现成的CLI

CLI-Hub上已经有很多社区贡献的CLI了。

Blender,3D建模和渲染。

GIMP,图像处理。

LibreOffice,办公套件。

FreeCAD,CAD建模。

Inkscape,矢量图形编辑。

Krita,数字绘画。

MuseScore,乐谱编辑。

OBS Studio,直播录制。

Zoom,视频会议。

Draw.io,流程图绘制。

Zotero,文献管理。

n8n,工作流自动化。

还有更多,比如Godot游戏引擎、Slay the Spire II游戏、WireMock模拟服务器等等。

说实话我也不确定有多少个,但看起来覆盖面挺广的。

一个实际例子

我试了一下给Blender生成CLI。

/cli-anything ./blender

跑完之后,我得到了一个完整的blender-cli命令。

然后我就可以让Claude Code帮我用Blender做事了。

比如渲染一个场景。

blender-cli render --scene my_scene.blend --output ./render/

比如批量导出模型。

blender-cli export --format fbx --input ./models/ --output ./export/

以前这些操作我得自己写Python脚本,现在AI直接就能调用了。

这种感觉太爽了。

如果现有的CLI不够用怎么办

CLI-Anything还提供了一个refine命令。

/cli-anything:refine ./blender

它会分析当前CLI和软件完整功能之间的差距,然后自动补充缺失的命令。

你也可以指定方向。

/cli-anything:refine ./blender "我想要更多关于动画和物理模拟的命令"

它会针对性地扩展功能。

我自己也还在摸索这个功能,但感觉潜力很大。

为什么CLI对AI这么重要

你想想看,AI Agent要操作软件,有几种方式。

第一种,模拟鼠标键盘。不稳定,依赖界面布局,容易出错。

第二种,调用API。需要软件提供API,而且AI得学会怎么用。

第三种,命令行。结构化输入输出,可预测,可组合。

CLI-Anything选择的就是第三种。

而且它生成的CLI有一个特点,输出是JSON格式的。

这意味着AI不需要解析人类可读的文本,直接拿到结构化数据就行。

这大大降低了AI使用软件的门槛。

技术细节

如果你对技术实现感兴趣,CLI-Anything用的是Python 3.10+。

核心框架是Click,一个Python命令行库。

它生成的CLI支持REPL模式,可以在交互式环境里连续执行命令。

支持撤销重做,这对于复杂操作很有用。

支持JSON输出,方便AI解析。

测试覆盖率很高,每个CLI都有单元测试和端到端测试。

社区活跃度

这个项目是香港大学数据科学研究所(HKUDS)做的。

从GitHub数据看,37,533个Star,3,595个Fork。

今日新增1,027个Star,热度很高。

更新频率也很高,几乎每天都有新功能或者新CLI加入。

最近还上线了CLI-Hub,一个集中式的CLI注册中心。

你可以用pip安装CLI-Hub。

pip install cli-anything-hub

然后浏览、搜索、安装任何社区贡献的CLI。

cli-hub install blender

一些注意事项

如果你是Windows用户,需要注意一点。

Claude Code在Windows上通过bash运行命令,所以你需要安装Git for Windows或者使用WSL。

否则可能会遇到cygpath命令找不到的问题。

另外,生成的CLI质量取决于软件本身的API文档质量。

如果软件的API文档不完善,生成的CLI可能会有缺失。

这时候就需要用refine命令来补充了。

适用场景

我觉得CLI-Anything特别适合这些场景。

第一,自动化工作流。比如批量处理图片、批量渲染3D模型。

第二,AI辅助创作。让AI帮你用专业软件做事。

第三,跨软件协作。通过CLI把不同软件串联起来。

第四,测试自动化。用CLI驱动软件进行自动化测试。

第五,CI/CD集成。在流水线里调用桌面软件的功能。

我的感受

我始终坚信,好的工具应该让复杂的事情变简单。

CLI-Anything做到了。

它把一件本来需要大量手工劳动的事情,自动化到了一行命令的程度。

而且它不是简单的包装,而是完整的工程化流程,分析、设计、实现、测试、文档、发布,一应俱全。

太牛逼了。

篇后寄语

好了,今天的安利就到这里。

如果你经常用AI编程助手,又想让AI帮你操作那些没有CLI的软件,CLI-Anything值得试试。

反正安装就两行命令,试试又不亏。

万一打开了新世界的大门呢?


以上,既然看到这里了,如果觉得不错,随手点个赞、在看、转发三连吧,如果想第一时间收到推送,也可以给我个星标⭐~ 谢谢你看我的文章,我们,下次再见。