前言¶
在 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