前言¶
DeepSeek Harness(DSH)的插件生態中,目前已有 arXiv、dblp、OpenAlex 等偏向計算機科學與綜合領域的檢索工具,但針對生物醫學權威數據庫 PubMed 的專用插件尚屬空白。dsh-pubmed 插件填補了這一功能缺口。它提供了一套深度檢索工具,直接對接 NCBI E-utilities 公共接口,無需申請 API Key,即可完成從文獻檢索到作者調查、機構統計及撤稿覈查的全鏈路操作。
核心功能¶
該插件提供七個基礎工具,覆蓋生物醫學信息檢索與調查的主要需求:
- 文獻檢索:支持
[Author]、[Affiliation]等字段標籤,返回命中數與 PMID 列表。 - 批量拉取文獻元數據:通過
pubmed_fetch工具,可批量獲取標題、期刊、年份、作者及 DOI。 - 作者發文調查:輸入全名(拼音),可查詢作者的發文量及機構分佈。
- 同名作者消歧:利用機構信息區分同名作者,解決檢索混淆問題。
- 機構發文統計:統計特定機構的發文量及逐年分佈。
- 導師-學生共同署名匹配:查找特定導師與學生共同署名的記錄。
- 撤稿覈查:檢索特定人物或主題的撤稿記錄。
安裝與啓用¶
安裝插件需要使用 DSH 的 CLI。將 <倉庫地址或 npm 包名> 替換爲實際的鏈接或包名:
dsh plugin --profile web add <倉庫地址或 npm 包名>
本地開發環境可以使用 file 協議直接指向本地路徑:
dsh plugin --profile web add file:/path/to/dsh-pubmed
安裝完成後,重啓 DSH 進程,工具列表中會出現上述七個工具。
典型用法¶
工具通過自然語言指令觸發,Agent 會自動調用相應的底層工具。
- 查詢作者發文量與機構:
輸入:
幫我查一下作者 "Zhang Wei" 在 PubMed 發了多少篇
Agent 會依次調用 `pubmed_author` 和 `pubmed_disambiguate` 進行處理。
- 機構統計:
輸入:
查一下四川大學 2026 年發了多少篇 PubMed 論文,按年份分佈
Agent 會調用 `pubmed_institution` 工具。
- 撤稿覈查:
輸入:
這個作者有沒有被撤稿的記錄?
Agent 會調用 `pubmed_retraction` 工具。
適用場景與注意事項¶
- 中文檢索規則:PubMed 對中文作者採用「姓前名後」的拼音索引規則。檢索中文作者時需使用全名拼音(如
Zhang Wei),而非Wei Zhang。 - API 限速:NCBI 接口要求每秒請求數不超過 3 次。插件內置了 350ms 的節流機制。大批量檢索會相對緩慢,這是遵守 NCBI 規則的必要代價。
- 索引精度:作者全名索引依賴 PubMed 的 ForeName 全拼,僅使用縮寫(如
Shen H)可能會漏檢。pubmed_disambiguate已通過efetch獲取全名+機構進行精確匹配來規避此問題。 - 機構過濾:機構過濾是詞級檢索而非子串檢索,若機構名稱寫法存在細微差異(如包含空格、標點),可能導致漏檢,建議先用寬泛查詢,再進行精確覈對。
- 安全與依賴:插件不讀取 DeepSeek 的憑據,不進行任何第三方網絡請求,無運行時依賴,僅使用 Node.js 內置的 fetch。
dsh-pubmed 通過純公共接口實現了對 PubMed 的深度挖掘,適合需要處理生物醫學文獻、進行學術調查或機構統計的開發者使用。