安装
在 DeepSeek Harness 里通过 dsh-market 安装
dsh plugin --profile web add dshmarket
或使用命令行
dsh plugin --profile web add dsh-plugin-harness-whale
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络。请先审阅源码,并尽量锁定 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。
📄 许可证
评论
评论存放在 GitHub Discussions。用 GitHub 账号登录后可发表评论或点表情。

