前言¶
在本地使用 DeepSeek Harness(DSH)時,常需要通過手機端進行輸入或查看終端。常見做法包括搭建 VPN、部署反向代理或使用內網穿透服務,配置較爲繁瑣,且依賴第三方服務。本文介紹一個插件,可以在 DSH 啓動時自動檢查並重建手機訪問通道,將新鏈接發送到郵箱,從而實現從手機訪問桌面端 DSH 實例。
是什麼¶
dsh-phone-access 是一個 DSH 插件,負責在桌面端 DSH 啓動時檢查手機端服務可用性,必要時重建隧道與 web 實例,並將新訪問鏈接寫入文件或通過郵件發送。該插件不常駐進程,僅在工作目錄下部署一組腳本與配置文件。
核心功能¶
插件在 DSH 啓動時執行一次檢查:
- 等待 20 秒(避開 DSH 啓動過程中 web 實例結束的動作)。
- 檢查 3081 端口是否有 DSH web 實例在監聽。
- 檢查 cloudflared 進程是否存活。
若兩者都存在,不執行任何操作;若任意一項缺失,則重啓隧道、重啓 web 實例,寫入新鏈接,併發送郵件。
安裝與啓用¶
- 克隆插件源碼到本地:
$src = "$env:USERPROFILE\.dsh\profiles\desktop\plugins-src\dsh-phone-access"
git clone https://github.com/jisvrin/dsh-phone-access.git $src
- 創建目錄鏈接:
cmd /c mklink /J "$env:USERPROFILE\.dsh\profiles\desktop\node_modules\dsh-phone-access" "$src"
- 在
profiles/desktop/package.json中登記:
"bundles": [ "...", "dsh-phone-access" ],
"dependencies": { "dsh-phone-access": "file:C:/Users/<user>/.dsh/profiles/desktop/plugins-src/dsh-phone-access" }
-
將
scripts/下的三個 ps1 文件複製到~/.dsh/web-service/,重啓 DSH 生效。 -
驗證插件是否加載:
Get-Content "$env:USERPROFILE\.dsh\web-service\plugin-trigger.log"
若出現 apply() called,表示插件已加載。
- 查看生成的訪問鏈接:
Get-Content "$env:USERPROFILE\.dsh\web-service\mobile-urls.txt"
典型用法¶
- 家庭寬帶爲 CGNAT,沒有公網 IP,無法做端口映射或 DDNS。
- 電腦長期開機,希望用手機作爲輸入與查看終端。
- 不希望手機安裝客戶端或開啓 VPN。
- 可接受鏈接隨重建變化,通過郵件獲取新地址。
適用場景與注意¶
- 適合家庭或本地環境,電腦長期開機,通過手機訪問桌面端 DSH 會話。
- 不適合需要固定域名訪問、手機端離線運行 agent、不允許電腦對公網暴露端口或非 Windows 系統的場景。
- 插件以當前 dsh 進程權限運行,安裝前建議查看源碼與許可證(MIT)。
短結尾¶
dsh-phone-access 通過啓動時檢查與重建隧道,爲沒有公網 IP 的環境提供了一條從手機訪問桌面端 DSH 的路徑。更多細節與源碼可查看項目主頁與 GitHub 倉庫。
參考資料¶
- 項目主頁:https://www.skillhub.cn/plugins/jisvrin/dsh-phone-access
- GitHub:https://github.com/jisvrin/dsh-phone-access