2026 OpenClaw Gateway「無回覆」與模型錯誤分診:Troubleshooting 與 doctor 實操清單

約 14 分鐘閱讀 · MACCOME

谁会遇到问题:OpenClaw Gateway 與通道「看起来在线」,但用户侧长期無文字回复,或日志里反复出现429、上下文过长、模型不可用、工具未註冊等模型/佇列类錯誤。本文结论:不把官方 Gateway Troubleshooting 当作零散段落,而把它落为可执行分层顺序;安裝與 Compose 仍归《三平台安装》《Docker 生产》,網路与 CLI 归《Docker 網路分诊》,通道握手归《通道 OAuth 排查》。结构:六类誤判 → 分层决策表 → 检查项对照表 → 命令片段 → 六步 Runbook → 三 KPI → 遠端常驻收束。

2026 年为什么「Gateway 活着」却仍然「像死了一样無回覆」?

「無回覆」在工程上往往是多层故障叠加的表象:進程在、健康检查绿、反代 200,但模型层配额耗尽、上下文被拒绝、或佇列背压导致 worker 不再消费。下列六条是值班中最常见的誤判,按顺序对照可避免 80% 的无效重新啟動。

  1. 把反代 200 当成 Gateway 业务成功:Nginx/Caddy 返回 200 只说明 TLS 与路由握手完成;若 WebSocket 升級失敗或子路徑重写錯誤,业务帧可能从未到达 Gateway。《反代与 TLS 篇》提供分症状对照。
  2. 通道已连接但 OAuth/隐私策略阻断回复:Bot 显示在线却无消息,常见是范围、频道策略或隐私模式;应先跑通道篇再怀疑模型。
  3. 模型路由与降级未配置:主 provider 429 后若未落到备用模型或冷却窗口,Gateway 可能长时间无输出;对照《多模型路由与降级篇》。
  4. 上下文與工具爆炸导致靜默失敗:日志出现 long context / tool schema 类提示时,模型层已拒绝生成;需要减工具面或收紧 memory_search,参见《Skills 与 memory_search 调参篇》。
  5. 过早跳 MCP:若从未出现模型 completion,却在调 MCP 端口,容易南辕北辙;模型有返回且 tools 调用失敗才回到《MCP 与 ClawHub 篇》。
  6. 重复跑 doctor 却不固化证据:openclaw doctor 适合在配置变更后做基线快照;每次事故都从零 deep 会掩盖回归点。與《安裝後 doctor 篇》衔接:安裝後一次、升級后一次、無回覆事故时一次。

官方 Troubleshooting 通常建议先確認 Gateway 與模型连通,再下钻通道與工具;本文把该顺序写成评审附件级表格,便于與 Runbook、变更单编号綁定。

實務中可把「無回覆」粗分为硬失敗(明确 4xx/5xx 与堆栈)与软失敗(日志安靜但无输出);软失敗优先查佇列、超时与上下文阈值,硬失敗优先查密钥、路由與反代。

表 1:無回覆时的四层分流(進程 / 反代 / 通道 / 模型)

从上游到下游逐级排除;任一层未闭合前不要同时改四层配置,避免雪崩式回滚。

层级典型症状优先证据下一步
進程 / 容器端口不通、進程反复崩溃容器退出码、systemd/launchd 日志回到安裝與 Docker 生产篇;確認资源与卷挂载
反代 / TLS / WS浏览器偶发 502、WS 中断反代 access/error、Upgrade打开反代 TLS 分诊清单逐项对照
通道通道显示已连接但消息不进线程通道侧事件、OAuth 范围跑通道 OAuth 排查表;排除隐私模式与频道白名单
模型 / 佇列日志有请求无 completion、429 文本模型提供商状态、配额、路由日志查 provider 路由与降级;必要时降並發与上下文

表 2:官方 Troubleshooting 常见动作 → 与你日志里的「指纹」

下列映射以社区与官方文档常见步骤为纲;具体子命令以你安装的 OpenClaw 版本 CLI 帮助为准。目标是把动作与日志行綁定,而不是凭感觉重新啟動。

