1. Visão Geral e Conformidade Legal
O objetivo é a transição do modelo de licenciamento dual do Chatwoot para uma arquitetura 100% MIT.
Regra de Ouro: Nenhuma linha de código do diretório enterprise/ será utilizada. A base de desenvolvimento será exclusivamente o Core MIT e o db/
schema.rb. Toda a lógica de negócio "Premium" será reconstruída do zero através de um sistema de extensões modulares, garantindo liberdade total de distribuição para a Agaron.
2. Roadmap de Infraestrutura e Core
A fundação do projeto foca em "limpar" o software e preparar o terreno para os novos módulos.
Fase 0 & 1: Cleanup e Arquitetura de Extensões
Sanitização: Remoção definitiva do diretório enterprise/ e travamento do método enterprise? para false em lib/
chatwoot_app.rb.
Modular Loading: Implementação de um Extension Loader em config/initializers/
extensions.rb. O sistema carregará módulos apenas se presentes na variável ENABLED_EXTENSIONS.
Isolamento de Código: Criação da estrutura lib/extensions/{feature}. Cada módulo terá seus próprios serviços, modelos e jobs (Sidekiq) em filas dedicadas (ex: extensions_ai).
Fase 2: Whitelabeling e UI Unificada
Desbloqueio de Interface: Ajuste em
useConfig.js e
featureFlags.js para que o frontend
Vue.js ignore travas de "Premium Plan".
Identidade Visual: Substituição sistemática de referências à marca Chatwoot e termos de "Upgrade" por uma interface limpa e customizável pela Agaron.
3. Reimplementação das Funcionalidades Enterprise
🤖 Módulo AI (Captain AI & Knowledge Base)
Reconstrução completa da inteligência artificial utilizando OpenAI API e busca vetorial.
Core: Modelos Ai::Assistant e Ai::Document para gestão de contexto.
Busca Semântica: Uso da gem neighbor para armazenar e consultar embeddings no PostgreSQL.
Automação: Jobs para processamento de PDFs/Urls e geradores de faq via llm.
Interação: Handler para Function Calling (handoff para humano, busca em base de dados) e gerador de rascunhos para agentes.
⏱️ SLA e Gestão de Capacidade
SLA Engine: Monitoramento de First Response e Resolution Time. Um CheckComplianceJob rodará a cada 5 minutos avaliando thresholds e disparando alertas de violação.
Capacity Management: Implementação de limites de concorrência (max_concurrent_chats). O serviço de auto-atribuição será modificado para priorizar agentes com menor carga percentual.
🛡️ Segurança e Governança
Custom RBAC: Substituição do sistema fixo por CustomRole, permitindo permissões granulares integradas ao Pundit.
Audit Logs: Rastreamento completo de ações administrativas usando a gem Audited, com interface de visualização filtrável por conta/usuário.
IP Blocking: Middleware Rack para interceptação de requisições no nível de rede, bloqueando acesso ao widget antes do processamento Rails.
Cronograma e Entregas Finais
O projeto está estimado em 41 dias úteis, entregando:
Código Fonte: Repositório 100% limpo de códigos proprietários.
Módulos: 9 extensões funcionais e independentes.
ci/cd: pipeline de testes (rspec/jest) garantindo que as extensões não conflitem com atualizações futuras do core mit.
Docs: Guia de implementação de variáveis de ambiente para ativação de módulos.
Plazo de Entrega: No definido