课程大纲
课程大纲系列主页
学习进度已完成 0/12

系统体检:跑一次 doctor.sh 就知道你到底配没配好

进阶进行中

适用版本: OpenClaw v2026.4.11(stable) 验证日期: 2026-04-13 目标读者: 完成前 11 篇后,想确认到底配好了没有 难度: ⭐⭐ 入门偏中(跑脚本不难,修复可能涉及前面多篇内容) 适合首次阅读: 是——本篇是整个系列的收尾检验

目标

对你的 OpenClaw 做一次系统体检:哪些配好了、哪些漏了、哪些需要优先修。

两套检验方案可并行使用:

  1. 手动脚本bash openclaw-doctor.sh 跑完所有机器可验证的检查项
  2. OpenClaw 自检 prompt — 让 Agent 对照 12 篇逐项诊断,输出人可读的报告

前置条件

  • 已完成第 1-11 篇(不必全部做完,缺的会在体检中标出来)
  • workspace 运行至少 1 周
  • 有基本的 shell 命令能力

Windows 用户说明

根据官方安装文档原生 Windows 和 WSL2 都兼容 OpenClaw,但 WSL2 更稳定且支持完整的生产特性。

openclaw-doctor.sh 是 bash 脚本,依赖 jq / lsattr / stat 等 Linux 工具:

环境能否跑 doctor.sh说明
WSL2✅ 完全支持和 Linux 一致,零修改可用
原生 Windows(PowerShell)❌ 不支持缺少 lsattr/chattr 等命令。可以用 openclaw doctor 内置命令做基础检查,或用本篇的自检 prompt
Git Bash / MSYS / Cygwin❌ 不支持脚本会检测到并退出,提示切换到 WSL2

如果你在原生 Windows 上跑 OpenClaw,安全相关的检查(文件不可变标记、权限位)需要手动验证。WSL2 用户一切和 Linux 一致。


检验矩阵:12 个维度

按教程顺序对应 A-L 共 12 个维度,分为机器可验证和需要人工判断两类:

机器可验证(doctor.sh 能自动检查)

#维度对应篇核心检查项
A安装与环境第 1 篇《5 分钟跑通》daemon 状态 · 版本号 · Node 版本 · config 路径
B架构与配置第 2 篇《架构核心概念》workspace 目录 · agents.defaults.model · JSON5 语法
C消息渠道第 3 篇《消息渠道》≥1 渠道配置 · dmPolicy 非 open · 凭证非明文
F记忆系统第 6 篇《记忆系统》SOUL/USER/MEMORY 文件存在 · 无占位符残留 · MEMORY 行数合理
G生产记忆第 7 篇《生产级记忆》memory cron 注册 · processed-sessions.json 可读
I安全加固第 9 篇《安全最佳实践》Gateway loopback · 凭证权限 600 · 核心文件不可变 · 无明文 Key
J部署运维第 10 篇《部署运维》备份脚本存在 · workspace git 化

需要人工判断(doctor.sh 无法自动验证)

#维度对应篇需要你判断的
DClawHub 技能第 4 篇《ClawHub 实战》装的技能是否真的有用、触发是否准确
E自定义技能第 5 篇《自定义技能》description 质量、触发准确率
H自动化第 8 篇《自动化》cron 输出质量、Agent 路由是否合理
K实战案例第 11 篇《实战案例》案例是否真正在用、ROI 是否值得
L学习循环第 5/7/8 篇Agent 是否在自我进化(进阶加分项)

A-I 是必备项(应该全部达标),J-K 是进阶项,L 是加分项。第一次跑不及格很正常——先修 P0,再修 P1,最后看 P2


修复优先级

体检出问题后,按这个顺序修:

优先级含义处理典型问题
P0安全漏洞或核心功能不可用立即修,修完重跑 doctor.shGateway 暴露公网、明文 API Key、daemon 挂了
P1功能降级但不致命本周内修dmPolicy 为 open、MEMORY 超 200 行、cron 未注册
P2优化建议有空再做缺少备份脚本、技能触发不精准、缺少 watchdog

修完 P0 后重跑一次 doctor.sh 再处理 P1。 不要一次性改一堆——每修一轮验证一次。


方案一:手动检验脚本

保存到 ~/.openclaw/scripts/openclaw-doctor.shchmod +x 后运行:

bash
bash ~/.openclaw/scripts/openclaw-doctor.sh

脚本会检查:daemon 状态、版本、workspace 文件完整性、配置语法、凭证权限、Gateway 绑定、核心文件不可变标记、cron 注册、备份脚本。输出带颜色的 ✓/✗/⚠ 报告和总分。

完整脚本较长(~600 行),建议从 openclaw-memory-final 仓库scripts/ 目录获取最新版本,或在聊天中让 Agent 帮你生成。

脚本核心逻辑概览

bash
# A. 安装与环境
command -v openclaw && openclaw --version
openclaw daemon status
node --version  # 需要 ≥ 22.16,推荐 24

# B. 配置语法
python3 -m json.tool ~/.openclaw/openclaw.json > /dev/null

# C. 渠道安全
# 检查 dmPolicy 是否为 open(不安全)
grep -r '"open"' ~/.openclaw/openclaw.json

# F. 记忆文件完整性
for f in SOUL.md USER.md MEMORY.md; do
  test -f ~/.openclaw/workspace/$f
