Show HN:Fleet Deck – マシン上のすべてのClaude Codeセッションを1つのボードで確認
Fleet Deckは、実行中のすべてのClaude Codeセッションを監視・管理するローカルツールです。各セッションの状態、競合警告、未処理リクエストを表示し、タスク割り当て、リモートコントロール、セッション復元、バッチ生成などを可能にします。コアはモデル呼び出しを一切行わず、フックイベントと決定論的ロジックに依存して安全性と効率性を実現します。
Fleet Deckは、複数のClaude Codeセッションを管理するためのローカル監視・コントロールパネルです。同じリポジトリの異なるワークツリーで複数のセッションを起動したり、一時的に補助タスクを作成したりする場合でも、Fleet Deckはそれらすべてをブラウザ上の1つのボードに統一的に表示します。各セッションにはユニークなコールサイン(例:falcon-a3f2)が割り当てられ、リアルタイムステータス(キュー待ち、作業中、検証中、あなたが必要、アイドル、オフライン)が表示されます。これらのステータスはフックテレメトリに基づいており、セッションが自己報告するわけではないため、「もうすぐ終わる」という楽観的な誤報を防ぎます。
競合検出はFleet Deckの中心機能の1つです。2つのセッションが30分以内に同じファイルを編集しようとすると、両方のセッションに「調整し、上書きしないでください」というコンテキスト警告が送信され、同時にボード上の該当カードが赤く点滅します。この検出はワークツリー認識もサポートしており、リポジトリの異なるワークツリーで同じファイルを編集している場合でも、将来のマージ競合を予測できます。
ボード上の「あなたが必要」トラックは、すべてのセッションからの権限要求、選択問題、MCPフォーム、「bcryptとargon2のどちらを使うべきですか?」といった質問を収集し、ボードから直接回答できます。端末はこれらのプロンプトを表示せず、「⎿ PermissionRequestフックにより許可されました」と出力してそのまま処理を続けます。さらに、Fleet Deckはメール機能を提供し、個別のセッション、リポジトリ全体、またはすべてのセッションにメッセージを送信できます。メッセージは次のターン境界で配達され、アイドル状態のセッションは通常数秒以内に通知を受け取ります。
Fleet Deckには軽量なオーケストレーターも含まれています。「assign auto: fix the flaky test」のような指示を出すと、ボードが最適な候補セッション(アイドル、負荷最小、リポジトリ一致)を自動的に選択してタスクを実行します。このプロセスはSQLクエリで行われ、モデル呼び出しは一切ありません。あなたのトークンは追加で消費されません。ボード上の「+ Spawn」ボタンは、新しい対話型Claudeセッションを起動し、tmuxウィンドウ内で実行します。作業の様子をリアルタイムで観察したり、いつでも終了したりできます。
高度な機能としてバッチ生成があります。「batch」にチェックを入れると、入力ボックスに1行に1つずつタスクをリストできます。各タスクは独立したgitワークツリーとブランチを作成し、互いに干渉しません。「3x」プレフィックスを使うと、同じタスクを並行して3回実行し、競わせて最良の結果を選ぶことができます。起動前のフォームは正確なセッション数を表示し、リソース使用量を一目で把握できます。
Fleet Deckの設計は、ゼロモデル呼び出しとフェイルオープンを重視しています。デーモン(fleetd)はNode.jsのバックグラウンドプロセスで、SQLiteで状態を保存し、デフォルトではループバックアドレス127.0.0.1のみにバインドするため、外部からアクセスできません。デーモンがクラッシュしても、フックはサイレントタイムアウトし、セッションは通常通り実行され、作業に影響しません。ボード自体はReactベースのシングルページアプリケーションで、WebSocketを介してデーモンと通信します。
セキュリティに関して:Fleet Deckのコアはモデル呼び出しを一切行わず、決定論的ロジックのみを使用します。唯一の追加コストは、セッションごとの約100トークンの簡単なレポートと、時折のささやきです。リモートコントロール機能はclaude.aiを介してスマートフォンからセッションを操作できますが、デフォルトではループバックにバインドされており、FLEETDECK_BIND=0.0.0.0を設定してトークンを構成した場合のみLANからアクセス可能になります。
Fleet Deckはセッションの復元(Revive)もサポートしています。マシンが再起動したりtmuxがクラッシュしても、失われたターミナルは作業を失いません。gitワークツリーとセッションのトランスクリプトはディスクに残っています。オフラインでもワークツリーとトランスクリプトが両方とも存在するカードには「⟲ revive」ボタンが表示されます。クリックすると、--resumeフラグを使用して元のワークツリーでセッションが再起動され、同じコールサインと完全な履歴(セッションIDも含む)が保持されます。
インストールは、Claudeプラグインマーケットプレイスから2つのコマンドを実行するだけです。その後、新しいclaudeの起動は自動的にボードに登録されます。Node 22.5+が必要で、追加のnpmインストールは不要です(デーモンは1つのバンドルファイルとして提供されます)。Linux、WSL2、macOSをサポートしています。tmuxはオプションですが、有効にするとターミナルパネルの表示やワーカーの生成が可能になります。
まとめると、Fleet DeckはClaude Codeユーザーに強力な航空交通管制塔を提供し、複雑なワークフローの管理、競合と混乱の削減、低オーバーヘッドと高信頼性を実現します。