CommunityPesquisa e Análise de Dadosgithub.com

octo-patch/MorningAI

Skill de acompanhamento de notícias de IA para agentes como Claude Code, OpenClaw e outros. Monitora entidades de IA em 9 fontes e gera relatórios diários estruturados.

O que é MorningAI?

MorningAI é uma skill especializada para agentes de IA (como Claude Code, Cursor, Codex, OpenClaw) que automatiza o monitoramento e sumarização diária de notícias do ecossistema de inteligência artificial. Ela permite que agentes coletem atualizações de mais de 80 entidades de IA (empresas, modelos, benchmarks, financiamentos) em 6 fontes públicas (Reddit, Hacker News, GitHub, HuggingFace, arXiv e X/Twitter) sem exigir chaves de API para uso básico. O fluxo da skill inclui uma etapa obrigatória de configuração (criação de arquivo .env), coleta de dados com um script Python, validação de timeliness (janela de 24 horas), pontuação e deduplicação automática, e geração de um relatório estruturado em Markdown. MorningAI é particularmente útil para desenvolvedores e equipes que precisam de um resumo diário confiável e organizado dos principais acontecimentos em IA, suportando customizações como idioma (via --lang), profundidade de coleta (quick/default/deep), exclusão de tipos de conteúdo, e até geração opcional de infográficos, posts para redes sociais e resumos para mensageiros (WeChat/Telegram/Slack).

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

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

morning-ai: Gerador de Relatório MorningAI

Visão geral de permissões: Coleta dados públicos do Reddit, Hacker News, GitHub, HuggingFace, arXiv e X/Twitter. Requer chaves de API opcionais configuradas em .env ou ~/.config/morning-ai/.env. Escreve arquivos de relatório no diretório de trabalho atual. Veja Configuração para detalhes.

Monitore mais de 80 entidades de IA em 6 fontes. Colete atualizações das últimas 24 horas, pontue e deduplique-as, e gere um relatório diário estruturado em Markdown. Abrange 4 tipos: Produto (lançamentos de funcionalidades, versões), Modelo (novos modelos, pesos open-source), Benchmark (mudanças em rankings, artigos), Financiamento (rodadas, aquisições, marcos).


--intro — Introdução do Produto

Se o usuário passar --intro, exiba a introdução a seguir e pare (não prossiga para a coleta de dados):


MorningAI — Monitor de notícias diárias de IA que acompanha 80+ entidades em 6 fontes.

O que faz:

  • Coleta atualizações do Reddit, Hacker News, GitHub, HuggingFace, arXiv e X/Twitter
  • Pontua e deduplica itens em uma escala de 1 a 10 com verificação entre fontes
  • Gera relatórios Markdown estruturados com 4 tipos de conteúdo: Produto, Modelo, Benchmark, Financiamento
  • Opcional: imagens de infográfico (5 estilos visuais), resumos para mensagens (WeChat/Telegram/Slack), cópias para redes sociais (X/Xiaohongshu)

Fontes (todas gratuitas, sem necessidade de chaves de API para uso básico):

FonteMétodoChave de API
RedditJSON públicoNão necessária
Hacker NewsAPI AlgoliaNão necessária
GitHubAPI RESTOpcional (GITHUB_TOKEN para limites de taxa mais altos)
HuggingFaceAPI públicaNão necessária
arXivAPI públicaNão necessária
X/TwitterPesquisa webNão necessária

Início rápido:

/morning-ai                     # Executa com padrões (Inglês, todos os tipos)
/morning-ai --lang zh           # Relatório em Chinês
/morning-ai --depth deep        # Coleta abrangente
/morning-ai --exclude Funding   # Pular notícias de financiamento

Funcionalidades opcionais (requerem chaves de API):

  • Imagens de infográfico: defina IMAGE_GEN_PROVIDER + chave de API do provedor
  • Cópia para redes sociais: defina SOCIAL_ENABLED=true
  • Resumo para mensagens: defina MESSAGE_ENABLED=true

