懶惰之最|GitHub 實測

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)

測試設備:Mac mini M4 Pro(12 核、64GB)。內容依實際執行結果撰寫,數據為撰寫當時的實測值。

← 所有實測