kolawong / dsh-plugin-auth-webserver

목록에 있음

DeepSeek Harness plugin providing HTTP Basic Authentication, remote IP access, and Web Cryptography UUID polyfill for self-hosted server deployments.

main도구 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:kolawong/dsh-plugin-auth-webserver

이 설치 명령은 GitHub 저장소 주소에서 생성된 확인되지 않은 시작점입니다.

README

유지 관리자가 작성한 문서 스냅샷입니다.

GitHub에서 보기 ↗
커밋 ba10eb4동기화 2026. 8. 18.

DeepSeek Harness Web Authentication Plugin

dsh-plugin-auth-webserver

GitHub license GitHub stars DeepSeek Harness

Native Web authentication bundle for DeepSeek Harness (DSH). Give your self-hosted deployment a DSH-styled web login page, cookie sessions, Basic Auth fallback, a Web UI settings card, and a Web Crypto polyfill — in English and Simplified Chinese.

简体中文 | English


Features

  • DSH-themed web login page
    • Replaces native browser authentication popups with a dark, glassmorphism login interface matching DeepSeek Harness's design system.
    • Bilingual (English / Simplified Chinese, following the browser's language), password show/hide toggle, error animations, Enter-to-submit, responsive on mobile and desktop.
  • HMAC cookie sessions and logout
    • Issues 30-day cryptographically signed HMAC session tokens on login.
    • Dedicated /api/auth.logout endpoint and a Web UI logout button.
  • Web GUI settings card
    • Live configuration in the DSH Web UI (Settings -> Plugins -> Web authentication).
    • Hot-updates credentials in memory instantly and persists them to a plugin-owned state file under $DSH_HOME/plugins/dsh-plugin-auth-webserver/, so they survive restarts without touching your config layers.
  • Dual-mode authentication and WebSocket protection
    • Prefers web form / cookie sessions while staying backward-compatible with HTTP Basic Auth for CLI tools, curl, and automated API clients.
    • Full authentication coverage for both HTTP routes and WebSocket (upgrade) channels.
  • Remote IP privileged RPC trust delegation
    • Normalizes request Host and Origin headers for authenticated sessions, eliminating HTTP 403 errors when accessing privileged RPC endpoints via a public IP.
  • Web Crypto UUID auto-polyfill
    • Injects a safe UUID generator into the HTML <head> for non-HTTPS and direct-IP environments, preventing client-side crashes.

Installation

Install the bundle into a profile with dsh plugin:

# From a git host (pin a commit so later pushes cannot change what runs):
dsh plugin --profile web add github:kolawong/dsh-plugin-auth-webserver#<commit-sha>

# Or from a tarball / npm registry once published:
dsh plugin --profile web add ./dsh-plugin-auth-webserver-0.3.0.tgz
dsh plugin --profile web add dsh-plugin-auth-webserver

The package declares dsh.bundle, so dsh plugin appends it to the profile's bundle list automatically; its patch disables the stock webserver row and inserts the auth-gated server. Then boot:

dsh --profile web

Open http://your-server-ip:3080 to see the login page.

Configuration

Every option has a default; override the webserver-auth row in your profile's own patch ($DSH_HOME/profiles/web/cordis.patch.yml), which is applied after every bundle layer:

- id: webserver-auth
  config:
    host: '0.0.0.0'
    port: 3080
    username: 'admin'
    password: 'your_secure_password'

Changes made in the Web UI settings card apply immediately and are stored in $DSH_HOME/plugins/dsh-plugin-auth-webserver/state.json (mode 0600). Environment variables DSH_AUTH_USER and DSH_AUTH_PASS override both the config and the saved state.

OptionTypeDefaultDescription
hoststring'0.0.0.0'Listening interface (0.0.0.0 or 127.0.0.1).
portnumber3080HTTP/WebSocket listen port.
usernamestring'admin'Authentication username.
passwordstring''Authentication password (leave empty to disable authentication).
realmstring'DeepSeek Harness Authentication'Realm string used for fallback Basic Auth.

API endpoints

  • POST /api/auth.login — Authenticate and receive a session cookie ({ username, password }).
  • POST /api/auth.logout — Invalidate the current session and clear the cookie.
  • GET /api/auth.get — Retrieve the current username, password, and realm (requires authentication).
  • POST /api/auth.update — Live-update credentials and persist them (requires authentication).

License

MIT License © 2026 kola

저장소 정보

언어
JavaScript
라이선스
MIT
마지막 업데이트
2026. 8. 18. 오전 9:06

신중하게 설치하기

소스 코드, 권한, 수명 주기 스크립트, 의존성 및 네트워크 접근을 검토하고 신뢰하지 않는 플러그인은 격리 환경에서 테스트하세요.