dsh-native-launcher:爲 DeepSeek Harness Web UI 增加 Windows 桌面啓動體驗

前言

DSH 的插件生態裏,很多能力都可以圍繞 Web UI 做擴展,但窗口啓動、托盤、通知和關窗退出這類桌面行爲,通常不在 Web 服務本身的處理範圍內。dsh-native-launcher 針對這部分做一層適配:在 Windows 上把 DeepSeek Harness Web UI 的啓動入口、窗口行爲、托盤通知和卸載清理整理成一組可開關的功能。

它由 ingleav626-art 維護,使用 MIT 許可證。它不替換官方 Web UI,也不引入 Electron / Python / WebView2 等重型桌面端或運行時,而是在 DSH 官方插件生態及其官方基礎依賴上,用 Windows 原生機制補上桌面 App 式的一鍵啓動體驗。

這是什麼

一句話:dsh-native-launcher 是一個面向 Windows 的 DSH 插件,用來把 WebUI 啓動成桌面應用式入口,並提供托盤、通知、設置頁和一鍵卸載。

它主要解決這幾類操作:

  • 不想每次手動跑命令啓動 WebUI。
  • 希望雙擊桌面圖標即可啓動或回到已有窗口。
  • 希望任務完成、出錯、等待審批時有系統通知。
  • 希望關閉窗口時的服務退出行爲可配置。
  • 希望卸載時能清理插件生成的文件、快捷方式、註冊表項和 profile 條目。

核心功能

桌面快捷方式

安裝後會生成桌面快捷方式。雙擊可啓動或返回 WebUI。設置頁裏可以自定義快捷方式名稱,也可以強制重建。

獨立應用窗口

可以把 WebUI 安裝爲桌面應用。應用窗口擁有獨立任務欄圖標,也沒有瀏覽器地址欄。如果沒有安裝應用,插件會按設置頁裏的打開方式回退。

窗口自動聚焦

如果 WebUI 已經在運行,再次點擊快捷方式或托盤時,插件會把已有窗口切換到前臺,而不是再開一個實例。

系統托盤與任務通知

插件提供常駐托盤圖標,入口包括“打開 WebUI”和“退出”。任務狀態變化會通過 Windows 原生通知提醒,覆蓋任務完成、出錯、中止、被阻塞、達到上限,以及等待審批、等待回答、計劃審閱等狀態。

通知以托盤通知爲主通道,瀏覽器通知僅作兜底。Windows 可能會靜默屏蔽短時間內的連續通知,測試通知時建議間隔幾秒再點。

關閉語義

當所有窗口都關閉,並且沒有運行中任務時,服務會自動停止;如果仍有任務在運行,服務會等待任務完成後再停止。設置頁裏可以關閉“關窗自動退出”,讓服務在關窗後繼續常駐。

設置頁與模塊化

設置頁提供可視化配置,並持久化保存。可配置項包括:

  • 啓動命令
  • 端口
  • 快捷方式名稱
  • 打開方式
  • 托盤開關
  • 通知開關
  • 關閉語義參數
  • 各功能模塊開關

附加功能以獨立模塊形式提供,可以單獨啓用或停用。如果已經使用其他同類插件,可以在設置頁關閉對應模塊,減少功能衝突。

一鍵卸載與日誌

設置頁提供一鍵卸載:停止服務、移除桌面快捷方式、清理生成文件與註冊表項、從 profile 移除插件條目,並可選擇清除個性化配置。

啓動、運行、卸載過程都有結構化日誌。卸載日誌位於:

%USERPROFILE%\.dsh-webui-launcher\uninstall.log

該日誌不會被卸載清理。通知問題可查看:

~/.dsh-webui-launcher/tray-notify.log

安裝與啓用

平臺與版本要求

僅支持 Windows 10/11,x64。macOS / Linux 請勿安裝。

需要:

dsh >= 0.1.0-rc.8

如果 dsh 版本過低,可執行:

npm install -g @deepseek-ai/dsh@0.1.0-rc.8

從 rc.8 開始,dsh web 默認會打開瀏覽器;dsh-native-launcher 通過 --no-open 避免插件和官方行爲同時打開頁面導致雙開。

