Compétence de collecte quotidienne d'actualités IA
Quand utiliser cette compétence : lorsque l'utilisateur mentionne des intentions comme "actualités IA du jour" / "nouvelles IA" / "quelles sont les dernières tendances en IA aujourd'hui" / "envoyer le rapport" / "écrire dans le tableau Feishu", suivez le processus décrit dans ce fichier.
Ce que l'utilisateur pourrait dire : "Exécute le rapport IA du jour pour moi" / "Voir ce qui se passe dans le monde de l'IA aujourd'hui" / "Envoie le rapport sur mon Feishu".
Collecte les actualités IA du jour, les filtre et les résume en un rapport quotidien ; selon la configuration, les diffuse sur le trio Feishu (tableau multidimensionnel / message robotisé / archivage cloud). Chaque information conserve le lien d'origine, garantissant la traçabilité.
Pas besoin de configurer Feishu pour utiliser (L0) : l'étape 3 détecte automatiquement la configuration et passe outre, le rapport est directement affiché dans la conversation.
Processus de travail (exécuté par l'Agent)
Étape 0 : Préparation de l'environnement
cd <répertoire_skill>/scripts
# Vérification des dépendances : en cas de ModuleNotFoundError, exécutez d'abord pip install feedparser requests
python -c "import feedparser, requests" 2>/dev/null || pip install feedparser requests
# Détection du proxy : si accessible, l'activer (nécessaire pour les sources étrangères) ; sinon, connexion directe (les sources chinoises sont toujours en direct, les échecs étrangers sont automatiquement tolérés)
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 n'a pas besoin d'être spécifié manuellement : le script détecte automatiquement le PATH et les emplacements d'installation courants (y compris le répertoire global npm sur Windows) ; seule une installation non standard nécessite export LARK_CLI=<chemin_complet>.
Étape 1 : Collecte des articles bruts
python fetch_sources.py --hours 24 # Produit items.json (pour une exécution quotidienne programmée, suggéré --hours 26 pour couvrir les décalages de jour)
- Chaque source dans
sources.jsondéclarenetwork: proxy|direct: les sources étrangères utilisent le proxy (variable d'environnementHTTPS_PROXY), les sources chinoises sont en connexion directe obligatoire - Les échecs individuels (comme les 502 occasionnels d'arXiv) sont enregistrés dans
items.jsonsouserrorset le processus continue sans interruption
Étape 2 : Filtrage et résumé (responsabilité de l'Agent/LLM)
Lisez tous les articles de items.json, puis :
- Débruitage : supprimez les articles non liés à l'IA (HN/InfoQ contient beaucoup de contenu non IA)
- Dédoublonnage et fusion : fusionnez les articles traitant du même événement provenant de plusieurs sources, conservez le lien d'origine le plus autoritaire
- Résumé : 2-3 phrases en chinois pour chaque article, uniquement des faits
- Étiquetage :
category(Actualités de pointe / Tendances communautaires / Actualités chinoises / Articles de recherche / Produits),importance(haute = annonces au niveau industriel · financement · politique / moyenne / basse),tagslibres - Bilan du jour : rédigez un
digestde 2-3 phrases pour résumer les points forts et les tendances du jour, placé en haut de la structure deselection.json— il deviendra l'introduction du rapport
Écrivez le résultat dans scripts/selection.json, format suivant (l'idx référence l'indice du tableau dans items.json ; source_override est optionnel, pour normaliser la source en un nom d'option de tableau comme TechCrunch / The Verge) :
{
"digest": "Bilan du jour en 2-3 phrases",
"items": [
{"idx": 0, "title": "Titre pouvant être remplacé", "summary": "Résumé", "importance": "haute",
"category": "Actualités de pointe", "tags": ["étiquette"], "source_override": "OpenAI"}
]
}
Ensuite :
python make_curated.py # Compile curated.json (10-30 articles)
Règle absolue : url ne peut provenir que de l'original dans items.json, ne doit pas être réécrit ou deviné — la traçabilité est la valeur fondamentale de cette compétence.
Étape 3 : Diffusion sur Feishu (selon la configuration, doit être évaluée d'abord)
Vérifiez d'abord scripts/config.json : si le fichier n'existe pas, ou si base_token / table_id / user_open_id / base_url est vide → décidez que Feishu n'est pas configuré, sautez toutes les commandes de cette étape, passez directement au "Rapport après exécution" (le contenu du rapport est affiché à l'utilisateur) ; et ajoutez à la fin : Configurez Feishu pour obtenir un archivage sous forme de tableau et une diffusion quotidienne, voir docs/setup.md dans le dépôt.
Si configuré, exécutez :
python run_daily.py curated.json # Écriture dans le tableau + envoi de carte + archivage cloud
- Avant l'écriture, fusionne automatiquement le pool d'options d'étiquettes (les étiquettes libres ne seront pas désynchronisées), écrit ligne par ligne
- Envoie sous forme de carte message Feishu (avec colonnes, titre cliquable), avec trois niveaux de dégradation pour garantir la livraison (carte → markdown → texte brut)
- L'archivage insère un bloc d'ancrage dans le document cloud (bloc callout des points forts + sections classées, les plus récents en haut) ; si l'archivage n'est pas configuré, saute automatiquement
- L'exécution répétée entraînera une double écriture, ne relancez pas
Après exécution : rapport à l'utilisateur
- Feishu non configuré (L0) : organisez
curated.jsonen corps de rapport (bilan + chaque article : "Titre / Résumé / Lien d'origine"), puis ajoutez l'invite de configuration - Feishu configuré : rapport en quatre points — Nombre d'articles du jour, répartition des catégories, bilan en une phrase, sources en échec
En cas d'échec complet : rapportez l'erreur spécifique, ne réessayez pas plus d'une fois.
Configuration utilisateur (scripts/config.json)
Copiez config.example.json en config.json et remplissez — chaque élément est expliqué dans les commentaires du modèle,
Les étapes d'installation de lark-cli et de configuration de l'application Feishu sont dans docs/setup.md du dépôt.
Tous les champs peuvent être écrasés par des variables d'environnement.
Ce répertoire de compétence ne contient aucune clé secrète ; les identifiants Feishu sont gérés par la configuration globale de lark-cli.
Dépendances préalables
- Python 3.10+ :
pip install feedparser requests - Pour la diffusion Feishu (étape 3), nécessite lark-cli (CLI officiel,
npx @larksuite/cli@latest install) ayant effectuéconfig initetauth login; si lark-cli n'est pas trouvé, utilisez la variable d'environnementLARK_CLIpour spécifier son chemin complet
Liste des sources d'information (sources.json, peut être modifiée)
| Source | Méthode | Réseau |
|---|---|---|
| Actualités officielles OpenAI | RSS | Proxy |
| Blog Google DeepMind / Google AI | RSS | Proxy |
| Actualités Anthropic | sitemap (pas de RSS officiel) | Proxy |
| Blog Hugging Face | RSS | Proxy |
| TechCrunch / The Verge AI | RSS | Proxy |
| MIT Tech Review AI | RSS | Proxy |
| Articles populaires Hacker News IA | API Algolia (fenêtre de temps + votes + filtrage par frontière de mot-clé) | Directe |
| InfoQ chinois | RSS (articles liés à l'IA filtrés à l'étape 2) | Directe |
| arXiv cs.AI / cs.CL | API arXiv | Proxy |
Gestion des défaillances : si une adresse RSS change, vérifiez d'abord avec curl avant de mettre à jour sources.json ; les flux gratuits de Jiqizhixin/Liangziti, les sitemaps de xAI et Stability (bruit de navigation/anti-crawling) sont tous indisponibles, ne perdez pas de temps à réessayer.
Exécution planifiée
La compétence est sans état, peut être déclenchée par n'importe quel planificateur. Recommandation : 08:00 (Asia/Shanghai) quotidiennement. Les configurations pour chaque hôte sont dans docs/scheduling.md, les modèles de prompt dans examples/cron-prompt.txt.