论文伴读工作台:文献库 + PDF 阅读器 + 教练式伴读。回答必带页码,点页码跳回 PDF 并高亮闪烁对应原文;选中即问不打断阅读;自带「严格师傅」preset——定阅读计划、逐节带读、出题批改,成绩跨会话累积;配置 MinerU(本地自建免注册 / mineru.net 云端 token 二选一)后:扫描版 PDF 可读可伴读、公式可点引用(点一下即得 LaTeX 源码进对话)、公式可检索(QK^T 直接命中),∑ 面板按页浏览全文公式;可选嵌入端点语义召回,大白话提问命中术语段落。文献库专题/论文改名删除——删除走 .trash 回收站可恢复、非空专题批量清空一次确认;阅读器滚动 ↔ 单页翻页双模式、右栏全屏可用、PDF 路径一键复制、译文 PDF 一键导出;原文 ↔ 纯中文原地切换(babeldoc 零预装)。默认本地转录检索,文档不出本机;仅当启用云端 MinerU、嵌入端点或翻译端点时,对应文本才会发往你配置的服务。
安装
# npm 包(预构建)
dsh plugin --profile web add @ggboy123/dsh-paper-reader
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:GGboya/dsh-paper-reader
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English: README_EN.md
DeepSeek Harness (dsh) 插件:论文伴读工作台 —— 文献库 + PDF 阅读器 + AI 伴读,回答自带页码、点页码跳回原文。当前版本 v1.7.0。
💬 QQ 交流群:1127244508 —— 安装/使用问题、功能建议、bug 反馈都欢迎来聊。



核心能力
- 📚 三栏工作台:专题文献库 + PDF 阅读器 + 右侧原生对话;安装后不改动官方界面,侧栏只多一行开关
- 💬 带页码的伴读:回答必带页码,点页码跳回原文并高亮;选中文字即问;支持历史对话
- 🤖 可选教练式带读:专用 preset 制定分步计划;你读原文、作答,AI 点评追问,当前阶段答好才继续,学习进度跨会话累积
- 🀄 一键中文版:原文 ↔ 纯中文原地切换,译文 PDF 一键导出(纯中文 / 中英对照),翻译引擎零预装自动安装
- 📏 长段落不截断 + 实时进度:翻译由
babeldoc-driver.py驱动 babeldoc —— 按输入估算输出预算(不再吃 babeldoc 写死的 2048),finish_reason=length自动拆段重译;顶栏进度条实时显示「翻译段落 76%(521/798)」这样的阶段进度,端点拒绝关闭推理时自动降推理强度重试 - 🈯 划词翻译(公式保留)(v1.7.0):选中点「译」出纯译文气泡;选区含公式时用 MinerU 识别的 LaTeX 替换文本层乱码、要求模型原样保留
- 🖥️ 中英对照 / 分屏(v1.7.0):并排对照页或左右分屏同步滚动,随时切换、按文献记忆
- 📝 笔记(v1.7.0):划词仍直接弹回「选中即问」气泡(与旧版一致),气泡里新增「笔记」「全局搜索」小按钮;记过的文字下方画蓝色波浪线,鼠标停上去看笔记内容、点一下改或删;笔记窗口与查找窗同一套交互(可拖动、拖边框缩放、位置记忆),批量列表按页排序、点条目跳回原文。笔记存在
<文献>.notes.json(跟文献走,换浏览器不丢) - 🗂️ 文献管理:专题/论文改名、删除进回收站可恢复
- 🛰️ OpenCode Go 端点(v1.7.0):翻译端点供应商预设新增「OpenCode Go」(订阅后复制 API Key 即用,模型名以控制台为准);对 opencode.ai 域的请求自动带稳定
x-opencode-session会话头(同一篇论文的整篇与划词共用同一 ID、跨重启稳定,ID 由本机 0600 secret 派生不含论文名),其它端点不多发任何头 - ➕ 可选增强(默认关):MinerU 解析——扫描件可读、公式可点引用可检索;嵌入端点——大白话命中术语段落
各功能的前提与配置细节见 docs/features.md。
安装
普通用户:桌面端装好即用(推荐)
两步:装 DeepSeek 官方桌面端 → 里面直接装插件。
- 下载安装 DeepSeek 官方桌面端(即 DeepSeek Harness 桌面版),登录 DeepSeek 账号
- 侧栏 → 插件 → 添加插件,输入
@ggboy123/dsh-paper-reader@latest,装完点进插件详情打开「启用」开关,重启桌面端
完成。侧栏底部点「📚 论文伴读」进入文献库,上传 PDF 开始用。

