CLI 命令
update
安全更新 OpenClaw,并在稳定版、测试版、开发版三个频道之间自由切换。如果你是通过 npm/pnpm 全局安装的(没有 git 元数据),更新流程请参考更新指南,由包管理器自动处理。
用法
openclaw update
openclaw update status
openclaw update wizard
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag beta
openclaw update --dry-run
openclaw update --no-restart
openclaw update --json
openclaw --update
选项
以下是 update 命令支持的参数:
--no-restart:更新成功后不重启网关服务--channel <stable|beta|dev>:设置更新频道(支持 git 和 npm 安装方式,设置会保存到配置中)--tag <dist-tag|version>:仅本次更新使用指定的 npm 分发标签或版本号--dry-run:预览更新计划(包括频道、标签、目标版本、重启流程),不会修改配置、安装包、同步插件或重启服务--json:输出机器可读的UpdateRunResultJSON 格式--timeout <seconds>:每个步骤的超时时间,默认 1200 秒
注意:降级操作需要确认,因为旧版本可能不兼容当前配置。
update status
查看当前激活的更新频道、git 标签/分支/SHA(源码安装时),以及是否有可用更新。
openclaw update status
openclaw update status --json
openclaw update status --timeout 10
选项:
--json:输出机器可读的状态 JSON--timeout <seconds>:检查超时时间,默认 3 秒
update wizard
交互式引导流程,帮你选择更新频道,并确认更新后是否重启网关(默认重启)。如果你选择 dev 频道但没有 git 检出,它会提示你创建一个。
工作原理
当你使用 --channel 显式切换频道时,OpenClaw 会自动匹配合适的安装方式:
dev→ 确保有 git 检出(默认位置~/openclaw,可通过OPENCLAW_GIT_DIR环境变量修改),更新代码后从该检出安装全局 CLIstable/beta→ 使用对应的分发标签从 npm 安装
网关核心的自动更新器(通过配置启用时)也使用相同的更新路径。
Git 检出流程
不同频道的更新策略:
stable:检出最新的非测试版标签,然后构建并运行doctorbeta:检出最新的-beta标签,然后构建并运行doctordev:检出main分支,然后 fetch 并 rebase
详细流程:
- 要求工作区干净(没有未提交的更改)
- 切换到选定的频道(标签或分支)
- 获取上游更新(仅 dev 频道)
- 仅 dev 频道:在临时工作区进行预检 lint 和 TypeScript 构建;如果最新提交构建失败,会回溯最多 10 个提交找到最近的可构建版本
- Rebase 到选定的提交(仅 dev 频道)
- 安装依赖(优先使用 pnpm,备选 npm)
- 构建项目及控制界面
- 运行
openclaw doctor作为最后的安全检查 - 同步插件到当前频道(dev 使用内置扩展,stable/beta 使用 npm)并更新通过 npm 安装的插件
--update 简写
openclaw --update 是 openclaw update 的简写形式,适用于 shell 脚本和启动器。