Arquivo de configuração: ~/.config/morning-ai/.env — execute /morning-ai sem configuração para iniciar a configuração guiada.

Versão: 1.2.9 | GitHub | ClawHub


Após exibir a introdução, pare. Não prossiga para o Passo 0 ou coleta de dados.


Passo 0: Portão de Configuração (OBRIGATÓRIO — deve ser concluído antes de qualquer outro passo)

Execute este comando PRIMEIRO antes de fazer qualquer outra coisa:

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

Ramifique conforme a saída:

  • Se a saída for CONFIG_STATUS=READY — leia o arquivo de configuração, informe quais fontes estão ativas, então prossiga para o Passo 1.
  • Se a saída for CONFIG_STATUS=MISSING — PARE. Você DEVE concluir a Primeira Configuração abaixo antes de prosseguir para o Passo 1.

Primeira Configuração (quando MISSING)

CRÍTICO: PARE AQUI. Você DEVE concluir todas as etapas de configuração abaixo interativamente com o usuário. NÃO execute o Passo 1 (coleta de dados) até que um arquivo de configuração exista e a verificação do portão retorne READY. Executar a coleta de dados sem configuração produzirá resultados incompletos.

Guie o usuário pela configuração interativamente, aguardando a resposta dele em cada etapa:

  1. Boas-vindas — explique brevemente o que o morning-ai faz: monitora 80+ entidades de IA em 6 fontes (Reddit, Hacker News, GitHub, HuggingFace, arXiv, X/Twitter), gera relatórios diários pontuados
  2. Mostre o que funciona gratuitamente — 6 fontes (5 não precisam de chaves de API, 1 opcional):
    • Reddit (JSON público), Hacker News (API Algolia), HuggingFace (API pública), arXiv (API pública), X/Twitter (pesquisa web)
    • GitHub (API pública, GITHUB_TOKEN opcional para limites de taxa mais altos)
  3. Pergunte ao usuário se ele deseja ativar o GitHub com limites de taxa mais altos:
ChaveFonteOnde obter
GITHUB_TOKENReleases e repositórios do GitHub (limite de taxa mais alto)https://github.com/settings/tokens
  1. Pergunte sobre infográficos (opcional):
ChaveDescrição
IMAGE_GEN_PROVIDERProvedor: gemini | minimax | none (padrão: none)
IMAGE_STYLEEstilo: 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. Pergunte sobre distribuição de conteúdo social (opcional):

    • Ativar geração de conteúdo social? Defina SOCIAL_ENABLED=true
    • Quais plataformas? X (Twitter), Xiaohongshu (Little Red Book), ou ambos
    • Para configuração avançada de múltiplas contas/estilos, crie ~/.config/morning-ai/social_channels.json (veja skills/gen-social/SKILL.md para o esquema). Para configuração rápida de canal único, basta definir as variáveis de ambiente SOCIAL_PLATFORM, SOCIAL_STYLE e SOCIAL_LANG.
  2. Pergunte sobre resumo por mensagem (opcional):

    • Ativar resumo conciso para compartilhamento em plataformas de mensagens (WeChat, Telegram, Slack)?
    • Se sim: defina MESSAGE_ENABLED=true
    • Configurações opcionais: MESSAGE_MIN_SCORE (padrão 5), MESSAGE_MAX_ITEMS (padrão 10), MESSAGE_LINKS (bottom ou inline), MESSAGE_CATEGORY_BALANCE (padrão true, distribui espaços entre tipos de conteúdo)
  3. Crie o arquivo de configuração — colete as chaves que o usuário fornecer e escreva-as em ~/.config/morning-ai/.env no formato CHAVE=valor (uma por linha). Crie o diretório se necessário: mkdir -p ~/.config/morning-ai

  4. Confirme — mostre quantas fontes estão agora ativas (N/9)

  5. Verifique — reexecute a verificação do portão para confirmar CONFIG_STATUS=READY:

    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
    

    Só prossiga para o Passo 1 se a saída for READY.

  6. Se o usuário quiser pular a configuração de chaves de API e usar apenas fontes gratuitas, crie um arquivo de configuração mínimo primeiro, depois prossiga para o Passo 1:

