# 今汐·洄天溯海 [English](README.md) | **简体中文** 面向 **DeepSeek Harness** Web GUI 的《鸣潮》**今汐**主题:银白、墨黑、金线、薄荷青, 边框走潮汐回纹与龙鳞纹,侧栏品牌与每条助手消息换成今汐头像,对话界面仿游戏里的**飞讯**。 背景是随主题分发的**动态壁纸「今汐——安静」**——1920×1080 循环动画, 亮暗两套共用同一张底图,只用遮罩与滤镜分别适配。 这是一个**皮肤插件**:装上它,皮肤就进了 `$DSH_HOME/skins/jinhsi-spectro/`。

浅色主题 深色主题

**要求** — DSH ≥ `0.1.5-rc.1` · Node.js ≥ 22 · 一个渲染器(**皮肤中心**,可选但基本必备) · Chromium 内核浏览器(DSH Web GUI 本身只跑 Chromium)。 --- ## 安装 ```powershell dsh plugin --profile web add github:Mauit06/dsh-jinhsi-skin ``` 新增插件包需要**重启一次 DSH**。 ### 可选:皮肤中心(渲染器 + 壁纸) 皮肤是纯声明式资产目录,需要有**渲染器**才会显示。本插件把皮肤中心 `@linxin666/dsh-client-ui-skin-center` 声明为 **optional peer dependency**——装不装由你决定: ```powershell # DSH >= 0.1.7-rc.1 —— 装最新版皮肤中心 dsh plugin --profile web add @linxin666/dsh-client-ui-skin-center # DSH 0.1.5-rc.x —— 锁 0.3.24(0.3.25 起要求 DSH >= 0.1.7-rc.1) dsh plugin --profile web add @linxin666/dsh-client-ui-skin-center@0.3.24 ``` - **装上它**:多出「设置 → 皮肤中心」,可以试穿 / 应用皮肤、拖背景遮蔽滑杆, 并**使用壁纸**——Wallpaper Engine 桥(视频 / web / 场景壁纸三种都能渲染, 也可以钉一张静态帧),或把任意 `.mp4` / `.webm`、单个壁纸项目文件夹、 项目合集加进「手动文件夹」当成壁纸库。 - **不装它**:皮肤照常同步到皮肤目录,静置等待渲染器;profile 里若已经有 别的皮肤中心,也就不必再装。 ### 卸载 ```powershell dsh plugin --profile web remove dsh-jinhsi-skin ``` ## 兼容性 | 宿主 DSH | 皮肤中心 | 皮肤契约 | 状态 | | --- | --- | --- | --- | | ≥ 0.1.5-rc.1 | 0.3.23 / 0.3.24 | v2 | 支持(本仓库验证:0.1.5-rc.2 + 0.3.24) | | ≥ 0.1.7-rc.1 | 0.3.25 … 0.4.x | v2 | 支持(本仓库验证:**0.1.7-rc.2 + 0.4.2**) | | 0.1.5-rc.x | ≥ 0.3.25 | v2 | **不要这样装**:皮肤中心要求 DSH ≥ 0.1.7-rc.1 | - 皮肤中心 **0.3.25** 起要求宿主 `>= 0.1.7-rc.1`,**0.4.0** 又抬了一个大版本。 所以 DSH `0.1.5-rc.x` 上请锁 `@0.3.24`——它是最后一版声明 `>= 0.1.5-rc.1` 的。 - loader 只把 `dsh.engines` 当提示、**不做硬校验**:新版皮肤中心装到老宿主上 不会启动即报错,只会在运行时表现异常。版本要自己钉,别指望 fail-loud。 - 本插件的 peer 范围是 `^0.3.23 || ^0.4.0`,新旧两个大版本都覆盖;皮肤中心再抬一个 大版本(`0.5`)时需要跟着放宽。 > 一个 profile 里只应有一个皮肤中心实例。别处已经挂了皮肤中心(例如 > `@linxin666/dsh-web-all` 里的 `web-ui-skin-center`)时,把其中一份关掉:两份同时活着 > 会重复注册 `/api/skin-center/*` 路由、并重复挂载皮肤控制器。 完整的版本矩阵与逐项验证记录见 [docs/COMPATIBILITY.md](docs/COMPATIBILITY.md)。 ## 有什么 - 浅色 / 深色双主题,配色从角色立绘**取样**而来;背景是内置的动态壁纸(亮暗共用一张底图) - 六个固定装饰层,皮肤本体**全部用 CSS 填充**,没有一行自己的客户端 JavaScript - 侧栏品牌与每条助手消息都带今汐头像;新对话页抬头变成「桃夭灼灼牵丝动 漂泊者」 - 飞讯式对话:助手侧「来信」卡片,用户侧青玉气泡带尖角 - 状态投影也是纯 CSS(`:has()` 读官方壳层已有属性):流式中顶线走金、工具调用转薄荷青、出错转朱砂 ## 壁纸与背景 皮肤中心的卡片里就是全部开关: - **背景遮蔽滑杆(0–100%)**——本皮肤所有半透底色都乘 `var(--dsw-skin-scrim)`, 所以这个滑杆是真旋钮:拉到 0 时底图最清晰,正文靠「笺纸」卡片托住;拉满则接近实底。 - **背景模糊 / 输入卡模糊 / 气泡不透明度**——分别作用于空对话、有内容、输入卡与消息气泡。 - **壁纸面板**——把本机 Wallpaper Engine 库(Steam 应用 431960)当 GUI 背景用。 皮肤对壁纸是**主动让位**的,而且**壁纸永远优先于内置底图**:壁纸挂载时 (`body[data-dsh-wallpaper-active]`)背景层由「底」改「纱」、环境层收起衍射光晕、 前景层加强暗角、消息行补一层「笺纸」,金线 / 龙鳞纹 / 四角回纹 / 令尹印照旧—— 壁纸之下,这些才是皮肤还在场的证据。想回到内置的动态壁纸,在壁纸面板点「移除」。 ## 美术与授权 **头像**(`skin/assets/jinhsi-head.webp`)版权归**库洛游戏**所有,仓库里**没有**: `skin/assets/*.webp` 与 `*.jpg` 已被 git 忽略,由插件在安装时于**你的机器上**从库洛 官方站点 / 资源 CDN 取回(来源、角色说明与 sha256 锚点见 [`tools/asset-sources.json`](tools/asset-sources.json))。 **背景动态壁纸**(`skin/assets/jinhsi-quiet.mp4`,1920×1080 / 8 秒 / H.264)是个例外: 它**随包分发**。壁纸只有本机导出件、没有可下载的官方地址,不带它别的机器装上皮肤 就没有底图。它取自 Wallpaper Engine 创意工坊 item `3606711102`「今汐——安静」—— 画面是《鸣潮》官方今汐美术(© 库洛游戏),场景工程归壁纸原作者。出处与完整权利声明见 [NOTICE](NOTICE)。 仓库里提交的 `skin/preview/*.jpg` 就是用这张真实底图渲染的实际效果; 需要「不含版权素材」的版本时跑 `node tools/make-preview.mjs --placeholder` 覆盖生成。 ## 自检 ```powershell node tools/verify-standalone.mjs # 插件契约(离线,不联网) node tools/validate-skin.mjs # 皮肤本体(官方 JSON Schema + lightningcss + 对比度) ``` `verify-standalone` 检查:patch 只挂皮肤同步、**不引用可选依赖**(包没装时那一行会 解析不到,dsh 启动是 fail-loud 的);皮肤中心确实声明为 optional peer;`skin.json` 引用的文件齐全;同步幂等、不会抹掉本机已取回的官方美术、sha256 对不上时会重新获取 (取不到也只告警,不会把已有文件删空)。全程在临时 `DSH_SKINS_HOME` 里跑,不联网。 ## 仓库结构 ``` jinhsi-spectro/ ├─ skin/ ★ 皮肤本体(v2 契约的纯资产目录) │ ├─ skin.json 清单(fail-closed 校验) │ ├─ skin.css L1 token 重映射 + L2 语义层 │ ├─ patches.css L3 装饰层 · 状态投影 · 壁纸适配 · 身份层 │ ├─ assets/ 内置动态壁纸 + 自绘纹样(头像于安装时取回) │ └─ preview/ light.jpg / dark.jpg ├─ lib/index.js 插件 host 半区:把 skin/ 同步进 $DSH_HOME/skins/ ├─ cordis.patch.yml 只挂这一行(不引用可选依赖) ├─ corpus/ 今汐语料(9 份 Markdown + 原始 JSON) ├─ tools/ 取回 / 校验 / 预览 / 发布脚本 ├─ docs/ 兼容矩阵 + 实现说明 ├─ NOTICE · LICENSE 权利声明与许可 └─ package.json ``` ## 说明 - 建立在皮肤中心的 **v2 皮肤契约**之上;锚点用官方 `data-slot` 出口与 `data-dsh-surface` / `data-dsh-part` 语义属性,不依赖 CSS-Modules 哈希类名。 - 契约合规情况与唯一一处如实披露的偏差见 [docs/IMPLEMENTATION.zh-CN.md](docs/IMPLEMENTATION.zh-CN.md)(中文)。 **常见问题** - *背景不是我想要的那张* —— 壁纸(Wallpaper Engine / 手动媒体)**永远优先**; 在壁纸面板点「移除」就回到内置的动态壁纸。 - *缩略图还是旧的* —— 插件有意保留本机已生成的预览,升级不会覆盖。删掉 `$DSH_HOME/skins/jinhsi-spectro/preview/` 再重启一次 DSH,就会换回包内的新预览。 - *列表里找不到皮肤* —— 需要渲染器(皮肤中心);装完记得重启 DSH。 ## 致谢 - **库洛游戏(Kuro Games)**——《鸣潮》与今汐,以及本主题使用的官方插画与头像 (取自 [《鸣潮》官方网站](https://wutheringwaves.kurogames.com/zh-tw/main/news) 与游戏内官方资源;头像仅在本机取回,动态壁纸的画面版权亦归库洛, 随主题分发的说明见 [NOTICE](NOTICE))。 - **[@linxin666/dsh-client-ui-skin-center](https://github.com/zhu1090093659/dsh-web)** (作者 zhu1090093659 / linxin666,Apache-2.0)——皮肤中心:v2 皮肤契约、六个装饰层、 语义属性盖章、遮蔽与模糊滑杆,以及 Wallpaper Engine 桥与壁纸面板。没有它, 纯声明式的第三方皮肤与壁纸都无从谈起。 - **DeepSeek Harness**——本主题所面向的宿主。 - **wuther.in**——语料来源,也是角色头像的来源站点。 - **dsh-deep-whale / maid-atelier**(作者 Small-tailqwq)——皮肤目录布局与 打包成 dsh bundle 的参照。 - **[Mornye Observation Skin](https://github.com/is-limo/Mornye-Observation-Skin)** (作者 is-limo)——「分层观测工作台」的设计思路来源;该仓库为 UNLICENSED, 本主题未复制其任何代码或资源,状态投影改用纯 CSS 的 `:has()` 独立实现。 - **蓝色幻想(blue-fantasy)**——皮肤中心的内置皮肤,是本主题 `--dsw-skin-scrim` 联动与装饰层用法的参照。 - **Wallpaper Engine** 及其创意工坊内容归其作者与各壁纸原作者所有。本主题内置的 动态壁纸「今汐——安静」是创意工坊 item 3606711102 的导出件,版权归其原作者与 库洛游戏,仅作本主题的背景随主题分发;此外还有一段让位与可读性适配的 CSS。 非官方粉丝作品,与上述各方均无隶属或背书关系。 代码、样式表、脚本、文档与自绘矢量纹样采用 [MIT](LICENSE) 许可; 官方美术不在该许可覆盖范围内。