谁会遇到问题: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 运维清单》对齐;选型时可参考 租赁价格说明 与区域页。