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

忆匣 YarXVI/dsh-disaster-recovery

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

实时快照整个数据目录,出事一键回滚恢复

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 5 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

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

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

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

可执行外部命令读写/删除本地文件写入剪贴板(不计风险)发起外部网络请求
查看扫描证据(共 6 处,展示前 6 条)
  • 发起网络请求
    client.js:2933
    const response = await fetch(ROUTE, init)
  • 写入剪贴板
    client.js:3851
    await navigator.clipboard.writeText(text)
  • 执行外部命令来自配置/变量
    recovery-console/console.mjs:835
    const result = spawnSync(command, args, {
  • 读取本地文件
    src/archive/dpapi.js:59
    if (!scriptPath || !existsSync(scriptPath)) {
  • 执行外部命令来自配置/变量
    src/archive/dpapi.js:68
    const result = spawnSync(exe, args, {
  • 读取本地文件
    src/archive/dpapi.js:103
    if (!scriptPath || !existsSync(scriptPath)) {
扫描于 2026/11/4(1 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

忆匣 / Casket:实时快照整个 DSH_HOME、一键回滚与隔离的 DSH 灾备插件(内容寻址去重 · 缺块拒绝恢复 · DSH 起不来也能恢复 · 异地加密副本)。

README

由 DeepSeek 最新模型翻译生成
忆匣 / Casket DeepSeek Harness 的灾备插件:实时快照整个 DSH_HOME,出问题时一键恢复。 失去之前,先有一份。 面板 这是什么 DSH 把会话、工作区、设置、插件、凭据、记忆库全部沉淀在 DSH_HOME 一个目录里。这个目录一旦被清空,丢的不是文件,是「那段时间里发生过什么」的唯一原件。 忆匣只做一件事:把任意一个时刻的全库状态,原样封存并可原样取回。 - 不做语义恢复,找不回「三月那句话」;不检索、不联想、不解释——匣里没有故事,只有原件。 - 不替你决定恢复哪一份,只列候选与时间。 - 不横向搬设备(那是同步插件的事)。 能力 | 能力 | 说明 | | 实时封存 | fs.watch 递归监听 + 9 s 合并窗口 + 两次快照最小间隔 60 s;首次全量 110 MB / 1,156 文件约 2.5 秒 | | 分块内容寻址 | 默认 64 KiB 分块,同样的内容只存一份;追加型日志只新增尾块(早期版本每 10 秒重存 2.3 MB,一小时 800 MB) | | 多层保留 | 最近 60 份 + 48 小时内每小时 1 份 + 30 天内每天 1 份,硬上限 100 份(超出从最旧回收) |
展开完整文档(README 剩余 1 节)
忆匣 / Casket

DeepSeek Harness 的灾备插件:实时快照整个 DSH_HOME,出问题时一键恢复。
失去之前,先有一份。

面板

这是什么

DSH 把会话、工作区、设置、插件、凭据、记忆库全部沉淀在 DSH_HOME 一个目录里。这个目录一旦被清空,丢的不是文件,是「那段时间里发生过什么」的唯一原件。

忆匣只做一件事:把任意一个时刻的全库状态,原样封存并可原样取回。

- 不做语义恢复,找不回「三月那句话」;不检索、不联想、不解释——匣里没有故事,只有原件。
- 不替你决定恢复哪一份,只列候选与时间。
- 不横向搬设备(那是同步插件的事)。

能力

| 能力 | 说明 |
| 实时封存 | fs.watch 递归监听 + 9 s 合并窗口 + 两次快照最小间隔 60 s;首次全量 110 MB / 1,156 文件约 2.5 秒 |
| 分块内容寻址 | 默认 64 KiB 分块,同样的内容只存一份;追加型日志只新增尾块(早期版本每 10 秒重存 2.3 MB,一小时 800 MB) |
| 多层保留 | 最近 60 份 + 48 小时内每小时 1 份 + 30 天内每天 1 份,硬上限 100 份(超出从最旧回收) |
| 恢复不删东西 | 恢复前先给当前状态拍 pre-restore 快照;被覆盖文件进 restore-quarantine;快照里没有的新文件原地保留;清单缺块 → 直接拒绝,不写半份数据 |
| DSH 起不来也能救 | 桌面/开始菜单「Deepseek恢复」外部控制台(装在 %LOCALAPPDATA%,不在 .dsh 里)+ 零依赖 Node 的 recovery-kit |
| 异地加密副本 | 每天一份已验证快照 → scrypt(N=2¹⁷) 派生密钥 → AES-256-GCM 分块加密 → 块级去重同步到子机;子机只存密文、不解密、不存密码 |
| 事故留证 | 黑匣子每 5 秒写心跳;外部看门狗每分钟检查(独立计划任务);异常退出 / 卡死 / 数据骤降 / 覆写 / 备份损坏 / 异地过期 / 磁盘不足;事故成立即暂停自动备份并钉住推荐恢复点 |

安装

git clone https://github.com/YarXVI/dsh-disaster-recovery.git
cd dsh-disaster-recovery
powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\install.ps1 -Apply

安装会做四件事:把插件装进配置档、把不依赖 DSH 的恢复工具复制到 %LOCALAPPDATA%\DeepSeek Recovery、创建「Deepseek恢复」快捷方式、打印后续操作。装完重启 DSH,左侧栏出现「忆匣」。

从插件市场安装(推荐,不需要 git)

在 DSH 里:插件 → 实验性插件旁「更多」→ 打开「自定义插件市场」→ 发现 → 添加索引源,填入:

https://yarxvi.github.io/dsh-plugin-dsh-sync/market/index.json

搜索「忆匣 / Casket」安装;也可以直接用 npm 源:

dsh plugin --profile web add dsh-disaster-recovery@0.8.0

三步上手

1. 重启 DSH → 左侧栏「忆匣」→ 概览显示「你的数据正在被保护」
2. 点「检查完整性」——确认这份备份真的能用(没检查过,它不会说「内容完整」)
3. 点「立即备份一次」

之后它自己跑,最快每 60 秒一次。恢复后必须完全退出并重启 DSH(DSH 的内存态会把它自己的旧状态写回去)。

安全边界

- 只读 DSH_HOME;写入只发生在备份根目录与恢复时。
- 备份根目录必须在 DSH_HOME 之外(默认 D:\dsh-backup)——这是唯一能对抗「home 被清空」的布局。
- 清单路径经 joinInside() 校验,.. 与绝对路径一律拒绝;快照 id 与块哈希走白名单正则。
- 恢复时若缺内容块,拒绝恢复,不写半份数据。
- 面板只允许本机回环访问;命令行不需要网络。
- 异地副本的密码永不出本机:面板与命令行都不会把密码、明文、文件名发给子机;子机只按 id 提供密文字节。密码丢失 = 数据不可读,没有后门。

已知限制

- fs.watch 递归在部分网络盘/极旧 Windows 上不可靠 → 自动退回 scanMs 轮询。
- 恢复不删除「快照里没有、但现在存在」的文件(有意为之,只在报告里给数量)。
- 只备份 DSH_HOME;DSH 安装目录不在范围内(重装即可)。
- 恢复判据是「大小 + mtime」:文件被改成同样大小且 mtime 未变(几乎不可能)会被当成未变化。
- 两次快照之间写入又丢失的内容,救不回。

开发

node --test --test-isolation=none "test/*.test.mjs" # 179 项 Host 测试
powershell -File scripts/drill.ps1 # 临时目录里跑一遍备份→删→恢复→校验

零运行时依赖,Node ≥ 20。

许可证

MIT。可自由使用、修改、分发,保留版权与许可声明。

相关

- DSH 插件市场索引:dshopen.org、dshmarket.com、dshpluginleaderboard.com
- 同一位作者的其他席位:浮桥(设备同步)、燧心(本机推理)、棱镜(记忆分层)
预览分享卡片长什么样 ↓YarXVI/dsh-disaster-recovery
分享 · DeepSeek Harness Hub
YarXVI/dsh-disaster-recovery

实时快照整个数据目录,出事一键回滚恢复

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部