用途:Graph Colorize 用于给 Obsidian 的 Graph View(图谱视图)按标签、文件夹、类别或可见性着色,方式是重写 $OBSIDIAN_VAULT_PATH/.obsidian/graph.json。它只修改 colorGroups 字段,不改页面内容,也不写 frontmatter,属于纯配置编辑。
主要能力:Obsidian 在 graph.json 中用 colorGroups 保存一组 {query, color} 颜色规则,节点按第一条匹配的 query 着色。查询遵循 Obsidian 搜索语法,如 tag:#foo、path:"concepts"、file:foo。颜色格式为 {"a": 1, "rgb": <打包整数>},整数为 (R << 16) | (G << 8) | B。工具提供 10 种色盲友好颜色,按顺序循环使用。
支持模式:by-tag(按标签,统计 frontmatter 标签使用频率取前 10,排除 visibility/* 保留标签);by-category(按固定顶层文件夹顺序:concepts、entities、skills、references、synthesis、projects、journal);by-visibility(固定三条,按顺序 pii 红、internal 橙、public 绿);combined(先可见性再标签,冲突时可见性优先);custom(按用户显式映射,十六进制转打包整数)。无明确说法时默认 by-tag。
使用前需先解析配置得到 OBSIDIAN_VAULT_PATH,确认 .obsidian/ 存在;若不存在说明仓库从未在 Obsidian 中打开过,需先打开一次再重跑。若 Obsidian 可能开着,需先关闭或因 Obsidian 退出时会覆盖 graph.json,改完后立即重载(Cmd/Ctrl+R)并避免在此之前打开图谱设置。
写入时会先备份为 .obsidian/graph.json.backup-<YYYYMMDD-HHMM>,只替换 colorGroups,保留缩放、物理、筛选、搜索、显示等其他字段,并保持原 JSON 风格。完成后输出摘要并追加日志到 $VAULT_PATH/log.md。重跑安全,每次生成新备份。撤销可从最近备份恢复;清空所有颜色组可将 colorGroups 置为 []。
限制与注意:by-tag 模式若仓库无标签会回退到 by-category;文件夹路径含空格需加引号,嵌套斜杠标签按字面处理,不要 URL 编码。若用户已有手工维护的颜色组,应先询问或使用 combined 模式。本工具调色板与 wiki-export 的 graph.html 社区颜色一致,便于保持两处可视化观感统一。