已跑通 Gateway的工程师在接 Slack、Discord 或 Telegram 时,最常见不是「装不上」,而是控制台显示通道已连接,群里却像黑洞:消息进不来或只读不回。📌 本文与《doctor 装后排错》《Docker 网络分诊》《provider 降级》分工:先确认 Gateway 与模型层无异常,再按平台逐项核对 OAuth 范围、机器人权限、事件订阅与 Telegram 隐私模式。你将得到六类可写进值班手册的症状标签、一张三层分诊表、可复制执行的诊断命令块、六步 Runbook与三条应写进 Grafana 的通道 KPI。
通道问题常被误报为「模型坏了」或「compose 网络又炸了」。在改镜像或调 network_mode 之前,先用下列标签描述现象,并与《Docker 网络分诊》中的症状表对照,避免两条线同时改动无法复盘。
.env。把这六类与「最近是否改过 allowedOrigins、是否滚动过镜像」写在同一变更单上,值班同学才能在五分钟内选对分诊分支。
下列表格是「先看哪一层」的决策矩阵,不是排他结论;每一格都应对应一条可执行的下一步命令或日志关键字。实务上建议先在纸上画三条竖线:左侧写「用户侧可见现象」,中间写「Gateway 日志里最先出现的异常类型」,右侧写「是否出现上游模型 HTTP 状态码」。只要中间列长期空白,就不要急着改 provider;若右侧先出现大量 429,则通道 OAuth 再授权十次也救不了账单。
与《Docker 网络分诊》配合阅读时,可把「容器内 channels 探针失败」视作第 0 层:先确认同一 compose 网络里 CLI 能打到 Gateway,再进入下表;否则你会在 Slack 后台看到永远健康的 webhook 记录,却在宿主机上面对 endless timeout。
| 观测现象 | 优先怀疑层 | 下一步(摘要) |
|---|---|---|
| 健康检查全绿,但无任何入站日志 | 通道入站配置 | 各平台重新授权;核对事件订阅 URL、Socket 模式与 intent;Telegram 查隐私模式与群 @ |
| 有入站,路由日志显示 agent 为空或 policy deny | 路由与策略层 | 检查 groupPolicy、频道绑定、mention 规则;对照 OpenClaw 配置中的 agent 映射 |
| 入站与路由正常,回复阶段失败 | 模型与配额 | 查看 429/5xx、超时;按《provider 降级篇》切换 key 或模型 |
| 仅容器环境失败,宿主机 CLI 正常 | 网络与密钥挂载 | 回到《Docker 网络分诊》;核对 compose 环境变量与卷 |
下列指标把「感觉机器人卡了」拆成可告警的数值;口径应与 Gateway 现有日志字段对齐。建议以小时桶聚合,而不是秒级抖动,否则夜班会被无意义告警淹没。
社区文档在 2026 年仍强调 openclaw channels status --probe 一类探针;把探针结果与上述三率放在同一面板,可避免「重连一下就好」的不可复现操作。若你们已在《Gateway 健康检查与滚动更新》里配置了 HTTP 探针,请确认探针 URL 与通道回调实际经过的反向代理路径一致:探针只打 loopback 而公网回调走另一证书链时,会出现「监控全绿、用户全红」的经典错位。
补充一条人工对照口径:每周随机抽十条用户消息,核对「平台侧消息 ID → Gateway request ID → 模型 trace ID」是否能在三处日志里闭环;若任一环缺失,说明结构化日志字段未对齐,优先修字段再谈扩容。
# 诊断顺序示例(按环境加 sudo / docker exec 前缀) openclaw gateway status openclaw channels status --probe openclaw logs --follow | rg -i "slack|discord|telegram|429|oauth|deny" # Telegram:确认 BotFather 隐私模式与群聊是否要求 @mention # Discord:在 Developer Portal 核对 Privileged Gateway Intents(Message Content 等)
提示:若《三平台安装指南》尚未在同一机器上复现最小对话用例,请先不要并行改通道与 compose;否则根因会被并行变更淹没。
allowedOrigins 或 TLS 证书,请在变更单上显式写出「回滚到上一证书指纹」的步骤,避免 OAuth 回调与 CORS 同时坏。gateway status 与《doctor 篇》中的健康检查一致。若使用 systemd 或 launchd,请核对重启策略:频繁重启会把通道 WebSocket 打到平台侧频控。下列检查项应与各平台官方控制台对照执行;不要依赖截图过期的「权限列表」。若团队同时维护 staging 与 production 两个 workspace,请把回调 URL 主机名写成表格里的独立一列,避免 staging 证书被误绑到 prod DNS。
三平台都与出站 IP 稳定强相关:若 Gateway 跑在会随机切换出口的家用宽带或频繁重拨的 VPN 上,平台侧可能把 webhook 当作异常流量;这与《多地区云 Mac》里强调的固定区域与可审计出口一致——当你准备把机器人交给团队长期依赖时,应优先把控制面搬到可达性可证明的环境,而不是在客户端网络里打游击。
个人设备睡眠、VPN 与本地代理会改变出站 IP 与 TLS 指纹,导致 OAuth 回调与平台侧白名单随机失败;多人共用时也无法把 token 轮换与审计字段写进统一密钥仓。把 Gateway 与通道进程放在可值班、网络出口稳定、可按区域部署的执行平面,才能与团队级 agent 策略一致。
对需要长期在线、固定回调域名与可预测出口的 OpenClaw 拓扑而言,MACCOME 在新加坡、日韩、香港与美东美西提供的 Mac Mini M4 / M4 Pro 云主机适合作为 Gateway 与 Apple 工具链共存的常驻节点;通道分诊完成后,可在《SSH 与 VNC 指南》与帮助中心核对接入,再按公开价格与区域页扩展租期。
试点建议:先在独占测试机上用单频道跑满 24 小时 IER 与 RCR,再接入生产 workspace,避免「大群一放开就全红」的不可逆事故。
常见问题
这篇和「Docker 网络分诊」会不会重复?
网络篇解决 CLI 与 Gateway 容器是否互通;本篇只解决各消息平台入站与授权。若怀疑 compose,请先看《Docker 网络分诊》。
多地区节点与租期去哪选?
若计划把 Gateway 放在云端 Mac,请读《多地区节点与租期指南》与 租赁价格说明。