Skip to content

Что это и быстрый старт

Morze Assistant — встраиваемый чат-виджет. Он собирается в один файл bundle.min.js, который монтируется на любой сайт как кастом-элемент <mz-bot> внутри shadow DOM. Стили инлайнятся в JS, а страница не ломает стили виджета.

  • Стек: React 18 + Redux Toolkit + Vite 6 + Sass.
  • Бэкенд: morzebot-backend-v2 (Router/Gateway) — связь по HTTP + WebSocket.

Подключение за 30 секунд

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

html
<script src="https://your-cdn.example.com/bundle.min.js" defer></script>

Виджет сам создаст хост-элемент <mz-bot id="__mz-bot">, поднимет shadow root и смонтирует React-приложение. По умолчанию это плавающая кнопка-лаунчер в правом нижнем углу.

Настройка на странице (без пересборки)

Большую часть поведения можно задать прямо на хосте — тремя способами, см. Конфигурацию и приоритеты.

Через атрибуты загружающего <script>

html
<script
  src="bundle.min.js"
  data-mz-theme="dark"
  data-mz-accent="#0dbb52"
  data-mz-button-shape="square"
  defer
></script>

Через глобальный объект (до загрузки бандла)

html
<script>
  window.MZBOT_CONFIG = {
    theme: { mode: 'dark', accent: '#0dbb52' },
    chat: { position: 'rb' },
  };
</script>
<script src="bundle.min.js" defer></script>

Через JS-API в рантайме

js
window.MZBOT.setTheme('dark');
window.MZBOT.setTheme({ accent: '#0dbb52', pattern: 'mesh' });

Полный список методов — на странице JavaScript API.

Локальная разработка

bash
npm install      # один раз
npm start        # = vite (dev-сервер)
npm run build    # сборка bundle.min.js
npm run preview  # предпросмотр прод-сборки

Демо-страницы для проверки режимов лежат в корне репозитория: index.html и embed-test.html.

Бэкенд по умолчанию — прод

Зашитый WS_HOST/API_HOST указывают на прод (api.assistant.morze.tech). Для локальной разработки с morzebot-backend-v2 (порт :9000) поменяйте их — см. Конфигурация → endpoints.

Что дальше