コンテンツへスキップ
最終更新

Feishu / Lark Webhook トンネル

Feishu / Lark の Webhook イベント購読 を使う場合、公開 HTTPS ドメイン が必要です。
ローカルの OpenClaw gateway をそのまま使うには、トンネルで安全に外部公開する必要があります。

このガイドでできること

  • gateway がローカルで待ち受けているか確認する
  • Ngrok / Cloudflare Tunnel / Localtunnel から選ぶ
  • 公開 HTTPS ドメインを取得する
  • Feishu の event subscription URL を設定して検証を通す

前提条件

  • OpenClaw と Feishu plugin が導入済み
  • gateway の待受 port が分かっている(例: 3000 / 8080)
  • Feishu Open Platform の内部アプリ設定へアクセスできる

Step 0: gateway がローカルで動いているか確認する

Command
openclaw gateway --port 3000curl -i http://127.0.0.1:3000/health || truelsof -i :3000 || true

Step 1: webhook endpoint の path を確認する

よくある path:

  • /feishu/events
  • /webhook/feishu
  • /events

ログから探す例:

Command
openclaw gateway --verboseopenclaw logs | grep -i -E "feishu|webhook|event|callback" || true

Option A: Ngrok

Command
ngrok authtoken REDACTED_NGROK_AUTHTOKENngrok http 3000

発行された https://xxxx.ngrok-free.app のような URL を控えます。

Option B: Cloudflare Tunnel

Command
cloudflared tunnel --url http://localhost:3000

長期運用では named tunnel を作り、config.yml を使って固定 hostname に寄せる方が安定します。

Option C: Localtunnel

Command
npm install -g localtunnellt --port 3000 --subdomain openclawvans

一時確認には使えますが、安定性は高くありません。

Step 2: Feishu 側で event subscription URL を設定する

TEXT
https://YOUR_DOMAIN/feishu/events

検証で失敗する場合は、https、domain、path の 3 点を再確認してください。

Step 3: 実際にテストする

  • bot を group または DM に追加する
  • @bot hello のように送る
  • Feishu 側または gateway ログで受信が見えるか確認する

よくある失敗

  • http や IP を使っている
  • tunnel が止まっている
  • gateway が違う port で起動している
  • endpoint path が plugin と一致していない
  • plugin 設定や app key が読まれていない

セキュリティの基本

  • tunnel 公開後は必要な path だけを外へ出す
  • 高リスク操作は allowlist や mention 制御を使う
  • token や app secret を Git に入れない