本篇怎么写的内容以飞书官方资料为准:larksuite/cli 中文 README、飞书开放平台《飞书 CLI:给 Agent 一双操作飞书的手》和 CLI 自带的 Skill。配图均来自飞书开放平台文档。版本 v1.0.94。
飞书 CLI 是什么
lark-cli 由飞书 larksuite 团队维护,MIT 开源。官方的定位是「让人类和 AI Agent 都能在终端中操作飞书」:200 多条命令,外加一整套 Skill(写给 Agent 看的说明书)。Claude Code、Codex、Cursor、TRAE 读了 Skill,就知道该调哪条命令。
| 业务域 | 官方列出的能力 |
|---|---|
| 消息与群组 | 搜消息和群聊、发消息、回复话题、管理成员与表情回应、收发图片文件 |
| 云文档 / 云空间 / 知识库 | 建文档、读正文、更新、插图片附件;上传下载、导入导出、权限、评论;管理知识空间和节点 |
| 电子表格 / 多维表格 | 读写单元格、批量追加、查找替换;数据表、字段、记录、视图、表单、仪表盘、自动化、权限角色 |
| 日历 / 视频会议 / 妙记 | 查日程、约会议、查忙闲、推荐时间、订会议室;拿会议纪要、逐字稿、待办 |
| 邮箱 | 搜索、读取、起草、发送、回复、转发、归档,管理文件夹和规则 |
| 其他 | 任务、通讯录、幻灯片、画板、OKR、审批、考勤;妙搭应用;飞书项目要另装 meegle-cli |
1安装
需要 Node.js。官方给了三种装法。
| 方式 | 命令 / 做法 | 说明 |
|---|---|---|
| 一键安装(推荐) | npx @larksuite/cli@latest install | 交互向导,依次:全局安装 CLI → 安装 Skills → 配置应用 → 询问是否授权。要在真实终端里执行 |
| 让 Agent 装 | 把下面这句发给 Claude Code / Codex | Agent 按官方写给 Agent 的安装指南执行,需要浏览器确认时把链接发给你 |
| 源码安装 | make install 后执行 npx skills add larksuite/cli -y -g | 需要 Go 1.23+ 和 Python 3;Skill 要单独装 |
帮我安装飞书 CLI:https://open.feishu.cn/document/no_class/mcp-archive/feishu-cli-installation-guide.md
国际版 Lark 用户,官方给的说法是「帮我安装 Lark CLI: https://github.com/larksuite/cli」。
装完一定要重启 Claude Code / Codex,官方文档专门强调了这一点,否则新装的 Skill 加载不全。
别装错包npm 上另有一个直接叫 lark-cli 的包,是 2017 年的无关项目。官方包名是 @larksuite/cli,装好后的命令才叫 lark-cli。
2配置应用和登录(官方给 Agent 的四步)
一键安装的向导已经带你走过这两步的可以跳过。官方 README 里「快速开始(AI Agent)」写的是:
npx @larksuite/cli@latest install # 第 1 步 安装
lark-cli config init --new # 第 2 步 配置应用凭证:后台运行,把输出里的授权链接发给用户
lark-cli auth login --recommend # 第 3 步 登录:同样后台运行、转发链接
lark-cli auth status # 第 4 步 验证
config init --new 默认新建一个飞书应用,也可以选已有应用;创建后权限等配置自动完成。登录那一步决定 AI 能看到多少,官方给了两种模式:
| 模式 | 怎么做 | AI 能做的事 |
|---|---|---|
| 以你的身份操作 | 执行 lark-cli auth login,打开链接在飞书里确认 | 访问你的日历、消息、文档,并以你的名义执行操作 |
| 不授权直接用 | 跳过登录 | 仍能发消息、建文档,但看不到你的日程、私信、收件箱。之后 AI 需要个人数据时会自己发起授权 |
在终端里直接执行 lark-cli auth login,会出现选择业务域的界面:
README 里的授权命令速查:
lark-cli auth login --domain calendar,task # 按业务域
lark-cli auth login --recommend # 只要推荐的免审权限
lark-cli auth login --scope "calendar:calendar:read"
lark-cli auth login --domain calendar --no-wait # Agent 模式:立刻返回链接不阻塞
lark-cli auth login --device-code <DEVICE_CODE> # 稍后继续轮询
lark-cli auth check # 校验某个 scope,退出码 0 有、1 缺
lark-cli calendar +agenda --as user # 以用户身份执行
lark-cli im +messages-send --as bot --chat-id "oc_xxx" --text "Hello" # 以机器人身份执行
身份别用错CLI 自带的 lark-shared Skill 写明:--as user 代表你本人,--as bot 代表应用;用 bot 身份查你个人的资源,返回的是空成功,不会报错。Agent 容易把它误读成「没有数据」。
3在 Claude Code、Codex 里用起来
装好、重启 Agent 后,直接在对话框里说需求。官方给的第一句:
帮我创建一篇云文档,介绍飞书 CLI 的能力有哪些,以及基于你对我的了解,我可以先开始用哪些能力
Skill 按业务域拆分,Agent 会按需读取。几个关键的:
| Skill | 管什么 |
|---|---|
lark-shared | 应用配置、登录、身份切换、权限和安全规则,其他 Skill 都会先加载它 |
lark-doc · lark-drive · lark-wiki | 云文档(基于 Markdown)、云空间文件和评论、知识库 |
lark-base · lark-sheets | 多维表格、电子表格 |
lark-im · lark-calendar · lark-meeting · lark-mail | 消息、日历、会议与妙记、邮箱 |
lark-workflow-meeting-summary · lark-workflow-standup-report | 现成工作流:会议纪要汇总、日程待办摘要 |
lark-openapi-explorer · lark-skill-maker | 挖 CLI 没封装的原生接口;照官方框架写你自己的 Skill |
Codex 用户注意本手册实测:Codex 默认的 workspace-write 沙箱里调 lark-cli,报 keychain Get failed: keychain not initialized。在 ~/.codex/config.toml 打开沙箱网络后正常:
[sandbox_workspace_write]
network_access = true
CLI 报错提示里给的另一条路是在普通终端执行 lark-cli config keychain-downgrade,代价是凭证主密钥变成本机用户可读的文件。
官方给的五个用法
下面的提示词都出自飞书开放平台文档,换成你自己的群名、文档链接就能用。
| 场景 | 对 Agent 说 | 它会做什么 |
|---|---|---|
| 会后待办 | 读一下这个妙记,然后把里面的待办提取出来,直接帮我办了。做之前给我看一下你的计划。 | 从妙记识别待办,发文档、约会、做调研,执行前先让你过目 |
| AI 当审稿人 | {文档链接} 阅读一下这篇文档……不要直接改文档,只把有优化空间的位置划词评论出来 | 以评论的形式指出问题,不动正文 |
| 跨时区约会 | 帮我看一下【XX】群里所有人的日历,然后下周找一个大家都合适的时间开一小时的讨论会 | 拉群成员、查空闲、考虑时区,给几个候选时间 |
| 会议数据分析 | 拉取我过去两周的日历,把每个日程分类打标,写入多维表格,然后做一个仪表盘 | 分类打标、写表、生成饼图柱状图 |
| 未读邮件 | 查看我所有的未读邮件,重要邮件发摘要到 aurora 项目群,并给每封邮件写一个草稿回复 | 分类、推摘要、起草回复 |
三层命令
Agent 大多数时候自己挑命令,你排查问题或自己写脚本时会用到这张表:
| 层 | 例子 | 特点 |
|---|---|---|
| 快捷命令 | lark-cli calendar +agenda | + 开头,有智能默认值、表格输出、dry-run 预览 |
| API 命令 | lark-cli calendar calendars list | 和开放平台接口一一对应,100 多条精选 |
| 通用调用 | lark-cli api GET /open-apis/calendar/v4/calendars | 覆盖 2500 多个开放平台接口 |
几个常用参数:--format json|pretty|table|ndjson|csv 切输出格式;--page-all 自动翻页;--dry-run 只预览请求;lark-cli schema im.messages.delete 查某个接口的参数、身份和所需 scope。
安全规则
官方 README 在「使用前必读」里说得很直白:Agent 有模型幻觉、执行不可控、提示词注入等风险,授权后它会以你的身份在授权范围内操作。官方的建议和 CLI 自带的约束:
- 对接 CLI 的机器人只当私人对话助手,不要拉进群、不要让别人和它对话。
- 不要改默认安全配置,放开限制后的后果自己承担。
- 高风险写操作会以退出码 10 停下,Agent 必须把动作和风险给你看,你同意后才能加确认参数重试(
lark-sharedSkill 规定)。 - 判断命令成功看
ok == true或退出码,不要用code == 0:成功返回里没有code字段。 - 文件路径参数只接受当前目录下的相对路径。
- CLI 默认随请求上报操作系统类型和硬件型号作为风控信号,
lark-cli config risk-control off可以对当前工作区关闭。
一台电脑跑多个飞书应用
给不同 Agent 配不同权限的应用时用得上:
lark-cli config init --new --name bot-reader # 带 --name 是追加,不带会覆盖默认
lark-cli profile list
lark-cli profile use bot-reader # 切换默认
lark-cli --profile bot-writer docs +create --api-version v2 --title "测试文档" # 单次指定,多进程并发安全
官方常见问题
| 问题 | 官方答复 |
|---|---|
| 企业管理员能管控吗 | CLI 只提供一键建应用,应用仍受企业统一管控规则约束 |
| 提示命令不存在 | 确认 CLI 所在目录在 PATH 里,npm root -g 查全局目录 |
| 授权码已过期 | 有效期只有几分钟,重新 auth login |
| 提示权限不足 | 按报错补授权 auth login --scope "<缺的 scope>";应用身份还要去开放平台后台开权限 |
| 和 OpenClaw 飞书官方插件什么关系 | 插件底层就是这套 CLI,已经在用插件的不用再装 CLI |
| 支持国际版 Lark 吗 | 支持,config init 时配置国际版应用 |
外部测评
- 数字生命卡兹克《刚刚,飞书CLI开源,Claude Code也可以丝滑操控飞书了。》,2026-03-28:开源当天用 Claude Code 实测给通讯录群发个性化私信、多维表格转数据分析网页、查项目表缺漏、自动日报、汇总简历邮件。提到安装时 Skill 可能没装上,要手动补装,装完要重启 Agent。