飞书开源 CLI:不是给你用的,是给 AI 用的

0 阅读9分钟

飞书和钉钉同一周开源了 CLI 工具。这不是巧合,而是一个信号:企业软件的用户,正在从人变成 AI Agent。这篇文章帮你搞懂飞书 CLI 到底做了什么、为什么是 CLI 而不是别的,以及这件事对开发者意味着什么。

一、先说结论

3 月 28 日,飞书开源了官方 CLI 工具 larksuite/cli,MIT 协议,Go 语言写的。上线当天 GitHub Stars 破千,两天过了 4000。

核心卖点一句话:把飞书 2500+ 个 API 压缩成 200 多条 CLI 命令和 19 个 AI Agent Skill,让任何 AI Agent 五分钟内接管你的飞书

值不值得关注?值得。不是因为它功能多牛,而是因为它代表了一个正在发生的范式转移——企业工具开始把 AI Agent 当成一等公民来服务。

二、四十年的界面进化,被 AI 反转了

要理解飞书为什么做 CLI,得先回答一个更底层的问题:为什么是 CLI?2026 年了,不是应该做 API 或者 MCP 吗?

回想一下计算机界面的进化史:

1970s CLI  1984 GUI  2007 触屏  2026 AI Agent

四十年来的方向一直是:让界面对人类更友好。鼠标比命令行好用,触屏比鼠标直觉。

但 AI Agent 把这条路掉了个头。

对 AI 来说,GUI 是最差的接口——需要截屏、识别按钮位置、模拟鼠标点击,又慢又不稳定。而 CLI 天然就是 AI 最舒服的接口,原因有三个:

  1. 自文档化。AI 拿到一个陌生的 CLI,跑一下 --help 就知道它能干什么、参数怎么填。不需要读文档,不需要看截图。
  2. 文本原生。CLI 的输入是文本,输出也是文本。大语言模型最擅长的就是处理文本。
  3. 可组合。管道符 | 让 CLI 命令可以像乐高一样拼接。比如:
lark-cli calendar agenda --next-week | grep '周三' | wc -l

一行命令就能回答"下周三有几个会"。换成 GUI,你得打开日历 → 翻到下周 → 肉眼数周三 → 心里默念一个数字。

GUI 服务人类,CLI 服务 AI。 这不是口号,是正在发生的事实。

三、飞书 CLI 到底做了什么

三层架构:从"图省事"到"全都要"

飞书 CLI 的命令设计了三个层次,对应不同的使用深度:

2026-03-30-feishu-cli-architecture.png

第一层 Shortcuts 是给懒人和 AI 用的——+agenda 直接列今天的日程,不用管背后调了哪个 API、传了什么参数。第二层是 API 的命令行映射,和飞书开放平台文档一一对应。第三层是逃生舱,2500 个 API 任你调,想干什么都行。

这个分层设计很聪明:80% 的场景用第一层搞定,15% 用第二层,剩下 5% 的长尾需求用第三层兜底。

覆盖 11 个业务域

消息、文档、日历、邮箱、电子表格、多维表格、任务、知识库、通讯录、会议、云空间——基本上飞书能干的事,CLI 都能干。

几个有意思的能力:

  • 文档支持 Markdown 双向转换。这意味着 AI 可以用最熟悉的 Markdown 格式写文档,CLI 自动转成飞书格式发布
  • 多维表格的 CRUD。社区已经有人用几句自然语言 + 飞书 CLI,让 AI Agent 搭出了一个 CRM 系统
  • 邮件的监听和批量操作。可以订阅新邮件事件,自动分类、回复、转发

19 个 AI Agent Skills

这是最值得关注的部分。飞书 CLI 内置了 19 个 Skill 文件,覆盖日历、消息、文档、表格、任务、邮件等场景。

Skill 是什么?简单说,就是一份写给 AI 的说明书——告诉 AI 在什么场景下用什么命令、怎么组合、注意什么。比 --help 更高层,比自然语言提示词更结构化。

这意味着你不需要自己教 Claude Code 怎么用飞书 CLI。装上 Skill,AI Agent 开箱即用。

安装:三行命令搞定

npm install -g @larksuite/cli
npx skills add larksuite/cli -y -g
lark-cli auth login

第三步会弹出二维码,用飞书 App 扫一下完成授权。之后 Claude Code、Cursor 或者任何能跑终端的 Agent 框架,都可以直接调用。

四、一个具体例子

假设你是一个团队 lead,每天早上想知道"今天团队有哪些会、有没有冲突"。

以前的做法:打开飞书 → 切到日历 → 翻看每个人的日程 → 手动对比时间段 → 脑子里拼出冲突列表。

现在让 AI Agent 干

# 查看今天所有日程
lark-cli +agenda --today --output json

# 查询某人的忙闲状态
lark-cli calendar freebusy query --user "张三" --start "2026-03-30T09:00:00" --end "2026-03-30T18:00:00"

# AI Agent 综合分析后,把结果发到群里
lark-cli im message send --chat "日报群" --text "今日冲突:张三和李四 14:00-15:00 有会议重叠,建议调整周会时间"

