dsh-memory-layered

DSH PLUGIN记忆与知识

仓库 pomelotea-yuzu/dsh-memory-layered

记忆与知识 未标注验证等级 安全审查:未标注 可信度:未标注 可安装插件

dsh-memory-layered 是 pomelotea-yuzu 维护的 记忆与知识 类 DSH 可安装插件, 仓库为 pomelotea-yuzu/dsh-memory-layered。 下面按「装什么、怎么装、验没验过、跑起来要注意什么」逐项列出。

一句话选型结论

按资料字段整理

dsh-memory-layered 是记忆与知识类的 DSH 可安装插件,未做沙盒验证,暂无安全审查结论,没有现成安装命令,需要按仓库 README 接入。验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么;涉及密钥或系统权限的,建议先在隔离环境试装。

分类记忆与知识 收录类型可安装插件 验证等级未标注验证等级 安全审查未标注
验证等级 UNKNOWN 未标注验证等级
GitHub 星标 0 复刻 0 · 未关闭 issue 0
最近更新 2026-08-24 创建于 2026-08-15
README 8.3 KB 正文体量,越大说明说明书写得越细

安装

可安装插件
在 DSH 里执行,装完用 dsh plugin list 确认已挂上;标了 L4 / L5 的命令已在沙盒里真实跑通
  1. 1
    确认版本与运行环境

    仓库没有标注兼容版本与 Node.js 要求,先确认你的 DSH 版本能装,再继续。

  2. 2
    执行安装命令

    在 DSH 里执行上面的命令;多包仓库要注意区分具体子包名,别装错包。

  3. 3
    确认已挂载

    用 dsh plugin list 查看列表里是否出现这个插件,出现即挂载成功。

  4. 4
    试跑并检查权限

    加载后跑一个最小用例,确认它能正常工作;同时看它申请了哪些文件、命令或网络权限。

兼容 DSH 版本未标注版本不匹配时安装会报错
Node.js 要求未标注来自仓库 package.json 的 engines 字段
前置依赖无需要同时安装的同级依赖
npm 包名未发布到 npm可用 npm view 查看包信息

能做什么

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注

上游标签

deepseekdeepseek-harnessdshdsh-pluginmemory

验证等级与安全审查

未标注验证等级
自动化流程结论,不是人工审核
验证等级未标注验证等级上游未给出验证结论,安装前请自行确认
安全审查未标注静态分析结论,未标注不代表已通过审查
仓库健康度未标注按仓库活跃度与最近更新时间给出
可信度未标注综合仓库活跃度与验证结果

选择建议

装之前先看这几条
按条目字段给出的判断,不替你决定用不用

值得选的地方

  • 基础信息齐全,可以先按仓库说明试装。

先想清楚的地方

  • 安全审查还没结论,装之前先看仓库改了什么、要什么权限。
  • 没有现成安装命令,要按仓库 README 手动接入。
  • 验证通过不等于安全:插件会读写文件、执行命令或联网,装前先到仓库确认它做了什么。

更适合

  • 需要在记忆与知识场景里给 DSH 补能力的人。
  • 能接受在本地装依赖、愿意自己确认权限的人。

不太适合

  • 只使用 DSH 官方内置能力、不接受第三方插件的人。

同类对比

6 个同类
同分类里挑最接近的几条,字段以各自详情页为准
插件验证等级安全审查星标兼容版本安装命令
dsh-memory-layered当前 未做沙盒验证 未标注 0 未标注 无
ruflo L3 · 安装规范通过 低风险 7.4 万 未标注 无
OpenViking L3 · 安装规范通过 低风险 3.9 万 未标注 无
WeKnora L4 · 沙盒安装通过 低风险 3.3 万 未标注 有
distilly L4 · 沙盒安装通过 低风险 2.5 万 未标注 有
EverOS L4 · 沙盒安装通过 低风险 1.3 万 未标注 有

仓库档案

记忆与知识
字段来自项目仓库与公开索引,中文说明由本站标注
作者 / 维护方pomelotea-yuzu仓库 dsh-memory-layered · 默认分支 main
分类记忆与知识memory
收录类型可安装插件声明了 dsh.bundle、可用 dsh plugin add 安装的条目
开发语言未标注仓库主语言
许可证未标注商用或二次分发前请确认条款原文
星标 / 复刻 / issue0 / 0 / 0收录时的数值,非实时
创建 / 更新2026-08-15 · 2026-08-24最后推送 2026-08-24
本站收录2026-10-14首次进入本站目录的时间

README 全文

8.3 KB
作者原文,中文版优先;只做安全转义,不改内容

@deepseek-ai/dsh-memory-layered

DeepSeek Harness 的双层(全局 + 项目)有界文件记忆插件:模型自主维护 + 用户干预,
带版本化回滚、TTL 过期、会话搜索、对话页记忆面板。

> 设计文档见 DESIGN.md。

