DSH 插件市场DeepSeek Harness 社区插件目录

dsh-web-startup-auth

已验证 工具与能力 ★ 68 0.1.14

DSH remote-aware web-startup replacement + username/password auth plugin: allows --host 0.0.0.0 when paired with the auth plugin

一句话定位

DSH remote-aware web-startup replacement + username/password auth plugin: allows --host 0.0.0.0 when paired with the auth plugin

安装方式

在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。

$ dsh plugin --profile web add dsh-web-startup-auth@0.1.14

兼容的 DSH 版本

>=0.1.7-rc.1 <0.3.0-0

作者与热度

GDWhisper · ★ 68 · 更新于 2026-11-07

关于这个插件

dsh-web-startup-auth

中文 | English

DSH(DeepSeek Harness)远程 Web 启动 + 用户名/密码认证插件。 版本跟进:只跟进官方 dsh 的 next 通道,不跟 alpha。当前基线 dsh 0.2.2-rc.1;依赖声明 ^0.2.2-rc.1(caret + prerelease 不跨 0.2.2,需手动 bump)。适配审查见 docs/upgrade-dsh-0.2.0-playbook.md。

原版 @deepseek-ai/dsh-web-app/startup 出于安全考虑硬拒绝 --host 0.0.0.0;本插件替换它,并配一个带登录/注册页的认证插件,让 dsh web 可以在局域网(或任何非回环接口)上安全暴露浏览器界面。 特性 远程启动:--host 0.0.0.0 可用,替代原版启动器的硬性拒绝;具体 IP 字面量(如 --host 192.168.1.5、--host ::1、--host fd00::1)与通配 :: 同样可用(#35;非规范 IPv6 拼写自动规范化,带 zone 的(%eth0)与 IPv4-mapped(::ffff:a.b.c.d)写法拒绝)。纯 IPv6 网络下 0.0.0.0 只绑 IPv4、界面不可达;:: 在 Linux 默认双栈(net.ipv6.bindv6only=0),同时监听 IPv6 与 IPv4-mapped,比 0.0.0.0 覆盖更全;bindv6only=1 的系统上 :: 仅 IPv6。另透传上游两个启动能力(需 dsh ≥ 0.2.1):--public-url (声明对外访问 URL)与 --tls-cert/--tls-key(直连 HTTPS,见「安全说明」);在低于 0.2.1 的 dsh 上使用会明确报错提示需要 dsh ≥ 0.2.1,而不是静默忽略。 登录/注册页:远程访问首次会引导设置管理员账号密码,之后进入登录页;与 DSH 黑白蓝风格一致;颜色跟随系统明暗偏好(prefers-color-scheme)。 免登录的本地访问:判定依据是请求本身而非启动参数——TCP 对端地址与 Host 头都是回环时才免认证。所以本机浏览器直接访问 http://127.0.0.1: / 无需注册或登录;局域网客户端、以及反向代理转发来的请求(Host 是公网域名)一律需要会话。免登录不等于已登录:本机没有会话 cookie,认证页显示的是「管理员账号」而不是「当前登录」,也不会给出退出登录入口(没有会话可退)。 可选的「本机登录校验」:默认本机免登录;管理员可在设置面板 → 认证 → 登录要求里把这个开关打开,之后连本机地址也要求会话(多人共享服务器时用它禁止同机其他账号免登录)。开关须先有管理员账号才能启用(未注册时后端会拒绝,设置页会先引导去注册)。 可选的人机验证(滑块拼图):应网友要求加上了没什么用的防人机验证,有兴趣可以开启试试 XD —— 在设置面板 → 认证 → 人机验证里滑动开启,登录时会让你把一块拼图拖进缺口。每张图里画了两个缺口:拼图块和真缺口是同一种形状(凸块方向每张随机:右/左/上/下,也可能没有凸块,共 5 种),旁边的假缺口形状永远不同,拼图块只塞得进形状相同的那个(纯装饰,脚本照样秒过)。 说它没什么用是有实测依据的:拼图的答案必须画

本插件是一个 DSH bundle(package.json 的 dsh.bundle.patch 声明了随包分发的 cordis.patch.yml)。用 dsh plugin 安装后,包会被加入 profile 的 dsh.profile.bundles,补丁层自动生效,无需手动编辑任何配置文件。 dsh plugin 是 pnpm 转发器,--profile 必填;add . 会把当前目录以 link: 方式装进 profile。 版本范围:本插件声明支持 dsh >=0.1.7-rc.1、不支持 0.3.0 起的版本线(含其预发布版)。运行中的 dsh 超出范围时,dsh 会跳过本 bundle 并打印原因——这是刻意的 fail-loud:宁可不加载,也不在未适配验证过的 dsh minor 版本线上静默运行。注意粒度是 minor 线:同一条线内的后续版本(含 rc 等预发布)会照常加载,每出一条新 minor 线要先完成适配再考虑放宽范围。确需强行启用可走 profile 的 version exemption(插件管理器文档)。

启动: 安装时已自动应用补丁,无需再用 --patch 叠加——重复叠加会把插件再插入一遍,导致重复。 使用

1. 浏览器访问 http:// : /(在本机则用 http://127.0.0.1: /,无需登录)。IPv6 地址在 URL 中必须加方括号:http://[ ]: /。注意:--host :: 启动时终端只打印回环 URL(上游的 LAN 地址推导只枚举 IPv4),局域网 IPv6 地址请用上面的形式手动拼接;打印的回环 URL 固定是 http://127.0.0.1: /(上游硬编码),bindv6only=1 的系统上 :: 是纯 IPv6 套接字、它不通,本机请用 http://[::1]: /。 2. 远程访问首次会跳转到 /login,显示"设置管理员账号密码"注册表单。 3. 注册成功后自动登录并进入主界面;之后访问需登录。 4. 退出登录 / 修改用户名 / 修改密码 / 调整会话有效期 / 开关拼图验证:打开主界面设置面板 → 认证标签页(同时也是一个独立入口,/api/auth/logout 清除会话 cookie)。

如果需要在本地设置账号密码(本机默认免登录,界面不会自动跳登录页):

1. 浏览器打开 http://127.0.0.1: /login —— 未注册时该页直接显示注册表单。 2. 或进设置面板 → 认证,页顶「尚未设置管理员账号」处点「前往设置管理员账号」。

注册后本机仍免登录;想让本机也要登录,到认证 → 登录要求打开「本机登录校验」(需先有账号)。开关打开后本机也要走 /login(页面会立即跳过去),登录后认证页才会显示「当前登录」和退出登录入口。

凭据与会话密钥保存在 $DSH_HOME/web-auth.json($DSH_HOME 未设置时即 ~/.dsh/web-auth.json,与 dsh 自身数据同目录;可用环境变量 DSH_WEB_AUTH_FILE 覆盖整个路径): 密码使用 scrypt(随机盐,64 字节)散列存储,不保存明文。 会话 cookie 用随机生成的密钥做 HMAC-SHA256 签名,防伪造。有效期档位(

相似插件