OpenClaw 提供四个更新频道:
- stable:npm dist-tag
latest。推荐大多数用户使用。
- extended-stable:npm dist-tag
extended-stable。一个全新的、滞后的
受支持月份包频道。本版本中它仅适用于包安装,且仅支持前台运行。
- beta:npm dist-tag
beta。当 beta 缺失或早于当前稳定版本时,
回退到 latest。
- dev:
main 的移动头(git)。发布时使用 npm dist-tag dev。main
用于实验和活跃开发;它可能包含未完成的功能或破坏性变更。不要将它用于生产 Gateway 网关。
稳定构建通常会先发布到 beta,经过验证后再提升到 latest,且不递增版本号。维护者也可以直接发布到 latest。dist-tag 是 npm 安装的事实来源。
切换频道
openclaw update --channel stable
openclaw update --channel extended-stable
openclaw update --channel beta
openclaw update --channel dev
--channel 会把选择持久化到配置中的 update.channel,并驱动两种
安装路径:
| 频道 | npm/包安装 | git 安装 |
|---|
stable | dist-tag latest | 最新稳定 git 标签(排除 -alpha.N、-beta.N、-rc.N、-dev.N、-next.N、-preview.N、-canary.N、-nightly.N 以及其他命名预发布后缀) |
extended-stable | 解析公开 npm extended-stable 选择器,验证精确选中的包,并安装该精确版本。失败时关闭,不回退到 latest、beta 或 dev。 | 不支持:OpenClaw 保持检出不变,并要求你使用包安装 |
beta | dist-tag beta,当 beta 缺失或更旧时回退到 latest | 最新 beta git 标签;当 beta 缺失或更旧时回退到最新稳定 git 标签 |
dev | dist-tag dev(少见;大多数 dev 用户使用 git 安装) | 拉取、将检出变基到上游 main 分支、构建,并重新安装全局 CLI |
对于 dev git 安装,默认检出位置是 ~/openclaw(或在设置
OPENCLAW_HOME 时为 $OPENCLAW_HOME/openclaw);可用
OPENCLAW_GIT_DIR 覆盖。
要并行保留 stable 和 dev,请使用两个独立检出,并让每个 Gateway 网关指向自己的检出。
一次性指定版本或标签
使用 --tag 为单次更新指定特定 dist-tag、版本或包规范,不会更改持久化频道:
# Install a specific version
openclaw update --tag 2026.4.1-beta.1
# Install from the beta dist-tag (one-off, does not persist)
openclaw update --tag beta
# Switch to the moving GitHub main checkout (persistent)
openclaw update --channel dev
# Install a specific npm package spec
openclaw update --tag openclaw@2026.4.1-beta.1
# Install from GitHub main once without persisting the channel
openclaw update --tag main
说明:
--tag 仅适用于包(npm)安装;git 安装会忽略它。
- 该标签不会持久化;下一次
openclaw update 会使用配置的频道。
--tag main 会在那一次运行中映射到 npm 兼容规范 github:openclaw/openclaw#main。对于持久化的移动 main 安装,请使用
openclaw update --channel dev(包安装会切换到 git 检出)
或使用安装器的 git 方法重新安装:
curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method git --version main。
npm 安装路径会直接拒绝 GitHub/git 源目标,并改为提示你使用 git 方法。
- 降级保护:如果目标版本早于当前版本,OpenClaw 会提示确认(可用
--yes 跳过)。
- Extended-stable 始终使用其已验证的精确包目标。它不是
--tag extended-stable 的一次性别名,且 --tag 不能与有效的 extended-stable 频道组合使用。
--channel beta 不同于 --tag beta:频道流程可以在 beta 缺失或更旧时回退到 stable/latest,而 --tag beta 始终只在那一次运行中指向原始 beta dist-tag。
Dry run
预览 openclaw update 会执行什么操作,而不实际更改:
openclaw update --dry-run
openclaw update --channel beta --dry-run
openclaw update --tag 2026.4.1-beta.1 --dry-run
openclaw update --dry-run --json
dry run 会报告有效频道、目标版本、计划操作,以及是否需要降级确认。
插件和频道
使用 openclaw update 切换频道也会同步插件来源:
dev 会将已安装且存在内置对应项的插件切回其内置(git 检出)来源。
stable 和 beta 会恢复 npm 安装或 ClawHub 安装的插件包。
extended-stable 会将符合条件、意图为裸/default 或 latest 的官方 npm 插件解析到精确的已安装核心版本。它不会在运行时查询插件 @extended-stable 标签。
- npm 安装的插件会在核心更新完成后更新。
检查当前状态
显示活动频道(以及决定它的来源:配置、git 标签、git 分支、已安装版本或默认值)、安装类型(git 或包)、当前版本和更新可用性。
打标签最佳实践
- 为你希望 git 检出落到的版本打标签:稳定版使用
vYYYY.M.PATCH,
beta 使用 vYYYY.M.PATCH-beta.N。诸如 -alpha.N、-rc.N 和 -next.N
这样的命名预发布后缀不是稳定或 beta 目标。
- 旧版数字稳定标签(如
vYYYY.M.PATCH-1 和 v1.0.1-1)仍会被识别为稳定 git 标签,以保持兼容。
vYYYY.M.PATCH.beta.N(点分隔)也会被识别以保持兼容;优先使用 -beta.N。
- 保持标签不可变:绝不要移动或复用标签。
- npm dist-tag 仍是 npm 安装的事实来源:
latest -> stable
extended-stable -> 滞后的受支持月份包版本
beta -> 候选构建或 beta 优先的稳定构建
dev -> main 快照(可选)
macOS 应用可用性
Beta 和 dev 构建可能不包含 macOS 应用发布。这没问题:
- git 标签和 npm dist-tag 仍可独立发布。
- 在发布说明或更新日志中注明“此 beta 没有 macOS 构建”。