🐍 Requisitos previos y Python
INTELECTO exige Python 3.11+ como mínimo absoluto. Las versiones anteriores no incluyen todas las funciones de async y tipado que usa el proyecto. Las dependencias son deliberadamente mínimas.
📦 requirements.txt minimalista
python3 --version
Debe devolver Python 3.11 o superior
python3 -m venv .venv && source .venv/bin/activate
Usa siempre venv para el aislamiento
pip install -r requirements.txt
Instala solo las 5 dependencias necesarias
🔑 Cuenta de OpenRouter
O OpenRouter es la opción predeterminada para INTELECTO porque resuelve el problema del bloqueo por proveedor con elegancia quirúrgica: una clave de API da acceso a más de 100 modelos, y cambiar de modelo consiste solo en cambiar una cadena.
🎯 ¿Por qué OpenRouter?
- •100+ modelos: GPT-4o, Claude 3.5, Mistral, Llama 3, Gemini — todos con una sola clave
- •Facturación unificada: Una tarjeta, una factura, visibilidad del costo por modelo
- •Fallback automático: Si un modelo falla, lo cambias en segundos
- •Interfaz compatible con OpenAI: El mismo código funciona sin cambios
Crear una cuenta en openrouter.ai
Ir a Claves → Create API Key
Copiar la clave (comienza con sk-or-)
📝 Configuración de .env
El archivo .env es la única fuente de configuración sensible. Nunca pongas claves directamente en el código. setup carga el .env automáticamente y NUNCA debe ir al git.
📄 .env Ejemplo completo
⚠ Regla crítica de seguridad
O .env debe estar en el .gitignore. Verifica siempre antes de hacer commit. Una clave de API expuesta en GitHub puede generar facturas de cientos de dólares en cuestión de horas; esto ocurre con frecuencia con los bots de escaneo automatizados.
🧙 El asistente de configuración
O setup.py es un wizard interactivo que hace las preguntas correctas y configura todo automáticamente. Crea los archivos necesarios, valida las credenciales y garantiza que no se olvide nada obligatorio.
💬 Preguntas del Wizard
🐳 Docker vs nativo
La elección entre Docker y nativo afecta tu flujo de trabajo. Para desarrollo, el nativo es más ágil. Para producción, Docker Compose garantiza la reproducibilidad y facilita el monitoreo.
🐍 Modo nativo
- ✓Debug instantáneo con pdb/breakpoint
- ✓Recarga automática con watchdog
- ✓Acceso directo al filesystem
- ✗Depende del entorno local
🐳 Modo Docker
- ✓Aislamiento total del entorno
- ✓Deploy reproducible en cualquier servidor
- ✓Reinicio automático con --restart unless-stopped
- ✗Sobrecarga de compilación e inicio
📱 Primer mensaje en Telegram
El momento de la verdad. Si el primer mensaje funciona, toda la stack está correcta: canal conectado, proveedor respondiendo, memoria inicializada y workspace cargado.
Crear un bot en BotFather
Abrir Telegram → BotFather → /newbot → seguir las instrucciones → copiar el token que empieza con números seguidos de :
Obtener tu User ID
Enviar /start para @userinfobot en Telegram. Copia el número devuelto y colócalo en TELEGRAM_ALLOWED_USERS.
Iniciar INTELECTO
python main.py — esperar "Bot iniciado. Aguardando mensagens..."
Enviar "Hola" y esperar
Jarvis responderá con la personalidad definida en SOUL.md. Si responde, felicitaciones: tienes un Jarvis funcionando.
💡 Lista de verificación de smoke test
- ✓El bot funciona sin errores en la terminal
- ✓El mensaje se recibió (aparece en el log)
- ✓Se llamó al LLM (costo en OpenRouter)
- ✓La respuesta llegó a Telegram
- ✓audit.log contiene el registro de la interacción
✅ Resumen del Módulo 1.3
Próxima ruta:
Ruta 2 — Identidad y canales: SOUL.md, AIEOS, Telegram, WhatsApp y memoria SQLite