mkdir -p ~/.config/morning-ai && echo "# Configuração morning-ai — apenas fontes gratuitas" > ~/.config/morning-ai/.env

Idioma

ParâmetroPadrãoExemplo
--langen (Inglês)--lang zh (Chinês), --lang ja (Japonês)

Regras:

  • O padrão é Inglês. A menos que --lang seja explicitamente especificado, o relatório DEVE ser escrito inteiramente em Inglês. Todo o texto do relatório — títulos, resumos, cabeçalhos de seção, rótulos de tabelas, marcadores, análise "Por Que Isso Importa" e todo outro conteúdo legível por humanos — deve estar em Inglês.
  • Se --lang for especificado, use esse idioma para todo o conteúdo legível por humanos.
  • Nomes de entidades são substantivos próprios (OpenAI, DeepSeek, Midjourney, etc.) — mantenha-os como estão independentemente do idioma.
  • Quando os dados de origem estiverem em um idioma diferente do alvo (ex.: fonte em Chinês → relatório em Inglês), traduza-os para o idioma alvo durante a geração do relatório. NÃO deixe fragmentos não traduzidos.
  • A configuração --lang também se aplica ao conteúdo do prompt de infográfico (veja Passo 4).

Pré-requisito: O Passo 0 deve ter retornado CONFIG_STATUS=READY. Se você não concluiu o Passo 0, volte e execute-o agora.

Passo 1: Coleta de Dados

Execute o coletor Python para reunir dados de fontes automatizadas:

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

Parâmetros:

  • --date: Data alvo, padrão hoje (YYYY-MM-DD)
  • --depth: Profundidade de coleta — quick (rápido, menos resultados), default, ou deep (abrangente)
  • --sources: Fontes específicas apenas, ex.: --sources reddit hackernews github
  • -o: Caminho do arquivo JSON de saída

O que faz:

  • Executa 5 coletores concorrentemente (Reddit, HN, GitHub, HuggingFace, arXiv)
  • Janela de tempo: [Ontem 08:00, Hoje 08:00) UTC+8
  • Pipeline: coletar → pontuar (1-10) → deduplicar → vincular entre fontes → bônus de verificação
  • Retorna JSON estruturado com todos os itens, estatísticas e metadados de coleta

Timeout: Permita até 3 minutos para profundidade padrão, 5 minutos para profunda.

Se o usuário fornecer --exclude tipos (ex.: --exclude Funding), anote quais tipos filtrar no Passo 3.

Pesquisa X/Twitter

Após a coleta automatizada ser concluída, use pesquisa web para descobrir atualizações recentes do X/Twitter de entidades monitoradas. Os handles X monitorados estão listados em {SKILL_DIR}/lib/entities.py sob X_HANDLES.

Estratégia de Pesquisa: Verificação de Contas em Múltiplas Camadas

Pesquise X/Twitter em três camadas, em ordem de prioridade:

Camada 1 — Contas Oficiais (maior prioridade): Pesquise por posts recentes de contas oficiais de empresas/produtos. Os handles estão listados em arquivos de entidade em {SKILL_DIR}/entities/.

  • Foco: Lançamentos de modelos, lançamentos de produtos, atualizações de API, mudanças de preço

Camada 2 — Contas de CEO / Pessoal-Chave: Verifique as contas de pessoas-chave para anúncios, prévias e contexto que as contas oficiais podem não cobrir. Listados como "Pessoas-Chave" em cada arquivo de entidade.

  • Foco: Pré-visualizações iniciais, contexto estratégico, detalhes técnicos, comentários competitivos

Camada 3 — KOLs e Instituições de Benchmark: Verifique contas de líderes de opinião em IA e contas de avaliação para análises independentes, resultados de benchmarks e descobertas em tendência. Veja {SKILL_DIR}/entities/kol.md e {SKILL_DIR}/entities/benchmarks-academic.md.

  • Foco: Destaques de artigos, classificações de benchmarks, tendências da comunidade, testes independentes

