前言¶
DSH 的理念是「一切皆插件」,插件、hook、权限、模型配置都写在 profile 里。换机器时,通常的做法是把配置一项一项抄过去,或者复制整个配置目录。抄容易漏,整目录复制则会把目标机器特有的东西一起带走:会话历史、凭据、本地专属设置,都可能被覆盖。
下面介绍的 lukebest/dsh-plugin-profile-sync 解决这件事:它把当前 profile 里「已选插件 + 配置」导出成一个 JSON 快照,再以合并的方式恢复到另一台机器,目标机器自己的东西保持不变。快照还可以通过 GitHub CLI 存进私有仓库。
这是什么¶
一个 DeepSeek Harness 社区插件,由 lukebest 维护,分类是联网工具。README 中的定位一句话:导出当前 profile 已选插件和配置,再合并到另一台机器;同一份快照也可通过 GitHub CLI 保存到私有仓库。许可证 MIT,package.json 中作者字段为 lukeliu。
需要说明的一点:DeepSeek Harness 目前不接收外部插件进入官方仓库,这个包只能按社区插件从 GitHub 安装。
核心功能¶
- 导出:把当前 profile 已选插件和配置打成一个 JSON 快照。
- 恢复:选择一份快照执行「恢复」,按合并方式写入当前 profile,而不是整目录覆盖。
- GitHub 私有同步:填写
owner/name后,可以保存私有仓库、推送当前快照,或合并仓库里的快照。 - 拒绝密钥:快照里如果含有密钥值会被拒绝;
apiKeyEnv这类环境变量名会保留,因为它们本身不是密钥。 - 目标机数据受保护:会话、凭据,以及目标机器上多出来的设置都会保留。
除了界面操作,插件还暴露 profile_sync 工具,提供同样的导出、恢复和 GitHub 操作。
安装与启用¶
从 GitHub 安装,命令如下:
dsh plugin install git+https://github.com/lukebest/dsh-plugin-profile-sync.git
也可以在插件页使用同一个 Git 地址安装。如果要在「发现」中浏览它,添加下面的索引地址:
https://raw.githubusercontent.com/lukebest/dsh-plugin-profile-sync/main/index.json
从 Plugins 界面启用后,入口在「设置 → 插件 → 同步」。插件的客户端配置声明为 web 平台,安装后按平台是否满足来决定能否直接看到界面。
典型用法¶
本机导出,另一台机器恢复¶
1、在导出的机器上打开「设置 → 插件 → 同步」,执行「导出快照」,下载 JSON 文件。
2、把这份 JSON 拷到目标机器,在同一位置选它,执行「恢复」。
3、恢复是合并方式:目标机器原有的会话、凭据和额外设置不会被覆盖;当前 profile 已选插件和配置则对齐到快照内容。
通过私有 GitHub 仓库同步¶
1、先确认本机已安装并登录 gh:
gh auth login
gh 未安装或未登录时,GitHub 同步那部分功能不可用。
2、在「设置 → 插件 → 同步」里填写 owner/name。仓库不存在时会创建为私有仓库;填一个公开仓库会被拒绝。
3、之后可以推送当前快照,或合并仓库中已保存的快照。快照保存在仓库的 profiles/<profile>.json。
用工具直接调用¶
不想走界面时,同一个插件提供的 profile_sync 工具也包含导出、恢复和 GitHub 操作。
适用场景与注意¶
适合这类人:在多台机器上使用同一套 DSH profile,希望插件和配置保持一致,但又不想把会话和凭据复制过去。
使用时要注意几点:
-
插件以当前 dsh 进程的权限运行,能读到该 profile 的配置和已装插件信息。安装前应先读一遍源码,确认 bundle 用到的
cordis.patch.yml和客户端注入项@deepseek-ai/dsh-client-ui-settings、@deepseek-ai/dsh-client-ui-settings-plugins、@deepseek-ai/dsh-client-locale与预期一致。 -
许可证为 MIT,package.json 里
version是 1.0.0,name是@local/profile-sync,安装命令与仓库地址都来自其 README,不要凭名字拼dsh plugin add github:owner/repo。 -
密钥保护只在快照层面:环境变量名会保留,值不会。如果项目里有把密钥值写进配置的习惯,导出前需要自行检查。
-
上面提到的 GitHub 仓库属于作者个人,本插件与 DeepSeek / 幻方无官方从属关系,相关目录站也是第三方社区站点,不是官方应用商店。
短结尾¶
这个插件做的事情很窄:导出当前 profile 的已选插件与配置,合并恢复到另一台机器,需要时再走私有 GitHub 仓库同步。合并语义让它比整目录复制更适合跨机器维护同一套配置。
目录页在 https://www.skillhub.cn/plugins/lukebest/dsh-plugin-profile-sync,源码与 README 在 https://github.com/lukebest/dsh-plugin-profile-sync。