Sobre o projeto
O AI Native Call Center é uma plataforma open-source de contact center em que a IA é a resposta padrão, e não um recurso adicional. As chamadas recebidas chegam ao FreeSWITCH e são atendidas por um modelo de voz speech-to-speech que a própria aplicação termina, com o áudio G.711 passado byte a byte, sem alterações, quando o provedor o aceita. Um motor de fluxos conduz a conversa por fases e ferramentas, decidindo quando um agente humano é necessário; as transferências então encaminham o chamador para as filas do mod_callcenter com o contexto completo anexado, de modo que a tela do agente é exibida antes de o telefone tocar.
Todo o sistema é distribuído como um único binário Go contendo a API REST, o fluxo de server-sent events e uma interface web React embutida, com suporte de PostgreSQL e FreeSWITCH. O FreeSWITCH lê seu diretório, dialplan e filas do banco de dados via Lua, de modo que adicionar ramais, filas ou números é uma alteração no banco de dados, e não uma edição de configuração. Cada chamada ativa é modelada como um ator com uma única goroutine como seu único mutador, eliminando bloqueios de estado compartilhado.
As principais capacidades incluem: suporte bilíngue a inglês e chinês em toda a interface e no bot; um único provedor por implantação, escolhido na inicialização (Qwen para a China continental, OpenAI nos demais casos); personas, regras e vozes do bot versionadas e publicadas em conjunto; ferramentas integradas capazes de recusar com elegância (por exemplo, fila fechada) como respostas conversacionais em vez de erros; um registro de chamada unificado por conversa, com um único CDR, transcrição e gravação, independentemente de o bot, a fila ou o agente ter atendido; gravações no sistema de arquivos ou em qualquer armazenamento compatível com S3; um desktop de agente com presença, barra de softphone e callbacks; e um wallboard de supervisão com visualização ao vivo das filas e escala de agentes.
A API HTTP é spec-first, com docs/openapi.json como a única fonte de verdade, gerando tanto o servidor Go quanto o cliente TypeScript. O projeto inclui dados pré-carregados (seed) — uma equipe, duas filas, seis fluxos bilíngues, dezoito telefones de clientes simulados e uma semana de histórico — para que o wallboard esteja populado e um softphone possa chamar o bot imediatamente após a implantação. Os pontos de extensão abrangem novos provedores de voz como perfis, novos fluxos como documentos JSON validados, novas telas seguindo um design system vinculante e integrações externas como serviços por trás da URL de backend do fluxo. O projeto exclui explicitamente qualquer pipeline em cascata de ASR+LLM+TTS dentro do processo, reservando essa composição para um serviço separado. Licenciado sob Apache-2.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.