openclaw doctor
Gateway 和 channel 的健康检查与自动修复工具。
用法
openclaw doctor
openclaw doctor --repair # 应用推荐的非服务类修复
openclaw doctor --deep # 扫描系统服务,报告额外 gateway 实例
openclaw doctor --repair --non-interactive
openclaw doctor --generate-gateway-token主要选项
| 选项 | 说明 |
|---|---|
--repair / --fix | 自动应用非服务类修复(服务安装/重写仍需交互确认) |
--force | 激进修复,包括覆盖自定义服务配置 |
--non-interactive | 无提示运行,仅执行安全迁移和非服务修复 |
--deep | 扫描系统服务,报告近期 supervisor 重启切换 |
--generate-gateway-token | 生成并配置 gateway token |
--no-workspace-suggestions | 禁用 workspace 内存/搜索建议 |
修复能力
- 配置迁移:将
openai-codex/*模型引用重写为规范的openai/*引用 - 插件修复:清理缺失插件的
plugins.allow/deny/entries,修复悬空 channel 配置 - 插件隔离:将无效插件配置的
plugins.entries.<id>禁用并移除无效configpayload - Talk 迁移:将旧版扁平 Talk 配置迁移到
talk.provider+talk.providers.<provider> - Cron 迁移:扫描并重写
~/.openclaw/cron/jobs.json中的旧版 cron job 格式 - 沙箱修复:迁移旧版 sandbox registry 文件到分片目录
注意事项
- Nix 模式(
OPENCLAW_NIX_MODE=1)下,--fix、--repair、--generate-gateway-token被禁用 - 交互式提示(keychain/OAuth 修复)仅在 stdin 为 TTY 且未设置
--non-interactive时运行 --fix写入备份到~/.openclaw/openclaw.json.bak,并列出每个被删除的未知配置键- 设置
OPENCLAW_SERVICE_REPAIR_POLICY=external可跳过服务安装/重启,仅做非服务修复
macOS launchctl 覆盖问题
若曾用 launchctl setenv 设置过 token,会导致持续 “unauthorized” 错误:
launchctl unsetenv OPENCLAW_GATEWAY_TOKEN
launchctl unsetenv OPENCLAW_GATEWAY_PASSWORD