本文へスキップ
claudemods

Flightdeck:ターミナルのClaude Code エージェントダッシュボード

Claude Codeセッションのライブパネル。モデルとコンテキスト、全権限チェック、サブエージェントのカード、直前のターンのレシート。

権限

  • ツール呼び出しを傍受Claude が行うすべてのツール呼び出しを参照でき(tool.call / tool.check)、ブロックや変更も可能です。
  • プロンプトを読み取る入力内容と会話のトランスクリプトを参照できます(prompt.* / session.append / session.messages)。
  • UI を変更Claude Code の画面に描画します。バンド、ペイン、ステータス表示、トーストなど(ui.render / $.ui.*)。
  • コマンド・ツールを追加あなたや Claude が呼び出せる新しいスラッシュコマンドやツールを登録します($.command.register / $.tool.register)。
検証バージョン
v2.1.303
最終検証日
必要バージョン
Claude Code ≥ 2.1.287
表示先
ペイン、プロンプト上部、ステータス

Claude Code 内でインストール:

/plugin install flightdeck --marketplace scasella/claude-flightdeck
すべてのインストール方法 ↓

このModでできること

FlightdeckはStephen Casella(scasella)によるコミュニティmodで、Claude Code エージェントダッシュボードとして、セッションとそのエージェントが今何をしているかを1つのペインに表示します。モデル名と推論の強さ、コンテキストゲージ、セッションのコスト、プランが報告するレート制限の枠、全ての権限チェック、サブエージェントのカード、直前のターンのレシートを集めて見せます。

パネルは次のとおりです。main(モデル、強さ、モード、リクエスト数、コンテキスト、コスト、直前のリクエストの速度)、architect(アドバイザー型のエージェントやサーバーツールへの相談。正規表現で判定)、gate(権限チェックごとに1マス。許可、分類器またはあなたが判断、保留、拒否)、agents(エージェントが3つを超えるとカードがスイムレーンに変わる)、loops(どのカードにも当てはまらないモデルループ)、receipt(ターンの所要時間、エージェント数、編集数、エラー数、コスト)、短いlogです。表示するものがないパネルは場所を取りません。作者のREADMEでは全ての数値が実際のセッションイベントに基づくとされています。architectの「タイミング」は推定で、そう表示されます。

デモ

録画では、小さなデモプロジェクトでmodを読み込んだClaude Codeを起動します。ターミナルは144桁より狭いので、/flightdeck でペインを開きます。プロンプトの上に枠付きの要約が現れ、idle と $0.00 を示します。次にClaudeへ README.md を読んでプロジェクトを1文で説明するよう頼みます。ターンの実行中はペインが working に変わり、gate の行に 1 allowed · 0 classifier · 0 denied が出ます。ターンが終わると、コンテキストゲージ(4%)、コスト、そして last turn 47s · 0 agents · 0 edits · 0 errors というレシートの行が表示されます。

インストール

インストール欄のどの方法でも、作者自身のマーケットプレイスから直接インストールされます。/reload-plugins を実行してから /flightdeck を実行してください。作者によると、インストーラーが設定オプション未設定と表示することがありますが、デフォルトのままで動きます。

$ install flightdeck

Claude Code 2.1.287 以上が必要

作者のマーケットプレイスからインストール: scasella/claude-flightdeck

  1. 1.Claude Code 内で1行

    /plugin install flightdeck --marketplace scasella/claude-flightdeck

    実行中のセッション(v2.1.275 以降)に貼り付けます。最初に Claude Code がマーケットプレイスの追加を確認します。

  2. 2.シェルから

    claude plugin marketplace add scasella/claude-flightdeck
    claude plugin install flightdeck@claude-flightdeck

    その後、すでに開いているセッションでは /reload-plugins を実行してください。

  3. 3.インストールせずに試す

    git clone https://github.com/scasella/claude-flightdeck
    claude --plugin-dir ./claude-flightdeck

    その1セッションだけ Mod を読み込みます。設定には何も追加されません。

仕組み

全ての内容は $.state のアトムに保持され、各フックがそれを更新してイベントをそのまま渡します。権限チェックは次のように記録されます(hooks/register.tsx より)。

on('tool.check', async ($, e, next) => {
  const verdict = await next(e)
  if (e.tool_use_id) {
    const check: Check = {
      id: e.tool_use_id,
      tool: e.tool,
      bucket: bucketOf(e.tool),
      verdict: verdict.decision === 'allow' ? 'rule' : verdict.decision,
      detail: shorten(describeInput(e.tool, e.input), 90),
      // ...
    }
    await update($, gate, g => recordCheck(normalizeGate(g), check))
  }
  return verdict
})

判定は届いたまま返されます。ペイン自体は Pane の描画位置に描かれます。レイアウトは置かれる場所で変わり、プロンプトの上のインラインでは最大8行の要約、トランスクリプトの横にドックしたときは1列、110桁以上では2列です。小さなクライアントモジュール rail.tsx と elapsed.tsx が、アニメーションする接続線と実行中の時計を画面自身のフレームクロックで描くため、ペイン全体は再描画されません。リデューサーとフォーマッターは hooks/core.ts の純粋関数です。

カスタマイズ

オプションは /config にあります。panels(表示するパネルと順序)、layout(auto、compact、wide、mini)、maxCards(1〜6)、motion(while-active または off)、palette(theme または pastel)、architectPattern、architectLabel、gateLabel、matchDescriptions、moments、openOnStart、statusLine です。/flightdeck コマンドは open、close、reset、layout auto|compact|wide|mini を受け付けます。ctrl+x tab でペインにフォーカスし、1〜6 でカードを展開し、f、s、o でgateのファイル、シェル、その他の行を開きます。

