À propos du projet

AI Native Call Center est une plateforme de centre de contact open source où l'IA est la réponse par défaut plutôt qu'un module additionnel. Les appels entrants arrivent sur FreeSWITCH et sont pris en charge par un modèle vocal speech-to-speech que l'application termine elle-même, l'audio G.711 étant transmis octet par octet lorsque le fournisseur l'accepte. Un moteur de flux pilote la conversation à travers des phases et des outils, et décide du moment où un agent humain est nécessaire ; les transferts dirigent alors l'appelant vers les files mod_callcenter avec l'ensemble du contexte joint, de sorte que l'écran de l'agent s'affiche avant même que le téléphone ne sonne. L'ensemble du système est livré sous forme d'un unique binaire Go contenant l'API REST, le flux d'événements server-sent (SSE) et une interface web React embarquée, adossé à PostgreSQL et FreeSWITCH. FreeSWITCH lit son annuaire, son dialplan et ses files depuis la base de données via Lua, si bien qu'ajouter des extensions, des files ou des numéros revient à modifier la base de données plutôt qu'à éditer un fichier de configuration. Chaque appel en cours est modélisé comme un acteur avec une unique goroutine comme seul mutateur, éliminant ainsi les verrous d'état partagé. Les fonctionnalités clés incluent : une prise en charge bilingue anglais-chinois dans toute l'interface et le bot ; un fournisseur unique par déploiement, choisi au démarrage (Qwen pour la Chine continentale, OpenAI ailleurs) ; des personas, règles et voix de bot versionnés et publiés ensemble ; des outils intégrés capables de refuser avec élégance (par exemple, file fermée) sous forme de réponses conversationnelles plutôt que d'erreurs ; un enregistrement d'appel unifié par conversation avec un seul CDR, transcript et enregistrement audio, que le bot, la file ou l'agent l'ait traitée ; des enregistrements vers le système de fichiers ou tout stockage compatible S3 ; un poste de travail agent avec présence, barre softphone et rappels ; et un mur de supervision (wallboard) avec vue en direct des files et liste des agents. L'API HTTP est conçue selon l'approche spec-first avec docs/openapi.json comme source unique de vérité, générant à la fois le serveur Go et le client TypeScript. Le projet inclut des données pré-remplies (une équipe, deux files, six flux bilingues, dix-huit téléphones clients simulés et une semaine d'historique) afin que le wallboard soit rempli et qu'un softphone puisse appeler le bot immédiatement après le déploiement. Les points d'extension couvrent les nouveaux fournisseurs vocaux sous forme de profils, les nouveaux flux sous forme de documents JSON validés, les nouveaux écrans suivant un système de design contraignant, et les intégrations externes sous forme de services derrière l'URL backend du flux. Le projet exclut explicitement tout pipeline ASR+LLM+TTS en cascade à l'intérieur du processus, réservant cette composition à un service distinct. Distribué sous licence Apache-2.0.