dsh-reader:在 DSH Web 右侧栏阅读工作区内的书籍

前言

在 DeepSeek Harness(DSH)里写智能体、改工作区时,参考资料往往就放在当前项目目录:EPUB、Markdown、TXT 或导出的 HTML。若每次用系统默认应用或另开浏览器标签打开,既要离开 Web GUI,又难以和会话并排对照。dsh-reader 是 DSH 生态里的一类客户端插件:在 dsh 的 Web 界面右侧栏注册 reader 标签,点开即在同一页面内浏览已注册工作区中的读物,并记住上次阅读位置。下文介绍其定位、能力、安装方式与使用时的边界。

这是什么

dsh-reader 由维护者 guiyuan77 发布,属于 DSH 插件目录中的客户端分类。一句话定位:DeepSeek Harness 的右侧栏阅读器——文件取自 dsh 自己注册的工作区,在面板内渲染 EPUB、TXT、Markdown、HTML;PDF 交由浏览器原生查看器。按 README 说明,插件零运行时依赖、不写工作区文件、自身不请求任何非本机服务。

核心功能

下面按 README 功能表归纳已核实能力。

发现与打开

  1. 书架:递归扫描工作区找书(深度 ≤ 5,自动跳过 node_modules、dist、.git 等);EPUB、PDF 优先排序。
  2. 目录浏览:逐层展开工作区,点开任意文件即读。

格式支持

格式 行为
EPUB 自写 ZIP 解析(中央目录 + DecompressionStream),读 OPF 与 spine 分章,插图正常显示;书内 <style> / <script> / 事件属性一律剥掉
TXT UTF-8 严格解码失败时回退 GB18030,保留原始换行
Markdown 标题、列表、代码块、行内码、粗体、引用
HTML DOMParser 解析后剥掉脚本、样式与事件属性,按当前主题排版
PDF 浏览器原生查看器,非面板内自绘

阅读体验

  • 续读:按「工作区 + 书籍路径」记住章节与滚动位置;切书、收起面板、刷新页面都会先落盘(进度存在浏览器 localStorage)。
  • 主题:跟随 dsh / 纸白 / 护眼 / 夜间(默认跟随);深色下书里写死的黑字自动回落为主题色。
  • 老板键:面板内按 Esc 收起整个右侧栏,会话区不受影响;再展开时标签、章节、滚动位置保留。

快捷键

键 作用
Esc 收起右侧栏(目录抽屉或设置浮层打开时先关它们)
← → EPUB 翻章;TXT / Markdown 滚动一屏
j k 上下滚动

配置项

在 profile 的插件条目里给 config,不填则用默认值:

字段 默认 说明
roots [] 额外允许的阅读根目录(绝对路径);不填则只认 dsh 已注册的工作区
maxBytes 134217728 单文件上限(128 MiB),超过返回 413

安装与启用

插件尚未发布到 npm,需用 GitHub 形式安装。需要 dsh 0.2.x(package.json 中 engines.dsh 为 >=0.2.0-rc.1 <0.3.0-0 等区间)。当前插件版本为 0.1.0。

先做安装,再重启 Web 服务:

dsh plugin --profile web add github:guiyuan77/dsh-reader

plugin add 会改写 profile 的 package.json 与 node_modules;跑着的会话 UI 会断开,会话记录不丢。装完后必须重启 dsh web 才生效。插件自带 cordis.patch.yml(dsh.bundle.patch),安装时由 bundle 层自动插入条目,不需要手工编辑 profile。插件没有构建步骤,从源码安装即可用。

典型用法

经过上面的安装与重启后:

  1. 点右侧栏的 +。
  2. 在引导页选择「阅读器」卡片。
  3. 若上次会话仍保留该标签,会直接恢复。

在书架或目录树中选书即可阅读;EPUB 可用左右方向键分章,长文可用 j / k 滚动。需要快速收起界面时,在面板内按 Esc。

数据边界与已知限制

安全与权限

插件以当前 dsh 进程权限运行;安装前宜自行查看 GitHub 源码 与 MIT 许可证。

  • 只读:不写、不删、不改工作区里的任何文件。
  • 路径:只能读到 dsh 已注册的工作区,以及 roots 里显式授权的目录;越界或未注册为 403。
  • 网络:插件自身只访问本机 /reader/api/*,不上传书籍内容。
  • 内容净化:脚本、表单、内嵌框架、书外样式表均被剥除;EPUB 插图只从包内解析。正文里写死的外链图片仍会由浏览器按普通网页规则加载——与直接在浏览器打开该文件相同。

功能边界

README 列出的限制包括:不做标注、书签、全文搜索;EPUB 不支持 ZIP64、不渲染书内 CSS;PDF 下焦点进入原生查看器后 Esc 可能不冒泡到面板;不做章节级分页;不做网络隔离(敏感书籍请选无外链版本)。

结尾

dsh-reader 把「工作区里的书」收进 DSH Web 右侧栏,适合需要在写 Harness、对照文档时少切窗口的开发者。生态上 DSH 奉行「一切皆插件」;社区目录 SkillHub 插件页 为独立站点,与 DeepSeek / 幻方无官方从属关系。源码与详细说明见 github.com/guiyuan77/dsh-reader。

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

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

Xiaoye