Canali di sviluppo
OpenClaw distribuisce tre canali di aggiornamento:- stable: npm dist-tag
latest. Consigliato per la maggior parte degli utenti. - beta: npm dist-tag
betaquando è attuale; se beta manca o è più vecchio dell’ultima release stable, il flusso di aggiornamento torna alatest. - dev: head mobile di
main(git). npm dist-tag:dev(quando pubblicato). Il branchmainè destinato a sperimentazione e sviluppo attivo. Può contenere funzionalità incomplete o modifiche incompatibili. Non usarlo per gateway di produzione.
latest senza
cambiare il numero di versione. I maintainer possono anche pubblicare una release stable
direttamente su latest quando necessario. I dist-tag sono la fonte di verità per le
installazioni npm.
Passare da un canale all’altro
--channel rende persistente la tua scelta nella configurazione (update.channel) e allinea il
metodo di installazione:
stable(installazioni package): aggiorna tramite npm dist-taglatest.beta(installazioni package): preferisce npm dist-tagbeta, ma torna alatestquandobetamanca o è più vecchio dell’attuale tag stable.stable(installazioni git): esegue il checkout dell’ultimo tag git stable.beta(installazioni git): preferisce l’ultimo tag git beta, ma torna all’ultimo tag git stable quando beta manca o è più vecchio.dev: garantisce un checkout git (predefinito~/openclaw, sovrascrivibile conOPENCLAW_GIT_DIR), passa amain, fa rebase su upstream, esegue la build e installa la CLI globale da quel checkout.
Targeting una tantum di versione o tag
Usa--tag per puntare a un dist-tag, una versione o uno package spec specifico per un singolo
aggiornamento senza modificare il canale persistente:
--tagsi applica solo alle installazioni package (npm). Le installazioni git lo ignorano.- Il tag non viene reso persistente. Il tuo prossimo
openclaw updateuserà normalmente il canale configurato. - Protezione dal downgrade: se la versione target è più vecchia della tua versione corrente,
OpenClaw chiede conferma (salta con
--yes). --channel betaè diverso da--tag beta: il flusso del canale può tornare a stable/latest quando beta manca o è più vecchio, mentre--tag betapunta al dist-tagbetagrezzo per quella singola esecuzione.
Dry run
Anteprima di ciò che farebbeopenclaw update senza apportare modifiche:
Plugins e canali
Quando cambi canale conopenclaw update, OpenClaw sincronizza anche le sorgenti dei plugin:
devpreferisce i plugin inclusi dal checkout git.stableebetaripristinano i pacchetti plugin installati tramite npm.- I plugin installati tramite npm vengono aggiornati dopo il completamento dell’aggiornamento del core.
Controllo dello stato corrente
Best practice per il tagging
- Applica tag alle release su cui vuoi che i checkout git arrivino (
vYYYY.M.Dper stable,vYYYY.M.D-beta.Nper beta). - Anche
vYYYY.M.D.beta.Nè riconosciuto per compatibilità, ma preferisci-beta.N. - I tag legacy
vYYYY.M.D-<patch>sono ancora riconosciuti come stable (non-beta). - Mantieni i tag immutabili: non spostare né riutilizzare mai un tag.
- I dist-tag npm restano la fonte di verità per le installazioni npm:
latest-> stablebeta-> build candidata o build stable pubblicata prima su betadev-> snapshot di main (facoltativo)
Disponibilità dell’app macOS
Le build beta e dev potrebbero non includere una release dell’app macOS. Va bene così:- Il tag git e il dist-tag npm possono comunque essere pubblicati.
- Indica “nessuna build macOS per questa beta” nelle note di rilascio o nel changelog.