dsh-desktop-restart-button:爲 Windows 桌面端補上標題欄重啓與冷啓動動畫

前言

在 DeepSeek Harness(DSH)裏做智能體或插件開發時,桌面端經常要反覆改配置、裝插件、看 Host 是否按預期起來。官方 Windows 桌面窗口的菜單欄(應用 / 編輯)由 Electron preload 寫死,沒有對外暴露重啓 IPC,也沒有可用的 CLI 重啓入口;開發構建裏纔有 app.relaunch() 一類菜單項。dsh plugin --profile desktop 也不能用來管桌面 profile,因爲桌面 profile 完全由 Electron 應用自己管。

社區插件 dsh-desktop-restart-button(維護者 jh0oo)走桌面端唯一支持的擴展點:向 Host 的 index 注入表 推一行內聯腳本,在標題欄追加「重啓」按鈕,並可選地把冷啓動時的「正在加載設置…」換成一段純 CSS/SVG 的開機動畫。安裝與卸載都不修改 app.asar,Shipped 應用本體保持不變。

這是什麼

dsh-desktop-restart-button 是面向 DeepSeek Harness Desktop(Windows) 的 profile 插件:標題欄一鍵重啓當前桌面進程,以及可配置的冷啓動加載頁替換。代碼與說明見 GitHub 倉庫;社區目錄頁爲 SkillHub 條目。許可證爲 MIT,當前包版本爲 0.1.3(以 package.json 爲準)。

核心功能

標題欄重啓按鈕

按鈕出現在標題欄,緊挨在 應用、編輯 之後。點擊後走服務端路由 POST /dsh-desktop-restart-button/restart,再經 PowerShell / WMI / wscript.exe 鏈在 Job Object 之外 拉起真正的重啓腳本,避免「殺了桌面進程,重啓子進程也跟着死」的 Electron 行爲。

作者在本機測得:點擊到窗口再次出現約 5 秒,大頭在 Host 啓動,而非重啓腳本本身。

冷啓動開機動畫(可選)

默認在 Host 尚未就緒時,用科技風動畫替換原先單獨的 [role="status"] 加載態;真正的引導向導文案不受影響。動畫無 canvas、無 requestAnimationFrame 循環;支持 prefers-reduced-motion 時退回靜態展示。

配置項 bootAnimation 默認爲 true;設爲 false 可恢復應用原本的「正在加載設置…」文案。因注入行在啓動時收集一次,改配置後需重啓應用生效。

安全與行爲邊界

  • 重啓路由僅接受 dsh-app://app 與 loopback 來源,避免任意網頁觸發。
  • restart.ps1 在動手前用 IsProcessInJob 自檢;若仍在應用 Job 內,會通過 WMI 重新派發並退出,不會誤關應用。
  • 先嚐試正常關窗,超時再強殺;重啓發不起來時最長重試約一分鐘。
  • 日誌路徑:%USERPROFILE%\.dsh\dsh-desktop-restart-button.log。

安裝與啓用

桌面 profile 不能用 CLI 管理。按 README 在應用內安裝:

  1. 打開 設置 → 插件。
  2. 搜索 dsh-desktop-restart-button(或從本地 tarball 安裝)。
  3. 重啓應用一次。

非 Windows 上插件會加載但不顯示按鈕(菜單欄與 WMI/PowerShell 路徑僅 Windows 有效)。純 dsh web 會話沒有 preload 菜單欄,插件無害但不可見。

運行環境要求(來自 package.json):dsh 爲 >=0.2.0-rc.2 <0.3.0-0,Node >=20。插件以當前 DSH 進程權限運行,安裝前宜自行審閱源碼與 MIT 許可證。

典型用法

關閉開機動畫,保留原文案

在插件配置中寫入:

- id: dsh-desktop-restart-button
  name: dsh-desktop-restart-button
  config:
    bootAnimation: false

保存後重啓 DSH 桌面應用。

日常開發中的重啓

改完插件或 Host 相關設置後,點標題欄重啓即可,無需手動結束進程再找快捷方式。注意:桌面 Host 每次啓動綁定隨機端口,重啓後原先頁面 URL 無效,按鈕不會替你導航回上一頁。

適用場景與注意

維度 說明
適合誰 在 Windows 上用 DSH 桌面端做插件/配置迭代、需要頻繁乾淨重啓的開發者
平臺 dsh.bundle.platforms: ["win32"],僅 Windows
形態 僅桌面 Electron 窗口;Web 端無菜單掛載點
重啓目標 默認 process.execPath;異常時回退路徑爲作者文檔中的 D:\deepseek\DeepSeek Harness.exe

生態上 DSH 強調「一切皆插件」;SkillHub 等目錄爲社區站點,與 DeepSeek / 幻方無官方從屬關係,本文不以「官方應用商店」口吻描述安裝入口。

結尾

dsh-desktop-restart-button 用 index 注入在不動 app.asar 的前提下,補上 Windows 桌面端缺失的重啓入口,並可選美化冷啓動等待界面。需要細節、問題反饋或源碼時,見 GitHub:jh0oo/dsh-desktop-restart-button 與 SkillHub 插件頁。

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

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

小夜