dsh-plugin-scihub:DeepSeek Harness 学术文献检索与全文获取插件

前言

DeepSeek Harness(DSH)采用插件化架构,允许开发者通过 Cordis 插件扩展功能。学术文献检索通常涉及多个数据库,且全文获取渠道各异。dsh-plugin-scihub 是一个由 sevastopol36 维护的原生插件,旨在解决跨源检索与全文获取的痛点,为 DSH 提供统一的学术文献处理能力。

核心功能

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

  1. 跨源检索元数据:支持 Crossref、OpenAlex、Europe PMC、PubMed、Semantic Scholar 等多源并行检索与归并去重。
  2. 任意标识符互转:支持 DOI ⇄ PMID ⇄ PMCID ⇄ arXiv id 的互相转换与解析。
  3. 全文获取策略:默认优先尝试 Sci-Hub 镜像获取全文;若不可达,自动回退到 Unpaywall、OpenAlex 等开放获取渠道。
  4. 镜像可用性诊断:提供工具实测 Sci-Hub 镜像与渠道的连通性,并生成可直接使用的配置。
  5. 零运行时依赖:仅使用 Node.js 内置的 fetch 和 node:fs,无需额外安装依赖。
  6. PDF 内容校验:下载 PDF 前进行魔数校验与内容校验,防止保存错误论文或空文件。

安装与启用

插件为标准 dsh bundle,可通过官方命令安装。

dsh plugin --profile web add dsh-plugin-scihub

安装完成后,需重启当前 profile(例如 dsh web)以加载插件。

使用与配置

可用工具

插件提供以下工具命令:

  • sevastopol36_scihub_search:跨源检索论文元数据。
  • sevastopol36_scihub_resolve:解析任意标识符,补齐完整 ID 集合。
  • sevastopol36_scihub_fetch:下载全文并保存。
  • sevastopol36_scihub_probe:诊断镜像与渠道可用性。
  • sevastopol36_scihub_sources:列出当前配置的数据源与路线。

配置示例

在 %USERPROFILE%\.dsh\profiles\web\cordis.patch.yml 中按 id 覆盖配置,主要参数如下:

- id: sevastopol36-scihub
  config:
    # 优先开放获取渠道,避免使用 Sci-Hub
    preferSciHub: false
    # 开启 PDF 校验,防止保存错误文件
    verifyPdf: true
    # 设置 Unpaywall 邮箱(需填写真实邮箱)
    email: 'you@example.com'
    # 单次请求超时时间(毫秒)
    timeoutMs: 30000

注意事项

  1. 版权与用途:Sci-Hub 仅用于学术与教育用途,请遵守版权法规及机构政策。
  2. PDF 校验:默认开启 PDF 内容校验(verifyPdf: true),会从 PDF 元数据中提取 DOI 或标题进行比对,避免保存错误论文。
  3. Unpaywall 限制:Unpaywall 功能需要填写真实的邮箱地址,否则会因 HTTP 422 错误拒绝请求。
  4. 运行环境:依赖 Node.js 内置模块,确保运行环境满足要求。
羽毛球分组比赛记分
小程序二维码

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

小夜