前言¶
DeepSeek Harness (dsh) 理念是「一切皆插件」,社区维护了各类扩展。在开发智能体时,一个常见问题是记忆库无限膨胀,导致上下文窗口溢出。dsh-memory-hermes 插件基于 Nous Research Hermes Agent 的记忆系统设计,提供了一种「有界策划记忆」的方案。它不追求越攒越多的记忆库,而是逼着模型维护一份精炼的长期事实清单,并在会话开始时冻结注入,提升提示词缓存友好度。
核心功能¶
本插件提供以下能力:
* 双文件记忆:分别维护 MEMORY.md (agent 笔记) 和 USER.md (用户画像)。
* 冻结快照:会话开始时读入提示,会话内写入实时落盘,下个会话才进快照。
* 后台自省:fork 循环重看会话,双路分流(memory 路 + skill 路)。
* 技能库:沉淀技术经验进 skill 库,支持 curator 维护。
* 安全扫描:写入时 + 注入渲染时 + 错误载荷三处扫描。
* 审批闸门:可配置每次写操作弹审批。
* 并发安全:进程内 promise 链串行 + 跨进程 .lock 文件锁 + 原子写。
* 自省可观测:记录 review 落点,设置页「活动」页签可查。
安装与启用¶
确保前置环境满足:Node 22+(dsh 要求 ^22.19 || >=24),dsh CLI 可用。
cd dsh-memory-hermes
npm install
npm run build
npm pack
dsh plugin --profile web add "./dsh-memory-hermes-<version>.tgz"
安装时需遵守两条硬规矩:
1. 必须用 npm pack 出的 tgz 安装,不要裸目录或 link:。链接安装会导致 Node 解析到插件本地 devDeps 的 node_modules,造成宿主无法识别服务,面板 RPC 404。
2. 装进内置 profile (web/tui/headless),不要在自定义 profile 里手动补装 @deepseek-ai/dsh-web-app。自定义 profile 的副本会遮蔽共享层,导致工具调度器 Symbol 查空,工具调用整轮失败。
配置¶
v2 起,配置走 dsh settings 服务。插件注册 memory-hermes 命名空间,bundle patch 的 entry config 作为 base,$DSH_HOME/settings.yaml 里的同名 section 作为用户层覆盖。
在 $DSH_HOME/settings.yaml 中添加:
memory-hermes:
memoryCharLimit: 3000
配置项包含(schema 默认兜底):
* memoryCharLimit:MEMORY.md 上限(默认 2200)。
* userCharLimit:USER.md 上限(默认 1375)。
* securityScan:是否开启安全扫描。
* approval:是否开启审批闸门。
* backgroundReview:后台自省总开关。
* reviewTrigger:触发策略(every-turn | token-delta | manual)。
* skillReview:是否开启 skill 路分流。
* curatorEnabled:库维护层总开关。
注意:id 覆盖是整体替换 config,不深合并。修改配置后保存即生效(热生效),无需重启。
使用与命令¶
安装后,可通过斜杠命令和设置页使用:
/memory:查看/管理记忆。/memory review [focus]:手动触发后台自省。/memory compact:合并记忆条目。/memory skills:管理技能库。
在 dsh web 设置导航的「记忆」页,可以查看文件内容和活动记录(包含逐步工具调用 trace)。
机制细节¶
- 冻结快照:会话开始时读入提示,会话内写入实时落盘,下个会话才进快照。这实现了 prompt-cache 友好。
- 溢出纪律:增长型超限写入不落盘,报错并要求合并重试;缩小型操作总是放行。
- 安全扫描:在写入时、注入渲染时、错误载荷三处应用同一规则表(不可见 Unicode、注入话术等)。
- 后台自省:每个 completed turn 结束后,按触发策略(token-delta 或 every-turn)发起独立 LLM 调用。支持 fork 循环(默认 8 步)进行记忆/技能分流。
- 记忆/技能分流:
- memory 路:存用户画像、行为期望、当前状态。
- skill 路:沉淀技术经验、工作流修正。
- 并发安全:通过 promise 链串行、
.lock文件锁和原子写保证多进程安全。
注意事项¶
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
- 若
approval: true,后台 review 触发会被抑制,因为后台写无法弹审批。 - 配合 dsh 船载 session-query 可实现跨会话检索(可选)。
总结¶
dsh-memory-hermes 提供了一套有界、精炼、并发安全的记忆管理方案。它通过冻结快照、后台自省和技能库分流,解决了智能体记忆膨胀和上下文混乱的问题。适用于需要长期维护稳定状态和知识沉淀的开发场景。