dsh-mermaid-renderer:在 DeepSeek Harness 中渲染 Mermaid 圖表

前言

在 DeepSeek Harness (DSH) 的 Web 聊天環境中,直接展示流程圖、架構圖或時序圖通常需要依賴外部工具。dsh-mermaid-renderer 插件解決了這一痛點,它通過純前端解析,將聊天流中的 Mermaid 代碼塊自動轉換爲可交互的圖表卡片,無需離開對話窗口即可預覽技術文檔。

插件簡介

這是一個由 timedomain1 維護的客戶端 Web 插件。它的核心作用是在 DSH 的聊天界面中解析並渲染 Mermaid 語法,支持多種圖表類型,並提供查看源碼、縮放、全屏等交互功能。

核心功能

  1. 自動渲染
    插件會自動檢測聊天中的 Mermaid 代碼塊(以 ```mermaid 開頭),將其渲染爲圖表卡片。

  2. 支持的圖表類型
    支持以下圖表類型的渲染:

    • flowchart / graph
    • sequenceDiagram
    • classDiagram
    • stateDiagram
    • erDiagram
    • journey
    • gantt
    • pie
    • mindmap
    • timeline
    • C4Context
    • gitGraph
  3. 交互操作

    • 視圖切換:卡片支持在“圖表”和“源碼”視圖之間切換。
    • 縮放:支持重複縮放(0.25x–4x,步數不限),在卡片內滾動滾輪或使用 Ctrl+滾輪可進行縮放。
    • 全屏查看:提供全屏獨立查看器,光標爲中心的滾輪縮放範圍(5%–1000%),支持拖拽平移、雙擊適配寬度/100%、ESC 關閉。
    • 其他:支持複製源碼、水平滾動超出容器寬度。
  4. 技術實現

    • 懶加載:Mermaid 引擎僅在首次渲染時按需加載,減少初始負擔。
    • 零依賴:瀏覽器端無第三方 UI 框架依賴,使用純 DOM 後處理。
    • 容錯:渲染失敗時保留源碼視圖並給出重試提示。

安裝與啓用

前置條件
* DeepSeek Harness 版本需爲 0.1.0-rc.8 (Web Profile)。
* 環境需啓用 pnpm。

安裝步驟
1. 使用官方插件命令安裝:

    dsh plugin --profile web add git+https://github.com/timedomain1/dsh-mermaid-renderer.git
該命令會自動處理 `dsh.bundle.patch`,無需手動下載或構建。
  1. 安裝完成後,重啓 dsh web 並刷新瀏覽器頁面。

  2. 驗證:在聊天框發送一個 Mermaid 代碼塊,檢查是否自動生成了圖表卡片。

使用示例

基本用法
直接在聊天中發送標準的 Markdown Mermaid 代碼塊:

graph TD
    A[Start] --> B{Is it working?}
    B -- Yes --> C[Great!]
    B -- No --> D[Retry]

高級配置
如果需要使用鏡像 CDN 或本地資源,可以通過設置全局變量覆蓋引擎加載地址:

window.__DSH_MERMAID_URL__ = 'https://your-mirror/mermaid.min.js'

注意事項與適用場景

  • 網絡要求:Mermaid 引擎依賴網絡加載(默認從 CDN 獲取),因此插件在離線環境下無法正常渲染。
  • 離線部署:對於離線環境,需將 mermaid.min.js 內聯到插件的加載邏輯中(位於 lib/client.js)。
  • 權限範圍:插件運行在 DSH 進程的 Web Profile 權限內,不會影響系統其他部分。
  • 兼容性:該插件無構建步驟,預編譯的 Bundle 即可直接運行。

結語

dsh-mermaid-renderer 爲 DSH 用戶提供了一個輕量級、零依賴的圖表渲染方案。對於需要頻繁在對話中確認架構圖、流程圖或時序圖的開發者而言,這是一個實用的工具。更多細節和源碼可查閱插件目錄或 GitHub 倉庫。

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

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

小夜