CommunityPesquisa e Análise de Dadosgithub.com

Alan-Houxj/ai-news-follow

Agente de Skill para coletar notícias diárias de IA de 12 fontes, filtrar e resumir com LLM, e entregar via Feishu (tabela, robô, documento).

O que é ai-news-follow?

Este skill automatiza a coleta diária de notícias sobre Inteligência Artificial, agregando conteúdo de 12 fontes (incluindo blogs oficiais como OpenAI e DeepMind, além de agregadores como Hacker News e arXiv) e utilizando um LLM para filtrar, resumir e classificar as informações mais relevantes. O resultado é um resumo diário ("AI Daily Brief") que pode ser entregue diretamente no chat ou integrado ao ecossistema Feishu (Lark), com suporte a três modalidades: escrita em tabela multidimensional, push via robô de mensagens e arquivamento em documento na nuvem. O skill é flexível: mesmo sem configurar o Feishu, ele funciona no nível básico (L0), exibindo o relatório diretamente na conversa. A instalação requer Python 3.10+ com as bibliotecas feedparser e requests, e opcionalmente o CLI oficial do Feishu (lark-cli) para a integração completa. O processo de execução é composto por 4 etapas: preparação do ambiente, coleta de fontes, filtragem/ resumo pelo agente (LLM) e entrega configurável. Cada item mantém o link original, garantindo rastreabilidade.

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

Installed? Explore more Pesquisa e Análise de Dados skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Skill de Coleta Diária de Notícias de IA

Quando usar este skill: quando o usuário mencionar intenções como "briefing de IA diário / notícias de IA / o que está acontecendo no mundo da IA hoje / enviar briefing / escrever na tabela Feishu", siga o fluxo deste documento.

O que o usuário pode dizer: "Execute o briefing de IA de hoje para mim" / "Veja o que está acontecendo no mundo da IA hoje" / "Envie o briefing para o meu Feishu".

Coleta as notícias de IA do dia, filtra e resume em um briefing diário; de acordo com a configuração, entrega no ecossistema Feishu (tabela multidimensional / push via robô / arquivamento em documento na nuvem). Cada informação mantém o link original, permitindo rastreabilidade.

Funciona sem configurar o Feishu (L0): a etapa 3 detecta a configuração e pula automaticamente; o briefing é exibido diretamente na conversa.

Fluxo de Trabalho (O Agente deve executar nesta ordem)

Etapa 0: Preparação do Ambiente

cd <diretório_do_skill>/scripts
# Verificação de dependências: se houver ModuleNotFoundError, execute pip install feedparser requests primeiro
python -c "import feedparser, requests" 2>/dev/null || pip install feedparser requests
# Detecção de proxy: se funcionar, ativa (necessário para fontes internacionais); se não, desativa (fontes chinesas já forçam conexão direta; fontes internacionais falham com fallback automático)
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

O lark-cli não precisa ser especificado manualmente: o script detecta automaticamente o PATH e locais comuns de instalação (incluindo o diretório global do npm no Windows); apenas para instalações não padrão é necessário export LARK_CLI=<caminho_completo>.

Etapa 1: Coleta de Itens Brutos

python fetch_sources.py --hours 24        # Gera items.json (para execução diária agendada, recomenda-se --hours 26 para cobrir lacunas entre dias)
  • Cada fonte em sources.json declara network: proxy|direct: fontes internacionais usam proxy (variável de ambiente HTTPS_PROXY), fontes chinesas forçam conexão direta
  • Falhas em fontes individuais (ex.: arXiv com 502 esporádico) são registradas em items.json na chave errors; a execução continua, sem interromper

Etapa 2: Filtragem e Resumo (Responsabilidade do Agente/LLM)

Leia todos os itens de items.json e então:

  1. Remover ruído: elimine itens não relacionados a IA (HN/InfoQ contêm muito conteúdo não relacionado a IA)
  2. Remover duplicatas e mesclar: notícias do mesmo evento de múltiplas fontes são mescladas, mantendo o link da fonte mais autoritativa
  3. Resumir: 2-3 frases em chinês, apenas relatando fatos
  4. Classificar: category (Avanços de Ponta / Destaques da Comunidade / Notícias em Chinês / Artigos Rápidos / Novidades de Produtos), importance (alta = lançamentos a nível de setor · financiamentos · políticas / média / baixa), tags livres
  5. Resumo do dia: escreva um digest de 2-3 frases resumindo os destaques e tendências do dia, colocado no nível superior de selection.json — ele se tornará a abertura do briefing

