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)
hermeschat-q"Hello"# With a specific model
hermeschat--model"anthropic/claude-sonnet-4"# With a specific provider
hermeschat--providernous# Use Nous Portal
hermeschat--provideropenrouter# Force OpenRouter# With specific toolsets
hermeschat--toolsets"web,terminal,skills"# Start with one or more skills preloaded
hermes-shermes-agent-dev,github-auth
hermeschat-sgithub-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)
hermeschat--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, поток диалога и фиксированное приглашение к вводу отображаются как стабильный рисунок документа, а не хрупкий текстовый рисунок.
Приветственный баннер сразу показывает вашу модель, серверную часть терминала, рабочий каталог, доступные инструменты и установленные навыки.
Строка состояния
Постоянная строка состояния находится над областью ввода и обновляется в реальном времени:
Визуальный индикатор заполнения с цветовыми порогами
Стоимость
Ориентировочная стоимость сеанса (или 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 для записи)
Информацию о настройке, провайдерах, настройке тишины и использовании голосовых сообщений/Discord см. в разделе Голосовой режим.
:::совет
Команды не чувствительны к регистру — /HELP работает так же, как /help. Установленные навыки также автоматически становятся косыми командами.
Быстрые команды
Вы можете определить собственные команды, которые мгновенно запускают команды оболочки, не вызывая LLM. Они работают как в CLI, так и на платформах обмена сообщениями (Telegram, Discord и т. д.).
# ~/.hermes/config.yamlquick_commands:status:type:execcommand:systemctl status hermes-agentgpu:type:execcommand:nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv,noheaderrestart:type:aliastarget:/gateway restart
Затем введите /status, /gpu или /restart в любом чате. Дополнительные примеры см. в Руководстве по настройке.
Предварительная загрузка навыков при запуске
Если вы уже знаете, какие навыки вы хотите активировать в сеансе, передайте их во время запуска:
Гермес загружает каждый названный навык в приглашение сеанса перед первым ходом. Тот же флаг работает в интерактивном режиме и режиме одного запроса.
Команды навыка Slash
Каждый установленный навык в ~/.hermes/skills/ автоматически регистрируется как косая черта. Имя навыка становится командой:
/gif-searchfunnycats/axolotlhelpmefine-tuneLlama3onmydataset/github-pr-workflowcreateaPRfortheauthrefactor# Just the skill name loads it and lets the agent ask what you need:/excalidraw
Личности
Установите предопределенную личность, чтобы изменить тон агента:
Вы также можете определить персональные настройки в ~/.hermes/config.yaml:
personalities:helpful:"Youareahelpful,friendlyAIassistant."kawaii:"Youareakawaiiassistant!Usecuteexpressions..."pirate:"Arrr!Yebetalkin'toCaptainHermes..."# Add your own!
Многострочный ввод
Существует два способа ввода многострочных сообщений:
Alt+Enter или Ctrl+J — вставляет новую строку.
Продолжение обратной косой черты — для продолжения завершите строку \:
❯ Write a function that:\
1. Takes a list of numbers\
2. Returns the sum
:::информация
Поддерживается вставка многострочного текста — используйте Alt+Enter или Ctrl+J для вставки новой строки или просто вставьте содержимое напрямую.
Прерывание агента
Вы можете прервать агента в любой момент:
Введите новое сообщение + Enter во время работы агента — он прерывает и обрабатывает ваши новые инструкции.
Ctrl+C — прервать текущую операцию (нажмите дважды в течение 2 с для принудительного выхода)
Выполняемые команды терминала немедленно уничтожаются (SIGTERM, затем SIGKILL через 1 с)
Несколько сообщений, введенных во время прерывания, объединяются в одно приглашение.
Режим входа «Занято»
Конфигурационный ключ display.busy_input_mode управляет тем, что происходит, когда вы нажимаете Enter во время работы агента:
Режим
Поведение
"interrupt" (по умолчанию)
Ваше сообщение прерывает текущую операцию и немедленно обрабатывается
"queue"
Ваше сообщение автоматически ставится в очередь и отправляется на следующем этапе после завершения работы агента
"steer"
Ваше сообщение вводится в текущий запуск через /steer и поступает к агенту после следующего вызова инструмента — ни прерывания, ни нового хода
# ~/.hermes/config.yamldisplay: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 в фоновый режим — как и любой терминальный процесс. Оболочка печатает подтверждение:
Переключайте режимы отображения с помощью /verbose: off → new → all → verbose. Эту команду также можно включить для платформ обмена сообщениями — см. configuration.
Длина предварительного просмотра инструмента
Ключ конфигурации display.tool_preview_length управляет максимальным количеством символов, отображаемых в строках предварительного просмотра вызова инструмента (например, пути к файлам, команды терминала). По умолчанию используется 0, что означает отсутствие ограничений — отображаются полные пути и команды.
# ~/.hermes/config.yamldisplay:tool_preview_length:80# Truncate tool previews to 80 chars (0 = no limit)
Это полезно на узких терминалах или когда аргументы инструмента содержат очень длинные пути к файлам.
Управление сеансами
Возобновление сеансов
При выходе из сеанса CLI печатается команда возобновления:
hermes--continue# Resume the most recent CLI session
hermes-c# Short form
hermes-c"my project"# Resume a named session (latest in lineage)
hermes--resume20260225_143052_a1b2c3# Resume a specific session by ID
hermes--resume"refactoring auth"# Resume by title
hermes-r20260225_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.yamlcompression:enabled:truethreshold: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 для другой работы:
Гермес немедленно подтверждает задачу и возвращает вам подсказку:
🔄Backgroundtask#1 started: "Analyze the logs in /var/log and summarize..."TaskID: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 включен в вашей конфигурации, по завершении задачи раздастся звуковой сигнал терминала.
Варианты использования
Длительные исследования — «/background исследовать последние разработки в области квантовой коррекции ошибок», пока вы работаете над кодом.
Обработка файлов — «/background проанализируйте все файлы Python в этом репозитории и перечислите все проблемы безопасности», пока вы продолжаете разговор.
Параллельные расследования — запускайте несколько фоновых задач, чтобы исследовать разные стороны одновременно.
:::информация
Фоновые сеансы не отображаются в основной истории разговоров. Это автономные сеансы со своим собственным идентификатором задачи (например, bg_143022_a1b2c3).
Тихий режим
По умолчанию интерфейс командной строки работает в тихом режиме, который:
- Подавляет подробное ведение журнала из инструментов.
- Включает анимированную обратную связь в стиле каваи.
- Сохраняет вывод чистым и удобным для пользователя