guyuefangyuanl/dsh-memory

guyuefangyuanl★ 1JavaScript最后同步: 2026-08-21

在 GitHub 打开

Cross-session persistent memory for the DeepSeek Harness: a model-facing memory tool, an always-on index section, and a bundled maintenance skill.

README 摘要

dsh-memory DeepSeek Harness 的跨会话持久记忆: 模型自己判断值得记什么、自己写入、后续会话自动召回 的那一层。 这不是 AGENTS.md / CLAUDE.md —— 那层 dsh 已经由 @deepseek-ai/dsh-agent-instructions 做掉了,而且做得更完整。这里补的是它上面那一层:人没有写下来、但模型在干活过程中发现值得留住的事实。 由三个部件组成 1. memory 工具 —— 模型可调用,六个动作: action 作用 write 建一条或整条替换( name + description + type + content ,可选 scope ) read 按 name 读回全文; names 可一次取多条 list 列出索引摘要(不含正文),可按 type 过滤;附带待写清单 search 按内容检索,返回命中片段 edit 局部改写:按 old string / new string 锚点替换,或只换 description / type delete 删除一条并重建索引 2. 一个常驻的 system-prompt section ( order: 50 )—— 每次 prompt 组装时把索引注入上下文。 3. 一个捆绑的 memory-maintenance 技能 —— 记忆库需要整体过一遍时用:合并重复、清理过期、修悬空链接。只在 host 挂载了 skills 服务时才注册,没挂载就静默跳过。 关键设计:索引常驻,正文按需 每条记忆在上下文里只占一行 name — description ,模型看到相关的才用 read 拉全文,或用 search 直接按内容命中。几十条记忆只花几百 token,而不是把全部正文塞进每一次请求。 索引按 type 分组注入, user / feedback 在前 —— 这两类会改变模型的行为, project / reference 只是背景。 两层作用域 默认( scope: layered )两层同时可见,索引里全局条目标 [global] 。写入默认落项目层, write 时传 scope: "global" 才落全局层。同名时 项目层遮蔽全局层 。 这样"这个人是谁、希望你怎么工作"可以写一次全项目通用,而"这个仓库在做什么"仍然不会串味。 单条记忆的格式: 四种 type : user (这个人是谁)· feedback (希望你怎么工作,含原因)· project (在做什么,写绝对日期)· reference (外部资源指针)。正文里用 [[other-name]] 互链, 包括还没写的名字 ——见下面「链到还没写的记忆是特性」。 created 在同名更新时会被保留, updated 每次改写刷新。老格式(没有这两个字段)的记忆照常可读,…

在 GitHub 查看完整 README →
工具/开发agent-memorydeepseek-harnessdsh-pluginagentsearch

分类