OpenClaw

OpenClaw Feishu / Lark チャンネル

エンタープライズ
普通

WebSocket ベースのイベントサブスクリプションを使用して OpenClaw を Feishu(飛書)または Lark に接続します。このエンタープライズ統合により、AI アシスタントが Feishu/Lark(ByteDance の企業コラボレーションプラットフォーム)でダイレクトメッセージとグループチャットを処理できます。OpenClaw は飛書オープンプラットフォームのロングコネクション(WebSocket)モードで接続するため、パブリック URL や Webhook エンドポイントは不要です。飛書アプリを作成し、App ID と App Secret を入力するだけで、アシスタントが起動します。

基本情報
難易度普通
カテゴリエンタープライズ
対応機能数3 / 6

Feishu / Lark 対応機能

テキストメッセージ

対応

メディア・ファイル

対応

リアクション

非対応

スレッド

非対応

音声メッセージ

非対応

グループチャット

対応

Feishu / Lark 前提条件

  • 飛書(feishu.cn)または Lark(larksuite.com)のテナントアカウント(アプリ作成権限あり)
  • 飛書プラグインのインストール:openclaw plugins install @openclaw/feishu
  • OpenClaw Gateway が実行中で設定済みであること
  • サーバーに Node.js 18+ がインストール済みであること

Feishu / Lark クイックセットアップ

1

飛書/Lark アプリを作成

飛書オープンプラットフォーム(open.feishu.cn/app)または Lark 開発者コンソール(open.larksuite.com/app)にアクセスします。新しいエンタープライズアプリを作成し、名前、説明、アイコンを設定します。認証情報ページで App ID(形式:cli_xxx)と App Secret をコピーします。

2

権限とボット機能を設定

アプリの権限管理で必要な権限を一括インポートします。アプリ機能 > ボットでボット機能を有効にします。イベントサブスクリプションで「ロングコネクションを使用」(WebSocket モード)を選択し、im.message.receive_v1 イベントを追加します。バージョン管理とリリースからアプリを公開します。

3

飛書チャンネル設定を OpenClaw に追加

'openclaw channels add' を実行して Feishu を選択するか、~/.openclaw/openclaw.json に手動でチャンネル設定を追加し、appId と appSecret を入力します。環境変数 FEISHU_APP_ID と FEISHU_APP_SECRET も使用できます。

4

Gateway を起動してテスト

'openclaw gateway' を実行してサービスを起動します。飛書でボットにダイレクトメッセージを送信します。デフォルトのペアリングポリシーを使用している場合は、ターミナルで 'openclaw pairing approve feishu <code>' を使用して送信者を承認します。

Feishu / Lark 設定例

config.json
{
  "channels": {
    "feishu": {
      "enabled": true,
      "dmPolicy": "pairing",
      "accounts": {
        "main": {
          "appId": "cli_xxx",
          "appSecret": "YOUR_APP_SECRET",
          "botName": "My AI Assistant"
        }
      }
    }
  }
}

Feishu / Lark 詳細ドキュメント

アーキテクチャ概要

OpenClaw は飛書オープンプラットフォームの WebSocket ロングコネクションモードで飛書に接続します。従来の Webhook とは異なり、パブリック URL やファイアウォール設定は不要です — Gateway が飛書サーバーへの WebSocket 接続を能動的に開始し、リアルタイムでイベントを受信します。 メッセージフロー:ユーザーが飛書でメッセージを送信 → 飛書オープンプラットフォーム → WebSocket で Gateway にプッシュ → OpenClaw が AI で処理 → 飛書 Bot API 経由で返信 → 飛書でメッセージが配信。 このアーキテクチャは NAT や企業ファイアウォールの背後にあるセルフホストデプロイに最適です。インバウンド接続は一切不要です。
WebSocket モード(ロングコネクション)を推奨 — パブリック URL 不要、SSL 証明書不要、ファイアウォールの背後で動作します。
飛書プラグインは 'openclaw plugins install @openclaw/feishu' で個別にインストールし、コア Gateway を軽量に保ちます。

飛書アプリの作成と認証情報の取得

飛書統合のセットアップには飛書オープンプラットフォームでアプリを作成する必要があります: 1. open.feishu.cn/app(Lark ユーザーは open.larksuite.com/app)にアクセスし、新しいエンタープライズアプリを作成。 2. 認証情報と基本情報ページで App ID(形式:cli_xxx)と App Secret をコピー — これが認証資格情報です。 3. 権限管理で必要なメッセージング権限を一括インポート。主要な権限:im:message、im:message:send_as_bot、im:chat。 4. アプリ機能 > ボットでボット機能を有効にし、ボット名と説明を設定。 5. イベントサブスクリプションで「ロングコネクションを使用」(WebSocket モード)を選択し、im.message.receive_v1 イベントを追加。 6. バージョン管理とリリースからアプリを公開。メッセージを受信するにはアプリの公開と承認が必要です。
terminal
# 環境変数経由
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="your_app_secret"

