关于 fetch-paper
用于获取论文的技能,可将单个 DOI 或 arXiv ID 解析为合法开放获取副本,如 PDF、arXiv HTML 页面或落地页。也可临时下载论文供阅读,不会将其保存到仓库。
主要功能
- 01解析 DOI 和 arXiv 标识符
- 02查找合法开放获取副本
- 03提供 PDF、HTML 或落地页链接
- 04可选临时下载以供阅读
- 05缓存解析结果
适用场景
- 01通过 DOI 查找开放获取副本
- 02获取其他研究技能找到的论文
- 03确认论文是否开放获取
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ shaishavmaisuria/ research-paper-lifecycle-skills --skill fetch-paper安装后在 Claude Code 中输入/fetch-paper确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/copyright-and-politeness.mdoa-sources.mdscripts/resolve_oa.py详细介绍
获取论文
将一个 DOI 或 arXiv ID 解析为合法的开放获取副本(PDF URL、arXiv
HTML 呈现版本、落地页),并可选择下载,以便临时阅读。这是 find-papers、literature-review、study-exemplars 和 draft-related-work 所依赖的获取层。
适用场景
- 用户有 DOI、doi.org URL、arXiv ID 或 arxiv.org URL,并想获取论文。
- 其他技能需要获取其找到的论文全文(文献综述、范例研究)。
- 用户询问“这篇论文是否有开放获取版本?”
- 不适用于按主题、标题或会议搜索——请先运行
find-papers获取标识符。
输入
- 每次获取仅使用一个标识符:DOI(
10.1145/3589132.3625571、https://doi.org/...)或 arXiv ID(2403.12345、arXiv:2403.12345v2、cs/0309136或任意 arxiv.org URL)。arXiv 颁发的 DOI(10.48550/arXiv.*) 会自动转换。 UNPAYWALL_EMAIL(或CONTACT_EMAIL)环境变量——真实邮箱地址;Unpaywall 会以 HTTP 422 拒绝占位符。若未设置,脚本会提示输入。
流程
-
解析标识符。 运行:
python3 scripts/resolve_oa.py <DOI-or-arXiv-ID> --json脚本会处理所有确定性步骤:标识符规范化、查询 Unpaywall 的
best_oa_location、生成 arXiv PDF/HTML URL、为10.1145/*DOI 提供 2026 年之后的 ACM DL 开放获取回退方案、速率限制、429 退避,以及在.cache/fetch-paper/下缓存响应。切勿手动编写这些 API 调用。 -
解读结果(退出码:0 = 找到开放获取版本,3 = 没有合法开放获取副本, 2 = 输入/配置有误,1 = 网络故障):
- 如果有
html_url,优先使用它(arXiv HTML)——最容易直接阅读。 - 否则使用
pdf_url。请参阅 references/oa-sources.md,了解oa_status、version和license的含义。 version: submittedVersion表示这是预印本——在用户引用论文或引用页码前, 提醒其出版版本可能有所不同。
- 如果有
-
临时获取全文。 可直接阅读 URL,也可以:
python3 scripts/resolve_oa.py <ID> --download这会将 PDF 保存到新建的临时目录中(绝不保存到代码库)。读取文件, 提取任务所需内容,然后删除文件。
dl.acm.org会阻止脚本下载——请提供 URL, 让用户在浏览器中打开。 -
若退出码为 3(没有合法开放获取副本): 转达脚本给出的建议——作者主页/机构知识库(通过
find-papers搜索)、 按标题在 arXiv 上搜索、使用用户的图书馆访问权限,或给作者发邮件。绝不要建议 Sci-Hub、LibGen 或任何影子图书馆,也绝不要尝试绕过付费墙。完整规则见:references/copyright-and-politeness.md。 -
处理,不留存。 分析中引用的原文至多只能是简短摘录。 绝不要将论文文本、摘要或 PDF 写入代码库或任何已提交文件。 元数据(DOI、标题、BibTeX 字段)始终可以使用。
输出
- 解析报告(人类可读,或使用
--json输出 JSON):is_oa、oa_status、license、version、pdf_url、html_url、landing_url、source,以及备注。 - 使用
--download时:在临时目录中生成临时 PDF,并将路径输出到 stderr。 - 任何内容都不会写入代码库。
安全限制
- 每次调用只处理一个标识符——绝不要循环运行此脚本,对 DOI 列表进行批量抓取(ACM ToU 和 arXiv 政策均禁止此行为)。在一次会话中处理少量论文时,请逐篇运行,并遵守内置速率限制。
- 仅使用合法来源;仅临时处理;不得存储或再分发。
- 若出版版和预印本都存在,请引用已出版版本的 DOI——将其加入参考书目之前,务必使用
verify-citations核实每条引用。 - 绝不要代替用户向任何系统提交内容。
参考资料
- references/oa-sources.md — Unpaywall 字段和 错误、arXiv URL 模式、ACM DL 开放获取、故障排除。
- references/copyright-and-politeness.md — 哪些内容可以安全保留,哪些仅限临时使用,以及礼貌约定。