Zum Inhalt springen
claudemods

Token Weather: Claude Code Kontextfenster Vorhersage über dem Prompt

Wetterbericht für das Claude Code Kontextfenster über dem Prompt, mit Turn-Verlauf und Cache-Countdown.

Berechtigungen

  • Liest DateienKann Dateien lesen und Verzeichnisse auf deinem Rechner auflisten ($.fs.read / list / stat / exists).
  • Führt Befehle ausKann Shell-Programme auf deinem Rechner ausführen ($.process.run / spawn). Im Quellcode siehst du, welche genau.
  • Verändert die OberflächeZeichnet in die Oberfläche von Claude Code: Leisten, Bereiche, Statustext, Toasts (ui.render / $.ui.*).
  • Speichert DatenBehält Daten zwischen Sitzungen im privaten Speicher des Plugins ($.store.*).
getestet mit
v2.1.307
zuletzt getestet
erfordert
Claude Code ≥ 2.1.287
Oberflächen
über dem Prompt

In Claude Code installieren:

/plugin install token-weather --marketplace hamzafer/claude-code-mods
Alle Installationswege ↓

Was macht diese Mod?

Token Weather ist eine Community-Mod von Hamza Zafar (hamzafer) und Teil seiner Sammlung claude-code-mods. Sie liefert eine Claude Code Kontextfenster Vorhersage in einer Zeile über dem Prompt: ein Wetterwort samt Symbol dafür, wie voll das Fenster ist, dazu die Prozentzahl, die Tokenzahl im Verhältnis zur Fenstergröße, eine Sparkline der letzten Turns und ein Countdown, wie lange der Prompt Cache noch warm bleibt.

Die Vorhersage reicht von ☀ Clear (unter 25 %) über ☁ Cloudy, ☂ Showers und ☇ Storm bis zu ↯ Compact soon ab 90 %. Daneben zeichnet last turns bis zu 12 Messwerte als ▁▂▃▄▅▆▇█, skaliert auf den größten davon, gefolgt von der Veränderung des letzten Turns, etwa ▲ +39.4k last turn. Ist die Zeile breit genug, zählt ❄ cache 4:12 bis zum Ablauf des Prompt Cache herunter, wird in der letzten Minute gelb und zeigt danach ❄ cache cold.

Token Weather überschneidet sich mit unseren Seiten zu Context Bar, Context Meter und Cache Clock. Context Bar schlüsselt das Fenster nach Kategorien auf, Context Meter zeigt Prozentwert und Tarifverbrauch in der Statuszeile, Cache Clock zeigt Cache-Details unter der Statuszeile. Token Weather liefert ein Urteil in einer Zeile und den Trend. Im Marketplace des Autors steht die Version 0.2.2.

Demo

Die Aufnahme startet Claude Code mit geladener Mod im kleinen Demoprojekt. Vor dem ersten Prompt lautet die Zeile über dem Eingabefeld ☀ Clear 0% of context 0 / 1M. Dann bitten wir Claude, README.md zu lesen und in einem Satz zu sagen, worum es im Projekt geht. Während die erste Anfrage läuft, erscheint ein Countdown ❄ cache 5:00. Nach dem Turn zeigt die Zeile ☀ Clear 4% of context 39.4k / 1M, eine Sparkline, ▲ +39.4k last turn und ❄ cache 60:00, weil die Antwort einen einstündigen Cache geschrieben hat.

Installation

Nutze eine der Methoden im Installationsblock; sie installieren direkt aus dem Marketplace des Autors. Die Zeile erscheint beim nächsten Sitzungsstart. Das Plugin hat eine einzige Option: die Lebensdauer des Prompt Cache.

$ install token-weather

Erfordert Claude Code ≥ 2.1.287

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

  1. 1.Eine Zeile, direkt in Claude Code

    /plugin install token-weather --marketplace hamzafer/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 hamzafer/claude-code-mods
    claude plugin install token-weather@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/hamzafer/claude-code-mods
    claude --plugin-dir ./claude-code-mods/mods/token-weather

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

So funktioniert es

