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

Первый линк: AI-чат для сайта (llink.aibot) - решение для Битрикс

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

0
15 000 руб
Первый линк: AI-чат для сайта (llink.aibot) - решение для Битрикс

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

Зачем сайту 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 |
| OpenAI | GPT-серия |
| Yandex GPT | YandexGPT (авторизация: apikey или bearer) |
| GigaChat | GigaChat API (scope настраивается: personal, team, корпоративный) |
| Anthropic | Claude |
| Любой OpenAI-совместимый API | OpenRouter, Together, Groq, Ollama, vLLM, LM Studio |

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

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

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

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

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

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

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

Каждый диалог хранится целиком: сообщения обеих сторон, источник ответа (база знаний или конкретная модель), количество потраченных токенов, 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 сайта и регистрирует агента очистки журналов.

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

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

[CODE]use Bitrix\Main\Loader;
if (Loader::includeModule('llink.aibot')) {
\llink_aibot::addWidget();
}[/CODE]
Ответы на частые вопросы
Что будет, если AI-провайдер оказался недоступен или бюджет исчерпан?

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

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

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

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

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

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

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

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

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

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

Возможности:
- Автоматическая установка виджета на всех страницах сайта — без правок в .htaccess,
nginx и шаблоне (служебные адреса перехватываются на этапе main/OnBeforeProlog)
- Ручное подключение одной строкой в шаблоне (режим «вручную»)
- Локальная база знаний: мгновенные и бесплатные ответы по частым вопросам,
поиск по ключевым словам с весом фраз, импорт и экспорт в JSON
- Потоковый вывод ответа (SSE) — текст печатается по мере поступления
- Поддержка простого Markdown: списки, ссылки, код, жирный текст
- Быстрые вопросы и кнопки-подсказки, которые формирует сама модель
(технические строки «?suggestion:» убираются из текста)
- Форма заявки прямо в чате: письмо менеджерам, подписанный webhook
и событие модуля для автоматизации CRM
- Журнал переписок с поиском: видно вопросы посетителей, ответы, источник
(база или модель), модель, токены и IP
- Провайдеры: BitrixGPT (VibeCode), OpenAI, YandexGPT, GigaChat, Anthropic Claude
и любой OpenAI-совместимый API (OpenRouter, Together, Groq, Ollama, vLLM, LM Studio)
- Кнопка «Проверить подключение» в админке: запрос к модели без реального посетителя
- 4 позиции виджета, 11 настраиваемых цветов, размеры, скругления, шрифт, анимации
- Адаптивный дизайн и поддержка мобильных
- Безопасность: антифлуд (на посетителя и общий), стоп-лист ботов по User-Agent,
простая капча, ограничение длины сообщения, CORS выключен по умолчанию,
автоочистка журналов по возрасту агентом Bitrix

Наш модуль уже успешно используют на наших проектах