多路召回历史记忆,确认后写入并加密保管
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
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
更新放缓:最近一次提交在 67 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0🔵 扫描:含敏感能力尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
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。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
boomzikazita/dsh-memory
多路召回历史记忆,确认后写入并加密保管
相关插件 · 对话 / 记忆
上下文中枢oceanbase/powercontext
上下文跟着工作走 —— 跨会话、跨智能体、跨人。
★ 1,462已汉化DSH
73
智能体记忆库plastic-labs/honcho
Honcho 是记忆基础设施,用来构建有状态的智能体。这些智能体能理解不断变化的人、智能体、群组、项目和想法。
★ 7,848已汉化DSH
71.7
长程智能体控制面loopx-project/loopx
给 Agent 一个目标,让工作持续向前。
★ 6,358已汉化DSH
71.3
智能体上下文数据库volcengine/OpenViking
给 AI 智能体用的上下文数据库
★ 41,246已汉化DSH
71.3
长效机器人团队Fei2411/DS-Bot
DS Bot 是一个基于 DeepSeek Harness简称 dsh的 bot 插件,插件将 dsh 改造为 bot…
★ 4,717已汉化DSH
71.1
可携带记忆层EverMind-AI/EverOS
为什么选择 EverOS
★ 13,711已汉化DSH
71.1