
1. 飞书群里 一下AI 就回你OpenClaw 接入的真实场景飞书机器人接入 AI 这件事我最早是在一个 8 人小团队里看到的。他们把日报、周报、需求评审都放在飞书群里但每次要查个接口文档、翻译段英文、或者让 AI 帮忙改一版文案都得切到浏览器另开一个对话窗口复制粘贴来回倒腾。后来他们用 OpenClaw 把机器人接进飞书群直接在群里 一下机器人就能对话整个流程顺了很多。OpenClaw 是一个开源的 AI 助手网关能对接多种大模型通道同时对外暴露飞书、钉钉、企业微信等 IM 平台的机器人接口。它做的事情说白了就是把飞书群里的消息转成模型请求再把模型返回的内容发回群里。适合谁用三类人最合适——一是想把 AI 塞进现有办公流的小团队二是不想让成员各自开账号、想统一管理模型 Key 的团队管理员三是想拿飞书机器人做内部工具、又不想从零写回调服务的开发者。这篇要讲的落地链路是完整的飞书开放平台建应用 → 配事件订阅和消息回调 → OpenClaw 侧对接 → 用 TaoToken 统一 Key/API 通道完成模型调用 → 飞书群里 机器人验证端到端。每一步我都会给可复制的配置和参数你照着做基本能跑通。中间踩过的坑我也会标出来尤其是回调地址校验和权限清单这两块新手最容易卡住。整条链路里模型调用这一环我建议用 TaoToken 统一通道来管。原因很直接OpenClaw 支持配置多个模型通道但如果你每个通道都单独填一家厂商的 Key后面换模型、加模型、团队共享都会很乱。TaoToken 提供一个统一的 Base URL 和 KeyOpenClaw 侧只配一次模型 ID 按需切换就行。官网在 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 后面配置里会反复用到。2. TaoToken 前置准备拿到统一 Key 和 Base URL在动飞书之前先把模型通道这块搞定不然后面联调的时候你分不清是飞书回调的问题还是模型请求的问题。TaoToken 的角色是统一通道你不需要在 OpenClaw 里为每个模型厂商单独配 Key只需要一个 TaoToken 的 API Key 和一个 Base URL模型用哪个通过 Model ID 指定。第一步打开 https://taotoken.net/api-keys 登录后创建一个 API Key。创建的时候给它起个能认出来的名字比如openclaw-feishu方便后面在 OpenClaw 配置里对应。Key 创建完只显示一次复制下来存好丢了就得重建。第二步确认 Base URL。TaoToken 的 API 入口是https://taotoken.net/api注意这里不带任何查询参数配置里就填这个。有些教程会让你在 Base URL 后面拼/v1这个要看你用的客户端要求——OpenClaw 的 OpenAI 兼容通道一般填到/api就行如果它内部会自己拼/v1/chat/completions你多填一层反而会 404。我实测下来OpenClaw 的openaiprovider 填https://taotoken.net/api是通的。第三步确认你要用的 Model ID。TaoToken 支持多种模型具体列表可以在 https://taotoken.net/doc 里查。常见的比如claude-sonnet-4-20250514、gpt-4o这类。你先记下准备用的那个 Model ID后面 OpenClaw 配置里要填。这里有个细节要注意TaoToken 的 Key 是统一 Key意味着你换模型不用换 Key只改 Model ID 就行。这对 OpenClaw 这种要跑多个机器人、可能不同群用不同模型的场景特别友好。你可以在 OpenClaw 里配多个 provider每个 provider 用同一个 TaoToken Key但 Model ID 不同这样不同飞书群可以走不同模型。如果你后面要长期跑编码类或 Agent 类任务可以看下 Coding Plan 页面 https://taotoken.net/coding-plan 它针对高频调用场景有更合适的配额方案。不过飞书机器人这种对话场景普通 API Key 就够用了。前置准备做完你手里应该有三样东西TaoToken API Key、Base URLhttps://taotoken.net/api、一个准备用的 Model ID。这三样就是 OpenClaw 侧模型通道的全部配置项后面直接填。3. 可复制配置飞书应用 OpenClaw 对接全流程这一节是整篇的核心我把飞书开放平台和 OpenClaw 两侧的配置都拆成可复制的片段。你按顺序做中间不要跳步尤其是权限和事件订阅这两块。3.1 飞书开放平台创建应用打开 https://open.feishu.cn/app 点「创建企业自建应用」。名称填OpenClaw助手之类图标随意。创建完进入应用详情页左侧菜单找到「凭证与基础信息」这里能看到App ID和App Secret这两个后面 OpenClaw 配置要用先复制存好。接着配权限。左侧「权限管理」搜索并开通以下权限这是最小可用集少一个机器人就可能不回消息权限代码说明用途im:message获取与发送单聊、群组消息收发消息核心权限im:message.group_at_msg接收群聊中机器人消息事件群里 机器人触发im:message.p2p_msg接收单聊消息私聊机器人触发im:chat获取群组信息识别消息来自哪个群im:chat:readonly读取群信息同上只读开通后记得点「批量开通」有些权限需要管理员审批自建应用一般自己就能批。3.2 配置事件订阅与消息回调左侧「事件与回调」→「事件订阅」。这里有两种模式长连接和 Webhook。OpenClaw 支持长连接模式WebSocket配置更简单不需要公网地址。如果你用 Webhook 模式需要填一个公网可访问的回调地址本地开发得用内网穿透比较麻烦。我建议先用长连接模式跑通。在事件订阅页面订阅以下事件im.message.receive_v1接收消息im.message.message_read_v1消息已读可选如果你用 Webhook 模式回调地址填你的服务地址比如https://your-domain.com/feishu/webhook。填完飞书会发一个 challenge 校验请求你的服务要能正确返回challenge值。OpenClaw 内置了处理逻辑你只要把地址配对就行。这里有个坑飞书的事件订阅有「加密策略」如果你开了 Encrypt KeyOpenClaw 侧也要填对应的 Key否则解密失败。新手建议先不开加密跑通后再加。3.3 OpenClaw 侧配置文件OpenClaw 的配置文件一般是config.yaml或config.toml具体看你用的版本。下面给一份可复制的 YAML 片段路径按你实际安装位置调整# OpenClaw 配置片段 feishu: app_id: cli_xxxxxxxxxxxx app_secret: xxxxxxxxxxxxxxxxxxxxxxxx encrypt_key: # 先留空跑通后再加 verification_token: xxxxxxxxxxxx connection_mode: websocket # 长连接模式不需要公网地址 providers: - name: taotoken type: openai base_url: https://taotoken.net/api api_key: sk-你的TaoTokenKey model: claude-sonnet-4-20250514 bot: provider: taotoken system_prompt: 你是飞书群里的AI助手回答简洁中文优先。 max_tokens: 2048如果你用的是 JSON 格式配置等价片段如下{ feishu: { app_id: cli_xxxxxxxxxxxx, app_secret: xxxxxxxxxxxxxxxxxxxxxxxx, connection_mode: websocket }, providers: [ { name: taotoken, type: openai, base_url: https://taotoken.net/api, api_key: sk-你的TaoTokenKey, model: claude-sonnet-4-20250514 } ], bot: { provider: taotoken, system_prompt: 你是飞书群里的AI助手回答简洁中文优先。 } }注意type填openai因为 TaoToken 提供 OpenAI 兼容接口。base_url填https://taotoken.net/api不要多填/v1。api_key填你在 https://taotoken.net/api-keys 创建的那个 Key。model填你要用的 Model ID。3.4 启动 OpenClaw 并确认连接配置写完启动 OpenClawopenclaw start --config ./config.yaml如果长连接模式配对了日志里会打印类似feishu websocket connected的字样。这时候去飞书开放平台的事件订阅页面应该能看到「已连接」状态。如果显示未连接检查 App ID、App Secret 是否填对以及应用是否已发布版本自建应用需要创建版本并发布否则事件不生效。发布版本这一步很多人漏掉在飞书开放平台「版本管理与发布」里创建一个版本申请发布管理员审批通过后应用才真正生效。没发布的话你在群里 机器人是没反应的。4. 验证请求飞书群里 机器人跑通端到端配置都就绪后验证环节分两步先确认模型通道本身是通的再确认飞书链路是通的。分开验证的好处是出问题能快速定位是哪一段。4.1 先单独验证 TaoToken 通道在启动 OpenClaw 之前你可以先用 curl 直接打 TaoToken 的接口确认 Key 和 Base URL 没问题curl https://taotoken.net/api/v1/chat/completions \ -H Content-Type: application/json \ -H Authorization: Bearer sk-你的TaoTokenKey \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: 用一句话介绍你自己}], max_tokens: 100 }如果返回里有choices数组和正常的content说明通道没问题。如果返回 401说明 Key 不对如果返回 404检查 Base URL 是不是多填了/v1如果返回model not found说明 Model ID 写错了去 https://taotoken.net/doc 核对。4.2 飞书群内 机器人验证把机器人拉进一个飞书群群设置 → 群机器人 → 添加机器人 → 搜索你创建的应用名。添加后在群里发一条OpenClaw助手 你好。正常的话几秒内机器人会回复。如果没回复按这个顺序查第一看 OpenClaw 日志有没有收到事件。如果日志里完全没有im.message.receive_v1说明飞书事件没推过来检查应用版本是否已发布、事件订阅是否配了im.message.receive_v1、机器人是否真的在群里。第二如果日志收到了事件但没回复看模型请求那一段有没有报错。常见的是401或local proxy failed前者是 TaoToken Key 问题后者是 OpenClaw 到 TaoToken 的网络问题。第三如果模型返回了但群里没显示检查im:message权限是否开通以及机器人是否有发消息的权限。我实测下来最容易卡住的是应用版本没发布和权限没批量开通这两点。飞书开放平台的权限开通后要点「批量开通」按钮不是勾选就生效的。4.3 验证多模型切换如果你想验证 TaoToken 统一通道的多模型能力可以在 OpenClaw 配置里加第二个 providerproviders: - name: taotoken-claude type: openai base_url: https://taotoken.net/api api_key: sk-你的TaoTokenKey model: claude-sonnet-4-20250514 - name: taotoken-gpt type: openai base_url: https://taotoken.net/api api_key: sk-你的TaoTokenKey model: gpt-4o两个 provider 用同一个 Key只是 Model ID 不同。你可以在不同飞书群绑定不同 provider实现「这个群用 Claude那个群用 GPT」的效果。这就是统一通道的价值Key 只维护一份模型按需切。5. 本篇常见错排查401、local proxy failed、reading choices、OAuth这一节把接入过程中最常撞到的几个报错单独拎出来每个都给现象、原因和修法。你遇到报错先来这里对号入座。5.1 401 Unauthorized现象OpenClaw 日志里模型请求返回401或者 curl 测试时返回{error:{message:Invalid API key}}。原因TaoToken API Key 填错、过期、或者复制时带了空格。也有可能是 Key 被删了。修法去 https://taotoken.net/api-keys 重新创建一个 Key复制时注意不要带首尾空格。配置里api_key字段填sk-开头的完整字符串。改完重启 OpenClaw。5.2 local proxy failed现象日志里出现local proxy failed或connection refused模型请求发不出去。原因OpenClaw 所在机器到https://taotoken.net/api的网络不通。可能是 DNS 解析问题也可能是本机网络策略限制。修法先在机器上curl -I https://taotoken.net/api看能不能通。如果不通检查 DNS 配置或者换一个网络环境测试。注意不要用任何非正规的网络工具企业内网的话找运维确认出站策略。5.3 reading choices 相关报错现象日志里出现reading choices或Cannot read properties of undefined (reading choices)。原因模型返回的 JSON 结构不符合 OpenAI 兼容格式OpenClaw 解析时拿不到choices字段。常见于 Base URL 填错请求打到了非兼容接口上。修法确认base_url填的是https://taotoken.net/apitype填的是openai。如果你填了别的 typeOpenClaw 可能用了不兼容的请求格式。改完重启。5.4 OAuth 相关报错现象飞书侧报OAuth或app ticket相关错误机器人拿不到 token。原因飞书应用的 App ID / App Secret 填错或者应用未发布导致拿不到 tenant_access_token。修法核对飞书开放平台「凭证与基础信息」里的 App ID 和 App Secret确保和 OpenClaw 配置一致。然后确认应用已创建版本并发布管理员已审批。飞书机器人拿 token 依赖应用发布状态没发布就是拿不到。5.5 机器人收到消息但不回复现象OpenClaw 日志显示收到了im.message.receive_v1但模型请求没发出或者发出了但群里没显示。原因可能是bot.provider没配对或者im:message权限没开通。修法检查配置里bot.provider是否等于某个 provider 的name。检查飞书权限里im:message是否已开通并批量生效。如果模型请求发出了但群里没显示看返回内容是否为空可能是max_tokens设太小被截断。6. 统一通道收尾把 Key 管理和模型切换交给 TaoToken整条链路跑通后你手里其实只维护了一份模型凭证——TaoToken 的 API Key。飞书侧管的是应用凭证OpenClaw 侧管的是通道配置模型调用全部走 TaoToken 统一出口。这个结构的好处在你加第二个、第三个机器人的时候会特别明显新机器人只需要复制一份 provider 配置Key 不用重新申请模型 ID 改一下就行。如果你后面要把这套东西扩展到更多群、更多场景比如让不同群走不同模型、或者给机器人加编码能力可以看下 Coding Plan https://taotoken.net/coding-plan 它针对长期高频调用有更合适的方案。模型对话的在线调试入口在 https://taotoken.net/chat 你可以先在网页上试好 Model ID 和 prompt再填进 OpenClaw 配置省得反复重启服务。接入文档在 https://taotoken.net/doc 里面列了所有支持的 Model ID 和参数说明。API Key 管理在 https://taotoken.net/api-keys 建议给每个机器人单独建一个 Key方便后面按机器人排查调用量和问题。控制台在 https://taotoken.net/console 能看到调用记录和用量。最后说个实操细节OpenClaw 的日志级别建议开到debug这样飞书事件和模型请求都能看到排查问题快很多。跑稳定后再调回info不然日志量会很大。飞书那边的事件订阅如果开了加密记得把 Encrypt Key 同步到 OpenClaw 配置里不然解密失败会静默丢事件这个坑我踩过日志里什么都不报就是没反应。