前言¶
DeepSeek Harness(DSH)是一个插件化平台。dsh-memory(维护者:haitang1)为每个会话提供持久化记忆。它解决了智能体在多轮对话中丢失上下文或状态的问题,通过自动注入摘要、提供记忆工具以及生成会话摘要,实现类似 Codex 的长期记忆能力。
核心功能¶
该插件主要提供以下能力:
- Codex-like persistent memory:提供持久化的记忆存储与检索机制。
- Auto-injected memory summary:自动注入全局记忆摘要到每个提示词中,使智能体能够利用历史信息。
- Memory tools:提供完整的记忆读写工具集,支持增删改查与历史回滚。
- Per-session rollout summaries:自动将每轮对话内容蒸馏为会话摘要,并定期合并到全局记忆中。
- Localized Web settings card:在 Web 界面提供可视化的设置卡片,支持本地化配置。
安装与启用¶
安装时需要指定版本哈希以获得稳定版本。安装后需重启 DeepSeek Harness。
1、使用 CLI 安装插件:
dsh plugin --profile web add 'github:haitang1/dsh-memory#f3c8de4'
2、重启 DeepSeek Harness。
工作原理¶
插件运行时会在 $DSH_HOME/memories/ 目录下管理记忆文件。
-
文件结构:
memory_summary.md:全局记忆摘要,每次提示组装时被注入。rollout_summaries/<sid>.md:单次会话的轮次摘要,自动生成。raw_memories.md:按日期追加的原始记忆条目。journal.jsonl:记忆变更日志,用于合并。summary_history/:保存旧版本的摘要,用于回滚。archive/:归档过期的原始条目。state.json:版本与日志游标管理。
-
注入机制:每次提示组装时,
systemPrompt.context会重新读取memory_summary.md,确保最新记忆可用。 - 种子机制:首次运行时,会从
$DSH_HOME/AGENTS.md读取内容作为初始摘要,不会覆盖原文件。
配置项¶
插件支持通过配置文件或 Web 卡片调整行为。以下是关键配置项:
| 配置项 | 默认值 | 说明 |
|---|---|---|
memoryDir |
$DSH_HOME/memories |
记忆存储目录。 |
maxBytes |
8000 |
注入摘要的字节预算。 |
consolidateMaxBytes |
40000 |
合并摘要时发送给模型的输入字节预算。 |
keepSummaryVersions |
20 |
保留的历史摘要版本数量,用于回滚。 |
autoSummarize |
true |
是否自动将对话轮次蒸馏为摘要。 |
consolidateEvery |
3 |
多少次轮次摘要后触发一次全局合并。 |
seedFromAgentsMd |
true |
是否从 $DSH_HOME/AGENTS.md 种子初始化记忆。 |
scopedMemory |
false |
是否启用工作区或项目范围的记忆隔离。 |
redactSecrets |
true |
是否自动脱敏摘要中的敏感信息。 |
典型用法¶
- 重读摘要:插件会在每次提示组装时自动注入
memory_summary.md的内容。 - 种子初始化:在首次使用时,插件会自动读取
$DSH_HOME/AGENTS.md作为初始记忆种子。 - 记忆工具:通过工具集(如
memory_read、memory_add、memory_search)直接操作记忆。
注意事项¶
- 该插件遵循 MIT 许可证。
- 使用
$DSH_HOME/memories/作为存储路径,请确保该目录有写入权限。 - 安装前请检查源码与许可证,确保符合使用规范。