Files
wehub-resource-sync 9b395f5cc3
E2E Headed Chrome / e2e-headed (macos-15) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (ubuntu-latest) (push) Has been cancelled
E2E Headed Chrome / e2e-headed (windows-latest) (push) Has been cancelled
CI / build (macos-latest) (push) Has been cancelled
CI / build (ubuntu-latest) (push) Has been cancelled
CI / build (windows-latest) (push) Has been cancelled
CI / unit-test (push) Has been cancelled
CI / bun-test (push) Has been cancelled
CI / adapter-test (push) Has been cancelled
CI / smoke-test (macos-latest) (push) Has been cancelled
CI / smoke-test (ubuntu-latest) (push) Has been cancelled
Security Audit / audit (push) Has been cancelled
Build Chrome Extension / build (push) Has been cancelled
Trigger Website Rebuild (Docs Updated) / dispatch (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:39:48 +08:00

77 lines
3.3 KiB
Markdown

# PubMed
**Mode**: 🌐 Public · **Domain**: `pubmed.ncbi.nlm.nih.gov`
## Commands
| Command | Description |
|---------|-------------|
| `opencli pubmed search` | Search PubMed articles with filters |
| `opencli pubmed article` | Get article metadata and abstract by PMID |
| `opencli pubmed author` | Search articles by author and affiliation |
| `opencli pubmed citations` | List cited-by or reference relationships |
| `opencli pubmed related` | Find related PubMed articles |
| `opencli pubmed clinical-trial` | Search PubMed clinical trials with a preset query profile |
| `opencli pubmed review` | Search PubMed review articles with a preset query profile |
| `opencli pubmed mesh` | Search articles by MeSH term |
| `opencli pubmed journal` | Search articles by journal name |
## Usage Examples
```bash
# Search articles
opencli pubmed search "machine learning cancer" --year-from 2023 --has-abstract --limit 10
# Search by author
opencli pubmed author "Smith J" --position first --affiliation Harvard
# Read one article by PMID
opencli pubmed article 37780221 --full-abstract
# Citation relationships
opencli pubmed citations 37780221 --direction citedby --limit 20
opencli pubmed citations 37780221 --direction references --limit 20
# Related articles with scores
opencli pubmed related 37780221 --score
# Clinical trial preset
opencli pubmed clinical-trial "breast cancer" --year-from 2020 --free-full-text --limit 10
# Review preset
opencli pubmed review "immunotherapy" --year-from 2021 --has-abstract --limit 10
# Search by MeSH term
opencli pubmed mesh "Neoplasms" --major --limit 10
# Search by journal
opencli pubmed journal "Nature" --year-from 2020 --sort date --limit 10
```
## Output
Listing commands return `pmid`, `title`, `authors`, `journal`, `year`, `article_type`, `doi`, and `url` where available. The `pmid` column is the stable identifier for `opencli pubmed article <pmid>`.
`article` now returns a single structured row: `pmid`, `title`, `authors`, `journal`, `year`, `date`, `article_type`, `language`, `doi`, `pmc`, `affiliations`, `grants`, `mesh_terms`, `keywords`, `abstract`, and `url`. By default the abstract is truncated for readability; pass `--full-abstract` when you need the complete abstract text.
`clinical-trial` is a preset over the same E-utilities search path. It always adds the PubMed `Clinical Trial[PT]` and `humans[mesh]` filters, and optionally adds `free full text[sb]`.
`review` is the parallel preset for literature overviews. It always adds the PubMed `Review[PT]` filter, and can optionally require abstracts with `--has-abstract`.
## Prerequisites
- No browser required. Commands use the NCBI E-utilities public API.
- Optional: set `NCBI_API_KEY` for the higher NCBI rate limit.
- Optional: set `NCBI_EMAIL` so NCBI can identify your tool usage.
```bash
export NCBI_API_KEY=YOUR_API_KEY
export NCBI_EMAIL=you@example.com
```
## Failure Semantics
- Invalid `pmid`, `limit`, year, `sort`, `position`, `direction`, MeSH `term`, `journal`, `clinical-trial` query, or `review` query values fail before network access with `ArgumentError`.
- HTTP errors, fetch failures, invalid JSON, E-utilities error envelopes, and partial summary payloads fail with `CommandExecutionError`.
- Valid no-result searches and missing relationships fail with `EmptyResultError`.