Zum Inhalt springen
claudemods

Flightdeck: Ein Claude Code Agenten-Dashboard für Ihr Terminal

Ein Live-Panel für Claude Code: Modell und Kontext, jede Berechtigungsprüfung, Subagenten-Karten, Turn-Beleg.

Berechtigungen

  • Fängt Tool-Aufrufe abSieht jeden Tool-Aufruf von Claude (tool.call / tool.check) und könnte ihn blockieren oder verändern.
  • Liest deine PromptsKann sehen, was du eingibst, und den Gesprächsverlauf lesen (prompt.* / session.append / session.messages).
  • Verändert die OberflächeZeichnet in die Oberfläche von Claude Code: Leisten, Bereiche, Statustext, Toasts (ui.render / $.ui.*).
  • Fügt Befehle/Tools hinzuRegistriert neue Slash-Befehle oder Tools, die du oder Claude aufrufen können ($.command.register / $.tool.register).
getestet mit
v2.1.303
zuletzt getestet
erfordert
Claude Code ≥ 2.1.287
Oberflächen
Bereich, über dem Prompt, Statuszeile

In Claude Code installieren:

/plugin install flightdeck --marketplace scasella/claude-flightdeck
Alle Installationswege ↓

Was macht diese Mod?

Flightdeck ist eine Community-Mod von Stephen Casella (scasella) und arbeitet als Claude Code Agenten-Dashboard: ein Panel, das zeigt, was Ihre Sitzung und ihre Agenten gerade tun. Es sammelt Modellname und Aufwandsstufe, eine Kontextanzeige, die Sitzungskosten, Ratenlimit-Fenster, wenn Ihr Tarif sie meldet, jede Berechtigungsprüfung, Subagenten-Karten und einen Beleg für den letzten Turn.

Die Panels sind: main (Modell, Aufwand, Modus, Anzahl der Anfragen, Kontext, Kosten, Geschwindigkeit der letzten Anfrage), architect (Konsultationen eines Berater-Agenten oder Server-Tools, per regulärem Ausdruck erkannt), gate (ein Feld pro Berechtigungsprüfung: erlaubt, vom Klassifikator oder von Ihnen entschieden, ausstehend oder abgelehnt), agents (Karten, die ab drei Agenten zu Swimlanes werden), loops (Modellschleifen, die zu keiner Karte passen), receipt (Dauer, Agenten, Änderungen, Fehler und Kosten des Turns) und ein kurzes log. Panels ohne Inhalt brauchen keinen Platz. Laut README des Autors stammt jede Zahl aus einem echten Sitzungsereignis; die „Momente“ des Architekten sind geschätzt und so gekennzeichnet.

Demo

Die Aufnahme startet Claude Code mit der geladenen Mod im kleinen Demo-Projekt. Das Terminal ist schmaler als 144 Spalten, daher öffnen wir das Panel mit /flightdeck. Über dem Prompt erscheint eine umrandete Zusammenfassung mit idle und $0.00. Dann bitten wir Claude, README.md zu lesen und das Projekt in einem Satz zu beschreiben. Während der Turn läuft, wechselt das Panel auf working und eine gate-Zeile zeigt 1 allowed · 0 classifier · 0 denied. Am Ende des Turns zeigt es die Kontextanzeige (4 %), die Kosten und eine Belegzeile: last turn 47s · 0 agents · 0 edits · 0 errors.

Installation

Nutzen Sie eine der Methoden im Installationsblock; sie installieren direkt aus dem eigenen Marketplace des Autors. Führen Sie /reload-plugins und danach /flightdeck aus. Der Autor weist darauf hin, dass der Installer melden kann, Konfigurationsoptionen seien nicht gesetzt; die Standardwerte funktionieren.

$ install flightdeck

Erfordert Claude Code ≥ 2.1.287

Wird aus dem Marketplace des Autors installiert: scasella/claude-flightdeck

  1. 1.Eine Zeile, direkt in Claude Code

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

    In eine laufende Sitzung einfügen (v2.1.275+). Claude Code fragt zuerst, ob der Marketplace hinzugefügt werden soll.

  2. 2.Aus deiner Shell

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

    Führe danach in jeder bereits geöffneten Sitzung /reload-plugins aus.

  3. 3.Ohne Installation ausprobieren

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

    Lädt die Mod nur für eine Sitzung. An deinen Einstellungen wird nichts geändert.

