前言¶
对 DeepSeek Harness(dsh)的智能体开发者来说,记忆不只是“能不能记住”,还包括开局读取成本、记忆来源回溯,以及能否把记忆数据放进工作区管理。dsh-memory-pyramid 是一个 MIT 许可的 dsh 插件,用于给 dsh 提供带时间轴的记忆:用定宽只追加的事实日志保存事实,由 agent 自己维护摘要金字塔,在固定阅读预算下让 recall 成本不随记忆量增长。
下面介绍它的核心机制、安装方式、可用配置和使用注意事项。
这是什么¶
仓库为 33moren33/dsh-memory-pyramid,owner 为 33moren33。它给 dsh 提供记忆能力,核心思路是:
- 事实按时间顺序写入,一行不超过 280 字节,只追加、不修改。
- agent 自己维护摘要金字塔,不依赖后台进程和定时器。
- 开局读取记忆视图时,使用固定阅读预算;记忆量增长时,开局读取行数不增加。
核心功能¶
事实日志与摘要金字塔¶
插件把记忆分成两层:底层是事实日志,上层是摘要金字塔。
事实日志用于记录具体事实,单行不超过 280 字节,写入后不修改。摘要金字塔由 agent 自维护,不依赖后台进程和定时器。目前插件仅串行运行,由 agent 自主决定工具调用。
固定阅读预算¶
记忆视图使用固定阅读预算。记忆量增长时,开局读取行数不增加。默认记忆视图只在会话开局注入一次;会话内新写入的记忆通过工具回执可见,新开会话可见全部。
数据位置与协同¶
默认数据落在当前工作区的 dsh_memory 目录,不写家目录。数据是纯文本,对 diff 友好,可配合 git 管理。
插件支持多进程共写同一份记忆,且无锁。若找到多份旧记忆,插件会拒绝启动,两份记忆不会被拼接。
原生插件与运行要求¶
插件是 DSH 原生插件积木,不是外部命令行或脚本,不需要 shell 权限。插件本体零 npm 依赖、零原生模块,无构建步骤。
运行要求如下:
- Node.js ≥ 19
- dsh 使用 pnpm 管理插件,需要已安装 pnpm
- 支持 Windows / Linux / macOS / ARM64
记忆看板与示例库¶
插件提供记忆看板,可可视化摘要塔、热度、时间轴和当前注入内容。看板支持点击记忆回溯来源对话,或打开导入原文。
插件内置 50 / 100 / 500 / 1000 条示例记忆库。记忆看板依赖 web 界面;headless 场景下看板自动缺席,但记忆本体照常工作。
工具¶
插件提供以下工具:
memory_note
memory_summarize
memory_zoom
memory_recall
memory_open
memory_forget
这些工具用于事实写入、摘要维护、召回、打开来源和摘要处理。
安装与启用¶
安装¶
使用 npm 包安装:
dsh plugin --profile web add dsh-memory-pyramid
安装后重启 dsh web:
dsh web
新建会话后,如果开局出现 ### Memory view 段,即表示生效。
验证¶
可以用下面的命令确认插件已进入合成树:
dsh --profile web --dump-config
确认输出中包含 dsh-memory-pyramid。
从仓库安装¶
也可以从 GitHub 仓库安装:
git clone https://github.com/33moren33/dsh-memory-pyramid.git
dsh plugin --profile web add "link:/绝对路径/dsh-memory-pyramid"
卸载¶
卸载插件:
dsh plugin --profile web remove dsh-memory-pyramid
然后重启 dsh web:
dsh web
典型用法¶
调整阅读预算¶
在 profile 的 cordis.patch.yml 中覆盖同一插件 id 的 wakeLines,例如:
wakeLines: 192
wakeLines 用于控制开局记忆视图的行数预算。
实时更新视图¶
默认情况下,记忆视图只在会话开局注入一次。若希望会话中途记忆变化时实时更新视图,可配置:
liveView: true
共享同一份记忆库¶
默认每个工作区使用自己的 dsh_memory 目录。若希望多个工作区读取同一份记忆库,可将 dataDir 配置为绝对路径:
dataDir: "/absolute/path/to/shared-memory"
配置为绝对路径时,所有工作区读同一份记忆库。
适用场景与注意¶
适合这类需求:
- 希望在 dsh 中保留按时间顺序发生的事实。
- 希望控制开局注入的记忆行数,而不是随记忆量无限增长。
- 希望记忆数据落在工作区,便于查看、diff 和用
git管理。 - 希望在 web 界面中查看摘要塔、时间轴和当前注入内容。
- 希望从记忆回溯来源对话,或打开导入原文。
注意以下几点:
- 插件以当前 dsh 进程权限运行;安装前建议检查源码和 MIT 许可证。
- 默认数据落在当前工作区,不写家目录。
- 发现多份旧记忆时,插件会拒绝启动,不会拼接两份记忆。
- 默认记忆视图只在会话开局注入一次;会话内新写入的记忆通过工具回执可见,新开会话可见全部。
- 若出现
@deepseek-ai/cordis missingpeer 警告,不要紧;资料称 v0.1.1 起已去掉该声明。
小结¶
dsh-memory-pyramid 的价值在于把“记住多少”和“开局读多少”分开:底层事实持续追加,上层摘要由 agent 维护,开局读取仍保持固定预算。
目录页 URL 未在已核实资料中确认;仓库地址如下:
https://github.com/33moren33/dsh-memory-pyramid