AI / Автоматизация продаж

SalesCore — AI-консультант для сайта и Telegram

SalesCore — собственный AI-консультант Цифрового Цеха. Он работает в виджете на сайте и в Telegram, понимает контекст страницы, отвечает по каталогу услуг, помогает оценить бюджет и превращает разговор в структурированную заявку.

Обсудить похожий проект
Диалог с AI-консультантом SalesCore: вопрос о лендинге, карточка цены и уточняющий ответ

Задача

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

Решение

Как реализовали проект

Единый сервис на Node.js и Hono объединяет сайт и Telegram общим AI-ядром. Модель вызывает контролируемые инструменты для поиска услуг, показа цены и квалификации клиента, а готовый лид сохраняется в SQLite и вместе с полной расшифровкой отправляется владельцу в Telegram.

Состав работ

Что вошло в решение

  • 01Единое AI-ядро для сайта и Telegram
  • 02Квалификация по задаче, бюджету и срокам
  • 03Карточки цен и сроков прямо в диалоге
  • 04Передача заявки и расшифровки владельцу в Telegram
  • 05Сохранение диалога при переходах по сайту
  • 0658 автоматических тестов ключевых сценариев

Инфраструктура

Архитектура решения

  1. 01

    Виджет загружается с /salesbot/widget.js, создаёт анонимную сессию и сохраняет историю и состояние окна в localStorage при переходах между страницами.

  2. 02

    Hono API передаёт ответ потоком событий, поэтому текст появляется по мере генерации, а виджет отдельно показывает статусы работы инструментов.

  3. 03

    Общее AI-ядро управляет диалогом сайта и Telegram-бота, а слой инструментов читает каталог услуг, формирует карточки цен и сохраняет квалификацию, лиды и события в SQLite.

  4. 04

    После получения контакта Telegram Bot API отправляет владельцу карточку лида с задачей, бюджетом, сроком, источником и полной расшифровкой разговора.

  5. 05

    Caddy направляет same-origin запросы /salesbot на сервис, доступный только через 127.0.0.1:3000; процесс работает в отдельном LXC-контейнере под systemd.

Возможности

Функционал

01

Контекстная консультация

Бот получает название и адрес текущей страницы, поэтому начинает разговор с учётом открытой услуги, решения или рекламного перехода.

02

Квалификация лида

Диалог последовательно уточняет задачу, бюджет и срок, не превращая общение в длинную анкету и не запрашивая уже названные данные повторно.

03

Карточки цен

Когда клиент спрашивает о стоимости, AI вызывает каталог и показывает отдельную карточку с названием услуги, ориентиром цены и сроком выполнения.

04

Память между страницами

Сессия и история сохраняются в браузере: пользователь может открыть другое решение и продолжить тот же разговор без потери контекста.

05

Передача готовой заявки

После получения контакта владелец получает в Telegram не только номер или ник, но и квалификацию, источник перехода и всю переписку.

06

Обработка возражений

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

Стек проекта

Технологии

Node.js 22
JavaScript
Hono
Telegram Bot API
SQLite
Caddy
Linux / systemd

Защита данных

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

  • Приложение слушает только 127.0.0.1, а наружу публикуется через Caddy по защищённому same-origin маршруту /salesbot.
  • Динамический текст AI выводится через textContent, поэтому ответ модели не может внедрить произвольную HTML-разметку или скрипт в виджет.
  • API ограничивает размер тела запроса и идентификатора сессии, а частота обращений контролируется отдельно по IP и сессии.
  • Системный промпт запрещает выполнять инструкции из пользовательского текста и передавать внутренние правила, а контакт проходит отдельную проверку.
  • Токены Telegram и AI-провайдера хранятся в переменных окружения и не попадают в репозиторий или клиентский JavaScript.

Живые данные

Интеграции

Сайт cifrovoyceh.ruTelegram Bot APIMessages API-совместимая AI-модельSQLiteCaddysystemd

UX / UI

Дизайн-процесс

Виджет продолжает визуальный язык сайта: тёмно-синий текст, фирменный зелёный, компактные карточки и маскот «Мастер». Интерфейс помещается поверх страницы, адаптируется к мобильному экрану и показывает только полезное состояние — ответ, работу инструмента, цену или следующий вопрос.

Инженерная работа

Нетривиальные решения

Потоковый ответ без дублей

Текст модели и результаты инструментов приходят разными событиями. Клиентский автомат состояния собирает их в один ответ и не повторяет текст вокруг вызова инструмента.

Лид нельзя потерять

Заявка сначала сохраняется локально, и только затем отправляется владельцу. Если Telegram временно недоступен, данные остаются в базе и могут быть доставлены повторно.

История должна переживать навигацию

Сообщения, карточки цен и состояние виджета сериализуются в браузере и корректно восстанавливаются на следующей странице сайта.

AI не должен придумывать контакт

Перед созданием лида система проверяет, что телефон, email или ник действительно написал пользователь, и защищает владельца от пустых и дублирующихся заявок.

Безопасный вывод ответа

После проверки XSS все динамические сообщения переведены на безопасную отрисовку текстом, а мобильное окно согласовано с cookie-баннером и элементами страницы.

Результат

SalesCore запущен на cifrovoyceh.ru и доступен через собственный адрес /salesbot. Посетитель получает консультацию и ориентир по цене без длинной формы, а владелец — структурированную заявку и полную расшифровку разговора. На момент публикации рабочий API отвечает успешно, а ключевые сценарии подтверждены 58 автоматическими тестами.

Следующий кейс

Repetitor.my — маркетплейс репетиторов

Смотреть кейс →