← Volver al catálogo

📰 News Feed (librería RSS del nicho)

Archivo: /Users/user/rifai-agents/agentes/content/news-feed.ts · Plist: ninguno (es una LIBRERÍA, no un agente programado) · Horario: no se programa; se importa o se ejecuta en CLI bajo demanda

Qué hace

Módulo de utilidad que escanea feeds RSS de Google News con búsquedas del nicho (patinete eléctrico España, DGT patinete, movilidad urbana eléctrica, autorradio CarPlay/Android Auto, coches tecnología 2026) y devuelve noticias recientes y relevantes. Exporta fetchNews(), findHottestNews() y el tipo NewsItem para que otros agentes de contenido tengan material en tiempo real. Tiene un modo CLI para inspeccionar a mano qué noticias hay.

Cómo funciona

1. Define FEEDS (5 búsquedas RSS de Google News en español/España).

2. fetchNews(maxAgeHours=48): descarga cada feed (timeout 8s, User-Agent custom), parsea los <item> con regex (title, link, pubDate, source), descarta noticias más antiguas que el cutoff y deduplica por título.

3. findHottestNews(): ordena por una heurística de palabras-clave "calientes" (nuevo, multa, prohíb, ley, lanz, récord…) y luego por fecha, y devuelve la más relevante.

4. Bloque CLI (import.meta.url === file://argv[1]): imprime las noticias y la más caliente.

Datos/APIs

  • Google News RSS (público, sin API key). Sin variables de .env.
  • No usa Shopify, Meta, fal.ai ni LLM.
  • No envía notificaciones.

Cómo probarlo

cd /Users/user/rifai-agents && npx tsx agentes/content/news-feed.ts

Espera: lista de noticias por tema ([tema] título) y al final "🔥 La más caliente" con su link. Solo lee RSS, no publica nada (seguro de ejecutar).

Si se rompe / recuperar

No tiene plist ni logs propios. Si falla, suele ser por Google News cambiando formato RSS o rate-limit: revisar el regex de parseRSS y el User-Agent. Al ser librería, su "recuperación" es arreglar la función y reimportar.

Cómo replicarlo

  • Lista de URLs RSS de Google News con queries codificadas.
  • Parser RSS por regex (sin dependencias: extraer <item> y tags).
  • Filtro por antigüedad (pubDate vs cutoff) + dedup por título.
  • Heurística de scoring por keywords para findHottestNews.
  • Guard CLI con import.meta.url. Exportar funciones para consumidores.