dsh-remote-bridge:通過出站 WSS 鏈接遠程控制 DSH 宿主機

DeepSeek Harness(DSH)的設計理念是“一切皆插件”。在本地運行 Agent 時,通過手機進行交互、發送消息或處理審批是常見需求。dsh-remote-bridge 插件解決了這個問題:它將運行 DSH 的宿主機通過一條出站 WSS 連接到中繼,使手機端 App 能夠遠程列會話、發送消息並處理審批。

核心概念

插件安裝在運行 DSH 的宿主機上(非中繼服務器),由 DSH 加載爲插件。它是鏈路中的主動撥號方。

架構路徑爲:手機 App → 中繼 → 插件 → DSH。由於採用出站連接,宿主機不需要在防火牆上開放任何入站端口,這使得擁有公網 IP 或家庭 NAT 的用戶也能使用。插件零運行時依賴。

前置條件

  1. 環境要求:宿主機已安裝 Node.js,版本要求 >=22.19。DSH 需提供 dsh plugin 命令。
  2. 中繼服務:已部署 DSH-Remote-backend 中繼服務。
  3. 憑證:中繼已簽發連接器令牌(connectorToken)。
  4. 權限:持有手機令牌的人等價於能在這臺機器上執行命令,需按同等敏感級別對待。

安裝與啓用

在宿主機上執行以下步驟:

  1. 創建目錄並克隆代碼:
    sudo mkdir -p /opt/dsh-remote-bridge
    sudo chown "$USER" /opt/dsh-remote-bridge
    git clone https://github.com/AKHYui/DSH-Remote-plugin.git /opt/dsh-remote-bridge
  1. 在 DSH 中註冊插件:
    dsh plugin --profile desktop add link:/opt/dsh-remote-bridge

配置

插件會在 profile desktop 中自動插入一條 remote-bridge 條目。需在 ~/.dsh/profiles/desktop/cordis.patch.yml 中配置以下鍵:

  • serverUrl:必填。中繼的 attach 端點,格式爲 wss://<host>:<port>/api/v1/attach。
  • connectorToken:必填。中繼簽發的令牌,也可通過環境變量 DSH_REMOTE_BRIDGE_TOKEN 設置。
  • deviceId:必填。宿主機的唯一標識符,用於手機尋址。
  • tlsCaFile:可選。如果中繼使用自建 CA 簽發證書,需指定 CA 文件路徑(PEM 格式)。
  • autoConnect:是否加載後立即撥號,默認 true。

配置修改後通常幾秒內生效,無需重啓 DSH;但源碼改動必須重啓 DSH。

核心功能

插件提供了以下能力:

  • 會話管理:列會話,跟隨實時事件流。
  • 消息交互:發送消息(文本、內嵌圖片、上傳文件換取 receiptId)。
  • 模型控制:切換模型、中止回合。
  • 審批與提問:代答審批、處理 ask_user_question 提問。

注意事項

  • 安全邊界:持有手機令牌即擁有宿主機命令執行權限,需妥善保管。
  • 網絡拓撲:僅依賴出站連接,宿主機無需配置防火牆入站規則。
  • 版本要求:確保宿主機 Node.js 版本滿足 >=22.19。
羽毛球分组比赛记分
小程序二维码

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

小夜