dsh-deep-reading:DeepSeek Harness 的深度阅读插件

DeepSeek Harness (DSH) 的插件生态允许开发者扩展模型推理能力。对于阅读任务,最大的痛点在于上下文窗口限制:把整本书丢进主会话会迅速消耗 Token。dsh-deep-reading 解决这个问题:它通过拆分章节、单章子代理处理原文、主会话仅接收短结果的方式,实现 Token 效率优先的读书流程。

插件核心价值在于将「读一本书」变成一件可累积、可续读、可导出的事。它维护一份带定位的章节记忆,允许用户在不重读原文的情况下切换视角;同时支持逐字导出,确保导出的笔记与原文完全一致。

核心功能

导入与拆章

插件支持导入多种格式并自动拆章:
- 格式支持:EPUB、单个 Markdown 文件、包含多个章节的 Markdown 目录、TXT、PDF。
- 转换逻辑:TXT 和 PDF 会先通过 lib/convert.js 转换为 Markdown。转换后的全文保留在 books/<ID>/source.md 中。
- 切章规则:Markdown 按 # 一级标题切分,标题前内容算「前言」;EPUB 按书自身的 spine 结构切分。
- 段落编号:导入时会给每章正文添加 [1] [2] [3] 段落号,用于后续定位。
- 幂等性:源文件未变再导入会返回 skipped:true。

单章精读与子代理

  • 原文隔离:用户发起精读指令后,主会话会派生一个 reading_chapter 子代理。子代理带着本章原文和阅读目的独立工作,返回的讲解和状态落盘,但原文不会进入主会话。
  • 断点续读:超长章节(默认 12000 字节)会自动分节。中途断开下次可从断点续读;读完全章后状态由 partial 变为 complete。

章节记忆与复用

  • 带定位的记忆:每条 AI 解释必须带有 [n] 段落定位,写入 memory/NNN.md。记忆绑定源文件哈希,源文件变动会导致旧记忆过期。
  • 记忆不可回改:标记为 complete 的记忆一旦写入,不可修改。若后续理解改变,需在后续章节的记忆中追加修正。
  • 已读复用:dr_status 会检查记忆是否满足 complete、哈希一致、协议版本一致三个条件。若满足,标记为 reusable,后续直接基于记忆讲解,不重读原文。

工具与导出

插件提供以下核心工具:
- dr_import:导入并拆章。
- dr_read:只读模式,支持 index、range、locate、find 四种定位原文的方式。
- dr_write:写入记忆、讲解、用户笔记等。
- dr_status:查看每章状态与 reusable 判定。
- dr_usage:记录 Token 消耗,支持 report 模式汇总。
- dr_export_epub:将 lecture/*.md 逐字拼接成 EPUB3。

安装与启用

安装插件需要使用官方提供的命令,直接指定本地目录路径:

dsh plugin --profile <profile> add <本目录路径>

安装完成后,桌面版必须重启 DSH 应用才会加载插件。

典型用法

以下是一个典型的阅读流程:

  1. 导入书籍:
    导入一本书并指定 ID,插件会自动拆分章节并建立索引。
  2. 精读单章:
    对话中发起精读指令,主会话生成子代理处理本章,原文不进入主对话。
  3. 继续阅读:
    在新会话中直接说「继续读书」,插件会从第一个未完成或过期的章节开始。
  4. 切换视角:
    对已读完的章节,要求「从人物角度再讲一遍」,插件会复用记忆,不重读原文。
  5. 导出:
    使用 dr_export_epub 生成逐字收录的电子书。

注意事项

  • 扫描件限制:没有文字层的 PDF 扫描件会被拒绝导入。
  • PDF 依赖:PDF 转换依赖特定的 CMap 表和 pdfjs-dist 构建,若配置不当会导致中文静默抽空。
  • 数据结构:complete 的记忆不可回改,需通过后续章节追加修正。
  • 权限:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。

书库配置

默认书库路径为 $DSH_HOME/deep-reading/books。若需共享书库或更改路径,可在 profile 的 cordis.patch.yml 中修改 booksRoot 配置。

生态信息

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

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

小夜