So funktioniert es

Alles liegt in $.state-Atomen, und jeder Hook aktualisiert sie und reicht das Ereignis weiter. Eine Berechtigungsprüfung wird so erfasst, aus 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
})

Das Urteil wird so zurückgegeben, wie es kam. Das Panel selbst wird an der Render-Stelle Pane gezeichnet. Das Layout hängt vom Ort ab: eine Zusammenfassung mit höchstens 8 Zeilen inline über dem Prompt, eine Spalte neben dem Transkript und zwei Spalten ab 110 Spalten. Zwei kleine Client-Module, rail.tsx und elapsed.tsx, zeichnen die animierten Verbindungslinien und die laufenden Uhren auf dem eigenen Frame-Takt der Oberfläche, sodass das Panel nicht neu zeichnen muss. Reducer und Formatierer sind reine Funktionen in hooks/core.ts.

Anpassen

Die Optionen stehen in /config: panels (welche Panels in welcher Reihenfolge), layout (auto, compact, wide oder mini), maxCards (1 bis 6), motion (while-active oder off), palette (theme oder pastel), architectPattern, architectLabel, gateLabel, matchDescriptions, moments, openOnStart und statusLine. Der Befehl /flightdeck kennt open, close, reset und layout auto|compact|wide|mini. Fokussieren Sie das Panel mit ctrl+x tab; die Tasten 1 bis 6 klappen eine Karte auf, und f, s, o öffnen die Datei-, Shell- und sonstigen Zeilen des Gate.

Berechtigungen & Sicherheit

Bevor wir etwas ausgeführt haben, haben wir jede Datei gelesen, die das Plugin ausführen kann: plugin.json, marketplace.json, hooks/hooks.json, hooks/register.tsx, hooks/core.ts, hooks/rail.tsx, hooks/elapsed.tsx, die Typdeklarationen und die Tests. Es gibt keine package.json, kein Installationsskript, keine Binärdatei und keinen gebündelten Code. Eine Suche nach Netzwerk, Prozessen, eval, dynamischem Import und versteckten Unicode-Zeichen blieb ohne Treffer.

  • Netzwerk, Prozesse, Dateien, Umgebung: keine. Die Mod sendet keine Anfragen, startet keine Befehle, liest und schreibt keine Dateien, liest keine Umgebungsvariablen und ruft das Modell nicht auf.
  • Was sie beobachtet: Name und Eingabe jedes Tool-Aufrufs, jedes Berechtigungsurteil, Subagenten-Starts, Token-Nutzung und Endantworten sowie die ersten 70 Zeichen jedes Prompts für das Log. Sie behält nur kurze Zusammenfassungen im Sitzungszustand, Zugangsdaten werden durch einen Filter mit regulären Ausdrücken maskiert. Der Filter ist ein Bemühen nach bestem Wissen; betrachten Sie das Panel daher als etwas, das Ihre Befehle zeigt.
  • Gating-Hooks: tool.check, tool.call, agent.spawn, agent.offer, session.append, session.compact und classic.UserPromptSubmit sind alle durchlässig: Sie warten auf next(e) und geben dessen Ergebnis zurück. claude plugin validate merkt an, dass sie kein .catch haben; die Hooks classic und compact laufen außerdem nicht dort, wo eine Organisation Claude Code verwaltet.
  • Telemetrie, Daemons, andere Schreibzugriffe: keine; nach der Sitzung bleibt nichts bestehen.
  • Lizenz: MIT, mit LICENSE-Datei.

claude plugin validate meldete keine Fehler oder Warnungen. Die 28 Tests des Autors bestanden unter Claude Code 2.1.303.

Fängt Tool-Aufrufe ab
Sieht jeden Tool-Aufruf von Claude (tool.call / tool.check) und könnte ihn blockieren oder verändern.
Liest deine Prompts
Kann sehen, was du eingibst, und den Gesprächsverlauf lesen (prompt.* / session.append / session.messages).
Verändert die Oberfläche
Zeichnet in die Oberfläche von Claude Code: Leisten, Bereiche, Statustext, Toasts (ui.render / $.ui.*).
Fügt Befehle/Tools hinzu
Registriert neue Slash-Befehle oder Tools, die du oder Claude aufrufen können ($.command.register / $.tool.register).

