更新
OpenClaw 发展迅速("1.0"之前)。像对待部署基础设施一样对待更新:更新 → 运行检查 → 重启(或使用 openclaw update,它会重启)→ 验证。
推荐:重新运行网站安装器(就地升级)
首选的更新路径是从网站重新运行安装器。它会检测现有安装,就地升级,并在需要时运行 openclaw doctor。
curl -fsSL https://openclaw.bot/install.sh | bash
注意:
- 如果你不想再次运行入门向导,添加 --no-onboard。
- 对于源代码安装,使用:
安装器将仅在仓库干净时执行 git pull --rebase。
curl -fsSL https://openclaw.bot/install.sh | bash -s -- --install-method git --no-onboard - 对于全局安装,脚本在底层使用 npm install -g openclaw@latest。
- 旧版注意事项:openclaw 仍然作为兼容性 shim 可用。
更新之前
- 了解你的安装方式:全局(npm/pnpm)vs 从源代码(git clone)。
- 了解你的网关如何运行:前台终端 vs 监督服务(launchd/systemd)。
- 快照你的定制:
- 配置:~/.openclaw/openclaw.json
- 凭据:~/.openclaw/credentials/
- 工作区:~/.openclaw/workspace
更新(全局安装)
全局安装(选择一个):
npm i -g openclaw@latest
pnpm add -g openclaw@latest
我们不推荐 Bun 用于网关运行时(WhatsApp/Telegram 错误)。
切换更新通道(git + npm 安装):
openclaw update --channel beta
openclaw update --channel dev
openclaw update --channel stable
对于一次性安装标签/版本,使用 --tag <dist-tag|version>。
有关通道语义和发布说明,请参见 开发通道。
注意:在 npm 安装上,网关在启动时记录更新提示(检查当前通道标签)。通过 update.checkOnStart: false 禁用。
然后:
openclaw doctor
openclaw gateway restart
openclaw health
注意:
- 如果你的网关作为服务运行,openclaw gateway restart 优于杀死 PID。
- 如果你固定到特定版本,请参见下面的"回滚/固定"。
更新(openclaw update)
对于源代码安装(git checkout),优先使用:
openclaw update
它运行一个相对安全的更新流程:
- 要求干净的工作树。
- 切换到选定的通道(标签或分支)。
- 针对配置的上游(dev 通道)获取 + 变基。
- 安装依赖、构建、构建控制 UI,并运行 openclaw doctor。
- 默认重启网关(使用 --no-restart 跳过)。
如果你通过 npm/pnpm 安装(没有 git 元数据),openclaw update 将尝试通过你的包管理器更新。如果它无法检测到安装,改用"更新(全局安装)"。
更新(控制 UI / RPC)
控制 UI 有 Update & Restart(RPC:update.run)。它:
- 运行与 openclaw update 相同的源更新流程(仅 git checkout)。
- 使用结构化报告(stdout/stderr tail)写入重启标记。
- 重启网关并使用报告 ping 最后活动的会话。
如果变基失败,网关中止并在不应用更新的情况下重启。
更新(从源代码)
从仓库检出:
首选:
openclaw update
手动(基本等效):
git pull
pnpm install
pnpm build
pnpm ui:build # 首次运行时自动安装 UI 依赖
openclaw doctor
openclaw health
注意:
- 当你运行打包的 openclaw 二进制文件(openclaw.mjs)或使用 Node 运行 dist/ 时,pnpm build 很重要。
- 如果你从没有全局安装的仓库检出运行,对 CLI 命令使用 pnpm openclaw ...。
- 如果你直接从 TypeScript 运行(pnpm openclaw ...),通常不需要重建,但配置迁移仍然适用 → 运行 doctor。
- 在全局和 git 安装之间切换很容易:安装另一种风格,然后运行 openclaw doctor,以便将网关服务入口点重写到当前安装。
始终运行:openclaw doctor
Doctor 是"安全更新"命令。它故意无聊:修复 + 迁移 + 警告。
注意:如果你在源代码安装(git checkout)上,openclaw doctor 将提供首先运行 openclaw update。
它通常做的事情:
- 迁移已弃用的配置键 / 旧版配置文件位置。
- 审核 DM 策略并在有风险的"开放"设置上发出警告。
- 检查网关健康状况,并可以提供重启。
- 检测并迁移旧的网关服务(launchd/systemd;旧版 schtasks)到当前 OpenClaw 服务。
- 在 Linux 上,确保 systemd 用户持久化(以便网关在登出后存活)。
详细信息:Doctor
启动 / 停止 / 重启网关
CLI(无论操作系统如何都有效):
openclaw gateway status
openclaw gateway stop
openclaw gateway restart
openclaw gateway --port 18789
openclaw logs --follow
如果你受到监督:
- macOS launchd(应用捆绑的 LaunchAgent):launchctl kickstart -k gui/$UID/bot.molt.gateway(使用 bot.molt.<profile>;旧版 com.openclaw.* 仍然有效)
- Linux systemd 用户服务:systemctl --user restart openclaw-gateway[-<profile>].service
- Windows(WSL2):systemctl --user restart openclaw-gateway[-<profile>].service
- launchctl/systemctl 仅在服务已安装时有效;否则运行 openclaw gateway install。
运行手册 + 确切的服务标签:网关运行手册
回滚 / 固定(当出现问题时)
固定(全局安装)
安装一个已知良好的版本(用最后工作的版本替换 <version>):
npm i -g openclaw@<version>
pnpm add -g openclaw@<version>
提示:要查看当前发布的版本,运行 npm view openclaw version。
然后重启 + 重新运行 doctor:
openclaw doctor
openclaw gateway restart
按日期固定(源代码)
从某个日期选择一个提交(示例:"2026-01-01 时 main 的状态"):
git fetch origin
git checkout "$(git rev-list -n 1 --before=\"2026-01-01\" origin/main)"
然后重新安装依赖 + 重启:
pnpm install
pnpm build
openclaw gateway restart
如果你以后想回到最新版本:
git checkout main
git pull
如果你卡住了
- 再次运行 openclaw doctor 并仔细阅读输出(它通常会告诉你修复方法)。
- 检查:故障排除
- 在 Discord 中询问:https://channels.discord.gg/clawd