--- name: sci-download description: > 学术论文 PDF 下载。支持 8 个数据源:Elsevier、Springer Nature、IEEE Xplore、 arXiv、Unpaywall、Semantic Scholar、PubMed Central、知网(CNKI)。 自动根据 DOI 前缀路由到对应数据源,未知 DOI 自动尝试 Unpaywall → Semantic Scholar。 author: Shuo Zhao license: MIT copyright: © 2026 Shuo Zhao. All rights reserved. triggers: - 下载论文 - 下载文献 - download paper - download PDF - DOI - 10.1016 - 10.1038 - 10.1007 - 10.1109 - arXiv download - ScienceDirect - Elsevier - Springer - IEEE - Unpaywall - PubMed Central - PMC - 知网 - CNKI --- # 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.