openclaw status → openclaw gateway status(含必要时 --deep)→ openclaw logs --follow → openclaw doctor → openclaw channels status --probe → openclaw cron status / cron list;写清「Runtime running 但 Connectivity probe failed」时的端口、bind、远程 URL 分叉表,split brain 与 meta.lastTouchedVersion 签名,以及常驻场景下如何用 cron 列表补全夜间口径;与站内 安装排障清单、常驻稳定性、升级与远程访问 三篇交叉阅读可避免重复踩坑。2026 年五条命令的诊断梯子:先把「谁在跑」对齐再谈频道与模型
OpenClaw 的 Gateway 是常驻控制平面:assistant 只是消费它的产品层。官方文档推荐的粗粒度顺序是先用 openclaw status 看会话与健康摘要,再用 openclaw gateway status 对齐 Runtime、RPC 探针目标 URL、以及 launchd 与服务配置是否一致;若只看 CLI「一切正常」却忽略服务侧 plist 仍指向旧前缀,就会在升级与小版本漂移后反复出现「偶发断连」。在云 Mac 上你把镜像冻结成 golden image 时尤其危险:全局 npm 前缀更新了一次,plist 未重装,就会出现split brain——doctor 报告无阻塞,RPC 探针失败。
在此基础上本文把可写入 Runbook 的第一屏固定为六段输出:status → gateway status → logs --follow(短时采样即可)→ doctor → channels status --probe → cron status 与 cron list。channels 层告诉你外部入口是否 ready;cron 告诉你定时任务是否在峰值窗口把 worker 挤死或触发外部 API 限额。cron 并不是「可选运维彩蛋」,而是线上稳定性文章里最容易缺失的第二张仪表盘。
把梯子写成固定顺序的意义在于责任边界可拆分:第一层证明进程与 RPC 握手是否成立;第二层证明配置与服务监督是否一致;第三层才讨论外部频道与定时任务。多数团队在第二层之前就切换到「换模型」或「清缓存」,会把临时缓解写成永久架构债,值班记录也无法对齐同一口径。
下面五条是把新手最常犯的错误做成禁止条:违背顺序会把下游信号误判成上游模型不稳。
跳过 gateway status 去看 channels:频道全红可能是 Gateway 根本没 listen 对地址,单纯重登 OAuth 只会复制噪声。
未采样 logs 就去调温度:日志里若已是端口占用或 schema 校验失败,调模型只会放大重试风暴。
doctor 绿灯就当配置一致:doctor 解决 schema 与多数机械冲突,不替你证明 plist 与 CLI 同一二进制。
忽略 cron list:夜间归档或批量 summarization 任务可能与频道峰值重叠,表现为「白天偶发、夜里必挂」。
把远程 URL 探针失败当归档网络:gateway.mode=remote 指错 URL 时,本地进程仍可 running,探针却永远失败。
若尚未完成初装与 launchd,请先回到 安装排障清单;heartbeat、pm2 或常驻策略请看 常驻稳定性。本篇假设 Gateway 已能间歇工作,你要把它变成可夜班自检的生产口径。
对照表:Runtime running 与 RPC 探针分叉(端口、bind、远程 URL)
gateway status 同时呈现 Runtime 与 Connectivity/RPC 两类信号:前者描述进程是否由监督拉起,后者描述 CLI 视角下是否能完成探针握手。二者不一致时,应按表里优先级排查,而不是并行「重启试试看」。bind 与 token 组合策略详见 升级与远程访问,本篇只承接分叉决策。
遇到「探针失败但本地 curl loopback 正常」时,应先核对探针实际请求的 URL是否与当前 bind 一致:远程模式下 CLI 可能探测远端而服务仍监听本机,二者语义不对齐会造成永久红色。
| 观测组合 | 优先怀疑 | 下一步命令级动作 |
|---|---|---|
| Runtime stopped | gateway.mode 缺失或被写成 remote、配置 schema 阻断启动 | openclaw logs --follow 抓退出签名 → doctor |
| Runtime running · probe failed | 端口占用、listen 地址与探针 URL 不一致、token 漂移 | lsof -i :18789(示例端口)→ 核对 gateway.bind 与探针目标 → gateway status --deep |
| Probe ok · channels not ready | 频道配对、密钥轮换、外部 API 限速 | channels status --probe → 检查 pairing 列表 |
| Channels ok · 定时故障 | cron 与工作负载峰值重叠 | cron list 对照 UTC/本地时区窗 |
| 日志签名(示意) | 含义 | 处理口径 |
|---|---|---|
Gateway start blocked: set gateway.mode=local | 本地模式未声明或被覆盖 | 按官方指引写回 gateway.mode 或重跑 onboard |
refusing to bind ... without auth | 非回环 bind 缺 token | 写 gateway.auth.token 或退回 loopback + 隧道 |
EADDRINUSE | 遗留进程占端口 | 结束占用或改端口后 gateway install --force |
先让「Runtime 与探针」在同一叙事里闭合,再打开频道与 cron;顺序错了只会把并发重试写到日志里。
在新加坡或美西等高配 M4 Pro / 大统一内存节点上,编译类噪声与 Agent 峰值可能并存:排查时仍应坚持同一梯子,只是在采样日志窗口时适当拉长,避免把瞬时 GC 与网关握手失败混在一起。
若你把高频助理会话与夜间批处理放在同一节点上,建议在表中额外标注负载相位:交互高峰与 cron 触发窗是否重叠;一旦出现重叠,即使探针短时失败也应优先比对时间表而不是立刻迁移密钥。
split brain:CLI 与服务各自读到哪份 openclaw.json
当仓库文档提到「新版本写入的配置戳与老二进制冲突」时,现场表现为 doctor 通过而 Gateway 服务拒绝变更监督元数据。典型抓手包括:which openclaw 与 plist ProgramArguments 第一项是否一致;OPENCLAW_STATE_DIR 或等价 profile 是否在同一 shell 与 launchd 环境可见;以及日志是否出现「binary older than config writer」类语义。处理顺序应是对齐 PATH 与前缀 → 再用gateway install --force重写监督元数据,而不是先反复卸载重装 npm 包却在 plist 里残留旧路径。
下面示例给出「梯子串联」的最小可粘贴块;端口与 profile 目录请替换为你的环境。
openclaw status openclaw gateway status openclaw gateway status --deep openclaw logs --follow openclaw doctor openclaw channels status --probe openclaw cron status && openclaw cron list
提示:仅在确认二进制一致后再执行 gateway install --force;边界说明见升级专题 FAQ,避免误以为 force 会替你审计完整密钥轮换。
若你在云节点上使用非回环 bind接运维隧道,请保证 token 与防火墙最小放行同步写入变更单;不要把「仅 SSH 能通」当成 Gateway 健康。
生产建议在复盘模板里强制填写采样开始与结束时间戳,以便区分间歇性认证失败与持续性端口占用;没有 timestamps 的工单不应进入架构评审。另建议保存终端会话编号以便二次复核与回放,并在工单附上日志截取片段编号。
六步:把诊断梯子写进夜间值班表(含 cron 附加项)
冻结时间与窗口:标明采样日志的十分钟窗口与节点时区,避免跨日归档误判。
跑梯子前五段:status → gateway → logs 采样 → doctor,输出粘贴到工单。
频道探针留痕:channels status --probe 的结果截图或文本进入同一工单。
cron 对齐:cron list 与业务峰值表对照,标注冲突任务 owner。
binary 对齐复核:记录 openclaw --version 与 plist 路径一致性结论。
变更闭环:需要升配或扩节点时在 订购入口 留痕,便于财务审计。
若值班时段跨越亚太与美西交接,建议在工单模板增加交接备注字段:上一班已跑到梯子的第几步、下一班应从 channels 还是 cron 继续采样,避免重复执行前半段命令。
可引用口径:18789、探针与 cron 的三条硬信息
默认仪表盘端口:公开文档与社区排障均以 18789 类端口为默认 multiplex 监听;占用时需先解放端口再谈 force 重装。
探针语义:Connectivity probe 验证 RPC 可达性,与频道插件是否 ready 相互独立;二者缺一不可。
cron 观测:定时任务列表应与上游速率限制策略一并冻结在 Runbook,否则夜间批量会成为放大器。
注意:把 Gateway 暴露到无鉴权公网仍属高风险路径;优先 loopback 加 SSH 隧道或 Tailscale,与升级专题一致。
自建笔记本或不稳定本地链路承载 Gateway,会遇到休眠、企业同步盘锁文件与随机掉线;相比之下,在可按区域选择独占裸金属、可按租期弹性扩容、并把 SSH 与带宽写成合同字段的云节点上落地 OpenClaw,更容易把「梯子输出」变成可审计工单。需要可持续的生产控制平面与跨地区低延迟协作时,KVMNODE 的 Mac Mini 云端租赁通常是更稳妥的选择:独占 Apple Silicon、状态路径可控、并按项目节奏伸缩节点规格。
当你把同一套梯子输出挂接到变更系统时,审计侧看到的是可重复的观测链条,而不是「某位工程师昨晚重启过三次」的口述历史;这与规模化团队的合规诉求相容。