dsh-open-exit-animation
DeepSeek Harness 开场与退场动画:默认纯代码自绘(5 套可切换样式:鲸鱼光扫 / 极简脉冲 / 星尘汇聚 / 打字机 / 雷达环),也可以换成用户自己的视频 / 动图(存在浏览器本地库 IndexedDB,不上传不联网);可调速度、粒子、主色、文案、静音、素材最长播放、画面适配;设置 → 开关动画 里即时改。打开 DSH 播开场片头;配合桌面壳补丁,托盘退出 / 退出应用会先播完退场动画(点 X 关窗默认只隐藏到托盘、不播,可在面板里打开)。 适合想要个性化客户端启动和退出视觉效果的桌面端用户。
インストール
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:samsam560/dog-kjdhドキュメント
README 全文を読む ↗配置与 API
配置存在页面 localStorage 的 dsh-open-exit-animation:config:
| 键 | 默认 | 含义 |
|---|---|---|
open | true | 启动时自动播开场 |
exit | true | 真正退出(托盘退出 / 退出应用)时播退场(关掉后桌面壳拿到的 Promise 立即 resolve,退出不会被动画拖延) |
exitOnClose | false | 点 X 关窗时是否也播退场动画;默认 false = 直接隐藏到托盘(补丁问页面 __dshCloseAnimation(),页面按这个键决定) |
speed | 1 | 整体速度倍率(0.5–3),所有时长都是 calc(ms / speed) |
style | "whale" | 样式 id(见上表) |
particleCount | 26 | 粒子数 0–60(0 = 不画粒子) |
accent | "" | 主色 #rrggbb;空串 = 内置蓝青配色 |
word / subOpen / subExit | 见下 | 字标 / 开场副标题 / 退场副标题,最长 48 字 |
mediaOpen / mediaExit | null | 该方向的素材元信息 { name, size, kind: "video"|"image", type };二进制在 IndexedDB(dsh-open-exit-animation-media → assets → 键 open/exit),这里只记文件名 |
mediaMuted | true | 素材静音播放 |
mediaMaxMs | 6000 | 素材最长播放时间 800–15000ms(退场再多一层 7000ms 硬上限) |
mediaFit | "cover" | 画面适配:cover 铺满裁切 / contain 完整显示 |
默认文案:word = DeepSeek Harness,subOpen = 正在启动 · starting,subExit = 正在退出 · shutting down。
__dshAnim.get() // 读当前配置
__dshAnim.set({ style: "typewriter", speed: 1.4 }) // 写(自动钳制 + 持久化 + 同步面板)
__dshAnim.reset() // 恢复默认
__dshAnim.open() / __dshAnim.exit() // 手动播(force,忽略开关)
__dshAnim.open("rings") // 一次性试播别的样式,不写配置
__dshAnim.styles() // 5 套样式的 { id, label, note, dots }
__dshAnim.version // "0.3.1"
__dsaMedia.supported() // 当前环境能不能存素材(IndexedDB + blob URL)
__dsaMedia.pick("open", file) // 手动喂一个 File(等价于面板里点「选择…」)
__dsaMedia.clear("exit") // 清掉某个方向的素材
__dsaMedia.hydrate() // 从本地库重新读一遍(改过库之后用)
__dsaMedia.state() // { supported, open, exit, ready:{open,exit}, urls:{open,exit} }
__dsaPanel.mount(element) // 把同一份设置面板裸挂到任意容器(preview.html 用的就是这个)
__dsaStyles // 等同 __dshAnim.styles()
globalThis.__dshExitAnimation() // 桌面壳 await 的钩子(托盘退出 / 退出应用):返回退场动画 Promise
globalThis.__dshCloseAnimation() // 桌面壳在"点 X 关窗"时 await 的钩子:配置 exitOnClose 为 false 时立刻 resolve(false)
__dshAnim.get().exitOnClose // 点 X 关窗是否也播(默认 false)
所有配置都经过一层 sanitize:速度/粒子越界钳制、未知样式回落 whale、非法主色回落内置配色、
空白文案回落默认值;旧版的 particles: true/false 会自动迁移成 particleCount: 26/0。