发布时间
2026-03-14
作者
BUMA 内容团队
如果你最近在搜 OpenClaw 飞书发不出去消息、OpenClaw message.send 400、OpenClaw Feishu send_as_bot,大概率你已经把机器人接进飞书了,甚至能看到它收消息、配对、进群,但一到真正发送回复、主动同步或群里播报这一步,就开始报错或者没有结果。按 OpenClaw 官方 Feishu 文档的排查顺序,这类问题不要先猜模型、也不要先怀疑会话路由,优先看 5 个地方:应用有没有开启机器人能力、权限里有没有 im:message:send_as_bot、当前版本有没有正式发布、Gateway 是否处于正常运行状态,以及日志里到底返回了什么错误。很多“机器人明明在线却发不出去”的情况,不是 OpenClaw 不会发,而是飞书应用还没满足出站消息的前提条件。
2026-03-14
BUMA 内容团队
OpenClaw 官方 Feishu / Pairing 文档、Clawdbot 中文文档
正在做 OpenClaw 飞书接入、消息发送、群聊播报、权限收口与线上排查的人
OpenClaw 官方文档给出的“消息发送失败”排查顺序非常直接:先确认飞书应用具备发送权限,再确认应用已发布,然后去看网关日志。这个顺序基本能把大部分 400 问题快速收口。
im:message:send_as_botOpenClaw 官方 Feishu 权限清单明确包含这项权限。没有它,机器人常见表现就是能接、能看、但发不出去。
官方故障排除里明确提到:消息发送失败时,要确认应用已经发布。只在开发态改完权限,不等于线上就能正常发消息。
OpenClaw 文档建议直接看 openclaw logs --follow。400 只是结果,真正能区分权限、发布还是目标侧问题,还是要靠日志。
这是 OpenClaw 飞书接入里很容易让人误判的一类问题。因为接入链路本来就分两段:一段是“机器人有没有把消息收进来”,另一段是“机器人有没有权限把消息发回去”。官方 Feishu 文档对这两段的要求拆得很清楚:收消息这一侧,重点看长连接(WebSocket)事件订阅、im.message.receive_v1 和 Gateway 是否在线;发消息这一侧,重点看 Bot 能力、应用发布状态以及 im:message:send_as_bot 这样的出站权限。
所以现实里最容易出现的情况是:你已经能看到 pairing 码、已经能在群里 @ 到机器人,甚至日志也显示消息进来了,于是你自然会以为“飞书接入已经通了”。但从官方排查口径来看,这最多只能说明接收链路基本通了,不能说明发送链路也满足条件。如果应用还是未发布、发送权限没补齐,最终就很容易表现成 message.send 返回 400,或者看起来像“机器人完全不回”。
对一人公司、内部协作群、客户咨询群尤其如此。因为这类场景往往是先把机器人拉进来试,再逐步补权限和收边界。如果你没有把“收消息”和“发消息”分开排查,就会在错误方向上浪费很多时间。
第一项:确认应用权限里已经包含 im:message:send_as_bot。OpenClaw 官方 Feishu 文档给出的批量导入权限清单里,明确把它列为租户权限的一部分;中文文档的“消息发送失败”排查也首先强调这点。
第二项:确认飞书应用已经完成版本创建、审核和发布。官方快速入门专门单列了“发布应用”这一步,并在故障排除中再次强调“消息发送失败时,要确认应用已发布”。这说明很多问题不是配置没写,而是发布状态没到位。
第三项:确认机器人能力已经开启。官方步骤里要求到“应用能力 > 机器人”里打开 Bot 能力并设置机器人名称;如果连机器人能力都没启用,出站消息链路本身就不完整。
第四项:确认 Gateway 正常运行,并且必要时重启。官方建议在配置完成后立刻检查 openclaw gateway status,排查时持续看 openclaw logs --follow。如果 Gateway 没起来,或者改完配置没重启,日志和实际行为都可能和你以为的不一样。
第五项:先看日志再改配置。文档没有鼓励“靠猜”排查,而是把日志放在关键步骤里反复强调。对 message.send 这类 400 来说,日志是你区分“权限缺失”“应用未发布”“目标不可达”“配置未生效”的最快入口。
不要一上来改一堆配置。按顺序一项一项核,定位会更快。
核对飞书开放平台权限页,确认已经导入 OpenClaw 文档建议的权限集合,尤其是 im:message:send_as_bot。如果你只补了接收事件权限,发送照样会出问题。
去“应用能力 > 机器人”确认机器人能力已开启,并且机器人配置已经保存。没有这一步,很多测试都只是半成品。
权限刚补完时,最容易漏掉“版本管理与发布”。如果还是开发态,线上消息发送经常表现异常,尤其在团队正式租户里更明显。
先跑 openclaw gateway status,必要时再 openclaw gateway restart。官方文档把它放在配置后的第一批检查项里,不是装饰动作。
排查期间一直开着 openclaw logs --follow。这样你才能把“界面看起来不回”与“底层真的发送失败”区分开。
如果你是在群里觉得“不回”,还要补查 groupPolicy、requireMention、groupAllowFrom 与群成员白名单。它们更像入口边界,容易被误当成发送失败。
第一种是“机器人其实没收到该回的消息”。如果群里默认要求 @ 机器人,而你只是普通发言,表现出来就会像“它不回”;但这不是发送失败,而是入口没有命中。第二种是群或成员白名单没有放开,消息根本没被处理。第三种是 pairing 还没批准,私聊消息被挡在审批前。第四种才是真正的发送链路问题:消息已经进来,但应用出站条件不满足。
这也是为什么 OpenClaw 文档会把访问控制、pairing 和消息发送分开写。因为它们都能在用户侧表现成“机器人没回”,但修法完全不同。你如果把群边界问题当成出站权限问题来修,就会一直在飞书后台加权限;反过来,把真实的发送失败当成群设置问题,也会一直在群里试 @、试白名单,最后越改越乱。
如果你是企业内部协作、客户咨询群、一人公司消息闭环,最稳的办法不是谁报错就临时猜,而是把排查顺序写成固定清单:先看 Gateway 状态,再看日志,再看应用权限和发布状态,最后才去查群聊边界。这样以后无论是 OpenClaw 主号、飞书测试号,还是备用账号,都可以按同一套顺序排。
实际使用里,这套清单还有一个好处:能区分“内容岗位能先做什么”和“开发/运维要接手什么”。内容侧可以先确认触发场景、重现步骤、群里还是私聊、是否已 @、是否已 pairing;技术侧再去处理权限补齐、版本发布、Gateway 重启和日志复盘。职责一分开,效率会高很多。
OpenClaw 飞书里 message.send 返回 400,优先不要改模型和提示词,先按官方文档检查 im:message:send_as_bot、Bot 能力、应用发布、Gateway 状态和日志。这几项比盲猜更接近根因。
适合你已经把 OpenClaw 接进飞书,机器人能看到、能被拉群、甚至能生成 pairing,但就是发不出去消息、群里不见回复、主动播报失败的时候。先把出站链路查清,再继续做群聊策略和业务路由,会更稳。
如果你还要继续排查 OpenClaw 飞书接入、权限和群聊边界,可以顺着这几篇继续看。
适合先回看应用创建、事件订阅、Gateway 启动和 pairing 顺序。
适合继续核对必开权限,尤其是消息收发相关能力。
适合把发送失败和群聊白名单、成员白名单问题拆开看。
如果你正在卡飞书消息发送失败、群聊不回、权限边界或上线前验收,我可以继续帮你把检查顺序和配置边界拆清楚。