SuperAPI AI 工具集

fetch-paper

写作与研究

查看项目

更新于 10-16 01:25

技能介绍

用途:根据一个 DOI 或 arXiv ID 找到该论文的合法开放获取(OA)副本,返回 PDF 链接、arXiv HTML 渲染页或落地页,并可选择临时下载供阅读。它是 find-papers、literature-review 等技能所依赖的获取层。

适用时机:用户已有 DOI、doi.org 链接、arXiv ID 或 arxiv.org 链接并想获取论文;其他技能需要某篇已找到论文的全文;用户问“这篇论文有开放获取版本吗”。不用于按主题/标题/会议检索——应先运行 find-papers 得到标识符。

输入:每次仅一个标识符,DOI(如 10.1145/3589132.3625571 或 https://doi.org/...)或 arXiv ID(如 2403.12345、arXiv:2403.12345v2、cs/0309136 或任意 arxiv.org 链接)。arXiv 签发的 DOI(10.48550/arXiv.*)会自动转换。需设置 UNPAYWALL_EMAIL(或 CONTACT_EMAIL)为真实邮箱,否则 Unpaywall 会返回 HTTP 422;未设置时脚本会提示。

使用方式:运行 python3 scripts/resolve_oa.py <DOI-or-arXiv-ID> --json 进行解析,脚本会处理标识符规范化、Unpaywall 查找、arXiv URL、ACM DL 开放获取回退、限速与缓存。退出码:0 找到 OA,3 无合法 OA 副本,2 输入/配置错误,1 网络故障。优先使用 html_url,否则用 pdf_url。若 version 为 submittedVersion,说明是预印本,引用页码前应提醒用户。下载用 python3 scripts/resolve_oa.py <ID> --download,会保存到临时目录,读后删除;dl.acm.org 会拦截脚本下载,应给用户 URL 自行在浏览器打开。

限制:仅使用合法来源,不提供 Sci-Hub 等影子图书馆,不绕过付费墙;仅临时处理,不写入仓库、不存储、不再分发,仅可保留短摘录。每次调用一个标识符,禁止批量抓取。存在正式发表版本时应引用已发表的 DOI,并在进入参考文献前用 verify-citations 核验。不得代用户向任何系统提交内容。