← все проекты

ПЦ Директ кабинет (AI-сервис контекстной рекламы)

Рабочее место директолога Пульс Цен: запуск Директа по брифу, аналитика кампаний, сбор информации (вордстат/конкуренты), статистика и отчёты. ИИ-пайплайн подготовки + человеческий журнал всех изменений. Рамки: только ПЦ.

готовS1 · Фундамент5/5

Цель: Монорепо, схема БД, auth+RBAC, стейт-машина пайплайна, деплой на cfru по IP

Монорепо: db (Prisma/Postgres, 20+ моделей), api (Fastify+JWT+RBAC), workers (BullMQ), web (Next 15)
✓ Скелет собран и компилируется. Схема: Org/User/роли, Client/Brief, PipelineRun/Step, Campaign/AdGroup/Ad, ChangeLog, ErrorFix, OptimizationAction, MetricSnapshot, QualityThreshold
feature
Стейт-машина пайплайна: 8 шагов launch с фиксацией в PipelineStep + ChangeLog
✓ Воркер ведёт шаги, пишет вход/выход/время/ошибки; waiting_user при гейтах. Обработчики шагов — каркасы с контрактами (реализация по S3-S6)
feature
Монитор качества: пороги ОКР из брифа (отказы/CTR/объём/позиция) + детектор нарушений
✓ QualityThreshold засеян из брифа, monitor-джоба каждые 4ч сравнивает снапшоты кодом (Compiled AI), нарушение -> ErrorFix + журнал
feature
UI: обзор, карточка клиента с пайплайном, журнал изменений, пороги, вход
✓ Next 15, тёмная тема, SSR через локальный api
feature
Деплой на cfru: docker postgres+redis, pm2 (api/worker/web), порт 3080 по IP
✓ LIVE http://80.90.184.203:3080 — docker dp-postgres/dp-redis, pm2 dp-api/dp-worker/dp-web, схема в БД, сид (владелец+12 порогов ОКР), ufw 3080 открыт, вход проверен
feature
В РАБОТЕS2 · Клиенты и стандартный бриф2/3

Цель: Заведение клиента, форма/загрузка брифа, подключение кабинетов

UI создания клиента и формы стандартного брифа (структура полей от продавца)
✓ LIVE: /clients/new + карточка клиента с формой брифа (9 полей-черновик до образца владельца), кнопки «Аудит сайта»/«Полный запуск по брифу» (заблокирована без брифа). Проверено E2E.
feature
Импорт брифа из docx + согласовать с владельцем эталонный формат брифа
Владелец 2026-07-23: образец брифа даст позже. Стартуем с формы-черновика, поля пересогласуем по образцу.
feature
Подключение кабинетов: OAuth Яндекс Директ + Метрика, хранение токенов (шифрование)
✓ Подключены реальные доступы ПЦ: кабинет Директа (общий, логин+токен, тот же токен для Вордстата) и Метрика ПЦ — перенесены с сервера LF в Connections (маскируются в UI). OAuth-флоу в один клик — отдельно, когда появится регистрация приложения.
feature
планS3 · Аудит сайта и AI-анализ бизнеса0/3

Цель: Гейт запуска: сайт не прошёл — РК не создаётся, клиенту документ рекомендаций

Чек-лист требований к посадочным (согласовать с владельцем) + краулер страниц
Чек-лист v1 составлен: docs/03_landing_checklist.md (5 групп, red=блокер/yellow=рекомендация, скоринг). У владельца есть свой — при получении смёржить. Остался краулер.
✓ Чек-лист v1 (docs/03) + краулер РАБОТАЕТ: 11 кодовых проверок (техника/аналитика/конверсия/юридика), скоринг, red-провал = клиент blocked + run waiting_user. E2E на myvision.su: балл 15, 3 блокера найдены верно. Осталось: LLM-оценка оффера, PageSpeed, тест формы, docx-отчёт.
⛔ Решение владельца 2026-07-23: автоаудит отложен — на посадочных клиента антибот-защита, краулер ловит блокировки. Код готов (v1, 11 проверок), выключен флагом AUDIT_ENABLED=false, шаг пропускается в пайплайне. Вернуться когда решим вопрос доступа (whitelist IP / ручной аудит).
feature
LLM-оценка посадочных против брифа (через AI_PROXY egress) + скачиваемый документ рекомендаций
⛔ Вместе с аудитом — отложено (антибот).
feature
AI-анализ бизнеса по сайту: ниша, ЦА, офферы, УТП -> BusinessAnalysis
feature
планS4 · Конкуренты и семантика0/3

Цель: Анализ конкурентов + вордстат-семантика с минусами

Анализ конкурентов: выдача/объявления, выводы для офферов
feature
Вордстат-интеграция (перенос yd-wordstat-expand из LeadForge): ключи, кластеры, охват; фолбэк запрещён
feature
Минус-слова и минус-площадки, нормы: поиск >=30 ключей/10-20к, РСЯ >=50 фраз
feature
планS5 · Объявления и создание РК0/3

Цель: Комбинаторные объявления и черновики кампаний в Директе

Генерация комбинаторных объявлений 7 заголовков + 3 текста, разные углы, 1 оффер = 1 группа
feature
Директ API: создание кампаний/групп/объявлений черновиками через v501 addResponsiveAds (не v5!)
feature
UTM, быстрые ссылки, уточнения, стратегии и бюджеты
feature
планS6 · Контроль качества, запуск, самоисправление0/3

Цель: QA-гейт, запуск с подтверждением бюджета, автофиксы

QA-чек перед запуском: детерминированный чек-лист + LLM-ревью текстов
feature
Гейт бюджета в UI (ок-трачу) и включение показов; таймер запуска <=30 мин
feature
Самоисправление: монитор модерации/ошибок API, ретраи со сменой промпта, эскалация после 3 попыток
feature
В РАБОТЕS7 · Метрики и непрерывная оптимизация13/21

Цель: ПРИОРИТЕТ: рабочее место = анализ и статистика живых кампаний. Reports API + Метрика ПЦ, дашборд статистики, отчёты

