Erstellen Sie eine benutzerdefinierte Statuszeile
Sie können entweder:-
/statuslineausführen, um Claude Code um Hilfe beim Einrichten 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 -
Direkt einen
statusLine-Befehl zu Ihrer.claude/settings.jsonhinzufügen:
Funktionsweise
- Die Statuszeile wird aktualisiert, wenn sich die Konversationsmeldungen aktualisieren
- 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: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, teure Operationen (wie Git-Status) bei Bedarf zu cachen
Fehlerbehebung
- Wenn Ihre Statuszeile nicht angezeigt wird, überprüfen Sie, ob Ihr Skript ausführbar ist (
chmod +x) - Stellen Sie sicher, dass Ihr Skript auf stdout ausgibt (nicht auf stderr)