Open Sea Skin(仓库 d-dev0101/open-sea-skin)是给 DeepSeek Harness(DSH)做的一款开源海洋主题与外观插件,GitHub 星标 378,站点分类 token 为 browser,实装验证等级是 L4 · 真实安装(dsh 0.2.0-rc.2)。它卖的不是一张静态壁纸,而是把一片会动的海放进工作空间:实时 WebGPU 动态背景、可调海浪、白天到夕阳的光照,以及半透明玻璃界面。这篇不教安装,只拆它的渲染管线,以及 README 自己写死的兼容边界。
一条渲染管线,三种外壳
按 README「Built for an open ecosystem」一节,渲染器用 WebGPU、three.js 与 TSL 构建,包含五组 Gerstner 波、海面反射、泡沫与天空光照。这里最要紧的一句是:规范运行时位于仓库 shared/,生成的插件、扩展与静态装载器三份副本保持同步;site/ 则保留最初版展示页。
这句话比看上去重要。站点提供的三条安装路径——DSH 插件、Chrome / Edge 扩展、静态前端装载器——并不是三份各自维护的代码,而是同一片海的三种外壳:你在插件里调的参数、在扩展里看到的波浪曲线,都由同一个 shared/ 运行时算出来。这也解释了 README 为什么强调「只选一种」——叠加安装不会让海更好看,只会让三份副本更难对齐,升级与排障一起变复杂。
五组 Gerstner 波:海面是算出来的,不是播出来的
海面形状由五组 Gerstner 波叠加得到。Gerstner 波的特点是除了抬升水面,还会把水面顶点沿水平方向推移,于是波峰收窄、波谷拉宽,接近真实涌浪那种「尖顶圆底」的轮廓;把五组波长、振幅、方向、相位各不相同的波求和,就能得到一片不会明显重复的水面。
这也是 README 把「实时海洋」和「循环播放的壁纸视频」明确切开的原因:每一个浪头都是当期帧算出来的,你随时改波高,海况会立刻跟着变。壁纸视频做不到这一点,它只是同一段像素在重复。
反射、泡沫与天空光照
除了波体本身,渲染管线还处理海面反射、泡沫与天空光照三件事。反射决定海面能不能映出天光与地平线,泡沫让浪峰破碎处有细节,天空光照则把「白天到夕阳」的光色真正作用到水面上——所以光照控件不是给整页套一层滤镜,而是改变渲染时的光源条件。
要分清的是,光照与不透明度是两套控制:玻璃不透明度可在 40% 到 90% 之间调节,用来适配 Harness 的深色与浅色布局;光照则管海面与天光。README 的实拍动图统一在 40% 玻璃不透明度下拍摄,方便对照调整前后的差异。
可访问性不是装饰
容易被忽略的一节是可访问性。README 列出:中英文界面、键盘导航、Escape 关闭面板,以及 reduced-motion(减少动态效果)支持。最后一条对动态背景尤其关键——如果你在系统层面已表示不希望看到大幅动画,皮肤会遵守这个偏好,而不是让海浪一直翻涌。
兼容边界写在 README 里,不要自己加戏
对渲染管线的讨论,最后一定会落到「它能不能一直用下去」这个问题上。这里 README 的态度很明确:不做全版本兼容承诺(no blanket compatibility claim),并且把两处验证基线写死。
- 原生源码集成的验证基线是 Harness
0.1.2-alpha.3、提交dd6322d60(2026 年 8 月 31 日)。 - 桌面回归测试使用基于 DSH Desktop Beta
2.0.5-beta.1的 Chromium 外壳测试页面(shell fixture),覆盖 24 组布局、材质、明暗与透明度组合——README 特意注明,这不等同于完整原生桌面端到端测试。
与此同时,本站对该插件的实装验证等级是 L4 · 真实安装,验证环境是 dsh 0.2.0-rc.2。两组数字并列看出的结论很实用:作者自测的基线与本站真实安装所用的版本并非同一个,谁都不该替作者许诺「全版本兼容」。升级 Harness 前先备份 ~/.dsh;若升级后皮肤异常,README 建议回报 Harness 版本、安装方式与脱敏截图或日志。
性能与隐私:取舍都是有前提的
渲染器做了三项减负:自适应分辨率、隐藏标签页暂停,以及前面提到的 reduced-motion——分别对应分辨率随负载浮动、切到后台就停画、尊重系统动效偏好,目的都是减少持续绘制的负担。
但要如实说明:动态 3D 海洋仍然会使用 GPU,自适应分辨率能把开销压下来,却不能把它变成零。README 的建议很直白——先在自己的设备上打开官网交互体验,亲手调一调海浪,再决定要不要装;必要时开启 reduced-motion,或把玻璃不透明度调高来降低绘制负担。
隐私方面,README 的说法是:皮肤不收集、不上传聊天数据;扩展权限仅用于存储设置和访问本地 Harness;海洋脚本、three.js 与字体随皮肤分发,没有皮肤遥测,也没有运行时 CDN 请求,既减少外部请求,也让资源版本可控。README 还附加了一句边界:以上描述的是 Open Sea 本身,不代表宿主应用(Harness)自己的数据处理行为。站点侧信息也显示,该插件尚未做人工风险评估,静态扫描只列能力、不构成安全背书。
总结
Open Sea Skin 的海洋不是一张壁纸,而是一条 WebGPU + three.js + TSL 的实时管线:五组 Gerstner 波算出海形,反射、泡沫与天空光照负责质感,shared/ 作为唯一规范运行时被三种安装外壳共享复用。它用自适应分辨率、隐藏标签暂停与 reduced-motion 做了减负,但动态 3D 仍要占 GPU;README 也明确不做全版本兼容承诺,升级前请先备份 ~/.dsh。想对照同类插件的中文清单与安装形态见 DeepSeek Harness Hub 插件清单。
适合与不适合
适合:想在本地 Harness Web 页面里要一片会动、可调海浪的实时海面;在意资源是否本地分发、介意运行时外部请求的人;需要中英文界面、键盘操作与 reduced-motion 支持的用户;以及想研究 WebGPU / three.js / TSL 渲染管线、愿意读 shared/ 源码的开发者。
不适合:想给浏览器新标签页或 chat.deepseek.com 换肤的人——它只对本地 Harness 页面生效,不是通用换肤工具;机器 GPU 本就吃紧、连风扇转速都敏感的人,动态 3D 渲染的开销躲不掉;指望「作者承诺兼容所有最新版 Harness / Desktop」的人,README 明确没有 blanket 兼容承诺,Desktop 也只跑过 Chromium 外壳 fixture 回归。
标签:Open Sea Skin、DeepSeek Harness、WebGPU 渲染管线、three.js
本文由 DeepSeek Harness Hub 自动整理,数据来源于插件详情页。