# または CLI ウィザード経由
openclaw channels add
App Secret は安全に保管してください。バージョン管理にコミットしないでください。本番環境では環境変数(FEISHU_APP_SECRET)を使用してください。漏洩した場合は、飛書オープンプラットフォームコンソールで直ちにリセットしてください。

飛書と Lark の設定の違い

飛書(feishu.cn)は中国国内版、Lark(larksuite.com)は国際版です。同じプロトコルを使用しますが、異なる API エンドポイントに接続します。 デフォルトでは OpenClaw は飛書(国内)API に接続します。Lark 国際版を使用する場合は、設定で domain を 'lark' に設定してください。すべての API コールが自動的に Lark のエンドポイントに切り替わります。
openclaw.json
{
  "channels": {
    "feishu": {
      "domain": "lark",
      "accounts": {
        "main": {
          "appId": "cli_xxx",
          "appSecret": "YOUR_APP_SECRET"
        }
      }
    }
  }
}
国内ユーザーは 'feishu'(デフォルト)、国際ユーザーは 'lark' を使用。domain 設定は API エンドポイントに影響し、アプリ作成プラットフォームには影響しません。

DM ポリシー

DM(ダイレクトメッセージ)ポリシーは、AI アシスタントとプライベートチャットできるユーザーを制御します。OpenClaw は4つのポリシーをサポート: • pairing(デフォルト)— 新しいユーザーはペアリングフローを経る必要があります。メッセージを送信するとペアリングコードが届き、CLI で承認または拒否します。承認後は自由にチャットできます。 • allowlist — allowFrom に明示的にリストされた飛書 Open ID のみがボットにメッセージを送信できます。 • open — 誰でも返信を受け取れます。慎重に使用してください。 • disabled — DM 機能を完全にオフにします。
openclaw.json
{
  "channels": {
    "feishu": {
      "dmPolicy": "allowlist",
      "allowFrom": ["ou_xxx", "ou_yyy"]
    }
  }
}
ユーザーの Open ID(形式:ou_xxx)を見つけるには、ユーザーにボットへ DM を送信してもらい Gateway ログを確認するか、'openclaw pairing list feishu' を使用します。

グループチャット管理

OpenClaw は飛書グループチャットをサポートし、柔軟なアクセス制御を提供します: • open(デフォルト)— グループメンバーがボットを @メンションすると応答。 • allowlist — グループ内の承認済みユーザーのみがボットと対話可能。 • disabled — グループメッセージを完全に無視。 デフォルトでは、グループ内でボットは @メンション(requireMention: true)が必要です。 グループ ID(形式:oc_xxx)は Gateway ログで確認できます。ボットをグループに追加し、@メンションしてから 'openclaw logs --follow' を確認してください。
openclaw.json
{
  "channels": {
    "feishu": {
      "groupPolicy": "open",
      "requireMention": true
    }
  }
}
グループ ID(oc_xxx)を見つけるには、Gateway を起動し、グループでボットを @メンションし、ログを確認:openclaw logs --follow

ストリーミング返信(インタラクティブカード)

OpenClaw は飛書のインタラクティブカードを使用した AI 応答のストリーミングをサポートしています。有効にすると、ボットは初期カードを送信し、AI が応答を生成するにつれて段階的に更新されます — ChatGPT のリアルタイムテキスト出力に似た体験です。 完全な応答を待ってから送信するよりも、優れたユーザー体験を提供します。ストリーミングカードはその場で更新され、チャットに複数のメッセージが送信されることはありません。
openclaw.json
{
  "channels": {
    "feishu": {
      "streaming": true
    }
  }
}
ストリーミングはデフォルトで有効です。streaming: false に設定すると無効になり、完全なプレーンテキストメッセージとして送信されます。

メッセージタイプとメディアサポート

OpenClaw は様々な飛書メッセージタイプを処理します: 受信:テキストメッセージ、リッチテキスト(投稿)、画像、ファイル、音声、動画、スタンプ。 送信:テキストメッセージ、画像、ファイル、音声。リッチテキストサポートは限定的 — ボットは主にプレーンテキストまたはストリーミングカードで返信します。 メディアファイルにはサイズ制限があります。デフォルトの最大ダウンロードサイズは 30 MB(mediaMaxMb)です。
openclaw.json
{
  "channels": {
    "feishu": {
      "mediaMaxMb": 30,
      "textChunkLimit": 2000
    }
  }
}

マルチアカウントとマルチエージェントルーティング

