前言¶
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 时使用 delegate。project_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;安装时创建memflowpreset 但不改变已有默认,仅显式设为true时才经 settings 服务设为默认。memoryPerFileBytes对应已核实的单文件内联上限 8192 字节。memoryTotalBytes对应已核实的快照总上限 65536 字节。maxInlineBytes对应已核实的 delegate dossier 单文件内联上限 32768 字节。denyTools默认 deny 名单为subagent、subagent_fork、delegate,用于防递归。suppressRoots中指定的项目根不注入协议、不注入记忆快照。
实现注意点¶
- 零
@deepseek-ai依赖,避免与组合 row 重名依赖造成模块遮蔽和 Symbol 分裂。 - 子 agent 相关工具默认通过 deny 名单控制,防止递归。
- 记忆快照和 delegate dossier 都有内联大小限制,超出限制时不应假设会完整注入。
- 插件会以当前 dsh 进程权限运行,安装前应检查源码与许可证。
适用场景¶
适合需要在 DSH 中保留项目级会话记忆的使用者,尤其适合以下情况:
- 同一项目会在多个会话中继续,需要恢复任务现状、决策和踩坑记录。
- 多项目并行,需要项目记忆彼此隔离。
- 使用
delegate启动子 agent,需要把项目记忆和必读文件作为上下文带入。 - 在 web 或 headless profile 中按需启用「记忆流模式」。
链接¶
已核实 GitHub 地址:
https://github.com/crwsr124/dsh-memflow