DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-pet-memory

l

dsh-pet-memory

Manifest valid

陪伴型长期记忆 DSH 插件:分层记忆(对话→事实→场景→人格)、规则抽取、时间衰减检索,全本地文件、append-only 不丢数据。

hasBundlePatchMachine translated

dsh-pet-memory

陪伴型长期记忆插件:分层记忆(对话 → 事实 → 场景 → 人格)、规则抽取、时间衰减检索。 全本地文件、不调额外模型、不产生额外费用;append-only 存储,多进程写入不丢数据。

dsh plugin --profile <name> add github:ly2601620664/dsh-pet-memory

Compatible with: dsh 0.2.x(engines.dsh: >=0.2.1-rc.2 <0.3.0-0)

它做什么

层内容存储
L3 人格/关系档案"我叫他笨蛋"、"关系阶段 3"persona.md
L2 场景一段对话的摘要scenes.jsonl(只追加)
L1 事实"他喜欢喝冰美式"、"约定:周末去爬山"facts.jsonl(只追加)
命中统计每条事实被检索到几次hits.jsonl(只追加)

三个注入点:

  1. systemPrompt.section — 每轮把「人格 + 高价值记忆 + 相关场景」放进系统提示词
  2. 工具 — memory_search / memory_add / memory_profile
  3. session/event — 回合结束时用规则抽取新事实

数据目录

默认 $DSH_HOME/dsh-pet-memory(通常 ~/.dsh/dsh-pet-memory),可用 config.dir 或 DSH_PET_MEMORY_DIR 覆盖。

存储设计(为什么全是 append-only)

facts.jsonl、hits.jsonl、scenes.jsonl 只追加,永不整文件重写。

原因:桌面端和 web 端是两个 DSH 进程,共用同一个数据目录。任何"读全量 → 改内存 → 整文件替换"的写入,都会用自己那份旧快照抹掉另一个进程刚追加的行。早期版本用 tmp + rename 做命中统计,实测会让另一个进程写入的 40 条记忆全部消失。

现在的做法:

  • 每条事实/命中/场景都追加一行
  • 读取时折叠:同 kind+text 合并为一条,salience 取最大、ts 取最早、hits 累加
  • 命中统计单独文件,touch() 完全不碰 facts.jsonl 正文

修复过的严重问题

问题后果修法
touch() 用 tmp+rename 全量重写多进程并发时丢数据(实测 40 条全灭)拆出 hits.jsonl,append-only
section 未设 interpolate: false记忆里出现 {{ 会让整轮 prompt 渲染抛错设 interpolate: false + 渲染前 neutralize()
textOf 用空格拼接 block行首锚定的清洗规则全部失效(实测 83% 场景被污染)改用 \n 拼接
textOf 不区分 block 类型助手内心推理被当成"他说的话"写进记忆只取 type === 'text'
hits.includes(f.text) 字符串子串匹配limit=1 误伤多条改用对象数组按 id 匹配
addScene 无去重fork/compaction 重放导致重复场景按 summary 去重
catch {} 静默落盘失败零日志,"以为在记其实没记"统一 warn 日志
无注入防护粘贴的第三方文本可把指令写进长期记忆isPromptInjection() 拦截

开发

node test/selftest.mjs        # 抽取/存储/检索基础行为
node test/plugin.test.mjs     # 用假 ctx 跑一遍插件生命周期
node test/regression.test.mjs # 上面每个已修缺陷的回归用例

配置

dir: null            # 数据目录,默认 $DSH_HOME/dsh-pet-memory
maxItems: 6          # 系统提示词里放几条事实
includeScenes: true  # 是否把相关场景也放进提示词
verbose: false       # 打印每轮抽取条数
migrateFrom: null    # 一次性导入旧 memory.md 的路径

License

MIT

Comments

Loading…

Similar plugins

dsh-shoucang-memory

by Fishsb

DSH 长期记忆插件:记忆库 + 会话蒸馏自动沉淀 + 设置面板,越用越懂你。守藏(Shoucang)单插件,panel + scheduler + 内嵌记忆技能。

Terminal & ClientsManifest valid

★ 4

Apache-2.0

JavaScript

Sep 27, 2026

dsh plugin --profile web add dsh-shoucang-memory

by RaganaBloodedge

DeepSeek Harness 长期记忆插件:分层任务记忆 + 关系图谱 + 索引常驻稳定前缀;零运行时依赖,另附同源的 Agent skill 形态

Manifest valid

★ 0

MIT

TypeScript

Oct 15, 2026

dsh plugin --profile web add dsh-lmmarr

by 1304836815

DSH 会话级记忆插件:收尾提醒 + MEMORY.md 记忆索引维护 + 实时对话日志 + LLM 摘要压缩,配置面板在 设置→插件。Session memory for DeepSeek Harness.

Manifest valid

★ 0

MIT

JavaScript

Aug 21, 2026

dsh plugin --profile web add @dsh-external/dsh-auto-memory

by Archer76

DSH 长期记忆插件(dsh-memory-evolve 的再分发构建):分层记忆・待办・技能自进化・外部 CLI 调度,另内置 3 份记忆运维技能与 14 个配套脚本

Manifest valid

★ 0

MIT

JavaScript

Sep 29, 2026

dsh plugin --profile web add dsh-memory-evolve-suite

by Ykls53

给 DeepSeek Harness 的三层记忆:常驻事实 + 会话摘要 + 全文检索。注入不花任何模型调用,写回用你当前选的模型。

Sessions & MessagesManifest valid

★ 4

MIT

JavaScript

Oct 23, 2026

dsh plugin --profile web add dsh-memory-inject

by Tangcuyu4

DSH 超长记忆包:跨会话长期记忆 + 长文分块检索 + 聊天记录提取精炼,纯 JS 混合检索零依赖

Memory & ContextSessions & MessagesManifest valid

★ 0

JavaScript

Sep 30, 2026

dsh plugin --profile web add dsh-long-memory