前言¶
在 DeepSeek Harness (DSH) 中,Agent 的記憶默認是會話綁定的。當會話重置或重啓服務後,之前的上下文信息通常會丟失。如果需要 Agent 在多輪對話中保持對用戶偏好、歷史關鍵信息的記憶,需要額外的持久化機制。dsh-memory-panel 插件提供了工具函數和可視化面板,解決了這一需求。
插件概述¶
該插件由 x2it 維護,分類爲“記憶”。它爲 DSH Agent 提供了一套持久化存儲工具,並在 Web 界面的側邊欄提供了一個面板,用於可視化展示 Agent 記住的條目。
核心功能¶
插件提供了以下 Agent 工具和 UI 功能:
- 記憶工具:
memory_save:存儲或更新一條記憶(通過 key 標識)。memory_recall:按關鍵詞或分類搜索記憶。memory_list:列出所有記憶,支持按分類過濾。memory_delete:通過精確的 key 刪除單條記憶。memory_clear:刪除所有記憶(需確認)。
- Web 側邊欄面板:在 Web 界面側邊欄點擊“記憶”按鈕,可打開面板查看存儲內容。面板跟隨 UI 語言(中文/英文),且會對通過隧道訪問的情況發出警告。
- 數據與安全機制:
- 存儲位置:記憶內容以明文存儲在
~/.dsh/memory.json。 - 原子寫入與併發:使用原子寫入(先寫入臨時文件再重命名)和併發隊列機制,避免數據覆蓋。
- 損壞恢復:如果
memory.json損壞,會自動備份爲memory.json.corrupt-<timestamp>並嘗試繼續運行。 - 增長控制:單條內容上限 4000 字符,存儲條目上限 500 條(舊條目會被淘汰),召回結果上限 30 條。
- 存儲位置:記憶內容以明文存儲在
安裝與啓用¶
安裝命令如下:
# Web 交互模式
dsh plugin --profile web add dsh-memory-panel
# 無頭模式(單次運行)
dsh plugin --profile headless add dsh-memory-panel
# 或直接從 GitHub 安裝
dsh plugin --profile web add github:x2it/dsh-memory-panel
安裝完成後,重啓 dsh web。在側邊欄點擊“記憶”按鈕即可看到面板。
驗證與用法¶
驗證插件是否生效:
dsh --profile web --dump-config | grep memory-panel
安裝成功後,Agent 的工具列表中應包含 memory_save、memory_recall、memory_list 等工具。Agent 可以使用這些工具來管理長期記憶。
注意事項¶
- 接口安全:
/api/memory接口目前沒有認證機制。請務必將dsh web綁定在localhost或受信任的網絡段,避免暴露給公網。 - 數據隱私:記憶內容以明文存儲在
~/.dsh/memory.json。不要在此存儲您不會直接寫在本地文件中的敏感密鑰或密碼。 - 版本依賴:插件依賴
@deepseek-ai/dsh-tools(>=0.0.1-rc.1 <0.2.0)。
總結¶
dsh-memory-panel 適合需要在 DSH Agent 中構建長期上下文記憶功能的開發者。該項目採用 MIT 許可證開源。更多信息可在 GitHub 倉庫 查看。