前言¶
在 DSH 里,插件状态往往分散在 profile 的文件中:profiles/<profile>/package.json 的 dependencies 与 dsh.profile.bundles,以及 cordis.patch.yml。如果要把一套已安装插件搬到另一个环境,手动复制这些文件容易漏项。
dsh-plugin-sync 做的事情比较直接:把当前 profile 的插件清单同步到 GitHub Gist,再在目标环境导入并执行 pnpm install。
这是什么¶
dsh-plugin-sync 是一个 DSH 插件,由 AngLi1997 维护,许可证为 MIT。它把当前 profile 的插件清单整理为 dsh-plugins.json,通过 GitHub Gist 做导出和导入。
安装后,可以在 dsh-market 中查看。
核心功能¶
GitHub 登录¶
使用 GitHub OAuth 设备流快捷登录,无需手动粘贴 token。
GitHub 授权仅需 gist 权限。
导出¶
将 profiles/<profile>/package.json 的 dependencies、dsh.profile.bundles 和 cordis.patch.yml 打包为 dsh-plugins.json,上传到 Gist。
导入¶
从 Gist 读取插件清单,写回 package.json / cordis.patch.yml,并自动执行 pnpm install。
导入完成后,会提示重启 Harness 生效。
Gist 创建¶
未指定 Gist 地址时,会创建名为 dsh_plugin_sync_XXXX 的私有 Gist。
安装与启用¶
使用 DSH 插件命令安装:
dsh plugin --profile web add dsh-plugin-sync
安装后,可以在 dsh-market 中查看。
也可以手动编辑 profile 的 package.json,把 dsh-plugin-sync 加入 dependencies 与 dsh.profile.bundles,然后执行:
pnpm install
执行后重启 Harness。
典型用法¶
1、打开设置 →「插件同步」
2、点「登录 GitHub」,按提示跳转 GitHub 授权,仅需 gist 权限
3、点「导出到 Gist」上传插件清单;如果未填 Gist 地址,会创建 dsh_plugin_sync_XXXX 私有 Gist
4、点「从 Gist 导入」,填写 Gist 地址后自动安装,并提示重启 Harness
适用场景与注意¶
- 适合需要在不同机器或不同开发环境之间同步 DSH 插件清单的场景。
- 该插件以当前
dsh进程权限运行;安装前应检查源码、许可证与依赖。该插件许可证为 MIT。 - 导入流程会自动执行
pnpm install,执行前建议确认 Gist 内容可信。 - 依赖处理上,
@deepseek-ai/*与react保持外部依赖,zod打包进产物;package.json中peerDependencies的@deepseek-ai/*与react均标记为 optional。
结尾¶
dsh-plugin-sync 的价值在于把 profile 插件清单的同步变成一个可重复的导出/导入流程,而不是手动复制 JSON 和 patch 文件。
安装后可在 DSH 社区目录 / dsh-market 中查看;GitHub 仓库地址:dsh-plugin-sync。