前言¶
在 DeepSeek Harness (DSH) 開發智能體時,上下文窗口有限,跨會話的記憶保持通常需要依賴顯式的工具調用(如 view_file、grep)來檢索歷史文檔。這會導致對話初期存在 1~2 輪的檢索開銷,且容易遺漏非文件類的隱性約定。
DeepSeek Harness - MiMoCode 工作區自動記憶插件基於 MiMoCode 記憶架構構建,旨在解決上述問題。它通過後臺異步蒸餾與結構化落盤,讓 Agent 開局即可掌握項目背景,並在空閒時自動沉澱知識,無需佔用對話 Token。
插件概覽¶
- 名稱:DeepSeek Harness - MiMoCode 工作區自動記憶插件
- 所有者:Rainpomelo
- 類別:記憶
- 許可證:MIT
- GitHub:https://github.com/Rainpomelo/deepseek-harness-mimo-memory
- 目錄:https://www.skillhub.cn/plugins/Rainpomelo/deepseek-harness-mimo-memory
核心功能¶
該插件主要實現以下功能:
- 開局 0 工具調用自動預注入:在會話啓動時,自動讀取並注入項目的長期記憶,無需 Agent 先執行檢索工具。
- 後臺異步蒸餾與沉澱:在 Agent 處於空閒狀態時,自動分析已驗證的結論與用戶約定,靜默更新記憶文件。
- 跨會話任務斷點續接:通過
checkpoint.md記錄任務階段與活躍狀態,支持會話重置後的斷點恢復。 - 顯式結構化落盤工具:提供
update_project_memory工具,允許模型或用戶按章節追加或替換內容。 - 跨會話全局持久生效:記憶數據存儲在本地文件系統,不同會話間共享。
運行機制¶
插件採用 MiMoCode 原版四層分級記憶與異步調度模型:
-
Layer 1: 核心事實與架構契約 (MEMORY.md)
- 作爲跨會話全局持久生效的存儲,按標準三段式結構化維護。
- 在開局組裝系統提示詞時,自動拼裝並注入到
System Prompt頭部。
-
Layer 2: 工作區任務檢查點 (checkpoint.md)
- 記錄最近的工作區目標、任務階段與活躍狀態。
- 會話新建或重置時,自動帶出斷點背景,幫助 Agent 接續上下文。
-
Layer 3: 後臺異步蒸餾沉澱
- 監聽 Agent 空閒狀態,在後臺提取已驗證結論與用戶約定。
- 純異步執行,不佔用對話上下文 Token,不增加對話響應延遲。
-
Layer 4: 主動落盤工具
- 提供
update_project_memory工具,支持按 Markdown 章節精準追加或替換內容。
- 提供
安裝與啓用¶
方式一:在本地 Profile 中引入(推薦)¶
- 將本倉庫 clone 到本地,例如
C:/plugins/deepseek-harness-mimo-memory。 - 打開 Web profile 的配置文件(
~/.dsh/profiles/web/package.json或對應路徑)。 - 在
dependencies與dsh.profile.bundles中添加插件:
{
"dependencies": {
"dsh-mimo-memory": "file:C:/plugins/deepseek-harness-mimo-memory"
},
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-mimo-memory"
]
}
}
}
- 進入 profile 目錄並執行安裝與啓動:
cd ~/.dsh/profiles/web
pnpm install
dsh --profile web
方式二:直接從 GitHub 引用¶
在 profile 的 package.json 中配置:
{
"dependencies": {
"dsh-mimo-memory": "github:Rainpomelo/deepseek-harness-mimo-memory"
}
}
配置與存儲¶
工作區隔離¶
插件對每個工作區目錄進行跨平臺無衝突編碼(例如 C:\Agent code\deepseek 映射爲 --C-Agent~0020code-deepseek--),通過 projectKey 進行隔離存儲。記憶統一保存在 ~/.dsh/memory/<project-slug>/ 目錄下。
參數配置項¶
| 配置項 | 類型 | 默認值 | 說明 |
|---|---|---|---|
memoryRoot |
string |
~/.dsh/memory |
全局持久記憶存儲根目錄 |
maxChars |
number |
12000 |
單工作區開局注入最大字符數,防止超出上下文 |
autoDream |
boolean |
true |
是否啓用 Agent 空閒時的後臺自動蒸餾沉澱 |
記憶文件存儲結構¶
插件會自動生成以下文件:
~/.dsh/memory/
├── --C-Agent~0020code-deepseek--/
│ ├── MEMORY.md # 長期核心規則與技術沉澱
│ └── checkpoint.md # 最近任務斷點與階段檢查點
典型用法¶
1. 自動記憶注入¶
插件會在會話啓動時自動注入 MEMORY.md 內容,Agent 開局即可直接引用項目背景信息,無需額外的檢索步驟。
2. 主動更新工具¶
插件向 Agent 註冊了 update_project_memory 工具。使用該工具可顯式管理記憶內容:
section:指定章節(如“架構與技術選型”、“已驗證結論”)。content:具體事實或規則。action:append(追加,自動去重)或replace(覆蓋)。
Agent 在空閒狀態下會自動觸發後臺 Dreaming 流程,掃描最近交互並更新上述文件。
注意事項¶
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
- 插件爲純異步執行,不會阻塞對話主線程,也不會佔用對話上下文 Token,不會增加對話響應延遲。
- 不同項目通過
projectKey進行嚴格隔離存儲,互不串擾。
結尾¶
該插件通過文件系統實現了 DeepSeek Harness 下的跨會話長期記憶,適合需要長時間維護代碼庫或進行復雜多輪迭代的開發場景。