💡 給要把特性開關變更接上依賴門禁的平台工程師:openclaw@2026.5.x+Node 24、npm -g、onboard --install-daemon、gateway status/doctor;LaunchDarkly Webhook 的簽章、最小權限權杖、二四八…秒退避;合併閘道健康與預檢為單一 PR 摘要。選題聚焦旗標驅動預檢,與 GitOps 網鉤文不同。延伸:Node 24 回滾、status/doctor、環境合併、首頁、定價。

痛點拆解:為何旗標一變更就要預檢依賴

(一)旗標耦合後端時,單測難覆蓋真實解析路徑與鎖檔。(二)遠端 Mac 與託管 Runner 並存時,快取鍵/鏡像不一致易「本地綠、遠端紅」。(三)未驗簽或權杖過寬會留下偽造事件與稽核空洞。

暴露策略決策矩陣:僅回環對照 SSH 隧道

模式適用情境安全要點維運成本
閘道綁定 127.0.0.1Webhook 消費者與 Mac 同機或同 Pod 網路必配 OPENCLAW_GATEWAY_TOKEN,拒絕匿名低;需確保事件來源能打到該埠
SSH 本地埠轉發LD 管理平面在另一 VPC,僅允許堡壘轉送金鑰輪替、AllowTcpForwarding 審核、限來源 IP中;隧道斷線要自動拉起
(不建議)公網直連閘道—攻擊面大,與 fail-closed 原則衝突高風險

實務多採同機回環 handler+內部轉發滿足 LD 出站,避免對外敞開 18789。

環境準備與版本鎖定

Node 24 LTS 對齊 2026.5.x;npm install -g openclaw@2026.5.x 釘版後跑 openclaw doctor,確認 PATH、守護與設定無告警,再寫 Webhook 路由。

node -v   # 預期 v24.x
npm install -g openclaw@2026.5.x
openclaw doctor
openclaw onboard --install-daemon
openclaw gateway status

閘道 loopback 與 SSH 隧道暴露二擇一

同機則閘道綁 127.0.0.1,外層只做 HTTPS 與驗簽。跨主機可用 ssh -L …:127.0.0.1:18789 轉發並限來源 IP;隧道用 autossh 或 launchd 自動重連。

Webhook 路由與簽章驗證(含最小權限權杖)

以 raw body 做 HMAC-SHA256(signing secret),比對採常數時間。OPENCLAW_GATEWAY_TOKEN 僅供閘道探針;回寫版控另用窄權 PAT/OAuth。

# 偽程式:驗簽通過後才觸發預檢
# expected = HMAC_SHA256(signing_secret, raw_body)
# 比對 LaunchDarkly 傳入之簽章標頭;失敗則 401 並記錄 request id

合併健康探針輸出為單一 PR 摘要

以 set -euo pipefail 串 gateway status、doctor 節錄與依賴預檢,tee 至 summary.txt,成敗同一版面便於 PR/Checks 解析。外呼限流時退避 二、四、八、十六、三十二秒共五輪(約六十二秒內),仍失敗則標待人工。

可複現步驟清單(教程向)

1

鎖版本:安裝 Node 24 與 openclaw@2026.5.x,將版本寫入 Runbook 與映像層標籤。

2

守護:執行 openclaw onboard --install-daemon 後以 openclaw gateway status 驗證 PID 與埠。

3

暴露:選回環或 SSH 隧道其一,禁止無 Token 的寬鬆監聽。

4

Webhook:設定 LD 端點 URL,伺服器端驗 HMAC;拒絕舊時間戳事件。

5

預檢:觸發後跑依賴解析/lockfile 檢查,退出碼非零即標示失敗摘要。

6

合併:tee status、doctor、預檢日誌為產物。

7

回寫:窄權 POST;退避二→三十二秒最多五輪。

可引用資訊(寫進門禁規格)

(一)埠 18789 僅內部參考,須經代理或隧道才對外。(二)sleep $((2**n))、n=1…5;HTTP 讀取逾時建議六十至一百二十秒。(三)摘要含事件類型、專案/環境鍵(去敏)、預檢退出碼。

常見 401/408 排障 FAQ

閘道回 401,doctor 卻顯示正常?

常為未帶 Bearer 或變數未注入該步驟;於同一 shell 匯出後再跑 gateway status。

Webhook 驗簽失敗要優先查什麼?

代理改寫 body 會破壞 HMAC;改對原始位元組驗簽並核對 secret 與環境。

408 與間歇性逾時如何收斂?

拉長讀取逾時、設 SSH keepalive,並將退避上限寫入門禁避免無限重試。

總結:Node 24+openclaw@2026.5.x,doctor→驗簽→回環/隧道→合併 status 與預檢。免登入:部落格、購買、說明、定價、首頁。

遠端 Mac × OpenClaw 閘道 × 功能旗標驅動 CI

租用 Apple Silicon 節點,穩定承載 Webhook 與依賴預檢

下列為站內免登入公開頁,協助您選節點、下單與排查 SSH。