能力

  • 双层记忆:global(跨项目的事实/约定)+ project:(当前工作区,映射 DSH workspaceRegistry)
  • 有界注入:每层字符预算(默认 2000+2000),超限拒写 + 模型当回合整合(hermes 式)
  • 溢出归档:整合不动推入 ARCHIVE.jsonl(可检索、不注入、永不真删)
  • 版本化:每次写前快照,/memory undo 回滚
  • TTL:临时事实自动过期进归档
  • 会话搜索:memory search 搜注入层 + 归档 + DSH 会话历史(ctx.sessionQuery)
  • 用户干预:/memory 斜杠命令 + 手改 MEMORY.md(漂移检测兜底)
  • 记忆面板:对话页输入行 🧠 按钮,弹层显示全局/项目两层 + 使用率
  • 会话交接摘要:长对话切换前在 🧠 弹层手动"生成"→ LLM 把最近 N 轮蒸馏成结构化交接(独立 handoffs.jsonl,不占记忆预算,按全局/项目分层)→ 新对话自动携带(项目层优先、全局兜底),或手动"带入"预填输入框

工作原理

存储

$DSH_HOME/memories/
├── global/
│   ├── MEMORY.md          # 注入层:§ 分隔条目,人类可读可手改
│   ├── memory.meta.json   # 元数据:条目 id → {addedAt, ttl?}
│   ├── ARCHIVE.jsonl      # 归档层:溢出/过期条目,append-only
│   ├── handoffs.jsonl     # 交接摘要:独立存储,保留最近 N 条
│   └── versions/          # 每次写前的快照(undo 用)
└── projects//
└── (同结构)

会话循环

  1. 会话开始:注入一条冻结快照(`` 块,含两层条目 + 使用率)。中途写入只改文件、不改快照(前缀稳定,KV cache 整会话有效)。
  2. 写入:模型调 memory 工具(或你发"记住…"触发它)→ 预算检查 → 原子写盘。
  3. 超限:拒写并返回当前条目,模型当回合合并/删减(整合);整合不动的推 ARCHIVE。
  4. 跨会话:下一会话重新注入当前文件内容。

会话交接摘要

长对话切换新对话前,在 🧠 弹层的"交接摘要"分区点生成:

  1. host 端读当前会话日志最近 handoffTurns 轮(turn/start 定界,跳过插件注入/工具消息),经 ctx.llm.stream 用会话自身路由(session.requestContext())发起一次模型调用。
  2. 模型产出结构化摘要(首行 ≤40 字标题 + 目标/结论/关键事实/未完成/偏好/下一步 小节),总长 ≤ handoffCharLimit(默认 1500 字符),存入作用域 handoffs.jsonl(与 MEMORY.md 预算隔离,保留 handoffMaxKeep 条淘汰最旧)。
  3. 自动携带:新会话首个 admitted step,若日志无 handoff 消息且存在"非本会话"的最新交接,注入一条 source {kind:'memory', form:'handoff'} 消息(与快照同语义:resume 复用、compaction 后重注入)。层级:项目层优先(同项目延续更具体的上下文),项目层无交接时回退全局层(跨项目切换兜底)。
  4. 手动带入:弹层列表每条有"带入"按钮 → 优先 inputActions.setDraft 预填输入框(可编辑后发送),不可用时退化剪贴板。
  5. 多选管理:每条交接前有复选框,勾选后出现批量工具栏——「带入」(多条用 --- 分隔合并预填输入框)、「删除」、「取消」;切换层级时勾选自动清空。
  6. 层级切换:交接按作用域分层存储(全局 handoffs.jsonl + 每个项目自己的 handoffs.jsonl),弹层交接分区有「全局 / 项目」tab——生成、删除、带入都作用于当前 tab 的层;会话无项目层时只显示「全局」。全局层交接适合跨项目通用的项目背景/团队约定。
  7. 会话关闭也能生成:生成时优先用存活会话(agents/sessions 服务)的日志;找不到时回退 ctx.sessionPersistence.loadStored() 从磁盘日志恢复(不要求会话仍在内存),模型路由从日志的 request/context 事件提取。
  8. 时序注意:快照/交接在会话开始时冻结,所以要在旧对话生成、之后新建的对话才自动携带;已切新对话可用"带入"补救。

三个入口

入口 谁 动作
memory 工具 模型自主 add / replace / remove / batch / archive / search
/memory 命令 你 list / undo / drop / set-ttl / search(直执行,不进模型)
手改 MEMORY.md 你 任意编辑;round-trip 则生效,否则备份 + 拒绝(漂移检测)

安装

dsh plugin --profile web add "link:D:/dsh_plugin/dsh-memory-layered"

或 npm:

dsh plugin --profile web add @deepseek-ai/dsh-memory-layered

装完重启 dsh web,刷新页面;并检查 profile 的 node_modules/@deepseek-ai 是否被建成真实目录(见 hyls9527 仓库 README 的注意项)。

配置

按 id 覆盖(profile 的 cordis.patch.yml):

