dsh-zotero-skill:在 DeepSeek Harness 里把 Zotero 文献工作串成流水线

前言

在 DeepSeek Harness(DSH)里做科研或写综述时,常见做法是:模型负责生成文字,文献检索、入库、分类和引用仍分散在浏览器、Zotero 和本地脚本之间。对话里很难稳定复现「找新论文 → 去重入库 → 打标签归集 → 批量读摘要 → 写稿插 \cite」这一整条链,也缺少与本地书库一致的状态(哪些已读过、哪些属于同一课题)。

下面介绍社区插件 dsh-zotero-skill(维护者 Eason-0712),它把上述步骤封装为 DSH 技能:基础能力用 Python 标准库直连 Zotero 本地 API 与 OpenAlex,无需 MCP 或 Zotero 云端 API Key;写库前可预览,首次写入需在 Zotero 弹窗授权。项目改编自 OpenAI Zotero 插件(MIT),当前 npm 包版本为 0.5.5,GitHub 星标 5,分类为工作流。目录页:skillhub.cn/plugins/Eason-0712/dsh-zotero-skill;源码:github.com/Eason-0712/dsh-zotero-skill。

这是什么

dsh-zotero-skill 是为 DeepSeek Harness 打造的 Zotero 文献技能,目标是把文献工作按顺序打通:找文献 → 追前沿 → 筛核心 → 管理归集 → 批量阅读 → 分类整理 → 提炼脉络 → 发现空白,并支持导出 BibTeX、向 LaTeX / Markdown 草稿插入引用。0.5 版起还包含可选的全文精读与跨论文综述工作流(本地 PDF/OCR 组件首次按需下载,分析与翻译走 DSH 当前模型配置)。

插件以 DSH 插件或独立 skill 目录两种形式安装;运行 DSH 插件形态时需要 Node 20+。Zotero 侧开发时验证版本为 Zotero 10.0.6,默认连接本机 127.0.0.1:23119 的本地 API,不直接读写 zotero.sqlite。

核心功能

文献发现与管理

  • 找文献:从 OpenAlex 按主题检索,可按期刊影响力、引用速度、相关度、新鲜度排序,并与本地库去重;--source crossref 可改用 Crossref 元数据。
  • 中文文献:知网无公开检索 API;技能生成检索链接,并解析你从知网导出的 RefWorks / EndNote 再入库,保留卷期页、关键词与 language=zh。
  • 追前沿:将常读方向存为 watch,每次只拉「上次运行以来」的新论文。
  • 筛核心:把候选或库内条目分为核心 / 重要 / 参考三档,输出短名单。
  • 管理文献:批量打标签、归集到分类、按 DOI / 标题查重并清理副本。
  • 批量阅读(元数据层):一次为多篇生成阅读包(元数据、摘要、章节大纲、笔记骨架);README 说明现有 digest 仍是元数据阅读包,不是 0.5 精读流程的模型精读结果。
  • 分类整理:按论文类型、方法、数据集、年份等维度在 Zotero 建文件夹或生成 auto:method:* 等标签计划,预览后写入。
  • 提炼脉络 / 发现空白:统计年份、期刊、方法、数据集及共现;按项目找方法×数据集未交叉组合、停更标签等。
  • 检索与引用:关键词搜条目,返回 item key 与 BibTeX key;在草稿标记处插入 \cite{key} 或 [@key] 并同步 .bib。
  • 每日收录:按主题从 OpenAlex 抓新论文,去重排序后导入指定分类;可配置数量、开关与定时(见下文)。

改库前支持 --dry-run;实际写入需你在 Zotero 里一次性「Always Allow」授权。

全文阅读与轻量增强(0.5)

在 DSH 中用自然语言说「精读 Zotero 当前选中的论文」或「比较这个分类中的论文」即可触发。插件可输出 Markdown 笔记、译文、标注 PDF、双语 PDF、Zotero 中文笔记等;分析带块 ID、页码与原文片段,便于核对(校验定位不等于自动证明结论正确)。

按需能力还包括:聚焦问答(SQLite FTS5,无向量库)、写入 Zotero 原生 annotation、证据对比表、术语与数字复核、bilingual-markdown 逐段对照、引用的一跳参考/被引候选(OpenAlex,含撤稿标记)等。精读「当前选中条目」需额外安装包内生成的 Zotero 扩展(Zotero 10 本地 API 鉴权),并完成已有 authorize 流程;分类、标签与明确 item key 的操作不依赖该扩展。

首次准备全文阅读组件(私有 Python 3.12、PDF、OCR、Noto 字体等,不改变系统 Python):