権限と安全性

何かを実行する前に、プラグインが実行できる全てのファイルを読みました。plugin.json、marketplace.json、hooks/hooks.json、hooks/register.tsx、hooks/core.ts、hooks/rail.tsx、hooks/elapsed.tsx、型定義、テストです。package.json、インストールスクリプト、バイナリ、バンドルされたコードはありません。ネットワーク、プロセス、eval、動的import、隠しUnicodeを検索しましたが、何も見つかりませんでした。

  • ネットワーク、プロセス、ファイル、環境変数: いずれもなし。リクエストを送らず、コマンドを実行せず、ファイルを読み書きせず、環境変数を読まず、モデルも呼びません。
  • 観察するもの: 全てのツール呼び出しの名前と入力、全ての権限判定、サブエージェントの起動、トークン使用量と最終回答、そしてログ用に各プロンプトの先頭70文字です。保持するのはセッション状態内の短い要約だけで、認証情報は正規表現のフィルターでマスクされます。このフィルターはベストエフォートなので、ペインにはコマンドが表示されるものと考えてください。
  • ゲート型フック: tool.check、tool.call、agent.spawn、agent.offer、session.append、session.compact、classic.UserPromptSubmit は全て素通しで、next(e) を待ってその結果を返します。claude plugin validate は、これらに .catch がないと通知しています。また、組織がClaude Codeを管理している環境では、classicとcompactのフックは実行されません。
  • テレメトリ、デーモン、その他の書き込み: いずれもなし。セッションの後には何も残りません。
  • ライセンス: MIT。LICENSEファイルあり。

claude plugin validate はエラーも警告も報告しませんでした。作者の28件のテストはClaude Code 2.1.303で全て通りました。

ツール呼び出しを傍受
Claude が行うすべてのツール呼び出しを参照でき(tool.call / tool.check)、ブロックや変更も可能です。
プロンプトを読み取る
入力内容と会話のトランスクリプトを参照できます(prompt.* / session.append / session.messages)。
UI を変更
Claude Code の画面に描画します。バンド、ペイン、ステータス表示、トーストなど(ui.render / $.ui.*)。
コマンド・ツールを追加
あなたや Claude が呼び出せる新しいスラッシュコマンドやツールを登録します($.command.register / $.tool.register)。

互換性とトラブルシューティング

macOSのClaude Code 2.1.303で確認しました(validateとテスト)。作者のREADMEは2.1.287以降を求めています。ペインが表示されない場合:

  • /reload-plugins を実行し、次に /flightdeck を実行します。144桁未満ではペインは自動で開きません。
  • トランスクリプトで flightdeck: で始まる薄い色の行を探します。失敗したフックや、ペインが拒否された理由が書かれています。
  • 色がおかしいときは palette を pastel にします。更新後にカウンターが古く見えるときは /flightdeck reset を実行します。
  • VS Codeとモバイルでは、接続線と時計は静止します。

よくある質問

Flightdeckはデータをマシンの外に送りますか?
いいえ。コードにはネットワーク呼び出し、プロセス起動、ファイルの読み書きが見つかりませんでした。Claude Code自身のAPIで時計、使用量、状態、ペインを扱うだけです。状態はセッション状態に置かれ、セッションとともに消えます。
ツール呼び出しをブロックしたり変更したりしますか?
いいえ。tool.check、tool.call、agent.spawnなどにフックしますが、どのフックも次のハンドラーを待ち、その結果をそのまま返します。何かを拒否、書き換え、遅延させることはありません。
シークレットを含むコマンドが保存されますか?
権限チェックごとに1行の要約(ツール名とパス、コマンド、パターン。90文字まで)をセッション状態に保持します。bearerトークン、APIキー、パスワードなど一般的な認証情報の形はその前にマスクされます。要約はペインに表示されるだけで、セッションをまたいで保存されません。
Claude Codeを起動してもペインが開きません。なぜですか?
openOnStartは144桁以上のターミナルでのみペインを自動で開きます。それより狭い場合は /flightdeck を実行してください。プロンプトの上にインライン表示するときは8行の要約になります。
Agent Radarとの違いは何ですか?
Agent Radarは実行中のサブエージェントごとに1行をプロンプトの上に表示します。Flightdeckは1つのペインに、モデル、コンテキストゲージ、コスト、権限チェックの帯、スイムレーンに切り替わるサブエージェントのカード、直前のターンのレシートをまとめた、より幅広いダッシュボードです。
Claude Code で動作中の Agent Radarおすすめ

Agent Radar

実行中のサブエージェントごとに入力欄の上へ 1 行表示:経過時間、ツール数、現在の動作。/radar ペイン付き。

  • プロンプト上部
  • ペイン
  • トースト
  • ツール呼び出しを傍受
  • プロンプトを読み取る
  • UI を変更
  • コマンド・ツールを追加

v2.1.291 で検証済み

Claude Code で動作中の Context Barおすすめ

Context Bar

Claude Code のコンテキストウィンドウを、カテゴリごとに色分けした 1 本の積み上げバーとしてプロンプトの上に表示します。トークン数付き。

  • プロンプト上部
  • UI を変更
  • コマンド・ツールを追加
  • データを保存

v2.1.291 で検証済み

Claude Code で動作中の コンテキストメーターおすすめ

コンテキストメーター

コンテキストウィンドウの使用率、5 時間・7 日間のプラン使用量、セッションのコストをステータスラインに表示し、上限が近づくと警告します。

  • ステータス
  • トースト
  • UI を変更

v2.1.310 で検証済み

同じカテゴリの Mod: ペインとダッシュボード、タイマー、ToDo、スタンドアップ。