DeepSeek Harness (DSH) 默认将 Web 服务器绑定在回环地址上,并拒绝监听 0.0.0.0,以避免网络暴露。这限制了从手机或外部网络访问 Harness Web UI 的能力。deepseek-harness-relay 插件作为第二层监听器运行,在未触发的 Harness 前端终止 TLS 并处理认证。
插件简介¶
- 名称:
sorsama/deepseek-harness-relay - 所有者:sorsama
- 类别:admin-security
- 许可证:MIT
该插件为 DSH Web 配置文件提供认证远程访问。它位于 Harness 之外,允许通过 TLS 连接访问 Harness,并处理设备配对、密码登录和设备撤销,而无需修改 Harness 的核心配置或开放原始端口。
核心功能¶
- TLS 终止:在转发流量到 Harness 前端终止 TLS。
- 设备配对:支持 QR 码和密码两种配对方式,生成可撤销的 Bearer Token。
- 密码登录:使用 scrypt 哈希和按地址锁定机制进行密码登录。
- 设备管理:提供设备列表,支持按设备撤销和“注销所有设备”功能。
- 网络发现:通过
_dsh._tcpmDNS 广告广播,方便客户端发现 Relay 服务。 - 透明代理:透明代理 Web UI,无需修改 Harness 前端代码。
安装与启用¶
- 检查现有配置:如果 Harness 当前已通过
0.0.0.0绑定(例如通过 DSH Mobile LAN 补丁),请先编辑~/.dsh/profiles/web/cordis.patch.yml移除该行。Relay 插件在 Harness 已绑定0.0.0.0时拒绝启动。 - 安装插件:
dsh plugin --profile web add dsh-relay
- 启动 Harness:
dsh web
- 设置密码:在运行 Harness 的机器上打开
https://127.0.0.1:3443/relay/password并设置密码。此页面在密码设置前仅限回环访问。
典型用法¶
设备配对¶
- 在 Harness 机器上打开
https://127.0.0.1:3443/relay/pair。 - 使用手机扫描二维码,或在手机上打开相同 URL 并输入显示的代码。
- 命名设备后,设备即会出现在
/relay/devices列表中。
使用 DSH Mobile¶
DSH Mobile 0.8.0 实现了完整的客户端集成协议。在 DSH Mobile 的界面中选择 Relay → Pair a relay 即可完成配对。
注意事项¶
- 非官方项目:该插件基于 DeepSeek Harness 构建,并非 DeepSeek 官方项目。
- 启动限制:如果 Harness 服务器已绑定
0.0.0.0,Relay 插件将拒绝启动。 - 本地访问:来自 Harness 机器回环地址的请求被视为操作员,无需登录。
- Token 机制:Bearer Token 为单次使用且有效时间短。
- 认证机制:源地址验证非真正的认证方式,主要用于旧版客户端兼容。
- 客户端版本:DSH Mobile 低于 0.8.0 的版本无法直接访问自签名监听器,且无法在请求中携带凭证。
总结¶
deepseek-harness-relay 通过在 Harness 之外增加一层 TLS 和认证中间件,解决了在保持 Harness 安全策略(拒绝 0.0.0.0)的前提下,从移动端或网络远程访问 Harness Web UI 的需求。它遵循 DSH 插件生态的惯例,提供直观的设备管理和撤销机制。