SuperMate-Ai/SuperMate-Harness-System--plugins-DSH-Official-packages-client-web ↗★ 1

@deepseek-ai/dsh-client-web

网页外壳内核:两阶段启动、模块系统与根组件装配入口 适合需要自建网页客户端外壳的集成方,由应用入口调用启动。

套件
@deepseek-ai/dsh-client-web
相容性
待驗證
Harness 依賴範圍
workspace:^
Cordis 依賴範圍
workspace:^
版本
0.1.0-rc.5
授權
Apache-2.0
最近更新
2026年9月4日

同名套件的其他儲存庫

安裝

此插件尚未提供可驗證的 bundle,或相容性檢查未通過。請先閱讀倉庫說明。 閱讀完整 README ↗

@deepseek-ai/dsh-client-web

English | 中文

Web shell kernel: new AppWebEntry(el, seams?).run() mounts the whole client through the two-stage boot (web2). Stage one (module face): build the client module system (@deepseek-ai/dsh-client-modules) over the host-pushed entry graph (window.__DSH_BOOT__) and prefetch the immediately tier in parallel — bundle execution registers factories only. Stage two (plugin face): mount the vendored cordis Loader with the module system injected through its internal contract, create one loader entry per graph row plus the shell-own app-shell assembly entry (tree.import materializes each module), and gate AppRoot on the settle (loader quiesced + every entry fiber ACTIVE → full UI in one switch). Composition is entirely the host graph's: the roster and the immediately tier live in the composing app; the shell makes zero composition decisions.

Shell self-sufficiency (web2 hard rule): the kernel value-imports no plugin package — the boot status store and signals are hand-rolled here (loader-status.ts), so the loading page works while (and especially when) plugins fail. The app-shell assembly (@deepseek-ai/dsh-client-app-shell, a shell-owned pseudo entry with no npm package behind it) is the only module registered through registerStatic; it inject-waits on slots/sessions/layout like any plugin.

PLATFORM_MODULES (src/platform.ts) is the single source of truth for shared modules: seed-table keys, tsdown client externals, and the Vite alias set are its projections.

The optional override parameter seams forwards the module system's loadBundle transport override (BootSeams) for environments where external `` execution cannot reach the page context; ordinary browser callers omit it.

The shell owns browser-title projection. With a selected session carrying a durable title, it renders — and reacts to later title revisions; no selection or a selected untitled session preserves the existing title, and shell unmount restores it. The existing HTML title remains the configurable product suffix.

Model Experience

None, as the entry shell boots the browser plugin tree; nothing here reaches a model request.

KV Cache effect

None; this package neither assembles nor sends a provider request.

Known Limitations and Deferred Work

  • One-shot rendering by design — the UI waits for the boot settle; a single entry failure keeps the loading page with a loud per-entry report, no partial availability (progressive rendering returns with its own project).
  • Narrow-window shell behavior lacks an assembled walkthrough — ui-layout implements the concession chain, but this package has no shell-level narrow-viewport acceptance case.