2026 OpenClaw Slack / Discord Webhook:Macクラウド常駐デーモン再現手順

初回5ステップのあと、多くのチームがSlack/Discord通知を欲しがりますが、WebhookとBotの取り違え、ノートスリープでブリッジ停止、重複メッセージで詰まります。本稿は2026年版としてWebhook/Slack App/Discord Botの判断表、envファイル・curlスモーク・launchd常駐を含む5ステップ以上を整理し、本番ハードニングエラー切り分けと相互参照します。ゲートウェイポート18789と同列のインフラとしてIM出口を扱えます。

OpenClawがHTTPS WebhookでSlackとDiscordに接続する概念図

目次

1. 認証モデル・プロセス寿命・メッセージ嵐の三痛点

IM連携はURL貼り付け以上の話です。第一に認証の深さの誤り:Slack Incoming Webhookは固定チャンネル投稿のみ、BotはOAuthスコープ不足で403ループ。第二にGUIセッションに縛られた寿命:ノートでnpm startはスリープやWi‑Fi瞬断で死に、ホスト要因をOpenClawの不安定と誤認します。第三にスロットリングなき嵐:ツール呼び出しのたびにIMへ投稿すると数秒でチャンネルが埋まり、運用は連携オフにします。

  1. Webhook URLをリポジトリに入れない:ベアラトークン同様、SSH秘密、mode 600のenv、オーケストレータsecretsで注入。
  2. 外向き通信をゲートウェイ方針に揃える:ゲートウェイはファイアウォール記事どおり127.0.0.1:18789が多く、IMは443。厳格な出口ならSlack/Discordホスト名を明示許可。
  3. Docker/npm/ソース切替でenvパスを同期比較記事の方式を変えたらログとenvを揃えないと「ローカルだけ届く」が起きます。

次表を設計レビューで使い、Webhookで足りるのにBotを盛らないようにします。

2. Webhook vs Slack App vs Discord Bot

Slackは細かいBotトークンとイベントAPI、Discordは一方通行通知にWebhook、双方向はBot+Gateway。OpenClawの夜間サマリやビルド通知はWebhookで止めることが多く、会話型@agentはBotが必要です。

選択肢できること複雑さ秘密の形OpenClaw用途例
Slack Incoming Webhook固定チャンネル投稿長いHTTPS URLアラート、サマリ、ジョブ完了
Slack App + Botイベント、ボタン、スレ中高Bot token + signing secret対話型運用Bot
Discord Webhook一方通行embedWebhook URLコミュニティ/開発チャンネル
Discord Botメッセージ、コマンド、GatewayBot token会話トリガ

本番ハードニング済みなら、IMクレデンシャルとゲートウェイトークンは別ローテで、一漏洩両面失守を避けます。

3. 再現手順:Slack、Discord、launchd、検証

OpenClawがSSH付きMacクラウド上の非対話ユーザーで動いている前提。順序を守るとロールバックが楽です。

  1. 最小権限で統合を作る:Slack Incoming WebhookまたはDiscordチャンネルWebhook。所有者とローテ日を秘密管理に記録。
  2. ノードに制限付きenv:例 /usr/local/etc/openclaw/im.env chmod 600、SLACK_WEBHOOK_URLまたはDISCORD_WEBHOOK_URLのみ。
  3. OpenClaw設定から環境変数参照:gitにURL直書き禁止。Dockerは--env-fileまたはsecrets。
  4. curlスモーク:エージェント配線前にサーバから最小JSONをPOSTし、HTTPとチャンネル到達を確認。
  5. launchd plist等RunAtLoadKeepAliveThrottleInterval。stdout/stderrを/var/log/openclaw/im-bridge.logのようにローテ。
  6. レート制限と要約:30秒以内の同一トピックはマージ、ERRORのみ等。
# Slack Incoming Webhook スモーク(URLはコミット禁止) curl -X POST -H 'Content-type: application/json' \ --data '{"text":"OpenClaw: smoke test from mac-cloud node"}' \ "$SLACK_WEBHOOK_URL" # Discord Webhook スモーク curl -X POST -H 'Content-type: application/json' \ --data '{"content":"OpenClaw: smoke test from mac-cloud node"}' \ "$DISCORD_WEBHOOK_URL"
ヒント:ユーザ領域とシステム領域のlaunchdは挙動が異なり、CI用SSHユーザーとGUIログインユーザーを混ぜると「SSHではあるが再起動後に消える」環境変数が起きます。

4. 引用できるパラメータ

Runbook向け:①Slack webhookはHTTPS POST JSON、textやBlock Kit—失敗時は本文をログ。②Discordは429でバックオフ。③ゲートウェイがループバックのままなら将来のIMコールバックは18789公開方針に沿ったリバプロ/トンネルが必要。④送信成功/失敗カウンタや構造化ログをトラブルシュートと突き合わせ。

5. IMブリッジを専用Macクラウドに置く理由

共有ノートだけにブリッジを置くとスリープ穴、セッション共有の監査弱さ、ゲートウェイOOMで通知も同時停止の相関失敗が出ます。SSH管理のMacクラウドで明示的再起動方針に載せると「チャット配信」と「エージェント計算」の劣化を分離できます。

OpenClaw+IM出口にVPSMACのM4 Macクラウドをレンタルする方が、個人端末依存より予測しやすいことが多いです。電源と回線はプラットフォーム、launchdとログローテはLinux運用に近い。基線は5分セットアップ記事、その後に本稿でSlack/Discordを。

6. FAQ

Slackが重複する

ハンドラ重複や2xx無視のリトライ、同一チャンネルへのWebhook多重を確認。

WebhookなしBotのみ?

可能だがコスト高。一方通行はWebhook、対話が要るならBot。

WeComとの違いは

企業微信は別API・コンプラ経路。本稿はSlack/DiscordのHTTPS Webhookが対象。