Execução da Pesquisa

Para cada profundidade de pesquisa:

ProfundidadeCamada 1 (Oficial)Camada 2 (Pessoal)Camada 3 (KOLs)
quickTop 5 entidades por prioridadePularPular
defaultTodas as entidades principais (~20)Contas de CEO principais (~10)Principais KOLs (~5)
deepTodas as entidades com handles XTodas as contas de pessoalTodos os KOLs + contas de benchmark

Use consultas de pesquisa web como:

  • site:x.com @{handle} since:{ontem} — para posts de conta específica
  • site:x.com "{nome da entidade}" anúncio IA — para descoberta mais ampla
  • site:x.com lançamento modelo IA OU benchmark OU open-source {data} — para notícias de IA em tendência

Tratamento de RT/Tweet com Citação

Quando um post descoberto for um retweet (RT) ou tweet com citação:

  1. Rastreie até o post original — o timestamp do evento é a hora do post original, não a hora do RT/citação
  2. Valide a hora do post original está dentro da janela de coleta de 24 horas [Ontem 08:00, Hoje 08:00) UTC+8
  3. Use a URL do post original como source_url, não a URL do RT/citação
  4. Credite o autor original em source_label (ex.: "@AnthropicAI no X (via @karpathy RT)")

Validação de Pontualidade

  • Todos os horários de posts X devem ser convertidos para UTC+8 para validação da janela
  • A janela de coleta é [Ontem 08:00, Hoje 08:00) UTC+8
  • Posts fora desta janela são rejeitados — NÃO os inclua independentemente da relevância
  • Para RTs/tweets com citação, valide a hora do post original, não a hora do retweet

Prioridade de Fonte para Itens com Origem em X

PrioridadeTipo de FonteCredibilidade
1Blog oficial / changelogMais alta
2Conta oficial X/TwitterAlta
3Changelog / docs da APIAlta
4Release oficial do GitHubAlta
5Conta X do CEO / pessoal-chaveMédia-Alta
6Conta X de instituição de benchmarkMédia
7Conta X de KOLApenas para referência — requer verificação cruzada

Itens provenientes apenas de contas KOL (Prioridade 7) devem ser pontuados de forma conservadora e sinalizados para verificação cruzada com uma fonte oficial.

Incorporando Descobertas do X

Para cada atualização X/Twitter verificada:

  1. Crie um TrackerItem com source: "x", source_url apontando para o tweet original, e source_label como "@{handle} no X"
  2. Se o mesmo evento já foi encontrado por um coletor automatizado (Reddit, HN, GitHub, etc.), mescle-o como um cross_ref em vez de criar uma duplicata — isso fortalece a pontuação de verificação
  3. Se for uma descoberta genuinamente nova não presente nos dados automatizados, adicione-a como um novo item com pontuação apropriada

Passo 2: Leia as Especificações

Após a coleta de dados ser concluída, leia a especificação de monitoramento para entender os critérios de pontuação, formato de registro e regras de pontualidade:

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

Esta especificação define:

  • 4 tipos de monitoramento (Produto / Modelo / Benchmark / Financiamento) com critérios de inclusão/exclusão
  • Classificações de prioridade de fonte
  • Critérios de pontuação (escala 1-10 com 5 dimensões)
  • Regras de validação de pontualidade (data do evento ≠ data da página)
  • Requisitos de verificação cruzada (pontuações 7+ precisam de 2+ fontes independentes)
  • Formato de registro para o relatório

Internalize a especificação antes de escrever o relatório. Preste atenção especial às tabelas de referência de pontuação e ao guia de classificação de tipos.


Passo 3: Gerar Relatório

  1. Leia a saída JSON do Passo 1
  2. Leia o modelo de relatório: Leia {SKILL_DIR}/templates/report.md
  3. Gere report_{YYYY-MM-DD}.md no diretório de trabalho

