2026 OpenClaw Windows/WSL2
et Gateway Mac cloud permanent

Node 24 · démon systemd · EADDRINUSE fantôme · matrice trois voies · six régions

2026 OpenClaw Windows WSL2 Gateway Mac cloud répartition
Les équipes dont la machine principale est Windows exécutent souvent OpenClaw dans WSL2 tout en exigeant que Telegram, Discord et d'autres canaux restent en ligne 24 h/24. Les pannes sont attribuées à tort au pare-feu alors que les journaux affichent EADDRINUSE 127.0.0.1:18789 ou un systemd « actif » avec une Control UI injoignable. Ce guide décrit un modèle de répartition 2026 exécutable : Windows natif (PowerShell), WSL2 (Ubuntu + systemd) et « client seul + master Mac cloud dans six régions », avec validation Node 24, nettoyage des doubles démons et épinglage des versions 2026.4.x.
01

Cinq signatures mal comprises sous Windows et WSL2

OpenClaw couvre en 2026 macOS, Linux et Windows (souvent via WSL2). Les incidents Windows superposent trois couches : version Node, session utilisateur systemd capable de lancer le Gateway et occupation fantôme du port 18789. Les réduire à « réinstaller » provoque des boucles de crash de 30 à 50 secondes sur des builds comme 2026.4.24 alors que le blocage réel reste la double inscription Gateway au niveau utilisateur et système. Classez d'abord le ticket par signature avant de libérer des ports, de rétrograder un dist-tag ou de déplacer le Gateway de production vers un Mac cloud.

01

WSL ping le Mac cloud donc le Gateway est sain : l'accessibilité réseau n'équivaut pas à openclaw gateway status active. Une URL remote incorrecte sur le Node laisse Windows en boucle de redémarrage.

02

onboard --install-daemon sans systemd WSL2 : les unités sont écrites mais la session utilisateur ne les relance pas après fermeture SSH — canaux « parfois hors ligne ».

03

Gateway à la fois sur l'hôte Windows et dans WSL : deux écouteurs sur 18789, EADDRINUSE fantôme, sorties doctor contradictoires.

04

Veille du portable, canaux muets : Windows grand public gèle WSL. Les webhooks de production appartiennent à un master Mac cloud éveillé ; Windows reste nœud ou console.

05

Clés de config obsolètes après mise à niveau, pas de doctor : le processus Gateway tourne, channels probe rouge — souvent dérive de schéma, pas pare-feu.

En exploitation, un runbook à cases aide : transport (ping, statut Tailscale), processus (gateway status, journalctl --user -u openclaw-gateway -n 50), configuration (doctor, channels probe). Si les trois sont verts mais que le nœud coupe encore, la cause est presque toujours la couche remote — pas le pare-feu Windows. Pour les audits, n'exportez que des extraits de journaux anonymisés : les lignes Gateway peuvent contenir des identifiants de chat issus des adaptateurs de canaux. Définissez des durées de conservation conformes à votre politique de données personnelles avant de charger des logs dans des outils hébergés hors UE.

Après étiquetage, ajustez le routage des modèles. Si le master tourne déjà sur Mac cloud, lisez nœud distant, Tailscale et migration. Si le Gateway n'a jamais été validé sur l'hôte cloud, suivez d'abord la check-list SSH première heure avant d'empiler les démons WSL — sinon vous multipliez le bruit de redémarrage sur un master instable. Les équipes multi-OS doivent tenir un schéma d'architecture : quel hôte détient quels secrets, où les jetons tournent et quelle région minimise la latence vers vos utilisateurs finaux.

02

Matrice de décision : Windows natif, WSL2 ou Gateway Mac cloud

Le consensus 2026 n'est pas « Windows ne peut pas OpenClaw », mais placer plan de contrôle 7×24 et webhooks de canaux sur un hôte stable. Le tableau aligne expérimentation portable, Gateway auto-hébergé en WSL et topologie recommandée « master Mac cloud + nœud Windows ». Pour la bibliothèque d'incidents complète, voir déploiement Gateway et reprise.

