Skip to content
Agentmart
Submit a tool

download-fulltext-pdf

当用户明确要求"下载文献全文"或"获取论文PDF"时使用。通过 DOI 号下载学术论文全文 PDF,支持 arXiv、Sci-Hub、Unpaywall、期刊官网等多源策略。⚠️ 不适用:用户只是想解析或处理已有的 PDF 文件(应使用 pdf skill)、只是想搜索论文信息而无需下载全文、没有提供…

Skill by Bensz Conan

IndexedMIT★ 50
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/huangwb8-download-fulltext-pdf

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

当用户明确要求"下载文献全文"或"获取论文PDF"时使用。通过 DOI 号下载学术论文全文 PDF,支持 arXiv、Sci-Hub、Unpaywall、期刊官网等多源策略。⚠️ 不适用:用户只是想解析或处理已有的 PDF 文件(应使用 pdf skill)、只是想搜索论文信息而无需下载全文、没有提供 DOI/标题/BibTeX 任何标识符。

Use cases: documents, research

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md and code. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 5

  • api.unpaywall.org · found in code
  • arxiv.org · found in code
  • codeload.github.com · found in install command
  • doi.org · found in code
  • sci-hub.se · found in code

Files it touches

  • ~/.claude/skills/download-fulltext-pdf

What's inside

Skill name
download-fulltext-pdf
Description
当用户明确要求"下载文献全文"或"获取论文PDF"时使用。通过 DOI 号下载学术论文全文 PDF,支持 arXiv、Sci-Hub、Unpaywall、期刊官网等多源策略。⚠️ 不适用:用户只是想解析或处理已有的 PDF 文件(应使用 pdf skill)、只是想搜索论文信息而无需下载全文、没有提供 DOI/标题/BibTeX 任何标识符。
License
MIT
Metadata
author: Bensz Conan
Instructions
475 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Instructions call the network

Files (7)

  • CHANGELOG.md
  • README.md
  • SKILL.md
  • config.yaml
  • download_pdf.py · scripts/
  • validate_input.py · scripts/
  • verify_pdf.py · scripts/

SKILL.md (first lines)

# 下载文献全文 PDF

## 目标

当用户明确要求"下载文献全文"或"获取论文PDF"时使用。通过 DOI 号下载学术论文全文 PDF,支持 arXiv、Sci-Hub、Unpaywall、期刊官网等多源策略。⚠️ 不适用:用户只是想解析或处理已有的 PDF 文件(应使用 pdf skill)、只是想搜索论文信息而无需下载全文、没有提供 DOI/标题/BibTeX 任何标识符。

## 流程

### 输入

输入至少包含 DOI、标题或 BibTeX 之一,并指定输出目录/文件路径;可选输入包括来源开关、Unpaywall 邮箱、验证阈值和覆盖策略。输出路径必须存在或可创建且可写,触发边界以本 Skill 的 `## 目标` 为准。

### 执行步骤

#### 核心工作流

##### 1. 输入验证与规范化

**必需参数**:
- `doi`: DOI 号(如 `10.1038/nature09492`)
- `output_path`: 输出目录或完整 PDF 文件路径

**可选参数**:
- `title`: 论文标题(作为 DOI 的备选)
- `bibtex`: BibTeX 条目(包含 DOI 或标题信息)

**验证逻辑**:
```python
# 由 scripts/validate_input.py 处理
- DOI 格式规范化(移除多余空格、补全前缀)
- 输出路径检查(目录存在性、写入权限)
- 至少提供一种标识符(DOI/title/bibtex)
```

##### 2. 多源下载策略

**优先级顺序**(按成功率和速度排序):

| 优先级 | 数据源 | 优势 | 局限 | 触发条件 |
|--------|--------|------|------|----------|
| **1** | arXiv | 稳定可靠 | 仅限预印本论文 | 检测到 arXiv ID(如 `10.48550/arXiv.*`) |
| **2** | Sci-Hub | 覆盖较广、速度快 | 可能有 CAPTCHA | 非 arXiv 或 arXiv 失败 |
| **3** | Unpaywall | 合法开放获取(OA) | 取决于论文是否 OA | Sci-Hub 失败时兜底 |
| **4** | 期刊官网 | 合法渠道 | 常需订阅/登录 | 最后兜底 |

**策略执行**:
```python
# 由 scripts/download_pdf.py 实现
1. 如 DOI 可解析出 arXiv ID → 优先 arXiv
2. 尝试 Sci-Hub(通过 scihub 库)
3. 尝试 Unpaywall(合法 OA 获取)
4. 尝试 DOI 落地页并猜测常见 PDF 路径(期刊官网兜底)
```

##### 3. 下载后验证

**必需检查**(由 `scripts/verify_pdf.py` 处理):
- [ ] 文件大小 > 0 且非 HTML 页面
- [ ] PDF 文件头正确(`%PDF-`)
- [ ] 文件可被 PyPDF2 解析

**失败处理**:
- 验证失败 → 记录错误 → 尝试下一个数据源
- 所有源失败 → 返回详细错误报告

##### 4. 输出格式

**成功时**:
```markdown
✅ 成功下载论文全文

**来源**: Sci-Hub
**DOI**: 10.1038/nature09492
**文件**: /path/to/paper.pdf
**大小**: 2.3 MB
```

**失败时**:
```markdown
❌ 无法下载论文全文

**尝试过的源**:
- Sci-Hub: CAPTCHA 验证失败
- arXiv: 非 arXiv 论文
- Unpaywall: 无开放获取版本
- 期刊官网: 未找到直接 PDF 链接

**建议**:
1. 手动访问 Sci-Hub 并完成 CAPTCHA 验证
2. 检查 DOI 是否正确
3. 尝试通过期刊官网获取
```

#### AI 动态判断

AI 需要动态处理的场景:

| 场景 | 处理方式 |
|------|----------|
| **CAPTCHA 检测** | 识别错误消息中的 "captcha" 关键词 → 切换数据源 |
| **网络超时** | 增加重试次数(最多 3 次)或切换源 |
| **404/未找到** | 直接切换下一个源,不重试 |
| **文件损坏** | 删除已下载文件,尝试下一个源 |
| **arXiv 检测** | DOI 中包含 arXiv ID → 优先使用 arXiv 源 |

#### 硬编码操作(scripts/)

##### scripts/validate_input.py

输入验证与规范化脚本:

```python
import sys
import re
from pathlib import Path

def normalize_doi(doi: str) -> str:
    """规范化 DOI 格式"""
    doi = doi.strip()

From huangwb8/skills, MIT.

More from huangwb8/skills

Compare and alternatives

    Featured in

    Signals

    Stars
    50
    Forks
    8
    Open issues
    0
    Last commit (this folder)
    Sep 5, 2026 (1 month ago)
    Last release
    Oct 17, 2026 (10 days ago)

    From GitHub (fetched Oct 24, 2026).

    Details

    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from Bensz Conan

    Cite this page

    download-fulltext-pdf skill. Agent Mart. https://agentmart.dev/skills/huangwb8-download-fulltext-pdf (last updated 2026-10-24)