DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-generative-ui

d

dsh-generative-ui

Manifest valid

Lets the AI insert streaming-generated UI into the conversation or a side panel, written in TSX — already one of the model's native languages, so there is no JSON schema to teach it. Rendered without

UI (client)hasBundlePatch

dsh-generative-ui

npm pkg.pr.new MIT

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

Every release is published from CI over OIDC, so the tarball carries npm provenance. For an unreleased commit there is a preview build of every push:

dsh plugin --profile web add https://pkg.pr.new/CNSeniorious000/dsh-generative-ui@main

And working on it locally, point the profile at your 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.
  • src/skill.ts is registered through ctx.skills.register() and loads only when the model reaches for it. It carries the judgement: whether the answer wants an interface at all, inline or canvas, how to frame and lay one out.

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

MIT

Compatibility

DSH 0.1.5-rc.2: errorDSH 0.1.6-alpha.1: errorDSH 0.1.5-rc.1: errorDSH 0.1.5-alpha.2: errorDSH 0.1.5-alpha.1: errorDSH 0.1.3-alpha.2: errorDSH 0.1.2-rc.1: errorDSH 0.1.2-alpha.5: errorDSH 0.1.2-alpha.4: errorDSH 0.1.2-alpha.3: errorDSH 0.1.2-alpha.2: error

Versions

Latest versionPublishedSize
0.0.0
0.0.1
0.0.2
0.0.3
0.0.4

From the same category

DSH-better-sidebar

by omdsh-dev

开放的侧边栏底座,支持三方拓展注册新侧边栏页面。内置文件渲染编辑/终端/侧边对话/Git/子代理页面 | Open sidebar foundation, supports third-party extensions to register new sidebar pages. Built-in file rendering/editing, terminal, side chat, Git,

UI & ExperienceTerminal & ClientsManifest valid

3.6k

73.8k/wk

MIT

TypeScript

Sep 14, 2026

dsh plugin --profile web add dsh-better-sidebar

by ccch1mneyyy

DSH 官方公众号收录的 TUI 补位插件:Claude Code 风,鲸鱼顶栏/实时状态/流式思考/双击 Esc 回滚/上下文进度+TPS。npm 一键装。 DSH official WeChat featured TUI plugin — Claude Code style: whale bar, live status, streaming thoughts, double-Esc rol

UI & ExperienceTerminal & ClientsManifest valid

3k

8k/wk

MIT

TypeScript

Sep 15, 2026

dsh plugin --profile web add @deepseek-harness-tui/dsh-tui

by MeteorNOX

DeepSeek Harness(DSH)一只住在 DSH 界面右下角的小鲸鱼娘,帮你盯着DeepSeek账户余额。QQ弹弹,支持拖拽吸附、左吸附翻转、数字滚动动画,随界面自动启用,建议直接喊来你的dsh安装

Tools & CapabilitiesUI & ExperienceManifest valid

2.4k

6.4k/wk

MIT

JavaScript

Sep 14, 2026

dsh plugin --profile web add dsh-whale-widget

by omdsh-dev

GenUI for DeepSeek Harness: interactive UI components rendered inline in assistant replies via the dsh-ui fence — layout, charts, plots, forms, quizzes, mermaid, 3D scenes, and an action event loop ba

Tools & CapabilitiesUI & ExperienceManifest valid

454

6k/wk

MIT

TypeScript

Sep 15, 2026

dsh plugin --profile web add @changfenhuang/dsh-genui

by huiliyi37

官方 DeepSeek Harness 的交互式终端 UI 插件:自研 ANSI 极简交互渲染、流式 Markdown/工具卡、16+ 主题、slash 命令与选择器、输入历史与本地偏好持久化、LSP 诊断、memory记忆,很丝滑的开发体验。

UI & ExperienceTerminal & ClientsManifest valid

276

462/wk

Apache-2.0

TypeScript

Sep 14, 2026

dsh plugin --profile web add @huiliyi37/dsh-tianshu-tui

by Nagi-ovo

在 DSH 对话中生成交互式可视化|Render model-generated interactive cards inside DSH conversations

Tools & CapabilitiesUI & ExperienceManifest valid

260

BSD-3-Clause

TypeScript

Aug 27, 2026

dsh plugin --profile web add @dsh-external/dsh-visualize