前言¶
用 DeepSeek Harness(dsh)跑智能體時,一個很常見的問題是:項目約定、接口位置、編碼偏好,上一輪剛說清楚,新開一個會話又要從頭解釋。短期對話窗口裝不下完整設計文檔,長期事實又沒有固定落點,最後只能靠人工複製粘貼。
DeepSeek Harness 的設計是「一切皆插件」:模型、工具、技能、會話、存儲和界面都可以替換或重組。記憶也不例外。社區目錄裏有一類專門做這件事的插件,dsh-mnemon 就是其中面向「本地優先、分層持久記憶」的方案。
本文按插件目錄頁、GitHub 倉庫 README、快速開始文檔和 package.json 覈對後整理:它是什麼、三層記憶怎麼分工、怎麼安裝,以及第一次該如何驗證。社區插件目錄 deepseek-harness-plugin.com 是獨立站點,與 DeepSeek / 幻方沒有官方從屬關係,文中涉及的安裝命令以目錄頁原文爲準。
這是什麼¶
dsh-mnemon 是一款 DeepSeek Harness 記憶插件,由 GitHub 組織 omdsh-dev 維護,許可證爲 MIT。截至 2026-08-17,倉庫語言爲 TypeScript,package.json 版本爲 0.2.2,GitHub 星標爲 62。
它把 Mnemon 接到 DSH 裏,提供統一的記憶控制面,但不要求所有知識進入同一種數據庫:
- 運行時記憶:每輪都需要的偏好、協作規則、項目約定和環境事實
- 項目檔案:設計、調查、流程、覆盤、交接這類完整敘事
- 記憶體(Memory Spaces):跨會話的事實、決策、實體與關係,按需召回
目錄頁的定位可以概括成一句話:基於 Mnemon 的本地優先持久記憶,跨 Mnemon 智能體共享長期記憶,運行時記憶和可檢索的項目文檔都留在本機。
需要分清兩件事。dsh-mnemon 是 DSH 側插件;Mnemon 是獨立的本地記憶引擎(CLI + SQLite)。插件默認把 Mnemon Native 當作第三層引擎,也可以改接其他 Provider,但前兩層的存儲和工作區模型保持不變。
三層記憶怎麼分工¶
官方文檔給了一張很清楚的對照表。三層不是同一內容的三份副本,而是按「要不要每輪出現、要不要完整閱讀、要不要跨任務召回」分開存放。
| 層級 | 適合保存 | 如何進入 Agent 上下文 | 誰來管理 |
|---|---|---|---|
| 運行時 | 偏好、協作規則、項目約定、環境事實 | 緊湊投影到 USER.md / MEMORY.md,每輪可用 |
dsh-mnemon Host 確定性管理 |
| 檔案 | 設計、調查、流程、覆盤、交接 | 先檢索,再按需讀全文 | dsh-mnemon Host 確定性管理 |
| 記憶體 | 跨會話事實、決策、實體與關係 | 從已激活記憶體召回有界證據 | Mnemon Native 或三方 Provider |
判斷規則可以記成三句:
- 每輪都需要的,放運行時。
- 需要完整閱讀的,放檔案。
- 需要跨任務按需召回的,放記憶體。
優先級也寫死了:當前指令、倉庫文件和即時工具結果,始終高於歷史記憶。普通聊天不應強制召回。
運行時的事實源是 runtime/memories.json,USER.md 和 MEMORY.md 是派生投影。容量按 UTF-8 字節計算:USER.md 上限 4 KiB,MEMORY.md 上限 10 KiB,單條內容最大 8 KiB。檔案單份正文最大 2 MiB,active 總量最大 10 MiB。這些數字來自倉庫的存儲模型文檔,不是估算。
核心功能¶
本地優先,第三層可替換¶
默認路徑不依賴雲端記憶服務。運行時和檔案是本地確定性存儲;Mnemon Native 用本地 CLI + SQLite。截至當前 README,第三層還可以接這九種 Provider:
| Provider | 形態 | 文檔中的適用方向 |
|---|---|---|
| Mnemon | 本地 CLI + SQLite | 精確寫入、實體、類型關係、本地優先共享 |
| OpenViking | HTTP + viking:// |
資源樹與異步提煉 |
| Honcho | HTTP workspace / peers | 團隊與 Agent peer |
| Mem0 | 平臺或自託管 HTTP | 已有用戶 / Agent 記憶 |
| Hindsight | HTTP memory bank | bank、實體與 Provider 原生圖譜 |
| Holographic | 本地結構化事實文件 | 可審計事實、信任評分、本地實體 |
| RetainDB | HTTP project / user | 項目與用戶雙作用域畫像 |
| ByteRover | 本地 brv CLI |
代碼知識樹與 curate 流程 |
| Supermemory | HTTP container | 文檔攝取與容器級共享 |
三方 Provider 默認關閉,必須在設置裏顯式啓用。引擎沒有圖譜邊、刪除語義或可枚舉內容時,插件不會僞造這些能力。設置頁管理可複用的 Provider 服務,記憶體頁管理具體實例、激活、作用域和元信息。
跨智能體共享有邊界¶
Mnemon 原生的 mnemon.db 不是 dsh-mnemon 私有格式。其他同樣接入 Mnemon 的智能體,只要指向同一個 storageRoot 和 Store,就可以讀寫同一份長期事實、實體和關係。
共享範圍只覆蓋 記憶體這一層。運行時記憶和項目檔案不會自動暴露給其他智能體。不能把「共享第三層記憶」理解成「自動共享完整 DSH 上下文」。
存儲範圍有三種:
global:默認使用~/.mnemon(或MNEMON_DATA_DIR),適合本機多個工作區共用一套控制面workspace:使用工作區下的.mnemon,適合項目隔離custom:顯式路徑,語義按全局處理,適合團隊約定或隔離環境
切換範圍不會自動遷移、合併或刪除舊根目錄。遠程 Provider 自己的 workspace、user、bank、project、container 和 URI 仍是各自的命名空間,切換 DSH 工作區不會暗中改寫它們。
寫入受監督,查詢有邊界¶
工作臺上的操作不是「把整段對話塞進數據庫」。README 把點擊和實際執行分開寫了:
- 檢索:併發走各 Provider 的原生召回,只讀
- Agent 查詢:新建獨立頂層任務 Agent,只接收有界證據再組織答案,只讀
- 沉澱記憶 / 存入記憶:獨立任務 Agent 判斷、選路、查重、提煉,Host 控制寫入;只有通過判斷才落盤
- 本回合記憶:展開本輪召回、寫入和檔案檢索,點擊可跳到對應頁面
這些後臺任務默認不復用、不擠佔主對話歷史。可以在「設置 → 記憶系統 → 後臺任務 Agent」單獨指定 Provider 與模型。
Web、對話和 Headless 共用一套系統¶
- Sidebar WebUI(默認):左側欄「記憶系統」工作臺,一級頁順序是狀態、運行時、檔案、記憶體
- 對話內:本回合記憶、存入記憶,可跳到對應頁面
- Headless:沒有工作臺和斜槓命令界面,但保留運行時注入、檔案檢索、記憶體工具、工作區路由和受監督寫入
- 命令:
/mnemon status、recall、related、remember、forget
DSH 各 profile 的插件清單彼此獨立。Web 裝過,不等於 Headless 也能用。
安裝與啓用¶
插件以當前 dsh 進程的權限運行,安裝時可能執行代碼。安裝前請檢查源代碼倉庫和許可證;只安裝你信任的來源。
快速開始文檔給出的推薦基線是:dsh-mnemon v0.2.0、DSH 0.1.0-rc.6、Mnemon 0.2.3 或更高。當前倉庫版本是 0.2.2。升級前先備份,並在隔離目錄重複驗證。Node 要求 >=20。
1. 先裝 Mnemon Native¶
Mnemon 是默認引擎,也是本地優先的起點。macOS 可以用 Homebrew Cask:
brew install --cask mnemon-dev/tap/mnemon
macOS / Linux 也可以用 Go:
go install github.com/mnemon-dev/mnemon@latest
mnemon --version
Windows 需要官方 v0.2.3 或更高版本的 ZIP(提供 AMD64 與 ARM64)。插件會從 PATH、GOBIN / GOPATH、%LOCALAPPDATA%\Programs\mnemon 等位置查找 mnemon.exe,不接受 .cmd / .bat 包裝。找不到時再設 MNEMON_CLI_PATH,或在用戶 settings 裏寫絕對路徑,例如:
mnemon:
cliPath: 'C:\Users\alice\AppData\Local\Programs\mnemon\mnemon.exe'
mnemon status 會打開有效 Store,可能初始化數據或執行上游遷移,不要把它當成完全無副作用的安裝探測。
2. 安裝 DSH 插件¶
目錄頁給出的安裝命令是:
dsh plugin add github:omdsh-dev/dsh-mnemon
如需可復現安裝,按目錄頁說明固定 commit 哈希:
dsh plugin add github:omdsh-dev/dsh-mnemon#<commit>
倉庫 README 和快速開始則按 profile 安裝。需要完整工作臺時:
dsh plugin --profile web add dsh-mnemon
dsh --profile web
一次性 Headless 任務要單獨裝:
dsh plugin --profile headless add dsh-mnemon
dsh --profile headless "回答前先檢查持久化的項目上下文。"
本地檢出用絕對路徑:
dsh plugin --profile web add "link:/absolute/path/to/dsh-mnemon"
升級和卸載:
dsh plugin --profile web update dsh-mnemon
dsh plugin --profile web remove dsh-mnemon
卸載只移除插件註冊,不會刪除全局、工作區或自定義目錄裏的記憶數據。
第一次怎麼驗證¶
官方快速開始把「從空白環境走到第一次可驗證召回」寫成了固定步驟。
- 打開「設置 → 記憶系統」,確認展示形態(默認 Sidebar)和存儲位置(默認全局
~/.mnemon)。保存後會初始化新運行圖並切換 Host,一般不用刷新瀏覽器。 - 打開左側欄「記憶系統 → 狀態」,確認右上角「已連接」,Mnemon 與 dsh-mnemon 能顯示版本,Runtime、Documents、Memory Spaces 沒有錯誤。
- 打開「記憶體 → 概覽 → 創建記憶體」,手動選擇已啓用的 Provider。本地優先起步就選 Mnemon Native,名稱寫清楚主題,說明裏寫「哪些內容屬於這裏、什麼任務應召回」,然後打開讀取激活。
- 點右上角「沉澱記憶」,填一條穩定、自包含、未來仍有用、不含祕密 的信息。只有點確認纔會啓動獨立任務 Agent 寫入;取消彈窗不會改狀態。
- 打開「記憶體 → 檢索」,先做直接檢索,再對同一問題做 Agent 查詢。結果應能看到記憶體來源、分類、重要性和 ID。
對話裏也可以用命令:
/mnemon status
/mnemon recall <聚焦查詢>
/mnemon remember <內容>
空的 /mnemon 等價於 status。status 是確定性讀取,不啓動模型。recall 最多返回 10 條。forget 必須給一個不含空格的精確 ID,屬於破壞性操作,只有用戶明確要求、或內容已確認錯誤 / 過時才應執行。
回到對話後,如果本輪調用了記憶工具,回覆下方會出現「本回合記憶」,展開後可跳到對應頁面。「存入記憶」會先打開可編輯確認彈窗,取消不會寫入。
適用場景與注意事項¶
比較適合這些情況:
- 同一項目要跨多個會話保持約定、環境事實和決策,不想每天早上重新解釋一遍配置
- 本機有多個 Mnemon 智能體,希望共享同一份長期記憶體,但不想把數據送到雲端
- 既要每輪可見的短記憶,也要可檢索的設計文檔和覆盤,不想全部塞進一個向量庫
使用時注意下面幾條,都來自倉庫文檔,不是額外發揮:
- 權限與來源。插件以當前 dsh 進程權限運行。安裝前檢查 GitHub 倉庫 源碼和 MIT 許可證;GitHub 安裝可能在本機執行構建腳本,只允許你信任的包。
- 不要存祕密。當前沒有確定性 secret scanner。任何一層都不應保存 key、token、私鑰或原始敏感日誌。
- 憑據落盤方式。三方 Provider 憑據以權限
0600寫在state/memory-providers.json,不會返回瀏覽器、智能選擇 Agent 或 Mnemon Pack。關閉 Provider 只清理本地目錄元數據,不刪除遠程數據。 - 卸載不等於清數據。卸插件不會刪除本地或遠程記憶。切換
global/workspace/custom也不會自動搬家。 - 召回只看已激活記憶體。對未激活記憶體的讀取會被拒絕;寫入成功後,插件會自動激活該目標。
- Headless 的生命週期。一次性 runner 在 Agent 進入 idle 後退出,尚未開始的評分後臺審查會取消;任務內已經完成的顯式或模型引導寫入仍會持久化。
- 遠程 WebUI。v0.2.2 修了遠程受信頁面激活記憶體失敗的問題,並收緊了 RPC 邊界:遠程界面保留激活能力,但會禁用編輯、刪除、沉澱、備份和 Provider 配置等 loopback 寫操作。
小結¶
dsh-mnemon 要解決的不是「再做一個聊天記錄庫」,而是給 DSH 補上分層、可監督、默認可離線的記憶控制面:短事實進運行時,完整敘事進檔案,跨會話證據進記憶體。Mnemon 仍是官方優先的本地引擎,第三層可以換成其他 Provider,但不會假裝補齊引擎沒有的能力。
目錄頁與倉庫:
- 插件目錄:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-mnemon/
- GitHub:https://github.com/omdsh-dev/dsh-mnemon
- Mnemon 引擎:https://github.com/mnemon-dev/mnemon
- DeepSeek Harness:https://github.com/deepseek-ai/deepseek-harness