Справочник по наборам инструментов

Наборы инструментов (toolsets) — это именованные группы инструментов, управляющие тем, что может делать агент. Это основной механизм для настройки доступности инструментов для каждой платформы, сессии или задачи.

Как работают наборы инструментов

Каждый инструмент принадлежит ровно одному набору. Когда вы включаете набор, все инструменты в этой группе становятся доступными агенту. Наборы инструментов бывают трёх видов:

Настройка наборов инструментов

Для сессии (CLI)

hermes chat --toolsets web,file,terminal
hermes chat --toolsets debugging        # composite — expands to file + terminal + web
hermes chat --toolsets all              # everything

Для платформы (config.yaml)

toolsets:
  - hermes-cli          # default for CLI
  # - hermes-telegram   # override for Telegram gateway

Интерактивное управление

hermes tools                            # curses UI to enable/disable per platform

Или внутри сессии:

/tools list
/tools disable browser
/tools enable rl

Основные наборы инструментов

Набор инструментов Инструменты Назначение
browser browser_back, browser_cdp, browser_click, browser_console, browser_dialog, browser_get_images, browser_navigate, browser_press, browser_scroll, browser_snapshot, browser_type, browser_vision, web_search Основная автоматизация браузера. Включает web_search как запасной вариант для быстрых запросов. browser_cdp и browser_dialog ограничены во время выполнения — регистрируются только когда CDP-адрес доступен при запуске сессии (через /browser connect, конфиг browser.cdp_url, Browserbase или Camofox). browser_dialog работает совместно с полями pending_dialogs и frame_tree, которые browser_snapshot добавляет при подключённом CDP-супервизоре.
clarify clarify Задать вопрос пользователю, когда агенту требуется уточнение.
code_execution execute_code Запуск Python-скриптов, которые программно вызывают инструменты Hermes.
cronjob cronjob Планирование и управление повторяющимися задачами.
debugging composite (file + terminal + web) Отладочный набор — файлы, процессы/терминал, извлечение/поиск в вебе.
delegation delegate_task Запуск изолированных экземпляров подагентов для параллельной работы.
discord discord Основные действия Discord: текст/встраивание/ЛС (только шлюз). Активен в наборе hermes-discord.
discord_admin discord_admin Модерация Discord (баны, смена ролей, управление каналами). Активен в наборе hermes-discord; требует наличия у бота соответствующих прав Discord.
feishu_doc feishu_doc_read Чтение содержимого документов Feishu/Lark. Используется обработчиком интеллектуальных ответов на комментарии в документах Feishu.
feishu_drive feishu_drive_add_comment, feishu_drive_list_comments, feishu_drive_list_comment_replies, feishu_drive_reply_comment Операции с комментариями в Feishu/Lark drive. Ограничено агентом комментариев; не доступно в hermes-cli или других мессенджер-наборах.
file patch, read_file, search_files, write_file Чтение, запись, поиск и редактирование файлов.
homeassistant ha_call_service, ha_get_state, ha_list_entities, ha_list_services Управление умным домом через Home Assistant. Доступно только при установленном HASS_TOKEN.
computer_use computer_use Фоновое управление рабочим столом macOS через cua-driver — не перехватывает курсор/фокус. Работает с любой моделью, поддерживающей инструменты. Только macOS; требуется cua-driver в $PATH.
image_gen image_generate Генерация изображений по тексту через FAL.ai (с опциональными бэкендами OpenAI / xAI).
kanban kanban_block, kanban_comment, kanban_complete, kanban_create, kanban_heartbeat, kanban_link, kanban_show Инструменты координации мультиагентов — регистрируются только когда агент запущен диспетчером канбана (установлена переменная окружения HERMES_KANBAN_TASK). Позволяет работникам отмечать задачи как выполненные со структурированной передачей, блокировать для ввода данных пользователем, отправлять heartbeat во время длительных операций, комментировать в тредах и (для оркестраторов) распределять дочерние задачи.
memory memory Постоянное управление памятью между сессиями.
messaging send_message Отправка сообщений на другие платформы (Telegram, Discord и т.д.) из текущей сессии.
moa mixture_of_agents Мультимодельный консенсус через Mixture of Agents.
rl rl_check_status, rl_edit_config, rl_get_current_config, rl_get_results, rl_list_environments, rl_list_runs, rl_select_environment, rl_start_training, rl_stop_training, rl_test_inference Управление средой RL-обучения (Atropos).
safe image_generate, vision_analyze, web_extract, web_search (через includes) Исследования только для чтения + генерация медиа. Без записи файлов, терминала и выполнения кода.
search web_search Только веб-поиск (без извлечения).
session_search session_search Поиск по прошлым сессиям разговоров.
skills skill_manage, skill_view, skills_list CRUD и просмотр навыков.
spotify spotify_albums, spotify_devices, spotify_library, spotify_playback, spotify_playlists, spotify_queue, spotify_search Нативное управление Spotify (воспроизведение, очередь, поиск, плейлисты, альбомы, библиотека). Регистрируется встроенным плагином spotify.
terminal process, terminal Выполнение команд оболочки и управление фоновыми процессами.
todo todo Управление списком задач в рамках сессии.
tts text_to_speech Генерация аудио из текста.
vision vision_analyze Анализ изображений через модели с поддержкой зрения.
video video_analyze Инструменты анализа и понимания видео (опционально, не входят в набор по умолчанию — добавляйте явно через --toolsets).
web web_extract, web_search Веб-поиск и извлечение содержимого страниц.
yuanbao yb_query_group_info, yb_query_group_members, yb_search_sticker, yb_send_dm, yb_send_sticker Действия в ЛС/группах Yuanbao и поиск стикеров. Регистрируется только в hermes-yuanbao.

