dshbase

插件目录 / Developer / web-components

web-components

已验证 · 实测可装 omdsh-dev

✓ 持续维护 纯 TypeScript

查看 GitHub ↗ ← 返回插件目录

2Stars
0Forks
0未关闭 issue
TypeScript语言
2026-08-15最近推送
跨平台平台

功能简介

web-components 支持

✅
我们的评价
可用 — 实测通过,早期项目

web-components 支持 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

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).

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 web-components」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

Web profile:

dsh plugin --profile web add web-components

Headless(CLI)profile:

dsh plugin --profile headless add web-components

包信息

npm:web-components · 版本 — · 实测环境 dsh 0.1.0-rc.6

实测报告

端到端验证通过:dsh 0.1.0-rc.6 上 L1 安装 + L2 加载 + L3 运行问答。

使用场景

扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。

适合谁

想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。

二次开发建议

工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7797 个插件 →