Сбор метрик: Директ Reports API + Метрика (отказы) -> MetricSnapshot ежедневно
Коллтрекинг подтверждён владельцем: Callibri (ConnType=calltracking, CALLIBRI_TOKEN).
✓ Полный цикл: Reports API + отказы + КОНВЕРСИИ по целям стратегии из Метрики (единый collectCampaignStats в packages/direct-api). Квирк: management-API целей не отдаёт часть целей (66531433) — фильтр убран, деградация: все цели одним запросом, при ошибке по одной с суммированием.
feature
Статистика по группам, объявлениям, фразам, площадкам и поисковым запросам (Reports API) + вкладки в кабинете
✓ LIVE: getBreakdownReport (5 уровней, Reports API CUSTOM/SEARCH_QUERY). Группы и объявления — колонки статистики, фразы — статистика+ставки, новые вкладки Запросы (1000 строк живых) и Площадки с периодом. Проверено на Брендовых запросах ПЦ.
feature
Импорт существующих кампаний из Директа в кабинет (campaigns.get -> привязка к клиенту, синк групп и объявлений)
✓ LIVE: GET /api/direct/campaigns (91 кампания кабинета) + POST import → Campaign в БД, дедуп по ydCampaignId. Owner-only: кабинет общий, специалистам ПЦ полный список не светим. UI на карточке клиента.
feature
Авто-оптимизации: минуса, ставки, чистка площадок, замена объявлений; valueBefore/After + deadline
feature
Подсказки ИИ директологу по аномалиям (роль специалиста из брифа)
feature
↑ Дашборд статистики кампаний ПЦ: расход/клики/CTR/отказы/конверсии по дням, сравнение с нормами
✓ LIVE: страница кампании — сводка 30 дней (расход/клики/показы/CTR/цена клика) + таблица по дням + «Обновить статистику» (Директ Reports API, upsert снапшотов). Проверено на 2 живых кампаниях ПЦ (Брендовые: ~43% CTR, ~1.9к/день). Отказы/конверсии — после подключения счётчика Метрики.
feature
Отчёт за период (неделя/месяц) для клиента: динамика, выводы, выгрузка
feature
↑ Вордстат-инструмент в кабинете: подбор фраз с частотностью по запросу директолога
✓ Дубль задачи выше — реализовано там же.
feature
Управление показами из кабинета: пауза/запуск кампании с подтверждением
✓ LIVE: кнопки «Остановить показы»/«Включить показы» на странице кампании (campaigns.suspend/resume), confirm-диалог, запись в журнал человеческим языком. Специалист+.
feature
Просмотр семантики кампании: фразы и минус-слова live из Директа
✓ LIVE: секция «Семантика» на странице кампании — keywords.get (до 10к фраз) + NegativeKeywords. Проверено: 270 фраз Брендовых.
feature
Пороги качества: изменяемые и добавляемые (CRUD + журнал)
✓ LIVE: правка значения инлайн (системные дефолты переопределяются копией организации), добавление новых порогов, удаление своих. Всё пишется в журнал.
feature
Метрика ПЦ: выбрать счётчик, создание целей через API, конверсии/отказы в статистику
✓ Счётчик 200476, отказы и конверсии ЛЬЮТСЯ (обе цели: 19 конверсий 21.07). Цель в стратегии теперь выпадающим списком целей. Осталось только: СОЗДАНИЕ новой цели в Метрике из кабинета.
feature
Вордстат-инструмент через API: подбор фраз с частотностью
✓ Страница «Подбор фраз»: базовые фразы + регионы (поиск по названиям) -> Вордстат API v4 (create/poll/delete, ретрай на building) -> таблица с частотностью, чекбоксы -> добавление выбранных фраз прямо в группу кампании. Проверено: «пульс цен» = 12588 показов/мес, 49 связанных.
feature
Редактор кампании: настройки (бюджет/минуса/запрещённые площадки) с сохранением в Директ
✓ LIVE: секция «Настройки кампании» — дневной бюджет, минус-фразы, запрещённые площадки редактируются и уходят campaigns.update; стратегия и счётчики показываются. Журнал человеческим языком.
feature
Редактор объявлений: правка заголовков/текстов, пауза/запуск объявления
✓ LIVE: группы с объявлениями (ads.get), правка Title/Title2/Text -> ads.update (с предупреждением о перемодерации), пауза/включение объявления. Проверено на Брендовых (3 группы, 9 объявлений).
feature
ИИ-помощник в блоках: советы по статистике/семантике/объявлениям/настройкам
✓ LIVE: кнопки «Совет ИИ» в 4 блоках. Контекст собирает код (Compiled AI): снапшоты, фразы, минуса, объявления, нормы. LLM DeepSeek через OpenRouter + egress-прокси. Тест на Брендовых — осмысленные советы. Цена ~копейки/запрос.
feature
Редактор: стратегии ставок, корректировки, временной таргетинг, гео группы
✓ Сделано: ставки фраз (keywordbids get/set, ручные стратегии, массовая установка, Enter-правка) + корректировки (get/add/delete: мобильные/десктоп/демография, ретаргетинг видим). Осталось: временной таргетинг, гео-корректировки add.
feature
Редактор: быстрые ссылки, уточнения, визитка, промоакции объявлений
feature
Создание сущностей из кабинета: новая группа, новое объявление, добавление фраз
✓ + Правка существующих комбинаторных (v501 ResponsiveAdUpdate): заголовки/тексты/картинки/цена/ссылки, форма как при создании. Осталось: создание группы; тестовое создание в бою ждёт ок.
feature
ИИ-исполнитель: применить совет ИИ в один клик (минуса/тексты/площадки) с подтверждением
feature
Авто-сбор статистики кроном (сейчас по кнопке) + недельный отчёт клиенту
✓ BullMQ repeatable каждые 6ч по всем привязанным кампаниям (active/paused/moderation), запись в журнал от «Автоконтроль». Недельный отчёт клиенту — отдельная задача, осталась.
feature
планS8 · Прод-готовность0/3

Цель: Права, безопасность, домен, приёмка

RBAC полный: управление командой org, инвайты; RLS в Postgres
feature
Шифрование токенов кабинетов at-rest, алерты в TG
feature
Домен + https + приёмка по docs/ACCEPTANCE.md (все поведенческие критерии)
feature
В РАБОТЕS9 · РСЯ и креативы1/5

