核心用法
OpenClaw Updater 是一个专为 OpenClaw 设计的更新管理工具,采用预检-更新-验证-回滚的完整生命周期管理模式:
预更新阶段
- 运行
scripts/pre-update.sh进行安全检查 - 自动查找并提交所有 workspace 目录的未提交 Git 更改
- 备份核心配置文件
openclaw.json - 支持自定义备份脚本集成
更新执行
- 通过
scripts/update.sh一键完成预检→更新→通知全流程 - 或直接运行
openclaw update进行手动更新 - 内置 Telegram Bot 通知机制,绕过 OpenClaw gateway 确保可靠性
后更新验证
- 验证版本号、网关状态、代理响应性
回滚机制
- 自动回滚脚本读取保存的历史版本号
- 支持 NPM 版本降级、配置恢复、网关重启
- 提供完整备份包(tar.gz)恢复方案
显著优点
1. 零停机设计:预检阶段完成所有状态保存,更新失败可秒级回滚
2. 数据安全优先:强制 Git 提交、配置双备份(/tmp 即时备份 + 归档备份)
3. 故障隔离:Telegram 通知绕过 gateway,确保任何故障状态都能触达管理员
4. 模块化脚本:pre-update/update/rollback 分离,支持 CI/CD 集成
潜在缺点与局限性
1. Node.js 生态依赖:基于 npm 全局安装,受 npm registry 可用性影响
2. 单点文件依赖:版本记录存储于 /tmp,系统重启后可能丢失(虽配置备份持久化)
3. Telegram 硬性依赖:通知功能强制要求外部 IM 服务,无替代通道
4. 权限模型未明确:脚本涉及 Git/npm/文件系统操作,需手动管理执行权限
适合人群
- 生产环境运维 OpenClaw 实例的管理员
- 需要自动化更新流程的团队(可集成到 Ansible/Terraform)
- 对服务可用性有严格要求的场景
常规风险
| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 更新中断 | npm install 中途失败 | 预检 Git 提交确保代码状态可回退 |
| 配置损坏 | openclaw.json 写入错误 | 自动备份 + 手动恢复路径 |
| 网关无法启动 | 新版本兼容性问题 | 版本锁定回滚 + 归档全量恢复 |
| 通知失效 | Telegram API 变更 | 非阻塞通知,不影响核心流程 |