DSH Remote Console 是 DeepSeek Harness (DSH) Web profile 的移動端增強插件,由 ZSLsherly 維護。它通過 Tailscale Serve 將本機 DSH 安全地提供給手機瀏覽器,無需在公網監聽端口,解決了在移動設備上使用本地 DSH 調試的連接與安全問題。
核心功能¶
該插件通過附加項方式註冊到官方 conversation.input.dock Slot,提供以下能力:
- 狀態監控:顯示 DSH 連接、運行、等待操作和就緒狀態。
- 會話管理:統計待處理/已完成會話,並提供跳轉到下一個會話的功能。
- 交互通知:在瀏覽器頁面存活時提供待操作/任務完成通知。
- PWA 支持:支持瀏覽器的“安裝應用”提示。
- 觸摸優化:僅在手機/觸摸屏佈局中顯示,不替換 DSH 原有界面。
- 工作區註冊:通過 DSH 的
workspace.create接口直接註冊並打開本地目錄。由於手機遠程訪問時host.pickDirectory會返回HTTP 403,該功能繞開了被限制的原生目錄選擇器,支持輸入絕對路徑(如C:\my-project)。 - 防睡眠機制:通過 Windows
SetThreadExecutionState保持電腦防睡眠。心跳 20 秒一次,超時 90 秒無響應後恢復系統正常睡眠策略。
安裝與啓用¶
在 DSH 的 Web profile 中添加插件:
dsh plugin --profile web add github:ZSLsherly/DSH-remote-console
安裝後,插件會以附加項形式集成到 Web profile 的輸入欄中。
典型用法¶
- 啓動 DSH Web Profile:
dsh.cmd --profile web --port 3080
- 本機訪問:
在瀏覽器中打開本地地址:
http://127.0.0.1:3080
-
遠程訪問:
電腦和手機需登錄同一個 Tailnet。通過 Tailscale Serve 將本機 DSH 映射到手機瀏覽器,訪問地址通常爲 MagicDNS 域名(例如https://device-name.example.ts.net:8443/)。 -
打開工作區:
在對話輸入區點擊“打開工作區”或相關按鈕,輸入電腦上的本地工作區絕對路徑(如C:\my-project),插件會通過workspace.create接口直接註冊並打開該目錄。
環境與限制¶
- 環境要求:
- DSH 版本:
0.1.0-rc.6 - Node.js 版本:
22.19+或24+ - 需安裝 Corepack 和 Tailscale。
- DSH 版本:
- 安全邊界:
- DSH 僅監聽
127.0.0.1,不使用0.0.0.0。 - 遠程腳本只配置 Tailscale Serve,不開啓 Funnel。
--trusted-host僅加入當前設備的 MagicDNS:8443authority。- 請維護好 Tailnet ACL 以控制訪問權限。
- 頁面通知不是 Web Push;瀏覽器必須保持頁面存活。
- DSH 僅監聽
- 其他限制:
- 不解析會話 JSONL,不創建額外的 DSH 子進程,不提供終端或
bypassPermissions。 - 插件更新後需重啓一次 DSH,新的 Node 端防睡眠機制纔會生效。
- 不解析會話 JSONL,不創建額外的 DSH 子進程,不提供終端或
總結¶
DSH Remote Console 通過 Tailscale Serve 構建了一個安全的移動端調試通道,解決了遠程訪問與工作區選擇的痛點。插件遵循 MIT 許可證,代碼託管在 GitHub 上。