Hermes Agent
Использование, настройка, оформление, расширение и оркестрация Hermes Agent.
Метаданные навыка
| Источник | Встроенный (установлен по умолчанию) |
| Путь | skills/autonomous-ai-agents/hermes-agent |
| Версия | 3.2.0 |
| Автор | Hermes Agent и Teknium |
| Лицензия | MIT |
| Платформы | linux, macos, windows |
| Теги | hermes, setup, configuration, multi-agent, spawning, cli, gateway, bots, bot-mode, features, themes, skins, desktop-plugins, tui-widgets, petdex, development |
| Связанные навыки | claude-code, codex, opencode |
Справочник: полный SKILL.md
Ниже — полное определение навыка, которое Hermes Agent загружает при его активации. Именно этот текст агент получает как инструкцию в момент работы навыка.
Hermes Agent
Hermes Agent — открытый фреймворк ИИ-агента от Nous Research, который работает в терминале, в нативном десктопном приложении, в мессенджерах и в редакторах кода. Он из той же категории, что Claude Code (Anthropic), Codex (OpenAI) и OpenClaw: автономные агенты для программирования и выполнения задач, взаимодействующие с системой через вызов инструментов. Hermes работает с любым провайдером LLM (OpenRouter, Anthropic, OpenAI, Google, DeepSeek, xAI, локальные модели и ещё два десятка) и запускается на Linux, macOS, Windows и WSL.
Чем Hermes отличается:
- Учится через навыки — сохраняет удачные процедуры как переиспользуемые навыки, которые подгружаются в будущих сессиях.
- Постоянная память между сессиями — помнит, кто вы, ваши предпочтения, особенности окружения и извлечённые уроки. Бэкенды памяти подключаются как плагины.
- Шлюз ко множеству платформ — один и тот же агент работает в Telegram, Discord, Slack, WhatsApp, iMessage, Signal, Matrix, Teams, почте и десятке других платформ с полным доступом к инструментам, а не только с чатом.
- Много интерфейсов — общее ядро агента крутит CLI, Ink-TUI, нативное десктопное приложение на Electron, веб-панель и ACP-сервер для редакторов (VS Code, Zed, JetBrains).
- Независимость от провайдера — модели и провайдеров можно менять посреди работы, а пулы учётных данных сами ротируют несколько ключей API.
- Профили — несколько независимых экземпляров Hermes с изолированными конфигурациями, сессиями, навыками и памятью.
- Расширяемость и оформление — плагины, MCP-серверы, свои инструменты, вебхуки, планировщик cron, скины, перекрашивающие все интерфейсы, плагины интерфейса десктопа, виджеты TUI и питомцы-маскоты.
Этот навык — хаб. В теле описаны сама суть, быстрый старт, запуск дополнительных экземпляров с оркестрацией и жёсткие инварианты. Всё остальное лежит в справочных файлах — загрузите подходящий справочник (список ниже) до того, как отвечать; не отвечайте на детальные вопросы по одному лишь телу навыка.
Документация: https://hermes-agent.nousresearch.com/docs/
Границы и проверка
Этот навык — сжатое руководство по работе, а не исчерпывающий источник истины по каждой возможности Hermes. Если какая-то возможность, команда или настройка здесь и в справочниках не упомянута, это не доказательство того, что её не существует. Прежде чем отвечать «такого нет», сверьтесь с живым репозиторием и официальной документацией.
Куда смотреть, от дешёвого к дорогому:
- Каждая возможность продукта одной строкой: https://hermes-agent.nousresearch.com/docs/llms.txt. С этого начинайте любой вопрос вида «может ли Hermes X?» или «как сделать X?» — файл индексирует всю документацию и даёт ссылку на страницу с ответом. Он генерируется из дерева доков при каждой сборке, поэтому никогда не отстаёт от продукта. Забирайте его через
web_extractили, если веб-инструменты отключены,curl -s https://hermes-agent.nousresearch.com/docs/llms.txt. Вся документация одним файлом лежит в/docs/llms-full.txt. - Команды CLI:
hermes --help,hermes <command> --helpиhermes_cli/main.py - Дерево исходников: https://github.com/NousResearch/hermes-agent
Никогда не отвечайте «Hermes так не умеет» по памяти. Возможностей у Hermes куда больше, чем описано в теле этого навыка, а индекс существует именно для того, чтобы отрицательный ответ всегда можно было проверить.
Быстрый старт
# Install (shell installer — bootstraps PM, Python, dependencies, and the launcher)
curl -fsSL https://hermes-agent.nousresearch.com/install.sh | bash
# Interactive chat (default surface; set display.interface: tui to launch the Ink TUI instead)
hermes
# Single query
hermes chat -q "What is the capital of France?"
# Setup wizard / pick model+provider / health check
hermes setup
hermes model
hermes doctor
# Other surfaces
hermes desktop # launch the native desktop app (alias: hermes gui)
hermes dashboard # web admin panel + embedded chat
hermes proxy # OpenAI-compatible local proxy backed by your OAuth provider
Ключевые пути
~/.hermes/config.yaml Main configuration (settings — never secrets)
~/.hermes/.env API keys and secrets ONLY (under $HERMES_HOME if set)
$HERMES_HOME/skills/ Installed skills
~/.hermes/skins/ Custom themes (see references/themes.md)
~/.hermes/desktop-plugins/ Desktop app UI plugins (see references/desktop-plugins.md)
~/.hermes/tui-widgets/ TUI widget apps (see references/tui-widgets.md)
~/.hermes/pets/ Installed pet mascots (see references/petdex.md)
~/.hermes/state.db Canonical session store (SQLite + FTS5)
~/.hermes/sessions/ Gateway routing index, request dumps, *.jsonl transcripts
~/.hermes/logs/ Gateway and error logs
~/.hermes/auth.json OAuth tokens and credential pools
~/.hermes/hermes-agent/ Source code (if git-installed)
Профили используют ~/.hermes/profiles/<name>/ с той же раскладкой. Когда профиль активен, настоящий домашний каталог берите из $HERMES_HOME и никогда не зашивайте ~/.hermes.
Таблица маршрутизации — какой справочник грузить
| Пользователю нужно… | Загрузить |
|---|---|
| Всё, чего нет в списке ниже — «может ли Hermes X?», «как настроить X?» | https://hermes-agent.nousresearch.com/docs/llms.txt |
| Боты, которые общаются, гоняют рутины или переписываются друг с другом; вкладка Bots | документация: /user-guide/bot-mode |
| Команды CLI, подкоманды, флаги, «как запустить X» | references/cli-reference.md |
| Слэш-команды внутри сессии | references/slash-commands.md |
| Настройка провайдера, ключи API, OAuth | references/providers-and-models.md |
| Секции config.yaml, наборы инструментов, голос, STT и TTS | references/configuration.md |
| Проектные правила AGENTS.md, .hermes.md, CLAUDE.md | references/project-context-files.md |
| Чистка секретов, ПДн, режимы подтверждений, «сбросить разрешения» | references/security-privacy.md |
| Делегирование, cron, куратор, kanban | references/background-systems.md |
MCP-серверы (добавление, каталог, hermes mcp) | references/native-mcp.md |
| Маршруты вебхуков и запуски по событиям | references/webhooks.md |
| Своя тема или скин («тема synthwave», «поменять золотой ●») | references/themes.md и templates/skin.yaml |
| Элемент интерфейса десктопа (панель, виджет, команда ⌘K, страница) | references/desktop-plugins.md и templates/plugin.js |
| Живая панель или модальный виджет в TUI (тикер, часы, дашборд) | references/tui-widgets.md и templates/clock.mjs |
| Питомцы-маскоты — установка, выбор, масштаб, диагностика | references/petdex.md |
| Проблемы, специфичные для Windows (горячие клавиши, WinError 10106, BOM) | references/windows-quirks.md |
| Отладка: голос, пропавшие инструменты, шлюз, вспомогательные модели | references/troubleshooting.md |
| Участие в разработке: свои инструменты, слэш-команды, тесты | references/contributor-guide.md |
| Жалобы «delegate_task ограничен N» | references/delegate-task-concurrency-diagnosis.md |
| «Может ли приложение X использовать мою подписку Nous Portal или OAuth?» | references/portal-auth-for-third-party-apps.md |
| Подключение мессенджера (Telegram, Discord, Slack, WhatsApp…) | документация: /user-guide/messaging |
Список справочников выше — не список возможностей, а перечень тем, по которым
одной страницы документации мало. По всему остальному, что умеет Hermes,
загляните в llms.txt — он сопоставит вопрос со страницей, где есть ответ.
Два правила по темам действуют и без загрузки справочника: скин применяете вы сами (hermes config set display.skin <name> — каждый интерфейс перекрашивается на лету примерно за секунду; не отправляйте пользователя выполнять /skin), и чтобы поправить один цвет, правьте АКТИВНЫЙ скин (hermes skin set <key> <hex>), а не форкайте default — форк теряет палитру и сбрасывает фон.
Запуск дополнительных экземпляров Hermes
Дополнительные процессы Hermes запускаются как полностью независимые подпроцессы — со своими сессиями, инструментами и окружением.
Когда это, а когда delegate_task
delegate_task | Отдельный процесс hermes | |
|---|---|---|
| Изоляция | Отдельный диалог, общий процесс | Полностью независимый процесс |
| Длительность | Минуты (ограничена родительским циклом) | Часы и дни |
| Доступ к инструментам | Подмножество родительских | Полный доступ |
| Интерактивность | Нет | Да (режим PTY) |
| Для чего | Быстрые параллельные подзадачи | Долгие автономные миссии |
Разовый запуск
terminal(command="hermes chat -q 'Research GRPO papers and write summary to ~/research/grpo.md'", timeout=300)
# Background for long tasks:
terminal(command="hermes chat -q 'Set up CI/CD for ~/myapp'", background=true)
Интерактивный режим PTY (через tmux)
Hermes использует prompt_toolkit, которому нужен настоящий терминал. Для интерактивного запуска берите tmux:
# Start
terminal(command="tmux new-session -d -s agent1 -x 120 -y 40 'hermes'", timeout=10)
# Wait for startup, then send a message
terminal(command="sleep 8 && tmux send-keys -t agent1 'Build a FastAPI auth service' Enter", timeout=15)
# Read output
terminal(command="sleep 20 && tmux capture-pane -t agent1 -p", timeout=5)
# Send follow-up
terminal(command="tmux send-keys -t agent1 'Add rate limiting middleware' Enter", timeout=5)
# Exit
terminal(command="tmux send-keys -t agent1 '/exit' Enter && sleep 2 && tmux kill-session -t agent1", timeout=10)
Координация нескольких агентов
# Agent A: backend
terminal(command="tmux new-session -d -s backend -x 120 -y 40 'hermes -w'", timeout=10)
terminal(command="sleep 8 && tmux send-keys -t backend 'Build REST API for user management' Enter", timeout=15)
# Agent B: frontend
terminal(command="tmux new-session -d -s frontend -x 120 -y 40 'hermes -w'", timeout=10)
terminal(command="sleep 8 && tmux send-keys -t frontend 'Build React dashboard for user management' Enter", timeout=15)
# Check progress, relay context between them
terminal(command="tmux capture-pane -t backend -p | tail -30", timeout=5)
terminal(command="tmux send-keys -t frontend 'Here is the API schema from the backend agent: ...' Enter", timeout=5)
Продолжение сессии
# Resume most recent session
terminal(command="tmux new-session -d -s resumed 'hermes --continue'", timeout=10)
# Resume specific session
terminal(command="tmux new-session -d -s resumed 'hermes --resume 20260225_143052_a1b2c3'", timeout=10)
Советы
- Для быстрых подзадач берите
delegate_task— накладных расходов меньше, чем на полноценный процесс. - Флаг
-w(режим worktree) нужен, когда запущенные агенты правят код, — иначе конфликты в git. - Ставьте таймауты в разовом режиме: сложная задача занимает 5–10 минут.
hermes chat -qгодится для «запустил и забыл» — PTY там не нужен.- Интерактив ведите через tmux — в сыром режиме PTY у prompt_toolkit возникают проблемы с
\rи\n. - Для задач по расписанию используйте инструмент
cronjob, а не запуск процесса: он берёт на себя доставку и повторы. - Жалобы «delegate_task ограничен N» — см.
references/delegate-task-concurrency-diagnosis.md. В Hermes есть три реальных пути ограничения; если ни один не сработал, значит модель ограничивает себя сама и оправдывает это «ограничением среды». - «Может ли $external_app использовать мою подписку Nous Portal или OAuth?» — см.
references/portal-auth-for-third-party-apps.md. Проведите пользователя по трём уровням: плагин против приложения, что Портал на самом деле отдаёт наружу, вариант с локальным прокси-посредником.
Интерфейсы (краткая ориентация)
- Десктопное приложение (
hermes desktopилиhermes gui) — нативное приложение на Electron для macOS, Linux и Windows: потоковый чат, список сессий, палитра Cmd+K, перетаскивание файлов, системные уведомления, вход в удалённый шлюз для каждого профиля. Расширяется плагинами интерфейса —references/desktop-plugins.md. - Веб-панель (
hermes dashboard) — полноценная админка: каналы сообщений, каталог MCP, вебхуки, память, конструктор профилей плюс встроенный чатhermes --tui. Закрыта воротами OAuth или токена. - Ink-TUI (
hermes --tuiлибоdisplay.interface: tui) — терминальный интерфейс с закреплёнными виджетами —references/tui-widgets.md. - Прокси, совместимый с OpenAI (
hermes proxy) — локальный OpenAI API поверх того OAuth-провайдера, под которым вы вошли. Направьте на него Codex CLI, Aider, Cline или любой скрипт — ключ API не нужен.
Жёсткие инварианты (нарушать нельзя, что бы вы ни загрузили)
- Никогда не ломайте кэширование промптов — не меняйте прошлый контекст, наборы инструментов и системный промпт посреди диалога. Единственное исключение — сжатие контекста.
- Чередование ролей сообщений — никогда два сообщения ассистента или два пользовательских подряд; повторяться могут только результаты
tool. - Секреты в
.env, настройки вconfig.yaml— никогда не советуйте класть в.envнастройку, которая не является учётными данными. - Пути с учётом профиля — в коде
get_hermes_home(), в сессии —$HERMES_HOME. - Никогда не правьте
config.yamlруками за пользователя — используйтеhermes config set KEY VAL: случайный отступ ломает файл и роняет работающий шлюз.