創建自定義狀態列
您可以選擇:-
運行
/statusline讓 Claude Code 幫助您設置自定義狀態列。默認情況下,它會嘗試重現您終端的提示符,但您可以向 Claude Code 提供關於所需行為的額外指令,例如/statusline show the model name in orange -
直接在您的
.claude/settings.json中添加statusLine命令:
工作原理
- 狀態列在對話消息更新時更新
- 更新最多每 300ms 運行一次
- 您命令的 stdout 第一行成為狀態列文本
- 支持 ANSI 顏色代碼來設置狀態列樣式
- Claude Code 通過 stdin 將當前會話的上下文信息(模型、目錄等)作為 JSON 傳遞給您的腳本
JSON 輸入結構
您的狀態列命令通過 stdin 接收 JSON 格式的結構化數據:示例腳本
簡單狀態列
Git 感知狀態列
Python 示例
Node.js 示例
輔助函數方法
對於更複雜的 bash 腳本,您可以創建輔助函數:提示
- 保持狀態列簡潔 - 它應該適合一行
- 使用表情符號(如果您的終端支持)和顏色使信息易於掃描
- 在 Bash 中使用
jq進行 JSON 解析(參見上面的示例) - 通過使用模擬 JSON 輸入手動運行來測試您的腳本:
echo '{"model":{"display_name":"Test"},"workspace":{"current_dir":"/test"}}' | ./statusline.sh - 如果需要,考慮緩存昂貴的操作(如 git status)
故障排除
- 如果您的狀態列沒有出現,檢查您的腳本是否可執行(
chmod +x) - 確保您的腳本輸出到 stdout(而不是 stderr)