dsh-lan-gate:用移動熱點讓手機瀏覽器操控本機 DSH

前言

DeepSeek Harness(DSH)桌面版自帶的 Web 界面默認只監聽 loopback,並帶有進程級鑑權。想在局域網裏用手機看流式輸出、點審批、發指令,常見做法是公網隧道、遠程桌面或自己寫轉發——要麼暴露面大,要麼只能看不能完整交互。維護者 HYF00246 的 dsh-lan-gate 是 DSH 社區目錄裏歸類爲「客戶端」的插件:在 Windows 移動熱點網段內起一個帶懸浮開關的本地代理,手機瀏覽器打開固定地址即可操控本機 DSH,不走公網、不裝 App、不設二維碼或密碼。下面介紹它的定位、原理、安裝與使用要點。

這是什麼

dsh-lan-gate(GitHub:HYF00246/dsh-lan-gate,npm 包名 dsh-lan-gate,當前版本 0.1.0,MIT 許可)跑在 DSH 進程內,通過 Cordis patch 注入 DSH 配置樹。它解決的是:手機連上電腦開的移動熱點後,用瀏覽器訪問 http://192.168.137.1:18080,獲得與桌面 Web GUI 同等的操控能力(流式輸出、審批、提問、發指令、切會話等),而不是隻讀鏡像。

插件 README 標明狀態爲 P1 已完成並在真機驗證(手機經熱點訪問、HTTP + WebSocket 已實測通過)。DSH 引擎要求爲 ^0.2.1-rc.5;運行環境爲 Windows 11(移動熱點基於 Wi-Fi Direct),Node ≥ 22 可由 DSH 自帶運行時滿足。

工作原理(爲何不能裸轉發)

DSH Web 服務監聽 127.0.0.1:54362(README 示例端口),鑑權使用每進程隨機 token 簽名的 Cookie。簡單端口轉發會返回 401 dsh web authentication required。插件在 DSH 進程內通過官方 API 代持合法 Cookie,改寫 Host / Origin,反向代理 HTTP 與 WebSocket(/api/remote.mux 雙向透傳,不設空閒超時以免打斷流式輸出);沒有繞過或關閉 DSH 校驗。監聽只綁定熱點網卡地址 192.168.137.1:18080,不是 0.0.0.0;代理層對路徑做白名單,/connect 被顯式拒絕。

手機瀏覽器 ──HTTP / WebSocket──▶ 192.168.137.1:18080
                                      │  插件代理 + Cookie 代持
                                      ▼
                                127.0.0.1:54362
                                DSH 自帶 web server

Windows ICS 默認熱點參數(README 實測穩定):電腦側 / 手機網關 192.168.137.1,子網 192.168.137.0/24,手機地址爲 192.168.137.x。電腦可保持原有 Wi-Fi 同時開熱點,兩者互不影響。

核心功能

  • 免裝 App:手機瀏覽器直接訪問,可「添加到主屏幕」。
  • 完整操控:與桌面 Web GUI 同級交互,不是隻讀。
  • 用完即關:DSH 界面右下角「局域網訪問」懸浮開關;關閉後立即釋放端口,局域網內無法再連入。
  • 不暴露公網:僅熱點網卡;不提供隧道、域名、HTTPS 公共證書、多用戶賬號、登錄頁、二維碼或密碼(見安全說明)。
  • 隨 DSH 啓停:插件加載即註冊,DSH 退出即釋放端口。

開關交互(README):單擊切換;長按約 450ms 可拖動位置(位置記憶,開關狀態每次啓動默認爲關)。窄屏(寬度小於 820px)自動隱藏開關,避免擋住發送/確認按鈕,需在電腦上點開。失敗時顯示紅色「失敗」,懸停可見原因(如「熱點未開啓」)。

安裝與啓用

1. 放行防火牆(管理員 PowerShell,只需一次)

