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 仓库 或 技能目录。

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

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

小夜