前言¶
DeepSeek Harness (DSH) 的插件化架構爲擴展提供了空間,但每個會話默認是隔離的。當你開啓一個新會話,Agent 無法獲取上一輪確定的偏好、踩過的坑或項目背景。dsh-memory_rollout 旨在解決這一記憶斷層,它爲 Agent 提供一份有組織、僅在必要時才寫入的持久記憶,包含事實、偏好、決策和項目筆記。
核心功能¶
該插件實現了 Codex 式的記憶系統,主要包含以下能力:
- 一會話一草稿:每個符合資格的會話會生成或追加證據草稿(
rollout_summaries/<sessionId>.md),類似子AGENTS.md。Agent 也可以在壓縮前顯式保存關鍵要點。 - 分層披露:記憶通過三個層級披露。頂層是注入提示的
memory_summary.md,中間是可搜索的MEMORY.md註冊表,底層是少量的相關草稿或筆記。這種設計便於搜索且不淹沒上下文。 - 剋制被動:記憶生成是自動的,但僅處理符合資格的會話。手動新增、修改或遺忘長期記憶,僅限於用戶顯式請求時執行。快速記憶通道(約 5 步)決定何時查記憶。
- 冪等整合:通過指紋和水印技術,確保無變化時不重複整合,避免浪費 token。
- 6 個用戶工具:提供了
memory_remember、memory_note、memory_integrate、memory_precompact、memory_recall和memory_forget等工具,另有 2 個內部調度工具。 - 瀏覽器管理頁:提供「記憶庫 / Memory」頁面,允許瀏覽摘要、註冊表、草稿和筆記,支持配置修改、導入和導出。
管線與機制¶
插件的工作流如下:
- 會話結束或閒置後,進入持久入隊階段(Stage 1)。
- 提煉候選記憶,並生成或追加僅追加式的證據(草稿 + source_ref)。
- Phase 2 進行全局整合,將證據版本化發佈(
current原子切換,舊版可回退)。 - 分層讀取:先讀總綱,再搜註冊表,最後打開少量相關草稿/證據。
- 用戶通過
remember/forget/supersede命令進入統一變更流,再整合成權威版本。
安裝與啓用¶
當前 npm registry 尚未正式發佈(儘管 package.json 顯示 0.1.27,README 提及 0.1.9),因此推薦通過 GitHub 倉庫或本地 tgz 安裝。
git clone git@github.com:Bionic-forest/dsh-memory_rollout.git
pnpm add ./dsh-memory_rollout
dsh plugin --profile web add dsh-memory_rollout
安裝後,需在 profile 的 cordis.yml(或 cordis.patch.yml)中添加配置:
- id: dsh-memory_rollout
name: dsh-memory_rollout
依賴要求:
* DeepSeek Harness 基座版本需在 0.1.1-rc.2 或更新。
* 必須掛載 sessionQuery 服務(由 DSH 基座提供),否則自動記憶(Stage 1 來源讀取)將被禁用。
使用¶
插件提供了一系列工具供 Agent 或用戶調用:
memory_remember(content="用戶偏好…", tags=["pref"]) # 記入長期記憶,帶來源 sessionId
memory_note(slug="fix-x", content="…") # 寫入臨時 note,僅顯式請求時執行
memory_integrate() # 冪等整合 summary 和 MEMORY.md
memory_precompact(content="要留的關鍵要點") # 壓縮前保存信息到草稿和持久隊列
memory_recall(query="…") # 顯式搜索記憶入口
配置¶
插件暴露了完整的配置 schema,可在瀏覽器管理頁或配置文件中調整。主要配置項如下:
| Key | Type | Default | Meaning |
|---|---|---|---|
recallLimit |
int | 10 | memory_recall 最多返回條目數 |
summaryTokens |
int | 4000 | 注入 memory_summary.md 的 token 預算 |
maxQuickSteps |
int | 5 | 快速記憶通道搜索步數預算 |
memoryRoot |
string | '' |
覆蓋記憶根目錄(只讀) |
generateMemories |
boolean | true |
會話是否貢獻未來記憶(自動 Stage 1) |
useMemories |
boolean | true |
是否給模型注入記憶 |
maxModelAttemptsPerDay |
number | 24 | 每日 Stage 1 模型嘗試上限 |
extractProvider / extractModel / extractReasoningEffort / maxExtractTokens |
Stage 1 提取的 LLM 路由、模型、推理檔位、token 上限 | ||
consolidationProvider / consolidationModel / consolidationReasoningEffort |
Phase 2 整合的 LLM 路由、模型、推理檔位 |
注意事項¶
- 權限與安全:插件以當前 DSH 進程權限運行,安裝前應檢查源碼與許可證。
- 祕密脫敏:插件在入口、模型調用、落盤三個環節對祕密進行脫敏處理。
- 優先級:當前用戶指令高於
AGENTS.md。 - 引用誠實性:引用指向真實內容,否則標記爲
unverified。
生態背景¶
DeepSeek Harness 理念是「一切皆插件」,本插件由社區開發者維護。插件記憶模型改編自 openai/codex(Apache License 2.0)和 flymysql/dsh-memory(MIT),詳見 NOTICE 署名。