Справочник CLI-команд

На этой странице описаны терминальные команды, запускаемые из оболочки.

Slash-команды для работы внутри чата — см. Справочник slash-команд.

Основная точка входа

hermes [global-options] <command> [subcommand/options]

Глобальные опции

ОпцияОписание
--version, -VВывести версию и выйти.
--profile <name>, -p <name>Выбрать профиль Hermes для этого вызова. Переопределяет постоянный профиль по умолчанию, заданный через hermes profile use.
--resume <session>, -r <session>Возобновить предыдущую сессию по ID или заголовку.
--continue [name], -c [name]Возобновить последнюю сессию или последнюю сессию с совпадающим заголовком.
--worktree, -wЗапустить в изолированном git worktree для параллельных рабочих процессов с агентами.
--yoloПропустить запросы подтверждения для опасных команд.
--pass-session-idВключить ID сессии в системный промпт агента.
--ignore-user-configИгнорировать ~/.hermes/config.yaml и использовать встроенные настройки по умолчанию. Учётные данные из .env загружаются в любом случае.
--ignore-rulesПропустить автоматическое добавление AGENTS.md, SOUL.md, .cursorrules, памяти и предзагруженных навыков.
--tuiЗапустить TUI вместо классического CLI. Эквивалентно HERMES_TUI=1. Всегда имеет приоритет над display.interface.
--cliПринудительно использовать классический prompt_toolkit REPL. Переопределяет display.interface: tui для одного вызова.
--devПри использовании с --tui: запускать TypeScript-исходники напрямую через tsx вместо предсобранного бандла (для разработчиков TUI).

Команды верхнего уровня

КомандаНазначение
hermes chatИнтерактивный чат или одиночный запрос к агенту.
hermes modelИнтерактивный выбор провайдера и модели по умолчанию.
hermes fallbackУправление резервными провайдерами, которые пробуются при ошибке основной модели.
hermes gatewayЗапуск и управление сервисом шлюза сообщений.
hermes proxyЛокальный OpenAI-совместимый прокси, добавляющий учётные данные OAuth-провайдера. См. Subscription Proxy.
hermes lspУправление интеграцией Language Server Protocol (семантические диагностики для write_file/patch).
hermes setupИнтерактивный мастер настройки для всей или части конфигурации.
hermes whatsappНастройка и сопряжение моста WhatsApp.
hermes slackВспомогательные утилиты Slack (в настоящее время: генерация манифеста приложения, где каждая команда — нативный слэш).
hermes authУправление учётными данными — добавление, список, удаление, сброс, выбор стратегии. Обрабатывает OAuth-потоки для Codex/Nous/Anthropic.
hermes login / logoutУстарело — используйте hermes auth.
hermes sendОтправить одиночное сообщение на настроенную платформу (Telegram, Discord, Slack, Signal, SMS, …). Полезно из shell-скриптов, cron-заданий, CI-хуков и мониторинговых демонов — без агентного цикла и LLM.
hermes secretsУправление внешними источниками секретов (в настоящее время Bitwarden Secrets Manager) для получения API-ключей при запуске процесса вместо хранения в ~/.hermes/.env.
hermes migrateДиагностика и (опционально) перезапись config.yaml для замены ссылок на устаревшие модели или deprecated-настройки (например, migrate xai).
hermes statusПоказать статус агента, аутентификации и платформ.
hermes cronПросмотр и запуск планировщика cron.
hermes kanbanМногопрофильная доска совместной работы (задачи, ссылки, диспетчер).
hermes webhookУправление динамическими вебхук-подписками для событийной активации.
hermes hooksПросмотр, подтверждение и удаление shell-скриптовых хуков, объявленных в config.yaml.
hermes doctorДиагностика проблем с конфигурацией и зависимостями.
hermes security auditРазовый аудит цепочки поставок (OSV.dev) для venv, зависимостей плагинов и закреплённых MCP-серверов.
hermes dumpСводка настройки в формате, удобном для копирования, для поддержки и отладки.
hermes prompt-sizeПоказать разбивку по байтам системного промпта + схем инструментов (индекс навыков, память, профиль). Работает офлайн.
hermes debugИнструменты отладки — загрузка логов и системной информации для поддержки.
hermes backupРезервное копирование домашней директории Hermes в zip-файл.
hermes checkpointsПросмотр, очистка и удаление ~/.hermes/checkpoints/ (теневое хранилище, используемое /rollback). Без аргументов выводит обзор состояния.
hermes importВосстановление резервной копии Hermes из zip-файла.
hermes logsПросмотр, отслеживание и фильтрация лог-файлов агента/шлюза/ошибок.
hermes configПросмотр, редактирование, миграция и запросы к файлам конфигурации.
hermes pairingПодтверждение или отзыв кодов сопряжения мессенджеров.
hermes skillsПросмотр, установка, публикация, аудит и настройка навыков.
hermes bundlesГруппировка нескольких навыков под одной slash-командой /<name>. См. Skill Bundles.
hermes curatorФоновое обслуживание навыков — статус, запуск, пауза, закрепление. См. Curator.
hermes memoryНастройка внешнего провайдера памяти. Подкоманды для конкретного плагина (например, hermes honcho) регистрируются автоматически при активном провайдере.
hermes acpЗапуск Hermes как ACP-сервера для интеграции с редактором.
hermes mcpУправление конфигурациями MCP-серверов и запуск Hermes как MCP-сервера.
hermes pluginsУправление плагинами Hermes Agent (установка, включение, отключение, удаление).
hermes portalСтатус Nous Portal, ссылка на подписку и маршрутизация Tool Gateway. См. Tool Gateway.
hermes toolsНастройка включённых инструментов по платформам.
hermes computer-useУстановка или проверка бэкенда cua-driver (macOS Computer Use).
hermes sessionsПросмотр, экспорт, очистка, переименование и удаление сессий.
hermes insightsАналитика по токенам, стоимости и активности.
hermes clawВспомогательные утилиты для миграции с OpenClaw.
hermes dashboardЗапуск веб-дашборда для управления конфигурацией, API-ключами и сессиями.
hermes profileУправление профилями — несколькими изолированными экземплярами Hermes.
hermes completionВывод скриптов автодополнения оболочки (bash/zsh/fish).
hermes versionПоказать информацию о версии.
hermes updateПолучить последний код и переустановить зависимости (git-установки) или проверить PyPI и запустить pip install --upgrade (pip-установки). --check — предварительный просмотр без установки; --backup — снимок HERMES_HOME перед обновлением.
hermes uninstallУдалить Hermes из системы.

hermes chat

hermes chat [options]

Основные опции:

ОпцияОписание
-q, --query "..."Одиночный неинтерактивный промпт.
-m, --model <model>Переопределить модель для этого запуска.
-t, --toolsets <csv>Включить набор инструментов, перечисленных через запятую.
--provider <provider>Принудительно использовать провайдер: auto, openrouter, nous, openai-codex, copilot-acp, copilot, anthropic, gemini, google-gemini-cli, huggingface, novita (псевдонимы novita-ai, novitaai), openai-api, zai, kimi-coding, kimi-coding-cn, minimax, minimax-cn, minimax-oauth, kilocode, xiaomi, arcee, gmi, alibaba, alibaba-coding-plan (псевдоним alibaba_coding), deepseek, nvidia, ollama-cloud, xai (псевдоним grok), xai-oauth (псевдоним grok-oauth), qwen-oauth, bedrock, opencode-zen, opencode-go, azure-foundry, lmstudio, stepfun, tencent-tokenhub (псевдонимы tencent, tokenhub).
-s, --skills <name>Предзагрузить один или несколько навыков для сессии (можно повторять или указывать через запятую).
-v, --verboseПодробный вывод.
-Q, --quietПрограммный режим: скрыть баннер/спиннер/превью инструментов.
--image <path>Прикрепить локальное изображение к одному запросу.
--resume <session> / --continue [name]Возобновить сессию прямо из chat.
--worktreeСоздать изолированный git worktree для этого запуска.
--checkpointsВключить контрольные точки файловой системы перед деструктивными изменениями файлов.
--yoloПропустить запросы подтверждения.
--pass-session-idПередать ID сессии в системный промпт.
--ignore-user-configИгнорировать ~/.hermes/config.yaml и использовать встроенные настройки по умолчанию. Учётные данные из .env загружаются в любом случае. Полезно для изолированных CI-запусков, воспроизводимых отчётов об ошибках и сторонних интеграций.
--ignore-rulesПропустить автоматическое добавление AGENTS.md, SOUL.md, .cursorrules, постоянной памяти и предзагруженных навыков. Вместе с --ignore-user-config даёт полностью изолированный запуск.
--safe-modeРежим устранения неполадок: отключить ВСЕ кастомизации — пользовательский конфиг, добавление правил/памяти, плагины и MCP-серверы (подразумевает --ignore-user-config и --ignore-rules). Используйте, чтобы понять, в чём причина проблемы — в вашей настройке или в самом Hermes.
--source <tag>Тег источника сессии для фильтрации (по умолчанию: cli). Используйте tool для сторонних интеграций, которые не должны отображаться в списках сессий пользователя.
--max-turns <N>Максимальное число итераций вызовов инструментов за один диалоговый ход (по умолчанию: 90 или agent.max_turns в конфигурации).

Примеры:

