前言¶
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 或額外隧道服務:
- 在電腦和手機上安裝 Tailscale,登錄同一賬號。
- 在電腦上執行
tailscale status,確認在線,記下100.x.y.z地址(插件會自動讀取)。 - 保持手機上 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