openclaw update
安全地更新 openclaw 并在稳定/测试/开发通道之间切换。
如果您通过 npm/pnpm 安装(全局安装,无 git 元数据),更新通过更新中的包管理器流程进行。
用法
bash
openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --no-restart
openclaw update --json
openclaw --update选项
--no-restart: 成功更新后跳过重启网关服务。--channel <stable|beta|dev>: 设置更新通道(git + npm;持久化在配置中)。--tag <dist-tag|version>: 仅为此更新覆盖 npm 分发标签或版本。--json: 打印机器可读的UpdateRunResultJSON。--timeout <seconds>: 每步超时时间(默认 1200 秒)。
注意:降级需要确认,因为旧版本可能会破坏配置。
update status
显示活动更新通道 + git 标签/分支/SHA(针对源代码检出),以及更新可用性。
bash
openclaw update status
openclaw update status --json
openclaw update status --timeout 10选项:
--json: 打印机器可读的状态 JSON。--timeout <seconds>: 检查超时时间(默认为 3 秒)。
update wizard
交互式流程,用于选择更新通道并确认更新后是否重启网关(默认重启)。如果您在没有 git 检出的情况下选择 dev,它会提供创建检出。
功能说明
当您显式切换通道时(--channel ...),openclaw 还会保持安装方法一致:
dev→ 确保有 git 检出(默认:~/openclaw,可通过CLAWDBOT_GIT_DIR覆盖),更新它,并从该检出安装全局 CLI。stable/beta→ 使用匹配的 dist-tag 从 npm 安装。
Git 检出流程
通道:
stable: 检出最新的非 beta 标签,然后构建 + doctor。beta: 检出最新的-beta标签,然后构建 + doctor。dev: 检出main,然后获取 + 变基。
高级流程:
- 需要干净的工作树(无未提交的更改)。
- 切换到选定的通道(标签或分支)。
- 获取上游(仅 dev)。
- 仅 dev:在临时工作树中进行预检 lint + TypeScript 构建;如果最新提交失败,则回退最多 10 个提交以找到最新的干净构建。
- 变基到选定的提交(仅 dev)。
- 安装依赖项(首选 pnpm;npm 作为备选)。
- 构建 + 构建控制 UI。
- 运行
openclaw doctor作为最终的"安全更新"检查。 - 将插件同步到活动通道(dev 使用捆绑扩展;stable/beta 使用 npm)并更新 npm 安装的插件。
--update 简写
openclaw --update 重写为 openclaw update(适用于 shell 和启动器脚本)。