Erstellen Sie eine benutzerdefinierte Statuszeile
Sie können entweder:-
/statuslineausführen, um Claude Code um Hilfe bei der Einrichtung einer benutzerdefinierten Statuszeile zu bitten. Standardmäßig wird versucht, die Eingabeaufforderung Ihres Terminals zu reproduzieren, aber Sie können Claude Code zusätzliche Anweisungen zum gewünschten Verhalten geben, z. B./statusline show the model name in orange -
Fügen Sie direkt einen
statusLine-Befehl zu Ihrer.claude/settings.jsonhinzu:
Wie es funktioniert
- Die Statuszeile wird aktualisiert, wenn die Konversationsnachrichten aktualisiert werden
- Aktualisierungen werden höchstens alle 300 ms ausgeführt
- Die erste Zeile der Standardausgabe Ihres Befehls wird zum Text der Statuszeile
- ANSI-Farbcodes werden zur Formatierung Ihrer Statuszeile unterstützt
- Claude Code übergibt kontextbezogene Informationen über die aktuelle Sitzung (Modell, Verzeichnisse usw.) als JSON über stdin an Ihr Skript
JSON-Eingabestruktur
Ihr Statuszeilen-Befehl empfängt strukturierte Daten über stdin im JSON-Format:Beispielskripte
Einfache Statuszeile
Git-bewusste Statuszeile
Python-Beispiel
Node.js-Beispiel
Hilfsfunktions-Ansatz
Für komplexere Bash-Skripte können Sie Hilfsfunktionen erstellen:Kontextfenster-Nutzung
Zeigen Sie den Prozentsatz des verbrauchten Kontextfensters an. Dascontext_window-Objekt enthält:
total_input_tokens/total_output_tokens: Kumulative Gesamtwerte über die gesamte Sitzungcurrent_usage: Aktuelle Kontextfenster-Nutzung aus dem letzten API-Aufruf (kannnullsein, wenn noch keine Nachrichten vorhanden sind)input_tokens: Eingabe-Token im aktuellen Kontextoutput_tokens: Generierte Ausgabe-Tokencache_creation_input_tokens: In den Cache geschriebene Tokencache_read_input_tokens: Aus dem Cache gelesene Token
current_usage, das den tatsächlichen Kontextfenster-Status widerspiegelt:
Tipps
- Halten Sie Ihre Statuszeile prägnant - sie sollte auf eine Zeile passen
- Verwenden Sie Emojis (falls Ihr Terminal diese unterstützt) und Farben, um Informationen leicht erfassbar zu machen
- Verwenden Sie
jqfür JSON-Parsing in Bash (siehe Beispiele oben) - Testen Sie Ihr Skript, indem Sie es manuell mit Mock-JSON-Eingabe ausführen:
echo '{"model":{"display_name":"Test"},"workspace":{"current_dir":"/test"}}' | ./statusline.sh - Erwägen Sie das Caching teurer Operationen (wie Git-Status), falls erforderlich
Fehlerbehebung
- Wenn Ihre Statuszeile nicht angezeigt wird, überprüfen Sie, dass Ihr Skript ausführbar ist (
chmod +x) - Stellen Sie sicher, dass Ihr Skript auf stdout ausgibt (nicht auf stderr)