🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI
广告☁️ 云服务器特惠阿里云首购 8 折 · 腾讯云合作特惠
DeepSeek Harness Hub
← 返回列表

文献库Mappedinfo/dsh-paper-library

DeepSeek Harness已识别类型扫描:含敏感能力在 GitHub 查看 ↗
未验证

管理文献条目、批注 PDF 并做 AI 伴读

数据截至 2026/10/3 · 已提供中文文档

轻量文献管理、可携带 PDF 批注与 AI 阅读,尽在 DeepSeek Harness

综合分
31.1
GitHub 分
31.1
用户评分
—
星标数
3
周下载量
—

周下载量取自 npm 全网(api.npmjs.org 上周窗口),含 CI、镜像与爬虫流量, 不代表本站安装数或装机人数 —— 本站不统计安装动作。

安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add Mappedinfo/dsh-paper-library
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
信任档位:仅索引本站尚未对其实装验证,仅收录元数据
是什么
dsh 原生插件 · tool
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
还在维护吗
活跃:最近一次提交在 11 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 另跑运行时冒烟,目前仅覆盖站长自有插件) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡——装过的第一个就是你
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm@deepseek-ai/dsh-home-paths@deepseek-ai/dsh-atomic-write@deepseek-ai/dsh-client-connection@deepseek-ai/dsh-host-webserver@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-ui-sidebar-right@deepseek-ai/dsh-client-ui-model-selection@deepseek-ai/dsh-client-ui-conversation
用户评分
还没有人投票,来当第一个

README

由 DeepSeek 最新模型翻译生成
Paper Library 独立于 Zotero 的 DeepSeek Harness 资料库插件:文献与数据集条目、有限数据预览、PDF 批注、引用,以及使用 DSH 原生模型的知识工作流。 DSH 社区介绍与讨论包含合成演示截图与当前能力说明。 项目原创代码采用 MIT。默认 PDF 引擎 PyMuPDF 采用 AGPL/商业许可,CSL 等第三方组件保留原许可;完整安装的依赖栈并非仅受 MIT 约束。详见 第三方许可。 继续开发前先读 项目交接,其中记录当前能力、验证证据和待验证项。 版本变更见 CHANGELOG。 设置 插件右上角 设置,或 DSH 设置 → 插件 → 插件配置 → Paper Library,均可调整后台自动整理、整理后补齐空缺资料、实时伴学,以及阅读侧栏位置。两个入口读写同一个 DSH paper-library 设置区,保存后同步;模型和外观继续使用 DSH 原有设置。 设置由 DSH 自己的设置服务保存,默认文件为 $DSH_HOME/settings.yaml。首次接入时只迁移 DSH 中尚未明确设置的旧偏好,并保留旧记录与备份。并发修改会提示重新读取,恢复默认不会重新导入旧值。资料库路径、Python 和执行权限等部署项继续由安装配置管理。
展开完整文档(README 剩余 1 节)
Paper Library

独立于 Zotero 的 DeepSeek Harness 资料库插件:文献与数据集条目、有限数据预览、PDF 批注、引用,以及使用 DSH 原生模型的知识工作流。

DSH 社区介绍与讨论包含合成演示截图与当前能力说明。

项目原创代码采用 MIT。默认 PDF 引擎 PyMuPDF 采用 AGPL/商业许可,CSL 等第三方组件保留原许可;完整安装的依赖栈并非仅受 MIT 约束。详见 第三方许可。

继续开发前先读 项目交接,其中记录当前能力、验证证据和待验证项。 版本变更见 CHANGELOG。

设置

插件右上角 设置,或 DSH 设置 → 插件 → 插件配置 → Paper Library,均可调整后台自动整理、整理后补齐空缺资料、实时伴学,以及阅读侧栏位置。两个入口读写同一个 DSH paper-library 设置区,保存后同步;模型和外观继续使用 DSH 原有设置。

设置由 DSH 自己的设置服务保存,默认文件为 $DSH_HOME/settings.yaml。首次接入时只迁移 DSH 中尚未明确设置的旧偏好,并保留旧记录与备份。并发修改会提示重新读取,恢复默认不会重新导入旧值。资料库路径、Python 和执行权限等部署项继续由安装配置管理。

DSH 设置 → 插件 → 插件列表 可查看已加载的 @mappedinfo/dsh-paper-library;全局插件可能默认折叠,也可按包名搜索。此列表表示本机已安装插件。社区展示见上述讨论链接。

独立预览服务尚未接管到 DSH 时可保存本地设置;一旦该库已交给 DSH 统一管理,预览页会提示到 DSH 修改,避免形成另一份生效配置。不同浏览器访问同一个 DSH 服务时共享主机设置。

使用

按下方步骤安装到 Harness profile 后,重启 Harness,在右侧面板的入口页选择 文献库 / Paper Library。启动时不会导入或扫描现有 Zotero 文献。

