Automatisation IA

Fini les crashs Terminal : openclaw doctor pour passerelle inactive, auth modèle et runbook de secours en six étapes sur Mac (2026)

Commande OpenClaw doctor pour dépanner la passerelle et les crashs Terminal sur Mac mini

Vous double-cliquez un raccourci — ou tapez openclaw dans Terminal — et la fenêtre disparaît. Pas de stack trace, pas de boîte de dialogue claire, juste le silence. Pendant ce temps Slack affiche toujours « gateway not active », les sélecteurs de modèle tournent indéfiniment, et les pop-ups de permission que vous avez fermées hier reviennent en rouge. Ce n’est pas « vous n’y connaissez rien en informatique » ; c’est une dérive d’environnement : mauvais Node, mauvais utilisateur, mauvais fichier de config, ou un processus gateway qui n’a jamais survécu à launchd.

openclaw doctor est la commande officielle d’auto-diagnostic d’OpenClaw. Elle imprime une checklist structurée — CLI dans le PATH, lisibilité de la config, accessibilité du gateway, profils d’auth, espace disque — pour que vous corrigiez une ligne à la fois au lieu de tout réinstaller d’après un article de blog. Ce tutoriel est la voie de secours débutant : ce que doctor vérifie, comment lire les lignes jaunes vs rouges, un runbook en six étapes que vous pouvez coller dans un ticket, et deux recettes de dépannage pour les erreurs que les débutants voient vraiment. Pour une acceptation de niveau SLA après onboarding sur un Mac loué, lisez la matrice post-onboarding doctor séparée ; cet article, c’est « ça a encore planté aujourd’hui ».

À associer dès la première mention avec le contrat d’installation hour-zero OpenClaw (plancher Node 22+), les limites de débit et alertes budget (pour que les retries ne ressemblent pas à des crashes), et OpenClaw + Ollama quand les modèles locaux remplacent les clés cloud. Référence d’installation upstream : script d’installation OpenClaw et exemples de configuration gateway. Contexte matériel : spécifications Apple Mac mini.

Divulgation : KvmZone n’est mentionné que là où un Mac loué offre aux débutants un shell SSH propre pour openclaw doctor. La plupart des étapes fonctionnent sur n’importe quel Mac que vous possédez déjà.

Pourquoi doctor vaut mieux qu’une réinstallation complète

Symptôme décrit par les débutantsCe que doctor révèle généralement
Terminal qui « clignote et se ferme » au lancementMauvais profil shell ; CLI absent du PATH pour les shells non-login
« Gateway not active » dans l’UIDaemon arrêté ; conflit de port ; utilisateur plist obsolète
Le modèle ne se connecte jamaisVariable d’env API key manquante ; profil auth pointe vers le mauvais fichier
Erreurs de permission après mise à jour macOSPrompts TCC bloqués ; doctor signale les lacunes Keychain / Full Disk
Règle à retenir : Lancez openclaw doctor avant rm -rf ~/.openclaw. Réinstaller sans corriger le PATH ou le décalage d’utilisateur launchd recrée le même crash en moins de dix minutes.

En Chine continentale, une sortie lente ou filtrée vers les miroirs npm peut ressembler à « OpenClaw est cassé » alors que la vraie cause est un timeout registry — les lignes réseau/TLS de doctor sont votre première preuve. Des hôtes Mac loués optionnels à Hong Kong ou Singapour ne sont pas requis pour doctor lui-même.

Architecture : ce qu’inspecte openclaw doctor

