前言¶
DeepSeek Harness(dsh)的 dsh web 只監聽 127.0.0.1,這是安全模型的一部分:認證面向單操作者,啓動令牌換長期 Cookie,沒有多用戶與會話吊銷。人在外網時,若只想用手機或另一臺電腦繼續用家裏那臺機器上的 Web 界面,常見做法是 VPN 或路由器端口轉發——前者要額外維護一套接入,後者等於把能執行命令的界面直接暴露到公網,和 DSH 的設計前提衝突。
下面介紹社區插件 dsh-web-relay(維護者 LFF28):內網主機主動連出一臺自建中繼,經 SSH 反向隧道和 Caddy 網關,在不開入站端口的前提下,讓遠程設備通過 HTTPS 訪問本機 dsh web。
這是什麼¶
dsh-web-relay 是 DSH 的聯網類插件(npm 包名 dsh-web-relay,當前資料中版本 0.1.0,MIT 許可)。它解決的是:在不改 dsh web 仍只綁 loopback 的前提下,從公網側安全地「用到」這臺 Web 控制台。
中繼側只依賴系統自帶的 sshd 與 Caddy,不安裝本倉庫代碼;連接方向始終由內網主機發起,瀏覽器只與中繼通信。
核心功能¶
資料中可覈對的能力如下。
拓撲與不變量¶
flowchart LR
D["設備<br/>手機 / 電腦"] -->|"HTTPS + 網關口令"| R["中繼服務器<br/>Caddy + sshd"]
R -->|"SSH 反向隧道<br/>由內網主機主動撥出"| H["內網主機<br/>dsh web"]
- 內網主機不開放任何入站端口;隧道端點在中繼上只綁 loopback,能連它的只有同機 Caddy。
- 設置頁填寫參數後點「部署」,引導會在中繼上冪等完成受限賬號、sshd 加固、Caddy、證書與隧道;失敗可原樣重跑。
- 四層彼此獨立的校驗:TLS、網關口令、DSH 會話 Cookie、Host/Origin 圍欄;中繼上不存 DSH 憑據,對外通常只開一個 HTTPS 網關端口。
你會得到什麼(README 歸納)¶
- 穿透 NAT,且不把
dsh web直接綁到公網接口。 - 部署完成後終端會打印訪問 URL,以及根證書指紋、中繼主機密鑰指紋、Caddy 版本等信息(示例見下文典型用法)。
- 包內文檔覆蓋工作原理、部署、配置項、本機/中繼改動、安全設計與排障(倉庫
docs/目錄)。
安裝與啓用¶
前置條件(來自 README):
- 一臺有公網地址的中繼(如 VPS),安全組放行將要使用的網關端口。
- 中繼上管理賬號支持公鑰登錄,且可免密
sudo。 - 本機已安裝 DSH,能正常運行
dsh web。
從 npm 安裝(官方命令,需 web profile):
dsh plugin --profile web add dsh-web-relay
安裝後重啓 dsh web,插件纔會加載設置頁與相關邏輯。
典型用法¶
1. 在本機完成首次配置¶
必須在運行 dsh web 的那臺機器本機打開設置:DSH 對非 loopback 訪問會把設置持久化降級爲內存,遠程頁面無法寫入配置。
在本機瀏覽器訪問:
http://127.0.0.1:<dshPort>
進入 設置 ▸ 遠程訪問,填入中繼地址、管理賬號、網關端口與網關口令等,點擊「部署」。
2. 收藏遠程訪問地址¶
部署成功後,終端會出現類似輸出:
dsh-web-relay: https://203.0.113.7:8443/
根證書指紋 SHA256:…
中繼主機密鑰 SHA256:…
Caddy v2.11.4
將第一行的 HTTPS 地址保存到手機或外出用的電腦。訪問時需輸入部署時設置的網關口令,再按 DSH 常規定完成會話認證。
3. 根證書(強烈建議)¶
中繼使用私有 CA 時,瀏覽器會提示證書不受信任。README 說明:不安裝 CA 則只有加密、沒有身份驗證。在設置頁狀態區「下載根證書」,覈對指紋後安裝到設備,可減少警告並恢復對中繼身份的校驗。
配置說明¶
設置頁字段包括中繼地址、管理賬號、網關端口、網關口令等部署參數;另有包內默認值可調的行爲項(如重連退避、超時、入口開關)。字段含義見倉庫 configuration.md。
適用場景與注意¶
適合誰
- 已有或可自備一臺 VPS 作中繼,希望在外網用瀏覽器操作家裏/辦公室那臺 DSH,又不想在內網主機上開入站端口。
- 能接受自建中繼的運維成本,並願意按文檔做網關口令與 TLS 相關配置。
務必知曉
- 插件在當前
dsh進程權限下運行;安裝前應閱讀源碼與 MIT 許可證,理解 安全設計 中的威脅模型與已知限制。 - 網關口令是必需項,不是可選加固;DSH 自身認證強度不足以直接面向公網。
- 中繼上建議只跑
sshd與 Caddy,且只暴露網關所需 HTTP(S) 端口——多開端口可能增加會話 Cookie 被讀到的面。 - 中繼被攻破時,隧道上的明文可能被讀取;這是該架構的固有代價。
- 社區目錄 SkillHub 插件頁 與 GitHub 倉庫由社區維護,與 DeepSeek / 幻方無官方從屬關係;DSH 生態本身是「一切皆插件」,本文僅介紹該插件在資料中寫明的行爲。
結尾¶
dsh-web-relay 用「內網主動出站 + 中繼 TLS 與網關口令 + 本地仍只監聽 127.0.0.1」的方式,把遠程訪問和 DSH 的單操作者安全邊界拆開處理。若你的場景符合上文前置條件,可按 npm 安裝命令啓用,並在本機設置頁完成一次性部署。