CommunitySchreiben & Editierengithub.com

seokhoonj/newswatcher

Überwacht RSS-Feeds und Seitenlisten, gleicht sie mit Ihren Themen ab und sendet eine LLM-zusammengefasste Zusammenstellung per E-Mail oder Chat.

Was ist newswatcher?

newswatcher ist ein konfigurierbares Tool, das einen **Sammeln → Abgleichen → Zusammenfassen → Zustellen**-Zyklus für RSS-Feeds und Auflistungsseiten durchführt. Sie definieren Themen in `topics.toml` und Quellen in `sources.toml` (oder über die CLI-Befehle `add-topic` und `add-source`). Bei jedem Poll-Durchlauf ruft newswatcher jede Quelle ab, gleicht die Artikel mit Ihren Schlüsselwörtern ab (die in der Sprache der Quelle übereinstimmen müssen), fasst die neuen Artikel mit einem LLM zusammen und sendet die Zusammenstellung per E-Mail (über das mailmail-Paket) oder an einen Chat-Kanal (über das pushpush-Paket). Diese Fähigkeit ist ein dünner Wrapper um die CLI; sie gibt die Ausgabe des CLI einschließlich etwaiger Fehlermeldungen (`newswatcher: <Meldung>`) direkt weiter, ohne einen Stack-Trace auszulösen. Es unterstützt LLMs von Gemini, OpenAI und Claude und wird auf jeder Plattform ausgeführt, auf der Python verfügbar ist. Gängige Workflows umfassen das Überprüfen der Konfiguration mit `newswatcher topics` und `newswatcher sources`, das Durchführen eines standardmäßigen `newswatcher poll` (der die Zustellung erfordert) oder `newswatcher poll --no-mail`, um nur zu sehen, was ohne Zustellung neu ist.

Funktioniert mit✓Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add seokhoonj/newswatcher

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

newswatcher – Abrufen und Zustellen der Themen-Zusammenstellung

Einmal Sammeln -> Abgleichen -> Zusammenfassen -> Zustellen über die konfigurierten Quellen des Benutzers ausführen. Das Sammeln, Abgleichen, Zusammenfassen und Zustellen befinden sich alle im newswatcher-Paket (auf PyPI); diese Fähigkeit ist ein dünner Wrapper, der dessen CLI aufruft und das Ergebnis weitergibt. Ein fehlender Zusammenstellungs-Empfänger, ein LLM-Schlüssel-/Guthaben-Problem, eine tote Quelle und ähnliches kommen vom CLI als einzeilige newswatcher: <Nachricht> zurück – geben Sie diese unverändert weiter, anstatt dem Benutzer einen Stack-Trace entgegenzuwerfen.

newswatcher ist ein konfiguriertes Werkzeug: Themen und Quellen werden einmal registriert (in topics.toml / sources.toml oder über newswatcher add-topic / add-source), dann jeder Poll-Durchlauf verwendet sie wieder. Überprüfen Sie daher vor dem Abrufen, dass mindestens ein Thema und eine Quelle vorhanden sind.

Voraussetzung

Dieses Plugin ruft das newswatcher-CLI auf, daher muss es zuerst installiert werden:

pipx install newswatcher        # oder: pip install newswatcher

Damit wird der newswatcher-Befehl in den PATH aufgenommen. newswatcher findet seinen eigenen Schlüssel – es liest den Anbieter-Schlüssel (GEMINI_API_KEY / OPENAI_API_KEY / CLAUDE_API_KEY) aus ~/.config/newswatcher/credentials.json (oder der Umgebung), so dass diese Fähigkeit niemals einen Schlüssel herausziehen und übergeben muss. Die kostenlose Stufe von Gemini ist der Standard-Anbieter. Geben Sie niemals einen Schlüsselwert irgendwo aus.

Die Zustellung benötigt auch ein Ziel: einen E-Mail-Empfänger (NEWSWATCHER_DIGEST_TO oder --to) über das mailmail-Paket und/oder eine Chat-Route (NEWSWATCHER_DIGEST_PUSH oder --push) über das pushpush-Paket. Beide werden mit newswatcher installiert; eine pushpush-Route wird mit pushpushs eigenem CLI konfiguriert.

Ausführen

Rufen Sie newswatcher aus dem PATH mit dem Unterbefehl poll auf:

newswatcher poll [Optionen]

Optionen (newswatcher poll --help ist die Quelle der Wahrheit für genaue Standardwerte):

  • --to ADRESSE – E-Mail-Empfänger für diesen Durchlauf (eine mailmail-Adresse oder ein Alias). Überschreibt NEWSWATCHER_DIGEST_TO.
  • --push ROUTE – auch an eine pushpush-Chat-Route zustellen. Überschreibt NEWSWATCHER_DIGEST_PUSH.
  • --no-mail – sammeln, zusammenfassen und archivieren, aber NICHT zustellen (verwenden Sie dies, um nur zu sehen, was neu ist).
  • --no-store – die gesammelten Artikel in diesem Durchlauf nicht archivieren.
  • --no-heal – den Durchlauf zur Selbstreparatur des Crawl-Selektors in diesem Durchlauf überspringen.
  • --provider claude|openai|gemini|... / --model <ID> – den LLM-Anbieter/das Modell überschreiben (Standard: gemini).