hermes
hermes chat -q "Summarize the latest PRs"
hermes chat --provider openrouter --model anthropic/claude-sonnet-4.6
hermes chat --toolsets web,terminal,skills
hermes chat --quiet -q "Return only JSON"
hermes chat --worktree -q "Review this repo and open a PR"
hermes chat --ignore-user-config --ignore-rules -q "Repro without my personal setup"
hermes chat --safe-mode -q "Is this bug mine or Hermes'?"

hermes -z <prompt> — скриптовый одиночный запрос

Для программных вызовов (shell-скрипты, CI, cron, родительские процессы, передающие промпт через pipe) hermes -z — это наиболее чистая точка входа для одиночных запросов: один промпт на вход, текст финального ответа на выход, больше ничего ни в stdout, ни в stderr. Без баннера, спиннера, превью инструментов, строки Session: — только финальный ответ агента в виде простого текста.

hermes -z "What's the capital of France?"
# → Paris.

# Родительские скрипты могут чисто перехватить ответ:
answer=$(hermes -z "summarize this" < /path/to/file.txt)

Переопределения для конкретного запуска (без изменений в ~/.hermes/config.yaml):

ФлагЭквивалентная переменная окруженияНазначение
-m / --model <model>HERMES_INFERENCE_MODELПереопределить модель для этого запуска
--provider <provider>(нет)Переопределить провайдер для этого запуска
hermes -z "…" --provider openrouter --model openai/gpt-5.5
# или:
HERMES_INFERENCE_MODEL=anthropic/claude-sonnet-4.6 hermes -z "…"

Тот же агент, те же инструменты, те же навыки — только без всех интерактивных и косметических слоёв. Если нужен вывод инструментов в транскрипте — используйте hermes chat -q; -z явно предназначен для случая «нужен только финальный ответ».

hermes model

Интерактивный выбор провайдера и модели. Это команда для добавления новых провайдеров, настройки API-ключей и запуска OAuth-потоков. Запускайте из терминала — не изнутри активной сессии Hermes.

hermes model

Используйте, когда нужно:

  • добавить нового провайдера (OpenRouter, Anthropic, Copilot, DeepSeek, кастомный и т.д.)
  • войти в провайдеры с OAuth (Anthropic, Copilot, Codex, Nous Portal)
  • ввести или обновить API-ключи
  • выбрать из списков моделей конкретного провайдера
  • настроить кастомный или self-hosted эндпоинт
  • сохранить новое значение по умолчанию в конфиг
внимание
hermes model vs /model — важное различие

hermes model (запускается из терминала, вне любой сессии Hermes) — это полный мастер настройки провайдера. Может добавлять новых провайдеров, запускать OAuth-потоки, запрашивать API-ключи и настраивать эндпоинты.

/model (вводится внутри активной сессии чата Hermes) умеет только переключаться между уже настроенными провайдерами и моделями. Не может добавлять новых провайдеров, запускать OAuth и запрашивать API-ключи.

Чтобы добавить нового провайдера: сначала выйдите из сессии Hermes (Ctrl+C или /quit), затем запустите hermes model из терминала.

Slash-команда /model (внутри сессии)

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

/model                              # Показать текущую модель и доступные варианты
/model claude-sonnet-4              # Переключить модель (провайдер определяется автоматически)
/model zai:glm-5                    # Переключить провайдер и модель
/model custom:qwen-2.5              # Использовать модель на кастомном эндпоинте
/model custom                       # Автоматически определить модель с кастомного эндпоинта
/model custom:local:qwen-2.5        # Использовать именованный кастомный провайдер
/model openrouter:anthropic/claude-sonnet-4  # Вернуться в облако

По умолчанию изменения через /model применяются только к текущей сессии. Добавьте --global для сохранения изменений в config.yaml:

/model claude-sonnet-4 --global     # Переключить и сохранить как новое значение по умолчанию
инфо
Вижу только модели OpenRouter?

Если настроен только OpenRouter, /model покажет только модели OpenRouter. Чтобы добавить другого провайдера (Anthropic, DeepSeek, Copilot и т.д.), выйдите из сессии и запустите hermes model из терминала.

Изменения провайдера и базового URL сохраняются в config.yaml автоматически. При переключении с кастомного эндпоинта устаревший базовый URL очищается, чтобы не попасть к другим провайдерам.

hermes gateway

hermes gateway <subcommand>

Подкоманды:

ПодкомандаОписание
runЗапустить шлюз на переднем плане. Рекомендуется для WSL, Docker и Termux.
startЗапустить установленный фоновый сервис systemd/launchd.
stopОстановить сервис (или процесс переднего плана).
restartПерезапустить сервис.
statusПоказать статус сервиса.
listПеречислить все профили и показать, запущен ли шлюз каждого профиля (с PID, где доступен). Удобно при параллельном запуске нескольких профилей для общего обзора.
installУстановить как фоновый сервис systemd (Linux) или launchd (macOS).
uninstallУдалить установленный сервис.
setupИнтерактивная настройка платформы обмена сообщениями.

Опции:

ОпцияОписание
--allДля start / restart / stop: действовать на шлюзы всех профилей, а не только активного HERMES_HOME. Полезно при параллельном запуске нескольких профилей и необходимости перезапустить все после hermes update.
--no-superviseДля run: внутри Docker-образа s6-overlay — отключить авто-наблюдение и использовать семантику переднего плана до s6 — шлюз запускается как главный процесс контейнера без авто-перезапуска. Нет эффекта вне образа s6. Эквивалентно HERMES_GATEWAY_NO_SUPERVISE=1.
совет
Пользователям WSL

Используйте hermes gateway run вместо hermes gateway start — поддержка systemd в WSL ненадёжна. Оберните в tmux для постоянства: tmux new -s hermes 'hermes gateway run'. Подробнее — в FAQ по WSL.

hermes lsp

hermes lsp <subcommand>

Управление интеграцией Language Server Protocol. LSP запускает настоящие языковые серверы (pyright, gopls, rust-analyzer, …) в фоне и передаёт их диагностику в пост-записную проверку, используемую write_file и patch. Активируется только при наличии git-рабочего пространства — LSP работает только когда текущий каталог или редактируемый файл находится внутри git worktree.

Подкоманды:

ПодкомандаОписание
statusПоказать состояние сервиса, настроенные серверы, статус установки.
listВывести реестр поддерживаемых серверов. Передайте --installed-only для пропуска отсутствующих.
install <id>Принудительно установить бинарник одного сервера.
install-allУстановить все серверы с известным рецептом автоустановки.
restartОстановить запущенные клиенты, чтобы следующее редактирование их пересоздало.
which <id>Вывести путь к бинарнику одного сервера.

См. LSP — семантические диагностики — полное руководство, поддерживаемые языки и параметры настройки.

hermes setup

hermes setup [model|tts|terminal|gateway|tools|agent] [--non-interactive] [--reset] [--quick] [--reconfigure] [--portal]

Самый простой путь: hermes setup --portal — OAuth-вход в Nous Portal и подключение к Tool Gateway в один шаг.

Первый запуск: запускает мастер первоначальной настройки.

Повторный запуск (уже настроено): переходит прямо в полный мастер перенастройки — в каждом запросе текущее значение является значением по умолчанию, нажмите Enter для сохранения или введите новое. Без меню.

Переход к отдельному разделу вместо полного мастера:

РазделОписание
modelНастройка провайдера и модели.
terminalНастройка терминального бэкенда и песочницы.
gatewayНастройка платформы обмена сообщениями.
toolsВключение/отключение инструментов по платформам.
agentНастройки поведения агента.

Опции:

ОпцияОписание
--quickПри повторном запуске: запрашивать только отсутствующие или незаданные элементы. Пропускать уже настроенные.
--non-interactiveИспользовать значения по умолчанию / переменные окружения без запросов.
--resetСбросить конфигурацию до значений по умолчанию перед настройкой.
--reconfigureПсевдоним для обратной совместимости — голый hermes setup на существующей установке теперь делает это по умолчанию.
--portalОдношаговая настройка Nous Portal: вход через OAuth, установка Nous как провайдера вывода и подключение к Tool Gateway. Пропускает остаток мастера.

hermes portal

hermes portal [status|open|tools]

Просмотр состояния аутентификации Nous Portal, маршрутизации Tool Gateway и доступ к странице подписки. Вызов без подкоманды запускает status.

ПодкомандаОписание
status (по умолчанию)Состояние аутентификации Portal + сводка маршрутизации Tool Gateway по каждому инструменту. Отображается также при вызове без подкоманды.
openОткрыть portal.nousresearch.com/manage-subscription в браузере по умолчанию.
toolsПеречислить всех партнёров Tool Gateway (Firecrawl, FAL, OpenAI TTS, Browser Use, Modal) и какие из них маршрутизируются через Nous.

Настройка самого шлюза — см. Tool Gateway. Одношаговый путь настройки — см. hermes setup --portal выше.

hermes whatsapp

hermes whatsapp

Запускает процесс сопряжения/настройки WhatsApp, включая выбор режима и сопряжение через QR-код.

hermes slack

hermes slack manifest              # вывести манифест в stdout
hermes slack manifest --write      # записать в ~/.hermes/slack-manifest.json
hermes slack manifest --slashes-only  # только массив features.slash_commands

