Points de douleur : une UI qui charge n’est pas une passerelle saine
Douleur 1 : dérive semver entre canaux. Mélanger npm install -g global avec pnpm local ou d’anciens tarballs sous /opt lance souvent un binaire openclaw différent de celui démarré par le plist launchd ou l’unité systemd du service gateway. Les bundles statiques mis en cache amplifient l’illusion d’interface neuve pendant que RPC conserve un contrat plus ancien. Collez les deux sorties --version, le chemin which openclaw et les lignes ProgramArguments ou ExecStart dans le même ticket avant de toucher au JSON. Après confirmation de dérive, réalignez via le canal unique documenté dans le guide d’installation passerelle plutôt qu’en copiant des binaires depuis des fils de discussion.
Douleur 2 : état de pairing versus identité d’appareil. Un durcissement post-upgrade peut invalider la chaîne de confiance précédente et provoquer des boucles pairing required même si les identifiants semblent corrects sur le papier. Les navigateurs partagés sans rôle d’approbateur explicite créent des courses déterministes perçues comme aléatoires. Documentez qui peut approuver, quel profil navigateur est canonique pour l’exploitation, et la durée de vie des jetons. Associez les changements d’onboarding à la revue moindre privilège du guide workspaceAccess pour ne pas confondre refus d’autorisation et panne de transport.
Douleur 3 : reverse proxy à moitié réglé. Des allowedOrigins incorrects, des en-têtes WebSocket manquants, des intermédiaires TLS périmés ou des callbacks mêlant localhost et nom public produisent des 401, 403 ou 502 ressemblant à des bugs applicatifs. Parcourez la checklist périphérique du guide Nginx et Caddy production avant de réinstaller des artefacts gateway, car reconstruire un binaire ne corrige pas une faute d’en-tête en bordure.
Douleur 4 : rechargement tiède au lieu de redémarrage à froid. Certains JSON se rechargent à chaud, mais pairing, magasins de confiance et enregistrement de plugins exigent souvent un redémarrage superviseur complet. Sans chemin à froid, les adaptateurs restent semi-initialisés et clignotent dans les logs tandis que la bannière UI reste rouge. Liez la discipline de redémarrage à la même fiche de changement que gateway install --force dans l’article démon pour savoir quand le reload ne suffit pas.
Douleur 5 : confondre politique d’espace de travail et déconnexion. Des restrictions workspaceAccess ou d’outils shell stricts peuvent apparaître comme un message générique de déconnexion alors que le canal vit techniquement. Exécutez d’abord openclaw doctor sans correctif automatique, corrélez les avertissements aux deltas de politique et n’élargissez les droits que dans une fenêtre revue documentée à côté des matrices moindre privilège.
Douleur 6 : portable comme seule source de vérité. Sommeil, changements de dock, VPN grand public et extensions agressives déstabilisent les WebSockets et empoisonnent les rétros d’upgrade. Déplacer la passerelle vers un Mac distant toujours actif avec liaison monitorée produit des chaînes de preuve plus propres et s’accorde avec la livraison d’artefacts SFTP ou rsync. Cette posture aligne aussi les secrets d’automatisation sur la matrice OIDC et clés SSH pour que l’humain et la CI partagent moins de pièges.
Trois couches et champs mesurables pour des tickets reproductibles
Standardisez chaque incident avec semver CLI, semver gateway, un hash de résumé doctor masqué, l’horodatage du dernier message canal réussi, le notAfter TLS sur le bord public, la latence p95 d’un RPC synthétique depuis le même nom DNS que les clients, et une note indiquant si seul 127.0.0.1 a été testé. Pendant les fenêtres d’upgrade, ajoutez une ligne par heure pour pointer la dernière image saine avant régression.
La logique de couches de exploitation passerelle et débogage doctor par canal reste valide : processus local et port, puis RPC gateway, puis APIs externes et adaptateurs. Sauter des couches produit de fausses réparations comme réinstaller pendant que le proxy supprime encore Sec-WebSocket-Protocol. Quand les logs montrent des échecs de handshake TLS, reproduisez la sonde hors navigateur avec curl ou openssl s_client pour des captures admissibles.
Les à-coups de canal après upgrades 4.x corrèlent souvent avec des limites de débit spécifiques à l’adaptateur ou des scopes OAuth rafraîchis plutôt qu’avec des crashs du cœur. Capturez identifiants d’adaptateur, profondeur de file si visible, et si le backoff de reconnexion monte. Si doctor recommande des migrations de configuration, appliquez-les dans une fenêtre de maintenance avec snapshots pour garder un rollback lisible.
Les contrôles synthétiques font partie des objectifs de service, pas des ornements. Un curl localhost réussi pendant que les clients frappent un autre indicateur de nom serveur est un split-brain classique qu’aucun reset de pairing ne guérit. Documentez codes RPC attendus, budgets d’erreur et seuils d’alerte pour que l’astreinte compare des chiffres plutôt que des impressions.
Amplification opérationnelle pendant les ponts d’incident. Quand la direction exige une atténuation le jour même, résistez aux branches de configuration non revues sur des portables individuels. Créez plutôt un nom d’hôte de staging éphémère qui reflète les politiques TLS de production, rejouez l’échelle documentée de l’exploitation passerelle et doctor, et n’attachez des captures qu’après sanitisation des jetons. Si vous devez bissecter la semver, ne changez qu’un axe à la fois : chemin CLI, binaire gateway supervisé ou image reverse proxy, jamais les trois ensemble. Enregistrez chaque permutation avec horodatage pour que les post-mortems reconstruisent la causalité sans dépendre du défilement de chat. Lorsque l’automatisation pousse déjà des builds via des identités OIDC liées au déploiement, réutilisez le même runner pour les RPC synthétiques afin que IAM et politique réseau restent alignés avec la production plutôt qu’avec le Wi-Fi improvisé d’un ingénieur.
Discipline télémétrique pendant les boucles de pairing. Les tentatives répétées de pairing gonflent les journaux et masquent d’anciens avertissements TLS ; dimensionnez la rétention ou le logging distant avant une session de débogage à fort churn. Corrélez les événements de déconnexion UI avec des lignes structurées incluant des identifiants de connexion plutôt que de simples bannières textuelles. Lorsque les adaptateurs implémentent un backoff exponentiel, tracez les intervalles de reconnexion ; une croissance monotone indique souvent un rejet de credential plutôt qu’une perte de paquets. Traitez les variables d’environnement dépréciées signalées par doctor après upgrades 4.x comme des actions de note de version, pas comme du bruit à couper, car le silence revient en panne uniquement en production sous charge. Pour les équipes qui font tourner les secrets chaque semaine, alignez les tickets de rotation avec les fenêtres de redémarrage gateway décrites près du guide installation et linger afin que les démarrages à froid lisent des fichiers entièrement rafraîchis.
Communication client. Quand des parties prenantes externes voient des bannières rouges, publiez un court récit d’état qui nomme la couche en échec, les preuves collectées et l’ETA de la prochaine marche de l’échelle. Cette transparence réduit la pression pour des réinstallations risquées purement cosmétiques. Des liens vers des runbooks internes stables qui suivent l’ordre de cet article gardent le message cohérent entre équipes. Si vous promettez une fenêtre de pairing, vérifiez que le calendrier des approbateurs est réellement couvert ; des approbations manquées recréent les boucles que vous tentiez d’éliminer.
Durcissement opérationnel à long terme. Après la première connexion réussie suivant un upgrade, figez pendant au moins sept jours la combinaison hash du binaire gateway, sortie doctor et hash de configuration proxy afin que les régressions ne soient pas noyées par des expériences parallèles. Formez explicitement les nouveaux membres : openclaw doctor --fix n’est autorisé que dans des fenêtres approuvées avec snapshot et étiquette de rollback, comme recommandé dans les guides doctor 4.x. Pour les fermes mixtes Linux et macOS, maintenez des checklists distinctes qui ne divergent que là où launchd et systemd diffèrent réellement, afin d’éviter de copier des commandes linger sur des hôtes Apple par erreur. Archivez chaque vague de pairing réussie avec l’ID de ticket pour que les audits ultérieurs sachent qui a autorisé quel appareil.
Travail réseau et latence. Mesurez le RPC synthétique non seulement dans le même datacenter mais aussi depuis un poste télétravail typique si vos utilisateurs s’y trouvent ; sinon vous sous-estimez les horizons DNS scindés. Corrélez les sauts traceroute avec les logs passerelle pour repérer tôt des routes asymétriques après maintenance FAI. Lorsque le reverse proxy TLS active HTTP/2 ou HTTP/3, revalidez les upgrades WebSocket car certaines combinaisons exigent des drapeaux supplémentaires dans les blocs upstream. Documentez MTU et MSS sur les chemins VPN car la fragmentation peut ressembler à des erreurs de pairing sporadiques alors que la cause est purement réseau.
Base de connaissances. Tenez une base interne avec des liens vers cet article, le guide d’installation passerelle et les matrices doctor. Taggez chaque incident : couche (UI, RPC, canal), cause (version, pairing, proxy, droits, infrastructure), durée jusqu’à la première charge utile. Sur plusieurs trimestres vous verrez les cycles de release sensibles. Reliez aux jobs d’intégrité du guide CI OIDC.
Matrice de décision pour décalage de versions, expiration de pairing, fautes proxy, bornes de privilèges et migration Mac distant
| Groupe de symptômes | Action préférée | Bénéfice | Risque |
|---|---|---|---|
| semver CLI différente de semver gateway | Réaligner le canal d’installation ; envisager gateway install --force documenté après snapshots | Supprime une grande classe de fausses déconnexions | La réparation forcée peut masquer une dérive JSON si les baselines manquent |
| boucles pairing required | Relancer onboard ; un approbateur unique ; purger stockage navigateur obsolète | Restaure la chaîne d’identité d’appareil | Des approbations ad hoc affaiblissent la preuve d’audit |
| échec HTTPS sur le nom d’hôte alors que localhost fonctionne | Inspecter chaîne, HSTS, upgrade WebSocket et allowedOrigins | Déplace les défauts de bord hors de la file applicative | Des en-têtes incorrects peuvent élargir le rayon des 502 |
| doctor souligne des bornes workspace ou outil | Ajuster workspaceAccess et politiques associées puis redémarrage à froid | Réduit les tempêtes de faux reconnect | Un rollback trop permissif réintroduit la dette sécurité |
| passerelle hébergée sur portable instable | Migrer vers un pool Mac distant 24x7 avec uplink monitoré | Moins de variables pour pairing et upgrades | Budget et gouvernance des comptes nécessaires |
Examinez l’exposition des identifiants aux côtés du guide CI OIDC et clés de déploiement dès que des interfaces d’administration deviennent joignables via de nouveaux noms d’hôte ou tunnels. Le RPC d’administration ne doit pas partager des profils navigateur laptop grand public.
Étapes opérateur : squelette de commandes à coller
# 1) Preuve des deux semver
# openclaw --version
# openclaw gateway --version # selon la doc amont si le sous-commande diffère
# 2) Échelle officielle (noms variables selon distribution)
# openclaw status
# openclaw gateway status
# openclaw logs --help
# openclaw doctor
# 3) Après changement de politique ou magasin de confiance, redémarrage à froid supervisé
# launchctl bootstrap / systemctl --user restart ... selon runbook d’installation
# 4) Contrôles reverse proxy : curl -Iv et client websocket pour en-têtes upgrade
Stockez des transcriptions tronquées et masquées dans le système de tickets plutôt que des secrets dans le chat. Recoupez les paragraphes de validation RPC du guide installation et linger pour que la sémantique de session utilisateur Linux ne casse pas un flux de pairing sinon correct.
Ordre de lecture et actions
Séquence suggérée pour l’astreinte : terminer cet article, puis lire installation passerelle et démons, ensuite doctor 4.x et stabilisation des canaux, puis reverse proxy TLS et WebSocket, puis moindre privilège production, enfin la page d’accueil SFTPMAC pour les offres Mac distant.
Si les incidents se répètent chaque mois, promouvez la checklist en portail qualité interne qui bloque les bumps semver tant que les smokes de pairing n’ont pas réussi contre le nom d’hôte de production, pas seulement loopback. Couplez ce portail aux jobs de sommes de contrôle d’artefacts décrits près des matrices d’identifiants CI pour qu’automatisation et opérations manuelles partagent un même format de preuve.
Passage de relais entre couches. Lorsque le réseau affirme tout vert alors que les logs applicatifs montrent encore pairing required, exigez une session live partagée de cinq minutes où les deux équipes exécutent la même séquence curl et doctor. Sans cette ligne de temps commune, les équipes interprètent souvent les mêmes paquets différemment. Archivez l’enregistrement en interne avec contrôle d’accès pour que les audits ultérieurs sachent qui a lancé quelles commandes. Ajoutez une courte estimation de risque indiquant si un rollback est plus rapide qu’un autre binaire hotfix, en citant les notes de rollback du matériel doctor 4.x afin de ne pas réinitialiser les adaptateurs de canal à l’aveugle.
FAQ et pourquoi le Mac distant hébergé SFTPMAC compte
Préparation du prochain upgrade. Dès l’incident clos, planifiez déjà la fenêtre suivante avec du temps explicite pour doctor, contrôles proxy et dry-runs de pairing. Tenez des comptes de test qui ne mélangent pas les données de production mais suivent la même chaîne d’authentification afin de voir tôt les régressions. Documentez quelles variables d’environnement doivent vivre uniquement dans le drop-in systemd afin que personne n’utilise d’exports shell éphémères perdus au prochain reboot. Reliez cette préparation aux règles de snapshot du guide d’installation passerelle pour éviter les surprises launchd contre systemd. Notez enfin la durée réelle de chaque fenêtre pour la planification de capacité et les post-mortems.
Faut-il désinstaller immédiatement quand l’UI dit disconnected ?
Non. Terminez d’abord l’alignement des versions et la validation de bordure ; réservez la désinstallation aux échecs d’intégrité ou collisions de chemins comme dans le runbook d’installation.
Les invites de pairing entrent en conflit avec notre nouvelle ligne de sécurité
Documentez les approbateurs, liez les changements de pairing au même ticket que les revues workspaceAccess et répétez le rollback si les approbations ne closent pas dans la fenêtre.
Les fils communautaires recommandent un downgrade arbitraire
Traitez ces recettes comme ponts d’incident temporaires seulement ; enregistrez semver exacte, fenêtre temporelle et notes de compatibilité amont pour garder la dette visible.
Résumé : Traitez Disconnected from gateway et pairing required comme signaux composites. Capturez la semver deux fois, suivez l’échelle officielle, validez TLS et WebSocket, renouvelez le pairing délibérément et redémarrez à froid les services supervisés lorsque la confiance change.
Limites : Les portables autogérés introduisent sommeil et variance navigateur. Les environnements Mac distant hébergés SFTPMAC gardent passerelle, espace de travail et livraison de fichiers sur un même plan d’exploitation afin que les preuves d’upgrade et de pairing restent comparables semaine après semaine.
Faites de la paire empreintes de version, résumé doctor et un aller-retour canal réussi une barrière de release formelle avant de clôturer un upgrade.
