全部插件

DSH / BUNDLE / CLIENT-UI

dsh-yexueqing-skin

v1.0.0Bancott / dsh-yexueqing-skind1241c2388

可安装组合包UI 与客户端插件社区 · Topic 自动分析Web UI

概览

dsh-yexueqing-skin

逆水寒·叶雪青主题 DSH 皮肤:双皮肤变体(春庭藤影/雪霁寒江)、霞鹜文楷GB 字体与国风装饰层

README / ZH

插件文档

目录摘要

逆水寒·叶雪青主题 DSH 皮肤:双皮肤变体(春庭藤影/雪霁寒江)、霞鹜文楷GB 字体与国风装饰层

dsh.pub 核对固定版本的组合包契约、运行时事实与分发语义;完整 README 请查看源仓库。

在 GitHub 阅读完整 README

LIMITATIONS

已知限制

- **`bg-base` 透明会让工具卡之类的小容器也变透**。这是「画面能被看见」的必要 代价:那些容器与全屏框架共用同一个 token,无法按尺寸区分。承载正文的卡片、 气泡、弹窗用的是另外几个 token,仍然不透明,所以正文区始终有干净的底。 若某类卡片观感不佳,调晕影强度(档位)而不是改回不透明。 - **画面靠 `z-index` 负值的伪元素**,因此依赖「应用根容器不建立会截断负层级的 堆叠上下文」这一前提。当前 ui-layout 的 `.frame` 只有 `position:relative` 而没有 `z-index`,成立;若将来 DSH 给根容器加了 `z-index` 或 `isolation:isolate`, 画面会被压到看不见(表现为「皮肤只剩配色」)。 - **一个 token 的覆盖面可能远超预期。** `--dsw-alias-state-business-primary` 是 DSH 的「业务 / 强调」色(默认是品牌蓝),全 UI **约 140 处**在用:激活标签页、 chip、链接、输入光标、焦点环……改皮肤配色时要意识到这一点。 - **色阶必须保持单调**:`label-primary > dimmed > secondary > tertiary > caption`。 提亮某一档后若不同时调整相邻档,就会出现「hover 反而变暗」这类倒挂 —— 实测踩过:把 tertiary 提到比 DSH 默认的 secondary 还亮。测试里有断言守着。 - **正文可读性靠「背板被模糊」而不是靠高不透明度**:玻璃块背后的画面被模糊成 低频色块,所以填色可以压到 0.46~0.58。若关掉模糊,那些透明度需要同步提高。 - **磨砂玻璃依赖两组稳定钩子**:`[data-composer-card]`、`[data-plan-card]`、 `[data-single]` 是 DSH 自己的 data 属性;`pre` 是语义标签;`code` 也是标签。 只有「新对话」按钮没有 data 钩子,用 `button[class*="_newSession"]` 后缀匹配 —— DSH 改本地类名则这一条失效(只影响观感,不会坏界面)。 - 字体已子集化到 3.62 MB(`npm run subset-font` 可重新生成),并经 brotli 压缩到约 1.89 MB 传输。若日后要做 WOFF2,`@font-face` 的 `src` 已按 `woff2 → ttf` 顺序声明,把 `.subset.woff2` 放进 `assets/` 即可自动优先。 - 互斥的第二级会**改写用户的插件开关状态**(虽然可逆)。若不希望任何自动改动, 关掉「独占皮肤」开关即可,此时仍保留第一级的 token 栈顶互斥。 - **不注册新的主题 id**:`theme.register` 是让用户在内置 Appearance 选择器里 多一个条目;本皮肤要的是「一个开关控制整套外观 + 互斥」,因此用 `overrideTokens` 覆盖层,与实际交互一致。 - **不注册面向模型的工具**:皮肤开关是纯用户偏好,授权类动作保持 user-only。 持久化走 `localStorage`(静态 bundle 的 Client 半没有 `host` builtin)。