CLI 是什么?为什么大厂突然集体卷命令行?
Google 率先开源了 Workspace CLI,紧接着短短一周之内,飞书、钉钉、企业微信不约而同地在 GitHub 上开源了自己的 CLI 工具。

一时间,CLI 这个计算机世界里最古老的交互方式,突然又火了。
奇了怪了,CLI 不就是黑不拉几的命令行窗口吗?都什么年代了,各大厂不去卷更漂亮的界面,反而集体开起了倒车?

这篇文章,我会依次分享:
- 什么是 CLI?
- 怎么用 CLI?
- 为什么大厂都在卷 CLI?
- 有哪些 CLI 开源项目?
- 怎么自己做个 CLI?
一次性把 CLI 给你讲明白,建议收藏~
什么是 CLI?
CLI 全称 Command Line Interface,翻译过来就是命令行界面。
说白了,就是你在一个小黑框里敲文字命令来操作电脑。

和它对应的,是我们每天都在用的 GUI(Graphical User Interface),也就是图形界面。你平时在手机上看到的那些图标、在电脑上看到的那些窗口和按钮,这些都是 GUI。
举个例子,假设你想把电脑桌面上的一张图片移动到另一个文件夹。用 GUI 的话,你会打开文件管理器,找到图片,用鼠标拖过去放进目标文件夹。
使用 CLI 的话,你打开终端,敲一行命令就搞定了:
mv ~/yupidog.png ~/Downloads

再比如切视频、批量改文件名、查服务器日志,这些用 GUI 要点好多步的操作,CLI 往往一行命令就搞定了。
显然,CLI 的特点就是 简洁直接,一条命令干一件事,干净利落。
但是,如果想用好 CLI,要求你记住大量命令和参数,这对普通用户来说门槛太高了。
想象一下我那只会用电脑玩斗地主和捕鱼的爸妈,让他们打开终端敲命令?玩呢?

其实 CLI 是计算机最原始的交互方式。在很久以前,电脑压根儿就没有图形界面,所有操作全靠命令行完成。后来 GUI 出现了,普通用户才终于告别了小黑框。从那以后,GUI 一路高歌猛进,成了绝对的主流。厂商们想方设法把界面做得更好看、更好用,按钮越做越大,交互越做越顺滑,一切都是为了让人类用起来更舒服。
但 CLI 从来没有消失,很多程序员朋友们都在用命令行管理服务器、部署项目。而且有些学编程的朋友写的第一行代码 Hello World,可能就是在命令行里跑起来的。
长期以来,CLI 一直是程序员的专属技能,甚至熟不熟悉命令行是区分老手和新手的标志之一。
不过现在 AI 时代来了,技术越来越大众化,CLI 正在重新站到聚光灯下。
上手试试 CLI
使用 CLI 最简单的方式,就是打开你电脑自带的终端。
Mac 用户在应用程序里找到 “终端”,Windows 用户搜索 “PowerShell” 或者 “命令提示符”,打开之后你会看到一个等待输入的光标。
试着敲一行:
date
电脑会直接返回当前的日期和时间。
这就是最简单的 CLI 交互了,你输入一条命令,电脑返回一个结果,没有花里胡哨的界面。

但这只是最基础的用法,现代 CLI 能做的事情远远不止这些。
比如最近飞书刚开源的 Lark CLI,这个工具可以让你在终端里直接操作飞书的消息、日历、文档等功能。

首先输入一行命令安装:
npm install -g @larksuite/cli

装好之后,先配置一下应用信息:
lark-cli config init --new

打开链接配置飞书 CLI 应用:

创建应用成功后,需要登录授权,按需选择你允许通过 CLI 操作的业务:
lark-cli auth login

跟着 CLI 的引导一步步操作就好:

授权过程中,记得要在飞书管理后台审核应用:

审核应用通过后,可以再重新执行登录命令,直到你看到「授权成功」:

之后,你就可以用命令行来操作飞书了。
比如查看今天的日程安排:
lark-cli calendar +agenda

查看我的待办任务:
lark-cli task +get-my-tasks

甚至直接创建一篇文档:
lark-cli docs +create --title "周报" --markdown "# 本周进展"

以前这些操作你要打开飞书 App,点好几下才能完成,现在一行命令就搞定了。
CLI 有这么多命令和参数,使用过程中,如果忘了某个命令怎么用,怎么办呢?
只需要记住一个万能口诀:不会就加 --help。
比如:
lark-cli --help
lark-cli calendar --help
相当于随时翻说明书,CLI 会把所有可用的命令和参数列出来给你看。

对了,如果你觉得传统的终端使用起来不方便,可以试试 Warp 这种现代终端工具,内置了 AI 辅助和命令自动补全,对新手友好很多。

为什么大厂都在卷 CLI?
前面我们体验了用 CLI 操作飞书,对程序员来说,用习惯了确实还挺方便的。
但你有没有想过一个问题,大厂们费这么大劲把产品做成 CLI,难道只是为了让我们少点几下鼠标吗?为什么大厂都在卷 CLI?
答案就 2 个字:AI。
大厂们不是在给人类做 CLI,而是在给 AI 做 CLI。
AI 大模型从诞生那天起就在学习海量的代码、命令行操作、终端输出。可以说 CLI 就是 AI 的母语,让它读一行命令、执行一个操作,跟喝水一样自然。
反过来,你让 AI 去操作一个图形界面那可就难了。
还是拿飞书举例。假设你想让 AI 帮你搜一下最近同事提到过的 “周报” 相关消息。
假设使用飞书的网页版,AI 需要先打开浏览器,等页面加载完,找到搜索框,输入 “周报”,等结果出来,再一条条翻看消息内容。中间要处理一堆网页元素,导致上下文信息又长又杂,有很多和内容无关的干扰信息。而且万一网页改版了,AI 之前学到的操作方式可能就全废了。
但是飞书提供了 CLI 后,AI 只需要执行一行命令,就能完成任务:
lark-cli im +messages-search --query "周报"

有人做过测试,让 AI 通过浏览器完成真实任务,成功率只有 35.8%;换成 CLI 来完成同样的任务,成功率接近 100%!
所以你会看到一个很有意思的现象。以前大厂做产品,想方设法把 UI 做得好看好用,给人类使用。现在是返璞归真,面向 AI 做产品,给 AI 使用,越简单直接越好。谁先把自己的产品 CLI 化,谁就能先被 AI Agent 接入,谁就能在 AI 时代继续保持竞争力。
国外科技博主 Shawn Yeager 甚至写了一篇文章叫《CLI is the new API》,引起了很大反响。意思是以前产品之间的互通靠 API,现在 AI 时代产品和 AI 之间的互通靠 CLI。
说到 API,你可能会有个疑问:API 接口不也是给程序调用的吗?为什么还需要 CLI 呢?

答案很简单,API 虽然也是程序接口,但调用它需要编写代码。而 CLI 就是一行命令的事,AI 大
更多推荐



所有评论(0)