dsh-rsa:为 DeepSeek Harness 配置真实主进程启动画面

前言

启动 DeepSeek Harness(DSH)桌面端时,从点击图标到主窗口出现之间,常会有一段空白等待。对启动偏慢的机器,这段时间很难区分「正在加载」还是「已经卡住」。常见做法是在外层再包一层启动器,或在主窗口里做 loading 页——它们往往不能做到「一点击就立刻有画面」,也未必与 DSH 自身的浅色/深色主题一致。

下面介绍社区插件 dsh-rsa(Real Startup Animation,RSA):在 Electron 主进程里渲染可配置的启动画面(splash screen),在主窗口出现之前就显示;配置可在设置页实时预览,并通过改写 app.asar 深度部署,使下次启动生效。

这是什么

dsh-rsa 由维护者 BeckChiang 发布,在 DSH 插件目录中归类为「趣味换装」。当前包版本为 0.2.0,许可证 MIT(见仓库 package.json)。

一句话定位:在 DSH 主窗口加载完成之前,由主进程弹出透明无边框启动窗,展示可定制的 Logo、中心文案、署名、背景光球与进度光环等;支持中英双语,浅色/深色可跟随 DSH 主题或在设置里强制指定。

插件主页与源码:

DSH 生态强调「一切皆插件」;Skillhub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系,下文安装与配置均以仓库 README 为准。

核心功能

经 README 核实,插件具备以下能力(未在资料中出现的细节不写进正文):

  1. 真实主进程启动画面:非外层 wrapper,splash 在 DSH 主窗口出现前由主进程渲染;主窗口在后台继续加载。
  2. 设置入口:设置 → RSA 启动画面。
  3. 主题与语言:中英双语;浅色/深色跟随 DSH 主题,也可在配置里强制浅色或深色。
  4. 实时预览:修改参数后通过 POST /rsa/preview 生成预览,设置页以 iframe srcdoc 展示效果。
  5. 深度部署:根据当前配置生成 lib/splash.cjs,必要时在 package.json 的 main 入口首行自动注入 import("./splash.cjs"),重打包产出 resources/app.asar.rsa-new,再经 pending 机制替换运行中的 app.asar。
  6. 一键恢复默认:当前方案即默认配置。
  7. 配置持久化:写入插件目录下 data/(config.json / state.json);从 npm 安装时通常在 profile 的 node_modules/dsh-rsa/data/,卸载重装会回到默认配置。

预览示意(README 提供浅色/深色 GIF):28 帧循环来自实际 splash 页面,署名行在右下角。

安装与启用

安装前请自行查看仓库源码与 MIT 许可证;插件在当前 DSH 进程权限下运行,深度部署会修改 DSH 安装目录内的 app.asar。

收录后可用包名安装,或在插件市场面板搜索 dsh-rsa:

plugin_manager install_bundle dsh-rsa

也可直接从源码仓库安装:

plugin_manager install_bundle https://github.com/BeckChiang/dsh-rsa

安装完成后,在 DSH 设置 中打开 RSA 启动画面 即可进入配置与预览。

典型用法:调参、预览与深度部署

1、在设置页调整配置

README 将可调项归纳为下表(仅列资料中明确写出的分组与字段):

分组 可调
窗口 宽、高、圆角半径
主题 跟随系统 / 强制浅色 / 强制深色,浅色与深色卡片不透明度
Logo 倍率(0.1×–5×,1× = 320 px 基准宽,等比且不超过窗口宽)、距顶距离、自定义浅色/深色图
中心文字 内容、字号、字体、字重、斜体、距顶、动效(rise/fade/none)、周期、逐字延迟、字距
署名 内容、字号、是否显示、四角位置、偏移
背景光球 开关、动效(float/drift/pulse)、速度、两个光球透明度
进度光环 开关、样式(band/dots/breathe)、光带长度、周期、拖尾、线宽

改参数时利用实时预览确认效果,再决定是否部署。

2、点「深度部署」并重启两次

部署机制按 README 步骤可复现为:

  1. 点击「深度部署」→ 插件读取当前配置 → 生成 lib/splash.cjs → 若入口尚无 splash 插桩,则在首行注入 import("./splash.cjs") → 重打包出 resources/app.asar.rsa-new。设置页状态栏会显示插桩状态:已存在 / 首次部署时自动注入 / 缺失。
  2. 重启 DSH 一次:进程退出后,插件在下次启动约 2.5 秒时执行 applyPending(),将 pending 复制为 app.asar 并删除 pending 文件。
  3. 再启动一次:此次启动才加载新 asar,显示新启动画面。

需要两次重启的原因:Windows 下运行中的 Electron 占用 app.asar(文件锁),无法热替换。

首次部署会创建 resources/app.asar.rsa-backup 作为回滚点(只创建一次)。回滚时:退出 DSH,将 app.asar.rsa-backup 复制回 app.asar。DSH 升级若覆盖官方 app.asar,需重新部署一次,插桩会自动补回。

适用场景与注意

适合谁

  • 希望点击 DSH 后立刻看到启动反馈、减少「空屏焦虑」的桌面端用户。
  • 想在不改官方 exe、不触发 SmartScreen 的前提下,自定义启动视觉(README 写明插件只改 app.asar,不碰官方 exe)。

已知限制(README)

  • setShape 圆角裁剪依赖 Electron 版本;DSH 桌面端(Electron 44)可用。
  • 启动窗为 transparent + frame:false + setShape,非 DSH 桌面端不适用。

安全与运维

  • 深度部署改写应用包内容,升级 DSH 后可能要重新部署。
  • 安装与使用前建议阅读 https://github.com/BeckChiang/dsh-rsa 源码与 issue,确认与本地 DSH 版本匹配。

结尾

dsh-rsa 把可配置的启动画面放进 DSH 主进程,并用设置页预览 + app.asar 深度部署把效果固定到下一次启动。若你正在物色 DSH 的「趣味换装」类插件,可从目录页或 GitHub 查看说明与预览资源:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye