Создание пользовательской строки состояния
Вы можете либо:-
Запустить
/statusline, чтобы попросить Claude Code помочь вам установить пользовательскую строку состояния. По умолчанию он попытается воспроизвести приглашение вашего терминала, но вы можете предоставить Claude Code дополнительные инструкции о желаемом поведении, такие как/statusline show the model name in orange -
Напрямую добавить команду
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)