Генерирует манифест Slack-приложения, который регистрирует каждую команду шлюза из COMMAND_REGISTRY (/btw, /stop, /model, …) как полноценную Slack slash-команду — как в Discord и Telegram. Вставьте вывод в конфигурацию Slack-приложения по адресу https://api.slack.com/apps → ваше приложение → Features → App Manifest → Edit, затем Save. Slack предложит переустановку при изменении скоупов или slash-команд.

ФлагПо умолчаниюНазначение
--write [PATH]stdoutЗаписать в файл вместо stdout. Голый --write записывает $HERMES_HOME/slack-manifest.json.
--name NAMEHermesОтображаемое имя бота в Slack.
--description DESCстандартное описаниеОписание бота в каталоге Slack.
--slashes-onlyвыклВыводить только features.slash_commands для слияния с вручную поддерживаемым манифестом.

Повторно запускайте hermes slack manifest --write после hermes update для получения новых команд.

hermes send

hermes send --to <target> "message text"
hermes send --to <target> --file <path>
echo "message" | hermes send --to <target>
hermes send --list [platform]

Отправить одиночное сообщение на настроенную платформу без запуска агента или цикла шлюза. Использует уже настроенные учётные данные шлюза (~/.hermes/.env + ~/.hermes/config.yaml), что позволяет ops-скриптам, cron-заданиям, CI-хукам и мониторинговым демонам публиковать обновления статуса без реализации REST-клиента каждой платформы.

Для платформ с bot-токенами (Telegram, Discord, Slack, Signal, SMS, WhatsApp-CloudAPI) работающий шлюз не требуется — hermes send обращается напрямую к REST-эндпоинту платформы. Плагин-платформам, требующим постоянный адаптер, нужен живой шлюз.

ОпцияОписание
-t, --to <TARGET>Получатель доставки. Форматы: platform (используется домашний канал), platform:chat_id, platform:chat_id:thread_id или platform:#channel-name. Примеры: telegram, telegram:-1001234567890, discord:#ops, slack:C0123ABCD, signal:+15551234567.
-f, --file <PATH>Читать тело сообщения из PATH (только текстовые файлы — логи, отчёты, markdown). Передайте - для принудительного чтения из stdin. Чтобы отправить изображение или другой бинарный файл, используйте MEDIA:<path> (см. ниже).
-s, --subject <LINE>Добавить строку темы/заголовка перед телом сообщения.
-l, --list [platform]Перечислить настроенные получатели по всем платформам (или только по указанной).
-q, --quietПодавить stdout при успехе — удобно в скриптах (опираться только на код выхода).
--jsonВыводить результат в виде JSON вместо человекочитаемого текста.

Если не указан ни позиционный аргумент message, ни --file, hermes send читает из stdin, когда stdin не является TTY. Коды выхода: 0 при успехе, 1 при ошибке доставки/бэкенда, 2 при ошибках использования.

Отправка изображений и других медиа

--file рассчитан только на текстовые тела сообщений. Чтобы доставить изображение, документ, видео или аудиофайл как нативное вложение платформы, укажите его прямо в тексте сообщения директивой MEDIA:<local_path>:

hermes send --to telegram "MEDIA:/tmp/screenshot.png"
hermes send --to telegram "Build chart for today MEDIA:/tmp/chart.png"   # с подписью
hermes send --to discord:#ops "MEDIA:/tmp/report.pdf"

По умолчанию изображения отправляются как фото (платформы вроде Telegram их пересжимают). Добавьте [[as_document]] в сообщение, чтобы доставить их несжатым файловым вложением:

hermes send --to telegram "[[as_document]] MEDIA:/tmp/screenshot.png"

Примеры:

hermes send --to telegram "deploy finished"
echo "RAM 92%" | hermes send --to telegram:-1001234567890
hermes send --to discord:#ops --file /tmp/report.md
hermes send --to slack:#eng --subject "[CI]" --file build.log
hermes send --list                  # все платформы
hermes send --list telegram         # фильтр по платформе

hermes secrets

hermes secrets bitwarden <subcommand>
hermes secrets bw <subcommand>          # короткий псевдоним

Получение API-ключей из внешнего менеджера секретов при запуске процесса вместо их хранения в ~/.hermes/.env. В настоящее время поддерживается Bitwarden Secrets Manager. Полное руководство: Интеграция с Bitwarden.

Подкоманды bitwarden (псевдоним bw):

ПодкомандаОписание
setupИнтерактивный мастер: установить закреплённый бинарник bws, сохранить токен доступа и выбрать проект. Принимает --project-id, --access-token и --server-url для неинтерактивного использования.
statusПоказать текущую конфигурацию, путь/версию бинарника и информацию о последней синхронизации.
syncПолучить секреты прямо сейчас и сообщить об изменениях. Добавьте --apply для фактического экспорта секретов в окружение текущей оболочки (по умолчанию — dry-run).
installЗагрузить и верифицировать закреплённый бинарник bws. --force загружает повторно, даже если управляемая копия уже существует.
disableОтключить интеграцию с Bitwarden.

hermes migrate

hermes migrate <type>

Диагностика и (опционально) перезапись активного config.yaml для замены ссылок на устаревшие модели или deprecated-настройки. Перед любой перезаписью создаётся временная резервная копия исходного config.yaml (пропустить с --no-backup).

ПодкомандаОписание
xaiСканировать config.yaml на ссылки на модели xAI, запланированные к выводу из оборота 15 мая 2026 года, и (с --apply) перезаписать их на официальные замены согласно руководству по миграции xAI. По умолчанию — dry-run.

Общие флаги для подкоманд миграции:

ФлагОписание
--applyПерезаписать config.yaml на месте (по умолчанию: dry-run, без записи).
--no-backupПропустить резервную копию config.yaml с временной меткой при применении.

Не путать с hermes claw migrate (однократный импорт конфигурации OpenClaw в Hermes) — hermes migrate — это команда перезаписи конфигурации верхнего уровня.

hermes proxy

hermes proxy <subcommand>

Запустить локальный OpenAI-совместимый HTTP-сервер, который перенаправляет запросы к аутентифицированному через OAuth апстрим-провайдеру (например, Nous Portal, xAI). Внешние приложения могут указывать на прокси с любым токеном; прокси добавляет реальные OAuth-учётные данные на выходе. Полное руководство — Subscription Proxy.

ПодкомандаОписание
startЗапустить прокси на переднем плане. Флаги: --provider <nous|xai> (по умолчанию nous), --host <addr> (по умолчанию 127.0.0.1; используйте 0.0.0.0 для доступа по LAN), --port <int> (по умолчанию 8645).
statusПоказать, какие апстримы прокси готовы (учётные данные присутствуют, OAuth действителен).
providersПеречислить доступные апстрим-провайдеры прокси.

hermes security

hermes security <subcommand>

Разовое сканирование уязвимостей через OSV.dev. Охватывает venv Hermes (установленные PyPI-пакеты), зависимости Python, объявленные плагинами в ~/.hermes/plugins/, и закреплённые npx/uvx MCP-серверы в config.yaml. НЕ сканирует глобально установленные пакеты или расширения редактора/браузера.

ПодкомандаОписание
auditЗапустить разовый аудит цепочки поставок.

Флаги audit:

ФлагПо умолчаниюОписание
--jsonвыклВыводить машиночитаемый JSON вместо текста.
--fail-on <level>criticalЗавершить с ненулевым кодом при любой находке заданного уровня серьёзности (low, moderate, high, critical).
--skip-venvвыклПропустить сканирование Python venv Hermes.
--skip-pluginsвыклПропустить сканирование файлов зависимостей плагинов.
--skip-mcpвыклПропустить сканирование закреплённых MCP-серверов в config.yaml.

hermes login / hermes logout (Устарело)

осторожно

hermes login удалён. Используйте hermes auth для управления OAuth-учётными данными, hermes model для выбора провайдера или hermes setup для полной интерактивной настройки.

hermes auth

Управление пулами учётных данных для ротации ключей одного провайдера. Полная документация — Credential Pools.

hermes auth                                              # Интерактивный мастер
hermes auth list                                         # Показать все пулы
hermes auth list openrouter                              # Показать конкретный провайдер
hermes auth add openrouter --api-key sk-or-v1-xxx        # Добавить API-ключ
hermes auth add anthropic --type oauth                   # Добавить OAuth-учётные данные
hermes auth remove openrouter 2                          # Удалить по индексу
hermes auth reset openrouter                             # Сбросить кулдауны
hermes auth status anthropic                             # Показать статус аутентификации провайдера
hermes auth logout anthropic                             # Выйти и очистить сохранённое состояние аутентификации
hermes auth spotify                                      # Аутентифицировать Hermes в Spotify через PKCE

Подкоманды: add, list, remove, reset, status, logout, spotify. При вызове без подкоманды открывает интерактивный мастер управления.

hermes status

hermes status [--all] [--deep]
ОпцияОписание
--allПоказать все детали в редактированном формате для публикации.
--deepВыполнить более глубокие проверки, которые могут занять больше времени.

hermes cron

