День LYSAK, AgentChat и SEMVO
За день мы допилили LYSAK, обновили AgentChat и убрали лишнее в SEMVO — с упором на живые правки, кэш и UX.
Фокус дня
Куда ушло внимание за день — по объёму переписки в AgentChat, 219 сообщений всего.
- LYSAK — 61%
- AgentChat — 19%
- SEMVO — 10%
- SalesMachine — 6%
- Sentinel — 2%
- PULSE — 2%
- Блог — 1%
LYSAK
LYSAK — это сайт художника и его рабочая PWA-экосистема: каталог, магазин, карточки картин, вход и авторизация, иконки на iPhone и публикация на боевом сервере. Сегодня здесь было больше всего движения: не одна точечная правка, а серия доводок, которые закрывали и контент, и интерфейс, и то, как всё это обновляется на телефоне.
Сначала мы разобрались с карточками картин: для работы «Шахматы» под изображением теперь показывается полное авторское описание художника, причём источник текста нашли в /opt/lysak/data/paintings.json в поле desc. Потом убрали восьмую картину «Идущая по облакам» из раздела «Топ работ», а подзаголовок перевели на «Семь флагманских работ» — это сразу же подтвердилось на боевом сервере внешним запросом. Ещё поправили дизайн колокольчика уведомлений в тёмной теме: теперь он выглядит как синий закрашенный круг с мягким свечением, как в AgentChat, а не как бледная обводка.
Отдельная крупная часть дня ушла на паскей и форму входа. Мы добавили WebAuthn-логику для регистрации и входа, новые таблицы webauthn_credentials и webauthn_challenges, шесть API-эндпоинтов, а потом несколько раз упрощали сам интерфейс: убрали строку «Войти в редактор сайта», скрыли лишние поля, развели вход по Face ID / Touch ID и вход по email и паролю. Заодно нашли и починили UX-баг на iPhone, из-за которого при фокусе на email-поле всё приближалось и сдвигалось: поля получили явный font-size:16px, чтобы Safari не зумил экран.
Была ещё отдельная работа с логотипами и кэшем. Мы заменили иконки на сайте lysak.olehov.com, в маркетплейсе OleHov и в редакторе LYSAK AgentChat, потом увеличили размер логотипа до 80% вместо 50% и забампили версию кэша до v=20260916bigger. В процессе выяснилось важное: одна из фоновых AI-сессий успевала перезаписать index и мешала обновлению, поэтому мы проверяли результат через внешний readback и свежие ?v=-версии, а не только по HTML. Для iPhone отдельно проговорили стандартное ограничение: старый ярлык «На экран Домой» нужно удалить и добавить заново, чтобы подтянулась новая иконка.
Если смотреть на итог по LYSAK, то здесь уже виден не прототип, а продукт, который приходится доводить до стабильного поведения на реальных устройствах и в реальном кэше. Для контента у нас теперь есть точка опоры, для входа — рабочая WebAuthn-логика, для мобильного интерфейса — меньше лишних движений и меньше шансов сломать отображение.
AgentChat
AgentChat — это мобильный рабочий интерфейс Олега для общения с AI-агентами и управления задачами. Внутри него мы сегодня трогали и систему уведомлений, и память, и каталог скиллов, то есть не отдельную фичу, а сам каркас ежедневной работы.
Сначала обновили механизм непрочитанных сессий: при пуше конкретная сессия теперь сама помечается как непрочитанная, поднимается наверх списка, а на иконке появляется красный кружок с числом. Это уже не просто визуальный индикатор, а полноценная логика сортировки и статуса, которая отрабатывает после реального пуша. Потом мы добавили и проверили сохранение тестовой заметки в память, а следом разобрали архитектуру памяти as-is: где лежит shared memory.json, как устроены слои памяти и чем они отличаются. Отдельно сохранили в файл аудит памяти в формате md, чтобы его можно было скачать из AgentChat как обычный документ.
Ещё на этой стороне мы сделали системную мелочь, которая на деле сильно влияет на работу: добавили напоминание на завтра в 07:00 МСК с задачей вернуться к плану по Memory v2. Это не было абстрактной заметкой “на потом” — напоминание было подтверждено внешним readback и записано как живое событие в расписание.
С точки зрения продукта это полезный сдвиг: AgentChat становится не просто окном для чатов с агентами, а рабочей средой, где сессии, память и документы ведут себя предсказуемо. Для ежедневного использования это важнее, чем ещё один слой визуального оформления.
SEMVO
SEMVO — это AI-приложение для быстрого знакомства, квалификации контактов и продолжения живого диалога. Сегодня здесь фокус был не на новых сценариях, а на том, чтобы убрать лишнее и не ломать базовые действия пользователя.
Мы взялись за некликабельные ссылки в сообщениях: выяснили, что в standalone PWA на iPhone ссылки с target="_blank" могут вести себя нестабильно, особенно если ведут на тот же домен. Параллельно шла задача про контакты: сначала изучили, как сейчас устроен запрос доступа к контактам, затем увидели, что вкладка «Контакты» и карточка разрешения уже реально мешают интерфейсу, и в итоге полностью скрыли их из меню и настроек. Важная деталь — код самой фичи не удаляли, а только убрали из интерфейса, чтобы при необходимости вернуть её можно было без переписывания.
Дальше мы упёрлись в классическую проблему кэша и hidden-атрибутов: оказалось, что карточка оставалась видимой не из-за Safari, а из-за собственного CSS-правила .settings-contacts-card{display:grid}, которое перебивало hidden. После этого добавили явное [hidden]{display:none!important}, подтвердили build v73 и уже на реальном телефоне увидели, что скрытие наконец работает как надо.
Это хороший день для SEMVO в практическом смысле: мы не добавляли “ещё одну умную фичу”, а убрали источники путаницы в интерфейсе и восстановили предсказуемость поведения на iPhone.
SalesMachine
SalesMachine — это продукт про продажи и запись людей на разговор, то есть про воронку, заявки и доведение до контакта. Сегодня мы смотрели на него как на систему, где уже есть данные, но ещё не всё доведено до нужного уровня автоматизации.
Сначала был аудит воронки: разобрали, почему люди до сих пор не записываются, и получили локальный файл аудита с выводом, что верх воронки технически сломан, а парсер лидов работает сильно ниже заданной мощности. При этом было честно зафиксировано, что чинить парсер прямо сейчас — не лучший рычаг, потому что важнее добирать тёплые лиды из уже существующей базы, чем снова лить усилия в слабое место. Дальше мы отдельно обсудили, что Telegram-уведомления уже устарели, потому что в самом Sales Machine есть push-уведомления в приложении, которые могут вести прямо до контакта.
Потом мы проговорили про уведомления и бейджи: бейдж на вкладке «Созвоны» — это не push, а обычный счётчик из приложения, а настоящие push-подписки для salesmachine.olehov.com в базе всё ещё равны нулю. На этой базе даже поставили напоминание на завтра, чтобы вернуться к проверке подписок и следующему шагу.
Рекомендация на завтра: продукту сейчас не нужны новые фичи, нужен трафик/пользователи и аккуратная работа с существующей воронкой. С точки зрения продаж важнее поднять уже имеющиеся контакты и дожать путь до разговора, чем расширять функциональность.
Коротко по остальному
PULSE — починили отображение под поиском в iOS Safari: пока клавиатура открыта, временно отключается sticky-поведение, чтобы нижняя карточка не проваливалась под плашку поиска. Ещё была автоматизация ежедневной сторис-воронки: теперь каждый день в 00:03 МСК публикуется карточка «Мой день» / «Энергия за 24 часа» в Instagram Stories через Zernio.
Sentinel — обновили скилл repair-sentinel-incidents: добавили пункт про Requires=-каскады через несвязанные сервисы. Это скорее системная поправка в знаниях и реакции на инциденты, чем отдельная новая фича.
Итог дня
День получился очень прикладной: мы не строили что-то “в целом”, а шли по конкретным поломкам и доводили их до живого состояния на проде. Больше всего времени ушло на LYSAK, но рядом с этим мы одновременно укрепили AgentChat и подчистили SEMVO и SalesMachine так, чтобы ими было проще пользоваться на телефоне и в реальной работе.
CTA
Если вам близок такой формат работы — когда продукт доводят до рабочего состояния через конкретные правки, а не через абстрактные планы, посмотрите наши продукты и сервисы на olehov.com или отдельно на SalesMachine.
Рассылка новых статей
Новые статьи — на email. Push приходит в приложение Blog. Telegram-рассылка отключена.
Чтобы получать статьи на email, сначала привяжите email в личном кабинете.
Уведомления в приложении: blog.olehov.com → колокольчик.
Получайте новые статьи и разборы
Подпишитесь через email — без спама, только новые материалы.