safe-update

🔄 安全更新 OpenClaw 源码与配置

安全的 OpenClaw 源码更新工具,自动备份配置、拉取上游代码、构建安装并重启服务,适合需要自定义分支的开发者。

收藏
3k
安装
1.2k
版本
1.0.1
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心功能

safe-update 是一个面向 OpenClaw 项目的自动化源码更新脚本,支持从 Git 仓库拉取最新代码、执行构建与全局安装,并通过 systemd 重启服务。该工具主要面向开发者自托管用户,提供可配置的分支选择、自定义项目路径以及干运行模式。

主要用途

1. 源码同步:自动添加 upstream 远程仓库、fetch 最新变更、merge 到目标分支
2. 安全备份:在更新前自动备份 openclaw.jsonauth-profiles.json 到时间戳目录

3. 构建流水线:执行 npm run buildnpm i -g . 完成全局安装

4. 服务管理:使用 systemctl --user restart 重启网关服务并验证健康状态

5. 灵活配置:支持环境变量或命令行参数指定分支、路径和干运行模式

显著优点

  • 配置保护机制:强制备份关键配置文件,降低升级导致的数据丢失风险
  • 版本追踪:通过 Git tag 和 package.json 显示更新前后的版本对比
  • 健康检查:更新后自动验证网关状态,及时发现启动失败
  • 冲突处理指引:文档中提供 rebase 冲突解决的标准流程
  • 非侵入式设计:干运行模式允许用户预览操作而不实际执行

潜在局限性与风险

| 风险点 | 说明 |
|--------|------|
| **Git 操作风险** | 使用 `git rebase` 和潜在的 `git push --force`,可能丢失未提交的本地变更 |
| **权限要求** | `npm i -g .` 可能需要 sudo,在受限环境中会失败 |
| **服务中断** | `systemctl --user restart` 会导致网关短暂不可用 |
| **依赖环境** | 严格依赖 `git`、`npm/node`、`systemctl` 预装,无容器隔离 |
| **冲突解决** | rebase 冲突时需人工介入,自动化流程会中断 |
| **网络依赖** | 全程需要互联网连接,无离线更新能力 |

适合人群

  • OpenClaw 贡献者:需要频繁同步上游主分支的开发者
  • 自托管用户:从源码部署并需要自定义分支或补丁的生产环境维护者
  • DevOps 工程师:需要标准化更新流程的运维团队

不推荐普通终端用户使用——该工具涉及 Git 高级操作和服务重启,更适合具备 Linux 系统管理和 Node.js 开发经验的技术用户。

常规风险提示

  • 务必在更新前手动确认备份完成
  • 生产环境建议先在 staging 验证
  • 若使用自定义分支,注意上游冲突可能导致非预期的代码合并
  • npm i -g . 会覆盖全局安装的 OpenClaw 版本,建议配合版本管理工具使用

safe-update 内容

scripts文件夹
手动下载zip · 4.7 kB
update.shtext/x-shellscript
请选择文件