clarknu/dsh-gateway ↗★ 7

dsh-gateway

HTTPS + login gateway for the DeepSeek Harness web surface: securely access your DSH Web UI from another machine on your LAN, or from the internet via port forwarding. Fail-closed defaults (loopback-only listener, no accounts until configured); setup and security notes in the README. 适合需要从局域网或外网安全远程访问本地 DSH 服务的用户。

パッケージ
dsh-gateway
互換性
未検証
Cordis ピア範囲
^4.0.1
バージョン
1.7.0
ライセンス
MIT
最終更新
2026/09/14

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:clarknu/dsh-gateway

ドキュメント

README 全文を読む ↗

配置

所有配置走 $DSH_HOME/settings.yaml 的 gateway: 段,也可以在 DSH 设置页的 Remote Gateway 卡片里直接修改(两者完全等价:同样校验、持久化、热生效)。

gateway:
  enabled: true            # false = 完全停用
  listenHost: '127.0.0.1'  # 监听地址:127.0.0.1 = 仅本机;0.0.0.0 = 所有网卡
  port: 3443               # 对外端口
  upstream: ''             # 留空 = 自动跟随 DSH web 服务端口
  sessionDays: 30          # 会话有效期(天)
  loginFailLimit: 5        # 每 IP 连续登录失败次数上限
  lockoutSeconds: 60       # 超过上限后的锁定秒数
  users:                   # 登录账号(值为密码哈希,推荐)
    admin: 'scrypt$...'
  sites:                   # 站点列表:只响应这里列出的域名/IP
    - hosts: ['你的域名', '你的IP']
      cert: '证书路径'      # 留空 = 自动生成
      key: '密钥路径'
  • 默认 users 为空、listenHost 为 127.0.0.1:不配置 = 无人可登录、仅本机可达
  • sites[].hosts 支持 *.example.com 通配;网关只响应白名单内的域名/IP
  • 密码生成哈希:node scripts/hash-password.mjs '你的密码';设置页保存的密码会自动哈希,无需手动生成

设置页配置面板

安装后,DSH 设置页会出现 Remote Gateway 卡片,可完成:

  • 查看运行状态(运行中 / 已停用 / 异常 / 重启中,右上角状态点实时反映)
  • 启用 / 停用、一键重启——每次操作都有明确反馈("正在重启… → 重启成功",失败显示原因)
  • 修改绑定 IP 与端口:保存后监听自动重启,并等待就绪后提示结果
  • 管理登录账号:新增 / 修改 / 删除(删除有确认),密码自动哈希存储
  • 使所有登录会话失效:一键让所有已登录设备退出(有确认),下次访问需重新登录
  • 查看最近日志(每 3 秒自动刷新)

证书、多站点、限速等配置仍走 settings.yaml 的 gateway: 段。

衔接条件(使用前确认)

  • 局域网访问:本机与访问设备在同一网络;listenHost 为 0.0.0.0;端口未被防火墙拦截
  • 互联网访问:路由器已配置端口映射;用域名时,域名需解析到本机并配置证书
  • 建议:让 DSH 本体只绑定本机 127.0.0.1,使所有远程访问都经过网关的登录保护(见「安全基线」第 3 条)