DSH 的每個會話都是白紙開局。轉錄落盤是爲了審計,模型再也看不到它。這個插件補上那一層:一條常駐的記憶目錄 + 5 個記憶工具 + 後臺自動提取。
這是什麼¶
插件名 alanzhao0128/dsh-memory-lite,維護者是 alanzhao0128。它給 dsh agent 一份跨會話的長期記憶,核心特點是純 Markdown 文件、零依賴。會話裏的偏好、決策、約束會被記下來,重啓、升級、換 profile 之後依然在。
核心功能¶
- 顯式記憶工具:提供 5 個工具,分別是
read_memory、search_memory、remember、update_memory、forget_memory。update把舊內容歸檔進## History,forget是軟刪除(進.trash/)。 - L0 目錄注入:每次會話注入常駐記憶目錄消息(
_index.md渲染);目錄變化、或壓縮把它擠出可見面時自動重發。 - 隱式提取:後臺把新增對話窗口餵給模型,產出 create / merge / update / skip 決策,帶去重檢索與解析失敗重試。
- 跨 peer 共享:把別的 peer 的記憶以只讀方式掛到
shared/<name>/下。 - 頭部指示器:標題欄膠囊 + 三色點,每 10 秒輪詢一次運行狀態。
- peer 隔離:peer 名由會話 cwd 推導(目錄名 + 短哈希),無 cwd 的會話落到
defaultPeer。
安裝與啓用¶
先安裝插件,再重啓 dsh。安裝命令如下:
dsh plugin --profile web add @alanzhao/dsh-memory-lite
重啓 dsh 後,宿主插件與瀏覽器半邊都在啓動時加載。裝好後應該看到:
- 會話標題欄出現
memory-lite膠囊:綠點 = 最近一次提取正常,灰 = 提取關閉,紅 = 最近一次提取失敗。 - 設置 → memory-lite 出現完整配置頁。
- 對模型說「記住:我用 pnpm 作爲包管理器」,它會調用
remember,文件落到~/.agent-memory/peers/<peer>/memories/preferences/。
典型用法¶
- 顯式調用:對模型說「記住:我用 pnpm 作爲包管理器」,它會調用
remember。 - 隱式提取配置:把「推理強度」設爲 off 以避免模型將輸出預算花在思考上。
- 驗證狀態:重啓 dsh 後在設置中驗證 memory-lite 膠囊(綠點=正常,紅=失敗)。
適用場景與注意¶
適合需要在多個會話間保持上下文、保存決策偏好和約束的開發者。
使用時需注意以下幾點:
- 權限與安全:所有文件訪問包含邊界(只允許相對路徑,拒絕絕對路徑和 symlink 逃逸);所有寫入走串行隊列 + 原子替換(tmp + rename)。
- 行爲限制:
forget_memory沒有審批門控(模型可直接軟刪除);## Related的自動維護還沒做;沒有 CLI / MCP 入口。 - 環境依賴:瀏覽器半邊(指示器+設置頁)需要 web profile 的 connection 服務,headless profile 下僅工具可用;隱式提取質量取決於模型,小模型易產出需要 repair 的 JSON。
- 兼容性:要求 dsh ≥ 0.1.5,Node ≥ 22。
經過上面的步驟,你就擁有了一個零依賴、基於 Markdown 的長期記憶插件。它通過顯式工具和隱式提取兩種方式,保證 agent 的決策和偏好不會因爲會話重啓而丟失。GitHub 鏈接:https://github.com/alanzhao0128/dsh-memory-lite