用途:在 Obsidian 中程序化生成 .excalidraw 图表,并将其嵌入 Markdown 笔记,适合用脚本批量产出或更新架构图、流程图等。
主要能力:借助 excaligen SDK 编写生成脚本,new_scene()、ellipse()、rectangle()、arrow()、bind() 等 API 创建图形;bind() 自动计算边到边几何、双向绑定与标签;styled(element, "lapsed") 按状态配色(描边色/线型表达活动、失效、次要、暂停、移除等状态,填充保持白色)。
使用方式:写一个带 PEP 723 头与 uv shebang 的脚本,依赖固定为 excaligen==0.11.14,通过 ${CLAUDE_PLUGIN_ROOT} 引入 obsidian_preset;运行后输出 JSON 到 .excalidraw 文件。嵌入笔记使用 ![[diagram.excalidraw]]。写库前先判断库类型:普通路径可直接写文件;iCloud 路径(~/Library/Mobile Documents/ 下)需用 scripts/write_to_vault.py 经 Obsidian CLI 写入,该脚本会分块(CLI 约 10KB 上限)、重试并回读校验,需在非沙箱环境运行。查找库路径:obsidian vault info=path。更新图表应写同名 .excalidraw 让 Obsidian 覆盖,不要删除再建。
限制:标签须单行且不含引号、制表符、反斜杠;彩色填充在 Obsidian 嵌入预览中会变暗;图形不会自动适应长文本;iCloud 库无法用文件系统直接写入。Route A 生成的图表因 ## Drawing 块被压缩且 excaligen 无解码器,无法回读更新,需按描述重新生成。完整库 API 见 https://milanpiskla.github.io/excaligen/。