Zum Inhalt springen
claudemods

Context Inspector: Claude Code Kontextverschwendung finden

Zeigt, was das Claude-Code-Kontextfenster füllt, wie viel davon Verschwendung ist und was die Kompaktierung behielt.

Berechtigungen

  • Schreibt DateienKann Dateien auf deinem Rechner anlegen oder überschreiben ($.fs.write).
  • 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
Statuszeile, Bereich, Toast

In Claude Code installieren:

/plugin install context-inspector --marketplace YeonwooSung/my-claude-code-mods
Alle Installationswege ↓

Was macht diese Mod?

Context Inspector ist eine Community-Mod von YeonwooSung (my-claude-code-mods), die nach Claude Code Kontextverschwendung sucht. Sie führt ein Hauptbuch über alles, was in die Unterhaltung gelangt (Prompts, Antworten, Tool-Ergebnisse, Anhänge), und beantwortet drei Fragen: Was füllt das Fenster gerade, warum kommen dieselben Informationen immer wieder, und was hat eine Kompaktierung behalten oder verloren?

Sie ergänzt eine Statuszeile wie ctx 62% · waste≈8.1k, bei der der Prozentwert gemessen und die Verschwendung geschätzt ist. Dazu kommen drei Befehle. /context-inspect gibt einen Textbericht mit den Abschnitten overview, occupants, rereads, similar, compactions, efficiency und advice aus. /context-pane öffnet ein Live-Pane. /context-export speichert das Hauptbuch als JSONL, nur Metadaten.

Die Analysen sind konkret. Erneutes Lesen einer Datei wird eingeordnet, etwa als unverändert, solange die frühere Kopie noch im Fenster liegt (reine Verschwendung), nach einer Bearbeitung oder nach einer Kompaktierung. Fast gleiche Tool-Ausgaben werden über einen lexikalischen SimHash gruppiert, nicht nach Bedeutung. Nach einer Kompaktierung prüft die Mod, ob bearbeitete und gelesene Dateien, Fehler und Nutzerkennungen noch in der Zusammenfassung vorkommen. Das README des Autors verlangt Claude Code 2.1.287 oder neuer.

Demo

Die Aufnahme startet Claude Code mit der geladenen Mod im kleinen Demoprojekt und bittet Claude, README.md zu lesen und das Projekt in einem Satz zu beschreiben. Wenn der Turn endet, zeigt die Fußzeile context-inspector: ctx 4% · waste≈0. Danach führen wir /context-inspect aus. Der Bericht nennt die aktiven Token (etwa 6,2k in 17 Einträgen), die größten Belegungen nach Kategorie (die Anhänge Skill-Liste, MCP-Anweisungen und nachgeladene Tools), erneutes Lesen, ähnliche Ausgaben, Kompaktierungen, Effizienz und Hinweise. In dieser kurzen Sitzung wurde nichts zweimal gelesen, die Verschwendung ist also null und bei den Hinweisen steht, dass nichts auffällt.

Installation

Nutzen Sie eine der Methoden im Installationsblock; sie installieren direkt aus dem eigenen Marketplace des Autors. Die Statuszeile erscheint nach dem nächsten Sitzungsstart, sobald der erste Turn abgeschlossen ist.

$ install context-inspector

Erfordert Claude Code ≥ 2.1.287

Wird aus dem Marketplace des Autors installiert: YeonwooSung/my-claude-code-mods

  1. 1.Eine Zeile, direkt in Claude Code

    /plugin install context-inspector --marketplace YeonwooSung/my-claude-code-mods

    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 YeonwooSung/my-claude-code-mods
    claude plugin install context-inspector@my-claude-code-mods

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

  3. 3.Ohne Installation ausprobieren

    git clone https://github.com/YeonwooSung/my-claude-code-mods
    claude --plugin-dir ./my-claude-code-mods/context-inspector

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

So funktioniert es

Das Modul ist eine einzige register-Funktion in hooks/register.tsx, die Events umhüllt und unverändert weiterreicht. Jeder Buchhaltungsschritt läuft über einen Helfer, der eigene Fehler verschluckt, sodass der Inspector eine Sitzung nicht stören kann. Ein Tool-Aufruf wird vor und nach der Ausführung erfasst, und die Antwort geht so zurück, wie sie kam:

on('tool.call', async ($, e, next) => {
  const id = e.tool_use_id
  if (id !== undefined) safe(() => ingestToolCall(ledger, id, String(e.tool), e.agentId, e as unknown as Record<string, unknown>))
  const answer = await next(e)
  if (id !== undefined) safe(() => ingestToolResult(ledger, id, answer))
  return answer
}).catch(($, e, next) => next(e))

Der Auszug stammt aus hooks/register.tsx. Zeilen kommen über session.append, gemessene Anfragegrößen über turn.step und Kompaktierungen über session.compact. Nach jedem Turn reiht turn.complete ein Neuzeichnen ein, das $.session.usage() liest und die Statuszeile schreibt. Der Analysecode in hooks/core/ ist reines TypeScript mit ausschließlich lokalen Importen, und das Hauptbuch ist auf 20.000 Einträge begrenzt.

Anpassen

In /config gibt es zwei Optionen. outputDir legt fest, wohin /context-export schreibt; leer bedeutet ~/.claude/context-inspector. toastAdvice (standardmäßig an) zeigt pro Sitzung einen Toast, sobald zum ersten Mal eine Empfehlung mit hoher Dringlichkeit auftaucht. Die Befehle nehmen Argumente an: /context-inspect advice zeigt nur einen Abschnitt, --agents bezieht Subagenten ein.

Berechtigungen & Sicherheit

