更新
OpenClaw 发展迅速(尚未到”1.0”)。将更新视为发布基础设施:更新 → 运行检查 → 重启(或使用会重启的openclaw update)→ 验证。
推荐:重新运行网站安装程序(原地升级)
首选的更新路径是重新运行网站上的安装程序。它会检测现有安装、原地升级,并在需要时运行openclaw doctor。
- 如果你不想再次运行新手引导向导,添加
--no-onboard。 - 对于源码安装,使用:
安装程序仅在仓库干净时才会执行
git pull --rebase。 - 对于全局安装,脚本底层使用
npm install -g openclaw@latest。 - 旧版说明:
clawdbot仍可作为兼容性垫片使用。
更新之前
- 了解你的安装方式:全局(npm/pnpm)还是源码(git clone)。
- 了解你的 Gateway 网关运行方式:前台终端还是受管理服务(launchd/systemd)。
- 快照你的定制内容:
- 配置:
~/.openclaw/openclaw.json - 凭证:
~/.openclaw/credentials/ - 工作区:
~/.openclaw/workspace
- 配置:
更新(全局安装)
全局安装(选择一个):--tag <dist-tag|version> 进行一次性安装指定标签/版本。
渠道语义和发布说明参见开发渠道。
注意:在 npm 安装上,Gateway 网关在启动时会记录更新提示(检查当前渠道标签)。通过 update.checkOnStart: false 禁用。
然后:
- 如果你的 Gateway 网关作为服务运行,
openclaw gateway restart优于杀死 PID。 - 如果你固定在特定版本,参见下面的”回滚/固定”。
更新(openclaw update)
对于源码安装(git checkout),首选:
- 需要干净的工作树。
- 切换到选定的渠道(标签或分支)。
- 获取并 rebase 到配置的上游(dev 渠道)。
- 安装依赖、构建、构建控制 UI,并运行
openclaw doctor。 - 默认重启 Gateway 网关(使用
--no-restart跳过)。
openclaw update 将尝试通过你的包管理器更新。如果无法检测到安装,请改用”更新(全局安装)“。
更新(控制 UI / RPC)
控制 UI 有更新并重启(RPC:update.run)。它:
- 运行与
openclaw update相同的源码更新流程(仅限 git checkout)。 - 写入带有结构化报告(stdout/stderr 尾部)的重启哨兵。
- 重启 Gateway 网关并向最后活跃的会话 ping 报告。
更新(从源码)
从仓库 checkout: 首选:- 当你运行打包的
openclaw二进制文件(openclaw.mjs)或使用 Node 运行dist/时,pnpm build很重要。 - 如果你从仓库 checkout 运行而没有全局安装,CLI 命令使用
pnpm openclaw ...。 - 如果你直接从 TypeScript 运行(
pnpm openclaw ...),通常不需要重新构建,但配置迁移仍然适用 → 运行 doctor。 - 在全局和 git 安装之间切换很容易:安装另一种方式,然后运行
openclaw doctor以便将 Gateway 网关服务入口点重写为当前安装。
始终运行:openclaw doctor
Doctor 是”安全更新”命令。它故意很无聊:修复 + 迁移 + 警告。
注意:如果你是源码安装(git checkout),openclaw doctor 会提供先运行 openclaw update。
它通常做的事情:
- 迁移已弃用的配置键/旧版配置文件位置。
- 审计私信策略并对有风险的”开放”设置发出警告。
- 检查 Gateway 网关健康状况,可以提供重启。
- 检测并将旧版 Gateway 网关服务(launchd/systemd;旧版 schtasks)迁移到当前 OpenClaw 服务。
- 在 Linux 上,确保 systemd 用户 lingering(这样 Gateway 网关在登出后仍能存活)。
启动/停止/重启 Gateway 网关
CLI(无论操作系统都适用):- 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 view openclaw version。
然后重启 + 重新运行 doctor:
按日期固定(源码)
选择某个日期的提交(示例:“2026-01-01 时 main 的状态”):如果你卡住了
- 再次运行
openclaw doctor并仔细阅读输出(它通常会告诉你修复方法)。 - 查看:故障排除
- 在 Discord 上提问:https://discord.gg/clawd