Community라이팅 & 에디팅github.com

PenghaoJiang/auto-paper-collecter

📚🔗 나만의 연구 레이더 — LLM 기반으로 arXiv / Crossref / Semantic Scholar / GitHub / RSS 등에서 최신 논문을 자동 수집합니다.

auto-paper-collecter란 무엇인가요?

이 스킬은 코딩 에이전트(Claude Code, Codex 등) 내에서 실행되는 자체 호스팅 연구 문헌 레이더입니다. 정해진 작업(API 호출, 중복 제거, 렌더링, 이메일 전송)은 Python 스크립트가 수행하고, 쿼리 확장, 전산학 관련성 필터링, 중국어 요약, 핫토픽 종합 등 모든 판단 작업은 에이전트(assistant)가 직접 수행합니다. 따라서 별도의 AI API 키가 필요 없으며, 스킬을 실행하는 모델이 곧 LLM 역할을 합니다. arXiv, Crossref, Semantic Scholar, GitHub, HuggingFace, PapersWithCode, RSS 등 다양한 소스를 지원하며, 매일 최신 논문을 자동으로 수집하고 중복을 제거하여 마크다운/HTML 다이제스트로 제공합니다. 구성은 config.json 파일을 수정하여 키워드, 소스, 조회 기간 등을 간단히 변경할 수 있습니다.

지원 대상✓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에게 물어보기

이 에이전트 스킬이 미리 로드된 새 채팅을 엽니다.

문서

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.

사용자가 키워드/소스/분야를 변경하라고 하면 이 파일을 편집하고 변경 사항을 사용자에게 알려주세요.

선택적 환경 변수 (저장소에 저장되지 않음): 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 키워드와 진정으로 관련이 있는가? 나머지는 제거합니다 (의학 "translation", 금융 "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 · 핫토픽 종합 (당신, 선택 사항이지만 권장)

유지된 항목을 몇 개의 큰 전산학 하위 분야로 묶습니다 (자연어 처리 / 컴퓨터 비전 / 시스템 및 컴파일러 …; 적극적으로 병합). state/trends.json을 작성합니다: {"top": [{"name","delta": <개수>, "summary": "<=80자 분야 요약", "papers": ["제목", ...]}, ... 최대 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 웹 대시보드에 대응하는 에이전트 기반 버전입니다. 둘은 동일한 소스와 파이프라인 철학을 공유합니다.

관련 스킬