Escreva o resultado em scripts/selection.json, no seguinte formato (idx refere-se ao índice do array em items.json; source_override é opcional, usado para normalizar a fonte para nomes de opções da tabela, como TechCrunch / The Verge):

{
  "digest": "Resumo do dia em 2-3 frases",
  "items": [
    {"idx": 0, "title": "Título editável", "summary": "Resumo", "importance": "alta",
     "category": "Avanços de Ponta", "tags": ["tag"], "source_override": "OpenAI"}
  ]
}

Em seguida:

python make_curated.py       # Gera curated.json (10-30 itens)

Regra de ouro: url deve ser extraído apenas do texto original de items.json, não pode ser reescrito ou adivinhado — a rastreabilidade é o valor central deste skill.

Etapa 3: Entrega no Feishu (ramificação baseada na configuração; deve ser verificada primeiro)

Primeiro, verifique scripts/config.json: se o arquivo não existir, ou se base_token/table_id/user_open_id/base_url estiverem vazios → considere que o Feishu não está configurado, pule todos os comandos desta etapa e vá diretamente para "Relatório ao Usuário Final" (exiba o texto do briefing para o usuário); no final do relatório, adicione uma frase: Para obter arquivamento em tabela e push diário, configure o Feishu; consulte o arquivo docs/setup.md do repositório.

Se configurado, execute:

python run_daily.py curated.json    # Escreve na tabela + push de card + arquivamento em documento na nuvem
  • Antes de escrever, mescla automaticamente o pool de opções de tags (tags livres não causam incompatibilidade) e escreve item por item
  • O push é feito como card de mensagem do Feishu (com colunas, título clicável), com três níveis de degradação para garantir entrega (card → markdown → texto puro)
  • O arquivamento insere blocos de âncora no documento na nuvem (bloco de destaque + seções categorizadas, com as mais recentes no topo); se o arquivamento não estiver configurado, pula automaticamente
  • A execução repetida escreve novamente; não reexecute

Após a Conclusão: Relatório ao Usuário

  • Feishu não configurado (L0): organize o curated.json como texto do briefing (resumo geral + cada item com "título / resumo / link original") e adicione a dica de configuração
  • Feishu configurado: relate quatro itens — número de itens de hoje, distribuição por categoria, resumo geral em uma frase, fontes com falha

Se houver falha de ponta a ponta: apenas reporte o erro específico; não tente novamente mais de uma vez.

Configuração do Usuário (scripts/config.json)

Copie config.example.json para config.json e preencha — as instruções de como obter cada campo estão nos comentários do modelo; as etapas de instalação do lark-cli e configuração do aplicativo Feishu estão no arquivo docs/setup.md do repositório. Todos os campos suportam substituição por variáveis de ambiente. Este diretório de skill não contém nenhuma chave secreta; as credenciais do Feishu são gerenciadas pela configuração global do lark-cli.

Dependências Prévias

  1. Python 3.10+: pip install feedparser requests
  2. Para entrega no Feishu (Etapa 3): é necessário lark-cli (CLI oficial, npx @larksuite/cli@latest install) com config init e auth login já executados; se o lark-cli não for encontrado, use a variável de ambiente LARK_CLI para especificar o caminho completo

Lista de Fontes (sources.json, pode ser alterada)

FonteMétodoRede
OpenAI Official NewsRSSProxy
Google DeepMind / Google AI BlogRSSProxy
Anthropic Newssitemap (sem RSS oficial)Proxy
Hugging Face BlogRSSProxy
TechCrunch / The Verge AIRSSProxy
MIT Tech Review AIRSSProxy
Hacker News AI Hot PostsAlgolia API (janela de tempo + votos + filtro de borda de palavra-chave)Direta
InfoQ ChineseRSS (itens relacionados a IA são filtrados na Etapa 2)Direta
arXiv cs.AI / cs.CLarXiv APIProxy

Tratamento de falhas: quando o endereço de um RSS mudar, primeiro verifique com curl e depois atualize o sources.json; feeds gratuitos de Jiqizhixin/Liangziliang e sitemaps de xAI/Stability (ruído na página de navegação/antibot) já estão indisponíveis, não perca tempo tentando novamente.

Execução Agendada

O skill não tem estado, qualquer agendador pode chamá-lo. Recomenda-se diariamente às 08:00 (Ásia/Xangai). Consulte docs/scheduling.md para configurações específicas de cada hospedeiro; o modelo de prompt está em examples/cron-prompt.txt.

Habilidades Relacionadas