检查动作(概念)日志/现象指纹说明
Gateway 健康 / 状态就绪探针失敗或 status 命令报錯先確認监听地址与 compose 網路,再谈模型
模型连通探针timeout、401、403、429401/403 偏密钥与專案;429 偏配额与路由冷却
doctor(深度)配置漂移、路徑不存在、版本 skew升級或合并配置后必跑;输出附在变更单
佇列/背压(若适用)请求堆积、延迟飙升无錯誤码减並發、扩實例或錯峰;与遠端机 CPU 水位一起看

命令片段:doctor 与「基线—重現—对比」

将输出保存到工单附件;敏感行打码后再分享。具体 flag 以本地 openclaw --help 为准。

bash
# 基线:升級或改配置后各跑一次并归档
openclaw doctor
openclaw doctor --deep --yes

# 重現时:记录时间戳与请求 id(若日志提供)
# tail -n 200 /path/to/gateway.log | tee ./incident-$(date +%Y%m%d%H%M).log

# 模型路由对照:在《多模型路由篇》中逐项关闭非主 provider 做二分
info

提示:若同时修改反代超时、模型 max_tokens 與通道重试,很难归因;每次事故只动一层,并在 doctor 输出中标注变更前后 diff

實例:两类「無回覆」如何关单

场景 A:通道有已读,但始终没有模型文本

先抓 30 秒 Gateway 日志窗口,搜索模型提供商返回片段;若出现 long context 或 429,按 provider 篇执行冷却与降级,再观察是否恢复首 token 延迟。

场景 B:Web UI 能开,外通道全哑

优先对照反代 WS 與通道 OAuth;若 UI 走 localhost 而通道走公网域名,常是双入口策略不一致,需要在同一张拓扑图上标出两条路徑再查。

六步 Runbook:把 Troubleshooting 写进值班手册

  1. 标注入口:记录用户从哪条 URL/哪个 Bot 进入,避免 UI 與通道混测。
  2. 跑四层表:从進程到模型逐级勾选,未闭合层不得并行改配置。
  3. 抓取最小日志包:含一次完整请求前后各 50~200 行,脱敏后上传工单。
  4. 插入 doctor:在配置疑似漂移或升級后立即 deep 一次,与上次基线 diff。
  5. 验证最小对话:用最短系统提示与最短用户句,排除长上下文干扰。
  6. 覆盤写入模板:根因標籤(反代/通道/模型/工具)+ 预防项(監控、配额告警、路由)。

三条应写进面板与告警的「硬核」口径

  1. 首 token 延迟(TTFT)与錯誤码比例:区分「慢但成功」与「靜默失敗」,与 429 计数并列。
  2. 通道事件成功率 vs 模型 completion 率:两者背离时直接定位层。
  3. doctor 失敗项计数:作为发布门禁,避免带着漂移配置上生产。

工程对齐(非基准测试):2025–2026 周期内,多 provider 与长上下文預設开启时,佇列与配额类無回覆在社区工单中占比持续偏高;把 TTFT 与 429 画在同一时间轴上,比只看 CPU 更能解释「为什么昨晚突然全員哑火」。

另有一条易被忽略的链路:企业代理与证书替换会让「模型 HTTPS 探测成功、长连接却间歇失敗」并存;此时应在同一封包擷取窗口里对照 Gateway 出口与开发者筆記型電腦出口,避免把網路策略问题誤判为 OpenClaw 版本缺陷。把代理白名单、SNI 与 HTTP/2 兼容性写进與《Docker 網路分诊》同页的附录后,值班同学只需核对「出口是否一致」即可快速分流。

若團隊同时使用自托管模型与公有云 API,建议在变更评审里强制要求双栈路由表:哪条会话走哪条密钥、哪条 fallback 触发条件是什么;否则「無回覆」往往来自路由表缺失而非单点配置笔誤。此类表格应与 doctor 基线一并版本化,避免口头约定在輪調后遺失。

为什么「筆記型電腦上偶发能跑」不适合做生产 Gateway

个人机器睡眠、路由切换与企业出口策略会让「無回覆」变成不可重現的玄学;而生产需要固定出口、可重新啟動顺序、可稽核日志路徑。自建小主机亦常缺全球接入与磁碟/頻寬余量,峰值时模型佇列與通道重试会互相踩踏。

对要把 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 維運清单》对齐;选型时可参考 租賃價格說明 與區域页。