自律的Claudeコードセッション用Discordブリッジ

開発者は、Claudeがツールが起動するかCLI入力が送信されたときのみ動作するというプルベースの制限を解決するために、自律的なClaude Codeセッション用のDiscordブリッジを構築しました。このシステムは、WebSocketによるリアルタイム双方向チャットを可能にし、ローカルファイルキューイングと停止/エラーイベント時のプッシュ通知を実装しています。
アーキテクチャ
インバウンドフロー: Discord → WebSocket → bridge.js → discord-inbox.jsonl → PostToolUseフック → Claude
アウトバウンドフロー: Claude → Discord MCP → #claude-code-chat → 電話プッシュ通知
コンポーネント
- bridge.js(約50行、discord.js v14):専用チャンネルを監視し、メッセージをJSONL形式でローカルインボックスファイルに書き込む、Discordゲートウェイへの永続的WebSocket接続。APIポーリングは一切不要。
- PostToolUseフック: ネットワーク呼び出しやスロットリングなしで、すべてのツール呼び出し時にローカルインボックスを読み取ります。以前使用していた2分間のポーリング間隔と比較して、わずかマイクロ秒単位のファイル読み取りです。
- PreToolUseフック: 各セッションの最初のツール呼び出し時にブリッジを自動起動し、すでに実行中の場合は何もせずに処理を続行します。
- アウトバウンドWebhook: 停止/エラーイベント時に構造化されたSTATUS更新を送信し、Discordのthread_nameパラメータを使用してセッションごとに名前付きスレッドを自動生成します(channel_idを取得するには?wait=trueが必要 — デフォルトでは空の204レスポンスが返されます)。
主要な設計判断
主なアーキテクチャの転換点は、APIポーリングの代わりにローカルファイルキューを使用したことです。JSONLとアトミックな切り捨て操作により、競合状態を防止しています。このブリッジはセッションに依存せず、Discordの履歴はクラッシュや再起動をまたいで保持され、複数のエージェントが同じチャンネルを共有できます。
制限事項
権限承認プロンプト(1/2/3)は、Claudeがその時点でアイドル状態でありツールが起動していないため、依然として端末入力が必要です。これはアクティブ実行中のリダイレクトには機能しますが、停止したプロンプトへの応答には対応できません。
テスト結果
2つの並列セッションで27,000行を一晩かけて分析し、15個のバグを発見し、午前5時42分に6ヶ月分のロードマップを提供しました。セットアップには3つのbashファイルと約20分が必要です。
📖 完全なソースを読む: r/LocalLLaMA
👀 See Also

CtxSnap VS Code拡張機能は、Claudeセッションのファイル変更を追跡します
CtxSnapは、前回のClaudeセッション以降に変更されたファイルを追跡し、ファイル内容とClaudeの200kコンテキストウィンドウに合わせて調整されたトークン予算バーを含む、貼り付け可能な引き継ぎブロックにパッケージ化するVS Code拡張機能です。

バディボード:Claude Codeの/buddy機能のための競争リーダーボード
BuddyBoardは、Claude Codeの/buddy機能のための競争型リーダーボードを作成するコミュニティ構築ツールで、統計データ、レアリティ階層、1,728通りの組み合わせを追跡するBuddyDexを備えたトレーディングカードを生成します。npx buddy-boardを実行して、あなたのバディをグローバルランキングに登録できます。

オープンソースのマークダウン保管庫が、Claudeにセッションを超えた永続的な記憶を提供します。
My Portable Brainは、アイデンティティ、プロジェクト、目標、CRM、週次計画に関する永続的なコンテキストをClaudeに提供するエージェントランタイム層を備えたマークダウン保管庫構造です。Claude CodeとClaude Coworkとネイティブに連携し、プレーンマークダウンファイルを使用し、コンテキストを最新に保つために毎晩バックグラウンドスクリプトを実行します。

リポジトリトークン:GitHubアクションがLLMコンテキストウィンドウ認識のためのトークン数バッジを追加
Repo Tokensは、tiktokenを使用してコードベースのサイズをトークン数でカウントし、READMEにバッジを表示してLLMのコンテキストウィンドウの何パーセントを占めるかを示すGitHub Actionです。バッジは30%未満を緑、50-70%を黄、70%以上を赤で表示します。