dsh-memflow:为 DeepSeek Harness 提供项目级记忆框架

前言

DSH 的插件机制允许在不改核心流程的前提下扩展 agent 工作流。做 DSH 开发时,常见的问题是会话结束后的状态只能留在对话里,重新打开同一项目时缺少任务现状、决策和踩坑记录;多项目并行时,还需要避免不同目录的记忆互相污染。下面介绍 crwsr124/dsh-memflow,一个用于 DSH 的记忆框架插件。

这是什么

crwsr124/dsh-memflow 是 DeepSeek Harness(DSH)的记忆框架插件,定位为 MEMFLOW memory framework。它采用分布式记忆架构:每个工作目录/项目拥有独立持久 memory/,不同项目的记忆各自独立、互不干扰。

该插件由 crwsr124 维护,许可证为 MIT,属于社区项目,与 DeepSeek 官方无隶属关系。

核心功能

会话开始时加载当前目录记忆

在任意目录下启动会话时,会话开始会机械加载当前目录的记忆快照。已核实的优先项包括:

history
brick_index
notes
status
tasks

已核实的记忆快照大小限制为:单文件内联上限 8192 字节,快照总上限 65536 字节。

工作中触发即写

任务完成、状态变化、关键决策、踩坑经验会即时写入。该能力没有固定收尾落盘流程,关键状态不再只停留在对话中。

协议变量注入

协议变量 {{memflow_protocol}} 在每次 prompt 组装时实时读取 MEMFLOW.md 全文并注入 persona。

delegate 子 agent

delegate 工具以 prepared dossier 启动 worker 子 agent。prepared dossier 会内联项目记忆与必读文件,支持前台、后台 one-shot、continuable 三种模式。

已核实的 delegate dossier 单文件内联上限为 32768 字节。

preset 自动创建

安装后会创建 memflow preset。该 preset 复制 standard,persona 挂协议变量,并禁用内置子 agent 工具以防递归。它不改变部署原有默认预设。

安装与启用

首次安装后需重启 dsh 进程加载。安装命令按目标 profile 选择:

dsh plugin --profile <name> add github:crwsr124/dsh-memflow

常见示例:

dsh plugin --profile web add github:crwsr124/dsh-memflow
dsh plugin --profile headless add github:crwsr124/dsh-memflow

安装完成后,新建会话时可按需选择「记忆流模式」预设。headless 部署可直接运行任务:

dsh --profile headless "你的任务"

典型用法

1、在任意项目目录启动会话。会话开始时会读取当前目录 memory/ 快照,并按已核实优先项组织上下文:

history
brick_index
notes
status
tasks

2、在会话中处理任务。任务完成、状态变化、关键决策、踩坑经验即时写入。

3、需要委派子 agent 时使用 delegateproject_dir 的记忆与 context_files 必读文件会机械内联进 dossier。

4、如需调整行为,在 profile 的 cordis.patch.yml 中按插件 id 覆盖配置项。已核实支持以下配置项:

protocolFile
setDefault
memoryBootstrap
rosterlessProtocol
memoryPriority
memoryPerFileBytes
memoryTotalBytes
maxInlineBytes
denyTools
enableRunInBackground
backgroundMode
provider
toolName
maxDepth
suppressRoots

几个已核实的配置/限制说明:

  • setDefault 默认 false;安装时创建 memflow preset 但不改变已有默认,仅显式设为 true 时才经 settings 服务设为默认。
  • memoryPerFileBytes 对应已核实的单文件内联上限 8192 字节。
  • memoryTotalBytes 对应已核实的快照总上限 65536 字节。
  • maxInlineBytes 对应已核实的 delegate dossier 单文件内联上限 32768 字节。
  • denyTools 默认 deny 名单为 subagentsubagent_forkdelegate,用于防递归。
  • suppressRoots 中指定的项目根不注入协议、不注入记忆快照。

实现注意点

  • @deepseek-ai 依赖,避免与组合 row 重名依赖造成模块遮蔽和 Symbol 分裂。
  • 子 agent 相关工具默认通过 deny 名单控制,防止递归。
  • 记忆快照和 delegate dossier 都有内联大小限制,超出限制时不应假设会完整注入。
  • 插件会以当前 dsh 进程权限运行,安装前应检查源码与许可证。

适用场景

适合需要在 DSH 中保留项目级会话记忆的使用者,尤其适合以下情况:

  • 同一项目会在多个会话中继续,需要恢复任务现状、决策和踩坑记录。
  • 多项目并行,需要项目记忆彼此隔离。
  • 使用 delegate 启动子 agent,需要把项目记忆和必读文件作为上下文带入。
  • 在 web 或 headless profile 中按需启用「记忆流模式」。

链接

已核实 GitHub 地址:

https://github.com/crwsr124/dsh-memflow
羽毛球分组比赛记分
小程序二维码

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

小夜