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.mdPROJECT.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.mdPROJECT.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.mdPROJECT.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.sectionsystemPrompt.context 和按需读取之间做更稳定的上下文注入。

使用前建议确认:

  • 运行环境满足 Node >=20.0.0。
  • 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
  • README 声称零数据库、零依赖、零遥测,但 package.jsondsh.client.inject 声明了 @deepseek-ai/dsh-client-runtime。是否需要额外运行时依赖未确认,部署前建议核对源码与运行环境。

链接

GitHub 仓库:

https://github.com/chidaic/dsh-light-memory

插件目录页:

https://www.skillhub.cn/plugins/chidaic/dsh-light-memory
羽毛球分组比赛记分
小程序二维码

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

小夜