KI-Tagesaktuelle-Nachrichten-Sammlungs-Fähigkeit
Wann diese Fähigkeit verwenden: Wenn der Benutzer Absichten wie „KI-Tagesbericht / KI-Nachrichten / Was gibt es heute in der KI-Welt Neues / Tagesbericht pushen / in Feishu-Tabelle schreiben“ erwähnt, führe die Schritte dieser Datei aus.
Was der Benutzer sagen könnte: „Hilf mir, den heutigen KI-Tagesbericht zu erstellen“ / „Schau, was heute in der KI-Wichtiges passiert ist“ / „Schieb den Bericht in mein Feishu“.
Hole die heutigen KI-Nachrichten ein, filtere und fasse sie zu einem Tagesbericht zusammen; je nach Konfiguration in Feishu ausgeben (dreiteilig: Multidimensionale Tabelle / Bot-Push / Cloud-Dokumentarchiv). Jede Information behält den Originallink zur Rückverfolgbarkeit.
Auch ohne Feishu-Konfiguration nutzbar (L0): Schritt 3 erkennt die Konfiguration und überspringt sie automatisch, der Tagesbericht wird direkt im Chat ausgegeben.
Arbeitsablauf (Agent führt dies aus)
Schritt 0: Umgebungsvorbereitung
cd <Skill-Verzeichnis>/scripts
# Abhängigkeitsprüfung: Führe pip install feedparser requests aus, falls ModuleNotFoundError auftritt
python -c "import feedparser, requests" 2>/dev/null || pip install feedparser requests
# Proxy-Erkennung: Wenn erreichbar, Proxy aktivieren (für externe Quellen nötig); wenn nicht, direkte Verbindung (chinesische Quellen sind ohnehin direkt, externe Quellen haben automatische Fehlerbehandlung)
curl -s -o /dev/null -m 5 -x http://127.0.0.1:7897 https://openai.com \
&& export HTTPS_PROXY=http://127.0.0.1:7897 \
|| unset HTTPS_PROXY HTTP_PROXY
lark-cli muss nicht manuell angegeben werden: Das Skript erkennt automatisch PATH und übliche Installationsorte (auch das globale npm-Verzeichnis unter Windows); nur bei nicht standardmäßiger Installation ist export LARK_CLI=<vollständiger Pfad> nötig.
Schritt 1: Sammeln roher Einträge
python fetch_sources.py --hours 24 # Gibt items.json aus (für tägliche Ausführung --hours 26 empfehlenswert, um Zeitlücken zu überbrücken)
- Jede Quelle deklariert in
sources.jsonnetwork: proxy|direct: Externe Quellen nutzen Proxy (UmgebungsvariableHTTPS_PROXY), chinesische Quellen sind direkt - Fehler einzelner Quellen (z.B. gelegentlicher 502 bei arXiv) werden in
items.jsonuntererrorsprotokolliert; der Vorgang wird fortgesetzt, nicht unterbrochen
Schritt 2: Filterung und Zusammenfassung (Aufgabe des Agenten/LLM)
Lese alle Einträge aus items.json, dann:
- Rauschentfernung: Entferne Einträge, die nichts mit KI zu tun haben (HN/InfoQ enthalten viele nicht-KI-Inhalte)
- Deduplizierung und Zusammenführung: Gleiche Ereignisse aus mehreren Quellen zusammenführen, den maßgeblichsten Originallink behalten
- Zusammenfassung: 2-3 Sätze auf Chinesisch, nur Fakten
- Tagging:
category(Spitzenentwicklungen/Community-Highlights/Chinesische Nachrichten/Paper-Schnellübersicht/Produktnews),importance(Hoch=Industrie-weite Ankündigungen·Finanzierung·Politik / Mittel / Niedrig), freietags - Tageszusammenfassung: Schreibe einen
digestmit 2-3 Sätzen, der die Highlights und Trends des Tages zusammenfasst und oben in selection.json platziert – er wird am Anfang des Tagesberichts stehen
Schreibe das Ergebnis in scripts/selection.json im folgenden Format (idx referenziert den Array-Index in items.json; source_override optional, um die Quelle in einen Tabellenoptionsnamen wie TechCrunch / The Verge zu normalisieren):
{
"digest": "Zusammenfassung des Tages in 2-3 Sätzen",
"items": [
{"idx": 0, "title": "Überschreibbarer Titel", "summary": "Zusammenfassung", "importance": "Hoch",
"category": "Spitzenentwicklungen", "tags": ["Tag"], "source_override": "OpenAI"}
]
}
Dann:
python make_curated.py # Erzeugt curated.json (10-30 Einträge)
Ehernes Gesetz: url darf nur aus dem Original items.json stammen, nicht umgeschrieben oder geraten werden – Rückverfolgbarkeit ist der Kernwert dieser Fähigkeit.
Schritt 3: Feishu-Ausgabe (basierend auf Konfiguration, muss zuerst prüfen)
Prüfe zuerst scripts/config.json: Wenn die Datei nicht existiert oder base_token/table_id/user_open_id/base_url leer ist → als unkonfiguriert für Feishu betrachten, diesen Schritt vollständig überspringen, direkt zu „Abschlussbericht“ (Tagesberichtstext an Benutzer) übergehen; füge am Ende des Berichts einen Hinweis hinzu: Feishu-Konfiguration ermöglicht Tabellenarchivierung und täglichen Push, siehe Repository docs/setup.md.
Wenn konfiguriert, ausführen:
python run_daily.py curated.json # Tabelle schreiben + Karten-Push + Cloud-Dokumentarchiv
- Vor dem Schreiben automatisch Tag-Optionspool zusammenführen (freie Tags werden nicht fehlschlagen), zeilenweise schreiben
- Push als Feishu-Nachrichtenkarte (Spalten, Titel anklickbar), dreistufige Degradierung zur Zustellungssicherung (Karte→Markdown→Klartext)
- Archivierung in Cloud-Dokument nach Ankerblock einfügen (Callout-Highlight-Block + kategorische Abschnitte, aktuellste zuerst); wenn keine Archivierung konfiguriert, automatisch überspringen
- Wiederholte Ausführung führt zu doppeltem Schreiben – nicht erneut ausführen
Nach Abschluss: Bericht an Benutzer
- Feishu nicht konfiguriert (L0): Fasse curated.json als Tagesberichtstext aus (Zusammenfassung + jeder Eintrag mit „Titel / Zusammenfassung / Originallink“), dann Konfigurationshinweis hinzufügen
- Feishu konfiguriert: Bericht in vier Teilen: Anzahl der heutigen Einträge, Kategorienverteilung, Tageszusammenfassung in einem Satz, fehlgeschlagene Quellen
Bei vollständigem Fehlschlag: Melde den spezifischen Fehler, nicht mehr als ein Wiederholungsversuch.
Benutzerkonfiguration (scripts/config.json)
Kopiere config.example.json zu config.json und fülle aus – die Beschaffungsweise jedes Feldes steht in den Template-Kommentaren.
Installation von lark-cli und Konfigurationsschritte für die Feishu-App finden sich im Repository unter docs/setup.md. Alle Felder unterstützen Umgebungsvariablen-Überschreibung.
Dieses Skill-Verzeichnis enthält keine Schlüssel, Feishu-Anmeldedaten werden von der globalen lark-cli-Konfiguration verwaltet.
Voraussetzungen
- Python 3.10+:
pip install feedparser requests - Für Feishu-Ausgabe (Schritt 3) wird lark-cli benötigt (offizielle CLI,
npx @larksuite/cli@latest install), dasconfig initundauth loginabgeschlossen haben muss; wenn lark-cli nicht gefunden wird, verwende die UmgebungsvariableLARK_CLImit dem vollständigen Pfad
Quellenliste (sources.json, erweiterbar/änderbar)
| Quelle | Methode | Netzwerk |
|---|---|---|
| OpenAI Offizielle News | RSS | Proxy |
| Google DeepMind / Google AI Blog | RSS | Proxy |
| Anthropic News | Sitemap (kein offizielles RSS) | Proxy |
| Hugging Face Blog | RSS | Proxy |
| TechCrunch / The Verge AI | RSS | Proxy |
| MIT Tech Review AI | RSS | Proxy |
| Hacker News AI Top-Beiträge | Algolia API (Zeitfenster + Stimmen + Wortgrenzenfilter) | Direkt |
| InfoQ Chinesisch | RSS (KI-bezogen in Schritt 2 gefiltert) | Direkt |
| arXiv cs.AI / cs.CL | arXiv API | Proxy |
Fehlerbehandlung: Bei geänderter RSS-URL zuerst mit curl verifizieren, dann sources.json aktualisieren; kostenlose APIs von Jiqizhixin/Liangzita sowie Sitemaps von xAI/Stability (Navigationseiten-Rauschen/Anti-Scraping) sind nicht mehr nutzbar – keine Zeit mit Wiederholungen verschwenden.
Zeitplanung
Skill ist zustandslos, jeder Scheduler kann ihn aufrufen. Empfohlen: täglich um 08:00 (Asia/Shanghai). Konfigurationsweise der einzelnen Hosts siehe docs/scheduling.md, Prompt-Vorlage siehe examples/cron-prompt.txt.