CommunityRecherche & Datenanalysegithub.com

octo-patch/MorningAI

KI-Nachrichten-Tracking-Skill für Agenten wie Claude Code, Openclaw und mehr. Verfolgt KI-Entitäten aus 9 Quellen und erstellt täglich strukturierte Berichte.

Was ist MorningAI?

MorningAI ist ein leistungsstarkes Tool für KI-Agenten, das tägliche Nachrichtenaktualisierungen von über 80 KI-Entitäten aus bis zu 6 Quellen sammelt: Reddit, Hacker News, GitHub, HuggingFace, arXiv und X/Twitter. Es bewertet, dedupliziert und erstellt strukturierte Markdown-Berichte mit vier Inhaltstypen: Produkt, Modell, Benchmark und Finanzierung. Der Skill unterstützt Sprachanpassungen (Standard Englisch, wählbare Alternativen wie Chinesisch oder Japanisch), optionale Infografiken über API-Dienste wie Gemini oder MiniMax, sowie die Verteilung über soziale Medien oder Messaging-Plattformen wie WeChat, Telegram und Slack. Es ist für Claude Code, Cursor, Codex und ähnliche Agenten konzipiert und erfordert keine API-Schlüssel für die grundlegende Nutzung – nur für erweiterte Funktionen wie höhere GitHub-Ratenlimits.

Funktioniert mit✓Claude Code✓Codex CLI✓Cursor✓Gemini CLI✓OpenCode✓Windsurf
npx skills add octo-patch/MorningAI

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

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

Dokumentation

morning-ai: MorningAI-Berichtsgenerator

Berechtigungen im Überblick: Sammelt öffentliche Daten von Reddit, Hacker News, GitHub, HuggingFace, arXiv und X/Twitter. Erfordert optionale API-Schlüssel in .env oder ~/.config/morning-ai/.env. Schreibt Berichtsdateien in das aktuelle Arbeitsverzeichnis. Siehe Konfiguration für Details.

Verfolge 80+ KI-Entitäten aus 6 Quellen. Sammle Aktualisierungen der letzten 24 Stunden, bewerte und dedupliziere sie und erstelle einen strukturierten täglichen Markdown-Bericht. Deckt 4 Typen ab: Produkt (Feature-Launches, Versionsveröffentlichungen), Modell (neue Modelle, Open-Source-Gewichte), Benchmark (Leaderboard-Änderungen, Paper), Finanzierung (Runden, Übernahmen, Meilensteine).


--intro — Produktvorstellung

Wenn der Benutzer --intro übergibt, zeige die folgende Einführung an und stoppe (fahre nicht mit der Datensammlung fort):


MorningAI — Täglicher KI-Nachrichten-Tracker, der 80+ Entitäten aus 6 Quellen überwacht.

Was es tut:

  • Sammelt Aktualisierungen von Reddit, Hacker News, GitHub, HuggingFace, arXiv und X/Twitter
  • Bewertet und dedupliziert Einträge auf einer Skala von 1-10 mit quellenübergreifender Überprüfung
  • Erstellt strukturierte Markdown-Berichte mit 4 Inhaltstypen: Produkt, Modell, Benchmark, Finanzierung
  • Optional: Infografik-Bilder (5 visuelle Stile), Nachrichten-Digests (WeChat/Telegram/Slack), Social-Media-Kopien (X/Xiaohongshu)

Quellen (alle kostenlos, keine API-Schlüssel für die Basisfunktion erforderlich):

QuelleMethodeAPI-Schlüssel
RedditÖffentliches JSONNicht benötigt
Hacker NewsAlgolia APINicht benötigt
GitHubREST APIOptional (GITHUB_TOKEN für höhere Ratenlimits)
HuggingFaceÖffentliche APINicht benötigt
arXivÖffentliche APINicht benötigt
X/TwitterWebsucheNicht benötigt

Schnellstart:

