Repository navigation
Releases: LeeRolling/dsh-chat-wallpaper
Releases · LeeRolling/dsh-chat-wallpaper
Release list
v0.1.0
v0.1.0 — 开场视频 + 聊天底图
给 DeepSeek Harness 的开场视频 + 聊天底图插件,首个公开版本。
开机动画放完之后,全屏接一段你自己的视频当"第二幕";播完淡出、交回聊天窗口。
聊天窗口背后的底图由你自己定 —— 换图只要丢张图片进一个文件夹。
亮点
- 交叉叠化衔接:不是硬切、也不闪一下。做法是在开机动画刚开始淡出的那一刻
(dsu-handoff,比它自己的dsu-gone早 780 ms)就满不透明地待在它下面,
让它的淡出自然变成叠化。 - 两个层彻底解耦:开场视频(最前)与聊天底图(最底)互不依赖 ——
只配视频、只配图、两个都配,三种用法都成立。 - 设置面板:左下角「🖼 背景」—— 换图 / 调纱的浓度 / 切换玩法 / 🔁 重播开场。
- 面板独立于壁纸层:开场播完、视频层被移除之后,设置入口仍然在。
- 全屏层永远
pointer-events: none:不吞点击、不把点击当开关,
也绝不停在那盖住界面(有看门狗硬保证)。 - 主题自适应:浅色主题压白纱、深色主题压深纱;主题判定写成自己的 class,
不猜 DSH 内部的标记名。
安装
dsh plugin --profile <你的 profile> add \
https://github.com/LeeRolling/dsh-chat-wallpaper/archive/refs/tags/v0.1.0.tar.gz然后重启 DSH(改 lib/*.js 之后必须重启,不是刷新 —— 原因写在 README 的踩坑表里)。
用法
# 换视频:丢进这个文件夹(按修改时间,最新的赢)
~/.dsh/boot-animation/videos/
# 换底图:丢进这个文件夹就会自动用
~/.dsh/chat-wallpaper/两个文件夹都可以在 ~/.dsh/chat-wallpaper.json 里改成绝对路径。
左下角「🖼 背景」面板里点一下就行,不用改配置。
测试
八个测试套件,都不需要启动 DSH(node:vm + 手写的 DOM 桩):
npm test外加一个红绿对照工具(test/make-nofix.mjs):造一个故意没修的副本跑同一个测试,
如果它还是绿的,说明这条测试没在测它该测的东西 —— 我们就是这样查出了两个
"通过、但其实什么都没证明"的测试。
零媒体
本仓库不含任何视频 / 音频 / 图片 / 字体 / 二进制。素材请自备。
两个开箱即用的检查工具(不需要 ffmpeg):
node test/inspect-mp4.mjs "你的视频.mp4" # 分辨率/帧率/时长/faststart/关键帧位置
node test/probe-fps.mjs "你的视频.mp4" # 只判帧率(恒定 or 可变)致谢与来源
这个插件的关键做法不全是原创,在此逐条说明:
- KylinQ01/dsh-startup-animation(MIT)
—— "把外壳底色改透明从而让背景露出来"这个核心手法来自它。 - dsh-startup-screen
—— 交叉叠化依赖它的内部约定(dsu-handoff/dsu-gone与 780 ms / 620 ms 两个时间常数)。 - NativeDog1/dsh-boot-animation
—— 开发时用作开场素材的视频来源。 - DeepSeek Harness —— 宿主平台与插件规范。
用了别人的,就说出来。 详见 README 的「致谢与来源」章节。