Files
call-center/README.md
T
didarandClaude Sonnet 5 c5dd87ee32 feat: make ai_operator_settings config code the source of truth
Add sync_ai_operator_config_from_code() which overwrites the DB-cached
ai_operator_settings row from ai_operator_default_config() on startup
of ai_orchestrator_service and ai_voice_runtime_service. Greeting and
system prompt changes now go through git + deploy instead of manual
psql/API edits to prod. Also adds a root README pointing to existing docs.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-08-21 21:00:34 +05:00

2.6 KiB

call-center

Омниканальный контакт-центр: телефония (Asterisk), Telegram, WhatsApp, веб-чат, email — плюс встроенный голосовой ИИ-оператор (распознавание речи → LLM → синтез речи). Написан на Python (FastAPI), ~25 сервисов вокруг одной SQLAlchemy-схемы, локально работает на SQLite, в проде — на PostgreSQL.

Документация

Документ Про что
docs/architecture/overview.md Обзор микросервисов и их ролей
docs/architecture/voice-ai.md Голосовой ИИ-оператор подробно
docs/architecture/real-time-voice-service.md Рантайм голосового моста (AudioSocket, TTS/ASR)
docs/architecture/event-schemas.md Схемы событий шины (RabbitMQ)
docs/runbooks/local-setup.md Как поднять проект локально (демо-режим и ручной запуск)
docs/runbooks/deployment.md Как разворачивать (Docker Compose / Kubernetes)
longread.md Сквозной архитектурный ревью репозитория — что реально есть, где технический долг

Быстрый старт

Подробности — в docs/runbooks/local-setup.md. Коротко:

python -m pip install -r requirements.txt
cp .env.example .env      # по умолчанию SQLite, без Docker

python scripts/migrate_core_db.py
uvicorn gateway.app:app --reload --port 8080

Точки входа (после старта gateway): /operator, /supervisor, /admin, /analyst на http://localhost:8080.

Демо-режим одной командой (поднимает весь стек + тестовые данные): scripts/prepare_demo.ps1.

Тесты

pytest -q

Частые задачи

  • Поменять greeting/system prompt голосового бота Айнур — правится в коде: services/shared/ai_operator_config.pyai_operator_default_config(), коммит и деплой; сервис сам синкает значение в БД при старте.