遐蝶(Castorice)主题 · DSH 插件
English | 中文
把 DeepSeek Harness 的 Web 界面切换为《崩坏:星穹铁道》角色 遐蝶(Castorice) 风格的紫罗兰暗色主题——深邃的暮色紫底、淡紫丁香点缀,呼应「死亡与新生」的静谧美学。
遐蝶是《崩坏:星穹铁道》中「黄金裔」的一员,司掌「死亡」。主题以她标志性的紫罗兰、淡紫长发与金色蝴蝶意象为基调,营造优雅、静谧、略带哀婉的暮色氛围。
视觉特性
除了全局配色,主题还叠加了一层浮动装饰,营造层次感:
- 🖼️ 立绘糊底:右侧叠放一张遐蝶立绘,重度模糊 + 遮罩向左淡出,营造氛围而不遮挡正文
- 🦋 浮光蝴蝶:多只淡紫发光的蝴蝶 SVG,在界面边缘缓慢漂移、振翅
- ✨ 光尘粒子:自下而上缓缓升腾的发光微粒
- 🌌 辉光星云:角落的模糊径向光晕,缓慢「呼吸」
- 🎨 细节打磨:淡紫发光的文本选区、薰衣草色滚动条、焦点描边光晕
- ♿ 遵循
prefers-reduced-motion:系统开启「减少动态效果」时自动停用动画
图片来源
立绘糊底图来自 skowt.cc 的免费《崩坏:星穹铁道》立绘素材库,在运行时通过网络加载。如希望离线使用或替换为自有素材,修改 lib/client.js 顶部的 IMAGE_URL 常量即可(可换成本地图片的相对路径或你自己的图床 URL)。
效果预览
| Token | 作用 | 颜色 |
|---|
--dsw-alias-bg-base | 应用基础背景 | #151022 |
--dsw-alias-bg-layer-1 | 主浮起表面背景 | #1f1733 |
--dsw-alias-bg-layer-2 | 二级嵌套表面背景 | #2a1f42 |
--dsw-alias-bg-overlay | 浮层 / 弹窗背景 | #32254f |
--dsw-alias-border-l1 | 一级边框 | #3b2d5e |
--dsw-alias-border-l2 | 二级边框 | #6f5aa6 |
--dsw-alias-brand-primary | 品牌主色(按钮 / 链接 / 强调) | #b79bff |
--dsw-alias-label-primary | 主文本 | #ece5f7 |
--dsw-alias-label-secondary | 次文本 | #b6a9d6 |
--dsw-alias-state-error-primary | 错误状态 | #f095bb |
--dsw-alias-state-success-primary | 成功状态 | #9cd8b0 |
--dsw-alias-state-warn-primary | 警告状态(金色蝴蝶意象) | #e8c887 |
--dsw-specific-sidebar-fill | 侧栏背景 | #120e1e |
一键安装
本插件是一个标准的 DSH 插件组合包(bundle)。安装后 dsh 会自动把它的 cordis.patch.yml 并入 profile,无需手工编辑任何配置文件。
方式 A:从 GitHub 安装(推荐)
dsh plugin --profile web add github:chemicalcat250/dsh-theme-castorice
# 启动 Web 界面,主题自动生效
dsh web
安装完成后,每次启动 dsh web 都会自动应用遐蝶主题。
方式 B:从本地目录安装
# 进入本仓库目录后执行(. 表示当前 checkout)
dsh plugin --profile web add .
dsh web
方式 C:从 npm 安装(如果你已发布)
dsh plugin --profile web add dsh-theme-castorice
dsh web
切换 / 关闭主题
主题在每次启动时自动应用。要切回默认外观:
- 打开界面右上角 设置 → 外观(Appearance),选择
Light / Dark / System;或
- 卸载插件:
dsh plugin --profile web remove dsh-theme-castorice
说明:castorice 主题的激活只写入内存偏好,不会污染持久化的 light/dark/system 设置,因此卸载后不会残留任何状态,也不会影响其他主题。
工作原理
- 这是一个 客户端插件(
dsh.client,platform: web)。
package.json 中的 dsh.bundle.patch 指向 cordis.patch.yml,dsh plugin 安装时自动把它并入 dsh.profile.bundles。
cordis.patch.yml 插入一行 theme-castorice 行;宿主端的 client-modules 扫描到 dsh.client 声明后,把 lib/client.js 作为浏览器端 bundle 提供。
- 浏览器端
apply(ctx) 通过 theme 服务注册主题 castorice 并调用 setTheme('castorice') 激活。
目录结构
dsh-theme-castorice/
├── package.json # 插件包清单(dsh.client + dsh.bundle 声明)
├── cordis.patch.yml # 组合补丁:插入 theme-castorice 行
├── lib/
│ ├── index.js # 宿主端(node)半部:空 apply
│ └── client.js # 浏览器端半部:注册并激活主题
├── README.md # 中文说明
├── README.en.md # 英文说明
└── LICENSE # MIT
自定义配色
编辑 lib/client.js 顶部的 TOKENS 对象即可替换任意颜色,无需构建步骤(纯 JavaScript)。改完提交即可通过上述命令重新安装生效。
许可
MIT