Hermes Agent — это open-source агентный фреймворк от Nous Research, который живёт в вашем терминале, десктоп-приложении, мессенджерах и IDE. В отличие от «облачных» ассистентов, Hermes разворачивается на вашей машине или сервере, работает с любой языковой моделью и умеет не только отвечать, но и действовать: запускать команды, читать и править файлы, писать код, планировать задачи по расписанию и делегировать работу параллельным субагентам.

Это руководство — для программиста, который хочет поставить Hermes, настроить под себя и использовать как автономного агента для разработки. Все команды взяты из официальной документации и проверены на практике; ссылки на первоисточники — в конце.

Что умеет Hermes

Hermes занимает ту же нишу, что Claude Code от Anthropic, Codex от OpenAI и OpenClaw — это автономные агенты для кодинга и выполнения задач, которые через вызовы инструментов взаимодействуют с вашей системой. Отличия Hermes:

  • Самообучение через навыки (skills) — агент сохраняет отработанные процедуры как переиспользуемые навыки, которые подгружаются в будущих сессиях.
  • Постоянная память между сессиями — помнит, кто вы, ваши предпочтения, детали окружения и усвоенные уроки.
  • Мультиплатформенный gateway — один и тот же агент работает в Telegram, Discord, Slack, WhatsApp, Signal, Email и ещё десятке платформ, с полным доступом к инструментам.
  • Много «поверхностей» — CLI, Ink TUI, нативное десктоп-приложение, веб-дашборд и ACP-сервер для IDE (VS Code, Zed, JetBrains).
  • Независимость от провайдера — работает с OpenRouter, Anthropic, OpenAI, Google, DeepSeek, xAI, локальными моделями и ещё 30+ провайдерами.
  • Расширяемость — плагины, MCP-серверы, свои инструменты, вебхуки, cron, скины и темы.

Системные требования и установка

Hermes работает на Linux, macOS, Windows и WSL. Установка выполняется shell-инсталлятором, который сам ставит менеджер пакетов uv, Python и виртуальное окружение:

curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash

После установки в PATH появляется команда hermes. Обновление до свежей версии:

hermes update

Проверить, что всё установилось и настроено корректно:

hermes doctor

Альтернативный вариант — установка из исходников (git), но для старта инсталлятор самый быстрый путь.

Первый запуск и настройка

Сразу после установки запустите мастер настройки:

hermes setup

Он проведёт через выбор модели, провайдера, терминала, gateway и инструментов. Для быстрой смены модели и провайдера есть отдельные команды:

hermes model          # интерактивный выбор модели/провайдера
hermes doctor         # проверка зависимостей и конфигурации
hermes status         # статус компонентов

Интерактивный чат запускается просто:

hermes

А для разового вопроса без интерактивного режима удобен one-shot:

hermes chat -q "Объясни, что делает этот кусок кода"

Выбор модели и провайдера

Hermes поддерживает 35+ провайдеров. Ключи задаются переменными окружения в файле ~/.hermes/.env (секреты — только там, а не в config.yaml). Основные:

Провайдер Аутентификация Переменная окружения
OpenRouter API-ключ OPENROUTER_API_KEY
Anthropic API-ключ ANTHROPIC_API_KEY
OpenAI API-ключ / OAuth OPENAI_API_KEY или hermes auth add
Google Gemini API-ключ GOOGLE_API_KEY / GEMINI_API_KEY
DeepSeek API-ключ DEEPSEEK_API_KEY
xAI (Grok) API-ключ XAI_API_KEY
Hugging Face Токен HF_TOKEN
Ollama (локально) custom + base_url

Локальные модели подключаются через провайдер custom: в config.yaml задаётся model.base_url (например, адрес Ollama) и модель. Для OAuth-провайдеров (Nous, OpenAI Codex, Qwen) используется команда hermes auth add <provider>.

Если основной провайдер падает, срабатывает цепочка резервных (fallback):

hermes fallback add    # добавить резервного провайдера
hermes fallback list   # показать цепочку

Часто используемые модели удобно закрепить за короткими алиасами, которые работают и в CLI, и в мессенджерах через /model. Встроенные алиасы уже есть: sonnet, opus, gpt5, codex, gemini, deepseek, grok и другие.

Конфигурация: config.yaml и .env

Настройки хранятся в ~/.hermes/config.yaml, секреты — в ~/.hermes/.env. Правило: никогда не редактируйте config.yaml вручную — используйте CLI, лишний отступ может сломать файл и работающий gateway.

hermes config set terminal.timeout 300
hermes config get model.default
hermes config edit    # открыть в редакторе

Секции, которые чаще всего трогает программист:

  • model — модель по умолчанию, провайдер, base_url, алиасы.
  • agent — лимит итераций max_turns (по умолчанию 90), принуждение к использованию инструментов.
  • terminal — бэкенд выполнения команд: local, docker, ssh, modal и др.; таймаут (по умолчанию 180 с).
  • approvals — режим подтверждения опасных команд: smart, manual, off.
  • memory — включение памяти и профиля пользователя, провайдер памяти.
  • delegation — модель для субагентов, лимит параллельных детей, глубина вложенности.
  • security — редарктинг секретов, сканер угроз, блокировка сайтов.
  • checkpoints — снапшоты файловой системы для отката.

Режимы работы

Одно ядро агента обслуживает несколько интерфейсов:

hermes              # интерактивный чат (CLI)
hermes --tui        # Ink TUI с виджетами
hermes chat -q "..."  # one-shot для скриптов и пайпов
hermes desktop      # нативное десктоп-приложение
hermes dashboard    # веб-админка + встроенный чат
hermes proxy        # OpenAI-совместимый локальный прокси

Прокси-режим особенно полезен: он поднимает локальный OpenAI-совместимый API на базе вашего OAuth-провайдера, и на него можно навести Codex CLI, Aider, Cline или любой скрипт — без отдельного API-ключа.

Инструменты (toolsets)

Что агент может делать, определяется набором инструментов. Управление через hermes tools или в сессии через /tools:

Toolset Что даёт
terminal Shell-команды и управление процессами
file Чтение/запись/поиск/правка файлов
code_execution Выполнение Python в песочнице
coding Помощники редактирования кода (на базе LSP)
web / search Веб-поиск и извлечение контента
browser Автоматизация браузера
delegation Делегирование задач субагентам
cronjob Управление задачами по расписанию
memory Постоянная память между сессиями
computer_use Управление графическим интерфейсом
vision Анализ изображений

Важно: изменения в наборе инструментов применяются после /reset (новой сессии), а не на лету — это сохраняет кэш промпта.

Контекст проекта: AGENTS.md и .hermes.md

Hermes автоматически подхватывает правила проекта из контекстных файлов в рабочей директории. Это ключевой механизм для командной разработки:

  • .hermes.md / HERMES.md — ищется вверх по дереву до корня git-репозитория; подходит для иерархических правил проекта.
  • AGENTS.md — читается только из текущей директории; переносимые инструкции, которые работают одинаково в Hermes, Claude Code и Codex.
  • CLAUDE.md — то же, но в формате Claude.
  • .cursorrules / .cursor/rules/*.mdc — для миграции с Cursor.

Пример минимального .hermes.md:

# My Project
## Build
- Always run `make test` before declaring a change done.
- Use `uv run` for Python, not `pip install`.
## Style
- Prefer `pathlib.Path` over `os.path`.
- No `print()` in production code — use the `logger`.

Отдельно существует SOUL.md в $HERMES_HOME — он задаёт личность агента и загружается всегда. Каждый контекстный файл ограничен 20 000 символов (при превышении берётся «голова + хвост»), а весь контент проходит через сканер угроз, который блокирует попытки prompt injection.

Skills — самообучение агента

Навыки — это процедурная память Hermes: отработанные рабочие процессы, которые сохраняются и переиспользуются. Агент учится на опыте и со временем накапливает библиотеку проверенных процедур.

hermes skills list        # установленные навыки
hermes skills search "deploy"   # поиск по каталогу
hermes skills install ID  # установить навык

В сессии есть команда /learn, которая превращает директорию, URL или текущий диалог в переиспользуемый навык. Навыки можно подключать и как GitHub-репозитории-источники (hermes skills tap add). За жизненным циклом навыков следит curator — он помечает устаревшие и архивирует их, ничего не удаляя безвозвратно.

Memory — память между сессиями

Hermes запоминает пользователя и окружение между сессиями: предпочтения, детали инфраструктуры, усвоенные уроки. Память инжектится в каждый ход, поэтому агент не начинает разговор «с нуля».

hermes memory setup    # настроить провайдер памяти
hermes memory status   # статус
/memory                # в сессии: просмотр отложенных записей

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

Делегирование и параллельные агенты

Для тяжёлых задач Hermes умеет спавнить субагентов в изолированных контекстах:

  • Одиночная задача — субагент получает цель и контекст, работает в отдельной терминальной сессии, возвращает итог.
  • Пакетный режим — несколько задач выполняются параллельно, до лимита delegation.max_concurrent_children (по умолчанию 3).
  • Фоновый режим — задача уходит в фон, результат возвращается в диалог отдельным ходом.
  • Ролиleaf (обычный воркер) и orchestrator (может спавнить своих воркеров).

Для параллельной работы с кодом удобен worktree-режим, который изолирует изменения в отдельной git-worktree:

hermes -w    # запуск в изолированном git worktree

Полностью независимые процессы можно поднимать через tmux — каждый со своей сессией, инструментами и окружением, и пересылать контекст между ними вручную. Это паттерн «агент А пишет бэкенд, агент Б — фронтенд, схемы API передаются между ними».

Важный нюанс: делегирование не «переживает» завершение родительского процесса. Если нужна задача, которая должна пережить перезапуск, — это cron, а не фоновый субагент.

Cron — задачи по расписанию

Для долговечных задач по расписанию в Hermes есть планировщик:

hermes cron list
hermes cron create "0 9 * * *"   # ежедневно в 9:00
hermes cron run ID                # запустить вручную

Расписания задаются гибко: длительность (30m, 2h), фразы (every monday 9am), классический cron (0 9 * * *) или ISO-метка времени. У каждой задачи есть свои настройки: подключаемые навыки, переопределение модели, скрипт сбора данных перед запуском, цепочки зависимостей (context_from — вывод одной задачи подаётся на вход другой), рабочая директория и доставка результата на несколько платформ.

Это позволяет строить автономные пайплайны без внешнего cron: например, ночной агент, который собирает данные из репозитория, генерирует отчёт и шлёт его в Telegram.

MCP — подключение внешних инструментов

Hermes имеет встроенный MCP-клиент: он подключается к MCP-серверам при старте, находит их инструменты и делает их доступными наравне со встроенными. Это стандартный способ расширить агента — файловая система, GitHub, базы данных, внешние API.

Сначала поставьте MCP SDK:

pip install mcp

Серверы описываются в ~/.hermes/config.yaml под ключом mcp_servers. Два транспорта — stdio (команда) и HTTP (URL):

mcp_servers:
  time:
    command: "uvx"
    args: ["mcp-server-time"]

  github:
    command: "npx"
    args: ["-y", "@modelcontextprotocol/server-github"]
    env:
      GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..."

  company_api:
    url: "https://mcp.mycompany.com/v1/mcp"
    headers:
      Authorization: "Bearer sk-..."

Инструменты регистрируются с префиксом mcp_<сервер>_<инструмент> (например, mcp_github_create_pull_request) и автоматически доступны во всех разговорах. Безопасность продумана: stdio-серверам передаётся только отфильтрованное окружение (базовые переменные), а все секреты нужно явно указывать в env — чтобы не утекали ключи в недоверенные серверы.

Для npx-серверов нужен Node.js, для uvx — утилита uv. Управление серверами есть и в CLI:

hermes mcp add NAME --command "npx -y pkg"
hermes mcp list
hermes mcp test NAME

Интеграция с IDE и редакторами

Для работы внутри редактора Hermes запускается как ACP-сервер и подключается к VS Code, Zed и JetBrains:

hermes acp

Плюс десктоп-приложение и веб-дашборд дают графический интерфейс, а OpenAI-совместимый прокси — интеграцию с любым инструментом, который умеет ходить в OpenAI API. Это удобно, когда часть команды работает в IDE, а часть — в терминале, но все используют одного и того же агента.

Профили — изолированные инстансы

Профили позволяют держать несколько независимых инстансов Hermes с отдельными конфигами, сессиями, навыками и памятью:

hermes profile create work
hermes profile use work
hermes --profile work    # разовый запуск с профилем

Это удобно для разделения проектов: например, отдельный профиль под каждого клиента или под разные роли (личный помощник vs рабочий агент), чтобы память и навыки не смешивались.

Мессенджеры и gateway

Тот же агент работает в 20+ мессенджерах и каналах — Telegram, Discord, Slack, WhatsApp, iMessage, Signal, Email, SMS, Matrix, Teams и других, с полным доступом к инструментам, а не просто в чате:

hermes gateway run      # запустить gateway
hermes gateway status   # статус подключений
hermes gateway setup    # настройка платформ

Для программиста это значит, что агента можно дёргать с телефона в Telegram, пока он работает на сервере: дать задачу, получить уведомление о результате, подтвердить опасную команду.

Шпаргалка по слэш-командам

В интерактивной сессии доступны команды через слэш. Самые полезные:

Команда Действие
/new (/reset) Новая сессия
/model [name] Сменить модель (на сессию или —global)
/compress Сжать контекст (с сохранением N ходов)
/diff Показать изменения git в рабочей директории
/rollback Восстановить снапшот файловой системы
/undo [N] Откатить N ходов пользователя
/background Запустить промпт в фоне
/learn Сохранить навык из директории/URL/чата
/yolo Отключить подтверждение опасных команд
/voice Голосовой режим
/help Показать все команды

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

Практические сценарии для программиста

1. Быстрый вопрос по коду из терминала — без интерактивного режима:

hermes chat -q "Найди утечку памяти в ./src/parser.c"

2. Автономный рефакторинг в изолированном worktree — агент правит код, не трогая рабочую ветку:

hermes -w    # затем: "Отрефактори модуль авторизации, сохрани поведение"

3. Параллельные агенты через tmux — бэкенд и фронтенд одновременно, с передачей схем API между ними.

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

5. Ночные задачи по расписанию — cron-агент собирает метрики репозитория, генерирует отчёт и шлёт его в Telegram каждое утро.

6. Подключение GitHub и файловой системы через MCP — агент читает issues, создаёт pull request и работает с файлами напрямую.

7. Правила проекта через AGENTS.md — кладёте файл в корень репозитория, и агент (как и Claude Code/Codex) соблюдает ваши конвенции сборки и стиля.

8. One-shot в скриптах и пайпах — флаг -z выводит только финальный ответ, что удобно для встраивания в shell-скрипты.

9. Возобновление сессии — после перезапуска продолжить с места:

hermes --continue    # последняя сессия
hermes --resume ID   # конкретная сессия

Безопасность и частые ошибки

Несколько правил, которые сэкономят время:

  • Секреты — только в .env, настройки — в config.yaml. Не путайте их местами.
  • Не редактируйте config.yaml вручную — используйте hermes config set; случайный отступ может повредить файл и остановить gateway.
  • Опасные команды требуют подтверждения — режим approvals управляет этим. /yolo отключает подтверждение, но только когда вы доверяете задаче.
  • Изменения toolsets применяются после /reset — не ждите эффекта на лету.
  • Делегирование не переживает выход из процесса — для долгого используйте cron.
  • Для npx-серверов нужен Node.js, для uvx — uv, для MCP — пакет mcp; иначе серверы молча не подключатся.
  • Контекстные файлы ограничены 20 000 символов — большие правила дробите на навыки.

Hermes против Claude Code, Codex и OpenClaw

Все четыре — агенты для кодинга и выполнения задач в одной категории. Отличия Hermes:

Критерий Hermes Claude Code / Codex
Развёртывание Self-hosted, ваш сервер В основном облако/подписка
Модели Любой провайдер (30+) Привязка к вендору
Память и навыки Встроены, самообучаются Ограничены
Платформы CLI + TUI + desktop + мессенджеры + IDE В основном CLI/IDE
Лицензия Open-source (MIT) Проприетарная

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

Заключение

Hermes Agent — это не «ещё один чат-бот», а полноценный автономный агент, который можно поставить за 15 минут и постепенно превратить в личного ИИ-помощника для разработки: от разовых вопросов по коду до ночных пайплайнов и параллельных субагентов. Главные преимущества для программиста — полный контроль, приватность, свобода выбора модели и самообучающаяся память.

Источники