万物皆可命令行:AI 时代,软件正在长出第二套界面
从 Obsidian、飞书纷纷推出 CLI 说起,解读 AI 时代软件正在长出面向 Agent 的第二套命令行界面,并介绍 OpenCLI、CLI-Anything 两个万物 CLI 化项目。
不知道大家最近有没有注意到一个现象。
Obsidian 出了 CLI,飞书出了 CLI,即梦也出了 CLI。
如果你不知道 CLI 是什么,没关系,一句话解释:CLI 就是命令行界面,你在终端里敲一行文字命令,软件就替你执行对应的操作。
和我们日常用的图形界面(GUI)不同,CLI 没有按钮,没有图标,只有文字,就像这样👇
这东西不是新概念,程序员已经用了几十年了。
但奇怪的是,最近这几个月,好像大家都开始密集推出自己的命令行工具,为什么?
软件正在长出第二套界面
要回答这个问题,得先搞清楚一件事:
这些 CLI,不是给人用的。
是给 AI 用的。
你想一下,我们人类操作软件,靠的是什么?眼睛看屏幕上的按钮,手指点击、拖拽、滑动。
整套 GUI 界面就是围绕人的视觉和手指设计的。
但 AI 呢?它没有眼睛,也没有手指。
你让一个 AI Agent 帮你发条微博,它不可能像人一样打开浏览器、找到输入框、点击发送。(当然,也可以使用 Browser-Use 这类工具,让 AI 自己去操作浏览器,但不灵活,而且慢。)
AI 需要的不是图形界面,而是文字界面。
大语言模型的输入和输出都是文本。文本进,文本出,这恰好就是 CLI 的工作方式一样,敲一行命令,它返回一段文字结果。
而且 CLI 天然可以组合。
在命令行里有一个概念叫「管道」,长这样 👉 | 。
通过管道可以轻松把多个命令串起来:A 的输出,直接变成 B 的输入,B 的输出再传给 C。一条命令,串起一整条工作流。
这不就是 AI Agent 干的事吗?
所以你看,Obsidian 做 CLI、飞书做 CLI——它们不是在给程序员造新工具,而是在给 AI Agent 铺路。
当一个软件有了 CLI,就等于在它原有的「人类入口」之外,新开了一个「AI 入口」。
今天的软件有两类用户:一类是人,一类是 AI。GUI 服务人,CLI 服务 AI。
一个开源项目,要把所有网站都 CLI 化
但问题来了。
飞书出了 CLI,那微博呢?知乎呢?B 站呢?豆瓣呢?
大部分网站和应用,暂时不会主动去做一套 CLI,但 AI Agent 操作它们的需求已经出现了。
在这个趋势下,我在 GitHub 上发现了一个开源项目——OpenCLI
这个项目的介绍是:
将任何网站、Electron 应用或本地工具变成您的命令行界面(CLI)。
目前 OpenCLI 已经适配了 66 个以上的平台,覆盖范围包括:
- 社交媒体:Twitter、Reddit、Instagram、Facebook、TikTok
- 中文平台:B 站、小红书、知乎、豆瓣、微博、即刻、V2EX、贴吧
- 内容平台:YouTube、Medium、Substack、Hacker News、ArXiv
- 工作工具:BOSS 直聘、飞书、钉钉、企业微信
- 金融资讯:雪球、Yahoo Finance、Bloomberg、Barchart
- 桌面应用:Cursor、Notion、ChatGPT、Discord、豆包 这份清单还在持续增长。
它是怎么做到的?
你可能会好奇:这些网站又没有提供官方 API,OpenCLI 是怎么操作它们的?
原理并不复杂。
OpenCLI 通过一个 Chrome 浏览器扩展和一个本地运行的小型守护进程,跟你的浏览器建立连接。
关键在于:它复用的是你浏览器里已经登录好的状态。
也就是说,你平时在 Chrome 里登录了 B 站,OpenCLI 就能通过这个登录态来获取数据。你不需要提供密码,不需要申请 API Key,你的凭证也不会离开浏览器。
安装步骤也非常简单:
npm install -g @jackwener/opencli
一行命令全局安装。
然后在你的浏览器里安装一个扩展,可以在 OpenCLI 发布页下载 github.com/jackwener/opencli/releases
打开浏览器的扩展页面,从左上角导入已经解压后的扩展文件👇
如果能顺利看到这个扩展,就说明已经安装好了。
接下来,就可以直接通过 opencli 命令行轻松调用各个应用的 CLI 了。
比如:
opencli bilibili hot --limit 5
这行命令会返回 B 站当前的 5 条热门视频。

