mindmap

生成交互式思维导图,支持从文本/摘要构建层级结构,直接输出 HTML、PNG、JPG、SVG、PDF、XMind 格式。所有图片格式仅需 pillow(pip install pillow),无需任何系统级C库。当用户要求生成思维导图、脑图、可视化结构图时调用。

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "mindmap" with this command: npx skills add ftois/generate-mindmap

Mind Map Generator — 思维导图生成器

触发时机

  • 用户说"生成思维导图"、"画脑图"、"做一个思维导图"
  • 用户总结文章/内容后说"帮我做成思维导图"
  • 用户说"把这些内容可视化"、"帮我梳理结构"
  • 用户说"导出为 XMind / PNG / JPG / PDF"等格式

输出格式与依赖

所有平台(Windows / macOS / Linux)统一依赖,只需 pip install pillow

格式说明依赖
html默认。交互式网页,支持拖拽/折叠/缩放/右键编辑/8种布局切换
svg矢量图,无限缩放不失真
xmindXMind 8 / 2020+ 格式,可继续编辑
png高清位图,适合嵌入文档/PPT/分享pillow
jpgJPEG 位图,体积小pillow
pdfPDF 文档pillow

不需要安装任何系统级 C 库。 如果 Pillow 未安装,脚本会自动执行 pip install pillow

首次安装(一行命令)

pip install pillow

推荐的多格式输出策略

用户要求生成思维导图时,默认同时输出 HTML + PNG + XMind 三种格式,除非用户明确指定只要某种格式:

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(激活视觉通道)—— 如 "🔬 技术演进" 而非 "技术演进"
  2. 优先使用具体词而非抽象概括 —— 如 "训练成本降至 6 万" 而非 "成本下降"
  3. 颜色即编码 —— 每个分支的颜色应与语义一致,同色系 = 同语义域

认知负荷与米勒定律(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. 问自己"关于这个内容,最重要的一件事是什么?" 答案就是中心节点。
  2. 如果中心节点换成另一个话题,现有分支还能成立 → 说明太泛,需要更精确。

第二步:设计主分支(维度而非章节)

主分支是"理解中心洞见的独立视角",不是原文的章节目录。

按内容类型选择维度框架

内容类型分支维度框架推荐布局
分析/研究类是什么 · 为什么 · 怎么做 · 结果如何⇆ 左右均衡
问题解决类根因 · 影响 · 方案 · 评估🐟 鱼骨图
学习知识类核心概念 · 运作机制 · 适用场景 · 常见误区⇆ 左右均衡
产品/项目类目标 · 策略 · 执行 · 风险→ 树形
比较分析类相同点 · 差异点 · 各自优势 · 选择建议⇆ 左右均衡
叙事/报告类背景 · 发现 · 影响 · 行动→ 树形
历史/阶段/流程按时间或步骤顺序排列⏩ 时间线
概念分解/归类整体 → 部分1 + 部分2 + ...} 括弧图
头脑风暴/创意发散自由联想,不预设框架✶ 辐射 或 ⚡ 力导向

分支设计原则

原则 1:分支之间必须相互独立(语义网络的聚类原则)

每个分支回答关于中心节点的一个不同问题。语义相近的内容聚合在同一分支下。

原则 2:所有分支必须共同服务于中心节点

反问:"去掉这个分支,对理解中心节点有损失吗?" 无损失 → 该分支冗余,删除。

原则 3:分支数量 3–6 个(米勒定律)

不以"原文有几节"为准。超过 7 个分支时必须合并。

原则 4:同级分支的抽象层次必须一致

❌ 错误:同级出现"技术原理"(抽象)和"GPT-4"(具体实例) ✅ 正确:同级都是维度("技术路线"、"商业模式"、"社会影响")

每个主分支必须带 emoji(双重编码)

emoji 的作用是激活视觉编码通道,使分支在记忆中形成"图像锚点"。选择规则:

  • emoji 应直观反映该维度的语义核心
  • 同一张图内 emoji 不重复
  • 置于 label 最前面:"🔬 技术演进" "💰 商业模式" "⚠️ 风险挑战"
