TUI

TUI состоит из нескольких областей:

┌─────────────────────────────────────────────────────┐
│ Заголовок: модель, режимы, статус git-защиты        │
├──────────┬──────────────────────────────────────────┤
│          │                                          │
│ Сайдбар  │  Чат — потоковый вывод, карточки         │
│          │  инструментальных вызовов                │
│ Git:     │                                          │
│ ветка,   │                                          │
│ файлы,   │                                          │
│ статусы  ├──────────────────────────────────────────┤
│          │  Нижняя панель: терминал / сабагенты     │
│          │  (переключается Ctrl+Y)                  │
├──────────┴──────────────────────────────────────────┤
│ Статусбар: токены, контекст, подсказка              │
├─────────────────────────────────────────────────────┤
│ Поле ввода                                          │
└─────────────────────────────────────────────────────┘
Клавиша Действие
Enter Отправить сообщение
Alt+Enter / Ctrl+J Новая строка
Esc / Ctrl+C / Ctrl+D Прервать ход
Ctrl+Q Выйти
PgUp / PgDn Прокрутка
Tab / Ctrl+M Мини-режим (компактное отображение)
Ctrl+B Сайдбар
Ctrl+Y Нижняя панель
Ctrl+O Переключение между двумя последними сессиями
Ctrl+Z Приостановить процесс
Alt+, Открыть настройки
F9 Мышь вкл/выкл

Команды вводятся через / прямо в поле ввода. Доступен автокомплит по Tab с fuzzy-поиском.

Команда Алиасы Описание
/help Список доступных команд
/new-session /clear, /reset, /new Новая пустая сессия
/resume Переключиться на другую сессию
/sessions Дерево всех сессий
/cd <path> Сменить рабочую директорию
/copy [N] Скопировать N-й последний ответ в буфер обмена
/btw <question> Побочный вопрос без загрязнения контекста
/compact Сжать контекст через суммаризацию
/model Переключить активную модель
/theme Переключить цветовую тему
/settings Открыть страницу настроек
/permissions Управление авто-аппрувом инструментов
/yolo Включить/выключить YOLO-режим
/mini Включить/выключить мини-режим
/skills Список обнаруженных навыков
/reload-skills Пересканировать директории навыков и команд
/rename [name] Переименовать сессию (без аргумента — авто-генерация)
/rollback Откатить рабочее дерево к последнему чекпоинту
/dreaming Запустить ревизию текущей сессии
/stop Прервать текущий ход агента
/exit /quit Выйти

Помимо встроенных, можно создавать собственные команды в виде Markdown-файлов в .creo/commands/ или ~/.config/creo/commands/.

Tab или Ctrl+M переключают компактный режим: иконка + имя тулзы + краткий заголовок + результат в одну строку. Sidebar и нижняя панель скрываются. Thinking заменяется на «Размышления (N символов)». Состояние сохраняется в конфиге (tui.mini).

Переключение: /theme (пикер) или /theme <name> (напрямую). Тема применяется мгновенно без перезапуска. Сохраняется в config.json в поле tui.theme.

Тема Описание
classic256 ANSI 256, прозрачные фоны (fallback)
dracula Dracula
gruvbox Gruvbox
catppuccin Catppuccin Mocha
onedark OneDark (по умолчанию)
alabaster Alabaster
sobrio Sobrio

Размещаются в ~/.config/creo/themes/ в виде JSON-файлов. Имя файла (без .json) — имя темы. Пользовательские темы переопределяют встроенные с тем же именем.

Формат файла описан в schemes/theme.schema.json. Цвета указываются как ANSI 256 коды ("238") или hex RGB ("#6272A4"). Пустая строка — прозрачный фон или foreground по умолчанию.

Каждый вызов инструмента — сворачиваемая карточка с описанием и результатом. Цветовая палитра различает инструменты. После каждого сообщения отображается количество входных/выходных токенов и время генерации. В сайдбаре — суммарный контекст и лимит.

В пустом поле ввода показывается случайная подсказка — совет, горячая клавиша или неочевидная возможность. Обновляется при каждом обновлении экрана.

Поддержка мыши для кликов по сайдбару, карточкам, окнам. F9 переключает режим: когда выключена, терминал обрабатывает мышь нативно (выделение текста без Shift).

Интерфейс локализован (русский, английский). Язык определяется автоматически при первом запуске, переключается в настройках или через агента («Установи locale в en»).