一、故障概述
故障系统
| 项目 | 信息 |
|---|---|
| 系统名称 | OpenClaw Gateway |
| 主机公网IP | 47.239.99.93 |
| 主机私网IP | 172.17.53.10 |
| 服务名称 | openclaw-gateway.service |
| 服务版本 | OpenClaw v2026.6.10 |
| 故障时间 | 2026-07-27 |
| 反馈时间 | 2026-07-28 |
| 故障现象 | OpenClaw 无法正常访问 |
二、故障现象
研发反馈 OpenClaw 无法正常访问。
排查发现:openclaw-gateway.service 服务启动异常,日志显示配置校验失败:
kotlin
Gateway start blocked:
existing config is missing gateway.mode.
Treat this as suspicious or clobbered config.
服务因配置异常退出:
ini
openclaw-gateway.service:
Main process exited, code=exited, status=78/CONFIG
三、故障排查过程
1. 检查 OpenClaw 配置文件
发现配置文件:
arduino
/home/admin/.openclaw/openclaw.json
内容异常:
json
{
"dmPolicy": "open",
"allowFrom": [
"511373844",
"1186520494"
],
"groupPolicy": "open"
}
该配置仅包含 QQBot 访问策略字段,不包含 OpenClaw Gateway 正常运行所需配置。
2. 对比正常配置
发现 OpenClaw 自动保存的正常配置:
arduino
/home/admin/.openclaw/openclaw.json.last-good
大小:
python
3997 bytes
当前异常配置:
python
106 bytes
系统日志检测到配置异常:
sql
size-drop-vs-last-good:3997->106
missing-meta-vs-last-good
gateway-mode-missing-vs-last-good
说明配置文件发生异常覆盖。
3. 分析操作日志
查看 OpenClaw 日志发现:
2026-07-27 20:07 左右存在 QQBot 白名单配置操作:
diff
已添加完成
当前 QQ Bot 白名单配置:
- 511373844
- 1186520494
Gateway 已重启,配置已生效。
该配置中的 QQ 用户 ID 与异常配置文件中的:
511373844
1186520494
一致。
进一步发现 20:34 左右存在 OpenClaw Agent 修改 QQBot 相关配置操作:
涉及:
arduino
/home/admin/.config/systemd/user/openclaw-gateway.service
修改内容:
QQBOT_APP_ID
QQBOT_CLIENT_SECRET
四、故障原因分析
直接原因
OpenClaw 配置变更过程中,QQBot 相关配置异常写入主配置文件:
arduino
/home/admin/.openclaw/openclaw.json
导致原完整配置被覆盖。
原配置:
python
3997 bytes
异常配置:
python
106 bytes
覆盖后:
- gateway.mode 配置丢失
- OpenClaw 配置结构校验失败
- Gateway 服务无法启动
根本原因
OpenClaw WebUI / Agent 配置操作具备较高权限,可以执行配置文件修改操作。
QQBot 配置变更过程中:
- 缺少配置隔离机制
- 缺少修改前后校验
- 配置文件覆盖风险未被阻断
导致单个插件配置异常影响整个 Gateway 服务。
五、处理措施
已完成
- 使用 OpenClaw 自动生成的历史正常配置恢复:
arduino
/home/admin/.openclaw/openclaw.json.last-good
恢复:
arduino
/home/admin/.openclaw/openclaw.json
-
重启 OpenClaw Gateway 服务:
systemctl restart openclaw-gateway
-
验证服务状态:
lua
systemctl status openclaw-gateway
确认服务恢复正常。
六、后续优化建议
1. 配置文件保护
建议:
- 定期备份 OpenClaw 配置
- 配置修改前自动生成版本
- 禁止直接覆盖主配置文件
2. 限制 Agent 操作权限
建议调整 OpenClaw Agent 权限:
限制:
- 文件 edit
- systemd 修改
- 服务配置修改
涉及系统配置变更时采用人工确认机制。
3. 配置变更流程
建议:配置修改:
markdown
测试环境验证
↓
备份当前配置
↓
修改配置
↓
配置校验
↓
重启服务
↓
验证功能
七、故障总结
本次故障非服务器资源异常、网络异常或服务程序崩溃导致。
故障原因为: OpenClaw QQBot 配置调整过程中配置文件异常覆盖,导致 Gateway 主配置丢失,服务因配置校验失败无法启动。
通过恢复 openclaw.json.last-good 配置文件后,OpenClaw 服务恢复正常。