DeepSeek Harness (DSH) 採用「一切皆插件」的架構,支持通過插件擴展功能。對於需要在遠程環境(如內網、雲服務器)使用 dsh Web UI 的開發者而言,通常需要配置公網 IP 或端口映射。dshost-plugin 是由 NoelJudeNoel 維護的官方遠程雲中繼插件,它通過 WebSocket 安全隧道,允許你從任何地方訪問本地的 dsh 實例,無需暴露本地端口。
插件簡介¶
該插件隸屬於 DSH 生態,旨在解決遠程訪問場景下的網絡穿透問題。它是一個基於 MIT 許可證開源的工具,通過在本地運行一個 Agent,主動連接 DSHost 的中繼服務器來實現反向代理。
核心功能¶
- 零公網 IP:Agent 主動外連中繼服務器(
wss://dshost.me/agent),本地不需要開放任何入站端口。 - 零破壞性多版本兼容:支持 DSH 的多個版本區間,包括
0.0.1-rc.*至0.1.5-*的各個版本。 - 安全機制:中繼層對 Host/Origin 進行重寫,遵守 DSH 的信任柵欄;
settings.describe中的敏感密鑰會被脫敏下發;在生產環境中強制使用wss加密傳輸。 - 隨 dsh 啓動:以 cordis 插件身份隨
dsh web命令加載,支持自動重連和休眠省流。
安裝與啓用¶
安裝前請確保環境滿足依賴要求:Node.js >= 22.5.0。
1. 申請 Token¶
訪問 dshost.me 註冊或登錄,創建實例後獲取以 dsh_ 開頭的接入 Token。
2. 一鍵安裝(推薦)¶
使用官方安裝腳本,它會自動安裝 pnpm 並將插件加入當前 profile。
# macOS / Linux
curl -fsSL https://dshost.me/install.sh | RELAY_HOST=dshost.me bash
3. 手動安裝¶
dsh plugin add dshost-plugin
4. 配置插件¶
在當前 profile 的 cordis.patch.yml 文件中聲明插件。新增配置行必須放在 - insert: 塊內:
- insert:
- id: dshost-agent
name: 'dshost-plugin'
config:
token: dsh_your_token_here
relayUrl: wss://dshost.me/agent
autoConnect: true
5. 重啓 dsh¶
應用配置後,重啓 DSH 服務。
sudo systemctl restart dsh
配置項說明¶
| 字段 | 必填 | 說明 |
|---|---|---|
token |
✔ | 中繼接入 Token,在 dshost.me 申請 |
relayUrl |
✔ | 中繼 WebSocket 地址,生產環境必須爲 wss:// |
autoConnect |
✕ | 默認 true,啓動即連接 |
dshHost / dshPort |
✕ | 本機 dsh web 地址,默認 127.0.0.1:3080 |
注意事項¶
- Node.js 版本:插件依賴 Node.js >= 22.5.0 運行環境。
- 依賴庫:核心依賴
ws庫。 - 許可證:使用 MIT 許可證,請自行檢查源碼。
- 權限:插件以當前 dsh 進程的權限運行,請確保配置的
dshHost和dshPort可被該進程訪問。 - 語法要求:在
cordis.patch.yml中聲明插件時,新增內容必須位於- insert:列表項中。
總結¶
dshost-plugin 爲 DSH 用戶提供了一個無需公網 IP 即可安全訪問 Web UI 的方案。它通過 Agent 主動外連的架構降低了運維複雜度,同時通過安全重寫和強制加密保障了數據傳輸的可靠性。