03. Интерфейс TUI
После astracode открывается терминальный интерфейс. Этот документ — экскурсия по экрану и принципам управления.
Карта экрана
┌─ Терминал ────────────────────────────────────────────────────────┐
│ │
│ AstraCode (v0.4.11) │
│ Started thread: 9e3b4f12-... │
│ │
│ ┌───── Chat history (scrollable) ─────┐ │
│ │ > Привет, посмотри что в репо │ ← ваши сообщения │
│ │ │ │
│ │ AstraCode: я вижу проект на Rust,│ ← ответы модели │
│ │ 18 крейтов в astracode-rs/... │ │
│ │ │ │
│ │ 🔧 Tool: list_dir(.) │ ← вызов tool'а │
│ │ ▶ astracode-rs/ │ │
│ │ ▶ docs/ │ │
│ │ ✓ done (5ms) │ │
│ │ │ │
│ └─────────────────────────────────────┘ │
│ │
│ ┌─ Composer ──────────────────────────┐ │
│ │ > _ │ ← поле ввода │
│ └─────────────────────────────────────┘ │
│ gpt-5 · 12.3k tokens · workspace-write · main ru │
└───────────────────────────────────────────────────────────────────┘
↑ status line
Сверху — история сообщений (прокручиваемая).
Внизу — composer (строка ввода).
Под ним — status line (строка состояния) с текущей моделью, токенами, режимом sandbox, git-веткой и языком.
Composer — где вы вводите команды
В composer'е работают четыре спецсимвола:
| Символ | Что делает |
|---|---|
/ |
Открыть меню slash-команд (/help, /cd, /review, ...) |
@ |
Упомянуть файл — открывает file picker (список выбора файлов) |
$ |
Активировать скилл — picker всех установленных скиллов |
! |
Выполнить shell-команду прямо отсюда (не через модель) |
Просто текст — обычное сообщение модели.
Хоткеи в composer
| Клавиша | Действие |
|---|---|
Enter |
Отправить сообщение |
Shift+Enter |
Перенос строки (мульти-строчный ввод) |
Tab |
Авто-дополнение (команд, файлов, путей) |
Esc |
Отменить текущий ввод / закрыть popup (всплывающее окно) |
Ctrl-A / Ctrl-E |
В начало / конец строки |
Ctrl-U |
Удалить до начала |
Ctrl-W |
Удалить слово |
Ctrl-P / Ctrl-N |
Листать историю ваших промптов |
Multi-line
Shift+Enter — перенос строки. Полезно для длинных промптов и кода: пишите многострочные сообщения с блоками кода через тройные backtick — модель прочитает их как обычный markdown.
История — прокрутка и навигация
| Клавиша | Действие |
|---|---|
↑ / ↓ |
Прокрутка по строке (когда фокус на истории, не на composer) |
PgUp / PgDn |
Прокрутка страницей |
g / G |
К началу / концу истории |
i |
Перейти в composer |
Чтобы переключаться между composer и историей — используйте Esc (выходит из composer'а) и i (заходит назад).
Что вы увидите во время turn'а (хода)
После того как нажали Enter, модель начинает отвечать. На экране:
- Текст ассистента — стримится по словам, в реальном времени.
- Reasoning блок (если модель поддерживает extended thinking) — серым, отдельно от ответа.
- Tool calls — когда модель использует инструмент:
🔧 Tool: exec_command $ cargo test --workspace running 1977 tests ... test result: ok. 1977 passed; 0 failed ✓ done (45s)
- Approval-диалог — если tool требует разрешения (см. 13-safety.md).
Status line
Внизу — однострочный статус. Может содержать:
- Текущая модель (
gpt-5,claude-sonnet-4-6, ...). - Использование контекста (
12.3k tokens— сколько уже в истории). - Sandbox-режим (
read-only,workspace-write,danger-full-access). - Git-ветка (если в репозитории).
- Локаль (
en/ru). - Прогресс задачи (если работает многошаговая цель).
- Спиннер — когда модель думает.
Что показывать — настраивается через /statusline. См. 14-customization.md.
Глобальные хоткеи
| Клавиша | Действие |
|---|---|
F1 |
Справка (/help overlay) |
Ctrl-C |
Выйти из AstraCode |
Esc |
Прервать ответ модели |
Ctrl-L |
Очистить экран (не контекст) |
Поповеры и оверлеи
Несколько команд открывают полноэкранные оверлеи поверх чата:
/diff— pager (постраничный просмотр) сgit diff./helpили/help <команда>— справка./review— после ответа агента-ревьюера откроется отчёт в pager'е.
В pager'е управление:
| Клавиша | Действие |
|---|---|
| ↑ / ↓ | Прокрутка строкой |
| PgUp / PgDn | Страницей |
| g / G | К началу / концу |
| q или Esc | Закрыть |
Approval-диалоги
Когда модель просит запустить shell-команду или изменить файл, появится диалог с нумерованным списком вариантов.
Для команды:
Would you like to run the following command? cargo test --workspace › 1. Yes, proceed (y) 2. Yes, and don't ask again for commands that start with `cargo` (p) 3. No, and tell AstraCode what to do differently (esc)
Для правок файлов заголовок — «Would you like to make the following edits?», а второй вариант — «Yes, and don't ask again for these files (a)».
Клавиши по умолчанию:
| Клавиша | Что значит |
|---|---|
| y | Разрешить именно это действие |
| p | Больше не спрашивать для команд с таким префиксом |
| a | Больше не спрашивать для этих файлов (в диалоге правок) |
| d / n / Esc | Отказать |
Клавиши настраиваются в /keymap. Подробнее — 13-safety.md.
Auto-complete popup'ы
Slash-команды (после /)
> /re_ ┌─────────────────────────────┐ │ /resume — продолжить сохра…│ ← подсветка выбранного │ /review — проверить измене…│ │ /realtime — голосовой режим │ └─────────────────────────────┘
↑/↓ — выбор, Enter — вставить, Esc — закрыть.
Файлы (после @)
> @src/au ┌─────────────────────────────┐ │ src/auth.rs │ │ src/auth_tests.rs │ │ src/auth_proxy.rs │ └─────────────────────────────┘
Fuzzy-поиск. После выбора файл подставляется в промпт как @src/auth.rs — модель увидит это как «упомянутый файл».
⚠ Невидимые символы в имени файла (неразрывный пробел NBSP, zero-width и т.п.) ломают поиск: модель не находит файл по «правильному» имени. AstraCode подскажет готовую команду
mvдля переименования. Подробнее — в 15-troubleshooting.md.
Скиллы (после $)
> $skil ┌─────────────────────────────┐ │ skill-creator — Создать ск…│ │ skill-installer — Установить…│ └─────────────────────────────┘
При выборе скилл активируется и в composer подставляется его default_prompt.
Пути (/cd)
После /cd нажмите Tab — откроется picker подкаталогов:
> /cd src/ ┌─────────────────────────────┐ │ src/api/ │ │ src/auth/ │ │ src/handlers/ │ └─────────────────────────────┘
Повторный Tab — спускается в подкаталог.
Подсказки и tooltips
Когда наводите курсор на пункт в popup'е, рядом показывается короткое описание команды/файла/скилла. Можно отключить:
# в ~/.astracode/config.toml [tui] show_tooltips = false
Темы и цвета
Подсветка синтаксиса в diff'ах, code blocks, и т.п. — настраивается через /theme. См. 14-customization.md.
Когда что-то на экране непонятно
/help — обзор всех команд.
/help <команда> — подробности по одной.
Если интерфейс «завис» (что-то не реагирует) — Esc обычно помогает. В крайнем случае Ctrl-C — выход и astracode снова.