一条命令备份、恢复与迁移 DSH 全部用户数据(~/.dsh),附可视化设置面板:定时自动备份与每日/每周分级保留、sha256 校验、失败自动回滚并回执的加固恢复、分类型子集备份(--types)、凭据脱敏进本机 vault、GitHub 私有仓库同步跨机迁移、宿主起不来也能用的进程外救援通道(备份目录内置零依赖救援网页)。/backup doctor 从已知良好备份体检并定点修复损坏会话日志、轮换前先隔离;migrate-check 迁移预检在升级前静态扫描,预测哪些会话会被新宿主拒绝(冻结清单、文件名代际不匹配、硬链接、旧版凭据布局等);凭据哨兵在宿主改写前自动存底;智能备份在宿主升级前快照;/backup check-update 与 /backup update 感知并一键更新(先留快照)。恢复链路支持含附件硬链接的归档与超大归档(清单走原始流逐行校验)。当前 npm 版本 0.13.4;覆盖 DSH 0.1.1-rc.2–0.2.0-rc.1,含 0.2.0 起的安装期 peer 闸门。macOS/Linux/Windows。
安装
# npm 包(预构建)
dsh plugin --profile web add @xiaoyuyu6420/dsh-backup
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:xiaoyuyu6420/dsh-backup
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
English | 简体中文
你所有的 DeepSeek Harness(DSH)工作数据都在一个目录里:~/.dsh。一次升级失败、一次误删、一次换电脑——没有备份,会话、设置、技能全没了。dsh-backup 用一条命令把它们找回来。
dsh plugin --profile web add @xiaoyuyu6420/dsh-backup # 安装
# 重启 dsh web,然后输入:
/backup # → 一份带校验的备份落在 ~/Desktop/DSH Backups/
v0.9.0 全新安装的真实输出:
备份完成: dsh-20260826-195150036.tar.gz
sha256: 8f9ae6322ef782d21554981cf4547220d5bb3e64d7964a883317415ad54e3cbb
轮换删除 0 份(保留 7 份)
不想敲命令也行:dsh web → 设置 → 插件 → 备份 里有可视化面板——列备份、校验、恢复、删除、改设置,全都立即生效不用重启。

三条承诺(完整对齐与交付标准见 ALIGNMENT.md):
- 🔐 凭据不离开本机 —— API Key / Token 默认脱敏,明文只留在本机 vault;要更强,可选口令加密备份(AES-256-GCM)。
- ↩️ 恢复绝不静默覆盖 —— 恢复前先自动快照当前数据、预览要写入的内容,失败自动回滚。
- 🧭 装上就知道怎么用 —— 首屏三步引导 + 每个高级功能一句人话说明;三个 Tab(备份 / 恢复 / 设置),主按钮只有一个「立即备份」。
它替你挡掉哪些事
| 你担心的 | dsh-backup 做的事 |
|---|---|
| 「升级把环境搞坏了」 | 宿主版本一变就自动拍 dsh-pre-upgrade- 快照——放心试新版,坏了随时回滚 |
| 「我误删 / 改坏了东西」 | /backup restore latest --dry-run 先预览要恢复什么再动手;恢复失败自动回滚并给出结果回执 |
| 「DSH 根本起不来了」 | 每次备份都会往备份目录放一个零依赖的救援控制台(dsh-rescue / rescue.mjs,或双击「点我恢复」)——不依赖 DSH 的网页版恢复界面 |
| 「API Key 会被传到云上吗」 | 凭据默认脱敏,不进备份包;明文只存本机 vault,永不离开这台机器 |
| 「会话日志损坏了」 | /backup doctor 体检并从备份定点修复;损坏文件先隔离再入档,防止轮换把好副本也带走 |
| 「升级后老会话打不开了」 | /backup migrate-check 迁移预检:升级前静态扫描全部会话,预测哪些会被新宿主拒绝、挂在哪条规则;旧版扁平凭据文件在宿主改写前自动存底 |
| 「换新电脑了」 | GitHub 同步:/backup github pull 拉回云端备份,restore --sync-deps 顺手重装插件 |
| 「备份悄悄坏了没人知道」 | 每份归档带 sha256,/backup verify all 随时体检;每日/每周分级保留,留得住有用的历史 |
| 「我会忘记备份」 | /backup auto 12——每 12 小时自动跑,重启不中断,旧副本自动轮换(默认保留 7 份) |
| 「换新电脑,插件和配置都要重装」 | 单文件 ZIP 导出/导入 + 本地 link:/file: 插件迁移;也能 WebDAV / S3 兼容 / Gist 多通道推送(跨机恢复走 GitHub 通道拉取或 ZIP 导入) |
| 「想从别的 AI 工具搬过来」 | 从 Claude Code / Cursor / Codex 读取技能与全局指令,预览后导入(MCP 只检测报告) |
| 「想回到对话里的某个时刻」 | 会话 Rewind 分叉:从指定轮次开新分支,原会话完整保留 |
| 「备份把磁盘占满了」 | 磁盘占用报告 + 分级清理:只清可再生缓存/过期备份,快照与同步数据不动 |
| 「想装社区现成配置」 | 配置市场:索引校验 + 预览安装 + 供应链提示,逐个确认才写入 |
遇到具体报错? 按症状与报错原文查的排错手册:故障排查(会话打不开、29 字节空包、面板消失、Token 按钮报错、换机迁移……各条的版本与修法都写明)。

