DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins

dsh-generative-ui

Generative Ui

Generative UI for DeepSeek Harness — the agent writes TSX, dsh web renders it live, inline in chat and in a canvas panel

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:MindLab-Research/dsh-generative-ui#abfafa91ecba4369b432887767aacedcf01138b9
READMECompatibilityVersions

Compatibility and provenance

Generative Ui is published as dsh-generative-ui and currently resolves to version 0.2.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
web
Release source
github
Registry updated
11/4/2026

Versions

0.1.1stable
10/21/2026
0.2.0stable
10/21/2026
0.1.0stable
10/15/2026
Show 10 more versionsCollapse versions
0.0.9stable
10/12/2026
0.0.8stable
10/12/2026
0.0.7stable
10/9/2026
0.0.6stable
10/4/2026
0.0.5stable
9/22/2026
0.0.4stable
9/11/2026
0.0.3stable
9/3/2026
0.0.2stable
8/25/2026
0.0.1stable
8/25/2026
0.0.0stable
8/20/2026

Related plugins

Loading related plugins…

Latest
0.2.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
web
License
Apache-2.0
Source
github
GitHub
★ 97
Weekly downloads
486
Last push
10/30/2026
View source ↗Project homepage ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in ui-customization.

Better Sidebardsh-better-sidebarBetter Sidebar for DSH — file tree, editor, changes, tasks and side chat in one column, separate for every conversation. Also exposes a service other plugins use to register sidebar tabs and file viewers.Dafeiyudsh-dafeiyuA desktop-native BigFish companion driven by DeepSeek Harness session events.Codex Ui@michengai/dsh-codex-uiDSH Codex UI — 为 DeepSeek Harness 提供极速历史召回、全屏设置皮肤、原生物理毛玻璃换肤、模块化侧栏与桌面原生窗口菜单 · Input enhancement, settings skin, native glass theme, modular sidebar, and desktop titlebar menu for DSHDeepseek Idesigndeepseek-idesigniPolloWork Design Studio and its curated design templates as a native DeepSeek Harness conversation view.

README

dsh-generative-ui

Generative UI for DeepSeek Harness: the agent answers with a live React interface instead of prose. It streams — the component renders while the model is still typing it.

Two places it shows up:

  • Inline — a fenced ```ui4a/tsx block renders in place, between the paragraphs of the reply. Right for a chart, a form, a set of options to click, a calculation the reader will want to change a number in.
  • Canvas — a file at ui4a/canvases/<id>.ui4a.tsx opens in a panel beside the conversation and stays there across turns. Right for a tool the user will come back to.

Generated code imports anything on npm (resolved from esm.sh at render time), shares the host's single React instance, and takes its colours from the app's own design tokens, so it follows the light/dark theme.

The ui4a in that fence is the harness this implements — UI for Agent, from Mind Lab: rather than coaxing an agent into a fixed UI schema, let it write ordinary frontend code and have the runtime enforce the boundaries. The reasoning, and the benchmarks behind it, are in UI4A: A Component-Native Harness for Generative UI. This package is that harness wired into dsh's web client.

Install

dsh plugin --profile web add dsh-generative-ui

Published npm releases carry provenance. To try an unreleased commit while preview publishing is unavailable for the transferred repository, point the profile at a local checkout — lib/ is built by prepare, so the profile does not care that this package uses bun and dsh uses pnpm:

dsh plugin --profile web add link:/path/to/dsh-generative-ui

dsh plugin forwards to the profile's package manager, so any of these installs the package — and adds it to ~/.dsh/profiles/web/package.json's dsh.profile.bundles, which is the list dsh actually boots. Verified on a clean machine, the bundle list reads:

{
  "dsh": {
    "profile": {
      "bundles": [
        "@deepseek-ai/dsh-base",
        "@deepseek-ai/dsh-web-app",
        "dsh-generative-ui"
      ]
    }
  }
}

The dependencies entry beside it is whatever form you installed — and from the registry that is a caret, which on a 0.0.x version pins exactly: ^0.0.1 matches 0.0.1 and nothing later. Edit it to ~0.0.1 if you want patches.

Start dsh web and it is there — or restart it if it was already running, since plugins are mounted at boot and adding one has no hot-reload.

If nothing happens, check which agent preset the session is on first. Under minimal (极简模式) the persona is declared complete: true, so nothing can append to the system prompt and the skill tool is not in the preset — the model is never told this format exists. Measured: 45 characters of system prompt against 27524, and zero mentions of the fence. The rendering half still works, so a card you paste by hand renders; the model just will not write one. Use standard, or copy the preset and add tool-skill back.

How it works

The package is one plugin with two halves, which is how dsh plugins reach the browser:

lib/index.js (node)injects the system-prompt section, registers the generative-ui skill, serves the compiler wasm and canvas file reads over its own webServer routes
lib/client.js (web)claims ui4a/tsx code blocks in the transcript, compiles TSX in-browser, mounts the canvas panel

The model is taught in two layers, split by what each costs:

  • src/prompt.ts rides in every request, so it carries only the trigger, the fence syntax, the canvas path, and the colour tokens.
  • skill/SKILL.md is registered through ctx.skills.register() and loads only when the model reaches for it. It carries the UI and inline/canvas decisions, then points to topic-specific files in skill/references/ for the authoring details.

That split is measured, not assumed — see CLAUDE.md §4.5 for the 40-prompt evaluation behind it.

Development

bun install
bun run check     # lint + typecheck + build + smoke

bun run build bundles both halves with Bun.build. CLAUDE.md is the design document — it records the host constraints this plugin was built against, all of them found the hard way.

License

Apache-2.0