Foreword

In DSH, intensive reading of content is commonly done by manually splitting documents, summarizing paragraph by paragraph with models, and then assembling the Markdown yourself. As the length of texts increases, the chunking strategy, citation sources, and output format all require repeated adjustments, making stable reuse challenging.

deep-read-summarize transforms this pipeline into a workflow plugin: input a link or local file, automatically parse, chunk, perform intensive reading in parallel, and merge into a draft, outputting an Obsidian note with YAML frontmatter. Maintained by PensiveFei, it has 21 stars on GitHub, is categorized as a workflow, current version 0.3.3, MIT license.

What is this

In one sentence: deep-read-summarize is an intensive reading and summarization workflow designed for DSH—input a book, a paper, a video link, or a webpage, and output a structured Obsidian note.

The project declares itself as an unofficial third-party tool, with no affiliation to DeepSeek or DSH official; it orchestrates existing workflow tools in your DSH environment and does not redistribute DeepSeek software. DSH is currently in developer preview, with interfaces that may change. The plugin is written for specific versions of workflow tools; after upgrading DSH, it is recommended to run npm test first to verify.

Core Features

Below are the documented capabilities of the plugin, all from the repository README.

Supported Input Types

  • Books: PDF / EPUB / MOBI
  • Papers: arXiv / PDF / HTML
  • Videos: YouTube / Bilibili subtitles (requires yt-dlp installed locally)
  • Webpages: text extraction

MapReduce Intensive Reading Workflow

Content is dispatched via a parser registry by type, executed in three waves:

Input (link or file path)
  │
  ▼
Parser Registry ── book / paper / video / web
  │
  ▼
Wave 1  Fetch content → Write to temp file → Generate chunking plan
  │
  ▼
Wave 2  N sub-agents parallelly read each chunk (Map)
  │
  ▼
Wave 3  Merge into draft + quality verification (Reduce)
  │
  ▼
Obsidian Note

The total number of sub-agents is approximately N+2, where N is the number of chunks. Each sub-task output is constrained by a JSON Schema; failures trigger automatic retries. Key conclusions must cite page numbers, sections, or paragraphs to reduce fabrication risk.

Parsers and Extensions

Four built-in parsers: book.js, paper.js, video.js, web.js, registered and fall-backed by parsers/index.js. To replace the processing for a type, place a parser with the same interface in custom-parsers/; same-named types override built-in implementations. Interface fields are name, types, buildPrompt(input, opts).

Failure and Output Strategies

  • Configuration errors (missing input, invalid type, wrong options format): throw an exception immediately, aborting without producing partial output.
  • Content issues (fetch failure, chunk reading failure): return { ok: false, stage, fatal: false }; skip the failed chunk and mark the gap in the draft, without overall interruption.

The output can be directly placed in Obsidian for use with Dataview. For a paper with 6 chunks in full mode, the document is estimated at about 15–25k tokens; fastMode combined with a lower maxChunks can save about forty percent.

Installation and Enablement

deep-read-summarize is a DSH plugin, installable via npm or a local package. The SkillHub directory page marks it as installable, version v0.3.3; for specific commands, refer to the repository README.

First, perform npm installation (published to registry, no third-party dependencies):

npm install deep-read-summarize

If installing from a local package, execute:

pnpm add ./deep-read-summarize-0.3.3.tgz

Then, add deep-read-summarize to dsh.profile.bundles in the dsh configuration and restart dsh web (POST /dsh-market/restart).

Post-installation auto-registers:

  • deep-read-summarize workflow (meta + script)
  • deep-read-summarize skill (skills/deep-read-summarize/SKILL.md)
  • Four parsers (parsers/) and JSON Schema (schemas/)

Verify the environment (offline, no API key required):

npm test

Seeing TOTAL: 25 passed, 0 failed indicates the environment is ready. Node.js >= 18 is required.

Typical Usage

Trigger by passing JSON to DSH’s workflow tool. Full parameter example:

{
  "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 options are auto | book | paper | video | web. With fastMode: true, some sections are skipped for faster processing. maxChunks ranges from 1–12, setting the chunk limit.

Common input examples:

Type Input
Paper https://arxiv.org/abs/2307.09042
Book Local path, e.g., ~/books/xxx.pdf
Video https://youtube.com/watch?v=xxx
Webpage https://example.com/article

The workflow returns a structured result: { ok, kind, title, filePath, qualityPassed, note }, where note is the final Markdown note. The note is written to options.outputDir (default ./output, can point to an Obsidian vault), with the filename derived from the content title.

For a quick test run:

{ "input": "https://arxiv.org/abs/2307.09042", "type": "paper", "options": { "maxChunks": 4, "fastMode": true } }

Applicable Scenarios and Notes

Who it’s for: DSH users who need to systematically read long texts (books, papers, videos, webpages) and save them as Obsidian notes; workflow scenarios requiring chunked parallel processing, traceable citations, and stable output formatting.

Runtime permissions: The plugin runs with the current dsh process permissions. Fetching videos/webpages initiates external requests, executed by sub-agents under DSH sandbox and approval policies; sub-agents need appropriate file-writing permissions. If permissions are insufficient, the workflow returns the content for the main agent to handle saving. Before installation, review the source code and MIT license to ensure compliance with your security and copyright requirements.

Other notes:

  • Video subtitles depend on yt-dlp; non-installation does not affect other types. If subtitles cannot be fetched, a prompt will ask for manual transcription text.
  • The repository carries the dsh-plugin topic and the dsh field in package.json, allowing indexing by the dsh.so registry; SkillHub is an independent community directory with no official affiliation to DeepSeek or幻方.
  • When processing copyrighted materials, you are responsible for the use of outputs; the repository contains no extraction results of copyrighted content.

Conclusion

Following the steps above, the value of deep-read-summarize can be summarized as: encapsulating the process of “parsing → chunking → parallel intensive reading → merging verification → Obsidian note” into an installable DSH workflow, reducing the cost of manually orchestrating sub-agents.

  • Directory page: https://www.skillhub.cn/plugins/PensiveFei/deep-read-summarize
  • GitHub: https://github.com/PensiveFei/deep-read-summarize