1. OpenClaw 接入飞书为什么总卡在回调这一步
OpenClaw 接入飞书这件事,说难不难,说简单也容易翻车。OpenClaw 是一个消息网关,能把飞书、Telegram 这类聊天入口统一接进来,让 AI 直接在你的办公 IM 里干活——写文档、建多维表格、查消息、约日程。适合谁?适合手上已经有一台跑着 OpenClaw 的机器(本地电脑或 VPS 都行),想把它接进飞书当办公助手的同学。飞书这边生态完善,OpenClaw 接进去之后可以直接创建文档、表格、多维表格,调研文档直接生成表格,这个体验确实爽。
但真正动手的时候,大部分人卡的不是"创建应用"这种体力活,而是事件回调。飞书开放平台里配置项多、权限细、版本要反复发,第一次搞的人很容易绕晕:权限没导全,机器人读不到消息;事件没订阅,消息进来了 OpenClaw 收不到;回调方式选错,长连接和 Webhook 混着配,最后机器人一声不吭。
我实测下来,整个链路其实就四件事:飞书后台建应用加机器人能力、导权限发版;终端装插件填 App ID 和 App Secret;配事件回调走长连接加三个事件再发版;发消息配对批准。把这四件事拆清楚,10 分钟能跑通首次对话。这篇就按这个顺序,把每一步的可复制配置、权限清单、回调填写示例、验证动作和常见报错都写全,零基础也能跟着做。
前置条件先确认两件事。第一,OpenClaw 版本要够:Linux/macOS 需要 2026.2.26 及以上,Windows 需要 2026.3.2 及以上,终端输入openclaw -v查看。第二,你有一台跑着 OpenClaw 的机器,本地或 VPS 都行。版本不够先去升级,否则插件装上了也可能跑不起来。
另外提前说一句安全的事:App Secret 相当于密码,不要公开、不要截图发群里。后面配置里会用到它,但只应该填进你自己的 OpenClaw 配置里。
2. TaoToken 前置准备:把模型通道先打通
在折腾飞书之前,建议先把 OpenClaw 背后的模型通道准备好。OpenClaw 本身是消息网关,它负责把飞书的消息转给模型、再把模型的回复转回飞书。如果模型通道没通,飞书这边配得再对,机器人也只会"已读不回"。
TaoToken 在这里的角色就是统一的模型接入层。你可以把它理解成一个"模型插座":OpenClaw 通过一个 Base URL 和一个 API Key,就能调用到背后的模型能力,不用自己一个个去对接不同厂商的接口。官网入口是 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,API 地址是 https://taotoken.net/api (这个不加 UTM)。
具体要准备三样东西,也就是常说的"三件套":
Base URL:https://taotoken.net/api。这是 OpenClaw 发请求的目标地址,注意不要带多余的路径后缀,很多 404 就是这里多写了/v1或者少写了斜杠导致的。
API Key:去控制台的 API Keys 页面创建。地址是 https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite 。创建后复制出来,同样别外传。
Model ID:你要用的具体模型标识。这个在模型对话页面能看到当前可用的模型列表,地址是 https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 。选一个你常用的,记下它的 ID。
如果你只是想先验证通道通不通,可以打开模型对话页面直接聊两句,地址是 https://taotoken.net/chat?utm_source=taotoken_aicg_blog_end&utm_content=chat&utm_campaign=rewrite 。能正常回复,说明 Key 和模型都没问题,再去配 OpenClaw 就少一层变量。
对于长期要跑编码任务或者 Agent 工作流的同学,可以考虑 Coding Plan,地址是 https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding_plan&utm_campaign=rewrite 。它的定位是给持续性的编码和 Agent 场景用的,比按次调用更适合高频使用。
把这三件套准备好放在手边,下一步配置 OpenClaw 的时候直接粘贴,不用来回翻页面。
3. 可复制配置:飞书应用创建到 OpenClaw 插件安装
这一节是全文的核心,我把飞书后台和 OpenClaw 终端的配置都写成可直接复制的形式。跟着走,别跳步。
3.1 飞书后台:创建应用与添加机器人能力
打开飞书开放平台(open.feishu.cn),登录后点击「创建企业自建应用」。填写应用名称和描述,上传一个图标。名称随便起,比如"AI 助手"就行。
创建完进入应用详情页,找到「添加应用能力」,点击添加「机器人」。这一步就是告诉飞书:这个应用要具备收发消息的能力。
3.2 权限批量导入(最容易漏的一步)
进入「权限管理」页面,点击「批量开通」,把下面这组权限一次性复制进去。很多人后面发现机器人不能读消息、不能写文档、不能建表格,就是权限没给够。
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.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 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: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:message im:message.group_msg:get_as_user im:message.p2p_msg:get_as_user im:message.send_as_user 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粘贴完成后点确定。这些权限覆盖通讯录、文档、多维表格、日历、任务、白板、即时通讯等主要模块,导入后机器人才能真正"以你的身份"在飞书里干活。
3.3 创建版本并发布
权限配好后,点击「创建版本」,输入版本号(比如 1.0.0)和一句描述,然后发布。企业版可能需要管理员审批,个人版一般直接通过。
3.4 拿到 App ID 和 App Secret
进入「凭证与基础信息」页面,复制 App ID 和 App Secret。这两个值后面配置 OpenClaw 要用。再提醒一次:App Secret 不要公开。
3.5 安装飞书插件
回到 OpenClaw 所在机器,执行以下命令。macOS / Linux:
npm config set registry https://registry.npmjs.org curl -o /tmp/feishu-openclaw-plugin-onboard-cli.tgz https://sf3-cn.feishucdn.com/obj/open-platform-opendoc/4d184b1ba733bae2423a89e196a2ef8f_QATOjKH1WN.tgz npm install /tmp/feishu-openclaw-plugin-onboard-cli.tgz -g rm /tmp/feishu-openclaw-plugin-onboard-cli.tgz feishu-plugin-onboard install安装过程中会问你要 App ID 和 App Secret,把 3.4 复制的粘贴进去。不想自己敲命令的话,也可以直接把 App ID 和 App Secret 发给你的 OpenClaw AI,让它帮你配置,Web UI 对话框或本地 CLI 都行。
3.6 配置事件与回调(长连接)
进入飞书开放平台 → 你的应用 → 开发配置 → 事件与回调。订阅方式选「长连接」,添加三个事件:
im.message.receive_v1 im.message.reaction.created_v1 im.message.reaction.deleted_v1回调配置也选长连接,点击「添加回调」,选择「卡片回传交互」。然后再发一次版本,让这些配置生效。
3.7 启动网关与配对
确保 OpenClaw 网关服务在运行:
openclaw gateway run然后在飞书里找到你的机器人,发一条消息。机器人会返回一个配对码(5 分钟有效)。在终端执行:
openclaw pairing approve feishu <你的配对码> --notify批准后按弹出的授权页面完成权限授予。如果错过了,后面在对话里输入/feishu auth也能补授权。
3.8 可选的进阶配置
流式输出(打字机效果):
openclaw config set channels.feishu.streaming true群聊默认需要 @机器人才回复(推荐):
openclaw config set channels.feishu.requireMention true --json话题群独立上下文:
openclaw config set channels.feishu.threadSession true4. 验证请求:一条消息从飞书到 OpenClaw 回复成功
配置完别急着庆祝,先做一次完整的验证。这一步是确认整条链路真的通了,而不是"看起来配好了"。
验证动作很简单:打开飞书,找到你刚配好的机器人,发一条消息,比如"你好,帮我列一下今天要做的事"。正常情况下,机器人会先返回配对码(如果还没配对),配对批准后,再发消息就会得到模型的回复。
如果机器人能正常回复,说明四件事都对了:飞书应用权限够、事件回调通、OpenClaw 插件装好、模型通道(TaoToken 三件套)也通。
想更稳一点,可以在终端跑几个检查命令:
# 检查插件状态 /feishu start # 自动诊断 /feishu doctor # 自动修复 feishu-plugin-onboard doctor --fix # 查看详细配置 feishu-plugin-onboard info --all/feishu doctor会告诉你哪一环有问题,比如权限缺失、回调没生效、配对过期。feishu-plugin-onboard info --all会把当前配置全列出来,方便你对照 Base URL、Key、Model ID 有没有填错。
实测下来,只要权限清单是整段复制的、事件是三个都订阅的、回调选的是长连接,首次对话基本一次过。真正容易出问题的是后面这些报错。
5. 本篇常见错排查:401、local proxy failed、reading choices、OAuth
配置过程中最常见的几类报错,我按真实遇到的顺序列一下,对照着查。
401 未授权:多半是 API Key 填错或者过期。检查 OpenClaw 里配置的 Key 是不是从 https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api_keys&utm_campaign=rewrite 复制的最新那个,注意别把前后空格带进去。如果 Key 没问题,检查 Base URL 是不是写成了https://taotoken.net/api,多写路径也会导致鉴权失败。
local proxy failed:这个通常出现在本地网络环境或代理配置上。先确认 OpenClaw 所在机器能正常访问外网,再检查有没有多余的代理环境变量干扰。把HTTP_PROXY、HTTPS_PROXY这类变量临时清掉再试。
reading choices 报错:这是模型返回结构解析失败,常见原因是 Model ID 填错了,或者模型通道返回的不是预期格式。去 https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 确认一下你填的 Model ID 在可用列表里,拼写要完全一致。
OAuth 授权失败:飞书这边的授权页面没走完,或者配对码过期了。重新给机器人发一条消息拿新的配对码,再执行openclaw pairing approve feishu <配对码> --notify。如果之前错过了授权页,在对话里输入/feishu auth补授权。
cannot find module 错误:插件依赖没装全。进入插件目录执行npm install补依赖。
流式卡片失败:检查是否有cardkit:card:write权限,这个在 3.2 的权限清单里已经包含了,如果漏了单独补上再发版。
机器人完全没反应:按顺序查——插件状态(/feishu start)、事件订阅(三个事件是否都加了)、回调方式(是否长连接)、版本是否重新发布过。飞书这边改完配置一定要重新发版才生效,这是最容易被忽略的一步。
排查的时候记住一个原则:先确认模型通道通(用模型对话页面测),再确认飞书链路通(用/feishu doctor测)。两层分开查,比一锅乱炖快得多。
6. 接入之后怎么用得更顺
跑通首次对话只是开始。接入文档在 https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite ,里面有更细的接口说明和参数解释,遇到配置项不确定的时候去翻一下比瞎试快。
如果你后面要接 Claude Code 这类编码工具,Anthropic 兼容入口在 https://taotoken.net/claude-code-anthropic?utm_source=taotoken_aicg_blog_end&utm_content=claude_code&utm_campaign=rewrite ,配置逻辑和这里一样,都是 Base URL + Key + Model ID 三件套,把地址换成对应的就行。
日常使用上,几个小技巧:群聊保持requireMention true,避免机器人在群里刷屏;话题群开threadSession,每个话题独立记忆,讨论不会串;流式输出开着,长回复体验好很多。权限方面,3.2 那份清单已经覆盖了文档、表格、日历、任务、白板,日常办公够用,等用熟了再按需加。
最后说个我踩过的坑:飞书后台每次改配置都要重新发版,我一开始改完事件订阅没发版,等了半天以为配置错了,其实是版本没生效。记住这个,能省你不少时间。