OpenClaw 2026 : Cron, multi-canaux, passerelle 18789 et messagerie

Quand une passerelle OpenClaw pilote plusieurs canaux (bots, webhooks, outils internes), la panne visible est souvent « plus de messages » alors que la racine est planification, port d’administration ou première résolution de dépendances pour un plugin. Ce tutoriel 2026 fixe un ordre de triage reproductible : expressions Cron, sonde sur le port 18789, stabilité Discord et Telegram, puis échecs de première installation des plugins 2026.4.x, avec un cas Mac distant haute mémoire pour médias et scripts lourds. Pour openclaw.json, ClawHub et onboard → doctor → fix, voir configuration minimale openclaw.json, ClawHub et doctor ; pour un tailnet sans exposition publique, OpenClaw, Docker et Tailscale (zéro exposition).

1. Cron et fuseaux : valider l’expression avant de soupçonner le réseau

Les tâches planifiées d’OpenClaw reposent sur des expressions Cron qui doivent être comprises dans le fuseau horaire du processus, pas seulement dans celui du shell interactif. Recopiez l’expression dans un validateur de confiance, vérifiez les champs jour-de-semaine versus jour-du-mois, puis rejouez la fenêtre autour des bascules heure d’été : un job « silencieux » pendant une nuit peut simplement ne jamais se déclencher. Documentez la version OpenClaw, le fuseau et le compte utilisateur qui porte le job launchd ; si vous mélangez LaunchAgent et déclencheur applicatif, deux planificateurs peuvent se marcher dessus sans erreur explicite.

Règle d’or : tant que l’expression n’est pas validée sur la même machine et le même TZ que la production, ne remontez pas le problème vers Discord ou Telegram : les canaux suivront un planificateur déjà faux.

2. Sonde HTTP sur le port 18789 : ce qu’elle prouve — et ce qu’elle masque

Le port 18789 sert en pratique de point de présence léger pour la passerelle : une sonde curl depuis 127.0.0.1 confirme que le processus écoute, mais ne garantit ni TLS amont, ni connecteurs Discord/Telegram, ni quotas API. Refaites la même requête depuis l’IP LAN du Mac et, si vous utilisez un tunnel, depuis la bastion VM qui voit le même chemin que vos clients. Comparez avec lsof -nP -iTCP:18789 -sTCP:LISTEN : un autre service qui « squatte » le port donne des symptômes intermittents après reboot. Si la sonde est verte mais les canaux tombent, descendez vers les journaux applicatifs plutôt que vers le load-balancer — la sonde ne remplace pas doctor ni un test d’envoi réel sur chaque canal.

3. Discord et Telegram : déconnexions, limites et WebSocket

Les deux plateformes imposent des fenêtres de débit et des fermetures silencieuses de session lorsque la passerelle publie trop de mises à jour d’état ou garde des transactions longues ouvertes. Tracez séparément 401/403 (jeton ou portée), 429 (throttling) et closes WebSocket sans code HTTP : dans le dernier cas, vérifiez proxy sortant, inspection TLS et horloge système. Si Telegram fonctionne alors que Discord échoue, comparez les URL de webhook et les secrets — une rotation partielle côté secret manager suffit à créer un canal « mort » alors que l’autre reste vert.

4. Plugins 2026.4.x : premier échec d’installation reproductible

Sur la branche 2026.4.x, les premiers installs échouent souvent pour trois raisons empilées : cache npm ou registre privé incomplet, chemins relatifs différents entre shell interactif et service launchd, et permissions disque trop strictes sur le répertoire des plugins. Videz le cache ciblé, réinstallez avec le même PATH que le plist, puis relancez doctor jusqu’à ce que les entrées plugins.entries reflètent exactement les binaires présents. Si ClawHub importe un skill qui tire une dépendance native, vérifiez l’architecture (arm64 vs x86_64) et les binaires précompilés : l’erreur apparaît souvent comme un simple ENOENT dans les journaux.

  • Le job launchd utilise-t-il le même $HOME et le même gestionnaire de versions Node que votre session SSH ?
  • Les quotas disque restent-ils au-dessus de 15 % libres après extraction des artefacts du plugin ?
  • Avez-vous isolé une seule entrée plugins.entries pour prouver que l’échec n’est pas une interaction entre deux extensions ?

5. Cas terrain : Mac distant haute mémoire pour médias et scripts lourds

Sur un Mac portable ou une petite VM, la passerelle partage la RAM avec ffmpeg, des modèles de diffusion et des pipelines shell longs : le noyau commence à compresser la mémoire avant que la sonde 18789 ne bouge, puis les canaux se désordonnent. Déportez la génération média et les scripts batch vers un Mac distant avec 32–64 Go de RAM unifiée, NVMe rapide et connexion stable ; gardez sur la passerelle uniquement la file d’attente, les accusés de réception et les appels MCP légers. Orchestrez par SSH non interactif ou petit runner interne, verrouillez les répertoires de sortie hors iCloud, et surveillez la pression disque quand plusieurs jobs écrivent des vidéos en parallèle.

Pourquoi macOS sur Mac mini reste le socle le plus simple pour cette pile

Une pile Cron + multi-canaux + plugins exige un noyau qui gère correctement launchd, le codesigning et les autorisations TCC sans bricolage de pilotes. macOS sur Mac mini Apple Silicon offre une mémoire unifière rapide pour plusieurs connecteurs et un SSD NVMe pour les transcripts et médias temporaires, tout en restant silencieux et à faible consommation au repos — typiquement de l’ordre de quelques watts, ce qui change le coût d’une résidence 24/7. Gatekeeper, SIP et FileVault réduisent la surface d’attaque des comptes de service par rapport à un durcissement PC ad hoc, et le coût total de possession se tient grâce à la longévité du matériel et à l’absence de ventilateurs bruyants. Si vous voulez aligner classe de machine, bande passante et région avec ce Mac distant haute mémoire qui exécute déjà vos scripts lourds, le Mac mini M4 reste en 2026 un point d’entrée équilibré pour industrialiser la passerelle sans saturer un portable. Pour comparer les offres Macstripe et monter un nœud dédié prêt SSH/VNC en quelques minutes, ouvrez la page d’accueil Macstripe : c’est le bon moment pour valider latence réelle, charge multi-canaux et observabilité sur du matériel dédié plutôt que sur une machine partagée bruyante.