Об этом проекте

AI Native Call Center — это открытая платформа контакт-центра, где ИИ является ответом по умолчанию, а не дополнением. Входящие звонки поступают в FreeSWITCH и обрабатываются моделью «речь-в-речь» (speech-to-speech), которую приложение само завершает; аудио G.711 передаётся байт-в-байт там, где провайдер это поддерживает. Движок потоков направляет разговор через фазы и инструменты, определяя, когда нужен оператор-человек; затем перевод направляет вызывающего в очереди mod_callcenter с полным контекстом, так что экран оператора заполняется до звонка телефона. Вся система поставляется как один Go-бинарник, содержащий REST API, поток событий через server-sent events и встроенный React-интерфейс, с бэкендом на PostgreSQL и FreeSWITCH. FreeSWITCH читает свой directory, dialplan и очереди из базы через Lua, поэтому добавление расширений, очередей или номеров — это изменение в базе данных, а не правка конфигурации. Каждый live-звонок моделируется как актор с одной goroutine в качестве единственного мутатора, что исключает блокировки общего состояния. Ключевые возможности включают: двуязычная поддержка английского и китайского во всём интерфейсе и боте; единый провайдер на развёртывание, выбираемый при запуске (Qwen для материкового Китая, OpenAI для остальных); версионируемые персонажи, правила и голоса бота, публикуемые вместе; встроенные инструменты, которые могут вежливо отказаться (например, если очередь закрыта) в виде разговорных ответов, а не ошибок; единая запись звонка на разговор с одним CDR, транскриптом и записью независимо от того, кто обработал вызов — бот, очередь или оператор; записи в файловую систему или любое S3-совместимое хранилище; рабочий стол оператора с наличием, софтфон-панелью и обратными вызовами; а также панель супервизора с live-просмотром очередей и списком сотрудников. HTTP API строится по спецификации с docs/openapi.json как единым источником истины, генерируя и Go-сервер, и TypeScript-клиент. Проект включает начальные данные (команда, две очереди, шесть двуязычных потоков, восемнадцать симулированных телефонных номеров и неделя истории), так что панель уже заполнена, а софтфон может позвонить боту сразу после развёртывания. Точки расширения охватывают новых голосовых провайдеров как профили, новые потоки как валидированные JSON-документы, новые экраны по дизайн-системе с привязкой, и внешние интеграции как сервисы за backend URL потока. Проект явно исключает каскадный конвейер ASR+LLM+TTS внутри процесса, оставляя эту композицию для отдельного сервиса. Лицензия Apache-2.0.