前言¶
DeepSeek Harness(DSH)的理念是“一切皆插件”。社區開發者基於此架構構建了豐富的擴展生態。dsh-memory-manager 是一個社區插件,提供了 DSH 基本的記憶功能。它移植自 ZCode 的項目記憶設計,旨在解決智能體在多輪對話中上下文丟失、重複解釋背景的問題,支持按項目結構化存儲記憶,並允許 Agent 主動維護。
核心功能¶
該插件主要包含以下能力:
- ZCode 記憶移植:沿用 ZCode 的記憶文件格式(YAML frontmatter + Markdown)、類型體系(user / feedback / reference / project / other)與按項目分目錄的存儲佈局。
- 設置中的記憶管理:在設置面板新增“記憶管理”頁,支持搜索、按項目/類型篩選、新建、編輯、刪除。
- 自動加載到對話:默認開啓,每次模型調用時將當前項目及全局記憶的索引(名稱 + 描述,不含正文)作爲系統提示注入,節省上下文。
- Agent 記憶工具:註冊 memory_save / memory_get / memory_list 三個工具,允許 Agent 按需讀取或回寫記憶。
- 從 ZCode 導入:支持一鍵掃描並導入 ~/.zcode/cli/memories 目錄。
- 全局 + 項目記憶:global 項目存放跨項目記憶,項目 key 取自工作區路徑。
- 自動索引:自動重寫 MEMORY.md 索引與 memory_summary.md 摘要。
- 主題適配:使用 DSH 官方設計 token,跟隨明暗主題。
安裝¶
使用官方 dsh plugin 命令安裝:
dsh plugin --profile web add /path/to/dsh-memory-manager
安裝完成後重啓 DSH,打開 設置 → 記憶管理 即可使用。
本項目是基於 DeepSeek Harness 構建的社區插件,並非 DeepSeek 官方產品。記憶格式移植自 ZCode 的項目記憶設計。
使用方法¶
- 打開設置,側欄會出現 記憶管理 頁。
- 查看記憶:列表按項目分組、最新優先。可使用搜索框查找名稱或描述,或按項目和類型篩選。
- 自動加載記憶到對話:默認開啓。DSH 會將當前會話工作區項目的記憶 + 全局記憶的索引(名稱 + 描述,不含正文)作爲系統提示注入。Agent 對某條感興趣時會自行調用工具讀取全文。
- Agent 回寫記憶:Agent 在對話中發現值得長期保留的偏好、反饋或約定時,可調用
memory_save工具寫入,origin 標記爲agent。 - 新建記憶:填寫名稱、類型、項目(
global或具體項目名)、描述與 Markdown 正文。 - 編輯與刪除:在卡片右側操作。刪除需二次確認,操作永久。
- 從 ZCode 導入:點擊導入按鈕,掃描
~/.zcode/cli/memories,同名記憶自動跳過。
工作原理¶
插件通過 cordis.patch.yml 掛載,核心邏輯如下:
- 存儲:記憶以 Markdown 文件形式存儲在 <DSH_HOME>/memories/projects/ 目錄下,使用 node:fs 直接讀寫,無需額外依賴。
- 注入:系統提示(systemPrompt.section)在每次模型調用時注入記憶索引,節省 Token。
- 工具:Agent 工具通過 Typert 協議註冊,允許 Agent 讀寫文件系統。
注意事項¶
- 該插件以當前 DSH 進程的權限運行,請確保安裝來源可靠。
- 配置項詳情(如
config.的具體鍵)未在 README 中明確列出,需結合代碼或使用默認配置。 - 記憶文件格式移植自 ZCode,兼容 ZCode 的記憶目錄結構。