Вернуться в список

Модуль Первый линк: AI-чат для сайта

Модуль Первый линк: AI-чат для сайта

AI-чат для сайта на 1С-Битрикс: обзор модуля «Первый линк: AI-чат»

Модуль llink.aibot добавляет на сайт чат-виджет с искусственным интеллектом: отвечает посетителям из локальной базы знаний, а на остальные вопросы — через выбранную AI-модель. Потоковый вывод ответа, приём заявок прямо в чате, журнал переписок с поиском — без единой правки в шаблоне сайта.

Версия 1.0.6 Прошёл аудит безопасности Маркетплейса 1С-Битрикс 5 AI-провайдеров + OpenAI-совместимые API Демо-период 7 дней

Зачем сайту AI-чат

Посетитель сайта чаще всего приходит с одинаковыми вопросами: сколько стоит, какие сроки, как оформить заказ, где скачать счёт. Консультант не всегда доступен, а страница контактов или каталог услуг — не самый быстрый способ получить ответ.

Модуль «Первый линк: AI-чат» закрывает эту задачу целиком:

  • мгновенные ответы по FAQ — типовые вопросы разбирайте заранее в базе знаний, и посетитель получает ответ без отправки запроса к нейросети (бесплатно и без задержки);
  • AI-ответ на нестандартные вопросы — остальное разбирает выбранная модель, отвечая с учётом вашей системной инструкции и сведений о компании;
  • захват заявки — если посетитель готов к диалогу, форма заявки открывается прямо в чате: письмо менеджеру, подписанный webhook и событие для интеграции с CRM;
  • ничего не теряется — переписка восстанавливается после перезагрузки страницы, а админ-журнал хранит все диалоги с поиском.

Что умеет модуль

  • Автоустановка виджета на все страницы сайта без правок в шаблоне (или ручное подключение одной строкой).
  • База знаний с поиском по ключевым словам, тремя режимами работы, редактированием в админке, импортом и экспортом JSON, стартовым FAQ на 19 записей.
  • Потоковый вывод ответа (SSE) — текст появляется по мере генерации, как в ChatGPT.
  • Markdown в ответах: списки, ссылки, код, жирный текст.
  • Быстрые вопросы и кнопки-подсказки, которые продолжают беседу одним кликом.
  • Форма заявки в чате с настраиваемым набором полей.
  • Журнал диалогов с поиском: источник ответа (база или модель), модель, расход токенов, IP, статусы.
  • Антифлуд, капча, стоп-лист ботов и мастер-выключатель модуля.
  • Гибкое оформление: 4 позиции, 11 цветов, размеры, шрифт, анимации.

Как это работает под капотом

Служебные адреса модуля перехватываются на событии ядра main/OnBeforeProlog — до обращения к маршрутизации. Поэтому не требуется изменять .htaccess, конфигурацию nginx или правила urlrewrite: установщик сам добавляет блок автоподключения в init.php сайта. Правки в шаблон не нужны вообще.

Служебные адреса

Префикс по умолчанию — llink-aibot, меняется в настройках, если адрес конфликтует с чем-то на сайте.

МетодАдресНазначение
POST/llink-aibot/api/ответ в формате JSON
POST/llink-aibot/stream/потоковый ответ (SSE)
POST/llink-aibot/lead/отправка заявки
GET/llink-aibot/captcha/картинка капчи
GET/llink-aibot/history/переписка своей сессии
GET/llink-aibot/ping/проверка ответа модуля

Потоковые ответы (SSE)

Виджет ведёт поток через POST-запрос и fetch-ридер — EventSource не используется, поэтому работает и с длинными промптами, и с прокси, которые плохо дружат с классическим SSE. События протокола: session, delta, done, error.

Восстановление переписки

Идентификатор сессии хранится в localStorage посетителя. Адрес history/ отдаёт только тот диалог, чей идентификатор совпал, — чужие переписки через него прочитать нельзя. Полный доступ ко всем диалогам есть только внутри админ-журнала.

AI-провайдеры

Модель выбирается на вкладке «AI-модель»: провайдер, ключ, адрес API, модель, температура, лимит токенов, таймаут, глубина истории. Готовые адаптеры:

