返回目录

dsh-visualize

编辑精选维护状态: 活跃

nagi-ovo/dsh-visualize

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

前往 GitHub
$ dsh plugin --profile web add github:Nagi-ovo/dsh-visualize

258

星标

5

Fork

TypeScript

语言

BSD-3-Clause

许可证

2026-08-13

创建于

2026-08-27

最近推送

BSD-3-Clause 生成式 UI 插件,安装到 DeepSeek Harness 的 dsh web profile,把模型生成的交互式 HTML 卡片直接渲染进对话流,沙箱隔离渲染。

DSH 适配

原生运行时

作者声明

安全审计

未审计

最后核验

2026-08-21

许可证

BSD-3-Clause

01它能帮你完成什么?

  • Generate interactive visualizations — simulators, charts, comparison panels, UI mockups — directly inside DSH conversations

    Interactive HTML cards rendered inline in the Web UI conversation flow, with streaming preview, component float-in animations and theme following (DSH dark/light theme and whale-blue palette)

    DSH Web UI users who want model answers as interactive cards instead of plain text

  • Replay past sessions with their visualizations intact

    Cards restored from persisted tool results on session replay, without depending on the original fragment files still existing

    Users who revisit or share long-running DSH sessions

02如何接入 DeepSeek Harness?

前置条件

  • DeepSeek Harness (dsh) with the `web` profile

安装步骤

  1. 01

    Run `dsh plugin --profile web add github:Nagi-ovo/dsh-visualize`

    $ dsh plugin --profile web add github:Nagi-ovo/dsh-visualize

  2. 02

    If dsh web is already running, restart it and refresh the page

  3. 03

    Alternative (source modification): clone the repo and run `dsh plugin --profile web add .` inside it — build artifacts are already committed, no extra build step needed

    $ dsh plugin --profile web add .

  4. 04

    Users of the community plugin-registry can also install from Settings → Plugins

验证接入成功

  • Run `dsh --profile web --dump-config` and confirm the plugin appears in the final configuration

03DSH 适配与能力边界

DSH 适配原生运行时

DSH web profile plugin installed via `dsh plugin --profile web add github:Nagi-ovo/dsh-visualize`; the model calls the `visualize` tool to render interactive HTML cards inline in the conversation

  • In-conversation generative UI

    natural-language request, e.g. "做一个能调参数的排序算法可视化"an interactive card in the conversation: simulator, chart, comparison panel or UI mockup; `mode: "wide"` for side-by-side content

    the model writes an HTML fragment file and invokes the `visualize(path, title?, mode?)` tool
  • Sandboxed rendering with CSP

    model-generated HTML fragmentcard runs in a sandboxed iframe with an opaque origin; CSP blocks network requests, nested pages and form submission, only static resources from a fixed CDN are allowed

    static resources are loaded from a fixed CDN
  • Fragment size guard

    HTML fragment submitted by the modelfragments capped at 1,000,000 bytes by default, adjustable via `maxFragmentBytes`

04适合谁?何时不该用?

适合

  • DSH Web UI users who want model answers as interactive cards instead of plain text
  • Users who revisit or share long-running DSH sessions

不适合

  • Interactive cards only render in the DSH Web UI; TUI and headless clients fall back to a plain tool result.
  • The repository is very young (created 2026-08-13) and has no tagged release; treat the interface as early-stage.

05兼容性、维护与安全提示

  • Interactive cards only render in the DSH Web UI; TUI and headless clients fall back to a plain tool result.
  • Buttons inside cards cannot send follow-up messages to the main conversation yet.
  • The repository is very young (created 2026-08-13) and has no tagged release; treat the interface as early-stage.
2026-08-132026-08-17作者未说明

BSD-3-Clause · actively maintained (last push 2026-08-17, no tagged release yet)

06常见问题

dsh-visualize 如何接入 DeepSeek Harness?

它是 DSH `web` profile 的原生插件:运行 `dsh plugin --profile web add github:Nagi-ovo/dsh-visualize`,如果 dsh web 正在运行则重启后刷新页面。它不是 MCP 服务。

实际怎么生成可视化?

直接用自然语言告诉模型你想看什么,例如「做一个能调参数的排序算法可视化」。模型会写出一份 HTML fragment,再调用 `visualize(path, title?, mode?)` 放进对话;需要并排比较的内容可以使用 `mode: "wide"`。

安装需要什么前置条件?

需要带 web profile 的 DeepSeek Harness(dsh)。使用社区 plugin-registry 的用户也可以从「设置 → 插件」安装;构建产物已提交到仓库,无需额外构建。

卡片运行安全吗?数据会去哪里?

卡片运行在不透明来源的 sandboxed iframe 中,不能接触宿主页面;CSP 阻止网络请求、嵌套页面和表单提交,只允许从固定 CDN 加载静态资源。单个 fragment 默认上限 1000000 字节,可通过 `maxFragmentBytes` 调整。

有哪些限制?

交互卡片只在 Web UI 中渲染,TUI 和 headless 客户端只显示普通工具结果;卡片内的按钮暂时不能向主对话发送 follow-up 消息。

08数据与来源

  • 作者声明github.come86f68fe66b9…

    推荐直接从 GitHub 安装到 DSH 的 `web` profile: ```sh dsh plugin --profile web add github:Nagi-ovo/dsh-visualize # 如果 dsh web 正在运…

  • 作者声明github.come86f68fe66b9…

    模型会写出一份 HTML fragment,再调用 `visualize(path, title?, mode?)` 把它放进对话。

页面基于项目公开文档、仓库元数据和 DSH Plugins 的结构化解析生成;最后核验于 2026-08-21。发现错误?提交更正。

🏆

最佳 DeepSeek Harness 插件

从全目录挑出的 12 个值得优先安装的插件,覆盖各个分类。

DSH Plugins 是独立的 DeepSeek Harness 插件市场,与 DeepSeek 官方无关,也不代表官方背书。第三方插件未经安全审计,安装前请审查源码。

每周获取最新的 DeepSeek Harness 插件,绝不滥发。