---
name: Sci Download
slug: sci-download
category: Automation
description: Sci Download downloads academic paper PDFs from DOI, arXiv, PubMed Central, Semantic Scholar, Unpaywall, and CNKI sources. Use it when you need to route a paper identifier to the best available download source automatically.
github: "https://github.com/ShZhao27208/Aut_Sci_Write/tree/main/skills/sci-download"
language: Python
stars: 191
forks: 25
install: "npx degit https://github.com/ShZhao27208/Aut_Sci_Write/tree/main/skills/sci-download ~/.claude/skills/sci-download"
installs_to: ~/.claude/skills/sci-download
source_path: skills/sci-download/SKILL.md
collection_size: 9
category_size: 2032
collection_url: "https://dirskills.com/collections/ShZhao27208/Aut_Sci_Write"
added: 2026-09-06T05:19:32.669Z
last_synced: 2026-09-06T05:19:32.669Z
canonical_url: "https://dirskills.com/skills/sci-download"
---

# Sci Download

Sci Download downloads academic paper PDFs from DOI, arXiv, PubMed Central, Semantic Scholar, Unpaywall, and CNKI sources. Use it when you need to route a paper identifier to the best available download source automatically.

**Install:**

```bash
npx degit https://github.com/ShZhao27208/Aut_Sci_Write/tree/main/skills/sci-download ~/.claude/skills/sci-download
```

## README

# Sci-Download — Unified Paper Download Skill

Academic paper PDF download tool with intelligent DOI routing across 8 sources.

## Trigger Phrases
- "下载这篇论文 10.1038/s41586-023-06600-9"
- "download paper by DOI"
- "从 arXiv 下载 2301.07041"
- "下载知网论文"

## Capabilities

| Source | Type | Auth | Coverage |
|--------|------|------|----------|
| **Elsevier/ScienceDirect** | API | API Key | Elsevier journals |
| **Springer Nature** | API | API Key | Springer/Nature OA |
| **IEEE Xplore** | API | API Key | IEEE/IET |
| **arXiv** | Direct | None | Physics/CS/Math preprints |
| **Unpaywall** | API | Email only | Any DOI → OA version |
| **Semantic Scholar** | API | None | Cross-source OA aggregation |
| **PubMed Central** | Direct | None | Biomedical OA |
| **CNKI (知网)** | FSSO/WebVPN | University account | Chinese journals/theses |

## Auto-Routing

The CLI automatically selects the source based on identifier format:

```
10.1016/... → Elsevier
10.1038/... → Springer Nature
10.1007/... → Springer Nature
10.1109/... → IEEE Xplore
2301.07041  → arXiv
PMC1234567  → PubMed Central
12345678    → PubMed (PMID)
中文关键词   → CNKI
Other DOI   → Unpaywall → Semantic Scholar (waterfall)
```

## Usage

Main script: `./sci_download.py`

```bash
# Auto-route by DOI prefix
python skills/sci-download/sci_download.py "10.1038/s41586-023-06600-9"

# Download arXiv paper (auto-detected)
python skills/sci-download/sci_download.py "2301.07041"

# Force a specific source
python skills/sci-download/sci_download.py "10.1021/acs.nanolett.3c00123" --source unpaywall

# Search papers (requires --source)
python skills/sci-download/sci_download.py --search "perovskite solar cells" --source semantic_scholar --limit 5

# Search arXiv
python skills/sci-download/sci_download.py --search "large language model" --source arxiv --limit 5

# Show config and API key status
python skills/sci-download/sci_download.py --status

# Custom output directory
python skills/sci-download/sci_download.py "2301.07041" --output-dir ./papers
```

## Configuration

API keys are stored in the unified `~/.aut_sci_write/.env` (auto-created on first use).
Non-secret settings (school, output_dir, proxy) are in `~/.aut_sci_write/sci-download/config.json`.

### Set API Keys

Edit `~/.aut_sci_write/.env` directly or use the config helper:
```bash
cd skills/sci-download
python -c "from config import update_config; update_config('elsevier_api_key', 'YOUR_KEY')"
python -c "from config import update_config; update_config('springer_api_key', 'YOUR_KEY')"
python -c "from config import update_config; update_config('ieee_api_key', 'YOUR_KEY')"
python -c "from config import update_config; update_config('unpaywall_email', 'you@email.com')"
```

### Key Sources

| Service | URL | Notes |
|---------|-----|-------|
| Elsevier | https://dev.elsevier.com/ | Free, Article Retrieval API |
| Springer | https://dev.springernature.com/ | Free, OA only |
| IEEE | https://developer.ieee.org/ | Free tier |
| Unpaywall | N/A | Just provide email |

### Free Sources (no key needed)
- arXiv, Semantic Scholar, PubMed Central

### CNKI Setup

```bash
python skills/sci-download/cnki_download.py set-mode fsso
python skills/sci-download/cnki_download.py status
# Login at https://fsso.cnki.net → export cookies → save to ~/.aut_sci_write/webvpn_cookies.json
```

## Dependencies

```
requests, pycryptodome, beautifulsoup4
```

---
## © License & Copyright
**Aut_Sci_Write** — Autonomous Scientific Writer

- **Author**: Shuo Zhao
- **License**: MIT License
- **Copyright**: © 2026 Shuo Zhao. All rights reserved.
