dsh-mobile:讓手機通過局域網連接 DeepSeek Harness

前言

DeepSeek Harness(DSH)的日常操作通常發生在桌面端:瀏覽器裏的 web GUI,或者桌面殼的窗口。人離開工位時,想在手機上查看某個 workspace 的會話歷史、補發一條 prompt,一般沒有現成入口。

dsh-mobile 解決的就是這個問題。它在局域網內搭一條手機連接橋:桌面端出示二維碼,手機掃碼配對,桌面批准後,手機直接打開一個爲移動端優化的 DSH 客戶端。下面介紹這個插件的定位、功能、安裝與用法。

這是什麼

dsh-mobile 是面向 DeepSeek Harness 本體的插件,由 s17179XTY 維護,許可證爲 MIT,當前版本 1.0.1。一句話概括:局域網手機連接橋(二維碼配對 + 桌面端批准 + 移動端 DSH 客戶端),並在 Web GUI 設置行提供手機入口與連接狀態點。

DSH 的理念是「一切皆插件」。這個插件只面向 DSH 本體,不綁定任何特定殼應用:只要部署運行着 DSH web profile——命令行 dsh web、Bigfish、類 DSH Desktop 的桌面殼或任何封裝——都可以安裝使用。包內不含 Bigfish 或 DSH Desktop 專用代碼。

核心功能

二維碼配對與桌面端批准

手機掃描二維碼完成配對,token 每 30 分鐘輪換,比較使用 timing-safe 方式;桌面端確認後,手機獲得 HttpOnly 會話 cookie。

移動端 DSH 客戶端

手機端可以使用 workspaces、會話列表、聊天曆史,可以發送 prompt、停止生成。客戶端由橋提供服務,局域網內完整可用。

設置行手機入口

手機圖標位於 Web GUI 設置行右端。有手機配對時顯示綠色連接點。點擊圖標打開配對/管理對話框,包含二維碼、複製、倒計時、批准/拒絕、斷開等操作。

三段式結構

插件由三部分組成:

  • LAN 橋(lan-bridge.mjs):獨立 Node HTTP 服務器,綁定 0.0.0.0 隨機端口,負責配對、移動客戶端、RPC 轉發,以及 /desktop* JSON/QR 端點(含 CORS)。
  • 宿主插件(lib/index.js):生成並監控橋(自動重啓、有次數上限),暴露 /phone-connect/bridge/phone-connect/config
  • 客戶端插件(lib/client.js):__ModuleLoader__ bundle,提供設置行手機入口(綠點)、配對對話框、複製/倒計時/批准 UI。

安裝與啓用

插件需要 DeepSeek Harness web profile,任何運行 web profile 的部署均可安裝。先執行安裝命令:

dsh plugin --profile web add https://github.com/s17179XTY/dsh-mobile

也可以通過 DSH 插件市場 / dshmarket UI 安裝。

安裝後重啓 harness(或重啓 profile),讓 cordis.patch.yml 中的對應行掛載。包依賴 qrcode(^1.5.4),由 profile 的包管理器自動安裝。

典型用法

1、打開 web GUI,在設置行(左下側欄)右端找到手機圖標。

2、點擊圖標打開配對對話框。二維碼有效期 30 分鐘,到期自動刷新,URL 旁有 Copy 按鈕。

3、手機保持與桌面同一可信 Wi-Fi,用相機掃碼,或打開復制的 URL。

4、對話框顯示待配對手機,點擊「允許 / Allow」。

5、手機打開移動端 DSH 客戶端。連接在後臺保持活動,圖標顯示綠點;重開對話框可以斷開連接或刷新二維碼。

配對 URL 在其完整生命週期內跨對話框會話有效,僅過期 token 纔會被輪換。

殼側整合

插件與殼的整合分兩個層面。

純瀏覽器部署無需額外工作:設置行手機入口與配對對話框由客戶端插件提供,隨插件自動出現在 web GUI 中。

原生桌面殼(例如類 DSH Desktop 的 Electron 應用)則要注意:插件無法向殼的原生菜單欄注入菜單項,這部分屬於殼自己的代碼。作爲替代,插件提供 desktopUrl 鉤子。宿主插件在 GET /phone-connect/bridge 暴露橋的快照,其中 desktopUrl 指向:

http://127.0.0.1:<port>/desktop

該頁面僅限 loopback 訪問,內容是完整的配對/管理界面(二維碼、自動刷新、批准/拒絕、斷開)。殼可以用一次同源 HTTP 調用發現這個 URL,然後在自己的「連接手機」菜單或托盤項裏打開一個小窗口,不需要額外配置或憑據。

安全設計

插件的默認配置以安全爲先:

  • 橋綁定 0.0.0.0 隨機端口,拒絕非私網客戶端(10/8172.16/12192.168/16、ULA 與鏈路本地 IPv6)。
  • /desktop* 端點僅限 loopback;CORS 僅授予 harness GUI 來源。
  • 配對 token 爲 32 隨機字節,timing-safe 比較,30 分鐘 TTL。
  • 手機會話使用 HttpOnly、SameSite=Strict cookie。
  • 移動客戶端只能調用白名單內的 RPC 方法:workspace.listsession.listsession.historysession.createsession.promptsession.cancel
  • 客戶端啓用嚴格 CSP 頭。

請只在可信網絡中使用。不需要手機訪問時,從 cordis.patch.yml 移除 dsh-mobile 行,或直接卸載插件。

注意事項

  • 插件以當前 dsh 進程的權限運行。安裝前建議先檢查倉庫源碼與許可證(MIT,倉庫內附 LICENSE)。
  • 橋崩潰時,宿主會自動重啓,最多 5 次,間隔 3 秒;/phone-connect/bridgeerror 字段攜帶最後一次退出原因。
  • 移動端能執行的操作受 RPC 白名單限制,即上面列出的六類方法。

小結

dsh-mobile 把 DSH 的使用範圍從桌面擴展到了同一局域網內的手機:掃碼配對、桌面批准、移動客戶端,三步完成,安全配置默認生效。對經常在工位之外還需要跟進會話的開發者,這是一個值得裝上的補充。

  • 目錄頁:https://www.skillhub.cn/plugins/s17179XTY/dsh-mobile
  • GitHub:https://github.com/s17179XTY/dsh-mobile

需要說明的是,skillhub.cn 是社區維護的插件目錄站點,獨立運營,與 DeepSeek / 幻方無官方從屬關係。

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

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

小夜