dsh-notebook-knowledge-studio:在 DSH Web UI 裏跑一個 NotebookLM 式本地知識工作臺

前言

做智能體開發的人手頭通常都攢了不少材料:本地文檔、抓下來的網頁、隨手粘貼的片段。想用它們做問答和整理,常見做法是上傳到某個在線筆記服務,再靠它的 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:來源收集與去重

支持四類來源入口:

  1. 本地文件
  2. URL(抓取並提取正文)
  3. 粘貼文本
  4. 網頁搜索發現

來源按內容 hash 去重,去重策略分 updateanyway 兩種。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 對含空格的路徑會拆斷。如果碰到,可以這樣做:

  1. 進入 ~/.dsh/profiles/web 目錄,直接執行 pnpm add "<絕對路徑>"
  2. 把包名 dsh-notebook-knowledge-studio 追加進該目錄 package.json 的 dsh.profile.bundles 數組

數據根目錄由倉庫內 cordis.patch.ymlroot 配置指定,改成你的工作區路徑即可。

運行環境依賴

插件對環境的依賴是逐級降級的,缺失某項時行爲明確:

依賴 用途 缺失時的行爲
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 且不在意數據出境,這個插件對你沒有額外收益。

使用前有兩點務必留意:

  1. 插件以當前 dsh 進程的權限運行,它能訪問你的進程能訪問的一切。安裝前先讀一遍源碼和許可證(MIT),確認沒有問題再裝。
  2. 檢查上面那張依賴表,尤其是 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
羽毛球分组比赛记分
小程序二维码

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

小夜