1. 把 PDF 拖入窗口,或粘贴论文链接 / DOI,自动下载或复制、解析并保存。支持多文件顺序导入;「文献库」工具栏的「导入」可选择文件、输入本地路径,或导入 JSON、RIS、BibTeX。目录和元数据按每批 100 条继续处理,显示累计进度;每条记录保存检查点。
2. 搜索标题、作者、年份、DOI、引用键、标签或摘要。侧栏卡片用于选文阅读;「文献库」或「展开表格」用于排序、分页和维护资料。点击目录表格的题名会直接进入阅读界面(无 PDF 的条目只显示资料,不产生 PDF 读取);行内的「编辑」等操作仍只做选择,不打扰表格浏览。PDF 连续滚动,只保留当前页附近最多三页的图像和文字;页码输入框可直接跳转。「全屏阅读」扩展阅读区域,Esc 返回。阅读工具栏提供缩放:默认「全宽」自适应窗宽,可用 −/+、直接输入 25–400 的百分比,或点「全宽」复位;放大后页面横向滚动,放大会按需提高渲染密度以免文字发虚。点击文中的批注标记会定位并高亮批注栏里对应的条目;点击批注栏条目则滚动到文中该批注并高亮闪示(选文优先:拖选文字仍走批注流程)。阅读与批注栏之间有一条分隔条,可拖动无级调整侧栏宽度(160–720 px,键盘方向键也可微调),PDF 随窗宽自动重新适配;宽度与缩放保存在主机,换浏览器或刷新后恢复。
3. 在顶部「批注」工具栏选择高亮、下划线、删除线及颜色,然后拖选文字保存想法;「便笺」可点选页面位置。阅读侧栏用「文献库/批注」标签切换内容,可整体移到右侧;切换时保留检索、列表滚动与 PDF 阅读位置。Ctrl/Cmd + K 返回文献库检索。窄屏或全屏时可收起侧栏,恢复 PDF 空间。保存完成后,标准批注已写进管理副本 PDF。
4. 顶部工具栏按当前操作切换。库和阅读工具栏中的「引用与导出」菜单提供 APA 7、BibLaTeX、批注 PDF 和批注文本导出,打开菜单保留当前视图和阅读位置;「资料」打开快速编辑侧栏。资料草稿保存在运行 DSH 的本机,关闭页面、切换论文或换浏览器后可恢复。APA 7 同时提供富文本和纯文本;「导出文献库」导出全库引用元数据。「构建引用库」在文献库 exports/ 目录写入规范 references.bib 与身份审计 bibliography.audit.json(引用键冲突、DOI 重复、缺失字段、受管 PDF 文件核对;缺 DOI 的条目按"有页面链接可补全/只能手工"分别列出);AI 会话也可用 library_bibliography 工具触发同一构建,并可显式分批核验 DOI 的公开登记信息——逐字段比较题名、年份、期刊与第一作者,冲突会同时保留目录值与登记值,只比较,不回写。
5. 在「知识图谱」中添加方法、数据集、主张、证据、概念、作者或机构,并记录有方向的关系及依据。作者、机构和标签等元数据节点与读者记录的主张分别标示;图中关系不会自动成为学术证据。
6. 打开论文时,插件自动建立或复用这篇论文的 DSH 对话。「对话」打开阅读中的可缩放浮窗,关闭后保留问题与引用并停止刷新历史。通过「新增与更新」「选择…」或「全部」建立本次引用集合,可混选新旧批注、增删条目,并附加临时选文。之后保存的批注会提示加入,不会改变已有选择。插件内与 DSH 主页面使用同一段历史。
7. 点击「放入主输入框」将固定的批注集合以原生引用标签追加到论文主对话,由你编辑问题、发送。也可以「保存并放入主对话」。仅准备草稿不会调用模型;「发送」和可选的「实时伴学」会使用模型额度。新安装默认关闭自动回复,升级保留已有选择。
8. 对带批注引用的提问,DSH 完成回复后会自动将 AI 原文保存到对应批注下面,折叠显示为「AI 回复」。涉及多条批注的回复会在各自下面显示关联;批注计数只统计原批注。PDF 保存标准回复关系以及会话、消息、当次引用快照标识,重复保存不会增加副本。保存失败可在对话中重试,DSH 原回复保留。没有明确批注引用的回复仍可手动保存,显示在「未关联回复」中。
9. 选中文字后点击「直接翻译」或「优化表述」,在阅读浮窗中查看结果与表达说明。也可以从顶部「语言」输入自己的草稿。翻译默认译成中文,可切换英文;表述优化保留原文语言、含义和证据强度。两者沿用本篇论文当前的 DSH 模型;结果自动落盘,可复制或带入论文对话草稿。
10. 「难词本」自动积累处理原文中出现的难词,保留原句、论文、已知页码与 AI 释义。可以检索、核对和编辑释义、标记已掌握、删除或导出 JSON / CSV。AI 推荐的难词初始为「待学习」,不代表已经学会。
草稿、引用选择、阅读位置、旧版偏好、语言记录与难词本存入 $DSH_HOME/paper-library/<文献库哈希>/state;未设置 DSH_HOME 时使用 ~/.dsh。不同浏览器连接同一个 DSH 服务时共享这些文件。文献与 PDF 继续放在配置的文献库目录,主对话继续使用 DSH 原生会话文件。浏览器只保留当前操作所需的内存数据,不把内容写入 localStorage 或浏览器缓存。旧版浏览器草稿会在首次打开时迁移并核对;冲突版本另存为本机备份,可从「导出旧草稿」取回。同时编辑发生冲突时,界面保留当前未保存文字并提供导出,不会覆盖另一窗口的版本。

资料库默认在 ~/.local/share/dsh-paper-library。PDF 导入时复制到该目录;原件不修改。关闭 Zotero 后可以继续使用全部本地功能。模型功能需要连接经过身份验证的 DSH 服务;同一服务可从不同浏览器访问。独立预览服务可以管理和阅读资料,但没有单独连接 DSH 模型的代理。

界面沿用 DSH 的中性色、系统无衬线字体、按钮与侧栏样式。在 DSH 中打开时,浅色/深色主题和内容字号随主应用实时更新,不需要刷新阅读页;独立网页跟随系统的浅色/深色设置。主题变化只调整阅读工具、面板和表单,PDF 原文及所选批注颜色保持原样。插件不另存一套主题偏好。

阅读项目

文献库顶部的「阅读项目」把文献组织成可复用的主题清单:选一个项目,文献库就只列它的成员;选「全部文献」回到整库。

