前言¶
换电脑、重装系统或在新 profile 里复刻现有 DeepSeek Harness(DSH)环境时,常见做法是手工拷贝 $DSH_HOME、逐个重装插件、再对照 patch 改模型与 MCP。步骤多、容易漏项,且凭据与 API key 若一并复制会带来额外风险。
下面介绍社区插件 dsh-config-migrator(维护者 shutongX,分类 admin-security):把本机 DSH 状态按区块打成 zip,在新机器上按需、分块还原,并在写盘前给出冲突预览。插件仅使用 Node 内置模块,导出与导入过程不做网络请求。
这是什么¶
dsh-config-migrator 的定位是:导出所选 DSH 配置分区为 zip,在新机器上分区块恢复,且在写入前展示冲突分析。
- 仓库:https://github.com/shutongX/dsh-config-migrator
- 社区目录页:https://www.skillhub.cn/plugins/shutongX/dsh-config-migrator
- 当前 package 版本:0.1.1,许可证 MIT
- 运行要求:DSH >=0.2.1-rc.1(engines 上限
<3)
SkillHub 等社区目录与 DeepSeek / 幻方无官方从属关系;安装前请自行查看源码与许可证。插件以当前 DSH 进程权限读写本机文件,属于 admin-security 类能力,使用前确认信任来源。
核心功能¶
导出与导入流程¶
入口在 DSH 设置 →「配置迁移」,三个页签:导出 / 导入 / 快照。
- 导出:勾选要带走的区块,生成 zip。API key 在导出时自动脱敏;凭据区块默认不导出,若勾选导出需设置加密密码。
- 导入:上传 zip → 查看清单与冲突分析 → 每个区块单独选择「用备份 / 保留本机 / 跳过」→ 确认后才写盘。导入前可自动创建快照。
- 快照:导入、还原会留下快照,支持回滚。
导出的 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 包,否则同一功能可能加载两份。
典型用法¶
先做导出,再做迁移与导入:
- 在本机打开 设置 → 配置迁移 → 导出,勾选需要的区块(凭据默认不选;若需要则设置加密密码)。
- 将生成的 zip 拷到新机器;若新环境尚未装插件,先运行 zip 内
restore/install.sh或install.cmd,重启 DSH。 - 在 导入 页上传 zip,阅读冲突分析,按区块选择「用备份 / 保留本机 / 跳过」,确认写入。
- 若结果不理想,在 快照 页回滚。
经过上面的步骤,profile、插件列表、模型 patch、MCP、skills 等可按需部分迁移,而不必整目录盲拷。
适用场景与注意¶
适合:换机或新 profile 复刻 DSH 环境;只想带走插件 spec 与市场索引、而不是手工记 URL;需要在写盘前看清与本机配置的差异。
注意:
- 凭据默认不导出;导入侧仍拒绝写入凭据类敏感文件,迁移后 API key 等需在新机重新配置。
localPlugins指向的本地目录需自行保证新机器上路径或内容可用。- 插件零第三方依赖、无网络请求,但读写范围仍覆盖 DSH 配置树,安装前请审阅源码。
结尾¶
dsh-config-migrator 把 DSH 配置拆成可选分区,用 zip 带走、用冲突预览控制还原粒度,并配合快照降低误操作成本。进一步了解可访问 SkillHub 目录页 与 GitHub 仓库。