Hermes Agent включает два веб-инструмента, вызываемых моделью, на базе нескольких провайдеров:
web_search — поиск в интернете с возвратом ранжированных результатов
web_extract — получение и извлечение читаемого контента с одного или нескольких URL (со встроенной поддержкой глубокого обхода, если бэкенд это предоставляет)
Оба инструмента настраиваются через единый выбор бэкенда. Провайдеры выбираются через hermes tools или задаются напрямую в config.yaml. Возможности рекурсивного обхода (Firecrawl/Tavily) доступны через web_extract, а не как отдельный инструмент web_crawl.
Бэкенды
Провайдер
Переменная окружения
Поиск
Извлечение
Обход
Бесплатный тариф
Firecrawl (по умолчанию)
FIRECRAWL_API_KEY
✔
✔
✔
500 кредитов/мес
SearXNG
SEARXNG_URL
✔
—
—
✔ Бесплатно (самостоятельное размещение)
Tavily
TAVILY_API_KEY
✔
✔
✔
1 000 поисков/мес
Exa
EXA_API_KEY
✔
✔
—
1 000 поисков/мес
Parallel
PARALLEL_API_KEY
✔
✔
—
Платный
Разделение по возможностям: вы можете использовать разных провайдеров для поиска и извлечения независимо — например, SearXNG (бесплатно) для поиска и Firecrawl для извлечения. См. Раздельную настройку ниже.
tip Подписчики Nous
Если у вас есть платная подписка Nous Portal, веб-поиск и извлечение доступны через Tool Gateway через управляемый Firecrawl — ключ API не требуется. Выполните hermes tools, чтобы включить.
Как web_extract обрабатывает длинные страницы
Бэкенды возвращают необработанную Markdown-разметку страниц, которая может быть огромной (темы форумов, сайты документации, новостные статьи со встроенными комментариями). Чтобы сохранить окно контекста управляемым и снизить затраты, web_extract пропускает возвращаемый контент через вспомогательную модель web_extract перед передачей агенту. Поведение определяется исключительно размером:
Размер страницы (символов)
Что происходит
Менее 5 000
Возвращается как есть — без вызова LLM, полная Markdown-разметка достигает агента
5 000 – 500 000
Однопроходное суммирование через вспомогательную модель web_extract, ограниченное ~5 000 символов вывода
500 000 – 2 000 000
Разбивка на части: разделяется на фрагменты по 100 тыс. символов, суммируется каждый параллельно, затем синтезируется итоговое резюме (~5 000 символов)
Более 2 000 000
Отклоняется с подсказкой использовать web_crawl с инструкциями по целевому извлечению или более конкретным источником
Резюме сохраняет цитаты, блоки кода и ключевые факты в их исходном форматировании — это компрессор контента, а не парафразёр. Если суммирование не удаётся или истекает по времени, Hermes возвращает первые ~5 000 символов необработанного контента вместо бесполезной ошибки.
Какая модель выполняет суммирование?
Вспомогательная задача web_extract. По умолчанию (auxiliary.web_extract.provider: "auto") это ваша основная чат-модель — тот же провайдер, та же модель, что и в hermes model. Это подходит для большинства конфигураций, но на дорогих рассуждающих моделях (Opus, MiniMax M2.7 и т.д.) каждое извлечение длинной страницы добавляет значительные затраты.
Чтобы перенаправить суммирование извлечений на дешёвую быструю модель независимо от основной:
# ~/.hermes/config.yamlauxiliary:web_extract:provider:openroutermodel:google/gemini-3-flash-previewtimeout:360# секунды; увеличьте, если возникают тайм-ауты суммирования
Или выберите интерактивно: hermes model → Configure auxiliary models → web_extract.
Если вам нужен именно необработанный, несуммированный контент страницы — например, вы парсите структурированную страницу, где LLM-резюме может пропустить важные поля — используйте вместо этого browser_navigate + browser_snapshot. Инструмент браузера возвращает живое дерево доступности без перезаписи вспомогательной моделью (с учётом его собственного лимита снимка в 8 000 символов для огромных страниц).
Настройка
Быстрая настройка через hermes tools
Выполните hermes tools, перейдите в раздел Web Search & Extract и выберите провайдера. Мастер запросит необходимый URL или ключ API и запишет его в вашу конфигурацию.
hermestools
Firecrawl (по умолчанию)
Полнофункциональный поиск, извлечение и обход. Рекомендуется для большинства пользователей.
Когда FIRECRAWL_API_URL установлен, ключ API опционален (отключите аутентификацию сервера через USE_DB_AUTHENTICATION=false).
SearXNG (бесплатно, самостоятельное размещение)
SearXNG — это уважающий конфиденциальность метапоисковый движок с открытым исходным кодом, который агрегирует результаты из более чем 70 поисковых систем. Ключ API не требуется — просто укажите Hermes на работающий экземпляр SearXNG.
SearXNG — только для поиска — web_extract (включая его режимы обхода) требует отдельного провайдера извлечения.
Вариант A — Самостоятельное размещение с Docker (рекомендуется)
Это даёт вам частный экземпляр без ограничений скорости.
caution Публичные экземпляры
Публичные экземпляры имеют ограничения скорости, переменное время работы и могут в любой момент отключить формат JSON. Для производственного использования настоятельно рекомендуется самостоятельное размещение.
Объединение SearXNG с провайдером извлечения
SearXNG занимается поиском; вам нужен отдельный провайдер для web_extract (включая любые режимы глубокого обхода). Используйте раздельные ключи:
# ~/.hermes/config.yamlweb:search_backend:"searxng"extract_backend:"firecrawl"# или tavily, exa, parallel
С такой конфигурацией Hermes использует SearXNG для всех поисковых запросов и Firecrawl для извлечения URL — сочетая бесплатный поиск с качественным извлечением.
Tavily
Оптимизированный для AI поиск, извлечение и обход с щедрым бесплатным тарифом.
# ~/.hermes/.envTAVILY_API_KEY=tvly-your-key-here
Получите ключ на app.tavily.com. Бесплатный тариф включает 1 000 поисков/месяц.
Exa
Нейронный поиск с семантическим пониманием. Хорош для исследований и поиска концептуально связанного контента.
# ~/.hermes/.envEXA_API_KEY=your-exa-key-here
Получите ключ на exa.ai. Бесплатный тариф включает 1 000 поисков/месяц.
Parallel
AI-нативный поиск и извлечение с возможностями глубокого исследования.
Используйте разных провайдеров для поиска и извлечения. Это позволяет комбинировать бесплатный поиск (SearXNG) с платным провайдером извлечения или наоборот:
# ~/.hermes/config.yamlweb:search_backend:"searxng"# используется web_searchextract_backend:"firecrawl"# используется web_extract (и его режимы глубокого обхода)
Когда раздельные ключи пусты, оба переходят к web.backend. Когда web.backend также пуст, бэкенд определяется автоматически по наличию ключа API/URL.
Для страниц, где суммирование — неподходящий инструмент, используйте browser_navigate
Опциональный навык: searxng-search
Для агентов, которым нужно использовать SearXNG напрямую через curl (например, как резервный вариант, когда набор веб-инструментов недоступен), установите опциональный навык searxng-search: