OpenClaw · GitHub Deployments API · Lighthouse · 遠端 Mac · Webhook · 2026

2026 OpenClaw 前端實戰:
遠端 Mac 網關對接 GitHub Deployments——Lighthouse 回歸、閾值判定與 PR 可讀摘要

2026.04.22 前端/發布閘道 約 10 分鐘閱讀

適用對象:已在遠端 Mac上跑 OpenClaw,希望在 GitHub 裡用與託管商無關的一條時間線交代「預覽是否回退」,又不想把過大權杖交給自動化的團隊。本文為 HowTo:串起簽章 WebhookDeployments APILighthouse 數值閾值,以及PR 留言摘要。固定單檔 slug(禁止多段目錄):2026-openclaw-remote-mac-github-deployments-lighthouse.html。建議併讀 Lighthouse 效能告警步驟發佈前 Lighthouse 與連結衛生Vercel Deployment Hook 冒煙建置度量 PR 摘要

預覽網址變動快:冷快取、鑑權 Cookie、HTTP/3 協商在容器 CI 與真實桌面瀏覽器之間並不一致。租用的遠端 Mac能穩定 GPU 合成、字體彩現,以及設計師實際使用的 Safari 或 Chromium 通道,同時仍把自動化留在供應商 PaaS 控制台之外。多數團隊缺的反而是裁決要落在 GitHub 哪裡:PR Checks 精準但對非工程職能偏吵;Deployment 列較沉著,且能對齊 environment_url。OpenClaw 擔任編排器:驗收簽章 Webhook、建立或續用 deployment、在機上跑 Lighthouse、比對閾值,最後翻轉 deployment_status,並把同一段 digest 鏡像到 PR。

完成的樣貌:檢閱者看到名為 preview/lighthouse 的 deployment 由 pending 變成 successfailure,附約四行摘要;可選地在 PR 留言貼上相同文字。重送不洗版:冪等鍵放在網關統一強制,而非散佈在各腳本副本。

01 聯動模型:Webhook、Deployment 與狀態

把 Webhook 視為意圖,Deployment 物件視為關聯 iddeployment_status 視為人讀狀態。Vercel、Netlify、Cloudflare Pages 或 Actions 已證明「提交到了邊緣網址」;Mac 上的 OpenClaw 則證明使用者可感知的效能包絡仍成立。欄位命名建議與 Token 可觀測與 E2E 摘要對齊,讓網關計數與 Lighthouse 耗時共用 OPENCLAW_RUN_ID tuple。

訊號 最適合 常見坑
版本庫 Webhook repository_dispatch 等載荷帶 preview_urlpr_number 叫醒 Mac 任務。 無冪等時重播會複製多筆 deployment。
Deployment + status 單列對齊單一提交/環境,pending→success/failure 語意清楚。 環境名稱與本番混用會讓稽核與回滾敘事變難讀。
PR 留言 給從不開 Deployments 分頁的審核者可搜尋敘事。 把祕鑰或長效簽章網址貼進留言正文。

02 可複現 HowTo 步驟

  1. 凍結識別碼。匯出 GIT_SHAPREVIEW_URLPR_NUMBERREPOowner/name)、OPENCLAW_RUN_ID,以及選用的 BASELINE_REF 供中位數查表。
  2. 建立 Deployment。POST /repos/{owner}/{repo}/deploymentsref 為提交 SHA,environment 建議 preview/lighthouse,metadata JSON 帶 OPENCLAW_RUN_ID;保存 deployment.id
  3. 送出 pendingPOST /deployments/{id}/statusesstate=pending,描述例如 remote-mac: warming preview
  4. 暖站。自 Mac 對 PREVIEW_URL 做兩次冪等 GET(HTML+主 JS),User-Agent 與 Lighthouse 一致;遇 429 短暫 sleep。
  5. 跑 Lighthouse。CLI 或 LHCI 並固定 Chromium;將 lhr.json 寫入 .openclaw/reports/${OPENCLAW_RUN_ID}.lhr.json
  6. 閾值裁決。解析效能分數、LCP、CLS、TBT,與庫內 perf/baselines.json 或滾動中位數工件比對(精神同 告警閾值)。
  7. 更新 deployment 狀態。POST successfailure:僅列數值差異,不貼 Cookie。可設 environment_urlPREVIEW_URLlog_url 指向短效簽章物件路徑。
  8. 鏡像到 PR。對該 PR 發表 issue comment,正文與 deployment 描述一致,維持時間線真值。
  9. 冪等。要求客戶端送 Idempotency-Key: ${GIT_SHA}:${OPENCLAW_RUN_ID}:lighthouse,避免雙重 Webhook 分叉 deployment。
  10. NDJSON 收口。追加一行 phase=lighthouse_githubdeployment_idverdictduration_ms,後續可與 Service Worker PR 摘要橫向對照。
