DeepSeek Harness 更新会丢配置吗?dsh 升级后会话、插件保留说明与更新前备份
更新 DSH 不会丢数据:dsh 更新只替换程序本体,你的密钥、配置、会话和插件全部存在独立的 $DSH_HOME 数据目录里,更新命令碰不到它们。真正要担心的不是「丢」,而是「更新后插件不兼容」——所以更新前备份一份数据,更新后按插件兼容状态逐个验证,就万无一失。
概览:更新到底动了什么、没动什么
DeepSeek Harness 把「程序」和「数据」分成两套目录:程序是 npm 包或源码仓库,数据是 $DSH_HOME(默认 ~/.dsh)。 更新时被替换的只有程序本体,数据目录保持独立。这一点弄清楚了,就不会被「更新会不会清空我的东西」这类问题吓住。先看官方对数据目录的定义:模型密钥存储在 $DSH_HOME/.credentials.yaml,用户配置在 $DSH_HOME/settings.yaml,profile 目录在 $DSH_HOME/profiles/<名字> 下(来源)。更新命令——npx 重跑、git pull、npm install -g——全都只碰程序文件,不碰 $DSH_HOME。
更新会动什么?程序本体 vs 数据目录
更新只动三样东西:程序代码、npm 依赖、构建产物;$DSH_HOME 下的密钥、配置、会话、profile 一律不动。 具体分安装方式看:
- npx 方式:每次运行都从 npm 拉最新包,本质是临时下载程序文件,数据目录完全独立(来源)。重跑
npx @deepseek-ai/dsh web后,之前的模型密钥、会话、插件全都在。 - 源码构建:
git pull更新仓库代码,pnpm install更新依赖,pnpm run build重建产物——都在仓库目录内进行(来源),不碰数据目录。 - 全局安装:
npm install -g @deepseek-ai/dsh覆盖全局包,同样不碰数据目录。
而 $DSH_HOME 里住着你的所有「资产」:settings.yaml(用户配置)、.credentials.yaml(模型密钥,只写不回显)、profiles/<名字>/(每个 profile 的插件依赖与组合配置)、sessions(会话数据)、cordis.patch.yml(跨 profile 共享的本地偏好)——这些更新都不会动。
更新前备份哪些数据?怎么备份
最少备份 ~/.dsh 整个目录;只想保对话就单独复制 ~/.dsh/sessions。 备份是纯复制操作,不影响正在运行的 DSH,随时可以做:
# 方案一:整目录备份(最稳,含配置、密钥、会话、插件依赖)
cp -r ~/.dsh ~/.dsh-backup
# 方案二:只备份会话数据(最常用,占用小)
cp -r ~/.dsh/sessions ~/.dsh-sessions-backup
# 方案三:连同配置和密钥一起备份
cp -r ~/.dsh/sessions ~/.dsh/settings.yaml ~/.dsh/.credentials.yaml ~/.dsh-backup/
建议只备份数据目录,不要连带把 node_modules 一起拷——依赖可以重装,$DSH_HOME 里的数据才不可再生。恢复时把备份复制回原位:
cp -r ~/.dsh-backup/sessions ~/.dsh/sessions
想回退到旧版 dsh 本体:全局安装的 npm install -g @deepseek-ai/dsh@旧版本号 覆盖安装,源码构建的 git checkout 旧 tag 后重建——这些操作同样不碰数据目录,回退后配置、会话、插件照常可用。
更新后验证:插件兼容性怎么核对
更新本身不丢插件,但新版本可能与旧插件不兼容——这是预览版更新唯一真正需要担心的点。 DeepSeek Harness 官方明确提示当前处于开发者预览阶段,存在破坏性变更(来源)。更新后按三步核对:
- 确认本体版本到位:
dsh --version输出应与目标版本一致,然后启动 Web UI 发一条简单任务,确认主流程正常。 - 逐个核对插件:装 DSH Plugin Hub 后,打开「设置 → 插件中心」,每个插件详情页都标有兼容的 DSH 版本状态(verified / unconfirmed);
verified表示已人工核实兼容,unconfirmed的更新后要多留意。 - 发现插件不加载:先看是不是兼容性问题,再在 Hub 里重装该插件;git 源装的可能缺构建产物,改装 npm 版本。Hub 里能直接查看并一键重装,比命令行来回试快得多。

更新前后的注意事项
核心一句话:备份数据目录,更新程序本体,核对插件兼容。 三点提醒:
- 更新前:复制一份
~/.dsh(或至少sessions),成本极低、收益确定。 - 更新后:跑一遍主要功能,确认本体、插件都正常再继续日常使用。
- 异常时:先恢复备份数据(数据不会因更新损坏),再处理本体版本与插件兼容问题——别一上来就删
~/.dsh,那才是真正丢数据的地方。
来源:DeepSeek Harness 官方文档 - 配置模型、dsh CLI README、DeepSeek Harness 官方文档 - 打包与安装插件
常见问题
不会。更新只替换 dsh 程序本体,配置、密钥与会话都放在独立的 $DSH_HOME 数据目录:密钥在 .credentials.yaml、profile 在 $DSH_HOME/profiles、会话数据单独存放,更新命令不会碰它们。
最少备份 ~/.dsh 整个目录最稳妥:会话、配置、密钥、插件依赖都在里面。只关心对话就单独复制 ~/.dsh/sessions;想省空间可以跳过 node_modules。
先核对插件详情页标注的兼容 DSH 版本:预览版升级可能带破坏性变更。装 DSH Plugin Hub 后在插件中心看兼容状态,必要时重装或改装兼容版本。
在。npx 每次拉的是最新包,只是运行程序,数据目录 $DSH_HOME(默认 ~/.dsh)完全独立,重跑 npx @deepseek-ai/dsh web 后之前的配置、会话、插件都在。
把备份的目录复制回原位即可,比如 cp -r ~/.dsh-backup/sessions ~/.dsh/sessions。全局安装的用 npm install -g @deepseek-ai/dsh@旧版本 覆盖安装;源码构建的 git checkout 旧 tag 重建。
来源
- DeepSeek Harness 官方文档 - 配置模型· deepseek-harness
- dsh CLI README· deepseek-ai
- DeepSeek Harness 官方文档 - 打包与安装插件· deepseek-harness