配置与运维
Doctor
openclaw doctor 是 OpenClaw 的诊断修复与迁移工具。它能修复过时的配置和状态、检查系统健康状况,并提供可操作的修复建议。
快速开始
openclaw doctor
无界面模式 / 自动化脚本
openclaw doctor --yes
自动接受默认选项(包括适用的重启、服务、沙箱修复步骤),无需交互确认。
openclaw doctor --repair
自动应用推荐的修复措施(包括安全的修复和重启操作),无需交互确认。
openclaw doctor --repair --force
同时应用激进的修复措施(会覆盖自定义的 supervisor 配置)。
openclaw doctor --non-interactive
无交互运行,仅应用安全的迁移操作(配置规范化 + 磁盘状态移动)。跳过需要人工确认的重启、服务、沙箱操作。检测到遗留状态迁移时会自动执行。
openclaw doctor --deep
扫描系统服务以查找额外的网关安装(launchd/systemd/schtasks)。如果想在写入前预览更改,可以先查看配置文件:
cat ~/.openclaw/openclaw.json
功能一览
- Git 源码安装的可选预检更新(仅交互模式)。
- UI 协议版本检查(当协议 schema 更新时重建控制界面)。
- 健康检查 + 重启提示。
- 技能状态摘要(可用/缺失/被阻止)。
- 遗留配置值的规范化处理。
- OpenCode Zen provider 覆盖警告(
models.providers.opencode)。 - 遗留磁盘状态迁移(会话/智能体目录/WhatsApp 认证)。
- 状态完整性和权限检查(会话、转录、状态目录)。
- 本地运行时的配置文件权限检查(chmod 600)。
- 模型认证健康检查:检查 OAuth 过期情况,可刷新即将过期的令牌,报告认证配置的冷却/禁用状态。
- 额外工作空间目录检测(
~/openclaw)。 - 启用沙 箱时的沙箱镜像修复。
- 遗留服务迁移和额外网关检测。
- 网关运行时检查(服务已安装但未运行;缓存的 launchd 标签)。
- 频道状态警告(从运行中的网关探测)。
- Supervisor 配置审计(launchd/systemd/schtasks)及可选修复。
- 网关运行时最佳实践检查(Node vs Bun、版本管理器路径)。
- 网关端口冲突诊断(默认
18789)。 - 开放私信策略的安全警告。
- 本地令牌模式的网关认证检查(无令牌源时提供生成选项;不覆盖 SecretRef 配置的令牌)。
- Linux 上的 systemd linger 检查。
- 源码安装检查(pnpm workspace 不匹配、缺少 UI 资源、缺少 tsx 二进制)。
- 写入更新后的配置 + 向导元数据。
详细行为与原理
0) 可选更新(Git 安装)
如果是 Git 检出目录且 doctor 以交互模式运行,它会在执行诊断前询问是否更新(fetch/rebase/build)。
1) 配置规范化
如果配置文件包含遗留的值结构(例如没有频道覆盖的 messages.ackReaction