safe-update

🔄 智能备份,安全升级OpenClaw源码

安全更新OpenClaw源码的自动化脚本,支持自定义路径与分支,提供备份、状态分析与用户确认机制,降低更新风险。

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

使用说明

核心用法

safe-update 是一个面向 OpenClaw 项目的源码级自动化更新工具,主要服务于开发者或自托管用户。技能通过环境变量或命令行参数接受配置,执行从 Git 拉取、分支合并/变基、构建安装到服务重启的全链路更新流程。

关键功能点:

  • 智能状态分析:强制先检查本地修改、上游变更,根据场景推荐 merge/rebase 策略
  • 配置自动备份:更新前自动备份 openclaw.jsonauth-profiles.json 至时间戳目录
  • 交互式确认:分析结果与关键操作(如服务重启)均需用户显式确认后方可执行
  • 灵活更新模式:支持 merge(安全)与 rebase(历史整洁)两种策略,可强制指定或自动推荐

显著优点

1. 风险控制前置:强制备份 + 状态分析 + 用户确认的三层防护机制,显著降低误操作概率
2. 开发者友好:完整暴露 Git 工作流细节,提供冲突解决指引与故障排查手册

3. 灵活可配置:支持自定义项目路径、目标分支、dry-run 预览模式

4. 服务治理集成:自动处理 systemd 服务重装与重启,确保更新生效

潜在缺点与局限性

  • Git 操作风险:底层使用 git rebasegit push --force,存在历史改写与冲突隐患
  • 全局安装权限npm i -g . 可能需要 sudo,在受限环境中会失败
  • 强环境依赖:要求预装 git、npm/node、systemctl,Windows 或非 systemd Linux 发行版无法直接运行
  • 无原子回滚:虽备份配置,但源码更新与构建失败后的自动回滚机制未明确

适合人群

  • OpenClaw 自托管用户:需从源码跟踪主分支更新的技术用户
  • 贡献者/开发者:频繁同步上游、维护 feature 分支的协作开发者
  • 运维人员:需批量管理多节点 OpenClaw 实例的自动化场景(可结合 --dry-run 预处理)

常规风险

| 风险类型 | 说明 | 缓解措施 |
|---------|------|---------|
| 数据丢失 | rebase/force-push 可能覆盖未提交的本地修改 | 强制备份 + 状态分析提示 |
| 服务中断 | `systemctl restart` 会中断正在运行的 Gateway | 用户确认后才执行重启 |
| 构建失败 | 依赖环境变化导致 `npm run build` 失败 | 提供清理重建指引 |
| 权限不足 | 全局安装或服务操作需要 root/systemd 权限 | 依赖用户预配置环境 |
| 冲突未解 | rebase 产生合并冲突未妥善处理 | 文档提供手动解决流程 |

该技能适合具备基础 Linux/Git/Node.js 知识的用户,不建议无技术背景的生产环境直接套用。

safe-update 内容

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