2026 OpenClaw 前端實戰:
遠端 Mac 解析 trace.zip 與 HAR,自動產出最小複現摘要回傳 PR
前端與 QA 在 遠端 Mac 跑 Playwright 失敗時,聊天串常缺一致敘事。本文給可複製管線:將 trace.zip 與裁剪 HAR 轉成機讀摘要,OpenClaw 產出 pr_minrepro_summary.md 回傳 PR(可選 Webhook)。延伸:Playwright E2E、日誌分診、Source Map PR 摘要(權限與冪等)。
01 trace 匯出參數與工件約定
痛點一:預設關閉 trace,失敗後只剩截圖,無法還原點擊順序與網路時間線。痛點二:全量 trace: 'on' 讓 CI 工件暴肥,上傳逾時。
建議 trace: 'on-first-retry' 或 'retain-on-failure',搭配 screenshots/video 與 timeout;可用環境變數在 nightly 開完整 trace。失敗時 trace.zip 落在固定路徑並附 manifest.json(SHA、Node、Playwright、瀏覽器通道)。WebKit 對照見 Safari × Playwright 遠端驗收。
02 解壓與關鍵欄位擷取
於 runner 解壓 trace.zip,勿將整包提交 PR。擷取:測試標題、錯誤與堆疊摘要、失敗前後數步動作與選擇器、相關 network 索引;寫入 minrepro_trace.json(含 schemaVersion)供 OpenClaw 讀取;zip 上傳工件儲存即可。
① Playwright trace 與測試執行器版本應鎖定同一 semver 大版本,避免 Viewer 解析失敗。② 單次失敗擷取欄位建議控制在數十 KB 級 JSON,利於 PR 內嵌。③ 將「步驟序號/時間戳」一併寫出,方便與 HAR 條目對齊。
03 HAR 裁剪與去敏
匯出 HAR 1.2 後依失敗時間窗與 host 白名單裁切;移除 Authorization、Cookie、Set-Cookie 與識別性查詢參數;大 response 可只留狀態碼與 content-type。minrepro.har gzip 上傳工件,PR 內僅摘要表。
| 工件類型 | 最適用途 | PR 內建議呈現 |
|---|---|---|
| trace.zip(完整) | 互動重播、DOM/網路時間線 | 連結至工件;正文附 minrepro_trace.json 摘要 |
| 裁剪 HAR | 後端延遲、狀態碼、CORS 疑難 | 條目計數、關鍵 URL 清單、去敏聲明 |
| 純主控台文字 | 快速複製錯誤字串 | 仍建議與 trace 時間線互相引證,避免斷章取義 |
04 OpenClaw 模板產出 Markdown 摘要
模板讀 minrepro_trace.json 與 HAR 統計,輸出 pr_minrepro_summary.md:環境矩陣、編號複現步驟(對齊 trace 序)、網路/斷言現象、假設(標非事實)、複測指令。模板納版控以便 diff。
06 排錯 FAQ
Viewer 無法開 zip?對齊 Playwright 版本後 npx playwright show-trace;自動摘要可只讀 JSON 欄位。
HAR 過大?縮窗、刪 base64、只留失敗鏈,改工件連結。
摘要失真?模板限定字面量來自 JSON/HAR,CI schema 驗證後再發佈。
API 403?查權杖範圍與 fork;勿在不可信 PR 暴露寫入權杖。
trace 參數化匯出 → 解壓 JSON 化 → 裁剪去敏 HAR → OpenClaw 模板產 Markdown → 冪等留言或 Webhook;避免大檔與祕密進正文。需穩定 Apple Silicon/WebKit 可租用 MacWww 節點。
05 (可選)PR 留言或 Webhook 回傳
允許時以儲存庫權杖 REST 更新單一則留言,HTML 註解冪等(如
<!-- openclaw-minrepro:$SHA -->)。否則 POST Markdown 至 Webhook 由受信服務代寫。429/5xx 指數退避;勿內嵌 SSO 儀表板深鏈。