# 網關在呼叫 GitHub 前應強制的標頭範例
curl -H "Authorization: Bearer ${GITHUB_TOKEN}" \
     -H "Accept: application/vnd.github+json" \
     -H "X-GitHub-Api-Version: 2022-11-28" \
     -H "Idempotency-Key: ${GIT_SHA}:${OPENCLAW_RUN_ID}:lighthouse" \
     https://api.github.com/repos/${REPO}/deployments
可引用要點

Deployment 描述請控制在約 4 KB 內;GitHub 會積極截斷,行動版介面亦會提早省略。

03 權杖最小權限

傳統 PAT 一次給滿 repo 在共用實驗室長駐 Mac 上風險過高。優先選僅限單庫的細粒度 PAT,或每次任務簽發的 GitHub App 安裝權杖

權限 Mac 端用途 應避免
Contents:Read checkout 或抓取與同提交對齊的閾值/baseline 檔。 除非 Runner 必須回寫 baseline,否則勿給 Write;可拆角色。
Deployments:Read and write 建立 deployment 並寫入 deployment_status 遷移。 整組織共用、跨數十庫的管理員權杖。
Pull requests:Write 發表 PR 可讀 digest 留言。 可合併或改分支保護的機器人權杖重用。
Metadata:Read 細粒度權杖預設;稽核請寫到自家日誌管線。 把 PAT 編進前端 bundle 或預覽頁腳本。

祕鑰放 OpenClaw 網關或 macOS 鑰匙圈;切勿寫進 Lighthouse HTML 報告。輪替週期應短於最長壽命的預覽網址。

04 排錯

  • Deployments 404確認 PAT/App 看得到該庫;細粒度權杖若未勾選資源清單中的庫,會「靜默」失敗。
  • 同一提交重複 deployment。在伺服器端對 (environment, ref) 去重,或先用 list API 取回既有 deployment.id 再續跑。
  • 本機綠燈、預覽紅燈。常為缺少測試 Cookie 或地理標頭——只透過環境變數注入測試憑證,勿寫進 PR 正文。
  • LCP 暴衝。固定 Chromium、關閉 Mac 上無關背景程式,並以最近三次綠燈的中位數對照,而非單一黃金常數。
  • 留言洗版。以隱藏 HTML 註解 <!-- openclaw-lh:${GIT_SHA} --> 作為 upsert 鍵,若留言為自家 bot 所擁有,可用更新端點覆寫同一則。

Lighthouse 之後若要接雙引擎冒煙,可鏈式套用 發佈前 Web 冒煙E2E 日誌分類,讓失敗類型維持可搜尋。

05 FAQ

為何不只用 GitHub Actions 工件?

工件服務工程師,但對主管隱形。Deployment 列帶著環境網址,在手機上也好讀;請把原始 lhr.json 放工件,把裁決放 deployment_status。

Safari 能寫同一套 deployment 狀態嗎?

可以——把驅動改成 WebKit 指標,但保留同一 deployment.id 與冪等鍵,儀表板才不會依瀏覽器分叉。

需要 admin:repo_hook 嗎?

若版本庫層級已配置 Webhook,Mac 任務通常不需要;Runner 需要的是 deployment 與 pull request 範圍,加上網關端對 Webhook 簽章的驗證。

遠端 Mac · OpenClaw · 免登入導覽

用最小權杖把效能閘道寫進 GitHub 時間線

歡迎先免登入瀏覽 首頁定價幫助中心;需要專屬節點承載 Lighthouse 與 Playwright 時,請至 購買/租用 取得 Mac 雲端資源。延伸閱讀 Vercel Hook 冒煙發佈前 Lighthouse,或回到 技術見解索引 挑選下一篇 Runbook。

Deployments API Lighthouse 最小權限
租用遠端 Mac · Lighthouse 閘道