dsh-desktop:爲 DeepSeek Harness 提供托盤、桌面窗口與開機自啓的 Windows 伴侶插件

前言

在 Windows 上用 DeepSeek Harness(DSH)Web profile 的開發者,每天的入口大概是這樣:打開終端,執行 dsh web,等服務起來,再切到瀏覽器訪問。沒有托盤圖標,沒有桌面快捷方式,重啓電腦後一切重來。要做成傳統意義上的「桌面客戶端」,就得額外維護一條下載、安裝、更新的鏈路。

dsh-desktop 換了個思路:把桌面端體驗做成一個 Web 插件。DSH 的理念是「一切皆插件」,桌面端也不例外——它以 Web 插件形式提供,不需要另裝獨立的桌面客戶端,全程無需管理員權限。裝完插件重啓 Web profile,托盤、桌面窗口、開機自啓就都到位了。

這是什麼

dsh-desktop 是 DeepSeek Harness 的桌面端伴侶插件,由 LvsH13 維護,npm 包名 @dsh-external/dsh-desktop,當前版本 0.7.7,許可證 MIT,運行時唯一依賴爲 schemastery。一句話定位:托盤鯨魚圖標、桌面快捷方式、開機自啓直達桌面窗口,一鍵切換桌面/Web 模式。

核心功能

托盤與桌面窗口

通知區域常駐鯨魚圖標,右鍵菜單一鍵打開、重新啓動、退出。桌面窗口使用本地 Chromium 應用模式(--app)渲染,1352:972 自適應比例、屏幕居中、可自由縮放,並使用獨立瀏覽器 profile。推薦安裝 Microsoft Edge 或 Google Chrome;兩者都沒有時,回退爲默認瀏覽器普通窗口。

秒級啓動與開機自啓

開機登錄任務經 wscript.exe 隱藏啓動器(冷啓動 <1s)拉起 node <entry> web;服務就緒前,桌面窗口顯示內置啓動頁 boot.html,就緒後自動跳轉。自啓通過任務計劃程序登錄觸發器實現(DSHDesktop 任務,無需管理員權限),HKCU\...\Run 僅作註冊失敗時的兜底。所有外部 PowerShell 啓動均經過 wscript.exe 隱藏運行器(Win32 SW_HIDE),開機、打開、切換全程無終端窗口閃現。

桌面/Web 一鍵切換

設置頁按鈕按當前狀態顯示「切換桌面端 / 切換網頁端」,狀態自動檢測:以窗口 PID 記錄爲主,WMI 命令行匹配兜底。

穩定性與設置面板

退出即重開、托盤自愈、競態防護:單次啓動請求互斥鎖、tray.pid 單一所有權、quit 標記等待。DSH Web UI 新增「桌面端」設置區,提供狀態卡片、一鍵操作與上次打開診斷;此外還支持一鍵顯示/隱藏 Harness 終端窗口,以及創建桌面快捷方式。

環境要求

  • Windows 10 / 11。在 macOS/Linux 上插件雖能被加載、不會崩潰,但托盤、桌面快捷方式、開機自啓等桌面功能無法工作(依賴 Windows PowerShell 與任務計劃程序)。
  • Node.js ≥ 20(與 DeepSeek Harness 相同)。
  • DeepSeek Harness Web profile(dsh web)。
  • 全程無需管理員權限。

安裝與啓用

方式一:一條命令安裝(推薦)

先在任意終端執行:

dsh plugin --profile web add github:LvsH13/dsh-desktop

再重啓正在運行的 Web profile。經過上面的步驟,通知區域會出現鯨魚托盤圖標,設置頁會出現「桌面端」區塊。

方式二:從源碼安裝

git clone https://github.com/LvsH13/dsh-desktop.git
dsh plugin --profile web add "克隆後的 dsh-desktop 目錄絕對路徑"

同樣重啓 Web profile 後生效。

方式三:手動添加

在 Web profile 目錄執行:

npm install github:LvsH13/dsh-desktop

然後在 profile 的 cordis.patch.ymlinsert 列表中加入:

- insert:
    - id: dsh-desktop
      name: '@dsh-external/dsh-desktop'

重啓 Web profile,插件生效。

卸載

dsh plugin --profile web remove "@dsh-external/dsh-desktop"

隨後可選清理:退出托盤、關閉自啓(刪除 DSHDesktop 任務計劃程序任務;若曾走 Run 鍵兜底,再刪除 HKCU\...\Run 中的 DSHDesktop 鍵值)、刪除桌面快捷方式與 %LOCALAPPDATA%\dsh-desktop 目錄。

典型用法

打開「設置 → 桌面端」,可以查看 Harness 服務、托盤、桌面窗口、快捷方式、自啓、終端的即時狀態;開關開機自啓動;切換桌面端/網頁端;啓動/退出托盤;創建桌面快捷方式;顯示/隱藏終端。

托盤右鍵菜單中的「重新啓動」會按順序停止並重啓 Harness,保留托盤圖標與開機自啓設置;重啓期間重複點擊,不會創建額外的 Node 實例。

「上次打開」一行會報告上次啓動的就緒耗時(如 就緒耗時 1.2s)與窗口模式(獨立窗口 / 默認瀏覽器),或失敗原因——遇到卡頓時先看這裏。

適用場景與注意事項

適合在 Windows 上日常使用 DSH Web profile、希望開機即用、少碰終端的開發者,也適合需要在桌面端與網頁端之間來回切換的場景。

使用前注意:

  1. 僅支持 Windows 10 / 11,macOS/Linux 下桌面功能不可用(見環境要求)。
  2. 應用模式桌面窗口需要 Chromium 內核,建議安裝 Microsoft Edge 或 Google Chrome;兩者都無時回退爲默認瀏覽器普通窗口。
  3. 保持 dsh-tray.ps1 爲 UTF-8 with BOM 編碼,否則 Windows PowerShell 5.1 會亂碼讀取。
  4. 卸載時需手動清理托盤、自啓、快捷方式與 %LOCALAPPDATA%\dsh-desktop 目錄。
  5. 插件以當前 dsh 進程的權限運行,安裝前建議瀏覽倉庫源碼,並確認 MIT 許可證符合你的使用要求。

小結

dsh-desktop 把 DSH 的「一切皆插件」落到了桌面體驗上:一個 Web 插件,換來托盤、桌面窗口與開機自啓,不需要引入獨立客戶端的維護成本。倉庫與社區目錄地址如下:

  • GitHub:https://github.com/LvsH13/dsh-desktop
  • 社區插件目錄:https://www.skillhub.cn/plugins/LvsH13/dsh-desktop
羽毛球分组比赛记分
小程序二维码

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

小夜