DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

copylee711 /

copylee711/dsh-academic

Verified

This plugin has no description yet.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@a805e0de

dsh-academic

npm

DeepSeek Harness 的学术插件,三部分:

  • Zotero:AI 检索你的 Zotero 文库,读取条目和你在 PDF 里做的批注,阅读全文,导出引文;开启写入后可按 DOI / arXiv 编号入库、写笔记、整理标签和分类。优先连接本机的 Zotero,没有运行时自动启动;也可以通过 zotero.org 访问已同步的文库。
  • 论文检索:同时查询 arXiv、OpenAlex、Crossref、Semantic Scholar、PubMed、Europe PMC、DBLP,阅读开放获取的全文,从 DOI 注册机构取引文,核验参考文献是否真实存在。知网和 Google Scholar 没有开放接口,插件通过一个独立的浏览器窗口检索它们。
  • 学术技能:内置 11 个技能,覆盖文献综述、论文精读、写作、润色、模拟审稿、回复审稿意见等。

全部用 TypeScript 实现,不需要 Python,也不需要另装 MCP 服务。所有检索源都可以不填密钥使用。检索知网和 Google Scholar 需要本机装有 Chrome 或 Edge。

论文检索:工具结果里的论文卡片(标题、作者、年份、期刊、被引数、开放获取标记),下方是回答

截图中回答里的引用角标由 dsh-better-display 渲染;不装它时引用显示为普通链接。

核验参考文献 整理 Zotero 里的 PDF 批注
逐字段核对两条参考文献,指出其中一条的 DOI 属于另一篇文章 在 Zotero 文库中检索,并把 PDF 高亮批注按主题整理成要点,带页码
输入框里用斜杠调用技能 设置页
输入 /academic 列出内置技能 设置 → 学术:Zotero 连接状态与开关、论文检索数据源

功能

Zotero

功能 说明
文库检索 按标题、作者、年份检索,或在所有字段、笔记和 PDF 全文里检索;可限定分类、标签、条目类型、已存搜索
条目详情 全部元数据、摘要、标签、所在分类,以及子笔记、附件和 PDF 里的高亮与批注(带页码)
阅读全文 分段读取正文,带页码标记;或给出问题,返回最相关的若干段落
导出引文 BibTeX、BibLaTeX、RIS、CSL JSON,或按引文样式(APA、IEEE、Nature、GB/T 7714 等)生成参考文献和文内引用,均由 Zotero 本身生成
入库 按 DOI 或 arXiv 编号添加文献,元数据取自 DOI 注册机构和 arXiv;已有的不重复添加;arXiv 论文附带 PDF 链接
笔记 在条目下新建笔记、新建独立笔记,或向已有笔记追加内容(用 Markdown 书写)
整理 增删标签、移入移出分类、新建分类

入库、笔记、整理三项默认关闭。插件不提供删除条目的功能。

文库有两个来源:

来源 需要 能看到的内容 写入
本机 Zotero Zotero 7 或更高,开启本地 API 整个文库,包括尚未同步的内容和本地的 PDF 需要 Zotero 10 或更高;首次写入时 Zotero 弹窗确认
zotero.org 在设置里填写 API 密钥 已同步的内容;PDF 全文只有存放在 Zotero 云端存储时才能读(WebDAV 同步的读不到) 密钥有写入权限即可

默认为“自动”:先连本机 Zotero;它没有运行时自动启动(窗口立刻最小化到任务栏,不抢焦点);启动不了且填了密钥时,改用 zotero.org,结果里会注明来自已同步的副本。已存搜索只能由本机 Zotero 执行。

论文检索

