dsh-remote-plugin:在 DSH 裏接入 DSH Remote 面板和網關

前言

DSH 的「一切皆插件」思路下,遠程入口、狀態面板和網關可以按 web 客戶端插件接入 DSH。如果目標是給 DSH 增加側邊欄入口、在手機或桌面查看會話與狀態、上傳下載文件,並帶一個隨 DSH 啓停的遠程網關,dsh-remote-plugin 是一個已經把這些能力打包起來的 bundle 插件。

這是什麼

dsh-remote-plugin 是 DSH Remote 的官方 bundle 插件:在 DSH 側邊欄提供入口,打開快速狀態面板和完整管理控制檯,並內置隨 DSH 自動啓停的遠程網關。倉庫由 Blank-not-black 維護,許可證爲 MIT。

它的 package.json 聲明 dsh.client 注入:

@deepseek-ai/dsh-client-runtime
@deepseek-ai/dsh-client-ui-slots

同時聲明:

platform: web
Node engine: >=18

核心功能

  • 在 DSH 側邊欄提供入口。
  • 打開快速狀態面板和完整管理控制檯。
  • 快速麪板展示網關狀態、在線設備、Token 用量和快捷操作。
  • 管理控制檯支持端口、上游、設備、請求、Token 統計、二維碼和令牌輪換。
  • 內置 gateway.cjs,默認監聽 0.0.0.0:8787,並帶 Bearer token 鑑權。
  • 網關自愈:DSH 重啓或網關意外退出後自動拉起,可在面板中停止或啓動。
  • 提供 /fs/* 文件端點:列表、下載、分塊上傳、斷點續傳、暫停/繼續/取消和 SHA-256 校驗。
  • 提供手機端、桌面端和管理頁 WebUI,以及隨插件分發的 Android APK。
  • Android 應用 / 手機 WebUI 提供會話、文件、主頁、統計、設置五個主要頁面。
  • 會話詳情支持目標控制、子代理中斷、模型切換、全屏輸入、斜槓命令和圖片附件。
  • 圖片附件可從相機或相冊選擇,並以 session.prompt 圖片內容發送到當前會話。
  • 通知設置支持審批 / 提問通知、後臺輪詢、峯谷提醒、任務完成提醒和歷史公告。
  • 公告通過中央 HTTPS 源更新,App 前臺每 30 秒檢查,中央源不可達時回退網關緩存或安裝包內公告。
  • 當前保留四套主題:默認深空、落日、易北愛樂廳、草原孤塔。

安裝與啓用

先安裝到 DSH 的 web profile,再確認插件列表:

dsh plugin --profile web add dsh-remote-plugin
dsh plugin --profile web list --depth 0

第二條命令用於確認插件安裝在正確的 web profile。

如需按 README 示例安裝指定版本,可以使用:

dsh plugin --profile web add dsh-remote-plugin@0.6.8

安裝後完整重啓 DSH Web 進程,並 Ctrl+F5 強刷瀏覽器。左側邊欄會出現 DSH Remote 入口。

如果 DSH Web 由 systemd 用戶服務管理,可執行:

systemctl --user restart dsh-web

手動運行時,需要先停止舊的 dsh web 進程,再重新啓動。

安裝後先在 DSH 主機訪問:

curl -i http://127.0.0.1:8787/health

看到 JSON 後,再用手機連接 DSH 主機的局域網地址:

http://<電腦局域網IP>:8787

注意:手機上的 127.0.0.1 和 localhost 指向手機自己,不是 DSH 主機。

典型用法與排障

在 DSH 主機先檢查網關健康、端口監聽和 DSH Web 上游:

curl -i http://127.0.0.1:8787/health
ss -ltnp | grep ':8787'
curl -i http://127.0.0.1:3080/

如果 8787 本機也拒絕連接,檢查插件是否裝在 web profile、插件面板的網關開關、DSH Web 是否真正重啓,以及 8787 是否被佔用。

如果 /health 能打開但 upstreamOk: false,說明網關已運行,應檢查 DSH Web 的 3080 端口。

如果本機能打開但手機不能,使用電腦局域網或 Tailscale IP,並允許防火牆 TCP 8787 入站;不需要對公網放行 3080。

如果訪問出現 401,重新掃碼,或複製:

~/.dsh-remote/token

如果頁面黑屏或功能未更新,先在瀏覽器 Ctrl+F5 強刷,手機端完全退出後重開。

插件網關可能以 transient 進程運行,不要依賴:

systemctl --user restart dsh-remote-gateway.service

優先在插件面板啓動網關,或重啓 DSH Web 觸發自愈。

常用入口:

管理頁:http://<網關IP>:8787/admin
桌面 WebUI:http://<網關IP>:8787

網關配置

網關默認監聽 0.0.0.0:8787,並帶 Bearer token 鑑權。DSH 上游默認是:

http://127.0.0.1:3080

相關配置項:

  • 網關端口優先級:DSH_REMOTE_GATEWAY_PORT 環境變量 → ~/.dsh-remote/gateway-port → 8787
  • 令牌:~/.dsh-remote/token,首次運行自動生成
  • 自愈開關:~/.dsh-remote/gateway.enabled,或使用 DSH_REMOTE_AUTOSTART=0 禁用自動管理
  • 文件根目錄:DSH 已登記工作區會自動放行;其他目錄用 DSH_REMOTE_FS_ROOT 配置,Linux/macOS 使用 :,Windows 使用 ;
  • 文件上限:DSH_REMOTE_FS_MAX_UPLOAD,默認 2GB
  • 中央公告:DSH_REMOTE_ANNOUNCEMENTS_URL 可覆蓋默認 HTTPS 地址,設爲空字符串可禁用中央源

適用場景與注意

適合需要在 DSH Web 側邊欄內查看遠程狀態、管理會話和文件,或希望把手機/桌面入口和網關一起接入 DSH 的用戶。

安裝前建議檢查源碼和許可證。插件以當前 DSH 進程權限運行,網關令牌和遠程入口都應視爲敏感能力。令牌等同於 DSH 遠程操作憑證,請不要公開或提交到倉庫。

局域網訪問建議配合防火牆;跨網絡訪問建議使用 Tailscale 或其他帶認證的安全隧道。

鏈接

GitHub:https://github.com/Blank-not-black/dsh-remote-plugin

目錄頁地址未在本次覈實資料中給出。

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

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

小夜