dsh-webview-wrapper:DeepSeek Harness 的原生桌面窗口封裝

DeepSeek Harness (DSH) 的核心設計理念是「一切皆插件」。默認情況下,DSH 的 Web 表面運行在瀏覽器中。dsh-webview-wrapper 是一個開源插件,它利用 WebviewJS 引擎(Windows 上爲 WebView2,macOS 上爲 WebKit,Linux 上爲 WebKitGTK)將 DSH 的 Web 表面封裝進一個原生操作系統窗口。

該插件由維護者 no1xsyzy 開發,遵循 MIT 許可證,旨在作爲 DSH 的原生桌面外殼,無需 fork 或修補 Harness 本身即可提供原生體驗。

核心功能

該插件通過 WebviewJS 提供以下能力:

  • 原生窗口與系統托盤:創建一個 OS 原生的窗口來承載 dsh web 的界面。
  • 關閉到托盤:關閉窗口不會結束進程,而是將其隱藏到系統托盤,通過一個不可見的 1×1 窗口保持進程存活。
  • 托盤交互:支持托盤圖標雙擊打開窗口,以及托盤菜單操作。
  • 乾淨的卸載:卸載插件或關閉配置文件時,應用會通過效果清理器正確退出。
  • 服務集成:通過 WebviewJS 集成,接管 webServer 和 webRuntime 服務。

安裝與啓用

安裝該插件需要確保目標配置文件已掛載 Web Bundle(即 dsh web)。

前提條件:
* 安裝了標準的 deepseek-harness,且配置文件已啓用 Web 層。
* 系統滿足 WebviewJS 運行時要求(Windows 11/Edge WebView2,macOS 10.15+ WebKit,Linux WebKitGTK 4.1 + libxdo)。
* 安裝了 pnpm。

安裝命令:

dsh plugin --profile web add dsh-webview-wrapper

安裝完成後,重新啓動 DSH 即可加載該插件。

典型用法

  • 首次啓動:應用啓動後不會立即顯示主窗口,而是停留在系統托盤。
  • 打開窗口:雙擊托盤圖標,或從托盤菜單中選擇 “Show” 選項,將打開一個固定大小爲 1024×768 的窗口,顯示運行在 http://127.0.0.1:<port> 的 Web 界面。
  • 退出應用:唯一的標準退出路徑是通過托盤菜單中的 “Quit” 選項。

注意事項與限制

該插件目前處於早期階段,存在以下已知限制:

  • 無原生通知:不提供操作系統的原生彈窗通知。
  • 通用 HTTP 傳輸:Webview 加載 Web 應用使用的是通用 HTTP 傳輸,而非 WebviewJS 的 IPC 通信。
  • 無菜單欄:界面中不包含頂部的應用菜單欄,僅提供托盤菜單。
  • 控制台窗口:通過命令行啓動時,會顯示控制台窗口,且目前只能通過托盤 “Quit” 退出。
  • 固定窗口大小:主窗口大小固定爲 1024×768,暫不支持配置自定義尺寸或標題。
  • 無配置界面:目前沒有提供圖形化的配置入口。

總結

dsh-webview-wrapper 提供了 DeepSeek Harness 原生桌面化運行的基礎能力。作爲插件生態的一部分,它通過補丁層接管窗口生命週期,適合希望在原生環境而非瀏覽器中體驗 DSH 的開發者。使用時請留意其當前的功能侷限。

項目地址:
* GitHub 倉庫

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

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

小夜