前言¶
在 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