Documento técnico · arquitectura de plataforma

Arquitectura KatanServant / MIDDLE Plataforma de inteligencia mediática

Del contenido en bruto a la métrica de reputación. Odoo como fuente de verdad, cómputo NLP en BELLA y stack desplegado en OVH sobre Docker Compose.

Núcleo / Gateway Ingesta multi-fuente Pipeline NLP Datos / Storage Cómputo / Ops Integración / Entrega
FuentesMediaCloud·GNews·GDELT Normalizaciónnews-please · *_np Pipeline NLPentidades·protagon. IPTC · ReputaciónXLM-R·bge-m3·matches PersistenciaPostgreSQL · Mongo DashboardTop IPTC · ICI · BI BELLA · cómputo NLP/IPTCOllama · RabbitMQ · clasificador IPTC ingesta texto tokens señales agrega NDJSON ⇅
Flujo principal del dato: la ingesta gobernada por querys en Odoo alimenta la normalización y el NLP; el cómputo pesado (IPTC L1+L2, reputación) corre en BELLA y vuelve por NDJSON; el resultado se persiste y se agrega en los dashboards.
Observabilidad
Dozzle · logs
Uptime Kuma
Restic · backup
OTLP → Grafana
👥Actores & canales
Clientes / Marcas Analistas Portal MIDDLEportal Servidor MCP API máquinaX-API-Key
📡Fuentes de ingestaquerys en Odoo
MediaCloud Google News GDELT RSS LOHAN NTY ePrensa Onclusive Cision · Apify
HTTPS · auth
Traefik v3 · Gateway & TLSstrip-authentik + forward-auth
Authentik · SSO / OIDC2026.8.0 forwardauth → x-authentik-* ACL por cliente (MIDDLE) apps: middle · legal · bi · n8n · logs · minio · studio · docs
request autenticada
Odoo — fuente de verdad

Clientes, proyectos, tagging, querys y entidades. El portal escribe por XML-RPC y sincroniza a Katan.

OdooERP interno
Portal FastAPIservicio de portal
Zona-autojobs asyncio · Redis
Proyectos · ACLmembresías
KatanServant — motor de inteligenciamotor · esquema analítico

Ingesta → normalización (news-please) → pipeline NLP → persistencia en katan + Mongo colección por cliente.

Entidades / NER
Protagonismozona 400 · SoV
Reputaciónentity_matches
SectorLLM + veto
Tonotono_np
Narrativas v2→ tendencias
IPTCXLM-R + bge-m3
prompts / LLM calls  ·  lee-escribe datos
LiteLLM · LLM Gatewaygateway LLM
ollama/bella-fastretrieval ollama/bestia-chatrazona gpt-4o-minisector gpt-5-minireputación
🔗Integración & automatización
n8nworkflows pgqueue-api + worker MCP AirbyteMEGALAB
persistencia  ·  NDJSON ⇅ BELLA
🗄️Datos & almacenamientoOVH + Atlas + GCP
PostgreSQLpublic + katan
PG KatanGCP PostgreSQL gestionado
Mongo CLIENTEScolección por cliente · R/W
Mongo enigmiasolo lectura
Redis ×2cache · jobs
MinIO (S3)
Meilisearch
DBs internasauthentik·n8n·superset·outline
⚙️BELLA — cómputo NLPLAN interna · cómputo dedicado

LAN, no alcanzable desde OVH → transferencia por NDJSON, sin credenciales cruzadas.

Ollamabella · bestia
Workers RabbitMQreputación
IPTC batchclasificador IPTC · CPU
ModelosXLM-R · bge-m3
informes · BI
🧩Verticales, BI & entrega
vía APIREST · X-API-Key Superset · BIBI Dashboard MIDDLETop IPTC · ICI LEGAL · gopherboletines Scrapers legalesTS/Bun Outline · docs Blog Google Sheets · exports
Host: OVH host de producción · Docker Compose (01-infra → 08) · git pull --ff-only Esquemas: public (portal) · katan (analítica) Auth: Traefik + Authentik forward-auth Verdad: Odoo (XML-RPC)

Logos: recreaciones estilizadas en SVG con el color de cada marca (la CSP de los artefactos impide incrustar los originales). Elastic mostrado como observabilidad alternativa.