功能 说明
多源检索 一次查询多个数据源,同一篇论文(预印本与正式发表版、不同数据源的记录)合并为一条;可按年份、开放获取、arXiv 分类筛选,按相关度、时间或被引数排序。按时间排序时只在近两年(或指定年份起)的相关论文里排,并剔除出版年份在未来的错误记录
论文详情 按 DOI、arXiv 编号、PMID、PMCID 或标题查一篇论文:完整摘要、作者、期刊、被引数、开放获取链接、是否已撤稿
引用关系 谁引用了它、它引用了谁、相关论文
阅读全文 arXiv 论文读 HTML 版(保留章节结构,公式为 LaTeX),PubMed Central 文章读结构化全文,其余读开放获取 PDF;可先看目录再读某一节,或按问题找段落
获取引文 从 DOI 注册机构取 BibTeX、RIS、CSL JSON 或指定样式的参考文献,不由模型凭记忆书写
核验参考文献 逐条检查 DOI 是否存在、是否指向另一篇文章,标题、第一作者、年份是否相符,是否已撤稿;各数据源都查不到的,中文文献再到知网查,其他语言的到 Google Scholar 查
知网、Google Scholar 在 paper_search 里点名使用(sources 填 cnki 或 googlescholar),返回题录:标题、作者、年份、刊名、被引数、链接
下载 PDF 把开放获取的 PDF 保存到工作区的 papers/ 目录

只获取合法开放的全文,不绕过付费墙;读不到时如实告知。

知网和 Google Scholar

这两个网站不向程序开放接口,无头浏览器和直接请求都会被拦下。插件的做法是在屏幕外打开一个普通的 Chrome 或 Edge 窗口,用它自己的浏览器配置(不读取你平时浏览器里的登录和记录),像人一样打开网站检索:知网从首页的检索框输入,Google Scholar 打开检索页。

  • 优先用系统默认浏览器(默认浏览器是 Chrome、Edge 时),否则用装了的那个;跟随系统代理设置,没有代理就直连。Google Scholar 在不能直连的网络下需要系统代理。
  • 一次检索约 3 到 10 秒;窗口在屏幕外,任务栏上会多一个浏览器图标;10 分钟不用后自动关闭。
  • 网站要求人机验证时,插件不会自己去通过:窗口会显示到屏幕上,等你完成(最多 2 分钟),完成后检索继续。没有人完成时,这次检索如实报告失败,核验参考文献的本次调用也不再打开浏览器。
  • 知网返回题录。如果你的网络有机构权限(校园网、机构 IP),链接打开后可以下载全文,插件本身不下载。
  • 这两个来源默认不参与每次检索,AI 需要时点名使用;也可以在设置里把它们加入默认数据源。

学术技能

技能 用途
academic-literature-review 文献综述:制定检索策略、多轮检索与引文追溯、筛选、精读、按主题综合、核验引用
academic-paper-reading 论文精读:三遍阅读,输出结构化笔记,区分作者的结论与证据,可存入 Zotero
academic-related-work 为自己的论文写“相关工作”:找审稿人期待看到的文献,说明与本文的区别
academic-proposal 开题报告、研究计划、基金申请书的科学部分
academic-writing 论文写作:章节起草、论证重构、首次投稿材料
academic-polishing 论文润色、学术翻译、正文精简、LaTeX 排版问题
academic-reviewer 模拟审稿:投稿前从审稿人角度评估
academic-response 回复审稿意见:逐点回复、返修信、修订稿
academic-statistics 统计报告审查:实验单元、重复、不确定度、检验方法、图注统计
academic-data-statement 数据与代码可用性声明、数据仓库选择、FAIR 元数据
academic-ref-verifier 参考文献逐字段核验

后七个改编自 nature-skills(Apache-2.0),只改了技能名称(nature-* 改为 academic-*,避免与你自己安装的 nature-skills 冲突),详见 skills/THIRD_PARTY_NOTICES.md。前四个为本插件编写。技能加载时,插件会附上一段说明,告诉 AI 用本插件的检索和 Zotero 工具来完成技能里提到的文献查询步骤。

安装

DSH 桌面版:插件 → 添加插件,输入 @copylee/dsh-academic,安装后启用。

命令行(web 等其他 profile):

dsh plugin --profile web add @copylee/dsh-academic@latest

