Nagi-ovo/dsh-visualize44

@dsh-external/dsh-visualize

DSH 行内可视化插件,提供可视化工具与技能,允许模型在对话中将交互式 HTML 片段渲染为沙箱卡片。

AI 分析

核心用途是让 AI 能够直接输出并运行交互式图表、模拟器或 UI 样机。适合需要直观交互式结果呈现的研发与演示任务。

包名
@dsh-external/dsh-visualize
版本
0.1.2
最近更新
2026年8月14日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:Nagi-ovo/dsh-visualize

dsh-visualize

English | 简体中文

DSH does not have to answer with text alone. When the model calls visualize, the Web UI renders an interactive card inside the conversation for simulators, charts, comparison panels, and UI mockups.

Interactive visualization rendered inside a DSH conversation

Install

Install the plugin from GitHub into DSH's web profile:

dsh plugin --profile web add github:Nagi-ovo/dsh-visualize
# If dsh web is running, restart it and refresh the page.

Run dsh --profile web --dump-config to confirm that the plugin is present in the final configuration. For local development, clone the repository and run dsh plugin --profile web add . from its root; committed build output means no separate build step is required. Users of the community plugin-registry can also install it from Settings → Plugins.

Use it

Tell the model what you want to explore, for example, “make an adjustable visualization of a sorting algorithm.” The model writes an HTML fragment, then calls visualize(path, title?, mode?) to place it in the conversation. Side-by-side comparisons can use mode: "wide".

Cards follow the DSH light or dark theme and whale-blue palette. Session replay restores them from the persistent tool result, so the original fragment file does not need to remain on disk.

Security

Each card runs in a sandboxed iframe with an opaque origin and cannot access the host page. Its CSP blocks network requests, nested pages, and form submissions, while allowing static assets from a fixed set of CDNs. Fragments are limited to 1000000 bytes by default; change maxFragmentBytes to use a different limit.

Limitations

Interactive cards currently render only in the Web UI. TUI and headless clients show the standard tool result instead. Buttons inside a card cannot yet send follow-up messages to the conversation.

Inspired by /visualize in the Codex desktop app. The layered skill references and Chart.js-first approach draw from himself65/finance-skills.