
ShunyaNet Sentinel ist ein leichtgewichtiges Programm, das RSS-Feeds überwacht, sie zur Analyse an ein LLM sendet und Zusammenfassungen oder Warnmeldungen direkt an die GUI und Slack liefert.
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:
*Starke Empfehlung: macOS oder Linux. Siehe „Bekannte Probleme“ unten.
Wichtige Informationen finden Sie am Ende unter „Tipps, Tricks und bekannte Probleme“!
/v1/chat/completions-Endpunkt – optimiert für LMStudiorequirements.txt:
LLM gehostet via:
git clone https://github.com/EverythingsComputer/ShunyaNet-Sentinel.git
cd ShunyaNet-Sentinel
macOS / Linux:
python3 -m venv venv
source venv/bin/activate
Windows (PowerShell):
python -m venv venv
venv\Scripts\Activate.ps1
pip install -r requirements.txt
macOS / Linux:
python3 ShunyaNet_Sentinel.py
Windows:
python ShunyaNet_Sentinel.py
default_prompt.txtDefault_testGib 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).
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.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.Klicke auf „Datenquellen-Datei laden“, um eine RSS-Liste zu laden. Zwei Standardlisten werden bereitgestellt. Eine kurze Liste „Default_test“ und eine längere Liste „Default_long“, die sich auf weltweite Nachrichten und aktuelle Schlagzeilen konzentriert.
India_regional_example-v1.txt). Ein Beispiel für einen Iran-Konflikt ist ebenfalls enthalten.LLM_PROVIDER = lmstudioLLM_BASE_URL = <deine LMStudio-Server-URL, z. B.: http://localhost:1234/v1>LLM_MODEL = <OPTIONAL. Ich empfehle, dies leer zu lassen und dein Modell direkt in LMStudio zu laden. Falls nötig, lautet das Format: lmstudio-community/mistral-7b-instruct>LLM_API_KEY = <Leer lassen, es sei denn, du verwendest einen Authentifizierungsschlüssel>LLM_PROVIDER = ollamaLLM_BASE_URL = <deine LMStudio-Server-URL, z. B.: http://localhost:11434/v1>LLM_MODEL = llama3LLM_API_KEY = = <leer lassen>LLM_PROVIDER = openaiLLM_BASE_URL = (egal: dieses Feld wird ignoriert)LLM_MODEL = gpt-4o-miniLLM_API_KEY = sk-xxxxHINWEIS: Ich empfehle, es beim ersten Durchlauf einfach zu halten. Verwende die Standardeinstellungen und stelle sicher, dass es funktioniert. Passe dann Kontext und RSS-Feeds an. Danach passe das Prompt an. Mich würde interessieren, welche verbesserten Prompts die Leute einreichen ….
Probleme/Warnungen:
Vorschläge:
Alpha
Dieses Projekt ist unter der Apache 2.0-Lizenz lizenziert.
Namensnennung: ShunyaNet / EverythingsComputer
Keine Gewährleistung: Die Software wird „wie besehen“ ohne jegliche ausdrückliche oder stillschweigende Garantie bereitgestellt.
Dieses Projekt verwendet die folgenden Drittanbieter-Bibliotheken. Bitte überprüfen Sie deren Lizenzen, wenn Sie dieses Projekt verwenden, verteilen und/oder verändern:
Meine Katze.
Setze in „Zusätzliche Einstellungen“ die folgenden Felder. Diese werden gespeichert und bleiben erhalten, wenn du das Programm beendest und neu startest. Die Standardeinstellungen funktionieren mit den meisten Konfigurationen – du musst aber dennoch Feld #1 selbst eintragen:
| Einstellung | Beschreibung | Standard | Beispiel / Hinweise |
|---|
| LLM_PROVIDER | SIEHE NÄCHSTER SCHRITT | — | — |
| LLM_BASE_URL | SIEHE NÄCHSTER SCHRITT | — | — |
| LLM_MODEL | SIEHE NÄCHSTER SCHRITT | — | — |
| LLM_API_KEY | SIEHE NÄCHSTER SCHRITT | — | — |
| SLACK_WEBHOOK_URL | Optionale Slack-Webhook-URL zum Senden von Alarmen an Slack. | Optional | https://hooks.slack.com/services/... |
| MAX_INPUT_TOKENS | Maximale Anzahl an Tokens, die pro RSS-Abruf an das LLM gesendet werden. Faustregel: 1 Token ≈ 4 Zeichen. Wenn die Modell-Kontextgröße überschritten wird, aktiviere den Chunk-Modus. | 4000 | Vorsichtig erhöhen, abhängig vom Kontextfenster deines LLM. |
| MAX_OUTPUT_TOKENS | Maximale Anzahl an Tokens, die das LLM in seiner Antwort senden darf. (Hinweis: Dies ist das Maximum/Obergrenze, nicht das Ziel!) | 4000 | Ich empfehle, nichts zu ändern. 4000 ist wahrscheinlich zu viel Spielraum, um ehrlich zu sein. |
| MAX_INPUT_TOKENS_BULK | Maximale Token-Länge der an das LLM gesendeten RSS-Feeds für die Stapelverarbeitung. Wenn die Stapelverarbeitung aktiviert ist, werden RSS-Feeds gespeichert und zusammen mit einem speziellen Trendanalyse-Prompt (derzeit fest codiert) gesendet. Für die Stapelverarbeitung werden keine Chunks verwendet, also überschreite nicht dein Kontextlimit. | 4000 | Muss wahrscheinlich für aussagekräftige Stapelberichte erhöht werden. Kann VRAM und Kontextgrenzen belasten. Es wird empfohlen, den Stapelmodus zunächst zu deaktivieren. |
| MAX_OUTPUT_TOKENS_BULK | Maximale Token-Länge des Stapelverarbeitungsberichts selbst. | 4000 | Muss wahrscheinlich für aussagekräftige Stapelberichte erhöht werden. Kann VRAM und Kontextgrenzen belasten. Es wird empfohlen, den Stapelmodus zunächst zu deaktivieren. |
| FETCH_INTERVAL | Zeit in Sekunden zwischen RSS-Abrufen und LLM-Analyse. | 600 (Sekunden, d. h. 10 Minuten) | Nicht niedriger als die gesamte Verarbeitungszeit einstellen, sonst kann es zu einem Rückstau kommen. |
| ITEMS_PER_FEED | Maximale Anzahl von RSS-Einträgen, die pro Feed und Zyklus abgerufen werden. Bereits abgerufene Einträge werden ignoriert. | 50 | Höhere Werte erzeugen einen größeren ersten Abruf. Die meisten RSS-Feeds produzieren nicht viel mehr als 20 neue Einträge alle 10 Minuten, manche sogar weniger. |
| USE_CHUNKED_MODE | Aktiviert die automatische Aufteilung von RSS-Inhalten, wenn das Token-Limit überschritten wird. 1 = Ein, 0 = Aus. | 1 | Verhindert Kontextüberlauf, kann aber zu doppelten Ereignismeldungen über Chunks hinweg führen. |
| CHUNK_SIZE | Größe jedes Chunks in Zeichen (nicht Tokens). | 8000 | Ungefähre Umrechnung: 4 Zeichen ≈ 1 Token. ICH WIEDERE: DIES IST IN ZEICHEN. Sollte es in Tokens sein? Wahrscheinlich! Ist es aber nicht. |
| WRITE_TO_FILE | Optional. Schreibt alle abgerufenen RSS-Inhalte in eine fortlaufende Datei für externes Benchmarking, Prompt-Tests oder Modellvergleiche. Beeinträchtigt nicht die Kernfunktionalität von Sentinel. 1 = Ein, 0 = Aus. | 0 | Nützlich für Offline-LLM-Tests und Evaluierung. |
| ANALYSIS_WINDOW | Zeitintervall, das für jeden Stapelverarbeitungsbericht verwendet wird. | 3600 (Sekunden, d. h. 1 Stunde) | Wird nur verwendet, wenn die Stapelverarbeitung aktiviert ist. |
| BULK_ANALYSIS | Aktiviert die periodische Erstellung von RSS-Trendberichten in Stapelverarbeitung. 1 = Ein, 0 = Aus. Sehr experimentell im Vergleich zur routinemäßigen Berichterstellung. Das spezielle Prompt ist vorerst fest codiert. | 0 | Sendet angesammelte RSS-Feeds zur Erstellung eines einzigen Trendanalyseberichts an das LLM. Kann die Verarbeitungslast erheblich erhöhen. |