dsh-pubmed
文献研究工具集,注册 26 个模型工具,覆盖 PubMed、Europe PMC、OpenAlex、PubTator3 与 Semantic Scholar:字段语法检索、ID 互换、残缺引文定位、引文格式化、MeSH 与相关文献追溯、PubTator 生物概念归一与关系查询、Europe PMC 与 Semantic Scholar 翻页检索、全文获取,以及开放获取 PDF 发现(可选下载)。统一检索会跨源去重,排序依次按跨源命中、相关度、被引数;会话知识图谱带 PubTator 概念富集,可提交为持久用户图谱并渲染为 Mermaid。多数数据源无需密钥。
安装
dsh plugin --profile web add dsh-pubmed
沙箱测试结果
| 阶段 | 结果 |
|---|---|
| 1 安装 | ✗ |
| 2 列装 | — |
| 3 挂载 | — |
| 4 启动 | — |
dsh: initialized profile web at /home/node/.dsh/profiles/web四阶段在隔离沙箱里跑:安装(有网)→ 列装 → 挂载 → 启动(后三步断网)。
README
dsh-pubmed
简体中文 | [English](README_EN.md)


给科研文献检索装上"实体级 + 证据链 + 全文可达"引擎:PubMed / Europe PMC / OpenAlex / PubTator3 / Semantic Scholar
五源一体的 DeepSeek Harness(DSH)插件,26 个原生模型工具,无 MCP 客户端、无付费代理、纯 JS 免构建。
你只管用自然语言提需求——"帮我找 XX 的文献,能下载的下载下来"——agent 会选对工具、串起流程、把结果摆到你面前。
检索结果自带摘要、被引数与开放获取标记,全文可达。
目录
- [🚀 安装(2 分钟上手)](#-安装2-分钟上手)
- [为什么需要它](#为什么需要它)
- [六大功能模块](#六大功能模块)
- [典型场景串联](#典型场景串联)
- [配置](#配置)
- [无代理网络(大陆直连)](#无代理网络大陆直连)
- [给 Agent 的说明](#给-agent-的说明)
- [附录:26 工具速查](#附录26-工具速查)
- [安装与卸载(完整)](#安装与卸载完整)
- [版本历史](#版本历史)
- [要求](#要求)
- [License 与致谢](#license-与致谢)
🚀 安装(2 分钟上手)
前置:先装 Node.js ≥ 20,再全局安装 DSH CLI(推荐,装完直接用 dsh 命令):
npm install -g @deepseek-ai/dsh dsh web # 启动 DSH web 环境(未全局安装也可临时用 npx @deepseek-ai/dsh web)
启动后,一条命令安装本插件:
# 一条命令安装(官方 CLI,推荐) dsh plugin --profile web add dsh-pubmed@latest # 或从 GitHub:dsh plugin --profile web add github:aiyacharley/dsh-pubmed # 或本机源码:dsh plugin --profile web add /path/to/dsh-pubmed
装完重启 DSH,pubmed_* 工具出现在所有会话。自检一条:
pubmed_spell_check({ query: 'microbiom' }) # → corrected: "microbiome"
零配置即可用;更多安装方式见文末[安装与卸载(完整)](#安装与卸载完整)。
为什么需要它
做文献调研时,你大概率遇到过这几个痛点:
痛点 · 传统做法 · 结果
同义词漏检 · 搜 DOX 搜不到"阿霉素"、搜 HER2 漏掉 ERBB2 · 漏掉一半相关文献
噪音混入 · 关键词共现把"只是顺便提到"的文章也搜进来 · 读十篇只有一篇相关
证据链断裂 · 看到"某药可治某病"却不知道哪些文献支撑 · 不敢放心引用
全文难拿 · 有 OA 副本却要挨个网站找 PDF · 时间耗在搬运上
多平台割裂 · PubMed / EBI / Google Scholar 来回切、手工去重 · 碎片化、不可累积
dsh-pubmed 用 实体归一化、关系语义、证据回查、跨源去重、OA 全文直达 逐一回应这些痛点。
它不替你读文献,而是让你读到的每一篇都更可能是对的、且拿得到全文。
六大功能模块
按模块组织,因为大多数时候你在 agent 场景下使用:你用自然语言说需求,agent 自动选择和串联工具。
每个模块给出:你怎么说 → agent 做什么 → 你得到什么。
模块一:文献检索 —— "这个方向到底有什么"
你说:"帮我调研 gut microbiome 与代谢组学的研究"、"找 CLDN5 和失眠相关的文献"
agent 做什么:把你的说法归一到权威概念("阿霉素" = MESH:D004317,免疫同义词/缩写/语种差异),同时查 PubMed + Europe PMC + OpenAlex 三个库,按 DOI/PMID/标题去重合并成一份列表。每篇自带摘要、被引数、是否开放获取(🟢OA);语义检索模式直达"支持某关系"的文章,而不是关键词碰巧共现。
你得到:一份去重的文献列表——摘要 + 被引数 + OA 标记 + 多平台命中排最前;还能按年份过滤、按被引排序。
模块二:全文获取 —— "把论文拿下来读"
你说:"把这几篇能免费下载的 PDF 下载下来"、"这篇文章全文讲了什么"
agent 做什么:优先取 PMC 结构化全文(分节正文,长文自动分页);不在 PMC 的走 OA 三源聚合(Unpaywall 权威 OA 状态 + Europe PMC + OpenAlex)找 PDF 直链,经你确认后批量下载到本地(默认 ~/.dsh/dsh-pubmed-pdfs/,也可指定工作区目录)。出版社的"HTML 拦截页"会被自动识破并跳到下一个候选链接。
你得到:可直接引用的分节全文(含摘要与各章节),或落在本地磁盘的真 PDF 文件(文件名用 PMID/DOI,方便辨认)。
模块三:证据与关系 —— "X 和 Y 有什么关系"
你说:"二甲双胍能治什么病?给我证据文献"、"CLDN5 和血脑屏障损伤什么关系"
agent 做什么:用 PubTator3 的全库 curated 关系网络拉出关系骨架(每条带文献数),再对目标关系回查支持文献 PMIDs;也能做布尔组合(@药物 AND @疾病)检验关联强度。
你得到:关系列表(treat/cause/inhibit/...,每条带证据数)+ 每条关系的支持文献 PMIDs——可审计、可引用。
模块四:知识图谱 —— "帮我把课题文献管理起来"
你说:"把这个课题的文献管理起来"、"画一张图谱看看"、"这轮先存下来"
agent 做什么:每轮检索的文献自动并入当前课题图谱(关键词 + 带权威 ID 的实体概念 + 关系边),多轮累积、按课题隔离;随时生成 NPG 配色可视化卡片;满意后一键持久化到个人图谱(跨会话保留)。
你得到:一张图看清概念脉络、关系证据、覆盖方向——从"平铺的文献列表"变成"可累积的知识资产"。
模块五:跨领域与影响力 —— "不止 PubMed"
你说:"这个方向有预印本吗"、"这篇被引多少"、"有没有类似的文章推荐"
agent 做什么:Europe PMC 补预印本/专利/非期刊源;Semantic Scholar 补被引数、论文推荐、标题精确匹配和全领域检索(不限于生物医学)。
你得到:更宽的覆盖面 + 影响力数据 + 相似文献推荐。
模块六:引用与整理 —— "帮我整理引用"
你说:"这篇按 APA 和 BibTeX 引用"、"这个 DOI 对应的 PMID 是什么"、"参考文献里这条缺 ID 帮我找"
agent 做什么:五种引用格式一步生成;DOI/PMID/PMCID 互转;残缺引文(期刊/年份/卷/页/作者)反查 PMID;MeSH 词表与拼写纠正。
你得到:可直接粘贴的引用与准确的文献 ID。
典型场景串联
场景一:课题调研全流程(真实案例:CLDN5 × 失眠)
以下是插件实测的真实执行记录。
你:"帮我调研 CLDN5、ARRB2、NPRL2 三个基因与失眠相关的研究"
① agent 归一实体 → ② 语义检索发现:
⭐ PMID 37928369(2023)失眠患者血清 Claudin-5/ZO-1 水平的先导临床研究
—— ZO-1 显著升高且与失眠严重度正相关(直接证据!)
你:"哪些能免费下载?"
③ 检索结果标 🟢OA → 批量查 OA 链接 → 4 篇里 3 篇开放获取
你:"下载下来"
④ PDF 落盘(PMID37928369.pdf 3.4MB ✓)
⑤ 闭源的那篇走 PMC 结构化正文继续精读
全程你只说了 4 句话。
场景二:药物重定位 / 机制假设扫描
"TP53 和哪些疾病有关系?"→ 关系骨架全谱 → "其中哪些是冷门方向?"→ 命中个位数的关联 → "给这些方向找证据文献" → 语义检索钻取 → 图谱记录
场景三:选题新颖性检验
"这两个概念之间有关联文章吗?"→ 布尔检索命中个位数 = 可能是空白方向 → "双平台交叉确认" → 统一检索去重 → 结论可信度倍增
配置
bundle 运行时零配置即可用。可选配置建议写进 profile 的 patch 行 config(比环境变量更稳):
# 你的 profile 文件,如 C:\Users\<你>\.dsh\profiles\<profile>\cordis.patch.yml
# 注意:补丁条目是【裸对象 { id, config }】,不要用 `- override:` 包装。
- id: pubmed
config:
NCBI_API_KEY: '<可选:NCBI API key>'
# AUTO_GRAPH: false # 默认 true:检索到的文献自动进知识图谱
# PUBTATOR: false # 默认 true:实体概念层
# S2_ENABLED: false # 默认 true:Semantic Scholar 工具
# UNPAYWALL_EMAIL: '<可选:Unpaywall 联系邮箱>'
# PDF_DIR: 'D:/papers' # 可选:PDF 下载目录(默认 ~/.dsh/dsh-pubmed-pdfs/)
配置项 · 默认 · 作用
NCBI_API_KEY · 无 · NCBI 限流提速(10 req/s)
AUTO_GRAPH · true · 检索到的文献自动并入知识图谱
PUBTATOR · true · 实体概念层(PubTator 概念 + curated 关系)
PUBTATOR_EDGE_EVIDENCE · true · 关系边附证据文献
PUBTATOR_RELATION_PROBE / _ARTICLES · 3 / 8 · 关系探测预算
EUROPEPMC_ENABLED / S2_ENABLED · true · 对应模块开关
S2_API_KEY · 无 · Semantic Scholar 免费key:1 req/s(无 key 共享 100 req/5min)
UNPAYWALL_EMAIL · 内置地址 · Unpaywall 联系邮箱(须真实邮箱)
PDF_DIR / DSH_PUBMED_PDF_DIR · ~/.dsh/dsh-pubmed-pdfs/ · PDF 下载目录
EUTILS_BASE_URL / PUBTATOR_BASE_URL / EPMC_BASE_URL / OPENALEX_BASE_URL / S2_BASE_URL · 官方端点 · 自建反代端点(v0.4.4 起覆盖全部五族数据源)
SKILL_DOC · true · Agent 路由技能自动注册
RELATION_ENDPOINT_REQUIRE_KEYWORD · true · 图谱关系边语义门
HEURISTIC_RELATIONS · true · 启发式关系层(false = 纯 curated 图)
限速、重试、OA 签名校验等均为内置行为,无需配置。
无代理网络(大陆直连)
免费直连是本插件的定位。网络类失败自动指数退避重试,NCBI 不可达时检索自动切换 Europe PMC(其 MED 源即 PubMed 本体),报错区分"本地代理已挂"与"目标不可达"。极致稳定需求可配 *_BASE_URL 自建反代。
给 Agent 的说明
随包附带 skills/dsh-pubmed/SKILL.md——激活时自动注册到 ~/.dsh/skills/dsh-pubmed/(DSH 扫描的技能 root)。新会话的 agent 会自动读到:26 个工具的完整路由规则、模块串联流程、OA 工作流、易错点清单。
你不需要记住任何工具名——用自然语言描述需求即可。如果你的 agent 需要了解调用细节,让它读 SKILL 或工具描述即可。
附录:26 工
…(truncated)
以上内容来自 npm 上的 README,我们只做格式化,不改内容。
版本
npm 上共发布:16,最后更新 2026-09-30