每天第一次打开 DeepSeek Harness,你看到的是什么?
大概率是一块空白页面,加一个转圈。
有个开源插件把这一小段时间重做了一遍:黑幕上的 DeepSeek 标识、过曝洗白、暖白「技术档案」底板、五步交互式访问授权,最后一下色散故障揭幕,落回主界面。它叫 dsh-startup-screen,MIT 协议,作者沈宏宏。
下面的动图展示启动动画的交互流程。

它到底做了什么:六幕序列
插件在冷启动时播一段连贯动画,按顺序是六幕:
- 厂牌标识 —— 黑幕中央先浮出
DEEPSEEK,底部一行小字 - 过曝洗白 —— 画面整体提亮,像镜头过曝那样把黑幕洗掉
- 暖白「技术档案」底板 —— 换成暖白纸面,左上角品牌块、右侧阶段柱、页脚和实时时钟出现
- 五步交互式访问授权 —— 需要访问许可 → 身份资料确认 → 接收访问需求 → 开始读取权限 → 读取完毕 · 核验通过
- 色散故障揭幕 —— 红蓝错位闪一下,动画退场,落回主界面
- 欢迎页 —— 主界面中央留一句「欢迎 xxx 访问」

动画里的“访问授权”“权限等级”是视觉文案,不会替代或改变 DSH 的真实权限设置。
中央那圈环形准星会慢慢自转,缺口留在正下方——专门避开底部字幕,不会压字。
每一步都有中文主字和英文等宽副标题。英文是逐字打出来的,像终端在接收数据。
底部那行日志也跟着走:
- 等待用户授权… →
AWAITING OPERATOR CONSENT - 核对身份资料… →
MATCHING OPERATOR RECORD - 接收访问需求,建立会话通道… →
HANDSHAKE ESTABLISHED - 开始读取权限,索引工作区与会话… →
READING PERMISSION SET - 读取完毕,核验通过,权限已授予 →
PERMISSION AUTHORIZED

它不是播片:有两步等你动手
第一、二步停下来等你点按钮,也可以按 Enter 或空格继续(这一步可以在设置里关掉,改成全程自动)。
右上角有跳过按钮,Esc 也能跳。
还有一个细节值得一提:浏览器规定「必须先有一次点击才准出声」,所以声音是在你点过按钮之后才响起来的——第一次装上的时候别以为坏了。
语音没播完,动画不往前走
这是整个插件里最讲究的一处设计。
每一幕停多久,不是写死的,而是:
每步停留 = max(视觉基准,实际音频时长 + 240 ms)
也就是说,台词长就多停一会儿,台词短也不会干等。你手快连着点按钮,也不会把正在念的台词掐断——只有「跳过 / 揭幕」才会强制取消。

插件内置了 8 份真声素材:五句台词、终幕欢迎语,加上两段界面音效(文字出现的「哒」声、阶段推进的连响)。素材取不到时会自动回落到浏览器 TTS,不影响启动。
33 项设置,改完立即生效
装好后在 DSH 设置页 →「启动动画」,六大组,项目说明 标注共 33 项:
- 播放:启用开关、显示模式(每次会话 / 总是 / 每天)、主题(暖白 / 暗色)、速度(0.35× – 3×)、是否要求确认、是否允许跳过
- 身份资料:身份名称(默认
JOYCE MOORE)、身份编号(默认0087)、权限等级(默认3)——终幕「欢迎 xxx 访问」里的名字就来自这里 - 语音:语音播报开关、语音来源(真声素材 / 系统 TTS)、音色、语速(默认 0.88)、音调(默认 0.85)、音量(默认 0.9)、播报前提示音、开口前留白(默认 240 ms)
- 界面音效:音效开关、音效音量(默认 0.5)、音效来源(内置素材 / 现场合成)
- 视觉:强调色(默认
#ff7500)、故障色 A / B(默认#ff3b30/#2971b8) - 文案:品牌三行、黑幕三行、终幕方框、页脚,都能换成你自己的字

配置文件落在 ~/.dsh/dsh-startup.json(或用 DSH_HOME 指到别处),设置页改完直接写盘。
下面两张是设置页的样子——取自项目自带的离线预览页,界面与插件设置页一致。


安装:web 端和桌面端各三步
先看前置条件:Node >= 20,零运行时依赖(不需要 npm install);插件本体是同一份代码,web profile 和桌面端通用——桌面端适配是在 1.1.0 完成的。
到 正式版下载页 下载 dsh-startup-screen-1.1.1.tgz(当前正式版 v1.1.1,2026-10-17 发布)。
web 端(dsh web)
dsh plugin --profile web add ./dsh-startup-screen-1.1.1.tgz
装完重启 dsh web:关掉启动器窗口再重新双击。刷新页面就能看到启动动画。
桌面端(DeepSeek Harness Desktop)
优先使用应用内置的插件管理器导入下载包。下面的命令需要由桌面应用自带的 dsh 执行,独立安装的 npm CLI 不能直接管理 desktop profile。
# 1) 先完全退出桌面端,进程不要留着(含托盘图标)
# 2) 再装
# 使用桌面应用自带的 dsh 命令
dsh plugin --profile desktop add ./dsh-startup-screen-1.1.1.tgz
# 3) 重新打开桌面端
必须先退出桌面端的原因:desktop profile 的 package.json 由桌面端进程加锁管理,进程还在跑的时候写进去会被覆盖,dsh 会直接报错让你先退出。
Windows 上更省事的办法:解压 release 压缩包后双击「安装.cmd」,脚本会自动识别 web / desktop 两个 profile 并逐个安装。

两个容易踩的坑:
- 不要手工把插件目录拷进
node_modules——DSH 靠dsh.profile.bundles层堆栈加载插件,手工拷贝不会被识别 - 如果你之前手工在 profile 的
cordis.patch.yml里加过dsh-startup-screen条目,必须先删掉,否则插件会被注册两次,同一路径重复注册会报错
怎么确认装上了:看 401 还是 404
重启之后,不带 token 访问插件的路由:
/dsh-startup/splash.js返回 401 → 路由已注册,插件是活的。这个 401 是插件自己的信任栅栏,属于正常现象- 返回 404 → 没装成功,或者没重启

适合谁装,有什么要注意的
适合:用 dsh web 或 DeepSeek Harness Desktop、想让开机有点仪式感的人。动画是纯前端实现,零依赖,对机器要求不高。
要注意的事项:
- 许可:作者原创的代码与文案是 MIT © 沈宏宏;但 项目说明 的免责声明写得很明确——项目仅供学习交流,视觉风格参考自动画作品,音频素材取自第三方视频,权利归原权利人,作者未获得授权或背书,也未授权任何商业用途。二次创作与商业使用的风险由使用者自担
- 卸载:
dsh plugin --profile web remove dsh-startup-screen;如果是手工装的,删掉目录联接和那两行 patch 条目即可
是否适合使用
开机动画这件事,本质上不解决任何功能问题——它只是让你每次打开工具的那一秒,不那么无聊。
但能把一秒做成六幕、还顺手把语音节奏、跳过逻辑和 33 项设置都做进去,这份认真挺难得的。
