litkit-dsh — Unified Academic Literature Search Toolkit
   
Search, download, verify, and export scholarly literature from 25+ sources with one CLI. Bulk retrieval with deduplication, citation audit for manuscripts, a multi-strategy PDF download chain, and agent-client integrations (MCP + DSH).
> Distributed on GitHub as litkit-search — import name and CLI stay > litkit-dsh. PyPI publishing is planned.
---
Features
- 25 academic sources — arXiv, PubMed, Crossref, Semantic Scholar, OpenAlex,
DBLP, IEEE Xplore, Scopus, Web of Science, SSRN, bioRxiv, ChemRxiv, Zenodo, DOAJ, Scite, OpenCitations, ACM, BASE, CORE, Dimensions, Lens, Springer, ORCID, and more. Most work out of the box with zero API keys.
- Bulk retrieval with deduplication and ranked results.
- Citation audit (
litkit-dsh verify) — check a manuscript's (docx/pdf)
references against the sources.
- PDF download chain — open-access first, then institutional access, then
browser-assisted and shadow-library fallbacks (see [Legal notice](#legal-notice)).
- Export to BibTeX / RIS / JSON.
- Workflows —
topic-search,deep-search,bulk-review. - Chinese literature search (
zh-search). - Agent-ready — MCP server for any agent client, plus a DeepSeek Harness
(dsh) plugin adapter.
Quick start
# 1. Install (Python >= 3.11) — GitHub-only distribution (PyPI planned)
pip install "litkit-search @ git+https://github.com/bpc-oss/litkit-search.git"
# or from source: git clone https://github.com/bpc-oss/litkit-search && pip install .
# 2. (Optional) Configure API keys — most sources need none
litkit-dsh sync-keys # interactive: point to a keys file
# 3. Search
litkit-dsh search "deep learning drug discovery" --limit 20 --export ris
# 4. Run a citation audit on a manuscript
litkit-dsh verify paper.docx -o report/
# 5. Check your environment
litkit-dsh doctorSee [docs/install.md](docs/install.md) for platform-specific guides (Windows / macOS / Linux) and [docs/configuration.md](docs/configuration.md) for the full configuration reference.
Configuration
- Zero-key default: arXiv, PubMed, Crossref, Semantic Scholar, OpenAlex,
DBLP, DOAJ, Zenodo, bioRxiv and most other sources work without keys.
- Optional keys (enable higher rate limits / richer metadata): Scopus, WoS,
OpenAlex, Semantic Scholar, PubMed — configure via litkit-dsh sync-keys or a .env file (copy .env.example and fill in).
- Institutional access: set
INSTITUTIONAL_PROXY/INSTITUTIONAL_DIRECT
in .env to use your university's EZProxy or on-campus/VPN access for publisher PDFs. You are responsible for using only access you are entitled to.
- Chinese literature (
zh-search): requires institutional library access
(e.g. SZU library); see [docs/configuration.md](docs/configuration.md).
CLI overview
| Command | Purpose |
|---|---|
litkit-dsh search | Multi-source search with dedup |
litkit-dsh download | Search + download PDFs |
litkit-dsh download-suppl | Download supplementary materials |
litkit-dsh verify | Check references in a manuscript |
litkit-dsh workflow citation-audit | Citation audit workflow |
litkit-dsh workflow bulk-review | Bulk review by topic |
litkit-dsh topic-search / deep-search | Research expansion |
litkit-dsh zh-search | Chinese literature search |
litkit-dsh sources | List all 25 sources + status |
litkit-dsh export | Export results (BibTeX/RIS/JSON; conversion in progress) |
litkit-dsh doctor | Environment self-check |
Agent integration
litkit-dsh speaks MCP, so any MCP-capable agent client can use it:
- MCP server (
litkit-mcp): works with Claude Desktop, Codex, Cursor,
OpenCode, DeepSeek Harness, and others. See [docs/mcp.md](docs/mcp.md).
- DeepSeek Harness plugin: install the Cordis adapter into any dsh profile.
See [docs/dsh-plugin.md](docs/dsh-plugin.md).
# dsh install (GitHub-only distribution):
dsh plugin --profile web add github:bpc-oss/litkit-searchLegal notice
This project includes download strategies that may access paywalled content:
- Institutional access: uses your own university credentials/VPN. Only use
access you are entitled to, and respect your institution's terms.
- Shadow-library fallbacks (Sci-Hub / LibGen / Anna's Archive): included as
a declared, optional download path. Availability varies by network, and accessing paywalled content this way may violate publisher terms or local law in your jurisdiction. Use at your own risk; the maintainers assume no liability. These paths are only engaged as a last-resort fallback and can be disabled via configuration.
Roadmap
- Full BibTeX/RIS export conversion (
litkit-dsh export). - More sources and per-source rate-limit tuning.
- Additional agent adapters and MCP resource/prompt endpoints.
- Lazily-loaded/opt-in DNS resolution for shadow-library domains.
Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md). Adding a new source? Follow the conventions in [src/litkit-dsh/sources/](src/litkit-dsh/sources/) — each source is a self-contained module registered in the source registry.
License
[MIT](LICENSE) © 2026 bpshil. Changelog: [CHANGELOG.md](CHANGELOG.md).