dsh-passwords: A Gateway Plugin for DeepSeek Harness Enabling Multi-tenant Remote Access and Permission Control
slywalker2006/dsh-passwords
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.
dsh plugin --profile web add github:slywalker2006/dsh-passwords- Category
- Integrations & Connections
- Platform
- DSH-Plugin
- Author
- slywalker2006
- Distribution
- Plugin
dsh-passwords Key Features
dsh-passwords Repository

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):
# 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?
- Start dsh as usual (run
dsh web), the password gate auto-starts, no extra command needed. - Open
https://<server-IP>.sslip.ioin a browser; the first visit automatically goes to the "first-time setup" page, enter SETUP_KEY, create the main user. - 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.