乐于分享
好东西不私藏

OpenClaw �� 你的小龙虾健康吗?用这个tor命令一键诊断.

OpenClaw �� 你的小龙虾健康吗?用这个tor命令一键诊断.

 

今天我升级 OpenClaw,从 5.20 升到 5.27。

顺手把openclaw doctor跑了一遍,修复了一下最近一直告警的问题。满心欢喜想试试新功能。结果一启动网关,终端给我甩了句话,

openclaw doctor是啥呢?这玩意是整个 OpenClaw 的体检+修复工具。而且它不是那种「你出了问题才想起来用」的玩意儿,它是你应该定期跑的。

今天就聊聊这个。

我一开始对 doctor 是有偏见的。CLI 工具的「修复命令」嘛,大多数就是跑个脚本把配置重写一遍。但 OpenClaw 的 doctor 不太一样。

怎么说呢,它像一个真正的家庭医生。不只是开药,还告诉你哪里有问题、为什么会有问题、怎么预防下次再出问题。而且它分了好几种就诊模式,不同的场景用不同的模式。

咱们一个一个来。


openclaw doctor

这是最基础的用法。不加任何参数,直接跑,

openclaw doctor

这个是我运行的截图,第一条就是配置警告,意思是“飞书插件已禁用(由配置项关闭),但该插件配置条目依然存在”,这个是前面版本不稳定,我把禁用飞书造成的,这次修改成可用状态。

然后重新运行openclaw doctor命令,飞书插件警告消失。

先检查你能不能更新,如果你是 git 装的,它会问要不要先升个级。

然后开始翻你的配置文件。依次看 Cron、Security、Browser、Skills status、Plugins和Memory search,最后提醒你运行“openclaw doctor –fix”命令自动应用相关修复

但它不会直接动手改。至少 doctor 模式不会。它只是「告诉你」。

我的安全检查就提示我key明文存储。

下一篇文章专门说说这个问题的修复。

它还会检查会话文件有没有问题。我遇到过一种情况,之前的某个版本 bug 导致会话记录出现了重复分支doctor 检测出来了,告诉我有重复的会话分支需要修复。

跑一遍,能查出来的毛病全列你面前。

但 doctor 模式有个烦人的地方,它是交互式的。每修一个问题它都要问你一句,要不要修这个?要不要重启网关?如果你没在终端前盯着,它就卡在那等你。

所以如果你想放脚本里自动跑,得换别的模式。


openclaw doctor –yes

--yes 的意思是「我同意所有默认操作」。

openclaw doctor --yes

它跟 doctor 的区别就是,遇到需要你确认的地方,它自动选「是」。包括重启网关、修复服务配置、修 sandbox 镜像这些需要人点头的操作,它都默认同意。

适合你已经跑过一次 doctor,知道要修什么了,然后 –yes 一把梭。

但不建议上来就用 –yes。你连问题都没看呢,万一它要改你不想改的东西咋办。


openclaw doctor –fix

这是最常用的修复模式。

openclaw doctor --fix

–fix 和 –yes 的区别是,–yes 是你手动同意每个操作,–fix 是直接动手修,不需要你点头。自动重写配置、迁移旧格式、清会话锁、重启网关,一条龙。

比如说,我的那个旧配置迁移,doctor 只是列出来给我看,但 --fix 直接帮我改好了。改完之后还写了份「做了什么」的日志。

还有会话锁清理。如果你之前 OpenClaw 非正常退出过(断电、强制关机什么的),会话目录里可能会留下 stale 锁文件。--fix 会自动清理掉。

