1. 为什么企业群里的机器人总是「半死不活」
很多团队在飞书里搭 AI 机器人,卡点往往不在模型本身,而在「消息怎么进来、怎么出去」这条链路上。传统做法要配公网回调地址、备案域名、反向代理,还要处理签名校验和重放攻击,一套下来运维成本比写业务逻辑还高。OpenClaw 这类客户端工具的价值就在于,它把飞书的长连接协议封装好了,你只需要在飞书开放平台建一个企业自建应用,拿到 App ID 和 App Secret,填进配置文件,机器人就能在企业群里自动应答。
这篇内容聚焦的是 OpenClaw 通过长连接绑定飞书机器人的完整配置链路,覆盖 App ID/App Secret 获取、事件订阅、权限开通,以及 TaoToken 统一 Key 的接入片段。适合谁看:手里有飞书企业空间、想给内部群加一个 AI 助手、又不想折腾公网回调的开发者或 IT 负责人。实测下来,整条链路从建应用到群里收到第一条回复,熟练的话 20 分钟内能跑通。下面按「原问题 → 前置准备 → 可复制配置 → 验证 → 排障 → 资源入口」的顺序展开,每一步都给到能直接粘贴的片段。
2. 原问题与场景:长连接到底解决了什么
飞书机器人接收消息有两种模式:一种是服务器回调,飞书把事件 POST 到你配置的 URL,你需要有公网可达的 HTTPS 服务;另一种是长连接,客户端主动和飞书建立一条 WebSocket 长链路,事件通过这条链路推过来。OpenClaw 走的是后者。
长连接的好处很直接:不需要公网 IP、不需要域名备案、不需要 Nginx 反代,内网机器也能跑。代价是这条链路必须由 OpenClaw 进程维持,进程挂了消息就断,所以生产环境建议用 systemd 或 supervisor 守护。另一个容易忽略的点是,长连接模式下飞书不再校验你的回调 URL,但事件订阅和权限仍然要在开放平台配好,否则链路建起来了也收不到消息。
场景上,企业办公增效最典型的用法是:在部门群里 @机器人 提问,机器人调用大模型返回答案;或者机器人监听群消息关键词,自动整理成文档、写入多维表格。这些都需要im.message.receive_v1事件和对应的消息发送权限。下面先把 TaoToken 这一侧的 Key 准备好,再回到飞书配置。
3. TaoToken 前置:统一 Key 与模型入口
OpenClaw 本身不绑定某一家模型,它通过 OpenAI 兼容协议去请求后端。TaoToken 提供的就是这个统一入口:一个 Key 可以调用多个模型,省去在多个平台之间切换账号和额度。你需要先拿到 API Key,再把它写进 OpenClaw 的配置。
获取路径:访问官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,注册登录后进入控制台,在 API Keys 页面创建一个新 Key。建议按用途命名,比如openclaw-feishu-prod,方便后续轮换。创建后立即复制,页面刷新后不再完整显示。
TaoToken 的 API 基址是 https://taotoken.net/api ,兼容 OpenAI 的/v1/chat/completions路径。也就是说,任何支持自定义 base_url 的客户端都能接。OpenClaw 的模型配置里填这个地址,Key 填刚才复制的字符串即可。如果你还没决定用哪个模型,可以先去模型对话页面试几条 prompt,确认响应风格符合团队预期,再写进配置。
注意:API Key 属于敏感凭证,不要提交到 Git 仓库,也不要在群里明文发。建议放在环境变量或本地配置文件里,权限设为仅当前用户可读。
4. 可复制配置:config.toml 骨架与飞书参数
OpenClaw 的配置以config.toml为核心。下面这份骨架把飞书渠道和 TaoToken 模型接入放在一起,你可以直接复制后替换占位符。文件默认位置在用户目录下的.openclaw/config.toml,Windows 在%USERPROFILE%\.openclaw\config.toml。
# OpenClaw 主配置 [gateway] host = "127.0.0.1" port = 18789 log_level = "info" # 模型接入:TaoToken 统一入口 [model] provider = "openai-compatible" base_url = "https://taotoken.net/api" api_key = "sk-你的TaoTokenKey" model_name = "gpt-4o-mini" timeout_seconds = 60 max_tokens = 2048 # 飞书渠道:长连接模式 [channels.feishu] enabled = true app_id = "cli_xxxxxxxxxxxxxxxx" app_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" connection_mode = "websocket" # 长连接,无需公网回调 event_types = ["im.message.receive_v1"] reply_in_thread = false mention_required = true # 群里需 @机器人 才触发 # 会话与上下文 [session] max_history = 20 system_prompt = "你是企业内部的办公助手,回答简洁、准确,涉及数据时给出处。"几个参数值得单独说。connection_mode必须是websocket,填成webhook会要求你提供回调地址。mention_required = true适合群聊场景,避免机器人对每条消息都插话;如果是一对一私聊,可以设为false。model_name按你实际开通的模型填,TaoToken 控制台能看到可用列表。
飞书侧的配置分两块:应用凭证和事件订阅。凭证在开放平台「凭证与基础信息」页复制,事件订阅在「事件与回调」页设置。订阅方式选「使用长连接接收事件」,然后添加im.message.receive_v1。权限方面,最小可用集合是im:message、im:message:send_as_bot、im:chat:read;如果还要读写文档和多维表格,再按需追加。权限改完必须创建新版本并发布,否则不生效。
5. 验证请求:从启动到群里收到回复
配置写好后,先本地启动 Gateway,观察日志里有没有飞书链路建立成功的记录。
# 启动 OpenClaw Gateway openclaw gateway start # 查看实时日志,确认飞书长连接状态 openclaw gateway logs -f --channel feishu正常日志里会出现类似feishu websocket connected和subscribed event: im.message.receive_v1的行。如果只看到连接成功但没有订阅事件,多半是开放平台的事件没保存或版本没发布。
接着验证模型侧是否通。用 curl 直接打 TaoToken 的接口,确认 Key 和 base_url 没问题:
curl -X POST https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的TaoTokenKey" \ -H "Content-Type: application/json" \ -d '{ "model": "gpt-4o-mini", "messages": [{"role": "user", "content": "用一句话说明长连接和回调的区别"}] }'返回里有choices[0].message.content就说明模型链路通了。最后做端到端验证:把机器人拉进一个测试群,@它发一句「你好」,几秒内应该收到回复。如果没反应,按下一节的清单逐项排查。
6. 本篇常见错排查
机器人无应答,日志显示连接正常。先查开放平台的应用版本是否已发布。个人开发者一般免审,企业主体需要管理员在「版本管理与发布」里审批通过。未发布的应用,长连接能建但事件不会推。
报错app_id or app_secret invalid。检查复制时有没有带多余空格或换行。App Secret 只在创建时完整显示一次,如果重置过,旧的就失效了,需要重新复制并更新配置。
事件订阅保存失败。长连接模式下,飞书要求先建立连接才能保存订阅。顺序是:先在 OpenClaw 里填好凭证并启动 Gateway,确认链路连上,再回开放平台保存事件订阅。反过来操作会提示「未检测到长连接」。
群里 @了但没触发。确认mention_required和实际使用方式一致。另外,机器人需要被拉进群,且群设置里没有限制机器人发言。私聊场景则要确认应用可用范围包含了你本人。
模型返回 401 或 403。多半是 TaoToken Key 写错或额度不足。去控制台确认 Key 状态和余额,必要时重新生成。base_url 结尾不要多加/v1,OpenClaw 会自己拼路径。
权限导入后仍提示缺失。飞书的权限变更需要重新发布版本才生效。改完权限 JSON,回到版本管理新建一个版本,备注写清楚,提交发布后再测。
7. 资源入口与后续动作
整条链路跑通后,你可以按团队需求继续扩展:把system_prompt换成内部知识库的问答风格,或者加一个工具调用让机器人能查多维表格。模型侧如果要从测试切到生产,建议在 TaoToken 控制台单独建一个生产 Key,方便按环境隔离和审计。
需要长期在编码或 Agent 场景里用的话,可以了解 Coding Plan,它更适合高频调用和长上下文任务;只是验证模型效果,模型对话页面就够用。接入过程中遇到凭证或权限问题,直接查接入文档,里面按错误码列了处理方式。API Key 的创建和管理都在 API Keys 页面,建议每季度轮换一次。
最后留一个实操建议:把config.toml里的log_level在调试期设为debug,能看到完整的请求和事件体,排障效率高很多;稳定运行后再调回info,避免日志膨胀。