DeepSeek Harness 記憶插件:dsh-observational-memory

前言

在 DeepSeek Harness(DSH)的長會話場景中,上下文窗口限制是繞不開的問題。壓縮摘要雖然能減少 token 佔用,但經過多輪壓縮後,設計決策的理由、被否決過的方案、關鍵約束等細節往往會丟失。本插件將記憶工作前置到會話進行過程中,通過後臺持續沉澱觀察與反思,讓長會話在經過多輪壓縮後依然保持連貫。

核心功能

該插件在後臺維護一套記憶流水線,並在 DSH 的壓縮機制上做了特殊處理:

  • 後臺記憶流水線:包含觀察器、反思器和清理器。觀察器將會話事件蒸餾爲帶時間戳和相關度的記錄;反思器提煉長期事實;清理器修剪已被反思覆蓋的觀察。整個過程由 turn/end 等事件按 token 閾值驅動。
  • 壓縮即渲染:當 DSH 發起壓縮摘要調用時,插件在 llm/stream 瀑布中攔截。如果記憶非空,直接返回渲染好的記憶文本,實現零模型調用;記憶爲空時回退 DSH 原生摘要。
  • 主動壓縮:支持 calibrated(固定閾值)和 ratio(上下文窗口比例)兩種模式。會話空閒且上下文達到閾值時自動觸發。
  • recall 工具:模型可調用 recall(id) 恢復任意觀察或反思背後的原始會話證據。
  • 記憶選項卡:對話視圖環新增「記憶」頁,實時展示記憶清單、worker 進度、內容與調試日誌。
  • 回退按鈕:每條用戶消息下方新增按鈕,支持一鍵分叉會話並將原文放回輸入框。

安裝與啓用

安裝前請確保 DSH 版本符合要求。該插件僅支持 DeepSeek Harness 預發佈線(0.1.5-rc.2, 0.1.7-rc.1, 0.2.0-rc.1)。

通過 DSH CLI 安裝:

dsh plugin --profile web add dsh-observational-memory

安裝完成後,重啓 DSH Web 服務。在 Web 界面中,進入 設置 → 插件 → 插件配置,找到 Observational Memory 卡片即可進行配置。

配置

配置項位於 observational-memory 命名空間下。核心參數如下:

  • 閾值控制:
    • observeAfterTokens: 觸發觀察器的增量 token 數(默認 10000)。
    • reflectAfterTokens: 觸發反思器的增量 token 數(默認 20000)。
    • compactAfterTokensMode: 閾值模式選擇(calibrated 或 ratio)。
    • compactAfterTokensRatio: 比例模式下的閾值(默認 0.68)。
  • 模型覆蓋:
    • model: 可選覆蓋記憶 worker 使用的模型。設置卡片中支持按提供商、模型 ID、推理強度三級選擇。全部留空則跟隨會話當前模型。
  • 其他設置:
    • passive: 被動模式開關。設爲 true 時關閉主動後臺觸發(僅保留手動觸發和 recall 功能)。
    • debugLog: 是否記錄調試日誌。

使用

  • 查看記憶:在對話視圖環中點擊「記憶」選項卡,可以查看當前可見記憶、完整記錄以及 worker 的運行進度。
  • recall 工具:模型在壓縮後的記憶中看到記憶 id 後,可調用 recall(id) 獲取帶時間戳的原始會話證據。
  • 回退操作:點擊用戶消息下方的「回退」按鈕,會在該消息之前的最近輪次邊界處分叉出一個新會話,並將該消息的原文放回輸入框,方便修改後重新發送。

適用場景與注意

  • 版本限制:僅支持 DSH 預發佈線(0.1.5-rc.2, 0.1.7-rc.1, 0.2.0-rc.1),正式版暫不支持。
  • 子代理:子代理會話不參與記憶與主動壓縮。
  • Headless 模式:記憶選項卡依賴 Typert Remote 端點,在無 API Gateway 的 Headless 運行中不可用,但其餘功能正常。
  • 回退按鈕限制:在首輪消息、純附件消息或無文本消息時,回退按鈕保持禁用。
  • Token 估算:所有 token 計數爲估算值(約 4 字符/token)。

結語

該插件通過後臺流水線和零模型調用的壓縮渲染,解決了長會話上下文丟失的問題。你可以通過 GitHub 倉庫 epcn-fla/dsh-observational-memory 獲取源碼與更多細節。

羽毛球分组比赛记分
小程序二维码

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

小夜