Community코딩 & 개발github.com

Agents365-ai/paper-fetch

DOI 기반 PDF 해석기로 7가지 소스(Unpaywall, S2, arXiv, PMC, bioRxiv, publisher, Sci-Hub)에서 폴백(fallback)하며 동작합니다. 다중 에이전트, 무의존성(zero-deps) Python 도구입니다.

paper-fetch란 무엇인가요?

이 스킬은 학술 논문의 DOI(Digital Object Identifier)를 입력받아 해당 논문의 PDF 파일을 자동으로 다운로드하는 에이전트 도구입니다. Unpaywall, Semantic Scholar(S2), arXiv, PubMed Central(PMC), bioRxiv, 출판사 직접 링크, Sci-Hub까지 총 7가지 소스를 순차적으로 시도하여 가장 신속하게 PDF에 접근할 수 있도록 설계되었습니다. 모든 로직은 순수 Python으로 구현되어 별도의 외부 의존성 없이 즉시 실행 가능하며, 다중 에이전트 워크플로우(예: Claude Code, Cursor, Codex)에서도 쉽게 통합할 수 있습니다. 연구자, 개발자, AI 에이전트가 학술 자료를 효율적으로 수집하고 분석할 때 유용하며, 각 소스의 API를 활용한 지능적 폴백 체인을 통해 접근 제한이나 네트워크 오류에도 견고하게 작동합니다.

지원 대상~Claude Code~Codex CLI~Cursor
npx skills add Agents365-ai/paper-fetch

Installed? Explore more 코딩 & 개발 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

즐겨 사용하는 AI에게 물어보기

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

문서

paper-fetch은(는) 무엇을 하나요?

DOI → PDF 해석기로 7가지 소스에서 폴백(fallback)하며 동작합니다. (Unpaywall, S2, arXiv, PMC, bioRxiv, 출판사, Sci-Hub). 다중 에이전트, 무의존성(zero-deps) Python.

기능

  • DOI 입력 → PDF 경로/바이트 반환
  • 7가지 폴백 체인: 소스가 실패하면 자동으로 다음 소스 시도
      1. Unpaywall (공개 접근)
      1. Semantic Scholar (S2)
      1. arXiv
      1. PubMed Central (PMC)
      1. bioRxiv
      1. 출판사 직접 링크
      1. Sci-Hub (최후의 수단)
  • 무의존성(zero deps): 표준 라이브러리만 사용 (urllib, json, re 등)
  • 멀티 에이전트 친화적: 단일 함수 호출로 동작

사용 방법

Python 스크립트로 직접 실행

python fetch.py 10.1234/example-doi

에이전트 규칙 (CLAUDE.md / CURSOR.md 등)

## 논문 PDF 가져오기

`/path/to/fetch.py <DOI>` 를 실행하여 PDF를 가져옵니다.

함수 호출 예시

from fetch import resolve_pdf

pdf_data = resolve_pdf("10.1234/example-doi")
if pdf_data:
    with open("paper.pdf", "wb") as f:
        f.write(pdf_data)

구성

  • fetch.py — 메인 진입점
  • sources/ — 각 소스별 구현
    • unpaywall.py
    • semantic_scholar.py
    • arxiv.py
    • pmc.py
    • biorxiv.py
    • publisher.py
    • scihub.py
  • config.py — 환경 변수 및 설정 (선택 사항)

환경 변수

변수설명필수 여부
UNPAYWALL_EMAILUnpaywall API 사용자 이메일아니오
S2_API_KEYSemantic Scholar API 키아니오
SCIHUB_BASE_URLSci-Hub 인스턴스 URL (기본값: https://sci-hub.se)아니오

라이선스

MIT

참고

  • 모든 소스가 실패하면 None을 반환합니다.
  • Sci-Hub 사용 시 해당 국가의 법률을 준수하십시오.
  • 각 API의 이용 약관을 확인하세요.

관련 스킬