dsh-mermaid-web:DeepSeek Harness Web UI 的 Mermaid 图表渲染插件

DeepSeek Harness 采用了「一切皆插件」的架构。在 Web UI 中直接渲染 Markdown 中的 Mermaid 图表曾是难点。dsh-mermaid-web 插件解决了这个问题,将围栏代码块转换为可交互的 SVG 图表。

插件定位

这是一个 DeepSeek Harness Web UI 插件,由开发者 terrywangcode 维护。它将标记为 mermaid 的围栏代码块渲染为 Mermaid.js SVG 图表,并提供了缩放控制与全屏工作区。

核心功能

  1. 图表渲染:识别 Markdown 中的 mermaid 代码块并渲染为 SVG。
  2. 缩放控制:提供键盘控制的缩放功能,支持 25% 步进,缩放范围限制在 50% 到 300%。
  3. 全屏工作区:提供全屏工作区,支持适应屏幕、指针居中缩放、拖拽平移、快捷键(F/0/+/-)及 ESC 关闭。
  4. 热模块替换(HMR):支持热模块替换,更新插件时无需刷新页面,且能正确清理旧状态。

安装与启用

在 DeepSeek Harness 的代码仓库根目录下执行以下命令:

pnpm dsh plugin --profile web add github:terrywangcode/dsh-mermaid-web
pnpm dsh --profile web web

插件构建了浏览器 Bundle,因此从 GitHub 安装无需消费者侧进行插件构建。若需安装特定版本,可在仓库地址后添加 #v0.1.0。

典型用法

在 Markdown 文档中使用围栏代码块标记 Mermaid 语法:

```mermaid
flowchart LR
  Prompt --> Agent --> Tool

```

启动 Web UI 后,系统会自动识别并渲染这些代码块。渲染成功后,原始代码块会被隐藏并显示生成的 SVG 图表。

工作原理与限制

  • 依赖 DOM 结构:当前 Harness 未暴露 Markdown 围栏渲染器槽位,因此该插件依赖 DOM 结构(.md-code-block),通过观察 settled 的元素来工作。
  • 严格安全模式:Mermaid 运行在严格安全模式下,禁用了 HTML 流程图标签。
  • 错误处理:如果解析失败,原始代码将保留在页面上,并显示紧凑的错误信息。
  • 环境要求:依赖 Node.js 22 或更新版本。

总结

dsh-mermaid-web 通过 Web UI 插件的形式,解决了 DeepSeek Harness 中直接渲染 Mermaid 图表的需求。它提供了全屏工作区与缩放功能,适合需要在 Web 界面中直接展示架构图、流程图等场景的开发者。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