返回目录

dsh-memento

编辑精选维护状态: 活跃

perrylink/dsh-memento

有界、分层、审批门控且可审计的跨会话记忆插件,基于 SQLite 与快照注入,为 DSH 提供持久上下文。

前往 GitHub项目主页
$ dsh plugin --profile web add dsh-memento

136

星标

3

Fork

JavaScript

语言

Apache-2.0

许可证

2026-08-13

创建于

2026-09-25

最近推送

Apache-2.0、DSH 原生的跨会话记忆:带不可绕过审批闸门与会话日志审计的 `ctx.memory` 接缝,本地以 SQLite 存储,零网络、POSIX `0600` 权限。

DSH 适配

原生运行时

作者声明

安全审计

未审计

最后核验

2026-08-29

许可证

Apache-2.0

01它能帮你完成什么?

  • 在 DeepSeek Harness 的多次会话之间,记录并持久化关于用户与运行环境的事实

    本地 SQLite 存储($DSH_HOME/dsh-memento/memory.db)中的双轨道 × 双层类型化 `ctx.memory` 条目,每条都受每轨道字符上限约束

    希望获得可持续、可被人工审计的记忆,而不是在会话间丢失上下文的 DeepSeek Harness 用户

  • 召回已记住的内容,并还原每一次写入以供审计

    注入系统提示词的冻结会话快照,加上可从会话日志重建的审计行(approval/asked + approval/decided)

    要求每一次记忆写入都经过审批闸门、并能追溯到人工决策的团队与开发者

02如何接入 DeepSeek Harness?

前置条件

  • Node `^22.19.0 || >=24.0.0`(依据兼容性表)
  • DeepSeek Harness `0.1.1-rc.2`(依据兼容性表)

安装步骤

  1. 01

    $ dsh plugin --profile web add dsh-memento

  2. 02

    $ dsh plugin --profile web add git+https://github.com/PerryLink/dsh-memento.git

验证接入成功

  • dsh --profile web --dump-config | grep -A3 'id: memento'

03DSH 适配与能力边界

DSH 适配原生运行时

DSH 原生能力接缝:类型化的 `ctx.memory` 服务、挂在官方审批接缝上的写入审批闸门,以及注入系统提示词的冻结快照

  • memory 工具

    助手发出的自然语言 add / replace / remove / consolidate / query 请求→持久化到本地 SQLite 存储的记忆条目,受写入审批瀑布约束

    每次写入都被强制经过服务内部的审批瀑布,而非工具层
  • 带审批闸门的写入接缝

    写入操作(add / replace / remove / seed)→被批准的条目写入存储;被拒绝的写入仍记录为 `*-denied` 审计行

    被拒绝的写入会留下一条 `*-denied` 审计行
  • 冻结快照注入

    每次会话首次组装系统提示词时的已组装提示词→记忆存储的冻结快照,逐字注入到 `request/header.system`

    快照在每个会话中只冻结一次,会话中途不会改变
  • 只读 MCP 服务器(dsh-memento-mcp)

    基于 NDJSON 的 JSON-RPC 2.0:`memory_search` / `memory_stats`→为外部 MCP 客户端返回排序后的条目与存储统计

    无网络、无写入、无审批闸门——只提供搜索与统计

04适合谁?何时不该用?

适合

  • 希望获得可持续、可被人工审计的记忆,而不是在会话间丢失上下文的 DeepSeek Harness 用户
  • 要求每一次记忆写入都经过审批闸门、并能追溯到人工决策的团队与开发者

不适合

  • 会话事件已在 rc.2 中声明但尚未实际发出;一旦有 harness 构建注册它们,发出功能才会开启。
  • 一个进程对应一个存储:多个会话共享同一 SQLite 存储,两个进程共享同一个 `$DSH_HOME` 时会写同一个文件(最后写入者胜出)。

05兼容性、维护与安全提示

  • 声明 `harness:tool`、`filesystem:read`、`filesystem:write` 与 `network:none`;写入审批走官方审批接缝。
  • 零网络、零凭据。数据库是本地 SQLite 文件,POSIX 文件权限为 `0600`。
  • 会话事件已在 rc.2 中声明但尚未实际发出;一旦有 harness 构建注册它们,发出功能才会开启。
  • 一个进程对应一个存储:多个会话共享同一 SQLite 存储,两个进程共享同一个 `$DSH_HOME` 时会写同一个文件(最后写入者胜出)。
2026-08-132026-08-26v0.4.5

Apache-2.0 · 活跃维护中(最新发布 v0.4.5,2026-08-23)

06常见问题

如何安装 dsh-memento?

通过 dsh CLI 添加:`dsh plugin --profile web add dsh-memento`(npm)或 `dsh plugin --profile web add git+https://github.com/PerryLink/dsh-memento.git`(最新 main)。然后重启,并用 `dsh --profile web --dump-config | grep -A3 'id: memento'` 检查该行。

模型能否绕过审批闸门?

不能。所有写入路径(add / replace / remove / seed)都被强制经过 `ctx.memory` 服务内部的审批瀑布,而非工具层,因此任何模型路径都无法跳过。`writePolicy: ask | auto | off` 是对模型不可见的配置。

我的记忆存在哪里?

存储在本地 SQLite 数据库 `$DSH_HOME/dsh-memento/memory.db`(权限 `0600`),零网络、零凭据。卸载插件会保留数据库与会话日志。

只读 MCP 服务器有什么用?

dsh-memento-mcp 是一个只读的 stdio MCP 服务器,让外部客户端(Claude、Codex 等)通过 NDJSON 上的 `memory_search` / `memory_stats` 搜索存储——无网络、无写入、无审批闸门。

它能和其他记忆工具协作吗?

它遵循 dsh-memory-protocol v1,并通过 `ctx.memoryAdapters` 提供 mem0、Hermes memory.md 与 CLAUDE.md 风格 Markdown 的适配器;它是外部 MCP 记忆的原生第一方补充,而非替代。

08数据与来源

  • 作者声明github.com7381880d3b9d…

    dsh-memento` is a capability seam, not another memory warehouse: a typed `ctx.memory` service

  • 作者声明github.com7381880d3b9d…

    DeepSeek Harness `0.1.1-rc.2`

页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-08-29。发现错误?提交更正。

🏆

最佳 DeepSeek Harness 插件

从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。

DSH Plugins 是独立的 DeepSeek Harness 插件市场,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。