/morning-ai                     # Mit Standardeinstellungen ausführen (Englisch, alle Typen)
/morning-ai --lang zh           # Chinesischer Bericht
/morning-ai --depth deep        # Umfassende Sammlung
/morning-ai --exclude Funding   # Finanzierungsnachrichten überspringen

Optionale Funktionen (erfordern API-Schlüssel):

  • Infografik-Bilder: setze IMAGE_GEN_PROVIDER + Provider-API-Schlüssel
  • Social-Media-Kopie: setze SOCIAL_ENABLED=true
  • Nachrichten-Digest: setze MESSAGE_ENABLED=true

Konfigurationsdatei: ~/.config/morning-ai/.env — führe /morning-ai ohne Konfiguration aus, um die geführte Einrichtung zu starten.

Version: 1.2.9 | GitHub | ClawHub


Nach der Anzeige der Einführung stoppen. Fahre nicht mit Schritt 0 oder der Datensammlung fort.


Schritt 0: Konfigurationsprüfung (ERFORDERLICH – muss vor jedem anderen Schritt abgeschlossen werden)

Führe diesen Befehl ZUERST aus, bevor du etwas anderes tust:

if [ -f "$HOME/.config/morning-ai/.env" ] || [ -f ".claude/morning-ai.env" ] || [ -f ".env" ]; then echo "CONFIG_STATUS=READY"; else echo "CONFIG_STATUS=MISSING"; fi

Verzweige basierend auf der Ausgabe:

  • Wenn die Ausgabe CONFIG_STATUS=READY ist — lies die Konfigurationsdatei, melde, welche Quellen aktiv sind, und fahre dann mit Schritt 1 fort.
  • Wenn die Ausgabe CONFIG_STATUS=MISSING ist — STOPPE. Du MUSST die Ersteinrichtung unten abschließen, bevor du mit Schritt 1 fortfährst.

Ersteinrichtung (wenn MISSING)

KRITISCH: HIER STOPPEN. Du MUSST alle Einrichtungsschritte unten interaktiv mit dem Benutzer abschließen. Führe Schritt 1 (Datensammlung) NICHT aus, bis eine Konfigurationsdatei existiert und die Gateway-Prüfung READY zurückgibt. Das Ausführen der Datensammlung ohne Konfiguration führt zu unvollständigen Ergebnissen.

Führe den Benutzer interaktiv durch die Einrichtung und warte bei jedem Schritt auf seine Antwort:

  1. Willkommen — erkläre kurz, was morning-ai tut: verfolgt 80+ KI-Entitäten aus 6 Quellen (Reddit, Hacker News, GitHub, HuggingFace, arXiv, X/Twitter), erstellt bewertete tägliche Berichte
  2. Zeige, was kostenlos funktioniert — 6 Quellen (5 benötigen keine API-Schlüssel, 1 optional):
    • Reddit (öffentliches JSON), Hacker News (Algolia API), HuggingFace (öffentliche API), arXiv (öffentliche API), X/Twitter (Websuche)
    • GitHub (öffentliche API, optionales GITHUB_TOKEN für höhere Ratenlimits)
  3. Frage den Benutzer, ob er GitHub mit höheren Ratenlimits aktivieren möchte:
SchlüsselQuelleErhalten unter
GITHUB_TOKENGitHub-Releases & Repositorys (höheres Ratenlimit)https://github.com/settings/tokens
  1. Frage nach Infografiken (optional):
