Mise à jour
openclaw update
Section intitulée « openclaw update »Mettre à jour OpenClaw en toute sécurité et basculer entre les canaux stable/beta/dev.
Si vous avez installé via npm/pnpm/bun (installation globale, sans métadonnées git), les mises à jour se font via le flux du gestionnaire de paquets dans Mise à jour.
Utilisation
Section intitulée « Utilisation »openclaw updateopenclaw update statusopenclaw update wizardopenclaw update --channel betaopenclaw update --channel devopenclaw update --tag betaopenclaw update --tag mainopenclaw update --dry-runopenclaw update --no-restartopenclaw update --yesopenclaw update --jsonopenclaw --update--no-restart: ignorer le redémarrage du service Gateway après une mise à jour réussie. Les mises à jour du gestionnaire de paquets qui redémarrent le Gateway vérifient que le service redémarré signale la version mise à jour attendue avant que la commande ne réussisse.--channel <stable|beta|dev>: définir le canal de mise à jour (git + npm ; persisté dans la configuration).--tag <dist-tag|version|spec>: remplace la cible du paquet pour cette mise à jour uniquement. Pour les installations de paquets,maincorrespond àgithub:openclaw/openclaw#main; les spécifications de source GitHub/git sont empaquetées dans une archive tar temporaire avant l’installation globale npm intermédiaire.--dry-run: prévisualiser les actions de mise à jour prévues (canal/tag/cible/flux de redémarrage) sans écrire la configuration, installer, synchroniser les plugins ou redémarrer.--json: imprime du JSONUpdateRunResultlisible par la machine, y comprispostUpdate.plugins.warningslorsque des plugins gérés corrompus ou non chargeables nécessitent une réparation après la réussite de la mise à jour du cœur, les détails de repli du plugin du channel bêta lorsqu’un plugin n’a pas de version bêta, etpostUpdate.plugins.integrityDriftslorsqu’une dérive d’artefact de plugin npm est détectée lors de la synchronisation des plugins post-mise à jour.--timeout <seconds>: délai d’attente par étape (par défaut 1800s).--yes: ignorer les invites de confirmation (par exemple confirmation de rétrogradation).
openclaw update n’a pas d’option --verbose. Utilisez --dry-run pour prévisualiser
les actions planifiées de channel/tag/install/restart, --json pour des résultats
lisibles par machine, et openclaw update status --json lorsque vous avez uniquement besoin des détails de canal et
de disponibilité. Si vous déboguez les journaux Gateway lors d’une mise à jour,
la verbosité de la console et le niveau de journalisation fichier sont distincts : Gateway --verbose affecte
la sortie terminal/WebSocket, tandis que les journaux fichier nécessitent logging.level: "debug" ou
"trace" dans la configuration. Voir Journalisation Gateway.
update status
Section intitulée « update status »Affiche le canal de mise à jour actif + la balise/branche/SHA git (pour les checkouts source), ainsi que la disponibilité de la mise à jour.
openclaw update statusopenclaw update status --jsonopenclaw update status --timeout 10Options :
--json: imprime l’état JSON lisible par machine.--timeout <seconds>: délai d’attente pour les vérifications (par défaut 3s).
update wizard
Section intitulée « update wizard »Flux interactif pour choisir un canal de mise à jour et confirmer s’il faut redémarrer le Gateway
après la mise à jour (par défaut, redémarrage). Si vous sélectionnez dev sans un checkout git, il
propose d’en créer un.
Options :
--timeout <seconds>: délai d’attente pour chaque étape de mise à jour (par défaut1800)
Ce qu’il fait
Section intitulée « Ce qu’il fait »Lorsque vous changez de canal explicitement (--channel ...), OpenClaw maintient également la
méthode d’installation alignée :
dev→ assure un git checkout (par défaut :~/openclaw, ou$OPENCLAW_HOME/openclawlorsqueOPENCLAW_HOMEest défini ; remplacer avecOPENCLAW_GIT_DIR), le met à jour, et installe le CLI global depuis ce checkout.stable→ installe depuis npm en utilisantlatest.beta→ préfère le dist-tag npmbeta, mais revient àlatestlorsque la version bêta est manquante ou plus ancienne que la version stable actuelle.
Le mécanisme de mise à jour automatique du cœur du Gateway (lorsqu’il est activé via la configuration) lance le chemin de mise à jour du CLI
en dehors du gestionnaire de requêtes du Gateway en direct. Les mises à jour du gestionnaire de paquets update.run du plan de contrôle
utilisent également un transfert de service géré au lieu de remplacer l’arborescence des paquets
à l’intérieur du processus du Gateway en direct. Le Gateway démarre un assistant détaché, se ferme,
et l’assistant exécute le chemin normal du CLI openclaw update --yes --json à partir de
l’extérieur de l’arborescence des processus du Gateway. Si ce transfert n’est pas disponible, update.run
renvoie une réponse structurée avec la commande shell sûre à exécuter manuellement.
Pour les installations par gestionnaire de paquets, openclaw update résout la version du paquet
cible avant d’invoquer le gestionnaire de paquets. Les installations globales npm utilisent une installation
calendée : OpenClaw installe le nouveau paquet dans un préfixe npm temporaire, vérifie
l’inventaire dist empaqueté à cet endroit, puis échange cette arborescence de paquets propre dans le
préfixe global réel. Si la vérification échoue, les travaux de docteur post-mise à jour, de synchronisation des plugins
et de redémarrage ne s’exécutent pas à partir de l’arborescence suspecte. Même lorsque la version installée
correspond déjà à la cible, la commande rafraîchit l’installation globale du paquet,
puis exécute la synchronisation des plugins, un rafraîchissement de la complétion des commandes principales, et les travaux de redémarrage. Cela
maintient les sidecars empaquetés et les enregistrements de plugins détenus par le channel alignés avec le
build OpenClaw installé tout en laissant les reconstructions complètes de la complétion des commandes de plugins aux
exécutions explicites de openclaw completion --write-state.
Lorsqu’un service Gateway géré localement est installé et que le redémarrage est activé, les mises à jour via le gestionnaire de packages arrêtent le service en cours avant de remplacer l’arborescence des packages, puis actualisent les métadonnées du service à partir de l’installation mise à jour, redémarrent le service et vérifient que le Gateway redémarré signale la version attendue avant de signaler GatewayGatewayGateway: restarted and verified.macOSOpenClaw. Sur macOS, la vérification post-mise à jour s’assure également que le LaunchAgent est chargé/en cours d’exécution pour le profil actif et que le port de bouclage configuré est sain. Si le plist est installé mais que launchd ne le supervise pas, OpenClaw ré-amorce automatiquement le LaunchAgent, puis relance les vérifications de santé/version/disponibilité du canal. Un amorçage frais charge directement la tâche RunAtLoad, la récupération de mise à jour ne kickstart -kGatewayGateway donc pas immédiatement le Gateway nouvellement spawned. Si le Gateway ne devient toujours pas sain, la commande se termine avec un code non nul et affiche le chemin du journal de redémarrage ainsi que des instructions explicites de redémarrage, de réinstallation et de retour de version du package. Si le redémarrage ne peut pas être exécuté, la commande affiche Gateway: restart skipped (...) ou Gateway: restart failed: ... avec un indice de openclaw gateway restart manuel. Avec --no-restartGateway, le remplacement du package s’effectue toujours, mais le service géré n’est ni arrêté ni redémarré, le Gateway en cours d’exécution peut donc conserver l’ancien code jusqu’à ce que vous le redémarriez manuellement.
Forme de la réponse du plan de contrôle
Section intitulée « Forme de la réponse du plan de contrôle »Lorsque update.runGatewayCLIGateway est appelé via le plan de contrôle du Gateway sur une installation par gestionnaire de packages, le gestionnaire signale l’initiation du transfert séparément de la mise à jour CLI qui se poursuit après la fermeture du Gateway :
ok: true,result.status: "skipped",result.reason: "managed-service-handoff-started", ethandoff.status: "started"Gateway signifient que le Gateway a créé le transfert de service géré et planifié son propre redémarrage pour que l’assistant détaché puisse exécuteropenclaw update --yes --jsonen dehors du processus de service en direct.ok: false,result.reason: "managed-service-handoff-unavailable", ethandoff.status: "unavailable"signifient que OpenClaw n’a pas pu trouver de limite de service de supervision pour un transfert sécurisé. La réponse incluthandoff.command, la commande shell à exécuter en dehors du Gateway.ok: false,result.reason: "managed-service-handoff-failed"signifie que le Gateway a tenté de créer le transfert mais n’a pas pu générer l’assistant détaché.
La charge utile sentinel est toujours écrite avant que le Gateway ne quitte, et le transfert
CLI met à jour la même sentinelle de redémarrage une fois les contrôles de santé
du redémarrage du service géré terminés. Pendant le transfert, la sentinelle peut porter
stats.reason: "restart-health-pending" sans continuation de succès ; le
Gateway redémarré continue de l’interroger et ne déclenche la continuation qu’après que le CLI
a vérifié la santé du service et réécrit la sentinelle avec le résultat final ok.
openclaw status et openclaw status --all affichent une ligne Update restart
tant que cette sentinelle est en attente ou a échoué, et update.status renvoie la
dernière sentinelle mise en cache.
Flux de récupération Git
Section intitulée « Flux de récupération Git »Sélection du canal
Section intitulée « Sélection du canal »stable: extraire le dernier tag non-bêta, puis construire et vérifier.beta: préférer le dernier tag-beta, mais revenir au dernier tag stable lorsque la bêta est manquante ou obsolète.dev: extrairemain, puis récupérer et rebaser.
Étapes de mise à jour
Section intitulée « Étapes de mise à jour »Vérifier l'arbre de travail propre
Nécessite aucune modification non commitée.
Changer de canal
Bascule vers le canal sélectionné (balise ou branche).
Récupérer en amont
Dev uniquement.
Préflight build (dev only)
Exécute la build TypeScript dans un arbre de travail temporaire. Si la pointe échoue, remonte jusqu’à 10 commits pour trouver le dernier commit constructible. Définissez
OPENCLAW_UPDATE_PREFLIGHT_LINT=1pour également exécuter le lint pendant cette pré-vérification ; le lint s’exécute en mode série contraint car les hôtes de mise à jour utilisateur sont souvent plus petits que les runners CI.Rebase
Effectue un rebase sur le commit sélectionné (dev uniquement).
Installer les dépendances
Utilise le gestionnaire de paquets du dépôt. Pour les extraits pnpm, le programme de mise à jour amorce
pnpmà la demande (viacorepackd’abord, puis unnpm install pnpm@11temporaire) au lieu d’exécuternpm run builddans un espace de travail pnpm.Construire l'interface de contrôle
Construit la passerelle et l’interface de contrôle.
Exécuter le docteur
openclaw doctors’exécute en tant que vérification finale de la mise à jour sécurisée.Synchroniser les plugins
Synchronise les plugins vers le channel actif. Dev utilise les plugins groupés ; stable et bêta utilisent npm. Met à jour les installations de plugins suivies.
Sur le canal de mise à jour bêta, les installations de plugins suivis via npm et ClawHub qui suivent
la ligne par défaut/dernière essaient d’abord une version de plugin @beta. Si le plugin n’a pas
de version bêta, OpenClaw revient à la spécification par défaut/dernière enregistrée et signale
cela comme un avertissement. Pour les plugins npm, OpenClaw revient également lorsque le paquet
bêta existe mais échoue à la validation de l’installation. Ces avertissements de repli de plugins
ne font pas échouer la mise à jour principale. Les versions exactes et les balises explicites ne sont
pas réécrites.
Raccourci --update
Section intitulée « Raccourci --update »openclaw --update se réécrit en openclaw update (utile pour les shells et les scripts de lancement).
Connexes
Section intitulée « Connexes »openclaw doctor(propose de lancer d’abord la mise à jour sur les extraits git)- Canaux de développement
- Mise à jour
- Référence CLI