dsh-refkeeper: Validate and Export Cited References from DSH Conversations

前言

在 DeepSeek Harness(DSH)里做文献综述或写技术报告时,引用往往散落在多轮回复里:一轮里是 DOI,另一轮是 APA 行,更早的几轮只提了论文名。手工整理慢且容易漏;让模型直接生成 .bib 又常见页码、DOI、作者顺序被「补全」成错误信息,往往在投稿前才被发现。DSH 生态按「一切皆插件」扩展能力;社区目录(如 SkillHub)与 DeepSeek / 幻方无官方从属关系,插件需自行审阅源码与许可证后再启用。

下面介绍 dsh-refkeeper(维护者 ymwang92,分类:联网工具):它读取你选定的对话范围,解析其中出现的引用,向 Crossref、OpenAlex、arXiv、DataCite 等注册库核对元数据,将通过校验的条目导出为 BibTeX 或 RIS,无法确认的条目单独隔离,不进入默认导出库。

这是什么

dsh-refkeeper 是面向 DeepSeek Harness 的插件,npm 包名同为 dsh-refkeeper(当前资料中版本 0.1.1,许可证 MIT)。一句话定位:Verify and export the references your DeepSeek Harness conversation already cited——即从当前会话里已经出现的引用出发做校验与导出,而不是让模型凭记忆编书目。

核心功能

采集范围与识别方式

可从单轮、最近 N 轮或整段会话采集。识别 DOI、arXiv id、ISBN、报告号,以及 APA、GB/T 7714、IEEE 风格的参考文献行。默认不把工具输出当作引用,减少「从未在正文用过却被写进库」的条目。

注册库校验

并行查询 Crossref、OpenAlex、arXiv、DataCite。条目被接受需同时满足:题名匹配、年份相差不超过一年、第一作者匹配,且至少一个注册库返回记录。字段以注册库为准;对话与注册库都不支持的字段不会写入导出文件。

无法确认且注册库有明确不一致的条目进入 refs/quarantine.json(隔离,默认不导出)。注册库暂时不可达时为 unverified,仍留在库中可稍后重试——网络失败不视为引用错误。

注释与导出

捕获后,由当前 profile 的默认模型为每条(单次捕获最多 12 条、超时 60 秒)填写四个短字段:summary、relevance、evidence、caveats;引文必须在对话原文中出现,否则丢弃。用户手写注释可通过 ref_save 写入,已有用户注释不会被覆盖。

导出 BibTeX、RIS 或两者;范围可以是最近一次捕获、勾选的条目或整个库。同一导出两次字节一致,条目排序与 citekey 稳定。

界面入口

编写区工具行(与工作模式、模型选择并列)增加一项:❝ Refs(中文界面为 ❝ 引用)。点击后在编写区上方打开捕获面板,无独立侧栏或悬浮窗。

安装与启用

在 DSH 中打开 Settings → Plugins → Add plugin,输入包名:

dsh-refkeeper

包发布在 npm,一步安装、无需本地 build(tarball 内含已构建的 lib/)。在当前 profile 启用后重新加载。

若跟踪仓库而非 npm 版本,在同一对话框粘贴 Git 地址(资料原文):

https://github.com/ymwang92/dsh-refkeeper

仓库同样提交 lib/,该路径也无需 build。

插件以当前 DSH 进程的权限运行;安装前请阅读 GitHub 仓库 源码与 MIT 许可证。package.json 要求 Node ^22.19.0 || >=24.0.0 与 dsh: *。

典型用法

  1. 打开已包含文献引用的对话,点击 ❝ Refs / ❝ 引用 打开捕获面板。
  2. 选择范围,执行 Capture & save。
  3. 面板列出已保存条目与进入 ⚠ 隔离区的条目;取消勾选不需要导出的项。
  4. 选择 BibTeX 和/或 RIS,点击 Export this capture。

等价的命令形式(资料原文):

/refs capture --scope=all --save
/refs export --format=both

输出写在会话工作区内的 refs/ 目录。可在面板中指定导出目录路径一次,会记在 refs/settings.json;会话工作区外的路径会被拒绝(宿主仅允许在工作区内写入)。

阅读副本示例文件为 refs/annotated.md;书目数据在 refs/refs.json,隔离区在 refs/quarantine.json。

适用场景与注意

适合:已在 DSH 多轮对话中引用论文、需要可核对元数据的 BibTeX/RIS,并希望在导出里保留「为何引用、对话中的原句证据」的开发者或写作者。

注意:

  • 依赖联网查询注册库;离线或注册库不可达时部分条目为 unverified,需稍后重试。
  • 中文 GB/T 7714 行与中文题名通过字符 bigram(Dice ≥ 0.90)与注册库匹配,与纯英文 token 匹配策略不同。
  • 捕获超过 12 条或无可用模型时,书目字段仍保留,注释可能跳过(捕获结果会说明原因)。

结尾

dsh-refkeeper 把「对话里真实出现过的引用」当作唯一来源,用公开注册库约束元数据,并把无法确认的条目与可导出库分开,适合在 DSH 里做完文献检索式对话后再整理参考文献。目录页:SkillHub - ymwang92/dsh-refkeeper;源码与完整说明:GitHub - ymwang92/dsh-refkeeper。

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

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

Xiaoye