AI 畫的流程圖字被切掉,檢查器卻說 OK?diagram-design 實測
重點摘要
- 官方 210 個範例用自帶 self_check 檢查,0.435 秒全數通過;倉庫的瀏覽器版 lint-render 渲染 215 個檔案也是 0 個問題。
- 把範例流程圖的字挪到畫布最右邊,自帶 self_check 回 OK,lint-render 才抓到右側被切掉 68 像素。
- 90 字的長標籤衝出方框,自帶 self_check 與 lint-render 都回報 0 個問題,但輸出的 PNG 肉眼可見文字超出方框。
- 外連圖片、會送出 cookie 的程式、onclick 屬性三種壞法,自帶 self_check 全部擋下;PNG 匯出每張約 1.0 到 1.7 秒。
- 結論: 擋得住單檔安全問題,但看得見的排版錯(字被切、字衝出方框)會漏,畫完要自己看一眼。
- 適合: 常請 AI 畫圖放簡報或貼文、願意自己檢查成品的人
- 不適合: 想完全靠檢查器把關、或需要可編輯原始檔的人
| 實測項目 | 結果 |
|---|---|
| 官方範例 self_check(210 個) | 0.435 秒,全數 OK |
| lint-render --all(215 個) | 0 個問題,1 則備註,2 分 14 秒 |
| 字挪到畫布邊緣 | self_check OK;lint-render 切掉 68px |
| 90 字長標籤 | 兩支都 0 個問題 |
| 外連圖片/藏程式/onclick | self_check 皆擋下 |
| PNG 匯出(2 倍) | 約 1.0~1.7 秒 |
假設你要給新員工一張退貨流程圖,請 AI 畫好,準備貼進公司群組。圖畫完了,你怎麼知道它沒畫壞?diagram-design 是一套讓 AI 助理照固定美術規則畫圖的技能包,輸出是單一 HTML+SVG 檔,還附了檢查器。我想知道:圖真的畫壞時,檢查器抓得到嗎?
測試設備:Mac mini M4 Pro(12 核、64GB)。版本:diagram-design 2.6.119(commit 7a12007,2026-10-21),MIT 授權。
先確認它本身能跑
它的檢查與匯出都是 Python 腳本,轉 PNG 需要 Playwright。我在乾淨環境裝好(pip 約 55 秒、瀏覽器下載約 37 秒)後實測:
python3 skills/diagram-design/scripts/self_check.py assets/example-*.html
python3 scripts/lint-render.py --all
python3 skills/diagram-design/scripts/export_png.py 圖.html 圖.png 2
| 項目 | 結果 |
|---|---|
| 自帶 self_check,210 個官方範例 | 0.435 秒,全數 OK |
| 倉庫 lint-render(瀏覽器實際渲染),215 個檔案 | 0 個問題、1 則「無法量測」備註,共 2 分 14 秒 |
| 匯出 PNG(2 倍) | 每張約 1.0~1.7 秒 |
官方範例全部乾淨,這是預期的;真正的問題是圖壞了它抓不抓得到。
故意弄壞:兩種檢查結果不同
我拿範例流程圖,改出五種壞圖:
| 壞法 | 自帶 self_check | 倉庫 lint-render |
|---|---|---|
| 字挪到畫布最右邊(x=999) | OK(放行) | 抓到:右邊被切掉 68 像素 |
| 90 字的長標籤塞進方框 | OK(放行) | 0 個問題(放行) |
| 外連圖片 | 抓到(remote reference) | 未測 |
| 藏一段會送出 cookie 的程式 | 抓到 | 未測 |
| 文字加 onclick | 抓到 | 未測 |


怎麼判讀
自帶檢查器偏重「單檔安全」:外連資源、可執行屬性、不明程式它都擋得住。但字被切掉、字衝出方框這類肉眼看得見的排版錯,它放行了;瀏覽器版 lint-render 能抓到被畫布切掉的字,卻抓不到「字衝出方框但還在畫布內」。另外 export 指令文件說預設輸出在原檔旁,但 export_png.py 實際要求自己給輸出路徑,這點我是照腳本用法才跑通。
我的看法
我會用它,但畫完一定自己看一眼再貼出去。這次只測了「改壞的範例」,沒有測 AI 實際畫圖的成功率,也沒評審好不好看,所以不能說它的圖一定出錯,只能說檢查器有這兩個盲點。
適合:常請 AI 畫圖放簡報、貼文,願意自己多看一眼的人。不適合:想完全交給檢查器把關、不看成品的人;也不適合要可編輯原始檔的人(輸出是 HTML+SVG,不是 drawio)。
專案連結:https://github.com/cathrynlavery/diagram-design(MIT)