← 返回列表
✓ 可直接安装
裁决每条记忆该用、该验还是该弃,越用越准
自动检查通过:npm 包已发布且 engines 声明满足基线(声明 Node >=22.5);该结论来自程序自动检查,未经人工实机验证。 · 最近上游提交 2026/9/10 · 已提供中文文档
检索 ≠ 注入:面向 DeepSeek Harness 的 CBDC 门控记忆——决定记忆如何被使用(使用/验证/忽略 + 反馈学习 + 审计),而不仅仅是存储
综合分
30.9
GitHub 分
30.9
用户评分
—
★ Stars
2
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add dsh-memory-gatenpm 包 dsh-memory-gate 已校验归属本仓库,走 npm 安装最省事
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查✓ 自动检查通过
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-memory-gate @ 0.12.0
✓Node 引擎要求 >=22.5 · 基线 Node 22.19 满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 07:37:24
依赖的 DSH / Cordis 模块
@deepseek-ai/schemastery@deepseek-ai/cordis@deepseek-ai/dsh-agent@deepseek-ai/dsh-commands@deepseek-ai/dsh-llm@deepseek-ai/dsh-session用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
dsh-memory-gate(记忆闸门)
核心立场:检索到 ≠ 注入。前身是 dsh-memory-cbdc(v0.1.x);
v0.2.0 起更名为 dsh-memory-gate,CBDC 保留为机制名(见下)。
旧仓库地址仍会重定向到本仓库。
DeepSeek Harness 的长期记忆插件,只回答一个问题:记忆记住了,然后呢?
它把稳定信息保存为可撤销的 Claim,并在每次模型调用前执行 CBDC
(Claim → Belief → Decision → Consumption)权威门控——每条记忆先经裁决
(use / verify / ignore),才决定能否进入上下文;使用后的反馈
(helped/harmful)反向更新置信度,越用越准,全程可审计。默认注入
≤3 条 / 1200 字符,不增加第二次模型调用。
(存储层:本地 SQLite + FTS5,无 embedding、无外部记忆 API。)
这是社区插件,不属于 DeepSeek 官方项目。许可证为 MIT。
Long-term memory for DeepSeek Harness that cares about how memory is
used, not just stored — retrieved ≠ injected: every recall passes
CBDC (Claim → Belief → Decision → Consumption) authority gating and lands
as an explainable use / verify / ignore decision before it can enter
context. Post-use feedback updates belief, so memory gets more accurate
over time — all auditable, bounded (≤3 claims / 1200 chars by default),
no extra model call. (Local SQLite + FTS5 storage; no embeddings, no
external memory API.)
当前版本:0.12.0。目标 Harness:0.1.5-rc.1(兼容 0.1.0-rc.6 起的 Harness),Node.js >=22.5。
v1 能力
- 使用前裁决:每条记忆注入前过 CBDC(Claim → Belief → Decision →
Consumption)权威门控,输出可解释的 use / verify / ignore 决策。
- 使用中克制:默认最多注入 3 条、1200 字符;全局偏好走 capsule
通道特权注入;不增加第二次模型调用。
- 使用后学习:/memory ok(或 feedback helped)把当次查询的
区分性词项学进触发词(只存词项、不存查询原文),harmful/stale 降低
置信度并触发隔离——越用越准,/memory explain 全程可审计。
- 近重复合并:写入时新记忆与同作用域已有词项重叠 ≥ 60% 时,旧条目
自动标 superseded、新记忆记录取代关系;/memory consolidate 可手动
全库合并,避免"相近表达"堆成重复记忆。
- 三种运行模式:shadow(只审计零注入)、assist(默认,注入 use +
标出 verify)、enforce(只注入高置信)——按场景切换"怎么用"。
- 双通道召回:少量可信全局偏好/约束组成记忆胶囊,其余记忆经词项触发。
- session、workspace、global 三种作用域;workspace 路径只保存哈希键。
- 显式 /memory 管理命令和保守的中英文自动提取。
技术规格:本地 SQLite + FTS5 存储,不调用 embedding 或外部记忆 API;
写时触发词含繁→简、全角→半角归一与双语同义折叠;API Key、Token、密码
和私钥样式内容在落库前拒绝;数据库或策略异常时不阻断 Agent,只省略
本次记忆注入。
安装
Harness 的插件管理依赖 pnpm。
Linux / WSL:
npm install -g pnpm
dsh plugin --profile web add dsh-memory-gate
dsh web --dump-config | sed -n '/memory-gate/,+18p'
Windows PowerShell:
npm install -g pnpm
dsh plugin --profile web add dsh-memory-gate
dsh web
也可以用 Git 地址安装并锁定版本:
dsh plugin --profile web add git+https://github.com/GIT121995/dsh-memory-gate.git#v0.12.0
卸载:
dsh plugin --profile web remove dsh-memory-gate
卸载后重启 dsh web。记忆数据保留在 $DSH_HOME/memory/cbdc.sqlite,重装即可继续使用;如要彻底清除,删除该文件即可。
安装后重启正在运行的 dsh web。Bundle 默认写入
$DSH_HOME/memory/cbdc.sqlite(文件名沿用 CBDC 机制名),并以保守 assist
模式启动。每次模型调用仍只有原来的一次;插件只在本地检索,并把最多 3 条
相关记忆放入该次调用的上下文。
在 $DSH_HOME/profiles/web/cordis.patch.yml 中持久调整模式时,后置覆盖
必须重述该插件拥有的完整配置:
- id: memory-gate
config:
databasePath: !!js dshHomePath('memory/cbdc.sqlite')
mode: assist
automaticExtraction: true
candidateLimit: 16
capsuleLimit: 2
injectionLimit: 3
maxInjectionChars: 1200
auditRetentionRuns: 5000
minUseBelief: 0.7
maxUseRisk: 0.45
harmfulQuarantineThreshold: 2
freshnessHalfLifeDays: 180
verifyMaxChars: 160
sessionBudgetChars: 20000
budgetWindowTurns: 20
healthNegativeRateThreshold: 0.4
healthMinSamples: 5
autoMineWorkspace: true
mineMaxSessions: 20
会话回挖(方案 B):会话首轮自动扫描同一工作区的历史 session 日志,补提取
其中声明过的记忆 cue,挖进 workspace 作用域——不串到别的项目。每会话只跑一次,
autoMineWorkspace: false 可关,mineMaxSessions 限制扫描文件数。日志按
session 格式的分代命名读取:v0 是 session.jsonl[.zstd],v3 起是
session.vN.jsonl[.zstd];每个会话只读版本最高的 generation(与持久化后端
一致),迁移前的旧副本不会被重复回挖。
成本分级:use(放心用)拿全宽,verify(待核验)单条最多 verifyMaxChars
字符——敢用才配多花。滚动窗口(budgetWindowTurns 回合)内注入超
sessionBudgetChars 即自动收紧(跳过 verify),成本可控、可审计。
自我诊断:最近反馈里负反馈(harmful/stale/conflict)占比达到
healthNegativeRateThreshold(且样本 ≥ healthMinSamples)时,自动降级为
shadow(零注入)并在 /memory status 里红标警示;/memory mode assist
可手动恢复。
使用
/memory status
/memory list 10
/memory remember --kind preference 我偏好简洁中文回答
/memory remember --global --kind constraint 不要在回复中暴露凭据
/memory search 简洁中文
/memory explain mem_
/memory feedback # 列出最近注入的记忆(带 #n 编号)
/memory feedback 1 helped # 按编号反馈
/memory ok # 最近注入的记忆全部记为 helped(常用)
/memory ok 2 # 只反馈其中第 2 条
/memory mine 50 # 从历史 session 日志回挖漏掉的「记住…」
/memory consolidate # 合并近重复记忆(旧 → superseded)
/memory forget mem_
/memory mode assist
/memory list 显示当前 session/workspace/global 作用域内最近的活跃记忆。
/memory mode 只修改当前进程;重启后回到 Profile 配置。forget 是可审计
的 tombstone,不会物理删除历史记录。
日志回挖(/memory mine):扫描历史 session 日志(含 v3 的
session.vN.jsonl[.zstd] 与明文编码),补提取实时提取器漏掉的
记忆 cue(如句中的「记住…」),以 heuristic 低置信 + mined 标签存入全局
作用域——宁缺毋滥,挖出来的也要过 CBDC 裁决、可由你反馈校准。
相似去重(supersede):写入时若与同作用域已有记忆词项重叠 ≥ 60%,旧的自动
标记为 superseded、新记忆记录取代关系——相近表达不再堆成近重复条目。
/memory consolidate 可手动触发一次全库合并。
反馈(feedback / ok)是记忆学习的入口:helped 会把当次查询的区分性
词项学进该条记忆的触发词,让以后的换说法也能命中;harmful/stale 会
降低置信度并触发隔离。注入文本里每条记忆带 #n 编号,直接对应
/memory feedback ... 的编号。
模式语义:
- shadow:计算并审计,零模型可见注入。
- assist:注入 use,并把 verify 明确标为待核验线索;默认模式。
- enforce:只注入 use,省略 verify 和 ignore。
开发与验证
npm install
npm run check # 类型检查 + 构建
npm test # 21 个单元/集成测试
npm run backtest # 决策层回测:30 场景四腿对照(gate/top-3/random/shadow)
npm run result # 结果层:注入采纳度 / 成本 / 效果分
npm run observe # 轨迹观测:对真实 session 日志量采纳度
npm pack --dry-run
发布门:prepublishOnly 会在任何 npm publish 前自动跑 check + test +
backtest,回测清晰场景不过关即中止发布。
发布前的三轮基准中位数(Node.js 22.22.1,1001 条合成记忆,每轮 300
次查询):WSL 磁盘上的触发检索 p95 5.343ms,包含 CBDC 决策和 SQLite
审计的完整召回 p95 11.151ms,三轮最大观测 p95 11.663ms。基准不会
访问真实记忆数据库,也不会调用模型,详见
性能基准。
召回和安全边界见 架构说明。
v1 限制
- 同义/触发词召回仍是词法级:只覆盖常见表达,不等价于通用语义检索;繁→简映射覆盖常见繁体字。
- 自动提取只识别明显的“记住、以后、I prefer、always”等表达,宁缺毋滥。
- 不回填安装前的历史会话,也不重复保存完整 Harness transcript。
- Node.js 22 会为内置 node:sqlite 打印 experimental warning,不影响运行。扫码进群