Цель: Сетевые кампании + генерация и управление картинками/видео в объявлениях (Kie, adimages)

Создание сетевых (РСЯ) кампаний из кабинета: тип кампании, настройки сетей
feature
Генерация картинок-креативов через Kie (банк креативов, гейт ок-трачу)
feature
Загрузка картинок в Директ (adimages) и управление картинками в объявлениях
✓ LIVE: adimages.add загрузка (base64, до 10МБ), превью картинок в карточках объявлений (TextAd hash + ResponsiveAd.AdImages.ImageUrl), выбор картинок при создании комбинаторного. Банк кабинета owner-only.
feature
Видео в объявлениях: исследовать возможности API (видеодополнения/креативы) и реализовать доступное
✓ Ресёрч: VideoExtensionIds есть в ResponsiveAd; ButtonExtension/Carousel в v501 get есть, в доке add нет — нужен эксперимент. Загрузка видео-креативов не начата.
feature
ИИ-генератор объявлений: задача+тема картинки+референс → тексты и картинка
Тексты OpenRouter (контекст кодом), картинка Kie gpt-image-2 с автозагрузкой в adimages, гейт трат в UI. Боевой тест ждёт ок владельца.
feature
готовS10 · S10 · Реклама на 7 платящих поставщиков ПЦ (поиск)6/6

Цель: Поисковые кампании по товарам 7 ПП в кабинете e-16707300, посадочная — рубрика ПЦ с товарами фирмы, 2000 ₽/нед на клиента, цель — 1 заявка на клиента

