Кастомизация статус-бара в Claude Code через /statusline

statusline claude code

В CLI-инструменте Claude Code есть встроенная возможность гибкой настройки статусной строки (status line), расположенной в нижней части интерфейса. Команда /statusline позволяет выводить важную информацию о текущей сессии прямо во время работы и таким образом помочь вам экономить токены при работе с Claude Code.

Что это такое и зачем нужно?

Статусная строка в Claude Code — это интерактивная панель, которая запускает настроенный вами скрипт (на Bash, Python, Node.js и др.).

При каждом обновлении состояния (например, после ответа ассистента, переключения режима Vim или завершения сжатия контекста через /compact) Claude Code передает вашему скрипту актуальные JSON-данные через стандартный поток ввода (stdin). Скрипт обрабатывает этот JSON и выводит в терминал текстовую строку, которая и отображается внизу экрана.

Зачем это нужно:

  • Контроль лимитов и контекста: Вы можете в реальном времени видеть, какой процент контекстного окна уже занят и сколько токенов осталось.
  • Мониторинг расходов: Можно отслеживать ориентировочную стоимость текущей сессии в долларах США.
  • Интеграция с Git: Наглядное отображение текущей ветки, количества измененных или подготовленных (staged) файлов прямо в интерфейсе Claude Code.
  • Удобство навигации: Показ текущей рабочей директории, активной модели или включенного режима рассуждений (thinking).

Основные плюсы инструмента

  1. Автоматическая генерация: Необязательно писать скрипты парсинга вручную. Достаточно попросить Claude Code на человеческом языке настроить панель, и он сам создаст скрипт и пропишет настройки.
  2. Полная свобода кастомизации: Поскольку статус-бар работает на основе вашего скрипта, вы можете выводить туда абсолютно любые данные, включая системное время, погоду или статус сборки проекта.
  3. Поддержка интерактива: Вы можете использовать ANSI-цвета, выводить информацию в несколько строк, а также добавлять кликабельные гиперссылки (через escape-последовательности OSC 8).
  4. Локальный запуск: Работа скрипта статус-бара происходит локально на вашем компьютере и не расходует API-токены.

Как настроить статусную строку

Способ 1. Автоматический (рекомендуемый)

Самый простой способ — использовать команду /statusline с описанием того, что вы хотите видеть. Например:

/statusline show model name and context percentage with a progress bar

Claude Code самостоятельно сгенерирует скрипт в директории ~/.claude/ и обновит ваш файл конфигурации settings.json.

Способ 2. Вручную

Если вы хотите полностью контролировать логику, выполните следующие шаги:

1. Создайте скрипт (например, ~/.claude/statusline.sh), который принимает JSON из stdin, обрабатывает его (например, с помощью утилиты jq) и выводит нужную строку:

#!/bin/bash
# Читаем JSON из stdin
input=$(cat)

# Извлекаем нужные поля
MODEL=$(echo "$input" | jq -r '.model.display_name')
PCT=$(echo "$input" | jq -r '.context_window.used_percentage // 0' | cut -d. -f1)

# Выводим результат
echo "[$MODEL] | Контекст: ${PCT}%"

2. Сделайте скрипт исполняемым:

chmod +x ~/.claude/statusline.sh

3. Пропишите путь к скрипту в глобальном конфигурационном файле ~/.claude/settings.json:

{
  "statusLine": {
    "type": "command",
    "command": "~/.claude/statusline.sh"
  }
}

Полезные лайфхаки и особенности

  • Обработка отсутствующих полей (fallback): Некоторые поля в JSON могут быть пустыми (null) или отсутствовать вовсе (например, rate_limits появляется только после первого запроса, а блок vim — при включенном режиме Vim). В скриптах рекомендуется использовать операторы по умолчанию (например, // 0 в jq или условные конструкции), чтобы избежать ошибок парсинга.
  • Автоматическое обновление по таймеру: По умолчанию статус-бар обновляется только при наступлении определенных событий (ответ модели, изменение режима и т.д.). Если вы выводите туда динамические данные (например, время или внешние статусы процессов), добавьте параметр "refreshInterval": 5 в settings.json, чтобы принудительно обновлять строку каждые N секунд.
  • Размер терминала: Обычные команды вроде tput cols внутри скрипта статус-бара работать не будут, так как Claude перехватывает вывод. Чтобы адаптировать строку под ширину экрана, считывайте переменные окружения $COLUMNS и $LINES, которые Claude Code передает в скрипт перед запуском.
  • Временное скрытие: Статус-бар автоматически скрывается во время отображения подсказок автодополнения, меню помощи или окон подтверждения прав (permissions), чтобы не загромождать интерфейс.
  • Отключение: Если статусная строка больше не нужна, её можно убрать командой /statusline clear (или /statusline delete), либо просто удалив блок "statusLine" из файла settings.json.

Метки:

/statusline, Claude Code
Бесплатно!

Курс по искусственному интеллекту и машинному обучению

Авторский курс от Леонида Лукина с последовательным погружением в область Data Science и искусственного интеллекта, объединяет теоретическую базу и решение прикладных задач.

Подробнее о курсе

Новые правила контекст-инжиниринга в Claude 5

Команда Anthropic урезала системный промпт Claude Code на 80% для моделей Claude 5 без потери качества кодинга. Разбираем новые правила контекст-инжиниринга: почему жесткие правила больше не работают, как правильно использовать файлы CLAUDE.md, навыки (Skills), прогрессивное раскрытие (Progressive Disclosure) и новую команду /doctor.

Лучшие бесплатные модели NVIDIA Build (DeepSeek V4 Pro, GLM-5.2, Nemotron-3 Ultra, MiniMax M3) для Claude Code в 2026 году

Платформа NVIDIA Build дает бесплатный доступ к флагманским нейросетям с окном контекста до 1M токенов. Разбираем 4 ключевые модели для интеграции с Claude Code, выбираем лучшую для Python и Django и показываем, как настроить бесплатный прокси за 5 минут.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *