Задача: Сделать собственный встраиваемый чат-виджет

Сделать собственный встраиваемый чат-виджет

Минимальный виджет для подключения к сайтам через центральный агент с потоковым ответом и Stop.

Сделать собственный встраиваемый чат-виджет

Цель

Создать минимальный собственный UI чата, который можно встроить на наши сайты и подключить к уже реализованному серверному HTTP/agent-слою без использования старого интерфейса как постоянного решения.

Что реализовать

  • простой способ подключения виджета к сайту с минимумом ручной настройки;
  • отправку пользовательского сообщения в центральный сервис;
  • потоковое отображение ответа агента;
  • кнопку Stop с реальной отменой текущего выполнения;
  • корректное состояние UI для started / streaming / done / error / cancelled;
  • базовую передачу идентификатора сайта и контекста страницы;
  • определить контракт идентификации посетителя/сессии, не смешивая состояния разных вкладок и пользователей;
  • определить CORS и модель доступа к публичному HTTP endpoint для внешнего виджета;
  • проверить работу через реальный proxy path, а не только напрямую к приложению.

Не входит в минимальный этап

  • кабинет менеджера;
  • полноценная история разговоров в UI;
  • сложная аналитика;
  • визуальный конструктор агента.

Критерии готовности

  • виджет подключается хотя бы к одному тестовому сайту без использования legacy-чата;
  • ответ приходит потоком;
  • Stop действительно отменяет серверное выполнение;
  • параллельные посетители не смешивают состояние;
  • поток и отмена проверены через рабочий Traefik/Varnish/proxy путь;
  • контракт подключения документирован так, чтобы следующий сайт можно было добавить без изменения ядра.