DeepSeek Harness(DSH)的設計理念是“一切皆插件”。在本地運行 Agent 時,通過手機進行交互、發送消息或處理審批是常見需求。dsh-remote-bridge 插件解決了這個問題:它將運行 DSH 的宿主機通過一條出站 WSS 連接到中繼,使手機端 App 能夠遠程列會話、發送消息並處理審批。
核心概念¶
插件安裝在運行 DSH 的宿主機上(非中繼服務器),由 DSH 加載爲插件。它是鏈路中的主動撥號方。
架構路徑爲:手機 App → 中繼 → 插件 → DSH。由於採用出站連接,宿主機不需要在防火牆上開放任何入站端口,這使得擁有公網 IP 或家庭 NAT 的用戶也能使用。插件零運行時依賴。
前置條件¶
- 環境要求:宿主機已安裝 Node.js,版本要求
>=22.19。DSH 需提供dsh plugin命令。 - 中繼服務:已部署 DSH-Remote-backend 中繼服務。
- 憑證:中繼已簽發連接器令牌(connectorToken)。
- 權限:持有手機令牌的人等價於能在這臺機器上執行命令,需按同等敏感級別對待。
安裝與啓用¶
在宿主機上執行以下步驟:
- 創建目錄並克隆代碼:
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
- 在 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。