dsh-mnemon:爲 DeepSeek Harness 搭建三層可插拔記憶控制面

前言

在 DeepSeek Harness(DSH)裏跑智能體,上下文窗口再大,也扛不住長項目:偏好和協作約定每輪都要重複交代,設計文檔散落在倉庫各處,跨會話的事實又容易丟。把一切都塞進一個向量庫,檢索時噪聲多、寫入時難管控,Agent 還可能在不該寫的時候悄悄改記憶。

dsh-mnemon 是社區維護者 omdsh-dev 推出的記憶類插件,目前在 SkillHub 插件庫 歸類爲「記憶」,GitHub 約 205 stars、10 forks,採用 MIT 許可證。它給 DSH 提供統一的記憶控制面:運行時上下文、可檢索的項目檔案、可插拔的長期記憶體,再配合 WebUI、Headless 工具與受監督的 Agent 工作流,把「該記什麼、放哪一層、怎麼召回」拆清楚。

需要說明的是:SkillHub 是面向中國用戶的 DSH 插件社區目錄,與 DeepSeek / 幻方無官方從屬關係;DSH 本身的理念是「一切皆插件」,這類目錄便於發現與安裝,但不等於官方應用商店。

這是什麼

一句話定位:dsh-mnemonDeepSeek Harness 的三層、可插拔、Agent 驅動的記憶系統——不要求所有知識進同一種數據庫,而是用 Runtime(運行時)、Documents(檔案)、Memory Spaces(記憶體)三層分工,第三層底層可在九種 Provider 間切換。

維護者爲 omdsh-dev,源碼倉庫:https://github.com/omdsh-dev/dsh-mnemon。當前 npm 包版本爲 0.3.0(以倉庫 package.json 爲準),官方 README 標明已在 DSH 0.1.1-rc.2 上驗證。

核心功能與亮點

三層記憶,各管一類知識

層級 適合保存 如何進入 Agent 由誰管理
Runtime 運行時 偏好、協作規則、項目約定、環境事實 每輪通過緊湊的 USER.md / MEMORY.md 投影注入 dsh-mnemon Host 確定性管理
Documents 檔案 設計、調查、流程、覆盤、交接材料 先檢索,再按需閱讀完整 Markdown dsh-mnemon Host 確定性管理
Memory Spaces 記憶體 跨會話事實、決策、實體與關係 從已激活記憶體召回有界證據 Mnemon Native 或外部 Provider

簡單判斷規則:每輪都需要的放 Runtime,需要完整閱讀的放 Documents,跨任務按需召回的放 Memory Spaces。 當前指令、倉庫文件與即時工具結果始終優先於歷史記憶——三層不是同一內容的副本。

九種長期記憶 Provider,第三層可替換

官方優先的原生引擎是 Mnemon(本地 CLI + SQLite)。除 Mnemon 外,Memory Spaces 還可對接 OpenViking、Honcho、Mem0、Hindsight、Holographic、RetainDB、ByteRover、Supermemory 等 Provider。前兩層的存儲與工作區交互模型不隨 Provider 變化;外部 Provider 默認關閉,需顯式啓用。

Agent 驅動 + Host 管控的寫入路徑

「沉澱記憶」「存入記憶」等寫操作會經獨立任務 Agent 做判斷、選路、查重與提煉,Host 控制是否真正寫入;「檢索」「本回合記憶」則是確定性的 Host 只讀路徑。任務 Agent 默認不擠佔主對話歷史,可在 設置 → 記憶系統 → 後臺任務 Agent 指定專用模型路由。

多入口共用一套系統

  • Sidebar WebUI:狀態、運行時、檔案、記憶體、Provider 配置與可視化
  • 對話 UI:本回合記憶、存入記憶、跳轉對應頁面
  • Headless:無 WebUI 時仍支持運行時注入、檔案檢索、記憶體工具與受監督寫入
  • 斜槓命令/mnemon statusrecallrelatedrememberforget

自 v0.3.0 起,三層成爲可組合內核中的默認拓撲:MemoryBoot 裝配 Layer、Adapter、Strategy、Guard 等擴展點,用戶仍只安裝一個 dsh-mnemon 包即可。

