1.前言
思维导图是一种表达发散性思维的图形思维工具,它通过图形化的方式呈现思维流程和概念之间的关系,帮助人们更高效地整理和激发思维。思维导图通常以一个中心主题或核心概念开始,然后通过分支和连接线将相关的想法、细节和子概念展示出来,形成一个有机的思维网络。这种可视化的方式有助于人们更好地组织和理解复杂的信息,促进创造性思维和问题解决能力的提升。

思维导图我们不管是学习还是工作中经常会用到的,它方便的辅助我们大脑记住一下东西。今天给大家带来一个基于dify工作流的思维导图。用到了一个开源的思维导图的项目,下面大家看看一下工作流以及工作流生成思维导图的效果。

生成的思维导图如下:


那么这样的基于dify工作流的思维导图是如何制作的呢?话不多说,下面开始干活。
2.工作流制作
mcp-server部署
这个工作流核心是一个基于mind-map-mcp-server的开源项目。项目地址github.com/sawyer-shi/...

我们要使用这个mcp-server功能,所以我们需要把这个项目部署起来。目前这个项目比较完整支持docker 和源码部署。关于如何部署大家可以看作者文章,我这里就不做展开,我们把这个MCP-server部署到服务器上,启动2个服务一个是基于streamable-http 方式的MCP 服务,一个是对外提供图片下载的服务。我这边提前部署好了。
streamable-http mcp访问地址:http://14.103.204.132:8005/mcp
静态页面访问地址:http://14.103.204.132:8003
如果大家懒的部署也可以借用我已经部署好的地址。
Agent策略插件和MCP工具
这个工作流用到Agent策略, 如果dify平台上没有安装Agent策略插件的可以先安装一下。
我们可以在插件市场-Agent策略找到这块插件。

插件安装完成后,我们可以在已安装插件上查找到

注意插件升级最新版本(0.2.4)
MCP 工具

接下来我们进入工作流搭建环节。
这个工作流相对比较简单,主要是由开始、LLM、Agent、 代码执行、直接回复等5个节点构成,下面我们简单说一下这些组件配置。
开始
我们首先在工作流平台上创建一个chatflow.

创建完成后,我们就可以设置一下开始节点。这个开始节点比较简单,这里我们没有设置输入参数,默认就用sys.query

这里也就是什么都不设置,默认就可以了。
LLM大语言模型
大语言模型这块我们选择魔搭社区提供的免费qwen3-code-30B-A3B-Instruct 模型。关于这个模型大家可以在魔搭社区广场找到

目前魔搭社区提供每天2000次的模型调用,个人测试使用基本上是够用了。

