Gerador de Tweets de artigos
Gere um tweet sobre um artigo e publique-o no X.
graph TD
%%{init: {'theme': 'mc','layout': 'elk'}}%%
TextInput-st0k1[<div><img alt="logo" src="/_astro/type.Dy26vmDy.svg" style="height: 20px !important;width: 20px !important"/></div>Query]
style TextInput-st0k1 stroke:#a170ff
Prompt-2zkyi[<div><img alt="logo" 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 alt="logo" 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 alt="logo" src="/_astro/braces.Djq0PW4_.svg" style="height: 20px !important;width: 20px !important"/></div>Parse Data2]
style ParseData-11ts5 stroke:#a170ff
OpenAIModel-7fyyb[<div><img alt="logo" src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI]
style OpenAIModel-7fyyb stroke:#a170ff
OpenAIModel-1p9j6[<div><img alt="logo" src="/_astro/openAI.BhmuxEs3.svg" style="height: 20px !important;width: 20px !important"/></div>OpenAI]
style OpenAIModel-1p9j6 stroke:#a170ff
ParseData-mo9ts[<div><img alt="logo" 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
🧩 Descrição Geral
O fluxo Gerador de Tweets de artigos automatiza o processo de criação e publicação de tweets a partir de conteúdo web. Ele recebe uma consulta, pesquisa a web, seleciona uma URL aleatória, extrai o conteúdo, gera um tweet com base nesse conteúdo e publica o resultado no X (antigo Twitter).
⚙️ Funcionalidades Principais
- Recebe uma consulta de texto e realiza uma busca na web.
- Seleciona aleatoriamente uma URL dentre os resultados de busca.
- Rascura o conteúdo completo da página escolhida.
- Gera um tweet resumido e informativo sobre o artigo.
- Publica o tweet no X, podendo responder a um tweet existente.
🔄 Passos do Fluxo de Trabalho
| Nome do Componente | Papel no Fluxo | Entradas Principais | Saídas Principais |
|---|---|---|---|
| Entrada de Texto | Coleta do texto de entrada do usuário | Texto a ser pesquisado | Texto da consulta |
| Busca na Web (SearXng) | Executa a busca usando a consulta | Texto da consulta | Lista de URLs encontradas |
| Análise de Dados | Converte a lista de URLs em texto | Lista de URLs | Texto com URLs separados por quebras de linha |
| Prompt de Seleção de URL | Escolhe aleatoriamente uma URL da lista | Texto com URLs | URL única selecionada |
| Modelo OpenAI (seleção) | Gera a URL final a partir do prompt | URL gerada | URL de artigo |
| Raspagem da Web | Extrai o conteúdo completo da página | URL de artigo | Conteúdo da página em markdown |
| Análise de Conteúdo Web | Converte o conteúdo raspado em texto | Conteúdo em markdown | Texto do artigo |
| Prompt de Geração de Tweet | Cria o prompt com o conteúdo do artigo | Texto do artigo | Prompt contendo a URL e o conteúdo |
| Modelo OpenAI (tweet) | Gera o tweet a partir do prompt | Prompt de tweet | Texto do tweet pronto |
| Publicação no X (X Poster) | Publica o tweet no X | Texto do tweet | Dados de publicação (status, ID do tweet) |
🧠 Notas
- O fluxo não depende de identificadores internos; todos os componentes são referenciados apenas pelos seus nomes.
- O componente LabelComponent presente no diagrama serve apenas a fins de documentação e não influencia o fluxo de dados.
- A busca na web e a raspagem podem falhar se o servidor remoto não responder; recomenda‑se tratamento de exceções em ambientes de produção.
- A geração de texto utiliza modelos GPT‑4.1; ajustes de temperatura ou tamanho de token podem ser necessários para garantir a adequação do tweet ao limite de 100 caracteres.