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

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

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

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

  • Основной (Core) — одна логическая группа связанных инструментов (например, file объединяет read_file, write_file, patch, search_files)
  • Составной (Composite) — объединяет несколько основных наборов для типичного сценария (например, debugging объединяет инструменты файлов, терминала и веба)
  • Платформенный (Platform) — полная конфигурация инструментов для конкретного контекста развёртывания (например, hermes-cli — набор по умолчанию для интерактивных CLI-сессий)

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

На сессию (CLI)

hermes chat --toolsets web,file,terminal
hermes chat --toolsets debugging        # составной — разворачивается в file + terminal + web
hermes chat --toolsets all              # всё

На платформу (config.yaml)

toolsets:
  - hermes-cli          # по умолчанию для CLI
  # - hermes-telegram   # переопределение для шлюза Telegram

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

hermes tools                            # интерфейс curses для включения/отключения по платформам

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

/tools list
/tools disable browser
/tools enable discord

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

НаборИнструментыНазначение
browserbrowser_back, browser_cdp, browser_click, browser_console, browser_dialog, browser_exec, browser_get_images, browser_navigate, browser_press, browser_scroll, browser_snapshot, browser_type, browser_vault_enter_code, browser_vault_fill, browser_vault_list, browser_vault_save_login, browser_vault_unlock, browser_visionОсновная автоматизация браузера. browser_cdp и browser_dialog управляются во время выполнения — регистрируются только когда при старте сессии доступен CDP-эндпоинт (через /browser connect, конфигурацию browser.cdp_url, Browserbase или Camofox). browser_dialog работает совместно с полями pending_dialogs и frame_tree, которые browser_snapshot добавляет при подключённом CDP-супервизоре. browser_exec заменяет остальные браузерные инструменты, когда browser.backend равен browser-use; инструменты browser_vault_* идут вместе с браузером для форм с учётными данными. Быстрые запросы — дело наборов web/search: web_search намеренно НЕ входит в этот набор, поэтому disabled_toolsets: [browser] не может его отключить (#64503).
clarifyclarifyЗадать пользователю вопрос, когда агенту нужно уточнение.
code_executionexecute_codeЗапуск Python-скриптов, программно вызывающих инструменты Hermes.
connectionsmanage_connectionsПодключает пользователя к приложениям: аккаунты управляемых коннекторов через шлюз Nous и локальные MCP-серверы из каталога. Может добавить второй именованный аккаунт приложения и переименовывать аккаунты. На десктопе каждое действие — карточка, которая блокируется, пока пользователь её не закроет; вне десктопа управляемые действия возвращают ссылку на подключение для каждого приложения.
codingсоставной (file + terminal + search + web + skills + browser + todo + memory + session_search + clarify + code_execution + delegation + vision)Пакет для разработки: редактирование файлов, терминал, поиск, веб-документация, навыки, браузер, делегирование и выполнение кода.
cronjobcronjob_manageПланирование и управление повторяющимися задачами.
debuggingсоставной (file + terminal + web)Пакет отладки — файлы, процессы/терминал, извлечение/поиск в вебе.
delegationdelegate_taskЗапуск изолированных субагентных экземпляров для параллельной работы.
discorddiscordОсновные действия в Discord: текст, embed, DM (только шлюз). Активен в наборе hermes-discord.
discord_admindiscord_adminМодерация Discord (баны, изменение ролей, управление каналами). Активен в наборе hermes-discord; требует соответствующих разрешений Discord у бота.
feishu_docfeishu_doc_readЧтение содержимого документов Feishu/Lark. Используется обработчиком умных ответов на комментарии к документам Feishu.
feishu_drivefeishu_drive_add_comment, feishu_drive_list_comments, feishu_drive_list_comment_replies, feishu_drive_reply_commentОперации с комментариями в Feishu/Lark drive. Ограничен агентом комментариев; не доступен в hermes-cli или других наборах для обмена сообщениями.
filepatch, read_file, search_files, write_fileЧтение, запись, поиск и редактирование файлов.
computer_usecomputer_useФоновое управление рабочим столом через cua-driver — не захватывает курсор/фокус. Работает с любой моделью, поддерживающей инструменты. macOS, Windows и Linux; требует cua-driver в $PATH.
context_engine(варьируется)Инструменты времени выполнения, предоставляемые активным плагином движка контекста (пуст, пока плагин не заполнит его).
image_genimage_generateГенерация изображений по тексту через FAL.ai (с opt-in бэкендами OpenAI / xAI).
video_genvideo_generate, xai_video_edit, xai_video_extendText-to-video и image-to-video через бэкенды на основе плагинов (xAI Grok-Imagine, FAL.ai Veo 3.1 / Pixverse v6 / Kling 3.0 / Kling O3). Передайте image_url для анимации изображения; опустите для text-to-video. xai_video_edit / xai_video_extend — специфичные для провайдера инструменты редактирования/продления, доступны только при настроенных учётных данных xAI Imagine.
kanbankanban_attach, kanban_attach_url, kanban_attachments, kanban_block, kanban_comment, kanban_complete, kanban_create, kanban_heartbeat, kanban_link, kanban_list, kanban_request_changes, kanban_request_review, kanban_show, kanban_unblockИнструменты мультиагентной координации. Регистрируются для рабочих, запущенных диспетчером (HERMES_KANBAN_TASK), и для платформ, в сохранённом выборе которых есть kanban (hermes tools enable kanban --platform <p>; подстановочный знак all/* не включает его). Рабочие помечают задачи выполненными, запрашивают полноценное ревью, блокируют, отправляют heartbeat, комментируют и создают/связывают продолжения; профили оркестраторов дополнительно получают инструменты маршрутизации по доске (list/unblock). Дочерние задачи delegate_task не являются владельцами запуска Kanban: их схема отключает/вырезает этот набор, а защита времени выполнения отклоняет прямые изменения доски, даже если у родителя установлены переменные окружения HERMES_KANBAN_*.
memorymemoryУправление постоянной межсессионной памятью.
desktop_uiannotate_preview, apply_layout, close_terminal, desktop_preview, drive_preview, focus_pane, gui_tour, react_to_message, read_terminal, read_window_below, show_tipДействия, управляющие самим десктопным приложением Hermes — чтение/закрытие встроенной панели терминала, открытие, чтение, закрытие внутреннего браузера, работа с ним и пометки на нём, определение системного окна за приложением, показ панели, реакция на сообщение, запуск управляемого тура (подсветка и озвучивание элементов интерфейса в приложении или в панели предпросмотра), применение пресета раскладки. Доступны для сессий, источником которых служит десктопное приложение — независимо от того, к какому бэкенду оно подключено (локальному, по SSH, по URL или к Hermes Cloud). Никогда не присутствуют в CLI-, TUI-, messaging- или cron-сессиях.
projectdesktop_projectСоздание и переключение десктопных Проектов (именованных многопапочных рабочих пространств) через одно перечисление действий create/switch/list. Только GUI/десктопные сессии.
catalogmanage_catalogИщет по каталогу плагинов и хабу навыков и устанавливает найденное через карточку одобрения в профиль этого чата. Включён для сессий, источник которых — десктопное приложение, к какому бы бэкенду оно ни было подключено (локальному, SSH, URL или Hermes Cloud). Никогда не присутствует в сессиях CLI, TUI, мессенджеров и cron, даже если его называет список в конфиге. all его не включает. По умолчанию отложен за tool_search. Убрать можно через agent.disabled_toolsets: [catalog].
safeimage_generate, vision_analyze, web_extract, web_search (через includes)Исследование только для чтения + генерация медиа. Без записи файлов, без терминала, без выполнения кода.
searchweb_searchТолько веб-поиск (без извлечения).
session_searchsession_searchПоиск прошлых сессий диалога.
setupsetup_chooseПоверхность только для онбординга в десктопном профиле настройки: задаёт пользователю по одному вопросу или карточке выбора. Включается собственным конфигом профиля настройки (platform_toolsets.cli), а инструменты получают только десктопные сессии. all его не включает. Не показывается в hermes tools.
start_chatstart_chatЗапускает новый десктопный чат в существующем профиле (в профиле этого же чата, если имя не указано) и отправляет ему первое сообщение, чтобы задача выполнялась там на глазах у пользователя. Каждый вызов открывает ещё один чат. Включается собственным конфигом профиля (platform_toolsets.cli), а инструмент получают только десктопные сессии. all его не включает. Не показывается в hermes tools. Субагенты его не получают.
skillsskill_manage, skill_view, skills_listCRUD и просмотр навыков.
terminalprocess_manage, terminalВыполнение команд командной строки и управление фоновыми процессами.
todotodo_listУправление списком задач в рамках сессии.
ttstext_to_speechГенерация голосового аудио из текста.
visionvision_analyzeАнализ изображений через модели с поддержкой видения.
videovideo_analyzeИнструменты анализа и понимания видео (opt-in, не в наборе по умолчанию — добавляйте явно через --toolsets).
webweb_extract, web_searchВеб-поиск и извлечение содержимого страниц.
x_searchx_searchПубличный поиск в X только для чтения через встроенный инструмент xAI x_search Responses. Для аутентифицированных запросов к X API и действий с аккаунтом используйте навык xurl. Отключён по умолчанию; активируйте через hermes tools. Схема регистрируется только при настроенных учётных данных xAI (SuperGrok OAuth или XAI_API_KEY).
yuanbaoyb_query_group_info, yb_query_group_members, yb_search_sticker, yb_send_dm, yb_send_stickerДействия DM/групп и поиск стикеров в 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, computer_use и инструменты kanban (все проверяются функцией check_fn во время выполнения).
hermes-acpУбирает clarify, cronjob, image_generate, text_to_speech, computer_use и инструменты kanban. Ориентирован на задачи программирования в контексте IDE.
hermes-api-serverУбирает clarify, text_to_speech, computer_use и инструменты kanban. Всё остальное сохраняет — подходит для программного доступа без возможности взаимодействия с пользователем.
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_* (DM/группы/стикеры) поверх hermes-cli.
hermes-webhookОграниченное безопасное подмножество — только web_search, web_extract, vision_analyze и clarify. Запуски по вебхуку не получают доступа к терминалу, файлам или браузеру.
hermes-gatewayВнутренний набор оркестратора шлюза — объединение всех наборов hermes-<platform>; используется когда шлюзу нужно принимать сообщения из любого источника.

Платформы, которые поставляются плагинами, получают неявный пакет hermes-<platform>, не входящий в hermes-gateway. Например, hermes-homeassistant по-прежнему разрешается после установки плагина каталога homeassistant, но встроенным набором инструментов больше не является.

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

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

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

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

Это создаёт набор mcp-github, на который можно ссылаться в --toolsets или конфигурациях платформ. Голое имя сервера (github) работает как псевдоним. Если сервер назван так же, как встроенный набор (browser, web), это имя даст встроенные инструменты плюс инструменты сервера mcp__<server>__*; одно другое не перекрывает.

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

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

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

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

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

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

  • all или * — разворачивается во все зарегистрированные наборы (встроенные + динамические + плагинные)

У части инструментов есть дополнительная проверка доступности помимо членства в наборе — all/* не включает их автоматически:

  • Инструменты с проверкой возможностей (браузер, computer_use, code_execution, Feishu, cronjob) появляются только при настроенном бэкенде/учётных данных.
  • Инструменты с проверкой рабочего процесса — набор kanban — намеренно opt-in. all/* не включает kanban; нужно явно перечислить kanban (или быть рабочим, запущенным диспетчером с установленным HERMES_KANBAN_TASK). Инструменты kanban изменяют общее состояние доски, поэтому по умолчанию остаются отключёнными даже при all.

Связь с hermes tools

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

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

перевод и редактура:

обновлено

⌕ ESC