Flujo de creacion de contenidos con IA

Sistema de Generación de Contenido: Telegram-Ollama-Obsidian-Astro

Este sistema automatiza la creación de artículos extensos para el blog utilizando un bot de Telegram como interfaz y un modelo local de Inteligencia Artificial como motor de redacción.

Admin 8 de julio de 2026, 14:56 4 min de lectura

Para que el sistema funcione, necesitas tener tres componentes activos en tu Mac Mini M4:

  • Ollama Server: El motor de IA local debe estar corriendo en segundo plano.
  • Modelo Cargado: Ollama debe tener disponible el modelo pesado de contexto qwen2.5-coder:7b-64k.
  • El Bot de Telegram: El script de Python debe estar ejecutándose de forma continua en una terminal para escuchar tus mensajes utilizando el intérprete explícito de python3.

El camino que sigue la información desde tu móvil o Telegram hasta tu web funciona así:


[ Usuario ] ➔ (Envía URL por Telegram) ➔ [ src/telegram_bot.py ]

│ (Llama vía 'uv')



[ Archivo Markdown Final ] ◀ [ src/generar_articulo.py ] ◀ (Ollama - Qwen)

  1. Entrada: Envías un enlace válido (ej. Wikipedia o un artículo web) al chat de tu bot de Telegram.
  2. Recepción: telegram_bot.py recibe el enlace, te avisa de que ha comenzado y ejecuta internamente el segundo script usando la herramienta de entornos rápidos uv.
  3. Extracción: generar_articulo.py descarga la página web y limpia el ruido (anuncios, menús) para quedarse solo con el texto útil usando librerías como trafilatura o BeautifulSoup.
  4. Enriquecimiento (Si no es URL): Si en vez de una URL le pasas un concepto suelto, el script busca de forma autónoma en DuckDuckGo para recopilar información.
  5. Procesamiento Local: Se le envía todo el texto limpio a Ollama con un prompt estructurado. El modelo procesa la información y redacta un artículo de gran extensión en formato Markdown con Frontmatter (metadatos de Astro).
  6. Almacenamiento y Salida: El script guarda el archivo .md directamente en la carpeta de posts de tu proyecto Astro: /Users/ernestouriszar/markeup/src/content/posts/[Categoría]/[slug].md. El bot de Telegram detecta el nuevo archivo, te lo envía de vuelta por el chat como documento adjunto y borra los mensajes temporales.

[!IMPORTANT] En macOS moderno el comando base python no está disponible por defecto. Debe utilizarse estrictamente python3. La estructura de carpetas requiere ejecutar el entorno desde hermes-agent pero apuntando al script dentro de src.

Antes de lanzar el bot o realizar pruebas, sitúate en la raíz del proyecto e inicializa el entorno virtual aislado que se encuentra dentro de hermes-agent:

cd /Users/ernestouriszar/markeup
source hermes-agent/.venv/bin/activate

Con el entorno activo y desde la raíz markeup, arranca el script de escucha ubicado en la carpeta src:

Bash

python3 src/telegram_bot.py

Si el bot no responde o se detiene de forma inesperada, inspecciona el archivo de registro en su ruta correcta dentro de src:

Bash

tail -n 20 /Users/ernestouriszar/markeup/src/telegram_bot.log

Si deseas depurar el creador de artículos en aislamiento para comprobar el comportamiento del modelo o de la extracción sin la interfaz de Telegram, ejecuta en otra terminal:

Bash

cd /Users/ernestouriszar/markeup
source hermes-agent/.venv/bin/activate
python3 src/generar_articulo.py [https://es.wikipedia.org/wiki/Valladolid](https://es.wikipedia.org/wiki/Valladolid)

Si en el futuro deseas cambiar el comportamiento del sistema, estos son los puntos clave:

  • Cambiar el Token: Modifica la variable TOKEN si creas un bot nuevo en @BotFather.

  • Modificar los mensajes de respuesta: Busca los textos dentro de async def start o async def handle_url para cambiar lo que te responde el bot mientras trabaja.

  • Cambiar el tiempo de reacción: Si notas que los artículos tardan más de lo normal y el bot da error, ajusta la lógica de búsqueda del archivo más reciente en la función de caída (fallback).

  • Cambiar de Modelo: Modifica la línea "model": "qwen2.5-coder:7b-64k" dentro de def generar_articulo si deseas probar otro modelo que tengas en Ollama (ej. deepseek-coder).

  • Modificar las Reglas de Redacción o el Frontmatter: Cambia el texto de la variable prompt = f"""...""". Aquí puedes exigirle que use componentes de DaisyUI específicos, que use otra estructura de encabezados, o añadir nuevos campos obligatorios para el SEO de Astro.

  • Añadir o cambiar Categorías: Modifica la lista CATEGORIAS y el diccionario KEYWORDS_CATEGORIAS al inicio del archivo para que el sistema clasifique tus notas bajo nuevos criterios automáticos.