dsh-web-mermaid:在 DSH Web 中離線渲染 Mermaid 流程圖

前言

在 DSH Web 聊天裏,模型有時會用 Mermaid 代碼塊描述流程、時序、狀態、ER 圖、甘特圖和餅圖等內容。代碼塊本身能保留結構,但直接閱讀源碼不如圖形直觀。dsh-web-mermaid 是一個 DSH Web 插件,用於把聊天裏的 Mermaid 代碼塊離線渲染成 SVG 流程圖,並保留代碼視圖和查看操作。

這是什麼

dsh-web-mermaid 由 demo007x 維護,許可證爲 MIT。它把 DSH Web 聊天消息中的 Mermaid 代碼塊渲染成 SVG 圖,默認展示圖片視圖,也可以切迴帶語法高亮的源碼視圖。

核心功能

  • 離線渲染 Mermaid 代碼塊爲 SVG 流程圖
  • mermaid 運行時內置,不依賴在線 CDN
  • 點擊圖片可放大、縮放,支持鼠標左鍵拖拽平移
  • 代碼視圖和圖片視圖可切換
  • 內置輕量 tokenizer,爲 Mermaid 源碼提供語法高亮
  • 跟隨 DSH 淺色 / 深色主題自動重渲染
  • 支持 flowchart、sequenceDiagram、classDiagram、stateDiagram、erDiagram、gantt、pie 等 Mermaid 11 圖表類型

安裝與啓用

1、通過 dsh plugin 安裝到 web profile:

dsh plugin --profile web add github:demo007x/dsh-web-mermaid

2、安裝後重啓 dsh web 生效:

dsh web

典型用法

在聊天裏直接寫 Mermaid 代碼塊,插件會把代碼塊渲染成流程圖。例如:

```mermaid
flowchart TD
    A[開始] --> B{是否通過?}
    B -- 是 --> C[結束]
    B -- 否 --> D[重試]
    D --> B
```

渲染後可以進行以下操作:

1、默認展示圖片視圖。

2、點擊圖片或放大按鈕,打開遮罩彈窗;可以使用按鈕縮放,並用鼠標左鍵拖拽平移。

3、切換到代碼視圖,查看帶語法高亮的 Mermaid 源碼;複製按鈕仍然可用。

使用注意

  • 渲染髮生在客戶端瀏覽器內,大圖可能佔用一定內存。
  • 如果 Mermaid 源碼無法渲染,插件會保留源碼並顯示一行渲染失敗提示。
  • 切換 DSH 淺色 / 深色主題時,頁面內已渲染的圖會重新生成。
  • SVG 以 inline 方式注入,節點點擊等交互事件默認未綁定。
  • 插件會以當前 dsh 進程權限運行,安裝前建議檢查源碼、依賴和許可證。本文已覈實許可證爲 MIT。

鏈接

已覈實資料未給出目錄頁 URL。GitHub 倉庫爲:

https://github.com/demo007x/dsh-web-mermaid

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

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

小夜