前言¶
DeepSeek Harness (DSH) 的插件生態強調模塊化與可組合性。在使用 DSH 構建 Agent 時,一個常見痛點是會話間的上下文斷層——對話結束後,Agent 便失去了對過往信息的記憶。dsh-engram 是一個旨在解決這一問題的插件,它爲 DSH 提供了跨會話的長期記憶能力。該插件採用“記憶宮殿”的信息架構設計,將這一心理學方法轉化爲機器可落地的數據結構,結合混合檢索、間隔重複複習與知識飛輪機制,幫助 Agent 建立穩定的長期記憶庫。
安裝¶
插件默認配置將分庫與模型緩存存儲在 ~/.dsh/engram 目錄下。安裝時使用官方提供的 npm 包名:
dsh plugin --profile web add @kenz1117/dsh-engram
安裝完成後無需額外配置即可啓用基礎功能。
核心架構:記憶宮殿¶
插件的核心設計不依賴於生物學的神經科學隱喻,而是利用信息架構學原理構建存儲與檢索系統。主要包含以下四個原則:
- 位置當索引:每條記憶被寫入時會被釘在特定的“房間#樁位”座標上。房間容量爲 9,樁位只增不回收,滿員時自動開啓新房間。
- 固定路線定順序:系統維護一個
tour_routes列表,按照樁位的順序對記憶進行巡遊。這種順序一旦確定便不再修改,利用順序而非重新檢索來召回記憶。 - 骨架長期複用:同一主題的內容永遠落在同一房間、同一序號,利用穩定的物理位置確保記憶的連貫性。
- 標記獨一無二:寫入時進行 0-1 評分,基於全庫唯一性、日期錨點、同房前 6 字不重複等規則,低分記憶進入翻新清單。
主要功能¶
雙層分庫與混合檢索¶
插件採用雙層數據庫結構:
* 全局庫 (user.db):存儲跨項目通用的個人偏好、經歷等。
* 項目庫 (project-<hash>.db):按 git 倉庫標識隔離,存儲項目特定的技術選型與約定。
檢索採用混合模式,結合 FTS5(支持中文 2-gram 預切詞)與本地向量模型 Xenova/bge-small-zh-v1.5(512 維,q8 量化)。當離線嵌入模型下載失敗時,系統會自動降級爲純關鍵詞檢索。
走廊路由與間隔複習¶
爲了減少全庫檢索的壓力,系統引入“走廊”概念。用戶畫像中包含房間目錄,engram_search 支持傳入 room 參數,先縮小檢索範圍再進行精確查找。檢索結果會附上同房相鄰樁位作爲線索。
系統內置 SM-2 算法 的間隔重複機制。engram_review 工具僅展示記憶的座標與線索,不展示正文,迫使模型先進行主動回憶。通過自評(0-5 分)推進複習調度,未通過複習的記憶不會參與自動衰減。
知識飛輪與自動攝取¶
插件構建了一個知識飛輪閉環:
1. 攝取:開啓 ingest 配置後,系統自動從會話日誌中提取事實。
2. 強化:高相似度的近鄰記憶會建立 contradicts 邊,由用戶或外部 Jev 模型裁決。
3. 蒸餾:相似記憶簇合併爲高層規律,置信度繼承。
4. 衰減:低重要性且長期未訪問的記憶會被歸檔。
實體詞典與來源審計¶
系統會自動從攝取內容和 engram_save 的輸出中抽取實體(人物、項目、工具等),並與現有實體詞典進行消解。每條記憶均記錄來源會話、輪次與事件 seq,支持完整的操作日誌回溯。
安全與合規¶
插件內置了多層防護機制:
* 提示注入防護:所有記憶召回出口均包裹在 <engram_memory_context> 協議標籤中,明確告知模型其歷史屬性。
* 攝取脫敏:入庫前會使用正則清洗常見密鑰(如 API Key、GitHub Token)與個人信息(手機號、身份證),替換爲 [REDACTED:<類型>]。
* 證據門:檢索結果僅標記爲“相關”,只有當模型判定爲“足以回答”且提供了有效證據時,纔算作最終確認。
Web 管理面板¶
插件提供了一個功能完備的 Web 管理面板,支持多視圖瀏覽:
* 今日:查看待複習條數、記憶健康分。
* 實體:按類別篩選、搜索實體及其關聯記憶。
* 裁決:查看 Jev 系統的衝突判定與擱置記錄。
* 日誌:審計操作記錄與檢索證據。
典型用法¶
保存記憶¶
使用 engram_save 工具保存條目。系統會自動清洗數據,並根據四態回報策略處理內容(複述併入強化、疑似矛盾、全新寫入、低熵丟棄)。
// 示例調用
engram_save({
items: [
{ content: "用戶偏好使用 Python 而非 Node.js 處理數據分析。" }
],
scope: "project" // 按當前會話 cwd 歸屬項目庫
});
檢索記憶¶
通過 engram_search 進行檢索,可使用 room 參數限定範圍。
// 在特定房間內檢索
engram_search({
query: "數據分析偏好",
room: "preference" // 偏好閣
});
複習記憶¶
查看今日需要複習的條目,進行回憶測試。
engram_review();
生態與限制¶
- 環境要求:依賴 Node.js 版本
^22.19.0或>=24.0.0。 - 技術棧:純 TypeScript 實現,不依賴外部進程或 Python 環境。
- 生態定位:DSH 插件生態中屬於“AGI 架構探索”類別,與 MemGPT 等同層敘事。