- 新建、编辑与归档:项目栏的「+ 新建」填写标题、说明与标签(逗号分隔);选中一个项目后才能「编辑」或「归档」。归档只把项目从列表移出,文献本身完全不受影响,需要时可以恢复。项目存在文献库目录的目录数据库里,因此与文献一起备份、检索,AI 会话也能读写。
- 一篇文献属于多个项目:论文工具栏的「项目 N」按钮打开勾选列表,勾选即加入、取消勾选即移出;列表底部可以直接输入标题并回车「新建项目并加入」。N 是这篇文献当前所属的项目数,列表里的「N 篇」是该项目的成员数。
- 多对多、不复制:关联只是目录里的一条边。移出项目不会删除或归档文献;归档项目也不会动文献,原来的成员关系在恢复后仍然成立。
- 画板可以属于项目:画板工具栏的「项目 ▾」菜单里选择阅读项目并「关联项目」(多对多,只写关联,不复制内容),与画板自身的论文关联互不影响。
- AI 也能整理项目:DSH 会话可用 library_projects 工具列出、新建、改名、归档、恢复项目,关联或移出文献,并查询一篇文献所属的项目(for_paper)。它读写的就是同一个目录数据库,不复制文献。

验证记录见 9 项真实 Chromium 回执(PLAYWRIGHT_MODULE=/path/to/playwright/index.mjs node scripts/project-ui-fixture.mjs,合成文献库、零外部请求)。

文献画板

顶部「画板」打开一张自由画布:拖拽平移、滚轮滚动、Ctrl/⌘ + 滚轮缩放,工具条提供文本、便签、矩形、椭圆、菱形节点;拖动节点移动,右下角手柄改尺寸,右侧圆点拖到另一个节点即建立有向连线。多选(框选或 Shift 点击)后可删除、复制、方向键微调,Ctrl/⌘ + Z 撤销、Shift + Ctrl/⌘ + Z 重做。窄侧栏里可以点「全屏 ⤢」用整块屏幕画,Esc 或再点一次退出。

- 在 DSH 里是独立入口:DSH 右侧栏的「开始页面」列出本插件提供的两个入口 —— 文献库(检索、引用、批注与论文对话)与 画板(自由画布、连线与自动排版)。两者是同一个插件的两个标签类型:各自有入口卡片、各自开一个标签页,可以并排打开;画板标签只显示画布(文献库、阅读与批注都不出现),需要看库时切回文献库标签即可。这也是「画板与库解耦」在界面层的体现:画布是同一份 web/board.js,页面通过 ?view=board 以画板模式打开,并且先判定入口再加载,不会先闪一下文献库。
- 工具栏只留常用的,其余进菜单:画板顶部只有两行——第一行是工具与「画板 ▾」(文件列表),第二行是撤销/重做、缩放、视图组(适应 · 全屏 · 专注)、放入对话,右侧是「排版 ▾」「项目 ▾」和「☰」。节点/连线样式(形状、描边、关系、标签、线型、箭头、虚线、夹角)只在你选中东西时才出现;排版(含「整理成树」)在自己的可展开面板里;绑定文献(+文献/关联本篇/解除本篇)、源文件、Mermaid、接受 AI 改动、返回文献库与删除画板都在 ☰ 里。菜单是浮层:打开不挤压画布,Esc 或点空白处关闭。窄栏下工具栏仍是两三行(工具行可横滑),画布拿走其余全部高度。
- 与库解耦:画板是独立文件(私有状态记录),不绑定任何论文;但一张画板可以同时关联多篇论文,也可以关联一个或多个阅读项目(见上,多对多、只写关联)。文献库左侧新增「画板」列表:可直接打开、对当前论文一键「关联本篇/解除」,论文工具栏也有「+ 画板」(新建即关联)与「这张论文的画板 N」。
- 纯画板专注模式:画板工具栏的「专注 ⤢」会隐藏顶栏、文献库、阅读与批注,只留画布(Esc 或再点一次退出);不需要浏览器全屏权限,因此在 DSH 侧栏里也能用。全屏本身也只看得到画板。
- 形状各有其形:矩形是直角、便签是暖色纸片(方角 + 折角 + 轻微投影)、概念与文献是圆角容器、椭圆与菱形各是其形;给形状起名时输入框是半透明虚线框,不会把菱形暂时盖成一个圆角矩形。
- 空形状会被丢弃:形状工具点一下画布会立刻出现形状并打开输入框;没写内容就离开(Esc 或点别处)时这个空形状会自动消失(连带它的连线),不会留在画板里——画板要求每个节点都有文字或文献,留下空壳会让整块画板保存失败。正在输入时保存会等你写完。
- 连线:选「连线」工具后点起点再点终点即可连边(也可拖节点右侧圆点);选中连线后,画布右上会出现连线样式面板:线型(箭头/直线/折线)、箭头(单向/无/双向)、虚线、夹角,并填写关系与标签。拖动线段中段会插入拐点,拖动拐点调整走向,Alt 点击或双击拐点可删除;刚画好的线会自动成为选中项。
- 连线与节点边的夹角:连线不会贴着节点边扎进去。它和所连那条边始终有夹角:默认垂直于边,选中连线后可在「夹角」里调到 75°/60°/45°/30°,最小 30°(更小的值按 30° 处理),所以箭头总会稳稳落在边上而不是沿着边滑过去;新画的线沿用你最近一次选择的夹角。
- 自动排版:「排版 ▾」里可选分层树(保留你排的上下顺序,支持左右/上下/反向)、放射思维导图、分层图 DAG,还能调水平/垂直间距,调完点「应用排版」(已选中多个节点时只排这些)。排版是确定性的:重复应用不会漂移。把特殊位置的节点「钉住选中」后,它们永远不参与自动排版。
- Mermaid 进/出:☰ 菜单里的「Mermaid」打开源文件对话框中的同一个输入框:粘贴 flowchart/graph(带 TB/TD/BT/LR/RL 方向)后点「解析为源文件」,它会解析成画板自己的源文件(节点形状、连线箭头/虚线、边标签、& 分支、 换行与实体都认),并自动按图示方向排版;随后仍用同一个「校验并应用」写入画板。反向的「画板导为 Mermaid」把当前画布写成可直接粘进 README 的文本。不引入 mermaid 依赖:只实现我们内部结构能表达的子集,看不懂的(classDef/style/linkStyle/click)会被忽略,subgraph 会展开,~~~ 与粗线等近似都会在状态栏里按行号说明,不会猜。
- 可读源文件 + 样式辅助文件:点「源文件」可以生成、编辑、校验并应用一对文件—— board.json(标题、节点、连线;短标识、稳定键序、不含像素坐标)与 board.style.json(配色、尺寸、字号、按关系的连线样式、排版方式与间距、固定坐标)。
两个文件都可手改或交给 AI 生成,也可以下载/导入;独立站还能直接用 URL 加载仓库里的源文件(见下)。
- 文献就是节点:把左侧文献库里的论文拖到画布上即成为文献节点(记录当时的题名、年份与引用键,缺失字段留空而不臆造),双击节点直接回到那篇论文的阅读器。也可以点「+ 文献」用键盘可达的选择器勾选一篇或多篇加入。
- 图谱节点也能进画板:在「知识图谱」里选中一个节点后点「加入画板」,它就会出现在当前画板里(文献类型节点保留论文绑定,其余按显示的名称成为概念节点)。画板与图谱占用同一栏、无法同时可见,所以这里用按钮而不是拖拽。
- 整理成树:选中若干节点(不选则整张画板)后点「整理成树」,按连线排成从左到右的层级:根在最左,子节点各占一列,父节点居中于首末子节点之间;同一张画板重复整理结果不变。没有连线的节点作为独立根排在下方,已有摆放不会被破坏。在「+ 文献」里勾选多篇并填一个主题,点「用勾选的文献新建画板」,就会得到一张已经排好的思维导图(主题根节点 + 每篇一个文献节点)。
- 放进对话:「放入对话」先把当前画板冻结成一份不可变快照,再把一个画板引用标签放进 DSH 主输入框;你可以先补问题再发送,只准备草稿不会调用模型。发送时 DSH 收到的是冻结那一刻的大纲(此后编辑或删除画板都不会改变已发出的材料),输入框里显示为「〔引用画板 …〕」标记。格式损坏、快照缺失或身份不一致会让这次提问明确失败,而不是改发别的内容。与批注引用共用预算(一次最多 4 组、默认 24,000 字符)。
- AI 也能读写画板:DSH 会话可用 library_board 工具列出、读取、创建与修改画板。模型新增或改动的节点与连线会标为「AI 提议」(虚线边框)等待你确认,未改动的内容保留你的署名,只有你能「接受 AI 改动」;AI 新建的画板在你保存前一直是待核对状态。
- 保存与冲突:画板改动自动保存到运行 DSH 的本机(与批注草稿同一私有状态目录),关闭画板、切换画板或离开页面都会先写入。若同一张画板在另一个窗口被修改,界面会提示冲突,并提供「载入已保存版本」或「另存为新画板」,两边都不会被覆盖。删除画板只置墓碑,记录仍留在本机状态目录,可由人工恢复。

