前言¶
在 DeepSeek Harness(DSH)里,记忆类插件常把整本 markdown 记忆塞进提示词。以 dsh-whale-loli 为例,注入上限约 16000 字符;超限后会从文件前面硬切,而新记忆通常追加在末尾,结果是刚写进去的内容可能立刻不可见且没有报错。要在不另起一套记忆系统的前提下保住「固定记忆区整块进提示词」,需要有人盯着体积并在超阈值前把旧内容挪走。下面介绍社区插件 dsh-memory-organizer(维护者 JiessieM,分类:记忆),它只做这件事:给已经存在的记忆本瘦身。
这是什么¶
dsh-memory-organizer 是 DSH 记忆本自动整理插件。它不注册工具、不改写正文,固定记忆区超过配置阈值时,把最旧的可归档内容整块搬进 <DSH_HOME>/memoryORZ/<记忆文件名>/,原位留占位或索引行。与具体记忆插件无绑定:只要 markdown 里有一级标题带「记忆」相关字样,并按文档约定的节标题格式书写,即可被管理。
社区目录页:skillhub.cn/plugins/JiessieM/dsh-memory-organizer
源码与说明:github.com/JiessieM/dsh-memory-organizer(MIT,package 版本 0.1.0)
它要解决的核心问题¶
dsh-whale-loli 在超限时先丢滚动摘要,再清空归档索引,最后截断固定记忆并追加「…(固定记忆太长,已截断)」——从前往后切。阈值默认设为 15000 字符,是为滚动摘要、详细区、归档索引等留出约 1000 字符余量,避免固定区顶满 16000 后被截断。
本插件通过归档把固定记忆区压在阈值以内,保证整块固定记忆能完整注入。
核心功能¶
发现记忆本¶
不写死文件名。扫描 <DSH_HOME>/*.md 与 <DSH_HOME>/<一级子目录>/*.md(只下一层),跳过 memoryORZ/、node_modules/、plugins/ 等目录,以及 【YY-MM-DD】… 归档名和 .bak-* 备份。
判定条件:文件大小在 10 字节~8 MB;前 12 行内有一级标题含记忆相关词(如 # 固定记忆、# Memory、# 我的记忆)。正文里随口提到「记忆」不算;带 .md 的文件头标题不算记忆区。
第一个「标题带记忆词」的一级标题即记忆区起点。若没有区,插件会在第一个一级标题之后补 # 固定记忆 及格式壳,原有正文不动。多本记忆本并行管理,归档目录按文件名分开。
显式指定路径时不再自动扫描:
config:
files:
- whale-loli-v2-live.md
- D:/notes/my-memory.md
结构与写入约定¶
固定记忆区内建议包含格式块与三个分区:## 印象(插件永不搬)、## 技能(索引区)、## 近期记忆(干活区,从这里搬最旧内容)。新建本可只写一行 # 固定记忆,插件在巡检周期内(默认 60 秒)自动补壳,补完不再重复插入。
节标题示例:
### 主题(可归档)【技能】【26-10-31】
- 一条小小节(10-31 14时)
状态词仅 (进行中) / (可归档);分类标记为 【印象】 【技能】 【事件】 之一,未标记的节不会被搬。日期格式 YY-MM-DD,用横杠。
搬运规则¶
- 印象区:一条都不动。
- 标了(可归档)的整节:直接搬走。
- 【技能】节:小小节超过 6 条则搬到剩 6 条,原位留
- 已归档 N 条小小节;仍超则继续压,每节至少留 2 条;再不行则整节迁走并在## 技能记索引。 - 进行中的事件:未标(可归档)不动。
归档文件落在 memoryORZ/<记忆文件名>/,文件名形如 【26-10-23】【技能】英语学习.md;内容原样保留,文首注明来源与超限原因。同主题续写进同一文件,不每次新建 -2.md。
安全与隔离¶
只搬不改;写盘前 copyFileSync 备份为 <记忆本>.bak-<时间戳>;先写 .tmp 再 renameSync。不碰 whale-loli 的注入通道,体积变小后 composeMemory() 自然变短。
安装与启用¶
官方安装(资料原文):
dsh plugin --profile desktop add dsh-memory-organizer
装完后重启 DSH 才会加载。
约 3 秒后检查心跳文件是否生成:
<DSH_HOME>/memoryORZ/.organizer-heartbeat
示例内容:
2026-11-02T18:23:19.280Z pid=22100 threshold=15000 tick whale-loli-v2-live.md:12804
tick 后为当前固定记忆区字符数;之后每 60 秒刷新。
在 cordis.patch.yml 中可调整:
- insert:
- id: memory-organizer
name: dsh-memory-organizer
config:
threshold: 15000
intervalMs: 60000
| 键 | 默认 | 说明 |
|---|---|---|
threshold |
15000 |
固定记忆区字符阈值,不宜接近 16000 |
intervalMs |
60000 |
巡检间隔;每轮仅 stat,超阈值才解析 |
dryRun |
false |
只报告不落盘 |
files |
自动发现 | 指定后不再扫描 |
典型用法¶
- 在
<DSH_HOME>放置或沿用已有 whale-loli 等插件生成的记忆本,保证有「记忆」相关一级标题。 - 新记忆写在
## 近期记忆下,需要长期保留的放## 印象;可淘汰的节标(可归档)与【技能】/【事件】等。 - 安装插件并重启,观察 heartbeat 中
tick是否低于threshold。 - 需要演练时用
dryRun: true看报告再正式落盘。
若与 dsh-whale-loli 同用,需注意 README 中的两点:格式规则块须放在 # 固定记忆 内部(区外内容会在 renderMemory() 写盘时被丢弃);规则块行用 - 开头,勿用 > 引用行(会被 parseMemory() 滤掉)。
适用场景与注意¶
适合:长期用 markdown 记忆本、且固定区容易顶满注入上限的 DSH 桌面配置;尤其与 dsh-whale-loli 等同屏使用时,用归档代替静默截断。
注意:插件以当前 DSH 进程权限读写 <DSH_HOME> 下文件;安装前应在 GitHub 阅读源码与 MIT 许可证,确认归档路径与备份策略可接受。DSH 生态是「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-memory-organizer 的定位是「记忆本守门员」:超阈值前把可归档内容挪到 memoryORZ/,保证固定记忆整块留在提示词预算里,且不改写你写过的每一个字。
- 目录页:https://www.skillhub.cn/plugins/JiessieM/dsh-memory-organizer
- GitHub:https://github.com/JiessieM/dsh-memory-organizer