Cómo crear automatización matutina con IA sin n8n ni agentes | Infinitas de posibilidades, con IA local o en nube.

Automatización | IA | Python | Scripting | Productividad

Automatización matutina con IA: sin n8n, sin agentes, solo código

Cómo automatizar tu rutina matutina usando IA y scripts simples en Python. Sin herramientas complejas, sin plataformas externas. Solo tu servidor Linux y creatividad.

¿Por qué automatizar la rutina matutina?


Cada mañana repites las mismas tareas: revisar correos, ver las noticias, consultar el clima, preparar el resumen del día. ¿Por qué no automatizarlas?

Muchas personas piensan que necesitan herramientas complejas como n8n, Make o sistemas de agentes IA sofisticados. Pero la realidad es que un simple script Python + una API de IA como OpenAI o Ollama local es más que suficiente.

En este tutorial te mostramos cómo construir una rutina matutina automatizada que:

  • Recopila información de múltiples fuentes
  • Procesa esa información con IA
  • Genera un resumen personalizado
  • Te lo envía por email o Telegram al despertar
Ventajas del enfoque DIY: Controlas exactamente qué hace, sin dependencias de terceros, funciona 100% offline si usas Ollama local, y es completamente gratuito si tienes tu propio servidor.

La arquitectura: simple pero potente

El concepto es muy sencillo: entrada → procesamiento → salida

📥 Entrada

Recopilar datos: RSS feeds, APIs públicas, ficheros locales, bases de datos.

⚙️ Procesamiento

IA (OpenAI, Claude, Ollama local) procesa y sintetiza la información.

📤 Salida

Envía el resumen por email, Telegram, Slack, o guarda en Markdown local.

⏰ Programación

Ejecuta el script cada mañana con cron, systemd timer, o directamente desde tu móvil.

Paso 1: Recopilar datos (múltiples fuentes)

Todo comienza con recopilar información de donde quieras: noticias, clima, eventos, emails, tweets, etc.

Opción A: RSS Feeds (noticias)

Muchos sitios de noticias publican feeds RSS. Con una librería como feedparser puedes parsearlos:

pip install feedparser
import feedparser # RSS de tu sitio favorito feed = feedparser.parse('https://example.com/rss') # Procesar las últimas 5 noticias for entry in feed.entries[:5]: print(entry.title) print(entry.summary)

Opción B: APIs públicas (clima, eventos, etc)

# Ejemplo con OpenWeatherMap (requiere API key gratuita) import requests url = 'https://api.openweathermap.org/data/2.5/weather' params = { 'q': 'Madrid', 'appid': 'TU_API_KEY', 'units': 'metric' } response = requests.get(url, params=params) data = response.json() print(f"Temperatura: {data['main']['temp']}°C")

Opción C: Ficheros locales

Puedes leer tareas del día, notas, etc., desde ficheros o bases de datos:

with open('/home/usuario/tareas_hoy.txt', 'r') as f: tareas = f.read()
Pro tip: Combina múltiples fuentes en un único script. Los datos se acumulan en una lista o diccionario que luego envías a la IA.

Paso 2: Procesar con IA (local o en la nube)

Una vez recopilados los datos, envíalos a una IA para que genere un resumen personalizado.

Opción A: OpenAI API (en la nube)

Si tienes suscripción a OpenAI:

pip install openai
from openai import OpenAI client = OpenAI(api_key='sk-...') prompt = f""" Eres un asistente matutino. Basándote en esta información: {noticias_texto} {clima_texto} {tareas_texto} Genera un resumen amable y estructurado para comenzar el día. """ response = client.chat.completions.create( model="gpt-4", messages=[{"role": "user", "content": prompt}] ) resumen = response.choices[0].message.content print(resumen)

Opción B: Ollama local (100% privado, gratuito)

Si quieres privacidad total y no depender de servicios externos:

pip install requests
import requests prompt = f"...{datos_compilados}..." response = requests.post('http://localhost:11434/api/generate', json={ "model": "mistral", "prompt": prompt, "stream": False } ) resumen = response.json()['response']
¿Ollama o OpenAI?
Ollama: Privado, gratuito, lento (ideal para Raspberry Pi o servidores viejos).
OpenAI: Rápido, sencillo, requiere API key (cuesta centavos).

Paso 3: Enviar el resultado

El resumen generado debe llegar a ti de alguna forma.

Opción A: Email

import smtplib from email.mime.text import MIMEText servidor = smtplib.SMTP('smtp.gmail.com', 587) servidor.starttls() servidor.login('tu_email@gmail.com', 'contraseña_app') msg = MIMEText(resumen) msg['Subject'] = '☀️ Buenos días: resumen matutino' msg['From'] = 'tu_email@gmail.com' msg['To'] = 'tu_email@gmail.com' servidor.send_message(msg) servidor.quit()

