# DeepSeek Harness 数据保险箱(dsh-vault)🛡 [English](./README.md) | **简体中文** [GitHub](https://github.com/feiyang-dev/dsh-vault) · [npm](https://www.npmjs.com/package/@feiyang666/dsh-vault) · MIT License **由开发者制作的 DeepSeek Harness 插件** —— 自动备份 → 清空检测 → 一键恢复,把聊天记录、工作区数据、设置与凭据备份到 `~/.dsh` 之外的安全位置。 ![License](https://img.shields.io/badge/license-MIT-blue.svg) ![Node](https://img.shields.io/badge/node-%3E%3D18-339933) ![Platform](https://img.shields.io/badge/platform-web%20%26%20desktop-4d9fff)
--- > ## 🔔 重要通知(2026-08-16):项目已改名 > > ### 1️⃣ 仓库改名 > > | | 旧地址 | 新地址(当前) | > |---|---|---| > | **GitHub 仓库** | `feiyang-dev/deepseekharnessdesktop-vault` | **`feiyang-dev/dsh-vault`** | > | **本地 remote** | `https://github.com/feiyang-dev/deepseekharnessdesktop-vault.git` | `https://github.com/feiyang-dev/dsh-vault.git` | > > 旧地址会自动 301 重定向到新地址,**star / fork / issue / Release 全部保留**。 > 本地已有 clone 的仓库,只需更新 remote: > > ```bash > git remote set-url origin https://github.com/feiyang-dev/dsh-vault.git > ``` > > ### 2️⃣ npm 包名更换 > > | | 旧包名 | 新包名(当前) | > |---|---|---| > | **npm 包** | `@feiyang666/deepseekharnessdesktop-vault` | **`@feiyang666/dsh-vault`** | > > - 安装 / 升级请改用新包名:`dsh plugin --profile web add @feiyang666/dsh-vault` > - 旧包名 `@feiyang666/deepseekharnessdesktop-vault` 仍会保留一段时间,但**不再维护、不会更新**,请尽快迁移 > - 桌面端([`DeepSeek Harness 桌面版`](https://github.com/feiyang-dev/DeepSeek-Harness-Desktop))已兼容两种包名,旧包名安装的会**自动识别并升级**到新包名 --- ## 简介 DeepSeek Harness 桌面端在检测到插件加载失败时,可能会强制清除 `~/.dsh` 本地数据(聊天记录、工作区数据、设置、凭据、插件配置)并恢复出厂。`dsh-vault` 把全部关键数据持续备份到 **`~/.dsh` 之外**的安全位置,即使数据被清空也能完整找回。 npm 包名:`@feiyang666/dsh-vault`(同项目系列:`@feiyang666/dsh-usage-plugin` 用量插件)。 ## 功能 | 能力 | 说明 | |---|---| | **设置页「备份管理」** | Web 端设置页新增「备份管理」页面:查看备份状态与历史、立即备份、按范围一键恢复(全部 / 仅聊天记录 / 仅工作区设置)、删除备份(需二次确认) | | **自动备份** | 只保留三种触发时机(v1.2.2 起):① 启动备份(正常启动 6 秒后)② 意外关闭备份(上次运行未正常退出,本次启动立即备份)③ 手动备份(设置页 / backup_vault 工具)。不再按会话落盘或定时全量备份,避免大量任务运行时反复复制 `~/.dsh` 导致卡死 | | **备份内容** | `sessions/`(聊天记录,zstd 二进制完整复制)、`storages/`(工作区数据)、`settings.yaml`、`.credentials.yaml`、`.anonymous-user-id`、`profiles/` 配置(排除可重装的 node_modules);**若已安装用量插件(dsh-usage-plugin),其用量数据(`usage-records.json` / `pricing.json` 等)会一并备份**,恢复时按原目录还原 | | **备份位置** | `~/.dsh-backups/<时间戳>/` —— 在 `~/.dsh` 之外,数据清空不会波及;最多保留最近 10 份,旧的自动清理 | | **清空检测** | 启动时对比备份与当前会话数,数据疑似被清空时红色告警 | | **一键恢复** | 设置页或 `backup_vault` 工具按范围恢复(全部 / 仅聊天记录 / 仅工作区设置) | | **恢复脚本** | 生成 `restore-latest.ps1`,退出桌面端后右键运行即可离线还原 | | **删除备份** | 设置页按名称删除指定备份(二次确认) | ## 推荐安装方式 > 两个方法任选其一,效果等价。**推荐使用桌面端**,全程图形化、无需命令行。 ### 方式一(推荐):桌面端一键安装 安装 [DeepSeek Harness 桌面版](https://github.com/feiyang-dev/DeepSeek-Harness-Desktop),打开后点击 **「安装插件」→ 推荐插件 → 数据保险箱 → 一键安装**,完成后点 **「立即重启服务」** 即可生效。 ### 方式二:命令行安装 ```bash # 前提:已安装 dsh(npm install -g @deepseek-ai/dsh) dsh plugin --profile web add @feiyang666/dsh-vault ``` 本插件是标准 Cordis bundle 插件,通过 npm 安装后挂载到 dsh profile: ```bash # 1. 安装到 profile(等价于官方 bundle 机制) npm install --prefix "$HOME/.dsh/profiles/web" @feiyang666/dsh-vault # 2. 在 profile 的 package.json 中注册 bundle(dsh.vault 行会通过 cordis.patch.yml 自动挂载) # 也可用你的桌面端插件管理器安装 ``` 或手动编辑 `~/.dsh/profiles/web/package.json`,在 `dsh.profile.bundles` 中加入 `"@feiyang666/dsh-vault"`。 --- ## 使用方式一:设置页「备份管理」(Web 端) 安装并重启后,打开设置 → 「备份管理」: - 顶部显示备份目录、上次备份时间、备份份数、数据完整性状态 - 「立即备份」按钮手动触发备份 - 「备份历史」列表每项有「恢复」(选择范围:全部/仅聊天记录/仅工作区设置)与「删除」(二次确认)按钮 ## 使用方式二:`backup_vault` 工具(TUI / Web 通用) 插件注册模型工具 `backup_vault`,直接对助手说"帮我备份一下 / 查看备份状态 / 从最新备份恢复聊天记录 / 删除那个旧备份"即可: - `action: status` —— 备份目录、上次备份、备份列表、是否检测到清空 - `action: backup` —— 立即备份 - `action: list` —— 列出全部备份 - `action: restore`(`name` + `scope`: all/sessions/data)—— 恢复 - `action: delete`(`name`)—— 删除备份 - `action: make_script` —— 生成一键恢复脚本 ## 手动恢复(桌面端退出后) 1. 找到备份目录 `~/.dsh-backups/` 2. 若已生成 `restore-latest.ps1`,退出桌面端后右键"使用 PowerShell 运行" 3. 或手动把 `backup-<时间戳>/` 下的内容复制回 `~/.dsh/` ## 安全说明 - 备份含 `.credentials.yaml`(API 密钥),请妥善保管备份目录(可复制到加密磁盘/网盘)。 - 恢复会覆盖当前数据,请先确认备份时间点。 - 聊天记录文件在 DSH 运行时可能被占用,恢复聊天记录建议先退出桌面端。 ## 相关项目 | 项目 | 说明 | 安装方式 | | --- | --- | --- | | [DeepSeek Harness 桌面版](https://github.com/feiyang-dev/DeepSeek-Harness-Desktop) | Windows 桌面控制台:一键安装/启动/停止/重启 dsh web 服务,内置插件管理,**推荐插件区一键安装本插件** | 下载桌面版,点几下即可 | | [用量与消耗插件(dsh-usage-plugin)](https://github.com/feiyang-dev/dsh-usage-plugin) | 每次调用的 token 用量/缓存命中统计、峰谷计费、余额查询、CSV/JSON/PNG 导出 | 桌面端一键安装,或 `dsh plugin add @feiyang666/dsh-usage-plugin` | | [DeepSeek-Harness](https://github.com/deepseek-ai/DeepSeek-Harness) | 官方 CLI / Web 服务 | 见下方「运行 DeepSeek Harness」 | ### 运行 DeepSeek Harness **快速安装(通过 npm)** 安装 Node.js,然后运行: ```bash npx @deepseek-ai/dsh web ``` 该命令会启动 Web UI,默认地址为 http://127.0.0.1:3080。详见 [Web UI 指南](https://github.com/deepseek-ai/DeepSeek-Harness)。 **从源码运行** 如需从仓库源码运行: ```bash git clone https://github.com/deepseek-ai/deepseek-harness.git cd deepseek-harness pnpm install pnpm run build pnpm dsh web ``` ## License MIT © dsh-vault