DimensionWindows natifWSL2 + systemdGateway Mac cloud + nœud Win
Installationinstall.ps1install.sh dans UbuntuMac cloud : install.sh ; Win : CLI/Node seul
DémonTâche planifiée, risque UIUnité systemd utilisateurMac cloud : LaunchAgent ; Win : sans démon optionnel
Canaux 7×24Veille / mises à jourPause WSLCanaux uniquement sur Mac cloud
DépannageChemins / ACLsystemd + portsWin : Node ; Mac cloud : Gateway
Recommandation 2026Démo courteRejouer scripts prodéquipes distribuées, automatisation

Ne pariez pas les canaux de production sur un portable qui dort ; Gateway en loopback Mac cloud, Windows en node run seulement.

Documentez après choix du split : quel Mac cloud porte quels webhooks, si Windows n'utilise que openclaw node run --remote wss://.... WSL peut temporairement héberger un Gateway pour comparaison — ne liez pas le même jeton de canal en parallèle sur le master, sinon double consommation et pertes silencieuses. Conteneur vs bare metal : Docker vs install.sh ; versions : mise à niveau et rollback. Le dépôt Git sur l'instance Mac reste un arbre de travail classique, distinct de l'état Gateway.

Les comparatifs de coût oublient souvent l'exploitation : un portable Windows comme Gateway économise la location mais augmente les interruptions (mises à jour, batterie, VPN partagé). Un Mac cloud dans la région cible réduit la latence vers les API Telegram et Discord et rend les redémarrages LaunchAgent prévisibles. Si plusieurs développeurs partagent la même distribution WSL, séparez les comptes Unix ou les conteneurs pour éviter les collisions npm et OPENCLAW_HOME. La topologie split sépare aussi les données de canaux (sur le master) de l'exécution d'outils (sur Windows), ce qui simplifie les registres de traitement lorsque les exports de journaux restent minimaux.

03

Prérequis WSL2, Node 24 et dépannage EADDRINUSE par couches

Avant un openclaw onboard --install-daemon productif en WSL : Node ≥ 22.16 (24 recommandé) et systemd=true dans /etc/wsl.conf. Certains builds 2026.4.24 sur WSL2 affichaient : journal Gateway « démarré », Control UI inaccessible, EADDRINUSE toutes les 30–50 s — atténuation fréquente : épinglage 2026.4.22 et suppression des unités en double. Les journaux Gateway peuvent contenir des identifiants de canaux ; pour les tickets, exportez des extraits minimaux conformes à votre politique de conservation des données personnelles.

WSL2 Ubuntu (schéma)
grep -q 'systemd=true' /etc/wsl.conf || echo '[boot]' >> /etc/wsl.conf && echo 'systemd=true' >> /etc/wsl.conf
node -v
curl -fsSL https://openclaw.ai/install.sh | bash
openclaw onboard --install-daemon
systemctl --user status openclaw-gateway
lsof -i :18789
openclaw doctor
openclaw gateway status

Si lsof montre 18789 occupé alors que gateway status est stopped, traitez d'abord les processus openclaw orphelins et les unités parallèles sous /etc/systemd/system versus ~/.config/systemd/user. Conservez une seule unité utilisateur, systemctl --user daemon-reload, redémarrage. Si la boucle persiste, documentez openclaw --version et évaluez le rollback depuis 2026.4.24 ; fenêtre de maintenance avec openclaw doctor --fix. Débogage Control UI local sur le portable : pare-feu limité à 18789 sur la machine de dev — production via Tailscale Serve vers le master Mac cloud, pas d'exposition publique du portable.

Pour les équipes mixtes, ordonnez la maintenance : figer d'abord le master Mac cloud (channels probe vert), désactiver ensuite le démon WSL, migrer enfin les clients Node. Le rollback suit l'ordre inverse — jamais redémarrage master et onboard WSL simultanés. Si vous testez PowerShell natif, documentez les écarts avec install.sh pour que le support n'applique pas des commandes WSL sur l'hôte. Tenez une fiche de compatibilité 2026.4.x : build, noyau WSL, version Node, résultat de doctor --fix.

