內容製作與設計交付一旦上量,PNG 漏透明、體積暴漲、檔名亂碼會直接拖垮上線節奏。本文以OpenClaw在遠端 Mac上編排可複現的PNG 質檢流水線:涵蓋透明像素檢測、體積/尺寸閾值與命名校驗,並說明資料夾監聽思路、腳本參數範例、失敗樣本回流與排錯。批量校驗結果可對接 CMS、CDN 或版本庫 gate。文末購買、定價、幫助為站內頁,現階段免登入即可瀏覽。
① 質檢指標定義(體積/透明度/尺寸)
先把「通過」寫成機器可判斷的條件,團隊才有同一套話語。建議以資產類型(icon、貼紙、banner、截圖)分組,每一組綁定一組閾值與規則 ID。
- 體積: 設定單檔上限(例如 icon 區 ≤ 120KB、1080p 貼紙 ≤ 800KB),必要時再設下限以避免誤傳 1×1 占位圖。
- 透明度: 規定是否「必須含可見 alpha」(例如非全不透明像素占比 ≥ 0.01%),或「禁止 accidental alpha」(全圖不透明卻帶透明通道時視為警告)。
- 尺寸: 寬高落在白名單(如 64、128、256、512)或範圍(寬 1080–1920),並可檢查偶數邊長以利影片疊加。
- 命名: 正則與字元集(僅小寫、數字、短橫線)+可選的
_寬x高後綴,與 自動命名與校驗 一文對齊。
將上述寫入 qa-rules.yaml 或 JSON,OpenClaw 與腳本共用同一份來源,可避免「口頭規範」與實際檢查不一致。
② OpenClaw 任務編排步驟
推薦目錄約定:inbox/(待檢)、staging/(校驗中)、quarantine/(失敗)、release/(通過)。編排邏輯建議固定為下列順序,方便審計與重跑。
- 觸發: 設計匯出或同步工具將 PNG 寫入
inbox;由fswatch、launchdWatchPaths,或 OpenClaw 的資料夾監聽技能觸發(可參考 監聽資料夾與重命名)。 - 原子移動: 將本批檔案
mv到staging,避免校驗進行中又有新檔寫入。 - 執行校驗腳本: 讀取規則檔,對
staging每一檔產出結構化結果(建議 JSON Lines)。 - 分流: 全通過則整批移入
release;任一失敗則可選「整批退回」或「只隔離失敗檔」,並寫入report-時間戳.json。 - 通知: OpenClaw 彙總報告摘要(失敗數、前三大原因碼)到 Slack/郵件/工單,附報告路徑。
③ 腳本模板與參數範例
以下為「思路模板」:實際專案可改用 Pillow、ImageMagick、sips 或自研 Rust 小工具,重點是參數與閾值由設定檔注入,而非寫死在程式裡。
環境變數範例
QA_MAX_BYTES=512000(500KB)QA_MIN_ALPHA_RATIO=0.0001(透明像素占比下限,需 rgba)QA_WIDTH_MIN=1080、QA_WIDTH_MAX=1920QA_NAME_REGEX='^[a-z0-9]+(-[a-z0-9]+)*_[0-9]+x[0-9]+\.png$'
Bash 骨架(合併體積+檔名;透明與尺寸可接 identify -format 或 Python)
#!/usr/bin/env bash
set -euo pipefail
RULE="${QA_RULES_PATH:-./qa-rules.yaml}"
STAGING="${STAGING_DIR:-./staging}"
report() { echo "{\"file\":\"$1\",\"ok\":$2,\"code\":\"$3\"}"; }
for f in "$STAGING"/*.png; do
[[ -e "$f" ]] || continue
bytes=$(stat -f%z "$f")
base=$(basename "$f")
[[ $bytes -le ${QA_MAX_BYTES:-99999999} ]] || { report "$f" false "SIZE_BYTES"; continue; }
[[ "$base" =~ ${QA_NAME_REGEX:-^.*\.png$} ]] || { report "$f" false "NAME"; continue; }
report "$f" true "OK"
done
ImageMagick 快速確認是否具 alpha:identify -format '%[channels]' file.png 出現 rgba 或類似即表示帶透明通道;若要統計「非完全不透明像素」比例,建議用 Pillow 讀 getchannel('A') 做向量化統計,512×512 以上批量時較穩。
④ 失敗樣本回流與重跑
質檢的價值在於閉環:quarantine 內檔案應帶原因碼(SIZE_BYTES、NO_ALPHA、DIMENSION、NAME),報告內同一檔只保留最後一次狀態。
- 設計師依原因碼在源稿修正匯出參數,覆寫
quarantine同名檔或另存新檔。 - 將待重跑檔案移回
inbox(或執行qa-rerun.sh --from quarantine僅校驗該清單)。 - OpenClaw 或 CI 再次觸發;通過後從
quarantine刪除或歸檔至release,避免雙份。 - 每週檢視「重複失敗」檔名:若同一資產三次同錯,多半是規則與設計約定未對齊,應回頭改
qa-rules而非硬壓設計。
與 AI 輔助 PNG 審計 搭配時,可讓 OpenClaw 根據報告生成「建議匯出設定」草稿,仍須以腳本結果為準做 gate。
⑤ FAQ
如何判斷 PNG「應該」要有透明像素?
在規格表為每個資產類型標註 rgba 需求:UI 切圖、貼紙、去背商品圖通常需 alpha;全幅背景可允許不透明。腳本依母資料夾或檔名前綴選擇不同規則集即可。
透明像素校驗會不會很慢?
先做輕量檢查(色彩類型、是否有 alpha 通道),僅在規則要求時再做全圖掃描。遠端 Mac M4 上可將目錄拆片並行,或限制單次批次數避免與匯出進程搶磁碟。
監聽沒反應、腳本沒跑到怎麼辦?
依序查:路徑是否為監聽使用者可讀、是否跨磁碟導致事件遺漏、launchd 的 ThrottleInterval、以及防毒/同步軟體鎖檔。可先在終端機手動執行腳本確認規則檔與依賴(ImageMagick/Python)已就緒。
還有哪裡可延伸閱讀?
OpenClaw 安裝指南、應用場景;租用與計費請見站內 購買、定價、幫助(免登入)。