Документация

Веб-чат-виджет

Чат-виджет для любого сайта на одном JS-скрипте: Shadow DOM, без cookie, 8 языков, защита от злоупотреблений включена по умолчанию.

Чат-виджет — это JS-скрипт, который вы встраиваете на свой сайт (маркетинговый, поддержки, приложение). Он открывает окно диалога, работающее на базе одного из ваших pipeline betool; ответы агента отображаются по мере генерации (streaming).

Возможности

  • Один сниппет для вставки на вашу страницу. Без npm-зависимостей; виджет живёт в Shadow DOM, поэтому CSS вашего сайта его не искажает (и наоборот).
  • Публичный токен — его можно перевыпустить в любой момент из редактора. Никаких секретов на стороне клиента.
  • Непрерывность в рамках вкладки — идентификатор диалога хранится в sessionStorage: перезагрузка страницы продолжает диалог, закрытие вкладки его завершает. Виджет не устанавливает никаких cookie.
  • 8 языков — интерфейс виджета следует языку браузера посетителя.
  • Защита от злоупотреблений включена по умолчанию — 20 сообщений в минуту с одного IP, 10 новых сессий в минуту с одного IP, максимум 4 000 символов на сообщение (настраивается; 0 отключает защиту). Глобальный лимит на виджет (20-кратный лимит на IP) также блокирует наплыв запросов, распределённый по нескольким IP.

Настройка

  1. В редакторе модели настройте узел Start с приёмником Чат (веб-виджет).
  2. При сохранении betool генерирует публичный токен и показывает сниппет интеграции, готовый к копированию:
<script src="https://platform.betool.ai/widget/v1/widget.js"></script>
<script>
  BetoolChat.init({ token: "<token-public-du-widget>" });
</script>
  1. Вставьте этот сниппет в тег <body> вашего сайта. Виджет появляется автоматически, по умолчанию в правом нижнем углу.

Кастомизация

В конфигурации приёмника:

  • Внешний вид — отображаемый заголовок, основной цвет, положение (четыре угла), форма кнопки запуска (вкладка или пузырь) и её подпись.
  • Тексты — приветственное сообщение, текст поля ввода, текст статуса (или переведённое отображение «в сети»).
  • Отображение — рендеринг markdown в ответах (включён по умолчанию).
  • Контекст страницы — передаёт с каждым сообщением origin и путь текущей страницы (никогда не query string). Включено по умолчанию, можно отключить.
  • Область действия — ограничение разрешённых origin.

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

token публичен по замыслу: он позволяет только общаться с моделью, у которой есть этот приёмник. Если вы перечислите разрешённые origin, запрос с другого origin отклоняется на стороне сервера (403); пустой список (или *) не накладывает никаких ограничений — оставьте это для разработки. Чтобы отозвать скомпрометированный токен: кнопка перевыпустить рядом с публичным URL в конфигурации приёмника (все сниппеты, уже работающие в продакшене, перестают функционировать).

Ограничения

  • Нет совместного просмотра: агент не видит страницу пользователя, только её origin и путь (если контекст страницы включён).
  • Нет отправки вложений из виджета. Чтобы получать файлы, используйте pipeline email или webhook.
  • Диалог не продолжается от визита к визиту: закрытие вкладки завершает его.