Alan-Houxj/ai-news-follow

Agent Skill de veille IA quotidienne : collecte multi-sources, filtrage et résumé par LLM, livraison sur Feishu (tableaux, robots, cloud).

Qu'est-ce que ai-news-follow ?

Ce skill permet de collecter automatiquement les actualités du jour dans le domaine de l'IA à partir de 12 sources variées (blogs officiels, médias tech, arXiv, Hacker News, etc.). Il filtre, résume et organise les informations en un rapport quotidien structuré. Le résultat peut être affiché directement dans la conversation ou intégré à l'écosystème Feishu (tableaux multidimensionnels, messages robotisés, archivage cloud). Le skill détecte automatiquement si Feishu est configuré et peut fonctionner en mode 'L0' sans celui-ci. Il garantit la traçabilité de chaque information en conservant les liens originaux. Idéal pour les développeurs et utilisateurs d'agents IA souhaitant une veille automatisée, fiable et personnalisable.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add Alan-Houxj/ai-news-follow

Installed? Explore more Recherche et analyse de données skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

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.json déclare network: proxy|direct : les sources étrangères utilisent le proxy (variable d'environnement HTTPS_PROXY), les sources chinoises sont en connexion directe obligatoire
  • Les échecs individuels (comme les 502 occasionnels d'arXiv) sont enregistrés dans items.json sous errors et le processus continue sans interruption

Étape 2 : Filtrage et résumé (responsabilité de l'Agent/LLM)

Lisez tous les articles de items.json, puis :

  1. Débruitage : supprimez les articles non liés à l'IA (HN/InfoQ contient beaucoup de contenu non IA)
  2. 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
  3. Résumé : 2-3 phrases en chinois pour chaque article, uniquement des faits
  4. É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), tags libres
  5. Bilan du jour : rédigez un digest de 2-3 phrases pour résumer les points forts et les tendances du jour, placé en haut de la structure de selection.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.json en 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

  1. Python 3.10+ : pip install feedparser requests
  2. Pour la diffusion Feishu (étape 3), nécessite lark-cli (CLI officiel, npx @larksuite/cli@latest install) ayant effectué config init et auth login ; si lark-cli n'est pas trouvé, utilisez la variable d'environnement LARK_CLI pour spécifier son chemin complet

Liste des sources d'information (sources.json, peut être modifiée)

SourceMéthodeRéseau
Actualités officielles OpenAIRSSProxy
Blog Google DeepMind / Google AIRSSProxy
Actualités Anthropicsitemap (pas de RSS officiel)Proxy
Blog Hugging FaceRSSProxy
TechCrunch / The Verge AIRSSProxy
MIT Tech Review AIRSSProxy
Articles populaires Hacker News IAAPI Algolia (fenêtre de temps + votes + filtrage par frontière de mot-clé)Directe
InfoQ chinoisRSS (articles liés à l'IA filtrés à l'étape 2)Directe
arXiv cs.AI / cs.CLAPI arXivProxy

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.

Skills associés