Посадочная: рубрика ПЦ с товарами одной фирмы
Найден и проверен формат pulscen.ru/price/<рубрика>?company_id=<ид>: карточка фирмы + только её товары, UTM не ломает. 24 адреса проверены на 200 и заголовок «от компании …».
✓ Найден и проверен формат pulscen.ru/price/<рубрика>?company_id=<ид>: карточка фирмы + только её товары, UTM не ломает. 24 адреса проверены на 200 и заголовок «от компании …».
feature
Семантика через Вордстат по 7 клиентам
~90 сидов, 286 фраз отобрано по товарам из выгрузок; частотность на странице согласования.
✓ ~90 сидов, 286 фраз отобрано по товарам из выгрузок; частотность на странице согласования.
feature
7 поисковых кампаний собраны черновиками
714454824, 714454863, 714454878, 714454899, 714454911, 714454923, 714454938: 19 групп, 38 объявлений, 4 быстрых ссылки + 5 уточнений, счётчик 200476 и 5 целей, 2000/нед, только поиск, автотаргетинг ужат до целевых. State OFF, DRAFT, 0 трат. Скрипты aitodo:/mnt/docker-data/leadforge-ai/scripts/pp-direct/
✓ 714454824, 714454863, 714454878, 714454899, 714454911, 714454923, 714454938: 19 групп, 38 объявлений, 4 быстрых ссылки + 5 уточнений, счётчик 200476 и 5 целей, 2000/нед, только поиск, автотаргетинг ужат до целевых. State OFF, DRAFT, 0 трат. Скрипты aitodo:/mnt/docker-data/leadforge-ai/scripts/pp-direct/
feature
Страница согласования для владельца
https://myvisionagency.ru/lab/pulscen-pp-direct/ — по каждому клиенту: посадочные, фразы с частотностью, объявления как в выдаче, минус-слова, бюджет.
✓ https://myvisionagency.ru/lab/pulscen-pp-direct/ — по каждому клиенту: посадочные, фразы с частотностью, объявления как в выдаче, минус-слова, бюджет.
feature
Запуск после «ок»: модерация + включение 7 кампаний
node launch.mjs из /tmp/pp-direct на aitodo в окружении .env LeadForge. Баланс 20 128 ₽ — на 1,5 недели, пополнить.
✓ 15.09 запущено по «дорабатывай и запускай»: объявления пересобраны в комбинаторные (7 заголовков + 3 текста, без названий фирм, A с ценой и кнопкой / B без), ads.moderate 38/38, campaigns.resume 7/7 → State ON, Status MODERATION, StatusPayment ALLOWED.
feature
Объявления пересобраны в комбинаторные (7 заголовков + 3 текста), тест кнопки и цены
✓ 38 ResponsiveAd через v501: в каждой группе A (PriceExtension FROM + ButtonExtension ORDER/GET_PRICE) и B без. Названия фирм из текстов убраны по указанию владельца. Верификация: неполных 0, с брендом 0.
feature
готовS11 · Проверки по сроку7/10
ПП Директ: прошла ли модерация 7 кампаний, есть ли показы
Кампании 714454824, 714454863, 714454878, 714454899, 714454911, 714454923, 714454938. Проверка: ssh aitodo "cd /mnt/docker-data/leadforge-ai && set -a && . ./.env && set +a && cd /tmp/pp-direct && node build.mjs verify" — Status должен стать ACCEPTED, State ON. Отклонения смотреть в кабинете e-16707300 (StatusClarification). Показы/клики: Reports API CAMPAIGN_PERFORMANCE_REPORT за 2 дня.
✓ 18.09: все 7 кампаний ACCEPTED/ON, 38 объявлений приняты, отклонений нет. За 16-18.09: 2275 показов, 90 кликов, 1807 руб. Метрика сходится (88 визитов pp_*). Заявок по приоритетным целям пока 2 (Софт Пайп: Показать номер 1, Написать 1). Дальше проверка 23.09.
check
ПП Директ: первая неделя — запросы, мусор, заявки по клиентам
SEARCH_QUERY_PERFORMANCE_REPORT по 7 кампаниям → минусовать мусор; Метрика 200476: цели Заказ/Написать/Показать номер в разрезе utm_campaign=pp_<key>; сравнить вариант A (цена+кнопка) и B по CTR/конверсиям (ad ids в /tmp/pp-direct/pp-state.json на aitodo, поле epk[0]=A, epk[1]=B). Баланс кабинета (v4 AccountManagement) — пополнить, если <7 000 ₽.
✓ Замер 16-25.09: 10 034 руб, 450 кликов, 423 визита. Контакты сверены по страницам визитов и счётчикам сайтов клиентов: 5 у наших клиентов (ЦМК 2, Софт Пайп 2, МУЭСТРА 1), 2 ушли к чужим фирмам, 1 спорный, отправленных заявок 0. Мусор ~31% расхода (автотаргетинг 82%). Применено 25.09: +219 минус-слов, +33 ключа, 18-24 лет -50%, моб. МУЭСТРА -50%/Веренпром -30%, +3 цели. Отчёт: Downloads/ПП Директ - анализ 16-25.09.2026.xlsx
check
Система роста: модерация прошла и пошли показы по базе?
ssh aitodo "cd /mnt/docker-data/leadforge-ai/scripts/tr-direct && set -a && . ../../.env && set +a && node build.mjs verify" → объявление базы ACCEPTED, кампания ON, Impressions>0. Плюс: LAL 60128581 processed? → node build.mjs audiences && node build.mjs launch lal. Отчёт: SEARCH не нужен, смотреть Метрику 200476 по utm_campaign=sistema_rosta_yug
✓ Проверено 02.10 по campaigns.get и Reports API (только чтение): кампания 714630921 ON/ACCEPTED, объявление базы 1921981976807179539 ACCEPTED, показы по базе идут с 22.09: 22.09-02.10 = 19 571 показ, 318 кликов, 3 475 руб. с НДС, CPC 10,9 руб., CTR 1,62 %, конверсий 0 (3 цели Директа и Метрика 200476 по utm_campaign=sistema_rosta_yug). LAL 60128581 processed, но условие ретаргетинга к группе 5801489326 НЕ создано (0 показов) - это изменение кабинета, ждёт «да» владельца (node build.mjs audiences). build.mjs verify падал на стёртых /tmp/tr-*.jpg, проверку сделал отдельным скриптом scripts/tr-direct/pcd-reports.mjs. Отчёт: https://myvisionagency.ru/lab/pulscen-direct-stat/
⛔ Ночная смена 01-02.10.2026. node build.mjs verify падает: «нет файла /tmp/tr-1-grocery.jpg, tr-2-workshop.jpg, tr-3-team.jpg» — креативы лежали во временной папке и стёрлись. Нужно переложить креативы в постоянную папку проекта и поправить путь в build.mjs, тогда проверка пойдёт.
check
Система роста: неделя показов — клики, CPC, заявки, площадки
Reports API CUSTOM_REPORT по кампании 714630921 за 22–29.09 (показы/клики/расход по группам и площадкам) + Метрика 200476: визиты и цели 330704519/142851664 по utm_campaign=sistema_rosta_yug. Решение: чистить площадки, сравнить База vs LAL, при ≥10 конверсий → макс. конверсий
✓ Отчёт 02.10 по неделям пн-вс: нед.1 21-27.09 = 15 461 показ / 258 кликов / 2 775 руб. / CPC 10,8 / отказы 57 %; нед.2 28.09-02.10 = 4 110 / 60 / 700 руб. / CPC 11,7; итого 19 571 / 318 / 3 475 руб., заявок 0 (Директ 3 цели = 0, Метрика: 292 визита, 0 достижений любых целей, 37 с на сайте, глубина 1,0). Площадки: 69 % расхода в мобильные приложения, 89 % кликов со смартфонов; 14 площадок-кандидатов на запрет = 32 % расхода (список на странице). База против LAL сравнить нельзя: LAL без условия ретаргетинга, 0 показов. Конверсий < 10, на «макс. конверсий» не переводим. Решения владельца: запрет 14 площадок, корректировка на смартфоны, привязка LAL, своя цель Метрики на попап посадочной. Ничего в кабинете не менялось. Страница: https://myvisionagency.ru/lab/pulscen-direct-stat/, файлы C:/tmp/pc-direct/
⛔ Ночная смена 01-02.10.2026. Та же причина, что у «Системы роста: модерация»: инструмент tr-direct упирается в стёртые /tmp/tr-*.jpg. Отчёт по кампании 714630921 за 22–29.09 соберу, как только креативы переложены.
check
ПП Директ: сработала ли докрутка 25.09 (минус-слова, ключи, корректировки)
Сравнить 26.09-01.10 с 16-25.09: доля расхода на чужой товар (была ~31%), CTR, визиты с контактом у клиента на 100 кликов (было 5/450). Команды: ssh aitodo "cd /tmp/pp-analysis && set -a && . /mnt/docker-data/leadforge-ai/.env && set +a && node reports.mjs" (поменять D1/D2), затем python an4.py и cls.py в scratchpad-копии; контакты — m4.mjs (страницы визитов с целями). Гео и лимиты НЕ трогать (решение владельца 25.09).
✓ Неделя 26.09-01.10 против 16-24.09: мусор (чужой товар + справочные) 29% -> 13% расхода; клики 47 -> 37/день, CPC 22 -> 30 руб, расход 1023 -> 1110 руб/день. Контакты у клиентов 3 за 6 дн (ЗТР впервые, Софт Пайп, ЦМК) против 4 за 9 дн, к чужим 0 (было 2); на 100 кликов 1.3 против 1.0 — в пределах случайности. Не сработало у ЦМК: сталь через автотаргетинг 39% (лечится текстами группы Трубы). Отчёт: Downloads/ПП Директ - неделя 26.09-01.10.2026.xlsx
⛔ Ночная смена 01-02.10.2026. Разбор ПП Директа жил в /tmp/pp-analysis — папка временная и стёрта. Чтобы сравнить 26.09–01.10 с 16–25.09, скрипты reports.mjs / an4.py / cls.py нужно восстановить из прошлой сессии в постоянную папку.
check
Система роста после докрутки 03.10: расход в приложениях, показы LAL, заявки
ssh aitodo "cd /mnt/docker-data/leadforge-ai/scripts/tr-direct && set -a && . ../../.env && set +a && OUT=analysis-out node pcd-reports.mjs" (как в stat-2026-10-02) за 03–09.10: доля расхода мобильных приложений (было 69 %), показы группы LAL 5801489326 (было 0), конверсии по 3 целям, CPC. Отдельно: своя цель на попап посадочной — заведена ли.
✓ Проверено 09.10 (данные 04–08.10, скрипт aitodo scripts/tr-direct/pcd-sr-check.mjs, папка analysis-1009). LAL заработала: 50 086 показов, 297 кликов, 95% расхода. Расход в день вырос 316 → 730 ₽, клики 29 → 64 в день, CTR упал 1,63% → 0,60%, CPC ~11 ₽ без изменений. Приложения: 80% → 55% расхода (единое правило «пакет приложения»; 69% от 02.10 считалось узким правилом). Смартфоны −50% сдвинули расход на десктоп (43%), из них win.mail.ru 1 172 ₽, CTR 0,23%, отказы 69%. Конверсии по 3 целям 0; в Метрике 588 визитов из кампании за 22.09–08.10, достижений любых целей 0, глубина 1,0. Для сравнения: рассылка MR_Tochka_rosta — 12 визитов, 6 достижений целей, то есть страница цели считает. Своя цель на попап посадочной НЕ заведена (целей с адресом посадочной в условиях 0). Список запрещённых площадок заполнен до лимита 1000. Итого с запуска 22.09–08.10: 7 547 ₽, 684 клика, 0 заявок.
check
ПП Директ: три новые кампании (Ньюкей, Карадэл Энерго, ПФК Сталь-Сервис) прошли модерацию и пошли показы
Запущены 09.10: 715212661 Ньюкей (сайт 99826846, ЦФО+СЗФО), 715212665 Карадэл Энерго (99829619, РФ без ДФО), 715212674 ПФК Сталь-Сервис (99826957, РФ без ДФО), 2000 ₽/нед каждая. КОМАНДА: ssh aitodo "cd /mnt/docker-data/leadforge-ai/scripts/pp-direct/new3 && set -a && . ../../../.env && set +a && node new3.mjs verify" → State ON, Status ACCEPTED. Отклонённые объявления: ads.get Status REJECTED + StatusClarification. Показы за 10–11.10: reports.mjs с IDS трёх кампаний. Если показов 0 — сначала баланс (AccountManagement v4, на 09.10 было 27 113 ₽, хватает ~до 14.10).
✓ Показы пошли 09.10: Ньюкей 539 ₽ / 36 кликов, Карадэл Энерго 524 ₽ / 31, ПФК Сталь-Сервис 676 ₽ / 91; 10.10 вместе 547 ₽ (база LeadForge ad_analytics_snapshots). Отклонённые объявления не проверить: API Директа лежит с 11.10.
check
ПП Директ: первая неделя трёх новых кампаний — запросы, мусор, контакты, сайты клиентов
⏱ 16.10 · просрочено 14 дн.
Период 10.10–16.10. SEARCH_QUERY_PERFORMANCE_REPORT → минус-слова (чужой товар, справочные). Метрика 200476 по utm_campaign=pp_newkey|pp_karadel|pp_stalservis: контакты сверять по страницам визита (m4/goals_all_env), сайты фирм на платформе ПЦ: nk-armatura.ru, energoopori.ru, masterstali.ru. Заявки — по кабинетам клиентов у владельца. Добавить ключи pp_newkey/pp_karadel/pp_stalservis в analysis/reports.mjs, m4.mjs, m6.mjs, goals_all.mjs и в отчёт build_report.py.
check
↑ ПП Персей: новые группы «Кремний» и «Магний» не ловят аптечный магний и школьную химию
⏱ 11.10 · просрочено 19 дн.
09.10 добавлены группы 5810691692 (кремний) и 5810691719 (магний) в кампанию 714454899, гео СФО. Целевой спрос в СФО ~1-10 запросов/мес, общий «магний купить» = аптека (10 тыс./мес). Группам дан большой список минус-слов. КОМАНДА: отчёт SEARCH_QUERY_PERFORMANCE_REPORT по кампании 714454899 за 10–11.10 (analysis/reports.mjs, IDS=[714454899]) → запросы групп «Кремний металлический» и «Магний в чушках». Чужое (аптека, БАД, химия) → в минус группы. Если показов почти нет — предложить владельцу Россию для этих двух групп (по РФ кремний кр00/кр0/кр1 + магний мг90/в чушках ≈ 200 запросов/мес).
⛔ Авария Яндекса с 8–11.10 (атаки на дата-центры): API Директа отвечает 204 на любой запрос у всех кабинетов, даже без токена; Метрика за 10–11.10 неполная, с 12.10 пусто. Не наша поломка. Повторить, когда Директ ответит 200. Отчёт поисковых запросов по Персею снять после восстановления.
check
ПП тест недели 1: вариант C против A/B — итог и запуск теста недели 2
⏱ 16.10 · просрочено 14 дн.
09.10 добавлен вариант C (вопрос покупателя + прямой контакт) третьим объявлением в 19 групп 7 кампаний, id в pp-state.json groups[].epk[2]. Сравнить C против A и B по CTR, цене клика и контактам на 100 кликов (Метрика utm_content={ad_id}, m4/goals_all_env). Малые объёмы: решение по сумме 2 недель. Затем запустить тест недели 2 из плана в памяти pulscen-pp-direct-campaigns (раздел «Еженедельные тесты»). Правило владельца 09.10: каждую неделю что-то новое тестировать.
check
готовS12 · S12 · РК «Система роста» ПЦ: аудиторная на базу Юга + LAL отвалов5/6

