医生 (Doctor)
医生 (Doctor)
Section titled “医生 (Doctor)”openclaw doctor 是 OpenClaw 的修复 + 迁移工具。它修复陈旧的配置/状态,检查健康状况,并提供可操作的修复步骤。
openclaw doctor无头 / 自动化
Section titled “无头 / 自动化”openclaw doctor --yes不经提示接受默认值 (包括适用的重启/服务/沙盒修复步骤)。
openclaw doctor --repair不经提示应用推荐的修复 (在安全的情况下进行修复 + 重启)。
openclaw doctor --repair --force也应用激进的修复 (覆盖自定义的 supervisor 配置)。
openclaw doctor --non-interactive不经提示运行,仅应用安全的迁移 (配置标准化 + 磁盘状态移动)。跳过需要人工确认的重启/服务/沙盒操作。 检测到旧状态迁移时会自动运行。
openclaw doctor --deep扫描系统服务以查找额外的 Gateway 安装 (launchd/systemd/schtasks)。
如果你想在写入前查看更改,请先打开配置文件:
cat ~/.openclaw/openclaw.json它做什么 (摘要)
Section titled “它做什么 (摘要)”- 可选的 git 安装预检更新 (仅限交互式)。
- UI 协议新鲜度检查 (当协议架构较新时重建控制 UI)。
- 健康检查 + 重启提示。
- 技能状态摘要 (符合条件/缺失/受阻)。
- 旧值的配置标准化。
- OpenCode Zen 提供商覆盖警告 (
models.providers.opencode)。 - 遗留磁盘状态迁移 (sessions/agent 目录/WhatsApp 认证)。
- 状态完整性和权限检查 (sessions, transcripts, state 目录)。
- 本地运行时检查配置文件权限 (chmod 600)。
- 模型认证健康:检查 OAuth 过期,可以刷新即将过期的令牌,并报告 auth-profile 冷却/禁用状态。
- 额外工作区目录检测 (
~/openclaw)。 - 启用沙盒时的沙盒镜像修复。
- 遗留服务迁移和额外 Gateway 检测。
- Gateway 运行时检查 (服务已安装但未运行;缓存的 launchd 标签)。
- 频道状态警告 (从运行中的 Gateway 探测)。
- Supervisor 配置审计 (launchd/systemd/schtasks) 以及可选修复。
- Gateway 运行时最佳实践检查 (Node vs Bun, 版本管理器路径)。
- Gateway 端口冲突诊断 (默认
18789)。 - 开放 DM 策略的安全警告。
- 未设置
gateway.auth.token时的 Gateway 认证警告 (本地模式;提供令牌生成)。 - Linux 上的 systemd linger 检查。
- 源码安装检查 (pnpm workspace 不匹配,缺失 UI 资产,缺失 tsx 二进制文件)。
- 写入更新后的配置 + 向导元数据。
详细行为和原理
Section titled “详细行为和原理”0) 可选更新 (git 安装)
Section titled “0) 可选更新 (git 安装)”如果是 git checkout 且 doctor 正在交互式运行,它会在运行 doctor 之前提供更新 (fetch/rebase/build) 选项。
1) 配置标准化
Section titled “1) 配置标准化”如果配置包含旧值形式 (例如 messages.ackReaction 没有特定于频道的覆盖),doctor 会将它们标准化为当前架构。
2) 遗留配置键迁移
Section titled “2) 遗留配置键迁移”当配置包含已弃用的键时,其他命令会拒绝运行并要求你运行 openclaw doctor。
Doctor 将:
- 解释发现了哪些遗留键。
- 显示它应用的迁移。
- 使用更新后的架构重写
~/.openclaw/openclaw.json。