dshbase

Plugin directory / Developer / web-components

web-components

Verified · install-tested on dsh omdsh-dev

✓ Actively maintained Pure TypeScript

View on GitHub ↗ ← Back to plugin directory

2Stars
0Forks
0Open issues
TypeScriptLanguage
2026-08-15Last push
Cross-platformPlatform

What it does

web-components support

✅
Our take
Works — verified, early-stage project

web-components support It installs cleanly and boots without issues in our testing. It's early-stage but functional.

“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.

README

@deepseek-ai/dsh-client-web-component

English | 中文

The DSH Web Component adapter as an installable profile bundle. It exposes a browser-side webComponent service that mounts registered slot trees as native Custom Elements, while keeping slot ownership, typed descriptors, property/event bindings, DOM outlets, and incarnation lifetimes behind the adapter boundary.

Repository shape

package.json              # plugin package and dsh.bundle/dshClient manifests
cordis.patch.yml          # browser opt-in profile layer
src/index.ts              # host loader entry
src/client/               # browser implementation
src/invariant.ts          # package invariant companion
lib/                      # generated host/client artifacts
legacy/                   # source-compatible host integration patch for older DSH snapshots
docs/                     # detailed protocol reference
tests/                    # unit, composition, and terminal-free browser tests

Bundle behavior

Installing the bundle adds a disabled web-component row. A Web profile enables it explicitly after the slot host and browser runtime are present:

- id: web-component
  disabled: false
  name: '@deepseek-ai/dsh-client-web-component'

The bundle layer only composes the plugin row. Slot host APIs, descriptor types, browser runtime, and the React renderer seam must come from the DSH version selected by the profile. The previous host-source integration patch is retained under legacy/ for migration of older DSH snapshots and is not part of the bundle package contract.

The client module never exposes a live React tree or raw DOM context to feature plugins. It accepts plain descriptors, resolves declared values from the incarnation context, assigns JavaScript properties rather than serialized attributes, and reports CustomEvent details through declared handlers.

Development

A full typecheck expects a sibling DSH checkout:

~/git/deepseek-harness
~/git/web-components
pnpm install
pnpm run typecheck
pnpm test
pnpm run build

The prepare script builds the host and browser entries directly from src/, so a Git install does not require sibling project references. pnpm 10 may ask the profile to allow the package's prepare script; only approve a pinned, trusted checkout.

Model Experience

This package contributes no model-visible text, tools, or prompt sections. It only projects browser slot state and Custom Element events; model-visible behavior remains owned by the DSH services rendered through the slots.

Known Limitations and Deferred Work

  • CustomElementRegistry definitions are page-lifetime resources and cannot be unregistered; the adapter rejects constructor replacement.
  • The bundle does not provide a DOM or React renderer; the profile must already mount the DSH slot host and browser runtime.
  • Older DSH snapshots require the compatibility patch in legacy/ because a bundle cannot add missing host source APIs; the current master also predates the Slots election/incarnation APIs, so full typecheck requires the compatible Slots change (for example d97d6a1e).

Install

🧩 Let your agent install it (recommended)

Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:

dsh plugin add dshbase-catalog

Then say "install web-components for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.

Web profile:

dsh plugin --profile web add web-components

Headless (CLI) profile:

dsh plugin --profile headless add web-components

Package

npm: web-components · version — · tested on dsh 0.1.0-rc.6

Test report

Verified end-to-end: L1 install + L2 load + L3 runtime Q&A on dsh 0.1.0-rc.6.

When to use it

Extend the agent's coding surface — give it a new tool, workflow, or integration so it handles a dev task it couldn't before.

Who it's for

Developers who want dsh to behave like a teammate on real codebases — editing, running, and verifying changes rather than just answering.

For developers — extending it

The tool/command surface is the seam: expose more of the SDK, add smarter context wiring, or tighten the loop between code changes and verification.

Security: not yet scanned — our daily static scan will cover it shortly.

Share this badge

More in Developer

Browse all 7797 plugins →