---
layout: post.njk
source: https://baoyu.io/blog/2026-03-28/lark-cli-ai-agents
speaker: baoyu.io
title: 飞书 CLI 开源了，为什么 AI Agent 时代，大家都在做命令行工具？ | 宝玉的分享
date: '2026-03-28'
summary: 文章探讨了在AI Agent时代，命令行工具（CLI）为何重新兴起并成为产品接入AI的关键。通过飞书CLI等案例，阐述了CLI自描述、易于AI理解、支持dry-run等优势，并介绍了设计面向AI的CLI应考虑的要素，指出CLI是AI时代企业级应用基础设施建设的重要一步。
area: tech-engineering
category: tech-trends
tags:
  - ai-agent
  - cli
  - developer-tools
  - ai-workflow
  - product-integration
people:
  - 宝玉
companies_orgs:
  - 飞书
  - Google
products_models:
  - lark-cli
  - gws
media_books: []
draft: true
status: evergreen
---

宝玉的分享

Menu

See all posts

Published on 2026-03-28

# 飞书 CLI 开源了，为什么 AI Agent 时代，大家都在做命令行工具？

作者：

宝玉

飞书刚开源了一个命令行工具 lark-cli，能让 AI Agent 直接操作飞书：发消息、查日历、写文档、建多维表格、发邮件、管任务。你跟 AI 说一句话，它自己去操作飞书完成任务。

类似的 CLI 还很多，三周前 Google 也开源了 gws，让 AI Agent 操作 Google Workspace。2026 年了，所有想接入 AI Agent 的产品，都在做 CLI。

## 先说 CLI 是什么

CLI（Command Line Interface），就是你在电脑上打开一个黑底白字的终端窗口，敲一行命令，回车，电脑帮你干活。

比如你要查今天的日程，不用打开飞书 App 找日历，敲一行：

```
<code>lark-cli calendar +agenda
</code>
```

日程就列出来了。

没有按钮，没有图标，没有花哨的界面。CLI 比图形界面早了二十多年，在 Windows 时代逐渐没什么人用了。但 AI Agent 时代，又火起来了。

## 为什么 AI Agent 时代，大家都在做 CLI

AI Agent 要干活，就得有操作工具的能力。你让 AI 帮你订会议室，它需要能访问日历系统。你让它帮你整理客户数据，它需要能读写表格。你让它帮你部署代码，它需要能跑部署命令。

总得有一个接口让 AI 去调用。API 也能做这件事，但 CLI 有一个 API 不具备的优势：CLI 是自描述的。AI 碰到一个陌生的 CLI，敲一下 --help 就知道有哪些能力、怎么用、参数怎么填。API 不行，AI 得先拿到文档、弄清端点、搞懂认证方式，才能动手。CLI 自带说明书，AI 拿来就能用。

而且 CLI 天然是用文本交互的，输入是文字，输出也是文字。AI 最擅长处理的就是文字。反过来，让 AI 操作 GUI 就绕远了，得截图、用视觉模型识别按钮在哪、再模拟鼠标去点，一行命令能搞定的事拆成四步，每步都可能出错。对 AI 来说，CLI 就是天然的操作界面。

## 那 MCP 和技能呢

让 AI Agent 操作外部服务，现在主流有三种方式：MCP、CLI、技能（Skills）。三者不是互相替代的关系，各管一件事。

CLI 是实际干活的工具。 装完之后终端里就能跑命令，查日历、发消息、建表格，都是 CLI 在执行。

MCP 也是让 AI 操作外部服务的，但方式不同。 MCP 是提前把工具清单注册给 AI，AI 随时能调用，但清单本身常驻上下文窗口（可以理解为 AI 的“工作记忆”，空间有限）。就算 AI 暂时不用某个工具，它的描述也占着空间。CLI 是 AI 需要的时候自己去终端敲命令，用完就走，不占上下文。

另一个区别是组合能力。CLI 可以靠管道和参数组合出没预设过的操作，比如：

```
<code class="language-bash">lark-cli calendar agenda --next-week | grep "张三" | wc -l
</code>
```

一行命令就能查出下周和张三有几个会。MCP 的每个能力都需要提前注册，要实现同样的效果，得单独定义一个新工具。

不过 MCP 有自己的适用场景。在不支持命令行的环境里（比如 Cursor、Claude 桌面端），MCP 是唯一选择。两者各有所长：能访问终端的场景用 CLI 更轻量灵活，不能访问终端的场景靠 MCP。

技能是给 Agent 看的说明书。 它不干活，但告诉 Agent 这个 CLI 有哪些命令、什么场景该用什么参数、出错了怎么处理。没有技能文件 Agent 也能用 CLI，靠 --help 自己摸索。有了技能文件，Agent 一上来就知道该怎么操作，成功率高得多。

简单说：CLI 是手，MCP 是另一种手，技能是肌肉记忆。 飞书这次开源的项目，CLI 和技能一起提供。

## 怎么给 AI 写好一个 CLI

不是随便写个命令行工具 AI 就能顺畅地用。如果你想给自己的产品做一个面向 AI 的 CLI，飞书的设计有几个值得参考的地方。

第一，help 文本是你最重要的文档。 AI 碰到不认识的 CLI，第一件事就是运行 --help。你的 help 文本就是工具说明书、参数规格、使用指南三合一。别写那种 Usage: myctl deploy [flags] 就完事的帮助信息，要写清楚每个参数干什么、什么时候用、有什么默认值。飞书 CLI 还有一个 schema 命令，可以快速查询任何 API 方法的参数、请求体、响应结构、支持的身份和权限范围。AI 看到这些信息就能自己决定怎么调用。

