1.2.0
Крупное обновление платформы — 2026-04-24
Крупное обновление платформы:
чат-виджет для сайтов
промокоды
магазин AI-токенов
6 новых узлов конструктора (распознавание и синтез речи, задержка, генерация изображений, запрос данных, возврат клиента)
веб-поиск у ИИ-агента
подписанные ссылки и полная изоляция файлового хранилища
защита от перегрузок и флуда
публичные шаринг-ссылки с TTL
ИИ-агенты платформы понимают токены и черновики
undo/redo в редакторе сценариев
десятки улучшений UX и безопасности.
Добавлено
1. Чат-виджет для сайта
Новый канал связи — встраиваемый чат-виджет для сайтов клиентов (аналог JivoSite), настраивается в разделе Интеграции.
Подключается одним
<script>, работает через WebSocket — сообщения оператора приходят мгновенно без опросаПоддерживает сценарии бота с инлайн-кнопками, обмен файлами и фото, смайлы, markdown в ответах
Кнопки быстрого старта — до 5 кнопок на приветственном экране с привязкой к отдельным сценариям через триггер «Виджет: Callback кнопка»
Prechat-форма идентификации посетителя (имя, email, телефон)
Узел «Запросить данные» — инлайн-форма с полями (текст, email, телефон, число, дата, выбор из списка) с маской и валидацией; заменяет поле ввода, а не показывается как сообщение в истории
Мобильная адаптация — на экранах уже 640px виджет открывается в полный экран; inline-кнопки переносятся; iOS Safari больше не зумит инпуты
Бейдж непрочитанных на баббле, если оператор написал пока вы были вне сайта
Бейдж «Бот» / «Оператор» над каждым сообщением — видно, кто пишет
Передача содержимого страницы в ИИ-агента через переменную
{{context.page_body}}— можно отвечать на вопросы по тексту страницы, где сейчас клиентURL страницы клиента в контексте сценария через
{{context.page_url}}— обновляется при каждом сообщенииПауза бота при ответе оператора на 5 минут — после паузы сценарий стартует с чистого состояния
Тайм-аут сессии 3 часа — после паузы клиент видит приветствие с кнопками быстрого старта
Защита от переполнения хранилища — если у компании закончилось место, скрепка автоматически скрывается
Разрешённые типы файлов: изображения (JPEG, PNG, GIF, WebP) и PDF — опасные типы отклоняются на сервере
Виджет учитывается как отдельный источник клиентов в статистике
2. Промокоды для активации платных тарифов
Система промокодов — администратор платформы может раздавать бесплатный доступ к платным тарифам на фиксированный срок.
Для пользователя (Настройки → Подписка):
Кнопка «Ввести промокод» рядом со «Сменить тариф»
По успешной активации вы мгновенно переходите на указанный тариф — без списания с баланса
Во время промо карточка баланса показывает «Промо до DD.MM.YYYY» и подпись «После — даунгрейд, без списания», чтобы не было страха неожиданного автосписания
По окончании срока система сама возвращает прежний тариф, токены не обнуляются — переносятся с кэпом по лимиту нового тарифа
Для администратора (Админка → Управление тарифами → вкладка «Промокоды»):
Создание кода (только латиница, цифры, дефис и подчёркивание)
Привязка к любому активному платному тарифу (Pro, Business)
Срок промо в днях, дата окончания, максимальное число использований
Ограничение на список пользователей через мультиселект с поиском по email и названию компании — или публичный код
Статистика активаций: сколько раз применили, в скольких компаниях, когда последний раз
Включение / выключение / удаление
Проверки:
Нельзя применить промокод на тариф ниже текущего
Нельзя применить промокод на тот же тариф — продлевать через промо не получится
Параллельные промокоды не активируются — пока идёт один, второй отклоняется
Промо на Business поверх админского
custom_token_limitкорректно перебивает override на время промо и восстанавливает его послеЗащита от перебора: 10 неверных попыток в час — блокировка на 60 минут
3. Магазин дополнительных AI-токенов
В карточке «AI Токены» появилась кнопка «Пополнить токены» с 4 пакетами: 100K за 150 ₽, 500K за 600 ₽ (−20%), 1M за 1000 ₽ (−33%), 5M за 4000 ₽ (−47%). Оплата с баланса компании; если средств не хватает — кнопка превращается в «Пополнить баланс на N ₽» и ведёт в обычный топ-ап.
Купленные токены — отдельный кошелёк: не сгорают в конце месяца, переносятся между месяцами. Расход идёт в правильном порядке: сначала тратится тарифный лимит, и только когда он исчерпан — купленные. При остатке ниже 10% карточка подсвечивается красным с предупреждением «рекомендуем пополнить». Если и тарифные, и купленные закончились — AI-запросы блокируются с понятным сообщением.
В Админка → Управление тарифами → Пакеты AI-токенов можно создавать, редактировать, включать/выключать и удалять пакеты — у каждого настраивается название, количество токенов, цена, процент скидки, порядок сортировки и видимость. Изменения применяются мгновенно.
4. Новые узлы конструктора
Текст в речь (иконка громкоговорителя, изумрудная). Озвучивает текст голосом через Gemini TTS:
30 голосов с русско-английскими описаниями характера (Уверенный, Бодрый, Информативный, Лёгкий и т.д.)
Одноголосая озвучка или диалог двух спикеров с указанием их имён
Два режима: Авто (ИИ-режиссёр сам расставляет интонации) и Ручной (вы сами добавляете теги)
Каталог аудио-тегов прямо в редакторе: эмоции (
[excited],[sad]...), манера речи ([whispers],[sarcastic]...), звуковые эффекты ([laughs],[sighs]...)Доставка как настоящее голосовое в Telegram (
sendVoice), как audio-attachment в MAX, как audio-сообщение в виджетеЛимит 30 000 символов ввода, максимум 2 спикера
Индикатор «записывает голосовое» в чате во время генерации
Речь в текст (иконка микрофона). Принимает URL аудио и возвращает распознанный текст в переменную сценария. По умолчанию автоматически берёт аудио из входящего сообщения — работает с голосовыми Telegram, MAX, Avito, виджета. Автоопределение языка или принудительный код. Результат сохраняется в {{transcript_text}}, {{transcript_text_lang}}, {{transcript_text_confidence}}.
ИИ-агент с распознаванием голоса — галочка «Расшифровывать голосовые» в настройках узла ИИ-агент. При входящем аудио от клиента агент автоматически получает текстовую расшифровку и может ответить как на обычное сообщение. Транскрипт доступен в переменных {{_user_audio_transcript}}.
Nano Banana — генерация и редактирование изображений через Gemini / OpenAI-совместимые API. Поддерживает вход из переменных (фото от клиента) и статических изображений из хранилища компании.
Задержка — после полной переработки узел наконец реально работает. Поддерживает интервалы от 1 секунды до суток и больше, надёжно переживает перезапуски сервера. Новая опция «Поведение при повторном входе»: «Сбрасывать таймер» или «Игнорировать (fire-once)» — для кейсов «напомнить через 24 часа после первого контакта», когда вторичные заходы не должны обнулять обратный отсчёт.
Возврат клиента — новый триггер для автоматической реактивации лидов. Сам инициирует общение с клиентами, которые уже побывали в сценарии и замолчали: брошенная корзина, реактивация, дожим лида. Настройки: база отсчёта (последнее сообщение клиента или активность сессии), задержка N минут/часов/дней, частота (1 раз / после каждого прохождения / раз в N времени), поведение при активной сессии (не трогать или заменить на новую ветку). Жёсткие лимиты от спама: минимум 5 минут на задержку, 1 час между повторами, максимум 100 срабатываний на клиента, не более 50 за один прогон планировщика — чтобы не попасть под рейт-лимит Telegram / MAX / Avito.
Запросить данные — инлайн-форма для виджета (см. пункт 1 про виджет).
5. ИИ-агент с веб-поиском и доступом к содержимому страницы
В узле «ИИ-агент» появилась опция «Разрешить поиск в интернете» — модель Gemini может искать актуальную информацию в Google, читать страницы и проверять факты перед ответом. Полезно для анализа URL клиента, свежих новостей, цен, справок. Работает одновременно с continueTriggers — модель сама решает, искать или перейти по сценарию.
Плюс сервер-сайд фетч страницы для кейса «документный ассистент»: если в system prompt есть {{context.page_url}} и включён веб-поиск, handler автоматически качает HTML, очищает и докладывает в промпт. Модель видит реальный текст документа и отвечает по нему.
Источники, которые модель реально использовала, сохраняются в логах узла: список URL с заголовками и поисковые запросы, улетевшие в Google — полезно для отладки.
В логах сценария теперь сохраняется:
grounding_sources— список URL с заголовками, которые модель использовалаgrounding_queries— поисковые запросы, которые улетели в Google
Повышенное списание токенов: +5000 токенов за каждый grounded-запрос (отражает фиксированную цену Google Search у Google). Настраивается в админке → «Биллинг ИИ».
6. Undo/Redo в редакторе сценариев
Добавили классическое отмена/возврат действий на холсте, как в текстовых редакторах:
Ctrl+Z(илиCmd+Zна Mac) — откатить последнее действие: перемещение узла, удаление узла/связи, добавление узла/связи, редактирование свойствCtrl+Shift+Z/Ctrl+Y— вернуть отменённое действие
Хранится до 50 последних состояний в рамках сессии редактирования. Работает на любой раскладке клавиатуры (русской, английской) — распознаёт физическую клавишу, а не символ. Горячие клавиши показаны в подсказке внизу холста.
7. Новые возможности AI-ассистента платформы
AI-ассистент в шапке теперь видит существенно больше контекста:
Разделение черновик / опубликованная версия сценария — на вопрос «что я изменил в боте X» ассистент покажет отдельно опубликованную версию и draft
Цели сценария — отвечает на запросы «какие цели у бота Y», «что считается успехом»
Честная картина по токенам — на вопрос «сколько осталось токенов» показывает использование / лимит / остаток, с разбивкой по планированию, генерации, агентам, RAG и задачам. Раньше отвечал «весь лимит в вашем распоряжении» без счётчика использованных
Понимание типовых фраз — «последний сценарий», «включи бота X», «какие задачи на сегодня»
ИИ-ассистент конструктора обновлён до версии v11 — знает про все новые узлы (TTS, STT, Возврат клиента, Задержка с режимом ignore, форматирование markdown) и корректно генерирует сценарии с первого раза.
Кнопка «Очистить историю» действительно удаляет сессию, а не только прячет сообщения в UI.
8. Публичные шаринг-ссылки с TTL
В меню каждого файла хранилища появился пункт «Поделиться (TTL-ссылка)» с выбором срока действия: 1 час / 6 часов / 1 сутки / 7 дней / 30 дней / бессрочно.
Мгновенный отзыв по клику — получатель увидит страницу «Ссылка недоступна»
В таблице файлов бейдж «Расшарен» с подсказкой о сроке и количестве скачиваний
Фото, видео, аудио, PDF — открываются прямо в браузере
HTML, SVG, XML — принудительно скачиваются
Имя файла в диалоге «Сохранить как» — чистое, без технических префиксов
Старое «Копировать URL» теперь выдаёт подписанную ссылку на 1 час; для долговременного шаринга — «Поделиться».
9. Память ИИ-агентов
В настройках узлов ИИ-агент и RAG-диалог появился чекбокс «Память о клиенте» с опциональной настраиваемой инструкцией. Агент может запоминать важные факты о клиентах (предпочтения, бюджет, историю обращений) между разговорами. Клиент определяется автоматически из текущего чата. Записи памяти сохраняются в базу знаний (коллекция «Память ИИ-агентов»), привязываются к клиентам и видны:
В разделе База знаний с бейджами привязанных клиентов
В карточке клиента на вкладке «Память ИИ»
10. Защита от спама и флуда
Введены лимиты на все входные точки:
Виджет — 5 сообщений за 10 сек / 20 за минуту на посетителя
Telegram / MAX / Avito webhook — 30 сообщений в минуту на внешнего пользователя (один спамер не блокирует остальных клиентов компании)
Отправка сообщений оператором — 15/60 на пару
оператор + чатПри превышении виджет показывает клиенту «⏳ Вы пишете слишком быстро…» вместо падения
Квота считается per-вкладку — открыли конструктор в нескольких вкладках, каждая получает свой бюджет
11. Изоляция файлового хранилища по компаниям
Критичный апдейт безопасности:
Кнопки «Скачать» и превью используют короткоживущие подписанные ссылки — никаких постоянных публичных URL
Логотипы виджетов подписываются индивидуально под каждого гостя чата
Двойная проверка доступа для виджета
Улучшено
Сайдбар
Новый логотип MicroCRM в шапке вместо иконки-молнии на градиенте. Название без градиента — обычным текстом, читается в любой теме
Контекстное меню на логотипе — правый клик открывает меню: открыть сайт, скопировать логотип в буфер (PNG), скачать логотип, скачать favicon
ФИО и тариф вместо email — в футере сайдбара ФИО из профиля и бейдж тарифа (Free / Pro / Business). При наведении — карточка со статистикой (AI токены, клиенты, сотрудники, сценарии, чаты, шаблоны, проекты) с прогресс-барами: жёлтым при приближении к лимиту, красным при превышении
Версия продукта в правом нижнем углу — клик открывает https://book.microcrm.online/changelog в новой вкладке
Колокольчик уведомлений переехал к имени пользователя в футер — в шапке стало свободнее, подсказки о непрочитанных рядом с личным блоком
Чаты
Разделители дат в чате — «Сегодня», «Вчера», «5 апреля» с учётом таймзоны
Визуальное выделение бот-сообщений — фиолетовый фон, рамка и иконка бота
Вкладки «Сообщения» / «Бот» — вкладка «Сообщения» показывает только переписку с оператором, диалог с ботом — на вкладке «Бот». Входящие сообщения во время бот-сессии больше не падают в «Сообщения»
Непрочитанные наверху списка — чаты с непрочитанными всегда в начале списка, внутри каждой группы по времени последнего сообщения
Бейдж непрочитанных в сайдбаре — красная цифра рядом с пунктом «Чаты» в реальном времени
Сохранение бот-диалога в CRM — вкладка «Бот» показывает и вопросы клиента, и ответы бота
Форма
request_inputот узла «Запросить данные» рендерится как карточка с полями и иконкамиИнлайн-кнопки виджета отмечаются индикатором «Нажата кнопка» — видно что клиент нажал, а не написал
Кросс-канальная передача медиа между Telegram и MAX сохраняется корректно, включая ссылки в тексте
Видео любого размера пересылается между Telegram и MAX — раньше файлы больше 20 МБ не передавались
Экран входа
Переключатель темы в правом верхнем углу — можно адаптировать экран входа до логина
Новые фоновые видео (светлая / тёмная тема) — раздаются с нашего прокси, без зависимости от стороннего CDN
Переключатель компаний
Сортировка по алфавиту — сначала активные русские, потом активные английские, затем так же неактивные
Выравнивание по левому краю — название в шапке больше не «прыгает» по центру
Автовыбор самой старой компании-владельца при входе — больше не нужно переключаться после логина
Редактор сценариев
AI-кнопка на холсте переименована с «ИИ помощник» на короткое «AI», автоматически уезжает при открытой панели свойств узла, скрывается когда уже открыт AI-ассистент
Анимированная подсветка AI-кнопки — вращающаяся conic-gradient рамка, пульсирующее свечение, shimmer на иконке.
Хендлы (точки соединения) обновлены: 22px, бордер в цвете узла, фон узла — визуально аккуратнее
Плавное перемещение узлов —
snapToGridвыключенТултипы переменных в текстах сообщений — наведение на
{{...}}показывает, к чему относится переменная (имя клиента, текст сообщения и т.д.)Клик по переменной ставит курсор для редактирования — раньше тултип перехватывал клик
Логи сценария — длинные ошибки не растягивают панель, есть скролл внутри блока. В свёрнутой карточке превью ошибки до 70 символов с многоточием. Короткий ID виджет-посетителя (первые 6 символов) вместо полного UUID
Статичные иконки lucide вместо эмодзи в типах триггеров — единообразно с остальным UI
Сообщения и форматирование
Markdown-редактор для всех сообщений во всех узлах-отправителях (Отправить сообщение, Уведомления, Avito, каналы Telegram и MAX, Выход из бота) — жирный, курсив, зачёркнутый, моноширинный, ссылки, маркированные и нумерованные списки, предпросмотр. Переменные
{{context.xxx}}подсвечены цветом — сразу видно подстановкиАвтоконвертация формата под получателя: Telegram и MAX — HTML, Avito — plain text, виджет — markdown напрямую
Markdown в ответах бота виджета — жирный, курсив, код, зачёркнутый, ссылки, заголовки, списки, блоки кода. Безопасно, без XSS
AI-провайдеры
Редизайн карточек в админке в стиле «Подписки»: градиент, скруглённые углы, крупное название модели, pulse-индикатор, стеклянная плашка статистики
Три назначения на карточке: Текст / Картинки / Звук — без открытия редактора
Актуальный список моделей Gemini — убраны устаревшие 1.5, добавлены 2.5/2.0/3.x включая TTS
Выбор модели из списка у всех провайдеров + возможность ввести свою
Переключатели возможностей (текст / изображения / звук) отдельными тогглами вместо одного чекбокса
Тест подключения работает для TTS-моделей Gemini с правильным форматом запроса
Узел ТТС
Компактное отображение «куда сохранится аудио» — одна строка с иконкой дискеты
Чистый UI — без лишних пояснений и технических подписей
Прочее
Стилизация «Настройки клиентов» в стиле «Подписки»: gradient-header, rounded-2xl карточки, иконки типов переменных
Оффканвас «Добавить клиента» — hero-header с gradient, стилизованные бейджи TG / MAX
Раздел Интеграции в настройках — две колонки на десктопе, одна на мобилке
Все системные AI-вызовы (cron, webhook, задачи, каналы, RAG) идут через прокси — IP-лимиты внешних API больше не упираются в один адрес
Исправлено
Дубликаты клиентов при одновременных сообщениях — если один посетитель писал несколько сообщений почти одновременно, создавалось 2-5 клиентов. Теперь параллельные запросы физически не могут создать дубль
Сохранение ссылок при кросспостинге Telegram → MAX — ранее markdown-ссылки теряли кликабельность
Промо-тариф не показывает автосписание — вместо «Веха списания / 9990 ₽» во время промо видно «Промо до / без списания»
UI после активации промокода обновляется мгновенно — без перезагрузки страницы
Двойной учёт токенов в некоторых кейсах исчерпания тарифа — расход корректно распределяется между тарифом и купленным кошельком
Триггер «Возврат клиента» — исправлена частота «после каждого нового прохождения сценария»
Включение тёмной темы на экране входа — переключатель теперь доступен до логина
Ошибка 409 при создании виджета для второй компании — владелец нескольких компаний наконец может создать виджет для каждой
WebSocket виджета — исправлена корневая причина, из-за которой сообщения оператора не доходили до клиента в виджете
Классификация Сообщения vs Бот в виджете — если модель вернула пустой ответ, но сессия активна, сообщение всё равно идёт на вкладку «Бот»
Порядок сообщений в Telegram-чате — клиентское
/startбольше не отображается после ответа ботаCtrl+Z на русской раскладке — работает на любой раскладке (распознаём физическую клавишу)
Ctrl+Z реально откатывает — раньше snapshot находился, но визуально ничего не менялось из-за ошибки в стеке истории
Кнопки на узлах после Ctrl+Z — больше не «мёртвые», обработчики re-attach'ятся
Телеграм-индикатор при обработке голосовых — теперь «печатает», а раньше «записывает голосовое»-
ИИ-ассистент задач путал вопросы с командами — «какие задачи просрочены?» больше не обрабатывается как попытка создать задачу
Тултип тарифа в сайдбаре больше не прячется за виджетами дашборда
AI-ассистент платформы не отвечает пустым сообщением — пользователь получает понятный текст «Не получил содержательного ответа, попробуйте переформулировать»
ИИ-ассистент конструктора правит черновик сценария, а не опубликованную рабочую версию
Кнопка «Применить план» не затирает существующий сценарий — при наличии узлов идёт в режим редактирования, при пустом — в режим создания
Кнопка «Применить изменения» под сообщением AI больше не висит активной после применения
Image-only AI-ключи больше не показываются в текстовых ИИ-узлах — они видны только в узле Nano Banana для генерации изображений
Email-подтверждение при регистрации — раньше при регистрации любой фейковый email автоподтверждался. Теперь подтверждение только после клика по ссылке в письме
Диалог «Поделиться файлом» — кнопка копирования реально кладёт ссылку в буфер обмена; ссылка всегда HTTPS; работает в HTTP-контексте через fallback
Сообщения клиента во время бот-сессии не увеличивают счётчик непрочитанных
Настройки узлов «MAX Канал» и «Триггер поста в канале» не сбрасываются при сохранении сценария
Токены каналов корректно находятся в кросс-платформенных сценариях (TG-бот управляет MAX-каналом и наоборот)
Защита от зацикливания кросспостинга — бот не подхватывает свои же сообщения
Безопасность
ACL-проверки на финансовых RPC — нельзя дёрнуть с чужим company_id и сжечь токены, купить пакет за счёт чужого баланса, прочитать чужие балансы или статистику
Изоляция файлового хранилища по компаниям — все приватные bucket'ы (чат-медиа, озвучка, пользовательское хранилище, документы) закрыты на уровне БД
Подписанные ссылки с TTL вместо постоянных публичных URL — для скачивания, превью, шаринга, виджет-чатов
SSRF-защита в сервер-сайд фетче страниц из виджета — блокируются loopback, приватные сети, link-local (AWS metadata), IPv6 ULA
Stored-XSS защита для расшаренных файлов — HTML/SVG/XML/JS принудительно скачиваются, а не рендерятся в браузере под доменом CRM
Защита от перебора промокодов
Whitelist по расширению файла при отдаче через shared-ссылку — даже если заливать
picture.jpgс HTML-байтами внутри, он отдастся как image/jpeg, HTML не выполнитсяRate-limiting на все входные точки с настраиваемыми лимитами
Последнее обновление