dsh-light-memory:給 DSH Web GUI 加一套純文本輕量記憶

前言

在 DSH Web GUI 場景裏,Agent 經常需要把用戶偏好、項目約定和階段性結論保留到後續會話。若用數據庫、向量庫或 MCP 來承載記憶,維護面會變大。dsh-light-memory 的思路更輕:把記憶寫成可見、可編輯、可 git 管理的 Markdown 文件,再圍繞兩個動作做維護。

下面介紹它的定位、核心能力、安裝方式、典型用法,以及使用時需要確認的安全與依賴邊界。

這是什麼

dsh-light-memory 是 chidaic 維護的一個 DSH 插件,面向 DSH Web GUI 提供輕量記憶系統。

它不使用數據庫、向量庫、MCP 或 Python。記憶本體由四個 Markdown 文件組成:

  • USER.md
  • PROJECT.md
  • WORKLOG.md
  • CONVENTION.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.section
  • systemPrompt.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
羽毛球分组比赛记分
小程序二维码

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

小夜