Sobre el proyecto

AI Native Call Center es una plataforma de centro de contacto de código abierto en la que la IA es la respuesta por defecto y no un añadido. Las llamadas entrantes llegan a FreeSWITCH y son atendidas por un modelo de voz de habla a habla (speech-to-speech) que la propia aplicación termina, con el audio G.711 transmitido byte a byte allí donde el proveedor lo acepta. Un motor de flujos guía la conversación a través de fases y herramientas, decidiendo cuándo se necesita un agente humano; las transferencias enrutan entonces al llamante a las colas de mod_callcenter con todo el contexto adjunto, de modo que la pantalla del agente se abre antes de que suene el teléfono. Todo el sistema se distribuye como un único binario en Go que contiene la API REST, el flujo de eventos enviados por el servidor (SSE) y una interfaz web React embebida, respaldado por PostgreSQL y FreeSWITCH. FreeSWITCH lee su directorio, plan de marcado y colas desde la base de datos a través de Lua, por lo que añadir extensiones, colas o números es un cambio en la base de datos y no una edición de configuración. Cada llamada en curso se modela como un actor con una única goroutine como su único mutador, eliminando los bloqueos de estado compartido. Las capacidades clave incluyen: soporte bilingüe de inglés y chino en toda la interfaz y el bot; un único proveedor por despliegue elegido al arrancar (Qwen para China continental, OpenAI en el resto del mundo); personas, reglas y voces del bot versionadas y publicadas conjuntamente; herramientas integradas capaces de rechazar con elegancia (p. ej., cola cerrada) como respuestas conversacionales en lugar de errores; un registro de llamada unificado por conversación con un único CDR, transcripción y grabación, independientemente de si la atendió el bot, la cola o el agente; grabaciones al sistema de archivos o a cualquier almacén compatible con S3; un escritorio de agente con presencia, barra de softphone y devoluciones de llamadas; y un panel mural de supervisor con vista de colas en vivo y lista de personal. La API HTTP sigue un enfoque de especificación primero (spec-first) con docs/openapi.json como única fuente de verdad, generando tanto el servidor en Go como el cliente TypeScript. El proyecto incluye datos sembrados (un equipo, dos colas, seis flujos bilingües, dieciocho teléfonos de clientes simulados y una semana de historial) para que el panel mural esté poblado y un softphone pueda llamar al bot inmediatamente después del despliegue. Los puntos de extensión cubren nuevos proveedores de voz como perfiles, nuevos flujos como documentos JSON validados, nuevas pantallas siguiendo un sistema de diseño vinculante e integraciones externas como servicios detrás de la URL de backend del flujo. El proyecto excluye explícitamente cualquier canal en cascada de ASR+LLM+TTS dentro del proceso, reservando esa composición para un servicio separado. Licenciado bajo Apache-2.0.