1. No-Code / Low-Code mit Zapier oder Make (Integromat)
- Feeds sammeln
Lege in Zapier (oder Make) einen neuen „Zap“ (bzw. „Scenario“) an und füge jeweils einen RSS-Feed-Trigger hinzu:
- Zapier: RSS by Zapier → New Item in Feed
- Make: RSS > Watch RSS Feed Items
- Items zusammenführen
In Zapier kannst du mehrere Feeds in einzelnen Zaps abrufen und dann mit dem Action-Schritt Storage by Zapier → Set Value in einer gemeinsamen Liste sammeln. Oder in Make direkt alle „Watch RSS“-Module in einem Array zusammenführen.
- Tägliche Auslösung festlegen
- Zapier: Trigger “Schedule by Zapier” → täglich z.B. um 08:00
- Make: Modul Scheduler → täglich um gewünschter Uhrzeit
- Text in KI-Zusammenfassung schicken
Füge als nächstes Modul hinzu:
- OpenAI → Create Chat Completion
- Prompt (Beispiel):
Fasse mir bitte die folgenden RSS-Items des Tages in 3–5 Sätzen zusammen:<br>{{aggregated_titles_and_summaries}}<br>
- Modell: gpt-4-turbo (oder dein favorisiertes)
- Ergebnis ausliefern
- Per E-Mail: Gmail/SMTP → Send Email
- Per Slack: Slack → Send Channel Message
- Per Telegram/Push: entsprechende Connectoren
Vorteil:
– Kein eigener Server nötig, alles läuft in der Cloud.
– Schnell aufzusetzen, wenig Programmieraufwand.
2. DIY-Skript mit Python + Cron / GitHub Actions
Wenn du volle Kontrolle und keine Plattformabhängigkeit möchtest, kannst du ein kleines Python-Skript schreiben:
import feedparser<br>import openai<br>import smtplib<br>from email.mime.text import MIMEText<br>from datetime import datetime<br><br># 1. RSS-Feeds<br>FEEDS = [<br> "
https://example.com/feed1.xml",<br> "
https://example.org/blog/rss",<br> # …<br>]<br><br># 2. Feeds parsen & sammeln<br>entries = []<br>for url in FEEDS:<br> feed = feedparser.parse(url)<br> for item in feed.entries:<br> entries.append(f"-
{item.title} ({item.link})")<br><br># 3. Prompt für OpenAI<br>prompt = (<br> "Fasse bitte die folgenden heutigen RSS-Einträge in 4–6 Sätzen zusammen:\n\n"<br> + "\n".join(entries)<br>)<br><br># 4. OpenAI-API aufrufen<br>openai.api_key = "DEIN_API_KEY"<br>response = openai.ChatCompletion.create(<br> model="gpt-4-turbo",<br> messages=[{"role": "user", "content": prompt}]<br>)<br>summary = response.choices[0].message.content.strip()<br><br># 5. E-Mail versenden<br>msg = MIMEText(summary, _charset="utf-8")<br>msg["Subject"] = f"Täglicher RSS-Digest {datetime.now():%Y-%m-%d}"<br>msg["From"] = "
dein@host.de"<br>msg["To"] = "
du@host.de"<br><br>with smtplib.SMTP("smtp.host.de", 587) as server:<br> server.starttls()<br> server.login("
dein@host.de", "PASSWORT")<br> server.send_message(msg)<br>
Deployment & Scheduling
- Cronjob auf deinem Server
0 8 * * * /usr/bin/python3 /pfad/zum/rss_digest.py<br>
Läuft täglich um 08:00 Uhr.
- GitHub Actions
Nutze einen Workflow mit on: schedule:
name: Daily RSS Digest<br><br>on:<br> schedule:<br> - cron: '0 6 * * *' # UTC, passt an deine Zeitzone an<br><br>jobs:<br> build:<br> runs-on: ubuntu-latest<br> steps:<br> - uses: actions/checkout@v3<br> - name: Set up Python<br> uses: actions/setup-python@v4<br> with:<br> python-version: '3.x'<br> - name: Install Dependencies<br> run: pip install feedparser openai<br> - name: Run Digest Script<br> run: python rss_digest.py<br> env:<br> OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}<br> SMTP_USER: ${{ secrets.SMTP_USER }}<br> SMTP_PASS: ${{ secrets.SMTP_PASS }}<br> SMTP_HOST: ${{ secrets.SMTP_HOST }}<br>
Vorteil:
– Maximale Flexibilität (Layout, zusätzliche Verarbeitung, Logging).
– Läuft auf deiner Infrastruktur oder über GitHub.
Was passt für dich?
- Keine Programmierkenntnisse? → No-Code via Zapier/Make
- Du willst volle Kontrolle? → Eigenes Python-Skript + Cron/GitHub Actions
Gib Bescheid, welchen Weg du bevorzugst oder ob du Hilfe beim Einrichten eines der beiden Setups brauchst!