前言¶
在 DeepSeek Harness(DSH)裏做智能體或日常編程協作時,上下文窗口有限,而項目約束、偏好和歷史性決策又會不斷累積。如果把整段聊天記錄或整份 Markdown 記憶庫每輪都塞進提示詞,Token 會快速增長,關鍵約束容易被噪聲淹沒;若在對話前的 pre-step 裏依賴遠程 Embedding 或向量檢索,還會引入網絡延遲,斷網時甚至可能拖慢主流程。
社區插件 dsh-memory(維護者 ROSESSSSS66,GitHub ROSESSSSS66/dsh-memory)針對上述問題,把「在線召回」和「離線整理」拆成兩條環路:快環純本地、儘量零網絡;慢環在空閒時做蒸餾、衝突調和與策略演進,並配有每日 LLM 調用配額。下面介紹其定位、能力與在 DSH Desktop 上的掛載方式。
這是什麼¶
dsh-memory 是面向 DeepSeek Desktop (DSH) 的長期記憶插件(當前資料所示版本 v0.7.0,MIT 許可)。存儲側使用 Node.js 內置的 node:sqlite 與 FTS5 全文索引,在線路徑不依賴外部 Embedding API;檢索側組合 BM25、實體圖譜、類型/時間/偏好通道、128 維本地特徵向量與圖譜擴散等多路召回,再用動態 Token 預算裝箱後注入對話。
插件歸類爲 DSH 生態的「記憶」能力。社區目錄 SkillHub 條目 獨立於 DeepSeek / 幻方官方渠道,安裝前仍建議自行審閱源碼與許可證——插件以 當前 DSH 進程權限 運行,並可讀寫本地 SQLite 與工程上下文。
核心功能¶
在線快環(對話前注入)¶
快環掛在 DSH 集成層(如 pre-step 動態記憶注入、prompt-section 穩定層注入)。資料中的設計要點包括:
- 多路混合召回:七路併發(BM25、實體圖譜、類型意圖、時間衰減、偏好直通、128D 向量、GraphRAG 拓撲擴散等),經融合打分與去重後進入裝箱。
- Token 預算控制:
governor使用次模貪心式裝箱;README 稱記憶規模從 1,000 擴到 10,000 條時,單輪動態注入 Token 波動約 0.28%(默認動態預算 1600 tokens,穩定層默認 600 tokens)。 - 延遲:徽章與文檔給出的在線檢索 p95 約在 0.6~1.4 ms 量級(純本地,無在線 Embedding 請求);與 SkillHub 簡介中的「p95 < 1ms」表述一致。
- 常駐核心記憶:內置 Letta 風格的
human/persona/project三塊;安裝或首次啓動時可自動初始化,高頻驗證的偏好可沉澱到核心層。 - 衝突與溯源:支持
supersedes因果鏈、槽位去重;寫入前對敏感憑據做正則脫敏(README 安全章節)。
離線慢環(空閒自愈與演進)¶
慢環在會話空閒時調度,依賴可選的 OpenAI 兼容 LLM 做 distill-v2、reflect-v2、consolidate-v2、Mem0 式衝突調和、RIME 檢索修復、EvolveMem 策略實驗等。默認 每日硬配額:≤ 40 次調用 / ≤ 200,000 Tokens(ledger)。
未配置 LLM 時,README 強調 在線召回仍可在本地完成;慢環相關能力則無法充分運行。側欄 記憶中心 控制台可配置宿主內置模型或外部兼容端點,550ms 防抖自動落盤。
側欄與工具面¶
- Claude Studio 風格側欄:遙測記憶水位、Memory Doctor 健康分、策略版本、配額等;界面設計僅保留「模型配置」主入口(README 說明由測試約束)。
- 斜槓指令:聊天內
/memory系列(如status、doctor、heal、core、reconcile等,文檔列出 20+ 子命令)。 - 模型工具:聚合工具
memory,以及memory_search、memory_note、memory_feedback等,供智能體在推理中按需檢索或記筆記(memory_note有每輪 ≤ 3 次限流)。
數據庫默認路徑:~/.dsh/storages/dsh-memory/memory.db。
快慢雙環如何協作¶
flowchart LR
subgraph Fast["在線快環 · 無網絡依賴"]
Q[用戶輸入] --> R[多路召回與融合]
R --> G[Token 裝箱]
G --> P[穩定層 + 動態層注入]
end
subgraph Slow["離線慢環 · 配額內 LLM"]
E[會話與反饋] --> S[空閒調度]
S --> D[蒸餾 / 調和 / 修復 / 策略進化]
D --> DB[(SQLite WAL)]
end
Fast --> DB
Slow --> DB
Slow -.->|更新記憶與策略權重| Fast
快環負責每輪低延遲注入;慢環把結構化結果寫回同一 SQLite 庫,並可能調整檢索策略。負向反饋(文檔閾值 r ≤ -0.6)可觸發 RIME 修復入隊。
安裝與啓用¶
環境要求(README):Node.js ≥ 24.0.0(使用內置 node:sqlite,資料稱無需額外 C++ 編譯工具鏈)。
在本地準備好 dsh-memory 源碼目錄後,於該目錄執行依賴安裝與構建:
npm install
npm run build
構建產物包括 dist/index.js(服務端插件入口)、dist/client.js(側欄前端)、dist/eval-cli.js(評測 CLI)。postinstall 腳本也會在安裝階段參與初始化邏輯。
掛載到 DSH Desktop¶
編輯 DSH Desktop 補丁配置(文檔默認路徑 ~/.dsh/profiles/desktop/cordis.patch.yml),追加:
- insert:
- id: dsh-memory
name: dsh-memory
config:
enabled: true
dynamicBudgetTokens: 1600
stableBudgetTokens: 600
dailyLLMCalls: 40
dailyLLMTokens: 200000
在 ~/.dsh/profiles/desktop/package.json 中爲本地包添加軟鏈(路徑改爲你機器上的實際目錄):
{
"dependencies": {
"dsh-memory": "link:/path/to/dsh-memory"
}
}
保存後 DSH 通過 HMR 加載插件,側欄出現記憶中心入口。SkillHub 頁面對安裝對象的表述爲「請安裝 DSH 插件 ROSESSSSS66/dsh-memory」,具體方式仍以上述 README 掛載步驟爲準。
配置離線慢環 LLM(可選)¶
慢環需要兼容 OpenAI 協議的 API。可在同一 config 下增加例如:
llmBaseUrl: "https://api.example.com/v1"
llmApiKey: "your-key"
llmModel: "your-model-name"
README 示例中曾引用第三方中轉服務;你也可使用 DSH 宿主內置模型(側欄配置)。密鑰將進入本地配置,請勿提交到版本庫。
package.json 中的 peerDependencies 包括 @deepseek-ai/dsh(>=0.1.0-rc.7)、@deepseek-ai/cordis、@deepseek-ai/schemastery 等,需與當前 DSH 版本匹配。
典型用法¶
工作區冷啓動與體檢¶
首次使用或換工程後,可在聊天中執行:
/memory init
強制重掃時文檔提供 /memory init --force。查看分佈與配額:
/memory status
對庫做健康檢查並可加自動修復:
/memory doctor
/memory doctor --fix
維護核心記憶塊¶
查看或更新常駐塊(human / persona / project):
/memory core project
/memory core project 本項目使用 pnpm,開發端口 8080
開發與驗收¶
維護者倉庫提供門禁命令:
npm run check
npm run eval
文檔稱內置 120 條評測用例、npm run check 覆蓋 51 個測試套件、322 項測試;聊天內也可 /memory eval 做原地迴歸。
適用場景與注意¶
更適合:長期在單一 DSH Desktop 工作區內做項目協作、希望記憶留在本機、能接受 Node 24+ 與 Cordis 補丁掛載方式的開發者。
需要留意的點:
- 權限與隱私:記憶庫和工程掃描結果落在用戶目錄下的 SQLite;安裝前請閱讀源碼與 MIT 許可證,確認脫敏與數據路徑符合你的合規要求。
- 慢環成本:離線演進消耗 LLM Token,受
dailyLLMCalls/dailyLLMTokens約束;不配置 LLM 時僅享受快環本地召回。 - 掛載方式:官方文檔以 本地
link:依賴 +cordis.patch.yml爲準,而非單純的「一條 marketplace 命令」;路徑需按操作系統填寫(README 示例含 Windows 風格路徑)。 - 生態定位:SkillHub 爲社區目錄,與「一切皆插件」的 DSH 理念一致,但不代表官方應用商店;倉庫當前 GitHub 1 star(截至撰稿所給線索),生產使用前建議自行跑
npm run check/npm run eval。
結尾¶
dsh-memory 把 DSH 對話裏的長期記憶做成「本地毫秒級快環 + 配額化慢環」的組合:快環用 SQLite FTS5 與多路召回控制注入體積;慢環在空閒時做提煉、調和與策略迭代。若你在找純本地、可解釋的 Agent 記憶方案,可以從目錄頁與倉庫 README 對照版本 v0.7.0 的配置項與 /memory 指令起步。