- id: memory-layered
config:
globalCharLimit: 4000
nudgeInterval: 0
字段 默认 含义
memoryEnabled true 开关
globalCharLimit 2000 global 层字符预算
projectCharLimit 2000 project 层字符预算
nudgeInterval 10 无写入多少轮后提醒;0 关闭
versionsKeep 100 版本快照保留数
recallLimit 10 search 默认返回条数
recallSessionHistory true search 是否含会话历史
dir $DSH_HOME/memories 记忆根目录
handoffEnabled true 交接摘要开关
handoffCharLimit 1500 交接摘要字符上限(标题 + 正文)
handoffMaxKeep 10 每作用域保留的交接条数,超限淘汰最旧
handoffTurns 20 生成时摘取最近多少轮对话
handoffAutoCarry true 新会话是否自动携带最近一条交接

会话历史搜索(默认关)

DSH 的 session-query-sqlite 默认 openAt: never,memory search 的会话历史部分会静默降级。要开启,在 profile 补丁层加:

- id: session-query-sqlite
config:
path: ':memory:'
openAt: first-search

命令

/memory list [global|project]
/memory undo [n]
/memory drop
/memory set-ttl  <1d|7d|ISO日期>
/memory search

安全不变量

  • 存在但读不了的文件 ≠ 空文件(fatal UTF-8 解码,写入拒绝)
  • 外部漂移(不 round-trip / 单条目超限)→ 快照 .bak. + 拒绝
  • 每次提交:跨进程锁 + 同目录原子 rename(0o600/0o700)
  • 整批 all-or-nothing;超预算拒绝 + 当回合整合;每回合失败上限 3 次
  • 注入转义 ``;replace/remove 子串匹配 + 歧义保护
  • 版本化:写前必快照,任何整合可回滚;TTL 只归档不真删

错误码

code 说明
ERR_UNREADABLE 文件存在但读不了,拒绝写
ERR_DRIFT 外部编辑不 round-trip,已存 .bak
ERR_OVER_BUDGET 超字符预算,需整合
ERR_CONSOLIDATION_LIMIT 本回合整合失败超 3 次,强制停止
ERR_NO_MATCH / ERR_AMBIGUOUS_MATCH 子串未命中 / 命中多条
ERR_NO_VERSION undo 目标版本不存在
ERR_TTL_FORMAT ttl 格式非法
ERR_NO_WORKSPACE 显式 target:project 但无工作区

开发

corepack pnpm install
corepack pnpm typecheck     # tsc --noEmit
corepack pnpm test          # vitest
corepack pnpm build         # tsc + 复制 client.js
  • 覆盖率门禁:行/语句/函数 100%,分支 ≥95%(见 vitest.config.ts 说明)
  • 测试 198 例 / 11 个 spec
  • Node ^22.19 || >=24

已知限制

  • 单目录单进程集:per-agent 记忆需挂多个插件行、每个不同 dir
  • 无 prompt 注入扫描(信任文件,同 DSH 信任 AGENTS.md)
  • nudge 按轮次,非墙钟
  • 快照是持久 user message 而非系统提示词段(仓库外插件无法注册新事件词表)

License

MIT(大脑图标路径取自 Lucide,ISC,见 THIRD_PARTY_NOTICES.md)

常见问题

4 问
答案由本站依据条目字段整理,不引用上游原文
dsh-memory-layered 怎么安装?

本站没有抓到该条目的安装命令,请到仓库主页确认安装方式;这类条目多数是生态应用或尚未发布安装包的项目。

dsh-memory-layered 的验证等级是什么意思?

未标注验证等级。上游未给出验证结论,安装前请自行确认

dsh-memory-layered 安全吗?

未标注。

dsh-memory-layered 装之前要先确认什么?

先看它会读写哪些文件、执行哪些命令、连接哪些网络地址;验证等级只说明装得上、跑得起来,不等于安全。涉及密钥或系统权限的,建议先在隔离环境试装。

记忆与知识
按星标排序,可作替代方案

ruflo

ruflo

L3 · 安装规范通过 7.4 万 星

OpenViking

OpenViking

面向 DeepSeek Harness 的 OpenViking 记忆与上下文插件:pre-step 自动召回与画像注入、会话捕获、`vik

L3 · 安装规范通过 3.9 万 星

WeKnora

WeKnora

把 WeKnora 知识库接入 dsh 的四个只读工具:列出知识库、混合检索原文片段、按顺序还原单篇文档,以及直接取用 WeKnora 自己

L4 · 沙盒安装通过 3.3 万 星

distilly

distilly

Distilly — Distill how they think into reusable Skills for any Agent o

L4 · 沙盒安装通过 2.5 万 星

EverOS

EverOS

L4 · 沙盒安装通过 1.3 万 星

MemOS

MemOS

L4 · 沙盒安装通过 1.2 万 星

pomelotea-yuzu 的其它插件

2 个

插件的元信息来自作者仓库;分类、验证等级与安全结论的中文说明为中文整理,最近核验 —。