Come collegare i tuoi feed RSS agli agenti AI
Perché RSS e agenti AI funzionano bene insieme
Gli agenti AI che leggono il web spesso iniziano effettuando lo scraping delle pagine. Ciò significa analizzare l'HTML, eseguire JavaScript, gestire rate limit e CAPTCHA, e correggere i selettori ogni volta che un sito cambia il proprio layout.
SereneReader recupera i tuoi feed RSS, li analizza e memorizza gli articoli come dati strutturati. L'API restituisce questi dati in formato JSON, così il tuo agente lavora con titoli, link, autori, date e riepiloghi anziché con le pagine web.
JSON strutturato. Il tuo agente non deve gestire RSS o XML. SereneReader ha già analizzato i feed, decodificato le entità HTML, corretto i contenuti con doppia codifica e normalizzato le anomalie di encoding, quindi l'agente interroga l'API e riceve JSON strutturato in risposta.
Fonti di tua scelta. Sei tu a scegliere i feed, quindi l'agente vede solo le fonti che hai selezionato.
Nessuno scraping. Il tuo agente chiama l'API di SereneReader e non contatta mai i siti web di origine, quindi le regole dei file robots.txt e le misure anti-bot non entrano in gioco.
Filtro per data. I risultati vengono restituiti dal più recente al meno recente, e puoi richiedere gli articoli pubblicati a partire da un determinato momento. I feed a volte pubblicano elementi in ritardo o con date precedenti, quindi se il tuo agente non deve mai perdere o ripetere un elemento, assicurati che tenga traccia degli ID degli articoli già elaborati.
Come funziona con OpenClaw
A partire da ottobre 2026, OpenClaw è un assistente AI open source che gira sul tuo computer e con cui interagisci tramite app di chat come WhatsApp, Telegram o Discord. Si estende tramite skill, che possono chiamare API esterne. Per collegarlo a SereneReader:
- Crea una chiave API in SereneReader sotto Impostazioni > API (nei piani Pro e Team).
- Aggiungi una skill per l'API di SereneReader. La scheda API nelle Impostazioni elenca gli endpoint, i parametri e le richieste di esempio di cui la tua skill ha bisogno.
- Assegna un compito all'assistente. Ad esempio: "Controlla i miei feed RSS ogni mattina, riepiloga tutto ciò che riguarda la sicurezza delle infrastrutture e salva un riepilogo nel mio vault di Obsidian."
L'assistente gestisce la pianificazione, il filtraggio e il riepilogo. SereneReader gestisce il recupero dei feed e la memorizzazione degli articoli.
Esempio di prompt per l'agente
Ecco come potrebbero apparire le istruzioni per l'agente:
Hai accesso all'API di SereneReader. Ogni giorno alle 8:00, recupera gli articoli pubblicati nelle ultime 24 ore. Per ogni articolo, determina se riguarda la cybersecurity, le infrastrutture o il DevOps. In caso affermativo, aggiungilo a un riepilogo giornaliero. Salva il riepilogo come nuova nota nel mio vault di Obsidian nella cartella Daily Digests.
L'agente chiama l'API, elabora i risultati e salva la nota. Se la tua piattaforma per agenti può eseguire attività pianificate, non è necessario scrivere alcun codice. In caso contrario, lo script più avanti svolge lo stesso compito con cron.
Esempi di utilizzo
Agente per il monitoraggio delle notizie
Iscriviti a 20-30 feed di settore in SereneReader. Collega un agente che analizza le menzioni della tua azienda, dei concorrenti o di argomenti specifici. Ricevi un briefing giornaliero invece di controllare ogni feed manualmente.
Digest di ricerca
Segui feed di preprint accademici (arXiv, bioRxiv) e blog tecnici. Fai categorizzare all'agente i nuovi articoli per argomento, segnala tutto ciò che è rilevante per i tuoi progetti attuali e compila una lista di lettura settimanale.
Pipeline di contenuti
Iscriviti a feed della tua nicchia. Lascia che un agente identifichi i temi emergenti, estragga i punti chiave e rediga brief per i contenuti. Sei ancora tu a scrivere i contenuti, ma l'agente svolge il primo passaggio di ricerca.
Intelligence competitiva
Monitora i blog dei concorrenti, i feed dei changelog e i comunicati stampa. Un agente può individuare lanci di prodotti, variazioni di prezzo e annunci di nuove funzionalità, quindi registrarli in un formato strutturato.
Compatibile con altri strumenti LLM
L'API di SereneReader restituisce JSON standard via HTTP, quindi qualsiasi strumento in grado di effettuare richieste API autenticate può utilizzarla:
- OpenClaw per un assistente che esegue attività al tuo posto
- LangChain / LlamaIndex per la generazione aumentata dal recupero
- Script personalizzati con qualsiasi API LLM tramite OpenRouter (vedi l'esempio di seguito)
- Zapier / Make per l'automazione no-code con passaggi AI
- n8n per l'automazione dei flussi di lavoro self-hosted
Lo schema è di solito lo stesso: recupera gli articoli da SereneReader, passali a un LLM e invia l'output dove necessario.
Esempio: script per il digest giornaliero con OpenRouter
Uno script Node.js che recupera le ultime 24 ore di articoli da SereneReader, li riepiloga con un modello a tua scelta tramite OpenRouter e scrive il risultato in un file locale. Imposta SERENE_API_URL sull'URL completo dell'endpoint degli articoli (l'URL base dalla scheda API nelle Impostazioni, seguito da /api/v1/articles), e imposta OPENROUTER_MODEL sull'ID OpenRouter del modello che desideri (ad esempio, un modello Claude dalla lista modelli di OpenRouter). Eseguilo con node digest.mjs, oppure pianificalo con cron.
Così com'è, lo script legge una pagina di risultati, e l'API restituisce 50 articoli per pagina per impostazione predefinita. Se i tuoi feed pubblicano più di 50 articoli al giorno, aggiungi il parametro limit (fino a 200) o scorri i risultati con offset.
// digest.mjs
// Requires: SERENE_API_KEY, SERENE_API_URL, and OPENROUTER_API_KEY env vars.
// Your API settings page in SereneReader has the base URL and endpoint paths.
const SERENE_API_KEY = process.env.SERENE_API_KEY;
const SERENE_API_URL = process.env.SERENE_API_URL; // from your API settings page
const OPENROUTER_API_KEY = process.env.OPENROUTER_API_KEY;
import { writeFileSync } from "node:fs";
// 1. Fetch yesterday's articles from SereneReader
const yesterday = new Date(Date.now() - 86400000).toISOString();
const res = await fetch(`${SERENE_API_URL}?since=${yesterday}`, {
headers: { Authorization: `Bearer ${SERENE_API_KEY}` },
});
if (!res.ok) {
console.error(`SereneReader API error: ${res.status}`);
process.exit(1);
}
const { articles } = await res.json();
if (articles.length === 0) {
console.log("No new articles since yesterday.");
process.exit(0);
}
// 2. Build a prompt from article titles and snippets
const articleList = articles
.map((a) => `- ${a.title} (${a.feedName})\n ${a.snippet}`)
.join("\n\n");
const prompt = [
`Here are ${articles.length} articles from my RSS feeds`,
`published in the last 24 hours:\n\n${articleList}\n\n`,
`Write a concise daily digest. Group related articles`,
`by topic. For each topic, summarize the key points in`,
`2-3 sentences. Include the article titles so I know`,
`which ones to read in full.`,
].join(" ");
// 3. Send to any model via OpenRouter
const llmRes = await fetch("https://openrouter.ai/api/v1/chat/completions", {
method: "POST",
headers: {
Authorization: `Bearer ${OPENROUTER_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: process.env.OPENROUTER_MODEL, // set to the model ID you want from openrouter.ai/models
messages: [{ role: "user", content: prompt }],
}),
});
if (!llmRes.ok) {
console.error(`OpenRouter API error: ${llmRes.status}`);
process.exit(1);
}
const { choices } = await llmRes.json();
const summary = choices[0].message.content;
// 4. Write the digest to a local markdown file
const date = new Date().toISOString().split("T")[0];
const output = `# Daily Digest - ${date}\n\n${summary}\n`;
writeFileSync(`digest-${date}.md`, output);
console.log(`Digest written to digest-${date}.md (${articles.length} articles)`);Lo script non ha dipendenze né passaggi di build. Puoi cambiare il modello, modificare il prompt, o inviare l'output a Obsidian, Notion o Slack invece di un file.
Come iniziare
L'accesso alle API è incluso nei piani Pro (5 $/mese sul web) e Team.
- Registrati su SereneReader se non l'hai ancora fatto.
- Iscriviti ai feed che vuoi far leggere al tuo agente.
- Crea una chiave API in Impostazioni > API.
- Configura il tuo agente per chiamare l'API di SereneReader.
La scheda API nelle Impostazioni contiene il riferimento completo agli endpoint. Per ulteriori informazioni sull'API, leggi Creare automazioni con l'API di SereneReader.