hermes cron <list|create|edit|pause|resume|run|remove|status|tick>
ПодкомандаОписание
listПоказать запланированные задания.
create / addСоздать запланированное задание из промпта, опционально прикрепив один или несколько навыков через повторяющийся --skill.
editОбновить расписание, промпт, имя, доставку, счётчик повторений или прикреплённые навыки задания. Поддерживает --clear-skills, --add-skill и --remove-skill.
pauseПриостановить задание без удаления.
resumeВозобновить приостановленное задание и вычислить следующий будущий запуск.
runЗапустить задание на следующем тике планировщика.
removeУдалить запланированное задание.
statusПроверить, запущен ли планировщик cron.
tickВыполнить просроченные задания один раз и завершить.

Триггер cron подключаемый через ключ конфигурации cron.provider. Пустое значение (по умолчанию) использует встроенный внутрипроцессный тикер. Задайте chronos (NAS-управляемый провайдер для scale-to-zero хостинговых шлюзов) — настраивается через ключи cron.chronos.* (portal_url, callback_url, expected_audience, nas_jwks_url) — или укажите кастомный провайдер в plugins/cron/<name>/ либо $HERMES_HOME/plugins/<name>/. Неизвестный или недоступный провайдер откатывается к встроенному, так что cron никогда не остаётся без триггера. См. документ внутреннее устройство cron.

hermes kanban

hermes kanban [--board <slug>] <action> [options]

Многопрофильная, многопроектная доска совместной работы. Каждая установка может содержать множество досок (по одной на проект, репозиторий или домен); каждая доска — отдельная очередь со своей SQLite-БД и областью видимости диспетчера. На новых установках создаётся одна доска default, чья БД находится в ~/.hermes/kanban.db для обратной совместимости; дополнительные доски хранятся в ~/.hermes/kanban/boards/<slug>/kanban.db. Встроенный в шлюз диспетчер обрабатывает все доски при каждом тике.

Глобальные флаги (применяются ко всем действиям ниже):

ФлагНазначение
--board <slug>Работать с конкретной доской. По умолчанию — текущая доска (задаётся через hermes kanban boards switch, переменную окружения HERMES_KANBAN_BOARD или default).

Это поверхность для людей и скриптов. Рабочие агенты, порождаемые диспетчером, управляют доской через выделенный набор инструментов kanban_* toolset (kanban_show, kanban_complete, kanban_block, kanban_create, kanban_link, kanban_comment, kanban_heartbeat; профили-оркестраторы также получают kanban_list и kanban_unblock) вместо вызовов hermes kanban. Рабочие агенты имеют HERMES_KANBAN_BOARD закреплённым в своём окружении, поэтому физически не могут видеть другие доски.

ДействиеНазначение
initСоздать kanban.db, если отсутствует. Идемпотентно.
boards list / boards lsПеречислить все доски с количеством задач. --json, --all (включая архивированные).
boards create <slug>Создать новую доску. Флаги: --name, --description, --icon, --color, --switch (сделать активной). Slug — kebab-case, автоматически приводится к нижнему регистру.
boards switch <slug> / boards useСохранить <slug> как активную доску (записывает в ~/.hermes/kanban/current).
boards show / boards currentВывести имя, путь к БД и количество задач текущей активной доски.
boards rename <slug> "<name>"Изменить отображаемое имя доски. Slug неизменяем.
boards rm <slug>Архивировать (по умолчанию) или удалить доску. --delete пропускает шаг архивации. Архивированные доски перемещаются в boards/_archived/<slug>-<ts>/. Для default отказывает.
create "<title>"Создать новую задачу на активной доске. Флаги: --body, --assignee, --parent (повторяемый), --workspace scratch|worktree|dir:<path>, --tenant, --priority, --triage, --idempotency-key, --max-runtime, --max-retries, --skill (повторяемый).
list / lsПеречислить задачи на активной доске. Фильтры: --mine, --assignee, --status, --tenant, --archived, --json.
show <id>Показать задачу с комментариями и событиями. --json для машинного вывода.
assign <id> <profile>Назначить или переназначить. Используйте none для снятия назначения. Отказывает, пока задача выполняется.
link <parent> <child>Добавить зависимость. Проверяется на циклы. Обе задачи должны быть на одной доске.
unlink <parent> <child>Удалить зависимость.
claim <id>Атомарно занять готовую задачу. Выводит путь к разрешённому рабочему пространству.
comment <id> "<text>"Добавить комментарий. Следующий рабочий агент, занявший задачу, прочитает его в ответе kanban_show().
complete <id>Отметить задачу выполненной. Флаги: --result, --summary, --metadata.
block <id> "<reason>"Отметить задачу заблокированной, ожидающей ввода человека. Также добавляет причину как комментарий.
schedule <id> "<reason>"Запарковать отложенную/последующую работу в scheduled, чтобы она не отображалась как блокер для человека.
unblock <id>Вернуть заблокированную или запланированную задачу в ready (или todo, если зависимости ещё открыты).
archive <id>Скрыть из списка по умолчанию. gc удалит scratch-рабочие пространства.
tail <id>Следить за потоком событий задачи.
dispatchОдин проход диспетчера по активной доске. Флаги: --dry-run, --max N, --failure-limit N, --json.
context <id>Вывести полный контекст, который увидит рабочий агент (заголовок + тело + результаты родителей + комментарии).
specify <id> / specify --allПревратить задачу из столбца triage в конкретную спецификацию (заголовок + тело с целью, подходом, критериями приёмки) через вспомогательный LLM, затем продвинуть в todo. Флаги: --tenant (ограничить --all одним тенантом), --author, --json. Настроить модель в auxiliary.triage_specifier в config.yaml.
decompose <id> / decompose --allРазложить задачу triage-столбца на граф дочерних задач, маршрутизированных специализированным профилям по описанию. Откатывается к продвижению одной задачи в стиле specify, когда LLM решает, что задача не выигрывает от разбиения. Те же флаги, что и у specify. Настроить модель декомпозиции в auxiliary.kanban_decomposer в config.yaml; kanban.orchestrator_profile лишь определяет, кому принадлежит корневая/оркестрационная задача после разбиения. Также запускается автоматически при каждом тике диспетчера, когда kanban.auto_decompose: true (по умолчанию). См. Авто vs ручная оркестрация.
gcУдалить scratch-рабочие пространства для архивированных задач.

Примеры:

# Создать вторую доску и добавить на неё задачу без переключения.
hermes kanban boards create atm10-server --name "ATM10 Server" --icon 🎮
hermes kanban --board atm10-server create "Restart server" --assignee ops

# Переключить активную доску для последующих вызовов.
hermes kanban boards switch atm10-server
hermes kanban list                  # показывает задачи atm10-server

# Архивировать доску (восстанавливаемо) или удалить безвозвратно.
hermes kanban boards rm atm10-server
hermes kanban boards rm atm10-server --delete

Порядок определения доски (наивысший приоритет первым): флаг --board <slug> → переменная окружения HERMES_KANBAN_BOARD → файл ~/.hermes/kanban/currentdefault.

Все действия также доступны как slash-команда в шлюзе (/kanban …), с теми же аргументами — включая подкоманды boards и флаг --board.

Для полного описания — сравнение с Cline Kanban / Paperclip / NanoClaw / Gemini Enterprise, восемь паттернов совместной работы, четыре пользовательских истории, доказательство корректности при параллелизме — см. docs/hermes-kanban-v1-spec.pdf в репозитории или руководство пользователя Kanban.

hermes webhook

hermes webhook <subscribe|list|remove|test>

Управление динамическими вебхук-подписками для событийной активации агента. Требует включения платформы webhook в конфигурации — если не настроено, выводит инструкции по настройке.

ПодкомандаОписание
subscribe / addСоздать маршрут вебхука. Возвращает URL и HMAC-секрет для настройки в вашем сервисе.
list / lsПоказать все созданные агентом подписки.
remove / rmУдалить динамическую подписку. Статические маршруты из config.yaml не затрагиваются.
testОтправить тестовый POST для проверки работоспособности подписки.

hermes webhook subscribe

hermes webhook subscribe <name> [options]
ОпцияОписание
--promptШаблон промпта с ссылками на полезную нагрузку в нотации {dot.notation}.
--eventsТипы событий через запятую для приёма (например, issues,pull_request). Пусто = все.
--descriptionЧеловекочитаемое описание.
--skillsИмена навыков через запятую для загрузки при запуске агента.
--deliverПолучатель доставки: log (по умолчанию), telegram, discord, slack, github_comment.
--deliver-chat-idID целевого чата/канала для кроссплатформенной доставки.
--secretПользовательский HMAC-секрет. Генерируется автоматически, если не указан.
--deliver-onlyПропустить агента — доставить отрендеренный --prompt как буквальное сообщение. Нулевые расходы на LLM, доставка за миллисекунды. Требует, чтобы --deliver был реальным получателем (не log).

Подписки сохраняются в ~/.hermes/webhook_subscriptions.json и горячо перезагружаются адаптером вебхука без перезапуска шлюза.

hermes doctor

hermes doctor [--fix]
ОпцияОписание
--fixПопытаться автоматически исправить проблемы там, где это возможно.

hermes dump

hermes dump [--show-keys]

Выводит компактную сводку всей установки Hermes в виде простого текста. Предназначена для копирования в Discord, GitHub Issues или Telegram при обращении в поддержку — без ANSI-цветов, без специального форматирования, только данные.

ОпцияОписание
--show-keysПоказать редактированные префиксы API-ключей (первые и последние 4 символа) вместо просто set/not set.

