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 時使用 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;安裝時創建 memflow preset 但不改變已有默認,僅顯式設爲 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
羽毛球分组比赛记分
小程序二维码

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

小夜