dsh-passwords: A Gateway Plugin for DeepSeek Harness Enabling Multi-tenant Remote Access and Permission Control

slywalker2006/dsh-passwords

Integrations & ConnectionsVerified
Listed on 2026-08-20
Page last updated 2026-08-20

Adds a server-grade gateway to DeepSeek Harness for multi-tenant remote access, permissions, and quotas.

dsh-passwords adds login, permission, and quota management to DeepSeek Harness, turning dsh from a local tool into a server product usable by multiple remote users.

install
dsh plugin --profile web add github:slywalker2006/dsh-passwords
Category
Integrations & Connections
Platform
DSH-Plugin
Author
slywalker2006
Distribution
Plugin

dsh-passwords Key Features

Auto HTTPS & remote accessMulti-user permissions & quotasSandbox & workspace whitelistSession audit & collaboration notes

dsh-passwords Repository

slywalker2006
Publisher
slywalker2006
Repository
slywalker2006/dsh-passwords
15
Stars
5
Forks
1
Watchers
0
Open issues
LanguageTypeScript
LicenseBSD 3-Clause "New" or "Revised" License
Website
Repo last push2026-08-20 13:51:25
Repo created2026-08-14 14:35:16
Topics
authenticationdeepseekdeepseek-harnessdshdsh-plugingatewaymulti-tenantremote-accesssecurityself-hosted
Default branchmain

dsh-passwords Repo Summary

dsh-passwords is a server-grade gateway plugin (DSH plugin) for DeepSeek Harness, maintained by slywalker2006, licensed under BSD-3-Clause, written in TypeScript. It turns dsh from a local single-machine tool into a multi-tenant platform, solving the problem that dsh's built-in web UI has no login, no permissions, and no usage control—anyone with the address can access and consume model quotas. The plugin adds a gateway in front of dsh: unauthenticated users see a login page; after login, permissions and quotas are enforced per account. Installation is a single command, no extra configuration needed, out-of-the-box. It supports remote access, automatic HTTPS, multi-user management, permission and quota control, and collaboration messaging.

What core features does the dsh-passwords DSH plugin support?

  • Remote access: Login page + first-time setup page, session lasts 12 hours (cookie-based); automatic Let's Encrypt certificate, port 80 redirects to 443; login page follows dsh theme; remote browsers can use all dsh settings (dsh normally only allows local editing, the plugin handles it, with a "reload patch" one-click fix).
  • Multi-user: One main user + any number of sub-users, each with independent credentials; all account management done via cards in dsh settings, no SSH needed; password changes invalidate old sessions immediately; login attempts are logged, queryable with one command.
  • Permissions and quotas: Main user can configure per sub-user: workspace whitelist, hourly token limit, daily usage time limit, sandbox permissions (read-only/writable/complete access), upload/git download toggles, and ban sub-users.
  • Collaboration: Chat button in bottom-left corner for messages between main and sub-users, with tags (issue/pull request/discussion/announcement/problem).

How to install dsh-passwords?

Prerequisites: Node.js 22.5+, dsh installed (npm install -g @deepseek-ai/dsh), and git. Installation commands (Linux/macOS or Windows):

bash
# Linux / macOS: direct download
curl -fsSL https://raw.githubusercontent.com/slywalker2006/dsh-passwords/main/install.sh | bash

# or clone and install
git clone https://github.com/slywalker2006/dsh-passwords
cd dsh-passwords
bash install.sh

# Windows: download install.bat and double-click (or clone and run)
# npm users:
npm install -g dsh-passwords
dsh-passwords install

The script automatically: installs dependencies → compiles → generates a random SETUP_KEY → registers as a dsh plugin → applies remote settings patch. After installation, the screen shows the SETUP_KEY, also written to setup-key.txt in the install directory; delete this file after initialization.

How to complete the first-time setup of dsh-passwords?

  1. Start dsh as usual (run dsh web), the password gate auto-starts, no extra command needed.
  2. Open https://<server-IP>.sslip.io in a browser; the first visit automatically goes to the "first-time setup" page, enter SETUP_KEY, create the main user.
  3. After that, all visitors see the login page first. Remember to open ports 80 and 443 in the firewall and cloud security group.

How does dsh-passwords achieve automatic HTTPS?

It automatically detects the server's public IP, uses <IP>.sslip.io domain to get a 90-day certificate from Let's Encrypt, auto-renews 30 days before expiry (hot-reload, no restart). If you have your own domain, add MCP_GATEWAY_DOMAIN=your-domain to .env and point an A record to the server. If issuance fails, it refuses to start (with error code), never silently downgrades to plain HTTP.

Which DeepSeek Harness versions and platforms are compatible with dsh-passwords?

dsh-passwords is an official DeepSeek Harness plugin (package.json includes dsh.bundle manifest), depends on @deepseek-ai/dsh-client-runtime and @deepseek-ai/dsh-host-webserver, supports Linux, macOS, Windows. It is listed in Awesome DeepSeek Harness (Infrastructure & Development) and Awesome DSH Plugin (Development & Runtime). Last updated 2026-08, maintained by slywalker2006.

See more DSH plugins at dsh-plugin.org

DSH-Plugin FAQ