Цель: Запустить аудиторную кампанию в сетях на базу непрофильных компаний и отвалов Юга (3 807 фирм) с LAL от отвалов; посадочная pulscen.ru/about/promo/biznes-v-internete-pod-klyuch-sistema-rosta

База в Яндекс Аудитории: 2 сегмента из файла (7 449 и 2 364 записи), доступ кабинету e-16707300
✓ Сегменты 60077002 (база, совпало 10 039) и 60077003 (отвалы, 2 980) под ShamrayGroup1; токен с audience:read/write в aitodo .env как YANDEX_AUDIENCE_TOKEN; CSV C:/tmp/tr_*.csv
feature
Похожая аудитория (LAL) от отвалов
✓ Сегмент 60128581, похожесть 2 из 5, гео сохранено, доступ e-16707300 выдан 22.09 04:51
feature
Кампания 714630921 в Директе черновиком: сети, макс. кликов 3 500 ₽/нед, гео Юг+Кавказ+Крым, 2 группы, 2 ЕПК-объявления
✓ scripts/tr-direct/build.mjs (build/audiences/verify/launch), tr-state.json; цели 330704519/142851664/330704521, 1 030 запрещённых площадок, <18 = 0
feature
Баннеры в стиле ПЦ: 2 синих плюшевых 3D + 1 тёмный премиум, 1:1 и 16:9, логотип кодом
✓ 6 картинок gpt-image-2 (18 ₽) в обоих объявлениях по 5; страница https://myvisionagency.ru/lab/pulscen-tochka-rosta/; первый круг (стоковые фото, 8 ₽) владелец принял только на тест и заменён
feature
Привязать сегменты к группам: база привязана, LAL ждёт статуса «Готов»
Разгадка 8800: в API Директа ExternalId сегмента Аудиторий = 2000000000 + id. Условие базы 42569430 → группа 5801489310 (target 108352143, охват 24 522). LAL 60128581 ещё обрабатывается; после — node build.mjs audiences (ExternalId 2060128581) и launch lal
feature
Модерация и включение показов (только по «да» владельца)
node build.mjs launch после привязки аудиторий; баланс общего счёта 31 074 ₽ на 21.09
✓ 22.09 ~05:20 МСК по «да включай уже сейчас»: объявление базы отправлено на модерацию, кампания 714630921 State=ON Status=MODERATION. Группа LAL пока черновик
feature

