GuoMonth / dsh-multi-tenant

목록에 있음

Multi-tenant SaaS extension for DeepSeek Harness (DSH): tenant identity, session isolation, authorization, tenant-aware MCP, and audit.

main세션샌드박스 소스 보기

설치

npx -y @deepseek-ai/dsh plugin --profile web add github:GuoMonth/dsh-multi-tenant

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

README

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

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

简体中文 | English

dsh-multi-tenant

Composable multi-tenant / SaaS plugin suite for DeepSeek Harness (DSH).

Phase: engineering foundation. The kernel baseline is established and test-pinned; its public contract remains prerelease. The suite grows around it one plugin at a time. See ROADMAP.md.

What this is

A plugin family, not a single plugin. A kernel — dsh-multi-tenant — owns the tenant/session contract (identity, ownership, fail-closed authorization). This repository ships the official default implementations (storage, web enforcement, …) as independently publishable Cordis plugins, each following DSH's service/bundle logic and each replaceable by a third-party implementation that passes the same contract tests.

Maintaining a complete default stack matters because a single party can then hold the end-to-end tenant-isolation invariant — tenant A can never touch tenant B across auth → RPC → session → MCP → downstream — something no single plugin's unit test can prove.

Guiding principles

  • Typical capability layeringContract (a native DSH/Cordis seam: Service, event, or protocol) → Provider (plugin) → Composition (cordis.patch.yml bundle), where applicable. Pure integration / security-boundary plugins compose directly against native seams.
  • One-way dependency — the kernel owns only the minimal cross-suite tenant primitives and depends on nothing transport- or vendor-specific (no JWT, no PostgreSQL, no HTTP, no MCP, no Redis); capability packages own their own contracts and may depend on the kernel's primitives.
  • Split by replaceable capability, not size — and a single security invariant is not split across packages.
  • Default ≠ only — the suite ships defaults; third parties may swap any layer, if it passes the same contract test.

See CONTRIBUTING.md for how development is done here. Full documentation lives in docs/.

Packages

PackagenpmRole
packages/multi-tenantdsh-multi-tenantKernel: ctx.multiTenant + ctx.tenantSessionStore, claim-once ownership, fail-closed authorization.
packages/multi-tenant-webdsh-multi-tenant-webWeb enforcement: principal binding, RPC/mux/WS guard (early spike).

Development

pnpm install
pnpm typecheck
pnpm test
pnpm build

Root scripts delegate to every workspace package via pnpm -r.

License

MIT

프로젝트 파일 및 신호

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

테스트감지됨
기여 가이드감지됨
문서감지됨
예제감지됨

저장소 정보

언어
TypeScript
라이선스
MIT
마지막 업데이트
2026. 8. 18. 오전 10:42

신중하게 설치하기

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