SA 知识类思维导图 (sa-knowledge-mindmap)
业务归属
- 母公司:DO集团(Double-O Group)
- 归属子公司:SA·Objective Thinker(中学智能学科辅导与通用知识服务)
- 业务定位:知识类思维导图专门业务(知识结构可视化引擎)
- 能力底座:本 Skill 以 matplotlib 为交付引擎,由「层级架构图能力」泛化而来,是 DO集团组织/业务架构图能力的通用化版本
触发场景
当用户需要把以下结构化知识可视化为思维导图时调用:
- 学科知识点 / 章节体系梳理
- 概念关系网、公式定理体系
- 复习提纲、考点网络
- 读书笔记 / 文献结构
- 任意层级化知识结构的导图呈现
输入格式(二选一)
- 缩进文本:每级用 2 空格缩进表示层级(空行忽略)
- 节点可携带说明:概念名 :: 说明内容(说明为公式/定义/要点,多要点用;分隔)
高中物理·力学 运动学 匀变速直线运动 :: v=v₀+at;x=v₀t+½at² 自由落体 :: v=gt;h=½gt² 动力学 牛顿三定律 :: 惯性/加速度/作用反作用 万有引力 :: F=Gm₁m₂/r² - JSON:
{"name":"根","children":[{"name":"子","desc":"说明","children":[...]}]}
使用命令
python3 scripts/knowledge_mindmap.py \
--input <结构文件.txt|.json> \
--layout htree|vtree|radial \
--output <输出.png> \
--title "标题" --subtitle "副标题" \
--style classic|buzan
--palette vivid|jewel|sunset|ocean|classic
也可 --data 直传文本/JSON 字符串(不读写文件)。
三种布局
| 布局 | 说明 | 适用 |
|---|---|---|
htree |
横向(左→右)树,默认推荐 | 层级深、需横向展开的知识体系 |
vtree |
竖向(上→下)树 | 层级浅、分支宽的概览 |
radial |
辐射(中心→环绕) | 紧凑概览 |
两种视觉风格
| 风格 | 说明 | 适用 |
|---|---|---|
classic(默认) |
深度循环配色 + 直角折线连接 | 通用、最大兼容 |
buzan |
博赞方法论风格:有机曲线分支 + 主分支同色渐变 + 层次梯度(主干粗/末梢细、字号随深度递减) | 记忆增强、演讲展示、知识复习 |
> 博赞法则提炼与方法论对齐见 references/buzan_methodology.md。知识类导图因术语常为多字概念,未强制"每线一词"与"中心图像",而是将其作为可选增强。
配色方案(--palette)
不同主分支自动分配不同色相,确保「一眼区分分支 + 层级清晰」。所有配色均经白字可读性校验(中高明度、白字清晰)。默认 vivid 最出彩:
| 方案 | 风格 | 适用场景 |
|---|---|---|
vivid(默认) |
8 色高饱和撞色(红/橙/青绿/湖蓝/靛/紫/品红/绿) | 通用、客户展示、记忆增强 |
jewel |
宝石深彩(深红/祖母绿/蓝宝石/紫晶等) | 高端、印刷品、稳重专业 |
sunset |
暖色系(红橙珊瑚粉) | 演讲、暖色主题、活力 |
ocean |
冷色系(蓝青绿) | 科技、专业报告、冷静调性 |
classic |
原 6 色 material 深彩 | 向后兼容、保守风格 |
> classic 与 buzan 两种风格均按「分支」取色(同一主分支同色系;buzan 的深度仅影响渐变明暗),而非按层级循环,信息归属更直观、配色更丰富。
自动检索填充工作流(一键生成带说明导图)
当结构仅给出概念名称(无说明)时,可按以下「一键流程」让 copilot 自动检索并填充每个节点的 desc(公式/定义/要点),再渲染:
- 提供结构:用户给出仅含名称的层级结构(缩进文本或 JSON),或指向结构文件。
- 逐节点检索(copilot 在对话中执行,多知识库协同):
- 优先search(kb, "SA-LIB", <节点名>)取学科/考点结构化详情;
- 补充search(kb, "小小图书馆(非专业书籍)", <节点名>)取科普/通识/人文类解读(尤其非专业、通识、读书笔记类知识点);
- 若两库均无结果或信息不足,补search(web, <节点名> + "定义 公式 核心要点");
- 对纯分类节点(如"运动学")可跳过检索,仅检索叶子/中层知识点。 - 浓缩 desc:将检索结果提炼为 1–3 行关键说明(优先公式、定义、易错点),写入结构:
- 缩进文本写法:概念名 :: 说明内容(多要点用;分隔)
- JSON 写法:节点增"desc": "说明内容" - 生成导图:调用引擎渲染(推荐
--style buzan)。
bash python3 scripts/knowledge_mindmap.py --input <带desc结构.txt|.json> \ --layout htree --style buzan --output <输出.png> \ --title "标题" --subtitle "副标题"
> 说明:检索由 copilot 对话侧执行(skill 不内嵌搜索 API);引擎本职是「带 desc 渲染」。该工作流将"知识生成"与"可视化渲染"解耦,确保导图既结构化又内容扎实。
质量门控
- 300 DPI,中文字体 Noto Sans SC,打印清晰
- 自动树布局,兄弟/父子节点零重叠(内置重叠检测已验证)
- 框尺寸随文字自适应换行,配色按深度区分(根深蓝,子节点绿/蓝/紫/橙循环)
- 画布尺寸随节点数与深度自适应,无内容出界
交付物
- 输出:
<output>.png(高分辨率思维导图) - 可用
provide_file生成下载链接,或嵌入 SA 业务文档 / 笔记
示例与扩展
见 references/usage.md(含完整学科示例数据与布局对比)。