Astuce : archivez systemctl --user status et lsof -i :18789 avant et après onboard pour distinguer double instance et défaut de version.

04

Runbook en six étapes : validation WSL jusqu'au smoke canal sur le master

01

Geler la topologie : rôle Windows (nœud seul / Gateway temporaire), région Mac cloud, canaux uniquement sur le master.

02

Prérequis WSL : systemd actif, node -v ≥ 22.16, installer Node 24 dans Ubuntu si besoin.

03

Master sur Mac cloud : install.sh, onboard, LaunchAgent selon la check-list première heure ; loopback 18789 et gateway status verts.

04

Remote côté Windows : node run --remote ou Control UI vers WSS master ; si 1008, devices approve sur le master (article nœud distant).

05

Arrêter le Gateway local WSL (split) : désactiver l'unité utilisateur pour éviter collision de config canal avec le master.

06

Smoke sur le master : channels probe et message entrant réel sur Mac cloud ; Windows vérifie seulement l'exécution d'outils, webhooks pas sur le portable.

Chaque étape mérite un champ ticket : date, version, région, résultat de sonde. Les équipes distribuées gagnent des heures de support car les opérateurs Windows n'ont plus à interpréter chaque journal Gateway du master. La discipline de documentation évite aussi de mélanger incidents WSL, de version et de canal dans un même fil de discussion.

Après l'étape 06, exécutez un test de charge léger : deux sessions Node depuis des postes Windows distincts, un message canal réel, un outil long. Surveillez la RAM du Mac cloud et vérifiez si WSL régénère EADDRINUSE — signe qu'un démon Gateway local tourne encore. Documentez les ACL Tailscale : seuls les groupes développeurs doivent joindre le WSS du master. Faites tourner les jetons de canal dans un change séparé de la bascule Node pour isoler les causes.

05

Trois seuils d'exploitation et choix du Gateway Mac cloud

A

Conflit de port : trois EADDRINUSE ou plus en dix minutes avec deux processus openclaw-gateway dans la même WSL → double instance, arrêt et nettoyage avant mise à niveau.

B

Plancher Node : la doc 2026 recommande Node 24 ; sous 22.16 doctor peut être vert avec échec des plugins — joindre node -v au ticket.

C

Acceptation split : après reprise du master, au moins trois channels probe en dix minutes ; une veille du portable — seul le Node reconnecte, canaux indépendants du laptop.

Note : seuils internes de communication, pas SLA éditeur.

Ancrer le Gateway sur un portable Windows réintroduit veille, mises à jour fonctionnelles et gel WSL. Les VPS Linux bon marché s'éloignent de l'automatisation navigateur macOS et de la notarisation. Mac cloud bare metal en master, Windows en nœud ou UI combine proximité toolchain Apple, discipline loopback et fenêtres de location prévisibles à Singapour, Tokyo, Séoul, Hong Kong, USA Est et Ouest. Pour des canaux 7×24 sans parier sur du matériel grand public, la location Mac mini MESHLAUNCH est en général la meilleure base : valider la région cible en location journalière avec les six étapes plus un redémarrage hôte, puis verrouiller le mois.

Dimensionnement : un master multi-canaux avec outils lourds préfère 24 Go de RAM ; plusieurs nœuds clients augmentent la charge WebSocket plus que les pics CPU Xcode. Changez de région via backup/restore plutôt que copie manuelle de JSON isolés. Conservez des captures gateway status et channels probe pour les revues internes. Commande et support : tarifs et centre d'aide.

FAQ

lsof -i :18789 et systemctl --user status openclaw-gateway, nettoyer unités et processus, vérifier épinglage 2026.4.24. Voir manuel Gateway ; location : tarifs.

Oui pour tests courts. Canaux de production sur master Mac cloud, Windows en node run. Étapes : check-list SSH première heure.

Vérifier systemd dans /etc/wsl.conf, exécuter openclaw doctor. En split, canaux restent sur Mac cloud : centre d'aide.