Ворклог (места остановки)

19.10.2026, 09:31:32 · S10 · Реклама на ПП (поиск) · claude

Сводка расходов рекламы ПП для Дениса (AITODO 1443). Директ API ожил после простоя 14-16.10, выгрузил CAMPAIGN_PERFORMANCE_REPORT по кабинету e-16707300 за 01.09-18.10. Расход на 10 клиентов ПП с запуска 16.09: 57 289 руб с НДС, 3 020 кликов, CPC 19 руб, 11 заявок по кабинетам (2 из рекламы) = 5 208 руб за заявку. Весь кабинет ПЦ: сентябрь 99 059, октябрь 1-18 94 876 руб. Собран xlsx (4 листа) в Диске владельца и внутренняя страница https://myvisionagency.ru/lab/pulscen-pp-rashody/. Находки: 14-15.10 реклама стояла из-за нулевого счёта, с 16.10 крутится по 7-8 тыс/день; недельный расход ПП вырос с 8 до 20 тыс после подключения трёх новых клиентов 09.10; у новых CPC 4-11 руб против 24-43 у старых, трафик - длинный хвост из тысяч редких запросов, качество под вопросом. В CRM Тюльпан найдена таблица company_orders (счётчики заказов по компании + last_order_id, номера совпадают с кабинетом), деталей заявок в базе нет.

→ Ждёт решения владельца: отправлять ли сводку Денису и в каком виде (лист в его таблицу заявок / отдельный файл / ссылка на страницу). Дальше: сверить заявки за 17-18.10 по кабинетам, разобрать качество дешёвого трафика трёх новых клиентов, понять семантику cur/prev_orders_count в company_orders - если это настоящие обращения, заявки можно считать автоматом, а не скринами.

16.10.2026, 06:59:11 · · claude

16.10: подготовка к встрече с Денисом. Сводка заявок 10 клиентов ПП по кабинетам продавца (скрины владельца): 11 заявок после запуска, 2 из нашей рекламы (Ньюкей 14.10 pp_newkey, ЗТР 16.09 вероятно). Веренпром 1,6 млн с поиска на сайт клиента, ОЛЕОСИНТЕЗ похоже тест, Карадэл до запуска. Гугл-таблица: https://docs.google.com/spreadsheets/d/1GhKRG2JOR5nnogNuvxI1xeYHDoP7ZeGTG3MQz6UQHKw

→ Дать Денису доступ к таблице (ждёт ответа владельца). Сверить по Метрике 200476 источник неизвестных заявок ЦМК 12.10, Софт Пайп 15.10, Сталь-Сервис 12.10. Номер заявки ЗТР 08.10 не сверен.

13.10.2026, 06:53:50 · ПП Директ · claude

13.10 разбор рекламы ПЦ за 10.09–09.10: 119 106 ₽; «Брендовые» 30 заявок / 52 регистранта (1 642 ₽ за заявку); «Отвалы», «РК МСК», Система роста 39 597 ₽ без заявок; ПП 30 263 ₽, контакты 8 у поставщиков / 8 к чужим, заявки 2 по 29.09. Баланс кончится ~14–15.10, пополнить нельзя (авария Яндекса). Закрыта проверка 81580993, 2900220d заблокирована.

→ Ждём владельца: предупредить Дениса, пополнение ~55 000 ₽ без НДС + пауза «Отвалов» и «РК МСК», заявки ПП в кабинетах с 30.09. После восстановления: отчёт запросов Персея, недельный тест 2 (кнопка «Узнать цену»).

09.10.2026, 09:55:04 · · claude

09.10 по слову владельца на паузе: ПП ЗТР 714454878 (остановил я) и «ПЦ Система роста Юг» 714630921 (уже стояла SUSPENDED, последний расход 09.10). Три новые ПП-кампании (Ньюкей, Карадэл, ПФК) прошли модерацию: ACCEPTED.

→ Включать ЗТР и Систему роста только по решению владельца. Проверки 11.10/12.10/16.10 в силе, ЗТР из тестов исключён.

09.10.2026, 05:40:33 · · claude

09.10 докрутка ПП по «да» владельца: ЦМК «Трубы» — 31 размер профтрубы, которых нет у ЦМК, в минус группы + новые тексты A/B (без 20х20, «Только алюминий»), уже ACCEPTED; Персей — группы «Кремний металлический» и «Магний в чушках» (рубрики из выгрузки + company_id, по 37–51 минус-слову против аптеки и химии); минус-слова ЗТР/Софт Пайп/Персей/Веренпром/ЦМК; тест недели 1 — вариант C в 19 группах. Правило владельца: каждую неделю новый тест.

→ 11.10 — запросы групп кремний/магний (аптечный риск), 12.10 — модерация трёх новых кампаний, 16.10 — итог теста C и запуск теста недели 2 (кнопка «Узнать цену» против «Заказать»). Решения владельца: гео МУЭСТРА/Веренпром (+ЦФО), посадочная на сайт клиента для ЗТР/Софт Пайпа, лимиты, баланс до ~14.10.

