Loading

CLI-Hub与生态

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 来说基本不可触及。现在有了统一的 CLI 接口,Agent 可以真正地操控这些专业工具了。


贡献一个新 CLI 的完整流程

如果你想给一个还没支持的软件生成 CLI,流程是这样的:

  1. Fork 项目,把目标软件的源码克隆下来
  2. 用 CLI-Anything 构建/cli-anything <软件路径>
  3. 测试/cli-anything:test <软件路径>,确保测试全部通过
  4. 验证/cli-anything:validate <软件路径>,对照 HARNESS.md 检查质量
  5. 发布:把生成的包发布到 PyPI,然后在 registry.json 里提交 PR

如果目标软件是开源的,有源码,整个流程可以在一到两次 Claude Code 会话里完成。


面向未来的软件生态

CLI-Anything 的作者在 README 里写了一句话:

"今天的软件为人而生,明天的用户是 Agent。"

这句话概括了整个项目的愿景。当前我们还在"今天"的阶段——软件的主要用户是人类。CLI-Anything 的工作是让这个过渡更平滑——不需要等软件厂商专门给 Agent 做 API,AI 社区自己就能把这件事做了。

长远来看,如果 CLI-Hub 持续发展,会有越来越多的专业软件被纳入 Agent 可控的范围。到那时候,一个 Agent 的能力边界,不再取决于它有多大模型,而取决于有多少软件被接入了这个生态。

posted @ 2026-03-25 15:34  饭勺oO  阅读(113)  评论(0)    收藏  举报