dsh-memory-lite:给你的 dsh agent 一份跨会话的长期记忆

DSH 的每个会话都是白纸开局。转录落盘是为了审计,模型再也看不到它。这个插件补上那一层:一条常驻的记忆目录 + 5 个记忆工具 + 后台自动提取。

这是什么

插件名 alanzhao0128/dsh-memory-lite,维护者是 alanzhao0128。它给 dsh agent 一份跨会话的长期记忆,核心特点是纯 Markdown 文件、零依赖。会话里的偏好、决策、约束会被记下来,重启、升级、换 profile 之后依然在。

核心功能

  1. 显式记忆工具:提供 5 个工具,分别是 read_memory、search_memory、remember、update_memory、forget_memory。update 把旧内容归档进 ## History,forget 是软删除(进 .trash/)。
  2. L0 目录注入:每次会话注入常驻记忆目录消息(_index.md 渲染);目录变化、或压缩把它挤出可见面时自动重发。
  3. 隐式提取:后台把新增对话窗口喂给模型,产出 create / merge / update / skip 决策,带去重检索与解析失败重试。
  4. 跨 peer 共享:把别的 peer 的记忆以只读方式挂到 shared/<name>/ 下。
  5. 头部指示器:标题栏胶囊 + 三色点,每 10 秒轮询一次运行状态。
  6. 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

羽毛球分组比赛记分
小程序二维码

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

小夜