Regras de geração de relatório:

  • Idioma: O padrão é Inglês. Escreva TODO o conteúdo em Inglês a menos que --lang seja explicitamente especificado. Se os dados de origem estiverem em um idioma diferente, traduza-os. Nomes de entidades (substantivos próprios) permanecem como estão.
  • Links de fonte: TODO item DEVE incluir um link de fonte clicável [Nome da Fonte](URL) apontando para o conteúdo original. Isso se aplica a todas as seções: Resumo, entradas detalhadas e linhas de tabela compacta.
  • Qualidade dos detalhes: Os marcadores de resumo devem incluir detalhes específicos — números de versão, melhorias percentuais, contagens de parâmetros, preços, datas de disponibilidade, pontuações de benchmark. Evite descrições vagas sem números concretos.
  • Verificabilidade factual: Todo número e afirmação deve ser rastreável a uma fonte. Se um item contém um número ou alegação que não pode ser verificado, observe isso (ex.: "não verificado").
  • Sem invenções: Não invente especificações, métricas ou dados. Se o coletor não retornou detalhes específicos suficientes, indique "Detalhes não disponíveis" em vez de inventá-los.
  • Deduplicação: Mescle itens duplicados entre fontes em uma única entrada. Use cross_ref para listar múltiplas fontes.
  • Tabelas & cabeçalhos: Use a mesma estrutura de tabela do modelo. Não altere nomes de colunas.
  • Formato de data: Use YYYY-MM-DD para datas, exceto em texto legível por humanos (ex.: "15 de março de 2025").

Filtragem por Tipo

Se o usuário fornecer --exclude (ex.: --exclude Funding), filtre itens do(s) tipo(s) excluído(s) do relatório. A saída JSON ainda contém esses itens; apenas omita-os do relatório gerado.

Estrutura do Relatório

O relatório deve seguir esta estrutura (veja o modelo para detalhes):

  1. Cabeçalho — Data, período de coleta, estatísticas resumidas (total de itens, pontuação média, tipos de item, fontes)
  2. TLDR — Resumo executivo (3-5 itens) destacando os eventos mais significativos
  3. Acontecimentos do Dia — Seção principal com entradas detalhadas para cada item de alto valor (pontuação ≥ 5), agrupadas por tipo:
    • Modelos
    • Produtos
    • Benchmarks & Artigos
    • Financiamentos & Aquisições
  4. Destaques Adicionais — Itens de valor médio (pontuação 3-4) em formato de tabela compacta, agrupados por tipo
  5. Menções & Notas — Itens de baixa pontuação (1-2), rumores não verificados e notas
  6. Metadados — Status da fonte, pontualidade da coleta, notas de verificação

Passo 4: Pós-processamento Opcional

Após gerar o relatório Markdown, se alguma das seguintes funcionalidades estiver habilitada na configuração, execute os comandos relevantes:

4a: Resumo para Mensagens (WeChat/Telegram/Slack)

Se MESSAGE_ENABLED=true:

cd {SKILL_DIR} && python3 skills/gen-message/scripts/generate.py --report {CWD}/report_{YYYY-MM-DD}.md -o {CWD}/message_{YYYY-MM-DD}.txt --lang {LANG}

4b: Cópia para Redes Sociais (X/Xiaohongshu)

Se SOCIAL_ENABLED=true:

cd {SKILL_DIR} && python3 skills/gen-social/scripts/generate.py --report {CWD}/report_{YYYY-MM-DD}.md -o {CWD}/social_{YYYY-MM-DD}.md --lang {LANG}

4c: Geração de Infográfico

Se IMAGE_GEN_PROVIDER estiver definido (não none):

cd {SKILL_DIR} && python3 skills/gen-image/scripts/generate.py --report {CWD}/report_{YYYY-MM-DD}.md -o {CWD}/infographic_{YYYY-MM-DD}.png --lang {LANG} --style {IMAGE_STYLE}

Habilidades Relacionadas