dsh-reading-workbench:把 DSH 变成阅读工作台

前言

在 DSH 里做智能体开发时,对话上下文往往来自代码仓库、文档或临时粘贴的片段。若你同时在读小说、技术书或长文 Markdown,常见做法是另开阅读器,再在聊天里手动摘抄段落——Agent 看不到你「正在读哪一段」,划线笔记也很难和会话对齐。

dsh-reading-workbench(维护者 keyboard-leo)是面向 DeepSeek Harness 的社区插件:在 DSH 内提供书架、分页阅读器与划线批注,并通过只读 Agent 工具把书库、划线与正文节选接到对话里。插件托管于 SkillHub 目录页,源码见 GitHub。DSH 生态遵循「一切皆插件」;社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。

下面介绍插件定位、能力、安装方式与典型用法;事实以仓库 README 与 package.json 为准。

这是什么

一句话:把 DeepSeek Harness 变成阅读工作台——书架、分页阅读、划线批注,并让 Agent 能直接读到你在读的正文相关数据。

  • 包名:dsh-reading-workbench(npm 描述:DSH 阅读工作台:书架、Markdown/TXT 阅读、划线批注与对话联动)
  • 当前版本:0.1.0,许可证 MIT
  • 运行时要求:@deepseek-ai/dsh >= 0.2.0-rc.2(见 package.json 中 dsh.engines 与 peerDependencies)

README 记载的开发状态:三期功能已完成并通过真实实例验收(2026-10-19);含滚轮翻页、TXT 段落重排等本轮改动。多格式(EPUB / MOBI / PDF)已在真实实例验收。

核心功能

书架与格式

  • 书架:封面网格展示书目;支持 Markdown / TXT / HTML / EPUB / MOBI / PDF,另可将网页书源抓取为本地章节书。
  • 导入与编码:文本类导入走二进制通道,Host 侧按 BOM → UTF-8(严格)→ GB18030(严格)解码;损坏检测与 TXT 虚拟单元切分等契约见 README「文本编码契约」一节(面向维护者,普通使用者只需知悉:老 GBK 文本应能正确导入,已错误解码的副本需重新导入)。

分页阅读器

  • 布局:单页 / 双页 / 自适应;滚轮与键盘翻页;进度按「页码 + 百分比」双锚点保存。
  • 实现要点:基于 CSS 多栏排版与横向平移翻屏,字号、页宽变化会触发重排并重算页数。
  • 阅读设置:字号、行距、页宽、明暗主题;TXT 可切换「自动合并折行 / 保留原样」。

划线批注

  • 选中文本可划线入库并高亮;笔记可通过 PATCH /highlight?id= 更新(正文不可改)。
  • 锚点采用文本字符偏移(章节书带章节序),页面重排后仍可恢复;过长选区(>600 字符)会拒绝。
  • PDF 暂不支持划线(README 明确说明)。
  • 划线可与对话联动:Agent 通过工具读取划线与节选,人类在 GUI 中完成划线与笔记编辑。

Agent 工具(只读)

在对话中询问「我有哪些书」「某段讲了什么」时,Agent 可调用以下工具(不提供写入/删除):

工具 参数 说明
reading_books — 书架列表(书名/作者/格式/进度);render 输出可读书单
reading_highlights bookId? limit? 划线批注(含笔记),按时间倒序;可跨书查询
reading_excerpt bookId offset? length? 正文节选(单次上限 4000 字);章节书剥成纯文本,图片占位为 [图片]

安装与启用

在目标 profile 下执行 README 给出的安装命令:

dsh plugin --profile <profile> add dsh-reading-workbench

将 <profile> 换成你实际使用的 DSH profile 名称。

尚未发布到 npm 时,README 说明也可用源码目录安装:在 profile 的 package.json 里以 link: 指向插件目录,并把包名加入 dsh.profile.bundles。Host 侧代码改动需重启 DSH 才生效(Node ESM 模块缓存;仅 disable/enable 不会重载模块)。

典型用法

  1. 安装插件并重启 DSH(若你改过 Host 侧 link 安装),确认插件 fiber 为可用状态;若 list_plugins 仅显示 fiberPhase: "failed",README 建议抓宿主 stderr 排查,而非仅凭界面猜测。
  2. 在 DSH Web 客户端打开阅读工作台:导入本地书籍或按插件能力添加书源;从书架点封面进入阅读态。
  3. 阅读与进度:用方向键、空格、PgUp/PgDn、滚轮或左右热区翻页;调整字号、主题、单双页等设置;退出后再打开应能恢复进度锚点。
  4. 划线:选中正文 → 浮动「划线」→ 在「划线 N」抽屉中写笔记;需要时在对话里让 Agent 调用 reading_highlights 或 reading_excerpt 结合当前阅读内容回答问题。

对话侧无需额外配置工具名以外的魔法参数;节选长度受 reading_excerpt 单次 4000 字上限约束,长文应分段查询或使用 offset 定位。

适用场景与注意

适合谁

  • 希望在 同一套 DSH 环境里管理电子书/长文,并让人机对话引用书库与划线的开发者或重度阅读用户。
  • 需要 EPUB、MOBI、PDF 与 Markdown/TXT 混放书架,且接受 Web 内分页阅读体验的场景。

使用前请知悉

  • 插件以 当前 DSH 进程权限运行,会读写其配置的数据目录;安装前请阅读 源码仓库 与 MIT 许可证,自行评估信任边界。
  • 社区插件非官方应用商店分发;版本与契约以仓库 README 及当日 inspect 为准。
  • README 记录了在 vm 沙箱 Host 环境下的兼容修复(如 inject 声明 tools、process/Buffer 不可用等);若你使用特殊沙箱配置,升级插件后仍建议做一次书架打开与工具调用冒烟测试。

结尾

dsh-reading-workbench 把书架、分页阅读、偏移锚点划线与三套只读 Agent 工具收进 DSH,减少「阅读器与对话割裂」带来的摘抄成本。若你要在 Harness 里长期囤书并与 Agent 共读,可从目录页了解卡片信息,并按 README 安装:

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

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

Xiaoye