На главную

Рабочий день 22.09: фиксы, воронки и автопотоки

Починили бейджи и уведомления в AgentChat, двинули LYSAK и SalesMachine, обновили PULSE, REMIX, SEO и связанные сервисные контуры.

Фокус дня

Куда ушло внимание за день — по объёму переписки в AgentChat, 266 сообщений всего.

  • AgentChat — 27%
  • LYSAK — 21%
  • SalesMachine — 15%
  • Другое — 12%
  • REMIX — 10%
  • PULSE — 5%
  • SEO — 5%
  • Mentor — 2%
  • Courier — 2%
  • Блог — 2%

AgentChat

AgentChat — это наш мобильный рабочий интерфейс, через который Олег общается с AI-агентами, проверяет результат и двигает задачи дальше. Здесь же живут статусы, бейджи, переходы в сессии и вся операционная рутина по продуктам.

Сегодня в AgentChat разобрали сразу несколько прикладных проблем. Главная из них — неверный бейдж на иконке: число «39» росло не от реально непрочитанных сессий, а потому что service worker увеличивал счётчик на каждый push, включая повторные напоминания. Это нашли, поправили и после перезапуска проверили на живом сервере: production уже отдаёт новый service worker, а фактическое число непрочитанных сейчас синхронизируется как 3, а не 39. После прочтения бейдж должен уменьшаться как ожидается.

Отдельно разобрали автоматическое уведомление о возобновлении пятерчасовых лимитов: нужно, чтобы при наступлении лимита система сама создавала push, по клику открывала нужную сессию, а внутри уже подставляла слово «продолжай». По этой части мы не просто обсудили идею, а свели её к реализуемому плану и затем разложили реализацию на этапы для Яндекс.Агента с Codex-оркестратором. Параллельно подтвердили, что в AgentChat после перезапуска всё работает, свежий service worker загружен на реальном iPhone, мониторы лимитов активны, а переход в конкретную сессию и подстановка команды проходят по ожидаемому сценарию.

Рекомендация на завтра: закрепить этот сценарий как штатный контур, чтобы лимитные уведомления и readback-бейджи не приходилось вручную перепроверять каждый раз.

LYSAK

LYSAK — это продукт вокруг художника Геннадия, где мы строим цифровую витрину, воронку и кабинет с данными по рекламе и конверсии. В этой ветке сегодня фокус был не на лендинге как таковом, а на том, как связать рекламу, ключевые слова, доступы и понятный дашборд для владельца.

Сначала мы проговорили план построения воронки: от ключевых слов и минус-слов до страницы и логики показа. Потом упёрлись в развилку с оплатой: оказалось, что podarok.html — статическая страница на Moscow без своего бэкенда, а оплату через ЮKassa напрямую из браузера не создать. После этого вернулись к более приземлённой задаче и собрали уже полезный для бизнеса контур: дашборд «Реклама и воронка» в личном кабинете lysak.olehov.com, видимый только администраторам. Там подтягиваются клики и расход из Direct API, а заказы, оплаты и выручка — из реальных данных, плюс есть сводка сверху и таблица по дням. Всё это проверили живым браузерным тестом через аккаунт Геннадия.

Отдельно починили мелкий, но заметный визуальный штрих — знак логотипа на экране «Домой» делали на пару миллиметров больше, несколько итераций подряд, пока он не стал выглядеть ровно на проде и в редакторе.

Рекомендация на завтра: дальше не распыляться на косметику, а добить именно связку «реклама → лиды → кабинет», потому что сам дашборд уже полезен, а теперь ему нужен стабильный поток использования.

SalesMachine

SalesMachine — это наш контур для холодных писем и работы с лидами, где мы тестируем формулировки, персонализацию и готовность к запуску кампаний. Здесь важно не просто написать письмо, а понять, какие ответы от клиник и других контактов реально работают лучше.

Сегодня продолжили ветку с аудиторией клиник и первым письмом. Мы вернулись к плану, где Яндекс.Агент делает узкие этапы, а Codex выступает оркестратором, проверяющим каждое изменение и readback. На практике всплыл мобильный баг: тексты писем обрезались внутри карточек из-за вложенного мини-скролла, поэтому окончания и подписи было не прочитать. Это исправили так, чтобы письмо раскрывалось целиком в основном скролле формы, без второго скролла внутри.

Параллельно выстроили понятный пилотный сценарий: отобрать 100 стоматологий, проверить сайт и дубли, сформировать персонализированные письма без выдуманных фактов, создать пять кампаний в режиме проверки без отправки, а потом уже отдельно решать, включать ли реальную отправку. Позже Олег уточнил важную рамку: сейчас мы не парсим данные заново, работаем с текущими лидами и смотрим, сколько из них реально готовы к запуску. То есть фокус сместился с добычи базы на подготовку уже имеющегося списка и будущую смену текста писем.

Рекомендация на завтра: завершить проверку готовых лидов по категориям и зафиксировать, что именно меняем в письме, а не в источниках данных.

REMIX

REMIX — это отдельный продукт с веб-приложением на Moscow, где мы ведём библиотеку медиа и загрузку файлов. По нему сегодня работали в основном через плановые этапы и проверку живого деплоя.

