DeepSeek Harness 文献检索插件

前言

DeepSeek Harness (DSH) 采用插件化架构,支持通过插件扩展功能。在构建智能体或进行本地开发时,检索文献是常见需求。该插件旨在解决在 DSH 环境中调用不同文献数据库(PubMed 和 Google Scholar)时接口不统一、数据结构各异的问题。

插件介绍

该插件名为 astervolans/dsh-literature-search,由 Astervolans 维护。它通过官方 PubMed NCBI E-utilities API 和 Google Scholar(支持 SerpApi 或 HTML 解析)进行检索,并将两者返回的结果统一为标准的 paper 数据结构。插件仅依赖 Node.js 内置的 fetch 和 AbortSignal,无额外的运行时依赖。

安装与启用

通过 DSH 的插件管理器进行安装。安装完成后需要重启 DSH 进程以加载新工具。

dsh plugin --profile desktop add @astervolans/dsh-literature-search

核心功能

插件提供了以下主要能力:

  1. PubMed 搜索
    • 支持 ESearch、ESummary、EFetch 和 ELink 流程。
    • 支持字段标记查询、排序、日期窗口和分页。
    • 返回 PMID、标题、作者、期刊、卷期页、DOI、PMC ID、摘要、MeSH 和关键词。
  2. PubMed 单篇论文
    • 获取指定 PMCID 的完整记录,包括摘要、MeSH、关键词、出版类型和评论/参考文献行。
  3. PubMed 相关文章
    • 使用 NCBI 的相关文章算法检索并排序与给定论文相关的文章。
  4. Google Scholar 搜索
    • 支持年份窗口和分页。
    • 支持通过 SerpApi 或 HTML 解析两种后端。
  5. Google Scholar 引用
    • 生成 MLA、APA、Chicago、Harvard、Vancouver 和 BibTeX 格式的引用信息。
  6. 统一输出
    • PubMed 和 Google Scholar 的搜索结果都返回统一的 paper 形状。
  7. 零运行时依赖
    • 仅依赖 Node.js 内置 fetch 和 AbortSignal。

配置与使用

插件支持在 DSH 的插件配置页面进行设置。在侧边栏的「插件」面板中,展开 @astervolans/dsh-literature-search,顶部即为配置页面。配置项包括 NCBI 和 SerpApi 的 API 密钥、速率限制、结果限制以及连通性测试。

典型用法示例:

# 搜索 PubMed
node cli.mjs pubmed "CRISPR base editing" --max 3

# 获取单篇论文详情
node cli.mjs paper 33301246

# 搜索 Google Scholar
node cli.mjs scholar "base editing" --max 5

注意事项

  1. Google Scholar 后端
    • 默认使用 HTML 解析。由于 Google 的反爬机制,该方式可能会被封禁。建议配置 SERPAPI_API_KEY 以使用 SerpApi 后端,以获得稳定的结果和引用格式。
  2. PubMed 速率限制
    • PubMed 官方 API 默认有速率限制。在未设置 NCBI_API_KEY 的情况下,插件会自动限速(每请求间隔 350ms)。配置 NCBI_API_KEY 可将配额从 3 提升至 10 请求/秒。
  3. SerpApi 依赖
    • 若要获取稳定的 Google Scholar 搜索结果以及引用格式,必须配置 SERPAPI_API_KEY。

参考资料

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