Die Mod hält ihre Messwerte in $.state-Atomen, die der Host verwaltet, sodass sie einen Hot Reload überstehen. Ein Messwert wird beim Sitzungsstart und nach jedem Turn des Hauptagenten aus den Kontextwerten von $.session.usage genommen. Die Cache-Uhr startet nach jeder Modellanfrage des Hauptthreads neu, auch bei Anfragen der Tool-Schleife innerhalb eines Turns. Das ist der turn.step-Handler aus hooks/register.tsx:

on('turn.step', async function* ($, e, next) {
  const result = yield* next(e)
  if (!e.agentId && result.stopReason !== null) {
    const now = await $.clock.now()
    await update($, lastRequestAt, () => now)
    restart($, now, now, await ttlMsFor($, override))
  }
  return result
})

Im Modus auto liest sie nach jedem Turn das letzte Megabyte des Sitzungsprotokolls (<config dir>/projects/<project>/<session id>.jsonl) und sucht in cache_creation der letzten Hauptthread-Antwort nach 1-Stunden- oder 5-Minuten-Token. Das Ergebnis merkt sie sich im Speicher des Plugins für die nächste Sitzung. Ein Timer zeichnet die Zeile neu, wenn sich der Countdown-Text ändert: alle 30 Sekunden bei mehr als zehn Minuten Restzeit, darunter alle 15 Sekunden und in den letzten zwei Minuten jede Sekunde.

Anpassen

Die einzige Option ist cacheTtl in den Plugin-Einstellungen: auto (Standard), 5m oder 1h. Ein fester Wert hat Vorrang vor der Erkennung. Die Stufen der Vorhersage, der Verlauf von 12 Messwerten und die 60-Sekunden-Warnung sind Konstanten am Anfang von register.tsx. Die Mod liest außerdem eine optionale Reihenfolgedatei, <config dir>/claude-code-mods/bands.json, die festlegt, in welcher Reihenfolge mehrere Band-Mods desselben Autors über dem Prompt erscheinen.

Berechtigungen & Sicherheit

Wir haben vor dem Ausführen jede Datei gelesen, die das Plugin ausführen kann: .claude-plugin/plugin.json, hooks/hooks.json, hooks/register.tsx, hooks/bands.ts, die Typdeklarationen und die drei Testdateien. Es gibt keine package.json, kein Installationsskript, keine Binärdatei und keinen gebündelten Code. Der gezeichnete Text entsteht aus Zahlen; in den Prompt des Modells wird nichts eingeschleust. Das Repository enthält eine MIT-LICENSE.

Was die Mod im Einzelnen tut:

  • Netzwerk: keines.
  • Prozesse: einer, tail -c 1048576 <Pfad des Protokolls>, nur wenn das Protokoll größer als 1 MB ist. Sonst wird die Datei direkt gelesen.
  • Gelesene Dateien: dein eigenes Sitzungsprotokoll (zur Erkennung der Cache-Lebensdauer), die optionale bands.json im Claude-Konfigurationsverzeichnis und die Claude-Code-Einstellungen über $.settings.read (um zu sehen, ob die Cache-Clock-Statuszeile gesetzt ist). Zum Auffinden liest sie die Umgebungsvariablen HOME und CLAUDE_CONFIG_DIR.
  • Geschriebene Dateien: keine direkt. Die erkannte Cache-Lebensdauer (5m oder 1h) speichert sie mit $.store, dem eigenen Speicher des Plugins.
  • Hintergrundarbeit: ein Timer zum Neuzeichnen innerhalb von Claude Code, der mit der Sitzung endet. Kein Daemon.
  • Eingriffe: keine. Sie blockiert oder verändert weder Tool-Aufrufe noch Prompts.

claude plugin validate meldete für das Plugin selbst weder Fehler noch Warnungen (der Verzeichnis-Checker merkt ein fehlendes Icon an). Die 24 Tests des Autors liefen mit Claude Code 2.1.307 durch.

