DeepSeek Harness 皮肤切换器 (dsh-skin-switcher)

DSH 采用插件化架构。开发者常需要切换 Web UI 风格以适配不同场景。手动修改配置或源码效率较低。dsh-skin-switcher 旨在解决这一痛点,提供一个无侵入的切换方案。

插件简介

这是一个不修改 DSH 核心源码的纯 Cordis 插件。它通过右上角悬浮按钮实现一键切换,并支持自动发现社区皮肤。安装后,普通 dsh web 命令会自动加载该插件。

安装与启用

使用官方 CLI 进行安装:

dsh plugin --profile web add dsh-skin-switcher
dsh web

安装完成后刷新页面即可使用。

核心功能

该插件提供以下能力:

  1. 无侵入架构:不修改 DSH 核心源码,完全基于 Cordis 插件机制运行。
  2. 快捷切换:右上角悬浮按钮,点击即可秒切皮肤。
  3. 状态记忆:选择“记住”后,下次打开界面仍保持上次选中的皮肤。
  4. 自动发现:自动扫描并识别社区发布的 style/link 注入型皮肤,新皮肤装上后会自动冒出切换按钮。
  5. 彻底还原:切走皮肤时,会清理样式表、body 属性以及 theme token 覆盖,确保界面恢复干净。

典型用法

刷新页面后,DSH 右上角会出现胶囊按钮组:

  • 默认:恢复 DSH 原生界面。
  • 鲸鱼娘:深海女仆工坊(maid-atelier)皮肤。
  • 终末地:工业风工作台(endfield-ui)皮肤。
  • Aqua:玻璃拟态毛玻璃主题(需先安装该皮肤包)。
  • 其他自动发现的皮肤:点击即可单独启用,其余皮肤自动关闭。

如需卸载,执行:

dsh plugin --profile web remove dsh-skin-switcher

自动发现机制

插件会监听 DOM 变化,扫描 <head> 中带 data-plugin 标记的 <style> 或 <link> 元素:

  • 跳过规则:跳过 @deepseek-ai/ 官方前缀的包;跳过已内置适配的皮肤。
  • 识别规则:名称包含 skin、theme、maid、whale、aqua 等关键词的元素会被收编为切换按钮。

限制:对于依赖 theme token 覆盖、overlay 插槽或素材路由等复杂机制的皮肤(如终末地),自动发现机制存在限制,需要为它编写专属适配逻辑。

内置适配逻辑

以下皮肤拥有深度适配逻辑,切换时能实现完整的清理与还原:

  • @dsh-external/dsh-client-ui-skin-maid-atelier(鲸鱼娘/深海女仆工坊):通过 body 属性 data-dsh-maid-atelier 开关控制。
  • @rison/dsh-endfield-ui(终末地工作台):管理样式表 link 开关及 71 个 theme token 的覆盖/清理。
  • @deepseek-ai/dsh-client-ui-aqua(Aqua 毛玻璃):由于该包在官方 scope 下且自动发现会跳过,故通过内置适配实现。

适用场景与注意

  • 适用人群:需要频繁在多种 UI 风格间切换的开发者或用户。
  • 注意:复杂皮肤(如终末地)需要内置适配逻辑以实现深度清理。若遇到自动发现失效,需检查是否为复杂皮肤或是否已内置适配。安装前请检查源码与许可证。

该插件维护者:tsdfy。

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

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

小夜