OpenClaw は複数の飛書ボットアカウントの同時実行をサポートします。各アカウントには独自の App ID、App Secret、ボット名があります。 マルチエージェントルーティングも設定でき、ピアベースのバインディングで異なる AI エージェントが異なる会話を処理します。例えば、一つのエージェントが DM を処理し、別のエージェントがグループチャットを処理します。
openclaw.json
{
  "channels": {
    "feishu": {
      "accounts": {
        "support": {
          "appId": "cli_aaa",
          "appSecret": "secret_a",
          "botName": "Support Bot"
        },
        "hr": {
          "appId": "cli_bbb",
          "appSecret": "secret_b",
          "botName": "HR Bot"
        }
      }
    }
  }
}

便利なコマンド

OpenClaw は飛書ボット管理用の組み込みコマンドを提供します: • /status — 現在のボットステータスと接続情報を表示 • /reset — 現在の会話セッションをリセット • /model — 現在の AI モデルを表示または切り替え • openclaw gateway status — Gateway 接続状態を確認 • openclaw gateway restart — Gateway サービスを再起動 • openclaw logs --follow — リアルタイム Gateway ログを表示 • openclaw pairing list feishu — すべての承認済みおよび保留中のペアリングを一覧表示 • openclaw pairing approve feishu <code> — 保留中のペアリングリクエストを承認

Feishu / Lark 設定リファレンス

enabled
Type: booleanDefault: true

飛書チャンネルの有効/無効

domain
Type: stringDefault: "feishu"

API ドメイン:国内版は 'feishu'(feishu.cn)、国際版は 'lark'(larksuite.com)

dmPolicy
Type: stringDefault: "pairing"

ボットに DM できるユーザーを制御。オプション:pairing、allowlist、open、disabled

allowFrom
Type: string[]Default: []

dmPolicy が 'allowlist' の場合に DM を許可する Open ID(ou_xxx)のリスト

groupPolicy
Type: stringDefault: "open"

グループチャットポリシー。オプション:open、allowlist、disabled

requireMention
Type: booleanDefault: true

グループチャットでボットが応答するために @メンションが必要かどうか

streaming
Type: booleanDefault: true

インタラクティブカードによるストリーミング AI 応答を有効にする

textChunkLimit
Type: numberDefault: 2000

テキストメッセージあたりの最大文字数

mediaMaxMb
Type: numberDefault: 30

アップロード/ダウンロードの最大メディアファイルサイズ(MB)

accounts.<id>.appId
Type: stringDefault: ""

飛書 App ID(形式:cli_xxx)、オープンプラットフォームコンソールから取得

accounts.<id>.appSecret
Type: stringDefault: ""

飛書 App Secret、オープンプラットフォームコンソールから取得

accounts.<id>.botName
Type: stringDefault: ""

飛書チャットでのボットの表示名

historyLimit
Type: numberDefault: 50

AI コンテキストとして含める最近のメッセージ数

Feishu / Lark よくある質問

Feishu / Lark トラブルシューティング

グループチャットでボットが応答しない

ボットがグループに追加されていない、@メンションが機能していない、または groupPolicy が 'disabled' に設定されている可能性があります。

ボットがグループに追加されていることを確認。groupPolicy が 'disabled' でないことを確認。名前でボットを @メンションしてみてください。'openclaw logs --follow' で Gateway ログを確認してください。
メッセージが一切受信されない — ボットが完全に無反応

アプリが公開されていない、イベントサブスクリプションが設定されていない、または権限が不足している可能性があります。

バージョン管理とリリースでアプリが公開・承認済みであることを確認。イベントサブスクリプションで「ロングコネクション」が選択され、im.message.receive_v1 イベントが追加されていることを確認。Gateway が実行中であることを確認:openclaw gateway status。
メッセージの送信に失敗する

im:message:send_as_bot 権限が付与されていない、またはアプリが公開されていない可能性があります。

アプリの権限管理で im:message:send_as_bot 権限が付与されていることを確認。最近権限を追加した場合はアプリを再公開してください。Gateway ログで具体的なエラーメッセージを確認してください。
App Secret が漏洩した

App Secret がバージョン管理に誤ってコミットされた、または安全でない方法で共有された。

飛書オープンプラットフォームコンソール(認証情報ページ)で直ちに App Secret をリセット。新しいシークレットで OpenClaw の設定または環境変数を更新。'openclaw gateway restart' で Gateway を再起動。
WebSocket 接続が頻繁に切断される

ネットワークの不安定さ、またはファイアウォールがロングコネクション WebSocket に干渉しています。

サーバーのネットワーク安定性を確認。ファイアウォールがアウトバウンド WebSocket 接続を許可していることを確認。Gateway は自動的に再接続しますが、頻繁な切断はネットワークの問題を示す可能性があります。