步驟清單(最小可複現)
- 固定對外 URL。在 Monday 建立 Webhook 時只填一個
https://網關路徑;擴節點不改 URL,拓撲見 多節點部署指南。 - 實作 challenge。
POST本文若含challenge,立即回200且 JSON 內含相同欄位,否則 Monday 不會啟用 Webhook。 - 選鑑權策略。正式環境優先:以整合應用建立 Webhook,驗證
Authorization之 JWT 與應用 Signing Secret;過渡期可於 URL 路徑加入高熵密鑰並在網關比對。 - 正規化入佇列。解析
board_id/pulseId(item)/欄位與事件類型,寫入共享佇列與idempotency_key,持久化成功後才回200。 - 節點回報。各 MeshMac 節點完成階段時帶
mesh_node_id送內部事件;僅網關對 IM/儀表廣播,避免多機重複。 - 失敗摘要。建置失敗時由網關以 GraphQL 在該項目「更新」區塊寫入兩三行摘要(含
build_id、結束碼、日誌連結),細日誌進集中儲存。 - 權杖輪替。Monday API 權杖採雙讀重疊二十四至七十二小時後汰舊;密鑰檔
0440、目錄不可列。
Monday 出站簽章/鑑權設定
Monday 與常見「原始本文 HMAC」模型不同:啟用時以 challenge 證明你控制 URL;執行期若 Webhook 係透過開發者中心整合應用並以 OAuth/應用權杖建立,部分請求會帶 Authorization JWT,可用應用Signing Secret驗簽,較利於審計與偽造防護。若暫無應用封裝,請至少使用不可猜測的路徑或查詢密鑰,並在邊界 WAF/速率限制收斂來源;勿依賴「僅隱藏 URL」作為唯一防線。
網關實務順序:先判斷 challenge 並回傳→ 非 challenge 則驗 JWT 或路徑密鑰→ 通過後才解析 JSON。驗證失敗回 401,日誌僅記錄 delivery 相關去識別欄位。權杖保管採密鑰目錄最小權限與雙讀輪替,實作對齊 權杖輪替綁定。
網關接收路由
將 Monday 事件對應成節點可執行的正規化任務(儲存庫、ref、腳本目標、配額標籤)。網關維護路由表:例如「狀態欄變為 Build」才入佇列,其餘快速 200 略過,降低噪音與重放成本。扇入時為 Webhook 預留連線與併發上限,並為網關設定限流與工作階段上限,避免尖峰拖垮 SSH/代理健康檢查。
僅網關持有 Monday 寫入權杖;節點只 dequeue、建置、回報。與「每機直連 Monday」相比,可集中稽核、統一退避,並避免多節點同時把 429 打滿。
多節點狀態合併模板
由網關組單一模板對外(Slack/Teams/內部儀表或 Monday 訂閱頻道),欄位建議固定:build_id、pulse_id、board_id、mesh_node_id、status(queued/running/succeeded/failed)、duration_ms、exit_code、截斷 log_tail。冪等鍵可用「項目+流水號+狀態」或 Monday 事件 id,避免同一狀態重複廣播。多節點並行時以聚合規則決定何時從 running 切到 succeeded(例如全部分片完成),避免單節點先報成功造成誤判。
失敗退避與最小權限
GraphQL 寫「更新」或欄位變更時,遇 429 應遵守 Retry-After,否則指數退避加抖動(約一至三十秒起跳),單鏈路重試三至五次並設上限;同一 build_id 的失敗摘要由網關去重後只寫一次。401 視為憑證或範圍問題:先檢查 OAuth/API 權杖與 board 範圍,完成輪替後再試,切勿對 401 無限迴圈。權限上僅授予「讀取觸發欄位+寫入指定更新欄/更新區塊」所需 scope,與 CI 讀儲存庫憑證分離;佇列側重試節奏應與網關出站退避一致,避免雙重放大。
安全說明
- 分流入站/出站:Webhook 鑑權與 GraphQL 權杖生命週期分開管理,避免一鑰多用。
- 邊界預設拒絕:網關 listener 與除錯埠分離;對外公開路徑白名單化,其餘 fail-closed。
- 稽核:保留請求 id、路由決策與重試結果;勿在錯誤頁回顯完整 payload。
- 供應鏈:釘選 OpenClaw 與 Node LTS 版本,變更單附雜湊;網關組態以
doctor/validate --strict --json驗收並維持 fail-closed 預設。
與遠端 Mac 穩定在線
Webhook 再穩,若節點頻繁掉線仍會造成排程錯覺與重試風暴。請將網關與建置池納入同一套可觀測性:延遲、重連、佇列深度與磁碟水位一併告警;接入層可參考 小團隊遠端 Mac 穩定性/延遲/重連驗收清單,把「Monday 觸發了」與「Mac 真的跑完」對齊在同一儀表。
下一步(僅公開頁)
下列皆免登入公開頁:幫助中心、OpenClaw 專欄、購買/套餐、首頁。若要在 MeshMac 上擴充併發槽,建議先在套餐頁對齊地域與配額,再分離「網關/通知面」與「建置機」角色。
用可驗收的網關路徑,把看板事件變成穩定建置與回寫
專案負責人可直接在公開方案頁比對節點與地域;幫助中心涵蓋連線與權限;OpenClaw 專欄補齊多節點與限流主題。準備好要落地時,前往購買/套餐即可開通,無需事先註冊瀏覽。