OpenClaw 错误排查和接入各大主流应用教程:Telegram、Discord、Slack、WhatsApp 一篇讲清
这篇文章属于 OpenClaw 排错与渠道接入总览篇
如果你已经把 OpenClaw 装上了,但不知道问题到底卡在 Gateway、Dashboard、pairing,还是聊天渠道本身,这篇可以直接当总排查手册用;如果你还没安装完,建议先去看安装实战篇。
本文按 2026 年 4 月 2 日可查到的 OpenClaw 官方 Channels、Pairing、Gateway Troubleshooting、Dashboard 与
openclaw message文档整理。重点不是把参数堆满,而是帮你先分清问题层级,再决定该接哪个应用、怎么接、接不上时先查什么。
先说结论:OpenClaw 真正最稳的路线,是先本地跑通,再只接一个外部应用
如果你现在的目标是“别折腾半天还不知道问题在哪”,最稳的顺序其实只有 4 步:
- 先用
openclaw dashboard把本地浏览器聊天跑通 - 再用命令梯子把 Gateway / pairing / policy 全查一遍
- 只新增 1 个你最常用的聊天渠道
- 单渠道跑通后,再考虑第二个应用
不要一上来就同时上:
- Telegram
- Discord
- Slack
- 再加群聊、线程、allowlist、远程访问
因为一旦你同时把这些变量都打开,后面你根本分不清问题到底出在:
- Gateway 没起来
- Dashboard token 不对
- DM pairing 没批准
- groupPolicy 拦住了
- requireMention 没满足
- 平台权限没开全
所以这篇文章会一直坚持一个原则:
先验证本地闭环,再扩展外部渠道。
一、先把本地最小闭环跑通
官方当前的最快第一次聊天路径,仍然是本地 Control UI,也就是:
1 | openclaw dashboard |
如果你连本地浏览器都还没跑通,就不要先去怪 Telegram、Discord 或 Slack。
先确认下面这几个点:
openclaw dashboard能给出本地地址openclaw gateway status里Runtime是runningRPC probe是ok- 你能在浏览器里真正发出第一条消息
如果你本地聊天页本身就打不开,可以先回看这篇更细的排错文:
二、所有渠道通用的排错梯子
OpenClaw 官方当前给出的渠道排错梯子,可以直接记成下面这 5 条:
1 | openclaw status |
健康基线通常应该长这样:
Runtime: runningRPC probe: ok- 你已经配置过的 channel 在
channels status --probe里显示connected或ready
如果“渠道状态看起来在线,但就是没有回消息”,官方当前更建议你继续查这 4 件事:
1 | openclaw status |
你重点看的是:
- 有没有 pending pairing
- 有没有
mention required - 有没有 allowlist mismatch
- 有没有
401、403、missing_scope、not_in_channel - 当前真正生效的配置文件,到底是不是你在改的那份
~/.openclaw/openclaw.json
只要这套顺序跑熟了,后面不管你接 Telegram、Discord、Slack,还是 WhatsApp,排错逻辑都不会乱。
三、接入聊天应用前,先理解 4 条共同规则
1. pairing 不是报错,它是默认安全门
OpenClaw 官方当前把很多 DM 渠道的默认策略都设成 pairing。
这意味着:
- 陌生私聊进来时,不会立刻放行
- 对方会拿到一个短验证码
- 只有你批准之后,这个发送者才真正被允许跟 OpenClaw 对话
常见批准写法:
1 | openclaw pairing list telegram |
同样的逻辑也适用于:
discordslackwhatsapp
所以很多人看到“对方发来了消息但 OpenClaw 没回复”,其实不是坏了,而是 pairing 还没批。
2. 群聊能不能回,不只看“加没加群”,还看 groupPolicy
OpenClaw 在群聊里通常不是默认全开,而是默认更保守。
你要分清 3 件事:
- 这个群本身有没有被允许
- 群里哪些人可以触发它
- 回复时是否必须
@mention
很多“机器人明明在线但在群里装死”的问题,最后都不是 token 错,而是:
groupPolicy没放开- 群没进 allowlist
requireMention还开着
3. requireMention 没关时,它不会主动接每一条群消息
这一条在 Discord、Slack、Telegram 群聊、WhatsApp 群聊里都很关键。
默认更保守的行为通常是:
- 你在群里
@它,它才回 - 或者你在回复它的线程里继续聊,它才继续
所以如果你想把它放进自己的私有群,做“全程在线型助理”,通常要明确关掉:
- 服务器级
requireMention - 或某个频道 / 群组级
requireMention
4. 多个渠道都配好以后,--channel 就别靠猜了
官方当前 openclaw message 文档写得很清楚:
- 如果只配置了 1 个渠道,它会自动当默认值
- 如果配置了多个渠道,
--channel就是必需项
所以一旦你已经同时配了:
- Telegram
- Slack
- Discord
那你再手工发消息测试时,就不要写得模模糊糊,直接明确写:
1 | openclaw message send --channel telegram --target @your_username --message "hello" |
四、Telegram:最适合先做个人助理
如果你是第一次从“浏览器聊天”扩展到“手机随时问”,我最建议先上 Telegram。
原因很简单:
- 配置路径清晰
- 个人私聊最容易理解
- 群聊策略也比较直观
- pairing、group allowlist、topic/thread 都有比较完整的官方文档
最小接入思路
第一步,去 @BotFather 创建 bot token。
第二步,把 Telegram 配到 ~/.openclaw/openclaw.json,最小形态可以先这样:
1 | { |
第三步,启动或重启 Gateway:
1 | openclaw gateway |
第四步,第一次私聊你的 bot,然后批准 pairing:
1 | openclaw pairing list telegram |
第五步,做一次主动发送测试:
1 | openclaw message send --channel telegram --target @your_username --message "Hello from OpenClaw" |
Telegram 最容易踩的坑
1. 配完 token 了,但还跑 channels login
Telegram 当前不是靠扫码登录的那类渠道。
它的核心做法是:
- 配 token
- 起 gateway
- 批 pairing
不是:
openclaw channels login telegram
所以你如果老想着“为什么 Telegram 没有二维码登录”,方向一开始就错了。
2. 群里不回消息
这通常优先看 3 件事:
requireMention是否还是true- BotFather 的 privacy mode 有没有关
- 机器人重新加群了没有
官方当前文档特别提醒:
- Telegram bot 默认 privacy mode 会限制它看到的群消息
- 你如果改了
/setprivacy - 最好把 bot 退群再重新拉进群一次
3. 你把群 ID 和用户 ID 配混了
Telegram 这里很容易犯一个经典错误:
- 群 ID 是负数,应该放在
groups - 用户 ID 是正数,才该放在
allowFrom/groupAllowFrom
如果你把这两种 ID 混着写,最后常见现象就是:
- 看起来像是 allowlist 配了
- 实际上一个也没放通
4. 明明能连网,但日志一直报 Telegram 请求失败
这种情况优先看:
- 出口网络是否能访问
api.telegram.org - DNS 有没有被拦
- 本机代理 / VPS 出口有没有把 Telegram API 卡住
如果你不确定用户 ID,官方当前更推荐的稳妥做法是:
1 | openclaw logs --follow |
然后自己给 bot 发一条私聊,从日志里直接读 from.id。
五、Discord:最适合团队频道和线程协作
如果你后面是想把 OpenClaw 放到团队讨论里,Discord 会比 Telegram 更像一个“工作空间内助理”。
它的优点在于:
- 支持 DM
- 支持 guild channel
- 支持 thread
- 每个频道天然是独立上下文
最小接入思路
第一步,在 Discord Developer Portal 新建应用并加一个 bot。
第二步,至少打开下面两个 Intents:
Message Content IntentServer Members Intent
第三步,先准备环境变量:
1 | export DISCORD_BOT_TOKEN="YOUR_BOT_TOKEN" |
然后把它引到 ~/.openclaw/openclaw.json:
1 | { |
第四步,第一次给 bot 发 DM,批准 pairing:
1 | openclaw pairing list discord |
第五步,主动发一条测试消息:
1 | openclaw message send --channel discord --target channel:1234567890 --message "今天的部署已经完成" |
Discord 最容易踩的坑
1. bot 在线,但服务器里完全不理人
这是 Discord 最典型的问题之一,优先查:
Message Content Intent开没开- 改完 intent 之后有没有重启 gateway
groupPolicy有没有挡住channels.discord.guilds下有没有把 guild / channel 放进允许范围requireMention是不是还开着
2. 私有服务器里也要每条都 @ 它,聊起来很烦
Discord 当前默认仍然偏保守,guild channel 里通常要 @mention 才回。
如果这是你自己的私有服务器,通常可以在 guild 配置里显式关掉:
1 | { |
这样它就更像一个常驻频道助理,而不是必须每次都被点名才说话的机器人。
3. 你以为“一个 Discord”就是一个上下文
实际上 Discord 场景里更真实的情况是:
- DM 是一套上下文
- 每个 guild channel 是一套上下文
- 每个 thread 也可能是另一套上下文
所以 Discord 适合做:
#research#coding#ops
这种按主题拆开的长期协作,不适合你把所有事情都丢进同一个频道然后怪它“记忆太乱”。
4. Group DM 没反应
官方当前文档写得很明确:
- Group DM 默认是忽略的
- 如果你真要用 Group DM,要额外开
channels.discord.dm.groupEnabled
所以不要默认以为 Discord 的“私聊都一样”。
六、Slack:最适合工作流和组织协作,但权限最容易漏
Slack 的特点不是“最难”,而是“最容易少开一项就半通不通”。
它很适合:
- 团队通知
- 日报频道
- 运营 / 支持协作
- 内部工作流型问答
最小接入思路
官方当前默认更推荐 Socket Mode。
第一步,在 Slack App 设置里:
- 开启
Socket Mode - 创建
xapp-...的 App Token - 安装应用,拿到
xoxb-...的 Bot Token
第二步,订阅基础事件,至少包括:
app_mentionmessage.channelsmessage.groupsmessage.immessage.mpim
同时记得启用:
App Home Messages Tab
第三步,把 Slack 配到 ~/.openclaw/openclaw.json:
1 | { |
或者走环境变量:
1 | export SLACK_APP_TOKEN="xapp-..." |
第四步,启动 Gateway:
1 | openclaw gateway |
第五步,第一次私聊时批准 pairing:
1 | openclaw pairing list slack |
第六步,主动往某个频道发一次测试消息:
1 | openclaw message send --channel slack --target channel:C12345678 --message "这是一条 Slack 测试消息" |
Slack 最容易踩的坑
1. Socket Mode 根本连不上
这时候不要先折腾代码,先查:
- App Token 是不是
xapp-... - Bot Token 是不是
xoxb-... - Slack 后台的 Socket Mode 开没开
少了任何一个,表现都可能是:
- 看起来配过了
- 实际上 channel status 永远不 ready
2. DM 能进,频道却一直不回
官方当前给出的排查顺序很直接:
groupPolicychannels.slack.channelsrequireMention- 频道级
usersallowlist
所以 Slack 常见的真实问题,不是“bot 死了”,而是:
- 频道没放行
- 频道里只允许特定人触发
- 必须
@mention
3. 你想用 slash command,但压根没把模式想清楚
Slack 这里很容易混两套思路:
- 原生 command 模式
- 单 slash command 模式
如果你发现:
- slash command 根本不触发
- 或触发了但 OpenClaw 没接住
优先看的是:
- 你到底是不是想用
channels.slack.commands.native: true - 还是只想跑一个
channels.slack.slashCommand - Slack 后台的 Request URL、Events、Interactivity 有没有都对上
4. HTTP 模式半通不通
如果你不是走 Socket Mode,而是走 HTTP Events API,那么要额外确认:
signingSecretwebhookPath- Slack 后台 Events、Interactivity、Slash Commands 的 URL
而且多账号时,每个账号的 webhookPath 最好都不一样。
七、WhatsApp:最像“手机私人助理”,但最依赖登录状态
如果你的目标是:
- 手机直接给自己的助理发消息
- 日常生活化使用
- 亲友或个人小群辅助
那 WhatsApp 很有吸引力。
但它的特点也很明显:
- 更依赖登录态
- 更依赖二维码 / 账号状态
- 更容易遇到“连上了但会偶发断开”
最小接入思路
第一步,先写访问策略。最小形态可以这样:
1 | { |
第二步,首次登录 WhatsApp:
1 | openclaw channels login --channel whatsapp |
如果你还没装对应插件,当前流程会提示安装。
第三步,启动 Gateway:
1 | openclaw gateway |
第四步,批准第一次 pairing:
1 | openclaw pairing list whatsapp |
第五步,主动发一条测试消息:
1 | openclaw message send --channel whatsapp --target +8613812345678 --message "Hello from OpenClaw" |
WhatsApp 最容易踩的坑
1. 还没 link 成功,就一直在猜配置
WhatsApp 最常见的基础问题其实很直接:
- 账号还没真的 link 好
- 二维码没扫成功
- 登录状态丢了
优先查:
1 | openclaw channels status --probe |
如果状态显示还没 linked,就直接重新走:
1 | openclaw channels login --channel whatsapp |
2. 明明 connected,但私聊没有回消息
这类问题官方当前给出的最快检查点就是:
1 | openclaw pairing list whatsapp |
因为 WhatsApp 的典型情况是:
- 链路没问题
- 但 sender 还没被批准
3. 群里不说话
官方当前文档建议你按这个顺序看:
groupPolicygroupAllowFrom/allowFromgroupsallowlistrequireMention
所以 WhatsApp 群聊不回,第一怀疑对象通常不是“掉线”,而是策略拦住了。
4. 反复断开 / 重连
如果你看到的是这种症状:
- 能连
- 但不稳定
- 经常重新登录
就优先看:
openclaw doctoropenclaw logs --follow
必要时直接重新 link。
另外官方当前文档还有一个很实际的建议:
如果条件允许,尽量给 OpenClaw 单独准备一个 WhatsApp 号码。
这样做的好处是:
- allowlist 更清楚
- 路由边界更清楚
- 少很多“自己给自己发消息到底算谁”的混乱
如果你非要用自己的主号,官方当前也支持 personal-number 模式,但它会更依赖:
allowFromselfChatMode- 你是否清楚自己在和哪个账号对话
八、除了这 4 个,还有哪些主流应用可以接
按 2026 年 4 月 2 日我查到的 OpenClaw 官方渠道总览,当前除了 Telegram、Discord、Slack、WhatsApp 之外,还能看到这些常见路线:
- Google Chat
- Microsoft Teams
- Signal
- iMessage / BlueBubbles
- Feishu / Lark
- LINE
- Matrix
其中你真正最容易立即上手的,还是前面这 4 个。
如果你现在的目标是:
- 个人助理
- 手机随时聊
- 小团队先试用
那不建议第一天就去追:
- 多插件平台
- 多账号矩阵
- 企业级审批流
- 多群组多线程自动化
先把一个主渠道做成稳定入口,比“一次接十个平台”实用得多。
九、一个真正能照着执行的排错顺序
如果你已经装好了 OpenClaw,但现在就是觉得“哪里都像有问题”,那请按下面顺序,不要跳步。
第一步:先确认本地入口
1 | openclaw dashboard |
先确认不是本地 Control UI 本身没起来。
第二步:确认服务与渠道总状态
1 | openclaw status |
先看 Gateway、RPC、channel probe 是不是都健康。
第三步:如果是“能连但不回”,先查 pairing
1 | openclaw pairing list telegram |
你用哪个渠道,就查哪个,不要全靠猜。
第四步:如果是群聊不回,先查策略而不是重装
你重点看:
groupPolicyallowFromgroupAllowFromrequireMention- channel / guild / groups allowlist
第五步:做一次主动发送测试
比如:
1 | openclaw message send --channel telegram --target @your_username --message "ping" |
主动发送能过,通常说明:
- outbound 基本没问题
- 问题更可能卡在 inbound policy、pairing 或 mention gating
第六步:最后才去看更复杂的平台权限细节
例如:
- Discord intents
- Slack Socket Mode / Signing Secret
- Telegram privacy mode
- WhatsApp link / re-link
因为如果你一开始就埋头改平台后台,往往会改了很多东西,仍然不知道问题到底解决没有。
十、最后给一个最实用的建议
如果你今天只打算完成一件事,我建议你这样选:
- 想做个人手机助理:先上
Telegram - 想做团队频道协作:先上
Discord - 想接工作区和流程协作:先上
Slack - 想更像私人聊天入口:先上
WhatsApp
但无论你选哪个,顺序都别变:
先本地 Dashboard,后单渠道接入,再多渠道扩展。
只要你把这个顺序守住,OpenClaw 的很多“疑难杂症”,其实都会变成可以拆开的普通问题。
参考文档
- OpenClaw Getting Started:https://docs.openclaw.ai/start/quickstart
- OpenClaw Dashboard / Control UI:https://docs.openclaw.ai/dashboard
- OpenClaw Channel Troubleshooting:https://docs.openclaw.ai/channels/troubleshooting
- OpenClaw Gateway Troubleshooting:https://docs.openclaw.ai/gateway/troubleshooting
- OpenClaw Pairing:https://docs.openclaw.ai/channels/pairing
- OpenClaw Telegram:https://docs.openclaw.ai/channels/telegram
- OpenClaw Discord:https://docs.openclaw.ai/channels/discord
- OpenClaw Slack:https://docs.openclaw.ai/channels/slack
- OpenClaw WhatsApp:https://docs.openclaw.ai/channels/whatsapp
- OpenClaw
message:https://docs.openclaw.ai/cli/message