For the complete documentation index, see llms.txt. This page is also available as Markdown.

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 на все входные точки с настраиваемыми лимитами


Последнее обновление