Preface¶
Developers working on intelligent agents usually accumulate a lot of materials: local documents, scraped web pages, and pasted snippets. To use them for Q&A and organization, the common approach is to upload them to an online note-taking service and rely on its AI features—the trade-off is that the data leaves the local machine.
If you are already using DeepSeek Harness (dsh) and agree with its philosophy of “everything is a plugin,” you can actually mount a local-first knowledge workspace directly in the Web UI. The iZY3/dsh-notebook-knowledge-studio introduced below is exactly such a plugin: the workflow benchmarks against NotebookLM, and data is stored in local Markdown files.
What is this¶
dsh-notebook-knowledge-studio is maintained by iZY3, licensed under MIT, current version 0.1.1. It runs in the dsh Web UI as a double-layer Cordis plugin, providing a four-stage workflow: Notebook → Sources → Chat → Studio. This includes creating a notebook, collecting sources, asking questions with citations, and producing structured outputs.
According to the plugin’s own description, it is a “NotebookLM-style local knowledge workspace”—it benchmarks against the NotebookLM workflow, but storage and retrieval remain local.
Core Features¶
Sources: Source Collection and Deduplication¶
Supports four types of source entry points:
- Local files
- URLs (scraped and body text extracted)
- Pasted text
- Web search discoveries
Sources are deduplicated by content hash, with two deduplication strategies: update and anyway. Web sources support Refresh; re-scraping updates them.
Chat: Retrieval Q&A with Citations¶
Retrieval uses BM25 with bigram tokenization for Chinese; generation is handled by the LLM. Answers include citation markers in the form [n]. Clicking a citation opens the source drawer and highlights the corresponding quote, allowing for cross-checking. If evidence is insufficient, the plugin explicitly states this rather than fabricating content.
Studio: Structured Output¶
Studio is responsible for processing notebook content into final products, including: mind maps, reports (BLUF, study guides, FAQs, timelines), flashcards, quizzes, infographics, slides, and data tables (MD+CSV). Products are generated according to quantifiable specifications and include provenance, allowing traceability to sources.
Storage and Multi-modal¶
Knowledge is stored in OKF v0.2 Markdown, local-first, and can be migrated as a whole; the retrieval index is just a rebuildable cache, and losing it does not affect the data itself.
Regarding multi-modal content, images, audio/video, and PDF sources are automatically marked for transcription. They are processed by the mounted Qwen-MM-Plugins MCP and written back. When MCP is not detected, it degrades gracefully, stopping at the pending transcription state without fabricating content.
UI¶
The main interface integrates via the conversation.view view tab. The three-column layout can be dragged wider, adjusted with the keyboard ←/→, and the width is remembered; it stacks automatically in narrow containers.
Installation and Enabling¶
Standard installation command:
dsh plugin --profile web add <本仓库路径或 github:用户名/仓库名>
The installation requires a workaround for a known issue: dsh plugin add on Windows splits paths containing spaces. If you encounter this, you can do this:
- Enter the
~/.dsh/profiles/webdirectory and executepnpm add "<absolute_path>"directly. - Append the package name
dsh-notebook-knowledge-studioto thedsh.profile.bundlesarray in that directory’s package.json.
The data root directory is specified by the root configuration in cordis.patch.yml in the repository; just change it to your workspace path.
Runtime Environment Dependencies¶
The plugin’s environment dependencies degrade step-by-step, and behavior is clear when a dependency is missing:
| Dependency | Purpose | Behavior when missing |
|---|---|---|
| dsh web profile | Host: tools/webServer/llm/web services | Cannot run |
| LLM Router (e.g., deepseek-official) | Q&A and Studio generation quality | Automatic degradation: extractive answers/template outputs |
| dsh web service (ctx.web) | URL import, web search | Related operations error out, others proceed normally |
| Qwen-MM-Plugins MCP | Multi-modal source transcription | Stays in pending transcription state, does not affect other functions |
| pnpm | Plugin installation (forwarded by dsh plugin add) |
Cannot install; installed plugins are unaffected |
In other words, the minimum viable condition is the dsh web profile; if the LLM router is missing, functionality doesn’t break, but answer and output quality degrades to extractive or template forms.
Typical Usage¶
After installation, first open the plugin’s view tab in the Web UI, create a Notebook, add Sources, then ask questions in Chat and produce outputs in Studio. Two development-side acceptance commands:
npm test # 23 unit/integration tests (node --test)
node scripts/e2e.mjs # API end-to-end acceptance (requires dsh web to be running)
The first runs unit and integration tests, the second does end-to-end acceptance, provided dsh web is already running.
Worth mentioning regarding code structure: the host half (lib/*.mjs + lib/index.js) has zero external package imports, handling tools and HTTP API; the client half (lib/client.js) is a pure DOM implementation, using the __ModuleLoader__ factory format, without a build chain. package.json is marked as private: true, not a library published to npm, but a plugin distributed with the dsh profile.
Use Cases and Precautions¶
The target audience is clear: developers already running dsh who want to keep Q&A and material organization local and don’t want to send documents to third-party services. If you mainly use NotebookLM in the web interface and don’t care about data leaving the region, this plugin offers no additional benefit to you.
There are two points to note before using:
- The plugin runs with the permissions of the current dsh process; it can access everything your process can access. Read the source code and license (MIT) before installing to confirm there are no issues.
- Check the dependency table above, especially whether the LLM router and Qwen-MM-Plugins MCP are mounted—they determine Q&A quality and whether multi-modal sources can be truly transcribed.
Summary¶
dsh-notebook-knowledge-studio brings the NotebookLM-style “source → citation Q&A → structured output” workflow into the dsh Web UI. Data is stored locally in OKF v0.2 Markdown, indexes are rebuildable, and outputs include provenance. For DSH users who want to perform local knowledge work in their own environment, this is a plugin worth trying.
- Directory Page: https://www.skillhub.cn/plugins/iZY3/dsh-notebook-knowledge-studio
- GitHub: https://github.com/iZY3/dsh-notebook-knowledge-studio