谁会遇到问题:OpenClaw Gateway 與通道「看起来在线」,但用户侧长期無文字回复,或日志里反复出现429、上下文过长、模型不可用、工具未註冊等模型/佇列类錯誤。本文结论:不把官方 Gateway Troubleshooting 当作零散段落,而把它落为可执行分层顺序;安裝與 Compose 仍归《三平台安装》《Docker 生产》,網路与 CLI 归《Docker 網路分诊》,通道握手归《通道 OAuth 排查》。结构:六类誤判 → 分层决策表 → 检查项对照表 → 命令片段 → 六步 Runbook → 三 KPI → 遠端常驻收束。
「無回覆」在工程上往往是多层故障叠加的表象:進程在、健康检查绿、反代 200,但模型层配额耗尽、上下文被拒绝、或佇列背压导致 worker 不再消费。下列六条是值班中最常见的誤判,按顺序对照可避免 80% 的无效重新啟動。
memory_search,参见《Skills 与 memory_search 调参篇》。openclaw doctor 适合在配置变更后做基线快照;每次事故都从零 deep 会掩盖回归点。與《安裝後 doctor 篇》衔接:安裝後一次、升級后一次、無回覆事故时一次。官方 Troubleshooting 通常建议先確認 Gateway 與模型连通,再下钻通道與工具;本文把该顺序写成评审附件级表格,便于與 Runbook、变更单编号綁定。
實務中可把「無回覆」粗分为硬失敗(明确 4xx/5xx 与堆栈)与软失敗(日志安靜但无输出);软失敗优先查佇列、超时与上下文阈值,硬失敗优先查密钥、路由與反代。
从上游到下游逐级排除;任一层未闭合前不要同时改四层配置,避免雪崩式回滚。
| 层级 | 典型症状 | 优先证据 | 下一步 |
|---|---|---|---|
| 進程 / 容器 | 端口不通、進程反复崩溃 | 容器退出码、systemd/launchd 日志 | 回到安裝與 Docker 生产篇;確認资源与卷挂载 |
| 反代 / TLS / WS | 浏览器偶发 502、WS 中断 | 反代 access/error、Upgrade 头 | 打开反代 TLS 分诊清单逐项对照 |
| 通道 | 通道显示已连接但消息不进线程 | 通道侧事件、OAuth 范围 | 跑通道 OAuth 排查表;排除隐私模式与频道白名单 |
| 模型 / 佇列 | 日志有请求无 completion、429 文本 | 模型提供商状态、配额、路由日志 | 查 provider 路由与降级;必要时降並發与上下文 |
下列映射以社区与官方文档常见步骤为纲;具体子命令以你安装的 OpenClaw 版本 CLI 帮助为准。目标是把动作与日志行綁定,而不是凭感觉重新啟動。
| 检查动作(概念) | 日志/现象指纹 | 说明 |
|---|---|---|
| Gateway 健康 / 状态 | 就绪探针失敗或 status 命令报錯 | 先確認监听地址与 compose 網路,再谈模型 |
| 模型连通探针 | timeout、401、403、429 | 401/403 偏密钥与專案;429 偏配额与路由冷却 |
| doctor(深度) | 配置漂移、路徑不存在、版本 skew | 升級或合并配置后必跑;输出附在变更单 |
| 佇列/背压(若适用) | 请求堆积、延迟飙升无錯誤码 | 减並發、扩實例或錯峰;与遠端机 CPU 水位一起看 |
将输出保存到工单附件;敏感行打码后再分享。具体 flag 以本地 openclaw --help 为准。
# 基线:升級或改配置后各跑一次并归档 openclaw doctor openclaw doctor --deep --yes # 重現时:记录时间戳与请求 id(若日志提供) # tail -n 200 /path/to/gateway.log | tee ./incident-$(date +%Y%m%d%H%M).log # 模型路由对照:在《多模型路由篇》中逐项关闭非主 provider 做二分
提示:若同时修改反代超时、模型 max_tokens 與通道重试,很难归因;每次事故只动一层,并在 doctor 输出中标注变更前后 diff。
先抓 30 秒 Gateway 日志窗口,搜索模型提供商返回片段;若出现 long context 或 429,按 provider 篇执行冷却与降级,再观察是否恢复首 token 延迟。
优先对照反代 WS 與通道 OAuth;若 UI 走 localhost 而通道走公网域名,常是双入口策略不一致,需要在同一张拓扑图上标出两条路徑再查。
工程对齐(非基准测试):2025–2026 周期内,多 provider 与长上下文預設开启时,佇列与配额类無回覆在社区工单中占比持续偏高;把 TTFT 与 429 画在同一时间轴上,比只看 CPU 更能解释「为什么昨晚突然全員哑火」。
另有一条易被忽略的链路:企业代理与证书替换会让「模型 HTTPS 探测成功、长连接却间歇失敗」并存;此时应在同一封包擷取窗口里对照 Gateway 出口与开发者筆記型電腦出口,避免把網路策略问题誤判为 OpenClaw 版本缺陷。把代理白名单、SNI 与 HTTP/2 兼容性写进與《Docker 網路分诊》同页的附录后,值班同学只需核对「出口是否一致」即可快速分流。
若團隊同时使用自托管模型与公有云 API,建议在变更评审里强制要求双栈路由表:哪条会话走哪条密钥、哪条 fallback 触发条件是什么;否则「無回覆」往往来自路由表缺失而非单点配置笔誤。此类表格应与 doctor 基线一并版本化,避免口头约定在輪調后遺失。
个人机器睡眠、路由切换与企业出口策略会让「無回覆」变成不可重現的玄学;而生产需要固定出口、可重新啟動顺序、可稽核日志路徑。自建小主机亦常缺全球接入与磁碟/頻寬余量,峰值时模型佇列與通道重试会互相踩踏。
对要把 OpenClaw 当作7×24 自动化入口的團隊,更稳妥的是把 Gateway 放在具备独占 Apple Silicon、多地區可选與彈性租期的云端 Mac 上,并把本文 Runbook 與《常驻維運清单》一起綁定变更评审。MACCOME 在新加坡、日韩、香港与美东美西等提供 Mac Mini M4 / M4 Pro,便于固化反代、持久化目錄与監控;可先对照公开租賃说明與說明中心后再落单。
试点:短租一台与主要用户同区的节点,跑满六步 Runbook 的一次完整演练,再决定是否月租/季租与磁碟扩容。
最后补充一条「文档紀律」:每次無回覆事故关闭后,把根因標籤与对应日志行模式登記到内部知识库,并在下次发版前检查该模式是否仍被監控覆盖;这样官方 Troubleshooting 更新时,你们能diff出自己的附加条款,而不是每年从零重写排障笔记。
常見問題
升級后突然無回覆,第一步做什么?
先跑 openclaw doctor --deep --yes 并与升級前基线 diff;若 doctor 干净,再按四层表从反代向下排查。升級说明與說明见 說明中心。
日志里已有 tool call 失敗,还要看本篇吗?
若模型曾返回计划并触发工具,但执行失敗,优先打开 MCP 与 ClawHub 分诊篇;本篇覆盖「模型未输出或佇列不消费」的主线。
遠端 Mac 上日志路徑总变怎么办?
把日志目錄与轮转策略写进維運表,并與《常驻遠端 Mac 維運清单》对齐;选型时可参考 租賃價格說明 與區域页。