Nagi-ovo/dsh-visualize
Render model-generated interactive cards inside DSH conversations | Render model-generated interactive cards inside DSH conversations
dsh-visualize gives DSH a visualize tool that renders live interactive HTML cards inside your conversation -- inline, beside the model's text reply. Tell the model what you want to explore ("make an adjustable sorting algorithm visualization") and it writes an HTML fragment, then calls visualize() to embed it. Cards follow DSH's light/dark theme and whale-blue palette. Each card runs in a sandboxed iframe with an opaque origin, blocking network requests, nested iframes, and form submissions. Sessions replay correctly because the persistent tool result stores the fragment, not just a file reference.
Install
dsh plugin --profile web add github:Nagi-ovo/dsh-visualizeRestart DSH web after install; refresh the browser page. Confirm the plugin is loaded: dsh --profile web --dump-config. For local development: git clone and dsh plugin --profile web add . (build artifacts are committed; no separate build step). Community plugin-registry users can install from Settings -> Plugins.
Compatibility
DSH web profile only. Interactive cards render in the Web UI browser -- TUI and headless clients receive the standard tool result instead. No external API key required. Sandboxed iframes cannot reach external hosts.
Details
- Repo: Nagi-ovo/dsh-visualize
- Category: Web UI Enhancements
- Stars: 191
- Last push: 2026-09-18
- First seen: 2026-08-13
Recent updates
Cards run in sandboxed iframes with CSP blocking network requests, nested pages, and form submissions. Default fragment limit: 1,000,000 bytes (configurable via maxFragmentBytes). mode="wide" for side-by-side comparison layouts. Inspired by the Codex desktop app /visualize command.
FAQ
- What kinds of visualizations can dsh-visualize render?
- Anything that can be written as a self-contained HTML fragment: sortable data tables, interactive charts (Chart.js and other CDN-loaded libraries are permitted), simulation panels, comparison layouts, UI mockups, and calculators. The model writes standard HTML/CSS/JavaScript; the plugin renders it in a sandboxed iframe.
- Is it safe to render model-generated HTML inside DSH?
- Yes -- each card runs in an iframe with an opaque origin and a strict CSP that blocks network requests, nested pages, and form submissions. Only static assets from a fixed CDN allowlist are permitted. The card cannot access the host page or send data outbound.
- Does dsh-visualize work in TUI mode?
- No -- interactive cards render only in the Web UI. In TUI or headless mode, you see the standard tool call result instead. The plugin is specifically designed for the browser-based web interface.
Alternatives
omdsh-dev/dsh-genui · nexu-io/open-design · liustack/modlens