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 查看說明與預覽資源:

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

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

小夜