通過 LAN 與 Tailscale 遠程訪問 DeepSeek Harness 會話

前言

DeepSeek Harness(DSH)桌面版默認將 Web 服務器綁定到 127.0.0.1,無法直接從局域網訪問。當你在電腦上運行一個 Harness 會話,想用手機繼續對話時,只能打開新的會話,無法複用當前狀態。dsh-lan-remote 插件通過反向代理,把桌面版 Harness 的 Web 界面暴露到局域網,讓手機通過同一會話繼續操作。

插件定位

dsh-lan-remote 是一個 DSH 插件,由用戶 1731988818 維護,版本 1.1.1,遵循 MIT 許可證。它不啓動新的 Harness 實例,而是監聽本機端口,將外部請求轉發到桌面版 Harness 已有的 Web 服務器(127.0.0.1:<webServer.port>),同時重寫 HTTP 頭部(Host/Origin/Referer),讓手機訪問的請求通過 Harness 的鑑權牆。它同時支持 LAN 訪問和 Tailscale 訪問,滿足不同網絡環境下的遠程需求。

核心功能

反向代理

插件在 0.0.0.0:<port> 啓動反向代理,將 LAN 或 Tailscale 的請求轉發到桌面版 Harness 的 127.0.0.1:<webServer.port>。它重寫 Host/Origin/Referer 頭部,讓轉發請求通過 Harness 的鑑權機制,WebSocket 升級請求也被轉發。

雙 URL 訪問

插件界面提供兩個 URL:
- LAN URL:連接同一 Wi-Fi 時使用。
- Tailscale URL:當本機登錄 Tailscale 時自動生成,可在任意網絡訪問。

每個 URL 都有複製按鈕,遠程 URL 會在本機登錄 Tailscale 後出現。如果卡片中看不到遠程 URL,說明 Tailsale 未運行或未登錄,點擊「重新檢測」可刷新。

浮動 handset 按鈕

頁面右下角有一個可拖拽的浮動按鈕,位置會記住。點擊它展開卡片,顯示當前 LAN URL 和 Tailscale URL,提供複製按鈕和重新檢測操作。

郵件與桌面通知

插件啓動時會寫入桌面文件(.desktop)並顯示 Toast 通知,可選擇是否發送郵件。郵件設置需自行配置 SMTP 服務器、端口、賬戶、應用密碼和收件人,密碼加密存儲在插件的數據目錄(data/notify.config.json)。插件不預置任何賬戶。

狀態端點

插件提供一組 API 端點:
- GET /dsh-lan-remote/api/status
- GET/POST /dsh-lan-remote/api/mail
- POST /dsh-lan-remote/api/mail/config
- POST /dsh-lan-remote/api/restart

安裝與啓用

在 DSH 桌面版中執行以下命令,將插件添加到指定 profile 的依賴和 bundles:

dsh plugin --profile <profile> add github:1731988818/dsh-lan-remote

安裝完成後,重新加載 DSH,插件會隨 Harness 啓動。如果安裝卡在 Progress: resolved ... added 0,通常是因爲 <profile>/node_modules/ 下存在舊的同名鏈接。解決方法:禁用插件,刪除 <profile>/node_modules/dsh-lan-remote 和 <profile>/node_modules/.ignored/*_tmp_*,然後重新運行安裝命令。

配置

在 <profile>/cordis.patch.yml 中覆蓋默認配置:

- id: dsh-lan-remote
  config:
    enabled: true
    listen: 0.0.0.0        # 代理監聽地址
    port: 62991            # 代理端口(端口被佔用時會嘗試接下來的 20 個端口)
    address: null          # 固定 LAN IPv4 地址,null = 自動檢測
    notify:
      desktopFile: true
      toast: true
      mail: true           # 啓動時發送郵件
      mailConfig: null     # 郵件配置文件路徑,默認爲 data/notify.config.json

遠程訪問(Tailscale)

插件監聽 0.0.0.0,任意本地接口均可訪問。Tailscale 提供跨網絡訪問能力,無需公網 IP 或額外隧道服務:

  1. 在電腦和手機上安裝 Tailscale,登錄同一賬號。
  2. 在電腦上執行 tailscale status,確認在線,記下 100.x.y.z 地址(插件會自動讀取)。
  3. 保持手機上 Tailscale 連接,打開插件提供的 Tailscale URL。

郵件和桌面文件都會列出兩個地址。如果卡片中沒有遠程 URL,說明 Tailscale 未運行或未登錄,重新登錄後點擊重新檢測即可。

注意事項

  • URL 中的 ?token= 相當於登錄會話憑證,不要分享或截圖。
  • 默認使用 HTTP,建議在受信任的網絡或 Tailscale tailnet 內使用;如需公網訪問,請自行添加 TLS 或隧道。
  • Tailscale URL 同樣受 Harness 鑑權保護,直接訪問 IP 會返回 401,必須使用完整的 token URL。
  • 手機首次訪問需要完整 token URL,瀏覽器會保留 30 天會話。
  • 睡眠或切換網絡後,點擊重新檢測按鈕刷新地址。

總結

dsh-lan-remote 解決了 DSH 桌面版 Web 界面無法從手機訪問的問題,通過反向代理讓手機訪問同一個 Harness 會話。它支持 LAN 和 Tailscale 兩種遠程方式,提供浮動按鈕、郵件通知等實用功能。使用前請確認源碼與許可證,插件以當前 DSH 進程權限運行。

  • 插件目錄:https://www.skillhub.cn/plugins/1731988818/dsh-lan-remote
  • GitHub:https://github.com/1731988818/dsh-lan-remote
羽毛球分组比赛记分
小程序二维码

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

小夜