CommunityRedacción y edicióngithub.com

PenghaoJiang/auto-paper-collecter

📚🔗 Tu radar de investigación personal: una herramienta impulsada por LLM que agrega automáticamente los últimos artículos según tus palabras clave en arXiv, Crossref, Semantic Scholar, GitHub y RSS.

¿Qué es auto-paper-collecter?

Esta habilidad es un radar de literatura de investigación autoalojado que se ejecuta dentro de un agente de IA para ayudar a los desarrolladores e investigadores a rastrear las últimas publicaciones científicas y repositorios de código abierto. Está diseñado para funcionar sin necesidad de una clave API de IA externa, ya que el asistente (Claude, GPT, etc.) realiza todo el trabajo de criterio: expansión de consultas, filtrado por relevancia en ciencias de la computación, resúmenes en chino y síntesis de temas candentes. Los scripts de Python se encargan de las tareas deterministas (fetch de APIs, deduplicación, renderizado y notificación) usando solo la biblioteca estándar de Python. La habilidad soporta múltiples fuentes: arXiv, Crossref, Semantic Scholar, GitHub, HuggingFace, PapersWithCode y RSS, y guarda el estado, los candidatos, los artículos curados y los resúmenes de tendencias en archivos JSON locales. Es especialmente útil para el seguimiento continuo de palabras clave específicas, y cada ejecución genera un resumen estructurado (Markdown y HTML) que se puede enviar por correo electrónico, Telegram, Slack, WeChat o Server酱. En resumen, transforma la tarea tediosa de buscar manualmente nuevas publicaciones en un flujo de trabajo automatizado e inteligente, ahorrando tiempo y evitando la sobrecarga de información irrelevante.

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

Installed? Explore more Redacción y edición skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

auto-paper-collecter (skill)

Un radar de literatura de investigación autoalojado que se ejecuta dentro de un agente de codificación. Los scripts de Python solo hacen el trabajo determinista (fetch de API, deduplicación, renderizado, correo electrónico). TÚ — el asistente que ejecuta esta skill — haces todo el trabajo de juicio: expansión de consultas, filtrado de relevancia en ciencias de la computación, resúmenes en chino y síntesis de temas candentes. Esto significa que no se necesita ninguna clave de API de IA — cualquier modelo que esté ejecutando esta skill (Claude en Claude Code, GPT en Codex, …) es el LLM.

Diseño

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

Ejecuta los scripts desde scripts/: cd skill/scripts && python3 <script>.py

Configuración — state/config.json

  • keywords: hasta ~3 cadenas de temas a rastrear.
  • domain: el campo para restringir la relevancia (por defecto computer science).
  • sources: alternar arXiv / Crossref / Semantic Scholar / GitHub / HuggingFace / PapersWithCode / RSS.
  • lookback_days: hasta dónde retroceder en la búsqueda (la deduplicación ya evita repeticiones).
  • max_per_source, rss_feeds.

Cuando el usuario pida cambiar palabras clave / fuentes / campo, edita este archivo y confirma el cambio devolviéndoselo.

Variables de entorno opcionales (nunca almacenadas en el repositorio): SEMANTIC_SCHOLAR_KEY (aumenta los límites de tasa de S2), GITHUB_TOKEN (aumenta los límites de GitHub), SMTP_* / EMAIL_TO (correo electrónico) y canales de push — TELEGRAM_BOT_TOKEN/TELEGRAM_CHAT_ID, SLACK_WEBHOOK_URL, WECHAT_WEBHOOK (Robot de grupo de WeChat empresarial) o SERVERCHAN_KEY (Server酱).

El pipeline de ejecución — seguir EN ORDEN

1 · Leer configuración y expandir consultas (tú)

Lee state/config.json. Para cada palabra clave, piensa en 2–3 consultas de búsqueda en inglés asociativas — sinónimos, formas completas, subtemas adyacentes — para que la recuperación no se limite al término literal (p. ej., C2Rust → ["C2Rust", "C-to-Rust translation", "migrating legacy C code to Rust"]). Escríbelas en state/queries.json como {"<keyword>": ["q1", "q2", ...], ...}.

2 · Obtener candidatos (script)

cd skill/scripts && python3 fetch.py

Obtiene cada fuente habilitada para esas consultas, descarta cualquier cosa que ya esté en state/seen.json o que sea más antigua que lookback_days, y escribe state/candidates.json. Si informa 0 candidatos, dile al usuario "暂无新文献" y detente (no hay nada más que hacer).

3 · Filtrar relevancia y resumir (tú)

Lee state/candidates.json. Para cada elemento decide: ¿es (a) de ciencias de la computación y (b) genuinamente relevante para su topic keyword? Descarta el resto ("traducción" médica, "IA" financiera, listas aleatorias de estrellas de GitHub, etc.). Para cada elemento conservado escribe un resumen conciso en chino y ensambla state/curated.json — una lista de objetos:

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

Primero los papers, luego los repositorios de GitHub (son una señal complementaria). Si una fuente ya proporcionó un tldr, puedes basarte en él.

Los elementos de GitHub son repositorios, no papers — no los resumas en exceso. Usa la descripción del repositorio (su abstract) como tldr y deja method/contributions vacíos. fetch.py ya solo conserva repos con ≥10 estrellas, ordenados por estrellas, por lo que suelen ser sustanciales (curso / framework / awesome-list), no ruido personal.

4 · Síntesis de temas candentes (tú, opcional pero recomendado)

Agrupa los elementos conservados en un puñado de subcampos gruesos de CS (自然语言处理 / 计算机视觉 / 系统与编译 …; fusiona agresivamente). Escribe state/trends.json: {"top": [{"name","delta": <count>, "summary": "<=80字方向总结", "papers": ["title", ...]}, ... hasta 3]}.

5 · Renderizar el resumen (script)

cd skill/scripts && python3 render.py

Escribe digests/YYYY-MM-DD.md + .html a partir de curated.json (+ trends.json) y registra todo lo mostrado en seen.json para que no se repita.

6 · Notificar (script, opcional)

cd skill/scripts && python3 notify.py     # envía el resumen HTML por correo si la variable SMTP_* está configurada

7 · Informar (tú)

Dile al usuario cuántos papers se conservaron, las principales direcciones candentes y la ruta del resumen. Ofrece abrir el HTML o ajustar las palabras clave.

Notas

  • Los scripts son Python puro de la biblioteca estándar — no se requiere pip install.
  • fetch.py ya filga fechas futuras basura y deduplica entre ejecuciones.
  • Esta skill es la contraparte impulsada por agente del panel web FastAPI del proyecto; ambas comparten las mismas fuentes y la misma filosofía de pipeline.

Skills relacionados