画板只在打开时存在于浏览器内存:没有常驻渲染进程、没有后台任务,打开、列表与绘制都不调用模型。验证记录见 34 项真实 Chromium 回执(含按 DOM 变更量而非耗时衡量的绘制代价守卫)(含画板入口以纯画布打开、420px 窄栏下工具栏收纳与画布占满整栏、按实测路径量出的连线夹角下限、粘贴 Mermaid 后写入画板并再导出、打开 draw.io 文件(含 draw.io 自己保存的压缩页)后写入画板并再导出为 .drawio,以及空形状不阻塞保存)与 7 项原生 DSH 回执,设计与边界见 docs/whiteboard-design.md。

画板与 draw.io 双向互通:.drawio/mxGraph XML(未压缩与他们保存的压缩形式都读)可以从「☰ → 源文件与来源 → draw.io」导入并走同一条「校验并应用」,也能把画板导出成 draw.io 与官方 draw.io MCP 都能打开的文件;无法表达的部分逐条带行号报告。同一份格式之上还有本仓库自己的 MCP 服务器 mcp/server.mjs(stdio、零依赖、默认只读、画板路径限定在 --root 内):读写可读源文件与 .drawio,加 --library <文献库> 后另外提供三个只读文献工具(检索、元数据、批注),node scripts/mcp-probe.mjs mcp/server.mjs --root <目录> 可直接查看它的工具面。许可证核查、实测的格式契约与边界见 draw.io 互通与 MCP。

独立画板(GitHub Pages)

同一份画布代码也作为一个独立静态画板发布在 GitHub Pages 上,不需要 DSH、不需要服务器: https://mappedinfo.github.io/dsh-paper-library/ (用 URL 渲染仓库里的源文件:?src=boards/example.json)(2026-09-18 已用真实浏览器在线核对:资源可访问、可绘制、刷新后恢复、自动排版、连线与折线、导出 PNG、并用 URL 渲染仓库源文件,零第三方请求,见 线上回执)。它由 .github/workflows/pages.yml 在 main 上自动构建部署;页面里的文献库、阅读器、对话引用控件在独立模式下隐藏而不是假装可用。存储用的是浏览器 localStorage(按来源与浏览器各自独立,容量约 5 MB,上限 40 张画板 / 4 MiB,界面会报告用量),因此「导出 JSON」才是长期备份;导入同标识的文件不会覆盖,而是另存为新画板。独立站支持 PNG 导出(按模型绘制,不依赖页面样式与字体)。构建与边界见 docs/board-pages.md,本地回执见 docs/validation/board-standalone.json(15 项,含粘贴 Mermaid 成图),线上回执见 docs/validation/board-pages-live.json(node scripts/verify-pages.mjs 可随时复核,其中也验证 Mermaid 入口可用)。所有回执的「回执 ← 复现命令」索引见 docs/validation/README.md。

