Hoe je je RSS-feeds koppelt aan AI-agents
Waarom RSS gecombineerd met AI-agents werkt
AI-agents die het web lezen beginnen vaak met het scrapen van pagina's. Dat betekent HTML parsen, JavaScript renderen, omgaan met rate limits en CAPTCHA's, en paginaselectoren repareren telkens wanneer een site zijn indeling wijzigt.
SereneReader haalt je RSS-feeds op, parseert ze en slaat de artikelen op als gestructureerde data. De API geeft die data terug als JSON, zodat je agent werkt met titels, links, auteurs, datums en samenvattingen in plaats van webpagina's.
Gestructureerde JSON. Je agent hoeft zelf geen RSS of XML te verwerken. SereneReader heeft de feeds al geparseerd, HTML-entiteiten gedecodeerd, dubbel gecodeerde inhoud gecorrigeerd en afwijkingen in de codering genormaliseerd. De agent bevraagt de API en krijgt gestructureerde JSON terug.
Bronnen die jij kiest. Jij bepaalt welke feeds je volgt, zodat de agent alleen ziet wat je zelf hebt geselecteerd.
Geen scraping. Je agent roept de SereneReader API aan en neemt nooit contact op met de bronwebsites, waardoor robots.txt-regels en anti-botmaatregelen geen rol spelen.
Datumfiltering. Resultaten worden nieuwste eerst teruggegeven, en je kunt aangeven dat je alleen artikelen wilt die na een bepaald tijdstip zijn gepubliceerd. Feeds publiceren soms items laat of met oudere datums, dus als je agent geen enkel item mag missen of herhalen, laat hem dan bijhouden welke artikel-ID's al verwerkt zijn.
Hoe het werkt met OpenClaw
Vanaf oktober 2026 is OpenClaw een open-source AI-assistent die op je eigen computer draait en waarmee je communiceert via chat-apps zoals WhatsApp, Telegram of Discord. Je breidt hem uit met vaardigheden die externe API's kunnen aanroepen. Om hem te koppelen aan SereneReader:
- Maak een API-sleutel aan in SereneReader via Instellingen > API (beschikbaar in de Pro- en Teamplannen).
- Voeg een vaardigheid toe voor de SereneReader API. Het API-tabblad in Instellingen toont de eindpunten, parameters en voorbeeldverzoeken die je vaardigheid nodig heeft.
- Geef de assistent een taak. Bijvoorbeeld: "Controleer elke ochtend mijn RSS-feeds, vat alles samen wat te maken heeft met infrastructuurbeveiliging en sla een samenvatting op in mijn Obsidian-kluis."
De assistent regelt de planning, filtering en samenvatting. SereneReader regelt het ophalen van feeds en het opslaan van artikelen.
Voorbeeld van een agent-prompt
Zo zien de instructies voor de agent er globaal uit:
Je hebt toegang tot de SereneReader API. Haal elke dag om 8 uur artikelen op die in de afgelopen 24 uur zijn gepubliceerd. Bepaal voor elk artikel of het betrekking heeft op cyberbeveiliging, infrastructuur of DevOps. Als dat zo is, voeg het dan toe aan een dagelijkse samenvatting. Sla de samenvatting op als een nieuwe notitie in mijn Obsidian-kluis, in de map Daily Digests.
De agent roept de API aan, verwerkt de resultaten en slaat de notitie op. Als je agentplatform taken op een schema kan uitvoeren, hoef je hiervoor geen code te schrijven. Als dat niet kan, doet het script verderop hetzelfde met cron.
Voorbeeldtoepassingen
Nieuwsbewakingsagent
Abonneer je op 20 tot 30 branchefeeds in SereneReader. Koppel een agent die scant op vermeldingen van je bedrijf, concurrenten of specifieke onderwerpen. Ontvang een dagelijkse briefing in plaats van elke feed zelf te controleren.
Onderzoeksoverzicht
Volg feeds met academische preprints (arXiv, bioRxiv) en technische blogs. Laat een agent nieuwe artikelen per onderwerp categoriseren, alles markeren dat relevant is voor je huidige projecten, en een wekelijkse leeslijst samenstellen.
Contentpijplijn
Abonneer je op feeds in jouw niche. Laat een agent trending onderwerpen identificeren, kernpunten extraheren en contentbriefings opstellen. Jij schrijft nog steeds de inhoud, maar de agent doet de eerste onderzoeksronde.
Concurrentie-intelligentie
Volg blogs van concurrenten, changelog-feeds en persberichten. Een agent kan productlanceringen, prijswijzigingen en aankondigingen van nieuwe functies signaleren en die vervolgens in een gestructureerd formaat vastleggen.
Werkt met andere LLM-tools
De SereneReader API geeft standaard JSON terug via HTTP, dus elke tool die geverifieerde API-verzoeken kan doen, kan er gebruik van maken:
- OpenClaw voor een assistent die taken voor je uitvoert
- LangChain / LlamaIndex voor retrieval-augmented generation
- Eigen scripts met elke LLM API via OpenRouter (zie onderstaand voorbeeld)
- Zapier / Make voor no-code-automatisering met AI-stappen
- n8n voor zelfgehoste workflowautomatisering
Het patroon is meestal hetzelfde: haal artikelen op uit SereneReader, geef ze door aan een LLM en stuur de uitvoer naar waar die naartoe moet.
Voorbeeld: dagelijks overzichtsscript met OpenRouter
Een Node.js-script dat de artikelen van de afgelopen 24 uur ophaalt uit SereneReader, ze samenvat met een model dat je via OpenRouter kiest, en het resultaat naar een lokaal bestand schrijft. Stel SERENE_API_URL in op het volledige artikeleneindpunt (de basis-URL uit het API-tabblad in Instellingen, gevolgd door /api/v1/articles), en stel OPENROUTER_MODEL in op het OpenRouter-ID van het gewenste model (bijvoorbeeld een Claude-model uit de modellenlijst van OpenRouter). Voer het uit met node digest.mjs, of plan het in met cron.
Zoals geschreven leest het script één pagina met resultaten, en de API geeft standaard 50 artikelen per pagina terug. Als je feeds op een dag meer dan dat publiceren, voeg dan de parameter limit toe (tot 200) of blader door de resultaten met 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)`);Het script heeft geen afhankelijkheden en geen bouwstap. Wissel het model, pas de prompt aan, of stuur de uitvoer naar Obsidian, Notion of Slack in plaats van naar een bestand.
Aan de slag
API-toegang is inbegrepen bij Pro ($5/maand via het web) en Team.
- Maak een account aan bij SereneReader als je dat nog niet hebt gedaan.
- Abonneer je op de feeds die je agent moet lezen.
- Maak een API-sleutel aan via Instellingen > API.
- Configureer je agent om de SereneReader API aan te roepen.
Het API-tabblad in Instellingen bevat de volledige eindpuntreferentie. Lees voor meer informatie over de API zelf Automatiseringen bouwen met de SereneReader API.