如果你在 GitHub Trending 上看到一个项目一天涨 1000 多颗星,你会好奇它做了什么。
CLI-Anything 的 slogan 只有一句话:"Making ALL Software Agent-Native"(让所有软件变为 Agent 原生)。
这听起来很野心勃勃,甚至有点像是在喊口号。但看了它的架构设计和 CLI-Hub 生态之后,你会发现这个想法背后有一套严肃的技术逻辑。
什么是"Agent 原生"?
先澄清一个概念。
现在的软件大多是为"人"设计的——图形界面、鼠标点击、键盘输入,都是基于人类的操作习惯。当 AI Agent 要使用这些软件时,它只能通过模拟人类操作(点击按钮、输入文字)来交互。
这种方式的效率很低,而且不稳定。因为 GUI 是为人类设计的,不是为 Agent 设计的。
"Agent 原生"的思路是反过来:从设计之初就考虑 Agent 的使用场景。 软件暴露标准化的接口,Agent 可以直接调用,而不需要模拟人类操作。
CLI-Anything 把这个理念落地到了一个具体的技术框架上。
CLI-Hub:Agent 技能的集散地
CLI-Anything 项目有一个核心组件叫 CLI-Hub(clianything.cc),这是一个 Agent 技能的注册和分发平台。
它的工作方式是这样的:
- 开发者为某个软件或工具编写 CLI 封装(Command Line Interface wrapper)
- 封装被发布到 CLI-Hub,带有标准化的描述和元数据
- Agent 在需要某个功能时,从 CLI-Hub 检索对应的 CLI 封装
- Agent 直接通过命令行调用该功能,无需模拟 GUI 操作
这听起来像是把"API 经济"的思路搬到了 Agent 领域。但区别在于,CLI-Hub 的目标是覆盖所有软件——不仅仅是那些主动开放 API 的服务,还包括各种桌面应用、命令行工具、甚至是 legacy 系统。
为什么这个方向值得关注?
第一,它解决了一个实际的痛点。 当前 Agent 与软件的交互方式太脆弱了。一个 UI 改版就能让 Agent 的自动化流程失效。CLI 接口则稳定得多——命令行参数的变化频率远低于 GUI 的变化频率。
第二,它降低了 Agent 的接入门槛。 不需要每个软件都专门为 Agent 开发一套 API,只需要一个 CLI 封装层。这个封装层可以由社区维护,而不是由软件厂商负责。
第三,它创造了一个新的生态位。 CLI-Hub 本质上是一个 Agent 技能的"应用商店"。随着技能数量的增长,这个平台的价值会越来越大——就像 npm 之于 JavaScript,PyPI 之于 Python。
数据说话
CLI-Anything 的增长速度确实惊人:
- 36,000+ stars
- 3,500+ forks
- 每天约 1,000 颗新星
更值得注意的是,这个项目的主要贡献者来自港大 HKUDS 团队,说明它不是社区自发的"玩具项目",而是有学术团队在背后推动的系统性研究。
和 MCP 的关系
熟悉 MCP(Model Context Protocol)的读者可能会问:CLI-Anything 和 MCP 是什么关系?
简要说:MCP 是协议层,CLI-Anything 是执行层。 MCP 定义了 Agent 和工具之间的通信标准,而 CLI-Anything 提供了将各种工具"封装"成 Agent 可调用的 CLI 接口的具体方案。
两者不是竞争关系,而是互补关系。理想情况下,CLI-Anything 封装的工具可以通过 MCP 协议暴露给 Agent,形成完整的"封装 → 协议 → 调用"链路。
挑战
CLI-Anything 的思路很好,但要实现"让所有软件 Agent 原生"这个目标,还有不少挑战:
CLI 封装的维护成本。 每个软件版本更新都可能导致 CLI 封装失效。谁来维护这些封装?如何保证及时更新?
复杂 GUI 操作的 CLI 化。 有些操作很难用简单的命令行参数来表达——比如拖拽、缩放、多选等。这些操作的 CLI 封装可能非常复杂,甚至比直接模拟 GUI 操作更麻烦。
安全性。 当 Agent 可以直接调用系统命令时,安全风险随之增加。如何防止恶意 Agent 滥用 CLI 封装?
趋势
CLI-Anything 的快速增长反映了行业的一个共识:Agent 和软件的交互方式需要从根本上改变。
仅仅给现有软件套上一层 AI 外壳是不够的。我们需要重新思考软件的架构,让它们从设计之初就"知道"自己的用户可能是 Agent,而不只是人类。
这个转变可能需要几年的时间,但 CLI-Anything 的出现,至少指明了方向。
一周 1,000 星的增长,说明社区已经准备好接受这个方向了。