企业微信甚至都做了 MCP!
写了一篇文章分析了一下,为什么一夜之间大家都开始做 CLI 了,甚至是国内这些以封闭著称的厂商。
从 CLI 为什么突然变重要,到如何为 AI 构建 CLI。
和我在 CodePilot 里让 AI 管理自己工具的实验。
而且对关键概念都做了解释,即使你是个小白也能看懂。
长文在这里:
mp.weixin.qq.com======
AI 天生就在命令行里
GUI 是给眼睛看的,AI 没有眼睛。CLI 是纯文字的,AI 天生就在这个世界里运作。
Karpathy 最近写文章记录自己用 AI 做 app,大部分时间不是在写代码,是在浏览器标签之间跳来跳去配 API Key。他的结论很直接:"你的服务应该有一个 CLI 工具。不要让开发者去访问、查看或点击。直接赋能他们的 AI。"
AI 的实际能力 = 它能调用的工具 + 它拿到的上下文。装了飞书 CLI,AI 能查日程发消息。装了 Google Workspace CLI,AI 能管邮箱和云盘。没装?"不好意思,这个我做不了。"
------
新旧 CLI 已经是两种东西
传统 CLI 给程序员用,弹交互式菜单,输出彩色文字。AI 遇到弹窗直接卡住。
新一代 CLI 从设计之初就假设调用者可能是 AI:所有操作通过参数一次性传入,不弹菜单;输出 JSON,AI 直接解析;自带 Skills 说明书;支持 --dry-run 预览;AI 还能问工具"你有哪些命令?需要什么参数?"
飞书 CLI 装完 200 多条命令覆盖 11 个领域。Google Workspace CLI 一条命令启动 MCP 服务,AI 直接通过标准协议操作 Gmail、Drive、Calendar。
------
CLI 就是事实上的 AI Plugin
先说三个概念:MCP 是 AI 和外部服务的通信协议,Skills 是告诉 AI 怎么用工具的说明书,Plugin 是把工具、协议、说明书打包在一起的扩展。
新一代 CLI 把这三样全打包了。Google Workspace CLI 就是典型:CLI 命令提供执行能力,内置 MCP 服务提供通信协议,自带 Skills 文件当说明书。飞书、Stripe、ElevenLabs 全是这个模式。
而且比 Plugin 多几个好处:
▸ 跨平台。Claude Code 的 Plugin 只能在 Claude Code 里用,飞书 CLI 装了以后 Claude Code、Cursor、Gemini CLI 都能用
▸ 免审核。往 npm 上 publish 就上线了
▸ 人也能用。不装 AI 也能在终端里直接敲命令
▸ 可组合。两个 CLI 用管道串起来,前一个的输出变成后一个的输入。Plugin 之间是隔离的,没有标准的组合方式
------
问题也很明显
安全是最大的结构性缺陷。Plugin 在沙箱里跑,有权限控制。CLI 是直接执行 shell 命令,没有细粒度的"只读不写"控制。
我在 CodePilot 里接 CLI 工具踩了三个坑:
▸ 说明书太大,占掉上下文窗口一大块,推理质量下降。Google Workspace CLI 的 Skills 平均只有 1.6KB,精准给 AI 需要的信息
▸ 交互式提示卡死 AI。Stripe CLI 早期弹选择菜单,AI 直接卡住,后来加了 --no-interactive 才解决
▸ 输出太长淹没有用信息。一个查询返回几万字符 JSON,真正需要的反而找不到
共同根源:"为 AI 设计"和"在 AI 中验证"是两件事。
------
让 AI 管理自己的工具
做 CodePilot 时的思路转变:一开始是传统软件思路,写代码嗅探系统装了什么、写 UI 管理工具。
后来想明白了:产品里已经有 AI 了,为什么要绕过它?安装工具直接让 AI 来,它能读 --help、判断操作系统、处理权限错误、引导认证配置。报错了它能读错误信息自己判断要不要 sudo、先装个依赖。
别用软件帮用户管理 AI 的工具,让 AI 管理自己的工具。
------
还缺什么
行业不缺工具,不缺协议,不缺说明书。缺的是让这三样东西被发现、被安装、被信任的那一层基础设施。
发现机制是空白的。你怎么知道有个飞书 CLI 能让 AI 操作飞书?目前靠口口相传。认证也是问题,装五个工具登录五次。安装体验更不靠谱,npm 和 brew 是十几年前给开发者设计的。
谁做出来这个,谁就是 AI 时代的 npm。