@dshp-inx/custom-ui —— DSH 定制 UI 套件

DeepSeek Harness(DSH)的设计理念是“一切皆插件”。在默认的界面基础上,开发者往往需要更贴合个人或品牌风格的视觉体验。@dshp-inx/custom-ui 是一个专为 DSH 定制的 UI 套件,旨在通过主题画廊和外观配置工具,解决界面风格单一和偏好持久化缺失的问题。

核心功能

该插件提供了外观定制的一整套能力,主要包括:

  • 主题画廊:内置 23 套主题,包含 14 套品牌适配(如 Linear、GitHub、Notion 等)和 9 套原创主题。
  • 一键切换:在设置页的“外观定制”模块中,直接点击色卡即可切换主题。
  • 偏好持久化:补全了官方 ui-theme.preference 仅支持 light/dark/system 的缺陷,支持自定义主题 ID 的保存与读取,重启后自动恢复。
  • 全局圆角配置:支持 -1(跟随主题)、0(全锐角)、12(统一圆润)三档配置,保存即生效。
  • 壁纸取色:基于 Material You 算法,上传壁纸后提取调色板,生成包含 MD3 导出的 Token,支持一键启用。
  • 全量 Token 映射:每套主题包含约 110 个 --dsw-* 令牌,覆盖背景、边框、按钮、交互态、文字、阴影等所有 UI 层面。

安装与启用

插件挂载在 DSH 的 Web Profile 层。执行以下命令完成安装:

cd ~/.dsh/profiles/web
pnpm add --offline "@dshp-inx/custom-ui@link:../../plugins/dsh-custom-ui"
rm -rf node_modules/@dshp-inx/custom-ui
ln -s "$HOME/.dsh/plugins/dsh-custom-ui" node_modules/@dshp-inx/custom-ui

安装完成后,重启 DSH Web 即可生效。

典型用法

  1. 切换主题:进入“设置” -> “外观定制” -> “主题画廊”。点击色卡即可切换,当前使用的主题会有实时徽标跟随。
  2. 配置圆角:在“外观定制”中找到“全局圆角”配置项,选择 -1、0 或 12,点击保存。
  3. 壁纸取色:在“外观定制”中找到“壁纸取色”区域,上传本地壁纸。插件会生成 5 组调色板(亮/暗模式),支持一键启用或复制 MD3 Token。

注意事项

  • 数据源结构:主题数据源为 lib/themes/,Host 端只下发 Token,Client 端只存储元数据(id、label、swatch 等)。新增主题需在目录添加文件、更新聚合索引,并运行校验脚本。
  • 版本冲突:如果系统中同时存在动态插件版(会话内 cordis_define)和静态挂载版,会导致 WEB_DUPLICATE_PROVIDER 错误。静态挂载前应先 cordis_undefine 动态版。
  • 限制说明:官方主题服务的设置 Schema 仅支持 light/dark/system,本插件通过扩展 Settings 命名空间实现了自定义主题的持久化。

插件地址:https://github.com/Yinxe/dsh-custom-ui

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

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

小夜