Community寫作與編輯github.com

PenghaoJiang/auto-paper-collecter

📚🔭 您的個人研究雷達 — 一個由 LLM 驅動的工具,能自動彙集來自 arXiv / Crossref / Semantic Scholar / GitHub / RSS 的最新論文。

auto-paper-collecter 是什麼?

這是一個可自我託管的研究文獻雷達技能,專為在編碼代理(如 Claude Code、Codex)中運行而設計。其核心哲學是將確定性工作(API 擷取、去重、渲染、寄信)交給 Python 腳本,而將所有需要判斷的任務(查詢擴展、電腦科學相關性過濾、中文摘要撰寫、熱門主題綜合)留給 LLM 本身處理。因此,您不需要任何額外的 AI API 金鑰 — 運行此技能的模型就是 LLM。技能支援多個資料來源,包括 arXiv、Crossref、Semantic Scholar、GitHub、HuggingFace、PapersWithCode 以及自訂 RSS 飼料。完整流程包含七個步驟:讀取設定檔並由 LLM 擴展查詢、腳本擷取候選論文、LLM 過濾相關性並撰寫中文摘要、LLM 合成熱門方向、腳本渲染摘要、腳本發送通知(可選)、最後向使用者報告結果。該技能特別適合需要定期追蹤特定關鍵字最新研究進展的研究人員與開發者,且無需依賴第三方 LLM API。

相容平台✓Claude Code✓Codex CLI~Cursor
npx skills add PenghaoJiang/auto-paper-collecter

Installed? Explore more 寫作與編輯 skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

auto-paper-collecter (技能)

一個自我託管的研究文獻雷達,可在編碼代理內部運行。 Python 腳本只負責確定性工作(API 擷取、去重、渲染、寄信)。您 — 運行此技能的助理 — 負責所有需要判斷的工作:查詢擴展、電腦科學相關性過濾、中文摘要以及熱門主題綜合。這意味著不需要 AI API 金鑰 — 運行此技能的模型(Claude Code 中的 Claude、Codex 中的 GPT,……)就是 LLM。

佈局

skill/
├── SKILL.md
├── scripts/   common.py · fetch.py · render.py · notify.py   (僅使用標準函式庫)
├── state/     config.json · (queries/candidates/curated/trends/seen .json)
└── digests/   YYYY-MM-DD.md  +  .html

從 scripts/ 執行腳本:cd skill/scripts && python3 <script>.py

設定 — state/config.json

  • keywords:最多約 3 個要追蹤的主題字串。
  • domain:限制相關性的領域(預設為 computer science)。
  • sources:切換 arXiv / Crossref / Semantic Scholar / GitHub / HuggingFace / PapersWithCode / RSS。
  • lookback_days:向後擷取的天數(去重機制無論如何會阻止重複)。
  • max_per_source、rss_feeds。

當使用者要求更改關鍵字/來源/領域時,編輯此檔案並向他們確認變更。

選用環境變數(絕不存儲在 repo 中):SEMANTIC_SCHOLAR_KEY(提高 S2 速率限制)、GITHUB_TOKEN(提高 GitHub 限制)、SMTP_* / EMAIL_TO(電子郵件),以及推送管道 — TELEGRAM_BOT_TOKEN/TELEGRAM_CHAT_ID、SLACK_WEBHOOK_URL、WECHAT_WEBHOOK(企業微信群機器人)或 SERVERCHAN_KEY(Server醬)。

執行流程 — 依序進行

1 · 讀取設定檔並擴展查詢 (您)

讀取 state/config.json。針對每個關鍵字,想2–3 個相關的英文搜尋查詢 — 同義詞、完整形式、相鄰子主題 — 如此召回率就不會受限於字面詞彙(例如 C2Rust → ["C2Rust", "C-to-Rust translation", "migrating legacy C code to Rust"])。將它們寫入 state/queries.json,格式為 {"<keyword>": ["q1", "q2", ...], ...}。

2 · 擷取候選 (腳本)

cd skill/scripts && python3 fetch.py

為這些查詢擷取每個已啟用的來源,丟棄任何已在 state/seen.json 中或早於 lookback_days 的內容,然後寫入 state/candidates.json。如果報告 0 個候選,請告知使用者「暫無新文獻」並停止(沒有其他事情可做)。

3 · 過濾相關性並撰寫摘要 (您)

讀取 state/candidates.json。對每個項目判斷:它是否 (a) 屬於電腦科學且 (b) 對於其 topic 關鍵字來說真正相關?丟棄其餘內容(醫學「翻譯」、金融「AI」、隨機的 GitHub 星列表等)。對每個保留的項目,撰寫簡潔的中文摘要,並組裝 state/curated.json — 一個物件列表:

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

論文優先,GitHub 儲存庫最後(它們是補充信號)。如果來源已提供 tldr,您可以在此基礎上構建。

GitHub 項目是儲存庫,不是論文 — 不要過度摘要它們。使用儲存庫描述(其 abstract)作為 tldr,並將 method/contributions 留空。fetch.py 只保留星數 ≥10 的儲存庫,按星數排序,因此它們通常是實質性的(課程/框架/awesome-list),而非個人噪音。

4 · 熱門主題綜合 (您,選用但建議)

將保留的項目聚類成少數粗粒度的 CS 子領域(自然語言處理 / 電腦視覺 / 系統與編譯 …;積極合併)。寫入 state/trends.json: {"top": [{"name","delta": <計數>, "summary": "<=80字方向總結", "papers": ["title", ...]}, ... 最多 3 個]}。

5 · 渲染摘要 (腳本)

cd skill/scripts && python3 render.py

從 curated.json(+ trends.json)寫入 digests/YYYY-MM-DD.md + .html,並將顯示的所有內容記錄到 seen.json 中,以免重複。

6 · 通知 (腳本,選用)

cd skill/scripts && python3 notify.py     # 如果設定了 SMTP_* 環境變數,則以電子郵件寄送 HTML 摘要

7 · 報告結果 (您)

告知使用者保留了多少篇論文、熱門研究方向以及摘要路徑。提供開啟 HTML 或調整關鍵字的選項。

備註

  • 腳本為純 Python 標準函式庫 — 不需要 pip install。
  • fetch.py 已過濾掉垃圾未來日期並跨執行去重。
  • 此技能是該專案 FastAPI 網頁儀表板的代理驅動對應版本;兩者共享相同的來源和管線理念。

相關技能