0.4.11
03 · Руководство пользователя

03. Интерфейс TUI

После astracode открывается терминальный интерфейс. Этот документ — экскурсия по экрану и принципам управления.

Карта экрана

text
┌─ Терминал ────────────────────────────────────────────────────────┐
│                                                                   │
│   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, модель начинает отвечать. На экране:

  1. Текст ассистента — стримится по словам, в реальном времени.
  2. Reasoning блок (если модель поддерживает extended thinking) — серым, отдельно от ответа.
  3. Tool calls — когда модель использует инструмент:
text
🔧 Tool: exec_command
   $ cargo test --workspace
   running 1977 tests
   ...
   test result: ok. 1977 passed; 0 failed
   ✓ done (45s)
  1. 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-команду или изменить файл, появится диалог с нумерованным списком вариантов.

Для команды:

text
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-команды (после /)

text
> /re_
  ┌─────────────────────────────┐
  │ /resume  — продолжить сохра…│ ← подсветка выбранного
  │ /review  — проверить измене…│
  │ /realtime — голосовой режим │
  └─────────────────────────────┘

/ — выбор, Enter — вставить, Esc — закрыть.

Файлы (после @)

text
> @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.

Скиллы (после $)

text
> $skil
  ┌─────────────────────────────┐
  │ skill-creator    — Создать ск…│
  │ skill-installer  — Установить…│
  └─────────────────────────────┘

При выборе скилл активируется и в composer подставляется его default_prompt.

Пути (/cd)

После /cd нажмите Tab — откроется picker подкаталогов:

text
> /cd src/
  ┌─────────────────────────────┐
  │ src/api/                    │
  │ src/auth/                   │
  │ src/handlers/               │
  └─────────────────────────────┘

Повторный Tab — спускается в подкаталог.

Подсказки и tooltips

Когда наводите курсор на пункт в popup'е, рядом показывается короткое описание команды/файла/скилла. Можно отключить:

toml
# в ~/.astracode/config.toml
[tui]
show_tooltips = false

Темы и цвета

Подсветка синтаксиса в diff'ах, code blocks, и т.п. — настраивается через /theme. См. 14-customization.md.

Когда что-то на экране непонятно

/help — обзор всех команд.
/help <команда> — подробности по одной.

Если интерфейс «завис» (что-то не реагирует) — Esc обычно помогает. В крайнем случае Ctrl-C — выход и astracode снова.