DSH Web 动态点阵鲸鱼壁纸:约 1,750 个呼吸的 WebGL2 粒子,指针液态涡流交互,明暗双主题,带 Canvas2D 回退。
安装
# npm 包(预构建)
dsh plugin --profile web add dsh-plugin-harness-whale
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:HeShen-1/deepseek-whale-wallpaper
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
面向 DeepSeek Harness Web UI 的动态壁纸插件——把 DeepSeek 最有识别度的点阵鲸鱼重建为约 1,750 个呼吸着的 WebGL2 粒子:在薄雾中缓慢转身,指针划过时如液体般绕流。浅色、深色主题齐备;没有品牌字样、粒子连线或杂乱特效。
English | 简体中文
📣 已收录 awesome-dsh-plugin —— DeepSeek Harness 插件精选列表。
✨ 效果演示
浅色与深色模式均为动态壁纸:鲸鱼持续呼吸、缓慢转身,雾层漂移;指针划过鲸鱼时,周围粒子如液体般绕指针涡旋(纯运动反馈,无光晕、无圆环),离开后约 800ms 柔和归位。下方 GIF 为精确 2 倍速——18 帧、每帧推进 100ms 动画,由确定性时钟逐帧驱动而非录屏,因此不存在跳帧延时,实际节奏更舒缓。打开在线预览 →
深色模式

浅色模式

真实 Harness 界面
采集自插件实际部署的 DeepSeek Harness Web 客户端:壁纸层位于应用框架下方,侧栏、会话画布与输入区照常使用,粒子在界面背后绕流。
| 浅色界面 | 深色界面 |
|---|---|
![]() |
![]() |


