2026 OpenClaw Frontend-Praxis auf dem Remote Mac:
Preview-Deploy-URL per Webhook am Gateway, Lighthouse-CLI, Schwellen-JSON, Exit-Codes und PR-taugliche Kurzfassung — reproduzierbar verkettet
Zielgruppe: Teams mit OpenClaw-Gateway auf gemietetem Remote Mac, die vom Webhook zur PR-Zusammenfassung verkettet messen: signierter Hook, Lighthouse-CLI, Schwellen-JSON, Exit-Codes, Markdown für GitHub. Slug 2026-openclaw-remote-mac-preview-lighthouse-webhook.html. Mehr: Deployments + Lighthouse, Vercel Hook-Smokes, Predeploy Lighthouse. Startseite, Hilfe, Preise, Kaufen ohne Login.
Deploy-Webhooks liefern preview_url und Commit-Metadaten. Linux-CI spiegelt weder Apple-Compositing noch Safari/WebKit. Das OpenClaw-Gateway auf dem Remote Mac prüft Signaturen, normalisiert Payloads, startet Lighthouse-CLI, gleicht lhr.json mit Schwellen-JSON ab, mappt Regressionen auf Exit 2 und Infra auf Exit 3, und liefert eine PR-Kurzfassung per API.
Ergebnisbild. Eine HTTPS-Route, Artefakte unter .openclaw/reports/, gleicher Markdown-Text im PR oder deployment_status bei Deployments.
Drei Schmerzpunkte, die dieses Muster adressiert
- Unsignierte Hooks. Roh-
curlin die Shell erzeugt Replay-Risiko — kryptografische Prüfung gehört ins Gateway. - Nur Konsole. Roter Lighthouse-Lauf ohne GitHub-Sichtbarkeit führt zu blinden Merges.
- Ohne Budgetdatei. Ohne JSON und gepinntes Chromium oszillieren LCP und TBT; Alarme werden ignoriert.
01 Warum OpenClaw am Gateway den Preview-Hook empfangen sollte
OpenClaw terminiert TLS, erzwingt HMAC oder mTLS, begrenzt Clients, schreibt NDJSON. Bei Deployment-Webhooks von Vercel, Netlify, Pages oder CI: Signatur und Zeitfenster prüfen, Idempotency-Key deduplizieren, dann Lighthouse auf dem Mac — Tokens bleiben vom Rand fern. Gleicher Ingress für Predeploy-Lighthouse oder Build-Metriken.
Optional kurzer Safari/WebKit-Smoke auf demselben Host neben Chromium-Lighthouse; merge-blockierend nur nach Policy.
02 Entscheidungsmatrix: Gateway versus reines repository_dispatch
| Ansatz | Stärke | Kompromiss |
|---|---|---|
| OpenClaw-Gateway-Webhook | Zentrale Signaturprüfung, Normalisierung, Dedupe, Apple-Hardware für Lighthouse und WebKit. | Zertifikate, Rate-Limits und Monitoring selbst betreiben. |
Nur GitHub repository_dispatch |
GitHub-Auditierung ohne Extra-Dienst. | Mac-NDJSON und Warm-ups umständlicher, wenn Tokens nur in Actions liegen. |
03 Reproduzierbare HowTo-Schritte
- Hook veröffentlichen. HTTPS-Route auf dem Gateway mit HMAC-Secret; abgelaufene Zeitstempel hart ablehnen.
- Felder normalisieren. Provider-Felder auf
PREVIEW_URLmappen,GIT_SHAundPR_NUMBERvalidieren,OPENCLAW_RUN_IDminten. - Job einreihen. Datei unter
.openclaw/queue/;launchdoder Watcher gegen SSH-Aussetzer. - Preview erwärmen. Zwei GETs auf HTML und Haupt-JS mit Lighthouse-User-Agent; bei
429backoff. - Lighthouse-CLI starten. Beispiel:
pnpm exec lighthouse "$PREVIEW_URL" --only-categories=performance --output=json --output-path=".openclaw/reports/${OPENCLAW_RUN_ID}.lhr.json" --chrome-flags="--headless=new"; Chromium pro Release-Zweig pinnen. - Schwellen auswerten.
perf/thresholds.jsonvom Commit;verdict.jsonmit schlimmster Metrik zuerst. - Exit-Codes.
0ok,2Regression,3Infra nach Retry bei Timeout oder TLS. - Digest posten. Vorlage füllen, PR oder Deployment-Status, NDJSON
phase=preview_lighthouse.
set -euo pipefail
test -n "${PREVIEW_URL:-}" && test -n "${GIT_SHA:-}" || exit 3
# openclaw-hook-verify --secret "$HOOK_SECRET" --body "$RAW_BODY" --sig "$SIG_HEADER" || exit 3
04 Schwellen-Tabelle, JSON und Exit-Codes
| Metrik | Beispiel-Budget | Aktion bei Verletzung |
|---|---|---|
| Performance-Score | >= 0,85 mit Mobile-Preset |
Exit 2; Delta gegen Baseline-Artefakt nennen. |
| LCP / CLS / TBT | LCP <= 2500 ms, CLS <= 0,08, TBT <= 200 ms |
Exit 2; schlechteste Metrik zuerst im PR-Text. |
| Navigations-Timeout | maxWaitForLoad <= 45000 |
Einmal wiederholen, dann Exit 3, damit Merge-Queues Regression und Kaltstart trennen. |
{
"performance": { "minScore": 0.85 },
"metrics": {
"largest-contentful-paint": { "maxNumericValue": 2500 },
"cumulative-layout-shift": { "maxNumericValue": 0.08 },
"total-blocking-time": { "maxNumericValue": 200 }
}
}
Exit 0 alle Budgets. Exit 2 Merge blockieren. Exit 3 Infra oder Auth — Ops statt Review-Urteil.
GitHub kürzt Status- und Kommentartexte aggressiv; unter vier Kilobyte bleiben und mobile Ellipsen im Kopf behalten.
Rohes lhr.json und Screenshots in Artefakte oder Objektspeicher; PR-Text nur Kurzfassung plus Link mit kurzer TTL.
Chromium pinnen; OPENCLAW_RUN_ID in Pfaden und NDJSON konsistent; Safari-Smoke eine Zeile im PR-Fuß.
05 Vorlage für die PR-lesbare Zusammenfassung
Identischen Text auf deployment_status spiegeln; keine Secrets im Fließtext.
### OpenClaw · Lighthouse-Preview-Gate
- **Lauf** `OPENCLAW_RUN_ID` @ `GIT_SHA` auf Remote Mac (Chromium gepinnt)
- **URL** `PREVIEW_URL`
- **Scores** Performance **{{score}}** (Δ {{delta}} zur Baseline)
- **Metriken** LCP **{{lcp}} ms**, CLS **{{cls}}**, TBT **{{tbt}} ms**
- **Urteil** {{pass_or_fail}} — Rohdaten `.openclaw/reports/{{run}}.lhr.json`
- **WebKit** {{webkit_smoke_kurz}}
06 FAQ: HTTP 403, Timeouts, doppelte Hooks
Warum liefert Lighthouse HTTP 403?
Deploy-Schutz, Geo oder fehlende Authorization blockieren Headless-Chrome. Header wie in Hook-Smokes; Mac-IP allowlisten; Token nur per Secret — nicht im PR.
Wie entscheide ich flaky Timeouts?
Einmal wiederholen, --max-wait-for-load leicht erhöhen, dann Exit 3 für Infra statt Regression.
Wie verhindere ich doppelte Provider-Hooks?
Idempotency-Key: ${GIT_SHA}:${OPENCLAW_RUN_ID}:lighthouse erzwingen; bei existierender Queue-Datei überspringen.
Dieselbe Apple-Silicon-Hardware, auf der Ihre Gates laufen
Startseite, Hilfe zu SSH und VNC, Preise vergleichen und mieten oder kaufen — ohne Anmeldung. Zurück zum Technik-Blog-Index für weitere OpenClaw-Playbooks.