dsh-generative-ui plugin
dsh-generative-ui turns a DeepSeek Harness reply into a live React interface that renders while the model is still typing it.
- 156 ★ on the repository
- Last commit
Broad access
Why this level
- Model-written code is compiled and executed in the user's browser.
- npm packages are loaded from an external CDN at render time without review.
Install
Manual install
dsh plugin --profile web add dsh-generative-uiThe install command from the README; restart `dsh web` afterwards.
Access and checks
How we reviewBroad accessThe tool can change data, run commands or handle secrets.
- Model-written code is compiled and executed in the user's browser.
- npm packages are loaded from an external CDN at render time without review.
This is third-party code. Review the repository files before installing.
What it does
dsh-generative-ui, a plugin for the DeepSeek Harness web client, shows agent replies as more than text. A code block labelled `ui4a/tsx` renders in place in the conversation: a chart, a form, a set of options or a calculator. A file at `ui4a/canvases/<id>.ui4a.tsx` opens in a side panel and persists across turns. TSX compiles in the browser during streaming, so a card appears before its JSX is closed. Generated code pulls npm packages from esm.sh, shares the client's single React instance and takes colours from the app's design tokens, following light and dark themes. The format guide lives in the `generative-ui` skill.
Who it is for. DeepSeek Harness web client users who want interactive agent answers: forms, charts, panels with adjustable parameters.
Good fit when
- An agent should answer with a chart where the reader edits a number.
- A result must stay in a side panel across later turns.
- A user picks an option by clicking instead of typing a reply.
- A team tries generative UI on its own `dsh web` build.
Not a fit when
- You use another client: the plugin works only inside `dsh web`.
- Model-written code must not run in the browser unreviewed.
- The session uses the `minimal` preset, so the model never learns the format.
Example request
Show a comparison of three plans as a table with a user-count slider, rendered right in the conversation.Limitations
The plugin is tied to DeepSeek Harness and its web profile and does nothing in other clients. Plugins mount at boot, so `dsh web` must be restarted after adding it. The `minimal` preset cannot extend the system prompt, so the model does not write `ui4a/tsx` blocks, although a card pasted by hand still renders. Package code is loaded from esm.sh at render time, so network access is required. The project is young and a 0.0.x version pins exactly, so updates need manual confirmation, as does the code the model writes.
How to disable. Remove the package from the profile via `dsh plugin --profile web`, delete `dsh-generative-ui` from `dsh.profile.bundles` in `~/.dsh/profiles/web/package.json` and restart `dsh web`.
FAQ
How do I install the plugin?
Run `dsh plugin --profile web add dsh-generative-ui`. It adds the package to the profile `dsh.profile.bundles`; restart `dsh web` afterwards.
How do inline and canvas differ?
An inline block sits between reply paragraphs and fits a chart or form. A canvas, a file under `ui4a/canvases/`, opens in a side panel and persists across turns.
Why does the model not draw an interface?
The session probably uses the `minimal` preset: the prompt cannot be extended and the model does not know the format. Pick `standard` or add the `skill` tool to a preset copy.
Where do packages in generated code come from?
They are fetched from esm.sh at render time. The code shares the client's single React instance.
Can I install an unreleased commit?
Yes: `dsh plugin --profile web add link:/path/to/dsh-generative-ui`, pointing at a local checkout.
Discussion
No questions or reviews yet.
Related
PluginsA skill with a searchable base of styles, palettes, font pairings and UX rules that generates a design system per product type
Official Claude Code plugin from the Next.js repo: adopting Cache Components and Partial Prefetching, and verifying changes on a running dev server
Official shadcn/ui skill and MCP server: the agent searches registries, adds components via the CLI and follows the library's rules
Skills against boilerplate-looking UIs: layout, type, motion and spacing, plus reference image generation for web and mobile
An open-source Claude Design alternative that builds prototypes, decks, dashboards and video through your local agents
A frontend design skill with 23 commands, live browser iteration and 61 detector rules for common AI-generated UI tells
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Repository stars | Main difference |
|---|---|---|---|
| dsh-generative-ui (this card) | no | 156 | |
| DeepSeek Harness GenUI | no | 125 | another generative UI plugin for DeepSeek Harness; this one adds streaming TSX compilation, a canvas mode and a `generative-ui` skill |
| DeepSeek Harness | yes | 274,836 | the agent and its client themselves; dsh-generative-ui adds live interfaces to the web client |
README in short
The package has a node half and a browser half. The first adds the prompt section and the skill, the second compiles TSX and mounts the canvas panel. The per-request prompt stays short while the skill loads details on demand.