Инструменты — это функции, расширяющие возможности агента. Они организованы в логические наборы инструментов, которые можно включать и отключать для каждой платформы.
Доступные инструменты
Hermes поставляется с обширным встроенным реестром инструментов, охватывающим веб-поиск, автоматизацию браузера, выполнение терминала, редактирование файлов, память, делегирование, обучение RL, доставку сообщений, Home Assistant и многое другое.:::примечание
Межсессионная память Honcho доступна как плагин поставщика памяти (plugins/memory/honcho/), а не как встроенный набор инструментов. См. Плагины для установки.
Категории высокого уровня:
Категория
Примеры
Описание
Интернет
web_search, web_extract
Выполните поиск в Интернете и извлеките содержимое страницы.
Шлюз инструментов Nous
Платные подписчики Nous Portal могут использовать веб-поиск, генерацию изображений, TTS и автоматизацию браузера через Tool Gateway — отдельные ключи API не требуются. Запустите «модель Гермеса», чтобы включить ее, или настройте отдельные инструменты с помощью «инструментов Гермеса».
Использование наборов инструментов
# Use specific toolsets
hermeschat--toolsets"web,terminal"# See all available tools
hermestools
# Configure tools per platform (interactive)
hermestools
Общие наборы инструментов включают в себя «web», «search», «terminal», «file», «browser», «vision», «image_gen», «moa», «skills», «tts», «todo», «memory», «session_search», «cronjob», «code_execution», «делегирование», «clarify», «homeassistant», «messaging». Spotify, Discord, Discord_admin, Отладка, Safe и rl.
Полный набор инструментов см. в Справочнике по наборам инструментов, включая предустановки платформы, такие как hermes-cli, hermes-telegram и динамические наборы инструментов MCP, такие как mcp-<server>.
Серверные части терминала
Инструмент терминала может выполнять команды в различных средах:
Бэкэнд
Описание
Вариант использования
местный
Запустить на своем компьютере (по умолчанию)
Разработка, доверенные задачи
докер
Изолированные контейнеры
Безопасность, воспроизводимость
сш
Удаленный сервер
Песочница: держите агента подальше от собственного кода
сингулярность
Контейнеры HPC
Кластерные вычисления, без корней
модальный
Облачное исполнение
Бессерверное масштабирование
дайтона
Рабочая среда облачной песочницы
Постоянные удаленные среды разработки
vercel_sandbox
Облачная микроVM Vercel Sandbox
Облачное выполнение с сохранением файловой системы на основе моментальных снимков
Конфигурация
# In ~/.hermes/config.yamlterminal:backend:local# or: docker, ssh, singularity, modal, daytona, vercel_sandboxcwd:"."# Working directorytimeout:180# Command timeout in seconds
Один постоянный контейнер, общий для всего процесса. Hermes запускает один долгоживущий контейнер при первом использовании («docker run -d... Sleep 2h») и направляет каждый терминал, файл и вызов «execute_code» через «docker exec» в этот же контейнер. Изменения рабочего каталога, установленные пакеты, настройки среды и файлы, записанные в /workspace, все переносится от одного вызова инструмента к другому через подагенты /new, /reset и delegate_task в течение всего срока службы процесса Hermes. Контейнер останавливается и удаляется при выключении.
Это означает, что серверная часть Docker ведет себя как постоянная виртуальная машина в песочнице, а не как новый контейнер для каждой команды. Если вы один раз pip install foo, он будет там до конца сеанса. Если вы cd /workspace/project, последующие вызовы ls увидят этот каталог. См. Конфигурация → Docker Backend для получения полной информации о жизненном цикле и флага container_persistent, который контролирует, сохраняются ли /workspace и /root после перезапуска Hermes.
SSH-бэкэнд
Рекомендуется в целях безопасности — агент не может изменять собственный код:
terminal:backend:ssh
# Set credentials in ~/.hermes/.envTERMINAL_SSH_HOST=my-server.example.com
TERMINAL_SSH_USER=myuser
TERMINAL_SSH_KEY=~/.ssh/id_rsa
Выполните аутентификацию со всеми тремя из VERCEL_TOKEN, VERCEL_PROJECT_ID и VERCEL_TEAM_ID. Эта настройка токена доступа является поддерживаемым путем для развертываний и обычных длительных процессов Hermes на Render, Railway, Docker и подобных хостах. Поддерживаемые среды выполнения: node24, node22 и python3.13; По умолчанию Hermes использует /vercel/sandbox в качестве корня удаленной рабочей области.
Для разовых местных разработок Hermes также принимает недолговечные токены Vercel OIDC:
При использовании container_persistent: true Hermes использует снимки Vercel для сохранения состояния файловой системы при воссоздании в песочнице для одной и той же задачи. Сюда могут входить синхронизированные с Hermes учетные данные, навыки и файлы кэша внутри песочницы. Снимки не сохраняют действующие процессы, пространство PID или ту же самую идентичность активной изолированной программной среды.
Команды фонового терминала используют общий нелокальный поток процессов Hermes: создание, опрос, ожидание, журналирование и уничтожение работают с помощью обычного инструмента обработки, пока «песочница» жива, но Hermes не обеспечивает встроенное восстановление отсоединенного процесса Vercel после очистки или перезапуска.
Оставьте container_disk неустановленным или оставьте общее значение по умолчанию 51200; Пользовательский размер диска не поддерживается для Vercel Sandbox и не позволит выполнить диагностику или создание серверной части.
Ресурсы контейнера
Настройте ЦП, память, диск и постоянство для всех серверных частей контейнера:
terminal:backend:docker# or singularity, modal, daytona, vercel_sandboxcontainer_cpu:1# CPU cores (default: 1)container_memory:5120# Memory in MB (default: 5GB)container_disk:51200# Disk in MB (default: 50GB)container_persistent:true# Persist filesystem across sessions (default: true)
Если container_persistent: true, установленные пакеты, файлы и настройки сохраняются между сеансами.
Безопасность контейнера
Все серверные части контейнеров работают с усилением безопасности:
Корневая файловая система только для чтения (Docker)
Все возможности Linux отключены
Никакого повышения привилегий
Ограничения ПИД (256 процессов)
Полная изоляция пространства имен.
Постоянное рабочее пространство через тома, недоступный для записи корневой слой.
Docker может дополнительно получить явный список разрешений env через terminal.docker_forward_env, но пересылаемые переменные видны командам внутри контейнера и должны рассматриваться как открытые для этого сеанса.
Управление фоновыми процессами
Запускайте фоновые процессы и управляйте ими:
terminal(command="pytest -v tests/",background=true)# Returns: {"session_id": "proc_abc123", "pid": 12345}# Then manage with the process tool:process(action="list")# Show all running processesprocess(action="poll",session_id="proc_abc123")# Check statusprocess(action="wait",session_id="proc_abc123")# Block until doneprocess(action="log",session_id="proc_abc123")# Full outputprocess(action="kill",session_id="proc_abc123")# Terminateprocess(action="write",session_id="proc_abc123",data="y")# Send input
Режим PTY (pty=true) включает интерактивные инструменты CLI, такие как Codex и Claude Code.
Поддержка Судо
Если для команды требуется sudo, вам будет предложено ввести пароль (кэшированный для сеанса). Или установите SUDO_PASSWORD в ~/.hermes/.env.:::предупреждение
На платформах обмена сообщениями, если sudo завершается неудачно, выходные данные включают подсказку о добавлении SUDO_PASSWORD к ~/.hermes/.env.