前言¶
做智能體開發的人手頭通常都攢了不少材料:本地文檔、抓下來的網頁、隨手粘貼的片段。想用它們做問答和整理,常見做法是上傳到某個在線筆記服務,再靠它的 AI 功能——代價是數據要離開本機。
如果你已經在用 DeepSeek Harness(dsh),並且認同它「一切皆插件」的思路,其實可以在 Web UI 裏直接掛一個本地優先的知識工作臺。下面介紹的 iZY3/dsh-notebook-knowledge-studio 就是這樣一個插件:流程對標 NotebookLM,數據存在本地 Markdown 裏。
這是什麼¶
dsh-notebook-knowledge-studio 由 iZY3 維護,MIT 協議,當前版本 0.1.1。它以雙層 Cordis 插件的形式運行於 dsh 的 Web UI,提供 Notebook → Sources → Chat → Studio 四段式流程:建筆記本、收集來源、帶引用地問答、產出結構化成品。
按插件自己的說法,它是一個「NotebookLM 式本地知識工作臺」——對標的是 NotebookLM 的工作流,但存儲和檢索都留在本地。
核心功能¶
Sources:來源收集與去重¶
支持四類來源入口:
- 本地文件
- URL(抓取並提取正文)
- 粘貼文本
- 網頁搜索發現
來源按內容 hash 去重,去重策略分 update 和 anyway 兩種。Web 來源支持 Refresh,重新抓取即可更新。
Chat:帶引用的檢索問答¶
檢索用 BM25,中文走二元分詞;生成由 LLM 完成。回答中帶 [n] 形式的引用標記,點擊引用會打開來源抽屜並高亮對應引文,可以逐條覈對。證據不足時插件會明確說明,而不是編一段出來。
Studio:結構化產出¶
Studio 負責把筆記本內容加工成成品,包括:思維導圖、報告(BLUF、學習指南、FAQ、時間線等)、閃卡、測驗、信息圖、幻燈、數據表格(MD+CSV)。產物按量化規範產出,並帶 provenance,可追溯到來源。
存儲與多模態¶
知識以 OKF v0.2 Markdown 存儲,local-first,可以整體遷移;檢索索引只是可重建的緩存,丟了不影響數據本身。
多模態方面,圖片、音視頻、PDF 來源會被自動標記爲待轉寫,由已掛載的 Qwen-MM-Plugins MCP 處理後寫回。沒有檢測到 MCP 時如實降級,停在待轉寫狀態,不會僞造內容。
UI¶
主界面以 conversation.view 視圖標籤的形式接入。三欄佈局可拖寬,鍵盤 ←/→ 可調,寬度會被記住;窄容器下自動堆疊。
安裝與啓用¶
標準安裝命令:
dsh plugin --profile web add <本倉庫路徑或 github:用戶名/倉庫名>
安裝需要一個已知問題的繞過方案:Windows 下 dsh plugin add 對含空格的路徑會拆斷。如果碰到,可以這樣做:
- 進入
~/.dsh/profiles/web目錄,直接執行pnpm add "<絕對路徑>" - 把包名
dsh-notebook-knowledge-studio追加進該目錄 package.json 的dsh.profile.bundles數組
數據根目錄由倉庫內 cordis.patch.yml 的 root 配置指定,改成你的工作區路徑即可。
運行環境依賴¶
插件對環境的依賴是逐級降級的,缺失某項時行爲明確:
| 依賴 | 用途 | 缺失時的行爲 |
|---|---|---|
| dsh web profile | 宿主:tools/webServer/llm/web 服務 | 無法運行 |
| LLM 路由(如 deepseek-official) | 問答與 Studio 生成質量 | 自動降級:抽取式回答/模板產物 |
| dsh web 服務(ctx.web) | URL 導入、網頁搜索 | 相關操作報錯,其餘正常 |
| Qwen-MM-Plugins MCP | 多模態來源轉寫 | 停在待轉寫狀態,不影響其他功能 |
| pnpm | 插件安裝(dsh plugin add 轉發) |
無法安裝;已裝插件不受影響 |
也就是說,最小可用條件是 dsh web profile;LLM 路由缺失時功能不會死,只是回答和產物質量降級爲抽取式或模板形式。
典型用法¶
裝好之後,先在 Web UI 打開插件的視圖標籤,建 Notebook、添加 Sources,然後在 Chat 裏提問、在 Studio 裏產出。兩條開發側的驗收命令:
npm test # 23 個單元/集成測試(node --test)
node scripts/e2e.mjs # API 端到端驗收(需 dsh web 已啓動)
第一條跑單元與集成測試,第二條做端到端驗收,前提是 dsh web 已經啓動。
代碼結構上值得一提:host 半(lib/*.mjs + lib/index.js)零外部包導入,承擔 tools 和 HTTP API;client 半(lib/client.js)是純 DOM 實現,走 __ModuleLoader__ 工廠格式,沒有構建鏈。package.json 標記爲 private: true,不是一個發佈到 npm 的庫,而是隨 dsh profile 分發的插件。
適用場景與注意¶
適合的人羣很明確:已經在跑 dsh、希望把問答和資料整理留在本地、不想把文檔傳給第三方服務的開發者。如果你主要在網頁端用 NotebookLM 且不在意數據出境,這個插件對你沒有額外收益。
使用前有兩點務必留意:
- 插件以當前 dsh 進程的權限運行,它能訪問你的進程能訪問的一切。安裝前先讀一遍源碼和許可證(MIT),確認沒有問題再裝。
- 檢查上面那張依賴表,尤其是 LLM 路由和 Qwen-MM-Plugins MCP 是否已掛載——它們決定了問答質量和多模態來源能不能真正轉寫。
小結¶
dsh-notebook-knowledge-studio 把 NotebookLM 式的「來源—引用問答—結構化產出」流程搬進了 dsh 的 Web UI,數據以 OKF v0.2 Markdown 存在本地,索引可重建、產物帶 provenance。對想在自己環境裏做本地知識工作的 DSH 用戶來說,是一個值得試的插件。
- 目錄頁:https://www.skillhub.cn/plugins/iZY3/dsh-notebook-knowledge-studio
- GitHub:https://github.com/iZY3/dsh-notebook-knowledge-studio