samsam560/dog-kjdh ↗★ 0

dsh-open-exit-animation

为客户端提供可自定义的开场与退场动画效果 适合想要个性化客户端启动和退出视觉效果的桌面端用户。

套件
dsh-open-exit-animation
相容性
待驗證
版本
0.3.1
授權
MIT
最近更新
2026年10月7日

安裝

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:samsam560/dog-kjdh

配置与 API

配置存在页面 localStorage 的 dsh-open-exit-animation:config:

键默认含义
opentrue启动时自动播开场
exittrue真正退出(托盘退出 / 退出应用)时播退场(关掉后桌面壳拿到的 Promise 立即 resolve,退出不会被动画拖延)
exitOnClosefalse点 X 关窗时是否也播退场动画;默认 false = 直接隐藏到托盘(补丁问页面 __dshCloseAnimation(),页面按这个键决定)
speed1整体速度倍率(0.5–3),所有时长都是 calc(ms / speed)
style"whale"样式 id(见上表)
particleCount26粒子数 0–60(0 = 不画粒子)
accent""主色 #rrggbb;空串 = 内置蓝青配色
word / subOpen / subExit见下字标 / 开场副标题 / 退场副标题,最长 48 字
mediaOpen / mediaExitnull该方向的素材元信息 { name, size, kind: "video"|"image", type };二进制在 IndexedDB(dsh-open-exit-animation-media → assets → 键 open/exit),这里只记文件名
mediaMutedtrue素材静音播放
mediaMaxMs6000素材最长播放时间 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。