Terminal / launchd → openclaw CLI → doctor module → reads ~/.openclaw/* → probes gateway HTTP → prints PASS/WARN/FAIL lines

Fichiers et rôles

ÉlémentChemin / commandeRôle
Config live~/.openclaw/openclaw.jsonPorts gateway, profils auth, routes modèle
Logs~/.openclaw/logs/ (typique)Preuves de crash après doctor au vert
Binaire CLIwhich openclawDoit correspondre à ce que launchd utilise
Runtime Nodenode -v → plancher v22.x en 2026Node incompatible = cause n°1 de « quit instantané »
Probe gatewayopenclaw status après doctorConfirme le processus, pas seulement la syntaxe config
Parité non-loginsudo -u <daemon-user> openclaw doctorDétecte « marche dans Terminal seulement »

Doctor ne remplace pas les tests de charge ni la planification webhook POP — c’est la matrice post-onboarding. Il indique si vous avez le droit d’accuser le fournisseur de modèle.

Matrice de décision : type de crash → première commande

Si vous voyez…Lancer d’abordSi doctor affiche WARN sur PATHPolitique de merge
Fenêtre qui se ferme en <2sopenclaw doctor dans Terminal.appCorriger ~/.zprofile / ~/.zshrc ; un seul Node via nvm ou HomebrewNe pas ouvrir le gateway tant que PATH n’est pas vert
UI : gateway not activeopenclaw doctor + openclaw statusRecharger plist launchd ; aligner UserNameBloquer les démos jusqu’à status OK 90s
401/403 sur le chat modèlesection auth de doctorExporter les clés dans plist EnvironmentVariablesRotation de clé ; relancer doctor
Blocage >60s puis quitdoctor + df -h /Disque < 18GB libre → purger npm/skillsAgrandir le disque avant de nouvelles skills

Chemin recommandé : Si le shell se ferme en flash, lancez doctor en interactif d’abord — ne déboguez jamais via un raccourci GUI. Si doctor est vert mais l’agent barre de menu dit encore inactive, corrigez l’utilisateur launchd et le port, pas la clé API LLM.

Runbook de secours openclaw doctor en six étapes

Étape 1 — Ouvrir un vrai shell (pas un alias double-clic)

# macOS: use Terminal.app or iTerm — note the user name
whoami
echo $SHELL

Conservez la sortie ; les raccourcis qui sautent les login shells masquent les corrections PATH.

Étape 2 — Confirmer Node 22+ et CLI dans le PATH

node -v
which openclaw
openclaw --version

Pass : node affiche v22 ou plus récent ; which openclaw renvoie un seul chemin sous /opt/homebrew ou votre préfixe global documenté.

Étape 3 — Lancer doctor et sauvegarder la transcription

openclaw doctor 2>&1 | tee ~/openclaw-doctor-$(date +%Y%m%d).log

Joignez ce fichier à tout ticket support. Relancez après chaque correction — n’empilez pas les suppositions.

Étape 4 — Corriger le premier FAIL (souvent PATH ou JSON config)

# Example: validate JSON before restart
python3 -m json.tool < ~/.openclaw/openclaw.json > /dev/null && echo "JSON OK"

Si le JSON échoue, restaurez depuis la sauvegarde :

cp ~/.openclaw/openclaw.json ~/.openclaw/openclaw.json.bak.$(date +%Y%m%d)

Étape 5 — Aligner l’utilisateur daemon (fix gateway inactive)

# See which user launchd uses (label varies by install)
launchctl print system/com.openclaw.gateway 2>/dev/null | head -20
# Run doctor as that user if different from Step 1
sudo -u _openclaw openclaw doctor 2>&1 | tee ~/openclaw-doctor-daemon.log

Pass : les transcriptions interactives et daemon correspondent, ou chaque écart est documenté.

Étape 6 — Redémarrer le gateway et vérifier le status

openclaw gateway restart   # or launchctl kickstart per your install doc
sleep 5
openclaw status
openclaw doctor

Pass : status affiche le port en écoute ; doctor n’a aucune ligne FAIL inexpliquée. Ensuite — et seulement ensuite — retentez votre agent ou raccourci.

Pour les hôtes loués SSH-only, utilisez le workflow SSH Mac distant plutôt que des outils pixel sauf si une porte GUI documentée l’exige.

Dépannage

Schéma d’erreur : zsh: command not found: openclaw (ou fermeture instantanée de fenêtre)

Symptômes : script ou wrapper .app quitte avant toute UI ; doctor ne s’exécute jamais.

Correctif :

echo 'export PATH="/opt/homebrew/bin:$PATH"' >> ~/.zprofile
source ~/.zprofile
npm install -g openclaw@latest
openclaw doctor

Alignez le même PATH dans le plist launchd EnvironmentVariables (voir le contrat hour-zero).

Schéma d’erreur : gateway not active / ECONNREFUSED 127.0.0.1

Symptômes : la CLI existe ; l’UI ou openclaw status n’atteint pas le gateway local.

Correctif :

lsof -iTCP -sTCP:LISTEN | grep -i openclaw
openclaw doctor
openclaw gateway restart

Si le port appartient à un autre utilisateur, arrêtez le processus orphelin ou changez gateway.port dans ~/.openclaw/openclaw.json, puis relancez doctor. Configurez les limites de débit une fois le gateway stable — les tempêtes de retry ressemblent à des crashes.

FAQ

openclaw doctor supprime-t-il mes agents ou skills ?+
Non. Doctor est un diagnostic en lecture seule plus des correctifs suggérés. Il peut vous demander d’éditer ~/.openclaw/openclaw.json ou de libérer du disque, mais il n’efface pas ~/.openclaw sauf si vous lancez des commandes de désinstallation séparées.
Pourquoi doctor passe dans Terminal mais échoue dans cron/launchd ?+
Les shells non-login chargent des fichiers de profil différents. Le correctif est de dupliquer PATH et les exports de clés API dans le plist ou d’utiliser launchctl config user path — documenté à l’étape 5.
« Gateway not active » est-il toujours un problème réseau ?+
En général local : daemon arrêté, mauvais port, ou mauvais utilisateur macOS. Ne cherchez CDN/régions qu’après doctor et openclaw status au vert ; voir la matrice POP post-onboarding pour la géographie webhook.
À quelle fréquence les débutants doivent-ils lancer doctor ?+
Après chaque mise à jour macOS, upgrade OpenClaw, ou crash mystérieux — plus une fois depuis l’utilisateur daemon avant de démo à l’équipe. Moins de 90 secondes par run si l’hôte est sain.
Puis-je utiliser doctor sur un Mac mini Apple Silicon loué à Tokyo ou Séoul ?+
Oui. Doctor est la même CLI ; la région compte seulement pour la latence webhook ensuite. Les nœuds Tokyo/Séoul aident quand vos callbacks partent d’APAC — optionnel, pas obligatoire pour doctor.

Comparez les régions seulement si vous avez besoin d’un labo SSH propre

La plupart des étapes doctor fonctionnent sur un Mac que vous possédez déjà. Pour des tests utilisateur daemon, comparez les Mac mini M4 six régions sur la page tarifs.