Skip to content

About

Claude-Code-Mod: zeigt, ob der Prompt-Cache noch warm ist, und hält ihn in Pausen warm

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

keepcachewarm

Ein Mod für Claude Code, der dir über dem Eingabefeld zeigt, ob der Prompt-Cache deiner Session noch warm ist, und ihn auf Wunsch in Pausen automatisch warm hält.

Warum

Nach jeder Antwort hält der Prompt-Cache bei Claude-Abos 60 Minuten (per API 5 Minuten). Solange er warm ist, wird der bisherige Kontext für etwa 10 % des Preises gelesen. Ist er kalt, kostet der nächste Prompt den vollen Preis für den ganzen Kontext. Bei langen Sessions mit großem Kontext lohnt es sich also, das Fenster nicht ungenutzt ablaufen zu lassen.

Was der Mod macht

Eine Zeile über dem Eingabefeld, von links nach rechts:

● Cache 42 min │ Kontext ▰▰▰▰▰▰ 60% 120k/200k │ 5h ▰▰▰▰▰▰ 34% ↻1:52 h │ Woche 12% │ 1,24 $  [ Warmhalten: aus ]  [ Komprimieren ]

Balken bestehen aus gleich großen Feldern: die vollen in der Ampelfarbe, die leeren abgeblendet.

  • Cache-Zustand: noch keine Antwort / Claude arbeitet / warm mit Restzeit / abgelaufen. Grün, gelb ab 15 Minuten Restzeit, rot ab 5 Minuten und nach Ablauf. Die Restzeit läuft sichtbar herunter.
  • Kontext: Balken, Prozent und belegte Tokens / Fenstergröße.
  • 5-Stunden-Limit mit Balken, Prozent und Zeit bis zum Zurücksetzen, Wochenlimit in Prozent und die Kosten der Session in US-Dollar, soweit Claude Code sie liefert. Balken: grün, gelb ab 50 %, rot ab 80 %.
  • Knöpfe: der Schalter fürs Warmhalten und „Komprimieren“ (führt /compact aus), sobald der Kontext mindestens halb voll ist oder weniger als 10 Minuten bleiben.

Die Werte werden beim Start und nach jeder Antwort neu eingelesen. Wird das Fenster schmaler, wird die Zeile knapper statt umzubrechen: erst ohne Tokenzahlen und mit kurzen Knöpfen (Warm: aus, /compact), dann ohne Balken (● 42 min │ Ktx 60% │ 5h 34% ↻1:52 h │ Wo 12% │ 1,24 $). Erst wenn auch das nicht passt, teilt sie sich auf zwei Zeilen auf, nie auf mehr. Zeilen anderer Mods über dem Eingabefeld bleiben stehen, diese kommt darunter; läuft dort gerade eine Umfrage, zeichnet der Mod nichts. Er funktioniert im Terminal und im Code-Tab der Desktop-App.

Warnung vor Ablauf (nur bei ausgeschaltetem Warmhalten): 5 Minuten vor Ablauf, einmal je Cache-Fenster, ein kurzer Zweiklang, eine Einblendung und eine rote Zeile über der Statuszeile mit zwei Knöpfen:

  • Einmal warm halten schickt sofort einen Mini-Prompt, dessen Antwort ein neues Fenster öffnet.
  • Kontext komprimieren führt /compact aus.

Automatisch warm halten (Schalter Warmhalten: an/aus, sichtbar ab der ersten Antwort): 3 Minuten vor Ablauf schickt der Mod selbst einen Mini-Prompt, der Claude bittet, nur mit „ok“ zu antworten. Dabei gilt:

  • höchstens ein Ping je Cache-Fenster;
  • kein Ping, solange Claude arbeitet oder im Eingabefeld Text steht; sobald das Feld leer ist und noch Zeit bleibt, wird nachgeholt;
  • neben dem Schalter steht, wann gepingt wird; Ton, Einblendung und rote Warnzeile entfallen;
  • der Schalter geht von selbst aus (mit Grund daneben und einer Einblendung) nach 4 Stunden ab dem Einschalten, wenn das 5-Stunden-Limit 90 % erreicht, oder wenn der Cache schon abgelaufen ist (etwa nach dem Ruhezustand), denn dann würde ein Ping nur den vollen Preis zahlen.

Der Zustand wird je Session gemerkt und übersteht ein Neuladen des Mods und das Fortsetzen der Session, solange die Höchstdauer nicht um ist. Antworten von Subagenten zählen nicht als letzte Antwort. Wenn das Band über dem Eingabefeld den Fokus hat (Klick oder ctrl+x tab), drücken w, p und k die Knöpfe.

Installation

Im Terminal in einer Claude-Code-Session:

/plugin marketplace add HitEmUp/keepcachewarm
/plugin install keepcachewarm@keepcachewarm

oder in einem Schritt:

/plugin install keepcachewarm --marketplace HitEmUp/keepcachewarm

Die Frage nach dem Marktplatz mit y bestätigen und den Bereich wählen (Vorgabe: für dich, in allen Projekten). Der Mod läuft danach sofort. Im Code-Tab der Desktop-App gibt es den Befehl nicht: einmal im Terminal für dich installieren, dann lädt der Mod auch dort.

Einstellungen

Alle Werte stehen in /config unter keepcachewarm:

Einstellung Vorgabe Bedeutung
Cache-Dauer (Minuten) 60 Wie lange der Cache nach der letzten Antwort hält; per API 5.
Ping-Vorlauf (Minuten) 3 So lange vor Ablauf pingt das automatische Warmhalten.
Höchstdauer Warmhalten (Stunden) 4 Danach schaltet sich das Warmhalten ab.
Limit-Grenze (%) 90 Ab diesem Stand des 5-Stunden-Limits schaltet es sich ab.
Warnvorlauf (Minuten) 5 So lange vor Ablauf warnen Ton, Einblendung und rote Zeile.

Die Vorgaben stehen auch als Konstanten oben in hooks/register.tsx.

Entwickeln

hooks/register.tsx   Hooks, Zeichnung, Zustand
hooks/logic.ts       Entscheidungen und Texte, ohne Engine-Zugriff
types/index.d.ts     Vertrag aller Zustandswerte
sounds/warnung.wav   Warnton, erzeugt von scripts/ton-erzeugen.py
tests/               Tests für `claude plugin test`

Prüfen und testen (Claude Code 2.1.293 oder neuer):

claude plugin validate .
claude plugin test .

Den Mod aus dem Arbeitsordner in einer Session laden (Änderungen werden beim Speichern neu geladen):

claude --plugin-dir .

Nach dem ersten Laden legt Claude Code die Typen unter .claude-plugin/types/ ab (nicht im Repo); dann prüft npx tsc -p . die Typen. Den Warnton neu erzeugen:

python3 scripts/ton-erzeugen.py

Lizenz

MIT, siehe LICENSE.

About

Claude-Code-Mod: zeigt, ob der Prompt-Cache noch warm ist, und hält ihn in Pausen warm

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages