dsh-web-mermaid
DeepSeek Harness (DSH) Web 插件:把聊天 Markdown 中的 ```mermaid 围栏代码块离线渲染为 Mermaid 图表(SVG)。mermaid 运行时随插件内置,不依赖任何在线 CDN。
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:vtxf/dsh-web-mermaid说明文档
阅读完整 README ↗dsh-web-mermaid
DeepSeek Harness(DSH)Web 插件:把聊天 Markdown 中的 ```mermaid 围栏代码块自动渲染为 Mermaid 图表(SVG)。
- npm:
dsh-web-mermaid@0.1.0(https://www.npmjs.com/package/dsh-web-mermaid) - GitHub:https://github.com/vtxf/dsh-web-mermaid
完全离线:mermaid 运行时(vendor/mermaid.min.js,v11.16.1)随插件内置,由插件 Host 半通过同源路由提供,不依赖任何在线 CDN。
效果展示
以下截图均为 DSH Web 聊天界面中的实际渲染效果(banner 保留「mermaid + 复制按钮」,代码体被替换为下方可交互的 SVG 图表):
流程图(纵向 TB)

时序图

饼图

特性
- 助手回复中的 mermaid 围栏块在消息结束后自动渲染为可交互 SVG 图表(流式期间不渲染半截图);
- 渲染失败(语法错误 / 资源缺失)时保留原始代码块,显示错误信息与「重试」按钮,复制按钮不受影响;语法错误不会被渲染成无法关闭的错误 SVG;
- 深浅色主题切换时已渲染图表跟随新主题自动重渲染;
- 零改动 DSH 核心源码,纯插件方式运行;
- 若在页面加载前执行
window.__DSH_MERMAID_ASSET__ = '…',可覆盖 mermaid 资源地址(默认同源路由)。
工作原理
DSH 的 MarkdownText 把围栏代码块渲染为 (banner 里显示语言名,代码体为 ;shiki 语言表不含 mermaid,因此 mermaid 块恒为纯文本代码体)。本插件在浏览器端用 MutationObserver 扫描 .md-code-block,判定语言名为 mermaid 后,用 mermaid.render 把代码体替换为 SVG 容器(保留 banner 与复制按钮),并对主题切换做重渲染。
维护提示:
.md-code-block结构来自@deepseek-ai/dsh-client-ui-primitives的CodeBlock组件;若 DSH 大版本升级改变该 DOM,本插件有文本回退判定(banner 文本 =mermaid),一般仍可工作,但建议升级后顺手验证。
安装(一条命令)
插件按 DSH 官方 bundle 机制打包(manifest 声明 ,包内自带 ),用 DSH 自带的插件命令一键安装: