Едино — SaaS-платформа для малого и среднего бизнеса, которая собирает обращения клиентов из разных каналов в один кабинет и помогает отвечать на них с помощью AI.
План первых задач по серверной и клиентской части: TASKS.md.
Продукт работает как “AI-сотрудник”: он читает базу знаний компании, отвечает на типовые вопросы клиентов, показывает источники ответа и передаёт сложные случаи живому менеджеру.
Малый бизнес часто теряет заявки не из-за отсутствия спроса, а из-за перегрузки коммуникаций:
- клиенты пишут в Avito, VK, мессенджеры и чат на сайте одновременно;
- менеджеры не успевают отвечать быстро, особенно вечером и в выходные;
- новые сотрудники долго учатся и могут отвечать неточно;
- информация о ценах, доставке, наличии и правилах хранится в разных местах;
- обычные кнопочные боты раздражают клиентов и не решают нестандартные вопросы.
Едино решает это через единое окно, базу знаний и AI-ответы под контролем человека.
MVP продукта включает несколько ключевых частей:
-
Единый inbox Все обращения из подключённых каналов попадают в одну ленту диалогов.
-
База знаний компании Компания загружает документы: FAQ, прайсы, условия доставки, правила возврата, инструкции.
-
AI-ответы по базе знаний AI не отвечает “из головы”, а ищет релевантные фрагменты в базе знаний и строит ответ на их основе.
-
Уверенность и эскалация Если система не уверена в ответе или не нашла достаточный контекст, диалог передаётся менеджеру.
-
Самообучение через менеджеров Ответ менеджера может стать кандидатом на добавление в базу знаний. Так база постепенно растёт из реальных вопросов клиентов.
-
Аналитика Владелец видит долю автоответов, скорость реакции, причины эскалаций и использование лимитов тарифа.
flowchart TD
A["Клиент пишет в канал: Avito, VK, MAX или веб-чат"] --> B["Канальный адаптер нормализует сообщение"]
B --> C["Core API сохраняет клиента, диалог и сообщение"]
C --> D["RAG ищет релевантные фрагменты в базе знаний"]
D --> E["LLM генерирует ответ по найденному контексту"]
E --> F{"Уверенность достаточная?"}
F -->|Да| G["Ответ отправляется клиенту автоматически"]
F -->|Нет| H["Диалог уходит менеджеру"]
H --> I["Менеджер правит/отправляет ответ"]
I --> J["Ответ становится кандидатом в базу знаний"]
Основная аудитория — российский малый и средний бизнес с большим количеством повторяющихся обращений:
- продавцы на Avito;
- интернет-магазины;
- сервисные компании;
- клиники и бьюти-бизнес;
- агентства;
- локальные торговые компании.
Особенно полезно компаниям, у которых 50–500 диалогов в день и 1–10 менеджеров.
Фокус продукта — не просто “чат-бот”, а связка:
- единое окно для нескольких каналов;
- ответы по базе знаний компании;
- прозрачность источников ответа;
- метрика уверенности;
- передача человеку при риске ошибки;
- пополнение базы знаний из ответов менеджеров;
- стек, ориентированный на российский рынок и хранение данных в РФ.
Проект разделён на несколько репозиториев:
Backend— API, БД, RAG, интеграции каналов, фоновые задачи.Frontend— веб-интерфейс: лендинг, кабинет, inbox, база знаний, аналитика, настройки.Main— описание продукта и верхнеуровневая документация проекта.
Высокоуровневая схема:
flowchart LR
Channels["Каналы: Web-chat, Avito, VK, MAX"] --> Backend["Backend: FastAPI"]
Frontend["Frontend: Next.js"] --> Backend
Backend --> Postgres["PostgreSQL"]
Backend --> Qdrant["Qdrant"]
Backend --> Redis["Redis / очередь"]
Backend --> Storage["S3 / объектное хранилище"]
Backend --> LLM["YandexGPT / GigaChat / MockLLM"]
- Python 3.12
- FastAPI
- Pydantic v2
- SQLAlchemy 2.x async
- Alembic
- PostgreSQL
- Redis
- ARQ / async workers
- Qdrant
- S3-compatible storage: Yandex Object Storage / MinIO
- JWT + Argon2
- httpx
- structlog
- RAG-пайплайн: чанкинг → эмбеддинги → поиск → генерация ответа
- Qdrant для векторного поиска
- LLM-provider interface
- MockLLM для локальной разработки
- YandexGPT / GigaChat как целевые LLM-провайдеры
- локальные или облачные embeddings
- Next.js
- React
- TypeScript
- Tailwind CSS
- TanStack Query
- Axios
- Zustand
- React Hook Form
- Zod
- Orval для генерации API-клиента из OpenAPI
- Docker / docker-compose для локальной разработки
- PostgreSQL, Redis, Qdrant, MinIO локально
- Yandex Cloud как целевая инфраструктура
- GitHub Actions для CI
В MVP интерфейс намеренно компактный:
- лендинг;
- вход и регистрация;
- onboarding;
- диалоги / inbox;
- база знаний;
- аналитика;
- каналы;
- настройки;
- профиль;
- legal-страницы.
Тарифы и описание продукта находятся секциями на лендинге, чтобы не раздувать первую версию.
Проект находится на стадии инициализации MVP:
- создан каркас backend;
- описана инициальная схема БД через Alembic;
- создан каркас frontend;
- добавлены основные страницы кабинета;
- подготовлены demo-данные для проверки интерфейса;
- AI-провайдеры и внешние каналы пока подключаются через интерфейсы и заглушки.
- Реализовать настоящую регистрацию и вход.
- Подключить PostgreSQL и применить миграции.
- Реализовать загрузку документов базы знаний.
- Собрать первый end-to-end RAG-сценарий: документ → вопрос → ответ → источники.
- Подключить веб-чат как первый канал.
- Реализовать очередь обработки входящих сообщений.
- После web-chat подключать Avito и VK.
Текущее рабочее название продукта — «Едино».
Название можно заменить позже, но продуктовая идея остаётся прежней: много каналов, одна база знаний, один AI-сотрудник и человек на контроле.