sidebar_position: 1 title: "CLI Interface" description: "Master the Hermes Agent terminal interface — commands, keybindings, personalities, and more" lang: ru


Интерфейс командной строки

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

:::совет Hermes также предлагает современный TUI с модальными наложениями, выбором с помощью мыши и неблокирующим вводом. Запустите его с помощью hermes --tui — см. руководство TUI.

Запуск CLI

# Start an interactive session (default)
hermes

# Single query mode (non-interactive)
hermes chat -q "Hello"

# With a specific model
hermes chat --model "anthropic/claude-sonnet-4"

# With a specific provider
hermes chat --provider nous        # Use Nous Portal
hermes chat --provider openrouter  # Force OpenRouter

# With specific toolsets
hermes chat --toolsets "web,terminal,skills"

# Start with one or more skills preloaded
hermes -s hermes-agent-dev,github-auth
hermes chat -s github-pr-workflow -q "open a draft PR"

# Resume previous sessions
hermes --continue             # Resume the most recent CLI session (-c)
hermes --resume <session_id>  # Resume a specific session by ID (-r)

# Verbose mode (debug output)
hermes chat --verbose

# Isolated git worktree (for running multiple agents in parallel)
hermes -w                         # Interactive mode in worktree
hermes -w -q "Fix issue #123"     # Single query in worktree

Макет интерфейса

Стилизованный предварительный просмотр макета интерфейса командной строки Hermes, показывающий баннер, область диалога и фиксированное приглашение для ввода.

Баннер интерфейса командной строки Hermes, поток диалога и фиксированное приглашение к вводу отображаются как стабильный рисунок документа, а не хрупкий текстовый рисунок.

Приветственный баннер сразу показывает вашу модель, серверную часть терминала, рабочий каталог, доступные инструменты и установленные навыки.

Строка состояния

Постоянная строка состояния находится над областью ввода и обновляется в реальном времени:

 ⚕ claude-sonnet-4-20250514 │ 12.4K/200K │ [██████░░░░] 6% │ $0.06 │ 15m
Элемент Описание
Название модели Текущая модель (усекается, если длина превышает 26 символов)
Количество токенов Используемые токены контекста / максимальное окно контекста
Контекстная панель Визуальный индикатор заполнения с цветовыми порогами
Стоимость Ориентировочная стоимость сеанса (или n/a для неизвестных моделей/моделей с нулевой ценой)
Продолжительность Прошедшее время сеанса

Панель адаптируется к ширине терминала — полная компоновка при ≥ 76 столбцах, компактная при 52–75, минимальная (только модель + продолжительность) ниже 52.

Цветовое кодирование контекста:

Цвет Порог Значение
Зеленый < 50% Много места
Желтый 50–80% Наполняюсь
Оранжевый 80–95% Приближаемся к пределу
Красный ≥ 95% Рядом с переполнением — рассмотрим /compress

Используйте /usage для подробной разбивки, включая затраты по категориям (входные и выходные токены).

Отображение возобновления сеанса

При возобновлении предыдущего сеанса (hermes -c или hermes --resume <id>) между баннером и приглашением ввода появляется панель «Предыдущий разговор», на которой отображается компактный обзор истории разговора. Подробные сведения и настройки см. в разделе Сессии — повторение беседы при возобновлении.

Сочетания клавиш

Ключ Действие
Enter Отправить сообщение
Alt+Enter или Ctrl+J Новая строка (многострочный ввод)
Alt+V Вставка изображения из буфера обмена, если это поддерживается терминалом
Ctrl+V Вставьте текст и прикрепите изображения из буфера обмена
Ctrl+B Запуск/остановка записи голоса при включенном голосовом режиме (voice.record_key, по умолчанию: ctrl+b)
Ctrl+G Откройте текущий входной буфер в $EDITOR (vim/nvim/nano/VS Code/и т. д.). Сохраните и выйдите, чтобы отправить отредактированный текст в качестве следующего приглашения — идеальное решение для длинных подсказок, состоящих из нескольких абзацев.
Ctrl+X Ctrl+E Альтернативная привязка в стиле Emacs для внешнего редактора (то же поведение, что и Ctrl+G).
Ctrl+C Агент прерывания (дважды нажмите в течение 2 секунд, чтобы принудительно выйти)
Ctrl+D Выход
Ctrl+Z Приостановить работу Hermes в фоновом режиме (только для Unix). Запустите fg в оболочке, чтобы возобновить работу.
Tab Принимать автоматические предложения (призрачный текст) или команды автозаполнения косой черты