实时伴学

在连接 DSH 的阅读页打开工具栏「实时伴学」,此后保存或修改带文字评论的批注会自动排队,使用本篇论文当前的 DSH 模型回应。连续约 1.8 秒内修改同一条待处理批注会合并;不同批注依次回应。单纯高亮、历史批注和 AI 回复不会自动重发。「保存并放入主对话」仍只准备草稿。

AI 按连续阅读方式回应释义、复述、追问、批判或联想,区分原文依据、读者理解和 AI 推断。需要时留下可稍后验证的问题,不强制当场考试,也不把解释过等同于已经掌握。每次只发送当前批注与所在物理页最多 7,000 字符的文字;不是全文、图表或 OCR 解读。复杂问题可以继续在同一篇论文的对话中补充材料。

任务和状态保存在 DSH 主机,关掉阅读页后继续;完成后回复写进 PDF,显示在来源批注下面。未开始的任务重启可恢复;不确定的生成不会默默重试。批注下显示等待、已保存或失败,PDF 写回失败可只重试保存已有回答。停止生成仍使用 DSH 主对话的停止按钮。关闭伴学会暂停未提交的任务,已交给 DSH 的任务继续完成。

这一版由插件内保存事件触发,不监听 WPS 或其他阅读器中的文件修改。也不自动更新私有伴学档案、数学基础库或领域知识库;这些知识沉淀仍属于明确选择材料后的工作流。实现与恢复规则见 API。

数据集与知识工作流

「库」支持按全部/文献/数据集检索和筛选。点击「添加数据集」登记名称、创建者、发布者、入口、许可与覆盖范围;无需 PDF 或介绍论文。数据集可以有多个版本,每个版本保留独立的 DOI、引用键和引用信息。未知版本保持为空。

在数据集页面「关联论文」,或在论文工具栏「数据集」,记录提及、引用、实际使用、发布或介绍关系。用途、使用范围、实际版本、原文、已知页码及核对状态分别保存;两边都能查询关系。名字相同不会自动合并,AI 提议始终待审阅。

「连接文件」登记运行 DSH 的主机上的文件绝对路径,或只保存远程入口。点击预览才读取本地 CSV/TSV/JSONL:最多 100 行、50 列、512 KiB 响应;另有 4 MiB 输入、64 KiB 单行和 2 秒解析预算。遇到预算或编码问题明确显示部分结果与原因。这里不会下载整个数据包、复制大文件、统计全量或为整个目录建立内容索引。

从论文、数据集或版本打开「知识工作流」:保存摘录或选择已保存批注,勾选本次材料,再生成关系草稿或知识笔记草稿。调用当前条目的 DSH 原生模型,一次最多 40 条来源、合计 24,000 字符;不会扫描全库。原文快照固定在主机目录,已有批注后来改变时可显式检查,新旧版本分开保留。模型建议先待审阅;接受笔记草稿后,还可以编辑并保存为 Markdown。审阅草稿时可点「结构检查」做只读体检:无支撑主张、孤立节点、未被引用的证据、重复关系与悬空端点会逐条列出,不自动修改草稿。

插件内置三个项目技能:paper-library-knowledge 负责 Evidence/Observation/Claim、Edge/Assertion 的有来源编码;paper-library-notes 负责可读笔记;paper-library-review 负责论文证据图谱评审(案例拆分、八维编码、归因三态、联合覆盖反拼接、逐项状态机),并在后台整理时自动生成一份「证据图谱评审」待审草稿。它们使用插件工具和当前 DSH 模型,不安装原技能的私有专家库、Wiki 自动发现或 Zotero 依赖;个人阶段标准与投稿侧重放在使用方自己的私有仓库,通过 reviewProfile 配置注入,不随插件发布。

