RSS beslemelerinizi yapay zeka ajanlarına nasıl bağlarsınız
RSS ile yapay zeka ajanlarının birlikte çalışması neden mantıklı
Web'i okuması gereken çoğu yapay zeka ajanı, sayfaları kazıyarak işe başlar. Bu, HTML ayrıştırma, JavaScript işleme, hız sınırlaması, CAPTCHA'lar ve her site yeniden tasarlandığında değişen düzenlerle uğraşmak demektir.
SereneReader zor işi zaten halleder: RSS beslemelerini çeker, XML'i ayrıştırır ve her şeyi temiz, yapılandırılmış veriler olarak depolar. API, ajanınıza bu verileri JSON olarak sunar. Veri kazıma yok, ayrıştırma yok, kırılgan sayfa seçicileri yok.
Temiz JSON, ham beslemeler değil. Ajanınız hiçbir zaman RSS veya XML ile muhatap olmaz. SereneReader beslemeleri zaten tüketmiş, HTML özel karakterlerini çözmüş, çift kodlanmış içerikleri düzeltmiş ve ham besleme verilerini dağınık hale getiren tüm kodlama tutarsızlıklarını normalleştirmiştir. Ajan yalnızca API'yi sorgular ve temiz, yapılandırılmış JSON alır.
İnsan tarafından seçilmiş kaynaklar. Beslemeleri siz seçersiniz. Ajanın neye erişeceğine siz karar verirsiniz. Bu genel bir web taraması değil; sizin kontrol ettiğiniz, odaklanmış bir bilgi akışıdır.
Veri kazıma yok, engelleme yok. Ajanınız kaynak web sitelerine değil, SereneReader API'sine bağlanır. robots.txt sorunları yok, bot karşıtı önlemler yok, yasal gri alanlar yok.
Kronolojik ve tekilleştirilmiş. Makaleler sırasıyla ve tek seferinde gelir. Yayınlanma tarihine göre filtreleme yaparsanız ajanın daha önce neleri gördüğünü takip etmesine gerek kalmaz.
OpenClaw ile nasıl çalışır
OpenClaw, ajanların harici API'leri araç olarak çağırmasına olanak tanıyan bir yapay zeka ajan platformudur. SereneReader ile bağlamak için:
- SereneReader ayarlarınızda bir API anahtarı oluşturun.
- OpenClaw ajan yapılandırmanızda SereneReader API'sini bir araç olarak tanımlayın. Ayarlar sayfanızdaki uç nokta belgeleri, ajanın tam olarak ne çağıracağını gösterir.
- Ajana bir görev verin. Örneğin: "Her sabah RSS beslemelerimi kontrol et, altyapı güvenliğiyle ilgili her şeyi özetle ve bir özeti Obsidian kasama kaydet."
Zamanlama, filtreleme ve özetleme işlerini ajan üstlenir. Besleme çekme ve makale depolama işlerini ise SereneReader üstlenir.
Örnek ajan istemi
Ajan talimatları kabaca şöyle görünebilir:
SereneReader API'sine erişiminiz var. Her gün sabah 8'de, son 24 saatte yayınlanan makaleleri çekin. Her makale için siber güvenlik, altyapı veya DevOps ile ilgili olup olmadığını belirleyin. İlgiliyse günlük özete ekleyin. Özeti Obsidian kasamdaki Daily Digests klasörüne yeni bir not olarak kaydedin.
Ajan API'yi çağırır, sonuçları işler ve harekete geçer. Özel kod yok, cron görevi yok, birleştirici betik yok.
Örnek kullanım senaryoları
Haber izleme ajanı
SereneReader'a 20-30 sektör beslemesi abone olun. Şirketinizden, rakiplerinizden veya belirli konulardan bahsedilen yerleri tarayan bir ajan bağlayın. Her beslemeyi elle kontrol etmek yerine günlük bir brifing alın.
Araştırma özeti
Akademik ön baskı beslemelerine (arXiv, bioRxiv) ve teknik bloglara abone olun. Bir ajanın yeni makaleleri konuya göre kategorize etmesini, mevcut projelerinizle ilgili olanları işaretlemesini ve haftalık bir okuma listesi derlemesini sağlayın.
İçerik hattı
Alanınızdaki beslemelere abone olun. Bir ajanın trend konuları belirlemesine, önemli noktaları çıkarmasına ve içerik taslakları oluşturmasına izin verin. İçeriği yine siz yazarsınız, ancak araştırma adımı halledilmiş olur.
Rekabet istihbaratı
Rakip blogları, değişiklik günlüğü beslemelerini ve basın bültenlerini takip edin. Bir ajan ürün lansmanlarını, fiyat değişikliklerini ve özellik duyurularını tespit edip bunları yapılandırılmış bir biçimde kaydedebilir.
Her LLM aracıyla çalışır
SereneReader API'si, HTTP üzerinden standart JSON döndürür. Kimlik doğrulamalı API istekleri yapabilen her araç onu kullanabilir:
- Özerk ajan iş akışları için OpenClaw
- Geri alma ile güçlendirilmiş üretim için LangChain / LlamaIndex
- OpenRouter aracılığıyla herhangi bir LLM API ile özel betikler (aşağıdaki örneğe bakın)
- Yapay zeka adımları içeren kodsuz otomasyon için Zapier / Make
- Kendi kendine barındırılan iş akışı otomasyonu için n8n
Kalıp her zaman aynıdır: SereneReader'dan makaleleri çekin, işlenmesi için bir LLM'e iletin ve çıktıyı gitmesi gereken yere yönlendirin.
Örnek: OpenRouter ile günlük özet betiği
SereneReader'dan dünkü makaleleri çeken, OpenRouter aracılığıyla herhangi bir LLM ile özetleyen ve sonucu yerel bir dosyaya yazan bir Node.js betiği. node digest.mjs komutuyla çalıştırın veya cron ile zamanlayın.
// 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: "anthropic/claude-sonnet-4",
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)`);Bağımlılık yok, derleme adımı yok. İki API anahtarı, tek bir dosya ve günlük bir araştırma özetiniz var. Modeli değiştirin, istemi düzenleyin ya da çıktıyı Obsidian, Notion veya Slack'e yönlendirin.
Başlarken
API erişimi, aylık 5 dolar tutarındaki Pro planına dahildir — çoğu rakip okuyucunun yaptığı gibi kurumsal katmanın veya en üst düzey planın arkasına kilitlenmemiştir.
- Henüz yapmadıysanız SereneReader'a kaydolun.
- Ajanınızın erişmesini istediğiniz beslemelere abone olun.
- Ayarlarda bir API anahtarı oluşturun.
- Ajanınızı SereneReader API'sini çağıracak şekilde yapılandırın.
Tüm uç nokta belgeleri hesap ayarlarınızda yer almaktadır. API'nin kendisi hakkında daha fazla bilgi için SereneReader API ile otomasyon oluşturma yazısını okuyun.