CLI这个计算机世界里面最古老的交互方式 正在迎来一次新的爆发 飞书 丁丁 启威 谷歌 stripe 在最近两周内都不约而同的开源了自己的CLI产品 越来越多的软件开始转向CLI化 CLI全称是Command Line Interface 其实就是命令行界面 CLI跟我们平时熟悉的图形界面 GOI代表了两种不同的交互逻辑 如果我想把这个视频的前五秒切分出来 使用GOI的方式是先导入剪辑软件 找到对应的时间点切分 最后再把视频导出出来 使用CLI的方式则是打开命令行窗口 执行这一个命令就搞定了 GOI专门为人类设计 因为人类不擅长记忆命令 而更擅长使用图形工具 而AA则正好相反 大模型在诞生的时候就学习过大量代码 命令行等语料数据 因此CLI天生就是AA的母语 CLI天然具备文本输入 结构化输出 报错清晰 异语组合 方便自动化等一系列的优势 越来越多的公司 开源社区开始放弃MCP 转而拥抱CLI 视频的后半段我们会探讨 MCP跟CLI各自都有哪些优势 他们各自适应的场景是什么 在这股CLI热度下面 最近GitHub上面出现了两个非常火热的开源项目 第一个是CLI Anything 只需要一行命令 就能把任意开源软件 以CLI的形式接入Agent的框架 短短两周 GitHub上面已经有了2.5万的STAR 还有一个是OpenCLI 它能把任何的网站或者Electron的桌面应用 转换成能让AA调用的命令行工具 本期视频我们就来深度实测下这两个项目 把各种软件跟网站都转换成CLI 并且让AA Agent能够自动调用这些CLI工具 自动化为我们完成工作 CLI Anything 它的愿景是让所有的软件都能被Agent驱动 一行命令就能把任意的开源软件CLI化 并且轻松接入各种Agent框架 我们来看一下它的工作原理 当我们执行这个命令的时候 会启动一个7个步骤的自动化流程 首先它分析软件原代码 分析出每个UI操作背后的API逻辑 然后规划CLI命令分组 设计输入输出 接下来进行编码实现 编写测试用力 更新文档并且发布 我们看到开发者已经对以下11款软件进行了测试 都取得了不错的效果 本期视频我们以开源软件Draw.IO为例进行演示 这是一个画板工具 可以通过拖拽图形的方式来绘制流程图 架构图 众所周知 Agent非常不擅长在UI上用拖拽的方式来工作 我们可以借助CLI Anything 把Draw.IO进行CLI化 让AE更轻松的进行图形绘制 使用CLI Anything的前提是需要先在电脑上安装Python 我们可以来到Python的官网 在download这里下载安装最新版本的Python 然后我们选择一个自己喜欢的AE编程工具 这里我以Cloud Code为例 我们先复制第一个命令来到Cloud Code执行一下 然后复制第二个命令来到Cloud Code执行一下 安装范围我选择第二个项目级别的 我们重启一下Cloud Code 接下来我让Cloud Code把Jaw.IO的项目原代码 克隆到这个目录下面 接下来我们就可以执行这个最关键的命令了 斜杠CLI Anything 冒号CLI Anything 后面是我们要CLI化的开源项目的原代码路径 接下来Cloud Code会为我们执行这个七个步骤的复杂流程 我们要做的就是耐心等待 这里时间过去了46分钟 AE完成了所有代码的编写 成功的把这个项目进行了CLI化 我们来看一下CLI Anything交付的文件 首先是一个说明文件 readme.md 里面写明了生成的命令行工具是怎么使用的 这三个文件是编写代码时的规范和约束 帮助AA更好的来编写代码 核心功能在这个文件夹里面 里面存放的是AA编写的Python代码 项目原理很简单 当我们运行命令的时候 其实就是运行了这些Python代码 Python代码可以按照Jaw.IO的文件标准 来读写Jaw.IO的工程文件 这样同一份文件可以被Jaw.IO软件 和CLI两种方式进行读写 这里我们根据readme里面列出的使用范例来测试一下 首先第一步把AA编写的Python包来安装一下 这里我们在项目目录里面执行一下安装命令 安装好以后 我们就可以使用下面这些命令行了 比如第一个命令是创建一个Jaw.IO的项目 这里项目文件就被创建出来了 接下来我们可以创建图形 使用这个命令创建一个基础的举形 里面的文字是hello 使用这个命令可以列出画布里面的元素 这个命令可以把画布导出成svg 我们在项目目录就可以看到导出后的svg文件 这样整个流程就跑通了 这样我们就把一个需要复杂UI操作的软件 变成了一个AA可以轻易使用的命令行工具 接下来我们就可以让AA介入这些工具 来绘制出更加复杂的图形 这里我以Codex为例进行演示 我让AA介入CRI命令 画一个快速排序算法的流程图 Codex先是执行了-help命令 学会了如何使用这些命令行 这里体现了CRI的一大优势 也就是自解释性 关于CRI的知识 Agent并不需要一次性的学会 Agent可以随时调用-help去学习每个命令的用法 这个做法跟Skills里面 渐进式披露提示词的做法是一致的 可以大幅减少token消耗 同时保证调用准确率 学会了如何使用命令行以后 AA开始调用这些CRI为我们绘制图形 Codex为我们生成了一个DrawIO格式的原文件 还有一个可以预览的SVG格式图片 我们可以直接在Draw.IO里面 打开这个原文件 进行编辑跟查看 我们看到效果还是不错的 稍微改动一下就可以直接使用了 把一个需要在UI上操作的软件 变成了对AA更友好的命令行工具 AAAgent就可以借助这些命令行 帮我们进行全自动的画图 非常的方便 我们可以使用命令把开源软件从零开始进行CRI化 CRI Anything这个项目里面 也提供了一些作者已经写好了的CRI工具 我们只需要找到对应的目录 比如OBS这个 这个OBS.MD介绍了这个CRI是怎么使用的 直接把这个文件夹下载下来 AA就可以使用命令行来操作OBS了 我们来看下一个开源软件 OpenCRI 它可以把任意的网站或者Electron应用 变成命令行工具 我们看到作者已经把它接入了非常多的网站 还有应用 我们直接拿过来用就行了 这里我们把它安装并且试用一下 第一步首先需要在电脑上安装Node.js 没有的话可以来到Node.js的官网下载并且安装 第二步我们需要先安装一个插件 点击这个链接 在项目的Releases里面 我们可以找到这个插件 然后我们打开Chrome浏览器 在右上角的设置里面 找到管理扩展程序 打开开发者模式 我们把刚才下载的插件直接拖拽进来 插件安装好以后 我们使用NPM命令来安装OpenCRI 这里打开一个命令行窗口 把OpenCRI的安装命令粘贴过来 回车 这样就安装完成了 我们来测试一下 比如我们可以执行OpenCRI HackerNews TopLimit 5 查询HackerNews上面 前五个热门话题 这里给出了结果就运行成功了 我们也可以输入这个命令 OpenCRI Grok Ask 询问它一个问题 我们看到OpenCRI会自动操作我的Chrome浏览器 打开Grok的官网 然后来询问它这个问题 拿到结果以后 它可以把结果展示到控制台里面 我们再看一个例子 可以使用OpenCRI去BOSS上面搜索职位 我们先使用刚刚Help看一下它支持哪些参数 这里有城市经验学历等等 比如我搜索一个青岛的软件开发岗位 我们看到它在后台自动调用了Chrome浏览器 为我们找到了软件开发的相关岗位 在后面追加-FJSON 让它把数据以JSON的格式返回回来 OpenCRI支持下面几十种网站还有工具 这里我就不一一介绍了 我们除了使用这些作者已经编写好的命令行工具 也可以基于这个项目进行二次开发 把自己需要的工具加入进来 接下来我们使用AA编程工具 对这个项目进行一个二次开发 第一步我们先把项目的原代码克隆下来 这里来到项目目录 打开我们的AA编程工具 这里我使用的还是Codex 我让AA创建一个全新的命令 把这个网站上面所有的博客列表输出出来 Codex通读了整个项目结构 学会到了如何创建新的命令 Codex为我们完成了开发 我们按照它的提示把它安装一下 第一个命令 然后第二个命令 接下来第三个命令 这样我们就可以直接使用新创建的命令行了 我输入OpenCRI Node Blog 就获取到了Node.js这个网站上面所有的博客信息 这样我们在AA的帮助下面 开发了一个全新的OpenCRI命令 如果我们想要全新的命令来自动化操作网站 就可以使用这个方法让AA帮我们开发 除了使用CRI Anything和OpenCRI 把一些开源软件CRI化 很多大型软件都提供了自己的官方CRI服务 我们就以GitHub的官方CRI为例 我们先来到它的官网 点击Download的按钮 把GitHub官方CRI安装一下 安装完成以后打开命令行窗口 输入GH也就是GitHub的缩写 然后-help 查看一下有哪些命令可以使用 一般我们使用CRI工具 第一步就是先登录 这里我们输入命令GHOS login 这里会提供给我们一个校验码 我们来到这个网址填上校验码就登录完成了 然后我们可以使用这个命令 查看一下OpenCli上面的一束列表 或者使用这个命令给我自己创建一个新的仓库 我们看到这里仓库就创建出来了 更多命令的使用方法可以参考GitHub官方CRI的文档 后续我们的视频里面还会介绍更多好用的官方CRI工具 MCP全称是模型上下文协议 简单来说MCP就是AA大模型的标准化工具箱 大模型可以利用这些工具与外界互动 获取信息并且完成具体任务 不过由于MCP协议设计之初存在的一些问题 越来越多的公司开源社区开始放弃MCP 转而拥抱CRI 比如ASO所剧投Purplexity在2026年3月宣布放弃MCP 全面转向CRI化 还有现象级的开源产品OpenCloud从一开始就拒绝支持MCP 在26年3月开发者社区掀起了一个讨论热潮 主题就是MCP已死 CRI永生 我认为MCP对比CRI主要有以下几个劣势 首先MCP上下门占用较高 MCP需要将所有的工具名字参数格式 还有调用示例全部注入上下门 每新增一个MCP工具都要占用大量的token开销 而CRI则可以让AA自己学习用法 使用渐进式披露的方式来减少token消耗 ScaleKit做过一组测试 使用Github的官方MCP与官方CRI进行对比 在所有任务上面 CRI的token消耗都成倍的小于MCP 第二点 MCP更像是一个agent的专用协议 而CRI是一个同时对agent跟人类友好的工具 我们还是来看刚才那个Github的例子 比如我让agent用Github CLI创建一个分支 在这里报错了 在这个场景下面 我只需要把命令复制一下 开一个命令行窗口运行一下 就能立即复现出错误原因 而且我还可以协助AA进行修复 而MCP对人类来说更像是一个黑盒 整个运行过程都是在agent内部的 如果运行出错很难在本地复现问题 调试的难度大大增加 第三点是CRI天生支持管道符操作 可以将多个命令组装成流水线 轻松实现复杂任务 这种组合能力是MCP不具备的 我们来看一个例子 我们先使用Github CLI获取OpenCloud的一束列表 这个束线是管道符 意思是把上个命令的输出结果 作为下个命令的输入 可以像拼接管道一样 把命令组合起来 形成一条流水线 通过管道符 我们可以先把数据转换成一个powershell对象 在每条数据里面筛选出 包含bug这个字符串的 再根据时间进行排序 最后导出成一个csv文件 这样我们就通过管道符 串联了流水线 一条命令就能轻松实现复杂需求 如果我们使用mcp处理这种任务 就需要非常多步骤的反复调用工具 大大增加了token消耗跟时间开销 当然mcp也有自己的独特优势 比如在多租户 还有严格全线控制的场景下面 mcp就好于cli 比如国内有的AA agent云平台 允许用户上传自定义的python 或者node格式的mcp包 在云端使用 mcp有标准化的安装包 有统一的健全规范 是实现这个功能的前提 而cli没有标准化的安装包 也没有统一的健全标准 所以想实现类似的功能就非常的困难 我觉得目前说cli可以完全取代mcp 还为时尚早 而且两者之间也在互相学习进化 比如cloudcode和codex 最近都上线了toolsearch功能 不再给AA全量注入mcp的schema 而是按需加载mcp 把skills跟cli 渐进式披露提示词的思路 引入了mcp 第二个例子是龙虾之父开发的开源软件mcpporter 它可以把任意的mcp 转换成cli的格式 提供给agent调用 相信以后技术发展的趋势是每个技术框架 可以互相学习优点 它们之间的功能都会互相的融合 这就是本期视频的全部内容 感谢大家点赞支持 我们下期再见