Что включается

РазделДетали
HeaderВерсия Hermes, дата релиза, хэш git-коммита
EnvironmentОС, версия Python, версия OpenAI SDK
IdentityИмя активного профиля, путь HERMES_HOME
ModelНастроенная модель и провайдер по умолчанию
TerminalТип бэкенда (local, docker, ssh и т.д.)
API keysПроверка наличия для всех 22 API-ключей провайдеров/инструментов
FeaturesВключённые наборы инструментов, количество MCP-серверов, провайдер памяти
ServicesСтатус шлюза, настроенные платформы обмена сообщениями
WorkloadКоличество cron-заданий, количество установленных навыков
Config overridesЗначения конфигурации, отличающиеся от умолчаний

Пример вывода

--- hermes dump ---
version:          0.8.0 (2026.4.8) [af4abd2f]
os:               Linux 6.14.0-37-generic x86_64
python:           3.11.14
openai_sdk:       2.24.0
profile:          default
hermes_home:      ~/.hermes
model:            anthropic/claude-opus-4.6
provider:         openrouter
terminal:         local

api_keys:
  openrouter           set
  openai               not set
  anthropic            set
  nous                 not set
  firecrawl            set
  ...

features:
  toolsets:           all
  mcp_servers:        0
  memory_provider:    built-in
  gateway:            running (systemd)
  platforms:          telegram, discord
  cron_jobs:          3 active / 5 total
  skills:             42

config_overrides:
  agent.max_turns: 250
  compression.threshold: 0.85
  display.streaming: True
--- end dump ---

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

  • При сообщении об ошибке на GitHub — вставьте dump в задачу
  • При обращении за помощью в Discord — поделитесь в блоке кода
  • При сравнении своей установки с чужой
  • Быстрая проверка работоспособности при неполадках
совет

hermes dump специально разработан для публикации. Для интерактивной диагностики — hermes doctor. Для визуального обзора — hermes status.

hermes debug

hermes debug share [options]

Загрузить отчёт об отладке (системная информация + последние логи) на сервис вставки и получить ссылку для публикации. Удобно для быстрых запросов в поддержку — включает всё, что нужно помощнику для диагностики.

ОпцияОписание
--lines <N>Количество строк лога на каждый файл (по умолчанию: 200).
--expire <days>Срок хранения вставки в днях (по умолчанию: 7).
--localВывести отчёт локально вместо загрузки.

Отчёт включает системную информацию (ОС, версия Python, версия Hermes), последние логи агента, шлюза, GUI/дашборда и десктопного приложения (лимит 512 КБ на файл) и редактированный статус API-ключей. Ключи всегда редактируются — секреты не загружаются.

Используемые сервисы вставки (в порядке приоритета): paste.rs, dpaste.com.

Примеры

hermes debug share              # Загрузить отчёт об отладке, вывести URL
hermes debug share --lines 500  # Включить больше строк лога
hermes debug share --expire 30  # Хранить вставку 30 дней
hermes debug share --local      # Вывести отчёт в терминал (без загрузки)

hermes backup

hermes backup [options]

Создать zip-архив конфигурации, навыков, сессий и данных Hermes. Резервная копия не включает кодовую базу hermes-agent.

ОпцияОписание
-o, --output <path>Путь к zip-файлу (по умолчанию: ~/hermes-backup-<timestamp>.zip).
-q, --quickБыстрый снимок: только критические файлы состояния (config.yaml, state.db, .env, аутентификация, cron-задания). Значительно быстрее полной резервной копии.
-l, --label <name>Метка снимка (используется только с --quick).

Резервная копия использует API backup() SQLite для безопасного копирования, поэтому работает корректно, даже когда Hermes запущен (WAL-режим безопасен).

Что исключается из zip:

  • *.db-wal, *.db-shm, *.db-journal — вспомогательные файлы WAL/общей памяти/журнала SQLite. Файл *.db уже получил согласованный снимок через sqlite3.backup(); включение живых вспомогательных файлов позволило бы восстановлению увидеть частично зафиксированное состояние.
  • checkpoints/ — кэши траекторий сессий. Ключи хешируются и пересоздаются для каждой сессии; они не перенесутся корректно на другую установку.
  • Код hermes-agent (это резервная копия пользовательских данных, а не снимок репозитория).

Примеры

hermes backup                           # Полная резервная копия в ~/hermes-backup-*.zip
hermes backup -o /tmp/hermes.zip        # Полная резервная копия по конкретному пути
hermes backup --quick                   # Быстрый снимок только состояния
hermes backup --quick --label "pre-upgrade"  # Быстрый снимок с меткой

hermes checkpoints

hermes checkpoints [COMMAND]

Просмотр и управление теневым git-хранилищем в ~/.hermes/checkpoints/ — уровнем хранения за командой /rollback внутри сессии. Безопасно запускать в любое время; не требует работающего агента.

ПодкомандаОписание
status (по умолчанию)Показать общий размер, количество проектов и разбивку по проектам. hermes checkpoints без аргументов — эквивалент.
listПсевдоним для status.
pruneПринудительная очистка — удалить осиротевшие и устаревшие проекты, выполнить GC хранилища, применить ограничение размера. Игнорирует 24-часовой маркер идемпотентности.
clearУдалить всё контрольное хранилище. Необратимо; запрашивает подтверждение, если не указан -f.
clear-legacyУдалить только архивы legacy-<timestamp>/, созданные при миграции v1→v2.

Опции

ОпцияПодкомандаОписание
--limit Nstatus, listМаксимальное количество проектов в списке (по умолчанию 20).
--retention-days NpruneУдалять проекты, чей last_touch старше N дней (по умолчанию 7).
--max-size-mb NpruneПосле прохода по осиротевшим/устаревшим удалять самый старый коммит каждого проекта до тех пор, пока общий размер хранилища ≤ N МБ (по умолчанию 500).
--keep-orphanspruneПропустить удаление проектов, рабочая директория которых больше не существует.
-f, --forceclear, clear-legacyПропустить запрос подтверждения.

Примеры

hermes checkpoints                                  # обзор состояния
hermes checkpoints prune --retention-days 3         # агрессивная очистка
hermes checkpoints prune --max-size-mb 200          # разовое ужесточение ограничения размера
hermes checkpoints clear-legacy -f                  # удалить архивы v1
hermes checkpoints clear -f                         # удалить всё

См. Контрольные точки и /rollback — полная архитектура и команды внутри сессии.

hermes import

hermes import <zipfile> [options]

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

ОпцияОписание
-f, --forceПропустить запрос подтверждения существующей установки.
внимание

Остановите шлюз перед импортом во избежание конфликтов с запущенными процессами.

Примеры

hermes import ~/hermes-backup-20260423.zip           # Запрашивает подтверждение перед перезаписью конфигурации
hermes import ~/hermes-backup-20260423.zip --force   # Перезаписать без запроса

hermes logs

hermes logs [log_name] [options]

Просмотр, отслеживание и фильтрация лог-файлов Hermes. Все логи хранятся в ~/.hermes/logs/ (или <profile>/logs/ для нестандартных профилей).

Лог-файлы

ИмяФайлЧто записывает
agent (по умолчанию)agent.logВся активность агента — вызовы API, выполнение инструментов, жизненный цикл сессии (INFO и выше)
errorserrors.logТолько предупреждения и ошибки — отфильтрованное подмножество agent.log
gatewaygateway.logАктивность шлюза сообщений — подключения к платформам, отправка сообщений, вебхук-события
guigui.logДашборд / TUI-шлюз / PTY-мост / WebSocket-события
desktopdesktop.logElectron desktop-приложение — загрузка, вывод запуска бэкенда, последние трассировки Python

Опции

ОпцияОписание
log_nameКакой лог просматривать: agent (по умолчанию), errors, gateway, или list для списка доступных файлов с размерами.
-n, --lines <N>Количество строк для вывода (по умолчанию: 50).
-f, --followСледить за логом в реальном времени, как tail -f. Нажмите Ctrl+C для остановки.
--level <LEVEL>Минимальный уровень лога: DEBUG, INFO, WARNING, ERROR, CRITICAL.
--session <ID>Фильтровать строки, содержащие подстроку ID сессии.
--since <TIME>Показать строки за последнее указанное время: 30m, 1h, 2d и т.д. Поддерживает: s (секунды), m (минуты), h (часы), d (дни).
--component <NAME>Фильтровать по компоненту: gateway, agent, tools, cli, cron.

Примеры

# Посмотреть последние 50 строк agent.log (по умолчанию)
hermes logs

# Следить за agent.log в реальном времени
hermes logs -f

# Посмотреть последние 100 строк gateway.log
hermes logs gateway -n 100

# Показать только предупреждения и ошибки за последний час
hermes logs --level WARNING --since 1h

# Фильтр по конкретной сессии
hermes logs --session abc123

# Следить за errors.log, начиная с 30 минут назад
hermes logs errors --since 30m -f

# Перечислить все лог-файлы с их размерами
hermes logs list

Фильтрация

Фильтры можно комбинировать. При нескольких активных фильтрах строка лога должна пройти все из них:

# Строки WARNING+ за последние 2 часа, содержащие сессию "tg-12345"
hermes logs --level WARNING --since 2h --session tg-12345

