

插播一段科普。
前几天看新闻,钉钉说要全量CLI化,一些朋友不太懂为什么,简单讲讲。
这些咱们日常用的软件,给做成CLI,不是让人去通过命令行调用的,是给Agent用的。
GUI对人来说点个按钮很方便,但对Agent来说,要在复杂的界面里找按钮、模拟点击,低效又容易出错。
而CLI这种结构化的指令,就像是Agent的母语,AI用这个软件的话就会更顺手。
钉钉类似的软件全量CLI化,也是目前不得不做的,我们也在做Agent类的软件,像是一些常用的工具也要去给做成CLI。

项目简介
CLI-Anything是香港大学HKUDS开源的项目,目标让所有软件实现Agent原生化。
它通过自动化的七阶段流水线,能把各类软件和API快速转化成结构化的CLI。
像是midjourney这种在discord里用的工具,现在用discord的接口去用,如果调用的太猛,官方可能会误以为逆向。
所以也小心点,别给这类的工具账号封掉。
DEMO
这是官方测试了1839个,都成功了。

看了半天,应该不算是逆向,如果没有官方的接口文档或者源代码,还是实现不了的,这里需要注意下。
我看代办事项里是有逆向一切闭源软件的,如果有需要的话就等等吧。
下面这就是Agent可以很方便执行的CLI了。
# Create a new Writer document$ cli-anything-libreoffice document new -o report.json --type writer✓ Created Writer document: report.json# Add content$ cli-anything-libreoffice --project report.json writer add-heading -t "Q1 Report" --level 1✓ Added heading: "Q1 Report"$ cli-anything-libreoffice --project report.json writer add-table --rows 4 --cols 3✓ Added 4×3 table# Export to real PDF via LibreOffice headless$ cli-anything-libreoffice --project report.json export render output.pdf -p pdf --overwrite✓ Exported: output.pdf (42,831 bytes) via libreoffice-headless# JSON mode for agent consumption$ cli-anything-libreoffice --json document info --project report.json{"name": "Q1 Report","type": "writer","pages": 1,"elements": 2,"modified": true}
设计原则

真实软件集成:它生成的项目文件全是标准格式,直接交给对应的专业软件去处理,不取代这个被CLI化的软件本身。
双重交互模式:每个工具都支持两种玩法,适合脚本自动化的子命令模式和适合Agent连续对话的交互式REPL模式。直接运行命令,就能进入交互界面。
一致的使用体验:所有生成的工具都共用一套统一的界面模版,所有的命令历史记录、进度条、排版格式,操作起来的感觉都是标准化的,非常规整。
Agent原生设计:每个命令都自带–json参数,专门给AI提供结构化数据。AI还可以通过标准的–help命令自己去摸索工具的各种本领,完全不需要人类额外写说明。
项目链接
https://github.com/HKUDS/CLI-Anything扫码加入AI交流群
获得更多技术支持和交流
(请注明自己的职业)

关注「开源AI项目落地」公众号
与AI时代更靠近一点