HowTo · OpenClaw · Zulip Webhook · MeshMac · 多ノード · 構築通知

2026 OpenClaw MeshMac 実戦:Zulip Incoming Webhook で多ノード構築状態・失敗要約・トークンローテを最小再現する手順

2026年4月24日 Meshmac 読了目安 約5分

協働エンジニアリング責任者向け。OpenClaw 単一ゲートウェイが Zulip Bot で /api/v1/messages に集約し、MeshMac 多ノードはキューへ正規化イベントのみ。マルチノードデプロイタスクキュー同期最小権限保管 と同型です。

Zulip bot の準備

個人設定 → ボットで投稿用ボットを作り、メール+ API キーを取得(履歴に残さない)。ストリーム投稿が許可されていることを確認します。

【図①】 ボット作成・権限・キー直前(マスク)。

  1. 手順 1. #builds 等を用意しボットを購読可にする。
  2. 手順 2. 0440bot_emailapi_key をゲートウェイのみ読めるパスへ(IM トークンローテ と同型)。
  3. 手順 3. 疎通:curl -u "$(cat bot_email):$(cat api_key)" $ZULIP/api/v1/messagestype=stream 等を urlencode で付与し result: success を確認。

ゲートウェイの出站ホワイトリスト

ノードから Zulip へ直出さず、ゲートウェイ→組織 FQDN:443 のみ許可。プロキシは HTTPS_PROXYcurl 先検証(ゲートウェイ FAQ)。

【図②】 SG/FW のゲートウェイ→Zulip:443 ルール。

  1. 手順 1. ビルド Mac の外向き 443 は閉じ、成果物の出口は別経路。
  2. 手順 2. VIP 切替時も更新するのはゲートウェイ側のみ(フェイルオーバー)。

メッセージテンプレート(多ノード要約形式)

ゲートウェイで totopic/Markdown content を固定し、失敗は一行+ログ URLに抑えます。

【図③】 モバイルで mesh_node_id 行が読めること。

キー用途
tobuildsストリーム名
topicmain @ abc1234ブランチ+短 SHA
本文workflow+絵文字状態の即判別
フッタmesh_node_idどの Mac か

失敗再試行と冪等キー

キュー確定後に Zulip 送信。429/一時 5xx のみ指数バックオフ+ジッター。400401 は修正までループ禁止。冪等provider_run_idstate+トピックで短 TTL 去重(キュー再試行)。

【図④】 ログの冪等・バックオフ・200 の一行。

  1. 手順 1. ローテ:新キー → ゲートウェイ更新 → curl 成功 → 旧キー失効(チェックリスト)。
  2. 手順 2. 連続失敗はオンコールへ。インシデント用トピックに切替。

ヘルスプローブとアラートの統合

ヘルスプローブ失敗と Zulip 送信失敗に同一 incident_key(例 meshmac/gateway/zulip+probe)を付け、5〜15 分の抑制窓で一トピックに統合(背圧 HowTo の統合アラートと同型)。

【図⑤】 incident_key と抑制窓、マージ後スレッド。

FAQ

ストリームに出ず 400 になる
to・購読権・非公開ストリーム方針。エラー JSON はマスクしてログへ。
成功と失敗で二重通知される
provider_run_id をデバウンスし最終状態のみ、またはトピック固定+スレッド返信に統一。

まとめ・次の一手(公開ページのみ)

ゲートウェイ集約+冪等+プローブ統合で多ノード共有リモート Macの通知経路を増やさない。購入ヘルプOpenClaw 特集多ノード協働(ログイン不要)。

MeshMac 多ノード · Zulip 集約 · 閲覧はログイン不要

機を足しても Bot URL は増やさない

通知の秘密と出站をOpenClaw ゲートウェイに閉じ、MeshMac ノードはビルド実行に専念するのが、共有リモート Mac をチーム規模へ拡張するときの最短経路です。購入(ログイン不要) でプランとノード数を選び、ヘルプホーム から導線を確認してください。

プランへ