前言¶
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。
- 助手手寫的 mermaid 圍欄無法在上游渲染成圖,插件通過
短結尾¶
dsh-mermaid 爲 DeepSeek Harness 增加了圖表生成能力,通過工具調用與側欄查看器的組合,彌補了原生 Markdown 渲染的不足。更多細節可查閱其 GitHub 倉庫 或 技能目錄。