Инструменты (Tools)

Инструменты (Tools)

Инструменты (Tools) — это функции, расширяющие возможности агента Hermes Agent. Встроенный реестр включает десятки инструментов: от поиска в интернете и работы с файлами до автоматизации браузера и управления умным домом. Все инструменты сгруппированы в логические наборы (toolsets), которые можно включать и отключать для каждой платформы.

Основные категории

  • Веб (Web)web_search, web_extract: поиск в интернете и извлечение содержимого страниц.
  • Терминал и файлыterminal, process, read_file, patch: выполнение команд и манипуляции с файлами.
  • Браузер (Browser)browser_navigate, browser_snapshot, browser_vision: автоматизация браузера с текстовой и визуальной поддержкой.
  • Медиа (Media)vision_analyze, image_generate, text_to_speech: мультимодальный анализ и генерация.
  • Оркестрация агентовtodo, clarify, execute_code, delegate_task: планирование и делегирование задач.
  • Память (Memory)memory, session_search: постоянная память и поиск по сессиям.
  • Автоматизацияcronjob, send_message: запланированные задачи и отправка сообщений.
  • Интеграции — Home Assistant, MCP-серверы, RL-обучение.

Управление инструментами

Toolsets — это группы инструментов, которые можно включать и отключать. Управление выполняется через CLI:

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

# Показать все инструменты и их статус
hermes tools list

# Включить конкретный toolset
hermes tools enable NAME

# Отключить конкретный toolset
hermes tools disable NAME

# Запуск с определёнными toolsets
hermes chat --toolsets "web,terminal"

Важно: изменения toolsets вступают в силу только после /reset (новая сессия). Они НЕ применяются в текущей беседе, чтобы сохранить prompt caching.

Полная таблица Toolsets

Toolset Что включает По умолчанию
web Поиск в интернете и извлечение содержимого (web_search, web_extract) вкл
search Только веб-поиск (подмножество web) вкл
browser Автоматизация браузера (Browserbase, Camofox или локальный Chromium) вкл
terminal Команды shell и управление процессами вкл
file Чтение, запись, поиск и патч файлов вкл
code_execution Изолированное выполнение Python вкл
vision Анализ изображений вкл
image_gen Генерация изображений ИИ вкл
tts Преобразование текста в речь вкл
skills Просмотр и управление навыками вкл
memory Постоянная кросс-сессионная память вкл
session_search Поиск по прошлым беседам вкл
delegation Делегирование задач субагентам (delegate_task) вкл
cronjob Управление запланированными задачами вкл
clarify Задавать уточняющие вопросы пользователю вкл
messaging Отправка сообщений между платформами (send_message) вкл
todo Планирование и отслеживание задач внутри сессии вкл
rl Инструменты обучения с подкреплением (Reinforcement Learning) выкл
moa Mixture of Agents — смешанная оркестрация моделей выкл
homeassistant Управление умным домом через Home Assistant выкл

Терминальные бэкенды

Инструмент terminal поддерживает несколько сред выполнения: local (по умолчанию), docker (изолированные контейнеры), ssh (удалённый сервер), singularity (HPC-контейнеры), modal (серверless), daytona и vercel_sandbox (облачные песочницы).

Конфигурация

Настройка выполняется в ~/.hermes/config.yaml:

terminal:
  backend: local  # или: docker, ssh, singularity, modal
  cwd: "."
  timeout: 180

Для контейнерных бэкендов настраиваются ресурсы (CPU, память, диск) и безопасность. Управление фоновыми процессами — через инструмент process с действиями list, poll, wait, log, kill.