手機訪問若超時(如 Chrome ERR_TIMED_OUT),需對熱點網段放行 TCP 18080:

New-NetFirewallRule -DisplayName "DSH LAN gate" -Direction Inbound -Protocol TCP `
  -LocalPort 18080 -RemoteAddress 192.168.137.0/24 -Action Allow

若曾在 DSH 首次聯網彈窗中拒絕,Windows 可能爲 DeepSeek Harness.exe 添加入站 Block 規則,優先級高於端口放行,需先刪除 Block 規則(README 提供基於進程路徑的 PowerShell 片段)。卸載插件時可執行:

Remove-NetFirewallRule -DisplayName "DSH LAN gate"

2. 安裝插件

完全退出 DeepSeek Harness(托盤圖標需選「退出」,非僅關窗口),再執行:

從 GitHub 安裝(README 原文):

dsh plugin --profile desktop add github:HYF00246/dsh-lan-gate

本地開發可用 DSH 安裝目錄自帶 CLI:

<DSH 安裝目錄>\resources\runtime\cli\bin\dsh.cmd plugin --profile desktop add link:<本倉庫絕對路徑>

安裝命令會把插件登記到 profile 的 dsh.profile.bundles。

3. 啓動 DSH

重啓 DSH 後,界面右下角出現「局域網訪問」懸浮開關,默認關閉。

典型用法

  1. 在電腦上開啓「移動熱點」,手機連上該熱點(提示「此 WLAN 無法訪問互聯網」時選保持連接)。
  2. 在 DSH 右下角點開開關,變爲綠色「開」。
  3. 手機瀏覽器打開 http://192.168.137.1:18080。
  4. 用完後在電腦上再點一次開關關閉。

關閉開關會立刻斷開手機連接;已打開的頁面仍留在瀏覽器中,DSH 客戶端進入斷線重連,手機上輸入可暫存本地隊列;重新打開開關後會自動重連並一次性發送隊列內容。頁面腳本約每 3 秒探測狀態,連續失敗約 6 秒會提示「局域網訪問已關閉」,可選退出頁面(丟棄本地排隊內容)或繼續等待(30 秒內不再打擾,重開開關則恢復)。本機 127.0.0.1 訪問不經代理,不受上述彈窗影響。

適用場景與注意

適合:你本人控制 Windows 11 電腦與移動熱點下的設備,臨時用手機審批、看流式輸出、發指令,且希望用完關閉端口、不長期監聽局域網。

不適合(插件 README「不做什麼」):公網訪問、多用戶體系、原生 App、自帶登錄/密碼。

安全:同一熱點下任意設備打開地址即可操控這臺電腦上的 DSH(含執行命令、讀寫文件,權限與當前 DSH 進程一致)。插件按設計不設登錄;只在你能控制熱點內設備時使用,用完關閉開關。安裝前請閱讀 GitHub 倉庫 源碼與 MIT 許可證,確認符合你的安全策略。

排障摘要:超時 → 防火牆或熱點未開,或 DSH 被應用級 Block;「連接被拒絕」→ 開關未開;按鈕顯示「熱點未開啓」→ 先開熱點再點開關;按鈕不出現 → 插件未裝或未重啓 DSH;iPhone 自動切回蜂窩 → 關閉「無線局域網助理」或調整熱點 Internet 共享設置。完整表格見倉庫 README。

DSH 生態理念是「一切皆插件」;社區目錄站點 SkillHub 插件頁 與 DeepSeek / 幻方無官方從屬關係,本文僅介紹社區插件能力。

結尾

經過上面的步驟,你可以在 Windows 移動熱點網段內用手機瀏覽器完整操控本機 DSH,並通過右下角開關控制監聽生命週期。詳情與更新以倉庫爲準:目錄頁 https://www.skillhub.cn/plugins/HYF00246/dsh-lan-gate ,GitHub https://github.com/HYF00246/dsh-lan-gate 。

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

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

小夜