前言¶
DeepSeek Harness (DSH) 生態中已有數十個記憶插件,但缺乏統一的共享標準。官方核心僅附帶默認關閉的 MCP 記憶示例。此插件旨在填補這一空白:通過純 Markdown 文件構建確定性、分層且跨智能體可識別的記憶系統。
它提供 Memory Standard Protocol (mm),支持分層記憶結構、確定性預算管理、跨智能體互操作性以及會話日誌吞噬。該插件提供 dsh 工具鏈和獨立的 CLI,核心庫依賴 Node.js 內置模塊,無額外依賴。
核心功能¶
分層記憶結構¶
採用分層設計:
* MEMORY.md:手加載的索引文件,作爲快速瀏覽的入口。默認硬性上限爲 200 行或 25 KiB。
* memories/
確定性預算管理¶
採用嚴格的預算限制,杜絕靜默截斷數據:
* 寫入預算:每次寫入限制字符數,超限則返回使用量信息,要求智能體自行壓縮重試。
* 文件上限:單個詳情文件有硬性字節上限。
* 索引上限:當 MEMORY.md 超過行數或字節限制時,系統會明確報錯並要求重寫索引,而非自動截斷。
跨智能體互操作性¶
- 開放格式:基於純 Markdown,不依賴封閉協議。
- URI 識別:支持
mm://<memoryId>/<topic>格式的可移植 URI。 - Schema 定義:提供
schema/memory.schema.json用於描述筆記結構。 - API 開放:提供公開的讀寫接口,任何 agent 或工具均可讀取或寫入同一文件。
寫入時機與快照¶
- 凍結快照:
mem_read在會話開始時加載一次快照。會話內的讀取和搜索均基於該快照,寫入操作先暫存(pendingWrites),僅在會話結束後持久化到磁盤。這保證了會話視圖的一致性,並保護了提示緩存。 - 吞噬協作:
mem_digest工具可識別官方 dsh 的會話日誌和壓縮輸出,從中提煉候選記憶,但不會自動寫入,需由智能體決定提交。
工具鏈¶
插件提供以下命令行工具:
* mem_read:讀取索引或指定詳情。
* mem_write:寫入或更新筆記。
* mem_search:搜索記憶(支持 FTS5 或掃描模式)。
* mem_budget:輸出預算報告(包含索引上限、單筆記使用量、待寫入項)。
* mem_digest:從日誌文件中提取記憶候選。
安裝與啓用¶
插件作爲 dsh bundle 安裝。在包含包的目錄下運行:
dsh plugin --profile demo add github:JohnXu22786/memory-standard
安裝後,啓動配置文件:
dsh --profile demo
此時,mem_* 工具鏈以及 memory-standard 系統部分將加載。
配置¶
插件自帶默認配置,所有值均可通過覆蓋 memory-standard 行來修改。配置項包括:
root:記憶根目錄,默認爲$DSH_MEMORY_ROOT。memoryId:記憶 ID。indexLines/indexBytes:MEMORY.md 的行數和字節硬性上限。detailMaxBytes:單個詳情文件的最大字節。defaultWriteBudget:每次寫入的默認字符預算。nudge:會話結束或週期性提醒的開關與間隔。
典型用法¶
命令行工具¶
# 讀取記憶
mem_read
# 搜索記憶
mem_search deploy
# 查看預算
mem_budget
# 從日誌中提取記憶(不寫入)
mem_digest --file session.log.jsonl
編程接口¶
在 dsh 插件代碼中,可通過服務獲取內存實例進行操作:
const memory = ctx.get('memory');
// 寫入筆記
memory.write({
topic: 'deploy-region',
content: 'us-east-1',
summary: 'Deployment region'
});
// 搜索記憶
const results = memory.search('deploy');
適用場景與注意¶
- 適用對象:需要長期記憶、多會話狀態保持以及跨智能體協作的開發者。
- 環境要求:需要 Node.js >= 20.0.0。
- 版本兼容:已針對
dsh@0.1.0-rc.6驗證。 - 權限注意:該插件以當前 dsh 進程權限運行。安裝前建議檢查源碼與許可證(MIT)。
總結¶
該插件通過引入 mm 協議,爲 DSH 生態提供了一個標準化的記憶層。它利用純 Markdown 文件和確定性預算,解決了數據丟失和互操作性的痛點,適合作爲構建長期記憶系統的基石。
- 插件目錄:https://www.skillhub.cn/plugins/JohnXu22786/memory-standard
- 項目地址:https://github.com/JohnXu22786/memory-standard