数据集、版本、关联、固定来源和结构化草稿位于资料库 SQLite;笔记正文在 knowledge/notes/*.md,草稿和生成请求记录使用 DSH-home 文件存储。支持 CAS 冲突提示、显式核对和中断后的笔记恢复。浏览器缓存不承担持久化。

导出范围有明确区别:APA/BibLaTeX/CSL JSON 是引用元数据;CSL JSON 还保留数据集与版本的身份映射。「导出知识记录」包含当前范围的已审核图、笔记及它们引用的来源。「RKOS」是带映射和损失报告的兼容子集;原版不支持的数据集原生来源仍保留在知识 JSON 中。以上均不等同于包含原始文件、全部草稿与会话的整库备份。详见实施与存储约定和验证记录。

文献工作台

库标题行提供紧凑检索。表格题名和作者各占最多两行,完整题名可悬停或聚焦查看;更多列通过表格内部横向滚动浏览。
一个文件夹,里面装着 .tex 和对应 PDF,就可以登记为 LaTeX 项目:源码、参考文献与编译产物留在原处,插件只索引主文件与页面。顶栏「LaTeX」打开工作台:左侧是带行号的编辑器(自动保存、⌘S、修订号冲突提示),右侧预览编译后的 PDF 页面,工具栏可「编译」「与上一版对比」「项目对照」;底部可以「问 DSH」(选区或整篇作为有界上下文,就地回答、不改文件)与「生成修改提案」(逐字替换的提案先审后写,接受时走同一套 CAS 写入并记为 ai:<model>)。原生工具 library_latex 读、library_latex_edit 写:列出项目内文件、带修订号地读写 .tex、调用你本机的 latexmk 编译(xelatex / pdflatex / lualatex,可设超时,失败时给出错误行与日志尾部)、渲染项目 PDF,并在同一文件的历史版本之间或两个项目之间做 unified diff。写入是原子且带 CAS 的,路径始终被限制在项目目录内,clean 只删构建副产物。设计与边界见 LaTeX 项目(编辑器面板、DSH 提问与人机互写是下一步)。

数据同步服务(例如 Vault Sync)同步来的 PDF 目录可以按符号链接纳入同一个访问地址:在插件设置里填同步服务配置文件路径,再写上选中哪些目录(或 [{"select":"all"}]),书库下会出现 external//… 的虚拟文件夹,几千个 PDF 不复制、不移动、不删除,扫描按大小/修改时间增量进行。第一次给其中一篇写批注时才复制进 pdfs/,同步目录始终只读。配置、扫描预算、重命名与文件消失的处理见外部文献源。不配置时插件与从前完全一致,两个插件都可以独立安装。

带 PDF 的文献默认阅读全文并自动整理。通过 DSH 导入或关联 PDF 后,文献进入主机队列;选中尚无整理记录的论文也会排队。读取范围留空表示全部,也可填写 1-5,8。使用本篇论文的 DSH 模型构建有出处的图谱并提出基础资料建议,不向主对话发送消息。

从导入到草稿的完整链路、每阶段写下的数据与存放位置见落库后的自动解析流程(含 Mermaid 图与数据产出对照表)。

「新增或选中文献后自动整理」和「完成后补齐空缺资料」默认开启,可在插件或 DSH 设置中关闭。关闭自动整理会暂停待处理队列,当前任务可单独取消。已有、失败、取消或中断的整理记录不会自动重跑,可点击「重新整理」。补缺只采用有原文依据的建议,保留已有值、DOI、引用键和 JCR;AI 填入内容仍待核对,并发修改时停止补写。升级保留已保存的开关选择。

全文按小批次连续读取:一次最多访问 8 页、8 段文字、24,000 字符;长页按文字位置继续读取,整篇不受 8 页限制。不同论文可有界并行整理(部署项 analysisConcurrency,1–4,默认 2),同一篇论文内部仍逐批串行,逐批保存来源和图谱;界面显示已完成页数,可切换批次审阅。扫描页和图像暂不做 OCR,未读取内容不纳入结论。整理完成后会基于已落盘的批次图谱再生成一份精读笔记草稿(一句话概括、研究问题、核心主张附页码、方法与数据、主要结果、局限与疑点、证据等级、待核实与未覆盖),同样待核对;笔记生成失败不影响已保存的图谱与资料。

在所需批次勾选节点并点击「选中材料加入论文对话」,只把选中节点及其关系加入草稿。关闭页面后队列继续运行,重启后恢复尚未开始的排队项;结果不确定的模型调用不会自动重发。取消或后续批次失败时,已完成批次仍可查看。分批图谱分别保留来源,当前不会自动合并跨批次同名节点。所有记录位于主机磁盘,不扫描现有全库寻找待处理项。

侧栏卡片以两行 12 px 题名、一行作者/年份,以及紧凑的期刊/引用键/PDF 行展示文献。完整信息可通过卡片提示或打开文献查看;标签与分区保留在表格和详情中。展开表格后,可新建元数据条目、编辑资料,按标题、第一作者、年份、期刊、引用键、导入/修改时间或 JCR 排序。检索、排序和分页由磁盘目录完成,不会打开全库 PDF。JCR 排序使用已提供记录中最新年份的最差学科分区,详情仍显示各条分区及来源。

「移入回收站」保留论文身份、管理副本 PDF、批注和图谱记录;在文献范围中选择「回收站」,点击「恢复」即可返回文献库。回收站中的文献不能直接阅读或编辑,先恢复后继续使用。

资料表单支持作者对应机构及发表、在线发表、印刷发表、收稿和接收日期。日期可以只填已知的年或年月。「补全资料」按已保存的 DOI 或论文链接获取公开元数据,身份匹配后仅补缺,打开可核对的编辑草稿;保存前不会改动目录或 PDF。已有手工资料与 JCR 记录保留。JCR 每条记录须有年份、学科、Q1–Q4 分区及来源;插件不依据引用次数或影响因子猜测分区,也不会把 Crossref 注册日期、更新日期或 arXiv 提交日期当作期刊收稿/发表日期。

图谱按论文保存读者添加的节点、方向关系、原文、解释、来源和已知页码。元数据节点只读,需通过资料编辑改变;读者节点和关系可编辑、删除,删除节点会同时删除其读者关系。每次最多显示 200 个节点、400 条关系,超出时提示缩小范围。未知页码留空,相同姓名不会自动合并为同一个人。交互与边界见工作台设计约定,调用方式见 API。

论文对话

首次建立论文对话时,沿用当时 DSH 会话可读取的模型选择和推理强度;没有来源选择时采用 Harness 默认。之后由这篇论文的主对话管理模型,插件显示其实际选择。模型服务、对话历史、工具执行和权限处理均由 Harness 提供。需要查看完整历史、处理工具权限或停止回复时,点击「打开主对话」。

尚未发送消息时,对话已经保存,但 DSH 侧栏会隐藏非当前的空对话,当前空对话则显示「新会话」并收起主页面标题栏。可以从论文的「打开主对话」进入;首次发送后,侧栏会正常显示论文标题。

「查看/调整」支持检索、按页筛选和多选,每页显示 20 条。目录最多读取 1,000 条用户批注,原文和评论各显示 240 字符摘要;发送前会核对所选版本并读取完整正文。已编辑的选中项需显式采用当前版本,已删除项需移除。「全部」只在目录完整且身份可区分时可用,排除 AI 回复。

默认一次来源预算为批注原文、评论与选文合计 24,000 字符,超过时提示减少选择、分次提问,不会静默截断。部署方可用 maxAnnotationCharacters 调整至 1,000–96,000;这不是模型的上下文长度保证。尚未实现自动分批汇总。选文上限为 8,000 字符,问题上限为 4,000 字符。
引用会保存不可变的私有快照。之后编辑 PDF 不会改变已经放入主输入框的材料,失败重试继续使用同一快照。保存、选择和排队都不单独计作「已发送」;只有原生会话实际记录来源正文并确认持久化,才更新「未发送/发送后已更新/已发送」状态。长期对话压缩后可以重新选择旧批注,「已发送」不代表模型始终记得。

插件内只显示最近最多 20 条已提交的用户/AI 文本,每条最多 6,000 字符,总计最多 48,000 字符。点击历史中的「查看当次引用」可读取固定材料并返回 PDF 页码。主对话使用 DSH 原生 Paper Library 上下文显示来源正文;输入标签可打开快照检查器。刷新后标签暂时恢复为普通引用 token,仍可发送和查看,尚不自动重建标签。批注带上题名、引用键、真实页码及标识,与问题分别记录;AI 回复仍需由读者判断。

对话历史保存在 Harness,标准批注和已保存的 AI 回复保存在 PDF,引用快照保存在文献库的私有 .paper-library/ 目录。快照用于复现当次发送材料,PDF 仍是可编辑批注的权威来源。引用与问题草稿按论文保存到本机,每条记录上限 256 KiB;内存工作集受限,旧草稿不会因切换论文而被淘汰。发送版本投影最多保留 5,000 个身份,超出时返回不完整标识。回复关联只采用本轮已实际写入 DSH 日志、且与固定快照一致的批注引用,不根据 AI 措辞猜测,也不把上一轮引用自动沿用到无引用的追问。旧的未关联回复若仍能在当前历史窗口找到可靠引用,会补上关联并保留原文;否则保持未关联状态。归档的论文对话会显示状态;当前 Harness 没有供插件调用的恢复归档接口,插件不会自动复制对话。移动文献库目录后,目前不会自动迁移原来的论文会话对应关系。详见持续批注与对话引用。

自动获取与命名

支持公开 PDF 直链、DOI、arXiv 链接,以及带论文下载元数据的页面。文件按流写入磁盘,再用 PDF 解析器检查可读性。默认读取最多前三页和文件内元数据;检测到 DOI 时,在线题名必须与 PDF 解析标题匹配,才补全作者、年份等字段。不会因正文出现了另一篇论文的 DOI 就替换当前资料。

管理副本命名为 作者-年份-标题--稳定标识.pdf;缺失作者或年份使用 unknown-author / undated,显示“资料待核对”。编辑资料后文件名随之更新。来源链接、获取记录和解析依据保留在条目及 PDF 内。仅取得元数据时明确显示“尚未取得 PDF”,可以稍后补入已有文件。

插件内置 paper-fetch-skill 的独立文献库版本:paper-library-fetch,通过 Harness 技能目录提供给当前会话。可以在 DSH 中要求“用 paper-library-fetch 把这个 DOI / 链接的论文保存到文献库”,技能调用插件的 library_import,继续使用会话现有模型。内置公开下载流程,不需要额外安装 Zotero、MCP 服务或浏览器抓取运行时。改编来源见 出处记录。

导入队列最多 50 项,PDF 上限 250 MiB。一次失败不会阻断后续文件,结果面板提供重试或重新拖入提示。扫描件暂不自动 OCR;需要登录、验证码或付费的页面可能只能取得元数据,此时使用已有合法 PDF 继续导入。

从 Zotero 迁移

支持 CSL JSON、Zotero/Better BibTeX 风格 JSON 的 items 数组、RIS 和 BibTeX。带 attachments[].path 的 JSON 可保留相对目录结构并一并复制 PDF;保留 citationKey / citation-key / Citation Key:。BibTeX、RIS、CSL JSON 主要用于文献元数据,不能保证携带附件和原生批注。

只有 Zotero 数据库中存在的批注,需要先导出到 PDF,或提供带位置数据的 JSON。 原样复制 Zotero 存储目录中的 PDF 不一定带有这些批注;Zotero 官方说明对此有明确区分。插件可读取已嵌入的外部批注,也可导入 JSON 中带 annotationPosition 的高亮和文字批注;缺少坐标会显示警告。

导入前保留 Zotero 原库及导出副本。重复 DOI、同来源引用键、相同 PDF 哈希会去重;引用键与不同论文发生冲突时明确跳过并报告,避免误合并。当前不迁移 Zotero 收藏夹层级、独立笔记、快照附件或文字处理器中的动态引用字段。

批注跟随 PDF 的方式

- 标准 PDF /Highlight、/Text 对象保存高亮和评论,/Contents 是普通可读评论;包含作者、日期、标识与坐标。
- CSL 元数据作为 paper-library.csl.json 内嵌附件保存,复制 PDF 后重新导入可恢复标题和引用键。
- 支持导出 XFDF、JSON 和 Markdown。PDF 中的批注为权威数据,检索目录不会替代它。
- 写入前保留上一版 PDF 到资料库 backups/,验证新文件后原子替换;每篇仅保留一个上一版备份。恢复时关闭该文件,复制对应备份覆盖管理副本后刷新。
- 加密、带签名及需修复的 PDF 拒绝写入。外部阅读器可能改写或删除自定义元数据,原生高亮和评论仍按标准对象读取。

已通过 PDF 复制至新位置、导入全新资料库后的批注恢复测试。WPS 的实际保存往返尚未验证;本机原生应用自动化未成功完成打开副本,因此没有将格式测试宣称为 WPS 兼容性认证。当前没有 WPS 动态引用插件。

内存设计与验证

按约 2,000 条记录、1,000 个 PDF 设计验证规模。SQLite FTS5 trigram 索引在磁盘,缓存预算 2 MiB;短于 3 字符的查询使用字面检索回退。检索不会打开 PDF。PDF 渲染、修改和 CSL 引用格式化均使用短时进程,完成后退出;界面只保留当前页,隐藏 Harness 阅读面板时卸载 iframe。

PDF 上传和下载均使用流式处理,不做整份 Base64 拷贝。服务器限制同时接收的 PDF / JSON 请求,导入队列还设有独立载荷预算,避免大量排队的元数据文件持续占用内存。下载只在导入时触发;资料补全仅在导入或点击「补全资料」时按需请求。
打开论文时只保存一份轻量的原生对话记录,不启动智能体,也不调用模型;批量导入时不会为所有文献启动对话。批注目录只在当前论文打开、保存或明确刷新时按需解析,快照检查器只保留当前预览。插件只在当前对话视图可见时刷新有限历史,隐藏后停止刷新。真正打开 DSH 主对话或发送消息后,智能体的驻留与释放由 Harness 管理;当前未测量大量已激活对话长期阅读后的总内存。

没有常驻向量模型、后台 OCR 或全库 PDF 预解析。目前快速检索覆盖元数据和摘要,不包含全文检索。这是当前版本的功能边界,不能据此判断 Zotero 的高内存原因。

本轮合成 2,000 条记录/1,000 个 PDF 的检查中,读取一篇 45 条批注的论文、打开另外 20 篇冷会话并刷新历史 30 次后,Harness 主进程闲置 RSS 为 569.88 MiB,采样最大值为 602.17 MiB;精确批注读取的短时 PDF worker 峰值为 58.14 MiB。历史刷新没有打开 PDF,闲置时没有 PDF worker 或活跃智能体。上述数字不包含浏览器,不能相加当作应用总峰值,也不能与较早的独立运行直接比较性能改进。详细方法见验证记录。合成文件是小型文字 PDF,不能代替真实扫描件/大图 PDF 的容量验证。

安装与开发

Node ^22.19 || >=24、Python >=3.11、uv 和已构建的本地 DeepSeek Harness。

git clone https://github.com/mappedinfo/dsh-paper-library.git
cd dsh-paper-library
npm ci --ignore-scripts --legacy-peer-deps
uv sync --locked
npm run build
node scripts/install-harness.mjs --harness /absolute/deepseek-harness --home /absolute/dsh-home --profile web

将示例中的路径替换为本地已构建的 Harness checkout 和目标 DSH 配置目录。不传 --home 时安装脚本使用项目内隔离 profile;不会默默修改用户全局配置。脚本仅链接声明的 Harness 运行时依赖,并调用官方插件命令注册。重装依赖后可重新运行它恢复本地依赖链接。源码通过 GitHub 发布;private: true 仅防止意外发布到 npm。

独立本地界面与 JSON CLI:

npm start -- --library /absolute/library --port 43121
node src/cli.mjs --library /absolute/library < request.json

默认服务仅监听 127.0.0.1,拒绝跨来源写入;Harness 内使用其现有认证服务。论文对话不读取其他应用的密钥,不创建第二套服务配置。部署配置支持绝对路径 library、python;localStateHome 可覆盖状态文件所在的 DSH home。provider、model、maxOutputTokens 保留给原有独立反馈 API,论文对话和语言工具使用 Harness 自身的论文会话配置。语言生成独立使用 maxLanguageOutputTokens,默认 8,192,以容纳完整译文和词汇释义。analysisConcurrency 控制同时自动整理论文的上限,默认 2,可调 1–4。translationServer 可指向一个自部署的本机 Zotero translation-server(仅回环 http,如 http://127.0.0.1:1969):「补全资料」在主路径(Crossref/页面元数据)取不到结果时,把同一 DOI/arXiv/页面链接交给侧车的 translators 再试一次;候选条目仍须通过既有的 DOI/题名人身份核对才生成可核对草稿,不会写目录。插件不打包、安装或启动该服务(其许可证为 AGPL-3.0,见 第三方许可),也绝不向它发送 PDF 正文、批注或草稿。详见 API 与 cordis.patch.yml。

验证命令:

node scripts/validate.mjs
npm run test:harness
uv run python scripts/benchmark.py --output artifacts/capacity-new
node --expose-gc scripts/benchmark-node.mjs artifacts/capacity-new/library artifacts/capacity-new/node-report.json

测试使用合成数据,产物与文献目录不进入 Git。CSL 使用官方 APA 样式与 citeproc-js,BibLaTeX 使用 Citation.js;出处、版权声明及依赖的许可义务见 THIRD_PARTY.md。

当前共享侧栏更新通过 297 项 JavaScript、105 项 Python 测试,以及 13 项侧栏浏览器流程;另重跑通过 12 项主题和 18 项阅读流程。浅色/深色下验证了紧凑卡片、文献与批注切换、左右移动、阅读位置保持、批注编辑、表格和窄屏/全屏恢复;合成卡片最大高度约 84.06 px,低于测试上限 90 px。侧栏检查没有调用模型、外部请求或浏览器存储写入。

主题专项的 12 项浏览器检查覆盖浅色/深色、430/741/1400 px 布局、键盘焦点、抽样文字对比度和不刷新页面的主题/字号同步。同步检查使用真实 DSH 样式和插件桥接代码,主题事件来自隔离测试环境;验证范围见对应回执。

此前语言学习与本机保存通过两套独立浏览器上下文的 12 项流程,以及真实 DSH 的 6 项集成检查:覆盖翻译、优化、难词积累、跨浏览器草稿、冲突恢复和重启后的幂等重试。该里程碑也验证了阅读、目录工作台、主对话引用的 17、13、11 项浏览器流程;这些专项流程保留此前证据。模型输出采用确定性本地替身,没有外部模型请求。自动化测试、安装核验和此前容量测量的准确范围见验证记录。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

💬 加入社群

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

DPharness QQ 群二维码,QQ 扫码进群
QQ 扫码进群
DPharness 飞书群二维码,飞书扫码进群
飞书扫码进群