dsh-memory-loader:DeepSeek Harness 确定性记忆注入插件

前言

DeepSeek Harness(DSH)原生只自动加载指令文件链(如 AGENTS.md / CLAUDE.md),不加载 memory/ 目录。在指令文件中写「会话开始先读记忆」依赖模型的自觉,是概率性的。dsh-memory-loader 插件把这一步变成 harness 级确定性注入,确保每个新会话开始时自动加载两级记忆。

插件定位

这是一个 DeepSeek Harness(DSH)确定性记忆注入插件。它通过 agent/pre-step seam 在每个新会话开始时,自动注入两级记忆——全局 ~/.dsh/memory/ 和项目 <cwd>/memory/ 下的 MEMORY.md 以及当日 YYYY-MM-DD.md。该插件不依赖模型「自觉去 read」,且支持独立的字节预算控制。

核心功能

  1. 两级记忆注入:自动加载全局和项目的长期记忆(MEMORY.md)及当日笔记(YYYY-MM-DD.md)。
  2. 自动注入当日笔记:根据当前日期匹配 YYYY-MM-DD.md 文件。
  3. 独立字节预算控制:总预算 16KB,单文件上限 64KB。
  4. 会话注入去重机制:通过标记检测并避免重复注入。
  5. Markdown 内容转义安全:防止记忆内容逃逸帧。
  6. 超限处理策略:文件超限直接丢弃或截断。
  7. 只读不写:插件仅负责读取记忆,不触碰写回操作。

安装与启用

推荐使用 bundle 方式安装。在终端执行以下命令:

dsh plugin --profile web add https://github.com/wuruihi/dsh-memory-loader/archive/refs/heads/main.tar.gz

若需使用 file:// 挂载方式,需将 dsh-memory-loader.mjs 放入 ~/.dsh/profiles/web/ 目录,并在 ~/.dsh/profiles/web/cordis.patch.yml 中追加配置。变更会由 watchUserPatches 热应用,无需重启。

配置说明

插件支持通过配置项控制预算:

键 默认值 说明
maxBytes 16384 注入帧总预算(字节),独立于 AGENTS.md 链的 64KB
maxSourceBytes 65536 单文件读取上限(字节),超限视为文件不存在

预算策略与官方 dsh-agent-instructions 一致:超限时先丢弃最不特定的文件,最后截断最特定的文件并附提示。

典型用法

安装完成后,插件会自动在每次新会话开始时注入记忆。用户无需在指令文件中手动添加读取记忆的逻辑,记忆内容会作为 durable user message 紧跟用户首条 prompt 之前注入。

适用场景与注意

该插件适合需要长期维护上下文连贯性、希望记忆管理自动化的开发者。使用前请确认源码与许可证,确保符合项目安全要求。插件以当前 DSH 进程权限运行,应确保目录读写权限正确。

结语

通过上述配置,DSH 的记忆管理将变得确定且可控。更多细节可查阅 GitHub 仓库 或 插件目录。

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

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

小夜