前言¶
在 DSH Web GUI 場景裏,Agent 經常需要把用戶偏好、項目約定和階段性結論保留到後續會話。若用數據庫、向量庫或 MCP 來承載記憶,維護面會變大。dsh-light-memory 的思路更輕:把記憶寫成可見、可編輯、可 git 管理的 Markdown 文件,再圍繞兩個動作做維護。
下面介紹它的定位、核心能力、安裝方式、典型用法,以及使用時需要確認的安全與依賴邊界。
這是什麼¶
dsh-light-memory 是 chidaic 維護的一個 DSH 插件,面向 DSH Web GUI 提供輕量記憶系統。
它不使用數據庫、向量庫、MCP 或 Python。記憶本體由四個 Markdown 文件組成:
USER.mdPROJECT.mdWORKLOG.mdCONVENTION.md
這些文件是插件保存記憶的載體,也可以直接編輯。
許可證爲 MIT,要求 Node >=20.0.0。
核心功能¶
四個文件,各司其職¶
插件用四個文件分別承載不同性質的內容:
| 文件 | 用途 |
|---|---|
USER.md |
用戶級記憶 |
PROJECT.md |
項目級記憶 |
WORKLOG.md |
操作流水 |
CONVENTION.md |
記憶規約 |
其中,CONVENTION.md 用於自定義記憶規約。你可以編輯它,定義“記什麼、怎麼沉澱”。
兩個動作:append 與 distill¶
插件提供兩個主要動作:
append:把一段操作記錄追加到WORKLOG.md。distill:在任務邊界處理本次會話新增段,並將有結論的內容沉降進USER.md或PROJECT.md。
這兩個動作把“臨時流水”和“可複用結論”分開處理。
注入方式¶
插件通過以下三種方式把記憶注入到模型上下文:
systemPrompt.sectionsystemPrompt.context- 按需讀取
整體目標是讓注入更友好地配合 prefix-cache。
提供的工具¶
插件提供四個工具:
| 工具 | 作用 |
|---|---|
memory_append |
將一段操作記錄追加到 WORKLOG.md |
memory_read |
讀取 USER.md / PROJECT.md 全文,或讀取 WORKLOG.md 最近 n 段 |
memory_convention |
讀取 CONVENTION.md 全文 |
memory_distill |
在任務邊界只掃描本次會話新增段,並將有結論內容沉降進 USER.md 或 PROJECT.md |
安裝與啓用¶
使用 DSH 插件命令安裝:
dsh plugin --profile web add dsh-light-memory
安裝後重啓 dsh web 生效。
典型用法¶
可以按下面的流程使用:
1、先用 memory_append 將一段操作記錄追加到 WORKLOG.md。
2、需要查看記憶時,用 memory_read 讀取 USER.md / PROJECT.md 全文,或讀取 WORKLOG.md 最近 n 段。
3、需要查看當前記憶規約時,用 memory_convention 讀取 CONVENTION.md 全文。
4、在任務邊界用 memory_distill 處理本次會話新增段,並將有結論的內容沉降進 USER.md 或 PROJECT.md。
5、在設置頁調整用戶級、項目級注入開關,以及參數默認值。
6、如果希望改變記憶規則,直接編輯 CONVENTION.md。
默認配置¶
默認配置包括以下參數:
recentSegments: 3
recentBytes: 8192
userMaxBytes: 2048
projectMaxBytes: 8192
userMaxEntries: 60
projectMaxEntries: 80
maxBytes: 25600
maxSegmentBytes: 4096
這些參數用於控制記憶讀取、注入和大小邊界。設置頁可調整用戶級、項目級注入開關與參數默認值。
安全邊界¶
插件內置了幾類機械防護:
- 上限守衛:只攔截持久結論文件增長越上限的
write/edit寫,放行縮小寫。 - secret 掃描:在
append或結論庫寫前攔截 API key、token、私鑰塊等模式。 - 路徑逃逸防護:要求
realpath落在允許根內,拒絕symlink、..或絕對路徑逃逸。
這些限制的目的是減少誤寫、泄密和路徑越界風險。
適用場景與注意¶
dsh-light-memory 適合在 DSH Web GUI 中做 Agent 工作流、並希望記憶以純文本形式落盤的場景。它比較適合以下需求:
- 記憶要可見、可編輯、可 git 管理。
- 不想引入數據庫、向量庫、MCP 或 Python。
- 希望按用戶級、項目級、操作流水、記憶規約分別開關。
- 希望在
systemPrompt.section、systemPrompt.context和按需讀取之間做更穩定的上下文注入。
使用前建議確認:
- 運行環境滿足 Node >=20.0.0。
- 插件以當前 dsh 進程權限運行,安裝前應檢查源碼與許可證。
- README 聲稱零數據庫、零依賴、零遙測,但
package.json的dsh.client.inject聲明瞭@deepseek-ai/dsh-client-runtime。是否需要額外運行時依賴未確認,部署前建議覈對源碼與運行環境。
鏈接¶
GitHub 倉庫:
https://github.com/chidaic/dsh-light-memory
插件目錄頁:
https://www.skillhub.cn/plugins/chidaic/dsh-light-memory