Предварительный просмотр многострочной вставки. При вставке многострочного блока интерфейс командной строки отображает компактный однострочный предварительный просмотр ([pasted: 47 lines, 1,842 chars — press Enter to send]) вместо того, чтобы выгружать всю полезную нагрузку в обратную прокрутку. Полный контент по-прежнему отправляется; это просто полировка дисплея.

Удаление уценки в окончательных ответах. CLI удаляет наиболее многословные ограничения уценки и оболочки **bold** / *italic* из финальных ответов агента, поэтому они отображаются как читаемый терминальный текст, а не как исходный исходный код. Блоки кода и списки сохраняются. Это не влияет на платформы шлюзов или результаты инструментов — они сохраняют свою уценку для нативного рендеринга.

Слэш-команды

Введите /, чтобы увидеть раскрывающийся список автозаполнения. Hermes поддерживает большой набор косых команд CLI, динамических команд навыков и определяемых пользователем быстрых команд.

Распространенные примеры:

Команда Описание
/help Показать справку по команде
/model Показать или изменить текущую модель
/tools Список доступных на данный момент инструментов
/skills browse Просмотрите центр навыков и официальные дополнительные навыки
/background <prompt> Запуск запроса в отдельном фоновом сеансе
/skin Показать или переключить активный скин CLI
/voice on Включить голосовой режим CLI (нажмите Ctrl+B для записи)
/voice tts Переключить голосовое воспроизведение ответов Гермеса
/reasoning high Увеличьте усилие рассуждения
/title My Session Назовите текущий сеанс

Полный список встроенных команд командной строки и списков сообщений см. в Справочнике по слэш-командам.

Информацию о настройке, провайдерах, настройке тишины и использовании голосовых сообщений/Discord см. в разделе Голосовой режим.

:::совет Команды не чувствительны к регистру — /HELP работает так же, как /help. Установленные навыки также автоматически становятся косыми командами.

Быстрые команды

Вы можете определить собственные команды, которые мгновенно запускают команды оболочки, не вызывая LLM. Они работают как в CLI, так и на платформах обмена сообщениями (Telegram, Discord и т. д.).

# ~/.hermes/config.yaml
quick_commands:
  status:
    type: exec
    command: systemctl status hermes-agent
  gpu:
    type: exec
    command: nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv,noheader
  restart:
    type: alias
    target: /gateway restart

Затем введите /status, /gpu или /restart в любом чате. Дополнительные примеры см. в Руководстве по настройке.

Предварительная загрузка навыков при запуске

Если вы уже знаете, какие навыки вы хотите активировать в сеансе, передайте их во время запуска:

hermes -s hermes-agent-dev,github-auth
hermes chat -s github-pr-workflow -s github-auth

Гермес загружает каждый названный навык в приглашение сеанса перед первым ходом. Тот же флаг работает в интерактивном режиме и режиме одного запроса.

Команды навыка Slash

Каждый установленный навык в ~/.hermes/skills/ автоматически регистрируется как косая черта. Имя навыка становится командой:

/gif-search funny cats
/axolotl help me fine-tune Llama 3 on my dataset
/github-pr-workflow create a PR for the auth refactor

# Just the skill name loads it and lets the agent ask what you need:
/excalidraw

Личности

Установите предопределенную личность, чтобы изменить тон агента:

/personality pirate
/personality kawaii
/personality concise