Строки без разбираемой временной метки включаются при активном --since (они могут быть продолжением многострочной записи лога). Строки без определяемого уровня включаются при активном --level.

Ротация логов

Hermes использует RotatingFileHandler Python. Старые логи ротируются автоматически — ищите agent.log.1, agent.log.2 и т.д. Подкоманда hermes logs list показывает все лог-файлы, включая ротированные.

hermes prompt-size

hermes prompt-size [--platform <name>] [--json]

Выводит фиксированный бюджет промпта для новой сессии — то, что отправляется при каждом вызове API до содержимого диалога. Полезно, когда у нижестоящего адаптера или прокси более жёсткий бюджет промпта, чем контекстное окно модели, или когда нужно увидеть, какой блок (индекс навыков, память, профиль) доминирует.

Собирает тот же системный промпт, что и агент, и разбивает его:

  • Итого системный промпт — полный собранный промпт (идентичность, руководство, индекс навыков, контекстные файлы, память, профиль, временная метка).
  • Индекс навыков — блок <available_skills>. Часто самый большой блок при установленном большом количестве навыков.
  • Память и профиль пользователя — снимки MEMORY.md / USER.md.
  • Уровни промпта — stable / context / volatile, соответствующие послойной структуре промпта Hermes для cache-дружественности.
  • Схемы инструментов — JSON всех включённых инструментов (вторая половина фиксированной нагрузки на вызов).

Работает полностью офлайн — без вызова API, без необходимости в учётных данных.

# Человекочитаемая разбивка для платформы CLI (по умолчанию)
hermes prompt-size

# Симулировать промпт платформы обмена сообщениями (другая метка платформы)
hermes prompt-size --platform telegram

# Машиночитаемый вывод для скриптов
hermes prompt-size --json
совет

Индекс навыков и схемы инструментов масштабируются с количеством включённых навыков и инструментов. Чтобы уменьшить промпт, отключите неиспользуемые наборы инструментов (hermes tools) или удалите ненужные навыки (hermes skills). Контекстные файлы (AGENTS.md, .cursorrules) в текущем каталоге также учитываются в итоге.

hermes config

hermes config <subcommand>

Подкоманды:

ПодкомандаОписание
showПоказать текущие значения конфигурации.
editОткрыть config.yaml в редакторе.
set <key> <value>Задать значение конфигурации.
pathВывести путь к файлу конфигурации.
env-pathВывести путь к файлу .env.
checkПроверить отсутствующие или устаревшие настройки.
migrateИнтерактивно добавить недавно введённые опции.

hermes pairing

hermes pairing <list|approve|revoke|clear-pending>
ПодкомандаОписание
listПоказать ожидающих и подтверждённых пользователей.
approve <platform> <code>Подтвердить код сопряжения.
revoke <platform> <user-id>Отозвать доступ пользователя.
clear-pendingОчистить коды сопряжения в ожидании.

hermes skills

hermes skills <subcommand>

Подкоманды:

ПодкомандаОписание
browseПостраничный просмотр реестров навыков.
searchПоиск по реестрам навыков.
installУстановить навык.
inspectПредварительный просмотр навыка без установки.
listСписок установленных навыков.
checkПроверить установленные навыки hub на наличие обновлений в апстриме.
updateПереустановить навыки hub при наличии изменений в апстриме.
auditПовторно просканировать установленные навыки hub.
uninstallУдалить навык, установленный через hub.
resetСнять флаг user_modified с навыка из пакета, очистив запись в манифесте. С --restore также заменяет пользовательскую копию встроенной версией.
opt-outПрекратить добавление встроенных навыков в активный профиль. Записывает маркер .no-bundled-skills, чтобы установщик, hermes update и синхронизация пропускали встроенные навыки. Безопасно по умолчанию — ничего на диске не затрагивается. С --remove также удаляет уже присутствующие неизменённые встроенные навыки (пользовательские, установленные через hub и написанные вручную навыки никогда не удаляются; предварительно показывает и подтверждает, --yes для пропуска).
opt-inОтменить opt-out, удалив маркер .no-bundled-skills, чтобы встроенные навыки снова добавлялись при следующем hermes update. С --sync — немедленное повторное добавление.
publishОпубликовать навык в реестре.
snapshotЭкспорт/импорт конфигураций навыков.
tapУправление пользовательскими источниками навыков.
configИнтерактивная настройка включения/отключения навыков по платформам.

Типичные примеры:

hermes skills browse
hermes skills browse --source official
hermes skills search react --source skills-sh
hermes skills search https://mintlify.com/docs --source well-known
hermes skills inspect official/security/1password
hermes skills inspect skills-sh/vercel-labs/json-render/json-render-react
hermes skills install official/migration/openclaw-migration
hermes skills install skills-sh/anthropics/skills/pdf --force
hermes skills install https://sharethis.chat/SKILL.md                     # Прямой URL (однофайловый SKILL.md)
hermes skills install https://example.com/SKILL.md --name my-skill        # Переопределить имя, если в frontmatter его нет
hermes skills check
hermes skills update
hermes skills config
hermes skills reset google-workspace
hermes skills reset google-workspace --restore --yes
hermes skills opt-out                  # прекратить добавление встроенных навыков (ничего не удаляется)
hermes skills opt-out --remove --yes   # также удалить НЕИЗМЕНЁННЫЕ встроенные навыки
hermes skills opt-in --sync            # отменить: удалить маркер и повторно добавить навыки

Примечания:

  • --force может обойти неопасные блокировки политики для сторонних/сообщественных навыков.
  • --force не обходит вердикт сканирования dangerous.
  • --source skills-sh выполняет поиск в публичном каталоге skills.sh.
  • --source well-known позволяет направить Hermes на сайт, предоставляющий /.well-known/skills/index.json.
  • --source browse-sh ищет в каталоге browse.sh из 200+ навыков автоматизации браузера для конкретных сайтов. Идентификаторы выглядят как browse-sh/airbnb.com/search-listings-ddgioa.
  • Передача URL http(s)://…/*.md устанавливает однофайловый SKILL.md напрямую. Если в frontmatter нет name: и слаг URL не является валидным идентификатором, интерактивный терминал запрашивает имя; неинтерактивные поверхности (/skills install в TUI, платформы шлюза) требуют --name <x>.

hermes bundles

hermes bundles <subcommand>

Связки навыков группируют несколько навыков под одной slash-командой /<bundle-name>. Вызов связки загружает каждый указанный навык в одно объединённое пользовательское сообщение. Хранение: ~/.hermes/skill-bundles/<slug>.yaml. YAML-схема и поведение — см. Skill Bundles.

Подкоманды:

ПодкомандаОписание
listСписок установленных связок (по умолчанию при вызове без подкоманды)
show <name>Показать имя, описание, навыки и путь к файлу одной связки
create <name>Создать новую связку. Передайте --skill <id> (повторяемый) или пропустите для интерактивного ввода. Доступны --description, --instruction, --force.
delete <name>Удалить файл связки
reloadПовторно просканировать ~/.hermes/skill-bundles/ и сообщить о добавленных/удалённых связках

Примеры:

hermes bundles create backend-dev \
  --skill github-code-review \
  --skill test-driven-development \
  --skill github-pr-workflow \
  -d "Backend feature work"

hermes bundles list
hermes bundles show backend-dev
hermes bundles delete backend-dev

В сессии чата /bundles перечисляет установленные связки, а /<bundle-name> загружает одну.

hermes curator

hermes curator <subcommand>

Куратор — фоновая задача вспомогательной модели, которая периодически проверяет навыки, созданные агентом, удаляет устаревшие, консолидирует дубликаты и архивирует устаревшие навыки. Встроенные и установленные через hub навыки никогда не затрагиваются. Архивы восстанавливаемы; автоматическое удаление не происходит.

ПодкомандаОписание
statusПоказать статус куратора и статистику навыков
runЗапустить проверку куратора сейчас (блокирует до завершения прохода LLM)
run --backgroundЗапустить проход LLM в фоновом потоке и немедленно вернуть управление
run --dry-runТолько предварительный просмотр — создать отчёт проверки без мутаций
backupСоздать ручной снимок ~/.hermes/skills/ в tar.gz (куратор также автоматически делает снимок перед каждым реальным запуском)
rollbackВосстановить ~/.hermes/skills/ из снимка (по умолчанию — последний)
rollback --listСписок доступных снимков
rollback --id <ts>Восстановить конкретный снимок по id
rollback -yПропустить запрос подтверждения
pauseПриостановить куратор до возобновления
resumeВозобновить приостановленный куратор
pin <skill>Закрепить навык, чтобы куратор никогда не переводил его автоматически
unpin <skill>Открепить навык
restore <skill>Восстановить архивированный навык
archive <skill>Архивировать навык вручную
pruneВручную очистить навыки, которые куратор обычно убирает
list-archivedСписок архивированных навыков (восстанавливаются через restore)

На свежей установке первый плановый проход откладывается на один полный interval_hours (по умолчанию 7 дней) — шлюз не будет запускать куратор сразу при первом тике после hermes update. Используйте hermes curator run --dry-run для предварительного просмотра до этого момента.

См. Curator — поведение и настройка.

hermes fallback

hermes fallback <subcommand>

