Reference
On this page
Наборы инструментов (toolsets) — это именованные пакеты инструментов, определяющие, что может делать агент. Это основной механизм настройки доступности инструментов для каждой платформы, сессии или задачи.
Как работают наборы инструментов¶
Каждый инструмент принадлежит ровно одному набору. Когда вы включаете набор, все инструменты в этом пакете становятся доступны агенту. Наборы инструментов бывают трёх видов:
- Базовый (Core) — единая логическая группа связанных инструментов (например,
fileобъединяетread_file,write_file,patch,search_files) - Составной (Composite) — объединяет несколько базовых наборов для общего сценария (например,
debuggingобъединяет файловые, терминальные и веб-инструменты) - Платформенный (Platform) — полная конфигурация инструментов для конкретного контекста развёртывания (например,
hermes-cli— набор по умолчанию для интерактивных CLI-сессий)
Настройка наборов инструментов¶
Для сессии (CLI)¶
[code]
hermes chat --toolsets web,file,terminal
hermes chat --toolsets debugging # составной — расширяется до file + terminal + web
hermes chat --toolsets all # всё
[/code]
Для платформы (config.yaml)¶
[code]
toolsets:
- hermes-cli # по умолчанию для CLI
# - hermes-telegram # переопределение для шлюза Telegram
[/code]
Интерактивное управление¶
[code] hermes tools # curses-интерфейс для включения/отключения для каждой платформы
[/code]
Или внутри сессии:
[code]
/tools list
/tools disable browser
/tools enable rl
[/code]
Базовые наборы инструментов¶
| Набор | Инструменты | Назначение |
|---|---|---|
browser |
browser_back, browser_click, browser_console, browser_get_images, browser_navigate, browser_press, browser_scroll, browser_snapshot, browser_type, browser_vision, web_search |
Базовая автоматизация браузера. Включает web_search как запасной вариант для быстрых поисковых запросов. browser_cdp и browser_dialog находятся в отдельном наборе browser-cdp и регистрируются только при достижимости 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 |
составной (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. |
image_gen |
image_generate |
Генерация изображений по текстовому описанию через FAL.ai (с опциональными бэкендами OpenAI / xAI). |
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 |
Генерация аудио из текста (Text-to-Speech). |
vision |
vision_analyze |
Анализ изображений через модели, поддерживающие компьютерное зрение. |
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 |
Полный набор — 38 инструментов. Используется по умолчанию для интерактивных CLI-сессий. |
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, содержащий все инструменты этого сервера.
[code]
# config.yaml
mcp_servers:
github:
command: npx
args: ["-y", "@modelcontextprotocol/server-github"]
[/code]
Это создаёт набор mcp-github, на который можно ссылаться в --toolsets или в конфигурациях платформ.
Наборы инструментов плагинов¶
Плагины могут регистрировать собственные наборы инструментов через ctx.register_tool() во время инициализации плагина. Они отображаются рядом со встроенными наборами и могут быть включены/отключены тем же способом.
Пользовательские наборы инструментов¶
Определите собственные наборы инструментов в config.yaml для создания пакетов под конкретные проекты:
[code]
toolsets:
- hermes-cli
custom_toolsets:
data-science:
- file
- terminal
- code_execution
- web
- vision
[/code]
Подстановочные знаки¶
allили*— раскрывается во все зарегистрированные наборы инструментов (встроенные + динамические + плагины)
Связь с командой hermes tools¶
Команда hermes tools предоставляет curses-интерфейс для включения или отключения отдельных инструментов для каждой платформы. Это работает на уровне инструментов (более детально, чем наборы) и сохраняется в config.yaml. Отключённые инструменты фильтруются, даже если их набор включён.
См. также: Справочник по инструментам для полного списка отдельных инструментов и их параметров.