飞书接入:官方插件、群聊与文档工具
💡 一句话总结:用 OpenClaw 建立住在飞书里的 AI 同事 —— 官方插件向导接入、群聊流式卡片回复、直接读写飞书文档与多维表格。
办公路线第二课。你在场景实战选了这条路。上一课的企业微信靠腾讯企微团队的外部插件,这一课更省心——OpenClaw 飞书接入靠的是官方 @openclaw/feishu 插件(内置在官方渠道目录里),bot 私聊 + 群聊已是 production-ready,回复走流式卡片,还自带飞书文档 / wiki / 云盘 / Bitable 工具。全部示例基于 OpenClaw v2026.10.9。
学完你能做什么
- 跑一遍
openclaw channels login --channel feishu向导,15 分钟让机器人在飞书上线(扫码自动建,或手动贴 App ID / App Secret) - 在飞书单聊和群里 @它,收到边生成边刷新的流式卡片回复
- 让它新建飞书文档写会议纪要、把待办登记进 Bitable 多维表格
- 用群白名单 + 群内发送者白名单 + @提及门槛,管住谁能用、哪个群能进
为什么用 OpenClaw,而不是网页版 AI?
| 能力 | 网页版 AI | OpenClaw + 官方飞书插件 |
|---|---|---|
| 出现的位置 | ❌ 单独开网页,群里用不了 | ✅ 就在飞书单聊/群聊里,@一下就行 |
| 回复体验 | ❌ 等整段生成完才显示 | ✅ 卡片流式更新,边生成边看 |
| 飞书业务操作 | ❌ 碰不到文档/多维表格/知识库 | ✅ 内置 doc / wiki / drive / Bitable 工具族 |
| 接入成本 | ❌ 没有接入一说 | ✅ 官方插件 + 向导,WebSocket 默认不开公网 |
| 数据与模型 | ❌ 对话全在服务商手里 | ✅ Gateway 跑在自己机器上,模型随便换(含国产模型) |
你现在的困境
- 需求和结论散在几十个群、上百篇飞书文档里,新人问一句「上次的口径」,没人答得全
- 会开完没人愿意整理纪要,待办全靠口头传,一周后就没人记得
- 想给全组配个 AI 助手,但内部数据不敢贴进公网网页版
什么时候用这一招
当你需要:
- AI 助手直接住在飞书里,同事在聊天窗口 @一下就能用,不装新工具
- 它能顺手建文档、写纪要、登记多维表格、查知识库
- 服务器不开公网也能接入(WebSocket 长连接是默认模式)
而且不想:
- 每次切到浏览器,在网页版里复制粘贴
- 自己从零写一套飞书事件回调服务
- 把内部对话托给第三方托管服务
🎒 开始前的准备
- 走完了 场景实战:选择你的路线:Gateway 正在运行、至少连上一个模型
openclaw --version显示 2026.5.29 以上(飞书渠道的最低版本要求;本教程基准 v2026.10.9 满足)- 一个能登录飞书开放平台创建自建应用的账号(国际版 Lark 对应 Lark Developer)
- 一杯水 ☕——15 分钟后你的飞书里会多一位 AI 同事
跟我做
第 1 步:跑 OpenClaw 飞书渠道向导,装上官方插件(@openclaw/feishu)
为什么:飞书渠道由官方 @openclaw/feishu 插件提供,不用裸配置里手搓——向导会自动装插件、配凭据,一步到位。
openclaw channels login --channel feishu向导给你两条路:
- 方式 A:扫码建机器人——在飞书 App 里扫二维码,机器人自动建好;这条路会把私聊锁成只有你能用(
dmPolicy: "allowlist"+ 你的 open_id),最省心 - 方式 B:手动贴凭据——先去飞书开放平台创建自建应用,把 App ID 和 App Secret 贴进向导
向导还会问两件事:API 域名(国内飞书 feishu / 国际版 Lark)和群策略。
你应该看到:向导走完、配置写入,无报错。
💡 国内飞书 App 扫码常没反应
官方排错页把它列为已知情形:国内版飞书移动端对扫码建 bot 不总是响应。遇到就重跑 openclaw channels login --channel feishu 选手动模式,贴 App ID / App Secret 一样能通。
- 向导跑完无报错
第 2 步:验证飞书渠道在线
为什么:配置改动走热加载,但你要确认渠道真的就绪了再去找机器人说话。
openclaw channels status --probe你应该看到:feishu 渠道显示就绪。Gateway 离线就先把它启动起来,再探测一次。
openclaw channels status --probe里 feishu 显示就绪
第 3 步:私聊说第一句话,配对码放行
为什么:默认 dmPolicy: "pairing"——陌生用户第一次私聊只会收到一个配对码,你在 CLI 审批后才放行。这是防止机器人被公司外人白嫖的第一道门。
操作:在飞书里找到机器人,私聊发一句「你好」。
如果你是手动贴凭据建的 bot,第一次对话会收到配对码,回终端审批:
openclaw pairing list feishu
openclaw pairing approve feishu <配对码>你应该看到:机器人开始回复,且回复装在卡片里流式更新——边生成边刷新,这是飞书 Card Kit 流式卡片(streaming.mode 默认 partial)。扫码建的 bot 私聊已锁成只有你,不会触发配对。
💡 飞书没有斜杠命令菜单
/status(看状态)、/reset(重置会话)、/model(查/换模型)、/followup <消息>(排队追加一句)都要当普通文本直接发。控制命令不进普通消息队列——它正在埋头干活时也能用 /status 查进度。
第 4 步:拉进群,配好群白名单与 @提及
为什么:默认 groupPolicy: "allowlist"(没列的群一律不理)且群里要 @机器人 才回话——先拿到 ID,再把你的群加进白名单。
先拿两个 ID:
- 群 ID(
chat_id,oc_开头):打开群 → 右上角菜单 → 设置,设置页上就写着 - 用户 open_id(
ou_开头):给机器人发条私聊,openclaw logs --follow里找open_id;或看openclaw pairing list feishu
在 openclaw.json 里放行你的群(示例:放行两个群,其中一个免 @):
{
"channels": {
"feishu": {
"groupPolicy": "allowlist",
"groupAllowFrom": ["oc_xxx", "oc_yyy"],
"groups": {
"oc_xxx": { "requireMention": false }
}
}
}
}改完等热加载生效(不用重启 Gateway),把机器人拉进群里说句话。
你应该看到:白名单群里的消息有回复;requireMention: false 的群不用 @ 也回;没列的群里说话石沉大海。
三层控制各管一段:
| 层 | 字段 | 管什么 |
|---|---|---|
| 群 | groupAllowFrom / groups.<群ID> | 哪些群能进 |
| 提及 | requireMention | 群里要不要 @(默认要;groupPolicy: "open" 时默认免) |
| 人 | groups.<群ID>.allowFrom | 群里哪些成员说了算数(groupSenderAllowFrom 可全局统一设) |
⚠️ @所有人 不算 @机器人
@all / @_all 这种广播提及不会被当成对机器人的提及;要触发回复,得直接 @它 本人。
第 5 步:让它操作飞书文档与 Bitable
为什么:这是飞书渠道最值钱的部分——插件自带一整套飞书工作工具,默认就开着,你只管开口。
操作:对它说「新建一篇标题为《11 月周会纪要》的飞书文档」。
你应该看到:它建好文档,把链接发回对话里。
两个工具行为心里有数:
feishu_doc建文档只带标题——正文要它拿返回的document_id再写一次。所以直接说「建文档并把下面内容写进去」,让它自己分两步,别只说「建个文档」- Bitable 认
/base/链接里的 application token(或它返回的app_token),不认/wiki/链接里的节点 token——给它多维表格时贴/base/链接最稳
工具族开关(都在 channels.feishu.tools.* 下):
| 工具族 | 干什么 | 默认 |
|---|---|---|
tools.doc | 飞书文档读写 | ✅ 开 |
tools.wiki | 知识库(依赖 doc) | ✅ 开 |
tools.drive | 云盘 | ✅ 开 |
tools.bitable | 多维表格 | ✅ 开 |
tools.chat | 群/成员信息查询 | ✅ 开 |
tools.scopes | 应用权限 scope 诊断 | ✅ 开 |
tools.perm | 权限管理 | ⚠️ 关(敏感,按需开) |
💡 这就是 OpenClaw 的独有价值
网页版 AI 连你的飞书都进不去;这只 Claw 原生带着文档、知识库、云盘、多维表格工具——「把刚才讨论的待办写进多维表格」这种活,一句话的事,不用你导出导入。
第 6 步:上线前把私聊也收紧
为什么:手动建的应用默认 dmPolicy: "pairing"(配对码逐个审批),团队内用可以切成白名单更省事;扫码建的 bot 已自动锁成只有你,可跳过这步。
{
"channels": {
"feishu": {
"dmPolicy": "allowlist",
"allowFrom": ["ou_user1", "ou_user2"]
}
}
}你应该看到:白名单外的用户私聊不再有反应。访问控制与安全加固的完整体系见 安全加固(一):访问控制与身份。
📋 魔法 Prompt
以下 Prompt 直接粘贴到飞书聊天窗口发给机器人。它们都会用到第 5 步解锁的飞书工具族。
📝 会议纪要一键落文档
预期效果:机器人调用 feishu_doc 工具,先建标题文档、再写入正文,把文档链接发回群里。
## 角色
你是会议秘书,擅长把冗长讨论整理成能执行的纪要。
## 任务
把下面这场会的记录整理成纪要:先在飞书里新建一篇标题为【文档标题】的文档,再把纪要正文写进这篇文档,最后把文档链接发到本群。
## 输入信息
### 必填项
- 文档标题:【会议名称 + 日期】
- 会议记录:【粘贴转写原文或你的随手记录】
### 选填项
- 重点议题:【需要重点展开的议题?】
## 输出规范
纪要按「结论 / 待办 / 遗留问题」三段;待办用表格:事项 | 负责人 | 截止时间。群里只回文档链接和一句话摘要。
## 约束条件
- ✅ 每条待办指到具体的人
- ✅ 没定负责人的待办单独列出待认领
- ❌ 不要在群里刷屏贴纪要全文📋 群里讨论的待办登记进 Bitable
预期效果:机器人调用 feishu_bitable_* 工具,把群聊里的待办逐条写进多维表格。
## 角色
你是项目助理,负责把群聊结论落成可跟踪的记录。
## 任务
把本群今天讨论里出现的所有待办,逐条写入多维表格【粘贴 /base/ 开头的表格链接】。
## 输入信息
### 必填项
- 目标表格:【/base/ 开头的多维表格链接】
### 选填项
- 截止时间默认值:【没有明确截止的待办统一填哪天?】
## 输出规范
每条待办一行:事项 | 负责人 | 截止时间。全部写完后在群里回一句汇总:共几条、分给了谁。
## 约束条件
- ✅ 只登记群里真实出现过的待办
- ❌ 不要自创待办
- ❌ 表格链接不是 /base/ 开头就先问我,别硬写📚 知识库问答带出处
预期效果:机器人用 feishu_wiki 工具查知识库后回答,附上参考的节点链接。
## 角色
你是团队知识管家,回答问题必须给出处。
## 任务
在飞书知识库里查与【问题主题】相关的资料,回答我的问题,并附上你参考的知识库节点链接。
## 输入信息
### 必填项
- 问题:【你的问题】
### 选填项
- 范围限定:【只在某个空间或节点下找?】
## 输出规范
先给一句话答案,再给 3 条以内的依据,每条附知识库链接。
## 约束条件
- ✅ 找不到就明说,并列出你查过的位置
- ❌ 不要凭空编答案检查点 ✅
openclaw channels status --probe显示 feishu 渠道就绪- 私聊发消息,回复装在卡片里流式更新
- 群里 @机器人 能回话;
requireMention: false的群不 @ 也回 - 让它建一篇飞书文档,链接能点开、标题正确
dmPolicy/groupPolicy都按你的需求收紧了(或你明确决定保持默认)
踩坑提醒
❌ 机器人进群了,说话不理人
原因:群里默认要 @机器人;或者群不在白名单里(groupPolicy 默认 allowlist)、被设成了 disabled。
正确做法:按第 4 步把群 ID(oc_ 开头)加进 groupAllowFrom,说话时 @它;还不行就 openclaw logs --follow 看日志。
❌ 私聊也没反应,任何消息都收不到
原因:飞书开放平台侧没配好——应用没发布审批、事件订阅缺 im.message.receive_v1、事件接收没选长连接(WebSocket),或权限 scope 没给全。
正确做法:逐项过一遍:应用已发布并审批 → 事件订阅包含 im.message.receive_v1 → 接收方式选长连接 → 补齐所需 scope → openclaw gateway status 确认 Gateway 在跑。
❌ 国内飞书 App 扫码建 bot 没反应
原因:国内版飞书移动端对扫码流程不总是响应(官方排错页已知情形)。
正确做法:重跑 openclaw channels login --channel feishu 选手动模式——去开放平台创建自建应用,复制 App ID / App Secret 贴进向导。
❌ App Secret 泄露了
正确做法:立刻去飞书开放平台重置 Secret → 更新配置里的值 → openclaw channels status --probe 确认热加载已生效。配置走热加载,不用重启 Gateway。
进阶技巧(可选)
多账号:一个 Gateway 挂多个飞书机器人
accounts 里配多个 bot(如 main / backup),defaultAccount 指定出站默认账号。账号级字段覆盖顶层,TTS 还能按账号深合并——共享一套语音凭据、每个 bot 不同音色。
群会话粒度与话题串楼
groupSessionScope 控制群消息怎么映射会话:group(默认,一群一会话)、group_sender(按人拆)、group_topic(按话题拆)、group_topic_sender(话题 + 人)。想让机器人回复自动开话题串楼,配 replyInThread: "enabled"。
动态 Agent:公开机器人按用户隔离
要对外开放(dmPolicy: "open" + allowFrom: ["*"])时,开 dynamicAgentCreation.enabled: true——每个私聊用户自动生成独立 agent(ID 形如 feishu-<open_id>),工作区、记忆、会话历史全隔离。注意两点:这是消息上下文隔离,不是防恶意共租的安全边界;它需要 configWrites 保持开启(默认开)。
表情包回复
actions.sticker: true 后,机器人能把收到过的表情包原样发回去;再配 stickerSets 还能按关键词搜表情(比如「赞」→ 👍)。上限:32 个 bot 集、每集 256 张、每张 1–8 个关键词。注意只能发它收到过的表情包,上传新表情、搜表情商店都不支持。
webhook 模式(一般用不上)
WebSocket 是默认,不开公网就能用。确有回调需求才切 connectionMode: "webhook":共享 Gateway HTTP 端口(默认 18789)的 /feishu/events 路径,需要 verificationToken + encryptKey,且 Gateway 主机时钟要与飞书相差不到 1 小时(保持 NTP 同步),否则签名校验 401。
限额与省配额两开关
发送媒体上限 30 MB(mediaMaxMb),长文本按 4000 字分块(textChunkLimit)。想省飞书 API 配额:typingIndicator: false 关掉「正在输入」reaction,resolveSenderNames: false 关掉发送者姓名查询。
多 Agent 路由(按用户/群把消息分流到不同 agent)见 C3 多 Agent 协作。
本课小结
✅ 你现在能:
- 完成 OpenClaw 飞书接入:单聊/群聊里用上流式卡片回复的 AI 助手(向导装插件 → 配对进群 → 解锁文档工具)
- 把
/status、/model这些控制命令当普通文本发,它干活时也能随时查进度 - 让它建飞书文档、写纪要、登记 Bitable、查知识库
- 用白名单(私聊 / 群 / 群内发送者)+ @提及门槛管住访问
关键配置字段回顾:
| 字段 | 推荐值 | 说明 |
|---|---|---|
channels.feishu.connectionMode | websocket(默认) | 事件传输,无需公网 URL |
channels.feishu.dmPolicy | pairing(默认)/ allowlist | 私聊策略;扫码建的 bot 自动锁本人 |
channels.feishu.groupPolicy | allowlist(默认) | 群策略,配合 groupAllowFrom |
channels.feishu.requireMention | true(默认) | 群里 @ 才回;open 策略下默认免 |
channels.feishu.groups.<群ID>.allowFrom | 按群填 open_id | 群内发送者白名单 |
channels.feishu.tools.perm | false(默认) | 权限管理工具,敏感按需开 |
下一课预告
下一课 A3 微信、QQ 与元宝:腾讯系渠道接入,你会学到:
- 个人微信接入的能力边界(仅私聊,不支持群聊)
- QQ 官方机器人:q.qq.com 开放平台建 bot,一条命令接入
- 腾讯元宝渠道:WebSocket 模式怎么配
- 腾讯系渠道与飞书/企微的配置差异
公司还在用微信/QQ 沟通?下一课把它们也挂上——渠道之间互不干扰,一个 Gateway 全带走。