dsh-desktop-packager: 封裝 DeepSeek Harness 爲 macOS 桌面應用

前言

DeepSeek Harness (DSH) 是基於插件架構的系統,開發者通常在本地構建後通過 Web 界面或 CLI 使用。如果需要將 Harness 部署爲獨立的桌面應用程序,直接操作 Electron 封裝較爲繁瑣。

dsh-desktop-packager 插件解決了這個問題。它通過 Electron 封裝已構建的 Harness checkout,生成 .app 和 .dmg 文件,並允許通過 Web Settings 進行配置定製。

核心功能

  1. 桌面打包工具:註冊工具 dsh_package_desktop,將已構建的 deepseek-harness 封裝爲 .app + .dmg。
  2. Web 配置界面:在 dsh web 的 Settings 中新增「桌面打包」菜單,包含 4 個 Tab:
    • 設計方案:配置應用名、Logo、主題色、背景色。
    • 插件設置:選擇打包進 App 的插件。
    • 模型設置:選擇打包進 App 的模型。
    • 權限設置:配置用戶賬號、密碼及權限。
  3. 定製化配置:
    • 主題變量注入:支持自定義顏色並注入 Electron 主題變量。
    • 插件與模型過濾:通過寫入 DSH_HOME/desktop-config.json 實現運行時過濾。
    • 用戶登錄控制:通過 Electron 實現登錄門,密碼使用 scrypt 加鹽哈希存儲。
  4. 雙端架構:採用 Host(原生 TS)+ Client(瀏覽器 Bundle)的雙端架構,Host 提供服務與工具註冊,Client 提供 Web UI。

安裝

在終端執行以下命令安裝插件:

dsh plugin --profile web add /path/to/dsh-desktop-packager

安裝後需重啓 dsh web 以使配置生效。

使用步驟

  1. 配置打包參數:打開 dsh web,進入 Settings 的「桌面打包」菜單。在「設計方案」中設置應用名、Logo 路徑及主題色;在「插件設置」和「模型設置」中勾選需要包含的內容;在「權限設置」中配置用戶及權限。
  2. 執行打包命令:調用註冊的工具 dsh_package_desktop。示例參數如下:
dsh_package_desktop \
  --dshCheckoutDir /path/to/deepseek-harness \
  --out ~/Desktop/DeepSeek-Harness-dist \
  --appName "DeepSeek Harness" \
  --bundleId com.deepseek.harness \
  --arch arm64

打包工具會讀取 Web Settings 中的配置,生成定製化的桌面應用。

注意事項

  • 運行環境:依賴 macOS 系統,需要 Node.js 版本 ≥ 22.19。
  • 依賴項:必須提供一個已構建的 deepseek-harness checkout(包含 apps/cli/lib/bin.js 和 apps/web/dist)。
  • 簽名與分發:默認爲 ad-hoc 簽名,分發給其他用戶時需配合 Developer ID 簽名與公證。
  • 安全性:用戶密碼僅保存 scrypt 加鹽哈希,不會以明文形式存儲。
  • 配置文件:定製化狀態存於 ~/.dsh/desktop-packager/config.json,改動源碼或配置後建議重啓服務。

結語

dsh-desktop-packager 爲 DSH 用戶提供了將本地開發環境打包爲獨立 macOS 應用的能力,適合需要分發特定配置或私有化部署 Harness 的場景。

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

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

小夜