语义域推荐 emoji
技术/科学🔬 🧪 ⚙️ 🔧 💻
商业/金融💰 📈 🏦 💼 🎯
人物/用户👤 👥 🧑‍💻 🎓
风险/问题⚠️ 🚧 ❗ 🔴
趋势/时间📅 🔮 📊 🕐
成果/价值✅ 🏆 💡 ⭐
流程/步骤🔄 📋 🗺️ 🛤️
背景/历史📖 🏛️ 🌍 🗂️

第三步:填充子节点(证据而非子话题)

子节点不是"这个分支下还有哪些话题",而是"让这个分支成立的具体依据"。

优先使用具体词(双重编码)

具体的、可想象的词比抽象词记忆效果好 1.5-2 倍(Paivio 实验数据)。

子节点类型示例作用
具体机制"注意力机制使模型聚焦关键词"解释"为什么"
量化数据"GPT-4 训练成本超 1 亿美元"使声明可信
典型案例"Copilot 使代码效率提升 55%"使抽象具体
对比参照"vs 传统搜索:主动生成 vs 被动检索"揭示差异
行动指南"先用小数据集验证再扩规模"指导实践
关键限制"幻觉率随任务复杂度非线性上升"防止误用

层级深度规则

中心节点(1 个)
  └── 主分支(3–6 个)    ← 理解维度,带 emoji,抽象词组
        └── 子节点(2–5 个)  ← 支撑证据,具体词组或短句
              └── 叶节点(可选,1–3 个)  ← 最具体的事实/数据/步骤
  • 全图最多 4 层,总节点 ≤ 40 个
  • 每个主分支至少 2 个子节点(1 个说明未充分挖掘)
  • 叶节点不超过 3 个(太多说明需要再拆一层)

第四步:节点文字规范

规则正确错误
使用原文关键词,不过度意译"联邦学习""一种保护数据的分布式方法"
动词短语比名词堆砌更有力"降低推理延迟 40%""推理延迟优化相关内容"
长度 4–12 字"本地训练不传原始数据"过长的完整句子
并列内容拆成独立节点三个节点:"医疗" / "教育" / "金融"一个节点:"医疗教育金融"
越深层越具体(认知负荷递减)叶节点写具体数字/步骤/案例叶节点写抽象标签

第五步:质量自查(生成后必检)

生成 JSON 后,逐条检查,不合格立即修改:

容量检查(米勒定律):

  • 总节点数是否 ≤ 40?(超过则合并或拆分)
  • 主分支是否 3–6 个?
  • 每个节点是否 ≤ 12 字?

必要性检查(认知负荷):

  • 删去任意一个主分支,对理解中心节点的损失是否明显?(不明显 → 删除该分支)
  • 每个子节点是否使其父分支更可信/更具体?(否 → 删除或替换)
  • 是否存在"正确的废话"节点?(如"需要进一步研究" → 删除)

双重编码检查:

  • 每个主分支是否带了 emoji?
  • 叶节点是否用了具体的、可想象的词?(抽象标签 → 替换为具体事实)
  • 颜色是否与语义一致?(同类维度同色系)

结构检查(放射性思考):

  • 中心节点是核心洞见还是话题标签?
  • 同级分支的抽象层次是否一致?
  • 是否有只含 1 个子节点的分支?(合并或补充)

第六步:构造 JSON 并执行

⚠️ 强制规则:每个主分支的 label 必须以 emoji 开头。 格式:"label": "🔬 技术演进" —— emoji + 空格 + 文字。 这是基于双重编码理论的硬性要求,不可省略。

{
  "central": "核心洞见(不超过 15 字)",
  "branches": [
    {
      "label": "🔬 维度1(emoji 必须有)",
      "color": "#4A90D9",
      "children": [
        "具体证据A(可想象的词)",
        "量化数据B",
        {
          "label": "需要展开的证据C",
          "children": ["最具体的事实1", "最具体的事实2"]
        }
      ]
    }
  ]
}

颜色分配建议(按分支语义选色):