要求:DSH 0.2.0-rc.2 或更高。使用本机 Zotero 需要 Zotero 7 或更高(写入需要 Zotero 10),并在 Zotero 的 设置 → 高级 中勾选“允许此计算机上的其他应用程序与 Zotero 通讯”;Zotero 不必事先打开,用到时会自动启动(自动最小化目前只在 Windows 和 macOS 上做)。只用 zotero.org 时不需要安装 Zotero。论文检索需要能访问相应的学术网站;如需代理,使用 DSH 的全局代理设置。

使用

直接说要做什么,例如:

  • 在我的 Zotero 里找关于 dropout 的论文,告诉我各自怎么用的
  • 把我在这篇论文里的高亮整理成一份阅读笔记,存回 Zotero
  • 检索近两年关于扩散模型加速采样的论文,按被引数排序
  • 读一下 arXiv 2010.11929 的方法部分,它的位置编码是怎么做的?
  • 给这三个 DOI 生成 GB/T 7714 格式的参考文献
  • 帮我核对这份参考文献列表有没有错的或者不存在的
  • 写一份关于图神经网络在分子性质预测中应用的文献综述
  • 把 10.1038/nature14539 和 arXiv 2010.11929 加到“待读”分类

技能也可以在输入框里用斜杠点名,例如 /academic-literature-review。

Agent 工具

工具 作用
zotero_search 检索文库;mode=everything 时同时在笔记和 PDF 全文里找,命中子条目时返回它所属的文献
zotero_browse 列出分类(树形路径)、标签、已存搜索、文库(个人文库与群组)
zotero_get 一个条目的全部元数据,以及它的笔记、附件、PDF 批注
zotero_read 读文库中论文的正文:分段读取,或按问题返回最相关的段落
zotero_export 导出 BibTeX / BibLaTeX / RIS / CSL JSON,或格式化的参考文献与文内引用
zotero_attachment 附件在本机的文件路径,或网页链接附件的 URL(路径只有本机 Zotero 能给出)
zotero_add 按 DOI / arXiv 编号入库(需开启写入)
zotero_note 新建或追加笔记(需开启写入)
zotero_organize 增删标签、调整分类、新建分类(需开启写入)
paper_search 多源检索论文
paper_get 查一篇论文的完整信息
paper_citations 被引、参考文献、相关论文
paper_read 读开放获取全文:目录、某一节、按问题找段落、分段读取
paper_cite 从 DOI 注册机构取引文
reference_verify 核验参考文献
paper_download 保存开放获取 PDF 到工作区

Zotero 条目用 zotero://user/0/item/<KEY>(群组为 zotero://group/<id>/item/<KEY>)标识;论文用 DOI、arXiv:<编号>、PMID:<编号> 标识。

设置

设置 → 学术,每项改动立即保存并生效。

设置 默认 说明
启用 Zotero 工具 开 关闭后 AI 看不到任何 Zotero 工具
允许修改文库 关 开启后提供入库、笔记、整理三个工具
文库来源 自动 自动:本机优先,连不上时用 zotero.org;仅本机;仅在线
自动启动 Zotero 开 用到本机 Zotero 而它没有运行时启动它,窗口最小化到任务栏,用完不关闭
Zotero 程序路径 空 自动查找失败时才需要填写
zotero.org API 密钥 空 在 zotero.org/settings/keys 创建;读文库勾选 library access,读云端 PDF 勾选 file access,修改文库勾选 write access。保存在凭据存储里,不在设置文件中
默认文库 user user 为“我的文库”,群组文库填数字 ID
本地服务地址 http://127.0.0.1:23119 只接受本机地址
启用论文工具 开 关闭后 AI 看不到 paper_ 和 reference_verify 工具
默认数据源 除 DBLP、知网、Google Scholar 外全部 检索时默认查询的数据源
用浏览器检索知网和 Google Scholar 开 关闭后这两个来源不可用,插件不会启动浏览器
浏览器程序路径 空 自动查找 Chrome / Edge 失败时才需要填写
联系邮箱 空 发给 Crossref、OpenAlex、NCBI、Europe PMC、Unpaywall;填写后查找开放获取全文时才询问 Unpaywall
Semantic Scholar / OpenAlex / NCBI API Key 空 都是可选的,只影响限速。保存在凭据存储里,不在设置文件中
默认引文样式 apa CSL 样式 ID
单次读取全文的长度 12000 字符 分段阅读时每段的上限
单次检索条目数上限 20 一次检索最多返回的条目数
启用内置技能 开 可逐个开关

