前言¶
在使用 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。