Mind Map Generator — 思维导图生成器
触发时机
- - 用户说"生成思维导图"、"画脑图"、"做一个思维导图"
- 用户总结文章/内容后说"帮我做成思维导图"
- 用户说"把这些内容可视化"、"帮我梳理结构"
- 用户说"导出为 XMind / PNG / JPG / PDF"等格式
输出格式与依赖
所有平台(Windows / macOS / Linux)统一依赖,只需 pip install pillow:
| 格式 | 说明 | 依赖 |
|---|
| INLINECODE1 | 默认。交互式网页,支持拖拽/折叠/缩放/右键编辑/8种布局切换 | 无 |
| INLINECODE2 |
矢量图,无限缩放不失真 | 无 |
|
xmind | XMind 8 / 2020+ 格式,可继续编辑 | 无 |
|
png | 高清位图,适合嵌入文档/PPT/分享 | pillow |
|
jpg | JPEG 位图,体积小 | pillow |
|
pdf | PDF 文档 | pillow |
不需要安装任何系统级 C 库。 如果 Pillow 未安装,脚本会自动执行 pip install pillow。
首次安装(一行命令)
CODEBLOCK0
推荐的多格式输出策略
用户要求生成思维导图时,默认同时输出 HTML + PNG + XMind 三种格式,除非用户明确指定只要某种格式:
CODEBLOCK1
参数说明:
- -
--format html/png/jpg/svg/pdf/xmind(默认 html) - INLINECODE9 输出路径(可省略,默认保存到
~/.openclaw/workspace/) - INLINECODE11 PNG/JPG/PDF 的像素密度(默认 2.0,建议 1.0–3.0)
- INLINECODE12 JPG 质量 1–100(默认 92)
认知科学基础:为什么这样做思维导图
以下原则基于四大认知理论,指导 AI 生成高质量思维导图:
放射性思考(Buzan)— 结构原则
Tony Buzan 提出思维导图模拟大脑神经元的放射状结构:从中心向外发散,每条分支是一个独立的联想链。
对生成的要求: 中心节点是唯一的焦点,所有分支从它辐射而出,不存在"并列的两个中心"。
双重编码理论(Paivio)— 记忆原则
Allan Paivio 发现:同时通过语言通道和视觉通道编码的信息,记忆率提升约 32%。具体词(可想象的)比抽象词记忆效果好得多。
对生成的要求:
- 1. 每个主分支必须带 emoji(激活视觉通道)—— 如
"🔬 技术演进" 而非 INLINECODE14 - 优先使用具体词而非抽象概括 —— 如
"训练成本降至 6 万" 而非 INLINECODE16 - 颜色即编码 —— 每个分支的颜色应与语义一致,同色系 = 同语义域
认知负荷与米勒定律(Miller)— 容量原则
工作记忆同时处理的信息块为 7±2 个。Beel & Langer 对 19,379 张思维导图的实证研究发现:典型思维导图平均 31 个节点,每节点 1-3 个词。
对生成的硬约束:
- - 主分支 3–6 个(不超过 7)
- 每个分支的子节点 2–5 个
- 每个节点 4–12 字,叶节点不超过 15 字
- 全图总节点数 ≤ 40 个(超过则拆分为多张图或合并子节点)
- 全图最多 4 层深度
语义网络(Quillian & Collins)— 关联原则
知识在大脑中以语义网络形式存储:概念是节点,关系是连线。节点间的距离代表语义距离——相关的概念应该在视觉上靠近。
对生成的要求: 语义相近的子节点应聚合在同一个分支下(聚类原则),而不是按原文出现顺序排列。
第一步:确定中心节点(最重要)
中心节点决定整张图的质量。它是核心洞见,不是话题标签。
错误示范(话题标签):
- - ❌ "AI 发展趋势"
- ❌ "产品发布计划"
- ❌ "Python 学习"
正确示范(核心洞见):
- - ✅ "AI 正从工具变为协作者"
- ✅ "产品成功 = 用户价值 × 执行速度"
- ✅ "Python 的价值在于生态而非语法"
判断方法:
- 1. 问自己"关于这个内容,最重要的一件事是什么?" 答案就是中心节点。
- 如果中心节点换成另一个话题,现有分支还能成立 → 说明太泛,需要更精确。
第二步:设计主分支(维度而非章节)
主分支是"理解中心洞见的独立视角",不是原文的章节目录。
按内容类型选择维度框架
| 内容类型 | 分支维度框架 | 推荐布局 |
|---|
| 分析/研究类 | 是什么 · 为什么 · 怎么做 · 结果如何 | ⇆ 左右均衡 |
| 问题解决类 |
根因 · 影响 · 方案 · 评估 | 🐟 鱼骨图 |
| 学习知识类 | 核心概念 · 运作机制 · 适用场景 · 常见误区 | ⇆ 左右均衡 |
| 产品/项目类 | 目标 · 策略 · 执行 · 风险 | → 树形 |
| 比较分析类 | 相同点 · 差异点 · 各自优势 · 选择建议 | ⇆ 左右均衡 |
| 叙事/报告类 | 背景 · 发现 · 影响 · 行动 | → 树形 |
| 历史/阶段/流程 | 按时间或步骤顺序排列 | ⏩ 时间线 |
| 概念分解/归类 | 整体 → 部分1 + 部分2 + ... | } 括弧图 |
|
头脑风暴/创意发散 |
自由联想,不预设框架 |
✶ 辐射 或 ⚡ 力导向 |
分支设计原则
原则 1:分支之间必须相互独立(语义网络的聚类原则)
每个分支回答关于中心节点的一个不同问题。语义相近的内容聚合在同一分支下。
原则 2:所有分支必须共同服务于中心节点
反问:"去掉这个分支,对理解中心节点有损失吗?" 无损失 → 该分支冗余,删除。
原则 3:分支数量 3–6 个(米勒定律)
不以"原文有几节"为准。超过 7 个分支时必须合并。
原则 4:同级分支的抽象层次必须一致
❌ 错误:同级出现"技术原理"(抽象)和"GPT-4"(具体实例)
✅ 正确:同级都是维度("技术路线"、"商业模式"、"社会影响")
每个主分支必须带 emoji(双重编码)
emoji 的作用是激活视觉编码通道,使分支在记忆中形成"图像锚点"。选择规则:
- - emoji 应直观反映该维度的语义核心
- 同一张图内 emoji 不重复
- 置于 label 最前面:
"🔬 技术演进" "💰 商业模式" INLINECODE19
| 语义域 | 推荐 emoji |
|---|
| 技术/科学 | 🔬 🧪 ⚙️ 🔧 💻 |
| 商业/金融 |
💰 📈 🏦 💼 🎯 |
| 人物/用户 | 👤 👥 🧑💻 🎓 |
| 风险/问题 | ⚠️ 🚧 ❗ 🔴 |
| 趋势/时间 | 📅 🔮 📊 🕐 |
| 成果/价值 | ✅ 🏆 💡 ⭐ |
| 流程/步骤 | 🔄 📋 🗺️ 🛤️ |
| 背景/历史 | 📖 🏛️ 🌍 🗂️ |
第三步:填充子节点(证据而非子话题)
子节点不是"这个分支下还有哪些话题",而是"让这个分支成立的具体依据"。
优先使用具体词(双重编码)
具体的、可想象的词比抽象词记忆效果好 1.5-2 倍(Paivio 实验数据)。
| 子节点类型 | 示例 | 作用 |
|---|
| 具体机制 | "注意力机制使模型聚焦关键词" | 解释"为什么" |
| 量化数据 |
"GPT-4 训练成本超 1 亿美元" | 使声明可信 |
| 典型案例 | "Copilot 使代码效率提升 55%" | 使抽象具体 |
| 对比参照 | "vs 传统搜索:主动生成 vs 被动检索" | 揭示差异 |
| 行动指南 | "先用小数据集验证再扩规模" | 指导实践 |
| 关键限制 | "幻觉率随任务复杂度非线性上升" | 防止误用 |
层级深度规则
CODEBLOCK2
- - 全图最多 4 层,总节点 ≤ 40 个
- 每个主分支至少 2 个子节点(1 个说明未充分挖掘)
- 叶节点不超过 3 个(太多说明需要再拆一层)
第四步:节点文字规范
| 规则 | 正确 | 错误 |
|---|
| 使用原文关键词,不过度意译 | "联邦学习" | "一种保护数据的分布式方法" |
| 动词短语比名词堆砌更有力 |
"降低推理延迟 40%" | "推理延迟优化相关内容" |
| 长度 4–12 字 | "本地训练不传原始数据" | 过长的完整句子 |
| 并列内容拆成独立节点 | 三个节点:"医疗" / "教育" / "金融" | 一个节点:"医疗教育金融" |
| 越深层越具体(认知负荷递减) | 叶节点写具体数字/步骤/案例 | 叶节点写抽象标签 |
第五步:质量自查(生成后必检)
生成 JSON 后,逐条检查,不合格立即修改:
容量检查(米勒定律):
- - [ ] 总节点数是否 ≤ 40?(超过则合并或拆分)
- [ ] 主分支是否 3–6 个?
- [ ] 每个节点是否 ≤ 12 字?
必要性检查(认知负荷):
- - [ ] 删去任意一个主分支,对理解中心节点的损失是否明显?(不明显 → 删除该分支)
- [ ] 每个子节点是否使其父分支更可信/更具体?(否 → 删除或替换)
- [ ] 是否存在"正确的废话"节点?(如"需要进一步研究" → 删除)
双重编码检查:
- - [ ] 每个主分支是否带了 emoji?
- [ ] 叶节点是否用了具体的、可想象的词?(抽象标签 → 替换为具体事实)
- [ ] 颜色是否与语义一致?(同类维度同色系)
结构检查(放射性思考):
- - [ ] 中心节点是核心洞见还是话题标签?
- [ ] 同级分支的抽象层次是否一致?
- [ ] 是否有只含 1 个子节点的分支?(合并或补充)
第六步:构造 JSON 并执行
⚠️ 强制规则:每个主分支的 label 必须以 emoji 开头。
格式:"label": "🔬 技术演进" —— emoji + 空格 + 文字。
这是基于双重编码理论的硬性要求,不可省略。
CODEBLOCK3
颜色分配建议(按分支语义选色):
| 颜色 | 适用维度 | 搭配 emoji |
|---|
| INLINECODE21 蓝 | 机制/原理/方法论 | 🔬 ⚙️ 🧪 |
| INLINECODE22 绿 |
成果/价值/应用 | ✅ 💡 🏆 |
|
#E86C3A 橙 | 问题/挑战/风险 | ⚠️ 🚧 ❗ |
|
#9B59B6 紫 | 背景/趋势/上下文 | 📖 🔮 🌍 |
|
#F39C12 黄 | 资源/工具/要素 | 🔧 📦 💼 |
|
#1ABC9C 青 | 流程/步骤/路径 | 🔄 🛤️ 📋 |
|
#E74C3C 红 | 警告/限制/禁忌 | 🔴 ⛔ 🚫 |
脚本路径:{baseDir}/generate_mindmap.py
完整示例
CODEBLOCK4
执行成功后告知用户(必须包含完整的绝对路径,方便用户查找文件):
思维导图已生成三种格式,保存在以下位置:
- - HTML:
<绝对路径>/大模型商业化.html —— 用浏览器打开,支持交互查看、编辑节点、切换 8 种布局 - PNG:
<绝对路径>/大模型商业化.png —— 高清图片,可直接嵌入文档或分享 - XMind:
<绝对路径>/大模型商业化.xmind —— 可在 XMind 软件中打开继续编辑
其中 <绝对路径> 替换为脚本实际输出的路径(从脚本的 stdout 中获取,格式为 [mindmap] ✅ HTML → /完整/路径/文件名.html)。
内置示例文件
INLINECODE34 目录中包含可直接打开的示例:
| 文件 | 说明 |
|---|
| INLINECODE35 | AI 发展趋势(5 主分支,3 层嵌套) |
| INLINECODE36 |
产品发布计划 |
|
examples/python_learning.html | Python 学习路径 |
技能名称: mindmap
详细描述:
Mind Map Generator — 思维导图生成器
触发时机
- - 用户说生成思维导图、画脑图、做一个思维导图
- 用户总结文章/内容后说帮我做成思维导图
- 用户说把这些内容可视化、帮我梳理结构
- 用户说导出为 XMind / PNG / JPG / PDF等格式
输出格式与依赖
所有平台(Windows / macOS / Linux)统一依赖,只需 pip install pillow:
| 格式 | 说明 | 依赖 |
|---|
| html | 默认。交互式网页,支持拖拽/折叠/缩放/右键编辑/8种布局切换 | 无 |
| svg |
矢量图,无限缩放不失真 | 无 |
| xmind | XMind 8 / 2020+ 格式,可继续编辑 | 无 |
| png | 高清位图,适合嵌入文档/PPT/分享 | pillow |
| jpg | JPEG 位图,体积小 | pillow |
| pdf | PDF 文档 | pillow |
不需要安装任何系统级 C 库。 如果 Pillow 未安装,脚本会自动执行 pip install pillow。
首次安装(一行命令)
bash
pip install pillow
推荐的多格式输出策略
用户要求生成思维导图时,默认同时输出 HTML + PNG + XMind 三种格式,除非用户明确指定只要某种格式:
bash
DATA={
central: 核心洞见,
branches: [
{label: 🔬 维度1, color: #4A90D9, children: [证据A, 证据B]}
]
}
1. HTML(交互式,浏览器查看/编辑)
python3 {baseDir}/generate_mindmap.py \
--title 标题 --format html \
--output ~/.openclaw/workspace/标题.html --data $DATA
2. PNG(高清图片,直接分享)
python3 {baseDir}/generate_mindmap.py \
--title 标题 --format png --scale 2.0 \
--output ~/.openclaw/workspace/标题.png --data $DATA
3. XMind(专业思维导图软件中编辑)
python3 {baseDir}/generate_mindmap.py \
--title 标题 --format xmind \
--output ~/.openclaw/workspace/标题.xmind --data $DATA
参数说明:
- - --format html/png/jpg/svg/pdf/xmind(默认 html)
- --output 输出路径(可省略,默认保存到 ~/.openclaw/workspace/)
- --scale PNG/JPG/PDF 的像素密度(默认 2.0,建议 1.0–3.0)
- --quality JPG 质量 1–100(默认 92)
认知科学基础:为什么这样做思维导图
以下原则基于四大认知理论,指导 AI 生成高质量思维导图:
放射性思考(Buzan)— 结构原则
Tony Buzan 提出思维导图模拟大脑神经元的放射状结构:从中心向外发散,每条分支是一个独立的联想链。
对生成的要求: 中心节点是唯一的焦点,所有分支从它辐射而出,不存在并列的两个中心。
双重编码理论(Paivio)— 记忆原则
Allan Paivio 发现:同时通过语言通道和视觉通道编码的信息,记忆率提升约 32%。具体词(可想象的)比抽象词记忆效果好得多。
对生成的要求:
- 1. 每个主分支必须带 emoji(激活视觉通道)—— 如 🔬 技术演进 而非 技术演进
- 优先使用具体词而非抽象概括 —— 如 训练成本降至 6 万 而非 成本下降
- 颜色即编码 —— 每个分支的颜色应与语义一致,同色系 = 同语义域
认知负荷与米勒定律(Miller)— 容量原则
工作记忆同时处理的信息块为 7±2 个。Beel & Langer 对 19,379 张思维导图的实证研究发现:典型思维导图平均 31 个节点,每节点 1-3 个词。
对生成的硬约束:
- - 主分支 3–6 个(不超过 7)
- 每个分支的子节点 2–5 个
- 每个节点 4–12 字,叶节点不超过 15 字
- 全图总节点数 ≤ 40 个(超过则拆分为多张图或合并子节点)
- 全图最多 4 层深度
语义网络(Quillian & Collins)— 关联原则
知识在大脑中以语义网络形式存储:概念是节点,关系是连线。节点间的距离代表语义距离——相关的概念应该在视觉上靠近。
对生成的要求: 语义相近的子节点应聚合在同一个分支下(聚类原则),而不是按原文出现顺序排列。
第一步:确定中心节点(最重要)
中心节点决定整张图的质量。它是核心洞见,不是话题标签。
错误示范(话题标签):
- - ❌ AI 发展趋势
- ❌ 产品发布计划
- ❌ Python 学习
正确示范(核心洞见):
- - ✅ AI 正从工具变为协作者
- ✅ 产品成功 = 用户价值 × 执行速度
- ✅ Python 的价值在于生态而非语法
判断方法:
- 1. 问自己关于这个内容,最重要的一件事是什么? 答案就是中心节点。
- 如果中心节点换成另一个话题,现有分支还能成立 → 说明太泛,需要更精确。
第二步:设计主分支(维度而非章节)
主分支是理解中心洞见的独立视角,不是原文的章节目录。
按内容类型选择维度框架
| 内容类型 | 分支维度框架 | 推荐布局 |
|---|
| 分析/研究类 | 是什么 · 为什么 · 怎么做 · 结果如何 | ⇆ 左右均衡 |
| 问题解决类 |
根因 · 影响 · 方案 · 评估 | 🐟 鱼骨图 |
| 学习知识类 | 核心概念 · 运作机制 · 适用场景 · 常见误区 | ⇆ 左右均衡 |
| 产品/项目类 | 目标 · 策略 · 执行 · 风险 | → 树形 |
| 比较分析类 | 相同点 · 差异点 · 各自优势 · 选择建议 | ⇆ 左右均衡 |
| 叙事/报告类 | 背景 · 发现 · 影响 · 行动 | → 树形 |
| 历史/阶段/流程 | 按时间或步骤顺序排列 | ⏩ 时间线 |
| 概念分解/归类 | 整体 → 部分1 + 部分2 + ... | } 括弧图 |
|
头脑风暴/创意发散 |
自由联想,不预设框架 |
✶ 辐射 或 ⚡ 力导向 |
分支设计原则
原则 1:分支之间必须相互独立(语义网络的聚类原则)
每个分支回答关于中心节点的一个不同问题。语义相近的内容聚合在同一分支下。
原则 2:所有分支必须共同服务于中心节点
反问:去掉这个分支,对理解中心节点有损失吗? 无损失 → 该分支冗余,删除。
原则 3:分支数量 3–6 个(米勒定律)
不以原文有几节为准。超过 7 个分支时必须合并。
原则 4:同级分支的抽象层次必须一致
❌ 错误:同级出现技术原理(抽象)和GPT-4(具体实例)
✅ 正确:同级都是维度(技术路线、商业模式、社会影响)
每个主分支必须带 emoji(双重编码)
emoji 的作用是激活视觉编码通道,使分支在记忆中形成图像锚点。选择规则:
- - emoji 应直观反映该维度的语义核心
- 同一张图内 emoji 不重复
- 置于 label 最前面:🔬 技术演进 💰 商业模式 ⚠️ 风险挑战
| 语义域 | 推荐 emoji |
|---|
| 技术/科学 | 🔬 🧪 ⚙️ 🔧 💻 |
| 商业/金融 |
💰 📈 🏦 💼 🎯 |
| 人物/用户 | 👤 👥 🧑💻 🎓 |
| 风险/问题 | ⚠️ 🚧 ❗ 🔴 |
| 趋势/时间 | 📅 🔮 📊