Cómo Construir un CEO-IA Bot con Telegram, n8n y Gemini 2.0

Cómo Construir un CEO-IA Bot con Telegram, n8n y Gemini 2.0

Cómo Construir un CEO-IA Bot con Telegram, n8n y Gemini 2.0

Introducción

La gestión efectiva del tiempo y el tracking de objetivos son desafíos constantes para cualquier emprendedor. ¿Qué pasaría si pudieras tener un asistente ejecutivo disponible 24/7 que te haga check-ins diarios, analice transferencias bancarias mediante visión artificial, y gestione tus tareas automáticamente? En este artículo, desgloso la arquitectura completa de un bot de Telegram que hace exactamente eso, usando n8n como orquestador y Gemini 2.0 Flash como motor de IA.

Arquitectura del Sistema

La arquitectura del bot sigue un flujo de comunicación multi-capa que garantiza confiabilidad y escalabilidad:

Telegram Bot
↓
n8n Workflow (VPS2)
↓
Deploy API (:3000) → Proxy Layer (:3010)
↓
Gemini 2.0 Flash API
↓
Respuesta con Inline Buttons → Telegram

Componentes Clave

1. Script Principal (`ceo_ia_interactive.py`)

El cerebro del bot reside en este script Python que maneja:

  • Lógica de check-ins programados (8:00 AM, 12:00 PM, 9:00 PM)
  • Sistema de botones inline con callbacks prefijados `av_`
  • Parser de documentos TRACKING_200K.md para extraer MRR y tareas
  • Integración con Gemini 2.0 Flash para procesamiento de lenguaje natural
2. Capa de Proxy Dual

Un diseño de doble proxy (`claude_proxy.py` + Deploy API) permite:

  • Separación de ambientes (desarrollo vs producción)
  • Rate limiting y control de acceso
  • Routing hacia diferentes modelos de IA según necesidad
3. Sistema de Memoria Persistente

El bot mantiene contexto mediante tres archivos JSON:

  • `memory.json`: daily tracker e interacciones
  • `chat_memory/av0004_*.json`: historial completo de conversaciones
  • `ceo_context.json`: datos de MRR, tareas prioritarias y contexto ejecutivo

Funcionalidades Implementadas

Check-ins Automatizados

Matutino (8:00 AM):
  • Saludo personalizado
  • MRR actual extraído de TRACKING_200K.md
  • Top 3 tareas prioritarias del día
  • Botones de acción rápida
Noon Blocker (12:00 PM):
  • Recordatorio mid-day
  • Score de productividad (0-100)
  • Re-enfoque en objetivos
Check-out Nocturno (9:00 PM):
  • Resumen de logros del día
  • Preparación para siguiente jornada

Análisis de Imágenes con Gemini Vision

Una de las características más poderosas es la capacidad de procesar capturas de pantalla de transferencias bancarias. El bot:

  1. Recibe la imagen vía Telegram
  2. Envía a Gemini 2.0 Flash (modelo multimodal)
  3. Extrae: monto, fecha, concepto, banco
  4. Genera registro estructurado para tracking financiero

Botones Interactivos

Sistema de callbacks con prefijo `av_` para:

  • `av_task_done`: Marcar tarea completada
  • `av_show_tasks`: Listar tareas activas
  • `av_add_revenue`: Registrar ingreso
  • `av_weekly_summary`: Reporte semanal

TRACKING_200K.md: Single Source of Truth

El bot implementa un patrón crítico de sincronización:

Pull desde Google Drive (maestro)

rclone copyto myGdrive:00-MASTER/TRACKING_200K.md /local/path/

Lectura/procesamiento

python ceo_ia_interactive.py

Push de vuelta (si hubiera ediciones)

rclone copyto /local/path/TRACKING_200K.md myGdrive:00-MASTER/
Backups (READ-ONLY): Tres copias locales en diferentes servers, pero el maestro siempre reside en Google Drive.

Migración de Claude CLI a Gemini 2.0 Flash

El 29 de enero de 2026 se migró el backend de Claude CLI a Gemini 2.0 Flash por:

  1. Costo: Gemini 2.0 Flash es ~80% más económico para alto volumen
  2. Multimodal nativo: Análisis de imágenes sin cambio de modelo
  3. Latencia: Respuestas más rápidas (<1.5s promedio)
  4. Rate limits: Mayor cuota para aplicaciones empresariales

Archivo de Configuración Gemini

{
"av0004": "AIzaSy...",
"rotation_enabled": false,
"last_used": "av0004"
}

Bugs Resueltos y Lecciones Aprendidas

Bug #1: Spam de 5 Mensajes Duplicados

Síntoma: El noon blocker (12:00 PM) enviaba 5 mensajes idénticos. Causa: Múltiples invocaciones del workflow n8n sin deduplicación. Fix v3: Implementación de lock por modo + día mediante flag file:
lock_file = f"/tmp/ceo_ia_{mode}_{date.today()}.lock"
if os.path.exists(lock_file):
return  # Ya ejecutado hoy
open(lock_file, 'w').close()

Bug #2: Hallucination LLM

Síntoma: Bot afirma "actualicé TRACKING_200K" cuando no tiene permisos de escritura. Causa: Alucinación típica de LLMs cuando se les pide confirmación. Mitigación: System prompt explícito: "NO tienes permisos de escritura. NUNCA digas que modificaste archivos."

Bug #3: MRR Vacío en Check-in

Síntoma: Check-in matutino mostraba "MRR: [No disponible]". Causa: Parser regex no adaptado al formato markdown de TRACKING_200K.md. Fix v2: Reescritura completa del parser usando lookbehind/lookahead:
import re
pattern = r'\\MRR:\\\s*\$?([\d,]+(?:\.\d{2})?)?'
match = re.search(pattern, content)
mrr = match.group(1) if match else "0"

Conclusión

Construir un CEO-IA bot efectivo requiere tres pilares fundamentales:

  1. Arquitectura robusta multi-capa que separe orquestación (n8n), lógica de negocio (Python) y modelo de IA (Gemini).
  2. Sistema de memoria persistente con un único source of truth sincronizado (TRACKING_200K.md en Google Drive).
  3. Iteración continua basada en bugs reales - todos los bugs documentados en este artículo fueron descubiertos en producción y corregidos mediante versiones incrementales.

El resultado es un asistente ejecutivo que opera 24/7, reduce carga cognitiva mediante check-ins automatizados, y proporciona insights accionables mediante análisis de imágenes con IA. La combinación de Telegram como interfaz, n8n como orquestador, y Gemini 2.0 como motor de IA demuestra cómo herramientas low-code/no-code pueden crear soluciones empresariales sofisticadas sin requerir infraestructura compleja.

Regresar al blog

Deja un comentario