图像与设计
把文本内容转成 Obsidian Canvas…
当用户想把文章、笔记或大纲转成可交互的 Obsidian Canvas 画布、思维导图或空间化信息图时使用。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 59/100 ×0.15
适用场景
把文本内容转成 Obsidian Can特定
解决思路
- 分析输入内容:识别主题与层级关系,提取关键点、事实与支撑细节,注意已有的结构(标题、列表、章节)。
- 确定布局类型:让用户选择或从上下文推断——MindMap 布局(从中心放射、父子关系、清晰层级,适合头脑风暴、主题探索、层级内容)或 Freeform 布局(自定义定位、灵活关系、多种连接类型,适合复杂网络、非层级内容、自定义排布)。
- 规划结构:MindMap 时确定中心概念(根节点)、映射主分支(主要主题)、组织次级分支(子主题)、定位叶子节点(细节);Freeform 时对相关概念分组、识别连接模式、规划空间区域、考虑视觉流向。
- 生成 Canvas JSON:创建节点时分配唯一的 8-12 位十六进制 ID,根据内容长度设置合适尺寸,应用一致配色,确保坐标不重叠;创建边时连接父子关系,使用合适的箭头样式,为复杂关系添加标签,选择线型(层级用直线、交叉引用用曲线);可选地创建分组,为相关节点建立视觉容器,使用柔和背景色并添加描述性标签。
- 应用布局算法:MindMap 参考 references/layout-algorithms.md,根节点居中于 (0, 0),主节点放射分布,次级节点按兄弟数量间隔,保持最小间距水平 320px、垂直 200px;Freeform 从逻辑分组开始,分组间留出清晰间隔,用曲线跨组连接,平衡画布视觉重量。
- 输出前校验:所有节点 ID 唯一;坐标不重叠(距离 > 节点尺寸 + 间距);所有边引用有效节点 ID;分组(如有)有标签;颜色格式一致(hex 或预设编号);JSON 正确转义(中文双引号用 『』,中文单引号用 「」)。
- 按输出格式交付:输出完整有效的 JSON Canvas 文件,不附加解释文字,可直接导入 Obsidian。
- 按文本长度设置节点尺寸:短文本(<30 字符)220 × 100 px;中等文本(30-60 字符)260 × 120 px;长文本(60-100 字符)320 × 140 px;超长文本(>100 字符)320 × 180 px。
- 使用预设配色:"1" 红色(警告、重要)、"2" 橙色(行动项)、"3" 黄色(问题、笔记)、"4" 绿色(正面、已完成)、"5" 青色(信息、细节)、"6" 紫色(概念、抽象);自定义 hex 颜色用于品牌一致性或特定主题,始终使用大写格式如 "#4A90E2"。
- 遵守关键规则:中文双引号转 『』、中文单引号转 「」、英文双引号转 \";ID 为 8-12 位随机十六进制字符串且在所有节点和边中唯一;Z-Index 顺序为先输出分组(底层)、再子分组、最后文本/链接节点(顶层);节点中心最小水平间距 320px、垂直 200px,计算时考虑节点尺寸;JSON 顶层只含 nodes 和 edges 数组,无额外包裹对象、无注释;节点文本中不使用任何 Emoji,改用颜色编码或文本标签区分。
- 需要规格细节、复杂布局计算或排查校验错误时,加载参考文档 references/canvas-spec.md(完整 JSON Canvas 格式规范)和 references/layout-algorithms.md(两种布局的详细定位算法)。
- 提升画布质量的技巧:每个节点文本保持简洁(最好少于 2 行);按重要性和关系分组;分散节点避免聚集;用颜色编码含义而非纯装饰;只添加能澄清关系的边;在 Obsidian 中测试输出能否正确打开。
- 避免常见陷阱:节点重叠(始终检查距离)、引号转义不一致(破坏 JSON 解析)、分组缺少标签(导致侧边栏导航问题)、节点文本过多(长内容改用文件节点)、ID 重复(每个必须唯一)、出现非故意的孤立节点。
适用边界 · 注意事项
- 用户没有 Obsidian 或不需要 Canvas 格式时
- 内容极少、无需空间化组织时
- 需要交互式网页图表而非静态 Canvas 文件时