安装
要求:macOS / Linux / Windows 10+(自带 tar),DSH 0.1.1-rc.2+(0.1.1 / 0.1.2 / 0.1.5 / 0.1.6 / 0.1.7 列车均已实测,0.2.0 / 0.2.1 列车分别自 0.13.2 / 0.14.0 起支持;当前兼容状态见 兼容性矩阵)。
dsh plugin --profile web add @xiaoyuyu6420/dsh-backup
# 或者直接从 GitHub 安装:
dsh plugin --profile web add github:xiaoyuyu6420/dsh-backup
装完重启 dsh web 后插件才生效。
安装时可能刷出
✕ missing peer @deepseek-ai/...警告,属预期现象:这些 peer 包由 DSH 宿主在运行时提供,不装在 profile 目录里。只要命令以Done结尾就是装成功了。
快速上手
- 按上面装好插件,重启
dsh web - 输入
/backup - 搞定 —— 备份出现在
~/Desktop/DSH Backups/,文件名带时间戳,旁边一份.sha256
想定时自动跑?/backup auto 12(每 12 小时一次;off 关闭,status 看状态)。
命令速查
| 场景 | 命令 |
|---|---|
| 立即备份 | /backup |
| 分类型备份(只备份选中类型) | /backup --types skills,sessions(可选:credentials·mcp·skills·sessions·settings·profiles;--only 同义) |
| 定时备份(重启不中断) | /backup auto 12 · off · status |
| 恢复(先预览) | /backup restore latest --dry-run |
| 正式恢复 | /backup restore latest |
| 分类型恢复(merge,不动其他类型) | /backup restore <归档> --types skills |
| 列出备份 | /backup list |
| 校验完整性 | /backup verify [前缀|all] |
| 会话日志体检/修复 | /backup doctor · --repair [前缀|latest] |
| 升级前迁移预检 | /backup migrate-check |
| DSH 起不来时自救 | 双击备份目录里的「点我恢复」,或 dsh-rescue / node rescue.mjs |
| 删除 / 保留策略 | /backup delete <前缀|latest> · /backup --keep N(默认 7) |
分类型备份
只想备份/恢复某几类数据?--types(或 --only)按内容类型子集操作,可选类型:credentials(凭据/api key)、mcp(MCP 配置)、skills(技能)、sessions(会话)、settings(设置)、profiles(插件 profiles)。
- 备份:
/backup --types skills,sessions生成dsh-t-前缀的子集归档,与全量备份分开轮换、互不挤占保留份数 - 恢复:
/backup restore <归档名> --types skills只把 skills 合并回现有~/.dsh(先--dry-run预览;覆盖的现有文件自动留档.pre-merge-*),其他类型完全不碰 - 凭据类型特殊:
--types credentials会把 api key 明文打进归档(默认全量备份是脱敏的)——这类归档绝不进 GitHub 同步,仅建议本机保存或手动拷到新机 - 安全护栏:分类型归档不带
--types直接整包恢复会被拒绝(防止误覆盖丢数据);rescue 救援通道同样不列、不整包恢复它们 - 面板(Settings → 插件 → 备份)同样支持:备份按钮下方勾选类型;分类型归档在独立分区展示与恢复
换新电脑
前提:旧电脑配过 GitHub 同步(配置方法)。
- 新电脑装好插件,配置里填同一个
githubRepo /backup github pull—— 拉回云端备份/backup restore latest --sync-deps—— 恢复并重装插件依赖- 重启
dsh
常见问题
API Key / 密码会进备份包吗? 不会。已知的凭据文件打包前会脱敏,明文留在本机 vault 里不离开这台机器;恢复时自动还原。
到底备份了什么?
~/.dsh 下的全部——会话、设置、技能、插件配置——减去你配置的排除模式和 node_modules。
我把 ~/.dsh 搞坏了,dsh 都启动不了,还有救吗?
有——这正是救援通道的用途。每次备份都会往备份目录写 rescue.mjs 和双击启动器(macOS .command / Windows .bat / Linux .sh)。它只用普通 Node 就能跑,不需要 DSH,起一个本地网页让你浏览和恢复备份。
升级后老会话打不开了怎么办?
先别再点开它。运行 /backup migrate-check:静态扫描全部会话日志,告诉你哪些会话会被新宿主拒绝、挂在哪条规则(subagent descriptor 旧版本、插件注入的历史事件等),并检查文件系统硬链接支持。升级前先 /backup 拍一份,坏掉的会话可用 /backup doctor --repair 从更早的归档定点修复。
支持 Windows 吗?
支持——Windows 10+(用系统自带 tar),救援启动器是 .bat 文件。
备份默认放哪?
~/Desktop/DSH Backups/——在面板(设置 → 插件 → 备份)里随时可改,立即生效不用重启。0.14.0 起默认目录由旧的 ~/Desktop/dsh-backups 改名而来:从未配置过备份目录的用户,升级后首次启动会把旧目录自动改名(同盘、原子、不丢备份);显式配置过目录的一律不动。
备份目录里那些文件都是什么?
每次备份会在目录根写一份「使用说明.txt」,逐个解释归档、.sha256 校验边车、救援工具、vault/ 凭据、auto.json 状态,以及恢复的三条路。第一次打开文件夹看完就知道哪个能删、恢复从哪下手。
反馈
用过吗?哪里坏了、缺什么、喜欢什么,都欢迎说——反馈直接决定路线图:
更新日志
0.14.3 —— 发布 #139 的安全与可靠性修复:限制归档与插件导入路径,修复失败回滚、凭据留档权限和操作锁;损坏会话不再触发删除健康备份;修复本地插件迁移、预览结果校验和救援大文件校验。备份目录位于
DSH_HOME内时,tar/ZIP 会排除整个备份目录及 vault,避免重复打包和文件变化错误;整包恢复前需先将整个备份目录移到DSH_HOME外。新增 26 组回归,真实 DSH0.2.2-rc.1e2e 71/71。详情:发布说明。0.14.2 —— 复核修复:加密/解密改分块流式并「写临时文件 → 原子替换」(大归档不再整包入内存,崩溃不留半截密文);补
setGithubToken缺失的客户端 descriptor + 「面板方法必有 descriptor」反向断言;redactSyncChannel补花括号(修掉 s3/gist 通道假的passwordSet:false);文案补 Codex、导入预览不再承诺界面逐项覆盖、多通道同步写清为单向推送、About 加反馈入口、rescue --fix --map需--yes;验收 smoke 596 / settings 47 / client 62 / 真机 e2e 70。0.14.1 —— 补发:npm 上的 0.14.0 先于 Codex 支持发布,本版把「Codex 聊天记录导入」补齐到 npm 版本(Claude Code / Codex 双来源:扫描 → 预览 → 导入为新会话,函数调用按 call_id 配对成工具调用/结果,原数据零改动),并同步验收数字(smoke 587 / settings 47 / client 60 / 真机 e2e 70)。
0.14.0 —— 一次大版本:备份目录 UX + 面板重构 + 与同类方案对齐的完整能力。① 目录改名:默认
~/Desktop/dsh-backups→~/Desktop/DSH Backups,从未配置过 destination 的用户升级后首次启动同盘自动改名(原子、不丢备份),显式配置不动,失败继续用旧目录;每次备份在根目录写「使用说明.txt」(每个文件是什么 + 三条恢复路径)。② 面板重构:三个 Tab(备份 / 恢复 / 设置)+ 首启三步引导 + 分类型 chips + 文案去术语 + 响应式。③ 备份增强:可选口令加密(scrypt+AES-256-GCM,口令不落盘)、单文件 ZIP 导出/导入(节段预览 → 冲突默认保留 → 自动快照 → 失败回滚)、本地 link:/file: 插件迁移。④ 同步与运维:WebDAV / S3 兼容 / Gist 多通道单向推送(跨机恢复用 GitHub 通道拉取或 ZIP 导入;Gist 单文件上限 10MB,只适合小体积)、GFS 月/年保留、操作锁 + 残留锁回收、磁盘占用报告 + 分级清理、每周调度。⑤ 生态:配置市场(索引校验 + 预览安装 + 供应链提示)、从 Claude Code / Cursor / Codex 导入技能与全局指令(MCP 只检测报告)、Profiles 管理(内置只读)、会话 Rewind 分叉(原会话零改动)、About 面板、agent 工具 1→6、跨工具聊天记录导入(Claude Code / Codex → 新 DSH 会话,原数据不动)、离线 CLI(reinstall / sessions repair / recover-stale-lock)。⑥ 兼容与验收:DSH 0.2.1-rc.2 真机 e2e 70/70,smoke 587 / settings 47 / client 60 全绿;另修复 Windows 上doctor --repair因 bsdtar 拒绝覆盖同名对象而失败(#131):改为暂存区解包 + 按目标拷贝,非目标文件零改动。peers/engines 不变(^0.2.0-rc.1覆盖 0.2.1 列车,下一 peer 边界 0.3.0)。0.13.4 —— 元数据版(无代码与行为变更):npm 描述与关键词对齐检索用词——补入「迁移 / 换机 / 插件 / MCP / 技能 / 会话 / 工作区」等,让"搬家换机、升级翻车"场景的人在 npm 搜索里能找到本插件。功能、归档格式、设置项、RPC 与 0.13.3 完全一致;升级到本版与停留在 0.13.3 在行为上没有任何区别。
0.13.3 —— 三条真实用户报障的修复 + 两个自建缺陷修复,全部在四条宿主列车(0.1.5-rc.3 / 0.1.7-rc.2 / 0.2.0-rc.2 / 0.2.1-alpha.1)真机 e2e 各 41/41 复验:① 含附件的归档恢复全链路不可用(#112,@zevs281):DSH 附件库用硬链接(tar 记为
h条目),而恢复校验器只放行-/d——0.13.2 及更早对这类归档的完整恢复/dry-run/分类型合并/doctor 修复一律拒绝。修法:条目与目标都在备份根内的硬链接放行(符号链接、设备仍拒)。② 大归档恢复被误拒(#119,@Yoshino-JF):归档清单超过宿主 subprocess 的 spill 上限时宿主会丢弃 spill 文件、只留 8 KB 尾窗,校验器把"断在文件名中间的碎片"当成不安全条目 → 整包拒绝(备份成功、verify 报完整、只在恢复时炸)。修法:清单改走原始流逐行校验(无上限,发现违规立即终止)。③ doctor/migrate 看不见 v4 会话日志(#117,@xiuwufangoc-design):宿主 0.1.7 起会话格式为 v4(session.v4.jsonl.zstd),而文件名与校准代写死到第 0 代/v3——体检与迁移预检一份都扫不到。修法:按宿主同源形态匹配文件名、校准代推进到 v4、更新代只提示。④ 一键更新跨不过 minor(#115):pnpmupdate只在声明范围内升级,跨 minor 停在旧版且回执谎报成功。修法:update --latest+ 跑完读回 profile 内真实版本核对。⑤ 迁移预检误报(#113,@zevs281):未知source.kind从"判打不开"降级为提示,名单对齐宿主权威集合(真机曾把 81/82 份健康日志误报)。0.13.2 —— 适配 dsh 0.2.0 列车:peers/engines 追加
^0.2.0-rc.1(宿主自 0.1.7-rc.1 起有安装期兼容闸门,不覆盖会被拒绝安装);修复 0.1.7 起失效的设置表单(宿主改从条目 Config schema 派生表单且只认volatile字段——本插件导出Config并逐字段.volatile(),设置卡片恢复可读可写);修复 Windows 调度器启动卡死(#103:流式哈希 + 启动宽限 + 尝试锚点落盘);review P2 债清偿与产品内 Star 入口。0.13.1 —— 修复两个面板问题(均感谢用户报告):① 0.1.6+ 宿主上面板标签静默消失(#94,@jackovibe):宿主 0.1.6 起要求客户端 Remote 贡献的 strict codec 带
create()惰性工厂(旧版只读schema),缺失时$mount在校验阶段抛错且只有 console 日志——标签页因此永不注册。修法:strictCodec()同时提供schema与create(),两代宿主共用同一 zod 实例;$mount改为声明式等待remote服务就绪(0.1.6 客户端模块按依赖图结算);并新增BackupTabFallback降级标签页——万一挂载失败会在面板位置给出可见提示与命令指路,不再静默消失。peers/engines 追加^0.1.6-alpha.1 || ^0.1.7-alpha.1(0.1.6-alpha.2 / 0.1.7-alpha.2 / 0.1.7-rc.1 / 0.1.7-rc.2 实机验证通过)。② 「GitHub Token」保存按钮报错(#97,@CheeseTJ):客户端panel代理漏接了setGithubToken(该 RPC 0.12.0 加入宿主半时即漏,因当时面板无入口而潜伏两版)。修法:补接该行,并给 smoke-client 加「panel 面必须与贡献 descriptors 一一对应」的防漏断言。0.13.0 —— 更新感知 + 一键更新(#A+B):①
/backup check-update与面板「插件更新」卡——查 npm 最新版(8s 超时、断网静默降级,绝不阻断运行),发现新版即出现「更新到 x.y.z」按钮;设置项updateCheck(默认关)开启后打开面板自动静默检查一次(本插件不联网上报,检查只读 registry)。②/backup update [--profile 名]一键更新——更新前自动留dsh-pre-upgrade-升级前快照(失败可/backup restore回滚),再走官方dsh plugin --profile <名> update(pnpm 语义,插件不自己覆写依赖文件),完成提示重启 dsh web 生效。说明:宿主在启动时结算插件 Loader 树、插件是 profile 的 pnpm 依赖,运行中热替换(不重启生效)在宿主现行架构下不可行——一键更新 + 重启是此架构下的最佳形态。0.12.2 —— 修复 Windows 数据安全隐患(#88,感谢 @Liuyeyuyangy0 出色的报告):
DSH_HOME位于盘符根目录(如D:\dsh_data)时,求父目录的字符串截取退化成裸盘符D:,tar -C D:在 bsdtar/GNU tar 下必然失败——而 tar 失败前已创建归档文件,留下 29 字节空壳被面板当正常备份列出(无.sha256/.meta.json,静默零可用备份;恢复、doctor 修复、rescue 救援通道同样中招)。备份/恢复/修复/救援共 7 处 tar-C统一改传补过分隔符的父目录;paths()对DSH_HOME补上与 HOME 一致的尾斜杠归一化(尾斜杠曾让 tar 位置参数变空串、产出 0 字节坏包);tar 失败路径删除空壳归档再抛错,失败不再静默。smoke 新增场景 28(四种路径布局断言 + 尾斜杠真实备份 e2e)。归档格式、设置项、RPC 均不变。0.12.1 —— 修复 client bundle 顶层
var module/var exports泄漏为全局变量(#85,感谢 @geyonder 报告):CJS shim 移入__ModuleLoader__.loadfactory 体内,不再创建window.module——此前会把 Monaco 的 AMD loader(dsh-vscode-mode 等)误判成 Node 环境并破坏同页插件。冒烟测试新增经典脚本全局泄漏回归断言(vm.runInContext)。纯 client 半区修复,node 侧行为与归档格式不变。0.12.0 —— 迁移安全网第一弹,对准官方社区集中爆发的「升级后老会话打不开」(#6151/#6297/#6355):①
/backup migrate-check迁移预检——升级前静态扫描全部代会话日志(v0/v1/v2/v3),预测哪些会话升完会打不开、挂在哪条规则(descriptor v2、permission/preset origin、冻结清单外事件类型、自定义来源 kind、seq 漂移、文件名代际不一致……规则烤入自宿主 0.1.5-rc.2,摘要如实标注覆盖边界),并探测文件系统硬链接支持(exFAT 上宿主发布会失败的 #6358 场景);② 凭据哨兵——旧扁平布局的.credentials.yaml会被宿主原子替换成 version:1(不可逆),检测到即先自动存底 vault 再让宿主动它。③ GitHub token 面板直配——设置面板(或/backup github token <token>)直接粘贴保存,存本机备份目录github.token(0600,不进归档、不进 GitHub 同步),优先于环境变量,跨机恢复后重填。另:新增engines.dsh声明(插件市场的兼容卡片读取它)。0.11.3 —— 跟进 dsh
0.1.5列车:peerDependencies 追加^0.1.5-rc.1(0.11.2 在 0.1.5 宿主上会报 peer 警告)。兼容实测:宿主0.1.5-rc.2真机 e2e 32/32;六个 node 侧 peer 包 rc.1↔rc.2 逐字节相同(tarball diff),client 包列车未动——本次升列车零适配面;跨列车原地升级 e2e(rc.1 宿主 + 0.11.2 → rc.2 宿主 + 0.11.3)14/14,设置与归档无损。顺带修了升级 e2e 脚本自身的一个坑:新版期望版本从写死改为从 tarball 动态推导,换版本对不再改脚本。0.11.2 —— doctor 行级 SessionHeader 校验对齐宿主
isHeaderLine(闭环 0.11.0 已知遗留):补version/createdAt/delegationDepth类型与非负安全整数三连(含-0拒绝)、seedLength/origin/agentPreset可选分支、退役字段sandboxMode/approvalPolicy——宿主拒载的 header 不再被误报健康。对照双列车宿主编译产物逐字段验证(rc.1 为严格超集),独立复核结论 ALIGN;测试套新增 11 种坏 header 负样本 + 修复往返。0.11.1 —— 适配 dsh
0.1.2-rc.1:跟随@deepseek-ai/dsh-settings移除settingsNamespace(改用普通dsh-backup命名空间注册——取值完全一致,原地更新后设置、备份与旧归档全部无损),支持 Web 强制鉴权(303 + HttpOnly cookie),peer 范围放宽为^0.1.1-rc.2 || ^0.1.2-rc.1。双列车真宿主 e2e 各 32/32 通过,另做了 0.11.0 → 0.11.1 原地升级测试(设置保留、旧归档可恢复)。0.11.0 —— doctor 容器契约校验:首帧必须解出「恰好一行 header、单个换行结尾」(字节精确,对齐宿主读端)。单帧重写、首帧多余空行、缺行尾、skippable 帧现在都会判损坏(此前报健康但宿主拒载);救援台同步。来自 deepseek-harness 官方讨论区 #1047 的社区审计。
0.10.0 —— 分类型备份:只备份需要的部分(
/backup --types skills,sessions),按类型 merge 恢复(/backup restore <归档> --types skills);类型归档独立轮换不挤全量配额。含凭据的类型归档永不进 GitHub 同步,跨机护栏不变。0.9.1 —— 面板新增反馈入口;README 重做。六路 agent UX 深审后的加固:恢复确认按钮补主题色兜底重新可见、修复恢复快照时自毁目标快照的 bug、双击救援启动器自动探测 node、报错文案全面改为"人话 + 下一步"。
0.9.0 ——
/backup doctor会话日志体检与定点修复;宿主起不来也能用的进程外救援通道(备份目录里的 dsh-rescue / 双击启动器);恢复失败自动回滚与结果导向回执;智能备份:宿主升级前自动快照、损坏会话先隔离再入档、每日/每周分级保留。0.8.0 —— 面板里直接改备份设置(目录、保留份数、排除模式),立即生效写入 settings.yaml 不用重启;两处同时改有冲突提示,不会静默覆盖。
0.7.x —— 凭据脱敏(本机 vault)、跨机恢复。
更多
定时备份策略、敏感文件脱敏、GitHub 同步、恢复保护机制、配置参考、故障排查、开发说明——都在进阶文档。便携安装与配置:INSTALL.md。跨运行时兼容性说明:compatibility.md。与同类方案的完整能力对齐与验收标准:ALIGNMENT.md。发布说明与宣发物料:docs/promo/。
致谢
- @beastrobin —— #1 中对保留方法名的根因分析,直接促成 v0.5.1 修复
- @mlosun —— #2 中详尽的复现与根因报告
- @Choi-Peng —— #5 中协助把受影响用户指引到修复版本
支持这个项目
如果 dsh-backup 帮到了你:⭐ 给个 Star 是最直接的鼓励,也能让更多 DSH 用户找到它。遇到问题或有想法,欢迎到反馈帖留言。
许可证
MIT
链接
同类插件
yjh051108/dsh-routing-suite★ 6994
一个仓库三件套:DSH 插件包的运行时注入器(注入、热重载、卸载、开发侧挂区一键转正、路由自愈,外带设置页插件管理:列出、卸载、拖入文件夹内化)、任务感知的思维模式路由 agent 预设(router-standard / router-spec / router-react)、以及分级两级任务协议(commit_star / lock_stage / revise_do / edit_plan / mark_task / redteam_verdict 六个工具,任务状态落盘)。注入器实现直接在库内,安装的是它自己的行为而不是一份依赖清单。
strukto-ai/mirage#dsh★ 3762
把文件系统与 bash 提供者换成 mirage 虚拟工作区:文件工具与 shell 命令作用于挂载的资源(RAM、S3、Redis、Slack、Gmail、Notion、Postgres)而非宿主磁盘,支持按挂载点设置读/写/执行模式、按命令选择沙箱(进程内 monty、pyodide、quickjs;远程 docker、e2b、daytona),并可在虚拟终端中安装 CLI(git、gh、slack、linear、ntn、gws,或自行注册的程序树)作为命令头词。
first-fluke/oh-my-agent#dsh★ 1357
在工具执行前后以及尝试结束当前轮次时运行项目 OMA 检查。随插件安装 OMA CLI 依赖,并在首次使用时初始化未配置的项目。需要 Node.js 22+;首次初始化需要网络连接和项目目录写入权限。
MichengAI/dsh-skills-manager★ 444
在设置里管理本地 DSH 技能,并只读查看公共 Agent 技能。
hust-open-atom-club/oh-dsh★ 324
社区发行版:TUI、桌面端与 Web UI 统一体验,分层安装、一步到位。
Fishquito7/dsh-skill-mcp-panel★ 248
在 DSH Web 设置中管理技能与 MCP 服务器:技能卡片热启停、工作区作用域、分组、批量迁移与拖拽导入,以及 stdio/HTTP MCP 增删改查、连接测试、密钥脱敏,并附带统一 dsh-panel 命令行。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。