已跑通 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 紀錄,卻在宿主機上面對無止境逾時。
| 觀測現象 | 優先懷疑層 | 下一步(摘要) |
|---|---|---|
| 健康檢查全綠,但無任何入站日誌 | 通道入站設定 | 各平台重新授權;核對事件訂閱 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 與本機 Proxy 會改變出站 IP 與 TLS 指紋,導致 OAuth 回呼與平台端白名單隨機失敗;多人共用時也無法把 token 輪換與稽核欄位寫進統一金鑰庫。把 Gateway 與通道程序放在可值班、網路出口穩定、可按區域部署的執行平面,才能與團隊級 agent 策略一致。
對需要長期上線、固定回呼網域名與可預測出口的 OpenClaw 拓撲而言,MACCOME 在新加坡、日韓、香港與美東美西提供的 Mac Mini M4/M4 Pro 雲主機適合作為 Gateway 與 Apple 工具鏈共存的常駐節點;通道分診完成後,可在《SSH 與 VNC 指南》與幫助中心核對連線,再依公開價格與區域頁延長租期。
試點建議:先在獨佔測試機上用單一頻道跑滿 24 小時 IER 與 RCR,再接入 production workspace,避免「大群一開放就全紅」的不可逆事故。
常見問題
這篇和「Docker 網路分診」會不會重複?
網路篇解決 CLI 與 Gateway 容器是否互通;本篇只解決各訊息平台入站與授權。若懷疑 compose,請先看《Docker 網路分診》。
多地區節點與租期去哪選?
若計畫把 Gateway 放在雲端 Mac,請讀《多地區節點與租期指南》與 租賃價格說明。