Управление цепочкой резервных провайдеров. Резервные провайдеры пробуются по порядку при ошибке основной модели: превышение лимита запросов, перегрузка или ошибки подключения.

ПодкомандаОписание
list (псевдоним: ls)Показать текущую цепочку резервных провайдеров (по умолчанию при вызове без подкоманды)
addВыбрать провайдер + модель (тот же выборщик, что и hermes model) и добавить в конец цепочки
remove (псевдоним: rm)Выбрать запись для удаления из цепочки
clearУдалить все резервные записи

См. Резервные провайдеры.

hermes hooks

hermes hooks <subcommand>

Просмотр shell-скриптовых хуков, объявленных в ~/.hermes/config.yaml, их тестирование на синтетических данных и управление списком разрешений для первого использования в ~/.hermes/shell-hooks-allowlist.json.

ПодкомандаОписание
list (псевдоним: ls)Список настроенных хуков с матчером, таймаутом и статусом разрешения
test <event>Запустить каждый хук, соответствующий <event>, на синтетических данных
revoke (псевдонимы: remove, rm)Удалить записи списка разрешений для команды (вступает в силу при следующем перезапуске)
doctorПроверить каждый настроенный хук: бит исполнения, список разрешений, дрейф mtime, валидность JSON и время синтетического запуска

Сигнатуры событий и форматы данных — см. Хуки.

hermes memory

hermes memory <subcommand>

Настройка и управление плагинами внешних провайдеров памяти. Доступные провайдеры: honcho, openviking, mem0, hindsight, holographic, retaindb, byterover, supermemory. Одновременно активен только один внешний провайдер. Встроенная память (MEMORY.md/USER.md) всегда активна.

Подкоманды:

ПодкомандаОписание
setupИнтерактивный выбор и настройка провайдера.
statusПоказать текущую конфигурацию провайдера памяти.
offОтключить внешний провайдер (только встроенный).
инфо
Подкоманды для конкретного провайдера

При активном внешнем провайдере памяти он может зарегистрировать свою команду верхнего уровня hermes <provider> для управления, специфичного для провайдера (например, hermes honcho при активном Honcho). Неактивные провайдеры не предоставляют свои подкоманды. Запустите hermes --help, чтобы увидеть, что сейчас доступно.

hermes acp

hermes acp

Запускает Hermes как ACP (Agent Client Protocol) stdio-сервер для интеграции с редактором.

Связанные точки входа:

hermes-acp
python -m acp_adapter

Установите поддержку заранее:

pip install -e '.[acp]'

См. Интеграция с редактором через ACP и Внутренняя архитектура ACP.

hermes mcp

hermes mcp <subcommand>

Управление конфигурациями MCP-серверов (Model Context Protocol) и запуск Hermes как MCP-сервера.

ПодкомандаОписание
(нет) или pickerИнтерактивный выбор из каталога — просмотр одобренных Nous MCP с установкой/включением/отключением.
catalogСписок одобренных Nous MCP (простой текст, подходит для скриптов).
install <name>Установить запись каталога (например, hermes mcp install n8n).
serve [-v|--verbose]Запустить Hermes как MCP-сервер — открыть диалоги другим агентам.
add <name> [--url URL] [--command CMD] [--auth oauth|header] [--args ...]Добавить кастомный MCP-сервер с автоматическим обнаружением инструментов. --args передаёт остаток argv stdio-команде, поэтому ставьте его последним.
remove <name> (псевдоним: rm)Удалить MCP-сервер из конфигурации.
list (псевдоним: ls)Список настроенных MCP-серверов.
test <name>Проверить соединение с MCP-сервером.
configure <name> (псевдоним: config)Переключить выбор инструментов для сервера.
login <name>Принудительно повторить аутентификацию для OAuth-MCP-сервера.

См. Справочник конфигурации MCP, Использование MCP с Hermes и Режим MCP-сервера.

hermes plugins

hermes plugins [subcommand]

Единое управление плагинами — общие плагины, провайдеры памяти и контекстные движки в одном месте. Запуск hermes plugins без подкоманды открывает составной интерактивный экран с двумя разделами:

  • General Plugins — флажки множественного выбора для включения/отключения установленных плагинов
  • Provider Plugins — одиночный выбор конфигурации Memory Provider и Context Engine. Нажмите ENTER на категории для открытия радиовыборщика.
ПодкомандаОписание
(нет)Составной интерактивный UI — переключатели общих плагинов + конфигурация провайдерных плагинов.
install <identifier> [--force]Установить плагин из Git URL или owner/repo.
update <name>Получить последние изменения для установленного плагина.
remove <name> (псевдонимы: rm, uninstall)Удалить установленный плагин.
enable <name>Включить отключённый плагин.
disable <name>Отключить плагин без удаления.
list (псевдоним: ls)Список установленных плагинов со статусом включён/отключён.

Выбор провайдерных плагинов сохраняется в config.yaml:

  • memory.provider — активный провайдер памяти (пусто = только встроенный)
  • context.engine — активный контекстный движок ("compressor" = встроенный по умолчанию)

Список отключённых общих плагинов хранится в config.yaml под plugins.disabled.

См. Плагины и Создание плагина Hermes.

hermes tools

hermes tools [--summary]
ОпцияОписание
--summaryВывести текущую сводку включённых инструментов и выйти.

Без --summary открывает интерактивный UI настройки инструментов по платформам.

hermes computer-use

hermes computer-use <subcommand>

Подкоманды:

ПодкомандаОписание
installЗапустить вышестоящий установщик cua-driver (только macOS).
install --upgradeПовторно запустить установщик, даже если cua-driver уже есть в PATH. Вышестоящий скрипт всегда загружает последний релиз, поэтому это обновление на месте.
statusПоказать, есть ли cua-driver в $PATH и какая версия установлена.

hermes computer-use install — стабильная точка входа для установки бинарника cua-driver, используемого набором инструментов computer_use. Запускает тот же вышестоящий установщик, что и hermes tools при первом включении Computer Use, поэтому безопасно использовать для повторной установки, если переключатель набора инструментов её не запустил (например, на установках у возвращающихся пользователей).

hermes update автоматически повторно запускает вышестоящий установщик в конце обновления, если cua-driver есть в PATH, поэтому большинству пользователей не нужно вызывать --upgrade вручную. Используйте при необходимости применить исправление апстрима прямо сейчас, не дожидаясь следующего обновления Hermes.

hermes sessions

hermes sessions <subcommand>

Подкоманды:

ПодкомандаОписание
listСписок последних сессий.
browseИнтерактивный выборщик сессий с поиском и возобновлением.
export <output> [--session-id ID]Экспортировать сессии в JSONL.
delete <session-id>Удалить одну сессию.
pruneУдалить старые сессии.
statsПоказать статистику хранилища сессий.
rename <session-id> <title>Задать или изменить заголовок сессии.

hermes insights

hermes insights [--days N] [--source platform]
ОпцияОписание
--days <n>Анализировать последние n дней (по умолчанию: 30).
--source <platform>Фильтровать по источнику: cli, telegram, discord и т.д.

hermes claw

hermes claw migrate [options]

Миграция установки OpenClaw в Hermes. Читает из ~/.openclaw (или пользовательского пути) и записывает в ~/.hermes. Автоматически определяет устаревшие имена директорий (~/.clawdbot, ~/.moltbot) и имена файлов конфигурации (clawdbot.json, moltbot.json).

ОпцияОписание
--dry-runПредварительный просмотр того, что будет мигрировано, без записи чего-либо.
--preset <name>Пресет миграции: full (все совместимые настройки) или user-data (исключает инфраструктурную конфигурацию). Ни один пресет не импортирует секреты — явно передайте --migrate-secrets.
--overwriteПерезаписывать существующие файлы Hermes при конфликтах (по умолчанию: отказывать при наличии конфликтов в плане).
--migrate-secretsВключить API-ключи в миграцию. Требуется даже при --preset full.
--no-backupПропустить zip-снимок ~/.hermes/ перед миграцией (по умолчанию архив с точкой восстановления записывается в ~/.hermes/backups/pre-migration-*.zip перед применением; восстанавливается через hermes import).
--source <path>Пользовательская директория OpenClaw (по умолчанию: ~/.openclaw).
--workspace-target <path>Целевая директория для инструкций рабочего пространства (AGENTS.md).
--skill-conflict <mode>Обработка коллизий имён навыков: skip (по умолчанию), overwrite или rename.
--yesПропустить запрос подтверждения.

Что мигрируется

Миграция охватывает 30+ категорий: персона, память, навыки, провайдеры моделей, платформы обмена сообщениями, поведение агента, политики сессий, MCP-серверы, TTS и многое другое. Элементы либо напрямую импортируются в эквиваленты Hermes, либо архивируются для ручной проверки.

Напрямую импортируются: SOUL.md, MEMORY.md, USER.md, AGENTS.md, навыки (4 исходных директории), модель по умолчанию, кастомные провайдеры, MCP-серверы, токены и списки разрешений платформ (Telegram, Discord, Slack, WhatsApp, Signal, Matrix, Mattermost), настройки агента по умолчанию (усилие рассуждений, сжатие, задержка ответа, часовой пояс, песочница), политики сброса сессии, правила подтверждения, конфигурация TTS, настройки браузера, настройки инструментов, таймаут выполнения, список разрешённых команд, конфигурация шлюза и API-ключи из 3 источников.

