Тематай · Лабкаталог продуктовых идей
← Каталог идей IDEA-05 · infrastructure

Клиентские окружения + агенты

Как правильно посадить каждого клиента в собственную изолированную песочницу, где живут его агенты: Yelp-ассистент (леды + follow-up), GBP-монитор отзывов и SEO/блог-агент для его сайта. Один клиент — одна среда, никто друг друга не видит и не мешает.

Проектируем Docker на клиента Yelp · сессия GBP · API Site · WP/git owner-in-the-loop

01 Изоляция: один клиент = одна песочница

  • Контейнер на клиента. Каждому — свой Docker-контейнер (позже на облачном флоте). Внутри: браузер-профиль с сессией Yelp, конфиг агента, зашифрованный сейф доступов, воркер.
  • Полная изоляция. Свой network namespace и том. Клиенты не видят друг друга; блок одного не роняет остальных.
  • Свой IP на клиента (критично). У каждого контейнера отдельный исходящий IP/прокси. Иначе Yelp видит десятки клиентов с одного IP и банит — самый частый провал.
  • Оркестратор. Наш backend поднимает/гасит контейнеры, раздаёт задачи по расписанию, знает какой клиент в каком контейнере.
  • Источник правды. Центральный multi-tenant Postgres+pgvector: клиенты, доступы (шифр), расписания, логи ледов/отзывов, очередь подтверждений.
  • Доставка. Подтверждения владельца — в его личном Telegram-боте (наша готовая модель «команда-в-Telegram»).

02 Схема системы

Наверху — общий control plane. Внизу — изолированные песочницы клиентов. Внутри одной раскрыты её агенты.

CONTROL PLANE · наш backend Postgres + pgvector · оркестратор контейнеров · планировщик задач сейф доступов (шифр) · очередь подтверждений · логи Владелец · Telegram подтверждает ответы ПЕСОЧНИЦЫ КЛИЕНТОВ (изолированы) Клиент B свой контейнер · свой IP Клиент C свой контейнер · свой IP КОНТЕЙНЕР КЛИЕНТА A · свой IP/прокси · сейф доступов YELP-АССИСТЕНТ · браузер разовый логин владельца → сессия леды: первый ответ + follow-up ×4 (+1ч / +1д / +3д / +7д, стоп при ответе) отзывы: черновик по тону → подтверждение ⚠ против ToS Yelp — см. риски GBP-АГЕНТ · официальный API отзывы → тон → ответ (updateReply) + посты OAuth business.manage · без риска SEO / БЛОГ-АГЕНТ · сайт клиента WordPress REST / git · блоги, meta, schema + счётчик визитов (Umami/GA4) 🔐 Сейф доступов (шифр) Yelp-сессия · Google OAuth · site app-password ВНЕШНИЕ СЕРВИСЫ → Yelp Google Сайт на подтверждение Один контейнер = один клиент. Blast-radius ограничен: блок/капча у одного не задевает других.

03 Как даём доступ к каналам клиента

КаналКак получаем доступРиск/нюанс
Yelp (леды+отзывы)Разовый логин владельца в Yelp for Business внутри контейнера → сессия хранится в сейфепротив ToS нужен свой IP, темп, подтверждение
Google (GBP)OAuth business.manage — владелец даёт права нашему приложениючисто одобрение API ~2 нед., домен почты = домен сайта
Сайт · WordPressREST API + application password (спец-пользователь)ок самый частый кейс SMB
Сайт · статик/кастомgit-доступ или deploy-hook, агент коммитит контентзависит как у USC на Cloudflare
Сайт · конструкторыWix/Squarespace/GoDaddy — слабые APIчастично иногда только вручную — честно клиенту
Аналитика визитовСтавим сниппет: self-hosted Umami/Plausible или GA4ок видим трафик мы и владелец

04 Риски и как держим

Yelp: автоматизация ледов и отзывов против правил

Публичного API у Yelp нет ни для ответов на отзывы, ни для сообщений с лидами — только браузер залогиненного дашборда, а это запрет ботов по ToS. Follow-up ×4 к не ответившим — вдвойне рискованно (похоже на спам, ловит фильтры). Держим: отдельный IP на клиента, человеческий темп, обязательное подтверждение владельцем, скромный график follow-up, стоп при ответе. В лоб авто-рассылку не делаем. Риск проговариваем клиенту.

Общий IP = массовый бан

Если все контейнеры ходят с одного адреса, Yelp/Google быстро свяжут аккаунты. Держим: отдельный исходящий IP/прокси на контейнер — обязательное условие, не опция.

Секреты клиентов

Мы держим доступы к чужим Yelp/Google/сайтам — это ответственность. Держим: шифрованный сейф на клиента, секреты не в логи, least-privilege (узкий OAuth-scope, app-password вместо мастер-пароля), изоляция контейнеров.

05 Внедрение по фазам

GBP-агент отзывов (чистый API) + SEO/блог на WordPress

Стартуем с безопасного: Google-отзывы через API на USC как флагман, и SEO-агент если у клиента WordPress. Никакого риска ToS.

фаза 1

Yelp-отзывы через браузер — пилот 1 клиент

Разовый логин, черновик ответа, подтверждение владельцем. Отдельный IP, человеческий темп. Замеряем риск.

фаза 2

Yelp-леды + follow-up ×4 — осторожный пилот

Только после того как отзывы прошли гладко. Консервативный график, стоп при ответе, персонализация.

фаза 3

Контейнеризация на клиента + оркестратор

Docker-песочница на клиента, свой IP, сейф, control plane. Онбординг-пайплайн. Берём 3 платящих.

фаза 4

Переезд на облачный флот

С Mac Mini на дешёвый флот (Hetzner/Fly.io) по мере роста числа клиентов и IP.

фаза 5
← Вернуться в каталог