dsh-pwa:DeepSeek Harness 的手機端 PWA

前言

DeepSeek Harness (DSH) 採用插件化架構,其官方 Web UI 主要針對桌面端優化。對於需要在移動端處理會話、審批或查看 Agent 問題的用戶,直接使用瀏覽器訪問桌面界面往往體驗不佳。dsh-pwa 插件旨在解決這個問題,它通過將一套運行在手機瀏覽器中的全屏應用界面掛載到 DSH 服務器上,提供類似原生 App 的體驗,且無需在手機上安裝任何應用。

插件定位

dsh-pwa 是一個由 jackxu925 維護的客戶端插件。它本身是一個純靜態文件的 Web 應用,掛載在 DSH Web 服務器的 /m 路徑下。插件與桌面 GUI 使用相同的 /api 接口,這意味着它直接複用了 DSH 的會話管理和 Agent 能力。

核心功能

插件提供了手機端操作所需的核心交互能力:

  • 會話管理:支持會話列表展示、工作區分組、搜索以及下拉刷新。具備真實的“待處理”篩選功能,可快速定位待審批會話和 Agent 問答。
  • 流式對話:支持流式響應,包含樂觀發送、隊列消息可見性、每日時間分割線和時間戳。支持代碼塊的複製按鈕和全屏圖片查看器。
  • 審批與交互:將審批請求和 Agent 問題呈現爲可點擊卡片。對於危險命令,界面會顯示紅色二次確認提示。
  • 多媒體支持:支持從相機、相冊或剪貼板粘貼發送圖片,並自動壓縮至模型限制以內。
  • 會話創建:支持在新建會話時選擇 Agent 預設。
  • 交互細節:支持觸覺反饋、深色/淺色主題切換、會話草稿自動保存,以及帶有手動重連按鈕的連接狀態指示。
  • 桌面端聯動:桌面 GUI 的“設置”菜單中會新增“手機端”入口,顯示當前手機訪問地址並提供一鍵複製功能。

安裝與啓用

安裝前需確保桌面端已安裝 dsh CLI。

  1. 創建或複用一個 Web 專用的配置文件,例如 ~/.dsh/profiles/web/package.json,並在 dependencies 中引入 dsh-pwa。
{
  "name": "dsh-profile-web",
  "private": true,
  "dependencies": {
    "dsh-pwa": "latest"
  },
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-pwa"
      ]
    }
  }
}
  1. 進入該配置目錄並執行安裝。
cd ~/.dsh/profiles/web && npm install
  1. 啓動 DSH Web 服務器。爲了在手機上訪問,需配置 --trusted-host 以允許跨域訪問。
dsh --profile web --host 0.0.0.0 --port 3080 --trusted-host <your-access-domain>

典型用法

  1. 手機訪問:在手機瀏覽器中打開 http://<host>:3080/m/,點擊“分享”或“添加到主屏幕”,即可獲得全屏 PWA 應用體驗。
  2. 遠程訪問:若在非局域網環境使用,可配合 Tailscale。確保手機和服務器均在同一賬號的 Tailnet 中,並在服務器啓動命令中添加 Tailscale 的主機名到 --trusted-host,隨後訪問 http://<tailscale-hostname>:3080/m/。

注意事項

  • 無需安裝 App:這是一個網頁應用,但通過 PWA 機制可以實現類似原生 App 的全屏體驗。
  • 安全模型:與 dsh web 保持一致。任何能夠訪問該 URL 的人都可以控制你的 Agent。
  • 離線限制:插件不支持離線使用,手機必須保持與 DSH 服務器的網絡連接。
  • 版本依賴:由於插件直接調用 DSH 的 /api 接口,它會跟隨 DSH 版本更新。若 DSH API 發生破壞性變更,插件可能需要同步更新。

總結

dsh-pwa 爲 DeepSeek Harness 提供了一個輕量級且無需安裝 App 的移動端解決方案。它通過複用現有的 API 協議,在手機瀏覽器中實現了會話管理、流式對話、審批交互及多媒體支持。對於需要在移動端處理 Agent 任務的開發者而言,這是一個務實的工具。

相關鏈接:
GitHub 倉庫
社區目錄

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

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

小夜