故障卡片
Gateway 宕机:消息不投递,status 无响应
- 典型表现
- Gateway 进程崩溃或被杀,systemd 未自动拉起
- 判断标准
- 解决方向
- 检查进程 → 检查端口 → 查日志 → 强制重启。
systemctl --user status openclaw-gateway.service确认进程状态,ss -tlnp | grep 18789确认端口。最后systemctl --user restart openclaw-gateway.service
Provider 进入 cooldown 状态
- 典型表现
- 正常 rate limit 触发,Provider 被暂时标记为不可用
- 判断标准
- 解决方向
- 等几分钟。cooldown 是正常行为,不是故障。用
openclaw status --json检查unusableProfiles,确认 cooldown 时间。不要反复重启,重启不会清除 cooldown 计时器。
HTTP 200 返回但实际失败
- 典型表现
- 部分公益站点认证失效后仍返回 HTTP 200,body 里带错误信息
- 判断标准
- 解决方向
- HTTP 状态码不可信。用
./manage.sh errors做站点探活,检查响应 body 内容。黑名单及时更新:./manage.sh blacklist add "站点名"
supervised 错误
- 典型表现
- systemd 托管和手动启动同时存在,两套进程抢端口或资源
- 判断标准
- 解决方向
- 先杀掉手动启动的进程,再用 systemd 统一管理。
ps aux | grep cliproxy找残留进程,kill <pid>清理。选一种方式,不要混用。
配置改了不生效
- 典型表现
- 没重启 Gateway。Gateway 启动时缓存配置到内存,运行期间不热加载
- 判断标准
- 解决方向
systemctl --user restart openclaw-gateway.service。没有例外,没有捷径。改完配置重启是唯一让配置生效的方式。
Provider 注册了两道门
- 典型表现
- OpenClaw 有两道注册关卡:
providers.models(全局注册)+agents.defaults.models(白名单) - 判断标准
- 解决方向
- 两道都过了才能用模型。
providers.models在全局openclaw.json声明,agents.defaults.models在 agent 级别配置。两处都要写,缺一不可。
远端 IP 被限流(本地同 Key 可用)
- 典型表现
- 部分 provider 的 rate limit 是 IP 级别,不是 Key 级别。远端 VPS 的 IP 被限流,本地同 Key 不受影响
- 判断标准
- 解决方向
- 确认是 IP 限流后:切换到其他 provider、等 cooldown 结束、或用
foxcode等独立 rate limit 的直连 provider。
OAuth Token 过期
- 典型表现
- openai-codex OAuth token 从本地复制到远端,token 有过期时间
- 判断标准
- 解决方向
- 从本地
~/.openclaw/agents/main/agent/auth-profiles.json复制openai-codex:default到远端同路径。放进 crontab 定期同步,不要等过期了再处理。
排查流程
- 确认现象 — 消息不投递?模型不可用?认证失败?定位到具体症状
- 查 Gateway —
systemctl --user status openclaw-gateway.service,进程在不在 - 查日志 —
openclaw logs --limit 200 --plain --local-time,找 error/timeout/cooldown - 查 Provider —
openclaw status --json,哪些 provider 进了 cooldown - 查站点 —
./manage.sh errors,哪些站点认证失效或超时 - 查端口 —
ss -tlnp | grep 18789,有没有端口冲突 - 修复 + 验证 — 执行修复操作,
openclaw status --json确认恢复
# 一键诊断(按顺序跑)
# 1. Gateway 状态
systemctl --user status openclaw-gateway.service --no-pager
# 2. OpenClaw 状态
openclaw status --json
# 3. 日志
openclaw logs --limit 200 --plain --local-time
# 4. 站点探活
./manage.sh errors
# 5. 端口检查
ss -tlnp | grep 18789
# 6. 万能重启
systemctl --user restart openclaw-gateway.service
高频踩坑 Top 3
改完配置没重启 Gateway —— 占所有故障报告的 40%。
HTTP 200 不代表成功 —— 公益站的坑,浪费了 3 个小时 排查。
Provider 两道注册门 ——
providers.models和agents.defaults.models都要写,漏一个 静默失败不报错。