更新 OpenClaw
OpenClaw 发展迅速("1.0" 之前)。像发布基础设施一样对待更新:更新 → 运行检查 → 重启(或使用 openclaw update,它会重启) → 验证。
推荐:重新运行网站安装程序(原地升级)
首选的更新路径是重新运行来自网站的安装程序。它检测现有安装、原地升级,并在需要时运行 openclaw doctor。
curl -fsSL https://openclaw.bot/install.sh | bash注意:
- 如果你不想再次运行引导向导,添加
--no-onboard。 - 对于源码安装,使用:bash安装程序只有在校本干净时才会
curl -fsSL https://openclaw.bot/install.sh | bash -s -- --install-method git --no-onboardgit pull --rebase。 - 对于全局安装,脚本在底层使用
npm install -g openclaw@latest。 - 旧版注意:
openclaw仍然作为兼容填充物可用。
更新前
- 知道你如何安装的:全局(npm/pnpm)vs 从源码(git clone)。
- 知道你的网关如何运行:前台终端 vs 监管服务(launchd/systemd)。
- 快照你的定制:
- 配置:
~/.openclaw/openclaw.json - 凭证:
~/.openclaw/credentials/ - 工作区:
~/.openclaw/workspace
- 配置:
更新(全局安装)
全局安装(选择其一):
npm i -g openclaw@latestpnpm 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 检出),首选:
openclaw update它运行一个安全的更新流程:
- 需要干净的工作树。
- 切换到选定的频道(标签或分支)。
- 获取 + 变基到配置的上游(dev 频道)。
- 安装依赖、构建、构建控制 UI,并运行
openclaw doctor。 - 默认重启网关(使用
--no-restart跳过)。
如果你通过 npm/pnpm 安装(没有 git 元数据),openclaw update 将尝试通过你的包管理器更新。如果它无法检测到安装,改用"更新(全局安装)"。
更新(控制台 UI / RPC)
控制台 UI 有 更新并重启(RPC:update.run)。它:
- 运行与
openclaw update相同的源码更新流程(仅限 git 检出)。 - 写入带有结构化报告的重启标记(stdout/stderr 尾部)。
- 重启网关并使用报告 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 检出),openclaw doctor 会首先提供运行 openclaw update。
它做的典型事情:
- 迁移弃用的配置键 / 旧版配置文件位置。
- 审核私聊策略并对风险的"开放"设置发出警告。
- 检查网关健康状况并可以提供重启。
- 检测并迁移较旧的网关服务(launchd/systemd;旧版 schtasks)到当前 OpenClaw 服务。
- 在 Linux 上,确保 systemd user lingering(以便网关在注销后存活)。
详情: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>].servicelaunchctl/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