DeepSeek Harness PWA 插件:添加離線與安裝能力

DeepSeek Harness (DSH) 的核心理念是“一切皆插件”。在構建 Web 界面時,如果希望應用具備離線訪問能力,並能被安裝到桌面或移動端,需要額外的 Service Worker 和 Manifest 配置。下面介紹的 dsh-pwa-plugin 正是爲了解決這一問題。

插件簡介

這是一個爲 DeepSeek Harness 提供的 PWA 插件。它通過 Service Worker 實現智能緩存策略,允許靜態資源離線訪問,並提供標準的 PWA Manifest 以支持將應用安裝爲獨立應用。

插件由 RaulLazaro 維護,採用 MIT 許可證。

安裝與啓用

安裝過程包含三個步驟,需要在 DSH 的 Web 配置文件中進行修改。

  1. 添加依賴

在 DSH Web Profile 的 package.json 中添加依賴項:

{
  "dependencies": {
    "dsh-pwa-plugin": "file:~/workspace/dsh-pwa-plugin"
  }
}
  1. 註冊插件

在 Profile 的 cordis.patch.yml 中插入插件配置:

- insert:
    - id: dsh-pwa
      name: 'dsh-pwa-plugin'
  1. 重啓 DSH

執行以下命令重啓服務:

dsh web

核心功能

插件託管並注入以下文件:

  • /sw.js:Service Worker 腳本
  • /manifest.webmanifest:PWA 配置清單
  • 圖標文件

插件會自動檢測並靜默激活新版本,無需手動干預。

緩存策略

插件爲不同類型的資源定義了差異化的緩存策略:

資源類型 策略 說明
HTML Network-first 始終嘗試獲取最新版本
JS/CSS/Fonts/Images Cache-first 可用時優先從緩存提供
API calls Not cached 始終走網絡請求

工作原理

  1. 插件作爲 Host 插件運行,提供靜態資源文件。
  2. 插件將 Service Worker 註冊腳本注入到 HTML 中。
  3. Service Worker 啓動後,緩存靜態資源(包括圖標)供離線使用。
  4. Manifest 文件允許瀏覽器將應用安裝爲 PWA。
  5. 利用 DSH 內置的 /favicon.svg 作爲圖標源,不進行覆蓋。
  6. 更新檢測到後,會自動觸發頁面重新加載以應用新版本。

注意事項

  • HTTPS 要求:Service Worker 必須在 HTTPS 環境下運行(localhost 除外)。
  • API 限制:Service Worker 無法緩存 API 調用,API 請求始終走網絡。
  • 版本依賴:需要 @deepseek-ai/cordis 版本在 ^4.0.1 以上。
  • 更新機制:檢測到新版本後,需要頁面重新加載才能生效。

資源鏈接

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

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

小夜