前言¶
在 DeepSeek Harness (DSH) 开发智能体时,会话结束后上下文即丢失是一个常见痛点。下面介绍的 dsh-tool-memory 插件将 Hermes Agent 的记忆机制移植到 DSH 平台,通过纯文本存储与快照注入,解决智能体跨会话记忆保持的问题。
这是什么¶
这是 DeepSeek Harness 的一个记忆类插件,由 sikwoxy 维护。它提供有界、纯文本、跨会话的记忆能力。核心价值在于将长期记忆以冻结快照形式注入 system prompt,从而让 LLM 在新会话中能够利用历史信息。
核心功能¶
- 冻结快照注入:会话开始时,插件会将记忆以快照形式注入 system prompt,保证新会话能读取历史。
- 六种工具:提供
memory_add、memory_replace、memory_remove、memory_batch、memory_show、memory_refresh六个工具。 - 后台自动沉淀:每 N 条用户消息触发隔离子代理评审,自动沉淀值得长期记住的信息。
- 数据安全机制:具备锁文件、原子写、漂移保护(拒绝无法 round-trip 的内容)与威胁扫描(拦截注入/越狱等攻击)。
- 文件支持:支持
MEMORY.md(代理笔记)和USER.md(用户画像)。
安装与启用¶
在 deepseek-harness 环境内执行以下命令安装:
dsh plugin add dsh-tool-memory
典型用法¶
插件注册了 3 个 system-prompt section 和 6 个工具,可用自然语言直接调用。
基础操作:
1. 追加记忆:
memory_add content='记住:这个项目的文档任务用反向工作流'
- 替换记忆:
memory_replace old_text='codex CLI' new_content='codex CLI v0.148'
- 删除记忆:
memory_remove old_text='临时备注'
- 刷新快照(手动编辑文件后生效):
memory_refresh
配置与文件:
在 profile 或组合包层的 cordis.patch.yml 中可配置根路径、字符预算和后台评审参数。记忆文件默认位于 $DSH_HOME/memories,格式为纯文本条目列表,条目间使用 \n§\n 分隔。
适用场景与注意¶
此插件适合需要长期维护上下文信息的 DSH 应用场景。安装前应检查源码与许可证。
- Prefix Cache 优化:写入操作不改变会话开始时的 system prompt(冻结快照),以保住 LLM prefix cache。
- 生效时机:手动编辑
MEMORY.md后,必须调用memory_refresh才能在当前会话生效。 - 依赖版本:依赖 DeepSeek Harness 4.0.1 及相关工具包。
结尾¶
该插件通过将记忆管理与系统提示分离,简化了智能体的状态维护工作。更多细节可参考 GitHub 仓库:https://github.com/sikwoxy/dsh-tool-memory