node lib/reader-runner.js reader-config
node lib/reader-runner.js bridge --out dsh-reader.xpi

将 dsh-reader.xpi 在 Zotero 工具 → 插件 → 从文件安装 中安装一次。组件下载需网络,地址与 SHA256 由包内启动器锁定。

安装与启用

环境

  • Python 3.10+(Windows 可用 py -3 或 python,macOS / Linux 用 python3)
  • 桌面版 Zotero(README 写明开发验证于 10.0.6)
  • DeepSeek Harness;插件形态需 Node 20+

装进 Harness(推荐:DSH 插件)

npm 已发布包 dsh-zotero-skill,自带 dsh.bundle 清单:

dsh plugin --profile <你的 profile> add dsh-zotero-skill

npm 不可达或需要跟踪 GitHub 最新代码时:

dsh plugin --profile <你的 profile> add github:Eason-0712/dsh-zotero-skill

本地开发调试:

dsh plugin --profile <你的 profile> add "link:/path/to/dsh-zotero-skill"

卸载:

dsh plugin --profile <你的 profile> remove dsh-zotero-skill

独立 skill 目录(方式 B)

在仓库根目录执行:

python install.py

默认复制到 $DSH_HOME/skills/zotero(未设置时为 ~/.dsh/skills/zotero),目标已存在时不覆盖。项目级仅对当前仓库生效:

python install.py --skills-dir .dsh/skills

打开 Zotero 本地 API

Zotero → 设置 → 高级 → 其他 → 勾选「允许此计算机上的其他应用程序与 Zotero 通信」。

也可在完全退出 Zotero 后由脚本写入配置并重启:

python zotero/scripts/zotero.py enable --restart

验证连通

python zotero/scripts/zotero.py status --json

当 api_running: true 且 api_status: 200 时表示本地 API 可用。

典型用法

在 Harness 里用自然语言描述任务即可,技能会选择子命令并在写库或写文件前给出预览。README 中的示例包括:

帮我找一下 knowledge distillation 用在运动想象 EEG 上的新论文,按重要性排个序。

我常看的方向有这几个,做成 watch,以后只给我新出现的。

从库里 project:MI-EEG 这 18 篇里挑出最核心的几篇,列个短名单。

把这批论文生成阅读包,我看完再写综述。

按方法和数据集给整个库打上标签,先给我看计划。

这个方向现在有哪些明显的空白?

读一下 /path/to/draft.md,把相关论断后面补上引用,并更新同目录的 references.bib。

每日自动收录(可选)

在 Zotero 中先选中目标分类,再配置并试运行:

python zotero/scripts/zotero.py daily-config --enable \
  --topics "transformer;large language model" --max 10 --mailto "you@example.com"

python zotero/scripts/zotero.py daily --dry-run
python zotero/scripts/zotero.py daily

Windows 上可注册每天固定时间任务:

python zotero/scripts/zotero.py daily-schedule --time 08:00

候选论文从 OpenAlex 检索最近 N 天结果,默认按期刊影响力(权重 0.45)、引用速度(0.30)、主题相关度(0.15)、新鲜度(0.10)加权排序;同一期刊默认最多 3 篇(max_per_venue)。已导入 DOI 记录在 ~/.zotero-skill/state.json 避免重复。关闭总开关:daily-config --disable。

适用场景与注意

适合谁:已经在用 Zotero 管库、希望在 DSH 对话里完成检索、归集、阅读包、写稿引用与(可选)精读/综述的研究者;依赖 OpenAlex 做英文发现,中文侧以知网导出文件为主。

权限与安全:插件以当前 DSH 进程的用户权限运行,可读写你授权的路径与 Zotero 库(经本地 API)。安装前应自行查看 GitHub 仓库 源码与 MIT 许可证;社区目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系,并非官方应用商店。

边界:README 写明已提供离线 PDF、引用、缓存等测试,但未在所有使用者的 Windows DSH/Zotero 实例上完成端到端验证;10–15 页文字型论文的首分钟响应等为待测性能目标。Windows 为主要使用环境,macOS / Linux 提供运行时映射但仍需各平台实测。Zotero 未运行时,每日任务脚本会尝试启动并等待 API 就绪。

结尾

dsh-zotero-skill 把 OpenAlex 发现、本地 Zotero 管理与 DSH 模型阅读/写稿放在同一条技能链上,标准库实现降低对 MCP 和云端 Key 的依赖,写操作保留预览与一次性授权。若要安装或跟踪更新,可从目录页 Eason-0712/dsh-zotero-skill 进入,或直接查看 GitHub 仓库 的 README 与 zotero/references/ 下的工作流说明。

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

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

小夜