前言¶
DSH 的擴展方式是把能力做成插件。多會話任務裏,當前上下文不足以承載需要長期保留的信息:用戶偏好、高重要度筆記、可複用流程都可能在後續會話中丟失。imemory 是一個 DSH 插件,它在回合後自動提取記憶,在每一步前召回並注入相關記憶,並把可複用流程沉澱爲 learned-* 技能,同時提供網頁管理面板。下面介紹它的功能、安裝方式和注意事項。
這是什麼¶
imemory 對應 GitHub 倉庫 bass1125/imemory,許可證爲 MIT。它的記憶文件是純文本,條目以單獨一行 § 分隔。插件會在回合結束後由 LLM 提取值得保留的信息,並在後續步驟中召回相關記憶。當前發佈版仍屬測試版,接口與行爲可能隨迭代調整。
核心功能¶
- 回合後自動提取:LLM 從對話中提煉持久信息並寫入記憶,
importance打分 1-10,低於 3 自動丟棄。 - 每步召回注入:每次模型步驟前,關鍵詞初篩加 LLM 語義重排,把相關記憶注入上下文。
- 會話開場記憶:新會話第一步注入用戶檔案和高重要度筆記。
- 衝突合併、去重、衰減淘汰:每 6 小時固化一次。
- 技能學習閉環:可複用流程可沉澱爲
learned-*技能。 - 提供 6 個工具:
memory_search、memory_add、memory_update、memory_forget、memory_sessions、memory_consolidate。 - 網頁管理面板:
/imemory/。 - 零依賴:不
import任何@deepseek-ai包。 - 不挑 profile 類型:
webServer是可選服務。
安裝與啓用¶
目標 DSH 版本爲 0.1.0-rc.6,要求 Node >= 20。
手動掛載¶
先以 web profile 爲例,把插件文件複製到 profile 目錄:
cp imemory.mjs ~/.dsh/profiles/web/imemory.mjs
然後在 profile 的 cordis.patch.yml 末尾追加掛載行:
- insert:
- id: imemory
name: ./imemory.mjs
最後重啓 dsh。如果修改的是 imemory.mjs 模塊本體,也可以在 name 中加查詢串強制重新導入:
name: ./imemory.mjs?v=2
bundle 安裝¶
資料同時給出 npm 和 git 兩條安裝命令,可按需使用:
dsh plugin --profile web add imemory
dsh plugin --profile web add https://github.com/bass1125/imemory.git
如果 profile 中已有手動掛載的 imemory 行,使用 bundle 安裝前先刪掉,避免雙掛。
配置記憶目錄¶
記憶目錄通過掛載條中的 config.memDir 指定,可設爲絕對路徑、~ 開頭路徑或相對路徑。例如:
- insert:
- id: imemory
name: ./imemory.mjs
config:
memDir: ~/.dsh/my-memories
訪問管理面板¶
webServer 可用時,可以訪問下面的管理面板地址:
http://<dsh-host>:<dsh-port>/imemory/
典型用法¶
經過上面的步驟後,可以按以下方式驗證:
1、新會話第一步會注入用戶檔案和高重要度筆記。
2、模型工具列表中出現 memory_search、memory_add、memory_update、memory_forget、memory_sessions、memory_consolidate。
3、webServer 可用時,訪問 /imemory/ 管理面板。
記憶文件是純文本,條目以單獨一行 § 分隔。可複用流程可以沉澱爲 learned-* 技能。
適用場景與注意¶
imemory 適合需要跨會話保留用戶偏好、高重要度筆記和可複用流程的 DSH 使用者。安裝前注意:
- 插件以當前
dsh進程權限運行,安裝前檢查源碼和 MIT 許可證。 - 當前發佈版仍屬測試版,接口與行爲可能隨迭代調整。
- 目標 DSH 版本爲
0.1.0-rc.6,要求Node >= 20。 - 如果 profile 中已有手動掛載行,使用 bundle 安裝前先刪掉,避免雙掛。
- 修改
imemory.mjs模塊本體需要重啓dsh,或在name中加查詢串強制重新導入。
結尾¶
imemory 把回合後提取、每步召回和 learned-* 技能沉澱放進 DSH 插件流程,適合需要長期記憶和可複用流程的場景。
- 社區目錄:https://www.skillhub.cn/plugins/bass1125/imemory
- GitHub:https://github.com/bass1125/imemory