数据与分析 literature-downloadopen-accesscnkiinstitutional-accesspublisher-apipdf-retrievalnodejspython

Nature 文献合法下载器

通过开放获取、出版商 API 与机构授权通道,合法获取学术全文与 PDF。

FollowSkills 评估 · FSRS-2.0
不推荐
59/ 100 五分制 3.0 / 5
1 2 3 4 5 6
1信任安全17 / 25 · 3.4/5

该技能在文档层面展现出较强的安全意识:明确禁止绕过付费墙、DRM、验证码,不读取或导出 cookie、密码、localStorage 或 session 文件;API 密钥通过标准输入传入并存储为 0600 权限,避免在命令参数、日志、回复和 manifest 中回显;要求 SI 确认,避免意外下载;有 provider-friendly pacing 和 audit trail。然而,技能核心依赖用户已登录的浏览器和 CDP 代理,涉及对用户浏览器环境的操作,而权限控制、会话隔离和回滚机制并未完全明确;文档虽提及限制,但未提供具体实现细节,如浏览器控制的范围、限制和故障恢复。扣分理由:权限和隔离不完全,恢复机制欠缺。

2可靠稳定8 / 20 · 2.0/5

技能文档提供了详细的流程、状态码和失败处理,但关键脚本(如 batch_download.mjs、configure_school.py、browser_pdf_downloader.mjs)及其测试套件未被审查,无法验证其正确性。文档中明确要求 Node 22+和 Python 3,但未提供依赖列表和安装指南,可能导致环境缺失。此外,许多失败状态(如 verification_auto_failed, carsi_waiting_user)依赖浏览器状态,静态审查无法确认其实现。扣分理由:仅静态审查,未执行测试,且依赖的外部服务(CNKI、Web of Science)可能无法从中国大陆直接访问,可能影响可靠性。

3适用触发12 / 15 · 4.0/5

技能有清晰的目标受众(需要合法获取学术全文的用户)和场景(CNKI 机构访问、OA 获取、出版商 API),但能力边界和触发条件在文档中虽明确,实际触发仍需依赖用户输入和配置。中文支持良好,但核心功能依赖 CNKI、Web of Science 等海外服务,这些服务在中国大陆可能被限制或需要特定访问方式,会影响适应性。扣分理由:环境适配和可达性未得到验证,海外服务依赖可能影响在中国大陆的使用。

4规范维护12 / 15 · 4.0/5

技能具有完整的信息架构:SKILL.md、README.md、README_EN.md、references/ 和 data/。文档提供配置、安装、示例和边界说明,但缺少明确的已知限制(如对个别学校的兼容性)和版本/变更日志。发布者未验证,但文档中提供了明确的维护者信息,责任归属基本清晰。扣分理由:缺少已知限制和变更记录。

5有效结果6 / 15 · 2.0/5

技能声称能完成下载任务,但静态审查无法验证实际输出质量。文档提供了明确的输出格式(manifest.json、PDF、HTML等),且示例命令详细,但缺少对输出可用性的独立验证。扣分理由:静态审查无法确认输出是否直接可用,且依赖浏览器状态和外部服务,可能影响实际效果。

6证据核验4 / 10 · 2.0/5

