前言¶
在 DeepSeek Harness(dsh)裏,跨會話信息如果只靠上下文窗口承載,新會話開始後容易丟失:項目偏好、歷史教訓、用戶約定等需要反覆說明。已有做法通常是手工維護筆記,或在提示詞裏反覆貼背景;前者依賴人工整理,後者容易佔用較多 token 並干擾緩存。
DSH 的插件生態強調以插件擴展能力。社區目錄是獨立站點,並非 DeepSeek / 幻方官方應用商店。下面介紹 Towzai 提供的 dsh-memory:一個面向 dsh 的跨會話記憶插件。
這是什麼¶
dsh-memory 是 DeepSeek Harness 插件,MIT 許可證,包名爲 @towzai/dsh-memory,倉庫爲 Towzai/dsh-memory。
它解決的是 dsh 會話之間記憶不連續的問題:把記憶寫入 YAML 文件,在後續會話中按需要檢索和注入,並保留完整細節供查看。
插件默認使用本地 ollama 和 embedding 模型;沒有 ollama 時,會降級爲純關鍵詞檢索。
核心功能¶
- 提供六個工具:
remember、recall、view、list、forget、pin。 - 記憶存儲在 YAML 文件中,默認文件爲
memory.yaml。 recall支持關鍵詞 + 本地ollamaembedding 的混合檢索,採用 RRF 融合。- 默認 embedding 模型是
qwen3-embedding:0.6b,可用環境變量DSH_MEMORY_EMBED_MODEL覆蓋。 - 注入時標題優先:會話中先看到帶
id的標題,完整內容通過view展開。 - 支持
session與auto兩級注入:session級固定記憶在會話第一步注入一次,後續隨歷史攜帶;auto級記憶按話題檢索,不污染固定記憶注入集。 - 注入記憶帶來源標註前綴
Retrieved memories from the memory store (not conversation history),避免被誤認爲對話歷史。 - 檢索匹配包含泛詞降權、關鍵詞至少 2 詞命中、檢索門控跳過測試性話語。
- 數據安全包含串行寫入隊列、損壞文件隔離備份、原子寫入、
mtime緩存失效。
安裝與啓用¶
先從 GitHub 安裝:
dsh plugin --profile <name> add github:towzai/dsh-memory
也可以用本地路徑:
dsh plugin --profile <name> add ./dsh-memory
README 還列出 npm 包方式(如已發佈):
dsh plugin --profile <name> add @towzai/dsh-memory
如果首次從 git 安裝時被 pnpm 拒絕運行 prepare,按提示在該 profile 的 pnpm-workspace.yaml 中加入:
allowBuilds:
'@towzai/dsh-memory': true
插件依賴本地 ollama 實例和 embedding 模型。默認模型爲 qwen3-embedding:0.6b,可用 DSH_MEMORY_EMBED_MODEL 覆蓋。沒有 ollama 時自動降級爲純關鍵詞檢索。
典型用法¶
下面是插件提供工具的職責:
1、remember:保存記憶,字段包括 content、title、category、tags、importance、forceInject、injectLevel、source。
2、recall:按關鍵詞 + embedding 混合檢索 top-N 結果。
3、view:按 id 展開一條記憶的完整內容。
4、list:查看標題列表,支持分類、標籤、重要性過濾;full 可看全文。
5、forget:軟刪除記憶,標記 retired 並保留歷史。
6、pin:切換 forceInject,用於讓行爲鐵則始終常駐。
一條記憶的大致結構如下:
- id: MEM-20260814-001
title: "總結標題(缺省自動推導)"
content: "..."
category: preference | project | lesson | fact
tags: [tag1, tag2]
importance: high | normal | low
created: 2026-08-14
updated: 2026-08-14
source: user | agent | conversation
retired: false
forceInject: false
injectLevel: session | auto
vector: [...]
這裏 vector 是寫入時自動計算的 embedding,用於語義檢索。
適用場景與注意¶
適合在 dsh 中需要跨會話保留用戶偏好、項目約定、歷史教訓或固定行爲規則的場景。如果依賴本地 ollama 語義檢索,需要保證本地實例和模型可用;如果只是關鍵詞檢索,也可以無 ollama 降級運行。
使用前建議檢查源碼和依賴,因爲插件代碼會在當前 dsh 進程權限下運行。該插件許可證爲 MIT,安裝和分發前應按團隊規範審閱代碼。
注意:
- 記憶文件是私有數據,建議加入
.gitignore,不要提交到倉庫。 - 更換 embedding 模型會使已存向量失效;維度不匹配會被檢測並告警。
- 插件針對 dsh
v0.1.0-rc.5開發,peerDependencies版本範圍可能需要隨 dsh 升級調整。 - npm 安裝方式取決於包是否已發佈;如使用 npm 方式,請以實際發佈狀態爲準。
結尾¶
dsh-memory 把“記住、檢索、查看、管理”放進 dsh 的工具調用鏈路裏,用 YAML 文件承載記憶,用標題優先和兩級注入控制上下文佔用。
目錄頁:
- https://www.skillhub.cn/plugins/Towzai/dsh-memory
GitHub:
- https://github.com/Towzai/dsh-memory