ShunyaNet Sentinel (AKTUALISIERT: 03/02/2026)
ShunyaNet Sentinel ist ein leichtgewichtiges, Cyberpunk-inspiriertes Programm, das RSS-Feeds (z. B. aktuelle Nachrichten, soziale Medien) abruft, sie zur Analyse an ein LLM sendet und in regelmäßigen Abständen direkt an die GUI und an Slack Alarme und Zusammenfassungsberichte ausgibt.
Das Projekt ist darauf ausgelegt, ein lokal auf demselben Rechner oder Netzwerk (z. B. mit Tailscale) gehostetes LLM zu nutzen – entweder mit LMStudio oder Ollama (Update 23.02.). Es funktioniert auch mit einem OpenAI-API-Key (Update 23.02.).
Für die Alarmierung verwendet das Programm Slack-Webhooks, sodass Push-Benachrichtigungen an ein mobiles Gerät gesendet werden können.
Der ShunyaNet Sentinel ist mit den aktuellsten Versionen von Linux, macOS und Windows* kompatibel.
Die Qualität der Berichte und Analysen wird durch das Prompt, die Kontextgröße, die RSS-Feeds und das gewählte LLM beeinflusst. Es wird empfohlen, Thinking-Funktionen auszuschalten. Modelle, die sich in Tests bewährt haben und Anweisungen im Allgemeinen gut befolgen, sind:
- GPT OSS 20b (Thinking auf LOW in LMStudio gesetzt)
- GPT OSS 120b (wahrscheinlich übertrieben)
- Hermes 4 70b (mein Go-to)
- Gemma 3 27b abliterated (mlabonnes Version)
- Qwen3 32b und/oder VL 30b (ich vergesse, welches …)
*Starke Empfehlung: macOS oder Linux. Siehe „Bekannte Probleme“ unten.
Wichtige Informationen finden Sie am Ende unter „Tipps, Tricks und bekannte Probleme“!
Hochrangiger Arbeitsablauf
- Benutzer gibt interessante Themen ein.
- Benutzer stellt eine Liste von RSS-Feeds bereit.
- Sentinel ruft RSS-Feeds in benutzerdefinierten Intervallen ab.
- Der RSS-Inhalt wird an den angegebenen LLM-Server gesendet.
- Das LLM durchsucht die Feeds und meldet dem Sentinel relevante Themen.
- Wenn ein Slack-Webhook konfiguriert ist, werden Benachrichtigungen weitergeleitet und sind auf iOS/Android zugänglich (oft mit Live-Links zu den referenzierten RSS-Inhalten).
- Die optionale Stapelanalyse identifiziert Trends über einen Zeitraum.
Kernfunktionen
- Regelmäßiges Abrufen von RSS-Feeds
- Deduplizierung und Zeitstempel-Verfolgung
- Verarbeitung langsamer oder fehlerhafter Feeds (… hier ist noch Arbeit nötig)
LLM-basierte Analyse (optional)
- Sendet RSS-Feed-Elemente an einen lokalen/API-LLM-Endpunkt
- Prompt-gesteuerte Klassifizierung, Zusammenfassung, Filterung
- Funktioniert mit jedem OpenAI-kompatiblen
/v1/chat/completions-Endpunkt – optimiert für LMStudio
Alarmierung / Signalerzeugung
Lokal & selbst gehostet
- Abgesehen vom Abrufen von RSS-Feeds oder dem Senden von Antworten an Slack (optional) verbleiben alle Informationen auf von Ihnen kontrollierter Hardware.
Anforderungen
- Python 3.10+
- Abhängigkeiten gelistet in
requirements.txt:
- PySide6==6.10.0
- feedparser==6.0.12
- requests==2.31.0
- python-dateutil==2.9.0.post0
LLM gehostet via:
- LM Studio-gehostet (empfohlen)
- Ollama
- OpenAI API-Key
- (bald kommen noch einige hinzu)
Installation
1. Repository klonen (…oder das Zip herunterladen) & in den Ordner wechseln
git clone https://github.com/EverythingsComputer/ShunyaNet-Sentinel.git
cd ShunyaNet-Sentinel
2. (Stark empfohlen) Virtuelle Umgebung erstellen
macOS / Linux:
python3 -m venv venv
source venv/bin/activate
Windows (PowerShell):
python -m venv venv
venv\Scripts\Activate.ps1
3. Anforderungen installieren
pip install -r requirements.txt
4. Ausführen
macOS / Linux:
python3 ShunyaNet_Sentinel.py
Windows:
python ShunyaNet_Sentinel.py
Schnellstart (mit LMStudio) (AKTUALISIERT 23.02.)
- Klicke auf „Prompt-Datei laden“ und lade
default_prompt.txt
- Klicke auf „Datenquellen-Datei laden“ und lade die RSS-Liste
Default_test
- Öffne „Zusätzliche Einstellungen“ und gib Folgendes ein:
- LM_PROVIDER = lmstudio
- LLM_BASE_URL = <DEINE LMSTUDIO-SERVER-IP, z. B.: http://x.x.x.x:port/v1>
- LLM_MODEL = <Ich empfehle, dies leer zu lassen. Folge einfach Schritt 4>
- API_KEY = <leer lassen, es sei denn, du hast einen für deinen Server festgelegt>
- Lade das Modell in LM Studio. Aktiviere unter Servereinstellungen „Im lokalen Netzwerk bereitstellen“. Tipps:
- Aktiviere im Fenster „Modell laden“/Modellauswahl die Option „Modell-Ladeparameter manuell wählen“
- Setze im Fenster „Ladeparameter deines Modells“ die maximalen gleichzeitigen Vorhersagen auf 1 (vorerst).
- Deaktiviere oder minimiere auf dem Inferenz-Tab das „Thinking“, falls verfügbar.
- Ein mittelgroßes Modell, das gut funktioniert: gpt-oss-20b. Thinking auf „niedrig“ gesetzt.
- Klicke auf die Katze! (…oder drücke einfach „Abrufen / Senden“)
Vollständige Anleitung & Konfiguration (AKTUALISIERT 03/02/2026)
-
Gib interessante Themen ein oder lade eine der Standardlisten. Es können bis zu 10 Themen pro Liste hinzugefügt werden.
-
Klicke auf „Prompt-Datei laden“, um eine Prompt-Datei zu laden. Ein Standard-Prompt wird bereitgestellt (default_prompt.txt).
- Du bist ermutigt, dieses Prompt nach Belieben anzupassen – das kann die Berichtsqualität und die Fähigkeit des LLM, Signale im Rauschen zu erkennen, erheblich verbessern. Es gibt VIEL Raum für Anpassungen.
- Es gibt im Ordner „experimental“ ein
default_prompt-always-reply.txt (veraltet). Du kannst es aber verwenden, um die LLM-Analyse zu debuggen/testen und sicherzustellen, dass es etwas im richtigen Format zurückmeldet.
- AKTUALISIERT 03/02/2026 Es wird auch ein Prompt
default_Summary-Report-Only_prompt.txt bereitgestellt. Diese Version versucht nicht, ein Signal aus dem Rauschen zu filtern, sondern fasst eine größere Menge relevanter Feeds zusammen, wenn der Informationsraum reich an themenbezogenen Daten ist. Daher ist sie nützlicher, nachdem das gesuchte „Ereignis“ eingetreten ist. Sie wird am besten weniger häufig verwendet (z. B. alle halbe Stunde bei einem sich schnell entwickelnden und viel berichteten Ereignis oder alle paar Stunden bei weniger berichteten Daten) und mit einer großzügigen Token-Zuteilung für das Prompt und die Antwort.