frozo-ai / dsh-teams

목록에 있음

Team access for the DeepSeek Harness (dsh) web UI — login wall + HTTP/WebSocket reverse proxy. Zero dependencies.

master도구 소스 보기

설치

npx @deepseek-ai/dsh web

이 명령은 GitHub 저장소 주소에서 생성됩니다. 실행 전에 업스트림 README와 소스를 검토하고 재현성이 필요하면 release 또는 commit을 고정하세요.

README

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

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

dsh-teams

Team access for the DeepSeek Harness web UI.

The dsh web server ships with no TLS, auth, or origin policy — deliberately out of scope. That's correct for a loopback dev tool, and a problem the moment you want your team on one shared instance.

dsh-teams is a zero-dependency auth gateway: a login wall plus a full HTTP and WebSocket reverse proxy in front of a loopback-bound dsh web. Your dsh stays on 127.0.0.1; the gateway is the only thing exposed.

browser ──> dsh-teams :3081 (auth wall) ──> dsh web 127.0.0.1:3080

Quick start

# 1. run dsh as usual (loopback-bound, the default)
npx @deepseek-ai/dsh web

# 2. create a user and start the gateway
npx dsh-teams add-user alice
npx dsh-teams start          # http://0.0.0.0:3081 -> 127.0.0.1:3080

Point your team at http://<host>:3081. Unauthenticated requests — including WebSocket upgrades — get a login page; authenticated ones are proxied through untouched.

What it does

  • Login wall on every HTTP route and WebSocket upgrade
  • scrypt password hashing, HMAC-signed HttpOnly cookies, login rate limiting (10 tries / 15 min / IP)
  • Forwards the authenticated username upstream as x-dsh-teams-user (audit / future per-user routing)
  • Zero npm dependenciesnode:http, node:net, node:crypto; survives dsh rc churn because it never touches dsh internals

CLI

dsh-teams add-user <name> [password]   create user (prompts if password omitted)
dsh-teams start [port]                 start gateway (default 3081)
dsh-teams remove-user <name>
dsh-teams list-users

Env: DSH_TEAMS_PORT, DSH_TEAMS_HOST, DSH_UPSTREAM_HOST, DSH_UPSTREAM_PORT, DSH_TEAMS_HOME (default ~/.dsh-teams).

Security notes

  • Run behind TLS (Caddy/nginx/Cloudflare Tunnel) for anything beyond a trusted LAN — cookies are not Secure over plain HTTP.
  • All authenticated users share one dsh instance and see the same sessions/workspaces. Per-user isolated instances are the next milestone (below).
  • Sessions are in-memory: restarting the gateway logs everyone out.

Roadmap

  • Per-user dsh instances — one process + DSH_HOME per user, gateway routes by identity (true isolation)
  • OIDC / SSO login (Google, GitHub, Okta)
  • Roles & per-user workspace allowlists
  • Usage quotas per user
  • Audit log of who ran what

Test

npm test   # 6-check smoke test: wall, bad login, login, proxy, tamper, logout

MIT. Not affiliated with DeepSeek AI.

프로젝트 파일 및 신호

표시된 항목은 디렉터리 스냅샷에서 감지된 공개 저장소 신호입니다.

테스트감지됨

저장소 정보

언어
JavaScript
라이선스
보고되지 않음
마지막 업데이트
2026. 8. 17. PM 3:58

신중하게 설치하기

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