设置页顶部显示本机 Zotero 的连接状态、版本、是否支持写入;填了密钥时还显示 zotero.org 的连接状态和密钥权限。

修改 Zotero 文库时的确认

每次修改有两道确认:

  1. DSH 的审批提示,说明要做什么(会话的审批策略设为不询问时跳过)。
  2. Zotero 自己的授权弹窗。选“允许”只对这一次修改有效,下次还会弹出;选“始终允许”后不再弹出,可以在 Zotero 的设置里撤销。Zotero 是被自动启动的话,窗口在任务栏里,弹窗没有出现在眼前时去那里看。

通过 zotero.org 修改文库时没有第二道确认,凭密钥的写入权限执行。

修改条目时带上读取时的版本号,文库在此期间被改动过则放弃本次修改。

限制

  • 读全文只限开放获取的论文。付费论文读不到;如果你的 Zotero 里有它的 PDF,用 Zotero 工具阅读。
  • 扫描版 PDF(没有文字层)读不出文字。从 PDF 读出的文本没有章节结构,公式和表格可能错乱;arXiv 的 HTML 版和 PubMed Central 的全文没有这个问题。
  • Semantic Scholar 不填密钥时经常被限流,此时自动跳过,结果里会注明。
  • DBLP 在部分网络环境下要求浏览器验证,无法通过接口访问,因此默认不启用。
  • 没有接入万方、百度学术。百度学术对自动打开的浏览器每次都要求人机验证,无法使用。
  • 知网和 Google Scholar 只返回题录,没有摘要全文(Google Scholar 有一两句片段),不能用 paper_get、paper_read、paper_cite 进一步处理,除非结果里带有 DOI 或 arXiv 链接。知网默认按发表时间排列结果。连续检索太多会被要求人机验证或暂时拒绝。
  • 图书在知网查不到,核验时仍会显示“未找到”。
  • 参考文献核验依赖 Crossref、OpenAlex 和 arXiv 的收录;查不到不等于文献不存在(书籍、中文文献、会议论文集常常查不到),结果里会区分“未找到”和“有出入”。
  • Zotero 7 到 9 的本地 API 只读,入库、笔记、整理不可用(可改用 zotero.org 密钥写入)。附件文件尚未下载到本机时无法阅读。
  • Zotero 没有无窗口运行方式,自动启动的 Zotero 会留在任务栏。本地 API 开关必须事先在 Zotero 里开启,插件无法代为开启。Linux 上自动启动的窗口不会最小化。
  • zotero.org 上的文库是同步后的副本:刚在本机做的改动、未同步的条目、WebDAV 上的附件都不在其中;它有请求限速,比本机慢。
  • Zotero 入库只接受 DOI 和 arXiv 编号,不支持直接导入 BibTeX、ISBN 或网页,也不会下载 PDF 文件到 Zotero。
  • 改编自 nature-skills 的技能中提到的画图、PPT、下载器等配套技能没有内置;其中两个可选的 Python 检查脚本随包附带,但只有本机装了 Python 才能运行。

