OpenClaw 对接飞书插件 — 让 AI 助手住进你的飞书
知识点
-
1. 在飞书开放平台创建机器人应用并获取凭证 -
2. 安装飞书官方插件并完成 OpenClaw 渠道配置 -
3. 在飞书中与 AI 助手正常对话,并掌握进阶配置
参考链接
飞书官方 OpenClaw 插件文档
一、为什么选飞书
1.1 飞书 vs 其他平台
上一集我们在终端里跟 OpenClaw 聊了起来,但终端毕竟不方便——你不可能随时开着电脑盯着命令行。我们需要把 AI 助手接到一个日常使用的聊天平台上。
OpenClaw 支持 20+ 渠道(Telegram、Discord、Slack、飞书、微信等),为什么推荐飞书?
|
|
|
|
|
|---|---|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
简单说:国内用户接飞书是最省心的选择。
1.2 飞书官方插件能做什么
2026 年 3 月,飞书官方推出了 OpenClaw 插件(@larksuite/openclaw-lark-tools),不再需要用社区第三方插件了。
官方插件的能力:
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
也就是说,AI 不只是能跟你聊天,还能直接帮你操作飞书里的文档、日历、任务等。
1.3 架构回顾
飞书客户端(你发消息)
│
▼
飞书开放平台(长连接 WebSocket)
│
▼
┌──────────────────────────┐
│ OpenClaw Gateway │
│ ws://127.0.0.1:18789 │
│ ├─ 飞书插件(渠道) │
│ ├─ Pi Agent(AI 推理) │
│ └─ Skills(技能扩展) │
└──────────────────────────┘
│
▼
AI 模型 API(Claude/GPT/Qwen...)
消息流向:你在飞书发消息 → 飞书服务器通过长连接推送到本地 Gateway → Gateway 调用 AI 模型 → 回复推回飞书。
二、前置条件
开始之前,确认以下几点:
-
• OpenClaw 已安装并能正常工作(参考第1集) -
• OpenClaw 版本 ≥ 2026.2.26(macOS/Linux)或 ≥ 2026.3.2(Windows) -
• 有一个飞书账号(个人版即可,企业版更好) -
• Gateway 正在运行
检查版本:
openclaw -v
如果版本太低,升级:
npm install -g openclaw
检查 Gateway 状态:
openclaw gateway status
看到 running 就行。没跑起来的话:
openclaw gateway restart
三、飞书开放平台配置
这一步在飞书网页端操作,目的是创建一个机器人应用,拿到 App ID 和 App Secret。
3.1 创建应用
-
1. 打开飞书开放平台:https://open.feishu.cn/app -
2. 登录你的飞书账号 -
3. 点击「创建企业自建应用」 -
4. 填写应用名称(比如 我的AI助手)和描述,上传一个图标 -
5. 点击「创建」
如果你没有企业账号,用个人飞书账号也能创建,会自动生成一个个人开发者企业。
3.2 添加机器人能力
-
1. 进入刚创建的应用 -
2. 左侧菜单找到「添加应用能力」 -
3. 选择「机器人」,点击添加
3.3 获取凭证
在左侧菜单「凭证与基础信息」页面,你能看到:
-
• App ID:类似 cli_a9f1a8b4xxxx -
• App Secret:类似 r0xxK2wWmgbLfsrpKyCRyeSxxxxx
把这两个值记下来,后面要用。
App Secret 是敏感信息,不要泄露给别人。
3.4 配置权限
左侧菜单「开发配置 → 权限管理」,需要开通以下权限:
快捷方式:批量导入
点击「批量导入/导出权限」,在导入页签粘贴以下 JSON(来源:飞书官方 OpenClaw 插件文档):
{
"scopes": {
"tenant": [
"contact:contact.base:readonly",
"docx:document:readonly",
"im:chat:read",
"im:chat:update",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"im:message.pins:read",
"im:message.pins:write_only",
"im:message.reactions:read",
"im:message.reactions:write_only",
"im:message:readonly",
"im:message:recall",
"im:message:send_as_bot",
"im:message:send_multi_users",
"im:message:send_sys_msg",
"im:message:update",
"im:resource",
"application:application:self_manage",
"cardkit:card:write",
"cardkit:card:read",
"contact:user.basic_profile:readonly"
],
"user": [
"contact:user.employee_id:readonly",
"offline_access",
"base:app:copy",
"base:field:create",
"base:field:delete",
"base:field:read",
"base:field:update",
"base:record:create",
"base:record:delete",
"base:record:retrieve",
"base:record:update",
"base:table:create",
"base:table:delete",
"base:table:read",
"base:table:update",
"base:view:read",
"base:view:write_only",
"base:app:create",
"base:app:update",
"base:app:read",
"sheets:spreadsheet.meta:read",
"sheets:spreadsheet:read",
"sheets:spreadsheet:create",
"sheets:spreadsheet:write_only",
"docs:document:export",
"docs:document.media:upload",
"board:whiteboard:node:create",
"board:whiteboard:node:read",
"calendar:calendar:read",
"calendar:calendar.event:create",
"calendar:calendar.event:delete",
"calendar:calendar.event:read",
"calendar:calendar.event:reply",
"calendar:calendar.event:update",
"calendar:calendar.free_busy:read",
"contact:contact.base:readonly",
"contact:user.base:readonly",
"contact:user:search",
"docs:document.comment:create",
"docs:document.comment:read",
"docs:document.comment:update",
"docs:document.media:download",
"docs:document:copy",
"docx:document:create",
"docx:document:readonly",
"docx:document:write_only",
"drive:drive.metadata:readonly",
"drive:file:download",
"drive:file:upload",
"im:chat.members:read",
"im:chat:read",
"im:message",
"im:message.group_msg:get_as_user",
"im:message.p2p_msg:get_as_user",
"im:message:readonly",
"search:docs:read",
"search:message",
"space:document:delete",
"space:document:move",
"space:document:retrieve",
"task:comment:read",
"task:comment:write",
"task:task:read",
"task:task:write",
"task:task:writeonly",
"task:tasklist:read",
"task:tasklist:write",
"wiki:node:copy",
"wiki:node:create",
"wiki:node:move",
"wiki:node:read",
"wiki:node:retrieve",
"wiki:space:read",
"wiki:space:retrieve",
"wiki:space:write_only",
"contact:user.basic_profile:readonly"
]
}
}
点击「下一步,确认新增权限」→「申请开通」。
以上权限覆盖了消息、文档、多维表格、电子表格、日历、任务、知识库、白板等全部能力。如果你的企业对权限管控严格,可以根据实际需要删减
user部分中不需要的权限。
3.5 发布应用
-
1. 点击顶部「创建版本」 -
2. 填写版本号(比如 1.0.0)和更新说明 -
3. 点击「保存」 -
4. 点击「确认发布」
个人开发者企业会自动审核通过。企业账号可能需要管理员审批。
注意:事件订阅(长连接)需要等安装完飞书插件、Gateway 跑起来之后才能配,所以放到第五步再做。
四、安装飞书插件
回到终端,开始在 OpenClaw 端安装飞书官方插件。
4.1 一键安装(推荐)
npx -y @larksuite/openclaw-lark-tools install
如果报权限错误,加
sudo:sudo npx -y @larksuite/openclaw-lark-tools install
执行后终端会显示一个二维码,用飞书客户端扫码,按提示一键创建飞书机器人。
创建完成后,点击「打开机器人」,就能在飞书里看到它了。
安装完成后,插件会自动写入配置到 ~/.openclaw/openclaw.json。
4.2 手动安装(备选)
如果一键安装有问题,也可以手动操作:
# 安装飞书插件
openclaw plugins install @openclaw/feishu
# 添加飞书渠道(交互式)
openclaw channels add
选择 Feishu → 输入 App ID → 输入 App Secret → 选域名 → 完成。
或者直接编辑配置文件:
nano ~/.openclaw/openclaw.json
在 channels 下添加:
{
"channels": {
"feishu": {
"enabled":true,
"appId": "cli_你的AppID",
"appSecret": "你的AppSecret",
"domain": "feishu"
}
}
}
4.3 重启 Gateway
配置改完后,必须重启才能生效:
openclaw gateway restart
以下步骤最新版中可以省略
4.4 回飞书配置事件订阅
现在 Gateway 跑起来了,长连接已建立,回到飞书开放平台配置事件订阅。
为什么不在第三步就配? 因为飞书会检测长连接是否已建立,没建立就保存会报错:「未检测到应用连接信息,请确保长连接建立成功后再保存配置」。所以必须先装插件、启动 Gateway,再回来配。
-
1. 打开飞书开放平台,进入你的应用 -
2. 左侧菜单「开发配置 → 事件与回调」 -
3. 订阅方式:选择「使用 长连接 接收事件」(推荐),点击「保存」 -
4. 点击「添加事件」,搜索并勾选以下事件:
|
|
|
|---|---|
im.message.receive_v1 |
|
im.message.message_read_v1 |
|
im.chat.member.bot.deleted_v1 |
|
im.chat.member.user.added_v1 |
|
-
5. 事件加完后,重新发布一个版本:点击顶部「创建版本」→ 版本号填 1.1.0→ 保存 → 确认发布
发布后重启 Gateway:
openclaw gateway restart
4.5 验证安装
在飞书里找到你的机器人,发一条消息:
/feishu start
如果返回了版本号信息,说明插件安装成功。
还可以跑诊断:
/feishu doctor
然后进行飞书授权
/feishu auth
❌ 用户身份权限检查未通过
⚠️ 暂无用户授权
尚未有用户通过 OAuth 授权。用户首次使用需以用户身份的功能时,会自动触发授权流程。
权限对照: 应用 73/73 已开通,用户 暂无授权
它会检查配置是否正常,有问题会告诉你哪里不对。
⚠️ 工具配置检查异常
⚠️ 工具基础允许列表: 当前为 coding,飞书工具可能无法加载。可以按需修改配置:
openclaw config set tools.profile "full"
openclaw gateway restart
这就是为什么小龙虾只能聊天,不能干活的原因。因为OpenClaw 有一个关键配置项叫 tools.profile,它决定了 Agent 能使用哪些工具。
一共有 5 种 profile
messaging —— 只能发消息、管理会话
default —— 默认工具集
coding —— 编程相关工具
full —— 完整工具集,包含命令执行
all —— 所有工具全开
使用上面的命令就OK了
六、用户授权(可选但推荐)
上面如果授权过就不用再授权了
配对完成后,机器人已经能跟你聊天了。但如果你想让它帮你操作飞书(读文档、查日历、发消息等),还需要完成用户授权。
6.1 快速授权
在飞书对话中发送:
/feishu auth
机器人会返回一个授权链接,点击后在浏览器中完成授权。授权后,AI 就能以你的身份访问飞书的文档、日历、任务等。
6.2 让 AI 学习新能力
授权完成后,建议发一条消息让 AI 了解自己的新能力:
学习一下我安装的新飞书插件,列出有哪些能力
AI 会扫描已安装的插件,列出所有可用的飞书操作能力。
七、进阶配置
基本功能跑通后,可以根据需要调整这些配置。
7.1 开启流式输出
默认情况下,AI 会等整段回复生成完才发送。开启流式输出后,回复会像打字一样逐步显示:
openclaw config set channels.feishu.streaming true
关闭流式输出:
openclaw config set channels.feishu.streaming false
还可以在流式卡片上显示更多信息:
# 显示耗时
openclaw config set channels.feishu.footer.elapsed true
# 显示状态
openclaw config set channels.feishu.footer.status true
7.2 群聊配置
拉机器人进群
在飞书群设置里,把机器人添加为群成员即可。
@机器人才回复(默认)
openclaw config set channels.feishu.requireMention true --json
所有消息都回复(慎用)
openclaw config set channels.feishu.requireMention false --json
需要额外在飞书开放平台申请
im:message.group_msg权限。大群里容易刷屏,谨慎使用。
群组策略
# 开放模式:所有群都能用
openclaw config set channels.feishu.groupPolicy "open"
7.3 话题独立上下文
在话题群或消息群的话题模式中,每个话题可以拥有独立的对话上下文,支持多任务并行:
# 开启
openclaw config set channels.feishu.threadSession true
# 关闭
openclaw config set channels.feishu.threadSession false
7.4 完整配置示例
{
"channels": {
"feishu": {
"enabled":true,
"appId": "cli_你的AppID",
"appSecret": "你的AppSecret",
"domain": "feishu",
"dmPolicy": "pairing",
"requireMention":true,
"groupPolicy": "open",
"streaming":true,
"threadSession":true,
"footer": {
"elapsed":true,
"status":true
}
}
}
}
改完配置记得重启:
openclaw gateway restart
八、插件更新
飞书官方插件迭代很快,建议定期更新:
npx -y @larksuite/openclaw-lark-tools update
如果报错,加
sudo。
查看当前版本信息:
npx @larksuite/openclaw-lark-tools info
查看详细配置:
npx @larksuite/openclaw-lark-tools info --all
九、常见问题排查
问题 1:插件安装后 Gateway 启动失败
检查配置文件有没有语法错误:
openclaw doctor
如果有问题,尝试自动修复:
openclaw doctor --fix
或者用插件自带的诊断工具:
npx @larksuite/openclaw-lark-tools doctor
npx @larksuite/openclaw-lark-tools doctor --fix
问题 2:报 cannot find module xxx
插件依赖没装全。进入插件目录手动安装:
cd ~/.openclaw/extensions/feishu
npm install
问题 3:飞书事件收不到
检查事件订阅是否配置正确:
-
1. 确认选了「长连接」模式 -
2. 确认添加了 im.message.receive_v1事件 -
3. 确认应用已发布
问题 4:工具调用没反应
OpenClaw 3.2+ 版本默认关闭了新 Agent 的工具权限。在 openclaw.json 里加上:
{
"tools": {
"profile": "full",
"sessions": {
"visibility": "all"
}
}
}
问题 5:npm 安装超时
国内网络问题,换源:
export NPM_CONFIG_REGISTRY=https://registry.npmmirror.com
然后重新执行安装命令。
十、本集小结
这一集我们把 OpenClaw 接进了飞书,回顾一下做了什么:
-
1. 飞书开放平台 — 创建机器人应用,拿到 App ID 和 App Secret,配好权限和事件订阅 -
2. 安装飞书插件 — 一条命令 npx -y @larksuite/openclaw-lark-tools install,输入凭证完成配置 -
3. 用户授权 — /feishu auth授权后,AI 能操作你的文档、日历、任务 -
4. 进阶配置 — 流式输出、群聊策略、话题独立上下文
核心命令总结:
# 安装飞书插件
npx -y @larksuite/openclaw-lark-tools install
# 批准配对
openclaw pairing approve feishu <配对码> --notify
# 重启 Gateway
openclaw gateway restart
# 更新插件
npx -y @larksuite/openclaw-lark-tools update
# 诊断问题
npx @larksuite/openclaw-lark-tools doctor
有问题先跑 openclaw doctor 或 /feishu doctor,大部分问题都能自动定位。
附录:操作速查表
终端命令
|
|
|
|---|---|
npx -y @larksuite/openclaw-lark-tools install |
|
npx -y @larksuite/openclaw-lark-tools update |
|
npx @larksuite/openclaw-lark-tools doctor |
|
npx @larksuite/openclaw-lark-tools doctor --fix |
|
npx @larksuite/openclaw-lark-tools info |
|
npx @larksuite/openclaw-lark-tools info --all |
|
openclaw pairing approve feishu <code> --notify |
|
openclaw pairing list |
|
openclaw config set channels.feishu.streaming true |
|
openclaw gateway restart |
|
飞书聊天命令
|
|
|
|---|---|
/feishu start |
|
/feishu doctor |
|
/feishu auth |
|
/status |
|
/new
/reset |
|
/compact |
|
/think high |
|
关键文件路径
|
|
|
|---|---|
~/.openclaw/openclaw.json |
|
~/.openclaw/extensions/feishu/ |
|
~/.openclaw/credentials/ |
|
十一、安全提醒
最后说几句安全相关的:
-
1. App Secret 不要泄露 — 它相当于你机器人的密码,泄露了别人就能冒充你的机器人 -
2. 配对机制别随便关 — dmPolicy: "pairing"是默认的安全策略,关掉意味着任何人都能用你的 AI -
3. 企业环境谨慎使用 — AI 能读你的飞书文档和消息,数据安全要考虑清楚 -
4. 先用个人账号玩 — 等熟悉了再考虑接入工作环境
本集教程基于 OpenClaw v2026.3.13 + 飞书官方插件 v2026.3.15 编写
如果版本更新导致操作有变化,以官方文档为准。
夜雨聆风