ling-playground / docs /requirements /2025-10-12-09-20-add-mermaid-workflow-visualization.md
cafe3310's picture
little demo
cb6eafc

A newer version of the Gradio SDK is available: 6.1.0

Upgrade

需求:新增 Mermaid 流程图可视化

重要性: 中 (Medium)

1. 目标

在“工作流”标签页,将由副 Agent 提取出的文本工作流,实时渲染成一个可视化的 Mermaid 流程图。

2. 功能描述

  1. UI 变更:

    • 在“工作流”标签页的右侧面板,即“当前工作流描述”下方,新增一个用于显示流程图的区域。
    • 此区域将使用 gr.HTML 组件实现。
  2. 后端逻辑:

    • 需要创建一个辅助函数,其功能是将 Markdown 格式的步骤列表(例如 - step 1\n- step 2)转换成 Mermaid 的 graph TD 流程图语法(例如 graph TD; A["step 1"] --> B["step 2"];)。
    • handle_workflow_chat 函数需要调用此辅助函数,在生成文本工作流后,立即生成对应的 Mermaid 语法。
    • handle_workflow_chat 的返回值将增加一个,用于承载生成的 Mermaid HTML 代码。
  3. 渲染实现:

    • 返回的 Mermaid 语法需要被包裹在一个完整的 HTML 结构中,该结构包含 Mermaid.js 库的 <script> 标签和一个用于渲染的 <div class="mermaid"> 容器。
    • 这个完整的 HTML 字符串将作为 gr.HTML 组件的值被更新。

3. 自动化测试方案

  1. 执行现有测试: 复用 test_workflow_tab_dual_agent_interaction 测试用例,与 Agent 进行一次简单的交互。
  2. 增加断言:
    • 在最终的快照中,定位到新增的 gr.HTML 组件。
    • 验证该组件的 value 是否包含有效的 Mermaid graph 定义。
    • 验证其 value 是否包含 Mermaid.js 的 <script> 标签。