ПровайдерПримеры моделей
BitrixGPTмодели VibeCode
OpenAIGPT-серия
Yandex GPTYandexGPT (авторизация: apikey или bearer)
GigaChatGigaChat API (scope настраивается: personal, team, корпоративный)
AnthropicClaude
Любой OpenAI-совместимый APIOpenRouter, Together, Groq, Ollama, vLLM, LM Studio

Кнопка «Проверить подключение» делает минимальный запрос к модели сразу после ввода ключа — конфигурация проверяется до того, как на чат начнут приходить посетители.

База знаний: ответы без расхода токенов

В каждой записи: вопрос (или несколько формулировок) и ответ. Поиск идёт по ключевым словам с повышенным весом полного совпадения фразы; запись срабатывает, когда совпадение превышает настраиваемый порог.

  • Режимы работы: «сначала база знаний» (модель включается только если подходящей записи нет), «только база», «база выключена»;
  • Дополнительно: порог совпадения, дамп всей базы в системный промпт;
  • В админке: добавление, изменение, удаление записей, импорт и экспорт JSON;
  • Уже при установке база заполнена стартовым FAQ на 19 записей (лицензии 1С-Битрикс, Битрикс24, контакты, приветствие и другие) — заготовку удобно отредактировать под свои услуги или целиком заменить на свою базу.

Заявки из чата: письмо, webhook и событие для CRM

Форма заявки открывается внутри чата; состав полей настраивается (например, имя, телефон, комментарий). По заявке одновременно срабатывают три канала доставки:

  • Письмо на адреса администраторов (адреса задаются в настройках);
  • Webhook с HMAC-подписью тела — обработчик может проверить целостность и происхождение запроса;
  • Событие OnAibotLead — стандартный обработчик для интеграции. В параметре лежат поля заявки, источник и ссылка на переписку:
use Bitrix\Main\Event;
use Bitrix\Main\EventManager;

EventManager::getInstance()->addEventHandler(
    'llink.aibot',
    'OnAibotLead',
    static function (Event $event) {
        $lead = $event->getParameter(0);
        // передаём данные в CRM: поля заявки, источник, ссылка на диалог
    }
);

Журнал переписок

Каждый диалог хранится целиком: сообщения обеих сторон, источник ответа (база знаний или конкретная модель), количество потраченных токенов, IP посетителя, статусы и ошибки — с полнотекстовым поиском по текстам. Запись отключается одним переключателем (например, для страниц, где ведётся обмен персональными данными) — тогда переписка вообще не пишется, но заявки сохраняются.

Срок хранения настраивается: агент очистки удаляет устаревшие записи автоматически.

Оформление виджета

Виджет вписывается в дизайн сайта без правки CSS:

  • 4 позиции на экране (углы) с точной настройкой отступов;
  • 11 цветов: основной, текст на нём, фон окна и ленты, цвета реплик, границы, ссылки;
  • размеры окна и пузыря, скругления, размер и семейство шрифта, тень, анимация;
  • имя бота, статус, аватар (картинка или 1–2 буквы), приветствие, подсказка в поле ввода;
  • быстрые вопросы и ссылки на страницы сайта в нижней части окна;
  • адаптивный дизайн, отдельная настройка отображения на мобильных;
  • исключения по URL: чат не показывается на /cart/, /checkout/ и любых заданных адресах.

Безопасность

Перед публикацией в Маркетплейсе 1С-Битрикс модуль прошёл несколько раундов предмодерационного аудита безопасности; все замечания устранены, журналы версий приложены.

