前言¶
DeepSeek Harness(DSH)是一個插件化平臺。dsh-memory(維護者:haitang1)爲每個會話提供持久化記憶。它解決了智能體在多輪對話中丟失上下文或狀態的問題,通過自動注入摘要、提供記憶工具以及生成會話摘要,實現類似 Codex 的長期記憶能力。
核心功能¶
該插件主要提供以下能力:
- Codex-like persistent memory:提供持久化的記憶存儲與檢索機制。
- Auto-injected memory summary:自動注入全局記憶摘要到每個提示詞中,使智能體能夠利用歷史信息。
- Memory tools:提供完整的記憶讀寫工具集,支持增刪改查與歷史回滾。
- Per-session rollout summaries:自動將每輪對話內容蒸餾爲會話摘要,並定期合併到全局記憶中。
- Localized Web settings card:在 Web 界面提供可視化的設置卡片,支持本地化配置。
安裝與啓用¶
安裝時需要指定版本哈希以獲得穩定版本。安裝後需重啓 DeepSeek Harness。
1、使用 CLI 安裝插件:
dsh plugin --profile web add 'github:haitang1/dsh-memory#f3c8de4'
2、重啓 DeepSeek Harness。
工作原理¶
插件運行時會在 $DSH_HOME/memories/ 目錄下管理記憶文件。
-
文件結構:
memory_summary.md:全局記憶摘要,每次提示組裝時被注入。rollout_summaries/<sid>.md:單次會話的輪次摘要,自動生成。raw_memories.md:按日期追加的原始記憶條目。journal.jsonl:記憶變更日誌,用於合併。summary_history/:保存舊版本的摘要,用於回滾。archive/:歸檔過期的原始條目。state.json:版本與日誌游標管理。
-
注入機制:每次提示組裝時,
systemPrompt.context會重新讀取memory_summary.md,確保最新記憶可用。 - 種子機制:首次運行時,會從
$DSH_HOME/AGENTS.md讀取內容作爲初始摘要,不會覆蓋原文件。
配置項¶
插件支持通過配置文件或 Web 卡片調整行爲。以下是關鍵配置項:
| 配置項 | 默認值 | 說明 |
|---|---|---|
memoryDir |
$DSH_HOME/memories |
記憶存儲目錄。 |
maxBytes |
8000 |
注入摘要的字節預算。 |
consolidateMaxBytes |
40000 |
合併摘要時發送給模型的輸入字節預算。 |
keepSummaryVersions |
20 |
保留的歷史摘要版本數量,用於回滾。 |
autoSummarize |
true |
是否自動將對話輪次蒸餾爲摘要。 |
consolidateEvery |
3 |
多少次輪次摘要後觸發一次全局合併。 |
seedFromAgentsMd |
true |
是否從 $DSH_HOME/AGENTS.md 種子初始化記憶。 |
scopedMemory |
false |
是否啓用工作區或項目範圍的記憶隔離。 |
redactSecrets |
true |
是否自動脫敏摘要中的敏感信息。 |
典型用法¶
- 重讀摘要:插件會在每次提示組裝時自動注入
memory_summary.md的內容。 - 種子初始化:在首次使用時,插件會自動讀取
$DSH_HOME/AGENTS.md作爲初始記憶種子。 - 記憶工具:通過工具集(如
memory_read、memory_add、memory_search)直接操作記憶。
注意事項¶
- 該插件遵循 MIT 許可證。
- 使用
$DSH_HOME/memories/作爲存儲路徑,請確保該目錄有寫入權限。 - 安裝前請檢查源碼與許可證,確保符合使用規範。