Конфигурация строки состояния
Создайте пользовательскую строку состояния для Claude Code для отображения контекстной информации
Сделайте Claude Code своим с помощью пользовательской строки состояния, которая отображается в нижней части интерфейса Claude Code, аналогично тому, как работают терминальные подсказки (PS1) в оболочках типа Oh-my-zsh.
Создание пользовательской строки состояния
Вы можете либо:
-
Запустить
/statusline
, чтобы попросить Claude Code помочь вам настроить пользовательскую строку состояния. По умолчанию он попытается воспроизвести подсказку вашего терминала, но вы можете предоставить дополнительные инструкции о поведении, которое вы хотите от Claude Code, например/statusline показать имя модели оранжевым цветом
-
Напрямую добавить команду
statusLine
в ваш.claude/settings.json
:
Как это работает
- Строка состояния обновляется при обновлении сообщений разговора
- Обновления выполняются не чаще чем каждые 300мс
- Первая строка stdout из вашей команды становится текстом строки состояния
- ANSI цветовые коды поддерживаются для стилизации вашей строки состояния
- Claude Code передает контекстную информацию о текущей сессии (модель, директории и т.д.) в виде JSON в ваш скрипт через stdin
Структура JSON входных данных
Ваша команда строки состояния получает структурированные данные через stdin в формате JSON:
Примеры скриптов
Простая строка состояния
Строка состояния с поддержкой Git
Пример на Python
Пример на Node.js
Подход с вспомогательными функциями
Для более сложных bash скриптов вы можете создать вспомогательные функции:
Советы
- Держите вашу строку состояния краткой - она должна помещаться на одной строке
- Используйте эмодзи (если ваш терминал их поддерживает) и цвета, чтобы сделать информацию легко сканируемой
- Используйте
jq
для парсинга JSON в Bash (см. примеры выше) - Тестируйте ваш скрипт, запуская его вручную с фиктивными JSON входными данными:
echo '{"model":{"display_name":"Test"},"workspace":{"current_dir":"/test"}}' | ./statusline.sh
- Рассмотрите кэширование дорогих операций (таких как git status) при необходимости
Устранение неполадок
- Если ваша строка состояния не появляется, проверьте, что ваш скрипт исполняемый (
chmod +x
) - Убедитесь, что ваш скрипт выводит в stdout (не stderr)