dsh plugin 命令依賴 pnpm。如果提示:

pnpm is not recognized

可執行:

npm install -g pnpm

或:

corepack enable pnpm

@deepseek-ai/schemastery 是 DSH 官方基礎依賴,會隨插件安裝聲明;它用於設置頁 schema,不屬於額外社區功能框架。

方式一:npm 安裝

npm install -g dsh-native-launcher
dsh plugin --profile web add dsh-native-launcher

方式二:源碼安裝

git clone https://github.com/ingleav626-art/dsh-native-launcher
dsh plugin --profile web add <path-to-repo>

源碼安裝後,重啓 dsh web 後生效。

安裝後檢查

安裝並重啓後,桌面應出現快捷方式,右下角托盤應出現圖標。雙擊快捷方式即可啓動或返回 WebUI。

典型用法

啓動 WebUI

安裝後,直接雙擊桌面快捷方式。如果 WebUI 未運行,會啓動服務;如果已經運行,會切換到現有窗口。

安裝爲桌面應用

用普通標籤頁打開:

http://127.0.0.1:3080

在頁面提示框中點擊安裝。如果瀏覽器沒有彈出安裝提示,可在 Edge 菜單中進入:

⋯ → 更多工具 → 應用 → 將此站點安裝爲應用

安裝完成後,快捷方式會優先打開獨立應用窗口。

修改設置

設置頁可配置啓動命令、端口、快捷方式名稱、打開方式、托盤開關、通知開關、關閉語義參數,以及各功能模塊開關。修改保存後會持久化。

處理通知未收到

如果托盤通知沒有收到,可先確認托盤圖標存在,再查看:

~/.dsh-webui-launcher/tray-notify.log

在設置頁發送測試通知時,建議間隔幾秒再點,避免 Windows 短時間內屏蔽連續通知。

修改端口後舊應用打不開

修改 port 後,舊 PWA 仍可能指向舊端口。啓動時可能回退到 --app 模式,功能仍可用。舊應用需要到:

edge://apps

手動卸載後再安裝。

不想關窗退出服務

如果希望關閉窗口後服務繼續運行,在設置頁關閉“關窗自動退出”。之後需要手動使用托盤裏的退出入口停止服務。

快捷方式依賴全局 dsh 命令

快捷方式通過 dsh 命令啓動服務,依賴 PATH 中的全局 dsh 命令。v0.2.1 起可自動回退 npx 啓動並顯示提示;如果平時未全局安裝 dsh,仍建議確認 PATH 中的 dsh 命令可用。

卸載

推薦在設置頁執行一鍵卸載。它只會移除本插件提供的桌面化增強組件;dsh 服務本身與其數據不受影響。可選擇是否清除個性化配置。

手動備用方式:

dsh plugin --profile web remove dsh-native-launcher

並清理:

~/.dsh-webui-launcher

以及桌面上的 DSH WebUI 快捷方式。卸載日誌仍保留在:

%USERPROFILE%\.dsh-webui-launcher\uninstall.log

適用場景與注意

適合:

  • Windows 10/11,x64 上的 DSH WebUI 用戶。
  • 希望桌面快捷方式、托盤、通知和關窗退出統一管理。
  • 希望保持輕量,不引入 Electron / Python / WebView2。
  • 希望功能可單獨開關,減少與其他插件衝突。

注意:

  • 僅限 Windows;macOS / Linux 不要安裝。
  • dsh 版本需要 dsh >= 0.1.0-rc.8。
  • dsh plugin 依賴 pnpm。
  • 托盤通知是主通道,瀏覽器通知是兜底;短時間連續通知可能被 Windows 靜默屏蔽。
  • 修改端口後,舊 PWA 可能仍指向舊端口。
  • 一鍵卸載只移除桌面化增強組件,不影響 dsh 服務本身與數據。
  • 插件會在當前 dsh 進程權限下運行。安裝前建議檢查源碼、依賴聲明和 MIT 許可證。

鏈接

目錄頁:

https://www.skillhub.cn/plugins/ingleav626-art/dsh-native-launcher

GitHub:

https://github.com/ingleav626-art/dsh-native-launcher
羽毛球分组比赛记分
小程序二维码

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

小夜