Vorgehen

  1. Stellen Sie sicher, dass es konfiguriert ist. Führen Sie newswatcher topics und newswatcher sources aus. Wenn eines davon leer ist, erfinden Sie KEINE Themen/Quellen – erklären Sie, dass newswatcher mindestens ein Thema und eine Quelle benötigt, und helfen Sie dem Benutzer, sie hinzuzufügen:

    newswatcher add-topic maerkte --include Aktien Fed "Zinssatz" Gewinne --exclude Sport
    newswatcher add-source "BBC" https://feeds.bbci.co.uk/news/world/rss.xml --kind rss --topic maerkte
    

    Die Dateien docs/korean-news-rss.md und docs/world-news-rss.md des Repositorys enthalten verifizierte Feed-URLs zur Auswahl. Schlüsselwörter gleichen in der eigenen Sprache des Feeds ab (englische Schlüsselwörter für einen englischen Feed, koreanische für einen koreanischen Feed).

  2. Entscheiden Sie über die Zustellung.

    • Der Benutzer möchte die Zusammenstellung zugestellt bekommen (der normale Fall): führen Sie einfach newswatcher poll aus. Dies erfordert ein konfiguriertes Ziel (NEWSWATCHER_DIGEST_TO / --to oder NEWSWATCHER_DIGEST_PUSH / --push); übergeben Sie --to/--push, wenn der Benutzer eines nennt.
    • Der Benutzer möchte hier nur sehen, was neu ist, ohne etwas zu senden: führen Sie newswatcher poll --no-mail aus, zeigen Sie dann das frische Archiv inline mit newswatcher articles --since <heutiges Datum, JJJJ-MM-TT> an (Titel / Zusammenfassung / Link pro Eintrag).
  3. Führen Sie den Poll-Durchlauf aus und geben Sie das Ergebnis weiter: die Zeile N neuer Artikel, alle newswatcher: überspringe <Quelle>: <Grund>-Zeilen und ob die Zusammenstellung zugestellt wurde. Ein Poll-Durchlauf kann eine Weile dauern (er ruft jede Quelle ab und ruft das LLM pro Artikel auf) – das ist normal.

  4. Fehlerbehandlung. Wenn das CLI mit einem Exit-Code ungleich Null beendet wird, geben Sie die einzeilige newswatcher: <Nachricht> unverändert weiter. Häufige Meldungen:

    • Befehl nicht gefunden: newswatcher -> das Paket ist nicht installiert. Verweisen Sie den Benutzer auf pipx install newswatcher (oder pip install newswatcher).
    • kein Zusammenstellungs-Ziel ... -> kein Empfänger festgelegt. Bieten Sie --to [email protected] oder eine --push <Route> an, oder setzen Sie NEWSWATCHER_DIGEST_TO / NEWSWATCHER_DIGEST_PUSH. (Oder führen Sie es mit --no-mail aus, um nur zu sammeln.)
    • kein API-Schlüssel / insufficient_quota / 429 -> der Anbieter-Schlüssel fehlt in ~/.config/newswatcher/credentials.json oder sein Guthaben ist aufgebraucht. Verweisen Sie den Benutzer auf die Konsole des Anbieters (Google AI Studio / OpenAI / Claude).
    • Ein anderer Poll-Durchlauf läuft bereits; überspringe -> ein geplanter oder manueller Poll-Durchlauf hält die Single-Instance-Sperre. Kein Fehler – newswatcher wird sauber beendet, anstatt doppelt zu laufen.
    • NEWSWATCHER_DEDUP_THRESHOLD muss ... sein -> eine falsch formatierte Deduplizierungs-Schwellenwerteinstellung; sie muss eine Zahl in [0, 1] sein.

Was diese Fähigkeit nicht tut

  • Sie implementiert das Sammeln, Themenabgleichen, Zusammenfassen oder Zustellen nicht neu hier (das tut das Paket); sie ruft immer das CLI auf.
  • Sie gibt niemals einen API-Schlüsselwert in der Ausgabe aus, protokolliert ihn oder schließt ihn ein.
  • Sie erfindet keine Themen oder Quellen – sie ruft ab, was der Benutzer konfiguriert hat, und hilft ihnen, nur auf Anfrage weitere hinzuzufügen.

Siehe auch

  • newswatcher recent <URL> – eine Vorschau der neuesten Elemente eines Feeds anzeigen (ohne Speicherung), bevor Sie ihn hinzufügen.
  • newswatcher articles [--topic NAME] [--since DATUM] [--until DATUM] – das Archiv abfragen.
  • newswatcher watch [--every N] – den Poll-Durchlauf in einem bestimmten Intervall im Vordergrund wiederholen.
  • newswatcher schedule install|status|remove [--every N] – einen wiederkehrenden Poll-Durchlauf mit dem Betriebssystem-Planer registrieren (cron unter Linux/macOS, schtasks unter Windows).
  • newswatcher heal – Crawl-Selektoren überprüfen und reparieren, die nicht mehr übereinstimmen.

Verwandte Skills