Plataforma multicanal de inteligência conversacional generativa com governança, observabilidade e controle total.
- Sobre o Projeto
- Stack Tecnológica
- Pré-requisitos
- Setup Inicial
- Desenvolvimento
- Arquitetura
- Documentação
- Roadmap
- Contribuindo
- Licença
Omniware AI resolve o problema de empresas que possuem:
- Canais de comunicação isolados (WhatsApp, voz, webchat, Instagram)
- Bots tradicionais incapazes de raciocínio complexo
- Experiência inconsistente entre canais
- Dependência de TI para mudanças simples
- Ausência de governança em conversações com IA
Uma plataforma completa que oferece:
| Capacidade | Descrição |
|---|---|
| IA Generativa Multi-LLM | OpenAI, Anthropic, Google Gemini com fallback automático |
| Multicanalidade | WhatsApp, WebChat, Instagram, SMS, Voz, E-mail |
| Cross-Channel | Troca inteligente de canal durante conversação |
| Skills Engine | Integração com APIs REST e agentes MCP |
| Knowledge Engine | RAG com vector store (pgvector) |
| Cockpit Humano (HITL) | Monitoramento real-time e takeover |
| Observabilidade | Logs estruturados, métricas, traces com Grafana |
| Multi-Tenant | Isolamento, RBAC, billing por tenant |
- Runtime: Node.js 20 LTS
- Framework: NestJS 10.x
- Linguagem: TypeScript 5.x
- ORM: Prisma 5.x
- Validation: Zod + class-validator
- Database: PostgreSQL 16 + pgvector (para embeddings)
- Cache: Redis 7.x
- Queue: BullMQ
- Tier 1: OpenAI GPT-4o, Anthropic Claude 3.5, Google Gemini 2.0
- Tier 2: Azure OpenAI, Google Vertex AI, AWS Bedrock
- Tier 3: Ollama (self-hosted)
- Monorepo: pnpm + Turborepo
- Package Manager: pnpm 8.x
- Logs: Pino (JSON estruturado) → Loki → Grafana
- Métricas: Prometheus → Grafana
- Traces: OpenTelemetry → Jaeger/Tempo
- Provider: AWS
- Orquestração: Kubernetes (EKS)
- IaC: Terraform
Antes de começar, certifique-se de ter instalado:
- Node.js >= 20.0.0 (Download)
- pnpm >= 8.0.0 (
npm install -g pnpm) - Docker >= 24.0.0 (Download)
- Git >= 2.40.0
-
Meta Business (WhatsApp Cloud API)
- Criar em: https://business.facebook.com/
- Configurar app WhatsApp Business
-
OpenAI (ou outro provider LLM)
- API Key: https://platform.openai.com/api-keys
-
Ngrok ou CloudFlare Tunnel (para webhooks locais)
git clone <repository-url>
cd omniware-aicd omniware-ai-core/apps/api
pnpm install# Copie o arquivo de exemplo
cp .env.example .env
# Edite e preencha suas credenciais
nano .env # ou use seu editor preferidoVariáveis obrigatórias:
DATABASE_URL- String de conexão PostgreSQLREDIS_URL- String de conexão RedisOPENAI_API_KEY- Chave da API OpenAIWHATSAPP_TOKEN- Token do WhatsApp Cloud APIWHATSAPP_VERIFY_TOKEN- Token customizado para verificaçãoWHATSAPP_PHONE_NUMBER_ID- ID do número WhatsApp
# Do diretório raiz do projeto
docker compose -f infrastructure/docker/docker-compose.dev.yml up -d
# Verifique se os serviços estão rodando
docker compose -f infrastructure/docker/docker-compose.dev.yml psServiços disponíveis:
- PostgreSQL:
localhost:5432 - Redis:
localhost:6379 - Grafana: http://localhost:3030 (admin/admin)
- Loki: http://localhost:3100
- Prometheus: http://localhost:9090
cd omniware-ai-core/apps/api
# Gerar Prisma Client
pnpm prisma generate
# Criar banco e executar migrations
pnpm prisma migrate dev
# (Opcional) Abrir Prisma Studio
pnpm prisma studio # Abre em http://localhost:5555# Modo desenvolvimento (hot reload)
pnpm start:dev
# Ou build + produção local
pnpm build
pnpm start:prodA API estará disponível em: http://localhost:3000
# Desenvolvimento
pnpm dev # Inicia em watch mode
pnpm build # Build de produção
pnpm start:debug # Debug mode
# Database
pnpm prisma studio # Interface visual do banco
pnpm prisma migrate dev # Criar nova migration
pnpm prisma db seed # Popular banco com dados de teste
# Testes
pnpm test # Testes unitários
pnpm test:e2e # Testes end-to-end
pnpm test:cov # Cobertura de código
# Qualidade de Código
pnpm lint # ESLint
pnpm format # Prettier
pnpm typecheck # Verificação de tipos-
Crie uma branch a partir de
develop:git checkout develop git pull origin develop git checkout -b feature/sua-feature
-
Desenvolva seguindo conventional commits:
git commit -m "feat(channels): add Instagram DM connector" git commit -m "fix(llm): handle timeout in OpenAI provider"
-
Push e abra PR:
git push origin feature/sua-feature # Abrir Pull Request no GitHub
<type>(<scope>): <description>
[optional body]
[optional footer]
Types: feat, fix, docs, style, refactor, test, chore, perf
┌─────────────────────────────────────────┐
│ CHANNELS LAYER │
│ WhatsApp │ Voice │ WebChat │ Instagram │
└────────────────┬────────────────────────┘
│
┌────────────────▼────────────────────────┐
│ CHANNEL NORMALIZER │
└────────────────┬────────────────────────┘
│
┌────────────────▼────────────────────────┐
│ ORCHESTRATOR │
│ • Deterministic Orchestrator │
│ • Generative Orchestrator (LLM) │
└─────┬──────────────────┬─────────┬──────┘
│ │ │
┌─────▼──────┐ ┌────────▼───┐ ┌─▼─────────┐
│ PROMPT │ │ LLM HUB │ │ SKILLS │
│ ENGINE │ │ Multi-LLM │ │ ENGINE │
└────────────┘ └────────────┘ └───────────┘
| Módulo | Responsabilidade |
|---|---|
channels/ |
Conectores de canais (WhatsApp, WebChat, etc.) |
conversation/ |
Session Manager, Orchestrators |
llm/ |
LLM Hub, Prompt Engine, providers |
guardrails/ |
PII detection, policies, safety |
skills/ |
Skills Engine, tool execution |
knowledge/ |
Vector Store, RAG, document processing |
observability/ |
Logs, métricas, traces |
Veja mais: .context/docs/architecture.md
Toda a documentação está centralizada em .context/docs/:
| Documento | Descrição |
|---|---|
| Quick Start | ⚡ Guia de arranque (Dia 1-30) |
| Readiness Checklist | ✅ Checklist de prontidão |
| Phase 1 Plan | 📋 Plano detalhado Fase 1 (MVP 0.1) |
| Architecture | 🏗 Arquitetura completa |
| Tech Decisions ADR | 📝 Decisões técnicas (ADRs) |
| PRD Master | 📄 Product Requirements |
| Backlog | 📊 Backlog por EPIC |
| Development Workflow | 🔄 Git workflow, CI/CD |
- 📖 Leia: Project Overview
- ✅ Complete: Readiness Checklist
- 🚀 Siga: Phase 1 Foundation Plan
Consulte: AGENTS.md para guia contextual completo.
- Conector WhatsApp funcional
- Session Manager básico (Redis)
- Prompt Engine configurável
- Orchestrator simples
- Integração LLM (OpenAI)
- Logging estruturado
- Primeira skill REST
- Guardrails básicos (PII)
- Testes E2E
- WebChat connector
- Instagram DM connector
- Voice (ASR/TTS)
- Channel normalization completa
- Knowledge Engine (RAG)
- Skills Engine (REST + MCP)
- Flow Builder básico
- Cockpit Humano (HITL)
- Dashboards completos
- Alerting
- Multi-tenant completo
- RBAC avançado
- Billing
- SSO (SAML/OIDC)
Veja detalhes: .context/docs/roadmap.md
Contribuições são muito bem-vindas! Por favor:
- Leia o Development Workflow
- Siga os padrões de código (ESLint + Prettier)
- Use Conventional Commits
- Adicione testes para novas features
- Atualize a documentação quando necessário
Todos os PRs passam por:
- ✅ Lint (ESLint)
- ✅ Type check (TypeScript)
- ✅ Tests (Jest)
- ✅ Build validation
- ✅ Code review (2 aprovações mínimas)
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- 📧 Email: support@omniware.ai
- 💬 Discord: Join our community
- 📖 Docs:
.context/docs/