OpenClaw · Playwright · trace · HAR · удалённый Mac · 2026

2026 OpenClaw — фронтенд на практике:
удалённый Mac: trace.zip Playwright и HAR — сводка минимального воспроизведения обратно в PR

09.04.2026 Платформа и релиз 9 мин

Падения E2E перестают быть «магией», если цепочка одинакова на каждом SHA: Playwright trace.zip, усечённый HAR и OpenClaw на удалённом Mac для pr_min_repro_summary.md — URL, шаги, запрос, браузер. HowTo: экспорт trace, распаковка полей, обрезка HAR, Markdown, опционально комментарий в PR или webhook без SSO-консолей. Ещё: логи E2E, Docker + Playwright, автофиксы, source map → PR.

Три типичных узких места

  1. Разный режим trace у локальной машины и CI — ревьюеры получают несопоставимые архивы и спорят о версиях.
  2. Сырой HAR в чат или PR — риск утечки cookie и токенов вместе с лишним шумом аналитики.
  3. Зависимость от GUI viewer на headless-воркере — автоматизация ломается, пока кто-то не открыл trace вручную.
Источник сигнала Когда достаточно Риск для PR
Только trace.zip Сценарий кликов и тайминги DOM Без HTTP-цепочки ревьюеру сложнее связать UI с API
trace + усечённый HAR Ошибки загрузки и статусы рядом с шагами Нужна дисциплина редактирования секретов и размера
Только логи job Быстрый сигнал «упало» Низкая воспроизводимость без артефактов

01 Параметры экспорта trace: согласовать CI и Mac

В playwright.config зафиксируйте use.trace: on для коротких веток, retain-on-failure или on-first-retry для шумных suite. Согласуйте screenshot и video со сводкой: если скрин только при падении — напишите это в подвале pr_min_repro_summary.md.

CLI документируйте флагами и каналом браузера; вывод — .openclaw/reports/<git-sha>/traces/ на удалённом Mac. Рядом run_meta.json: репозиторий, SHA, версия Playwright, base URL, способ авторизации без секретов. См. Playwright и Safari на удалённом Mac.

Автоматизация обязана извлекать текст и сеть без GUI trace viewer — тогда headless-раннер и ноутбук инженера взаимозаменяемы.

02 Распаковка trace.zip и извлечение полей

После unzip или потоковой распаковки: действия из trace.trace, сеть из trace.network, ошибки консоли по индексу шага. В trace_signals.json: финальный URL, вьюпорт, ошибка навигации, шаги по порядку, id шага с assert, до двадцати сетевых строк.

Нормализуйте URL: уберите session id из query, схлопните порты, localhost замените на имя сервиса из документации. Оставьте вкладку с падением, фон без критического трафика отбросьте.

Гигиена

Не копируйте storageState, cookie и фрагменты JWT в JSON для OpenClaw. Опишите механизм: «вход тестового пользователя через секрет CI», без значений.

03 Обрезка HAR: минимум байт, максимум смысла

HAR из контекста Playwright даёт HTTP-доказательство параллельно trace. Сырой файл опасен и шумен. Пропустите его через детерминированный пайплайн:

Правило Зачем
Оставить origin и префикс пути фичи Редиректы и API без доменов аналитики
Удалить Authorization, Cookie, проприетарные заголовки Нет утечек в PR и мессенджеры
Усечь тела ответов для 200, оставить суть для 4xx/5xx Меньше размер, читаемость на телефоне
Лимит записей после сортировки по времени Укладываемся в лимит webhook и мобильный diff

Сохраните repro.har.trimmed.json рядом с trace_signals.json. При ретраях оставьте HAR, чьё время совпадает с неудачной попыткой в метаданных trace.

04 Шаблон OpenClaw: pr_min_repro_summary.md

OpenClaw заполняет слоты из JSON: Сборка, Окружение, Шаги из trace, Сеть (3–6 строк), Артефакты в хранилище без голых публичных URL. Входы: trace_signals.json, repro.har.trimmed.json, run_meta.json. Выходы: pr_min_repro_summary.md, status.txt для гейтов.

  • Лимит: до ~400 слов для мобильного GitHub и Slack.
  • UI + HTTP: «Отправить счёт» рядом с «POST /api/invoices → 409».
  • Те же правила комментариев, что в визуальной регрессии и a11y → PR.

05 Опционально: комментарий PR, CLI или webhook

Минимальный scope, идемпотентность, без секретов в теле. GitHub: gh pr comment или PAT на репозиторий; скрытый маркер <!-- openclaw-min-repro-sha:… -->, job обновляет комментарий.

POST во внутренний шлюз:

curl -sS -X POST "$MIN_REPRO_WEBHOOK_URL" \
  -H "Content-Type: application/json" \
  -d "$(jq -n --rawfile body pr_min_repro_summary.md --arg sha "${GITHUB_SHA:-}" '{text: $body, sha: $sha}')"

Дебаунс по SHA, backoff на 429, ошибки в status.txt. Запрет HAR — в PR только Markdown, бинарники в bucket.

06 FAQ по сбоям

Шаги в trace пустые: проверьте квоту диска, контекст браузера и совпадение версии Playwright между ноутбуком и Mac worker.

В HAR только opaque или CORS: объедините сигналы консоли и навигации из trace и укажите, использовался ли page.request.

401 у webhook: ротация подписи, allowlist IP, проверка экранирования Markdown внутри JSON.

Дубли комментариев: поиск по маркеру или lockfile в .openclaw/reports/<sha>/ перед POST.

Итог

Закрепите режим trace и каталоги на SHA, извлеките trace_signals.json, спарьте с repro.har.trimmed.json, отдайте разметку pr_min_repro_summary.md через OpenClaw и передайте в Git теми же токенами и webhook-паттернами, что и остальные отчёты. Удалённый Mac держит тяжёлые архивы, длинные прогоны и рядом WebKit без превращения ноутбуков в файловые серверы.

Главная, тарифы, покупка без обязательного входа, помощь и SSH/VNC. Ещё материалы: визуальная регрессия → PR, axe-core → PR, все статьи блога.

Удалённый Mac · trace · HAR · OpenClaw

Гоняйте разбор trace и HAR круглосуточно рядом с Safari

Арендуйте Mac mini M4 под распаковку trace, редактирование HAR и сводки в PR. Тарифы, помощь, покупка без входа, главная — выберите регион и оформите заказ, когда будете готовы.

trace.zip HAR OpenClaw
Mac для trace и OpenClaw