还有一个我觉得挺实用的,Codex 路由修复。如果你以前用过 openai-codex/* 这种旧格式的模型引用,--fix 会自动帮你重写成 openai/*。省得你手动去翻配置文件一条条改。

不过 –fix 也不是什么都敢动。重写 supervisor 配置这种大操作,它还是要你点头的。


openclaw doctor –fix –force

openclaw doctor --fix --force

--force 是 --fix 的激进版。

–fix 只管 OpenClaw 自己的配置,不动系统级别的东西。–force 就不一样了,它连 supervisor 配置都给你重写。你之前手动改过的 systemd 服务文件、Windows 计划任务,统统给你覆盖掉。

所以我建议,这个命令想清楚再用。除非你确定当前的 supervisor 配置确实过时了,不然别手滑。

我的建议是,先跑 doctor 看看问题,再用 –fix 修,实在不行再考虑 –force。


openclaw doctor –lint

这个模式很有意思。

openclaw doctor --lint

--lint 是「只检查,不动手」。它不会改任何东西,不会提示你确认,不会重启网关。就是纯扫描,输出结构化的检查结果。

共运行 19 项检查,发现 6 个问题。

它还有一个 JSON 输出模式,

openclaw doctor --lint --json

输出的 JSON 包含,

  • • ok,布尔值,是否有达到阈值的问题
  • • checksRun,跑了多少项检查
  • • checksSkipped,跳过了多少项
  • • findings,具体的问题列表,每条有 checkIdseveritymessage,还可能有 pathlinecolumnocPathfixHint

这对自动化工具来说太友好了。直接接进监控系统完事。

还有一些子选项可以配合 --lint 使用,

# 只看 warning 级别以上的问题openclaw doctor --lint --severity-min warning# 只看某一项检查openclaw doctor --lint --only core/doctor/gateway-config# 跳过某一项检查openclaw doctor --lint --skip core/doctor/bootstrap-size

这些子选项只能跟 –lint 一起用,普通 doctor 和 –fix 模式下是不能用的。我一开始没注意,在 doctor 模式下加了 –json,结果给我报了个参数不合法。踩坑了。


openclaw doctor –non-interactive

openclaw doctor --non-interactive

这个模式是给无人值守场景用的。

跟 –yes 有点像,都是自动操作。但 –non-interactive 更怂一些,它只做安全的迁移,比如配置格式标准化、磁盘状态迁移这些肯定不会搞砸的事。

重启网关、修复服务配置、sandbox 镜像修复这种需要人点头的,它直接跳过。

旧版 cron 任务格式的迁移也会自动跑。

所以如果你在脚本里跑 doctor,又不想承担 –fix 那种改坏了我负责的风险,–non-interactive 比较稳。


openclaw doctor –deep

openclaw doctor --deep

这个模式是深度扫描。

它会翻你的系统服务,看有没有多余的网关装在那。比如你之前装过一次 OpenClaw,后来又装了一次,两个网关服务都注册到系统里了。它 会找出这些多余的,给你清理建议。

我的感觉是,–deep 适合两种人,一种是系统洁癖患者,想看看机器上有没有历史遗留垃圾;另一种是遇到怪问题了,普通 doctor 找不到原因,上 –deep 碰碰运气。


再聊几个实用子命令

除了上面的模式,doctor 还有一些零散但很实用的功能。

–generate-gateway-token

openclaw doctor --generate-gateway-token

如果你开了网关的 token 认证但没有 token,这个命令会帮你生成一个。但它不会覆盖已经配置好的 SecretRef 配置。所以如果你已经用 SecretRef 管理 token 了,它不会乱动。

–json

这个前面提到了,配合 --lint 使用,输出结构化 JSON。适合脚本解析。

–severity-min

控制检查的严重程度门槛,

openclaw doctor --lint --severity-min warning

可选值,infowarningerror。默认是 info(所有问题都显示)。

如果你只想看严重问题,设成 error。如果不想被 info 级别的提示刷屏,设成 warning 比较合适。


一个真实的升级场景

来串一个完整的场景,把上面的命令串起来。

假设你要从 OpenClaw 5.20 升级到 5.26。

第一步,升级完启动网关,报错说配置旧了。你跑,

openclaw doctor

它列出一堆需要迁移的旧配置项。你看了一遍,觉得没问题。

第二步,跑修复,

openclaw doctor --fix

它自动迁移了配置、清理了会话锁文件。你重启网关,成功启动了。

第三步,你想确认一下网关的健康状态和技能状态,

openclaw doctor --lint

输出显示一切正常。

第四步,你想深度检查一下系统里有没有残留的旧服务,

openclaw doctor --deep

发现之前的一个旧网关服务还在,提示你清理。你手动清理掉。

第五步,如果你想把这些检查写进自动化脚本,以后每次更新都自动跑一遍,

openclaw doctor --non-interactive

或者更严格一点,用 --lint 做门禁,

openclaw doctor --lint --severity-min warning --json

如果返回非零,就触发告警。


说到这,我觉得 doctor 这个设计思路挺有意思的。

很多 CLI 工具都有修复功能,但大多数是你出了事才想起来用。

OpenClaw 的 doctor 不太一样,它把体检、报告、修复、预防串成了一整条线。

就像个家庭医生。平时定期体检,发现问题就治疗,遇到疑难杂症就深度检查,出差不在家也能自动保养。

我第一次看到 doctor 的时候,说实话没太当回事。觉得就是个配置迁移工具嘛。但用了一段时间才发现,它真正值钱的地方不是能修配置,而是能让你知道你机器上到底发生了什么。

对于一个长期跑的服务来说,这种能看见底层在发生什么的能力,比修复本身更重要。

以上,如果觉得不错,随手点个赞、在看、转发三连吧~谢谢你看我的文章,我们,下次再见。

文章内容基于OpenClaw版本2026.5.27。

我的Openclaw教程


OpenClaw 🦞 详细的小白安装教程及避坑指南

OpenClaw 🦞 详细的小白免费模型设置教程及避坑指南
OpenClaw 🦞 模型管理命令完全指南:从配置到切换,一篇文章搞懂。
OpenClaw 🦞  NVIDIA 悄悄上新了四个国产大模型,内置插件还没跟上,我教你直接手搓配置白嫖。
OpenClaw 🦞  商汤日日新原生多模态智能体模型,Token Plan 限免中,5小时1500次调用。
OpenClaw 🦞 三层记忆系统:让小龙虾真正”记”得住。
OpenClaw 🦞  “梦境”功能到底是个啥?3分钟让你搞懂!
OpenClaw 🦞 Memory Wiki ,让AI的记忆从一堆笔记变成知识库。
OpenClaw 🦞  记忆系统全景:9个模块,3层架构,1篇讲完。
OpenClaw 🦞 零成本给龙虾设置好“眼睛”,Web功能全拆解,浏览器/抓取/搜索一眼通透。
OpenClaw 🦞  零成本为 OpenClaw 装上“耳朵”与“嘴巴”,一步到位的语音交互指南。
OpenClaw 🦞 保姆级教程:微信ClawBot一键安装,版本兼容问题全搞定!
OpenClaw 🦞  终于内置QQ Bot 了,5分把QQ接入小龙虾的保姆级配置教程。
OpenClaw 🦞  Skills 系统如何运转?一篇讲透!
OpenClaw 🦞 所有用OpenClaw的朋友,我都劝你先装上这个能保命的skill。
OpenClaw 🦞 血泪踩坑!5 个致命操作错,90% 的人把小龙虾养废了!
OpenClaw 🦞  Cron定时,终于让 AI “活起来”自动干活了。
OpenClaw 🦞  Heartbeat心跳功能指南:让 AI 主动巡检、自动提醒。
OpenClaw 🦞  Hooks 钩子是什么?3 分钟一次性讲透!
OpenClaw 🦞  53 个官方内置 Skills 完全指南
OpenClaw 🦞  100+个内置扩展插件plugin完全指南
OpenClaw 🦞 小龙虾的配置文件,可能从来都没看全过。
我把微信读书交给了AI,结果它比我还了解我的书架。
我的10几年笔记终于「活」了,OpenClaw+有道云笔记实操指南。