Wir haben vor dem Ausführen jede Datei gelesen, die das Plugin ausführen kann: das Manifest, hooks/hooks.json, hooks/register.tsx und alles in hooks/core/, einschließlich der Maskierungsregeln. Es gibt weder package.json noch Installationsskript, Binärdatei oder gebündelten Code, und die Importe sind ausschließlich lokale Dateien.

  • Netzwerk, Prozesse, Daemons, Telemetrie: keine. Kein fetch, keine Shell-Befehle, nichts, was nach dem Beenden von Claude Code weiterläuft.
  • Ändert die Oberfläche: Statuszeile, Toast und Pane. Fügt Befehle hinzu: die drei oben.
  • Beobachtet jeden Tool-Aufruf und jede Zeile über tool.call, session.append, turn.step und session.compact. Das sind Gating-Hooks, aber jeder gibt das Ergebnis des nächsten Handlers unverändert zurück und hat einen .catch-Fallback; nichts wird blockiert oder umgeschrieben. validate weist außerdem darauf hin, dass session.compact-Hooks in einem selbst installierten Plugin nicht laufen, wenn eine Organisation Claude Code verwaltet, es sei denn, die Organisation führt es in den verwalteten Einstellungen auf.
  • Dateischreibzugriffe: nur bei /context-export, über $.fs.write, nach <outputDir>/<Sitzungs-ID>/context-<load>-<n>.jsonl. Der Standard liegt in ~/.claude, im eigenen Unterordner des Plugins. Es liest HOME, um ~ aufzulösen. Dateipfade werden unverändert exportiert, andere Ziele nach bestem Bemühen maskiert; der Autor rät, Exporte vor dem Teilen zu prüfen.
  • Einfluss auf Prompts: keiner gefunden. Es fügt keinen Text in Prompts oder Tool-Ergebnisse ein; Hinweise gehen nur an Sie.
  • Externe Voraussetzungen: keine. Lizenz: Apache-2.0, LICENSE-Datei im Repo-Stammverzeichnis vorhanden.

claude plugin validate meldete keine Fehler und keine Warnungen, nur die oben genannten Hinweise. Die 102 Tests des Autors bestanden auf Claude Code 2.1.303.

Schreibt Dateien
Kann Dateien auf deinem Rechner anlegen oder überschreiben ($.fs.write).
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). Wenn die Statuszeile fehlt:

  • claude --version ist 2.1.287 oder neuer.
  • Ein Turn wurde abgeschlossen; die Zeile wird nach turn.complete gezeichnet.
  • /context-inspect gibt den Bericht auch ohne Statuszeile aus; damit lässt sich prüfen, ob die Mod geladen ist.
  • Im VS-Code-Chatfenster funktionieren nur Hooks und Befehlstext, nutzen Sie dort /context-inspect.

Bekannte Grenzen laut README: Nach Neuladen, Wiederaufnahme oder /clear beginnt das Hauptbuch neu, und das Überleben bei der Kompaktierung wird per Teilstring-Vergleich beurteilt, sodass umformulierte Fakten als verloren zählen.

FAQ

Verändert Context Inspector meine Sitzung oder ruft er das Modell auf?
Nein. Das README des Autors sagt, dass die Mod nur beobachtet, und der Code bestätigt das. Die Hooks reichen jeden Tool-Aufruf, jede Zeile, jeden Schritt und jede Kompaktierung unverändert weiter, und das Modell wird nie aufgerufen. Von Claude Code liest sie nur die Nutzungszahlen und nach einem Neuladen einmalig die vorhandenen Nachrichten.
Ist die Verschwendungszahl exakt?
Nein. Die Fensterbelegung stammt aus den Token-Zahlen, die die API gemeldet hat, aber die Größen der einzelnen Einträge und die Verschwendung sind Schätzungen und im Bericht mit ≈ markiert. Die Größe eines Eintrags ist die Zeichenzahl geteilt durch vier, skaliert mit einem Kalibrierfaktor zwischen 0,5 und 2,0.
Was schreibt /context-export und wohin?
Nur Metadaten, als JSONL-Dateien in <outputDir>/<Sitzungs-ID>/. Standard ist ~/.claude/context-inspector. Dateipfade bleiben erhalten; Befehle, Muster und URLs werden nach bestem Bemühen maskiert und auf 200 Zeichen gekürzt. Geschrieben wird erst, wenn Sie den Befehl ausführen.
Worin unterscheidet sie sich von Context Bar?
Context Bar teilt das Fenster wie /context nach Kategorien auf. Context Inspector verfolgt die einzelnen Einträge, die in die Unterhaltung gelangt sind, und kann daher sagen, welche Datei zweimal gelesen wurde, welche Ausgaben sich wiederholen und welche bearbeiteten Dateien die Kompaktierung verworfen hat. Statt eines Balkens liefert sie eine Statuszeile, ein Pane und einen Textbericht.
Funktioniert sie nach /clear oder einer Wiederaufnahme?
Ja, mit Einschränkungen. Das Hauptbuch wird geleert und die Hauptunterhaltung danach einmalig aus den Sitzungsnachrichten zurückgelesen. Anhänge, Subagenten und Zeitangaben werden nicht wiederhergestellt, und die erste Kompaktierung nach einem Neuladen zählt die wiederhergestellten Prompts und Antworten als verworfen.
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

Compact Adviser in Claude CodeEmpfohlen

Compact Adviser

Erkennt abgeschlossene Arbeitseinheiten und zeigt einen Hinweis, wann sich /compact in Claude Code lohnt.

  • Statuszeile
  • Bereich
  • Toast
  • Liest Dateien
  • Schreibt Dateien
  • Netzwerk
  • Liest deine Prompts
  • 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 Kontext, Kontingent, Kosten, Slash-Commands, Panes & Dashboards.