乐于分享
好东西不私藏

OpenClaw丝滑升级:从一键更新到版本回滚,一篇搞定

OpenClaw丝滑升级:从一键更新到版本回滚,一篇搞定

OpenClaw 的迭代速度极快,几乎每周都有新功能或修复。将其更新过程视为基础设施的发布流程是必要的:更新 → 检查 → 重启 → 验证。

最直接、官方最推荐的更新方式是重新运行官网的安装脚本。它足够智能,可以原地升级现有安装。

bash
curl -fsSL https://openclaw.ai/install.sh | bash

如果不想在更新后再次执行引导流程,可以添加 --no-onboard 参数。

🦞
更新前置检查

在执行任何更新命令之前,必须完成三个关键的自检步骤,能规避 90% 的潜在问题。

步骤 1: 明确你的安装方式

你需要知道 OpenClaw 是如何安装的。这决定了你后续使用的更新命令。主要有两种:global install (通过 npm/pnpm 全局安装) 和 from source (通过 git clone 源码安装)。

步骤 2: 明确网关(Gateway)运行模式

你的 Gateway 是在前台终端(foreground terminal)运行,还是作为后台服务(supervised service,如 launchd/systemd)运行?这关系到更新后如何正确地重启服务。

步骤 3: 备份你的核心资产

这是更新前的最后一道保险。务必备份你的个人配置、凭证和工作区数据。它们通常位于:

配置: ~/.openclaw/openclaw.json凭证: ~/.openclaw/credentials/工作区: ~/.openclaw/workspace

🦞
更新执行:两条核心路径

根据你的安装方式,选择对应的更新路径。

路径 A:全局安装 (Global Install)

对于使用 npm 或 pnpm 全局安装的用户,直接使用包管理器更新到最新版本即可。

bash
# 使用 npmnpm i -g openclaw@latest# 或者使用 pnpmpnpm add -g openclaw@latest

路径 B:源码安装 (From Source)

对于从 git 仓库克隆的源码安装,最推荐的方式是使用 OpenClaw 内置的更新命令。

bash
openclaw update

这个命令封装了一套安全流程:检查工作区是否干净、切换到指定 channel、拉取和变基(rebase)代码、安装依赖、构建项目、运行诊断,并默认重启 Gateway。如需阻止自动重启,可使用 --no-restart

OpenClaw 提供了不同的更新 channel,你可以根据需求切换:

bash
openclaw update --channel stable # 稳定版openclaw update --channel beta   # 测试版openclaw update --channel dev    # 开发版

如果需要安装一个特定版本或分支(例如 GitHub 的主分支),可以使用 --tag 参数。

bash
# 安装 GitHub main 分支的最新代码openclaw update --tag main# 上述命令的手动等效操作npm i -g github:openclaw/openclaw#main

对于希望完全手动控制,以下是 openclaw update 大致等效的手动步骤:

bash
git pullpnpm installpnpm buildpnpm ui:build # 首次运行时会自动安装 UI 依赖openclaw doctoropenclaw health

值得一提的是,OpenClaw 的控制面板 UI 也提供了「Update & Restart」按钮,它会远程触发与 openclaw update 相同的源码更新流程,并在完成后将报告发送回 UI。

🦞
强制步骤:运行 openclaw doctor

无论使用何种方式更新,openclaw doctor 都是一个不可跳过的强制步骤。它是一个专注于修复、迁移和警告的安全命令。

bash
openclaw doctor

它的职责包括:

  • 迁移废弃的配置项或旧的配置文件。
  • 审计 DM 策略,对有风险的开放设置发出警告。
  • 检查 Gateway 健康状况,并在需要时提议重启。
  • 将旧的系统服务(launchd/systemd)迁移到当前版本。
  • 在 Linux 上,确保 systemd 用户 lingering 已启用,以防登出后 Gateway 停止。

更新后的最后一步是重启 Gateway 使之生效。CLI 提供了跨平台的标准命令。

bash
openclaw gateway statusopenclaw gateway stopopenclaw gateway restartopenclaw logs --follow

如果你的 Gateway 作为系统服务运行,也可以使用系统原生命令操作:

  • macOS (launchd)
    launchctl kickstart -k gui/$UID/ai.openclaw.gateway
  • Linux/WSL2 (systemd)
    systemctl --user restart openclaw-gateway.service
🦞
高级策略:自动更新与版本回滚

对于高阶用户,OpenClaw 提供了更精细的控制能力。

自动更新 (Auto-updater)

这是一个内置于 Gateway 的核心功能,默认关闭。你可以在 openclaw.json 中启用它。

json
"update": {  "channel": "stable",  "auto": {    "enabled": true,    "stableDelayHours": 6,    "stableJitterHours": 12,    "betaCheckIntervalHours": 1  }}

其行为逻辑是:stablechannel 会在发现新版后延迟一段时间并加入随机抖动,以实现错峰更新;betachannel 则会按固定间隔检查并立即应用。

「紧急制动」:回滚与版本固定 (Rollback / Pinning)

当新版本出现严重问题时,你需要一个「时间机器」。

对于全局安装,直接安装一个已知的稳定版本号即可:

bash
# <version> 替换为目标版本号,例如 0.8.0npm i -g openclaw@<version>

对于源码安装,可以利用 git checkout 到某个特定的提交,例如回退到指定日期之前的最新状态:

bash
git fetch origingit checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"

回滚后,不要忘记重新安装依赖、构建并重启服务。

如果遇到任何棘手问题,请再次运行 openclaw doctor 并仔细阅读其输出,它通常会直接给出解决方案。如果问题依旧,可以前往官方 Discord 社区寻求帮助。

如果你想了解更多 OpenClaw 的玩法,可以看看 OpenClaw 中文站,里面整理了不少教程和资料。
另外还有一个挺有意思的地方叫「虾聊社区」,这个社区比较特别,里面主要是 AI Agent 在发言。

 虾聊社区:https://xialiao.ai 

OpenClaw 中文站https://clawcn.net 

欢迎扫码进群一起围观!

点赞

分享

推荐