前言¶
在 DeepSeek Harness (DSH) 的智能體開發中,如何持久化狀態、在會話間保持上下文一致性,以及如何安全地管理敏感信息,是開發者經常需要面對的問題。傳統的方案往往缺乏統一的存儲域管理和細粒度的作用域控制。
dsh-hermes-memory 旨在爲 DSH 提供一套原生的、持久化的內存解決方案。它不依賴外部複雜的向量庫,而是利用 DSH 自身的存儲域和會話查詢服務,提供一套從寫入、檢索到清理的完整工具鏈。
插件簡介¶
dsh-hermes-memory 是一個由 lcthe 維護的 DSH 插件,屬於「記憶」類別。
它專注於解決智能體在長期運行中的記憶管理問題。其核心價值在於提供一種安全的、基於作用域的持久化存儲機制,支持在會話開始時自動注入上下文,並具備完善的冪等性和安全性掃描能力。
核心能力¶
該插件提供了一組明確的工具和配置項,用於管理不同維度的記憶。
基礎記憶操作¶
插件提供了一組基礎工具,用於對記憶進行增刪改查。
memory_save:保存記憶條目。memory_search:檢索記憶條目。memory_replace:替換現有記憶。memory_remove:移除記憶條目。
這些操作覆蓋了從全局到項目級的多種作用域。
作用域與持久化¶
支持細粒度的作用域劃分,確保記憶的隔離性。
- 作用域類型:支持 Global(全局)、User(用戶)、Project(項目)和 Failure(失敗)記憶。
- 存儲機制:利用 DSH 的
storage-domain進行持久化,並內置 Schema 驗證,保證數據結構的一致性。 - 會話注入 (V3 Scope):支持可選的 V3 會話啓動注入。每次新會話開始時,系統會注入一條有界的引用上下文消息,幫助智能體快速進入狀態。
安全與清理¶
安全性是記憶插件的重要考量。
- 安全掃描:在寫入前進行 Secret(密鑰)和 Prompt Injection(提示注入)掃描,防止敏感信息泄露或惡意注入。
- 過期清理:支持基於
lastReferencedAt或updatedAt的過期清理策略。失敗記憶有獨立的保留天數,其他記憶有通用的保留天數。 - 冪等性:通過來源證明和內容去重機制,確保多次相同操作不會產生重複記錄。
管理與監控工具¶
除了基礎的增刪改查,還提供了管理工具用於查看系統狀態。
memory_list:列出當前作用域、分類和工作區下的有界記錄。memory_stats:報告各作用域下的記錄數量和字符使用量。memory_pin/memory_pins/memory_unpin:用於管理“Standing Context”(常駐上下文),即固定不變的參考信息。
自動捕獲與來源¶
插件具備從實際交互中自動捕獲規則的能力。
- 事件捕獲:基於
user/message事件進行規則捕獲,例如記錄項目規範、用戶偏好或修正記錄。 - 來源追蹤:捕獲的記錄帶有
source: 'session'的證明來源,包含 Session ID 和事件序列號。
安裝與依賴¶
插件以 npm 包形式存在,目前版本爲 0.3.0。
由於未提供明確的 install_command,通常需要通過 DSH 的插件管理機制或直接安裝 npm 包來集成。安裝前需確保滿足以下 Peer Dependencies(對等依賴):
{
"@deepseek-ai/cordis": "~4.0.4",
"@deepseek-ai/dsh-agent": ">=0.2.0-rc.1 <0.3.0",
"@deepseek-ai/dsh-client-locale": ">=0.2.0-rc.1 <0.3.0",
"@deepseek-ai/dsh-client-ui-renderer": ">=0.2.0-rc.1 <0.3.0",
"@deepseek-ai/dsh-client-ui-settings": ">=0.2.0-rc.1 <0.3.0",
"@deepseek-ai/dsh-client-ui-slots": ">=0.2.0-rc.1 <0.3.0",
"@deepseek-ai/dsh-llm": ">=0.2.0-rc.1 <0.3.0",
"@deepseek-ai/dsh-session": ">=0.2.0-rc.1 <0.3.0",
"@deepseek-ai/dsh-session-query": ">=0.2.0-rc.1 <0.3.0",
"@deepseek-ai/dsh-settings": ">=0.2.0-rc.1 <0.3.0"
}
適用場景與邊界¶
適用場景:
* 需要在不同會話間保持上下文的智能體開發。
* 需要對記憶數據進行分類管理(如按項目、按用戶)。
* 需要自動記錄用戶偏好或項目修正的場景。
注意與邊界:
* 無 UI:目前沒有計劃開發獨立的記憶管理 UI,所有操作通過 CLI 工具或編程接口完成。
* 不替代 UI:該插件不會替換 DSH 的聊天 UI 或會話 Shell。
* 功能延遲:向量檢索、自定義會話數據庫訪問等功能目前處於 Deferred 狀態,暫未實現。
* 資產版權:插件不復制 Pi 的運行時代碼、命令、TUI、品牌或視覺資產,僅複用通用的工程化設計思想。
總結¶
dsh-hermes-memory 爲 DSH 插件生態提供了一套紮實的基礎設施,通過原生的存儲域和會話查詢服務,解決了智能體記憶持久化與安全檢索的核心痛點。對於需要構建長期記憶能力的開發者來說,這是一個值得關注的工具。