乐于分享
好东西不私藏

飞书出了个命令行工具,可以用 OpenClaw控制飞书了

飞书出了个命令行工具,可以用 OpenClaw控制飞书了

用终端操作飞书日历、发消息、管文档——lark-cli 1.0 体验报告

为什么我需要飞书cli?

说个场景:我每天早上第一件事,打开飞书看今天的日程。然后切到终端干活,干着干着想查个同事信息,又切回飞书。再然后要发个群消息,再切回去……

一天下来,光是在飞书和终端之间切换就能让我精神分裂。

有没有办法,直接在终端里把飞书的事儿给办了?

还真有。飞书官方前阵子悄悄发布了一个命令行工具——lark-cli,版本号直接 1.0.0,说明人家不是闹着玩的。

我第一时间装上试了试,确实好用,但安装过程中也踩了几个坑。今天就把我完整的安装体验和踩坑记录分享出来,帮你们省点时间。

前置条件

别急着装,先确认两件事:

  1. Node.js >= 18
     — 用 node -v 看一下,不够的赶紧升。我本机是 v24.14.0,没问题。
  1. 一个飞书开发者账号
     — 就是飞书开放平台的账号,免费注册。

没有 Node.js 的,推荐用 nvm 管理版本,一条命令就能搞定:

nvm install 18 
nvm use 18

正式安装

第一步:装 lark-cli

npm install -g @larksuite/lark-cli

装完之后验证一下:

lark-cli --version # lark-cli/1.0.0

看到版本号就说明装好了。装不上检查一下 npm 镜像源,国内的开发者可能需要切一下。

💡 另外听说也支持 pip install lark-cli,Python 用户可以试试,但我没用过,不保证效果。

第二步:配置初始化

这一步是最关键的,也是最容易卡住的地方。

lark-cli config init --new
运行之后,它会引导你完成一系列配置。我简化一下流程:
打开 飞书开放平台
创建一个企业自建应用
拿到 App ID 和 App Secret
在应用后台开通你需要的权限 scope
把授权链接发给目标用户,用户打开链接完成授权

听着挺多步骤,但跟着提示走其实不难。开放平台的界面做得还算清晰,每个 scope 旁边都有说明。

第三步:认证登录

lark-cli 支持两种身份:

Bot 身份(应用身份)— 自动生效,只要有 App ID 和 App Secret 就行:

lark-cli calendar +agenda --as bot

User 身份(用户身份)— 需要额外授权:

lark-cli auth login --scope "calendar:calendar:readonly"

这里有个坑,我后面细说。

第四步:安装 Skills(可选但强烈推荐)

lark-cli 有一个 skills 生态,可以按需安装不同模块:

# 全部安装 npx skills add larksuite/cli --all -y  # 按需安装 npx skills add larksuite/cli -s lark-calendar -y npx skills add larksuite/cli -s lark-im -y npx skills add larksuite/cli -s lark-doc -y

这些 skills 本质上是预置的命令模板,让你不用每次都手写长串参数。强烈建议装上,体验提升巨大。约有20个skill:

  • lark-calendar — 日历日程管理
  • lark-im — 即时通讯消息
  • lark-doc — 云文档读写
  • lark-sheets — 电子表格操作
  • lark-base — 多维表格管理
  • lark-task — 任务待办管理
  • lark-wiki — 知识库操作
  • lark-mail — 邮件收发
  • lark-contact — 通讯录查询
  • lark-drive — 云空间文件管理
  • lark-vc — 视频会议记录
  • lark-event — 实时事件订阅

开箱即用

装好之后,就可以开始玩了。几个常用命令:

# 查看今日日程 
lark-cli calendar +agenda  
# 搜索好友 
lark-cli contact +search-user --query "张三"  
# 发送飞书消息 
lark-cli im +send-message --chat-id "oc_xxx" --msg-type text --content '{"text":"hello"}'  
# 读取文档内容 
lark-cli doc docs read --doc-token "doc_xxx"

还有更底层的通用 API 调用:

lark-cli api GET /open-apis/calendar/v4/calendars

基本上飞书开放平台有的 API,lark-cli 都能调。支持的模块包括日历、通讯录、即时通讯、文档、云空间、多维表格、邮箱、任务、知识库、妙记、视频会议、画板、电子表格——覆盖面相当全。

下面是随手丢个网址给龙虾让他生成飞书文档

我踩的三个坑

坑一:权限不足

症状: 命令执行报错,提示没有对应权限。

解决: 去飞书开发者后台,在应用管理页面开通对应的 scope,错误信息里会直接给你一个配置链接,点进去就能改。这个体验做得不错,至少不用自己猜缺什么权限。

坑二:身份混淆

这个坑困扰了我好一会儿。

--as bot 只能看到应用自己的资源,看不到用户的。比如你想看个人日历,用 bot 身份是看不到的,必须用 user 身份:

lark-cli calendar +agenda --as user

如果你发现查出来的数据跟飞书 App 里看到的不一样,先检查一下是不是身份搞错了。

坑三:API 频率限制

批量操作的时候容易触发,比如一次查很多条记录。解决方法很简单,加个延迟:

lark-cli doc docs search --query "周报" --page-delay 500

--page-delay 500 表示每页之间等 500 毫秒,基本不会触发限流。

用了几天之后的感受

说几个我觉得特别爽的场景:

  1. 写脚本自动化
     — 比如每天早上自动拉取今日日程,生成摘要推送到群里
  2. CI/CD 集成
     — 构建完成之后自动发飞书通知,比 Webhook 配置灵活多了
  3. 快速查询
     — 终端里直接搜好友、查文档,不用切窗口

当然,它也不是万能的。如果你想做复杂的表格操作或者富文本编辑,还是得用飞书客户端。lark-cli 更适合的是结构化的、可自动化的场景

总的来说,作为一个 1.0 版本,完成度已经相当高了。如果你是终端重度用户,或者有自动化需求,强烈建议试试。


安装就三步:装包 → 配置 → 认证。 十分钟搞定,踩坑概率不高。

感兴趣的同学可以去 GitHub 搜 @larksuite/lark-cli 看看,文档写得很详细。有问题也欢迎留言,我踩过的坑你们就不用再踩了。

觉得有用的话,点个在看 👀 转发给你的程序员朋友吧。