09.10.2026, 05:03:37 · · claude

09.10: запущены 3 новые поисковые кампании ПП по таблице владельца: Ньюкей 715212661 (сайт 99826846, ЦФО+СЗФО; это и есть «8-й клиент»), Карадэл Энерго 715212665 (99829619, РФ без ДФО), ПФК Сталь-Сервис 715212674 (99826957, РФ без ДФО). ID сверены с CRM по ID клиента. Каталог из Метрики 200476 (pulscen.ru закрыт от ботов), семантика Вордстатом, 19 групп, 226 ключей, 38 ЕПК A/B, 2000 ₽/нед, State ON, модерация. Отчёт по 7 кампаниям с запуска по 08.10: 25 037 ₽, 880 кликов, контактов 8, спорных 4, к чужим 8 (Downloads/ПП Директ - с запуска по 08.10.2026.xlsx). Карта YD-MACHINE.md дополнена.

→ 12.10 проверить модерацию и показы трёх новых, 16.10 — первая неделя (минус-слова, контакты). Владельцу: пополнить баланс до ~14.10 (27 113 ₽ при ~5 400 ₽/день), сверить заявки недель 3–4 по кабинетам, решить гео МУЭСТРА/Веренпром/ЦМК по его таблице, правка текстов ЦМК «Трубы».

06.10.2026, 04:05:55 · · claude

Поправка к ворклогу 06.10: «отправленных заявок 0» — ошибка. Заявки считаются по кабинетам продавцов клиентов (сверяет владелец): неделя 1 ЗТР 16.09 (прямое обращение, подтверждено скринами 02.10), неделя 2 Софт Пайп. В отчёте добавлена колонка «Заявки (кабинет клиента)», Метрика = только контакты. Неделя 30.09–05.10 по кабинетам ещё не сверена.

→ Владелец сверяет заявки 30.09–05.10 в кабинетах 7 клиентов (или подключает браузер, чтобы я прочитал сам) → вписать в отчёт. 8-й клиент ждёт ид.

06.10.2026, 03:39:26 · · claude

ПП Директ: отчёт с запуска по 05.10 (Downloads/ПП Директ - с запуска по 05.10.2026.xlsx). С запуска 21 900 ₽, 808 кликов, 8 контактов у клиентов (~2 740 ₽), 4 спорных, 7 ушли к конкурентам, отправленных заявок 0. Неделя 30.09–05.10: 7 052 ₽, клики/день 46→40→34, CPC 21→28→35 ₽, подтверждён 1 контакт (ЗТР), спорных 3, к чужим 2. Поправлен классификатор мусора Персея (АМг2/Св-АК5/АД31 = алюминий). Восьмой клиент: в файле и Гугл-таблице «РК НА ПП ПЦ» 7 строк, в ТГ/сессиях/AITODO списка из 8 нет.

→ Ждём от владельца ид и сайт 8-го клиента (+ выгрузку товаров) → собрать кампанию по тому же шаблону (поиск, рубрика ПЦ с company_id, гео город+область, 2000 ₽/нед), запуск по «да». Открыто: правка текстов ЦМК «Трубы» (сталь 39% расхода), минуса Персея, вариант C A/B ждёт «ок».

03.10.2026, 02:12:26 · безопасность 03.10 · claude

Next 15.3.2 был уязвим к React2Shell, процесс под root на открытом 3080. Порт 3080 закрыт снаружи, Next обновлён до 15.3.9, сборка и страницы проверены. Следов взлома в логах нет.

→ Вернуть кабинет наружу через nginx: домен, TLS, пароль на входе (домен не должен светить MyVision). Перевести dp-* с root на своего пользователя.

02.10.2026, 17:24:57 · · claude

Ночная смена 02→03.10: статистика Директа ПЦ для Дениса — «Система роста» по неделям (0 заявок, 69 % расхода в мобильные игры, LAL без условия), сводник 11 РК за сентябрь (99 059 ₽, 34 заявки, 100 % у «Брендовых»), сверка с MetricSnapshot копейка в копейку. Страница /lab/pulscen-direct-stat/. Две проверки по сроку закрыты.

→ Решения ПЦ: запрет 14 площадок, корректировка на смартфоны −50 %, привязать LAL, разобраться с целью «Реклама на отвалы», своя цель на попап посадочной. РК «ЕКБ»: спросить у Дениса ID/кабинет.

02.10.2026, 08:23:53 · · claude

ПП Директ: недели 1 (16-22.09) и 2 (23-29.09) дописаны в правленый владельцем отчёт (файл из его Диска), лид ЗТР 17.09 разобран: форма на сайте завода пришла из CRM ПЦ, не из рекламы.

→ Владелец заливает склеенный файл в Диск сам (коннектор не меняет содержимое). Ответ техотдела по брошенным формам и по ссылке из CRM на сайт ЗТР.

02.10.2026, 08:09:11 · · claude

ПП Директ: разбор целей Метрики ПЦ по клиентам с запуска (выгрузка всех 560 целей, analysis/goals_all.mjs). «Лид» Софт Пайпа 17.09 оказался нажатием «Написать» (Event_2234) без успешной отправки (Event_2095) — ошибка в отчёте 25.09. Найдено 4 брошенные формы (ЦМК 20.09, МУЭСТРА 23.09, Софт Пайп 17.09 и 27.09), подготовлен запрос в техотдел ПЦ.

→ Ждём ответ техотдела по 4 брошенным формам (бросили или не сработала цель отправки). В следующих отчётах считать «Кнопка Заказать» и корзину как начатые формы. Остальное без изменений: ок на A/B раунд 2, тексты группы Трубы ЦМК, новые минус-слова.

02.10.2026, 05:51:31 · · claude

ПП Директ: недельный отчёт после докрутки (Excel 9 листов), сверка контактов по страницам визитов и счётчикам сайтов клиентов. Скрипты анализа перенесены в scripts/pp-direct/analysis (из /tmp пропали).

