1. HoRain 云上 OpenClaw 接飞书为什么卡在鉴权这一步OpenClaw 是一个开源、本地优先的 AI 代理网关能让你把大模型跑在自己的服务器上7×24 小时待命还能直接操作电脑、浏览网页、执行命令。它最实用的能力之一就是无缝接入飞书、Telegram、Discord 这类聊天平台把 AI 变成你团队群里随叫随到的机器人。适合谁适合在 HoRain 云上有一台常驻服务器、想让 AI 代理接管飞书消息收发、审批交互、数据同步的开发者和小团队。但真正动手时很多人会卡在同一个地方飞书应用凭证配好了事件订阅也开了机器人却一直不回消息。排查半天发现问题往往不在飞书侧而在 OpenClaw 调用大模型时的鉴权通道——也就是 API Key 和 Base URL 没统一。飞书机器人收到消息后OpenClaw 需要把消息转发给大模型这一步如果 Key 配错、通道不通消息链路就断在中间表现就是“机器人已进群但 它没反应”。这篇就聚焦 HoRain 云环境下 OpenClaw 接入飞书机器人的落地配置围绕 TaoToken 统一 Key/API 通道完成鉴权与消息收发链路。我会给出可复制的 config.toml 骨架、飞书应用凭证与事件订阅配置并附一条消息回环验证动作帮你快速确认接入是否生效。整个流程分两条线一条是飞书开放平台侧的应用配置一条是 OpenClaw 侧的统一 Key 通道配置两条线都通了消息才能跑起来。2. 前置准备TaoToken 统一 Key 与 OpenClaw 环境在动飞书之前先把 OpenClaw 和大模型的鉴权通道打通。这一步是后面所有验证的基础别跳过。TaoToken 的作用是提供统一的 API Key 和 API 通道让 OpenClaw 不用为每个模型单独配一套凭证。你只需要一个 Key就能在 OpenClaw 里调用不同模型。官网地址是 https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content API 入口是 https://taotoken.net/api 。先去控制台创建一个 API Key路径在 https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_contentconsole_keyutm_campaignrewrite 创建完记得复制保存后面 config.toml 里要用。如果你还没装 OpenClaw在 HoRain 云的服务器上执行npm install -g openclawlatest --registryhttps://registry.npmmirror.com或者用 pnpmpnpm add -g openclawlatest装完确认版本openclaw --version然后启用飞书插件。新版本 OpenClaw 已内置支持直接启用即可openclaw plugins enable feishu用下面这条命令确认插件状态loaded是启用disabled是禁用openclaw plugins list看到 feishu 显示 loaded说明插件侧就绪。接下来配置统一 Key 通道这是本篇的核心。OpenClaw 的模型调用配置集中在 config.toml我们下一节直接给骨架。3. 可复制配置config.toml 骨架与飞书凭证3.1 config.toml 统一 Key 骨架OpenClaw 的配置文件默认在~/.openclaw/config.toml。下面这份骨架把 TaoToken 的统一 Key 和 API 通道配好同时预留飞书 channel 段。你可以直接复制把sk-你的Key换成控制台创建的那串# ~/.openclaw/config.toml [model] # 统一走 TaoToken 的 API 通道 provider openai-compatible base_url https://taotoken.net/api api_key sk-你的Key model claude-sonnet-4-20250514 [gateway] port 18789 host 0.0.0.0 [channels.feishu] enabled true app_id cli_你的AppID app_secret 你的AppSecret connection_mode websocket domain feishu group_policy open几个参数说明一下。base_url指向 TaoToken 的 API 入口注意这里不带任何多余路径OpenClaw 会自动拼接。api_key就是统一 Key所有模型共用这一个。model可以换成你实际要用的模型名。飞书段的connection_mode用websocket对应飞书开放平台的长连接订阅方式这样不用公网回调地址HoRain 云的内网服务器也能收事件。group_policy设成open表示响应所有群聊如果只想让白名单群生效改成allowlist并补group_allowlist数组。3.2 飞书开放平台侧配置打开飞书开放平台 https://open.feishu.cn/app 点“创建企业自建应用”填应用名称比如“我的 OpenClaw AI”描述和图标随意。创建完在“凭证与基础信息”里复制 App ID 和 App Secret填回上面 config.toml 的对应字段。接着添加机器人能力左侧菜单 → 添加应用能力 → 机器人 → 添加。然后配权限左侧 → 权限管理 → 批量导入/导出权限粘贴下面这段 JSON{ scopes: { tenant: [ im:message, im:message.group_at_msg:readonly, im:message.p2p_msg:readonly, im:message:readonly, im:message:send_as_bot, im:resource, im:chat.members:bot_access, im:chat.access_event.bot_p2p_chat:read, contact:user.employee_id:readonly ], user: [ im:chat.access_event.bot_p2p_chat:read ] } }这段权限覆盖了收消息、发消息、读群成员、读资源文件这几类核心能力够跑通消息回环。导入后确认权限列表里im:message和im:message:send_as_bot都在。3.3 事件订阅配置左侧菜单 → 事件与回调 → 事件配置。订阅方式选“使用长连接接收事件WebSocket”保存。然后添加下面四个事件im.message.receive_v1接收消息这是回环验证的关键im.message.message_read_v1消息已读回执im.chat.member.bot.added_v1机器人进群im.chat.member.bot.deleted_v1机器人被移出群。添加完确认事件列表里im.message.receive_v1已存在。最后左侧 → 版本管理与发布 → 创建版本 → 提交审核 → 发布。企业自建应用一般审核较快发布后应用才真正生效。4. 验证请求启动网关与消息回环配置都填好后启动 OpenClaw 网关openclaw gateway或者指定端口openclaw gateway --port 18789启动日志里应该能看到 feishu channel 已加载、websocket 已连接。如果看到feishu channel connected之类的字样说明长连接建立成功。接下来做消息回环验证。在飞书里创建一个测试群群设置 → 添加成员 → 搜索你刚创建的机器人应用名加进群。然后在群里 机器人发一句“介绍一下你自己”。正常情况机器人会回复一段自我介绍说明整条链路通了飞书事件 → OpenClaw 网关 → TaoToken 统一 Key 通道 → 大模型 → 回复 → 飞书群。如果没回复先看网关日志有没有收到im.message.receive_v1事件再看模型调用有没有报鉴权错误。你也可以用 curl 单独验证 TaoToken 通道是否通排除飞书侧干扰curl https://taotoken.net/api/v1/chat/completions \ -H Authorization: Bearer sk-你的Key \ -H Content-Type: application/json \ -d { model: claude-sonnet-4-20250514, messages: [{role: user, content: ping}] }返回里有choices字段和正常内容说明 Key 和通道没问题问题就缩小到飞书侧了。5. 本篇常见错排查5.1 机器人进群但不回消息最常见。先确认网关日志有没有收到事件。如果没收到检查飞书事件订阅是不是选了长连接、im.message.receive_v1有没有加、应用有没有发布。如果收到了事件但没回复多半是模型调用失败看日志里的鉴权报错重点核对 config.toml 里base_url和api_key是否写对base_url结尾不要多加/v1。5.2 鉴权 401 或 invalid api key统一 Key 复制时容易多带空格或换行。重新从控制台复制一次确保api_key字段是完整的一串。另外确认 Key 没有过期或被禁用。如果用的是环境变量注入检查变量名和 config.toml 里的引用是否一致。5.3 websocket 连接失败HoRain 云服务器如果出网受限websocket 可能连不上飞书。确认服务器能正常访问外网DNS 解析正常。另外检查 config.toml 里domain是不是feishu如果写成lark会连到国际版域名国内应用会失败。5.4 群聊里 了没反应私聊正常这是group_policy的问题。设成open响应所有群设成allowlist只响应白名单群。如果你设了 allowlist 但没把测试群加进去群里就不会响应。改成open再试或者把群 ID 补进group_allowlist。5.5 权限不足导致发消息失败如果日志里出现权限相关报错回到飞书开放平台权限管理确认im:message:send_as_bot和im:resource已授权。改完权限需要重新创建版本并发布权限变更才会生效。6. 后续接入与长期运行建议消息回环跑通后你可以把 OpenClaw 当成飞书里的常驻 AI 代理来用。如果只是偶尔验证模型效果可以直接在模型对话页测试 https://taotoken.net/models?utm_sourcetaotoken_aicg_blog_endutm_contentmodels_chatutm_campaignrewrite 不用每次都走飞书。如果打算长期在 HoRain 云上跑编码类或 Agent 类任务建议用 Coding Plan 统一管理额度和通道 https://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_contentcoding_planutm_campaignrewrite 避免 Key 散落在多个配置里。接入过程中遇到鉴权或通道问题先查 API Keys 管理页 https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_contentapi_keysutm_campaignrewrite 确认 Key 状态再对照接入文档 https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_contentdocutm_campaignrewrite 核对参数格式。最后提醒一个实操细节config.toml 改完一定要重启网关openclaw gateway不会热加载配置。我试过改完 Key 没重启排查了半小时才发现是旧配置还在内存里。重启后再看日志通道和模型调用都会重新初始化验证结果才准。
