DSH Remote Console:通過 Tailscale Serve 爲 Web Profile 提供移動端訪問

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 的輸入欄中。

典型用法

  1. 啓動 DSH Web Profile:
    dsh.cmd --profile web --port 3080
  1. 本機訪問:
    在瀏覽器中打開本地地址:
    http://127.0.0.1:3080
  1. 遠程訪問:
    電腦和手機需登錄同一個 Tailnet。通過 Tailscale Serve 將本機 DSH 映射到手機瀏覽器,訪問地址通常爲 MagicDNS 域名(例如 https://device-name.example.ts.net:8443/)。

  2. 打開工作區:
    在對話輸入區點擊“打開工作區”或相關按鈕,輸入電腦上的本地工作區絕對路徑(如 C:\my-project),插件會通過 workspace.create 接口直接註冊並打開該目錄。

環境與限制

  • 環境要求:
    • DSH 版本:0.1.0-rc.6
    • Node.js 版本:22.19+ 或 24+
    • 需安裝 Corepack 和 Tailscale。
  • 安全邊界:
    • DSH 僅監聽 127.0.0.1,不使用 0.0.0.0。
    • 遠程腳本只配置 Tailscale Serve,不開啓 Funnel。
    • --trusted-host 僅加入當前設備的 MagicDNS :8443 authority。
    • 請維護好 Tailnet ACL 以控制訪問權限。
    • 頁面通知不是 Web Push;瀏覽器必須保持頁面存活。
  • 其他限制:
    • 不解析會話 JSONL,不創建額外的 DSH 子進程,不提供終端或 bypassPermissions。
    • 插件更新後需重啓一次 DSH,新的 Node 端防睡眠機制纔會生效。

總結

DSH Remote Console 通過 Tailscale Serve 構建了一個安全的移動端調試通道,解決了遠程訪問與工作區選擇的痛點。插件遵循 MIT 許可證,代碼託管在 GitHub 上。

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

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

小夜