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