关于模型的系统提示词如下
yaml
# PPT大纲生成专家 - LangGPT提示词
## Role: PPT大纲生成专家
**Profile:**
- author: 周辉
- version: 2.0
- language: 中文
- description: 我是一位专业的PPT内容策划专家,擅长根据用户提供的主题和内容信息,生成结构清晰、逻辑严密的三级目录结构PPT大纲,并以markdown格式输出。
## Skills:
1. **内容分析能力**: 能够深入理解用户提供的主题内容,提取核心要点和关键信息
2. **逻辑架构设计**: 具备强大的逻辑思维能力,能够构建清晰的三级目录层次结构
3. **演示文稿策划**: 精通PPT内容组织和展示逻辑,确保信息传达的有效性
4. **Markdown格式化**: 熟练使用markdown语法,能够生成格式规范的文档大纲
5. **受众分析**: 能够根据不同的目标受众调整内容重点和表达方式
## Goals:
- 生成结构完整的三级PPT大纲
- 确保内容逻辑清晰,层次分明
- 输出标准markdown格式文档
- 提供实用性强的演示框架
## Constrains:
1. **严格三级结构**: 必须遵循一级标题(#)、二级标题(##)、三级标题(###)的层次结构
2. **内容相关性**: 所有大纲内容必须与用户提供的主题紧密相关
3. **逻辑连贯性**: 各级标题之间必须保持逻辑关系,形成完整的内容体系
4. **格式规范性**: 严格按照markdown语法格式输出,确保可读性
5. **实用性导向**: 生成的大纲应具备实际可操作性,便于后续PPT制作
## OutputFormat:
```markdown
# [主标题]
## 一级大纲1
### 二级要点1.1
### 二级要点1.2
### 二级要点1.3
## 一级大纲2
### 二级要点2.1
### 二级要点2.2
### 二级要点2.3
## 一级大纲3
### 二级要点3.1
### 二级要点3.2
### 二级要点3.3
[继续按此格式展开...]
```
## Workflow:
1. **需求理解**: 仔细分析用户提供的主题内容和相关信息
2. **内容提取**: 识别并提取核心概念、关键要点和重要细节
3. **结构设计**: 根据内容逻辑设计合理的三级目录架构
4. **大纲编写**: 按照markdown格式编写完整的PPT大纲
5. **质量检查**: 确保大纲的逻辑性、完整性和实用性
## Examples:
### 输入示例:
```
主题:人工智能在教育领域的应用与发展
内容信息:包括AI技术现状、教育应用场景、实施案例、面临挑战、未来趋势等方面
```
### 输出示例:
```markdown
# 人工智能在教育领域的应用与发展
## AI技术发展现状
### 机器学习技术成熟度
### 自然语言处理能力提升
### 计算机视觉应用普及
## 教育领域应用场景
### 个性化学习推荐
### 智能教学辅助
### 学习效果评估
## 典型实施案例分析
### 在线教育平台案例
### 智慧校园建设案例
### 教学管理系统案例
## 实施过程中的挑战
### 技术实现难点
### 教育理念转变
### 资源投入要求
## 未来发展趋势展望
### 技术发展方向
### 应用场景拓展
### 行业标准建立
```
## Initialization:
作为PPT大纲生成专家,我已准备好为您服务。请提供您需要制作PPT的主题内容和相关信息,我将为您生成结构清晰、逻辑严密的三级目录markdown格式大纲。请告诉我:
1. PPT的主题是什么?
2. 需要包含哪些主要内容?
3. 目标受众是谁?
4. 是否有特殊要求或重点关注的方面?
请提供这些信息,我将立即开始为您制作专业的PPT大纲。
用户提示词
yaml
请基于用输入的信息{{#sys.query#}}生成markdown格式内容信息

Agent
这个Agent这里我们用到上面提到Agent策略。

模型这里我们使用了魔搭社区提供的deepseek-v3模型。工具列表中我们使用到获取MCP 列表插件,这个插件有2个工具列表一个是获取MCP工具列表,一个是调用MCP工具

MCP 服务配置 这里我们设置一下MCP-Server 服务
json
{
"mind-map-mcp-server": {
"transport": "streamable_http",
"url": "http://14.103.204.132:8005/mcp"
}
}
指令这里内容如下:
arduino
请根据{{#llm.text#}}调用调用create_mind_map信息生成思维导图
查询
arduino
{{#sys.query#}}
整个Agent配置的截图如下:

代码执行
代码执行这里主要的目的是对Agent返回的信息做一下简单的出来,输入参数arg1
处理代码如下:
python
import json
import re
def main(arg1) -> dict:
try:
# 如果输入是字符串,先尝试提取markdown链接
if isinstance(arg1, str):
# 使用正则表达式匹配markdown链接格式 [标题](URL)
markdown_pattern = r'\[([^\]]+)\]\(([^)]+)\)'
matches = re.findall(markdown_pattern, arg1)
if matches:
# 如果找到markdown链接,提取第一个链接的信息
title, url = matches[0]
markdown_result = f""
return {"result": markdown_result}
# 如果没有找到markdown链接,尝试JSON解析
try:
data = json.loads(arg1)
# 处理JSON数据格式
if isinstance(data, list) and len(data) > 0:
first_item = data[0]
mind_map_image_url = first_item.get("mind_map_image_url")
markdown_result = f""
return {"result": markdown_result}
else:
return {"result": None}
except json.JSONDecodeError:
return {"result": None}
elif isinstance(arg1, list):
# 处理列表输入
if len(arg1) > 0:
first_item = arg1[0]
mind_map_image_url = first_item.get("mind_map_image_url")
markdown_result = f""
return {"result": markdown_result}
else:
return {"result": None}
else:
return {"result": None}
except Exception:
return {"result": None}
输出变量 result, 输出类型string

直接回复
直接回复我这里方便大家查看问题,把LLM大语言模型信息和最后的思维导图PNG图片都返回了。

以上就是整个工作流的配置,总体来说配置还是比较简单的。复杂的地方可能就在MCP这块以及MCP部署。
3.验证测试
工作流配置完成后,我们就可以对工作流进行测试了。
点击左上角"预览"按钮。弹出对话框,我们在右下角聊天对话框输入如下内容
shell
请给我一份10月1日-7日去北京旅游的旅游计划表,输出的文件名字叫做"国庆去旅游"
系统很快给我生成10月1日-7日的旅游计划表(markdown格式内容),紧接着调用MCP 生成一个旅游计划的思维导图

点开下面生成的思维导图截图

嗯看起来还不错的一个思维导图。
工作流地址:
dify.duckcloud.fun/chat/z50PAL...
4.总结
今天主要带大家了解并实现了基于 Dify 工作流构建思维导图生成系统的完整流程,该系统以开源的 mind-map-mcp-server 项目为核心,结合 Dify 平台的 Agent 策略和 MCP 工具,形成了一套可视化思维导图自动生成方案。
通过这套实践方案,用户能够快速构建智能化的思维导图生成服务,将文本描述自动转换为结构清晰的可视化思维导图,极大提升信息梳理和知识组织效率。在实际验证中,该工作流能够稳定解析用户需求,生成符合逻辑的 PPT 大纲结构,并通过 MCP 服务调用生成高质量的思维导图图片,有效解决了手动绘制思维导图耗时费力、结构不够标准化等问题。同时,工作流具备良好的扩展性 ------ 小伙伴们可以基于此框架扩展更多可视化功能,如流程图生成、组织架构图制作、知识图谱构建等,进一步丰富 Dify 平台的可视化应用场景。
感兴趣的小伙伴可以按照这份指南尝试搭建自己的思维导图生成工作流,甚至结合其他 MCP 服务拓展更多创意可视化功能。今天的分享就到这里结束了,我们下一篇文章见。