Repository navigation
Releases
v1.3.1
Changed
- 截图瘦身:
assets/screenshot-light.png(303 KB → 84 KB,-72%)、
assets/screenshot-dark.png(46 KB → 18 KB,-61%)、preview.png(42 KB → 15 KB,-65%)
重编码为 8 位索引色 PNG。尺寸与画面不变:全图最大通道差 15(浅色)/ 42(深色)、
均值 0.131 / 0.026,且差值集中在文字边缘的抗锯齿像素,纯色区与渐变区几乎全为 0,
所以看不出色带。README 与市场详情页读的就是这几张图,卡片加载因此变快。 - 新增
npm run png:optimize(scripts/optimize-png.mjs):换过截图后重跑即可,
已优化的图不会被改小或改坏。sharp只作为 devDependency,不进包。
安装
dsh plugin --profile web add dsh-homepage-glass或从本 Release 的预构建 tarball 安装(免本地构建):
dsh plugin --profile web add "https://github.com/Tim5613/dsh-homepage-glass/releases/download/v1.3.1/dsh-homepage-glass-1.3.1.tgz"完整提交对比:v1.3.0...v1.3.1
v1.3.0
Changed
- 项目改名为 dsh-homepage-glass(原 dsh-homepage-palette-skin)。GitHub 旧地址自动重定向;
设置名字空间随条目 id 一起改,profile 补丁层的lightTint值同步迁移,已保存的偏好不丢。 - 深色底改为灰黑:画布
#151517 → #242529,卡片#232324 → #323337、#2c2c2e → #3b3c40、
#353638 → #444549—— 四个层级一起抬,层间距不变,"画布最深、卡片逐层变亮"的层次保持。
完整提交对比:v1.2.0...v1.3.0
v1.2.0
Added
- 「官网流动」:浅色内容配色新增一档,复刻 https://www.deepseek.com/ 首页那层
缓慢流动的蓝色背景。- 官网原实现是 WebGL:
type:"pattern"着色器,实测配置为
colors ["#8AA3D6","#FFFFFF","#FFFFFF"]、speed 14、swirl 12、
distortion 20、scale .5、shape "checks"、shapeScale 10、offsetY 65;
u_time = 毫秒×0.001×(speed/100)且着色器内再×.5,约 0.07 秒/秒,所以极慢。 - 外层遮罩沿用官网那条单调向下淡出,只在最底部留一点(官网到 100% 归零,
本插件留 0.30),这样输入框底下仍有东西可透;全程单调下降,所以不会出现
"第二条色带"(曾试过 U 形,蓝色被推成左下/右上两团,已弃)。 - 本插件直接跑官网原版着色器(不是近似):GLSL 逐字提取,uniform 与官网
JS 的归一化(offset/100、rotation/90、proportion/100、softness/100、
shapeScale/100、distortion/100、swirl/50、u_time = 秒×(speed/100))
全部照搬 —— 所以颜色、速度、运动方式与官网一致。 - 为什么不用 CSS 近似:试过,不成立 —— 色值对不上(不是同一套噪声场),
速度也差了十几倍(7% 位移 / 84 秒,而官网约 0.07 秒/秒,即一个特征
横穿屏幕约 70 秒)。 - 画布挂在框架内(
z-index:-1:画在框架背景之上、内容之下),侧边栏的
不透明渐变正好盖住左半边,接缝天然对齐。 - 输入框改为毛玻璃:卡片一层半透明白(官网输入框实测 α≈0.58;本插件取
0.36 的淡蓝白,兼顾"玻璃感"与"页面保持干净")+backdrop-filter,
底下能透出流动。 - 只作用于浅色模式;30fps 节流、窗口隐藏自动停;系统关闭动效时只画一帧。
- 没有 WebGL2 时安全退回纯色纸面。
- 官网原实现是 WebGL:
Fixed
- 「官网流动」的取值没加进宿主侧
Config的白名单(LIGHT_TINTS),
导致选中后无法持久化、重启即丢。已补上。 - 输入框透不出流动:白叠了两层 —— seat 一层 58%、卡片自己又一层不透明底,
复合后约 82%。改为只有卡片一层,seat 只保留模糊(模糊同样能遮住滚过去的
内容)。卡片的backdrop-filter另挂到带mask的伪元素上 —— 模糊没有渐变,
直接加会在 seat 顶边硬切出一条分界线(实测该处#a5b8df → #9fbbf3)。 - 浅色模式下侧边栏两处看不清:顶部 Windows 菜单(网页自己画的,藏在 shadow DOM
里,靠自定义属性跨边界继承改 token;侧边栏收起时菜单会移到内容区上方,故加了
作用域判断)与**「新会话」按钮**(浅色主题给的是不透明浅底,而本皮肤把侧边栏文字
强制成浅色 → 浅底浅字;按参考图实测的 8.5% 白压回)。 - 侧边栏 HARNESS 徽标看不清:它用
label-primary当底色、
label-primary-inverted当文字色 —— 一对 token 必须成对翻,之前只翻了一个。 - Electron 的标题栏覆盖层在右上角留一块白。它的颜色来自 DSH preload 里一个隐藏
探针(读--dsw-specific-sidebar-fill的 computed 值),且只在document.body的
[style]属性变化时才重读 —— 所以在浅色下把该 token 置为 transparent,并主动
动一下body.style触发重读。
Changed
- 「雾蓝 · 深」改名为 「雾蓝」 —— 淡、中两档删除后,"深"已失去对比对象。
只改显示名,档位键mist-3未动,所以已保存的偏好与宿主白名单都不受影响。
Removed
- 「浅色内容配色」移除了 「雾蓝 · 淡」 与 「雾蓝 · 中」 两档,只保留
默认 / 官网流动 / 雾蓝。宿主侧的白名单(LIGHT_TINTS)同步移除 ——
两侧必须一致,否则会出现"切得动但存不住"(前面踩过)。若原本正选着被删的档位,
会安全回落到「默认」。
v1.1.0
Added
- 「浅色内容配色」:设置 → 通用 新增一行,可为右侧内容区选一层低眩光底色,
仅浅色模式下生效。四档:默认 / 雾蓝 · 淡 / 雾蓝 · 中 / 雾蓝 · 深。
三档着色都由侧边栏顶端的色相(#3a4f6c,H≈215°)推导而来,与左侧栏同属一套
材质 —— 压住纯白的眩光,又不会出现"左边冷蓝、右边暖黄"的割裂。 - 偏好通过宿主的 settings section 持久化(与 ui-theme 存明暗偏好同一机制),
不是 localStorage —— 后者会因本地端口每次启动可能不同而丢失。 - 宿主侧新增
Configschema(.volatile());客户端用
ctx.configForms.get(<名字空间>)读写。设置行注册在可选依赖上
(ctx.inject(["slots","locale","configForms"], …)),
因此该功能缺失或失败都不会影响皮肤本体。
v1.0.1
Fixed
- 顶部标题栏与侧边栏的蓝/黑交界错位 1px。 标题栏那条硬切渐变的落点写成了
calc(var(--dsh-windows-sidebar-width) - 1px),比侧边栏真实右边缘少 1px,
于是 y=40(标题栏高度)处出现一个台阶。改为直接使用该变量,交界在全高对齐。
(实测依据:浅色 / 深色两张截图里,y<40 交界在 x=283,y≥40 在 x=284。)
Added
- 浅色 / 深色截图
assets/screenshot-light-mode.png与assets/screenshot-dark-mode.png,
以及screenshots.json—— 供插件市场详情页展示。 - README 增加「截图」小节(并列展示两种主题),并补全目录结构。
完整提交对比:v1.0.0...v1.0.1
v1.0.0
复刻 DeepSeek Harness 官网预览图(macOS)的深蓝渐变玻璃侧边栏到 Windows 客户端。
亮点
- 左侧栏:固定深蓝渐变(顶部
#3a4f6c蓝 → 底部#393d45中性深灰),不跟随浅色 / 深色 - 右侧内容区:保持不透明,正常跟随浅色 / 深色
- 品牌色:主按钮 / 品牌强调色 = DeepSeek 蓝
#4d6bfe(深色模式#6799fe) - 深底配浅字:侧边栏子树内的文字 / 边框 / 交互色自动固定为浅色,浅色模式下也不会"深底深字"
- 零 npm 依赖:宿主提供全部依赖,仅用
ctx.theme与一张注入的样式表
颜色全部来自逐像素采样
不是肉眼估的 —— 对官网预览图采样并用 P = a·255 + (1−a)·B 反解:
| 项目 | 实测值 |
|---|---|
| 渐变 顶部 | #3a4f6c |
| 渐变 中段 | #414a56 |
| 渐变 底部 | #393d45 |
| 面板叠加(按钮 / 选中行) | rgba(255,255,255,.085) |
| 正文文字 | #e6e8eb |
| 分区标题 | #9399a1 |
关键:饱和度向下递减 —— 顶部偏蓝,越往下越接近中性深灰,底部并不发紫。
安装
生效无需刷新、无需重启(DSH 客户端 bundle 是热加载的)。
1. 从 GitHub 安装
pnpm add github:Tim5613/dsh-homepage-palette-skin然后把包名加进 profile package.json 的 dsh.profile.bundles。
2. 锁定版本安装
pnpm add github:Tim5613/dsh-homepage-palette-skin#v1.0.03. 交给 DSH 插件管理器(本地 file: 规格)
install_bundle target = file:<你的路径>/dsh-homepage-palette-skin
实现要点
这套侧边栏 DSH 本来就自带,但被 [data-platform=darwin] 锁死在 macOS;Windows 上只是一条不透明纯色。本插件绕过五个坑:
- 平台锁 —— 官方样式在
[data-platform=darwin]下,Windows 一条不生效 - 侧边栏不是一个元素 —— 里面还嵌着 ui-sidebar 的
SidebarRoot,自带
background:var(--dsw-specific-sidebar-fill)且height:100%,等于盖了个不透明盖子。
→ 把该 token 在侧边栏子树内置为transparent - 内容卡片左上 16px 圆角缺口 会露出框架底色 → 框架底色设成卡片色,缺口隐形
- 自加顶部高光会留亮带(实测
#6a7492)→ 已去掉 - 不能只靠
backdrop-filter(系统关「透明效果」时 Chromium 连模糊一起停用)→ 渐变直接写在侧边栏上
已知边界
参考图的通透有一半来自 macOS 原生窗口 vibrancy(vibrancy: "sidebar" + 透明背景色)。
本插件在渲染层改 CSS,看不到窗口外的桌面;DSH 在 Windows 上创建主窗口时也没开任何材质。
所以这里是把参考图的颜色与透明度关系 1:1 复刻,而非真正的窗口级模糊。
另外:Electron 官方的 backgroundMaterial(mica / acrylic)要求 Windows 11,
Windows 10 上会被静默忽略。
完整提交对比:https://github.com/Tim5613/dsh-homepage-palette-skin/commits/v1.0.0