前言¶
在 DSH 里做内容精读,常见做法是手动拆文档、逐段让模型总结,再自己拼 Markdown。长文一多,分块策略、引用出处、输出格式都要反复调,很难稳定复用。
deep-read-summarize 把这条链路做成工作流插件:输入链接或本地文件,自动解析、分块、并行精读、合并成稿,输出带 YAML frontmatter 的 Obsidian 笔记。维护者是 PensiveFei,GitHub 上 21 stars,分类为工作流,当前版本 0.3.3,MIT 许可证。
这是什么¶
一句话:deep-read-summarize 是给 DSH 写的精读与摘要工作流——输入一本书、一篇论文、一个视频链接或网页,输出结构化 Obsidian 笔记。
项目声明为 unofficial third-party tool,与 DeepSeek / DSH 官方无从属关系;它编排的是你 DSH 环境里已有的 workflow 工具,不重新分发 DeepSeek 软件。DSH 目前处于 developer preview,接口可能变化,插件针对特定版本的 workflow 工具语义编写,升级 DSH 后建议先跑 npm test 验证。
核心功能¶
下面介绍插件已文档化的能力,均来自仓库 README。
支持的输入类型¶
- 书籍:PDF / EPUB / MOBI
- 论文:arXiv / PDF / HTML
- 视频:YouTube / B 站字幕(需本机安装 yt-dlp)
- 网页:正文提取
MapReduce 精读流程¶
内容经解析器注册表按类型分发,分三个波次执行:
输入(链接或文件路径)
│
▼
解析器注册表 ── book / paper / video / web
│
▼
波次1 获取内容 → 写入临时文件 → 生成分块计划
│
▼
波次2 N 个子代理并行精读各块(Map)
│
▼
波次3 合并成稿 + 质量校验(Reduce)
│
▼
Obsidian 笔记
子代理总数约 N+2 个,N 为分块数。各子任务输出受 JSON Schema 约束,不合格自动重试;关键结论需标注页码、章节或段落,降低编造风险。
解析器与扩展¶
内置四种解析器:book.js、paper.js、video.js、web.js,由 parsers/index.js 注册与回退。若要替换某类型的处理方式,在 custom-parsers/ 放同接口解析器即可,同名类型覆盖内置实现。接口字段为 name、types、buildPrompt(input, opts)。
失败与输出策略¶
- 配置错误(缺 input、type 非法、options 格式错):直接抛异常终止,不产出半成品。
- 内容问题(抓取失败、某块精读失败):返回
{ ok: false, stage, fatal: false };单块失败时跳过并在成稿标注缺口,不整体中断。
输出可直接放进 Obsidian,配合 Dataview 使用。一篇论文、6 块、完整模式,文档估算约 15–25k token;fastMode 配合调低 maxChunks 可省约四成。
安装与启用¶
deep-read-summarize 是 DSH 插件,可通过 npm 或本地包安装。SkillHub 目录页标记为可安装,版本 v0.3.3;具体命令以仓库 README 为准。
先做 npm 安装(已发布到 registry,无第三方依赖):
npm install deep-read-summarize
若从本地包安装,可执行:
pnpm add ./deep-read-summarize-0.3.3.tgz
然后在 dsh 配置的 dsh.profile.bundles 追加 deep-read-summarize,重启 dsh web(POST /dsh-market/restart)。
安装后自动注册:
deep-read-summarizeworkflow(meta + script)deep-read-summarize技能(skills/deep-read-summarize/SKILL.md)- 四种解析器(
parsers/)与 JSON Schema(schemas/)
验证环境(离线,不需要 API key):
npm test
看到 TOTAL: 25 passed, 0 failed 即环境就绪。Node.js 要求 >= 18。
典型用法¶
把 JSON 传给 DSH 的 workflow 工具即可触发。完整参数示例:
{
"input": "https://arxiv.org/abs/2307.09042",
"type": "auto",
"options": {
"minWords": 2500,
"fastMode": false,
"maxChunks": 6,
"requireCitations": true,
"includeTimestamps": false,
"outputDir": "./output",
"tempDir": "./.tmp"
}
}
type 可选 auto | book | paper | video | web。fastMode: true 时跳过部分章节,速度更快。maxChunks 范围 1–12,为分块上限。
常见 input 示例:
| 类型 | input |
|---|---|
| 论文 | https://arxiv.org/abs/2307.09042 |
| 书籍 | 本地路径,如 ~/books/xxx.pdf |
| 视频 | https://youtube.com/watch?v=xxx |
| 网页 | https://example.com/article |
工作流返回结构化结果:{ ok, kind, title, filePath, qualityPassed, note },其中 note 为最终 Markdown 笔记。笔记写到 options.outputDir(默认 ./output,可指向 Obsidian 仓库),文件名取自内容标题。
快速试跑可用:
{ "input": "https://arxiv.org/abs/2307.09042", "type": "paper", "options": { "maxChunks": 4, "fastMode": true } }
适用场景与注意¶
适合谁: 需要把长文(书、论文、视频、网页)系统精读并落盘为 Obsidian 笔记的 DSH 用户;希望分块并行、引用可追溯、输出格式稳定的工作流场景。
运行权限: 插件以当前 dsh 进程权限运行。抓取视频/网页会发起外部请求,由子代理在 DSH 沙箱和审批策略下执行;子代理写文件需要相应权限,权限不足时 workflow 会把内容返回,由主代理负责落盘。安装前应阅读源码与 MIT 许可证,确认符合你的安全与版权要求。
其他注意:
- 视频字幕依赖 yt-dlp;未安装不影响其他类型,抓不到字幕时会提示手动提供转写文本。
- 仓库带
dsh-plugintopic 和package.json的dsh字段,可被 dsh.so 注册表索引;SkillHub 为独立社区目录,与 DeepSeek / 幻方无官方从属关系。 - 处理有版权材料时,产出物使用责任在你;仓库不含任何受版权保护内容的提取结果。
结尾¶
经过上面的步骤,deep-read-summarize 的价值可以概括为:把「解析 → 分块 → 并行精读 → 合并校验 → Obsidian 笔记」封装成可安装的 DSH 工作流,减少手工编排子代理的成本。
- 目录页:https://www.skillhub.cn/plugins/PensiveFei/deep-read-summarize
- GitHub:https://github.com/PensiveFei/deep-read-summarize