luodeb/dsh-web-auth-gateway 预览 preview

luodeb/dsh-web-auth-gateway

Plugin插件 Native原生 ⭐ 2 BSD-3-Clause Notifications & Remote通知与远程

DeepSeek Harness Web 的身份验证反向代理网关插件

Project Overview项目介绍

This is a native authentication reverse-proxy gateway plugin built exclusively for DeepSeek Harness Web. To install the plugin, you must first have Node.js 22 or newer and a working local DeepSeek Harness instance on your local machine running your host operating system. You can run the official DSH plugin command dsh plugin --profile web add github:luodeb/dsh-web-auth-gateway to add it directly from the GitHub repository, and no modifications to the DeepSeek Harness source code are required. After installation completes, you just need to restart your DSH Web service to activate the new gateway.

After you restart DSH Web, you access the gateway at the default address http://127.0.0.1:3090 the first time you launch it after installation. The first time you visit the gateway, you will be prompted to create an administrator account that is required for all future access to the DSH Web interface. All user passwords are hashed with scrypt and salted with a random value, so plaintext passwords are never stored anywhere on your local system. This plugin is specifically designed for users who have deployed DSH Web locally and need to add basic access control to their private instance.

The plugin stores all active session data in server-side memory, so all active sessions are automatically invalidated when you restart your DeepSeek Harness instance. It uses only official DeepSeek @deepseek-ai/* NPM packages, so there are no unvetted third-party dependencies that could introduce unexpected security risks. You must keep the original DSH Web port bound to 127.0.0.1 or another trusted internal interface, otherwise untrusted clients can bypass the authentication gateway entirely. If you expose the gateway to remote networks, you must add a TLS reverse proxy in front of it, and it is released under the permissive open-source BSD-3-Clause license.

这是一个专为 DeepSeek Harness (DSH) Web 设计的原生身份验证反向代理网关插件。它会在本地回环地址的独立端口提供登录页面,用户完成身份验证后,会代理完整的 DSH Web 服务,包括常规页面访问、插件资源、API 请求以及 WebSocket 连接升级等所有流量。它支持通过 DSH 官方插件命令直接安装,全程无需修改 DeepSeek Harness 源码。

首次访问网关时,系统会引导用户创建管理员账户,之后所有访问都需要该账户的凭证验证。它适配 DSH Web 的设置面板,用户可以在「设置 > 插件 > Web UI 插件」中找到网关的配置卡片,直接修改网关端口、会话有效期等参数,默认端口为 3090,会话默认有效期 12 小时。适合需要给本地部署的 DSH Web 添加访问控制的用户使用。

该插件要求 Node.js 22 及以上版本,仅使用 DeepSeek 官方 @deepseek-ai/* NPM 开发包,密码采用 scrypt 加盐哈希存储,从不存储明文密码,凭证文件权限设置为 0600 保证安全。会话存储在服务器内存中,重启 DSH 后会话会失效。原始 DSH Web 端口必须绑定回环地址,否则可绕过网关验证,项目采用 BSD-3-Clause 许可证开源。

Pre-install check安装前体检Compatibility · Security兼容性 · 安全性 1 warning1 项注意
  • Only 2 stars - very few users, little community feedback星标只有 2,几乎没人在用,遇到问题缺少社区反馈
DSH walks through these 9 checksDSH 会逐条核对这 9 项

Compatibility兼容性

  • DSH, Node, OS and profile requirementsDSH 版本 / Node 版本 / 操作系统 / profile 是否满足要求
  • External dependencies and runtimes (Electron / Python / Docker, ...)外部依赖与运行时(Electron / Python / Docker 等)是否齐备
  • Conflicts with installed plugins: command names, skill / tool names, ports, duplicate MCP registration与已装插件是否冲突:命令名、skill / tool 重名、端口占用、重复 MCP 注册

Security安全性

  • Repo matches the facts registered here; archived or abandoned?仓库是否与页面登记一致,是否归档或长期停更
  • Safety of preinstall / install / postinstall and install.sh / setup.ps1preinstall / install / postinstall 与 install.sh、setup.ps1 是否安全
  • curl|bash, download-then-execute, obfuscation, unrelated domains → stop immediatelycurl|bash、下载即执行、混淆代码、无关域名 → 立刻停止
  • Typosquatting or unmaintained packages among the new dependencies新增依赖里有没有 typosquatting 或无人维护的包
  • Requested permissions vs. what the feature actually needs申请了哪些权限、是否超出功能所需(filesystem / network / shell / clipboard)
  • Any sudo / admin requirement, plus uninstall and rollback是否要求 sudo / 管理员权限,以及卸载与回滚方式

Anything uncertain must be marked unknown with a note on how to confirm it. This site's signal screen is a static snapshot, not a security audit.拿不准的必须标「未知」并说明要我怎么确认。本站的信号筛查是静态快照,不能替代安全审计。

Or use CLI install (for developers)或使用命令行安装(适合开发者)

CLI Install命令行安装

dsh plugin --profile web add github:luodeb/dsh-web-auth-gateway

把 luodeb/dsh-web-auth-gateway 加入你的 DSH 配置(web profile)即可启用。

READMEREADME

dsh-web-auth-gateway

A standalone authentication reverse-proxy gateway plugin for DeepSeek Harness Web.

The plugin serves a login page on a separate loopback port. After authentication, it proxies the complete DSH Web surface, including normal pages, plugin assets, API requests, and WebSocket upgrades.

Features

  • First-run administrator account creation
  • scrypt salted password hashing; plaintext passwords are never stored
  • HttpOnly and SameSite=Strict session cookie
  • Server-side in-memory sessions
  • HTTP, API, and WebSocket authentication gate
  • Settings card under Settings > Plugins > Web UI Plugins
  • Configurable gateway port and session lifetime
  • Official @deepseek-ai/* NPM SDK only
  • No changes to DeepSeek Harness source code

Install

Requires Node.js 22 or newer and DeepSeek Harness.

dsh plugin --profile web add github:luodeb/dsh-web-auth-gateway

Restart DSH Web:

dsh web --host 127.0.0.1 --port 3080

Then open:

http://127.0.0.1:3090

On first access, create the administrator account. Later visits require that account.

Settings

Open Settings > Plugins > Web UI Plugins > Login gateway.

Gateway settings

Defaults:

enabled: true
port: 3090
sessionTtlHours: 12

Settings are persisted through the official DSH Settings service in ~/.dsh/settings.yaml.

Login page

First-run administrator setup

The password credential is stored at:

~/.dsh/web-auth-gateway/credential.json

The file contains only the username, random salt, and scrypt password hash. Its mode is 0600.

Security boundary

The original DSH Web port must remain bound to 127.0.0.1 or another trusted interface. If the upstream port is exposed to untrusted clients, they can bypass the gateway.

This plugin currently listens on 127.0.0.1. Use a TLS reverse proxy or a secure tunnel in front of the gateway for remote access. Do not expose plaintext HTTP directly to an untrusted network.

Sessions are stored in memory and are invalidated when DSH restarts.

Development

corepack enable
pnpm install
pnpm build
pnpm typecheck
pnpm test

Install the local checkout into the Web profile:

dsh plugin --profile web add link:$(pwd)

License

BSD-3-Clause

← 上一个 Prev dsh-grok-xsearch 下一个 Next dsh-cad-viewer →