😤 Gateway 挂了,Bot 消失了
本着能不自己动手绝不自己修改代码到原则。让Bot自己增加一个模型或者绑定一个channels渠道,经常遇到的就是整个系统直接宕机,Bot不回复了,也没有任何警告。
打开日志,Gateway 挂了。原因?openclaw.json 损坏——jq 输出写到一半,文件变成了一个残废的 JSON,缺了右括号,缺了引号等等。
这就是 OpenClaw 配置损坏的经典死锁:Gateway 挂 → Bot 失联 → 连告警都收不到。
🔍 根本原因:一个极度脆弱的文件
OpenClaw 的核心是 openclaw.json。这个文件控制一切:模型配置、Bot Token、渠道绑定、插件路径。
问题在于,JSON 格式零容错。少一个逗号,多一个括号,文件截断到一半——全都是致命错误。Gateway 启动时读这个文件,读失败就直接挂。
更要命的是,人在改配置的时候最容易出问题:
• 用管道命令处理 JSON,中途断连 → 文件写一半 • 手滑编辑,括号没对齐 → 格式错误 • 用脚本批量替换,逻辑有 bug → 悄悄写入非法内容
所以解法不是"以后要小心",而是让系统自己发现问题、自己修复。
🐕 看门狗原理:监听→校验→自愈
解决方案叫 config-watchdog,核心思路很简单:
文件一变动,立刻校验。通过就备份,失败就回滚。
具体实现用了 systemd path unit——这是 Linux 自带的文件监听机制,不需要额外安装任何工具,响应时间是秒级。
工作流程:
openclaw.json 发生变动
↓
systemd path unit 触发
↓
执行校验脚本
↓
┌───────────────────────────┐
│ jq 解析 JSON 是否合法? │
└───────────────────────────┘
✅ 通过 ❌ 失败
↓ ↓
更新 .last-good 备份 回滚到 .last-good
静默通过 ↓
重启 Gateway
↓
Telegram 告警防抖锁:文件保存时可能触发多次 inotify 事件,用一个 10 秒的锁文件防止重复执行,避免把系统搞乱。
校验脚本核心逻辑:
# 校验 JSON 是否合法
if jq empty /etc/openclaw/openclaw.json 2>/dev/null; then
# 校验通过,更新备份
cp /etc/openclaw/openclaw.json /etc/openclaw/openclaw.json.last-good
echo "[$(date)] Config OK, backup updated"
else
# 校验失败,回滚
echo "[$(date)] Config INVALID, rolling back..."
cp /etc/openclaw/openclaw.json.last-good /etc/openclaw/openclaw.json
# 重启 Gateway
systemctl restart openclaw-gateway
# 发 Telegram 告警
curl -s -X POST "https://api.telegram.org/bot${BOT_TOKEN}/sendMessage" \
-d "chat_id=${CHAT_ID}" \
-d "text=⚠️ openclaw.json 校验失败,已自动回滚并重启 Gateway"
fi整个流程从文件变动到告警收到,不超过 10 秒。
✅ 安全改配置的正确姿势
有了看门狗之后,改配置的风险降低了很多。但"主动防御"比"被动救火"更重要。
安全改配置四步法:
# 第一步:备份当前配置
cp openclaw.json openclaw.json.bak.$(date +%Y%m%d%H%M%S)
# 第二步:用编辑器改(不要用管道!)
vim openclaw.json # 或者 nano,不要用 jq 管道直接覆盖
# 第三步:校验格式
openclaw config validate
# 或者用 jq 手动校验
jq empty openclaw.json && echo "JSON OK" || echo "JSON BROKEN"
# 第四步:校验通过了再替换到生产路径
cp openclaw.json /etc/openclaw/openclaw.json最关键的一条:永远不要用管道命令直接覆盖配置文件。jq ... | > openclaw.json 这种写法,进程一被打断,文件就废了。先写到临时文件,校验通过了再 mv 过去,至少能保证原子性。
💬 结语
OpenClaw 是个好框架,但它对配置文件的容错性确实不高。这不是批评,JSON 就是 JSON,格式错了就是错了,没有什么优雅的解法。
解法在于:不依赖人的小心,而是依赖系统的自动化。
每天分享一个独家优化,高阶玩法!让你的openclaw成为真正生产级agent。
openclaw玩家可以进群,一起交流!
王小牛 opc 日志 | 2026-03-13

夜雨聆风