Liest Dateien
Kann Dateien lesen und Verzeichnisse auf deinem Rechner auflisten ($.fs.read / list / stat / exists).
Führt Befehle aus
Kann Shell-Programme auf deinem Rechner ausführen ($.process.run / spawn). Im Quellcode siehst du, welche genau.
Verändert die Oberfläche
Zeichnet in die Oberfläche von Claude Code: Leisten, Bereiche, Statustext, Toasts (ui.render / $.ui.*).
Speichert Daten
Behält Daten zwischen Sitzungen im privaten Speicher des Plugins ($.store.*).

Kompatibilität & Fehlerbehebung

Geprüft mit Claude Code 2.1.307 unter macOS (Validate, Tests und Aufnahme). Wenn die Zeile nicht erscheint:

  • Du hast nach der Installation eine neue Sitzung gestartet; die Mod wird beim Sitzungsstart geladen.
  • Über dem Eingabefeld ist keine Umfrage offen. Die Zeile weicht Umfragen und kommt danach zurück.
  • Das Fenster ist mindestens 60 Spalten breit. In schmaleren Terminals erscheinen nur das Wetterwort, die Prozentzahl und die Tokenzahl.
  • Stimmt der Countdown nicht, setze cacheTtl auf 5m oder 1h statt auf auto. Ein sehr langer Projektpfad oder ein Projekt, das während der Sitzung verschoben wurde, kann dazu führen, dass das Protokoll nicht gefunden wird; dann bleibt der zuletzt erkannte Wert.
  • Nach /clear oder einer Wiederaufnahme bleibt der Countdown bis zur nächsten Anfrage ausgeblendet.

FAQ

Ruft Token Weather die API auf oder verbraucht es Token?
Nein. Es gibt keine Netzwerkaufrufe und keine Modellaufrufe. Die Mod liest die Kontextwerte, die Claude Code ohnehin hat, über $.session.usage. Der einzige Prozess, den sie startet, ist `tail` auf deinem eigenen Sitzungsprotokoll, um die Cache-Lebensdauer zu erkennen.
Was bedeuten Clear, Cloudy, Showers, Storm und Compact soon?
Das sind Stufen der Kontextauslastung, jeweils gemessen an der Fenstergröße, die Claude Code meldet. Clear liegt unter 25 %, Cloudy unter 50 %, Showers unter 75 %, Storm unter 90 %, und ab 90 % heißt es Compact soon.
Woher weiß die Mod, ob der Prompt Cache 5 Minuten oder 1 Stunde hält?
Im Standardmodus `auto` liest sie nach jedem Turn des Hauptthreads das Ende des Sitzungsprotokolls und prüft, ob die letzte Antwort 5-Minuten- oder 1-Stunden-Cache-Token geschrieben hat. Bis sie eine sieht, geht sie von 5 Minuten aus. In den Plugin-Optionen kannst du `5m` oder `1h` fest vorgeben.
Warum fehlt der Cache-Countdown bei mir?
Er braucht mindestens 60 Spalten Breite und genug Platz in der Zeile, und er erscheint erst nach der ersten Anfrage der Sitzung. Außerdem blendet er sich aus, wenn die Cache-Clock-Statuszeile eingerichtet ist, weil diese den genauen Countdown zeigt.
Was unterscheidet sie von Context Bar?
Context Bar teilt das Fenster in farbige Kategorien mit Legende auf. Token Weather ist eine einzige Zeile mit einem Urteil, der Prozentzahl, einer Sparkline der letzten 12 Turns und dem Cache-Countdown. Beide können gemeinsam über dem Prompt stehen.
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

Cache Clock in Claude CodeEmpfohlen

Cache Clock

Eine Prompt-Cache-Zeile unter der Statuszeile: Restzeit, Trefferquote und Tokens, die kalt neu gecacht werden.

  • Statuszeile
  • Liest Dateien
  • Schreibt Dateien
  • Führt Befehle aus
  • Fügt Befehle/Tools hinzu

getestet mit v2.1.296

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

Usage Meter in Claude CodeEmpfohlen

Usage Meter

5-Stunden- und 7-Tage-Nutzung deines Plans als kleine Balken über dem Prompt, mit Reset-Countdown und Sitzungskosten.

  • über dem Prompt
  • Toast
  • Verändert die Oberfläche

getestet mit v2.1.291

Mehr in Kontext, Kontingent, Kosten, Statuszeile & Prompt-Leiste.