前言¶
DeepSeek Harness(DSH)採用“一切皆插件”的架構,允許開發者通過插件擴展系統的核心能力。在使用 LLM 構建智能體時,最常見的問題是上下文丟失:新對話無法利用舊對話中沉澱的信息,導致智能體必須重複解釋背景或重複執行任務。dsh-shared-memory 插件旨在解決這一痛點,它提供了一套跨對話記憶系統,通過持久化記憶注入和工具化管理,讓智能體能夠保持連貫性。
插件定位¶
這是一個爲 DSH 提供跨對話記憶能力的插件。它採用類似 Hermes 的設計理念,將持久化記憶注入每個會話的系統提示詞中,並提供 memory 工具和可視化面板來維護這些記憶。
核心功能¶
該插件主要包含以下能力:
- 分層記憶管理:
- 常駐注入:
MEMORY.md(Agent 高頻筆記)和USER.md(用戶畫像)會常駐注入每個新會話的系統提示詞中。 - 按需加載:
topics/目錄下的主題文件(如feishu.md)不常駐注入,僅在MEMORY.md末尾生成一行索引,Agent 需要時通過工具按需讀取。
- 常駐注入:
- 記憶維護工具:
- 提供
add、replace、remove、list命令。 - 支持
target參數,可指定寫入memory、user或topic:<文件名>。 - 內置寫入自檢規則,引導 Agent 僅記錄原則、偏好、決策、糾正、工作數據和持久事實。
- 提供
- 可視化記憶面板:
- 側邊欄提供“記憶”按鈕,點擊打開面板。
- 面板包含“筆記”、“畫像”、“主題庫”三個標籤頁,支持瀏覽、編輯、增刪條目,並實時顯示容量使用情況。
- 格式與限制:
- 記憶條目使用
§分隔符,推薦使用[發現]/[決策]/[偏好]/[糾正]作爲前綴。 - 容量可通過環境變量
DSH_MEMORY_CHAR_LIMIT、DSH_MEMORY_USER_CHAR_LIMIT、DSH_MEMORY_TOPIC_CHAR_LIMIT進行控制。
- 記憶條目使用
安裝與啓用¶
安裝該插件推薦使用官方插件命令。
dsh plugin --profile web add github:futongxu9-maker/dsh-shared-memory
如果命令行方式不可用,可執行手動安裝:
- 將
dsh-shared-memory目錄複製到~/.dsh/profiles/web/node_modules/dsh-shared-memory/。 - 在
~/.dsh/profiles/web/cordis.patch.yml中追加以下內容:
- insert:
- id: shared-memory
name: 'dsh-shared-memory'
- 刷新頁面或重啓服務。
使用方法¶
插件啓用後,主要在模型側和用戶側進行交互。
-
模型側(Agent 使用):
系統提示詞會自動注入MEMORY.md、USER.md和主題索引。Agent 可調用memory工具進行維護,例如添加新條目、替換舊條目、刪除條目或查看當前用量。工具會根據內置規則攔截不符合要求的臨時內容。 -
用戶側(人工管理):
點擊側邊欄底部的“記憶”按鈕,在打開的面板中切換三個標籤頁進行管理。面板支持增刪改查操作,並顯示字符佔用情況。 -
手動編輯:
記憶文件存儲在~/.dsh/memories/目錄下。可以直接編輯MEMORY.md、USER.md或topics/*.md文件來修改內容。
環境要求¶
- DeepSeek Harness:版本需爲 rc.6 或更高(
dsh web)。 - 操作系統:支持 Windows、macOS 和 Linux。
- 許可證:MIT。
總結¶
dsh-shared-memory 通過結構化的分層記憶和可視化面板,解決了智能體在跨對話中遺忘上下文的問題。安裝該插件後,開發者可以更輕鬆地管理 Agent 的長期記憶。