前言¶
DeepSeek Harness(DSH)采用插件化架构。在长期智能体开发中,一个常见问题是会话中断导致上下文丢失,或者项目进度、约定事实无法跨会话继承。开发者往往需要手动维护文档,不仅效率低,还容易遗漏关键信息。
插件介绍¶
dsh-memories 是 DeepSeek Harness 的记忆插件,由开发者 jisi71 维护。它为每个项目提供双账本系统:长期事实账本(MEMORY.md)和项目进度账本(PROGRESS.md)。这两个账本会自动提取会话信息、去重并注入到新会话的系统提示中,无需人工频繁重述背景。
核心功能¶
- 自动提取:每 30 分钟运行一次扫描,提取偏好、项目、环境、经验四类长期事实,以及完成、进行中、下一步三类进度。
- 噪声拦截:具备严格的“无操作门”,自动过滤一次性任务细节、代码片段和敏感信息,只保留值得记录的内容。
- LLM 整合:利用大模型将草稿合并、去重并重新分节,生成清晰的账本。每次重写时自动生成
.bak备份文件。 - 记忆衰减:未固定的条目在 30 天未确认后会自动衰减,保持账本整洁。
- 工具与指令:提供
/remember、/progress等指令,以及remember()、update_progress()工具,允许用户和 Agent 直接控制账本写入。 - 故障安全:LLM 失败时不会留下痕迹,并在下一轮尝试重试。
安装与启用¶
在 DSH 环境中,先确认已安装 dsh-base 基础包,它包含了 fs、llm、sessionQuery、systemPrompt、tools、commands 和 sandboxPolicy 等标准服务。
使用官方插件管理器安装:
dsh plugin --profile web add dsh-memories
安装后,插件会在新会话启动时自动运行,无需额外配置。
典型用法¶
对于 Agent 来说,可以在对话中调用工具:
* remember(fact, category?, pinned?):保存一个长期事实。
* update_progress(completed?, doing?, next?):更新项目进度。
对于用户,可以直接使用斜杠命令:
* /remember <fact>:追加一条事实。
* /memories:查看处理状态、草稿文件预览及最后错误。
* /memories rescan:强制立即执行一次提取扫描。
* /progress:查看 PROGRESS.md 内容。
* /progress <note>:手动追加一条进度备注。
数据存储在项目根目录的 .dsh/memories/ 下,包含 MEMORY.md、PROGRESS.md 及其备份文件(.bak)和原始草稿文件夹(raw/)。
适用场景与注意¶
- 适用场景:适合需要长期运行、涉及复杂项目状态管理的 DSH 会话。它能帮助 Agent 快速回忆项目约定和当前进度。
- 注意点:
- 目前支持项目级账本,计划通过
globalDir设置支持全局用户级账本。 - 提取仅读取消息文本,不读取工具调用负载。
- 进度合并受指令限制,不保证严格遵守 60 行预算。
- 默认提示词为中文,可通过 PR 提供英文变体。
- 目前支持项目级账本,计划通过
结尾¶
dsh-memories 通过双账本机制解决了智能体跨会话记忆和进度跟踪的问题。它结合了自动提取与人工控制,适合需要长期维护上下文的开发场景。