启动时播放六幕动画并用 PIN 或指纹验证身份
30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/10/24 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add zoushangkun-dev/dsh-startup-auth-cn该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
给 DeepSeek Harness 手搓的开机门:六幕冷启动动画 + PIN / Windows Hello / 验证器动态码,纯本地、零依赖
README
由 DeepSeek 最新模型翻译生成dsh-boot-handmade
仓库名:dsh-startup-auth-cn · 包名:dsh-boot-handmade(两者故意不同,包名是装进配置档的标识)
给 DeepSeek Harness 手搓的开机门:六幕冷启动动画,加上一把真正拦得住人的锁。
纯前端 + 本地宿主半,零依赖、零联网、零第三方服务。
视觉语言参考了 B 站视频《deepseek 那些豪气冲天的启动动画》(@熟橘枯摘 · BV1T7nM6xEqo)——完整的出处链和三位更早的作者见图末「参考动画与致谢」。
全部用 DOM + CSS + SVG 画出来,没有视频、没有位图、没有第三方素材,任意分辨率都清晰;音效是 WebAudio 现场合成的。
更新记录
0.4.1
- 启动更快:点图标到门可操作 780ms → 400ms;解锁到进工作区约 1.95s,另有 4 秒强制上限——装饰动画永远不能把人挡在门外。
- 门内改 PIN:更改登录密码 就在门上。刚验证过(PIN / 指纹 / 动态码,5 分钟内)只填新 PIN;否则先给当前 PIN。写盘是原子的,不存在改到一半的中间态。
- 进门后的入口:右下角常驻 ⚿,随时改 PIN。层级顶到 2147483645,并且挂载后用 elementFromPoint 自检是否被别的插件盖住,被盖就重排/让位。
展开完整文档(README 剩余 1 节)
dsh-boot-handmade
仓库名:dsh-startup-auth-cn · 包名:dsh-boot-handmade(两者故意不同,包名是装进配置档的标识)
给 DeepSeek Harness 手搓的开机门:六幕冷启动动画,加上一把真正拦得住人的锁。
纯前端 + 本地宿主半,零依赖、零联网、零第三方服务。
视觉语言参考了 B 站视频《deepseek 那些豪气冲天的启动动画》(@熟橘枯摘 · BV1T7nM6xEqo)——完整的出处链和三位更早的作者见图末「参考动画与致谢」。
全部用 DOM + CSS + SVG 画出来,没有视频、没有位图、没有第三方素材,任意分辨率都清晰;音效是 WebAudio 现场合成的。
更新记录
0.4.1
- 启动更快:点图标到门可操作 780ms → 400ms;解锁到进工作区约 1.95s,另有 4 秒强制上限——装饰动画永远不能把人挡在门外。
- 门内改 PIN:更改登录密码 就在门上。刚验证过(PIN / 指纹 / 动态码,5 分钟内)只填新 PIN;否则先给当前 PIN。写盘是原子的,不存在改到一半的中间态。
- 进门后的入口:右下角常驻 ⚿,随时改 PIN。层级顶到 2147483645,并且挂载后用 elementFromPoint 自检是否被别的插件盖住,被盖就重排/让位。
- 面板关不掉:叉号、Esc、点外面,三条独立的路。
- 指纹自愈:采样中途关窗会让 CredentialUIBroker 卡住,下一次采不到样。
现在失败后自动杀掉 broker 重试一次。
- 账号:门上新增「DeepSeek 账号」,验证后自动打开应用自带的账号菜单。
- 去掉没做出来的东西:邮件验证码、微信 / QQ 入口从门上移除。
0.4.0
- 按钮点击音效(WebAudio 现场合成)。
它是什么
DeepSeek Harness 启动时先播一段六幕的开机动画(黑屏描边 → 过曝白闪 → 技术档案 → 权限门 → 核验 → 进入),然后停在一道验证门前:输 PIN、按指纹、或者填验证器动态码,三者任意一个通过才进得去工作区。
它不是"开机自启个小窗"那种装饰,是档在应用前面的最后一步。
三种开门方式
| 方式 | 说明 |
| 访问 PIN | 4–8 位数字,scrypt 加盐哈希存本地,连续错 5 次锁 30 秒 |
| Windows Hello | 调用系统凭据验证(指纹 / 人脸 / Hello PIN),并把系统窗口强制置顶,不会被应用挡住 |
| 验证器动态码 | 标准 TOTP(RFC 6238),手机扫码或手输密钥即可,完全离线;配 8 个一次性备用码防手机丢失 |
安装
1. 克隆到任意目录
git clone https://github.com/zoushangkun-dev/dsh-startup-auth-cn.git
2. 装进 desktop profile(link 方式,改代码即时生效) & "D:\dsh\resources\runtime\cli\bin\dsh.cmd" plugin --profile desktop add "link:<克隆到的路径>"
3. 重开客户端
Windows 用户也可以直接双击仓库里的 安装.cmd(会先检查客户端是否已退出)。
装在哪个路径都可以,但不要放在会被清理的临时目录——配置档里存的是软链。
客户端运行中直接装通常会成功(实测 pnpm 3.7 秒);如果报 EPERM ... package.json.lock,退出客户端再装。
首次使用
1. 重新打开客户端,动画播完会出现验证门;
2. 先设一个 4–8 位 PIN(这一步会同时把你放进去);
3. 之后再启动,可以直接输 PIN,也可以点「用验证器 6 位码进入」先配好验证器。
强烈建议配置验证器:点「设置验证器(6 位动态码)」→ 屏幕给出 32 位密钥 + 8 个备用码 → 手机装 Microsoft Authenticator / Google Authenticator,选「其他账户 → 输入代码」,把密钥粘进去。
那 8 个备用码只显示一次,请抄在纸上或存进密码管理器。手机丢了或刷机了,它是唯一退路。
配置与数据
全部在本机 ~/.dsh/ 下,插件不联网、不上传任何东西:
| 文件 | 内容 |
| boot-auth.json | PIN 的 scrypt 哈希 + salt(不存明文) |
| boot-totp.json | TOTP 密钥 + 备用码的 scrypt 哈希 |
| boot-recover.json | 可选的邮件救援配置(收件地址 + SMTP 授权码) |
逃生口与回滚
| 场景 | 怎么做 |
| 忘了 PIN / 被锁 30 秒 | 点「用验证器 6 位码进入」,或填备用码 |
| 手机和电脑都不在手上 | 双击 急救绕过.cmd,创建一个标记文件,宿主看到就直接放行 |
| 想彻底撤掉 | 双击 卸载.cmd,或 dsh plugin --profile desktop remove dsh-boot-handmade |
| 想退回旧版本 | 双击 回滚.cmd 选择目标提交 |
急救标记是一个本地文件:%USERPROFILE%\.dsh\boot-auth-bypass。删掉它(或双击 恢复锁定.cmd)即恢复验证。
门不会因为"等久了"自己打开——没有倒计时放行,也没有超时自动进入。
安全边界(请先读这段)
它是仪式感 + 家用门闩,不是保险箱。
- 这个锁保护的是动画和验证这一层,不是整个 Web 服务:懂技术的人可以打开开发者工具删掉遮罩节点,或者直接调宿主接口。
- 真正的强制门禁必须做在应用外壳前面(Electron 主进程 / 系统级),配置档插件够不着。
- PIN 是 scrypt 加盐哈希,会话令牌只在内存,错 5 次锁 30 秒;TOTP 密钥和备用码哈希都在本机。
- 但如果有人已经能读写你的用户目录,他可以直接删掉 boot-auth.json 绕过一切——这是本地锁的固有边界。
换句话说:别把唯一一份重要数据的访问权押在它身上。
常见问题
Q:点「Windows Hello」后系统窗口没出现,或者出现在应用后面? A:插件会把 Credential Dialog Xaml Host 那个窗口强制置顶并抢前台。仍然没出现的话,先到锁屏试试指纹是否正常;不正常说明是本机指纹驱动在用户会话里起不来,需要修驱动,和插件无关。
Q:验证器填了码一直说不对? A:确认填的是 6 位、且是当前显示的码(30 秒一换,插件容忍前后 60 秒)。手机和电脑时间差太多也会对不上。
Q:动画太长 / 太闪? A:门在约 0.8 秒后就可操作,装饰文字在门后面并行播放,不阻塞输入。频闪和撕裂效果已移除。
Q:能改成英文界面吗? A:目前界面文案是中文,代码里没有硬编码依赖,欢迎 PR。
技术细节
- 动画:纯 DOM + CSS + SVG,没有图片、没有字体文件、没有构建步骤
- 宿主半:一个 cordis 插件,注册 /boot-auth/* 路由
- PIN / 备用码:crypto.scryptSync + 随机盐
- TOTP:HMAC-SHA1,与 RFC 6238 官方向量对齐(仓库内 tools/test_totp.mjs 可复跑)
- 邮件救援:调用 Windows 自带 curl.exe 走 SMTPS,不引任何依赖
- 测试:tools/test_boot_auth.mjs(宿主 10 项)、tools/test_totp.mjs(24 项)、tools/test_recovery.mjs(14 项)
已知限制
- 应用内指纹依赖本机 Windows Hello 驱动;部分老驱动只能在锁屏用,应用内验证窗会拿不到采样。
- 启动画面从点击到出现仍受 Electron 本体启动时间影响,插件只负责"出现之后"的那段。
- 「直接进入(跳过验证)」是双入口模式的临时按钮,稳定几版后会移除。
参考动画与致谢
本项目的视觉语言与分幕节奏参考了下面这条视频,并沿着它的出处一路往上追到了三位更早的作者。
我们只做形式参考与工程重写,没有搬用任何原作者的素材或代码。
- 《deepseek 那些豪气冲天的启动动画》— @熟橘枯摘 · BV1T7nM6xEqo
它自己标注的三条源头:
| 灵感来源 | 作者 | 原仓库 |
| 最早的启动动画(按空格/回车推进的第一幕) | 沈宏宏 | 6shenhonghong9/dsh-startup-screen |
| 龙娘启动动画(线描手法) | @mytjxs | mytjxs/codex-startup-animation |
| 550C 启动动画 | @yannicksong0106 | yannicksong0106/dsh-550c-boot |
如果这几样对你有用,请去原仓库点个 star——功劳是他们的。
License
MIT
桌面启动器(V4.1 起内置)
DSH 主进程要几秒才建出窗口,这段时间里连点图标只会拉起几个立刻退出的进程,看起来像「点了没反应」。插件自带一个启动器脚本解决这个问题:
安装启动器.cmd 在桌面创建「DeepSeek Harness (Launcher)」快捷方式卸载启动器.cmd 移除该快捷方式 launcher/ 启动器本体(dsh-launcher.vbs + dsh-launcher.ps1)
点一下,约 100 ms 内弹出小窗显示「正在启动…」,主窗口出现后自动关闭;如果 DSH 已经在运行,启动器直接把已有窗口切到前面,不会重复启动。
排错:launcher/launcher.log 会记录每次调用的每一步。
在应用内修改访问 PIN(V4.1 起)
门上有「修改访问 PIN」入口,不用退出应用、不用把 PIN 重置成未知状态:
- 刚验证过(PIN / 指纹 / 动态码任意一种,5 分钟内):直接填新 PIN 两遍即可
- 没验证过:先填当前 PIN,再填新 PIN 两遍
- 改完不会退出登录,下次开门用新 PIN
为什么要有它:以前改 PIN 只能到门外重设,一旦中途失败,账号就进了死胡同。
现在改动是原子的——要么旧 PIN 还能用,要么新 PIN 已生效,没有中间态。
接口:POST /boot-auth/pin/change,参数 { next, confirm, current? }。
宿主只在「5 分钟内刚验证过」或「当前 PIN 正确」时接受。
DeepSeek 账号:由应用负责,门只负责带路(V4.1 起)
账号的登录与切换属于 DSH 应用本身,插件拿不到(核心的 service-accounts 没有对插件开放)。所以门上只做一件事:
门 →「DeepSeek 账号」→ 验证后进入 → 自动打开应用自带的账号菜单
为什么值得做:不是所有人都找得到那个入口。门在验证完成后会在 3 秒内查找账号/头像元素并点开;找不到就什么都不做——此时人已经在应用里,界面和平时一样。
进门之后也能改 PIN(V4.1 起)
门的入口只在门出现时存在,进了应用就找不到了。所以进入后右下角会常驻一个 ⚿ 按钮,点开就是「修改访问 PIN」面板,参数与门内的那个完全一致。
- 需要当前 PIN(刚验证过 5 分钟内可留空)
- 改完不退出登录,下次开门用新 PIN
- 面板自带样式,不依赖门那套样式表(门关掉时会一起移除)
入口位置与撞车处理(V4.1 起)
入口挂在左下角「已登录 DeepSeek」那一行,而不是飘在角落——那里才是人会看的地方。
找不到时按顺序退:头像/账号元素 → 侧栏底部 → 标题栏 → 右下角浮标。
防撞车:插入后量一次矩形,和自己兄弟节点重叠就撤掉、退到下一个位置;之后每 2 秒复查(最多 10 次),因为别的插件可能是稍后才注入的。
被挤掉时不会盖住别人的控件。
启动器卡在进度条怎么办
症状:小窗弹出来了,进度条跑满,但窗口一直不出现。
原因是任务管理器里还留着一个没有窗口的 DSH 进程,它占着单实例锁;新进程启动后被它挡回来、立刻退出,所以什么都看不到。
启动器现在会识别这种情形:约 5 秒后把小窗文案改成「已有实例在后台,等待窗口」, 20 秒后提示「请在任务管理器结束 DSH 后重试」。真遇到了,按提示做一次即可。
桌面启动器(V4.1 暂不发布)
启动器(launcher/ 目录)先不随这一版发布:它在部分机器上会出现「进度条跑满但窗口不来」的情况,根因还没查透。文件保留在仓库里,等定位清楚再决定是否收回来。安装/卸载的 .cmd 入口已一并移除。
安装启动器.cmd 只是给本地用;装了插件的人不需要跑任何脚本:
右下角 / 左下角的入口 → 「启动方式(可选)」→ 启用桌面启动器
- 默认不装,旧的快捷方式一直可用
- 启用后桌面多一个 DeepSeek Harness (Launcher),点下去立刻有反馈
- 不满意点同一处「卸载启动器」,旧入口从未被动过
之所以做成选装:新入口解决的是「连点好几次」的体感问题,但它依赖 DOM 与窗口行为,不是所有机器都需要,也不该在没验证过的情况下替用户做主。
入口改叫「更改登录细节」(V4.1 起)
这块面板现在管两件事,所以入口名不能只写改 PIN:
鼠标移到「更改登录细节」上 ├─ 更改登录 → PIN 表单 └─ 更改启动方式 → 桌面启动器开关
名字取“细节”是因为找的人不一定是在找密码——也可能是想换启动方式。
单独写「更改登录密码」会让另一半功能显得不存在。
指纹采样失败后的自愈(V4.1 起)
Windows 把 Hello 提示框放在 CredentialUIBroker.exe 里,而且会复用这个进程。
如果在采样中途把窗口关掉(点取消、按 Esc、直接关),broker 会保留一次失效的采样会话:下一次窗口照样弹出来、也显示「请扫描指纹」,但采不到任何东西,只有重启才行。
现在两种处理:
- 自动:这次 Hello 返回 Canceled / RetriesExhausted / no-result 时,宿主先 taskkill /F /IM CredentialUIBroker.exe 再自动重试一次
- 手动:POST /boot-auth/hello/reset 随时清掉卡住的 broker
代价是重试会多弹一次窗;但比“指纹彻底用不了、只能重启”好。
进门后的入口
右下角常驻 ⚿ 浮标,点开是「更改登录 PIN」。它完全在我们自己的 DOM 里,不碰应用界面的框架节点(之前挂进标题栏把界面卡死过,那条路废了)。
进应用后的那个 ⚿ 浮标曾经有两种实现:挂进应用标题栏(后来确认会把界面卡死,因为那部分 DOM 归 React 管),以及右下角浮标。两者在当前版本上都不稳定,故整段移除。
现在能改 PIN 的唯一位置是门本身(「更改登录密码」)。它不碰应用界面,是安全的。
桌面启动器改用 安装启动器.cmd 安装,不再依赖应用内入口。
层级与点得到(V4.1 起)
别的插件也在往右下角放东西,层级低于它们就会变成"看得见、点不到"。三层保障:
1. 门:z-index: 2147483640 + isolation: isolate——锁不该被任何插件盖住
2. 常驻入口:2147483645,面板 2147483646
3. 运行时自检:挂上 400ms 后用 elementFromPoint 量一次自己是不是最上层;被挡就重新 append 到 documentElement 末尾(同层级里后者赢),还被挡就上移一格
第 3 条会往控制台写一行 entry was covered by <对方>,方便以后定位是谁在抢位置。
面板关不掉(V4.1 起)
现象:点叉号没反应,反而听到余额挂件「叮」一声——因为那块角落同时被别的挂件占着,它的点击层压在我们的叉号上。
修法不是抢赢了事,而是让关闭有三条独立的路:
1. 叉号(34×34 热区、面板内 z-index: 5)
2. Esc(键盘,完全不经过那块区域)
3. 点面板外面任何地方
面板整体也从 right:20px 让到 right:84px,不再和挂件重叠。预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
zoushangkun-dev/dsh-startup-auth-cn
启动时播放六幕动画并用 PIN 或指纹验证身份
相关插件 · 其他
模型破甲清洗HunYiSage/dsh-purge
⚔️ DeepSeek Harness 网络安全红队工具dsh-purge
★ 16,993已汉化DeepSeek 客户端
73
女娲蒸馏alchaincyf/nuwa-skill
输入名人名字,提炼其思维模型与决策方式供你调用
★ 37,308已汉化DSH
72
逆向分析桥接Fanqi89/dsh-rea
REA(Reverse Engineer Anything)MCP 桥接,用来把 REA 逆向工具接入 DSH 插件
★ 51已汉化DSH
72
语音女友beiyege-01/dsh-voice-ai-girlfriend
语音 AI 女友Voice AI girlfriend for DeepSeek Harness:Whisper…
★ 888已汉化DSH
71.6
红队越狱测试套件Minglink/dsh-infinite-gen-5
DeepSeek v4.1 flash 逆向工具无限五代 求 Star 收藏 ⭐欢迎大家提交项目的改进
★ 3,759已汉化DSH
71.4
协同办公空间dream-num/univer-workspace
一个让人类与 AI Agent 共同创作、协作和审阅的开源 Office 工作空间。
★ 2,270已汉化DSH
70.8
这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。