openclaw 对接完飞书群机器人配置踩坑记:消息不回、Gateway 断开问题排查
本文记录了使用 OpenClaw 配置飞书机器人时遇到的群消息不回、Gateway 频繁断开问题及解决方案。主要发现:1)飞书机器人ID错误导致消息无法接收;2)多机器人配置需使用accounts字段而非多个渠道;3)Gateway需通过LaunchAgent启动而非前台运行。解决方法包括更正机器人ID、调整多账号配置方式、改用LaunchAgent管理Gateway进程。文章总结了飞书多账号配置
前言
用 OpenClaw 配飞书机器人,踩了两个坑:群消息不回、Gateway 总是断开。排查了好一阵子,总算搞定了,记录一下希望能帮到遇到同样问题的朋友。
发现问题
飞书消息不回复
在飞书群里 @ 了机器人,完全没反应。一开始以为是网络不好或者机器人没上线,但状态显示明明是连接着的,这就奇怪了。
Gateway 频繁断开
每次改完配置跑 openclaw gateway restart,或者根本什么都没干,Gateway 说断就断。再想启动就报错,必须跑一遍 openclaw doctor --fix 重新安装才能用。太影响使用了。
查看原因
飞书机器人 ID 搞错了
翻日志看到这么一句:
receive events or callbacks through persistent connection only available in self-build & Feishu app
查了一下,原来一开始配的那个 App ID(yyyyyyyyyyyyyy)是快捷版/小程序类型的飞书应用,这类不支持 WebSocket 长连接收消息。找运维要了正确的机器人 ID(xxxxxxxxxxxxxxxx),换上去果然就好了。
多机器人配置一直失败
想给运营 agent(yunying)单独配一个飞书机器人,试了很多次一直报"unknown channel id"。后来翻 OpenClaw 官方文档才发现,飞书多账号不是那么配的,得用 accounts 字段。
正确姿势:
{
"channels": {
"feishu": {
"defaultAccount": "main",
"accounts": {
"main": {
"appId": "xxxxxxxxxxxxxxxx",
"appSecret": "abcdefghijklmnopqrstuvwxyz"
},
"yunying": {
"appId": "yyyyyyyyyyyyyy",
"appSecret": "1234567890abcdef"
}
}
}
}
}
然后 bindings 这么配:
{
"bindings": [
{
"type": "route",
"agentId": "main",
"match": {
"channel": "feishu",
"accountId": "main"
}
},
{
"type": "route",
"agentId": "yunying",
"match": {
"channel": "feishu",
"accountId": "yunying"
}
}
]
}
Gateway 断开的原因
日志显示 Gateway 收到 SIGTERM 后正常关闭了,但 LaunchAgent 没自动重新加载。
后来才搞明白——我之前一直是跑 openclaw gateway 在前台启动,而不是用 LaunchAgent。虽然 LaunchAgent 配了 KeepAlive: true,但前台进程不受它管,断开后就死了,不会自动起来。
解决问题
飞书多账号配置
改完 ~/.openclaw/openclaw.json 的配置,重启 Gateway:
openclaw gateway restart
两个机器人都连上了。日志能看出来:
feishu[yunying]: WebSocket client started
feishu[main]: WebSocket client started
Gateway 自动重启
简单说就是别跑 openclaw gateway,改用 LaunchAgent:
# 先停掉前台运行的 Gateway
# 然后用 LaunchAgent 方式启动
openclaw gateway install
openclaw gateway start
以后 Gateway 就会受 LaunchAgent 管理,断开会自动重启,不用每次手动搞了。
踩过的坑
总结一下:
- 飞书多账号要用
accounts字段配,别想着开多个渠道 - Gateway 一定要用
openclaw gateway start启动,别直接跑openclaw gateway
有其他问题欢迎评论区聊聊。
更多推荐

所有评论(0)