→ Ждут владельца: ок на A/B раунд 2 (lab/pulscen-pp-direct-ab2), правка текстов группы Трубы у ЦМК против стальной профтрубы, новые минус-слова (ЗТР знол/25000/6300/3200/115, Персей гхсма/е71т8/газом, ЦМК забор). Гео и лимиты не трогаем.

25.09.2026, 08:19:16 · · claude

ПП Директ: разбор 7 кампаний с запуска (Excel), сверка кому ушли контакты (страницы визитов + Метрика сайтов клиентов), докрутка таргетинга применена и проверена перечиткой. A/B раунд 2 (вариант C, 19 объявлений) собран, страница согласования lab/pulscen-pp-direct-ab2.

→ Ждём ок владельца на lab/pulscen-pp-direct-ab2 → node epk-c.mjs --apply (scripts/pp-direct на aitodo) → завести проверку A/B через 14 дней. 02.10 проверка эффекта докрутки. Гео не расширяем, лимиты не поднимаем.

22.09.2026, 02:59:49 · S12 · claude

22.09 утро: сегменты досчитаны (база 10 039 / отвалы 2 980, охват в Аудиториях 24 522 / 7 598), LAL 60128581 создан. Блокер 8800 разгадан: ExternalId = 2000000000 + id сегмента (в доке нет, записано в YD-MACHINE.md). База привязана к группе, по «да включай» объявление базы на модерации, кампания ON.

→ Проверка 23.09: модерация/показы. LAL: как processed → build.mjs audiences → launch lal. Проверка 29.09: неделя показов, площадки, конверсии, База vs LAL.

22.09.2026, 01:54:41 · S12 · claude

21–22.09: база 3 807 фирм Юга нормализована и загружена в Аудитории (2 сегмента, совпадение 134 % и 126 %), права Аудиторий добавлены в приложение ca776098 и выпущен токен под ShamrayGroup1, LAL от отвалов 60128581 создан; кампания 714630921 собрана черновиком (сети, 3 500 ₽/нед, гео Юг), посадочная «Система роста» разобрана (цели Метрики 200476), два круга картинок: стоковые (только тест) → 6 баннеров в стиле ПЦ с логотипом кодом; страница согласования /lab/pulscen-tochka-rosta. Баланс кабинета 31 074 ₽ (AccountManagement v4 без фильтра по логину).

→ Блокер: Директ не видит гостевые сегменты Аудиторий (8800). Владелец проверяет список сегментов в UI Директа под e-16707300; если пусто — код под e-16707300 и перезаливка сегментов в его Аудитории (~3–4 ч обработки). Затем build.mjs audiences → «включаю?» → build.mjs launch. Проверка через неделю после включения: показы/клики/заявки по utm_campaign=sistema_rosta_yug.

15.09.2026, 13:02:18 · S10 · claude

15.09 поздно: по правкам владельца снял в автотаргетинге «запросы с упоминанием вашего бренда» (19/19 групп) и переставил географию по клиенту: ЦМК Красноярский край, МУЭСТРА и Веренпром СЗФО, Трансформатор-Реж и ОЛЕОСИНТЕЗ УрФО, ПК Персей СФО, Софт Пайп Татарстан+ПФО. Кампании включены, на модерации.

→ 17.09 модерация/показы; 23.09 запросы, минусация, заявки по utm_campaign=pp_<key>, A/B цена+кнопка, баланс.

15.09.2026, 12:57:04 · S10 · claude

15.09 вечер: по правкам владельца убрал названия фирм из объявлений, пересобрал 38 объявлений в комбинаторные (7 заголовков + 3 текста), в каждой группе A с ценой и кнопкой и B без (тест). Все 7 кампаний включены, на модерации, оплата разрешена. Страница /lab/pulscen-pp-direct/ обновлена.

→ 17.09 проверить модерацию и показы; 23.09 отчёт по запросам, минусация, заявки по utm_campaign=pp_<key>, сравнение A/B, пополнить баланс (20 128 ₽ на старте).

15.09.2026, 12:30:25 · S10 · claude

15.09: собраны черновики 7 поисковых кампаний на ПП (ЦМК, МУЭСТРА, Трансформатор-Реж, ПК Персей, Софт Пайп, ОЛЕОСИНТЕЗ, Веренпром) в e-16707300, посадочная — рубрика ПЦ ?company_id, семантика Вордстат, страница согласования /lab/pulscen-pp-direct/. Уроки API дописаны в YD-MACHINE.md.

→ Ждём «ок» владельца → launch.mjs (модерация+включение). Через неделю: отчёт по поисковым запросам, минусация, цели по utm_campaign=pp_<key> в 200476, пополнить баланс кабинета.

27.07.2026, 15:00:06 · S7 багфикс + S9 ИИ · claude

1) НАЙДЕН И ЗАКРЫТ БАГ: настройки кампании не сохранялись (жалоба владельца на тумблер Мониторинг сайта). Причина: Директ отвергает пустой Items ([] = ошибка не менее 1 элемента) и роняет ВЕСЬ campaigns.update — у РК МСК нет минус-фраз/целей/счётчиков, поэтому падало именно там, а на Брендовых работало. Фикс: пустые списки шлём null (NegativeKeywords, ExcludedSites, BlockedIps, CounterIds, PriorityGoals). Проверено на живой РК МСК: ENABLE_SITE_MONITORING=YES сохранился. Плюс ошибки сохранения теперь видны красной карточкой, а не серой строкой, и форма перечитывает данные из Директа после записи. 2) Создать с помощью ИИ в объявлениях: поля задача / тема картинки / референс товара (ссылка или загрузка файла — публичный URL берём из adimages), выбор количества заголовков и текстов, формат картинки. Тексты — OpenRouter (контекст собирает КОД: кампания, группа, её фразы, действующие объявления, посадочная), картинка — Kie gpt-image-2 (text-to-image, с референсом image-to-image) с автозагрузкой в Директ. Гейт денег: картинка отдельной кнопкой с подтверждением ~2,5 руб.

→ Ждёт ок владельца на платные боевые тесты: генерация текстов (~0,1 руб OpenRouter) и картинки (~2,5 руб Kie). Дальше: ButtonExtension/Carousel эксперимент, РСЯ-кампании, РАГ-стандарты для ИИ.