CLI и TUI: интерфейсы Hermes

Hermes Agent предоставляет два текстовых интерфейса для работы в терминале: классический CLI и современный TUI. Оба запускают одного и того же агента с общими сессиями, слеш-командами и конфигурацией — различаются только поверхностью взаимодействия. В статье разбираем, чем они отличаются, какие команды и горячие клавиши доступны и когда какой режим лучше выбрать.

CLI-режим: классический интерфейс

CLI (Command Line Interface) — это базовый терминальный интерфейс Hermes. Запускается командой hermes или hermes chat. Предназначен для пользователей, которые привыкли работать в терминале и хотят максимальной простоты.

Основные возможности

  • Многострочный ввод — Shift+Enter или Alt+Enter для перехода на новую строку; вставка из буфера обмена автоматически распознаётся как многострочный текст.
  • Автодополнение слеш-команд — введите / и начните набирать: Hermes предложит варианты с описаниями.
  • Анимированный фидбек — пока агент думает, в терминале появляется анимация с каомодзи и таймером.
  • Статус-панель — показывает рабочую директорию, ветку git, имя сессии и модель.

Горячие клавиши

  • Enter — отправить сообщение
  • Shift+Enter — новая строка
  • Ctrl+C — прервать генерацию
  • Ctrl+Z — свернуть в фон (Unix)
  • ↑/↓ — навигация по истории команд
  • Tab — автодополнение

Управление сессиями

При выходе из CLI Hermes выводит команду для возобновления:

hermes --resume 20260225_143052_a1b2c3
hermes --continue          # последняя сессия
hermes -c "my project"     # именованная сессия

Сессии хранятся в SQLite (~/.hermes/state.db) и автоматически сжимаются при приближении к лимиту контекста.

TUI: современный терминальный интерфейс

TUI (Terminal User Interface) — рекомендуемый способ интерактивной работы с Hermes. Запускается командой hermes --tui. TUI построен на Node.js (требуется версия ≥ 20) и работает как подпроцесс Python CLI.

Преимущества TUI

  • Мгновенный первый кадр — баннер отрисовывается до полной загрузки, терминал не «зависает».
  • Неблокирующий ввод — можно печатать и ставить сообщения в очередь до готовности агента.
  • Модальные оверлеи — выбор модели, сессий и подтверждения рендерятся как панели, а не инлайн.
  • Поддержка мыши — выделение текста привычным способом, копирование через системный жест.
  • Рендеринг LaTeX — формулы $E = mc^2$ отображаются Unicode-математикой.
  • Автоопределение темы — TUI автоматически переключается между светлой и тёмной темой.
  • Расширенные команды/help, /sessions, /model, /skin отображаются как модальные панели с навигацией стрелками.

Как запустить

hermes --tui              # однократно
export HERMES_TUI=1       # по умолчанию для всех запусков

Если TUI не может запуститься (нет Node.js, проблемы с TTY), Hermes автоматически возвращается к классическому CLI.

Полный справочник слеш-команд

Все перечисленные ниже команды вводятся в интерактивной сессии (CLI или TUI) — просто наберите / и название. Автодополнение покажет доступные варианты с описаниями.

Управление сессией

/new (/reset)          Новая сессия (сброс контекста)
/clear                 Очистка экрана + новая сессия (CLI)
/retry                 Повторить последнее сообщение
/undo                  Удалить последний обмен (вопрос + ответ)
/title [name]          Задать имя текущей сессии
/compress              Ручное сжатие контекста
/stop                  Остановить фоновые процессы
/rollback [N]          Восстановить файловый чекпоинт (N шагов назад)
/background <prompt>   Запустить задачу в фоновой сессии
/queue <prompt>        Поставить задачу в очередь на следующий ход
/resume [name]         Возобновить именованную сессию

Настройка

/config                Показать конфигурацию (CLI)
/model [name]          Показать или сменить модель
/personality [name]    Установить личность (personality)
/reasoning [level]     Уровень рассуждений (none|minimal|low|medium|high|xhigh|show|hide)
/verbose               Переключить режим отображения: off → new → all → verbose
/voice [on|off|tts]    Режим голоса
/yolo                  Переключить режим одобрения команд
/skin [name]           Сменить тему оформления (CLI)
/statusbar             Включить/выключить статус-бар (CLI)

Инструменты и навыки

/tools                 Управление инструментами (CLI)
/toolsets              Список наборов инструментов (CLI)
/skills                Поиск и установка навыков (CLI)
/skill <name>          Загрузить навык в текущую сессию
/cron                  Управление запланированными задачами (CLI)
/reload-mcp            Перезагрузить MCP-серверы
/plugins               Список плагинов (CLI)

Gateway-команды (мессенджеры)

Эти команды работают в сессиях gateway (Telegram, Discord, Slack и др.) для удалённого управления:

/approve               Одобрить ожидающую команду
/deny                  Отклонить ожидающую команду
/restart               Перезапустить gateway
/sethome               Установить текущий чат как домашний канал
/update                Обновить Hermes до последней версии
/platforms (/gateway)  Показать статус подключений платформ

Утилиты

/branch (/fork)        Ответвить текущую сессию (создать ветку)
/fast                  Переключить приоритетную/быструю обработку
/browser               Открыть CDP-соединение с браузером
/history               Показать историю диалога (CLI)
/save                  Сохранить диалог в файл (CLI)
/paste                 Прикрепить изображение из буфера обмена (CLI)
/image                 Прикрепить локальный файл изображения (CLI)

Информация

/help                  Показать все команды
/commands [page]       Постраничный просмотр всех команд (gateway)
/usage                 Статистика использования токенов
/insights [days]       Аналитика использования
/status                Информация о сессии (gateway)
/profile               Информация об активном профиле

Выход

/quit (/exit, /q)      Выйти из CLI

Когда что использовать

  • CLI — для SSH-сессий с медленным каналом, автоматизации через скрипты, CI/CD пайплайнов, минимальных терминалов без поддержки продвинутого рендеринга.
  • TUI — для повседневной интерактивной работы: исследования, написания кода, долгих сессий с множеством инструментов. Модальные оверлеи, поддержка мыши и LaTeX делают TUI более комфортным выбором.

Оба интерфейса делят одни сессии и конфигурацию — можно начать в CLI, продолжить в TUI и наоборот. Все слеш-команды и горячие клавиши работают идентично в обоих режимах.