dsh-access-gate
Verified@lemoncat7/dsh-access-gate · v0.1.0-alpha.6 · MIT · Web UI
Non-invasive password gateway for DeepSeek Harness web deployments
Install
dsh plugin add @lemoncat7/dsh-access-gate Confirm the layer applied with dsh --profile default --dump-config — see the install guide.
Source
Published to npm without a public repository. Inspect the package contents before installing.
Tags
Creators
Readme
DSH Access Gate
@lemoncat7/dsh-access-gate 为 DeepSeek Harness 提供独立、非侵入式的密码访问网关。插件不会替换 DSH 的 WebServer,也不修改 Knowledge、SSH 或其他插件的路由。
工作方式
Browser / API client -> Access Gate :3081 -> DSH upstream :3080
- 浏览器必须先登录,网关才会透明代理 HTTP 与 WebSocket。
/knowledge-api/v1默认允许携带 Bearer Token 的机器客户端通过;Token 仍由 Knowledge 插件验证。- 密码使用 Node.js
scrypt生成不可逆校验值,并保存到 DSH Credentials。 - 浏览器会话使用随机 256-bit Token,服务端只保留 SHA-256 摘要。
- 卸载插件即可移除网关,不会改动 DSH 主程序。
安装与配置
安装包后,在 DSH 的「设置 → 插件 → 访问密码门禁」中配置:
- 从 DSH 启动日志复制一次性初始化令牌并设置至少 6 位密码;公开部署建议使用 12 位以上的随机密码。
- 设置公开 Origin,例如
https://dsh.example.com:1443。 - 开启网关并设置监听地址、端口,保存后重启 DSH。
- 将 Nginx/1Panel 的
proxy_pass改为门禁端口(默认3081)。 - 限制原 DSH 端口(默认
3080)只能从可信主机访问。
公开部署必须开启 HTTPS Cookie。若反向代理与 DSH 不在同一网络命名空间,使用 0.0.0.0 并通过防火墙限制来源。
Knowledge 客户端
远程 Knowledge 客户端无需改变地址或 Token:
Authorization: Bearer dshk_...
网关只对配置的精确 API 前缀放行 Bearer 请求,不允许 /api、/plugins、/assets 等宽泛前缀。普通 DSH API 仍需要浏览器登录会话。
安全边界
此插件保护的是门禁端口。若原 DSH 端口仍暴露到公网,访问者可以绕过门禁。请同时使用 HTTPS、反向代理访问控制和主机防火墙。
开发
npm install
npm test
npm pack --dry-run