DeepSeek Harness 记忆插件:dsh-observational-memory

前言

在 DeepSeek Harness(DSH)的长会话场景中,上下文窗口限制是绕不开的问题。压缩摘要虽然能减少 token 占用,但经过多轮压缩后,设计决策的理由、被否决过的方案、关键约束等细节往往会丢失。本插件将记忆工作前置到会话进行过程中,通过后台持续沉淀观察与反思,让长会话在经过多轮压缩后依然保持连贯。

核心功能

该插件在后台维护一套记忆流水线,并在 DSH 的压缩机制上做了特殊处理:

  • 后台记忆流水线:包含观察器、反思器和清理器。观察器将会话事件蒸馏为带时间戳和相关度的记录;反思器提炼长期事实;清理器修剪已被反思覆盖的观察。整个过程由 turn/end 等事件按 token 阈值驱动。
  • 压缩即渲染:当 DSH 发起压缩摘要调用时,插件在 llm/stream 瀑布中拦截。如果记忆非空,直接返回渲染好的记忆文本,实现零模型调用;记忆为空时回退 DSH 原生摘要。
  • 主动压缩:支持 calibrated(固定阈值)和 ratio(上下文窗口比例)两种模式。会话空闲且上下文达到阈值时自动触发。
  • recall 工具:模型可调用 recall(id) 恢复任意观察或反思背后的原始会话证据。
  • 记忆选项卡:对话视图环新增「记忆」页,实时展示记忆清单、worker 进度、内容与调试日志。
  • 回退按钮:每条用户消息下方新增按钮,支持一键分叉会话并将原文放回输入框。

安装与启用

安装前请确保 DSH 版本符合要求。该插件仅支持 DeepSeek Harness 预发布线(0.1.5-rc.2, 0.1.7-rc.1, 0.2.0-rc.1)。

通过 DSH CLI 安装:

dsh plugin --profile web add dsh-observational-memory

安装完成后,重启 DSH Web 服务。在 Web 界面中,进入 设置 → 插件 → 插件配置,找到 Observational Memory 卡片即可进行配置。

配置

配置项位于 observational-memory 命名空间下。核心参数如下:

  • 阈值控制:
    • observeAfterTokens: 触发观察器的增量 token 数(默认 10000)。
    • reflectAfterTokens: 触发反思器的增量 token 数(默认 20000)。
    • compactAfterTokensMode: 阈值模式选择(calibrated 或 ratio)。
    • compactAfterTokensRatio: 比例模式下的阈值(默认 0.68)。
  • 模型覆盖:
    • model: 可选覆盖记忆 worker 使用的模型。设置卡片中支持按提供商、模型 ID、推理强度三级选择。全部留空则跟随会话当前模型。
  • 其他设置:
    • passive: 被动模式开关。设为 true 时关闭主动后台触发(仅保留手动触发和 recall 功能)。
    • debugLog: 是否记录调试日志。

使用

  • 查看记忆:在对话视图环中点击「记忆」选项卡,可以查看当前可见记忆、完整记录以及 worker 的运行进度。
  • recall 工具:模型在压缩后的记忆中看到记忆 id 后,可调用 recall(id) 获取带时间戳的原始会话证据。
  • 回退操作:点击用户消息下方的「回退」按钮,会在该消息之前的最近轮次边界处分叉出一个新会话,并将该消息的原文放回输入框,方便修改后重新发送。

适用场景与注意

  • 版本限制:仅支持 DSH 预发布线(0.1.5-rc.2, 0.1.7-rc.1, 0.2.0-rc.1),正式版暂不支持。
  • 子代理:子代理会话不参与记忆与主动压缩。
  • Headless 模式:记忆选项卡依赖 Typert Remote 端点,在无 API Gateway 的 Headless 运行中不可用,但其余功能正常。
  • 回退按钮限制:在首轮消息、纯附件消息或无文本消息时,回退按钮保持禁用。
  • Token 估算:所有 token 计数为估算值(约 4 字符/token)。

结语

该插件通过后台流水线和零模型调用的压缩渲染,解决了长会话上下文丢失的问题。你可以通过 GitHub 仓库 epcn-fla/dsh-observational-memory 获取源码与更多细节。

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

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

小夜