用途:根据 DOI、arXiv id、论文标题、引文或 DOI 列表获取论文 PDF,按优先级依次尝试多个来源,命中即停止。
主要能力:解析顺序为 Unpaywall(需设置 UNPAYWALL_EMAIL,否则跳过)、Semantic Scholar、arXiv、PubMed Central OA、bioRxiv/medRxiv、出版商直连(仅机构模式)、Sci-Hub 镜像(默认开启,可用 PAPER_FETCH_NO_SCIHUB=1 关闭),全部失败则报告标题与作者以便走馆际互借。仅给标题时先经 Crossref 解析 DOI,低置信度时回退 Semantic Scholar。
使用方式:python scripts/fetch.py <DOI>;python scripts/fetch.py --title "<paper title>";python scripts/fetch.py --batch <FILE|->;python scripts/fetch.py schema 输出机器可读自描述。常用参数有 --out、--format、--idempotency-key、--dry-run、--stream、--overwrite、--timeout。stdout 输出单个 JSON 信封,stderr 在 JSON 模式下输出 NDJSON 进度事件。退出码区分未解析(1)、参数错误(3)、传输错误(4)等。
适用场景:智能体或脚本批量抓取开放获取论文、按标题快速定位并下载、需要可重试与幂等控制的批量任务。
限制:仅能获取可公开访问或调用方自身有权访问的 PDF;无开放获取副本时返回 not_found 并建议一周后重试;下载有 50 MB 上限与 SSRF 校验;机构模式与 CloakBrowser 回退均需显式开启,CloakBrowser 需可导入 cloakbrowser 的 Python 环境,且仅支持同源直链 PDF。具体收费、平台支持等信息资料未提供。