dsh-mermaid:面向 DeepSeek Harness 的 Mermaid 圖表插件

前言

DeepSeek Harness(DSH)採用插件化架構,旨在通過模塊化組件擴展功能。在模型推理場景中,生成流程圖或架構圖是常見需求。然而,DSH 官方的 Markdown 渲染器沒有爲代碼圍欄(fenced code blocks)留出擴展插槽,導致助手手寫的 Mermaid 代碼無法在對話中直接渲染。dsh-mermaid 插件通過提供 mermaid_render 工具與自定義卡片渲染方案,繞過了上游渲染器的限制,實現了圖表的生成與展示。

這是什麼

dsh-mermaid 是一個由 Preference-cmd 維護的插件。它爲 DSH 提供了圖表生成能力,允許模型通過工具調用輸出圖表,並在用戶界面中以“會話中產物”的形式常駐展示。

核心功能

該插件包含以下核心組件:

  • mermaid_render 工具:位於宿主側。該工具接受圖源和可選的短標題,原樣返回 Mermaid 代碼圍欄,並將 { source, title? } 數據持久化到結果元數據中。在回放時,系統會根據同一來源重繪圖表。該工具不依賴解析器或無頭瀏覽器。
  • 轉錄卡片:位於瀏覽器側。組件會先將圖源交給客戶端的圍欄渲染器,若客戶端不支持則使用插件自帶的渲染引擎。SVG 以 React 元素進入頁面。插件配置了 securityLevel: 'strict',在安全模式下淨化輸出,丟棄全部 on* 屬性與 javascript: URL,不使用 dangerouslySetInnerHTML。
  • 回合末尾產物行:位於瀏覽器側。已定稿的圖表會按標題常駐在回合收尾消息之後,用戶無需展開過程流即可直接看到結果。
  • 側欄查看器:位於瀏覽器側。點擊“在視圖中打開”後,圖表會進入右側邊欄的大畫布模式。用戶支持滾輪縮放與拖拽平移。同一調用的圖重複打開會聚焦同一個標籤頁。

安裝與啓用

使用官方插件管理命令安裝:

dsh plugin --profile web add github:Preference-cmd/dsh-mermaid

安裝完成後,需要重啓該 profile 以使插件生效。

典型用法

在對話中,模型調用 mermaid_render 工具生成圖表。生成的圖表會自動以“會話中產物”的形式出現在回合末尾。用戶點擊圖表即可在右側邊欄打開縮放大畫布進行查看。

適用場景與注意

  • 適用場景:需要模型輸出流程圖、時序圖或架構圖的模型推理任務。
  • 注意事項:
    • 助手手寫的 mermaid 圍欄無法在上游渲染成圖,插件通過 mermaid_render 工具和自定義卡片實現了這一功能。
    • SVG 引擎在 securityLevel: 'strict' 下會淨化輸出,丟棄 on* 屬性與 javascript: URL。

短結尾

dsh-mermaid 爲 DeepSeek Harness 增加了圖表生成能力,通過工具調用與側欄查看器的組合,彌補了原生 Markdown 渲染的不足。更多細節可查閱其 GitHub 倉庫 或 技能目錄。

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

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

小夜