Generador de Tweets de Artículos
Genera un tweet sobre un artículo y lo publica en X.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
TextInput-st0k1[<div><img src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Query]
style TextInput-st0k1 stroke:#a170ff
Prompt-2zkyi[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Prompt]
style Prompt-2zkyi stroke:#a170ff
SearXng-q92z6[Web Search SearXng]
style SearXng-q92z6 stroke:#a170ff
WebScraper-wulwf[Web Scraper]
style WebScraper-wulwf stroke:#a170ff
Prompt-ctj5v[<div><img src="/_astro/square-terminal.BMOXc-nZ.svg" style="height: 20px !important;width: 20px !important"/></div>Prompt]
style Prompt-ctj5v stroke:#a170ff
ParseData-11ts5[<div><img src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Parse Data2]
style ParseData-11ts5 stroke:#a170ff
OpenAIModel-7fyyb[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI]
style OpenAIModel-7fyyb stroke:#a170ff
OpenAIModel-1p9j6[<div><img src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI]
style OpenAIModel-1p9j6 stroke:#a170ff
ParseData-mo9ts[<div><img src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Parse Data]
style ParseData-mo9ts stroke:#a170ff
XPoster-usgch[X Poster]
style XPoster-usgch stroke:#a170ff
TextInput-st0k1 -.- SearXng-q92z6
linkStyle 0 stroke:#a170ff
SearXng-q92z6 -.- ParseData-11ts5
linkStyle 1 stroke:#a170ff
ParseData-11ts5 -.- Prompt-ctj5v
linkStyle 2 stroke:#a170ff
Prompt-ctj5v -.- OpenAIModel-7fyyb
linkStyle 3 stroke:#a170ff
OpenAIModel-7fyyb -.- WebScraper-wulwf
linkStyle 4 stroke:#a170ff
Prompt-2zkyi -.- OpenAIModel-1p9j6
linkStyle 5 stroke:#a170ff
WebScraper-wulwf -.- ParseData-mo9ts
linkStyle 6 stroke:#a170ff
OpenAIModel-7fyyb -.- Prompt-2zkyi
linkStyle 7 stroke:#a170ff
ParseData-mo9ts -.- Prompt-2zkyi
linkStyle 8 stroke:#a170ff
OpenAIModel-1p9j6 -.- XPoster-usgch
linkStyle 9 stroke:#a170ff
🧩 Descripción general
El flujo genera un tweet basado en el contenido de un artículo de IA y lo publica en X (Twitter). A partir de una consulta de texto, busca artículos recientes, selecciona uno al azar, extrae su contenido, crea un tuit conciso y lo publica en la cuenta configurada.
⚙️ Funcionalidades principales
- Búsqueda de artículos a partir de una query textual.
- Selección aleatoria de una URL de los resultados encontrados.
- Extracción de contenido de la página web elegida.
- Generación de un tuit que resume y reflexiona sobre el artículo.
- Publicación automática del tuit en X.
🔄 Pasos del flujo de trabajo
| Nombre del componente | Rol en el flujo | Entradas clave | Salidas clave |
|---|---|---|---|
| TextInput | Recibe la consulta de búsqueda del usuario. | Texto de búsqueda | Mensaje con la query |
| SearXng | Busca artículos en la web según la query. | Texto de búsqueda | Datos con lista de URLs |
| Parse Data | Convierte la lista de URLs en texto plano. | Datos con URLs | Texto con URLs separados |
| Prompt | Elige aleatoriamente una URL de la lista. | Texto con URLs | Mensaje con la URL seleccionada |
| OpenAI Model | Genera la URL completa a partir de la URL parcial. | URL seleccionada | Texto con URL completa |
| Web Scraper | Extrae el contenido markdown de la página. | URL completa | Datos con contenido markdown |
| Parse Data | Convierte el markdown en texto plano. | Datos con markdown | Texto con contenido del artículo |
| Prompt | Prepara el contenido del artículo para el tuit. | Texto del artículo | Mensaje con el contenido preparado |
| OpenAI Model | Genera el tuit a partir del contenido. | Contenido preparado | Texto con el tuit generado |
| X Poster | Publica el tuit en X. | Texto del tuit | Datos de la publicación en X |
Nota: Los componentes “LabelComponent” son únicamente informativos y no participan en la lógica del flujo.
🧠 Notas
- El flujo depende de la disponibilidad de los servicios externos: SearXng, OpenAI API y la API de X.
- Los tokens de autenticación y claves de API deben configurarse en cada componente correspondiente.
- Se asume que la API de OpenAI permite generar URLs y textos; de lo contrario, el flujo fallará en esos pasos.
- La selección aleatoria de URLs se realiza dentro de la lógica del Prompt; no hay control de duplicados.
- La longitud del tuit está limitada a 100 caracteres por la plantilla del Prompt.
- El scraper extrae el contenido completo de la página; la calidad del resultado depende de la estructura HTML del sitio.
- Los límites de tasa de las APIs (OpenAI, X, y SearXng) pueden afectar la velocidad del flujo.