Bot 配置好了,但就是不回复?本文用系统化方法帮你快速定位问题。
第一步:运行 Doctor 诊断
bash
openclaw doctor这是最快的诊断方式,会自动检查常见问题:
✅ Gateway: running on port 18789
✅ Auth: token configured
✅ Provider: anthropic API responding (claude-sonnet-4-6)
⚠️ Channel telegram: webhook not reachable from external
→ Check: is gateway accessible from internet?
❌ Channel slack: signing secret validation failed
→ Check: SLACK_SIGNING_SECRET in config
❌ Node my-iphone: not seen in 4h
→ Check: Node app running? Network ok?
修复建议直接显示在输出里。
五大常见问题
问题1:Bot Token 无效(401 Unauthorized)
症状:日志出现 401 Unauthorized
原因:Token 过期、被吊销、格式错误
Telegram 修复:
1. 向 @BotFather 发送 /mybots
2. 选择你的 Bot → API Token
3. 如果怀疑泄露,点 Revoke 重新生成
4. 更新配置文件中的 botToken
WhatsApp 修复:
1. 删除 .openclaw/whatsapp-session/ 目录
2. 重启 Gateway,重新扫 QR 码
Slack 修复:
1. 重新确认 Bot Token(以 xoxb- 开头)
2. 确认 Signing Secret(非 Verification Token)
问题2:Webhook URL 不可达(Webhook 未收到消息)
症状:Bot 启动正常,但发消息后没有任何反应
原因:外部服务(Telegram/Slack)无法访问你的 Webhook URL
诊断:
# 从外部测试 Webhook 是否可达
curl https://your-gateway.com/api/channels/telegram/webhook
# 如果超时或 Connection refused → 网络/防火墙问题
修复步骤:
1. 检查防火墙是否放行 18789 端口(或 443/80)
2. 如果在 NAT 后面,用 Ngrok/Cloudflare Tunnel 穿透
3. 用 Nginx 反向代理并申请 HTTPS 证书
4. 重新设置 Webhook URL
问题3:DM 配对未完成(消息被拒绝)
症状:给 Bot 发消息,回复「未配对」或直接被忽略
原因:dmPolicy 为 pairing 且尚未完成配对
修复(以 Telegram 为例):
1. 发消息 /start 给 Bot
2. 查看 Gateway 日志中的配对码
[INFO] Pairing request from @alice: code 123456
3. 发送配对码给 Bot:/pair 123456
4. 配对成功后可以正常对话
或临时改为 open 模式(测试时):
{ "dmPolicy": "open" }
问题4:网络/防火墙拦截
症状:本地测试正常,部署后不工作
常见原因:
❌ VPS 防火墙只开了 22/80/443,没有开 18789
❌ 云服务器安全组没有配置入站规则
❌ Telegram 被 ISP/企业防火墙封锁(中国地区)
修复:
# 阿里云/腾讯云:控制台 → 安全组 → 添加入站规则
# 端口:18789(或用 80/443 + Nginx 反代)
# 测试端口是否开放
nc -zv your-ip 18789
问题5:配置格式错误
症状:Gateway 启动报错或某渠道不加载
常见错误:
❌ JSON 语法错误(多一个逗号、少一个引号)
❌ 字段名拼写错误(bottoken vs botToken)
❌ enabled 写成字符串 "true" 而非布尔 true
诊断:
openclaw config validate
# 输出详细的配置验证结果
修复:
openclaw config show | python3 -m json.tool
# 格式化后检查 JSON 结构
各渠道专项排障
Telegram
bash
# 测试 Bot Token
curl "https://api.telegram.org/bot<TOKEN>/getMe"
# 正常返回:{"ok":true,"result":{"username":"your_bot",...}}
# 查看 Webhook 状态
curl "https://api.telegram.org/bot<TOKEN>/getWebhookInfo"
# 删除 Webhook(强制用 Polling 模式)
curl "https://api.telegram.org/bot<TOKEN>/deleteWebhook"bash
# QR 码过期,重新登录
rm -rf ~/.openclaw/whatsapp-session/
openclaw gateway restart
# 查看 WhatsApp 连接日志
openclaw logs --channel whatsapp --followSlack
常见问题:Event Subscriptions 未启用
修复:
Slack App 设置 → Event Subscriptions → Enable Events → ON
填写 Request URL:https://your-gateway.com/api/channels/slack/events
订阅事件:message.im, app_mention
Discord
常见问题:缺少必要权限
修复:
OAuth2 URL 中必须包含 permissions=
bot + Send Messages + Read Message History + Add Reactions
日志解读
bash
# 实时查看日志
openclaw logs --follow
# 只看错误
openclaw logs --level error
# 看特定渠道
openclaw logs --channel telegram
# 导出日志用于提 Issue
openclaw logs --since 1h > openclaw-debug.log关键日志字段:
[ERROR] channel=telegram code=403 msg="Forbidden: bot was blocked by the user"
→ 用户拉黑了 Bot
[WARN] provider=anthropic code=429 msg="rate_limit_exceeded" retry_after=30
→ API 限流,等 30 秒后重试
[ERROR] config validation failed: channels.slack.botToken is required
→ 配置缺少必填字段
获取社区支持
Discord 社区:https://discord.com/invite/clawd
→ #help 频道发问,附上 doctor 输出和日志片段
GitHub Issues:https://github.com/openclaw/openclaw/issues
→ Bug 报告,附 minimal reproduction 配置
提问时请附上:
1. openclaw --version 输出
2. openclaw doctor 输出
3. 相关错误日志片段(敏感信息记得脱敏)
4. 你尝试过的解决方法
来源:OpenClaw 官方文档 - docs.openclaw.ai/channels/troubleshooting