需要官方桌面端 V0.2.0-rc.2 或更新版本(内置 dsh ≥0.2.0-rc.2);dsh 0.1.5 不再支持。 想逛插件市场可另装社区插件
dshmarket,本插件已在其目录中。
排坑(都是实测踩过的):
- 升级后插件开关会回到停用:重新打开「启用」并重启。症状有迷惑性——文献树还在但点论文没反应
- 添加务必带
@latest:不带版本号对已装过的插件是 no-op,不会追新 - pnpm 供应链策略
minimumReleaseAge拦新包时:等过窗口期,或把本包加进豁免清单(~/.dsh/profiles/web/.npmrc的minimum-release-age-exclude[];桌面端在~/.dsh/profiles/desktop/pnpm-workspace.yaml的minimumReleaseAgeExclude)
开发者:命令行 dsh
dsh plugin --profile web add @ggboy123/dsh-paper-reader@latest # 升级也是这条;不带版本号是 no-op
不要用
github:GGboya/dsh-paper-reader安装 —— dist 不入库,git 安装会导致 profile 起不来。
怎么用
- 进入:侧栏底部点「📚 论文伴读」(再点还原)
- 入库:+ 新建专题 → ⬆ 上传 PDF
- 读 + 问:直接提问(回答自带页码),或选中文字弹框提问;点「第 N 页」跳回原文
- 中文版:顶栏「中」一键生成(首次需在弹出表单里配一次 OpenAI 兼容端点,DeepSeek/GLM/Kimi 的 key 都行)
- 管理:行悬停出 ✎ 改名 / 🗑 删除;对话头部 🕐 历史、+ 新开
文献管理(安全说明)
- 删除 = 移入回收站
data/.trash/(带 manifest,移回即恢复);会处理该文献的全部产物:<文献>.pdf、.txt、.pages.json、.transcript.json、.mineru.md、.mineru.json、.embeddings.json、.study.json、.notes.json与译文变体<文献>-en.pdf/-zh.pdf/-dual.pdf(含.tmp-*残留);伴读会话历史不删。运行中会话/翻译中的文献会被前置拒绝;路径穿越一律拒绝、失败自动回滚——细则见 docs/features.md
参与开发
git clone https://github.com/GGboya/dsh-paper-reader
cd dsh-paper-reader && pnpm install && pnpm run build
dsh plugin --profile web add ./dsh-paper-reader # 从父目录执行,或用绝对路径
dsh --profile web # 侧栏变为文献库树
改完 pnpm run build 重启 profile 即生效;npm test 跑全量测试(354 用例,CI 三平台)。架构、测试守卫与开发约定见 AGENTS.md。
贡献者
感谢每一位贡献者:
Star 趋势
License
MIT
链接
同类插件
tt-a1i/archify#integrations/deepseek-harness★ 92724
从仓库或系统描述生成经过校验的自包含交互式架构图、流程图、时序图、数据流图和生命周期图。
dream-num/dsh-univer-office★ 657
为 DeepSeek Harness 打造一个真正的办公环境。Univer Office 插件将电子表格、文档、幻灯片、画布、多维表格等汇聚到同一个运行时——数据互联、修改经过校验、变更按版本管理,并以隔离工作树支持多 Agent 协作。
ECNU/EduWork#dsh-knowledge-studio★ 275
基于工作区资料的 Studio,复用 DSH 模型与共享成果服务,制作报告、演示文稿、表格、思维导图、测验、闪卡及音视频。Office 生成需 Python 3.12+ 及相关依赖,并配置 DSH_OFFICE_PYTHON;媒体渲染需 Chromium;本地语音转写另需 whisper.cpp 和模型。
PerryLink/dsh-industry-research★ 215
面向 DeepSeek Harness 的确定性行业研究报告:公司与行业研究流程基于分阶段证据产出结构化、可核验的报告。
HuanLinOTO/dsh-plugin-mineru★ 51
向模型暴露 MineRU 文档解析工具。
PolinniZhong/dsh-knit★ 48
把会话工作区里已有的 Markdown 文档、源码、图片与视频列进 DSH 侧边栏,按与当前对话的相关性排序。默认的词法模式用最近几条消息在本地与标题、摘要、正文做带 IDF 加权的匹配(BM25)—— 不调用模型、没有网络出口,内容不出本机。列表来自工作区扫描,而不是「最近打开记录」,所以重启 DSH 或新开会话都不会变空。排序结果组织成主要 / 辅助 / 相关三层的阅读顺序,每一条都写明可核验的理由(命中了哪个字段、被哪一篇引用),点一行即可就地预览:Markdown 按渲染后的样子显示、相对路径图片真实渲染、源码走宿主自带的语法高亮、视频走 HTTP Range 流式播放。同一份 Context Pack 也作为 knit_docs 工具交给 agent。后续版本陆续补上读取证据与生命周期(归因在读那一刻冻结)、固定 / 排除(排除先于检索生效,且可恢复)、关系证据(引用 / 导入 / 测试,带行号)与增量索引(重启后复用)。v0.23 起还多一条可选的混合检索:默认关闭,只有你自己配好 Ollama 或 OpenAI 兼容的 embedding 服务才会生效。它生效时,发出去的是你这句查询原话加上每篇候选文件的标题与摘要 —— Markdown 的摘要取自正文首段(不超过 60 字),代码的摘要是它所在的工作区相对目录,图片 / 视频贡献的是文件名;完整正文与绝对路径都不发送,指向本机服务(loopback)时内容不出这台机器。v0.24 起还能做变更关联:用一条只读的 git status(固定 argv、不走 shell、子进程环境白名单),配合同一套引用 / 导入 / 测试 / 提及证据,指出这次改动大概率该一起看哪些文件 —— 默认关闭。语义检索的收益仍待真 provider 实测,因此不承诺召回提升。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。