前言¶
在 DeepSeek Harness(DSH)裏做智能體開發時,常見問題不是「模型不夠強」,而是上下文裏缺少你可覈查的個人知識:筆記在 Obsidian 裏已經積累很多,對話裏卻要一次次口頭重複背景;檢索不到就要靠模型猜,引用也對不上真實文件。社區目錄將 nineberg/dsh-plugin-obsidian-memory 歸爲「記憶」類插件,定位是讓 Agent 能檢索本地 Obsidian 庫、按路徑引用筆記,並把會話產出寫回庫中。倉庫由 nineberg 維護,是 zhaoxuejie/dsh-plugin-vault-memory(v0.4.0,MIT)的改良分支,並針對 DeepSeek Harness 0.2.2-rc.1 做了兼容與 GUI 調整;npm 包名仍爲 dsh-plugin-vault-memory,當前版本 0.4.0,許可證 MIT。
這是什麼¶
一句話:把本地 Obsidian vault 變成 DSH web 側 Agent 的長期記憶與工作臺——索引與檢索、新會話記憶注入、捕獲存筆記、可拖拽懸浮球/中央面板,以及庫健康巡檢。索引、檢索與巡檢默認在本機完成;語義檢索可選用本地 Ollama(bge-m3)或兼容的雲端端點。
相對上游,nineberg 分支在資料中列出的主要修復包括:進程級單次 HTTP 路由註冊(避免重掛載後舊路由導致 GUI 報 “index missing”)、路由註冊重試(避免掛載早於 webServer 就緒的 404)、配置保存在無舊版 settings API 時回退到 ~/.dsh/vault-memory.settings.json,以及懸浮卡片與 plugin-island 生態的交互與錯誤角標調整。
核心功能¶
Agent 工具集¶
在對話裏用自然語言即可觸發能力;規則是引用必須帶筆記路徑,找不到則明確說明,不編造。README 中的對照示例如下(背後實現以插件爲準):
| 你想做什麼 | 直接說 | 背後 |
|---|---|---|
| 翻舊筆記 | “庫裏有沒有 Docker 相關筆記?” | 全文檢索(中文分詞) |
| 按條件找 | “查 tools/ 下近 30 天改過的筆記” | 結構化查詢(目錄/標籤/時間) |
| 讀某篇全文 | “把《Git 合併》筆記讀給我” | 帶行號讀取 |
| 意思相近的 | “搜跟 Windows 命令行相關的” | 語義檢索(本地模型,可選) |
| 關聯推薦 | “這篇筆記跟哪些有關聯?” | 入鏈/出鏈/同標籤/共引,帶理由 |
| 保存成果 | “把這段整理成筆記存進庫” | 自動 frontmatter + 關聯建議 |
| 體檢 | “庫裏有孤兒/斷鏈嗎?” | 只讀巡檢報告 |
新會話開頭可自動注入「記憶快照」(庫狀態、活躍項目、近期筆記),減少每次從零介紹背景。
知識庫 GUI(web)¶
面向 web profile:懸浮球、側欄「知識庫」圖標、以及與 Plugin Island 的靈動島收納/拖出,三種形態數據同源、位置可記憶。懸浮球在庫有異常時可顯示紅色計數徽標;卡片與中央面板共用四個 Tab:
- 概覽:各庫健康(筆記數、斷鏈、待審、趨勢、語義狀態等)
- 捕獲:預覽 → 保存 → 在 Obsidian 打開
- 審查:巡檢建議逐條批准/忽略;批准前自動備份
- 配置:在線增刪庫與開關,保存即生效
巡檢管家¶
默認每日 03:00 可配置的定時巡檢,生成帶理由的建議清單(孤兒筆記、斷鏈、缺總覽等)。只建議、批准後才寫盤,寫前自動備份;忽略後同類建議可在配置的天數內(資料示例爲 30 天)不再提醒。可選高級規則(需語義嵌入)包括語義相近未互鏈、疑似重複、過期複審等。
安裝與啓用¶
插件以當前 DSH 進程權限訪問你配置的 vault 路徑,安裝前建議查看 GitHub 倉庫 源碼與 MIT 許可聲明。
npm 安裝(README 推薦)¶
# 安裝到 web profile(裝完需完全重啓 dsh,不是僅刷新頁面)
dsh plugin --profile web add dsh-plugin-vault-memory
配置 Obsidian 庫路徑¶
在插件設置頁添加,或編輯 ~/.dsh/settings.yaml:
dsh-plugin-vault-memory:
vaults:
- path: D:\path\to\your-vault # Obsidian 庫絕對路徑
label: main # 可選:顯示名稱
完全重啓 dsh 後,瀏覽器右下角應出現書本圖標懸浮球,左側欄出現「知識庫」圖標,即表示 web 客戶端側已加載。
可選:語義檢索¶
ollama pull bge-m3
在浮卡「配置」中開啓語義檢索並保存;新筆記會自動嵌入。不可用時插件會回退到關鍵詞檢索。
典型用法¶
- 問庫內事實:例如「庫裏有沒有 Docker 相關筆記?」——應返回命中列表並帶文件路徑,而非無出處概括。
- 結構化篩選:例如限定目錄與時間窗口的查詢,適合按項目文件夾維護筆記的習慣。
- 收尾存庫:對話裏要求「把這段整理成筆記存進庫」,會走 frontmatter 與關聯建議;若提示「同名已存在」,README 說明爲不覆蓋設計,需換標題或目錄。
- 定期體檢:在「審查」Tab 處理孤兒/斷鏈等建議,僅在你批准後改盤。
上游文檔鏈接(功能演進以 nineberg 分支 README 爲準):使用教程、設計與開發文檔。
適用場景與注意¶
適合誰:已在 Obsidian 中維護個人/項目知識庫、希望在 DSH web 環境裏讓 Agent 可查、可引、可回寫 同一套 Markdown 的開發者或重度筆記用戶。
環境要求:面向 web profile 客戶端(package.json 中 dsh.client.platform 爲 web)。未看到懸浮球/側欄時,資料建議完全重啓 dsh,或清除瀏覽器 localStorage 後刷新;檢索提示「未配置 vault」時需在浮卡「配置」中添加庫路徑。
權限與隱私:筆記默認不出本機;雲端語義端點爲可選項。插件能讀寫的範圍等於你配置的 vault 路徑及 DSH 進程權限,請勿指向無意共享的目錄。
生態說明:DSH 採用「一切皆插件」的擴展方式;SkillHub 目錄頁 爲社區收錄,與 DeepSeek / 幻方無官方從屬關係。
結尾¶
nineberg/dsh-plugin-obsidian-memory(npm:dsh-plugin-vault-memory)把 Obsidian vault 接到 Harness Agent 的工具鏈與 web GUI 上:檢索與引用有路徑約束,產出可捕獲回庫,巡檢在批准與備份前提下整理庫結構。進一步瞭解請查看目錄頁 nineberg/dsh-plugin-obsidian-memory 與源碼倉庫 https://github.com/nineberg/dsh-plugin-obsidian-memory。