xgone/dsh-remote

xgone★ 1JavaScriptLast synced: 2026-08-17

Open on GitHub

Remote access for DeepSeek Harness: account/password auth + MFA (TOTP) login gate, signed session cookies, role-based access, in-browser directory picker, and a Settings page for account management.

README excerpt

dsh-remote English 中文 让 DeepSeek Harness 可以被安全地远程访问 :在 dsh web 前增加完整的账号密码认证 + MFA (两步验证)门禁,并打通外网部署所需的全部环节——外部浏览器登录后即可使用完整功能(含工作区 选择、添加工作区等),全程不会在宿主机上弹出任何原生窗口。 一、已实现的功能(用户视角) 1. 远程访问 dsh - 外网/局域网可用 :经反向代理(nginx / ssh 隧道 / Tailscale / Frp 等)暴露后,外部浏览器 登录即可使用全部功能。DSH 自带的 /api 信任围栏把 host.pickDirectory 、 settings. 、 credentials. 等特权方法硬编码钉死在 loopback(官方注明"直到真正的认证层出现")——本插件 就是那个认证层,认证通过后自动放行。 - 工作区/添加工作区不弹宿主窗口 :DSH 默认的目录选择器在 loopback 部署下会调用宿主机原生 OS 选择框(远程用户看不到)。本插件把选择器替换为 browse 后端 ——选择/新建工作区变成 浏览器内的目录对话框 (双栏目录视图 + 面包屑 + 新建文件夹)。 - WebSocket 全通 :事件下行流( events.mux / events.host )经认证后正常建立。 2. 账号密码验证 - 完整登录门禁 :未登录访问任何路径都得到自包含的登录页; /api 与 WebSocket 全部要求有效 会话 Cookie。 - 安全的会话 :HMAC-SHA256 签名的 HttpOnly Cookie(可配过期时间、Secure、SameSite); 签名密钥随机生成并持久化(重启后会话仍有效)。 - 密码安全存储 :scrypt 哈希( N=16384,r=8,p=1 )+ 常量时间比较,绝不落盘明文。 - 防暴力破解 :登录失败按「IP + 用户名」限速(默认 15 分钟窗口内 5 次)。 - 首次引导 :无账号时登录页提供"创建首个管理员",仅本机(loopback)可提交,防止远程抢先注册。 - 首个账号受保护 :根账号不可删除、不可改角色,只能重置密码(防止误删唯一管理员锁死)。 - 仅管理员模式(默认) :运行时禁止新建账号、所有账号强制 admin 角色、设置页隐藏"添加账号"。 - 多角色可选 :关闭 adminOnly 后可启用 admin / user / guest 三层方法级权限。 3. MFA 两步验证(TOTP) - 兼容标准认证器 :Google Authenticator、1Password、Authy 等(RFC 6238,6 位 / 30 秒)。 - 扫码绑定 :开启时展示二维码(SVG,实测可扫)+ 手动密钥 + otpauth 链接 + …

View full README on GitHub →
Tools / Devdsh-plugin

Category