CLI-Hub与生态如何构建一个可持续发展的市场?
摘要:CLI-Anything 做了什么,Hub 要做什么 CLI-Anything 解决的是单个软件怎么生成 CLI 的问题。CLI-Hub 解决的是另一个问题:这些生成的 CLI 多了之后,怎么管理、发现、安装。 Hub 的定位是 CLI 的
CLI-Anything 做了什么,Hub 要做什么
CLI-Anything 解决的是单个软件怎么生成 CLI 的问题。CLI-Hub 解决的是另一个问题:这些生成的 CLI 多了之后,怎么管理、发现、安装。
Hub 的定位是 CLI 的应用商店——一个中央注册表,汇集社区贡献的所有 CLI。你不需要自己构建,直接从 Hub 安装别人已经生成好的:
# 查看 Hub 上有哪些可用的 CLI
pip index versions cli-anything-gimp
pip install cli-anything-gimp
安装之后直接用,不需要任何构建步骤。
Hub 的注册机制
Hub 的注册表在 GitHub 上维护,核心是一个 registry.json 文件:
{
"clis": [
{
"name": "cli-anything-gimp",
"version": "1.0.0",
"description": "GIMP image editor CLI for AI agents",
"maintainer": "@username",
"repo": "https://github.com/user/gimp-cli",
"tests": 107,
"coverage": ["layers", "filters", "selection", "export"],
"platform": ["linux", "macos", "windows"]
}
]
}
任何人都可以贡献。生成一个新的 CLI 之后,开一个 PR,在 registry.json 里加一条记录,Hub 就会自动更新。类似于 npm 的包注册机制,只是注册的是 CLI 工具而不是 npm 包。
为什么这有意义
想象一下未来的场景。
现在,每个做 AI 应用的公司都在头疼同一个问题:Agent 怎么控制我的软件?解决方案要么是给每个软件单独开发 API,要么是用 GUI 自动化凑合。这两件事都贵,都慢。
CLI-Anything 的思路是:让 AI 自己给 AI 做工具。用 AI 来分析源码生成 CLI,然后用这个 CLI 来驱动 AI Agent。这是一个自我增强的循环——Agent 越强,能生成的 CLI 越好,生成的 CLI 越好,Agent 能做的事越多。
Hub 把这个循环从个人行为变成了社区行为。一个人生成的 CLI,所有人都能用;一个 CLI 的改进,所有用这个 CLI 的 Agent 都受益。
Agent-First 的设计哲学
CLI-Anything 的 README 里提到一个词:Agent-First。
这个词的意思是:这个工具的设计者不是在为人类设计,而是在为 Agent 设计。
传统软件的设计原则是用户体验优先——界面要好看,交互要流畅,错误提示要友好。这些对 Agent 来说都不重要,或者说是错误的优化方向。
Agent 真正需要的是:
发现性:--help 能让 Agent 直接知道这个命令能做什么
确定性:同样的输入永远得到同样的输出
结构化:JSON 输出让 Agent 不需要解析文本
可组合:命令可以管道串联,可以写脚本
CLI-Anything 生成的所有 CLI 都遵循这些原则。这是刻意设计的结果,不是偶然。
已支持的应用分类
Hub 上现在的 CLI 按功能领域分成了几大类:
创意与媒体:Blender、GIMP、Inkscape、Audacity、Krita、Kdenlive、Shotcut、OBS Studio、Darktable、LMMS、Ardour
AI/ML 平台:Stable Diffusion WebUI、ComfyUI、InvokeAI、Fooocus、Kohya_ss、AnythingLLM、SillyTavern
数据与分析:JupyterLab、Apache Superset、Metabase、DBeaver、KNIME、Orange
开发工具:Jenkins、Gitea、Portainer、pgAdmin、SonarQube、ArgoCD、OpenLens、Insomnia
科学计算:ImageJ、FreeCAD、QGIS、ParaView、Gephi、KiCad、JASP
企业办公:LibreOffice、NextCloud、GitLab、Grafana、Zotero、Joplin、Logseq
这些领域里,大多数软件此前对 AI Agent 来说基本不可触及。