文档提供了测试命令(python3 -m unittest discover -s tests/python 和 node --test tests/unit/*.test.mjs),但测试文件和结果未被审查,无法确认真实性。存在内部设计文档(docs/nature-downloader-reference-research-2026-07-15.md)提供了外部参考,但未看到具体验证数据。扣分理由:测试未执行,外部验证数据不足,只有静态文档证据。

证据充分度: 评估于 2026年8月7日 审查版本 dfd4e3bf8dc5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
使用前请注意
  • 技能依赖用户已登录的浏览器和 CDP 代理,务必确保用户明确同意并了解浏览器控制的范围,避免越权操作。
  • 核心功能依赖海外服务(如 CNKI、Web of Science),在中国大陆可能无法直接访问或需要特定网络环境,使用前应确认可达性。
  • API 密钥和登录状态属于敏感信息,务必遵循文档中的安全存储和传输要求,避免泄露。
  • 本静态审查未执行实际测试,实际可靠性、效果和安全性需进一步验证。
查看完整评分方法 →

这个 Skill 能做什么,适合哪些场景?

本技能提供一套完整的学术文献下载流程,支持开放获取(OA)、出版商 API(Elsevier、Springer Nature、IEEE)和机构授权(CNKI、Web Access)三种合法途径。它强调使用用户已有的图书馆登录态和 Chrome 会话,不绕过付费墙或 DRM。技能包含 SI(补充材料)确认门、API 优先与 OA 回退逻辑、状态分类清单以及批量下载脚本,确保下载过程合规、可审计。该技能属于 nature-skills 仓库中的一项,需 Node.js 22+ 和 Python 3 环境。

读取 DOI、标题或 PDF URL,识别语言与出版商;中文文献直接走 CNKI,英文文献优先尝试出版商 API,失败后自动检索 OA 源(PMC、Unpaywall、arXiv 等),OA 不可用时再走 Web Access 机构授权。运行批量下载脚本(batch_download.mjs),支持 --si/--no-si 参数,生成 manifest.json 记录下载状态、来源和校验信息。使用 configure_school.py 和 configure_credentials.py 管理配置与凭据,通过 Chrome CDP 复用用户登录态,自动处理验证码滑块等挑战,最终产出 PDF、HTML、CAJ 或 SI 文件到指定目录。

  1. 研究生需要下载 CNKI 上某篇中文论文的 PDF 时,可通过本技能利用学校图书馆的 CNKI 订阅权限。
  2. 研究人员想合法获取某篇 Elsevier 文章的全文,可用已注册的 API key 尝试 API 下载,失败后自动查找 OA 副本。
  3. 教师需要批量下载一组指定 DOI 的论文及其补充材料(SI),可运行批量脚本并统一询问 SI 需求。
  4. 用户没有机构订阅但目标论文是 OA,可通过 PMC 或 arXiv 等合法渠道直接下载 PDF。
  5. 当用户所在图书馆对某篇论文无全文权限时,技能会明确告知并避免无效重试。

这个 Skill 有哪些优点和局限?

优点
  • 严格遵循合法下载路径,不规避付费墙
  • 支持多种英文出版商 API 和 OA 源,自动回退
  • 提供批量下载和审计清单,适合多论文场景
  • 强调复用用户登录态,降低重复认证成本
  • 清晰的错误状态分类,便于诊断问题
局限
  • 依赖 Node.js 22+ 和 Python 3,环境要求较高
  • CNKI、Web Access 和 SI 下载需要 Chrome 远程调试配置,有一定技术门槛
  • 无内置学校预设,首次配置需用户提供资源 URL
  • 未明确提供测试套件或跨平台验证(macOS/Linux)
  • 部分出版商 API 需额外注册密钥,支持有限

如何安装这个 Skill?

从仓库安装本技能:使用 npx skills add Yuan1z0825/nature-skills --skill nature-downloader --agent codex --global --yes --copy 安装到 Codex,或手动将 skills/nature-downloader 目录复制到 ~/.claude/skills/ 或 ~/.codex/skills/。需确保 Node.js 22+ 和 Python 3 可用。安装后需按需配置图书馆资源 URL(configure_school.py)和出版商 API 密钥(configure_credentials.py)。

如何使用这个 Skill?

向 Agent 描述任务,例如:“下载这篇论文的 PDF:DOI 10.1007/s00122-021-03957-1,不要 SI”。或者直接运行批量脚本:node scripts/batch_download.mjs --dois "10.1007/s00122-021-03957-1" --no-si --out "<项目目录>"。首次使用需配置学校资源 URL(python3 scripts/configure_school.py url "https://library.example.edu")和必要的 API key(python3 scripts/configure_credentials.py set elsevier)。技能会引导你完成浏览器远程调试(chrome://inspect)以便复用登录态。

这个 Skill 与同类方案有什么区别?

与同仓库的 nature-academic-search 相比,本技能专注于下载,而后者主要做检索和引用分析;自然下载器可与其配合使用,但下载能力是独立的。

常见问题

这个技能是否合法?会绕过付费墙吗?
不绕过。它仅使用开放获取、出版商 API 和机构授权的合法途径,并明确要求用户提供本人登录态,禁止导出 cookies 或输入密码。
需要付费吗?
技能本身免费开源(Apache-2.0),但某些出版商 API 可能要求注册并可能产生费用,具体取决于出版商政策。
为什么需要登录 Chrome?
为了复用你已有的图书馆或数据库登录态,实现机构授权下载,同时避免反复登录和认证。
下载失败后如何处理?
技能会返回详细的状态码(如 oa_not_found、library_no_permission),并自动尝试其他合法途径;对于需要人工干预的情况会引导你完成验证。

同仓库的其他 Skills

均来自 Yuan1z0825/nature-skills

相关 Skills