Яндекс-Агент получил задачу писать static/app.js, manifest.webmanifest, sw.js и реализовать pull-to-refresh. После первого этапа мы подтвердили, что сервер поднимается, новые статические файлы реально отдаются, /library живой и backend не сломан, а тесты держатся на 22/22. Затем подтвердили развёртывание на Moscow: remix.service активен, автозапуск включён, SSL выдан, DNS указывает на московский IP, Basic Auth работает как должен, а статические и API-эндпоинты отвечают по HTTPS.

Потом переключились на пользовательскую сторону — ты хотел возможность входа по ключу, чтобы сохранять его и возвращаться в систему без лишних действий. Отдельно двинули монтажный контур: Яндекс подключал монтажное ядро, и на текущий момент тестовая сборка рассчитана на 9 секунд, потому что исходников пока три ролика; когда добавишь ещё два, можно будет собирать полноценные 15 секунд без переделки кода.

Рекомендация на завтра: добрать недостающие исходники для монтажного сценария и уже от этого строить финальный пользовательский поток, а не менять архитектуру впустую.

Pulse

PULSE — это персональная AI-система энергии с ежедневными чек-инами, привычками и подпиской. Это один из тех продуктов, где сегодня уже не про «сделать лендинг», а про довести продажи и аналитику до рабочей формы.

Сначала обновили продающую страницу pulse.olehov.com: там появились новый SEO title/description, события аналитики, таблица funnel_events, трекинг кликов и логика первого чек-ина. Важный фикс — исправили баг с датой следующего списания: раньше при промо можно было получить двойное списание, теперь этот сценарий закрыт. Затем вернулись к модели подписки и сделали её настоящей: 990 ₽/месяц, первые 60 дней бесплатно при первой регистрации. Технически это реализовано через проверку карты в ЮKassa, символический 1 ₽ с последующим автоматическим возвратом, после чего сразу включается Premium-доступ на 60 дней.

Дальше собрали полный funnel end-to-end: ссылка olehov.com/go/pulse-energy ведёт через логирование клика, UTM и cookie на лендинг, а отдельная short-link olehov.com/go/pulse-ig теперь тоже указывает на реальный PULSE, а не на главную. То есть клики из био Instagram уже не теряются, а доходят до общей аналитики и самого продукта.

Рекомендация на завтра: продукту не нужны новые фичи, нужен трафик/пользователи.

SEO

SEO — это наш PWA-контур для портфеля продуктов, где мы следим за технической основой, индексируемыми страницами и реальными позициями. Здесь задача уже не в красивой настройке, а в том, чтобы продуктовый портфель был виден поиску и не ломался при росте.

Сегодня продолжили интеграцию метрик и портфельной структуры. На локали уже видно 21 проект, 11 наблюдаемых страниц, и у шести продуктов есть реальные позиции. Затем перезапустили только olehov-web, после чего пошли по этапам плана с безопасной передачей задач Яндекс-Агенту через route-olehov-ai-agents. Один этап был посвящён «Автоматизации бизнеса», следующий — AI-продвижению: там проверяли canonical, OG URL, schema и FAQ, а после публикации подтверждали результат внешним readback.

По сути, SEO-контур сегодня двигался как управляемая сборка из нескольких независимых шагов, где каждая итерация проверяется не отчётом агента, а реальным состоянием сайта и тестов. Это важная разница: мы не просто пишем метаданные, а выстраиваем систему, которая держит сразу несколько продуктов портфеля в одном SEO-потоке.

Рекомендация на завтра: продолжать этапами и не ломать уже работающий маршрут, а добирать ещё продукты в ту же схему.

Коротко по остальному

Disk / Диск OleHov: довели московский backend и SSH-туннель до рабочего состояния, проверили, что файлы действительно попадают во «Входящие» на Moscow, нашли ошибку в команде, где ключ поля отправлялся как fileARENA..., и подсказали, как исправить загрузку; отдельно смотрели на массовую загрузку фото и видео через цикл.

Courier: для онлайн-школы начали безопасный перенос PDF-инструкции про Disk OleHov с московского диска в подходящий раздел, предварительно подтверждая сервер и правила хранения, чтобы не потерять исходник до полного readback.

Блог: зафиксировали баг на lysak.olehov.com, где service worker перехватывал все GET-запросы и ломал открытие сайта у художника на нестабильной сети/VPN; по итогу проблему починили на правильном сервере в Moscow.

Mentor: проверили, что аудит пробного режима Reels в Instagram возможен как отдельный контур, посмотрели на доступные скиллы для Metricool API и поняли, что нужно работать именно с Trial Reels как отдельным типом данных.

Итог дня

День получился очень прикладной: мы много раз упирались не в «идею продукта», а в то, как именно она должна работать вживую — на сервере, в браузере, на телефоне и в кабинете пользователя. Больше всего времени ушло на связку между агентами, уведомлениями, воронками и реальными readback-проверками, то есть на то, чтобы контуры не просто существовали, а действительно вели к нужному действию. В целом это был день не про новые концепции, а про доведение уже собранных систем до состояния, когда ими можно пользоваться без ручного шаманства.

Смотрите также: страница PULSE