第二，支持 dry-run，这是为 AI 设计的安全网。 AI 会自己做决策，有时候它理解错了你的意图，或者匹配到了不该动的数据。dry-run 相当于一个“预览”机制。

举个例子，你让 AI 帮你删除飞书多维表格里上个月的过期数据。如果直接执行，删错了就没了。加上 --dry-run，AI 会先跑一遍，返回类似这样的结果：“将要删除以下 47 条记录：2025-05 的过期任务 23 条，已归档项目 24 条。未做任何实际修改。”你看了觉得没问题，再让它去掉 --dry-run 真正执行。Google 的 gws 也做了同样的设计，它的技能文件里甚至写死了一条规则：对所有写入和删除操作，必须先 dry-run。

第三，错误信息要能指导下一步操作。 人看到 Permission denied 会自己去查文档。AI 看到 Permission denied 就卡住了。飞书 CLI 的做法是：告诉 AI 你缺了什么权限，顺便把申请权限的命令也给出来。比如 lark-cli auth login --scope "calendar:calendar:readonly"。AI 看到就能自己修复问题，继续干活。为 AI 设计的 CLI，每一条错误信息都应该包含三个要素：哪个参数出了问题、具体错在哪里、下一步应该执行什么命令来修复。

第四，返回结构化数据，控制好输出量。 飞书 CLI 支持 json、csv、table 等多种输出格式。对人来说 table 更顺眼，对 AI Agent 来说 json 更可靠。好的 CLI 不只是能跑通，还要方便被别的工具消费。同时要控制输出量。AI 的上下文窗口有限，如果一个命令返回一万行日志，上下文就炸了。飞书 CLI 提供了分页参数（--page-limit）和过滤参数，让 AI 能拿到它需要的那部分数据就好。

不管你是设计 CLI 的人还是用 CLI 的人，记住这条：让 Agent 动手之前，先让它 dry run 一遍。

## 装完之后，你动嘴，Agent 动手

装完之后用起来就是：你说一句话，Agent 去操作飞书把事情办了。

你开完会，跟 AI 说“把刚才会议里提到的所有待办都提出来，该发文档的发文档，该建任务的建任务”。AI 读会议纪要，拆解出待办事项，然后逐条执行：用 lark-cli doc create 在飞书里建文档，用 lark-cli task create 建任务并指派给对应的人，用 lark-cli im send 把结果通知到群里。整个过程你只说了一句话，Agent 在终端里跑了一串命令。而且因为有 dry-run，你可以让它先预览一遍要建哪些任务、发给谁，确认没问题再真正执行。

你要约一个五人跨时区的会，跟 AI 说“帮我看看下周大家什么时候有空”。AI 去查每个人的日历和时区，推荐几个时间段，你选一个，会就建好了。

你甚至可以让 AI 在飞书文档里直接帮你写初稿，你在文档里留评论提意见，AI 读完评论自己改。整个协作过程不用离开飞书。

安装也简单，npm install -g @larksuite/cli 装 CLI，npx skills add https://github.com/larksuite/cli -y -g 装技能文件。你甚至不用自己记这两步，把项目地址 https://github.com/larksuite/cli 发给 Agent，让它自己安装、自己学会怎么用。

## CLI 的回归

过去四十年，计算机的界面进化方向一直是从 CLI 到 GUI，从文字到图标，从键盘到触屏，对人越来越友好。

AI Agent 时代，方向反过来了，软件的用户变成了 AI Agent。CLI 这个为文字世界设计的接口，恰好是 AI 最顺手的工具。

既然 Agent 成了软件新的用户增长点，那么像飞书提供 CLI 也不稀奇，与其等着社区来写 MCP 适配层，不如直接做一个 AI 原生的 CLI，完全开源，无需注册审批，让所有 AI Agent 都能接入。

这也带来一个绕不开的问题：Agent 的权限怎么给？不给权限，什么都做不了；权限太高，又怕 Agent 理解错意图干出不可逆的事。

这也带来一个绕不开的问题：Agent 的权限怎么给？不给权限，什么都做不了；权限太高，又怕 Agent 理解错意图干出不可逆的事。毕竟还做不到让 Agent 代你审批、代你发全员邮件。dry-run 能兜住一部分风险，但真正要让 Agent 在企业里大规模跑起来，权限体系、审计追踪、人机协作的边界，都还在摸索中。

但换个角度想，当年我们把公司的钱从保险柜搬到网银，把合同从纸质搬到电子签，也都是一步步摸索出来的。CLI 和 dry-run，可能就是这个过程里的第一步。

而飞书做这件事，其实有一个别人不太容易复制的优势：它本身在企业协作领域已经足够成熟，消息、文档、日历、审批、多维表格、任务，这些能力都是现成的。现在把这些能力通过 AI 原生的 CLI 全部开放出来，大概率会成为国内对 AI Agent 最开放、最友好的企业级接入入口。这件事的价值不止是多一个工具，更像是真正在为 Agent 时代搭建企业级基础设施，把权限、审计、组织能力开放给整个生态，对行业落地 AI Agent 会是很关键的一步。

See all posts

Built by 宝玉.  RSS . 本站原创内容，独家授权赛博禅心公众号发布。

Toggle theme