CommunityEscrita e Ediçãogithub.com

PenghaoJiang/auto-paper-collecter

📚🔔 Seu radar pessoal de pesquisas — uma ferramenta baseada em LLM que agrega automaticamente os artigos mais recentes para suas palavras-chave em arXiv / Crossref / Semantic Scholar / GitHub / RSS.

O que é auto-paper-collecter?

Esta skill transforma um agente de IA em um radar de literatura acadêmica auto-hospedado. Ela busca automaticamente artigos e repositórios recentes de várias fontes (arXiv, Crossref, Semantic Scholar, GitHub, Hugging Face, Papers with Code e RSS) com base em palavras-chave definidas pelo usuário. O agente é responsável por expandir as consultas de busca, filtrar a relevância na área de ciência da computação, gerar resumos em chinês e sintetizar tendências — tudo isso sem precisar de chaves de API de IA pagas. As tarefas determinísticas (fetch, deduplicação, renderização de resumo e envio de notificações) são realizadas por scripts Python leves que usam apenas a biblioteca padrão. No final, um resumo em Markdown e HTML é gerado e pode ser enviado por e-mail, Telegram, Slack ou WeChat, garantindo que o usuário nunca perca as novidades mais importantes de sua área de pesquisa.

Funciona com✓Claude Code✓Codex CLI~Cursor
npx skills add PenghaoJiang/auto-paper-collecter

Installed? Explore more Escrita e Edição skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Perguntar na sua IA favorita

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

Documentação

auto-paper-collecter (skill)

Um radar de literatura acadêmica auto-hospedado que funciona dentro de um agente de codificação. Os scripts Python fazem apenas o trabalho determinístico (fetch de APIs, deduplicação, renderização, e-mail). VOCÊ — o assistente executando esta skill — faz todo o trabalho de julgamento: expansão de consultas, filtragem de relevância em ciência da computação, resumos em chinês e síntese de tópicos quentes. Isso significa que nenhuma chave de API de IA é necessária — qualquer modelo que esteja executando esta skill (Claude no Claude Code, GPT no Codex, …) é o LLM.

Estrutura

skill/
├── SKILL.md
├── scripts/   common.py · fetch.py · render.py · notify.py   (apenas stdlib)
├── state/     config.json · (queries/candidates/curated/trends/seen .json)
└── digests/   YYYY-MM-DD.md  +  .html

Execute os scripts a partir de scripts/: cd skill/scripts && python3 <script>.py

Configuração — state/config.json

  • keywords: até ~3 strings de tópicos a rastrear.
  • domain: a área para restringir a relevância (padrão computer science).
  • sources: ativar/desativar arXiv / Crossref / Semantic Scholar / GitHub / HuggingFace / PapersWithCode / RSS.
  • lookback_days: quantos dias para trás buscar (a deduplicação impede repetições de qualquer forma).
  • max_per_source, rss_feeds.

Quando o usuário pedir para alterar palavras-chave / fontes / área, edite este arquivo e confirme a alteração para ele.

Variáveis de ambiente opcionais (nunca armazenadas no repositório): SEMANTIC_SCHOLAR_KEY (aumenta limites de taxa do S2), GITHUB_TOKEN (aumenta limites do GitHub), SMTP_* / EMAIL_TO (e-mail), e canais de push — TELEGRAM_BOT_TOKEN/TELEGRAM_CHAT_ID, SLACK_WEBHOOK_URL, WECHAT_WEBHOOK (企业微信群机器人) ou SERVERCHAN_KEY (Server酱).

O pipeline de execução — siga NA ORDEM

1 · Ler configuração e expandir consultas (você)

Leia state/config.json. Para cada palavra-chave, pense em 2–3 consultas de busca em inglês associativas — sinônimos, formas completas, subtópicos adjacentes — para que a recuperação não se limite ao termo literal (ex.: C2Rust → ["C2Rust", "C-to-Rust translation", "migrating legacy C code to Rust"]). Escreva-as em state/queries.json como {"<keyword>": ["q1", "q2", ...], ...}.

2 · Buscar candidatos (script)

cd skill/scripts && python3 fetch.py

Busca em cada fonte habilitada por essas consultas, descarta qualquer coisa já em state/seen.json ou mais antiga que lookback_days, e escreve state/candidates.json. Se reportar 0 candidatos, informe ao usuário "暂无新文献" e pare (não há mais nada a fazer).

3 · Filtrar relevância e resumir (você)

Leia state/candidates.json. Para cada item, decida: é (a) da área de ciência da computação e (b) genuinamente no tópico para sua palavra-chave topic? Descarte o resto ("translation" médico, "AI" financeiro, listas aleatórias de estrelas do GitHub, etc.). Para cada item mantido, escreva um resumo conciso em chinês e monte state/curated.json — uma lista de objetos:

{"source","topic","title","url","venue","authors","published",
 "tldr":"一句话核心 (<=60字)","method":"方法简述 (<=80字)",
 "contributions":["核心贡献1","核心贡献2"]}

Coloque artigos primeiro, repositórios do GitHub por último (eles são um sinal suplementar). Se uma fonte já forneceu um tldr, você pode usá-lo como base.

Itens do GitHub são repositórios, não artigos — não os resuma demais. Use a descrição do repositório (seu abstract) como tldr e deixe method/contributions vazios. O fetch.py já mantém apenas repositórios com ≥10 estrelas, classificados por estrelas, então eles tendem a ser substanciais (curso / framework / lista awesome), não ruído pessoal.

4 · Síntese de tópicos quentes (você, opcional mas recomendado)

Agrupe os itens mantidos em algumas subáreas grossas de CC (自然语言处理 / 计算机视觉 / 系统与编译 …; mescle agressivamente). Escreva state/trends.json: {"top": [{"name","delta": <contagem>, "summary": "<=80字方向总结", "papers": ["title", ...]}, ... até 3]}.

5 · Renderizar o resumo (script)

cd skill/scripts && python3 render.py

Escreve digests/YYYY-MM-DD.md + .html a partir de curated.json (+ trends.json) e registra tudo exibido em seen.json para que não se repita.

6 · Notificar (script, opcional)

cd skill/scripts && python3 notify.py     # envia o resumo em HTML por e-mail se a variável SMTP_* estiver definida

7 · Relatar (você)

Informe ao usuário quantos artigos foram mantidos, as principais direções quentes e o caminho do resumo. Ofereça-se para abrir o HTML ou ajustar palavras-chave.

Notas

  • Os scripts são Python puro da stdlib — nenhum pip install é necessário.
  • O fetch.py já filtra datas futuras inválidas e deduplica entre execuções.
  • Esta skill é a contraparte orientada a agente do painel web FastAPI do projeto; ambos compartilham as mesmas fontes e filosofia de pipeline.

Habilidades Relacionadas