dsh-config-migrator:分区导出 DSH 配置并在新机器上带冲突预览还原

前言

换电脑、重装系统或在新 profile 里复刻现有 DeepSeek Harness(DSH)环境时,常见做法是手工拷贝 $DSH_HOME、逐个重装插件、再对照 patch 改模型与 MCP。步骤多、容易漏项,且凭据与 API key 若一并复制会带来额外风险。

下面介绍社区插件 dsh-config-migrator(维护者 shutongX,分类 admin-security):把本机 DSH 状态按区块打成 zip,在新机器上按需、分块还原,并在写盘前给出冲突预览。插件仅使用 Node 内置模块,导出与导入过程不做网络请求。

这是什么

dsh-config-migrator 的定位是:导出所选 DSH 配置分区为 zip,在新机器上分区块恢复,且在写入前展示冲突分析。

SkillHub 等社区目录与 DeepSeek / 幻方无官方从属关系;安装前请自行查看源码与许可证。插件以当前 DSH 进程权限读写本机文件,属于 admin-security 类能力,使用前确认信任来源。

核心功能

导出与导入流程

入口在 DSH 设置 →「配置迁移」,三个页签:导出 / 导入 / 快照。

  1. 导出:勾选要带走的区块,生成 zip。API key 在导出时自动脱敏;凭据区块默认不导出,若勾选导出需设置加密密码。
  2. 导入:上传 zip → 查看清单与冲突分析 → 每个区块单独选择「用备份 / 保留本机 / 跳过」→ 确认后才写盘。导入前可自动创建快照。
  3. 快照:导入、还原会留下快照,支持回滚。

导出的 zip 内含 restore/ 安装器:目标机器若尚未安装本插件,可在 Windows 双击 install.cmd,或在 macOS/Linux 运行 install.sh,将插件装入 profile 后重启 DSH,再通过界面导入。

可迁移的区块

区块 内容
profile profile 的 package.json、cordis.patch.yml、pnpm 配置
plugins 已装插件的安装 spec
marketplace 自定义插件市场索引地址
localPlugins link: 依赖指向的本地插件目录
models patch 里 llm-* 的 provider / model / baseURL(apiKey 脱敏)
skills 全局 / profile / 已装包里的 SKILL.md
mcp MCP 服务定义
agentPresets Agent 预设
settings 其余 patch 条目(默认模型、权限、UI 偏好等)
instructions $DSH_HOME/AGENTS.md 与工作区 AGENTS.md
workspaces workspace.json 与已知工作区目录
sessions 会话日志(逐条可选)
storages $DSH_HOME/storages/*.json(排除缓存类)
pluginData 插件私有数据(白名单)
attachments 附件
credentials 凭据(需密码,默认不导出)

安全边界

  • 导出时 API key、token、密码脱敏,不写入 zip。
  • dsh-pocket/token 等明文密钥在扫描阶段跳过,不会被打包。
  • 导入为白名单写入:仅允许写入对应根目录,并拒绝凭据、.pem、.key 的写入。
  • 导入前先预览冲突,确认后写入;写盘前自动快照。

插件数据目录:$DSH_HOME/config-migrator/(exports / uploads / snapshots)。不再需要时可删除该目录。

设计契约(分区、格式、安全边界)见仓库内 docs/SPEC.md。

安装与启用

任选一种方式(命令与 URL 以 README 为准):

方式一:DSH 插件页

插件 → 添加插件 → 粘贴:

https://github.com/shutongX/dsh-config-migrator

方式二:自定义插件市场索引

DSH → 插件 → 实验性插件 → 更多 → 开启「自定义插件市场」→ 发现 → 添加索引源:

https://shutongX.github.io/dsh-plugins-index/index.json

方式三:命令行

dsh plugin --profile desktop add https://github.com/shutongX/dsh-config-migrator

若曾用开发目录安装旧版 @dsh-external/<name>,应先移除旧插件再安装当前无 scope 包,否则同一功能可能加载两份。

典型用法

先做导出,再做迁移与导入:

  1. 在本机打开 设置 → 配置迁移 → 导出,勾选需要的区块(凭据默认不选;若需要则设置加密密码)。
  2. 将生成的 zip 拷到新机器;若新环境尚未装插件,先运行 zip 内 restore/install.sh 或 install.cmd,重启 DSH。
  3. 在 导入 页上传 zip,阅读冲突分析,按区块选择「用备份 / 保留本机 / 跳过」,确认写入。
  4. 若结果不理想,在 快照 页回滚。

经过上面的步骤,profile、插件列表、模型 patch、MCP、skills 等可按需部分迁移,而不必整目录盲拷。

适用场景与注意

适合:换机或新 profile 复刻 DSH 环境;只想带走插件 spec 与市场索引、而不是手工记 URL;需要在写盘前看清与本机配置的差异。

注意:

  • 凭据默认不导出;导入侧仍拒绝写入凭据类敏感文件,迁移后 API key 等需在新机重新配置。
  • localPlugins 指向的本地目录需自行保证新机器上路径或内容可用。
  • 插件零第三方依赖、无网络请求,但读写范围仍覆盖 DSH 配置树,安装前请审阅源码。

结尾

dsh-config-migrator 把 DSH 配置拆成可选分区,用 zip 带走、用冲突预览控制还原粒度,并配合快照降低误操作成本。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