dsh-memory-enhanced
给 DeepSeek Harness agent 的轻量跨会话记忆系统:全局/项目两级记忆、自我进化规范与踩坑沉淀,纯 Markdown、零外部服务。
给 DeepSeek Harness(DSH)agent 增加一套轻量、可演进、跨会话的记忆系统。纯 Markdown + 一份维护协议,不引入任何外部服务或后台进程。语言跟随用户与界面自动适配。
它解决什么
DSH agent 默认每个新会话都从零开始:踩过的坑、养成的习惯、做过的决策不会自动带到下一个会话。本插件让 agent 在关键节点分析对话、自行判断是否沉淀、判定全局还是项目级,把「经验」写进一套两级记忆目录里,下次会话开始时读回来。
特性
- 两级记忆:全局(
~/.dsh/memory/,跨项目共享)与项目级(<project>/.dsh/memory/,随项目走) - 六份规范:国际标准开发规范、仓库规范、PR 规范、语言自适应、项目级插件创建规范、自我进化/更新规范
- 自我进化:踩坑记录有统一格式;规范本身也可随经验修订
- 零依赖、零服务:就是目录里的 Markdown 文件 + 一个 skill;不需要 API key、不需要额外进程
- 语言自适应:跟随用户与界面语言,不强制某一种语言
安装
要求:DSH(dsh web)已可用;安装脚本用 Node 实现(DSH 本身依赖 Node),在 Windows / macOS / Linux 上均可运行。
git clone https://github.com/lvyunqi/dsh-memory-enhanced.git
cd dsh-memory-enhanced
node install.mjs
Windows(PowerShell / cmd)同样运行 node install.mjs。
脚本做的事(幂等、非破坏):
- 定位 dsh 自带的
standard(标准模式)与code(PTC 模式)preset - 在
standard基础上创建~/.dsh/.agent-presets/memory-enhanced/ - 在
code(PTC 模式)基础上创建~/.dsh/.agent-presets/memory-enhanced-ptc/ - 写入
memory-protocolskill,并把记忆协议追加进各 preset 的 persona - 把记忆数据模板合并进
~/.dsh/memory/(不覆盖你已有的内容)
找不到基底 preset 时,可设环境变量
DSH_STANDARD_PRESET=/path/to/standard或DSH_CODE_PRESET=/path/to/code后再运行。基于code的 PTC 变体是可选的:若你的 dsh 没有codepreset,脚本会跳过它、仍安装基于standard的那个。
然后启用(改默认只对下一个新会话生效):
# ~/.dsh/settings.yaml
agent-presets:
default: memory-enhanced # 基于 standard(标准模式)
# default: memory-enhanced-ptc # 基于 code(PTC 模式)
或图形界面 Settings → Agent preset → 选「记忆增强」(标准)或「记忆增强 (PTC)」(Code Mode)。
使用
- 会话开始:agent 会自动加载
memory-protocolskill,读取全局conventions.md、lessons/index.md及相关规范;若工作目录在某个项目内,还会读该项目的.dsh/memory/。 - 任务关键节点:agent 分析刚才的对话 → 判断是否值得沉淀 → 判定全局/项目级 → 按格式写入。
- 踩坑/习惯/决策:分别落在
lessons/、conventions.md、decisions.md(项目级)。
目录结构
~/.dsh/memory/ 全局记忆
├── README.md 总纲 + 判级原则
├── conventions.md 全局习惯
├── specs/
│ ├── development.md 国际标准开发规范
│ ├── repository.md 仓库规范
│ ├── pr.md PR 规范
│ ├── language.md 语言自适应
│ ├── project-plugin.md 项目级插件(记忆)创建规范
│ └── self-evolution.md 自我进化/更新规范
└── lessons/
└── index.md 踩坑索引(正文按主题分文件)
<project>/.dsh/memory/ 项目级记忆(可选,随项目入库)
├── README.md
├── conventions.md
├── decisions.md 决策记录(ADR 式)
└── lessons.md 项目特有踩坑
判级原则(全局 vs 项目级)
- 全局:与具体项目无关、任何项目都用得上(通用规范、通用工具坑、语言习惯……)
- 项目级:只对某个项目有意义(技术栈、目录、部署、历史决策……)
- 拿不准 → 先放项目级,等第二个项目也遇到同样问题再提升到全局。
与官方 preset 的关系
安装脚本提供两个 preset,各在 dsh 不同内置 preset 之上叠加记忆层,基底能力全部原样保留:
memory-enhanced— 基底standard(标准模式):文件、Shell、检索、Skills、计划、目标、子代理、工作流。memory-enhanced-ptc— 基底code(PTC 模式):拥有standard的全部能力,额外通过 Code Mode SDK 呈现工具——模型用一个 TypeScript 程序组合多步操作,而不是每步一次工具调用。
两者都从你自己的 dsh 安装里复制,因此总是匹配你本地的 dsh 版本,不会过期。
FAQ
Q:是后台守护进程在自动记吗? 不是。是 agent 在任务关键节点按协议执行(会话开始读、节点判断写)。没有常驻进程、没有额外成本。
Q:会不会把敏感信息写进去? 协议明确规定:密钥、token、密码、个人隐私不入记忆;只记事实与结论,不复制大段日志。
Q:怎么卸载?
删掉 ~/.dsh/.agent-presets/memory-enhanced/ 和/或 ~/.dsh/.agent-presets/memory-enhanced-ptc/,再把默认 preset 改回去;记忆数据在 ~/.dsh/memory/,按需保留或删除。
License
MIT。本项目的 specs、skill、安装脚本均为原创内容;基底 standard、code preset 来自 DeepSeek Harness(MIT,Copyright DeepSeek),由安装脚本从使用者的本地 dsh 安装复制,本项目不随仓库分发其内容。
No comments yet. Be the first to write one.