前言¶
在 DeepSeek Harness(DSH)裏做智能體或長對話開發時,常見問題是:新開一輪對話就丟掉偏好、約定和踩坑記錄,只能反覆口頭交代上下文。把「值得長期保留的結論」落到本機、並在後續對話裏自動召回,是比每次粘貼長 system prompt 更穩的做法。dsh-nodal-memory(上游倉庫包名 dsh-local-memory,v2)面向 DSH 桌面配置,也提供可雙擊運行的獨立界面,數據默認只在本機、可不聯網使用。
這是什麼¶
- 目錄標識:SkillHub 上的 2132774831/dsh-nodal-memory,分類爲記憶;維護者 2132774831。
- 一句話:DeepSeek Harness 純本地長期記憶 v2——SQLite 存儲、中文二元組檢索、記憶關係圖、可選語義檢索;也能當獨立軟件運行。
- 版本與許可:
package.json中爲 2.6.1,MIT;v1 已停更,舊版見 dsh-memory-plugin。
核心功能¶
跨對話落盤與召回¶
插件讓對話中產生的長期結論寫入本地庫,後續會話由宿主側自動回憶 / 自動存儲(具體工具與路由在 src/host/)。默認不調用大模型、不需要 API key;數據路徑爲 ~/.dsh/dsh-local-memory.db,插件與獨立軟件共用同一庫。
中文檢索(二元組 + FTS5)¶
SQLite FTS5 默認分詞對中文不友好;v2 寫入時額外生成二元組切分列(例:我喜歡喫牛肉麪 → 我喜 喜歡 歡喫 喫牛 牛肉 肉面),兩字詞可命中且減少過度匹配。排序爲:
score = relevance × importanceFactor × decay × usageBoost
decay 按類別設半衰期(工作 365 天 / 偏好 730 天 / 情感 60 天);usageBoost 用對數抑制高頻霸榜;陳舊條仍可搜到但後移,精確命中不丟棄並可標記時效警告。
類別與補標¶
寫入時按本地詞表粗分 工作 / 偏好 / 情感,證據不足爲「未分類」;類別影響半衰期。DSH 設置裏「本地記憶」分區可做列表與補標;誤判可在補標頁修改。
記憶關係圖¶
五種確定性關係自動連線(無需 API key):共現(同次檢索同時命中)、共享標籤(idf 加權)、語義相近(向量餘弦,需可選 embedding)、同項目、時間相鄰。界面支持力導向聚簇、孤立與疑似衝突標記。
直覺頁¶
「該想起的」側重重要且久未使用;「疑似衝突」只給候選與理由,不自動改數據。
一套 UI、兩個入口¶
關係圖、卡片、聯想、直覺、設置等完整界面只在獨立軟件 app/ 維護。DSH 插件側爲輕量設置 +「打開完整記憶界面」:宿主 /dsh-local-memory/open 檢測實例、必要時用 DSH 自帶 Node 拉起服務再跳轉;單實例鎖、閒置約 10 分鐘自動關閉(上游 DSH 退出後,有輪詢請求則暫不收)。
可選語義檢索¶
關閉時關鍵詞檢索照常。開啓後在設置頁配置 OpenAI 兼容 embedding 端點(例:https://api.siliconflow.cn/v1,模型 BAAI/bge-m3);僅發送記憶正文與查詢詞。DeepSeek 官方無 /embeddings,其 key 不能用於此處。失敗自動降級爲關鍵詞檢索。
安裝與啓用¶
作爲 DSH 插件¶
裝完後必須重啓 DeepSeek Harness(運行中實例不熱加載插件)。
# 從本地目錄
dsh plugin --profile desktop add <本倉庫絕對路徑>
# 或從 tarball
dsh plugin --profile desktop add ./dsh-local-memory-2.0.0.tgz
重啓後在 DSH 網頁端 → 設置 → 左側 「本地記憶」(settings.section,order 28)。
作爲獨立軟件¶
node app/server.mjs --open
或雙擊倉庫內 啓動記憶軟件.cmd(壓縮包中爲 start.cmd)。端口由系統分配,實例信息寫在 ~/.dsh/local-memory/instance.json。首次啓動自動建庫。
從 v1 遷移:
node scripts/migrate-v1.mjs --from ~/.dsh/dsh-local-memory.json
運行環境:engines.node 要求 >= 20。
典型用法¶
- 安裝插件並重啓 DSH,在設置 → 本地記憶查看列表或補標。
- 需要關係圖 / 直覺頁時,點「打開完整記憶界面」,或單獨運行
node app/server.mjs --open。 - 需要「換說法也能搜到」時,在獨立軟件設置頁填 embedding 端點,再執行「給歷史記憶補向量」。
配置與數據位置:
| 項 | 位置 |
|---|---|
| 記憶庫 | ~/.dsh/dsh-local-memory.db |
| 插件配置 | ~/.dsh/dsh-local-memory.v2-config.json |
適用場景與注意¶
適合:希望 DSH 對話跨項目保留本機記憶、又要在瀏覽器裏管理關係圖與衝突候選的開發者;也可不裝 DSH,僅用獨立軟件管理同一格式數據。
注意:
- DSH 插件在當前 dsh 進程權限下運行;安裝前請自行審閱 GitHub 源碼 與 MIT 許可證。
- SkillHub 爲社區目錄,與 DeepSeek / 幻方無官方從屬關係;安裝命令以上游 README 爲準,勿憑倉庫名臆造
dsh plugin add github:...形式。 - v2 暫不提供 v1 的 Markdown / Kun / Hermes 導入導出;需可先 v1 導出再
migrate-v1.mjs。 - 可選語義檢索會訪問你配置的兼容端點,其餘默認不聯網。
結尾¶
dsh-nodal-memory 把長期記憶固定在 SQLite、用二元組改善中文檢索,並用關係圖與直覺頁做本地可解釋的聯想與衝突提示;插件負責接口與跳轉,完整界面與單實例生命週期由獨立軟件統一維護。查閱目錄頁 SkillHub 與倉庫 GitHub 獲取最新說明與發佈包。