前言¶
在使用 DeepSeek Harness(DSH)時,若通過公網 IP 直接訪問,瀏覽器出於安全上下文限制,會報錯 crypto.randomUUID is not a function。這會導致模型加載失敗、Agent 預設無法選擇、工作區目錄無法選擇。dsh-ip-https 插件通過注入腳本和配置補丁,解決了這些問題,並提供了基於 IP 的 HTTPS 訪問方案。
是什麼¶
這是一個 DeepSeek Harness 插件,用於遠程修改設置並提供 HTTPS 訪問。它由 qiufengcrl 維護,採用 MIT 許可證。插件通過探測公網 IP,自動申請 Let’s Encrypt 的 shortlived IP 證書(約 6 天有效期),無需域名、備案或登錄即可使用。
核心功能¶
- 腳本注入與遠程設置:向頁面注入腳本,補全
crypto.randomUUID,並讓設置頁按本機模式寫入settings.yaml,修復公網訪問時的報錯。 - 解決特權 RPC 403:修改請求頭的 Host 和 Origin 爲
127.0.0.1:<端口>,使特權 RPC 和 Pocket tunnel 不再返回 403 錯誤。 - 自動 HTTPS:探測公網 IP,申請 Let’s Encrypt IP 證書,並在到期前約 48 小時自動續期。
- 免登錄跳轉:無登錄 cookie 時自動跳轉到當前進程的 token 地址,方便手機和電腦直接訪問根路徑
/。
安裝與啓用¶
使用前需滿足以下條件:
* 已安裝 DeepSeek Harness,Node 版本 22.5+。
* 本地安裝了 openssl 工具。
* 80 和 443 端口已對公網開放。
安裝插件:
dsh plugin --profile web add dsh-ip-https
更新插件:
dsh plugin --profile web update dsh-ip-https@latest
啓動網頁界面:
dsh web
配置說明¶
插件會在 profile 目錄的 cordis.patch.yml 中提供配置項,常用項如下:
| 配置項 | 默認值 | 說明 |
|---|---|---|
autoLogin |
true |
無登錄 cookie 時,自動跳轉到當前進程的 ?token= 地址 |
acmeStaging |
false |
true 時走 Let’s Encrypt 測試環境 |
fallbackPort |
3443 |
443 端口被佔用時的後備端口 |
httpsPort |
443 |
HTTPS 端口 |
httpPort |
80 |
ACME 通信及跳轉端口 |
適用場景與注意¶
該插件適合沒有域名、不想備案,但需要通過公網 IP 遠程修改 DSH 設置的場景。
注意事項:
* 插件不改 dsh 源碼,也不改安裝目錄文件。
* 80/443 端口必須對公網開放。
* 如果 80/443 端口已被 nginx 佔用,插件將無法申請 IP 證書,但已安裝的插件仍可提供 HTTP 訪問並注入腳本。
* 公網訪問即擁有設置和工作區權限,請自行通過安全組 / VPN 限制來源 IP。
更多詳情請訪問 GitHub。