📦 安装
要求 DeepSeek Harness dev-preview(@deepseek-ai/dsh)的 web profile。
方式 A:从 Release tarball 安装
从 Releases 下载
dsh-plugin-harness-whale-<version>.tgz,把其中package/目录解压到:~/.dsh/profiles/node_modules/dsh-plugin-harness-whale在
~/.dsh/profiles/web/cordis.patch.yml的insert列表注册:- insert: - id: harness-whale-wallpaper name: dsh-plugin-harness-whale config: enabled: true quality: auto brightness: 0.9 scale: 1 interactionStrength: 1 activeDimming: 0.22重启
dsh web后刷新 http://127.0.0.1:3080,鲸鱼就会出现在界面背后。想要非默认效果,改上面那段配置即可。
方式 B:先看效果
打开**在线预览**——与插件同一渲染内核,无需安装。
⚙️ 配置
在 profile 组合层按需覆盖;默认值见插件自带的 cordis.patch.yml:
| 字段 | 默认值 | 含义 |
|---|---|---|
enabled |
true |
是否启用壁纸与主题 |
quality |
auto |
auto / low / medium / high |
brightness |
0.9 |
鲸鱼亮度,范围 0.35–1.4 |
scale |
1 |
鲸鱼比例,范围 0.72–1.25 |
interactionStrength |
1 |
视差与粒子绕流强度,范围 0–1.5 |
activeDimming |
0.22 |
输入/运行状态的不透明度,范围 0.12–0.6 |
配置由宿主侧 Schemastery 校验,并通过同源只读端点提供给客户端。若当前 Harness 构建缺少公共槽位或必要服务,插件会记录明确错误并安全停止。
🌊 行为
- 鲸鱼轮廓直接采样自仓库中的
favicon.svg路径,WebGL2 默认渲染约 1,750 个规则网格点。 - 约 11 秒的纵向呼吸、29 秒缓慢转身,叠加尾鳍游动与轻微浮沉;鼠标带来约 6° 视差与位置偏移。
- 指针进入鲸鱼时,约 200px 半径内的粒子产生连续液态涡流(纯运动反馈,不改变亮度与大小),范围内部不会形成空洞;离开后约 800ms 柔和归位。原始点阵不被修改。
- 跟随 Harness 通用设置中的"浅色 / 深色 / 跟随系统":深色保持白色→冰蓝粒子并压深鲸鱼身后的水色,浅色使用高对比冷调墨黑
#050b14并提亮身后水色,并同步切换界面语义 Token、雾层与背景。 - 明暗模式都透出应用框架与会话画布的全屏底色层;侧栏、输入框、对话内容和设置窗口保留各自表面,避免全屏蒙层洗淡底部点阵。阅读幕布只覆盖实测出的文字区块而非整列,因此没有文字经过的区域,墨色仍保持近黑(浅色)/ 纯白(深色)。
- 无会话时保持完整亮度;打开会话后降至 78%;输入或任务运行时至少保留 50% 亮度(仍尊重更高的
activeDimming配置),过渡约 600ms。 - 页面隐藏时暂停;
prefers-reduced-motion: reduce下完全静止。 - DPR 上限为 1.5,
auto会在持续掉帧后从 high 依次降到 medium / low。 - WebGL2 不可用时自动显示静态 Canvas2D 点阵鲸鱼。
- 插件卸载或热替换时移除全部 DOM、CSS、事件和动画,并恢复 Harness 原主题。
🧩 架构与生态
本插件是 DeepSeek Harness 首批第三方客户端插件之一:通过公开的 shell.overlay 槽位参与生命周期,壁纸画布前插在应用框架下方,不会阻挡 Harness 控件。
src/
├── index.ts 宿主入口 — 经 webServer 注入注册配置路由
├── client.tsx 客户端入口 — 经 shell.overlay 槽位挂载
├── renderer.ts 唯一的 WebGL2 渲染内核(与预览共用)
├── theme.ts 语义 Token 覆盖 + 注入 CSS
├── reading-zone.ts 实测文字区块,供幕布与点阵软化使用
├── self-check.ts Harness 升级后自检外壳表面
├── activity.ts 会话/输入/运行状态的专注调光
├── whale-path.ts 从 favicon.svg 轮廓采样网格点
└── config.ts Schemastery schema 与默认值
零运行时依赖;三个 devDependencies(esbuild、typescript、schemastery)。lib/ 与 preview.js 是 pnpm build 产物。
🔧 开发
pnpm install
pnpm build # 重建 lib/ + preview.js
pnpm check # bundle、外壳契约与调色板检查
pnpm compat # 已安装的 Harness 是否仍提供全部钩子?
# 独立预览(与插件同一渲染器)
python3 -m http.server 4173 # 打开 http://127.0.0.1:4173/
pnpm shots 用于重拍 README 的静帧与 GIF:它不按墙上时间录屏,而是用
scripts/demo-clock.js 接管动画时钟——每帧精确推进 100ms 动画(按 60Hz 切片,
渲染器的慢机保护因此永不触发),18 帧再以每帧 50ms 合成为演示区承诺的 2 倍速。
按墙上时间采集撑不住截图循环:单次截图约 1s,"每帧间隔 100ms"实际会变成约 1s,
GIF 就成了约 20 倍速的延时片,且慢机保护会在中途关掉光晕,画面与线上效果对不上。
脚本需要 PATH 上有 agent-browser,以及带 Pillow 的 python3;--url 可改为
采集已在运行的页面("真实 Harness 界面"配图即由此而来),--prefix 用于改名。
预览页的状态全部走查询串,方便直接分享或复现某一种效果:?theme=light|dark、
?preset=calm|vivid、?brightness=0.35..1.4、?quality=low|medium|high,
?ui=0 隐藏控制面板(上面的截图就是这么拍的)。同一套控件也在
在线预览 上。
❓ FAQ 与故障排查
装完没有鲸鱼? 重启 dsh web(客户端 bundle 在启动时组合)后刷新。检查 ~/.dsh/profiles/web/cordis.patch.yml 是否有 insert 条目。页面 body 应带有 data-dsh-harness-whale="true"。
dsh plugin --profile web add dsh-plugin-harness-whale 装的是这个吗? 不是——npm registry 上目前只有旧的 0.2.0,0.3.x 并未发布。请用Release tarball。
掉帧 / 风扇狂转? 把 quality 设为 low 或 medium,降低 brightness 或 interactionStrength。auto 本身就会在持续掉帧后自动降档。
浏览器没有 WebGL2? 会自动渲染静态 Canvas2D 点阵鲸鱼作为回退。
卸载。 从 cordis.patch.yml 移除 insert 注册项并删除 ~/.dsh/profiles/node_modules/dsh-plugin-harness-whale 目录;重启后恢复原主题与布局。
更新。 用新版本 tarball 覆盖旧目录,然后重启 dsh web。每个历史版本都留在 release/ 里,便于一条命令回滚。
🔭 兼容范围
当前目标为 @deepseek-ai/dsh 0.1.1-rc.2 的浏览器 Web UI。Harness 仍处于 dev-preview——若 dsh.client、ctx.theme 或 shell.overlay 协议变更,需要重新核对兼容性。
🗒️ 更新日志
见 CHANGELOG.md。
📄 许可证
链接
同类插件
Small-tailqwq/dsh-deep-whale#maid-atelier★ 2707
DSH Web 鲸鱼娘皮肤系列(深海女仆工坊 maid-atelier)。
elysia395/dsh-wallpaper-engine★ 1650
前置要求:DeepSeek Harness 0.1.5-rc.1+(DSH Desktop ≥ 2.0.7)且 dsh-better-sidebar ≥ 0.19.0,安装或更新本插件前请先更新两者。把本机 Wallpaper Engine 的 Video/Web 壁纸实时播放到聊天界面后方,Scene 壁纸由内置渲染器输出完整场景帧,支持内容分级/类型过滤、自定义壁纸上传与 iOS 液态玻璃设置窗口。
d-dev0101/open-sea-skin★ 400
实时 WebGPU 海洋皮肤,可快捷调节波浪、日光、玻璃不透明度与自动昼夜循环。
kingOfSoySauce/dsh-liang-skin★ 260
自适应推理等级滑块皮肤,将当前模型可用档位映射到 0–30 视觉强度,并同步人物、背景和界面配色。
RevolutionLA/dsh-dream-skin★ 258
一键换肤插件:8 套原创主题、背景壁纸(透明度/模糊)、强调色、主题包导入/导出+分享链接、收藏与随机,纯原生 token 系统接入。
Nwflower/dsh-claude-style★ 229
为 DSH Web GUI 复刻 Claude Code Desktop 的视觉与交互——象牙白/暖黑双画布、陶烬橙强调色、三字体排版、权限分段控件与品牌切换,以 CSS 覆盖与客户端 DOM override 实现。


社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。