14. Кастомизация
AstraCode можно настроить под себя: язык интерфейса, цветовая тема, хоткеи, какие пункты в статус-баре, какая модель «по умолчанию», и т.п. Большинство настроек — через TUI; для тонких — ~/.astracode/config.toml.
Язык интерфейса (RU / EN)
AstraCode полностью переведён на русский. Сообщения, описания команд, оверлеи, ошибки, описания скиллов.
Способ 1: команда /locale
/locale ru
или
/locale en
Ограничение: доступно только до первого сообщения в сессии. Если уже что-то отправили — /new, потом /locale ru.
Способ 2: через config
# ~/.astracode/config.toml [tui] locale = "ru"
После — при следующем запуске интерфейс будет на русском.
Способ 3: через env
ASTRACODE_LOCALE=ru astracode
Приоритет
- CLI override (
-c/--config). ASTRACODE_LOCALEenv.[tui].localeв config.- Автодетект из
LC_ALL/LC_MESSAGES/LANG(в этом порядке; русская локаль → ru). - Дефолт:
en.
Что переводится
- Описания всех slash-команд.
- Popup'ы и picker'ы.
- Оверлеи (
/diff,/help,/review— подсказки клавиш). - Warning'и при загрузке скиллов и хуков.
- Ошибки
/keymap, «Conversation interrupted», «Failed to apply patch». - Описания скиллов (если у скилла есть
short_description_ru).
Что НЕ переводится
- Ответы модели — это зависит от вашего промпта (пишите на русском — отвечает на русском).
- Имена команд (
/cd,/helpостаются английскими). - Названия моделей и провайдеров.
- Логи (для парсинга).
Цветовая тема
/theme
Picker всех доступных тем. Live-preview — пока курсор на теме, чат перерисовывается с её цветами.
Источники тем
- Встроенные — захардкоженные в бинарь.
- Пользовательские —
.tmThemeфайлы в~/.astracode/themes/.
Чтобы добавить свою тему:
mkdir -p ~/.astracode/themes cp my-theme.tmTheme ~/.astracode/themes/ # в TUI — /theme — она появится в списке
.tmTheme — формат TextMate (тот же, что в VSCode / Sublime). Найти готовые — на github (tmTheme).
Сохранение
[tui] theme = "monokai"
При следующем запуске — снова она.
Заголовок терминала (/title)
Что отображается в title bar окна:
/title
Multi-select picker. Space — переключить пункт, Enter — сохранить.
Доступно:
- Имя приложения (AstraCode).
- Имя проекта.
- Текущая директория.
- Заголовок треда.
- Git-ветка.
- Модель / модель + reasoning.
- Статус (spinner / прогресс).
- Контекст: используется/осталось.
- Rate limits.
- Токены.
- Session ID.
- Fast-mode флаг.
Пример конфига:
[tui] terminal_title = ["project-name", "thread-title", "model"]
В терминале увидите: myproject — Fix auth bug — gpt-5.
Строка состояния (/statusline)
Снизу TUI. Те же пункты, что у title:
/statusline
Multi-select. Хорошие комбинации:
Минимальный:
status_line = ["model", "git-branch", "context-used"]
Подробный:
status_line = ["app-name", "project-name", "git-branch", "model-with-reasoning", "context-used", "tokens"]
Live-preview работает: пока вы переключаете пункты, строка обновляется.
Хоткеи (/keymap)
/keymap
Откроется иерархический picker:
- Группа действий (Chat, App, Composer, Pager, ...).
- Действие внутри группы.
- Действие над привязкой: Set / Replace / Add alternate.
- Capture — нажмите новую комбинацию клавиш.
При сохранении проверяются конфликты. Если другая привязка уже использует эту клавишу — AstraCode предупредит.
Сохраняется в config.toml:
[tui.keymap.global] open_transcript = "ctrl-s" # открыть transcript-overlay copy = "ctrl-shift-c" # копировать последний ответ [tui.keymap.composer] submit = "enter" # отправить черновик queue = "tab" # поставить в очередь, пока идёт задача history_search_previous = "ctrl-r" # обратный поиск по истории промптов [tui.keymap.pager] jump_top = "home" # в начало jump_bottom = "end" # в конец close = "q" # закрыть overlay (также ctrl-c) [tui.keymap.chat] increase_reasoning_effort = "ctrl-[" # поднять reasoning effort decrease_reasoning_effort = "ctrl-]" # снизить reasoning effort
Каждая подсекция соответствует контексту (global/composer/pager/chat/list), а внутри допустимы только валидные имена действий (deny_unknown_fields: опечатки и несуществующие поля вроде global.quit или chat.interrupt приводят к ошибке парсинга). Прерывание хода (Ctrl-C) и выход (/exit, Ctrl-D) — зарезервированы и через keymap не переназначаются.
Сброс к дефолтам
Удалите секцию [tui.keymap] (или конкретные строки) из config.toml.
В TUI:
/keymap
→ выбрать действие → Reset to default (если опция есть в текущей версии).
Что нельзя переопределить
Некоторые комбинации перехватываются терминалом или OS:
- Ctrl-Z (SIGTSTP).
- Ctrl-D на пустой строке (EOF).
- Ctrl-S / Ctrl-Q (flow control в некоторых терминалах).
AstraCode попытается их забиндить, но shell может отнять раньше.
Анимации
[tui] animations = true # default true
Spinner, welcome screen, shimmer effects. Отключайте для: - Слабых машин (экономия CPU). - SSH через медленный канал. - Screen reader'ов.
Tooltips
[tui] show_tooltips = true # default false (кажется)
Подсказки рядом с пунктами в popup'е.
Alternate screen buffer
[tui] alternate_screen = "auto" # auto | always | never
always— TUI в alt-buffer (как vim, less). После выхода — терминал чистый, как был.never— TUI пишет в основной буфер (видно в scrollback после выхода).auto— alt-screen везде, кроме Zellij (там по умолчанию off).
Параметры модели
model = "gpt-5" model_provider = "openai" model_reasoning_effort = "medium" # none | minimal | low | medium | high | xhigh plan_mode_reasoning_effort = "high" model_verbosity = "medium" # для GPT-5 review_model = "claude-sonnet-4-6" # отдельная для /review
См. 06-model-and-providers.md.
Параметры памяти
[memories] generate_memories = true use_memories = true extract_model = "gpt-5.4-mini" # дефолт consolidation_model = "gpt-5.4" # дефолт
См. 12-memory.md.
Параметры sandbox / approvals
sandbox_mode = "workspace-write" approval_policy = "on-request" [sandbox_workspace_write] writable_roots = ["/home/me/work"] network_access = false
См. 13-safety.md.
Несколько профилей конфигурации
Для машино-специфичных или временных настроек используйте CLI overrides (-c/--config, см. ниже) — они применяются на конкретный запуск и не затрагивают config.toml. Отдельного файла «локальных переопределений» (который грузился бы автоматически поверх config.toml) в AstraCode нет.
Если нужно держать разные наборы настроек под рукой — держите несколько config.toml рядом и указывайте нужный через -c, либо комментируйте блоки прямо в config.toml.
CLI overrides
Любую настройку можно переопределить флагом -c/--config при запуске:
astracode -c model=claude-opus-4-8 astracode -c sandbox_mode=read-only astracode -c 'tui.locale="en"' astracode --config model=gpt-5
Для самых частых настроек есть отдельные флаги: --model/-m, --sandbox/-s (с короткими формами), а также --locale (только long, без короткой формы). Есть и другие: -a/--ask-for-approval, --search, --no-alt-screen, -C/--cd, --add-dir, --yolo (он же --dangerously-bypass-approvals-and-sandbox), --enable/--disable (фичи). Все остальные настройки переопределяются через -c key=value (как выше).
CLI имеет высший приоритет.
Просмотр текущей конфигурации
Внутри TUI:
/debug-config
Покажет все слои с источниками значений:
- что из дефолта;
- что из config.toml;
- что из CLI / env.
Удобно для дебага «откуда взялась эта настройка».
CLI-эквивалента debug-config нет. Из командной строки доступны только диагностические подкоманды astracode debug (например, astracode debug models, astracode debug app-server, astracode debug prompt-input) — это не замена /debug-config, а отдельные отладочные утилиты.
Где живёт config
~/.astracode/ └── config.toml ← основной
После правки — обычно нужно перезапустить AstraCode. Часть настроек применяются «на горячую» (через UI команды), часть — только на старте.
Сброс к дефолтам
mv ~/.astracode/config.toml ~/.astracode/config.toml.bak astracode
Запустится с дефолтами. Старый — рядом, можно вернуть.
Несколько устройств
Если работаете на нескольких машинах и хотите одинаковые настройки:
# Скопировать config: scp ~/.astracode/config.toml other-machine:~/.astracode/ # Но НЕ копируйте: # - ~/.astracode/secrets/ — секреты не переносимы между OS # - ~/.astracode/state_*.sqlite — БД сессий # - ~/.astracode/installation_id — пусть будут разные
Секреты лучше ввести на новой машине заново через /model.
Best practices
✓ Начинайте с дефолтов — они разумны.
✓ CLI overrides (-c) для машино-специфичного и разовых запусков.
✓ /debug-config когда непонятно почему что-то так работает.
✓ Бэкап config.toml перед большими экспериментами.
✗ Не лезьте в [ui_state] — AstraCode сам её обновляет.
✗ Не редактируйте ~/.astracode/skills/.system/ — перезатрётся при обновлении.