前言¶
DeepSeek Harness(DSH)把配置、会话、凭证和插件清单集中在用户目录 ~/.dsh 里。换机、重装或误删时,若没有可验证的备份,恢复成本很高。手工拷贝整个目录容易把 node_modules、cache 等可再生内容一并带走,体积大且意义有限;依赖未经验证的第三方备份插件,又可能和 DSH 的插件模型、安全预期不一致。
下面介绍社区插件 dsh-snapshot(snow-the/dsh-snapshot,维护者 snow-The,分类 admin-security)。它在 DSH 进程内提供备份、列出、恢复三类工具,把快照写到 ~/.dsh 之外,并为归档附带 sha256 校验与恢复时的路径穿越防护。项目自述为自研实现,用于替代第三方备份类插件。
这是什么¶
dsh-snapshot 面向 DSH 用户,对 ~/.dsh 做快照的备份、恢复与按数量轮转保留。npm 包名为 @snow-the/dsh-snapshot,当前版本 0.1.2,许可证 MIT。
归档默认落在:
~/dsh-backups/dsh-backup-<ts>.tar.gz
每个 .tar.gz 配有同名的 .sha256 sidecar。打包时会排除 node_modules 与 cache;配置、会话、凭证和插件清单等会保留在归档内。
在 package.json 中声明的 DSH 兼容性为:peerDependencies 要求 @deepseek-ai/dsh >=0.2.0-rc.1;engines.dsh 为 >=0.2.1-rc.2 <0.3.0-0;dsh.compatibility.dshReleases 列出 0.2.0-rc.1、0.2.0-rc.2、0.2.1-rc.2,verifiedAgainst 为 0.2.1-rc.2。
核心功能¶
备份与轮转¶
工具 snapshot_backup 创建快照。参数 keep 表示要保留的归档份数,用于在新建备份后按数量轮转,避免 ~/dsh-backups 无限增长。
列出并校验¶
工具 snapshot_list 列出已有快照,并对归档执行 sha256 校验(依赖每个归档旁的 .sha256 文件)。
恢复与安全约束¶
工具 snapshot_restore 从指定快照恢复。README 明确要求调用时必须带 confirm: true,否则拒绝执行。
恢复过程中会校验归档内每一条路径是否仍落在目标根目录之内(path-traversal guard),降低恶意或损坏归档写出目标目录的风险。
安装与启用¶
已抓取 README 与 SkillHub 目录页 均未给出具体的 dsh plugin add … 一类安装命令;安装步骤应以目录页更新或仓库说明为准,不要凭仓库名自行拼接命令。
启用前请确认本机 DSH 版本落在插件声明的兼容范围内(见上文 engines / dsh.compatibility)。DSH 生态强调「一切皆插件」;SkillHub 等为社区目录站点,与 DeepSeek / 幻方无官方从属关系,插件来源与版本以页面与 GitHub 仓库为准。
典型用法¶
README 将能力归纳为三个工具,参数如下(在 DSH 中通过对应插件工具调用,具体调用方式遵循你当前 DSH 版本的插件工具约定):
snapshot_backup:创建快照;通过keep控制保留的归档数量。snapshot_list:列出~/dsh-backups下的快照并做 sha256 验证。snapshot_restore:恢复某一快照;必须设置confirm: true。
备份产物路径模式为:
~/dsh-backups/dsh-backup-<ts>.tar.gz
~/dsh-backups/dsh-backup-<ts>.tar.gz.sha256
恢复前建议先执行 snapshot_list,确认目标归档校验通过,再对选定快照调用 snapshot_restore 并显式确认。
适用场景与注意¶
适合谁:长期在本地维护 DSH 配置与会话、需要在升级或实验插件前留可回滚副本、希望备份落在 ~/.dsh 之外且带校验的用户。
权限与安全:插件以当前 dsh 进程的权限 读写 ~/.dsh 与 ~/dsh-backups。安装前应阅读 GitHub 仓库 源码与 MIT 许可证,自行评估是否满足你的安全策略。恢复操作会改写 ~/.dsh 内容,务必在确认 confirm: true 的后果后再执行。
与手工拷贝的区别:排除可再生目录、统一归档命名、sha256 与恢复时路径校验,是 README 明确写出的设计点;不依赖 README 未描述的其他备份后端。
结尾¶
dsh-snapshot 把 DSH 用户目录的备份、列表校验和受控恢复收拢为三个工具,归档外置并带 sha256,恢复侧带确认与路径约束。需要进一步了解说明与版本信息时,可查看 SkillHub 目录页 与 GitHub:snow-The/dsh-snapshot。