Automatisches Einlesen, Umschreiben & Vorbereiten von RSS-Artikeln zur Veröffentlichung
Find a file
2025-07-09 20:31:18 +02:00
.github Add GitHub Issue & PR templates 2025-07-09 08:30:18 +02:00
data 🔖 Release v1.5.0 2025-07-08 10:48:12 +02:00
logs 🔖 Release v1.5.0 2025-07-08 10:48:12 +02:00
pages 🔖 Release v1.4.5 2025-07-07 11:37:22 +02:00
utils 🔖 Release v1.5.0 2025-07-08 10:48:12 +02:00
.gitignore 🔒 Erweiterung der .gitignore 2025-07-08 11:17:14 +02:00
__version__.py Bump version to v1.5.2 2025-07-09 20:31:18 +02:00
app.py 🔖 Release v1.5.0 2025-07-08 10:48:12 +02:00
CHANGELOG.md Bump version to v1.5.2 2025-07-09 20:31:18 +02:00
LICENCE Release 1.1.0 2025-07-04 09:48:03 +02:00
main.py 🔖 Release v1.4.5 2025-07-07 11:37:22 +02:00
README.md Bump version to v1.5.2 2025-07-09 20:31:18 +02:00
requirements.txt 🔖 Release v1.4.5 2025-07-07 11:37:22 +02:00
test_checklist.md 🔖 Release v1.5.0 2025-07-08 10:48:12 +02:00
versioning.py Bump version to v1.5.2 2025-07-09 20:31:18 +02:00

📰 RSS News Bot

Ein intelligentes Tool zum Einlesen, Umschreiben und Veröffentlichen von Artikeln aus RSS-Feeds mit automatischer Tag-Erkennung, KI-unterstütztem Rewrite via GPT-4, Bildextraktion aus Originalartikeln und optionaler DALL·E-Bildgenerierung.

Version License Python Streamlit


🚀 Features

  • 📡 RSS-Feeds verwalten (hinzufügen, aktualisieren)
  • ✍️ Artikel automatisch umschreiben mit GPT-4
  • 🏷️ Tags automatisch generieren
  • 🖼️ Bilder aus Originalartikeln extrahieren
  • 🪄 Optionales DALL·E-Bild generieren
  • 🔧 Bearbeiten von Bildmetadaten
  • 🗂️ Statusverwaltung der Artikel (New, Rewrite, Process, etc.)
  • 📜 Log-Viewer-Seite integriert
  • 📥 Export zur Veröffentlichung auf WordPress vorbereitet
  • 📋 Artikeltabelle mit Status-Filter
  • 🔍 Artikel-Expander mit Rewrite, Tags & Bildern
  • 🪄 Button für KI-Bildgenerierung

🧱 Projektstruktur

ss-news/ ├── app.py # Haupt-UI mit Streamlit ├── main.py # Logik für Feed-Import und Verarbeitung ├── utils/ │ └── image_extractor.py # Bilder aus Originalartikeln extrahieren │ └── dalle_generator.py # DALL·E-Integration (KI-Bild) ├── pages/ │ └── log_viewer.py # UI zur Anzeige der Logs ├── data/ │ └── articles.json # Gespeicherte Artikel │ └── feeds.json # Gespeicherte Feed-URLs ├── logs/ │ └── rss_tool.log # Logging der Verarbeitung ├── versioning.py # CLI-Tool zur Versionierung & Release ├── TEST-CHECKLIST.md # Manuelle Prüfliste für Releases ├── version.py # Aktuelle Version └── CHANGELOG.md # Änderungsprotokoll


🔐 Signierte Commits und Tags

Dieses Projekt unterstützt signierte Commits und Tags über SSH (alternativ GPG). GitHub zeigt für signierte Beiträge ein Verified-Badge an.

🛠 Voraussetzungen

  1. Ein SSH-Key (z.B. ~/.ssh/id_ed25519) ist generiert:

    ssh-keygen -t ed25519 -C "deine@email.de"
    
  2. Key bei GitHub an zwei Stellen hinterlegen:

    • 🔏 Signing Keys (für Commit-Signatur)
    • 🔐 SSH Keys (für Git-Push/Pull)
  3. Git-Konfiguration

    git config --global gpg.format ssh
    git config --global user.signingkey ~/.ssh/id_ed25519.pub
    git config --global commit.gpgsign true
    
  4. Optional: SSH config zur Sicherheit:

    # ~/.ssh/config
    Host github.com
        HostName github.com
        User git
        IdentityFile ~/.ssh/id_ed25519
        IdentitiesOnly yes
    

🧰 Nutzung von versioning.py Die Datei versioning.py automatisiert:

* ⬆️ Versionsnummer erhöhen
* 📄 CHANGELOG.md und __version__.py aktualisieren
* 🔒 Commit signieren (SSH oder GPG)
* 🏷 Git-Tag signieren
* ⬆️ Push zu GitHub

Beispiel:

```bash
python versioning.py --level minor --push
```
  • Wählt automatisch SSH oder GPG zur Signatur
  • Optional --no-sign, um ohne Signatur zu arbeiten

⚙️ Installation

git clone https://github.com/OliverGiertz/rss-news.git
cd rss-news
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt

▶️ Starten der App

streamlit run app.py