ARTICLE · 1153739
【WorkBuddy应用】学术论文自动下载助手Skill(academic-fulltext-fetcher)
【WorkBuddy应用】学术论文自动下载助手Skill(academic-fulltext-fetcher)
研究者常需要批量获取中英文论文全文,但付费墙与低效的手动检索是痛点。本工具把「找源 → 下载 → 校验 → 归档 → 去重 → 出清单」固化为可复用流程,默认只走合法免费源,镜像源(Sci-Hub 类)默认关闭,仅在用户显式知情并开启时才作最后兜底。 合规优先:默认仅用 OpenAlex / Unpaywall / Semantic Scholar / DOAJ / Europe PMC / Crossref 出版社直链 / arXiv 预印本等合法免费源。 中文论文支持:中文题名经 OpenAlex 跨语言相关性检索解析出 DOI(已修复早期中文字符相似度恒为 0 的缺陷),再由合规源取 OA PDF;中文题名/作者输入均可用。 多形态输入:单篇 DOI、单篇 标题|作者|年份(或 标题_作者[_年份])、批量 .txt/.csv/.xlsx 列表。 自动校验:每个文件校验「开头为 %PDF、≥1KB、pypdf 可解析且页数≥1」,非 PDF(HTML 错误页/付费墙落地页)一律判失败并转备用源。 增量去重:以规范化 DOI 为去重键比对输出目录与历史 manifest,命中即跳过,支持反复运行不重复下载。 批量不中断:单批默认上限 20;单条失败单列记录,不影响其余。 抗封禁:每次请求前随机间隔(默认 1–3s)+ 单源连续失败熔断(默认 3 次停用)。 来源透明:manifest.csv 记录来源类型与 source_trust(合法OA=高 / 预印本=中 / 镜像源=低)。 脚本自带venv 自举:首次运行自动在技能目录内创建 .venv 并安装 requests / pypdf / openpyxl,之后复用。请使用受管 Python: .txt:每行一个 DOI,或 标题 | 第一作者 | 年份(竖线分隔);也支持 标题_第一作者[_年份](下划线分隔,适合中文题名);空行忽略。 .csv/.xlsx:自动识别含 doi / 题名 / 作者 / 年份 的列(中英文表头均可)。
配置优先级:默认值 < config.json < 命令行参数。 文件名规则:[年份_第一作者_标题前30字].pdf(非法字符替换为 _,空格转 _)。 manifest.csv(UTF-8 BOM,Excel 可直接打开)字段: 序号、标题、DOI、来源类型、来源URL、状态、本地路径、大小KB、页数、source_trust 状态:成功 / 已存在 / 失败(失败行「本地路径」列写入失败原因)。 source_trust:合法OA=高 / 预印本=中 / 镜像源=低。 镜像源默认关闭,仅当「全部合规渠道均未检出」且用户显式 --allow-mirror 并提供 --mirror-url 时才启用;命中即如实标注 source_trust=低。 CNKI(知网)/ 万方 / 维普等付费订阅库明确非合法 OA,脚本绝不抓取。 ChinaXiv(中科院预发布平台)搜索为前端 AJAX、PDF 直链与 OAI-PMH 对自动化访问返回 403 / 无权限,无法稳定自动化,需手动下载归档。 中文论文的可行合规路径:提供 DOI(或中文题名经 OpenAlex 解析出 DOI)→ 由 OpenAlex/Crossref/DOAJ 取 OA PDF。 首选 DOI 输入:仅凭标题检索依赖 Crossref / OpenAlex / arXiv 题录匹配;当某标题存在大量同名/垃圾记录(个别学术 API 有 spam 条目)时,可能解析不到正确 DOI 而如实标记「未检出」,绝不会错配下载垃圾 PDF。 付费墙后的订阅期刊若出版社未提供 OA 版本,合规渠道无法取得全文;除非用户显式开启镜像源,否则如实标记「失败」,绝不伪造。 出版社直链下载已统一使用浏览器 UA + 来源 Referer(兼容会拒绝非浏览器 UA 的站点,如机械工程学报 cjmenet)。 个别网络环境下 OpenAlex 等聚合源响应偏慢可能触发超时降级,脚本会自动转下一源。
学术论文自动下载助手技能应在研究人员需要自动化地从免费/合法来源查找、下载并归档学术论文全文PDF时使用。它解析论文线索(一个DOI、"标题 | 作者 | 年份"字符串,或 .txt/.csv/.xlsx 列表),按合规优先的顺序探测各渠道(OpenAlex、Unpaywall、Semantic Scholar、DOAJ、Europe PMC、Crossref 出版商链接、arXiv 预印本),下载并校验每个PDF,按规范化DOI去重,并输出带有来源信任级别的 manifest.csv。Sci-Hub 类的镜像源默认关闭,仅在找不到合法开放获取版本、且用户明确启用 allow_mirror 时,才作为最后手段介入。触发词包括"下载这篇论文全文""批量下文献""找开源全文""把 DOI 列表转PDF""academic fulltext""OA 下载""论文归档"。
WorkBuddy安装方法:将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_18c72336/academic-fulltext-fetcher。
一、它解决什么问题
二、核心特性
三、安装与运行
PY=”C:/Users/.workbuddy/binaries/python/versions/3.13.12/python.exe”SKILL=”C:/Users/.workbuddy/skills/academic-fulltext-fetcher”
四、用法示例
1) 单篇(DOI 或 标题_作者)
”$PY” ”$SKILL/scripts/fetch_papers.py” --input ”10.1038/s41586-021-03380-y” --output ”D:/Data/papers””$PY” ”$SKILL/scripts/fetch_papers.py” --input ”钢丝绳电磁检测信号的时空域理论分析_曹青松” --output ”D:/Data/papers”
2) 批量列表文件(.txt / .csv / .xlsx)
”$PY” ”$SKILL/scripts/fetch_papers.py” --input ”D:/Data/doi_list.txt” --output ”D:/Data/papers” --batch-limit 20
3) 启用镜像源兜底(仅合规未果时;需用户显式知情)
”$PY” ”$SKILL/scripts/fetch_papers.py” --input ”D:/Data/doi_list.txt” \--output ”D:/Data/papers” --allow-mirror --mirror-url ”https://sci-hub.se” --email you@example.com
常用参数
五、配置文件(可选,config.json)
{”output_dir”: ”D:/Data/papers”,”allow_mirror”: false,”mirror_url”: ””,”email”: ”you@example.com”,”batch_limit”: 20,”delay_min”: 1.0,”delay_max”: 3.0,”max_consec_failures”: 3,”timeout”: 30}
六、输出说明
七、合规边界(红线)
八、已知限制
九、文件结构
academic-fulltext-fetcher/├── SKILL.md技能元规则、用法、渠道与合规说明 ├── README.md # 本文件 ├── scripts/ │ └── fetch_papers.py # 主脚本(venv 自举、渠道探测、下载校验、去重、manifest、熔断、日志) └── references/ └── channels.md # 各渠道 API、信任等级、降级与合规详细参考
十、作者与许可
说明:本技能遵循「合规优先」原则,默认仅使用合法免费学术源,镜像源(Sci-Hub 类)默认关闭,仅作知情兜底。请在使用与分发时遵守所在机构与地区的合规要求。