OPENCLAW MULTI
CHANNELS_
JSONL.

Passerelle multi-canal

Empiler Telegram, messagerie d’entreprise et bots sur un seul Gateway accélère la livraison — jusqu’au jour où tous les canaux se taisent alors que HTTP répond encore 200. Depuis 2026.4.x, le RPC channels.start aide à démarrer des comptes nommés ; une seule *.jsonl sous ~/.openclaw/agents/main/sessions/ peut gonfler à des dizaines de mégaoctets via cron et agents longue durée. Le Gateway affiche souvent une ligne Bootstrap puis se fige — CPU proche du plein, pas de nouveaux ticks. Ce n’est pas forcément un problème de modèle ni OAuth. Lisez en parallèle WebSocket / Ed25519, sessions / OAuth / cron, systemd / launchd.

1. Points douloureux — pourquoi « démarré » n’est pas « sain »

1) channels.start confirme les comptes — pas que la boucle principale a du temps pour les plugins. 2) Le parsing Bootstrap peut être synchrone ; un fichier monstre bloque la boucle Node malgré les ports ouverts. 3) Le multi-canal brouille les symptômes avec d’anciennes erreurs d’annonces — mesurer d’abord la taille. 4) plist Mac distant : des valeurs HOME différentes déplacent le fichier que vous lisez par rapport à celui que le Gateway consomme.

2. Matrice symptômes

SignalVérifier en premierPreuve
Logs arrêtés après la ligne Bootstrapjsonl énormels -lhS sessions/*.jsonl
CPU haute, mémoire plateParsing synchroneTrace sans ticks canal
Uniquement à distanceEnvironnement launchdlaunchctl print

3. Cinq étapes

Étape 1

Geler les changements ; documenter le hash Gateway.

Étape 2

channels.start avec channel et optionnellement accountId — pas de mélange avec un restart aveugle.

Étape 3

Identifier la plus grosse jsonl ; sauvegarder avant toute coupure.

ls -lhS ~/.openclaw/agents/main/sessions/*.jsonl | head -5

Étape 4

Arrêter le Gateway, déplacer le fichier, supprimer les *.lock, redémarrage à froid.

Étape 5

openclaw gateway status, smoke mono-canal, puis cron — aligner les plist sur les Mac distants comme dans le guide launchd.

4. Matrice décision

PreuvePrioritéÉviter
Fichier >50 Mo + silence BootstrapPolitique d’archivageBoucle de restart infinie
Chemin announce seulementMise à jour avec correctif file d’attenteCouper les journaux d’audit sans raison

Seuils : trois passages monitoring >40 Mo → archivage obligatoire ; silence >120 s après Bootstrap → P0 ; deux figements distants/semaine → surveiller le disque.

5. FAQ

Déplacer sans perte ? Uniquement avec sauvegarde ; disponibilité avant l’historique chat en cas de panne prod.

channels.start remplace le restart ? Non — sans déplacement de fichier, le restart aide rarement.

Pourquoi Windows vs Mac diffèrent ? Antivirus, compte du planificateur et sémantique des chemins — toujours mesurer plutôt qu’étiqueter.

6. Cas

OAuth suspect — en réalité 80 Mo main.jsonl ; après déplacement, retour à la normale en secondes.

Leçon observabilité : les taux de croissance stockage doivent être sur le même tableau de bord que le rafraîchissement des tokens.

7. Conclusion MACGPU

La prochaine SLA après la complétude RPC est la vélocité du stockage de sessions. Un VPS pur convient aux tests ; pour déboguer avec les toolchains Apple en parallèle, poser le Gateway sur un Mac distant thermiquement stable — nœuds MACGPU à l’heure — sépare la production du Wi‑Fi café.

En synthèse : le silence vient souvent d’un embouteillage JSONL sur la boucle, pas d’une panne provider — avant TLS/handshake, mesurer les octets ; la location Mac distant aligne les pics et le budget refroidissement.