Astervolans/dsh-literature-search ↗★ 1
dsh-literature-search
Literature search for DeepSeek Harness over the official PubMed NCBI E-utilities API (esearch/esummary/efetch/elink) and Google Scholar (SerpApi engine, or direct HTML parsing because Google publishes no Scholar API). Zero runtime dependencies. 适合科研写作场景下快速检索和汇总文献的用户;可配置接口速率与鉴权参数。
같은 패키지 이름의 다른 저장소
설치
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Astervolans/dsh-literature-searchConfiguration
The literature-search row in cordis.patch.yml:
| Key | Default | Meaning |
|---|---|---|
enabled | true | Whether the plugin registers its tools |
pubmedEnabled | true | Whether the three pubmed_* tools are registered |
pubmedBaseUrl | https://eutils.ncbi.nlm.nih.gov/entrez/eutils | E-utilities root |
pubmedTool / pubmedEmail | dsh-literature-search / empty | The tool / email parameters sent on every request (required by NCBI's usage policy) |
pubmedApiKeyEnv / pubmedApiKey | NCBI_API_KEY / empty | Key reference / inline key |
pubmedRateLimitMs | 0 | Minimum interval between requests; 0 = 350 ms without a key, 110 ms with one |
scholarEnabled | true | Whether the two scholar_* tools are registered |
scholarProvider | auto | auto (SerpApi when a key exists, else HTML) / serpapi / html |
scholarBaseUrl / scholarSerpApiBaseUrl | Official Google / SerpApi URLs | Can point at a self-hosted proxy |
scholarSerpApiKeyEnv / scholarSerpApiKey | SERPAPI_API_KEY / empty | Key reference / inline key |
scholarHl | en | Google Scholar interface language |
scholarRateLimitMs | 0 | 0 = 2500 ms for HTML, 250 ms for SerpApi |
defaultMaxResults / maxResultsCap | 10 / 50 | Count when the model does not specify / the maximum requestable |
abstractMaxChars | 600 | Per-paper abstract or snippet limit; 0 = omit abstracts |
requestTimeoutMs / maxRetries / retryBackoffMs | 30000 / 3 / 1000 | Per-request timeout, retry count and backoff base (429/5xx are retried, honouring Retry-After) |
toolTimeoutMs | 120000 | Budget for one tool call |
userAgent | empty (built-in Chrome UA) | Overrides the default UA |
promptGuidance / promptOrder | true / 155 | Whether the system-prompt paragraph is registered, and its order |
Usage examples
On the model side, plain language is enough:
Use pubmed_search for "base editing" reviews published after 2020, take 5, then use pubmed_related on the first one to find 5 related papers.
Use scholar_search to find the 10 most-cited "CRISPR base editing" papers, then pass the first resultId to scholar_cite for BibTeX.
Example output (pubmed_paper 33301246):
PubMed record: Safety and Efficacy of the BNT162b2 mRNA Covid-19 Vaccine.
Safety and Efficacy of the BNT162b2 mRNA Covid-19 Vaccine.
2020 · The New England journal of medicine · vol 383 · no 27 · pp 2603-2615
Polack, Fernando P, Thomas, Stephen J, Kitchin, Nicholas et al. (29 authors)
DOI: 10.1056/NEJMoa2034577 · PMID: 33301246 · PMC: PMC7745181
https://pubmed.ncbi.nlm.nih.gov/33301246/
Types: Clinical Trial, Phase III, Journal Article, Randomized Controlled Trial
MeSH: BNT162 Vaccine, COVID-19, SARS-CoV-2, ...
Abstract: BACKGROUND: ...