Opción B: Telegram (más rápido)

pip install requests
import requests TOKEN = 'tu_bot_token' CHAT_ID = 'tu_chat_id' url = f'https://api.telegram.org/bot{TOKEN}/sendMessage' data = {'chat_id': CHAT_ID, 'text': resumen} requests.post(url, data=data)

Opción C: Guardar como fichero

fecha = datetime.datetime.now().strftime('%Y-%m-%d') with open(f'/home/usuario/resumenes/{fecha}.md', 'w') as f: f.write(resumen)
Recomendación: Usa Telegram para notificaciones rápidas en el móvil. Usa email solo si necesitas historial. Combina ambas si quieres lo mejor de los dos mundos.

Paso 4: Automatizar con cron o systemd timer

Ahora que tienes el script funcionando, programa que se ejecute automáticamente cada mañana.

Opción A: cron (tradicional)

Abre el editor de cron:

crontab -e

Añade esta línea para ejecutar a las 7:00 AM cada día:

0 7 * * * /usr/bin/python3 /home/usuario/resumen_matutino.py

Opción B: systemd timer (moderno)

Crea un servicio en /etc/systemd/system/resumen.service:

[Unit] Description=Resumen matutino con IA [Service] Type=oneshot ExecStart=/usr/bin/python3 /home/usuario/resumen_matutino.py User=usuario

Y el timer en /etc/systemd/system/resumen.timer:

[Unit] Description=Ejecutar resumen matutino a las 7:00 AM [Timer] OnCalendar=*-*-* 07:00:00 Persistent=true [Install] WantedBy=timers.target

Luego activa:

sudo systemctl enable --now resumen.timer
¿cron o systemd?
cron: Simple, compatible con todo.
systemd: Más control, mejor logging, ideal para sistemas modernos.

Script completo ejemplo

Aquí tienes un script funcional que combina todo:

#!/usr/bin/env python3 # resumen_matutino.py import feedparser import requests import datetime # 1. Recopilar datos datos = [] # RSS de noticias feed = feedparser.parse('https://feeds.elpais.com/politica') noticias = '\n'.join([e.title for e in feed.entries[:3]]) datos.append(f"NOTICIAS:\n{noticias}") # Clima clima_req = requests.get('https://api.open-meteo.com/v1/forecast', params={'latitude': 40.4168, 'longitude': -3.7038, 'current': 'temperature_2m'}) clima = clima_req.json()['current']['temperature_2m'] datos.append(f"CLIMA: {clima}°C en Madrid") # 2. Procesar con IA (usando Ollama local) prompt = f"Eres un asistente matutino amable. Basándote en:\n\n" + "\n".join(datos) + "\n\nGenera un resumen estructurado para comenzar el día." response = requests.post('http://localhost:11434/api/generate', json={'model': 'mistral', 'prompt': prompt, 'stream': False}) resumen = response.json()['response'] # 3. Enviar por Telegram requests.post(f'https://api.telegram.org/bot{TOKEN}/sendMessage', data={'chat_id': CHAT_ID, 'text': resumen}) print("✓ Resumen enviado")

Ideas para ir más allá

🎯 Personalización

Guarda preferencias del usuario (temas que le interesan, qué noticias evitar, tono del resumen).

📊 Aprendizaje

Análisis de qué información es relevante para el usuario según su interacción.

🔔 Notificaciones inteligentes

Alerta solo si hay algo urgente (reuniones próximas, eventos importantes).

🌐 Multi-idioma

IA traduce automáticamente noticias en otros idiomas al tuyo.

📸 Resumen visual

IA genera imágenes para acompañar el resumen (citas motivacionales, mapas del clima).

🔗 Integración de APIs

Conecta con Google Calendar, Spotify, cuentas de redes sociales, etc.

Conclusión: poder sin complejidad

No necesitas plataformas complejas, agentes IA sofisticados o workflows visuales para automatizar tu mañana. Un script Python + una API de IA es todo lo que necesitas.

El enfoque DIY tiene ventajas claras:

  • ✓ Control total sobre qué hace
  • ✓ Funciona 100% offline (con Ollama)
  • ✓ Costo casi nulo (si usas Ollama o IA gratuita)
  • ✓ Personalizable al máximo
  • ✓ Escalable: agrega más fuentes sin límite
Siguientes pasos: Descarga el script ejemplo, personalízalo con tus fuentes de datos favoritas, y ejecútalo cada mañana con cron. En una semana ya te parecerá imprescindible.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.