AI Agent Hub
Back to plugins
🖥️

dsh-auth

Client Updated 2026.08.25

Run the following command in DeepSeek Harness:

dsh plugin install radaren/dsh-auth

Paste the following prompt into your AI chat to install this plugin:

Run dsh plugin install radaren/dsh-auth in the DeepSeek Harness terminal to install this auth plugin; full source is available at https://github.com/radaren/dsh-auth .

About this plugin

The built-in webServer in DeepSeek Harness 0.1.0-rc.6 exposes named routes, an upgrade route, and a SPA fallback, but offers no HTTP middleware layer. Adding a /login route alone cannot protect the existing /api endpoints, static admin pages, and WebSocket connections simultaneously. dsh-auth replaces the built-in webServer with an auth-host bundle that provides the same service surface, placing SPA, HTTP API, and WebSocket upgrade behind a single shared-token login gate.

The login flow is deliberately minimal: the plugin reads or auto-generates a 32-byte random token (file permission 0600), serves a built-in /auth/login page, and writes an HttpOnly, SameSite=Strict cookie on success. Logout clears only the current browser session; replacing the token file and restarting dsh web revokes all sessions. For plain-LAN deployments it injects a crypto.getRandomValues()-based UUID v4 shim so the client bundle does not break when crypto.randomUUID() is unavailable. It fixes API compatibility only and does not upgrade HTTP to a secure context, so public-facing use requires an HTTPS reverse proxy and the Secure cookie flag.

dsh-auth is aimed at operators who manage a Harness web instance on a LAN or behind a proxy and need a credential gate without standing up full OIDC or OAuth2 infrastructure. It does not read model API keys from .credentials.yaml, does not modify existing HMR, connection, or modules plugins, and is ready to use after installation. It is a single shared-token boundary, not a multi-user RBAC or audit system, and it does not terminate TLS. It answers exactly one question: who is allowed to open this Harness instance.

Use Cases

  • Add a single-token login gate to the Harness web admin UI that covers SPA, /api, and WebSocket in one pass
  • Protect management endpoints and remote scheduling APIs from unauthorised browsers on a shared LAN
  • Serve as a lightweight auth layer behind an HTTPS reverse proxy so external traffic must present a valid token before reaching Harness

Best For

  • Developers who manage Harness remotely and need a credential gate without standing up full OIDC
  • Teams deploying Harness on a LAN that want auth isolation with minimal configuration changes
  • Operators who need a single shared-token boundary and do not require multi-user RBAC or audit trails