Встроенные персональные возможности включают: helpful, concise, technical, creative, teacher, kawaii, catgirl, pirate, shakespeare, surfer, noir, uwu, philosopher, hype.

Вы также можете определить персональные настройки в ~/.hermes/config.yaml:

personalities:
  helpful: "You are a helpful, friendly AI assistant."
  kawaii: "You are a kawaii assistant! Use cute expressions..."
  pirate: "Arrr! Ye be talkin' to Captain Hermes..."
  # Add your own!

Многострочный ввод

Существует два способа ввода многострочных сообщений:

  1. Alt+Enter или Ctrl+J — вставляет новую строку.
  2. Продолжение обратной косой черты — для продолжения завершите строку \:
❯ Write a function that:\
  1. Takes a list of numbers\
  2. Returns the sum

:::информация Поддерживается вставка многострочного текста — используйте Alt+Enter или Ctrl+J для вставки новой строки или просто вставьте содержимое напрямую.

Прерывание агента

Вы можете прервать агента в любой момент:

Режим входа «Занято»

Конфигурационный ключ display.busy_input_mode управляет тем, что происходит, когда вы нажимаете Enter во время работы агента:

Режим Поведение
"interrupt" (по умолчанию) Ваше сообщение прерывает текущую операцию и немедленно обрабатывается
"queue" Ваше сообщение автоматически ставится в очередь и отправляется на следующем этапе после завершения работы агента
"steer" Ваше сообщение вводится в текущий запуск через /steer и поступает к агенту после следующего вызова инструмента — ни прерывания, ни нового хода
# ~/.hermes/config.yaml
display:
  busy_input_mode: "steer"   # or "queue" or "interrupt" (default)

Режим "queue" полезен, когда вы хотите подготовить последующие сообщения без случайной отмены работы в полете. Режим "steer" полезен, когда вы хотите перенаправить агента в середине задачи, не прерывая его — например. «Вообще-то, еще проверь тесты», пока он еще редактирует код. Неизвестные значения возвращаются к "interrupt".

"steer" имеет два автоматических варианта возврата: если агент еще не запущен или если изображения прикреплены, сообщение возвращается к поведению "queue", поэтому ничего не потеряно.

Вы также можете изменить его внутри CLI:

/busy queue
/busy steer
/busy interrupt
/busy status

💡 Tip

Подсказка при первом касании В первый раз, когда вы нажимаете Enter во время работы Hermes, Hermes печатает однострочное напоминание с описанием ручки `/busy` (`"(tip) Your message interrupted the current run…"`). Он срабатывает только один раз за установку — его фиксирует флаг в `config.yaml` под `onboarding.seen.busy_input_prompt`. Удалите этот ключ, чтобы снова увидеть подсказку.

Приостановка работы в фоновом режиме

В системах Unix нажмите Ctrl+Z, чтобы перевести Hermes в фоновый режим — как и любой терминальный процесс. Оболочка печатает подтверждение:

Hermes Agent has been suspended. Run `fg` to bring Hermes Agent back.

Введите fg в своей оболочке, чтобы возобновить сеанс с того места, на котором вы остановились. Это не поддерживается в Windows.

Отображение хода работы инструмента

Интерфейс командной строки отображает анимированную обратную связь во время работы агента:

Анимация мышления (во время вызовов API):

  ◜ (。•́︿•̀。) pondering... (1.2s)
  ◠ (⊙_⊙) contemplating... (2.4s)
  ✧٩(ˊᗜˋ*)و✧ got it! (3.1s)

Канал выполнения инструмента:

  ┊ 💻 terminal `ls -la` (0.3s)
  ┊ 🔍 web_search (1.2s)
  ┊ 📄 web_extract (2.1s)

Переключайте режимы отображения с помощью /verbose: off → new → all → verbose. Эту команду также можно включить для платформ обмена сообщениями — см. configuration.

Длина предварительного просмотра инструмента

