dsh-paperlens:在 DSH 里做跨源文献检索与本地文献库

前言

在 DeepSeek Harness(DSH)里做科研或技术调研时,常见做法是临时让模型「搜几篇论文」——结果往往依赖模型幻觉、链接不可复现,也没有统一的引文格式和本地归档。若希望检索走开放学术 API、元数据结构化、引用按规范输出,并能把读过的文献留在本机,就需要把「找 → 筛 → 读 → 懂 → 存 → 引」拆成可调用的工具,而不是一次性对话。

dsh-paperlens 是 fuqiang-lab 为 DSH 编写的原生 Cordis 插件(MIT,当前包版本 0.1.0)。它受 PaperLens 工作流思路启发,代码为源码级重写,不依赖自带 AI 网关;详析、对比、综述仍由 DSH 会话模型完成,插件只提供检索、格式化与库管理数据。

这是什么

一句话:多源学术检索 + 引文格式化 + 文献导出 + 本地 sqlite 文献库,挂载在 DSH 的 Cordis 工具层。

  • 维护者:fuqiang-lab(README 署名 fuqiang (foqiang))
  • 仓库:https://github.com/fuqiang-lab/dsh-paperlens
  • 社区目录:https://www.skillhub.cn/plugins/fuqiang-lab/dsh-paperlens
  • 运行要求:package.json 声明 Node >=22.5.0,peer 依赖 @deepseek-ai/cordis 等

本地优先:检索经 OpenAlex、CrossRef 等开放 API(无明文 key 必需);文献库默认在 ~/.dsh/paperlens/library.db(node:sqlite + FTS5),数据不出本机。

核心功能

插件通过下列工具暴露能力(名称与说明均来自项目 README):

工具 说明
paper_search 跨源检索(OpenAlex + CrossRef),相关性排序、去重、元数据完整度评分(0–100)
paper_details 单篇完整元数据(摘要、作者、被引、链接等)
paper_cite 引文格式化:APA 7th、MLA 9th、GB/T 7714、Chicago 17th、Vancouver
paper_import_doi 批量 DOI 导入并充实元数据,可写入文献库
paper_save 存入本地库(收藏夹、标签、阅读状态 unread / reading / read)
paper_export 从库导出 RIS、BibTeX、CSV

README 说明:v1 数据源为 OpenAlex / CrossRef;CNKI、万方、Scopus 等需浏览器与机构认证,不在本插件范围。paper_graph 为 v2 预留。插件默认不向模型注入 systemPrompt 或 pre-step,仅在工具调用时产生一次性上下文,对 KV cache 稳定前缀无额外影响。

安装与启用

bundle 声明在 dsh.bundle.patch(包内为 cordis.patch.yml),安装后下次启动自动挂载,无需手改 cordis.patch.yml。

README 给出的安装方式如下(请按你的环境择一,路径需替换为实际位置):

# 本地开发(file: 路径免 allowBuilds)
dsh plugin --profile web add file:D:/Coding/DSH-Plugin/dsh-paperlens

# 或 git 安装(本包已提交 lib/,无 prepare 脚本 → 零 allowBuilds)
dsh plugin --profile web add https://gitcode.com/foqiang/dsh-paperlens.git

在 cordis.patch.yml 的 insert config 段可追加(或核对)如下配置:

- insert:
  - id: dsh-paperlens
    name: dsh-paperlens
    config:
      sources:
        openalex: { enabled: true, email: "you@example.com" }   # mailto 提升 OpenAlex polite pool
        crossref: { enabled: true, email: "you@example.com" }
      defaultMaxResults: 20        # paper_search 默认条数
      # libraryDir: 默认为 ~/.dsh/paperlens/

安装前请阅读仓库源码与 MIT 许可证;插件以当前 dsh 进程权限运行,会访问外网学术 API 并在本机读写 sqlite 库。

典型用法

在已挂载插件的 DSH 会话中,通过自然语言让模型调用对应工具即可,无需单独启动子服务。可复现的流程示例:

  1. 用 paper_search 按关键词检索,利用 defaultMaxResults 控制默认条数(配置项见上)。
  2. 对候选篇目调用 paper_details 拉齐元数据,再由会话模型做筛读与摘要(分析不在插件内完成)。
  3. 确定收录后 paper_save 写入本地库,或通过 paper_import_doi 批量导入 DOI。
  4. 写作阶段用 paper_cite 输出指定体例(含 GB/T 7714);交稿或导入 Zotero 等时用 paper_export 导出 RIS / BibTeX / CSV。

维护者在仓库中提供离线与前网络冒烟脚本,供开发自检:

node build.mjs   # 编译 lib/
node smoke.mjs   # 纯逻辑 smoke(离线)
node scripts/net-smoke.mjs  # 真网络检索(需能访问 api.openalex.org / api.crossref.org)

适用场景与注意

适合:已在 DSH 上做文献调研的智能体开发者、需要开放 API 检索与国内常用 GB/T 7714 引文格式、希望文献元数据落在本机 sqlite 而非云端的用户。

边界:Semantic Scholar 无 key 易 429,README 称留待 v2;GUI 式引用图谱不做。生态上 DSH 强调「一切皆插件」,SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-paperlens 把文献工作流拆成可编排的 Cordis 工具,检索与库存本地、引文与导出规范化,与会话模型分工清晰。进一步安装细节与边界说明见仓库 README。

  • 目录页:https://www.skillhub.cn/plugins/fuqiang-lab/dsh-paperlens
  • GitHub:https://github.com/fuqiang-lab/dsh-paperlens
羽毛球分组比赛记分
小程序二维码

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

小夜