🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

持久记忆库 boomzikazita/dsh-memory

DeepSeek Harness
boomzikazita67 天前有提交已提供中文文档扫描:含敏感能力

多路召回历史记忆,确认后写入并加密保管

25.8/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/7 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add boomzikazita/dsh-memory
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:待复验
是什么
dsh 原生插件 · chat
装得上吗
曾在 dsh 0.2.0-rc.2 下真实安装成功,但当前 dsh 已更新至 0.2.1-rc.5,本站尚未在新版下复验
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 67 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

可执行外部命令读写/删除本地文件
查看扫描证据(共 27 处,展示前 25 条)
  • 执行外部命令来自配置/变量
    index.js:87
    const out = execFileSync(PYTHON, [join(scriptsDir, script), ...args], {
  • 读取本地文件
    index.js:96
    const read = (name) => (existsSync(file(name)) ? readFileSync(file(name), 'utf8') : '')
  • 读取本地文件
    index.js:96
    const read = (name) => (existsSync(file(name)) ? readFileSync(file(name), 'utf8') : '')
  • 写入本地文件
    index.js:97
    const append = (name, text) => { mkdirSync(memoryDir, { recursive: true }); appendFileSync(file(name), text) }
  • 写入本地文件
    index.js:97
    const append = (name, text) => { mkdirSync(memoryDir, { recursive: true }); appendFileSync(file(name), text) }
  • 写入本地文件
    index.js:162
    writeFileSync(file('SUGGESTIONS.jsonl'), list.map((s) => JSON.stringify(s)).join('\n') + (list.length ? '\n' : ''))
  • 读取本地文件
    index.js:208
    for (const name of readdirSync(d)) {
  • 读取本地文件
    index.js:210
    const st = statSync(join(d, name))
  • 读取本地文件
    index.js:218
    try { parts.push(String(Math.round(statSync(DELTA_CARD).mtimeMs))) } catch { parts.push('x') }
  • 写入本地文件
    index.js:234
    mkdirSync(dirname(primerAuditFile), { recursive: true })
  • 写入本地文件
    index.js:235
    appendFileSync(primerAuditFile, `${JSON.stringify({ ts: new Date().toISOString(), lane, q: q.slice(0, 50), chars })}\n`)
  • 执行外部命令来自配置/变量
    index.js:316
    const child = spawn(PYTHON, [join(scriptsDir, 'harvest.py'), 'index'], {
  • 执行外部命令来自配置/变量
    index.js:334
    execFileSync(PYTHON, [join(scriptsDir, 'harvest.py'), 'index'], {
  • 读取本地文件
    lib/tools.js:181
    if (existsSync(skillFile)) {
  • 读取本地文件
    lib/tools.js:182
    const prev = readFileSync(skillFile, 'utf8')
  • 写入本地文件
    lib/tools.js:187
    mkdirSync(dir, { recursive: true })
  • 写入本地文件
    lib/tools.js:188
    writeFileSync(skillFile, item.content)
  • 写入本地文件
    lib/tools.js:201
    writeFileSync(tmpPath, newContent)
  • 删除本地文件
    lib/tools.js:204
    try { rmSync(tmpPath) } catch { }
  • 写入本地文件
    lib/tools.js:207
    renameSync(tmpPath, file(target))
  • 读取本地文件
    lib/tools.js:373
    lines.push(`L2 索引: ${existsSync(file('index.sqlite')) ? '存在' : '未建立(跑 memory_harvest)'}`)
  • 读取本地文件
    lib/tools.js:379
    if (existsSync(graphFile)) {
  • 读取本地文件
    lib/tools.js:380
    const ageDays = (Date.now() - statSync(graphFile).mtimeMs) / 86400000
  • 读取本地文件
    lib/tools.js:386
    const rrfSrc = readFileSync(join(scriptsDir, 'rrf_recall.py'), 'utf8')
  • 执行外部命令来自配置/变量
    lib/tools.js:454
    return execFileSync(PYTHON, args, {
扫描于 2026/10/31(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-tools@deepseek-ai/dsh-llm
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 多路召回历史记忆
  • 确认后写入
  • 加密保管

DSH 记忆插件:RRF 多路召回 / 确认后写入 / Fernet 保险库 / 会话收割

README

由 DeepSeek 最新模型翻译生成
dsh-memory 为 DeepSeek Harness(dsh)打造的持久记忆系统。以 dsh 插件形式提供多路召回、确认制写入、加密密钥库、会话转录和维护工具。 记忆系统插件:RRF 多路召回 / 确认制写入 / Fernet 加密库 / 会话转录 / 维护工具。 功能 - RRF 五路召回 (five-way RRF recall) — 把 L1 规则(MEMORY.md / USER.md)、L2 会话 FTS5、L3 语义(可选 Honcho/MCP)、L4 wiki、L5 时间窗口这几路证据融合成一份排序后的证据账本,每条都带信任标签。 - 确认制写入 (confirm-before-write) — 任何东西都不会直接改动你的记忆:memory_suggest 把提案排进队列,memory_confirm / memory_reject 决定是否采纳。预算检查、敏感模式扫描和自动 trigger: 标签共同把关,决定什么能进 L1。 - Fernet 加密库 (encrypted vault) — 密钥存放在 Fernet 认证的加密存储里(VAULT.md.enc);明文只以 → vault:<ref> 引用的形式出现。
展开完整文档(README 剩余 1 节)
dsh-memory

为 DeepSeek Harness(dsh)打造的持久记忆系统。以 dsh 插件形式提供多路召回、确认制写入、加密密钥库、会话转录和维护工具。

记忆系统插件:RRF 多路召回 / 确认制写入 / Fernet 加密库 / 会话转录 / 维护工具。

功能

- RRF 五路召回 (five-way RRF recall) — 把 L1 规则(MEMORY.md / USER.md)、L2 会话 FTS5、L3 语义(可选 Honcho/MCP)、L4 wiki、L5 时间窗口这几路证据融合成一份排序后的证据账本,每条都带信任标签。
- 确认制写入 (confirm-before-write) — 任何东西都不会直接改动你的记忆:memory_suggest 把提案排进队列,memory_confirm / memory_reject 决定是否采纳。预算检查、敏感模式扫描和自动 trigger: 标签共同把关,决定什么能进 L1。
- Fernet 加密库 (encrypted vault) — 密钥存放在 Fernet 认证的加密存储里(VAULT.md.enc);明文只以 → vault:<ref> 引用的形式出现。
- 会话转录 (session transcription) — 增量把 dsh 会话日志索引进 FTS5 存储,并提取纠错信号用于技能蒸馏。
- 维护工具 (maintenance) — 健康检查、git 备份、命中审计,以及资产去重检查。

工具

| 工具 | 说明 |
| memory_recall | 五路 RRF 召回,带来源标签和信任等级;date= 用于时间窗口查询,deep=true 用于更深召回 |
| memory_graph | 实体图遍历(人工整理的关系边 + 自动生成的共现边) |
| memory_suggest | 把一条记忆写入提案排进队列(track:memory / user / skill;lifecycle:rule / stable / situational / record) |
| memory_confirm | 采纳待处理提案,写入 MEMORY.md / USER.md / skill |
| memory_reject | 拒绝待处理提案 |
| memory_vault_get | 读取一条加密库条目 |
| memory_vault_set | 写入一条加密库条目 |
| memory_harvest | 把 dsh 会话日志转录进 L2 FTS5 索引,并提取纠错信号 |
| memory_health | 每层一行的健康报告(L1 预算、加密库可解密性、L2 索引、图新鲜度、待处理队列) |
| memory_backup | 对记忆目录执行 git commit + push |
| memory_notify | 推送消息到飞书/Lark 会话(需要凭据,见下文) |
| check_assets | 创建新脚本/技能/插件/自动化之前做去重检查 |

安装

dsh plugin --profile web add github:boomzikazita/dsh-memory

插件会自动注册自己的工具和钩子(primer 召回注入、写入守卫、回合结束转录)。scripts/ 下的 Python 脚本由 Node 宿主按需执行。

配置

bundle 补丁(cordis.patch.yml)以默认值挂载插件;可按配置档覆盖,例如:

- insert:
- id: dsh-memory
name: 'dsh-memory'
config:
memoryDir: '~/.dsh/memories'
scriptsDir: '~/.dsh/plugins/dsh-memory/scripts'
wikiRoot: '~/wiki' # env DSH_WIKI_ROOT also works
guardBlock: false
primerBudget: 800
primerTopK: 3

关键路径(都可覆盖):

| 配置项 | 默认值 | 说明 |
| memoryDir | ~/.dsh/memories | L1 文件、FTS5 索引、vault、outbox |
| scriptsDir | 插件 scripts/ 目录 | Python 辅助脚本 |
| wikiRoot / DSH_WIKI_ROOT | ~/wiki | L4 通道使用的 Obsidian/wiki 根目录(raw/、_meta/、entities/ 都在它下面) |

依赖

- Node 侧:@deepseek-ai/dsh-tools 和 @deepseek-ai/dsh-llm(声明为 peer dependencies,>=0.1.0-rc.6)。
- Python 侧(可选,用于 recall/graph/vault/harvest 功能):Python 3 加标准库;SQLite 3。vault 还需要 cryptography(Fernet)。没装 Python 时,工具会优雅降级并给出错误信息。
- 飞书/Lark 推送(memory_notify / scripts/feishu_push.py):设置 LARK_APP_ID / LARK_APP_SECRET(环境变量或 ~/.env),可选设置 LARK_DEFAULT_CHAT 指定默认会话目标。
- L3 语义召回(可选):把 DSH_HONCHO_MCP_URL / DSH_HONCHO_MCP_TOKEN 指向暴露 honcho_search 的 MCP 端点。不设置 → 静默跳过 L3。

许可证

MIT —— 见 LICENSE。Copyright (c) 2026 boomzikazita。
预览分享卡片长什么样 ↓boomzikazita/dsh-memory
分享 · DeepSeek Harness Hub
boomzikazita/dsh-memory

多路召回历史记忆,确认后写入并加密保管

回到顶部