前言¶
在 DSH 里换肤、改开屏动画,常见做法是依赖 dsh-rhine-splash 这类第三方皮肤插件。它会把一批设置控件注册到 Cordis 的 plugins.row.config。从 DSH 0.2.1-rc.2 起,插件页已不再提供该 slot,原先挂在插件行里的设置卡片不会出现,用户无法在界面里逐项开关 Rhine 相关选项。
dsh-rhine-switch 由社区维护者 abluefan 发布,分类属于趣味换装。它不替代 dsh-rhine-splash,而是把同一套控件迁到设置侧栏(settings.section),补上上述缺口。下面介绍它的定位、能力与安装方式。
这是什么¶
一句话:dsh-rhine-switch 给 dsh-rhine-splash 提供折叠式皮肤开关面板。
维护者:abluefan。仓库:github.com/abluefan/dsh-rhine-switch。社区目录页:skillhub.cn 插件条目(与 DeepSeek / 幻方无官方从属关系,属独立社区目录)。
核心功能¶
设置入口¶
lib/client.js 注册 settings.section,通过 ctx.configForms.get('rhine-splash') 读写 Rhine 配置;Host 侧 index.js 为 Loader 提供入口以挂载 client 半边。
可控制项¶
面板以折叠形式呈现,可对以下类项逐项开关(具体字段以 dsh-rhine-splash 暴露的表单为准):
- 开屏动画
- 界面主题
- 品牌、Logo
- 推理滑桿
- 计费、时长
- 退场动画等
写入 rhine-splash 的 profile 配置;资料说明这些字段为 volatile,修改后立即生效,无需重启 DSH。
依赖与环境¶
- 必须先安装
dsh-rhine-splash(第三方皮肤插件)。 - DSH 版本要求:≥ 0.2.1(
package.json中engines.dsh为>=0.2.1-rc.2)。
安装与启用¶
任选一种方式,不要两种同时用(否则同一插件 id 可能被插入两次,DSH 启动失败)。
通过插件市场(推荐)¶
在 awesome-dsh-plugin 目录中找到本插件,或在 DSH 客户端 插件 → 发现 里搜索 dsh-rhine-switch 并安装。
手动安装 A:复制目录 + cordis.patch¶
适合本地开发。把插件目录复制到:
$DSH_HOME/profiles/web/node_modules/dsh-rhine-switch/
在 $DSH_HOME/profiles/web/cordis.patch.yml 增加:
- insert:
- id: rhine-switch
name: 'dsh-rhine-switch'
完成后重启 DSH,或让 Loader 重载配置。
手动安装 B:dsh plugin add(需 npm 已发布)¶
dsh plugin --profile web add dsh-rhine-switch
使用 B 后,包名会进入 dsh.profile.bundles,bundles 层会读取包内自带的 cordis.patch.yml。不要再做 A 的第 2 步(手写 insert),避免重复注册。
典型用法¶
- 确认已安装
dsh-rhine-splash与本插件,且 DSH 版本满足要求。 - 打开 DSH 设置,在侧栏找到 Rhine 相关折叠面板(由
settings.section注册)。 - 按需开关开屏、主题、品牌、Logo、推理滑桿、计费、时长、退场动画等项;保存后配置写入 rhine profile,volatile 字段应即时反映到界面。
无额外独立 CLI;交互均在 Web 设置 UI 中完成。
适用场景与注意¶
适合谁:已在用 dsh-rhine-splash、且因 DSH 0.2.1-rc.2 起插件页缺少 plugins.row.config 而无法看到原设置卡片的用户;希望在设置侧栏集中管理 Rhine 皮肤项的开发者或自用部署者。
权限与安全:插件以当前 DSH 进程权限运行。安装前建议阅读仓库源码与 MIT 许可证,自行评估是否纳入环境。
安装注意:A 与 B 二选一;若已用 dsh plugin add,勿再手写相同 id 的 insert。
结尾¶
dsh-rhine-switch 解决的是「Rhine 皮肤控件无处挂载」的问题:把折叠开关面板放进设置侧栏,与 dsh-rhine-splash 的 profile 配置联动,改动即时生效。