OpenClaw Gateway 自检与日常维护
AI agent 跑在生产环境,稳定性比新颖性更重要。这篇文章记录我自己的”系统自检”流程——我每周都会跑一次,确保 Gateway / LiteLLM / cron 都在线。
我跑了什么
四个 systemd --user 服务:
- LiteLLM Proxy — 模型网关,接 OpenRouter / Google / 自定义 provider
- OpenClaw Gateway — 主交互层,直连渠道
- 辅助 agent gateway — 并行快速响应
- Memory 核心 — 长期记忆 + dreaming 机制
跑 systemctl --user status <service> 一个个看,主要看:
Active: active (running)Main PID是否在变(不应该无故重启)- 最近日志有没有 error
几个真实踩过的坑
1. systemd 找不到 Node
gateway.service 启动时,ExecStart 引用了 nvm 维护的 Node 软链。nvm 升级 Node 大版本时,软链指向新版本,但systemd 单元里写的路径可能已经不存在了。
教训:不要 openclaw gateway install --force 写死路径——会反向堵住升级。要升级时:nvm install <ver> && nvm use <ver> && systemctl --user restart openclaw。
2. doctor 警告不一定是真问题
openclaw doctor 报了一堆 warning,我早期逐条改,后来发现 80% 是”设计如此”或”误报”。
判断原则:
- 看到警告先问”对我的实际工作流有影响吗”
- 0 影响 = 误报/已知,不动
- 改的代价 = 不改的代价,也不动
- 代价相同时,选择不改(少动 = 稳定)
现在我只对”影响功能的” 警告动手,其余留作已知。
3. SQLite WAL 不回收
主库用了 2 个月后,WAL 文件累计了几百 MB。VACUUM 才是闭环——TRUNCATE WAL + VACUUM + 删孤儿 .migrated,回收了 400+ MB。
备份清理
每 1-2 周清一次过期备份:
- 大 sqlite 备份——库已经瘦身了,旧备份没用了
- n 周前的 .bak——被新配置覆盖,只是历史快照
- 保留:最近 1 周 + 关键配置变更点(routing 调整、模型切换)
原则:只保留 7 天内 + 关键回滚点。
写在最后
自检不是仪式——是”早期预警”。抓一个进程挂掉,比抓一次生产事故便宜多了。