前言¶
在 DSH 這類「一切皆插件」的框架裏,智能體運行過程中產生的會話、提示、工具調用和子代理活動,往往只存在於當前上下文裏。如果希望後續任務能複用這些觀察記錄,或者在系統提示中加入從記憶庫召回的上下文,就需要一個穩定的記憶後端。
下面介紹 dsh-agentmemory:它把本地 agentmemory REST 服務接入 DSH,讓 memory_* 工具、自動捕獲鉤子和可選上下文注入以插件形式可用。
這是什麼¶
dsh-agentmemory 是由 elementor-i 維護的 DSH 插件,許可證爲 MIT。
它定位爲 DSH 的記憶插件,核心是把本機運行的 agentmemory 服務暴露給 DSH:完整的 memory_* 工具、後臺觀察捕獲,以及可關閉的上下文注入。
它不要求 MCP 橋接,依賴是本機 REST 服務。
核心能力¶
- 完整工具面:包含全部 54 個
memory_*工具(其中 8 個核心工具),映射到/agentmemory/*;另外提供memory_observe和memory_http逃生通道,用於訪問任意端點。 - 自動捕獲:會話、提示、工具使用、子代理、工作流和審批活動等會在後臺記錄爲觀察數據。
- 上下文注入:可選開啓;開啓後,會把從會話中召回的上下文加入系統提示。
- 默認安全:包含憑據脫敏、單次調用超時、非阻塞觀察,破壞性或高成本工具由
dangerousTools開關控制。 - 不依賴 MCP:不需要 stdio 橋接,也不需要額外子進程;正在運行的 REST 服務(默認
localhost:3111)是唯一依賴。
前提與檢查¶
本機需要先運行 agentmemory 服務。默認地址是 http://127.0.0.1:3111,viewer 端口是 3113。
可以先用下面命令檢查服務是否可用:
curl -fsS http://127.0.0.1:3111/agentmemory/livez
如果服務不可用,插件會記錄警告,memory_* 工具會返回錯誤,但 DSH 本身繼續運行。
安裝與啓用¶
使用 DSH CLI¶
把 web 替換爲你實際使用的 profile 名稱:
npx -p @deepseek-ai/dsh dsh plugin --profile web add @elementor-i/dsh-agentmemory
安裝後按你的 DSH 配置方式重啓對應 profile。
原生掛載¶
如果不想走 CLI,也可以把源碼克隆到本機,再在配置裏添加指向 lib/index.js 的 insert patch:
git clone https://github.com/elementor-i/dsh-agentmemory ~/dsh-plugins/dsh-agentmemory
在 ~/.dsh/config.yaml,或面向所有 profile 的 $DSH_HOME/cordis.patch.yml 中加入類似內容:
- insert:
- id: dsh-agentmemory
name: '$HOME/dsh-plugins/dsh-agentmemory/lib/index.js'
然後重啓 DSH。
配置¶
所有配置項都是可選的,並且有安全默認值。環境變量 AGENTMEMORY_URL、AGENTMEMORY_SECRET 和 AGENTMEMORY_PROJECT_NAME 會作爲 fallback 被讀取。
常用鍵如下:
dsh-agentmemory:
baseURL: http://127.0.0.1:3111
secret: ""
timeoutMs: 10000
registerTools: true
coreToolsOnly: false
dangerousTools: false
injectContext: false
injectMaxChars: 4000
healthCheck: true
hooks: {}
其中:
baseURL:agentmemory REST 服務地址。secret:Bearer secret;爲空時可回退到AGENTMEMORY_SECRET。timeoutMs:單次工具調用的 HTTP 超時。registerTools:是否註冊memory_*工具集。coreToolsOnly:爲true時只註冊 8 個核心工具。dangerousTools:爲true時暴露破壞性/高成本工具。injectContext:是否把召回上下文注入系統提示,默認關閉。injectMaxChars:注入上下文的字符上限。healthCheck:啓動時服務不可達是否給出警告。hooks:自動捕獲相關配置項。
典型用法¶
1、先確認本機 agentmemory 服務可用:
curl -fsS http://127.0.0.1:3111/agentmemory/livez
2、把插件安裝到目標 profile:
npx -p @deepseek-ai/dsh dsh plugin --profile web add @elementor-i/dsh-agentmemory
3、如果只想保持默認安全行爲,不做額外配置即可;memory_* 工具會註冊,自動捕獲按 hooks 配置生效,上下文注入默認關閉。
4、如果需要在系統提示中加入召回上下文,把 injectContext 打開,並按需要限制字符數:
dsh-agentmemory:
injectContext: true
injectMaxChars: 4000
5、重啓 DSH,之後就可以讓智能體使用 memory_* 工具,或通過 memory_http 訪問其他 agentmemory 端點。
適用場景與注意¶
這個插件適合已經在本機運行 agentmemory 服務、希望把記憶工具直接接入 DSH 的開發者。如果你希望 DSH 自動記錄會話、提示、工具調用和子代理活動,並且能在後續任務中複用召回結果,它可以把 REST 服務包裝成 DSH 可直接調用的工具。
需要注意:
- 插件以當前 DSH 進程的權限運行,安裝前應檢查源碼行爲與 MIT 許可證。
- 破壞性/高成本工具默認不暴露,確有需要時再通過
dangerousTools開啓。 - 上下文注入默認關閉,開啓後會增加系統提示長度,建議同時設置
injectMaxChars。 - 如果通過公共目錄安裝,插件需要已經出現在公共 DSH catalog 中;該目錄每小時從標記爲
dsh-plugin的 GitHub 倉庫重建。社區目錄是獨立站點,不等同於 DeepSeek 或幻方官方應用商店。
鏈接¶
- 目錄頁:https://www.skillhub.cn/plugins/elementor-i/dsh-agentmemory
- GitHub:https://github.com/elementor-i/dsh-agentmemory