💡 Примеры использования
Что это. Пять демо-сайтов вымышленных компаний, на каждый из которых посажен настоящий виджет Fixorix. Это не описания внедрений и не истории клиентов, а стенд: сайт, база знаний, каналы и сценарий собраны на нём так же, как их собирают в обычном проекте.
Когда нужно. Когда описаний функций по отдельности мало и нужно увидеть, как база знаний, сценарии, каналы и тикеты работают вместе на одном бизнесе — и что именно получает клиент в ответ.
Демо-сайты собраны, но чата на них сейчас нет. Идентификаторы виджетов пусты в обоих контурах, а проекты под демо в Fixorix ещё не заведены — поэтому компонент виджета ничего не выводит, кружок чата в углу не появляется, а блоки «Спросите в чате» на страницах демо скрыты.
Витрина при этом обещает чат безусловно: в первом экране написано «Откройте чат и спросите что угодно». Пока проекты не заведены, это обещание не выполняется — сначала настройка, потом показ.
Тестовый контур доступен только из внутренней сети: examples.fixorix.dev резолвится в приватный адрес. Прод (планируемый адрес — examples.fixorix.ru) ещё не поднят: нет DNS-записи и хоста на фронт-прокси. Оба адреса здесь — планируемые, а не рабочие ссылки.
Демо-сайты
Примеры сознательно не дублируют друг друга: каждый показывает свой механизм платформы, а не одно и то же пять раз.
| Демо | Отрасль | Какой механизм показывает | Каналы |
|---|---|---|---|
| Кофейня «Полдень» | Кофейня | Чистый ответ по базе знаний, без интеграций | Виджет |
| Магазин «Пентод» | Интернет-магазин электроники | HTTP-запрос из сценария в свой API заказов и AI-классификация | Виджет, Telegram |
| Школа «Вторая смена» | Онлайн-образование | Агентский режим и группы | Виджет, Telegram, ВКонтакте |
| Мастерская «Верстак» | Сервисный центр | Тикеты и сводка чата, поиск заявки по номеру и четырём цифрам телефона | Виджет |
| SaaS-аналитика «Замер» | SaaS | Перевод в сценарии: русская база знаний отвечает на английские вопросы | Виджет, Discord |
Модуль «Тикеты» включён только у мастерской и у SaaS-аналитики. У остальных демо он не спрятан, а показан пометкой «не используется в этом примере».
📷 Скриншот: витрина примеров со списком демо-сайтов (будет добавлен).
Как устроена витрина
Главная страница витрины — лендинг с брендингом Fixorix. Сверху первый экран с заголовком «Посмотрите, как Fixorix отвечает за конкретный бизнес», кнопками «Посмотреть демо-сайты» и «Читать документацию» и автоматической каруселью примеров с кнопками «Предыдущий пример» и «Следующий пример». Ниже — секции «Демо-сайты», «Откуда приходят обращения», «Что умеет платформа», «Агентский режим в сценариях», «Как это устроено» и «Что здесь настоящее, а что нет». Завершает страницу блок «Хотите так же для своей компании?» с кнопками «Начать» и «Как подключить виджет».
Каждый пример показан карточкой: плашка «Работает», отрасль, название, короткое описание и кнопка «Открыть демо-сайт». Под описанием — список «Что спросить в чате» из четырёх готовых вопросов и фасеты в трёх группах: «Каналы», «Механизмы» и «Модули».
Набор фасетов у карточки означает, что механизм действительно настроен в проекте Fixorix. Если фасет расходится с настройкой, посетитель откроет чат в ожидании механизма и не найдёт его — поэтому при заведении проектов набор нужно сверять, а не копировать.
Кнопки «Войти» на витрине нет намеренно: она вела в форму входа и была тупиком для посетителя, пришедшего смотреть примеры. Язык переключается в шапке («Русский» / «English»), выбор запоминается на год.
Что здесь настоящее, а что нет
| Что видно | Что означает |
|---|---|
| Виджет, каналы, база знаний, поиск, сценарии, ответы AI | Настоящие. Работают ровно так же, как в проектах клиентов |
| Названия компаний, адреса, телефоны, цены, меню, заказы и заявки | Вымышленные. Совпадения с реальными адресами и номерами случайны |
| Диалоги, которые вы напишете в чат демо | Попадают в реальные проекты поддержки, и их читают люди. Персональные данные оставлять не нужно |
Над шапкой каждого демо-сайта висит тонкая тёмная полоса: точка, текст вида «Демо-сайт вымышленной кофейни. Чат в углу — настоящая поддержка Fixorix» (на узком экране — короткое «Демо Fixorix») и ссылка «К примерам». В подвале — «Вымышленная компания. Сайт сделан как демонстрация возможностей платформы Fixorix» и ссылка «Поддержка работает на Fixorix».
Он не сделан сознательно: клиентов, давших согласие на упоминание, пока нет. Выдуманные отзывы и логотипы из продукта уже вычищали один раз, и возвращать их не планируется.
Демо-страницы закрыты от индексации — отдают noindex и не попадают в карту сайта, потому что описывают несуществующие компании с выдуманными адресами и телефонами. Индексируется только витрина.
Как это устроено
Единый источник данных
У каждого демо один объект данных: меню, цены, тарифы, сроки и правила лежат в одном месте. Из него рендерится и сайт, и статьи базы знаний. Отсюда главное свойство стенда: цена, срок или правило, названные ботом, буквально совпадают с тем, что открыто на экране. Если бы данные и статьи жили порознь, демо показывало бы ровно тот провал, ради опровержения которого построено.
Проверка в сборке (npm run kb:check) регенерирует корпуса в памяти и сравнивает с сохранёнными в репозитории — правка данных без пересборки статей роняет сборку.
База знаний генерируется из тех же данных
Статьи собираются командой npm run kb:build, каждый файл несёт баннер «СГЕНЕРИРОВАНО — не редактируйте этот файл руками» с указанием исходника и команды пересборки.
| Демо | Статей в базе знаний |
|---|---|
| Кофейня «Полдень» | 9 |
| Магазин «Пентод» | 13 |
| Школа «Вторая смена» | 12 |
| Мастерская «Верстак» | 17 |
| SaaS-аналитика «Замер» | 19 |
| Всего | 70 |
Статьи нарезаны так, что один заголовок ## — один отвечаемый вопрос: база знаний разбивает документ на фрагменты по markdown-заголовкам и ищет ответ по фрагментам, а не по документу целиком.
Корпуса только русские: у проекта одна база знаний, и загрузка двух языков заставила бы каждый запрос конкурировать со своим переводом. На английские вопросы отвечает блок перевода в сценарии — так сделано в демо «Замер».
Живые данные — заказы магазина и заявки мастерской — в базу знаний намеренно не попадают. Они отдаются по HTTP в момент вопроса, иначе поиск возвращал бы вчерашний замороженный статус.
Виджет встраивается одной строкой
Виджет подключается одной переменной окружения на демо и рендерится обычным тегом script в серверном HTML — адрес загрузчика имеет вид https://widget.<зона>/loader.js?widgetId=<идентификатор>.
| Требование | Почему так |
|---|---|
Тег должен быть нативным <script async> в разметке страницы | Загрузчик читает свой идентификатор из адреса собственного тега. Обёртки — отложенная вставка из кода или тег-менеджер — его ломают |
| Домен страницы должен быть в списке разрешённых доменов проекта | Загрузчик передаёт домен страницы; незнакомый хост получает отказ, и кружок появляется, но чат не открывается |
| Домен сравнивается без порта, чат встраивается только по HTTPS | Поэтому localhost:3000 не заработает никогда — нужен HTTPS-адрес, тоже добавленный в список |
| Один виджет — один проект Fixorix | Общий виджет свалил бы пять бизнесов в одну очередь и дал боту одну базу знаний на всех |
Что нужно, чтобы демо заработали
- Завести пять отдельных проектов в Fixorix — по одному на демо.
- Создать в каждом проекте канал «Виджет» и загрузить корпус базы знаний этого демо.
- Добавить оба хоста витрины в список разрешённых доменов каждого проекта: список общий внутри проекта, но не общий между проектами.
- Вписать пять полученных идентификаторов виджетов в настройки развёртывания обоих контуров.
- Собрать и опубликовать сценарии: черновик не срабатывает, отвечает только опубликованная версия.
- Дождаться, пока база знаний проиндексируется — индексация асинхронная, обещанного срока у неё нет.
- Сверить фасеты карточек с тем, что настроено на самом деле.
Ограничения
- Каналов в продукте ровно четыре: виджет, Telegram, ВКонтакте и Discord. Почты, звонков и других мессенджеров нет — поэтому их нет и в демо.
- Блоки работы с тикетами в сценариях не исполняются. Модуль «Тикеты» у мастерской и SaaS-аналитики означает только ручную работу оператора в интерфейсе.
- Настройки виджета «Приветственное сообщение» и «Показывать аватар оператора» сохраняются и видны в превью, но на сайт не передаются. Приветствие приходится задавать первым блоком сценария.
- Шапка чата — «FXRX / Чат поддержки» — зашита в продукте, заменить её на название демо-компании нельзя. Это третье и последнее место, где на демо-сайте виден Fixorix.
- Продукт нигде не показывает источники ответа, поэтому проверить постфактум, из какой статьи бот взял факт, нельзя.
- Локально виджет не поднять: домен в списке разрешённых хранится без порта, а страница чата встраивается только по HTTPS. Нужен HTTPS-туннель (его домен тоже придётся добавить в список) либо проверка сразу на тестовом контуре.
→ Быстрый старт · Сценарии · База знаний · Виджет