前言¶
在 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 在應用內安裝:
- 打開 設置 → 插件。
- 搜索
dsh-desktop-restart-button(或從本地 tarball 安裝)。 - 重啓應用一次。
非 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 插件頁。