Что защищает модуль от злоупотреблений публичными эндпоинтами:

  • Антифлуд: лимит запросов на посетителя (по умолчанию 10 в минуту и 100 в сутки), общий по сайту (60 в минуту) и лимит длины сообщения.
  • Штатная капча ядра Bitrix: посетитель вводит код с картинки, правильный ответ хранится только на сервере — автоматический обход по содержимому вопроса невозможен.
  • Стоп-лист ботов по User-Agent.
  • Мастер-выключатель: один переключатель гасит и виджет, и все служебные адреса — удобно, чтобы мгновенно остановить расход токена или приём публичных запросов на время всплеска злоупотреблений.
  • Приватность истории: переписку другой сессии прочитать нельзя.
  • Ничего наружу: сырые тексты ошибок AI-провайдера никогда не отдаются посетителю (только обобщённые сообщения, детали — в серверный журнал).
  • CORS выключен по умолчанию.
  • Исходящие запросы к AI-провайдерам идут только по HTTPS с проверкой резолвнутых адресов против приватных диапазонов (защита от SSRF).
  • Автоочистка журналов агентом по расписанию.

Демо-период и лицензирование

Демо-версия даёт 7 дней полного доступа с обратным отсчётом в админке. Что происходит по истечении срока:

  • чат продолжает отвечать из базы знаний — бесплатно и без расхода токенов;
  • запросы к AI-модели не отправляются, посетитель получает настраиваемый текст «Ответ после демо-периода» (вкладка «Виджет»);
  • в админке появляется понятное уведомление, а кнопка «Проверить подключение» объясняет причину, не расходуя токены.

Для проверки поведения после истечения срока без ожидания есть переключатель «Ограничить модуль бесплатным сроком» на вкладке «Виджет». Полная версия, купленная в Маркетплейсе 1С-Битрикс, ограничений по сроку не имеет.

Установка

  1. Скопируйте модуль в /bitrix/modules/llink.aibot/.
  2. Очистите файловый кеш: Настройки → Настройки продукта → Очистка файлов кеша.
  3. Установите модуль: Настройки → Настройки продукта → Модули.
  4. Откройте настройки модуля, вкладка «AI-модель»: выберите провайдера, вставьте ключ и нажмите «Проверить подключение».
  5. По необходимости заполните «Промпт» (инструкция ассистенту, сведения о компании) и «База знаний».

Установщик сам создаёт таблицы, записывает настройки по умолчанию, заполняет базу знаний стартовым FAQ, копирует файлы виджета, добавляет блок автоподключения в init.php сайта и регистрирует агента очистки журналов.

Ручное подключение (одной строкой)

Если нужен контроль места вывода — выберите режим «Вручную» на вкладке «Виджет» и добавьте вызов в шаблон:

use Bitrix\Main\Loader;
if (Loader::includeModule('llink.aibot')) {
    \llink_aibot::addWidget();
}

Системные требования

КомпонентТребование
PHP8.2+ (расширения mbstring, json, curl, openssl)
1С-Битриксверсия ядра 20.0+
База данныхMySQL 5.7+ / MariaDB 10.3+
Браузерыподдержка fetch, ReadableStream, localStorage
Сетьдоступ сайта к HTTPS-API выбранного AI-провайдера

Ответы на частые вопросы

Что будет, если AI-провайдер оказался недоступен или бюджет исчерпан?

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

Можно ли отключить AI и оставить базу знаний?

Да. На вкладке «База знаний» выберите режим «Только база знаний» — ответы будут генерироваться исключительно из ваших записей без запросов к модели.

Как избежать утечки данных переписки?

Переписку можно не сохранять вовсе (переключатель записи диалогов), ограничить срок хранения или задать страницы, где чат не показывается. Чужой доступ к перепискам через публичные адреса исключён: API history/ отвечает только по идентификатору собственной сессии посетителя.

Нужны ли навыки разработки?

Нет. Всё настраивается в админке; код требуется только для ручного подключения виджета в шаблоне (одна строка) или кастомной интеграции заявок с CRM (один обработчик события).

Попробуйте на своём сайте

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

Открыть демо Сайт «Первый линк»

Вопросы по модулю и поддержка: client@1lsite.ru · Пн–Пт 9:00–18:00 (мск) · ответ на критические проблемы — до 24 часов

Материал обновлён для версии модуля 1.0.6 · «Первый линк», 2026

Подписывайтесь на наш MAX-канал

Новости о 1С-Битрикс и Битрикс24, обзоры обновлений, полезные кейсы и спецпредложения по лицензиям.

Подписаться Бесплатно