Рой AI-агентов для оперативного контроля проектов: архитектура Hermes Stack

Веб Штурм
  • AI agents
  • Hermes Stack
  • DevOps
  • Telegram
  • BrowserUse

Hermes Stack — это наш внутренний рой AI-агентов на сервере 185.179.188.145, который ежедневно делает то, что классически требует круглосуточного дежурства: снимает SEO-метрики, опрашивает CRM, рассылает уведомления, рендерит PDF, фиксирует регрессии. Девять docker-сервисов, координатор в Telegram, единая шина уведомлений — и три пары глаз, которые никогда не спят.

Контекст

Когда команда из одного-двух разработчиков ведёт девять параллельных проектов, ручной мониторинг превращается в бутылочное горлышко: «забыл проверить PSI», «не заметил, что cron упал», «новая регрессия два дня висит без реакции». Альтернатива в 2026 году — рой специализированных агентов, каждый из которых отвечает за один тонкий слой ответственности и сообщает о проблеме в общий чат.

Hermes Stack — наша реализация этой идеи. Не один большой «AI-сотрудник», а набор узких сервисов, которые легко перезапускать, обновлять и заменять.

Архитектура: 9 docker-сервисов

Stack описан в одном docker-compose.yml. Сервисы делятся на три уровня:

Координация (1 сервис)

Сборщики данных (2 сервиса)

Рутина (4 сервиса)

Инфра (2 сервиса)

Browser-harness: проблема и решение

Я.Метрика и Я.Вебмастер не дают полноценного API на «тонкие» метрики (поведенческие, источники переходов в реальном времени). Парсить через обычный HTTP-клиент бесполезно — там сильная защита от ботов.

Решение: BrowserUse Cloud + CDP (Chrome DevTools Protocol). BU Cloud держит подогретый профиль с залогиненными аккаунтами Яндекс. Наш сервис browser-harness/ ходит к нему через REST, открывает нужную страницу, дожидается рендера и снимает данные через CDP-выборки. CSV/JSON ложится в общую файловую шару, дальше его подбирает seo-ozsm/.

Cron-расписание выбрано не случайно: 09:10 MSK для Метрики, 09:22 MSK для Вебмастера. К этому моменту вчерашний день у Яндекса уже закрыт и стабилен, но рабочий день в РФ только начинается — успеваем разослать утреннюю сводку.

Telegram как пользовательский интерфейс

Бот @hermesdm64bot — единственный «UI» Hermes Stack. Никаких веб-дашбордов, никаких JIRA. Утром приходит сводка вида «PSI ozsm.ru: mobile 100/100 без изменений, новых алертов нет». При регрессии — отдельное сообщение с цифрами «было/стало» и ссылкой на отчёт.

Telegram выбран из-за нативной поддержки markdown, кодовых блоков и длинных сообщений. Для канала в гос-аудитории есть параллельная интеграция через MAX (российский мессенджер с серверами в РФ, для 152-ФЗ-чувствительных сценариев).

Что мы из этого вынесли

Ссылки