前言¶
在 DSH 里搭好一套插件组合——启用哪些 bundle、各行的 profile 覆盖写的是什么——换一台机器或交给同事时,常见做法是口头对照安装,或各自导出 profile 文件再手工合并。密钥不能随配置一起走,接收方还要逐插件找 API Key、环境变量和登录入口。
dsh-profile-share 把选中的插件及其显式配置打包成一行可粘贴的 DSH-SHARE/1: 分享码;另一台 DSH 预览差异后应用增量,并在「首次配置」页列出本机仍须自行填写的凭据。下面介绍它的定位、安装与典型用法。
这是什么¶
维护者为 sldmn233,仓库 sldmn233/dsh-profile-share,在社区目录中归类为工作流。当前 package 版本为 0.1.0,许可证 MIT。
插件一句话:把所选 DSH 插件的启用状态与显式 profile 配置导出为一条分享码,在另一台机器上应用变更,并报告哪些凭据仍需在本机配置。凭据默认不出现在码里。
与同类的 wbb316/dsh-profile-sync 不同:后者在同一台机器的两个 profile 之间搬插件集合且 deliberately 不安装任何东西;本插件面向机器到机器、人到人的传递,接收端会自行安装并启用增量。
核心功能¶
导出¶
在设置页勾选要携带的插件(支持全选、全不选、反选),生成一行 DSH-SHARE/1: 文本。默认会剥离疑似密钥字段(如 apiKey、token、secret 等),并列出被剥离的配置路径。若需携带这些字段,须显式开启「包含可能的密钥字段」。
应用¶
粘贴分享码后可预览精确 diff:安装项、启用/禁用开关、配置写入。默认只做新增与更新;除非开启完整对齐,否则不会禁用或移除已有项。
首次配置¶
单独一页汇总本 profile 仍缺的 secret、环境变量与登录类要求。页面不提供裸输入框:每项附带提供方应用页链接(按环境变量名、base URL、row id 等匹配 DeepSeek、OpenAI、Anthropic、阿里云百炼等常见提供方)、环境变量的可复制 setx / export 示例,以及插件 config schema 中的字段说明。通过ctx.authorization` 注册的流程可在此页用「直接授权」完成,密钥类问题不会从对话里代填。
Agent 工具¶
| 工具 | 用途 |
|---|---|
profile_share_import |
预览分享码,或 apply: true 时执行应用 |
profile_share_requirements |
列出仍缺的凭据,与设置页一致 |
profile_share_authorize |
列出授权流程、启动、应答非密钥提示或取消 |
分享码格式为 gzip(JSON) 经 base64url 编码,前缀 DSH-SHARE/1:;版本后缀不匹配会直接拒绝,避免半应用状态。
环境与依赖¶
- DSH profile 须挂载
pluginManager与configEditor服务(README 说明 DSH 0.2.x 的 desktop / web profile 满足;缺服务时相关端点返回 503 并带说明)。 - 宿主侧 Node.js:^22.19.0 || >=24.0.0。
- 接收机器也必须先安装本插件;仅凭分享码无法 bootstrap 读码逻辑。
安装与启用¶
安装后需重启 DSH 一次。设置入口:Settings → 分享与同步(section id profile-sync)。
官方安装命令:
dsh plugin add https://github.com/sldmn233/dsh-profile-share
也可在插件管理器中以本地目录安装该 checkout。插件以当前 DSH 进程权限运行;安装前请自行查阅仓库源码与 MIT 许可证,确认符合你的安全策略。
典型用法¶
1、导出分享码¶
打开 Settings → 分享与同步 → 分享,勾选要同步的插件,点击 生成分享码。复制得到的一行文本,通过任意渠道发送。
2、在另一台机器应用¶
打开 同步 标签页,粘贴分享码,点击 预览,确认安装、开关与配置写入计划后点击 应用。
3、补全凭据¶
打开 首次配置,按列表填写本机 secret、环境变量或完成登录;发送方密钥从未写入分享码。
4、接收方尚未安装本插件时¶
分享码无法自行安装读码插件。在 分享 页可使用 复制引导语(含码),内容形如:
帮我安装这个 DSH 插件:https://github.com/sldmn233/dsh-profile-share
装好后用 profile_share_import 导入下面这条分享码,先给我看计划,我确认后再用 apply=true 执行:
DSH-SHARE/1:…
接收方 Agent 确认安装插件后,先 profile_share_import 预览,经同意再 apply=true 执行,并报告与 首次配置 相同的缺项列表。
行为与安全要点¶
- DSH 安装自带的 bundle(
availability: 'installation')不会被安装操作重复安装,但其配置覆盖仍会随码同步。 - 发送方未安装的 bundle 不会出现在码中,统计里会记为
stats.uninstalled。 - Registry、
git+…、file:…安装声明按原样传递,不会猜成name@version。 - 导出默认去掉疑似凭据;码里可带
apiKeyEnv类变量名,不带密钥值。写操作仅同源,经 profile 的configEditor打补丁。
结尾¶
若你需要在多台 DSH 或多人之间复现同一套插件启用与显式配置,同时把密钥留在各机器本地填写,dsh-profile-share 用一行分享码和预览/增量应用完成主路径,再用「首次配置」或 Agent 工具收尾凭据。
- 社区目录:https://www.skillhub.cn/plugins/sldmn233/dsh-profile-share
- GitHub:https://github.com/sldmn233/dsh-profile-share
社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,本文事实均来自上述仓库 README 与 package 元数据。