timedomain1/dsh-mermaid-renderer
Renders Mermaid code blocks in the DSH chat as diagram cards — flowchart, sequence, class, state, ER, journey, gantt, pie, mindmap, timeline, C4 and gitGraph — with diagram/source toggles, repeatable zoom, a standalone fullscreen viewer and one-click source copy. One codebase serves both the CLI web UI and the official desktop app; the Mermaid engine is lazy-loaded and works offline.
dsh-mermaid-renderer turns Mermaid code blocks in the DSH chat into diagram cards, supporting flowchart/graph, sequenceDiagram, classDiagram, stateDiagram, erDiagram, journey, gantt, pie, mindmap, timeline, C4Context and gitGraph. Blocks render automatically (streaming output, session switches and virtualized re-renders are re-scanned); each card toggles between diagram and source, zooms in/out/reset repeatedly (0.25x–4x, Ctrl+wheel inside the card, horizontal scroll past container width), opens a standalone fullscreen viewer (mounted on document.body so it is immune to chat re-renders, with cursor-centered wheel zoom, drag-to-pan, fit-width/100% and ESC to close) that can also be opened in a new tab, and copies its source in one click. The Mermaid engine is lazy-loaded on the first diagram and works offline, and the plugin is pure DOM post-processing — no UI framework internals touched — so removing it restores the original page (styles, timers and listeners are disposed through ctx.effect).
Install
dsh plugin --profile web add git+https://github.com/timedomain1/dsh-mermaid-renderer.gitCopied verbatim from the README's command-line web UI install block ('From GitHub (recommended — no npm publish needed)'); a local-checkout form using file:/path/to/dsh-mermaid-renderer is also documented, as is the desktop app's in-app Plugins page. dsh plugin forwards to pnpm and, because the package declares dsh.bundle.patch, adds it to the target profile's bundle layer automatically.
Compatibility
Requires DeepSeek Harness >=0.1.5-rc.1 (compatible with 0.2.x) with pnpm enabled; one-time prerequisite is corepack enable if pnpm --version fails. One codebase serves both the CLI web UI and the official desktop app, but the two hosts read separate profiles, so enabling both means installing twice. The desktop profile is managed exclusively by the Electron app, so the desktop install goes through the in-app Plugins page, not dsh plugin --profile desktop.
Details
- Repo: timedomain1/dsh-mermaid-renderer
- Category: Web UI Enhancements
- Stars: 0
- Version: GitHub repo timedomain1/dsh-mermaid-renderer (install is a git+https spec to the repo itself). Verified in the README against dsh 0.1.5-rc.1 (web profile) and the official desktop app 0.2.0-rc.2.
Alternatives
0lidaxiang/dsh-plugin-greet · 147228/dsh-black-whale · 15828148/dsh-portable-launcher