2026 OpenClaw v2026.4.23 sessions enfant:
sessions_spawn, fork optionnel, parent propre
Exploitants qui hébergent déjà OpenClaw Gateway mais refusent que navigateurs ou générateurs lourds polluent le transcript principal obtiennent avec v2026.4.23 le chemin natif sessions_spawn et un contexte enfant forké optionnel une surface de contrôle reproductible plutôt que d'ouvrir sans fin de nouveaux chats vides. Cet article livre une triade de douleurs, une matrice spawn contre session contre hooks, sept étapes ordonnées, trois intervalles de métriques citables et une boucle de répétition macOS louée par journée, avec des liens vers approvals et Config RPC, l'automatisation Hooks et les approbations MCP ; après l'exercice suivez la checklist retour zéro trace.
Sommaire
01. Douleur : transcript parent, file d'attente RPC, sémantique fork
1) Le transcript parent absorbe le bruit des outils : après plusieurs passages browser ou image_generate, la compaction plie les traces d'échec dans les tours suivants ; le modèle réessaie d'anciens chemins. Les sessions enfants découplent graphe d'outils et dialogue de décision ; le résumé parent reste stratégique.
2) Le spawn semble bloqué sur le RPC passerelle : on voit souvent délais par défaut, validations en tête de file ou variables systemd absentes. Lisez d'abord la matrice approvals / Config RPC avant d'augmenter max_tokens, ce qui masquerait coût et latence.
3) Contexte forké vs attentes d'audit : hériter du transcript du demandeur aide au debug mais impose une chaîne ticket parent/enfant explicite. Avec isolation stricte, les utilisateurs se plaignent de mémoire manquante. Documentez stratégie de fork, chemins de logs et durées de conservation pour aligner sécurité et ingénierie.
4) Illusion temporelle après scission des états de jobs : lorsque l'exécuteur cron et jobs.json divergent, une équipe qui ne regarde qu'un fichier croit que le spawn « échoue au hasard ». Observez pruning du backlog et concurrence de spawn sur une seule ligne de temps.
Conseil d'exploitation : regroupez les expériences dans un alias slash ou un canal ; évitez les journaux bruts en messages privés. Les passerelles multi-locataires reçoivent un Mac de répétition journalier par locataire pour éviter collisions de trousseaux ou d'autofill.
02. Matrice : spawn, nouvelle session, hooks planifiés
| Scénario | Favoriser spawn | Autre voie |
|---|---|---|
| Travail annexe même canal | Oui, métadonnées conservées | Nouveau chat perd le contexte canal |
| Tâches sans opérateur | Non | Hooks / cron et sémantique jobs-state |
| Reproduction transverse | Oui + macOS jetable | Portable interne expose secrets |
Après la table, décidez opérationnellement : si le canal porte la charge contextuelle, sessions_spawn coûte moins qu'un onglet parallèle. Si vous avez besoin d'un ordonnanceur, déplacez l'orchestration vers les hooks et mesurez SLA et idempotence plutôt que de traiter le spawn comme un cron.
03. Sept étapes : versions, fumée, fork, journaux, compaction, répétition, rollback
- Aligner versions : binaire passerelle et CLI partagent la même semver ; capturez les 40 premières lignes de
openclaw doctordans le ticket pour écarter la dérive client/démon. - Fumée sans fork : courte chaîne d'outils, pas d'héritage ; relevez P50/P95 RPC avant d'activer les drapeaux fork.
- Expérience fork : identifiant ticket collé à la configuration ; canaux sensibles en lecture seule pour empêcher les outils navigateur d'écrire.
- Journaux passerelle : baliser début/fin de spawn ; en multimodal corréler
timeoutMspar appel avec la latente de tête de file, sinon vous confondez blocage de file et perte de fork. - Contrôle compaction : après compaction, le résumé parent doit rester décisionnel ; les piles d'erreurs enfants ne doivent pas remonter dans l'arbre parent.
- Répétition macOS : rejouez les étapes 2-5 sur un hôte loué à la journée ; croisez les pièges de déploiement avec FAQ SSH/VNC.
- Rollback : désactivez les drapeaux expérimentaux, archivez les blocs de commandes, reliez la topologie aux healthchecks Compose.
openclaw version
openclaw doctor | head -n 40
rg "sessions_spawn|spawn" /var/log/openclaw-gateway.log
04. Ollama, multimodal et mise à l'échelle Compose
Si l'enfant hérite du même registre d'outils que le parent, vous importez des flux locaux lents depuis le routage Ollama et créez des queues undici. Réduisez la surface d'outils progressivement ; ouvrez navigateur ou image seulement après un aller-retour stable.
Pour appels image_generate ou TTS parallèles, séparez horodatage de fin d'outil et horodatage ACK de spawn. Sans les deux signatures, le diagnostic retombe sur de fausses hypothèses.
Les exécuteurs Compose horizontaux exigent des règles de collage de session cohérentes. Si le CLI spawn sur l'instance B alors que le canal attend encore l'instance A, l'effet « zombie » apparaît. Vérifiez volumes nommés et ordre de démarrage du runbook avant de redémarrer des conteneurs en boucle.
Couche RPC vs couche outil
Le RPC passerelle mesure la négociation jusqu'à l'acceptation d'un travail, tandis que les timeouts d'outils couvrent l'exécution. Superposez les deux séries dans Grafana : un alarme « spawn bloqué » est souvent une file d'approbations et non un bug fork. Chaque ticket doit noter les deux métriques pour éviter la impasse « augmentons tous les timeouts ».
Pour les services systemd, contrôlez EnvironmentFile : des variables manquantes cassent des plugins qui lisent la configuration au moment du spawn, produisant un 500 RPC immédiat confondu avec un problème de fork. Un recoupement avec la matrice timeouts épargne des heures.
Observabilité sans fuite dans le chat
Les journaux structurés doivent contenir l'identifiant ticket mais pas de jetons en clair. Si vous avez besoin de traces lisibles, écrivez des hachages de fragments de configuration plutôt que le texte intégral, afin qu'un enfant ne réplique pas des secrets vers un agrégateur central.
Alertez sur la vitesse de variation de la latence de spawn, pas seulement sur des seuils absolus : après une release, la ligne de base peut bouger de 20 à 30 millisecondes sans être anormale si la P95 reste stable. Combinez avec des sessions enfants canaries qui n'appellent que des outils synthétiques.
Plan de secours versionné
Maintenez un petit commit « arrêt d'urgence » qui désactive les expériences fork et ramène passerelle + exécuteur à la dernière combinaison verte. Il doit s'exécuter sans interaction Slack. Testez-le chaque mois sur la machine louée, pas seulement pendant l'incident.
Documentez quels canaux sont mis en sourdine pendant le rollback pour éviter des réponses partielles ; la communication fait partie de la disponibilité perçue.
05. Métriques, mythes et hygiene de passation
- Métrique 1 : environ 31 % à 46 % des tickets « spawn ne démarre pas » proviennent, après tri, de la latence de queue RPC approvals/config, pas du spawn lui-même.
- Métrique 2 : les équipes avec répétition en sept étapes + isolation louée réduisent la médiane du temps jusqu'à un runbook reproductible de 37 % à 52 % par rapport à une triage uniquement sur portable.
- Métrique 3 : les expériences fork avec allowlist trop souple ont augmenté les tentatives navigateur sortantes de 14 % à 22 % lors des revues sécurité internes.
Mythe A : le spawn parallélise sans limite. Mythe B : mélanger backlog cron et spawn dans un même fil de diagnostic. Mythe C : activer fork en production sans bac à sable.
Pour les passations, utilisez un chemin de journal indexé et chiffré sur l'hôte passerelle plutôt que des fragments de configuration dans des outils de chat. Les environnements multi-locataires isolent physiquement les chaînes d'outils navigateur pour éviter autofill de comptes de test.
Avant de rendre le Mac loué, exécutez les cinq étapes zéro trace et cochez séparément « spawn réussi » et « machine effacée » pour l'audit.
Modèle de post-mortem
Chaque post-mortem doit inclure : versions passerelle et CLI, ensemble de drapeaux fork, identifiant de canal, horodatage du premier RPC en échec, premier ACK enfant réussi, liste d'outils actifs chez l'enfant, et indication si une compaction s'est produite entre-temps. Sans ces champs, les équipes répètent l'analyse quelques semaines plus tard.
Ajoutez une rubrique « coût économique » : heures-ingénieur perdues, releases retardées, sessions navigateur libérées par erreur. Même des estimations grossières aident la direction à comprendre pourquoi la location journalière est moins chère que le débogage permanent sur matériel de production.
Gouvernance multi-locataire
Définissez par locataire le nombre maximal de spawns simultanés, les familles d'outils autorisées et des compartiments de journaux séparés. Techniquement OpenClaw multiplexe, mais organisationnellement le premier accident navigateur casse la confiance de tous les clients.
Les politiques en code dans Git, revues comme la configuration de production, avec contrôles CI qui empêchent les drapeaux fork globaux accidentels, coûtent une fois mais évitent des astreintes répétées.
06. Passerelle Linux vs répétition macOS native
Linux excelle pour l'empaquetage et la CI, mais les workflows adjacents à Apple, les empreintes Safari et la proximité Xcode restent plus stables sur macOS. La location à la journée rattache les dépenses à la fenêtre de validation plutôt qu'au CapEx permanent. Lisez le guide d'accès distant et combinez le fallback Ollama avec les approbations MCP lorsque des outils externes s'ajoutent.
Planification capacité
Comptez le spawn comme descripteurs de fichiers ouverts et WebSockets simultanés, pas seulement comme charge CPU. Une poussée d'enfants surcharge souvent la boucle epoll et les backends SQLite avant le GPU. Les tests de charge doivent donc créer des enfants avec des chaînes d'outils réalistes, pas seulement des RPC ping.
Pour FinOps, comparez colocation fixe à location variable : (loyer mensuel × jours de drill attendus) + temps support contre (achat / mois amortis) + coût d'opportunité des portables sales. Dans la plupart des déploiements OpenClaw sporadiques, la location gagne dès que vous testez plus de deux stratégies fork par trimestre.
Conservez une petite bibliothèque de traces de référence : dix succès et dix échecs, anonymisés mais complets structurellement ; l'onboarding lit cela plus vite que des PDF.
07. Rack interne vs capacité macOS louée
Le matériel dédié engage achat, énergie, AppleCare et sécurité physique. La location bare metal à la journée offre une fenêtre où vous extrayez expériences fork et surfaces d'outils de la passerelle de production sans faire fuiter profils navigateur depuis les portables internes. MacDate fournit une ergonomie proche SSH/VNC, des paliers horaires ou journaliers et une hygiene de restitution alignée sur les sept étapes ci-dessus.
Si vous opérez déjà des topologies Compose, traitez la machine louée comme un niveau d'exécuteur supplémentaire : mêmes runbooks, burn-down financier clair, effacement final obligatoire. Le comparatif reste honnête et pas seulement marketing.
Revue sécurité
Avant la production fork, exigez la validation de : résidence des journaux enfants, chiffrement des snapshots au repos, contrôle d'accès aux API d'administration, preuve d'absence de gestionnaires de mots de passe synchronisés dans les profils navigateur. Chaque case doit pointer vers un ticket ou une politique pour les auditeurs externes.
Lors des tests d'intrusion, tentez de lire les jetons parent depuis un enfant : si cela réussit, l'isolation est cosmétique. Documentez les constats avec des identifiants internes type CVE et suivez la remédiation comme pour les bogues de production.
Pour les exports de données, décidez si les enfants peuvent créer des archives. Beaucoup d'équipes oublient qu'un générateur d'images écrit des ZIP sur des volumes montés qui survivent à la fin de location. Des interdits explicites plus profils AppArmor réduisent le risque mieux que la seule formation.
La formation reste utile : chaque nouvelle recrue exécute une fois les sept étapes sur un Mac loué, rollback inclus. La mémoire musculaire réduit la panique incident et le MTTR.
Ajoutez un créneau mensuel « drill spawn » de 45 minutes : un ingénieur rotatif lance un enfant, collecte les journaux, détruit. Cela coûte moins qu'une nuit d'incident et maintient les compétences.
Si des consultants externes accèdent, isolez leurs spawns sur un cluster dédié avec clés API distinctes ; sinon des sessions enfants orphelines consomment des ressources des jours après le départ du consultant, faute de savoir quel compte démo les a créées. Documentez chaque accès externe avec date d'expiration, responsable et suppression automatique des métadonnées enfants.