Ключ конфигурации display.tool_preview_length управляет максимальным количеством символов, отображаемых в строках предварительного просмотра вызова инструмента (например, пути к файлам, команды терминала). По умолчанию используется 0, что означает отсутствие ограничений — отображаются полные пути и команды.

# ~/.hermes/config.yaml
display:
  tool_preview_length: 80   # Truncate tool previews to 80 chars (0 = no limit)

Это полезно на узких терминалах или когда аргументы инструмента содержат очень длинные пути к файлам.

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

Возобновление сеансов

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

Resume this session with:
  hermes --resume 20260225_143052_a1b2c3

Session:        20260225_143052_a1b2c3
Duration:       12m 34s
Messages:       28 (5 user, 18 tool calls)

Варианты резюме:

hermes --continue                          # Resume the most recent CLI session
hermes -c                                  # Short form
hermes -c "my project"                     # Resume a named session (latest in lineage)
hermes --resume 20260225_143052_a1b2c3     # Resume a specific session by ID
hermes --resume "refactoring auth"         # Resume by title
hermes -r 20260225_143052_a1b2c3           # Short form

Возобновление восстанавливает полную историю разговоров из SQLite. Агент видит все предыдущие сообщения, вызовы инструментов и ответы — так, как будто вы никогда не уходили.

Используйте /title My Session Name внутри чата, чтобы назвать текущий сеанс, или hermes sessions rename <id> <title> в командной строке. Используйте hermes sessions list для просмотра прошлых сеансов.

Хранилище сеансов

Сеансы CLI хранятся в базе данных состояний SQLite компании Hermes под адресом ~/.hermes/state.db. В базе данных хранятся:

Некоторые адаптеры обмена сообщениями также хранят файлы расшифровок для каждой платформы вместе с базой данных, но сам CLI возобновляет работу из хранилища сеансов SQLite.

Сжатие контекста

Длинные разговоры автоматически суммируются при приближении к ограничениям контекста:

# In ~/.hermes/config.yaml
compression:
  enabled: true
  threshold: 0.50    # Compress at 50% of context limit by default

# Summarization model configured under auxiliary:
auxiliary:
  compression:
    model: "google/gemini-3-flash-preview"  # Model used for summarization

При срабатывании сжатия средние витки суммируются, а первые 3 и последние 20 витков всегда сохраняются.

Фоновые сеансы

Запустите приглашение в отдельном фоновом сеансе, продолжая использовать CLI для другой работы:

/background Analyze the logs in /var/log and summarize any errors from today

Гермес немедленно подтверждает задачу и возвращает вам подсказку:

🔄 Background task #1 started: "Analyze the logs in /var/log and summarize..."
   Task ID: bg_143022_a1b2c3

Как это работает

Каждое приглашение /background порождает совершенно отдельный сеанс агента в потоке демона:

Результаты

Когда фоновая задача завершается, результат отображается в виде панели вашего терминала:

╭─ ⚕ Hermes (background #1) ──────────────────────────────────╮
│ Found 3 errors in syslog from today:                         │
│ 1. OOM killer invoked at 03:22 — killed process nginx        │
│ 2. Disk I/O error on /dev/sda1 at 07:15                      │
│ 3. Failed SSH login attempts from 192.168.1.50 at 14:30      │
╰──────────────────────────────────────────────────────────────╯

Если задача не выполнена, вместо этого вы увидите уведомление об ошибке. Если display.bell_on_complete включен в вашей конфигурации, по завершении задачи раздастся звуковой сигнал терминала.

Варианты использования

:::информация Фоновые сеансы не отображаются в основной истории разговоров. Это автономные сеансы со своим собственным идентификатором задачи (например, bg_143022_a1b2c3).

Тихий режим

По умолчанию интерфейс командной строки работает в тихом режиме, который: - Подавляет подробное ведение журнала из инструментов. - Включает анимированную обратную связь в стиле каваи. - Сохраняет вывод чистым и удобным для пользователя

Для вывода отладки:

hermes chat --verbose