На главную

AgentChat, HovAI и музыка: день точечных фиксов

Починили файловые вложения и очереди в AgentChat, докрутили HovAI и закрыли несколько прикладных правок в Music, PULSE и других сервисах.

Фокус дня

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

  • AgentChat — 44%
  • Music — 15%
  • Блог — 12%
  • Securiter — 7%
  • Другое — 4%
  • PULSE — 3%
  • Remix — 3%
  • LYSAK — 3%
  • Calendar — 3%
  • HovAI — AI-креатор: Quality Proof — 2%
  • SEMVO — 2%
  • Courier — 2%
  • Switchboard — 2%
  • Snipe — 1%

AgentChat

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

Сначала разобрали контур файлов: почему фото нельзя открыть и скачать, почему некоторые агенты с первого раза не прикрепляют изображение как файл, и почему один и тот же медиафайл мог отрисовываться дважды. В результате починили серверную доставку файлов, исправили домены и авторизацию, обновили карточки и иконки, а также сделали единый viewer и тесты. Отдельно убрали дублирование ссылки и attachment, привели дизайн файловой карточки к одному виду для видео, аудио, изображений и документов, и заменили системные emoji на SVG-иконки из tabler-icons.

Параллельно закрыли тему перезапуска: теперь, когда AgentChat уходит в рестарт, сообщение не теряется молча, а попадает в очередь и показывается прямо в сессии. Добавили плашку о том, что сообщение ждёт перезапуска, сделали её в списке сессий и внутри открытого чата, а также убрали ситуацию, когда кнопка отправки крутится впустую. После перезапуска проверили новый процесс, HTTP 200, пустую очередь и то, что статус в чате реально приходит ходом.

Ещё один кусок дня — уведомления. Мы добились того, чтобы активное устройство не получало Push, когда пользователь уже сидит в приложении, но уведомление при этом сохраняло название сессии и корректный deep link. После тестов перезапускали AgentChat и подтверждали, что новая логика работает в живом процессе.

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

HovAI

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

Сначала сделали аудит доступных возможностей HovAI и вынесли их в отдельный реестр на три уровня: «Главное», «Сильные стороны» и «Приятные мелочи». Внутри появился блок #profile-features и секция #onboarding, а на странице и в скриптах закрепили экран «Возможности», чтобы новичок видел не просто набор кнопок, а смысл продукта. Проверка на проде показала, что главная страница и API реестра работают, а сервис после перезапуска поднялся корректно.

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

Был и отдельный цикл по ассистентам: мы подтвердили, что ассистент — это в первую очередь системная инструкция плюс настройки, и обновили визуальный слой, иконки, готовые вопросы и усиленные промпты. На бою это проверялось через внешний readback, без фантазий о скрытой магии.

Если смотреть на день целиком, HovAI двигался как платформа: не одна фича, а сразу несколько контуров — возможности, визуал, ассистенты, шаблоны и диагностика. Для понимания направления можно ещё глянуть архив по HovAI.

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

Music

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

Мы разбирали добавление своей музыки из приложения в Яндекс Музыку: сверяли трек «Вовремя», находили исходный аудиофайл, проверяли вход, QR-код и то, сохраняется ли сессия после авторизации. Отдельно исправляли неверную проверку входа: сначала фон ошибочно принимал техническую cookie за авторизацию, потом это поправили и сделали новый QR, потому что прошлый файл был снят до перехода на экран кода.

Параллельно отправили письмо в поддержку MusicAlligator с вопросами о том, принимают ли полностью созданные в Suno треки и какие документы нужны для доставки в Яндекс Музыку. Это был не разговор «в вакууме», а прикладная проверка, что дальше делать с авторским треком и как не уткнуться в стену на этапе публикации.

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

PULSE

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

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

Позже подтвердили, что на iPhone практики уже склеены в один трек по тому же принципу, что и в «Душе», а экран блокировки и кнопка показывают текущий трек по таймкодам. То есть мы уже не просто включаем музыку, а даём ей жить в фоновом сценарии без ручного контроля.

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

SEMVO

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

Логотип SEMVO заменили на присланную картинку, пересобрали apple-touch-icon, favicon и иконки 192/512, а потом проверили, что сайт отдаёт их с кодом 200. Дополнительно проверили, что новая иконка работает и на semvo.ru, потому что домен просто проксирует тот же сервер. Для телефона это по-прежнему означает стандартный шаг: удалить старый ярлык и добавить заново, чтобы подхватилась новая версия.

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

Courier

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

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

Потом задача ушла в другой контур, и от прямых правок в этом приложении отказались: уведомления решено было переносить в другое место, так что для Courier день закончился без изменений, но с полезной развилкой по архитектуре.

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

Итог дня

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

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

Если хотите посмотреть сам продукт

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