Hermes Stack: рой AI-агентов для оперативного контроля проектов
Услуги
- ai-development
- complex-systems
Стек
- Docker Compose
- Hatchet
- Claude Code SDK
- BrowserUse Cloud
- CDP
- Telegram Bot API
- systemd
- SOCKS5/Xray
Веб Штурм — IT-услуги и DevOps мониторинг. Hermes Stack: 9 docker-сервисов и 30+ AI-агентов, автоматический мониторинг 24/7 сайтов клиентов с Telegram-сводкой. С 2026-04-23. Получаем оперативный контроль 5+ проектов одновременно и предотвращаем SEO-просадки до их заметности пользователю.
9 Docker-сервисов и 30+ AI-агентов, ежедневно проверяющих сайты клиентов и присылающих сводку в Telegram. Внутренний продукт Веб Штурма — мы используем его сами для оперативного контроля проектов и тот же стек разворачиваем у клиентов как managed-service.
Контекст
После серии инцидентов на ozsm.ru стало очевидно: ручной мониторинг не работает. Форма пропустила подозрительную активность, при правке JSON-LD сломалась структура разметки, SEO-просадка обнаружилась с опозданием на неделю. При управлении 5+ сайтами клиентов одновременно обнаружить проблему раньше чем её заметит пользователь — физически невозможно без автоматики. Реактивная поддержка — это потеря рейтинга, конверсий и репутации у клиента.
Решение — не cron с curl-ом, а полноценный AI-агент, который читает логи, интерпретирует аномалии, сравнивает состояние с предыдущим днём и формулирует human-readable summary на русском языке прямо в Telegram. Агент понимает контекст: не просто «сертификат истекает через 14 дней», а «сертификат *.cons.ud63.online истекает через 14 дней, затронет 3 production-домена клиента». Так родился Hermes Stack: оркестрация агентов как production-сервис, а не скрипт в crontab.
Стек задумывался модульным с первого дня: каждый агент — отдельный сервис, способный падать и рестартовать независимо от других. Общая шина уведомлений и единый workflow-движок делают всю оркестрацию предсказуемой и наблюдаемой. Мы запустили его для собственных нужд, убедились в надёжности за несколько недель непрерывной работы — и теперь разворачиваем у клиентов как managed-service.
Какие вызовы решены
Как делать ежедневный SEO-snapshot без браузерной фермы? BrowserUse Cloud REST-API для удалённого управления браузером в связке с profile-relay — собственным сервисом инъекции куки через Chrome DevTools Protocol. Я.Метрика, Я.Вебмастер, Search Console — всё доступно агентам через аутентифицированные сессии без ручного логина.
Как мониторить uptime 10+ сайтов одной точкой управления? site-monitor — сервис с настраиваемыми проверками на каждый домен: HTTP-статус, latency, content-match (есть ли нужный текст на странице), срок SSL-сертификата. Конфиг через ENV, результаты в единую шину уведомлений.
Как агент работает из РФ, когда OpenAI возвращает 403? SOCKS5→HTTP мост на базе sing-box/xray с выходом через арендованный сервер в Европе. Для агентов мост прозрачен — они видят обычный HTTP proxy. Конфиг хранится в ENV, регион выхода меняется без пересборки контейнера.
Как принимать Telegram-команды без отдельного бота-сервера? plugin-telegram MCP — пользователь пишет команду в чат, агент читает её через MCP-инструмент и отвечает напрямую. Для автономных задач агент ставит emoji-реакцию как подтверждение принятия. Никакого webhook-сервера, никаких ngrok-тоннелей.
Как обеспечить heartbeat и self-healing при падении сервисов? hermes-heartbeat — выделенный watchdog-сервис, который мониторит остальные 8 контейнеров через Docker socket. При падении — рестарт, при повторном сбое — алерт в Telegram с деталями ошибки. Сам heartbeat под контролем systemd.
Как менять конфигурацию агентов без downtime? Все сервисы читают конфиг из ENV и общего /config volume. Изменение переменной — SIGHUP, сервис применяет новый конфиг без остановки. Для критических обновлений — rolling restart одного контейнера без остановки всего стека.
Как избежать лавины LLM-вызовов при росте числа агентов? Prompt caching Anthropic API — общие системные промпты кешируются на стороне провайдера, не отправляются повторно. Каждый worker имеет специализированный prompt-template под свою задачу: агент SEO-мониторинга не несёт контекст агента uptime. Это снижает стоимость и latency одновременно.
Подход
-
Modular docker-compose — упал один сервис, остальные работают. Каждый агент в своём контейнере с явными healthcheck и restart-policy. Зависимости между сервисами декларативны:
depends_onсcondition: service_healthy. -
Единая шина уведомлений (notifications-worker) — все агенты публикуют события в одну очередь. notifications-worker роутит их по каналам: Telegram для срочных, email-дайджест для ежедневной сводки, webhook для интеграции с внешними системами клиента. Агент не знает, как именно дойдёт сообщение.
-
Hatchet как workflow engine — retry с exponential backoff, DAG для long-running операций, визуальный UI для просмотра истории запусков и ошибок. Отдельные задачи с простым расписанием остаются на systemd timers — не всё нужно заворачивать в DAG.
-
CDP вместо REST API для всего связанного с Я.Браузером — REST API Яндекса не позволяет инжектировать cookies сессии. Chrome DevTools Protocol даёт прямой доступ к хранилищу сессий браузера. profile-relay v0.2.1 проксирует CDP с нужными заголовками (
Host: localhostдля Chrome rebind,AF_INET6для IPv6-only Docker-сетей). -
profile-relay v0.2.1 — собственный микросервис для проброса профилей браузера в Docker-контейнеры. Решает проблему, когда Яндекс Браузер блокирует прямой доступ к SQLite с куками: только CDP
Storage.getCookiesс--remote-allow-origins=*работает надёжно. -
Разделение по сложности — systemd timer для cron-задач с фиксированным расписанием и простой логикой (ежедневный снимок), Hatchet для DAG с разветвлениями, retry и параллельными шагами (SEO-аудит из 5 проверок). Правильный инструмент для каждой задачи.
Результат
- 9 Docker-сервисов работают в режиме 24/7 без ручного вмешательства — с апреля 2026 ни одного незамеченного падения
- 30+ AI-агентов обслуживают одновременно разные задачи: SEO-мониторинг, uptime-чеки, дайджесты, Telegram-интерфейс для команды
- Ежедневные SEO-снимки 5 сайтов клиентов — состояние разметки, Core Web Vitals, статус индексации Яндекс/Google
- Uptime monitoring 10+ доменов с проверкой HTTP-статуса, latency, content-match и срока SSL-сертификата
- SEO-просадку ozsm.ru обнаружили за 1 день вместо 1-2 недель в режиме ручного мониторинга — это реальный кейс из практики
- Все инциденты с автоматическим рестартом фиксируются в Telegram-логе с контекстом, что ускоряет post-mortem разбор
Эффект для бизнеса
- Меньше реактивности — узнаём о проблемах за часы, а не дни. Инцидент обнаруживается до того, как клиент написал жалобу.
- Бюджет на support снижен — 80% инцидентов отлавливаются автоматически. IT-команда занимается устранением причин, а не поиском проблем.
- Дополнительный revenue stream — managed-service: разворачиваем Hermes Stack у клиентов как отдельную услугу с custom workers под их задачи.
Что использовали
Docker Compose + 9 сервисов в единой оркестрации без Kubernetes-сложности. Hatchet TS SDK v1 как workflow engine с UI, retry и DAG. Claude Code SDK для AI-агентов с prompt caching. BrowserUse Cloud REST для удалённого управления браузером. CDP (Chrome DevTools Protocol) для cookie-injection в Яндекс Браузер. plugin-telegram MCP для двусторонней связи без webhook-сервера. systemd timers для простых cron-задач. sing-box/xray для SOCKS5→HTTP моста при работе из РФ-сети с ограничениями.
Что мы можем сделать у вас
Если у вас 5+ проектов, web-сайтов или внутренних сервисов с потребностью в ежедневном здоровье-чеке — мы развернём Hermes Stack у вас за 1-2 недели. Custom workers под ваши задачи: мониторинг лидов в CRM, snapshots отчётности в SaaS, регулярные backup-проверки. Стек остаётся у вас на инфраструктуре, вы видите всё через Hatchet UI и Telegram. Написать нам
Часто задаваемые вопросы
Что такое Hermes Stack и как он отличается от классического мониторинга?
Сколько стоит развернуть Hermes Stack под клиента?
Не сломает ли AI-агент прод-системы клиента?
Когда Hermes Stack не подходит?
Похожая задача?
Расскажите контекст — подскажу, что и как делать.
Обсудить похожий проект →