Экосистема инструментов Hermes Agent и интеграция с MCP
Все возможности Hermes проходят черезИнструменты, предоставляемые Агенту.
Инструменты организованы внаборы инструментов, которые затем объединяются вконфигурацию платформы. Эта трёхуровневая структура определяет, что Агент может делать в разных сценариях:
工具(Tool)
└── 工具集(Toolset) # 相关工具的逻辑分组
└── 平台配置 # 哪个平台加载哪些工具集
└── 自定义工具集 # 你自己定义的组合
Команды управления инструментарием
# 打开 curses TUI,按平台开/关工具集 hermes tools # 命令行列出所有工具和状态 hermes tools list # 按名称启用或禁用工具集 hermes tools enable NAME hermes tools disable NAME
Настольная версия, в левом меню навыков и инструментов:

Отключите набор инструментов, и его инструменты из системного промптаполностью исчезнут, а не просто будут отключены — это напрямую экономит токены и не позволяет Агенту злоупотреблять инструментами, которыми он не должен пользоваться.
Обзор встроенных наборов инструментов
Hermes предоставляет 70+ встроенных инструментов, разделённых на 28 наборов инструментов.
Ниже представлены наиболее часто используемые наборы инструментов по категориям.
Файлы и система
| набор инструментов | Основные инструменты | Основное назначение |
|---|---|---|
| файл | read_file、write_file、list_dir | Чтение/запись файлов, операции с каталогами |
| terminal | run_command、run_script | Выполнение команд оболочки |
| code | execute_code | Выполнение кода в песочнице (Python/JS/Bash) |
| computer | screenshot、click、type | Автоматизация графического интерфейса рабочего стола |
Сеть и контент
| набор инструментов | Основные инструменты | Основное назначение |
|---|---|---|
| web | web_search、web_extract | Веб-поиск и извлечение контента |
| browser | navigate、click、fill_form | Полная автоматизация браузера |
| vision | analyze_image、describe_image | Анализ и описание изображений |
| аудио | transcribe、tts | Преобразование речи в текст, синтез речи |
Возможности агента
| набор инструментов | Основные инструменты | Основное назначение |
|---|---|---|
| memory | memory、session_search | Управление памятью и извлечение данных между сессиями |
| skills | skills_list、skill_view、skill_manage | Управление навыками |
| делегирование | spawn_agent、spawn_parallel | Делегирование субагентам и параллелизм |
| kanban | task_create、task_update | Мультиагентная панель (требуется явное включение) |
Создание медиа
Следующий набор инструментов требует Nous Portal или соответствующий API-ключ:
| набор инструментов | Особенности | Описание |
|---|---|---|
| image_gen | Генерация изображений из текста | Поддерживает 9 моделей, включая FLUX, GPT-Image |
| tts | Синтез речи | 10 TTS-провайдеров, включая локальный Piper |
Пользовательские наборы инструментов
Вы можете объединить существующие наборы инструментов в наборы инструментов для конкретного проекта в файле конфигурации:
Пример
# Пользовательский набор инструментов: объединение существующих наборов инструментов в конфигурацию для конкретного проекта
custom_toolsets:
data-science:
- file
- terminal
- code
- web
Затем укажите при запуске:
Пример
hermes --toolsets data-science
Шесть бэкендов выполнения терминальных команд
Набор инструментов терминала поддерживает шесть бэкендов выполнения, определяя, где будут выполняться Shell-команды АгентаГде выполнять, что соответствует различным уровням изоляции и «радиусу поражения».
| Бэкенд | Место выполнения команды | Уровень изоляции | Типичные сценарии |
|---|---|---|---|
| local (по умолчанию) | Локальная машина, права текущего пользователя | Отсутствует | Личная разработка, повседневное использование |
| docker | Внутри контейнера Docker | Полная изоляция | Развёртывание в производственной среде, защищённая песочница |
| ssh | Удалённый сервер | Изоляция сетевой границы | Удалённая разработка, высокопроизводительные машины |
| modal | Облачная песочница Modal (VM) | Полностью (облако) | Временные вычисления, задачи оценки |
| daytona | Рабочие пространства, размещённые в Daytona | Полностью (облачный контейнер) | Управляемая облачная среда разработки |
| singularity | Контейнер Singularity | Изоляция пространств имён | Кластеры HPC, общие машины |
Переключить бэкенд
Пример
hermes config set backend docker
# Переключиться на бэкенд SSH
hermes config set terminal.backend ssh
hermes config set terminal.ssh_host user@your-server.com
Полный пример конфигурации бэкенда Docker:
Пример
# Конфигурация бэкенда Docker
terminal:
backend: docker
docker_image: "nikolaik/python-nodejs:python3.11-nodejs20"
container_persistent: true # true = bind mount, false = tmpfs временный
Принцип безопасности: локальный бэкенд даёт Агенту те же права доступа к файловой системе, что и у вас, — подходит для личных машин, но не подходит для production-сервисов. Бэкенд docker — самый простой и эффективный способ изоляции.
Подтверждение опасных команд
По умолчанию Hermes запрашивает подтверждение перед выполнением потенциально разрушительных команд:
Пример
# Настройка режима подтверждения
approvals:
mode: manual # manual (по умолчанию) | smart | off
timeout: 60 # Время ожидания подтверждения в секундах
cron_mode: deny # Поведение, когда запланированная задача сталкивается с опасными командами: deny | approve
Временно обойти подтверждение в сессии (используйте с осторожностью):
Пример
/yolo
# Нажмите Enter ещё раз, чтобы отключить
/yolo
MCP: подключение экосистемы внешних инструментов
MCP (Model Context Protocol) позволяет Hermes подключаться к внешним серверам инструментов без изменения основного кода — GitHub, базы данных, файловые системы, браузерные стеки, внутренние API и т. д.
Стандартная установка включает поддержку MCPДополнительные шаги не требуются.
Два типа MCP-серверов
Локальный stdio-сервер: запускается локально как подпроцесс, обмен данными через стандартный ввод/вывод:
Пример
# Конфигурация сервера MCP stdio
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..."
filesystem:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-filesystem", "/home/user/projects"]
git:
command: "uvx"
args: ["mcp-server-git", "--repository", "/home/user/project"]
Применимые сценарии: инструменты установлены локально, и требуется доступ к локальным ресурсам с низкой задержкой.
Удалённый HTTP-сервер: прямое подключение к удалённой конечной точке MCP:
Пример
# Конфигурация MCP HTTP-сервера
mcp_servers:
# Аутентификация с помощью статического Bearer-токена
internal_api:
url: "https://mcp.internal.example.com/mcp"
headers:
Authorization: "Bearer ${MY_TOKEN}"
# Аутентификация OAuth 2.1 (Linear, Sentry, Figma, Stripe и т. д.)
linear:
url: "https://mcp.linear.app/mcp"
auth: oauth
# Провайдеры, требующие предварительно зарегистрированных клиентов OAuth
googledrive:
url: "https://drivemcp.googleapis.com/mcp/v1"
auth: oauth
oauth:
client_id: "<your-oauth-client-id>"
client_secret: "<your-oauth-client-secret>"
Применимые сценарии: инструменты размещены удалённо, или в организации есть интерфейс MCP.
Каталог MCP, курируемый Nous
Hermes имеет встроенный каталог MCP, курируемый Nous, с установкой в один клик:
Пример
hermes mcp
# Список в виде обычного текста
hermes mcp catalog
# Установить записи из каталога по имени
hermes mcp install n8n
Селектор отобразит текущий статус каждой записи:
n8n available 管理和检查 n8n 工作流 linear enabled Linear 问题/项目管理(远程 OAuth) github installed (disabled) GitHub 仓库 + PR 工具
Установка автоматически выполняет три шага:
- Запрос на настройку ключа API или руководство по входу через OAuth
- Определить список инструментов, предоставляемых сервером
- Отображает список выбора инструментов, позволяя вам решить, какие инструменты включить
Фильтрация инструментов: предоставляйте только то, что вам нужно
Каждый сервер MCP поддерживает детальную фильтрацию инструментов, сокращая поверхность атаки, доступную агенту:
Пример
# Конфигурация фильтрации инструментов MCP
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..."
tools:
include: [list_issues, create_issue, update_issue, search_code]
# Инструменты, не указанные в списке, не будут зарегистрированы
resources: false
prompts: false
stripe:
url: "https://mcp.stripe.com"
headers:
Authorization: "Bearer ${STRIPE_KEY}"
tools:
exclude: [delete_customer, refund_payment] # Исключить высокорисковые операции
| Fields | Поведение |
|---|---|
| tools.include | Регистрировать только инструменты из списка, исключить все остальные |
| tools.exclude | Исключить инструменты из списка, зарегистрировать все остальные |
| Заданы оба | приоритет включения |
| resources: false | Не предоставлять инструменты доступа к ресурсам MCP |
| prompts: false | Не предоставлять инструменты промптов MCP |
FilterRulesUsage MCP originalTool name называется (содержит соединительный символ/точку), не является Hermes RegisterafterBottom划Lineversion.
Каждый сервер MCP генерирует независимый набор инструментов
После настройки сервера GitHub MCP Hermes автоматически создаст его во время выполненияmcp-githubНабор инструментов.
Вы можете управлять им как встроенным набором инструментов:
Пример
# Ссылка на набор инструментов MCP в конфигурации платформы
platform_toolsets:
cli:
- hermes-cli
- mcp-github
- mcp-linear
Перезагрузить конфигурацию MCP
После изменения config.yaml нет необходимости перезапускать всего Агента:
Пример
/reload-mcp
# Или из командной строки
hermes mcp reload
Если требуется аутентификация OAuth, 30-секундного тайм-аута недостаточно. Рекомендуется сначала добавить конфигурацию сервера, затем в новом терминале выполнить hermes mcp login <server>, чтобы завершить авторизацию (ожидание до 5 минут).
Интеграция с редактором (ACP)
ACP (Agent Communication Protocol) позволяет Hermes работать нативно внутри редактора — чат, активность инструментов, различия файлов и команды терминала отображаются непосредственно в редакторе.
Поддерживаемые редакторы: VS Code, Zed и вся серия JetBrains.
Стандартная установка уже включает поддержку A:
Пример
hermes acp
Если полные зависимости не были включены при установке:
Пример
cd ~/.hermes/hermes-agent
uv pip install -e ".[acp]"
| Редактор | Способ интеграции | Особенности |
|---|---|---|
| VS Code | Плагин расширения | Встроенное автодополнение кода, ревью кода, предложения по рефакторингу |
| Zed | Нативный режим агента | Обмен через stdio/JSON-RPC с учётом контекста |
| JetBrains | Плагин | Генерация кода, генерация тестов, документирующие комментарии |
Интеграция с редактором взаимодействует с Hermes Agent по протоколу stdio/JSON-RPC, не зависит от сетевого подключения и подходит для офлайн-использования.
Голосовой режим
Голосовой режим поддерживает полноценное голосовое взаимодействие в CLI и на платформах обмена сообщениями:
- Запись с микрофона (локальное распознавание речи faster-whisper, бесплатно)
- Голосовые ответы TTS (доступно 10 вариантов провайдеров)
- Разговоры в реальном времени в голосовых каналах Discord
Установка и включение
Пример
cd ~/.hermes/hermes-agent
uv pip install -e ".[voice]"
Пример
/voice on
# Нажмите Ctrl+B, чтобы начать запись, отпустите, чтобы отправить
# В платформе обмена сообщениями
/voice on # Включить TTS-ответы
/voice tts # Включить только синтез речи (без голосового ввода)
/voice off # Отключено
TTS-провайдеры
| провайдер | Особенности | Бесплатно или нет |
|---|---|---|
| Edge TTS | Нейронные голоса Microsoft, многоязычные | Бесплатно |
| Piper | Полностью локально, низкая задержка | Бесплатно |
| OpenAI TTS | Высокое качество, несколько голосов | Оплата по мере использования |
| ElevenLabs | Аудио высшего класса, клонирование голоса | Оплата по мере использования |
| MiniMax | Оптимизация для китайского | Оплата по мере использования |
| Mistral Voxtral | многоязычный | Оплата по мере использования |
Шлюз инструментов (подписка Nous Portal)
Подпишитесь через Nous Portal, чтобы получить облачные реализации четырёх типов инструментов в один клик, без необходимости отдельно запрашивать API-ключи:
| Инструменты | Описание |
|---|---|
| Веб-поиск | Поиск + извлечение контента (набор веб-инструментов) |
| Генерация изображений | 9 моделей: FLUX, GPT-Image, Ideogram и т. д. |
| Синтез речи | Синтез речи |
| Облачный браузер | Полная автоматизация браузера (локальный Playwright не требуется) |
Пример
hermes setup --portal
Безопасность инструментов: изоляция переменных окружения MCP
Подпроцесс MCP stdio получаетотфильтрованное окружение,предотвращая случайную утечку учётных данных.
По умолчанию в процесс MCP передаются только следующие переменные:
PATH, HOME, USER, LANG, LC_ALL, TERM, SHELL, TMPDIR(以及所有 XDG_* 变量)
Все остальные переменные окружения (API-ключ, токен, пароль) блокируются.
Будут переданы только переменные, явно объявленные в блоке env: конфигурации сервера MCP:
Пример
# В подпроцесс MCP передаются только явно объявленные переменные.
mcp_servers:
github:
command: "npx"
args: ["-y", "@modelcontextprotocol/server-github"]
env:
GITHUB_PERSONAL_ACCESS_TOKEN: "ghp_..." # Передаётся только эта переменная
Кроме того, сообщения об ошибках инструментов MCP автоматически очищаются перед возвратом в LLM, а конфиденциальная информация заменяется на[REDACTED]。
Краткая справка по типовым командам
Пример
hermes tools # Интерактивное управление набором инструментов (TUI)
hermes tools list # Показать все инструменты и состояние
hermes tools enable NAME # Включить набор инструментов
hermes tools disable NAME # Отключить набор инструментов
# ─── Управление MCP ────────────────────────────────────────────────
hermes mcp # Интерактивный выбор каталога MCP
hermes mcp catalog # Список каталога в виде простого текста
hermes mcp install <name> # Установить записи каталога
hermes mcp add NAME --command CMD # Добавить MCP-сервер вручную
hermes mcp remove NAME # Удалить MCP-сервер
hermes mcp list # Список настроенных серверов
hermes mcp test NAME # Проверить соединение
hermes mcp login <server> # Завершить авторизацию OAuth
hermes mcp configure <server> # Перенастройка выбора инструментов
hermes mcp reload # Перезагрузка конфигурации MCP
# ─── Бэкенд терминала ────────────────────────────────────────────────
hermes config set backend docker
hermes config set terminal.backend ssh
hermes config set terminal.ssh_host user@host
# ─── ACP EditorSetCheng ──────────────────────────────────────────
hermes acp
# ─── Подписка на портал ─────────────────────────────────────────────
hermes setup --portal