Платформенные наборы инструментов

Платформенные наборы инструментов определяют полную конфигурацию инструментов для целевого развёртывания. Большинство платформ обмена сообщениями используют тот же набор, что и hermes-cli:

Набор инструментов Отличия от hermes-cli
hermes-cli Полный набор — используется по умолчанию для интерактивных CLI-сессий. Включает file, terminal, web, browser, memory, skills, vision, image_gen, todo, tts, delegation, code_execution, cronjob, session_search, clarify и safe (только чтение), а также стандартные инструменты обмена сообщениями.
hermes-acp Исключает clarify, cronjob, image_generate, send_message, text_to_speech и все четыре инструмента Home Assistant. Ориентирован на задачи программирования в контексте IDE.
hermes-api-server Исключает clarify, send_message и text_to_speech. Оставляет всё остальное — подходит для программного доступа там, где взаимодействие с пользователем невозможно.
hermes-cron То же, что и hermes-cli.
hermes-telegram То же, что и hermes-cli.
hermes-discord Добавляет discord и discord_admin поверх hermes-cli.
hermes-slack То же, что и hermes-cli.
hermes-whatsapp То же, что и hermes-cli.
hermes-signal То же, что и hermes-cli.
hermes-matrix То же, что и hermes-cli.
hermes-mattermost То же, что и hermes-cli.
hermes-email То же, что и hermes-cli.
hermes-sms То же, что и hermes-cli.
hermes-bluebubbles То же, что и hermes-cli.
hermes-dingtalk То же, что и hermes-cli.
hermes-feishu Добавляет пять инструментов feishu_doc_* / feishu_drive_* (используются только обработчиком комментариев к документам, а не обычным чат-адаптером).
hermes-qqbot То же, что и hermes-cli.
hermes-wecom То же, что и hermes-cli.
hermes-wecom-callback То же, что и hermes-cli.
hermes-weixin То же, что и hermes-cli.
hermes-yuanbao Добавляет пять инструментов yb_* (ЛС/группы/стикеры) поверх hermes-cli.
hermes-homeassistant То же, что и hermes-cli (инструменты Home Assistant уже присутствуют по умолчанию и активируются при установке HASS_TOKEN).
hermes-webhook То же, что и hermes-cli.
hermes-gateway Внутренний набор оркестратора шлюза — объединение всех наборов hermes-<platform>; используется, когда шлюзу необходимо принимать сообщения из любого источника.

Динамические наборы инструментов

Наборы инструментов MCP-серверов

Каждый настроенный MCP-сервер генерирует набор mcp-<server> во время выполнения. Например, если вы настроили MCP-сервер github, будет создан набор mcp-github, содержащий все инструменты, которые предоставляет этот сервер.

# config.yaml
mcp_servers:
  github:
    command: npx
    args: ["-y", "@modelcontextprotocol/server-github"]

Это создаёт набор mcp-github, на который можно ссылаться в --toolsets или в конфигурациях платформ.

Наборы инструментов плагинов

Плагины могут регистрировать собственные наборы инструментов через ctx.register_tool() во время инициализации. Они появляются рядом со встроенными наборами и могут быть включены или отключены таким же образом.

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

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

toolsets:
  - hermes-cli
custom_toolsets:
  data-science:
    - file
    - terminal
    - code_execution
    - web
    - vision

Подстановочные знаки

Связь с hermes tools

Команда hermes tools предоставляет curses-интерфейс для включения или отключения отдельных инструментов для каждой платформы. Она работает на уровне инструментов (точнее, чем наборы) и сохраняет изменения в config.yaml. Отключённые инструменты фильтруются, даже если их набор включён.

См. также: Справочник по инструментам для полного списка отдельных инструментов и их параметров.