Архивируются для ручной проверки: Cron-задания, плагины, хуки/вебхуки, бэкенд памяти (QMD), конфигурация реестра навыков, UI/идентичность, логирование, настройка мультиагентности, привязки каналов, IDENTITY.md, TOOLS.md, HEARTBEAT.md, BOOTSTRAP.md.

Разрешение API-ключей проверяет три источника в порядке приоритета: значения конфигурации → ~/.openclaw/.envauth-profiles.json. Все поля токенов обрабатывают простые строки, шаблоны env (${VAR}) и объекты SecretRef.

Полное отображение ключей конфигурации, детали обработки SecretRef и контрольный список после миграции — см. полное руководство по миграции.

Примеры

# Предварительный просмотр того, что будет мигрировано
hermes claw migrate --dry-run

# Полная миграция (все совместимые настройки, без секретов)
hermes claw migrate --preset full

# Полная миграция включая API-ключи
hermes claw migrate --preset full --migrate-secrets

# Мигрировать только пользовательские данные (без секретов), перезаписывать конфликты
hermes claw migrate --preset user-data --overwrite

# Мигрировать из пользовательского пути OpenClaw
hermes claw migrate --source /home/user/old-openclaw

hermes dashboard

hermes dashboard [options]

Запустить веб-дашборд — браузерный UI для управления конфигурацией, API-ключами и мониторинга сессий. Требует pip install hermes-agent[web] (FastAPI + Uvicorn). Встроенная вкладка Chat всегда доступна и дополнительно требует расширения pty (pip install 'hermes-agent[web,pty]') плюс POSIX PTY-среду (Linux, macOS или WSL2). Полная документация — Веб-дашборд.

ОпцияПо умолчаниюОписание
--port9119Порт для веб-сервера
--host127.0.0.1Адрес привязки
--no-openНе открывать браузер автоматически
--insecureвыклРазрешить привязку к не-localhost-адресам. Открывает учётные данные дашборда в сети; используйте только под доверенным сетевым контролем.
--isolatedвыклПри запуске из именованного профиля (worker dashboard) поднимает отдельный сервер на профиль вместо маршрутизации на машинный дашборд.
--stopОстановить запущенные процессы hermes dashboard и выйти.
--statusПеречислить запущенные процессы hermes dashboard и выйти.
# По умолчанию — открывает браузер на http://127.0.0.1:9119
hermes dashboard

# Другой порт, без браузера
hermes dashboard --port 8080 --no-open

# Из алиаса профиля — маршрутизируется на машинный дашборд с
# профилем, заранее выбранным в переключателе боковой панели (подключается, если запущен)
worker dashboard

hermes profile

hermes profile <subcommand>

Управление профилями — несколькими изолированными экземплярами Hermes, каждый со своей конфигурацией, сессиями, навыками и домашней директорией.

ПодкомандаОписание
listСписок всех профилей.
use <name>Установить постоянный профиль по умолчанию.
create <name> [--clone] [--clone-all] [--clone-from <source>] [--no-alias]Создать новый профиль. --clone копирует конфигурацию, .env, SOUL.md и навыки из активного профиля. --clone-all копирует всё состояние. --clone-from указывает исходный профиль и подразумевает клонирование конфигурации, если не указан вместе с --clone-all.
delete <name> [-y]Удалить профиль.
show <name>Показать детали профиля (домашняя директория, конфигурация и т.д.).
alias <name> [--remove] [--name NAME]Управление wrapper-скриптами для быстрого доступа к профилю.
rename <old> <new>Переименовать профиль.
export <name> [-o FILE]Экспортировать профиль в архив .tar.gz (локальная резервная копия).
import <archive> [--name NAME]Импортировать профиль из архива .tar.gz (локальное восстановление).
install <source> [--name N] [--alias] [--force] [-y]Установить дистрибутив профиля из git URL или локальной директории.
update <name> [--force-config] [-y]Повторно получить дистрибутив; сохраняет пользовательские данные (воспоминания, сессии, аутентификация).
info <name>Показать манифест дистрибутива профиля (версия, требования, источник).

Примеры:

hermes profile list
hermes profile create work --clone
hermes profile use work
hermes profile alias work --name h-work
hermes profile export work -o work-backup.tar.gz
hermes profile import work-backup.tar.gz --name restored
hermes profile install github.com/user/my-distro --alias
hermes profile update work
hermes -p work chat -q "Hello from work profile"

hermes completion

hermes completion [bash|zsh|fish]

Вывести скрипт автодополнения оболочки в stdout. Подключите вывод в профиле оболочки для автодополнения команд, подкоманд и имён профилей Hermes по Tab.

Примеры:

# Bash
hermes completion bash >> ~/.bashrc

# Zsh
hermes completion zsh >> ~/.zshrc

# Fish
hermes completion fish > ~/.config/fish/completions/hermes.fish

hermes update

hermes update [--gateway] [--check] [--no-backup] [--backup] [--yes]

Получает последний код hermes-agent и переустанавливает зависимости в venv, затем повторно запускает пост-установочные хуки (MCP-серверы, синхронизация навыков, установка автодополнения). Безопасно запускать на работающей установке.

pip-установки: hermes update автоматически определяет pip-установки — запрашивает PyPI на наличие последнего релиза и запускает pip install --upgrade hermes-agent вместо git pull. Релизы PyPI соответствуют тегированным версиям (мажорные/минорные релизы), а не каждому коммиту в main. Используйте --check для проверки наличия нового релиза PyPI без установки.

git-установки: hermes update подтягивает настроенную ветку обновления (по умолчанию: main). Если ваш checkout на другой ветке, Hermes может переключиться на ветку обновления перед pull. Закоммитьте работу в ветке перед обновлением, если хотите оставить её вне автостэша обновления.

ОпцияОписание
--gatewayВнутренний режим, используемый командой /update из мессенджера. Использует IPC на основе файлов для промптов и потоковой передачи прогресса вместо чтения из stdin терминала. Не является флагом перезапуска шлюза.
--checkПроверить наличие обновления без загрузки, установки зависимостей или перезапуска чего-либо.
--no-backupПропустить резервную копию перед обновлением для этого запуска, даже если updates.pre_update_backup включён в config.yaml.
--backupСоздать помеченный снимок HERMES_HOME (конфигурация, аутентификация, сессии, навыки, данные сопряжения) перед загрузкой. По умолчанию выкл — предыдущее поведение «всегда делать резервную копию» добавляло минуты к каждому обновлению на больших домашних директориях. Включить постоянно через updates.pre_update_backup: true в config.yaml.
--yes, -yПринять yes для интерактивных запросов, таких как миграция конфигурации и восстановление stash. Ввод API-ключей пропускается; запустите hermes config migrate отдельно для них.

Дополнительное поведение:

  • Перезапуск шлюза. После успешного обновления Hermes пытается автоматически перезапустить все запущенные профили шлюза, чтобы они подхватили новый код. Используйте hermes gateway restart, когда нужно перезапустить шлюз без применения обновления.
  • Локальные изменения исходников. Для git-установок «грязные» отслеживаемые и неотслеживаемые файлы автоматически отправляются в stash перед переключением ветки или pull (git stash push --include-untracked). Интерактивные обновления в терминале спрашивают перед восстановлением stash. Неинтерактивные обновления восстанавливают его по умолчанию; задавайте updates.non_interactive_local_changes: discard только на управляемых установках, где локальные правки исходников можно отбросить после успешного pull. Если восстановление stash приводит к конфликту или pull падает, stash остаётся на месте для ручного восстановления.
  • Изменения npm-локфайла. Перед stash или переключением веток Hermes по возможности очищает отслеживаемые diff’ы package-lock.json, возникшие из-за шагов npm install/build. Закоммитьте или вручную отправьте в stash намеренные правки локфайла перед запуском hermes update.
  • Снимок данных сопряжения. Даже при выключенном --backup, hermes update делает лёгкий снимок ~/.hermes/pairing/ и правил комментариев Feishu перед git pull. Можно откатить через hermes backup restore --state pre-update, если при pull перезапишется редактируемый файл.
  • Предупреждение о устаревшем hermes.service. Если Hermes обнаружит unit systemd с именем до переименования hermes.service (вместо текущего hermes-gateway.service), выведет однократную подсказку по миграции для предотвращения проблем с циклами перезапуска.
  • Коды выхода. 0 при успехе, 1 при ошибках загрузки/установки/пост-установки, 2 при неожиданных изменениях рабочего дерева, блокирующих git pull.

Команды обслуживания

КомандаОписание
hermes versionВывести информацию о версии.
hermes updateПолучить последние изменения и переустановить зависимости.
hermes postinstallВнутренняя начальная загрузка. Запускается один раз после pip install hermes-agent (или hermes update на pip-установках) для установки не-Python зависимостей, которые pip не может предоставить — Node.js runtime, headless браузер, ripgrep, ffmpeg — и последующего запуска hermes setup, если профиль ещё не настроен. Безопасно запускать повторно идемпотентно.
hermes uninstall [--full] [--gui] [--yes]Удалить Hermes, опционально удаляя все конфигурации и данные. --gui удаляет только десктопный Chat GUI, оставляя агента нетронутым; --full также удаляет конфигурацию и данные; --yes пропускает запросы.

См. также

ESC