Automatización matutina con IA sin n8n

Publicado por


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(‘[email protected]’, ‘contraseña_app’)

msg = MIMEText(resumen)
msg[‘Subject’] = ‘☀️ Buenos días: resumen matutino’
msg[‘From’] = ‘[email protected]’
msg[‘To’] = ‘[email protected]’

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.


Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *