dsh-plugin-pdf
Verified@dylanl1/dsh-plugin-pdf · v0.1.3 · MIT · Web UI
PDF reading, annotations, navigation and selection translation for DeepSeek Harness
Install
dsh plugin add @dylanl1/dsh-plugin-pdf Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Creators
Readme
DSH PDF 阅读器
English | 中文
在 DeepSeek Harness 中一边对话,一边阅读 PDF。让模型查找相关原文、添加标注、跳转定位,再回到之前的阅读位置。
我常用 PDF 读论文和书。常用阅读器缺少多级回退,带 AI 解读和翻译的产品又常需额外订阅,于是借助 DSH 写了这个插件。
功能
- 阅读与导航:连续滚动、缩放、缩略图、文字搜索,以及可选择历史位置的多级回退。
- 标注与书签:高亮、下划线、删除线、批注、可拖动和调整尺寸的便签;编辑 PDF 内置书签及其层级。
- 翻译与解释:单词释义、音标和例句;短语与句子翻译;收集多段文字或图像区域,分别提问后发送给当前会话。
- 模型操作:读页、检索、标注、编辑书签和填写已有 AcroForm 表单,与用户共用草稿。
- 保存与恢复:撤销/重做、草稿恢复、保存/另存为和源文件冲突检测。
- OCR 与检索:区域截图、文字识别,以及基于自配 embedding 模型的语义搜索(实验功能)。索引可加入扫描页文字和图像描述。


安装
已验证 DSH 0.2.1-rc.5,其他支持版本见 package.json。
GUI:打开 插件 → 添加插件,输入 @dylanl1/dsh-plugin-pdf,安装后点击 立即启用。
CLI:将 <profile> 替换为所用 profile:
dsh plugin --profile <profile> add @dylanl1/dsh-plugin-pdf
Desktop 用户需通过应用菜单的 管理 dsh 命令… 安装自带 CLI。先启动一次 Desktop,再完全退出,以 --profile desktop 安装后重新打开;单独通过 npm 安装的 CLI 不能管理桌面版插件。
安装包自动匹配原生组件,无需本地编译。支持 macOS(Apple Silicon/Intel)、Windows x64 和 Linux glibc(x64/arm64)。
安装后从 DSH 文件栏打开本地 PDF。AI 功能使用已配置的模型或扩展引擎;语义检索需单独配置 embedding 服务,默认关闭。文档的生效策略启用后,打开时会后台建立索引;OCR 与图像描述可分别开启,可能调用远程服务并产生费用。更多限制见 SPEC。
设置自动保存。引擎统一在 PDF 设置中选择;每份 PDF 在搜索 → 当前 PDF 索引中独立开启文字识别索引和视觉描述索引。由你决定何时更新,已有结果会尽量复用,关闭语义检索则立即生效。
模型工具
- 文档:
pdf_current、pdf_open、pdf_close、pdf_info、pdf_status。 - 阅读:
pdf_page_read、pdf_page_render。 - 检索与证据:
pdf_keyword_search、pdf_semantic_search、pdf_evidence_read。 - 标注:
pdf_annotation_list、pdf_annotation_create、pdf_annotation_update、pdf_annotation_delete。 - 书签:
pdf_bookmark_list、pdf_bookmark_edit。 - 表单:
pdf_form_inspect、pdf_form_fill。 - 导航与保存:
pdf_page_jump、pdf_save。 - 图像:
ocr_recognize、image_understand。
pdf_open 只在后台打开文档;跳转需要阅读器已显示。模型编辑直接写入草稿,覆盖保存原文件仍需用户确认。参数和示例见工具文档。
扩展引擎
OCR、图像理解、翻译和 embedding 均支持第三方实现。将扩展写成独立的 DSH Host 插件,在 peerDependencies 中声明本包,通过公开 SDK 向对应服务注册后端,并安装到相同 Host profile,即可在 PDF 设置中选择。
参考 examples/ 中的 http-engines:一个提供 HTTP OCR 和图像理解后端的独立插件。接口与生命周期约定见引擎扩展。
架构
flowchart TB
Reader["Client · PDF 阅读器"] <--> RPC
Model["DSH 会话模型"] -- "工具调用" --> Features
subgraph Host
RPC["鉴权 RPC"] --> Features["PDF 领域能力"]
Features --> Copy["共享工作副本 · 草稿与撤销"]
Features --> Search["检索与证据"]
Features --> Engines["可扩展 AI 引擎"]
Search --> Copy
Search --> Engines
Copy --> PDF["PDFium · pdf-lib"]
Copy --> Storage["文件与草稿存储"]
end
阅读器与模型工具共用 Host 业务能力和同一资源会话内的工作副本,修改双向同步。原生 PDFium worker 负责渲染和文字提取。详见架构文档。
开发
npm ci
npm run native:build
npm run build
检查与测试:npm run check、npm run test:web、npm run test:coverage:project。另见语义检索配置与基准测试、打包与发布。
许可证
MIT。发布包附带所用原生组件及依赖的第三方许可证。