dsh-memory_rollout:DeepSeek Harness 的 Codex 式会话持久记忆

前言

DeepSeek Harness (DSH) 的插件化架构为扩展提供了空间,但每个会话默认是隔离的。当你开启一个新会话,Agent 无法获取上一轮确定的偏好、踩过的坑或项目背景。dsh-memory_rollout 旨在解决这一记忆断层,它为 Agent 提供一份有组织、仅在必要时才写入的持久记忆,包含事实、偏好、决策和项目笔记。

核心功能

该插件实现了 Codex 式的记忆系统,主要包含以下能力:

  • 一会话一草稿:每个符合资格的会话会生成或追加证据草稿(rollout_summaries/<sessionId>.md),类似子 AGENTS.md。Agent 也可以在压缩前显式保存关键要点。
  • 分层披露:记忆通过三个层级披露。顶层是注入提示的 memory_summary.md,中间是可搜索的 MEMORY.md 注册表,底层是少量的相关草稿或笔记。这种设计便于搜索且不淹没上下文。
  • 克制被动:记忆生成是自动的,但仅处理符合资格的会话。手动新增、修改或遗忘长期记忆,仅限于用户显式请求时执行。快速记忆通道(约 5 步)决定何时查记忆。
  • 幂等整合:通过指纹和水印技术,确保无变化时不重复整合,避免浪费 token。
  • 6 个用户工具:提供了 memory_remember、memory_note、memory_integrate、memory_precompact、memory_recall 和 memory_forget 等工具,另有 2 个内部调度工具。
  • 浏览器管理页:提供「记忆库 / Memory」页面,允许浏览摘要、注册表、草稿和笔记,支持配置修改、导入和导出。

管线与机制

插件的工作流如下:

  1. 会话结束或闲置后,进入持久入队阶段(Stage 1)。
  2. 提炼候选记忆,并生成或追加仅追加式的证据(草稿 + source_ref)。
  3. Phase 2 进行全局整合,将证据版本化发布(current 原子切换,旧版可回退)。
  4. 分层读取:先读总纲,再搜注册表,最后打开少量相关草稿/证据。
  5. 用户通过 remember / forget / supersede 命令进入统一变更流,再整合成权威版本。

安装与启用

当前 npm registry 尚未正式发布(尽管 package.json 显示 0.1.27,README 提及 0.1.9),因此推荐通过 GitHub 仓库或本地 tgz 安装。

git clone git@github.com:Bionic-forest/dsh-memory_rollout.git
pnpm add ./dsh-memory_rollout

dsh plugin --profile web add dsh-memory_rollout

安装后,需在 profile 的 cordis.yml(或 cordis.patch.yml)中添加配置:

- id: dsh-memory_rollout
  name: dsh-memory_rollout

依赖要求:
* DeepSeek Harness 基座版本需在 0.1.1-rc.2 或更新。
* 必须挂载 sessionQuery 服务(由 DSH 基座提供),否则自动记忆(Stage 1 来源读取)将被禁用。

使用

插件提供了一系列工具供 Agent 或用户调用:

memory_remember(content="用户偏好…", tags=["pref"])   # 记入长期记忆,带来源 sessionId
memory_note(slug="fix-x", content="…")               # 写入临时 note,仅显式请求时执行
memory_integrate()                                    # 幂等整合 summary 和 MEMORY.md
memory_precompact(content="要留的关键要点")          # 压缩前保存信息到草稿和持久队列
memory_recall(query="…")                             # 显式搜索记忆入口

配置

插件暴露了完整的配置 schema,可在浏览器管理页或配置文件中调整。主要配置项如下:

Key Type Default Meaning
recallLimit int 10 memory_recall 最多返回条目数
summaryTokens int 4000 注入 memory_summary.md 的 token 预算
maxQuickSteps int 5 快速记忆通道搜索步数预算
memoryRoot string '' 覆盖记忆根目录(只读)
generateMemories boolean true 会话是否贡献未来记忆(自动 Stage 1)
useMemories boolean true 是否给模型注入记忆
maxModelAttemptsPerDay number 24 每日 Stage 1 模型尝试上限
extractProvider / extractModel / extractReasoningEffort / maxExtractTokens Stage 1 提取的 LLM 路由、模型、推理档位、token 上限
consolidationProvider / consolidationModel / consolidationReasoningEffort Phase 2 整合的 LLM 路由、模型、推理档位

注意事项

  • 权限与安全:插件以当前 DSH 进程权限运行,安装前应检查源码与许可证。
  • 秘密脱敏:插件在入口、模型调用、落盘三个环节对秘密进行脱敏处理。
  • 优先级:当前用户指令高于 AGENTS.md。
  • 引用诚实性:引用指向真实内容,否则标记为 unverified。

生态背景

DeepSeek Harness 理念是「一切皆插件」,本插件由社区开发者维护。插件记忆模型改编自 openai/codex(Apache License 2.0)和 flymysql/dsh-memory(MIT),详见 NOTICE 署名。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