整个流程 AI Agent 自己跑完,你只需要看群里的结论。

再来一个更实际的:会议纪要自动化

# 拉取会议转写记录
lark-cli minutes transcript get --meeting-id xxx

# AI 处理转写内容,提取 Action Items,创建任务
lark-cli task create --title "完成 API 文档更新" --assignee "王五" --due "2026-04-03"

# 把会议纪要发到对应文档
lark-cli doc create --folder "团队周会" --title "2026-03-30 周会纪要" --content-type markdown --body "$SUMMARY"

从"开完会"到"任务分好、文档归档",中间不需要任何人动手。

五、飞书 vs 钉钉:同一周开源,完全不同的路

有意思的是,钉钉在飞书开源的前一天(3月27日)也开源了自己的 CLI。两家几乎同时动手,但策略截然不同:

维度飞书 CLI钉钉 CLI
协议MIT(更宽松)Apache-2.0
API 覆盖2500+ API,11 个业务域10 项核心产品能力
命令数200+未公布
Agent Skills19 个未公布
策略关键词分层开放底层重构
安装方式npm预编译二进制
生态依托飞书文档/多维表格阿里云/淘宝/支付宝

飞书的路是自上而下:先做 OpenClaw 插件(3月6日)→ 再做 aily 智能体平台(3月19日)→ 最后开源 CLI(3月28日),一层一层往下开放。

钉钉的路是自下而上:直接重写底层,让产品能力变成 AI 可以直接调用的"系统指令",通过悟空平台统一调度。

哪个策略更好?现在说太早。但有一件事是确定的:两家都认定了同一个方向——AI Agent 是企业工具的下一个主要用户。

六、CLI vs MCP vs Skills:不是替代,是互补

很多人会问:有了 MCP(Model Context Protocol),为什么还要 CLI?

答案是它们解决不同环境下的问题:

方案适用场景核心优势核心劣势
CLI终端环境(Claude Code、终端 Agent)管道组合、自文档化、不占上下文没有终端就没法用
MCP无终端环境(Cursor、Claude Desktop)通用性强,任何支持 MCP 的客户端都能用工具描述吃上下文窗口
Skills预定义工作流提高 Agent 成功率,减少试错需要预先配置

飞书的做法是三个全做——CLI、MCP(lark-openapi-mcp)、Skills 一起开源。你在终端里用 CLI,在 Cursor 里用 MCP,在 Claude Code 里用 Skills,选最顺手的就行。

这其实反映了一个行业共识:没有一种协议能统一所有 Agent 场景,覆盖面比优雅更重要。

七、局限与坑

别只看好的,也得看清楚代价。

1. 项目刚出生两天。4000 Stars 说明关注度高,但不代表生产可用。API 覆盖率、边界场景处理、错误信息质量,这些都需要时间验证。

2. AI 幻觉 + 企业数据 = 高风险组合。飞书官方文档里专门警告了这一点:AI Agent 可能产生幻觉,也可能被提示注入攻击。想象一下:AI Agent 幻觉了一个错误的群聊 ID,把敏感信息发到了错误的群里——这不是假设,是 Agent 操作真实数据时的现实风险。

3. 安全机制有,但不够硬--dry-run 预览模式是好设计,但这依赖于 AI Agent 自己知道什么时候该用 --dry-run。权限控制也是:授权粒度是否足够细?能不能做到"只允许 Agent 读日历但不允许发消息"?这些细节在 v1.0 里还不够清晰。

4. 不是所有 AI 环境都有终端。如果你用的是 Cursor 或 Claude Desktop 这类 GUI 环境,CLI 是跑不了的,得走 MCP 方案。CLI 和 MCP 的功能覆盖是否完全一致?目前看还有差异。

八、更大的图景:从 DAU 到 Agent 调用频率

最后聊一个更宏观的事。

过去十年,企业软件的核心指标是 DAU(日活用户)和用户停留时长。产品经理的 KPI 是让更多人打开 App、在里面待更久。

AI Agent 时代,这个逻辑要变了。

如果大量操作被 Agent 代劳,用户打开飞书 App 的次数会减少,但飞书 API 的调用量会暴增。平台的价值不再取决于"多少人在用",而取决于"多少 Agent 在调"。

这就是飞书和钉钉同时开源 CLI 的深层原因:每个数字平台都面临一个选择——主动对 Agent 开放,还是等着被绕过。

选择开放的平台,会成为 Agent 生态的基础设施,拿到新时代的入场券。选择封闭的平台,Agent 会用截图识别、模拟点击等方式强行绕过你——体验差、效率低、但也能跑起来。到那时,你的护城河就不是壁垒了,是绊脚石。

飞书 CLI 不只是一个工具。它是飞书对这个问题交出的答卷:我们选择打开大门。


飞书 CLI 仓库:github.com/larksuite/c…(MIT 协议) 钉钉 CLI 仓库:github.com/DingTalk-Re…(Apache-2.0)