Maintenance
Canais de lançamento
OpenClaw distribui três canais de atualização:
- stable: dist-tag npm
latest. Recomendado para a maioria dos usuários. - beta: dist-tag npm
betaquando está atual; se o beta estiver ausente ou for mais antigo que a versão estável mais recente, o fluxo de atualização recorre alatest. - dev: ponta móvel de
main(git). dist-tag npm:dev(quando publicado). A branchmainé para experimentação e desenvolvimento ativo. Ela pode conter recursos incompletos ou alterações incompatíveis. Não a use para gateways de produção.
Normalmente publicamos builds estáveis primeiro em beta, testamos lá e então executamos uma
etapa explícita de promoção que move o build validado para latest sem
alterar o número da versão. Os mantenedores também podem publicar uma versão estável
diretamente em latest quando necessário. Dist-tags são a fonte da verdade para instalações npm.
Alternando canais
openclaw update --channel stableopenclaw update --channel betaopenclaw update --channel dev--channel persiste sua escolha na configuração (update.channel) e alinha o
método de instalação:
stable(instalações por pacote): atualiza via dist-tag npmlatest.beta(instalações por pacote): prefere a dist-tag npmbeta, mas recorre alatestquandobetaestá ausente ou é mais antigo que a tag estável atual.stable(instalações git): faz checkout da tag git estável mais recente, excluindo tags de pré-lançamento semver como-alpha.N,-beta.N,-rc.N,-dev.N,-next.N,-preview.N,-canary.N,-nightly.Ne outros sufixos de pré-lançamento.beta(instalações git): prefere a tag git beta mais recente, mas recorre à tag git estável mais recente quando o beta está ausente ou é mais antigo.dev: garante um checkout git (padrão~/openclaw, ou$OPENCLAW_HOME/openclawquandoOPENCLAW_HOMEestá definido; substitua comOPENCLAW_GIT_DIR), alterna paramain, faz rebase no upstream, compila e instala a CLI global a partir desse checkout.
Direcionamento avulso de versão ou tag
Use --tag para direcionar uma dist-tag, versão ou especificação de pacote específica para uma única
atualização sem alterar seu canal persistido:
# Install a specific versionopenclaw 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 checkoutopenclaw update --channel dev # Install a specific npm package specopenclaw update --tag openclaw@2026.4.1-beta.1 # Install from GitHub main once without persisting the channelopenclaw update --tag mainObservações:
--tagse aplica somente a instalações por pacote (npm). Instalações git o ignoram.- A tag não é persistida. Seu próximo
openclaw updateusa seu canal configurado como de costume. - Para instalações por pacote, o OpenClaw pré-empacota especificações de origem GitHub/git em um
tarball temporário antes da instalação npm em staging. Use
--channel devou--install-method git --version mainquando quiser o checkout móvel demaincomo sua instalação persistente. - Proteção contra downgrade: se a versão de destino for mais antiga que sua versão atual,
o OpenClaw solicita confirmação (ignore com
--yes). --channel betaé diferente de--tag beta: o fluxo do canal pode recorrer a stable/latest quando o beta está ausente ou é mais antigo, enquanto--tag betadireciona a dist-tag brutabetapara aquela execução.
Simulação
Pré-visualize o que openclaw update faria sem aplicar alterações:
openclaw update --dry-runopenclaw update --channel beta --dry-runopenclaw update --tag 2026.4.1-beta.1 --dry-runopenclaw update --dry-run --jsonA simulação mostra o canal efetivo, a versão de destino, as ações planejadas e se uma confirmação de downgrade seria necessária.
Plugins e canais
Quando você alterna canais com openclaw update, o OpenClaw também sincroniza fontes de plugins:
devprefere plugins incluídos do checkout git.stableebetarestauram pacotes de plugins instalados via npm.- Plugins instalados via npm são atualizados depois que a atualização do core é concluída.
Verificando o status atual
openclaw update statusMostra o canal ativo, o tipo de instalação (git ou pacote), a versão atual e a fonte (configuração, tag git, branch git ou padrão).
Boas práticas de tags
- Marque releases nos quais você quer que checkouts git parem (
vYYYY.M.PATCHpara stable,vYYYY.M.PATCH-beta.Npara beta; sufixos nomeados de pré-lançamento semver como-alpha.N,-rc.Ne-next.Nnão são alvos estáveis). - Tags estáveis numéricas legadas como
vYYYY.M.PATCH-1ev1.0.1-1ainda são reconhecidas como tags git estáveis para compatibilidade. vYYYY.M.PATCH.beta.Ntambém é reconhecida por compatibilidade, mas prefira-beta.N.- Mantenha tags imutáveis: nunca mova nem reutilize uma tag.
- Dist-tags npm continuam sendo a fonte da verdade para instalações npm:
latest-> stablebeta-> build candidato ou build estável beta-firstdev-> snapshot de main (opcional)
Disponibilidade do app para macOS
Builds beta e dev podem não incluir uma versão do app para macOS. Isso não é problema:
- A tag git e a dist-tag npm ainda podem ser publicadas.
- Informe "sem build para macOS neste beta" nas notas de release ou no changelog.