前言¶
DeepSeek Harness (DSH) 本身沒有記憶插件。當新會話開始時,模型對上一個會話裏定下來的約定、踩過的坑、你的偏好一無所知。這個插件補上這一層,讓 DSH 能夠在會話之間共享背景事實。
設計上有一條硬約束:不爲了“記住”再多花一次錢。它不調用任何 LLM 進行摘要、打分或裁決,所有讀寫操作基於本地文件系統和純字符串匹配。
這是什麼¶
這是一個由 linshenyuan 開發的 DSH 插件,分類屬於“記憶”。
它將記憶存儲爲 Markdown 文件,不額外調用任何 LLM。插件負責去重、衝突檢測、審計日誌和設置面板,模型只需通過工具調用決定“寫什麼”和“什麼時候寫”。
核心功能¶
-
跨會話長期記憶
記憶持久化存儲在本地文件系統中,新會話可以讀取舊會話的內容。 -
純本地字符串匹配
讀取和寫入均不涉及 LLM 調用。去重基於sha256哈希,關鍵詞檢索基於本地字符串匹配(NFKC 歸一化)。 -
多維度檢索
支持按scope(project/user/both)、topic(精確)和keywords(全文關鍵詞)讀取記憶。 -
衝突檢測與裁決
同一topic下出現結論不同的新條目時,新條目會被標記[待裁決]並凍結,直到人工或通過設置面板裁決。 -
審計日誌
記錄所有保存、去重、衝突、更新和拒絕操作,記錄在runs.jsonl中,並支持啓動時的流水自檢。 -
設置面板管理
提供瀏覽、用量、衝突和審計四個視圖,支持在線修改記憶上限和裁決衝突。
工作方式¶
插件通過三層結構將記憶注入上下文:
-
L1 · 規矩段(常駐系統提示)
一段固定的系統提示,告訴模型記憶庫的位置、何時該寫、topic如何命名。它被插入到系統提示詞的索引 150 處(DEPLOYMENT_PERSONA_PREFIX和PLAN_POLICY之間),作爲背景事實而非策略。 -
L2 · 按需讀取
記憶不再在會話開始時批量注入。模型在需要背景時調用memory_read工具。支持三種取法疊加:
-scope:限定作用域。
-topic:精確匹配某個主題。
-keywords:全文關鍵詞檢索(支持空格、逗號、頓號、分號分隔),按總分降序返回。 -
L3 · 條件提醒
只有在累計修改了多個非記憶文件卻未寫入任何記憶時,纔會注入一條提醒,提示模型“該記了但沒記”。
安裝與啓用¶
插件通過 DSH 的插件機制進行安裝和啓用。
注:資料中未明確提供具體的 dsh plugin add 命令,通常需通過插件目錄或配置文件管理。
啓用後,插件會自動在 DSH 的工作區生成記憶文件(如 MEMORY.md)。
典型用法¶
- 寫入記憶
模型調用memory_save工具寫入內容。
// 示例:寫入一條關於縮進風格的項目記憶
{
"topic": "indent-style",
"content": "項目統一使用 2 空格縮進",
"mode": "update"
}
mode 支持 update(替換舊條目)和 append(補充信息)。
- 讀取記憶
模型調用memory_read工具按需獲取。
// 示例:讀取項目作用域下 topic 爲 "indent-style" 的記憶
{
"scope": "project",
"topic": "indent-style"
}
- 管理面板
在 DSH 的設置面板中找到“記憶”導航項,可以查看記憶用量、分類分佈、衝突列表和審計日誌。
適用場景與注意¶
此插件適合需要長期維護項目上下文、偏好設置或技術約定的工作流。
注意事項:
- 插件運行在當前 DSH 進程內,使用進程內鎖機制串行化讀寫操作,防止文件覆蓋。
- 默認衝突凍結,需要人工介入裁決,避免模型被相互矛盾的信息干擾。
- 插件爲 MIT 許可證,可自由使用和修改。
結尾¶
dsh-memory 解決了 DSH 缺乏持久化記憶的問題,通過本地文件系統實現了零成本的跨會話記憶能力。更多細節可參考:
- GitHub 倉庫
- 技能目錄頁