Экосистема инструментов 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Чтение/запись файлов, операции с каталогами
terminalrun_command、run_scriptВыполнение команд оболочки
codeexecute_codeВыполнение кода в песочнице (Python/JS/Bash)
computerscreenshot、click、typeАвтоматизация графического интерфейса рабочего стола

Сеть и контент

набор инструментовОсновные инструментыОсновное назначение
webweb_search、web_extractВеб-поиск и извлечение контента
browsernavigate、click、fill_formПолная автоматизация браузера
visionanalyze_image、describe_imageАнализ и описание изображений
аудиоtranscribe、ttsПреобразование речи в текст, синтез речи

Возможности агента

набор инструментовОсновные инструментыОсновное назначение
memorymemory、session_searchУправление памятью и извлечение данных между сессиями
skillsskills_list、skill_view、skill_manageУправление навыками
делегированиеspawn_agent、spawn_parallelДелегирование субагентам и параллелизм
kanbantask_create、task_updateМультиагентная панель (требуется явное включение)

Создание медиа

Следующий набор инструментов требует Nous Portal или соответствующий API-ключ:

набор инструментовОсобенностиОписание
image_genГенерация изображений из текстаПоддерживает 9 моделей, включая FLUX, GPT-Image
ttsСинтез речи10 TTS-провайдеров, включая локальный Piper

Пользовательские наборы инструментов

Вы можете объединить существующие наборы инструментов в наборы инструментов для конкретного проекта в файле конфигурации:

Пример

# Путь к файлу: ~/.hermes/config.yaml
# Пользовательский набор инструментов: объединение существующих наборов инструментов в конфигурацию для конкретного проекта
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, общие машины

Переключить бэкенд

Пример

# Переключиться на бэкенд Docker (рекомендуется для продакшен-окружения)
hermes config set backend docker

# Переключиться на бэкенд SSH
hermes config set terminal.backend ssh
hermes config set terminal.ssh_host user@your-server.com

Полный пример конфигурации бэкенда Docker:

Пример

# Путь к файлу: ~/.hermes/config.yaml
# Конфигурация бэкенда Docker
terminal
:
  backend
: docker
  docker_image
: "nikolaik/python-nodejs:python3.11-nodejs20"
  container_persistent
: true    # true = bind mount, false = tmpfs временный

Принцип безопасности: локальный бэкенд даёт Агенту те же права доступа к файловой системе, что и у вас, — подходит для личных машин, но не подходит для production-сервисов. Бэкенд docker — самый простой и эффективный способ изоляции.

Подтверждение опасных команд

По умолчанию Hermes запрашивает подтверждение перед выполнением потенциально разрушительных команд:

Пример

# Путь к файлу: ~/.hermes/config.yaml
# Настройка режима подтверждения
approvals
:
  mode
: manual        # manual (по умолчанию) | smart | off
  timeout
: 60         # Время ожидания подтверждения в секундах
  cron_mode
: deny     # Поведение, когда запланированная задача сталкивается с опасными командами: deny | approve

Временно обойти подтверждение в сессии (используйте с осторожностью):

Пример

# Включить режим YOLO, автоматически подтверждать все команды в этой сессии
/yolo

# Нажмите Enter ещё раз, чтобы отключить
/yolo

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

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

Стандартная установка включает поддержку MCPДополнительные шаги не требуются.

Два типа MCP-серверов

Локальный stdio-сервер: запускается локально как подпроцесс, обмен данными через стандартный ввод/вывод:

Пример

# Путь к файлу: ~/.hermes/config.yaml
# Конфигурация сервера 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:

Пример

# Путь к файлу: ~/.hermes/config.yaml
# Конфигурация 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 工具

Установка автоматически выполняет три шага:

  1. Запрос на настройку ключа API или руководство по входу через OAuth
  2. Определить список инструментов, предоставляемых сервером
  3. Отображает список выбора инструментов, позволяя вам решить, какие инструменты включить

Фильтрация инструментов: предоставляйте только то, что вам нужно

Каждый сервер MCP поддерживает детальную фильтрацию инструментов, сокращая поверхность атаки, доступную агенту:

Пример

# Путь к файлу: ~/.hermes/config.yaml
# Конфигурация фильтрации инструментов 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Набор инструментов.

Вы можете управлять им как встроенным набором инструментов:

Пример

# Путь к файлу: ~/.hermes/config.yaml
# Ссылка на набор инструментов MCP в конфигурации платформы
platform_toolsets
:
  cli
:
   - hermes-cli
    - mcp-github
    - mcp-linear

Перезагрузить конфигурацию MCP

После изменения config.yaml нет необходимости перезапускать всего Агента:

Пример

# Перезагрузить сервер MCP в текущем сеансе (30-секундный тайм-аут)
/reload-mcp

# Или из командной строки
hermes mcp reload

Если требуется аутентификация OAuth, 30-секундного тайм-аута недостаточно. Рекомендуется сначала добавить конфигурацию сервера, затем в новом терминале выполнить hermes mcp login <server>, чтобы завершить авторизацию (ожидание до 5 минут).


Интеграция с редактором (ACP)

ACP (Agent Communication Protocol) позволяет Hermes работать нативно внутри редактора — чат, активность инструментов, различия файлов и команды терминала отображаются непосредственно в редакторе.

Поддерживаемые редакторы: VS Code, Zed и вся серия JetBrains.

Стандартная установка уже включает поддержку A:

Пример

# Запустить режим Agent для подключений редактора
hermes acp

Если полные зависимости не были включены при установке:

Пример

# Установить зависимости 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]"

Пример

# Включение голосового режима в CLI
/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 не требуется)

Пример

# Вход через OAuth, автоматически настраивает все вышеперечисленные инструменты
hermes setup --portal

Безопасность инструментов: изоляция переменных окружения MCP

Подпроцесс MCP stdio получаетотфильтрованное окружение,предотвращая случайную утечку учётных данных.

По умолчанию в процесс MCP передаются только следующие переменные:

PATH, HOME, USER, LANG, LC_ALL, TERM, SHELL, TMPDIR(以及所有 XDG_* 变量)

Все остальные переменные окружения (API-ключ, токен, пароль) блокируются.

Будут переданы только переменные, явно объявленные в блоке env: конфигурации сервера MCP:

Пример

# Путь к файлу: ~/.hermes/config.yaml
# В подпроцесс 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
Другие расширения