
1. 飞书机器人接入 OpenClaw 的真实卡点在哪飞书机器人接入 OpenClaw 这件事表面看是「装个插件、填两个 Key」的活实际动手你会发现卡点集中在三处插件装完不知道配置写哪、飞书开放平台的事件订阅方式和 OpenClaw 的接收模式对不上、以及模型调用通道没有统一入口导致每个插件都要单独配一遍 Key。这篇就围绕 OpenClaw 接入飞书配置指南这条链路把 config.toml 与 settings.json 的可复制骨架给出来同时说明 TaoToken 统一 Key 和 API 通道应该填在哪个位置最后用一条消息回环验证插件与飞书事件订阅是否真的连通。适合谁看已经在飞书开放平台创建过企业应用、拿到 App ID 和 App Secret但把 OpenClaw 的 feishu 插件跑起来之后机器人不回消息的开发者或者你打算在飞书群里跑一个 AI 机器人需要一套能长期维护的配置结构而不是每次改完都靠重启碰运气。OpenClaw 本身是一个插件化的机器人网关它把「消息通道」和「模型能力」拆成两层channels 负责对接飞书这类 IMproviders 负责对接模型 API。飞书插件openclaw/feishu只解决消息收发模型调用要另外配 provider。很多人第一次配的时候只填了飞书的 appId/appSecret结果机器人能收到消息却回不出来就是因为 provider 那层是空的。把 TaoToken 作为统一 provider 接进来好处是后面再加别的通道比如别的 IM 或 Web 端时模型 Key 不用重复填改一处全局生效。下面按「装插件 → 飞书侧配置 → OpenClaw 侧配置 → 回环验证 → 排障」的顺序走每一步都给可复制的片段。2. TaoToken 前置统一 Key 与 API 通道怎么准备在动 OpenClaw 配置之前先把模型通道这层准备好。TaoToken 在这里扮演的角色是「统一 Key 统一 API 入口」你只需要在它这边生成一个 Key然后在 OpenClaw 的 provider 配置里指向它的 API 地址飞书插件收到的消息就会走这条通道去调模型。第一步是拿到 Key。访问 https://taotoken.net/api 了解接口形态然后到控制台创建 API Key控制台入口https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentopenclaw_feishu_consoleAPI Keys 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentopenclaw_feishu_apikeys创建时建议按用途命名比如openclaw-feishu-bot方便后面在日志里对账。Key 只在创建时完整显示一次复制后先存到本地环境变量或密码管理器别直接写进会提交到 Git 的配置文件。第二步是确认 API 基地址。OpenClaw 的 provider 配置里通常需要一个baseUrl字段填 TaoToken 的 API 地址https://taotoken.net/api注意这里不加任何查询参数。模型名按你实际要用的填比如claude-sonnet-4-5或gpt-4o这类具体可用列表在模型对话页能看到模型对话体验https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentopenclaw_feishu_chat如果你后面打算长期跑编码类或 Agent 类任务可以顺带看下 Coding Plan 的额度结构避免飞书群里高频调用把按量额度打满Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentopenclaw_feishu_codingplan注意Key 不要写进飞书开放平台的任何字段里飞书侧只负责消息事件模型鉴权全部在 OpenClaw 的 provider 配置里完成。两层职责分开后面换模型或换 Key 都不用动飞书应用。3. 可复制配置config.toml 与 settings.json 骨架OpenClaw 的配置分两处一处是插件与通道相关的config.toml或等价的openclaw.json一处是 provider 与运行时相关的settings.json。不同版本文件名可能略有差异但字段结构基本一致。下面给的是能直接改改就用的骨架。3.1 安装飞书插件先装插件这一步不涉及 Keyopenclaw plugins install openclaw/feishu装完用openclaw plugins list确认feishu出现在列表里。如果提示找不到包检查一下 npm registry 配置或者用openclaw plugins install openclaw/feishu --registry https://registry.npmjs.org显式指定源。3.2 config.toml飞书通道骨架config.toml负责通道层。飞书部分的核心是 appId、appSecret、事件接收模式以及群组策略[channels.feishu] enabled true dmPolicy pairing # 国际版 Lark 用户把下面这行改成 lark domain feishu [channels.feishu.accounts.main] appId cli_xxxxxxxxxxxx appSecret your_app_secret_here botName My AI Assistant # 群组策略默认需要 机器人 才回复 [channels.feishu.groups] # 单个群覆盖示例oc_ 开头的是群 ID # oc_xxxxxxxxxxxx { requireMention false }几个字段说明字段作用常见取值enabled是否启用该通道true / falsedmPolicy私聊策略pairing需配对/ opendomain飞书域feishu国内/ lark国际appId飞书应用 IDcli_ 开头appSecret飞书应用密钥保密勿提交requireMention群内是否必须 true / false如果你更习惯用 JSON 结构部分版本读的是~/.openclaw/openclaw.json等价写法是{ channels: { feishu: { enabled: true, dmPolicy: pairing, domain: feishu, accounts: { main: { appId: cli_xxxxxxxxxxxx, appSecret: your_app_secret_here, botName: My AI Assistant } } } } }3.3 settings.jsonTaoToken provider 骨架settings.json负责模型层。这里就是 TaoToken 统一 Key 的填写位置{ providers: { taotoken: { type: openai-compatible, baseUrl: https://taotoken.net/api, apiKey: ${TAOTOKEN_API_KEY}, defaultModel: claude-sonnet-4-5 } }, agent: { provider: taotoken, systemPrompt: 你是飞书群里的 AI 助手回答简洁必要时给出可执行步骤。 } }关键点baseUrl填https://taotoken.net/api不要带任何查询参数。apiKey用环境变量${TAOTOKEN_API_KEY}引用避免明文落盘。启动前export TAOTOKEN_API_KEY你的Key。type用openai-compatible因为 TaoToken 的接口形态兼容 OpenAI 风格OpenClaw 的 provider 适配器能直接吃。agent.provider指向taotoken这样飞书通道收到的消息会走这条 provider。提示如果你的 OpenClaw 版本把 provider 配置也放在config.toml里把上面 JSON 的字段平移到[providers.taotoken]段即可字段名不变。4. 验证请求一条消息回环确认链路连通配置写完先别急着在群里 机器人。按下面顺序验证能把问题定位到具体一层。4.1 启动 Gateway 并看状态openclaw gateway另开一个终端openclaw gateway status状态里应该能看到feishu通道是connectedprovider 是taotoken。如果通道显示disconnected先查飞书侧的 App ID/Secret 是否填对再看事件订阅模式。4.2 飞书侧事件订阅设置在飞书开放平台的应用后台进入「事件订阅」页面接收方式选「使用长连接接收事件」WebSocket然后添加事件im.message.receive_v1。这一步很关键OpenClaw 的飞书插件默认走长连接如果你选的是「将事件发送至开发者服务器」插件收不到消息机器人自然不回。权限方面在「权限管理」页面批量导入以下 scopes{ scopes: { tenant: [ im:message, im:message:send_as_bot, im:message:readonly, im:chat.members:bot_access, im:message.group_at_msg:readonly, im:message.p2p_msg:readonly ] } }导入后记得在「版本管理与发布」里创建版本并发布企业应用一般自动通过。4.3 私聊回环验证在飞书里找到你的机器人发一条消息比如「ping」。首次连接会触发配对流程机器人回一个配对码。在终端执行openclaw pairing approve feishu CODE配对通过后再发一条「ping」正常应该收到模型回复。同时看日志openclaw logs --follow日志里应该能看到消息进入、provider 调用、回复发出的完整链路。如果消息进了但 provider 报 401说明 TaoToken Key 没读到检查环境变量是否在启动 Gateway 的那个 shell 里 export 了。4.4 群聊回环验证把机器人拉进一个群 它发消息。默认需要 才回复。如果想某个群不需要 先在群里 机器人一次然后从日志里找群 IDopenclaw logs --follow | grep oc_拿到oc_开头的群 ID 后在config.toml里加[channels.feishu.groups] oc_xxxxxxxxxxxx { requireMention false }重启 Gateway 生效openclaw gateway restart再在群里发一条不带 的消息确认能收到回复。到这一步插件与飞书事件订阅就算真正连通了。5. 本篇常见错排查5.1 机器人收到消息但不回复最常见的原因是 provider 没配或 Key 没读到。先看日志里有没有provider not found或401。如果是 401确认TAOTOKEN_API_KEY在启动 Gateway 的 shell 里可见echo $TAOTOKEN_API_KEY如果为空重新 export 再重启 Gateway。注意openclaw gateway restart不会继承你当前 shell 的新环境变量最好先停掉再启动。5.2 飞书侧事件收不到检查三处事件订阅方式是否为长连接、是否添加了im.message.receive_v1、应用版本是否已发布。三者缺一插件都收不到消息。另外确认domain字段国内飞书填feishu国际版 Lark 填lark填错会导致连接握手失败。5.3 群内必须 才回复想改成免 这是requireMention的默认行为。按 4.4 的方式拿到群 ID 后单独覆盖。注意群 ID 是oc_开头不是群名称别填错。5.4 配对码一直不出现首次私聊才会触发配对。如果你之前已经配对过或者dmPolicy设成了open就不会再出配对码。用openclaw pairing list feishu看当前配对状态必要时openclaw pairing reset feishu重置会话再试。5.5 日志里模型名报 not founddefaultModel填的模型名要在 TaoToken 侧可用。到模型对话页确认一下当前可用的模型标识别凭记忆填。模型名大小写和连字符都要对。6. 把这条链路固定下来配置跑通之后建议把settings.json里的apiKey始终用环境变量引用config.toml里的appSecret也不要明文提交。团队协作时把config.toml做成模板敏感字段留空用启动脚本注入。后续如果要加别的通道比如再接一个 Web 端或别的 IMprovider 这层不用动只加 channel 配置即可这就是统一 Key 的价值。需要长期跑编码或 Agent 类任务时可以到 Coding Plan 页面看额度方案避免飞书群高频调用把按量额度打满Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentopenclaw_feishu_codingplan_end接入过程中如果卡在鉴权或通道配置优先查 API Keys 和接入文档API Keyshttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentopenclaw_feishu_apikeys_end接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentopenclaw_feishu_doc_end验证模型回复是否符合预期可以直接在模型对话页试同一套 prompt模型对话https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentopenclaw_feishu_chat_end最后提醒一句飞书侧的 App Secret 和 TaoToken 的 API Key 是两套独立凭证前者管消息通道后者管模型调用排障时先分清是哪一层报错能省掉大量来回试的时间。