数据与隐私

  • 读取本机 Zotero 时,数据只在本机的 Zotero(127.0.0.1)和 DSH 之间传递,随后作为工具结果发给你在 DSH 里配置的模型。
  • 填写了 zotero.org 密钥并用到在线文库时,请求发往 api.zotero.org,附件文件从 Zotero 的存储服务下载;密钥只发给 api.zotero.org。文库来源设为“仅本机”时不会访问它。
  • 用浏览器检索时,检索词由那个浏览器窗口发给 www.cnki.net / kns.cnki.net 或 scholar.google.com;浏览器的配置(含这两个网站的 Cookie)保存在 ~/.dsh/storages/copylee-academic/browser/。
  • 论文检索把检索词、DOI 等标识符发给被查询的数据源:export.arxiv.org、arxiv.org、ar5iv.labs.arxiv.org、api.openalex.org、api.crossref.org、api.semanticscholar.org、eutils.ncbi.nlm.nih.gov、www.ebi.ac.uk(Europe PMC)、dblp.org、doi.org、api.unpaywall.org(仅在填写邮箱后),以及这些数据源给出的开放获取 PDF 所在的网站。
  • 联系邮箱只发给 Crossref、OpenAlex、NCBI、Europe PMC 和 Unpaywall。API Key 只发给各自的服务。
  • 四个 API 密钥保存在 DSH 的凭据存储(.credentials.yaml,记录名 copylee-academic/<名称>)里;没有凭据存储的宿主上保存在 ~/.dsh/storages/copylee-academic/keys.json。它们不写进插件设置,所以导出的插件备份和 cordis.patch.yml 里没有密钥,设置页也只知道某个密钥是否已填。0.5.0 及更早版本把密钥写在设置里:升级后首次启动会自动移走。在那之前导出过的备份里仍有密钥,分享前请检查,必要时到对应网站重新生成密钥。
  • 读过的论文全文缓存在 ~/.dsh/storages/copylee-academic/papers/。
  • 选“始终允许”后,Zotero 发放的本地写入密钥保存在 ~/.dsh/storages/copylee-academic/zotero-key.json,只对签发它的那个 Zotero 实例有效。

工作原理

Zotero 部分通过它的本地 API(http://127.0.0.1:23119/api/,与 Zotero Web API v3 同构)读写文库;引文导出和格式化由 Zotero 完成。全文来自 Zotero 的全文索引或本机 PDF。在线文库走 zotero.org 的 Web API(https://api.zotero.org),路径相同,只是把 users/0 换成密钥所属用户的 ID,所以两边共用同一套工具。本机 Zotero 没有应答时,Windows 上用一段 PowerShell 启动它并在窗口出现的瞬间最小化、把焦点还给原窗口;macOS 上用 open -g -j。

论文检索直接调用各数据源的公开接口,结果统一为同一种记录,按 DOI、arXiv 编号、PMID 和标题合并,再用倒数排名融合排序。每个数据源按其要求限速(arXiv 每 3 秒一次),遇到 429 / 503 按 Retry-After 重试。全文按 arXiv HTML → ar5iv → PubMed Central → 开放获取 PDF 的顺序获取,PDF 用 pdf.js 提取文字。按问题找段落时用 BM25 排序,分词使用 Intl.Segmenter,中文也按词切分。

知网和 Google Scholar 通过 Chrome DevTools 协议驱动浏览器:用 --remote-debugging-port=0 启动(只监听本机),在页面里读取结果列表的文字,不依赖 Playwright 等库。窗口是有界面的普通窗口,不伪装浏览器特征。

技能通过 DSH 的技能注册接口提供,优先级低于你自己安装的同名技能。

来自文库和网络的文本在交给模型时都标记为不可信内容。

开发

pnpm install
pnpm run typecheck
pnpm test
pnpm run build
node scripts/zotero-smoke.mjs "attention"   # 只读,需要本机 Zotero 在运行
node scripts/search-smoke.mjs "graph neural networks"   # 访问真实的学术接口
node scripts/browser-smoke.mjs   # 打开浏览器检索知网和 Google Scholar
node scripts/cloud-smoke.mjs   # 只读访问 zotero.org,需要环境变量 ZOTERO_API_KEY
node scripts/import-nature-skills.mjs <nature-skills 的本地克隆>   # 重新生成改编的技能

src/ 是源码,lib/ 由构建生成,skills/ 随包发布。测试用内存里的假 Zotero 服务和假网络,不访问外网。

许可证

MIT。skills/ 中改编自 nature-skills 的部分为 Apache-2.0,见 skills/THIRD_PARTY_NOTICES.md。

—/ 5

No ratings yet

Verified DSH bundle

Commit a805e0de5e00

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout