Agent Skills
返回列表
学术论文 DOI 下载器

学术论文 DOI 下载器

开发编程 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_1e7bed2a/paper-downloader。

技能介绍

要解决什么问题

科研阅读里常见场景是:你只有论文的 DOI,期刊站点要机构订阅,而 Sci-Hub 页面又常套 DDoS-Guard,简单 curl 或 headless 爬虫往往拿不到 PDF,甚至直接被拦。

这个技能把「给 DOI → 得到本地 PDF」做成一条可重复的路径:在 Claude 对话里提供 DOI 即可触发;也可以走命令行或 Node 脚本做批量下载。

它怎么工作

整体是「虚拟显示器 + 真浏览器 + 页内下载」,而不是裸 HTTP 抓链接:

  • Xvfb:提供虚拟显示器,让 Chromium 以非 headless 方式跑,降低被识别为脚本的概率。
  • Playwright:加载 Sci-Hub 页面并完成跳转。
  • puppeteer-extra-plugin-stealth:弱化自动化指纹,配合绕过 DDoS-Guard。
  • in-page fetch:在已通过防护的页面上下文里用 fetch() 拉 PDF 字节,避免外链直链失效。

域名会按优先级尝试:sci-hub.sg → sci-hub.ru → sci-hub.st。默认写到 ~/research/papers/,文件名为 paper_{DOI_safe}.pdf,并检查 PDF 文件头。

边界与注意

  • DDoS-Guard 策略会变,失败时稍后重试往往有效。
  • 能否下到某篇还取决于 Sci-Hub 自身收录;部分 1990 年代文献可能缺失。
  • 需要网络能访问上述 Sci-Hub 域名;仅供科研教育用途。
  • 首次使用会安装 Node.js 依赖,环境需能跑 Playwright/Chromium。

使用场景

  • 写文献综述时有一串参考文献 DOI,需要批量下载到 `~/research/papers/` 便于本地阅读与标注
  • 在 Claude 对话里只提供了论文 DOI,希望助手自动触发下载而不是手动打开 Sci-Hub 页面
  • 复现实验或写报告前,要按项目 bibliography 把尚未落盘的 PDF 按 DOI 补全到同一目录
  • 已知 DOI 但机构未订阅该期刊,需要从 Sci-Hub 获取 PDF 副本用于精读或引用核对

适合人员

  • 撰写学位论文、需按 DOI 建立并维护本地论文库的研究生
  • 维护课题组 reading list、常把推荐文献 DOI 归档成 PDF 的研究助理或博后
  • 在 Claude 技能链中处理用户给出的 DOI 引用、需要自动下载落盘的集成开发者
  • 无机构订阅、习惯用 DOI 追踪文献并需要离线 PDF 的独立研究者