Files
calls24_v2_ideas/PLAN.md
T

132 lines
6.3 KiB
Markdown

# 🗺️ План реализации calls24
> На основе кейса Adict.ru: команда персон, маршрутизация, честный fallback → лид.
## Этап 0: Инфраструктура (неделя 1)
- [x] Репозиторий на Gitea (`neo/calls24`)
- [ ] Docker Compose-стек (PostgreSQL, Qdrant, Redis)
- [ ] Настройка Yandex AI Studio API-доступа
- [ ] Настройка WebSIP Proxy (тестовая линия SIP)
## Этап 1: Анализ звонков (недели 2-3)
### voice-analyzer/
- [ ] `main.py` — FastAPI эндпоинт для загрузки аудио
- [ ] `stt.py` — Yandex STT интеграция (локализация текста)
- [ ] `analyzer.py` — LLM-анализ текста звонка
- Выявление скрипта
- Тайминги и паттерны
- Возражения клиента и реакция оператора
- Оценка конверсии
- [ ] `report.py` — Генерация отчёта (HTML)
- Что было хорошо / плохо
- Рекомендации по скрипту
- Сравнение операторов
**Вход:** WAV/MP3 файлы
**Выход:** JSON-анализ + HTML-отчёт
## Этап 2: Генерация скрипта и персон (недели 3-4)
### voice-analyzer/pattern_gen.py
- [ ] Анализ паттернов успешных звонков
- [ ] LLM-генерация скрипта из паттернов
- Этапы разговора
- Фразы-крючки
- Обработка возражений
- Закрытие сделки
- [ ] Генерация набора персон (на основе типа бизнеса)
- Менеджер продаж (основной)
- Консультант (вопросы)
- Финансист (цены, ипотека)
- Куратор (постпродажа)
- [ ] Сохранение скриптов и персон в PostgreSQL
- [ ] Версионирование скриптов
**Вход:** Анализ 100+ звонков клиента
**Выход:** JSON state machine для каждой персоны
## Этап 3: Голосовой робот (недели 4-7)
### voice-bot/
- [ ] `main.py` — FastAPI (REST + WebSocket)
- [ ] `sip_proxy.py` — WebSIP Proxy (SIP ↔ WebSocket)
- Приём входящих
- Исходящие звонки
- Запись аудио
- [ ] `realtime.py` — Yandex Realtime API
- WebSocket клиент
- STT → текст
- LLM → текст → TTS → аудио
- Задержка <1 сек
- [ ] `router.py` — Маршрутизатор между персонами
- Автоопределение роли по контексту
- Выбор персоны (автоматически или клиент выбирает)
- [ ] `persona.py` — State Machine для каждой персоны
- Приветствие (с тоном персоны)
- Квалификация / Ответ на вопросы
- Предложение / Консультация
- Возражения
- Закрытие / Передача
- [ ] `memory.py` — Контекстная память (Redis)
- Общая память сессии (персона видит, что было до)
- Память персоны (её специфичные данные)
- [ ] `fallback.py` — Честный «не знаю»
- Не галлюцинировать
- Предложить контакт менеджера
- Сохранить тему в content_entries
- [ ] `voice_bridge.py` — Звуковой мостик (300мс)
- При передаче между персонами
- Чтобы клиент не чувствовал разрыва
**Критичные фичи голоса:**
- Прерывания: клиент перебивает → система замолкает мгновенно
- Пауза внутри мысли ≠ конец фразы (ждём 1.5-2с тишины)
- Защита ролей: персоне нельзя уходить в чужую роль
## Этап 4: Замкнутый цикл + контент-админка (недели 7-9)
- [ ] Автоматический анализ звонков робота
- [ ] Выявление слабых мест скрипта
- [ ] Автогенерация улучшенной версии
- [ ] A/B тестирование скриптов
- [ ] **Content Admin** — админка для контент-менеджера
- Список «запрашиваемых тем, на которые нет ответа»
- Добавление ответов без участия разработчика
- Гибридный поиск (BM25 + эмбеддинги)
- Обновление KB без релиза
- [ ] Dashboard для мониторинга
**Вход:** Все звонки робота
**Выход:** Улучшенный скрипт + обновлённая KB → новая версия
## Этап 5: CRM и интеграции (недели 9-11)
- [ ] Bitrix24 (контакты, сделки)
- [ ] AmoCRM (контакты, воронки)
- [ ] Telegram-бот для клиента
- [ ] API для сторонних систем
## Этап 6: Продуктовеение (недели 11-14)
- [ ] Веб-дашборд для клиента
- [ ] Личный кабинет
- [ ] Аналитика по звонкам
- [ ] Биллинг и оплата
- [ ] Onboarding
## Приоритеты
1. **Самый быстрый путь к деньгам:** Этап 1 (анализ 5-10 звонков → отчёт)
2. **Главная фича:** Этап 3 (голосовой робот с персонами)
3. **Конкурентное преимущество:** Этап 4 (замкнутый цикл + «не знаю» → лид)
## Риски
- Yandex Realtime API: задержка, стабильность WebSocket
- SIP: NAT-пробросы, проброс RTP, WebSIP Proxy стабильность
- 152-ФЗ: хранение записей, согласие клиентов
- Конкуренция: Exolve (МТС), Звонобот, Unibell
- **Ключевой риск:** качество TTS — должен быть естественный, не шаблонный