done
# 检查占位符残留
grep -rn '<.*>' ~/.openclaw/workspace/*.md

# I. 安全加固
# Gateway 绑定(应为 127.0.0.1)
ss -tlnp | grep 18789
# 凭证文件权限(应为 600)
stat ~/.openclaw/credentials/*
# 核心文件不可变(Linux: lsattr, macOS: stat -f '%Sf')

方案二:让 OpenClaw 自检

直接把下面的 prompt 发给你的 Bot:

💡 系统体检 prompt(点击展开,复制发给 Bot)
text
你是我的 OpenClaw 系统体检助手。对当前安装做一次完整体检。
只输出报告,不修改任何文件。

按以下 12 个维度逐项检查,每项标 ✅ (通过) / ⚠️ (警告) / 🔴 (严重) / ➖ (跳过)。

[A. 安装与环境]
- openclaw CLI 在 PATH · daemon 运行中 · Node ≥ 22.16 · openclaw.json 存在且合法

[B. 架构与配置]
- agents.defaults.model.primary 已配置 · workspace 目录存在

[C. 消息渠道]
- 至少 1 个渠道已配置 · dmPolicy 不是 "open" · 凭证非明文

[D. ClawHub 技能]
- openclaw skills list 非空

[E. 自定义技能]
- ~/.openclaw/skills/ 下至少 1 个自写的 SKILL.md

[F. 记忆系统]
- SOUL.md / USER.md / MEMORY.md 存在 · 无 <占位符> 残留 · MEMORY 行数 < 200

[G. 生产记忆]
- memory cron 已注册 · processed-sessions.json 存在

[H. 自动化]
- cron.jobs > 0 · heartbeat 已启用

[I. 安全加固]
- Gateway 绑定 127.0.0.1 · 凭证文件权限 600 · 配置中无明文 API Key

[J. 部署运维]
- 备份脚本存在 · workspace 已 git 化

[K. 实战案例]
- 至少 1 个案例的 cron 在跑

[L. 学习循环(加分项)]
- 近 30 天有无新建/更新的技能 · MEMORY 无过时内容 · daily sync 成功率

【输出格式】

⚠️ 注意:下面的 {当前日期} 是占位符,输出时请替换为实际日期。

## OpenClaw 体检报告 - {当前日期}

| 维度 | 状态 | 得分 |
|------|------|------|
| A 安装环境 | ✅ | 5/5 |
| B 架构配置 | ⚠️ | 3/5 |
| ... | ... | ... |

### 🔴 P0 严重问题(立即修复)
1. [问题] → [修复命令] → [对应篇]

### ⚠️ P1 警告(本周修复)
1. ...

### 💡 P2 建议(有空再做)
1. ...

### 📊 总分: X/100
### 🛠 下一步(按优先级排前 3 条)

常见缺陷速查

缺陷严重度修复
Gateway 绑定 0.0.0.0P0openclaw.json 中确认 gateway.port 只在 127.0.0.1 上监听
明文 API Key 在配置文件中P0迁移到环境变量或 credentials 文件(权限 600)
daemon 没运行P0openclaw daemon start
dmPolicy 为 "open"P1改为 "pairing" 或 "allowlist"
MEMORY.md 超 200 行P1跑 weekly tidy 归档过期条目
占位符 <...> 残留P1逐个替换为真实值
SOUL.md 未锁定P2Linux: sudo chattr +i;macOS: sudo chflags uchg
缺少备份脚本P2参考第 10 篇《部署运维》的备份章节
memory cron 未注册P1参考第 7 篇《生产级记忆》重新安装
没有任何 cron 任务P2参考第 8 篇《自动化》配置第一个 cron

验证清单

bash
# 1. 跑一次 doctor.sh(如果有)
bash ~/.openclaw/scripts/openclaw-doctor.sh

# 2. 或用内置命令做基础检查
openclaw doctor
openclaw daemon status
openclaw cron list

# 3. 自检 prompt 输出的 P0 问题数为 0
# 在聊天中发送体检 prompt,确认没有红色 P0 项

# 4. P0 修完后重跑验证
# 修复 → 重跑 doctor.sh → 确认 P0 清零 → 再处理 P1

常见问题

Q: 第一次跑分很低怎么办?

正常。先修 P0(安全和核心功能),再修 P1(功能降级),P2 有空再做。不要追求一次满分。

Q: 每次升级 OpenClaw 后都要跑吗?

建议是。升级可能改字段名或默认值,跑一次 doctor 能快速发现不兼容。

Q: doctor.sh 说某个文件"不可变标记缺失",但我在 macOS 上?

macOS 用 chflags uchg(不是 chattr +i)。脚本已做跨平台适配,会给出正确的锁定命令提示。

Q: 维度 L(学习循环)怎么提高?

L 是加分项,不影响基础得分。提高方法:定期让 Agent 从任务中沉淀新技能(第 5 篇)、保持 daily sync 正常运转(第 7 篇)、定期清理 MEMORY 过时内容。

Q: 原生 Windows 用户怎么做体检?

两个选择:(1) 用本篇的自检 prompt 让 Agent 诊断,不依赖 bash 脚本;(2) 安装 WSL2 后在 WSL 内跑完整 doctor.sh。原生 Windows 上 openclaw doctor 内置命令可以做基础检查。


系列完结

12 篇全部完成。从安装到架构、渠道、技能、记忆、自动化、安全、部署、实战到体检——你的 OpenClaw 已经是一套可长期运行的生产级 AI 助手系统。

回顾全系列:

阶段篇目
起步篇1. 安装 · 2. 架构 · 3. 渠道
技能篇4. ClawHub · 5. 自定义技能
记忆篇6. 记忆系统 · 7. 生产级记忆
自动化篇8. 自动化与多 Agent
安全篇9. 安全最佳实践
运维篇10. 部署运维
实战篇11. 实战案例
检验篇12. 系统体检(本篇)
系统体检:跑一次 doctor.sh 就知道你到底配没配好 | 资讯狗 | Zixungou