安裝與啓用

插件以 當前 dsh 進程權限 運行,安裝前建議閱讀源碼與 MIT 許可證,確認可接受其數據與安全邊界(下文注意事項有說明)。

1. 安裝 Mnemon Native(推薦默認引擎)

Mnemon 是默認且最簡單的本地優先起點:

# macOS
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,細節見倉庫 Getting Started 文檔。

2. 安裝 DSH 與插件

官方 README 建議在可復現場景下固定 DSH 版本。DSH 0.1.1-rc.2 的完整 profile 需要 Node.js ^22.19.0 || >=24.0.0(Node 20 缺少 rc.2 使用的部分宿主原語);dsh-mnemon 包本身仍保留對 Node 20 的兼容,以適配較舊的 DSH Host。

npm install -g @deepseek-ai/dsh@0.1.1-rc.2
dsh --version

Web 交互場景安裝插件(各 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 headless add "link:/absolute/path/to/dsh-mnemon"

也可通過 GitHub 倉庫安裝(與目錄頁常見的 github:owner/repo 寫法等價):

dsh plugin --profile web add github:omdsh-dev/dsh-mnemon

典型用法示例

完成安裝後,可按官方「5 分鐘驗證」流程走通第一次工作流:

  1. 打開 記憶系統 → 狀態,確認 dsh-mnemon、Mnemon Native、運行時、檔案與已啓用 Provider 正常;
  2. 打開 記憶體 → 概覽 → 創建記憶體,人工選擇一個已啓用的 Provider;
  3. 通過 沉澱記憶 提交一條穩定、未來仍有用的候選信息;
  4. 檢索 先執行直接檢索,再對同一問題執行 Agent 查詢(只讀,基於有界證據組織答案);
  5. 回到對話,展開 本回合記憶,點擊條目跳轉到對應來源。

Headless 場景可直接帶任務啓動:

dsh --profile headless "Check durable project context before answering this task."

對話內也可使用命令快速操作,例如查看狀態或召回:

/mnemon status
/mnemon recall 項目裏關於數據庫遷移的決策

一級頁順序在 WebUI 中保持穩定:狀態、運行時、檔案、記憶體——熟悉這個順序,日常維護會省不少時間。

適用場景與注意事項

適合誰用:

  • 長期在 DSH 上做編碼、調研或運維類 Agent 工作,需要跨會話保留項目約定與決策;
  • 希望 Runtime / 文檔 / 長期記憶分層管理,而不是「一個 RAG 庫打天下」;
  • 已有 Mem0、Honcho 等記憶服務,想在 DSH 內統一編排、按需切換 Provider;
  • 既要用 WebUI 可視化維護,也要在 CI / 腳本里用 Headless 讀寫在場記憶。

使用前請注意:

  1. 權限與安全:插件與 DSH 同進程權限運行;Provider 憑據保存在本地 state/memory-providers.json(mode 0600),但不會回傳給瀏覽器。任何層級都不應寫入密鑰、Token 或原始敏感日誌——當前尚無確定性 secret 掃描器。
  2. 數據生命週期:Runtime 與 Documents 爲本地確定性存儲;關閉 Provider 只清理本地目錄元數據,不刪除遠程數據;卸載插件不會刪除本地或遠程記憶數據;切換 global / workspace / custom 作用域也不會自動遷移舊根目錄。
  3. 環境版本:若使用 DSH 0.1.1-rc.2 完整能力,請準備 Node 22.19+ 或 24+;與 README 驗證矩陣不一致的舊 Host 可能出現兼容問題。
  4. 社區屬性:Stars、Forks 隨時間變化,本文寫作時 SkillHub 目錄顯示約 205 stars;以你打開目錄頁或 GitHub 時的即時數據爲準。

結尾

dsh-mnemon 把 DSH 裏最容易「越用越亂」的記憶問題,拆成 Runtime、Documents、Memory Spaces 三層,並在第三層保留 Provider 插拔空間;寫入路徑受 Host 與任務 Agent 雙重約束,讀路徑則儘量保持確定性。若你正在爲 Harness 智能體補長期記憶,值得從默認的 Mnemon Native 起步,再按項目需要接入外部引擎。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