Content-Studios und Teams für Design-Ablieferung versenden täusende PNGs. Ohne strukturierte PNG-QA entstehen Halos in Produktion, aufgeblähte CDNs und Dateinamen, die CMS-Importe brechen. Dieses Tutorial liefert ein wiederholbares Muster: Metriken definieren, OpenClaw auf einem Remote Mac orchestrieren, Batch-Validierung über transparente Pixel und Größen-Gates fahren und Fehlerfälle so lange zurückspielen, bis der Batch sauber ist. Kernbegriffe: OpenClaw, PNG-QA, transparente Pixel, Batch-Validierung, Remote Mac.
Inhalt
Definition der QA-Metriken (Dateigröße / Transparenz / Abmessungen)
QA ist ein Vertrag zwischen Design-Export und nachgelagerten Systemen. Legen Sie die Regeln einmal in einer kleinen Konfiguration (YAML oder JSON) fest und vergleichen Sie bei jedem Lauf dieselben Zahlen – das ist die Basis für skalierbare Asset-Governance.
- Dateigröße (Bytes): Pro Asset-Klasse
max_bytessetzen. Beispiel-Schwellen: Icons und Glyphen≤ 150 KB, volle Web-Hero-Grafiken bei2×unter1,5 MB, Splash-Art unter4 MB. Protokollieren Sie immer Rohgröße und Abmessungen, damit Designer erkennen, ob das Problem Auflösung oder Kompression ist. - Transparenz / Alpha: Pro Klasse festlegen: straight Alpha erforderlich, kein Alpha (flache Marketing-Stillleben) oder minimale nutzbare transparente Fläche (z. B. Sticker-Ausschnitte). Für transparente Pixel sind typische Regeln: höchstens
0,1 %vollständig transparenter Pixel innerhalb der nicht maskierten Bounding Box (Streulöcher), kein halbtransparenter „Staub“ unter Deckkraft8/255außerhalb vonNpx am Rand, und verpflichtender Alpha-Kanal für UI-Overlays. - Abmessungen:
min_w,max_w,min_h,max_hund optionalmodulo(z. B. Breite durch8teilbar für Video-Overlays). Ungerade Höhen für bestimmte Ad-Slots ablehnen. DPI nur einbeziehen, wenn Druck im Scope ist; fürs Web zählen Pixelmaße mehr als DPI-Metadaten. - Namenskonvention: Ein einheitliches Regex erzwingen, z. B.
^[a-z0-9]+(?:-[a-z0-9]+)*__w[0-9]+h[0-9]+\.png$oder Ihr internes Musterprojekt_komponente_status.png. Leerzeichen, Doppel-Extensions und unerwartetes Unicode ablehnen, sofern Ihr CMS nicht ausdrücklich mehr erlaubt.
qa_rules_version im Manifest erhöhen, damit historische Fehlerfälle filterbar bleiben.
Schritte zur OpenClaw-Aufgaben-Orchestrierung
OpenClaw eignet sich am besten als Koordinator: Er triggert Shell-Skills, parst Logs und holt Menschen nur dann ins Boot, wenn die Automatisierung stoppt. Auf einem Remote Mac Pfade absolut halten und iCloud-gestützte Desktop-Ordner meiden.
- Eingänge stagen: Designer oder CI kopieren PNGs nach
~/qa_jobs/{job_id}/inbox/. Optional ein Watch-Folder (fswatchunter macOS), der einen Job einreiht, sobald der Ordner stabil ist (z. B.30 skeine neuen Dateien). - Normalisieren: Erster Schritt: bei Bedarf auf kanonischen Scratch-Namen umbenennen, Extension prüfen, Nicht-PNG anhand der Magic Bytes ablehnen.
- Validatoren ausführen: Pro Thema ein Skript (Größe, Alpha, Maße, Name) oder ein Treiber, der die Konfiguration liest. Jede Prüfung beendet mit Exit-Code ungleich null und maschinenlesbarer Zeile, z. B.
FAIL\talpha_dust\tdatei.png. - Aggregieren: OpenClaw (oder ein Wrapper) führt Ergebnisse in
report.jsonzusammen und entscheidet Pass/Fail für den gesamten Batch. - Benachrichtigen: Bei Fehler Manifest-Pfad nach Slack oder E-Mail; bei Erfolg nach
pass/verschieben und optional in Storage laden.
Watch-Folder-Skizze: Leichtgewichtigen Launcher unter launchd oder in einer tmux-Session betreiben, damit Neustarts SSH-Trennungen überleben. Der Watcher sollte Bursts entprellen – Export-Tools schreiben oft temporäre Dateien.
# Entprellter Watch (konzeptionell): wenn Inbox ruhig ist, QA-Treiber einmal starten
WATCH="$HOME/qa_jobs/demo/inbox"
fswatch -o "$WATCH" | while read; do
sleep 30
~/bin/openclaw-qa-run.sh --job demo --config ~/qa/rules.yaml
done
Ergänzend helfen unsere Artikel zur Watch-Folder-Pipeline und zur Mac-Installation & Batch-Validierung, falls Sie den Host noch verdrahten.
Skriptvorlagen & Parameterbeispiele
Nachfolgend kopierfähige Vorlagen. ImageMagick installieren (brew install imagemagick) für schnelle Alpha-Statistiken; Pillow nutzen, wenn pixelgenaue Regeln in Python nötig sind.
Bash: Maße + Byte-Größe
#!/usr/bin/env bash
set -euo pipefail
MAX_BYTES=1500000
MIN_W=64 MAX_W=4096
MIN_H=64 MAX_H=4096
for f in "$@"; do
read -r w h < <(magick identify -format "%w %h" "$f")
sz=$(stat -f%z "$f")
[[ "$sz" -le "$MAX_BYTES" ]] || { echo "FAIL\tsize_bytes\t$f"; continue; }
(( w >= MIN_W && w <= MAX_W && h >= MIN_H && h <= MAX_H )) || echo "FAIL\tdimensions\t$f"
done
Bash: Alpha-Kanal erforderlich (RGB-only ablehnen, wenn Overlay erwartet wird):
for f in "$@"; do
magick identify -format "%[channels]" "$f" | grep -q alpha \
|| echo "FAIL\tmissing_alpha\t$f"
done
Python: grober Anteil transparenter Pixel (THRESH anpassen; erfordert pillow):
#!/usr/bin/env python3
from PIL import Image
import sys
THRESH = 16 # Mindest-Alpha (0–255) für „sichtbar“
MAX_FRAC = 0.002 # max. Anteil vollständig transparent
for path in sys.argv[1:]:
im = Image.open(path).convert("RGBA")
a = im.split()[-1]
transparent = sum(1 for p in a.getdata() if p < THRESH)
frac = transparent / (im.width * im.height)
if frac > MAX_FRAC:
print(f"FAIL\ttransparent_ratio\t{path}\t{frac:.4f}")
Parameterbeispiele für rules.yaml:
icons:max_bytes: 120000,square: true,must_have_alpha: true,max_transparent_fraction: 0.0005hero_web:max_bytes: 1800000,width: [1920, 3840],height: [1080, 2160],must_have_alpha: false
Fehlgeschlagene Assets: Rückfluss & erneuter Durchlauf
Skalierung funktioniert nur, wenn Fehlerbehandlung langweilig vorhersagbar ist. Automatisieren Sie die Spur der Dokumentation.
- Verschieben statt löschen: Bei jedem
FAILdie PNG nachfailed/{job_id}/verschieben und eine JSON-Zeile anfailed/{job_id}/manifest.jsonlanhängen mitpath,rule,detailundqa_rules_version. - Menschliche Schleife: Designer öffnen das Manifest, korrigieren Quellen in Figma/Sketch/Affinity, exportieren neu und legen Ersatz in
inbox/. Dateinamen stabil halten, damit Diffs klar bleiben. - Erneuter Lauf: Dieselbe OpenClaw-Job-Konfiguration mit
--only failed_manifest.jsonlstarten (Ihr Wrapper liest Pfade aus der Datei). Manifest-Zeilen entfernen, sobald eine Datei besteht – so schrumpft die Warteschlange. - Regressions-Schutz: Ordner
golden/mit zehn bekannt guten PNGs bei jedem Skript-Deploy durch QA jagen. Schlägtgolden/fehl, Rollout blockieren.
Troubleshooting (kurz):
- Falsche Transparenz-Fails: Export mit premultipliziertem Alpha oder falschem Farbprofil – mit straight Alpha neu exportieren und bei Bedarf sRGB einbetten.
- Größen-Spitzen ohne sichtbaren Grund: Eingebettete Vorschau oder üppige Metadaten; optional
magick mogrify -stripin einem separaten Schritt (nur wenn Markenrichtlinien das erlauben). - Watcher feuert zu oft: Entprellzeit erhöhen oder
*.tmp/.DS_Storeignorieren. - SSH-Umgebung weicht ab: Unter nicht-interaktiven Shells
which magickundecho $PATHprüfen; in plist oder Launch-Konfiguration absolute Pfade setzen.
FAQ
Wie erkenne ich unerwünschte transparente Pixel in PNG-Batches?
Alpha-Histogramme messen oder Pixel unter einer Deckkraft-Schwelle zählen. Kombinieren Sie „zu viel Transparenz“ mit Bounding-Box-Masken, wenn Kunst am Rand hohl sein darf, innen aber nicht. Pro Asset-Klasse justieren, damit legitime Freisteller bestehen.
Welche Dateigrößen-Schwellen sind sinnvoll?
Von der letzten stabilen Release ableiten plus Puffer (z. B. 25 %). Icons und einfache Formen bleiben klein; detaillierte Illustrationen brauchen höhere Caps. Immer Maße neben Bytes loggen, damit klar ist, ob skaliert oder neu komprimiert werden muss.
Kann OpenClaw ein dediziertes DAM-QA ersetzen?
OpenClaw glänzt bei Batch-Validierung und Klebe-Code auf der Maschine neben den Exporten. Das DAM behält Taxonomie und Rechte-Metadaten – OpenClaw ist das schnelle Gate vor dem Upload.
Warum Remote Mac für diese Pipeline?
Gleiches Betriebssystem wie die meisten Design-Exporte, native sips-Werkzeuge, stabile Pfade und Headless-Kapazität für lange Läufe. Laptops bleiben frei, während schwere Passes woanders laufen.
Weitere Playbooks: PNG-Autonamensgebung & Batch-Validierung, Transparenz-Checkliste und KI-unterstützte PNG-Verarbeitung. Wenn Sie lange QA-Batches auf dedizierter Hardware fahren wollen, öffnen Sie unsere internen Seiten Jetzt mieten und Preise & Knoten – zeitlich begrenzt ohne Anmeldung einsehbar – und folgen Sie der SSH/VNC-Anleitung, um Ihren Remote Mac anzubinden.