Dépannage OpenClaw macOS 2026
OpenClaw semble magique lorsque le démon reste actif — et devient frustrant lorsqu’il se ferme silencieusement après une mise à jour de macOS, perd des autorisations TCC ou entre en collision sur un port de passerelle. Ce guide s’adresse aux ingénieurs qui ont déjà terminé une installation de base (voir notre guide d’installation et de déploiement complet) et ont besoin d’une réponse d’incident reproductible : quoi vérifier dans les 15 premières minutes, quels journaux comptent vraiment, et comment durcir un nœud VmMac Mac mini M4 sans écran pour que les agents survivent aux charges nocturnes.
Vous obtiendrez une matrice de symptômes, une checklist launchd, des étapes concrètes pour ports et permissions, ainsi que des liens vers la documentation d’aide, l’accès VNC pour les invites purement GUI, et les schémas d’orchestration multi-agents lorsque vous dépassez un seul démon.
Premiers 15 minutes : triage quand le démon « s’arrête tout seul »
Exécutez ces contrôles dans l’ordre — ils couvrent environ 80 % des régressions de production que nous voyons sur des Mac mini loués :
openclaw status(ou l’équivalent passerelle de votre distribution) — capturez stdout/stderr mot pour mot pour le ticket.launchctl list | grep -i openclaw— vérifiez que le LaunchAgent est chargé et notez le dernier code de sortie s’il est présent.lsof -nP -iTCP -sTCP:LISTEN | grep -i openclaw— détectez des écouteurs dupliqués après des redémarrages ratés.node --version— confirmez v22+ pour le même utilisateur macOS qui possède le LaunchAgent (pas votre compte admin).- Pression disque :
df -h ~— les agents qui écrivent de gros traces échouent dès que l’espace libre est < 5 Go.
OPENCLAW_STATE_DIR dans iCloud Drive, Dropbox ou OneDrive. Les verrous des fournisseurs de fichiers provoquent des « boucles de redémarrage du démon » qui ressemblent à des fuites mémoire mais sont en réalité de la contention de synchronisation.
Node.js, PATH et « ça marche en SSH mais pas sous launchd »
Les LaunchAgents héritent d’un environnement minimal. Symptômes : command not found: node dans les journaux plist alors que le SSH interactif fonctionne. Correctifs qui tiennent :
- Installez Node via
nvmsous le même utilisateur macOS qui exécute l’agent ; créez un lien symbolique vers un binaire Node connu dans/usr/local/bin/nodeuniquement si votre politique de sécurité l’autorise. - Préfixez
PATHdans le plist du LaunchAgent avec/Users/ci/.nvm/versions/node/v22.x.x/binet/usr/bin:/bin:/usr/sbin:/sbin. - Épinglez la version du paquet OpenClaw en production (
npm install -g [email protected]) — « latest » plus mises à jour npm automatiques est une source fréquente de pannes le mercredi matin.
which node && node -p "process.execPath" doit produire les mêmes résultats dans un shell de connexion interactif et dans un shell non interactif lancé avec sudo -u ci -H bash -lc 'which node'.
Diagnostics launchd : ThrottleInterval, codes de sortie et boucles de crash silencieuses
Le launchd d’Apple recule agressivement si un job se termine trop vite. Réglez ThrottleInterval à au moins 10 secondes pendant le débogage pour garder des journaux lisibles. Inspectez le dernier crash avec :
log show --style syslog --predicate 'process == "launchd"' --last 30m | grep -i openclaw
Si vous voyez des relances rapides, déchargez temporairement l’agent, exécutez le démon au premier plan pendant 120 secondes, corrigez la cause racine, puis rechargez :
launchctl unload ~/Library/LaunchAgents/ai.openclaw.daemon.plist
openclaw daemon start --foreground
Collisions de ports passerelle et conflits de reverse proxy
Symptômes : health checks instables, clients WebSocket déconnectés avec 1006, ou jobs CI signalant par intermittence une « passerelle injoignable ». En 2026, les chevauchements courants incluent des exporters Prometheus locaux, des ports proxy abandonnés de Docker Desktop, et une seconde installation OpenClaw laissée par un compte utilisateur précédent.
| Signal | Conflit probable | Remédiation | Vérification |
|---|---|---|---|
| Bind EADDRINUSE au démarrage | Démon dupliqué ou processus node orphelin | Arrêtez tous les agents ; supprimez les fichiers PID obsolètes si c’est sûr ; choisissez un nouveau port dans la config | lsof -i :PORT ne renvoie qu’un seul propriétaire |
| 502 depuis le reverse proxy | Incompatibilité TLS amont ou rétrogradation HTTP/2 | Terminez le TLS au proxy ; parlez HTTP clair vers localhost | curl -sv http://127.0.0.1:PORT/healthz |
| Timeouts uniquement depuis la CI | NAT hairpinning du runner | Liez la passerelle à 127.0.0.1 et tunnelisez via SSH -L |
La CI peut curl via le tunnel en < 200 ms |
| Instable après veille | Power Nap macOS ou mise en veille de l’écran | Enveloppe caffeinate ou réglages système pour éviter la veille disque |
Uptime > 48 h sans redémarrage watchdog |
TCC : enregistrement d’écran, accessibilité et révocation après mise à jour
macOS Sequoia redemande souvent une revalidation après des correctifs de sécurité mineurs. Si OpenClaw perd l’accessibilité ou l’enregistrement d’écran, l’automatisation GUI échoue avec des piles peu claires. Chemin de récupération :
- Ouvrez Réglages Système → Confidentialité et sécurité pour chaque catégorie concernée.
- Supprimez les entrées obsolètes, rajoutez le chemin binaire exact indiqué par
which openclaw. - Redémarrez le démon depuis SSH, puis validez avec une tâche de capture d’écran triviale.
- Documentez le chemin binaire dans votre wiki interne — les équipes qui sautent cette étape se retrouvent toujours bloquées après la prochaine reconstruction.
Arborescence d’état, croissance disque et fichiers WAL corrompus
Comptez 300–800 Mo/semaine de journaux et d’artefacts de tâche pour un hôte mono-agent modérément chargé ; les flottes multi-agents peuvent doubler ce volume. Gardez logging.retainDays entre 7 et 21 jours selon la conformité, et stockez les artefacts sur le volume NVMe local fourni avec votre instance VmMac — pas sur un montage réseau.
Si SQLite ou les fichiers WAL se corrompent après un redémarrage brutal, déplacez le répertoire endommagé, restaurez depuis votre dernière archive saine (vous devriez instantanéiser ~/.openclaw chaque nuit), et rejouez la configuration via des scripts d’infrastructure-as-code versionnés dans git.
Playbook de rétention des journaux pour agents 24/7
| Gravité | Quand alerter | Action du responsable |
|---|---|---|
| P1 — sortie du démon | Toute sortie non planifiée pendant les heures ouvrées | Collecter plist + extrait du journal unifié ; annuler le dernier changement de config |
| P2 — échecs de tâches > 15 % sur 20 minutes | Erreurs API ou disque soutenues | Réduire la concurrence ; vérifier la page de statut du fournisseur |
| P3 — tâches lentes | Latence P95 > 2× la baseline pendant 6 heures | GC des anciens espaces de travail ; sharder les agents sur un second nœud VmMac |
Durcir OpenClaw sur les nœuds Mac mini cloud VmMac
En passant d’une preuve de concept sur portable à un nœud de production VmMac à Hong Kong, au Japon, en Corée, à Singapour ou aux États-Unis, traitez l’hôte comme tout autre serveur : désactivez les services de partage inutiles, imposez uniquement les clés SSH, et mappez chaque flotte d’agents à une plage de ports non chevauchante par environnement (staging vs production).
Utilisez la page tarifs pour dimensionner la RAM — 24 Go de mémoire unifiée assure confortablement trois agents lourds en parallèle avec de la marge pour Xcode, tandis que 16 Go fonctionne mais exige des limites maxConcurrentTasks plus strictes.
FAQ : réponses courtes dont les équipes support ont vraiment besoin
Dois-je lancer le démon en root ? Non. Utilisez un utilisateur dédié openclaw ou ci avec moindre privilège ; root casse les invites TCC et complique les audits.
Puis-je tout corriger en SSH pur ? En grande partie — sauf les approbations TCC initiales et certaines automatisations pilotées par Safari ; planifiez une courte fenêtre VNC.
Comment tester les mises à jour en sécurité ? Instantané d’état, clonez la config vers un nœud VmMac de staging, exécutez 72 heures avec charges synthétiques, puis promouvez.
Pourquoi le Mac mini M4 reste le bon compromis pour OpenClaw en 2026
OpenClaw passe son temps à lancer des sous-processus, lire des dépôts et parfois compiler de l’outil natif. L’architecture mémoire unifiée du Mac mini M4 garde ces opérations rapides sans les goulots d’étranglement PCIe fréquents sur les anciens mini Intel. Le Neural Engine ouvre aussi des expériences MLX locales lorsque vous voulez garder des invites sensibles hors des API tierces.
Louer via VmMac vous donne les performances Apple Silicon sans acheter du matériel, attendre la douane, ou empiler des serveurs dans un placard. Associez ce playbook de dépannage aux étapes de première installation et au guide de montée en charge multi-agents, puis choisissez la région la plus proche sur la page tarifs pour minimiser le RTT vers votre fournisseur de modèles.
Besoin d’un nœud propre ?
Provisionnez un Mac mini M4 neuf dans votre région, réinstallez OpenClaw et comparez plist/PATH avec la prod.