Todo lo que se construyó para que los agentes puedan operar: entorno, servicios, base de datos, monitoreo y conexiones entre fases.
Fase 0 es la cimentación. No genera ingresos directamente, pero sin ella ninguna de las fases siguientes puede funcionar. Es el equivalente a instalar la electricidad, el agua y las tuberías antes de construir la casa.
5 servicios en Docker que replican en tu laptop lo que en producción correría en servidores.
Cada credencial fue probada contra el servicio real. Nada quedó como "pendiente" o "PENDIENTE" en el .env.
Pre-commit hook, backup nocturno, health check automatizado y contrato con SLA incorporado.
Una sola red interna n8n_local_default conecta todos los servicios.
Los contenedores se hablan entre sí por nombre (ej: postgres, redis)
sin exponer puertos innecesarios al exterior.
| Servicio | Rol | Accedido por | Dato que guarda |
|---|---|---|---|
| n8n | Motor de automatización y webhooks | Navegador, Evolution API, agentes Python | Workflows, credenciales, ejecuciones |
| postgres | Base de datos relacional local | N8N (nodo PostgreSQL), Evolution API | Historial de chats WA, memoria de sesión N8N |
| redis | Estado de sesión y debounce | N8N internamente | Estado de conversaciones activas, colas |
| evolution-api | Gateway WhatsApp (envío y recepción) | N8N via webhook, agentes Python | Instancias WA, sesiones QR |
| qdrant ✦ | Vector store para memoria semántica | Mem0 (Python), agentes CrewAI | Embeddings de memorias de agentes por industria |
✦ Agregado en Fase 0 (no estaba en el plan original)
La fuente de verdad de toda la agencia. Todos los agentes leen y escriben aquí. El proyecto está en us-east-1 (aws-1), accedido via pooler de conexiones.
check_and_decrement_budget() bloquea operaciones costosas cuando el presupuesto está agotado. Vista project_budget_status.project_context con trigger automático que mueve versiones anteriores a project_context_history. Nunca se pierde contexto.leads + tabla scraper_health para verificar que el sistema de scraping está funcionando correctamente.N8N es el cerebro de orquestación. Recibe webhooks, ejecuta lógica condicional, llama a APIs y notifica a Telegram. Corre en localhost:5678 (siempre local, nunca via URL pública para checks internos).
Monitoreo automático cada 6 horas. Chequea N8N, Evolution API y Supabase en paralelo. Reporta el estado a Telegram.
Escucha mensajes de Misael en Telegram. Procesa aprobaciones y rechazos de checkpoints del pipeline. Solo responde al chat_id autorizado.
process_checkpoint_response → responde confirmación.
telegramApi) — bot: @theforgeaii_botLos agentes de IA no olvidan entre conversaciones. Mem0 convierte hechos importantes en vectores y los guarda en Qdrant. Al siguiente proyecto, el agente ya sabe que "a los clientes de Caracas les gusta X" o "Misael no aprueba sites con más de 3 colores".
Librería Python que abstrae el vector store. Un agente hace mem0.add("el cliente prefiere diseño minimalista", user_id="cliente-123") y queda guardado.
Base de datos vectorial corriendo en Docker. Puerto 6333 (REST + UI) y 6334 (gRPC). Colección forge_memories activa.
Modelo text-embedding-004 convierte texto en vectores de 768 dimensiones. Gratis hasta cuota de Gemini API.
5 scripts Python + 1 batch para automatizar tareas operacionales. Todos en scripts/.
.env tiene todas las keys necesarias para Fase 0 antes de arrancar.N8N_LOCAL_URL=http://localhost:5678, nunca N8N_URL (que va por Cloudflare Access y devuelve 403).
forge_memories y mem0migrations en Qdrant. Guarda la configuración en config/mem0_config.json con los user_ids por agente.pg_dump de Postgres local → gzip → supabase/assets/backups/postgres/FECHA.sql.gzsupabase/assets/backups/n8n/FECHA.json.gzsupabase/assets/backups/evolution/FECHA.json.env.example no tiene keys reales.env, config/*.json, patrones de JWT (eyJ), API keys de Cloudflare (cfat_, cfut_), tokens de LangSmith. Si intenta commitear un secreto, el commit falla con error descriptivo.Token de API creado específicamente para la agencia. 19 permisos cuidadosamente seleccionados para cubrir todas las fases sin dar acceso innecesario.
Ejecutado el 2026-05-13 contra todos los servicios con credenciales reales.
Cada pieza de Fase 0 fue diseñada para servir a una o más fases posteriores. Nada se construyó "por construir".
Lo que acabas de leer. Todo el suelo sobre el que se construye el resto.
Misael llena el brief de un cliente → los agentes generan el sitio → se despliega en Cloudflare Pages con dominio custom → Misael aprueba en Telegram.
Cada sitio desplegado en Fase 1 puede tener un chatbot IA que responde preguntas del negocio del cliente 24/7 via WhatsApp o widget web.
El sistema encuentra leads (negocios en Caracas sin web o con web mala), los enriquece automáticamente, los puntúa 0–100 y Misael manda el primer mensaje vía WhatsApp.
Tarjetas NFC, flyers QR, visitas a negocios. El equipo humano cierra ventas que los agentes identificaron. El sistema rastrea cada cierre.
Un dashboard interno Next.js para ver leads, proyectos, ingresos, health del sistema y métricas de la agencia en tiempo real. Todo alimentado por Supabase.
Cómo se mueven los datos entre los componentes de Fase 0 cuando llega un proyecto.