颜色适用维度搭配 emoji
#4A90D9机制/原理/方法论🔬 ⚙️ 🧪
#27AE60 绿成果/价值/应用✅ 💡 🏆
#E86C3A问题/挑战/风险⚠️ 🚧 ❗
#9B59B6背景/趋势/上下文📖 🔮 🌍
#F39C12资源/工具/要素🔧 📦 💼
#1ABC9C流程/步骤/路径🔄 🛤️ 📋
#E74C3C警告/限制/禁忌🔴 ⛔ 🚫

脚本路径:{baseDir}/generate_mindmap.py


完整示例

DATA='{
  "central": "技术壁垒正被成本竞争取代",
  "branches": [
    {
      "label": "🔬 技术门槛变化", "color": "#4A90D9",
      "children": [
        {"label": "训练成本下降", "children": ["GPT-3 成本 460万刀", "同能力模型降至 6 万"]},
        "开源模型追平闭源", "微调替代全量训练"
      ]
    },
    {
      "label": "💰 主流盈利路径", "color": "#27AE60",
      "children": [
        "API 按 token 计费",
        {"label": "垂直行业定制", "children": ["医疗合规要求高溢价", "法律文档审核替代人工"]},
        "订阅制 Pro 用户"
      ]
    },
    {
      "label": "⚔️ 竞争驱动力", "color": "#E86C3A",
      "children": ["价格战压缩利润空间", "算力即竞争壁垒", "数据飞轮强者愈强"]
    },
    {
      "label": "📜 监管不确定性", "color": "#9B59B6",
      "children": [
        {"label": "欧美监管分歧", "children": ["EU AI Act 强制备案", "美国行业自律为主"]},
        "中国实名制与内容审核", "合规成本影响中小玩家"
      ]
    }
  ]
}'

python3 {baseDir}/generate_mindmap.py --title "大模型商业化" --format html  --output ~/.openclaw/workspace/大模型商业化.html  --data "$DATA"
python3 {baseDir}/generate_mindmap.py --title "大模型商业化" --format png   --output ~/.openclaw/workspace/大模型商业化.png   --data "$DATA"
python3 {baseDir}/generate_mindmap.py --title "大模型商业化" --format xmind --output ~/.openclaw/workspace/大模型商业化.xmind --data "$DATA"

执行成功后告知用户(必须包含完整的绝对路径,方便用户查找文件):

思维导图已生成三种格式,保存在以下位置:

  • HTML<绝对路径>/大模型商业化.html —— 用浏览器打开,支持交互查看、编辑节点、切换 8 种布局
  • PNG<绝对路径>/大模型商业化.png —— 高清图片,可直接嵌入文档或分享
  • XMind<绝对路径>/大模型商业化.xmind —— 可在 XMind 软件中打开继续编辑

其中 <绝对路径> 替换为脚本实际输出的路径(从脚本的 stdout 中获取,格式为 [mindmap] ✅ HTML → /完整/路径/文件名.html)。


内置示例文件

{baseDir}/examples/ 目录中包含可直接打开的示例:

文件说明
examples/ai_trends.htmlAI 发展趋势(5 主分支,3 层嵌套)
examples/product_launch.html产品发布计划
examples/python_learning.htmlPython 学习路径

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Content Refresher

Use when updating outdated content, fixing traffic/ranking decay, refreshing stats, adding new sections, or improving freshness signals. 内容更新/排名恢复

Registry SourceRecently Updated
General

AssemblyAI Transcriber

Transcribe audio files with speaker diarization (who speaks when). Supports 100+ languages, automatic language detection, and timestamps. Use for meetings, interviews, podcasts, or voice messages. Requires AssemblyAI API key.

Registry SourceRecently Updated
General

mac-node-snapshot

A robust, permission-friendly method to capture macOS screens via OpenClaw screen.record. Ideal for headless environments or ensuring capture reliability.

Registry SourceRecently Updated
1.4K0taozhe6
General

Amazon Asin Lookup Api Skill

This skill helps users extract structured product details from Amazon using a specific ASIN (Amazon Standard Identification Number). Use this skill when the...

Registry SourceRecently Updated
1.3K1phheng