Pular para o conteúdo

03 — Stack Tecnológico Completo

Visão geral

CamadaTecnologiaVersãoPor quê
Linguagem principalPython3.11+Ecosistema LangChain maduro
Framework de agenteLangChain + LangGraphlatestPadrão de mercado, controle de fluxo
LLM principalClaude Sonnet 4.7apiQualidade da conversa, PT-BR forte
LLM de volumeClaude Haiku 4.5apiCusto baixo para tarefas estruturadas
Vector storeQdrant1.11+Multi-tenant nativo via collections
EmbeddingsOpenAI text-embedding-3-smallapiCusto baixo, qualidade alta
Cache + memóriaRedis7.4+Histórico de conversa, fila
FilasBullMQ5+Robusta, integra Redis
Banco relacionalPostgres16+Tenants, configurações
ObservabilidadeLangfuseself-hostedTracing + eval + annotation
OrquestradorDocker Compose-Simples para começar
Reverse proxyCaddy2+TLS automático, simples
ServidorHetzner CPX21-Custo-benefício excelente

Mensageria WhatsApp

Evolution API (clientes Kommo)

# Documentação: https://doc.evolution-api.com/
provider: evolution
versao_minima: v2.0
hospedagem: self-hosted (Triadeflow)
custo: gratuita (open-source)

Quando usar: sempre que cliente usa Kommo CRM ou pediu instância dedicada.

Webhook esperado:

{
"event": "messages.upsert",
"instance": "tenant_id_aqui",
"data": {
"key": { "remoteJid": "5585999...", "id": "..." },
"message": { "conversation": "texto" },
"messageTimestamp": 1234567890
}
}

Stevo (clientes GHL)

# Stevo é integração GHL → WhatsApp via API oficial Meta
provider: stevo
hospedagem: SaaS
custo: variável por mensagem

Quando usar: clientes que usam GoHighLevel.

Webhook esperado:

{
"type": "InboundMessage",
"locationId": "ghl_location",
"contactId": "...",
"body": "texto",
"phone": "+5585999..."
}

CRM

Kommo

crm: kommo
auth: OAuth 2.0
docs: https://developers.kommo.com/

Recursos usados:

  • Criar/atualizar leads
  • Mover etapa de pipeline
  • Atualizar campos customizados (BANT, etc)
  • Adicionar tags
  • Criar tasks
  • Buscar histórico

GoHighLevel (GHL)

crm: ghl
auth: API Key (Location)
docs: https://highlevel.stoplight.io/

Recursos usados:

  • Contacts API
  • Opportunities API
  • Custom Fields
  • Calendars
  • Workflows trigger

Pagamentos (para agent-vendas, agent-cobranca)

GatewayQuando usarAPI docs
StripeSaaS, internacionalstripe.com/docs
AsaasBrasil, recorrência fortedocs.asaas.com
PagBankBrasil, varejodev.pagbank.uol.com.br
HotmartInfoprodutosapi.hotmart.com
KiwifyInfoprodutosdocs.kiwify.com.br
IuguBrasil, B2Bdev.iugu.com
PlataformaIntegraçãoStatus
ShopifyAPI REST + WebhookPlanejado
Loja IntegradaAPIPlanejado
NuvemshopAPIPlanejado
BlingAPIPlanejado
API customizadaAdapterSob demanda

Calendar (para agent-agendamento)

google_calendar:
auth: Service Account ou OAuth 2.0
scopes:
- https://www.googleapis.com/auth/calendar.events
outlook:
status: futuro

Versões de Python e dependências principais

pyproject.toml
[project]
requires-python = ">=3.11,<3.13"
dependencies = [
"langchain>=0.3.0",
"langgraph>=0.2.0",
"anthropic>=0.40.0",
"langfuse>=2.50.0",
"qdrant-client>=1.11.0",
"openai>=1.50.0", # apenas para embeddings
"redis>=5.1.0",
"fastapi>=0.115.0",
"uvicorn>=0.32.0",
"pydantic>=2.9.0",
"pyyaml>=6.0",
"httpx>=0.27.0",
"python-dotenv>=1.0.0",
"structlog>=24.4.0",
]
[project.optional-dependencies]
dev = [
"pytest>=8.0",
"pytest-asyncio>=0.24",
"ruff>=0.7.0",
"mypy>=1.13",
]

Variáveis de ambiente padrão

Todo agente precisa destas envs (definidas no .env do tenant ou globais):

Terminal window
# === LLM ===
ANTHROPIC_API_KEY=sk-ant-...
OPENAI_API_KEY=sk-... # apenas embeddings
# === Observabilidade ===
LANGFUSE_PUBLIC_KEY=pk-lf-...
LANGFUSE_SECRET_KEY=sk-lf-...
LANGFUSE_HOST=https://langfuse.triadeflow.com.br
# === Vector Store ===
QDRANT_URL=https://qdrant.triadeflow.com.br
QDRANT_API_KEY=...
# === Redis ===
REDIS_URL=redis://default:senha@redis:6379
# === Postgres ===
DATABASE_URL=postgresql://user:pass@postgres:5432/triadeflow
# === Por tenant (substituir TENANT_ID) ===
MESSAGING_INSTANCE_USA_SALUS=...
MESSAGING_TOKEN_USA_SALUS=...
CRM_API_KEY_USA_SALUS=...
CRM_LOCATION_USA_SALUS=...
# === Notificação ===
TELEGRAM_BOT_TOKEN=...
TELEGRAM_CHAT_ID=...

Custos estimados de infraestrutura

ItemCusto mensalObservação
Hetzner CPX21 (4vCPU, 8GB RAM)€11Suficiente para 10-15 tenants ativos
Hetzner CPX31 (recomendado)€19Mais folga para crescimento
Backup Hetzner€2Snapshots semanais
Domínio + DNS€1Cloudflare
Anthropic APIvariável~$0.003-0.015 por conversa
OpenAI Embeddingsvariável$0.020 por milhão de tokens
Total fixo aproximado€20-25/mêsAntes da API

Limites e quotas relevantes

Claude API (Anthropic)

TierTokens/minMensagens/diaQuando atingir
Tier 150.0001.000Volume baixo
Tier 2100.000-Solicitar upgrade
Tier 3200.000-Volume médio-alto
Tier 4400.000-Volume alto

WhatsApp Business API

  • Cloud API (Meta): 1.000 conversas/mês grátis. Depois R$ 0,06-0,28 por conversa.
  • Evolution API: sem custo direto, mas usa WhatsApp Web (limite de instância: 1 número por instância).
  • Cuidado: evitar bulk messaging não solicitado (banimento do número).

Decisões pendentes

Revisão em 90 dias:

  • Avaliar se vale migrar Postgres do Docker para Hetzner Managed
  • Avaliar se vale Hetzner Storage Box para backup do Qdrant
  • Avaliar suporte a outros modelos (GPT-4, Gemini) via abstração
  • Avaliar Cloudflare R2 para armazenamento de mídia (áudios WhatsApp)

Atualizações desta página

DataMudançaQuem
Mai/2026Criação inicialAlex