opencli zhihu hot -f json
这行命令会返回知乎热榜,并且以 JSON 格式输出,这个格式对 AI 来说特别友好,可以直接解析和处理。

opencli hackernews top --limit 10
获取 Hacker News 前 10 条热帖。这个命令甚至不需要浏览器登录,因为 Hacker News 本身就是公开的。

opencli xiaohongshu download link --output ./xhs
轻松下载小红书视频。
不过下载视频,需要先安装 yt-dlp 这个命令行工具,可以执行命令安装:pip install -U yt-dlp
你也可以用它操作桌面应用,比如 Obsidian:
opencli obsidian search query="Claude Code"
直接在终端返回 Obsidian 里搜索到的内容。
甚至可以控制 Cursor、Codex、Antigravity 这类代码编辑器:
这意味着什么?一个 AI Agent 可以通过命令行操作你的 IDE,让 AI 控制 AI。
不消耗 Token,确定性输出
OpenCLI 有两个特性值得单独说一下。
第一,运行时不消耗大模型 Token。
这一点很重要。很多浏览器自动化工具(比如 Browser-Use)是基于大模型驱动的——AI 实时「看」网页,理解页面结构,再做出操作。每次运行都在消耗 Token。
OpenCLI 不一样。它的每个命令背后是一个写好的适配器(YAML 或 TypeScript),不需要大模型参与。跑一万次命令,LLM 成本是零。
第二,确定性输出。
同一个命令,每次执行返回的数据结构是一样的。可以把它写进脚本,放进 CI/CD 流水线,可以用管道和其它工具组合。
还有很多其他亮点👇

另一个值得关注的项目
在「万物 CLI」这个方向上,还有一个项目值得提一下:CLI-Anything,来自香港大学数据科学实验室。
它和 OpenCLI 走的是完全不同的路线。
| CLI-Anything | OpenCLI | |
|---|---|---|
| 定位 | 让 AI 自动为桌面软件生成 CLI | 把网站和桌面 App 变成现成的 CLI |
| 目标对象 | GIMP、Blender、LibreOffice 等有源码的桌面软件 | Twitter、B 站、小红书、知乎、Notion 等网站和 Electron 应用 |
| 工作原理 | AI 阅读软件源码,通过 7 个阶段自动生成 CLI | Chrome 扩展 + 本地守护进程,通过预置适配器执行命令 |
| 使用门槛 | 需要理解源码、配置 Python 环境 | npm i -g 装完即用 |
简单来说:OpenCLI 是「手工打造」,每个平台都有人写好适配器,开箱即用;CLI-Anything 是「AI 自动生成」,给它一个软件的源码,它能自己造出一套 CLI 来。
两个项目方向不同,但指向同一件事:让 AI 能操作一切工具。
写在最后
今天的软件世界里,几乎所有产品都是围绕人的感官设计的——好看的界面、顺手的交互、流畅的动画。
但 AI 不在乎这些。
AI 需要的是一个可以用文字对话的接口,一个稳定的、结构化的、可组合的接口,这就是 CLI。
所以我们看到 Obsidian 做了 CLI、飞书做了 CLI,OpenCLI 试图把所有网站都 CLI 化,CLI-Anything 想让 AI 自己给任何软件生成 CLI。
也许再过几年回头看,这一波「万物 CLI」的趋势,就是 AI Agent 真正开始接管日常工作的起点。
到那时候,人和软件之间可能不再需要界面,你只需要描述你想要的结果,剩下的事,AI 会通过 CLI 替你完成。
