dsh-profile-share:用一条分享码同步 DSH 插件配置

前言

在 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 工具收尾凭据。

社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系;DSH 生态遵循「一切皆插件」,本文事实均来自上述仓库 README 与 package 元数据。

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

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

小夜