OpenClaw brille quand les utilisateurs voient un agent cohérent, mais votre gateway jongle en réalité avec plusieurs APIs de chat, chacune avec des sémantiques de retry différentes. En 2026, les incidents ressemblant à « le modèle est devenu fou » sont souvent des webhooks doublement livrés ou une panne du canal primaire sans chemin secondaire répété. Cette matrice classe Slack, Telegram et Discord pour le failover, définit des clés d’idempotence, et donne huit étapes reproductibles adaptées à un hôte Mac mini M4 dédié sur NodeMac (automatisation SSH, VNC pour permissions ponctuelles, régions HK, JP, KR, SG, US).
Intégrations de base : webhooks Slack et Discord, failover multi-modèle et timeouts, répertoire d’état et checklist gateway headless. Santé : probes de readiness ; diagnostics : doctor. Tarifs : tarifs ; aide : aide.
Le mode de panne que vous déboguez vraiment
Les fournisseurs de chat réessayent agressivement lorsque votre gateway renvoie des réponses HTTP lentes. Si les effets de bord de vos outils (tickets, déploiements, remboursements) ne sont pas idempotents, les retries deviennent des incidents dupliqués. Séparément, Socket Mode ou le long polling tombent lors du sommeil du portable, des changements Wi‑Fi ou des middleboxes TLS d’entreprise — symptômes qui disparaissent sur un Mac cloud fixe avec egress stable.
- Au moins une livraison est l’hypothèse par défaut — concevez pour cela.
- L’escalade humaine doit contourner l’automatisation lorsque le store de dédup est indisponible.
- Le cross-posting de la même réponse d’agent vers deux canaux primaires embrouille les pistes d’audit.
Matrice des niveaux de canaux
| Canal | Meilleur rôle en 2026 | Caveat failover |
|---|---|---|
| Slack | Primaire pour équipes entreprise ; fils riches | Les jetons Socket Mode doivent tourner selon un calendrier documenté |
| Telegram | Bots personnels rapides ; bon broadcast secondaire | Les modes confidentialité de groupe changent la sémantique des mentions — tester avec de vrais groupes |
| Discord | Agents orientés communauté ; fan-in webhook | Limites de débit diffèrent par guilde ; sharder les alertes séparément |
Matrice idempotence et replay
| Pattern entrant | Recette clé de dédup | Indice TTL |
|---|---|---|
| Slack Events API | Hachage de event_id + team_id |
minimum 24 h |
| Telegram updates | update_id par bot |
48 h si maintenance hors ligne longue possible |
| Discord interactions | id du payload d’interaction + id guilde |
12 h sauf si vous proxifiez des retries plus longs |
Astuce stockage : gardez l’état de dédup sur le même volume non synchronisé que votre répertoire d’état OpenClaw pour que SQLite ou les verrous de fichiers se comportent de façon cohérente sous launchd.
Huit étapes de déploiement
- Déclarer les niveaux dans une note d’architecture d’une page avec propriétaires.
- Implémenter le store de dédup avec métriques de taux de hit et d’éviction.
- Tests de replay depuis payloads sauvegardés en staging deux fois par canal.
- Ajouter un disjoncteur quand le canal secondaire erre aussi — fail closed vers humains.
- Journaliser des IDs de corrélation à travers gateway, appels d’outils et réponses chat sortantes.
- Automatiser la rotation des jetons trimestriellement pour Slack Socket Mode.
- Game-day blocage DNS contre l’API du fournisseur primaire.
- Documenter le switch gel qui arrête l’exécution d’outils sans supprimer la config.
FAQ
Slack et Discord doivent-ils tous deux être primaires ?
Non — choisissez un primaire pour l’exécution d’outils automatisés ; utilisez l’autre pour notifications ou mode dégradé.
Qu’est-ce qu’une bonne clé de dédup ?
Identifiants stables du fournisseur plus portée workspace ou guilde, hachés, stockés avec TTL au-delà des fenêtres de retry.
Pourquoi un Mac NodeMac dédié ?
Disponibilité pour connexions longues, chemins prévisibles, placement régional proche de vos utilisateurs et APIs.