健康检查 (CLI)

快速验证 Channel 连接状态的指南,不用靠猜。

快速检查

  • openclaw status — 本地摘要:Gateway 可达性/模式、更新提示、已关联 Channel 的认证时长、Session 和最近活动。
  • openclaw status --all — 完整本地诊断(只读、彩色输出,可安全粘贴用于调试)。
  • openclaw status --deep — 同时探测运行中的 Gateway(支持时会进行每个 Channel 的探测)。
  • openclaw health --json — 向运行中的 Gateway 请求完整健康快照(仅 WS;不直接连接 Baileys socket)。
  • 在 WhatsApp/WebChat 中发送 /status 作为独立消息,可以获取状态回复而不触发 Agent。
  • 日志:用 tail 查看 /tmp/openclaw/openclaw-*.log 并过滤 web-heartbeatweb-reconnectweb-auto-replyweb-inbound

深度诊断

  • 磁盘上的凭证:ls -l ~/.openclaw/credentials/whatsapp/<accountId>/creds.json(mtime 应该是最近的)。
  • Session 存储:ls -l ~/.openclaw/agents/<agentId>/sessions/sessions.json(路径可在配置中覆盖)。计数和最近的接收者会通过 status 显示。
  • 重新关联流程:当日志中出现状态码 409–515 或 loggedOut 时,运行 openclaw channels logout && openclaw channels login --verbose。(注意:QR 登录流程在配对后遇到状态 515 会自动重启一次。)

出问题时怎么办

  • logged out 或状态码 409–515 → 用 openclaw channels logout 然后 openclaw channels login 重新关联。
  • Gateway 无法访问 → 启动它:openclaw gateway --port 18789(如果端口被占用,用 --force)。
  • 收不到消息 → 确认关联的手机在线,且发送者在允许列表中(channels.whatsapp.allowFrom);对于群聊,确保白名单和提及规则匹配(channels.whatsapp.groupsagents.list[].groupChat.mentionPatterns)。

专用的 “health” 命令

openclaw health --json 向运行中的 Gateway 请求健康快照(CLI 不直接连接 Channel socket)。它会报告已关联的凭证/认证时长(如果可用)、每个 Channel 的探测摘要、Session 存储摘要和探测耗时。如果 Gateway 无法访问或探测失败/超时,命令会以非零状态退出。用 --timeout <ms> 可以覆盖默认的 10 秒超时。