AI画图神器-Excalidraw和draw.io和PicDoc
AI 画图神器:Excalidraw、draw.io 和 PicDoc
第一章:在 Obsidian 中绘制 Excalidraw
如果只是把 Excalidraw 当成一个在线白板,那它当然很好用;但一旦把它放进 Obsidian,它的定位就变了:它不再只是“画图工具”,而是“笔记系统中的可视化画布”。
这件事的价值在于:图和笔记不再分离。
- 文字笔记可以直接链接到图
- 图里的节点可以承载知识点、流程、架构和关系
- 一张图可以持续迭代,而不是画完就丢
- AI 可以参与补图、改图、重构图
1.1 为什么 Excalidraw 放在 Obsidian 里会更强
在 Obsidian 里画 Excalidraw,最核心的优势不是“画得更漂亮”,而是“图和知识库天然连在一起”。
典型场景包括:
- 用一张图梳理一篇文章的结构
- 用流程图表达一个复杂工作流
- 用架构图记录项目模块关系
- 用问题树、决策树整理思考过程
- 边写笔记边补图,而不是来回切工具
这意味着 Excalidraw 在 Obsidian 里更像一种“可视化思维载体”,而不是单纯的画板。
1.2 在 Obsidian 里如何新建一张 Excalidraw 图
前提是已经安装了 Obsidian 的 Excalidraw 插件。
通常有几种常见方式:
- 通过命令面板新建 Excalidraw 文件
- 在左侧文件树中新建
.excalidraw.md - 通过模板或快捷命令快速创建图
很多人第一次看到文件后缀会有点困惑,因为它经常不是 .excalidraw,而是:
xxx.excalidraw.md
这是因为 Obsidian Excalidraw 常用的是一种 Markdown 包装格式。它本质上仍然是一个 Markdown 文件,但中间包着 Excalidraw 的图形数据。
1.3 为什么有时能看到 JSON,有时看到的是一大串压缩内容
Obsidian Excalidraw 文件常见有两种保存方式。
第一种是展开形式:
md
## Drawing
```json
{
"type": "excalidraw",
"elements": [...]
}
代码
第二种是压缩形式:
```md
## Drawing
```compressed-json
N4KAkARALgngDg...
代码
区别很简单:
- `json`:展开后的图形数据,人能看懂一部分
- `compressed-json`:压缩后的图形数据,人基本看不懂
它们本质上是同一份内容,只是存储方式不同。
为什么会这样?
- 展开 JSON 更适合调试、版本对比、AI 修改
- 压缩格式更节省体积,也更接近插件默认保存习惯
所以你会遇到一种情况:
- 某些旧图打开源码后,只看到 `compressed-json`
- 某些 AI 改过的图,能直接看到完整 JSON
这不是文件坏了,而只是保存格式不同。
### 1.4 这些文件到底写了什么
一个 Excalidraw 文件里真正重要的内容主要有两部分:
#### `## Text Elements`
这一段保存的是图中出现过的文字索引,例如:
- 节点标题
- 判断标签
- 注释说明
它更像是一份“文本目录”。
#### `## Drawing`
这一段才是真正的图形数据,里面会保存:
- 矩形
- 文字
- 菱形判断节点
- 箭头
- 坐标
- 颜色
- 尺寸
- 线条样式
也就是说,一张图里的每个框、每条线、每段文字,本质上都是一条 JSON 元素记录。
### 1.5 这类文件能不能手动改
可以,但分情况。
#### 更推荐:在 Excalidraw 视图中修改
这是最正常的方式:
- 打开 Obsidian
- 切到 Excalidraw 视图
- 直接拖拽、修改文字、调整箭头
这是最安全、最直观的方式。
#### 也可以:直接改源码
如果你用文本编辑器打开 `.excalidraw.md`,也确实能直接改里面的 JSON。
这种方式适合:
- AI 批量改图
- 程序自动生成图
- 做版本 diff
- 排查箭头、节点和布局问题
但它不适合普通手工编辑,因为很容易改坏:
- 引号
- 逗号
- `points`
- 坐标
- 元素 id
所以对于大多数人来说:
- 日常改图,用 Excalidraw 视图
- 想理解文件结构,再去看源码
### 1.6 在 Obsidian 里怎么正确打开它
有时你点开一个 `.excalidraw.md` 文件,看到的是源码而不是图,这通常是因为它当前被当成普通 Markdown 打开了。
正确方式是切到 Excalidraw 视图,例如:
- `Open as Excalidraw`
- `Switch to Excalidraw View`
- 或右上角更多菜单中切换到 Excalidraw 视图
如果打开后看到的是一大坨源码,不代表文件有问题,往往只是打开方式不对。
### 1.7 AI 在这个工作流里能做什么
当 Excalidraw 放进 Obsidian 后,AI 的角色并不是“代替你画图”,而更像“协助你把图补完整”。
比较适合的方式是:
1. 你先手动画一个草图
2. AI 根据现有结构继续补节点、判断、分组、说明
3. 你再手动微调布局和样式
这比让 AI 从零生成一整张最终图更稳。
特别是在复杂图里,AI 更适合做这些事:
- 帮你补结构
- 帮你重构层级
- 帮你统一命名
- 帮你生成初版流程
- 帮你把一堆文字整理成图
但不太适合完全代替你做最后的美化和视觉判断。
### 1.8 一个更实用的协作方式
如果你真的想把 AI 深度接进 Excalidraw 工作流,最实用的方式通常不是“让 AI 直接画最终图”,而是“双层文件”:
- 一层是人类可读的结构源文件
- 一层是 Excalidraw 的视觉产物
比如:
- Mermaid
- YAML
- 简化 DSL
- Markdown 大纲
先用这些方式描述结构,再让 AI 生成 Excalidraw 图,整体会更稳,也更容易维护。
### 1.9 小结
在 Obsidian 中使用 Excalidraw,真正重要的不是“学会画框和箭头”,而是理解三件事:
1. 它是知识库的一部分,不是孤立的白板
2. `.excalidraw.md` 本质上是 Markdown 包装的图形数据文件
3. AI 最适合参与“补图、重构、整理结构”,而不是完全替代人的最终编辑
当你接受这一点之后,Excalidraw 的角色就会从“画图工具”升级成“可视化思考界面”。
---
后面再继续展开:
- draw.io 更适合什么
- PicDoc 的优势是什么
- 三者各自适合的使用场景