SchlüsselBeschreibung
IMAGE_GEN_PROVIDERAnbieter: gemini | minimax | none (Standard: none)
IMAGE_STYLEStil: classic | dark | glassmorphism | newspaper | tech
GEMINI_API_KEYGoogle Gemini/Imagen (https://aistudio.google.com/apikey)
MINIMAX_API_KEYMiniMax global (https://www.minimax.io)
MINIMAX_API_KEYMiniMax cn (https://platform.minimaxi.com)
  1. Frage nach Social-Media-Inhaltsverteilung (optional):

    • Social-Media-Inhaltsgenerierung aktivieren? Setze SOCIAL_ENABLED=true
    • Welche Plattformen? X (Twitter), Xiaohongshu (Little Red Book) oder beide
    • Für fortgeschrittene Multi-Account/Multi-Style-Einrichtung erstelle ~/.config/morning-ai/social_channels.json (siehe skills/gen-social/SKILL.md für Schema). Für schnelle Single-Channel-Einrichtung setze einfach die Umgebungsvariablen SOCIAL_PLATFORM, SOCIAL_STYLE und SOCIAL_LANG.
  2. Frage nach Nachrichten-Digest (optional):

    • Prägnanten Nachrichten-Digest zum Teilen auf Messaging-Plattformen (WeChat, Telegram, Slack) aktivieren?
    • Wenn ja: setze MESSAGE_ENABLED=true
    • Optionale Einstellungen: MESSAGE_MIN_SCORE (Standard 5), MESSAGE_MAX_ITEMS (Standard 10), MESSAGE_LINKS (bottom oder inline), MESSAGE_CATEGORY_BALANCE (Standard true, verteilt Slots auf Inhaltstypen)
  3. Erstelle die Konfigurationsdatei — sammle die vom Benutzer bereitgestellten Schlüssel und schreibe sie in das Format SCHLÜSSEL=wert (eine pro Zeile) in ~/.config/morning-ai/.env. Erstelle das Verzeichnis bei Bedarf: mkdir -p ~/.config/morning-ai

  4. Bestätige — zeige an, wie viele Quellen jetzt aktiv sind (N/9)

  5. Überprüfe — führe die Gateway-Prüfung erneut aus, um zu bestätigen, dass CONFIG_STATUS=READY ist:

    if [ -f "$HOME/.config/morning-ai/.env" ] || [ -f ".claude/morning-ai.env" ] || [ -f ".env" ]; then echo "CONFIG_STATUS=READY"; else echo "CONFIG_STATUS=MISSING"; fi
    

    Fahre nur mit Schritt 1 fort, wenn die Ausgabe READY ist.

  6. Wenn der Benutzer die API-Schlüsseleinrichtung überspringen und nur kostenlose Quellen verwenden möchte, erstelle zuerst eine minimale Konfigurationsdatei und fahre dann mit Schritt 1 fort:

    mkdir -p ~/.config/morning-ai && echo "# morning-ai config — free sources only" > ~/.config/morning-ai/.env
    

Sprache

ParameterStandardBeispiel
--langen (Englisch)--lang zh (Chinesisch), --lang ja (Japanisch)

Regeln:

  • Standard ist Englisch. Sofern --lang nicht explizit angegeben wird, MUSS der Bericht vollständig auf Englisch verfasst sein. Der gesamte Berichtstext – Titel, Zusammenfassungen, Abschnittsüberschriften, Tabellenbeschriftungen, Aufzählungspunkte, die Analyse „Warum es wichtig ist“ und alle anderen lesbaren Inhalte – müssen auf Englisch sein.
  • Wenn --lang angegeben wird, verwende diese Sprache für alle lesbaren Inhalte.
  • Entitätsnamen sind Eigennamen (OpenAI, DeepSeek, Midjourney usw.) – behalte sie unabhängig von der Sprache unverändert bei.
  • Wenn Quelldaten in einer anderen Sprache als der Zielsprache vorliegen (z.B. chinesische Quelle → englischer Bericht), übersetze sie während der Berichtserstellung in die Zielsprache. Lasse KEINE unübersetzten Fragmente zurück.
  • Die Einstellung --lang gilt auch für den Inhalt von Infografik-Prompts (siehe Schritt 4).

Voraussetzung: Schritt 0 muss CONFIG_STATUS=READY zurückgegeben haben. Wenn du Schritt 0 nicht abgeschlossen hast, gehe zurück und führe ihn jetzt aus.

Schritt 1: Datensammlung

Führe den Python-Collector aus, um Daten aus automatisierten Quellen zu sammeln:

cd {SKILL_DIR} && python3 skills/tracking-list/scripts/collect.py --date {YYYY-MM-DD} --depth default -o {CWD}/data_{YYYY-MM-DD}.json

Parameter:

  • --date: Zieldatum, Standard heute (YYYY-MM-DD)
  • --depth: Sammlungstiefe — quick (schnell, weniger Ergebnisse), default oder deep (umfassend)
  • --sources: Nur bestimmte Quellen, z.B. --sources reddit hackernews github
  • -o: Ausgabedateipfad (JSON)

Was es tut:

  • Führt 5 Collector gleichzeitig aus (Reddit, HN, GitHub, HuggingFace, arXiv)
  • Zeitfenster: [Gestern 08:00, Heute 08:00) UTC+8
  • Pipeline: sammeln → bewerten (1-10) → deduplizieren → quellenübergreifend verknüpfen → Bonuspunkte für Verifizierung
  • Gibt strukturiertes JSON mit allen Einträgen, Statistiken und Sammlungsmetadaten zurück

Timeout: Erlaube bis zu 3 Minuten für die Standardtiefe, 5 Minuten für die tiefe.

Wenn der Benutzer --exclude-Typen bereitstellt (z.B. --exclude Funding), notiere, welche Typen in Schritt 3 herausgefiltert werden sollen.

X/Twitter-Suche

Nachdem die automatisierte Sammlung abgeschlossen ist, verwende eine Websuche, um aktuelle X/Twitter-Aktualisierungen von verfolgten Entitäten zu entdecken. Die verfolgten X-Handles sind in {SKILL_DIR}/lib/entities.py unter X_HANDLES aufgelistet.

Suchstrategie: Mehrschichtige Kontenprüfung

Durchsuche X/Twitter in drei Schichten in der Prioritätsreihenfolge:

Schicht 1 – Offizielle Konten (höchste Priorität): Suche nach aktuellen Beiträgen von offiziellen Unternehmens-/Produktkonten. Handles sind in Entitätsdateien unter {SKILL_DIR}/entities/ aufgelistet.

  • Fokus: Modellveröffentlichungen, Produkteinführungen, API-Updates, Preisänderungen

Schicht 2 – CEO-/Kernpersonal-Konten: Überprüfe die Konten wichtiger Personen auf Ankündigungen, Vorschauen und Kontext, den offizielle Konten möglicherweise nicht abdecken. Als „Key People“ in jeder Entitätsdatei aufgelistet.

  • Fokus: Frühe Vorschauen, strategischer Kontext, technische Details, wettbewerbsbezogene Kommentare

Schicht 3 – KOLs & Benchmark-Institutionen: Überprüfe Konten von KI-Meinungsführern und Bewertungsinstitutionen auf unabhängige Analysen, Benchmark-Ergebnisse und trendige Entdeckungen. Siehe {SKILL_DIR}/entities/kol.md und {SKILL_DIR}/entities/benchmarks-academic.md.

  • Fokus: Paper-Highlights, Benchmark-Rankings, Community-Trends, unabhängige Tests

Suchdurchführung

Für jede Suchtiefe:

TiefeSchicht 1 (Offiziell)Schicht 2 (Personal)Schicht 3 (KOLs)
quickTop 5 Entitäten nach PrioritätÜberspringenÜberspringen
defaultAlle wichtigen Entitäten (~20)Top-CEO-Konten (~10)Top-KOLs (~5)
deepAlle Entitäten mit X-HandlesAlle PersonalkontenAlle KOLs + Benchmark-Konten

Verwende Websuchabfragen wie:

  • site:x.com @{handle} since:{gestern} – für spezifische Kontobeiträge
  • site:x.com "{Entitätsname}" KI-Ankündigung – für breitere Entdeckung
  • site:x.com KI-Modellveröffentlichung ODER Benchmark ODER Open-Source {Datum} – für trendige KI-Nachrichten

RT-/Zitat-Tweet-Behandlung

Wenn ein entdeckter Beitrag ein Retweet (RT) oder Zitat-Tweet ist:

  1. Verfolge den ursprünglichen Beitrag – der Ereigniszeitstempel ist die Originalbeitragszeit, nicht die RT-/Zitatzeit
  2. Überprüfe die Originalbeitragszeit im 24-Stunden-Sammelfenster [Gestern 08:00, Heute 08:00) UTC+8
  3. Verwende die URL des Originalbeitrags als source_url, nicht die RT-/Zitat-URL
  4. Gib den ursprünglichen Autor in source_label an (z.B. "@AnthropicAI on X (via @karpathy RT)")

Aktualitätsprüfung

  • Alle X-Beitragszeiten MÜSSEN in UTC+8 für die Fensterüberprüfung konvertiert werden
  • Das Sammelfenster ist [Gestern 08:00, Heute 08:00) UTC+8
  • Beiträge außerhalb dieses Fensters werden zurückgewiesen – schließe sie unabhängig von der Relevanz NICHT ein
  • Für RT-/Zitat-Tweets überprüfe die Originalbeitragszeit, nicht die Retweet-Zeit

Quellenpriorität für X-basierte Einträge

PrioritätQuellentypGlaubwürdigkeit
1Offizieller Blog / ChangelogHöchste
2Offizielles X/Twitter-KontoHoch
3API-Changelog / DokuHoch
4Offizielle GitHub-VeröffentlichungHoch
5CEO-/Kernpersonal-X-KontoMittel-Hoch
6X-Konto einer Benchmark-InstitutionMittel
7KOL-X-KontoNur als Referenz – erfordert quellenübergreifende Überprüfung

Einträge, die nur von KOL-Konten (Priorität 7) stammen, sollten konservativ bewertet und als quellenübergreifend zu überprüfen mit einer offiziellen Quelle markiert werden.

Einbindung von X-Erkenntnissen

Erstelle für jeden verifizierten X/Twitter-Update:

  1. Ein TrackerItem mit source: "x", source_url, die auf den ursprünglichen Tweet verweist, und source_label als "@{handle} on X"
  2. Wenn dasselbe Ereignis bereits von einem automatisierten Collector (Reddit, HN, GitHub usw.) gefunden wurde, führe es als cross_ref zusammen, anstatt ein Duplikat zu erstellen – dies stärkt den Verifizierungswert
  3. Wenn es sich um eine wirklich neue Entdeckung handelt, die nicht in den automatisierten Daten enthalten ist, füge es als neuen Eintrag mit entsprechender Bewertung hinzu

Schritt 2: Spezifikationen lesen

Nach Abschluss der Datensammlung lies die Tracking-Spezifikation, um Bewertungskriterien, Datensatzformat und Aktualitätsregeln zu verstehen:

Read {SKILL_DIR}/skills/tracking-list/SKILL.md

Diese Spezifikation definiert:

  • 4 Tracking-Typen (Produkt / Modell / Benchmark / Finanzierung) mit Ein-/Ausschlusskriterien
  • Quellenprioritäts-Rankings
  • Bewertungskriterien (1-10-Skala mit 5 Dimensionen)
  • Aktualitätsprüfungsregeln (Ereignisdatum ≠ Seitendatum)
  • Quellenübergreifende Überprüfungsanforderungen (7+-Werte benötigen 2+ unabhängige Quellen)
  • Datensatzformat für den Bericht

Verinnerliche die Spezifikation, bevor du den Bericht schreibst. Achte besonders auf die Bewertungsreferenztabellen und die Typklassifizierungsanleitung.


Schritt 3: Bericht erstellen

  1. Lies die JSON-Ausgabe von Schritt 1
  2. Lies die Berichtsvorlage: Read {SKILL_DIR}/templates/report.md
  3. Erstelle report_{YYYY-MM-DD}.md im Arbeitsverzeichnis

Regeln zur Berichtserstellung:

  • Sprache: Standard ist Englisch. Schreibe ALLE Inhalte auf Englisch, sofern nicht --lang explizit angegeben ist. Wenn Quelldaten in einer anderen Sprache vorliegen, übersetze sie. Entitätsnamen (Eigennamen) bleiben unverändert.
  • Quellenlinks: Jeder Eintrag MUSS einen klickbaren Quellenlink [Quellenname](URL) enthalten, der auf den Originalinhalt verweist. Dies gilt für alle Abschnitte: TLDR, detaillierte Einträge und kompakte Tabellenzeilen.
  • Detailqualität: Zusammenfassende Aufzählungspunkte MÜSSEN spezifische Details enthalten – Versionsnummern, prozentuale Verbesserungen, Parameteranzahlen, Preise, Verfügbarkeitsdaten, Benchmark-Ergebnisse. Vermeide vage Beschreibungen ohne konkrete Zahlen.
  • Faktische Überprüfbarkeit: …

[truncated für die Übersetzung]


Schritt 4: (Optional) Infografik erstellen

Wenn IMAGE_GEN_PROVIDER konfiguriert ist, erstelle ein Infografik-Bild des Berichts. Siehe {SKILL_DIR}/skills/gen-image/SKILL.md für Details.

Führe aus:

cd {SKILL_DIR} && python3 skills/gen-image/scripts/generate_image.py --input {CWD}/report_{YYYY-MM-DD}.md --output {CWD}/infographic_{YYYY-MM-DD}.png --provider {PROVIDER} --style {STYLE} --lang {LANG}

Schritt 5: (Optional) Social-Media-Inhalte generieren

Wenn SOCIAL_ENABLED=true konfiguriert ist, generiere Social-Media-Kopien aus dem Bericht. Siehe {SKILL_DIR}/skills/gen-social/SKILL.md für Details.

Führe aus:

cd {SKILL_DIR} && python3 skills/gen-social/scripts/generate_social.py --input {CWD}/report_{YYYY-MM-DD}.md --output {CWD}/social_{YYYY-MM-DD}.json --platform {PLATFORM} --style {STYLE} --lang {LANG}

Schritt 6: (Optional) Nachrichten-Digest generieren

Wenn MESSAGE_ENABLED=true konfiguriert ist, generiere einen prägnanten Nachrichten-Digest. Siehe {SKILL_DIR}/skills/gen-message/SKILL.md für Details.

Führe aus:

cd {SKILL_DIR} && python3 skills/gen-message/scripts/generate_message.py --input {CWD}/report_{YYYY-MM-DD}.md --output {CWD}/digest_{YYYY-MM-DD}.txt --min-score {SCORE} --max-items {COUNT} --links {STYLE} --category-balance {BOOL} --lang {LANG}

Fehlerbehebung

ProblemWahrscheinliche UrsacheLösung
Datensammlung fehlgeschlagenNetzwerk-/API-Problem--depth quick versuchen, später erneut versuchen
Keine ErgebnisseAußerhalb der GeschäftszeitenErneut versuchen, wenn Nachrichten verfügbar sind
Bericht wirkt unvollständigTimeout bei tiefer SammlungTiefe auf default reduzieren oder --sources eingrenzen
Gateway-Prüfung schlägt fehlKonfigurationsdatei fehlt oder defektErsteinrichtung erneut ausführen, .env-Format überprüfen
API-Fehler bei InfografikAbgelaufener oder ungültiger API-SchlüsselIMAGE_GEN_PROVIDER, GEMINI_API_KEY/MINIMAX_API_KEY überprüfen

Verwandte Skills