Pont Discord pour Sessions de Code Autonome Claude

✍️ OpenClawRadar📅 Publié: March 2, 2026🔗 Source
Pont Discord pour Sessions de Code Autonome Claude
Ad

Un développeur a créé un pont Discord pour des sessions autonomes de Claude Code afin de résoudre la limitation par interrogation où Claude n'agit que lorsque des outils se déclenchent ou qu'une entrée CLI est envoyée. Le système permet un chat bidirectionnel en temps réel via WebSocket avec une file d'attente locale et des notifications push sur les événements d'arrêt/erreur.

Architecture

Flux entrant : Discord → WebSocket → bridge.js → discord-inbox.jsonl → crochet PostToolUse → Claude

Flux sortant : Claude → Discord MCP → #claude-code-chat → notification push téléphone

Composants

  • bridge.js (~50 lignes, discord.js v14) : WebSocket persistant vers la passerelle Discord qui écoute un canal dédié et écrit les messages en JSONL dans un fichier de boîte de réception local sans aucune interrogation d'API.
  • Crochet PostToolUse : Lit la boîte de réception locale à chaque appel d'outil sans appels réseau ni limitation — juste une lecture de fichier qui prend des microsecondes contre l'intervalle d'interrogation de 2 minutes utilisé précédemment.
  • Crochet PreToolUse : Démarre automatiquement le pont au premier appel d'outil de chaque session, ne faisant rien silencieusement s'il est déjà en cours d'exécution.
  • Webhook sortant : Envoie des mises à jour STATUS structurées sur les événements d'arrêt/erreur avec des fils nommés par session créés automatiquement via le paramètre thread_name de Discord (nécessite ?wait=true pour récupérer l'ID du canal — par défaut renvoie 204 vide).
Ad

Décisions de conception clés

Le principal changement architectural a été d'utiliser une file d'attente locale plutôt qu'une interrogation d'API. Le JSONL avec troncature atomique empêche les conditions de concurrence. Le pont est indépendant des sessions — l'historique Discord persiste après les plantages et redémarrages, permettant à plusieurs agents de partager le même canal.

Limitations

Les invites d'approbation de permissions (1/2/3) nécessitent toujours une entrée terminal puisque Claude est inactif à ce moment et que les outils ne se déclenchent pas. Cela fonctionne pour rediriger en cours d'exécution active mais pas pour répondre aux invites arrêtées.

Résultats des tests

Testé sur 27 000 lignes analysées pendant la nuit sur deux sessions parallèles, trouvant 15 bugs et livrant une feuille de route de 6 mois à 5h42. La configuration nécessite trois fichiers bash et environ vingt minutes.

📖 Lire la source complète : r/LocalLLaMA

Ad

👀 See Also