Kompatibilität & Fehlerbehebung

Geprüft mit Claude Code 2.1.303 unter macOS (validate und Tests); die README des Autors verlangt 2.1.287 oder neuer. Wenn das Panel nicht erscheint:

  • Führen Sie /reload-plugins und dann /flightdeck aus. Unter 144 Spalten öffnet sich das Panel nicht von selbst.
  • Suchen Sie im Transkript nach einer gedimmten Zeile, die mit flightdeck: beginnt; sie nennt den fehlgeschlagenen Hook oder den Grund, warum das Panel abgelehnt wurde.
  • Wirken die Farben falsch, setzen Sie palette auf pastel. Wirken Zähler nach einem Update veraltet, führen Sie /flightdeck reset aus.
  • In VS Code und auf dem Handy stehen Verbindungslinien und Uhren still.

FAQ

Sendet Flightdeck Daten von meinem Rechner weg?
Nein. Im Code haben wir keine Netzwerkaufrufe, keine Prozessstarts und kein Lesen oder Schreiben von Dateien gefunden. Es ruft nur die eigenen APIs von Claude Code für Uhr, Nutzung, Zustand und Panel auf. Der Zustand liegt im Sitzungszustand und endet mit der Sitzung.
Kann es meine Tool-Aufrufe blockieren oder ändern?
Nein. Es hängt sich in tool.check, tool.call, agent.spawn und weitere Hooks ein, aber jeder Hook wartet auf den nächsten Handler und gibt dessen Ergebnis unverändert zurück. Es lehnt nichts ab, schreibt nichts um und verzögert nichts.
Speichert es meine Befehle, auch mit Geheimnissen?
Pro Berechtigungsprüfung behält es eine einzeilige Zusammenfassung im Sitzungszustand (Toolname plus Pfad, Befehl oder Muster, auf 90 Zeichen gekürzt). Gängige Formen von Zugangsdaten wie Bearer-Token, API-Schlüssel und Passwörter werden vorher maskiert. Die Zusammenfassung erscheint nur im Panel und wird nicht über Sitzungen hinweg gespeichert.
Das Panel hat sich beim Start von Claude Code nicht geöffnet. Warum?
openOnStart öffnet das Panel nur in Terminals mit mindestens 144 Spalten. In einem schmaleren Terminal führen Sie /flightdeck aus. Inline über dem Prompt zeigt es eine Zusammenfassung mit 8 Zeilen.
Wie unterscheidet es sich von Agent Radar?
Agent Radar zeichnet über dem Prompt eine Live-Zeile pro laufendem Subagenten. Flightdeck ist ein breiteres Dashboard in einem Panel, mit Modell, Kontextanzeige, Kosten, einem Streifen für Berechtigungsprüfungen, Subagenten-Karten, die zu Swimlanes werden, und dem Beleg des letzten Turns.
Agent Radar in Claude CodeEmpfohlen

Agent Radar

Pro laufendem Subagent eine Live-Zeile über der Eingabe: Zeit, Tool-Anzahl und aktuelle Aktion, dazu ein /radar-Pane.

  • über dem Prompt
  • Bereich
  • Toast
  • Fängt Tool-Aufrufe ab
  • Liest deine Prompts
  • Verändert die Oberfläche
  • Fügt Befehle/Tools hinzu

getestet mit v2.1.291

Context Bar in Claude CodeEmpfohlen

Context Bar

Das Kontextfenster von Claude Code als gestapelter Balken über dem Prompt, eine Farbe pro Kategorie, mit Token-Zahlen.

  • über dem Prompt
  • Verändert die Oberfläche
  • Fügt Befehle/Tools hinzu
  • Speichert Daten

getestet mit v2.1.291

Kontext-Meter in Claude CodeEmpfohlen

Kontext-Meter

Kontextfüllstand, 5-Stunden- und 7-Tage-Plannutzung und Sitzungskosten in der Statuszeile, plus Warnung vor dem Limit.

  • Statuszeile
  • Toast
  • Verändert die Oberfläche

getestet mit v2.1.310

Mehr in Panes & Dashboards, Timer, Todos, Standups.