OpenClaw
インテグレーション18 分で読めます

OpenClaw Feishu/Lark 連携ガイド:アプリ作成からメッセージ送受信まで

OpenClaw を Feishu/Lark に接続する方法をステップバイステップで解説。アプリ作成、権限設定、WebSocket 接続、グループチャット設定、トラブルシューティングを網羅。

O

OpenClaw Guides

Tutorial Authors

Feishu と Lark の違い:OpenClaw での連携方法

Feishu(飛書)と Lark は、ByteDance が提供するエンタープライズ向けメッセージングプラットフォームです。Feishu は中国本土向け、Lark は国際市場向けに展開されています。基盤となるアーキテクチャは共通のため、OpenClaw との連携手順はほぼ同じです。

OpenClaw から Feishu/Lark に接続するには、2つの方法があります。

ビルトインプラグイン(推奨)公式 Feishu プラグイン
提供元OpenClaw コミュニティFeishu/Lark チーム(ByteDance)
動作方式ボットとして動作ユーザー代理(OAuth)
できることメッセージ送受信、基本的なドキュメント閲覧ワークスペース全体:ドキュメント、カレンダー、タスク、スプレッドシート、Wiki
導入方法内蔵、追加インストール不要feishu-plugin-onboard install
導入の難易度中程度やや高い
おすすめの用途メッセージング中心の利用AI にワークスペースへのアクセスが必要なチーム

本ガイドでは、約90%のユースケースをカバーするビルトインプラグインを中心に解説します。ドキュメントの閲覧やカレンダー管理、タスク作成などワークスペース全体の連携が必要な場合は、後半の公式 Feishu プラグインセクションをご覧ください。

OpenClaw Feishu 連携の前提条件

作業を始める前に、以下を確認してください。

  • OpenClaw がインストール済みで起動していること(バージョン 2026.2 以上)。まだの場合はインストールガイドを参照してください。
  • Feishu 開発者アカウントopen.feishu.cn(Lark の場合は open.larksuite.com)で取得済みであること。
  • ゲートウェイがアクセス可能であること。以下のコマンドで確認できます。
bash
openclaw gateway status

パブリック IP やドメインは不要です。 ビルトインプラグインはデフォルトで WebSocket モードを使用し、OpenClaw 側から Feishu サーバーへの発信接続を確立します。NAT やファイアウォールの背後、一般的な企業ネットワーク内でも、ポートフォワーディングなしで動作します。

ステップ 1:Feishu/Lark ボットアプリを作成する

開発者コンソールを開く

ご利用のプラットフォームに応じて、開発者ポータルにアクセスしてください。

アプリケーションの作成

  1. カスタムアプリを作成(または「企業自建応用」)をクリックします
  2. アプリ名を入力します。「OpenClaw Assistant」のようなわかりやすい名前がおすすめです
  3. 必要に応じてアイコンと説明文を設定します(ボットディレクトリでユーザーに表示される情報です)

認証情報のコピー

  1. 左サイドバーの認証情報と基本情報を開きます
  2. App ID をコピーします(cli_a5xxxxxxxxxxxxx のような形式です)
  3. App Secret をコピーします

App Secret は厳重に管理してください。 バージョン管理にコミットしたり、チャットに貼り付けたり、スクリーンショットに含めたりしないでください。万が一漏洩した場合は、開発者コンソールから直ちにリセットしてください。

ステップ 2:Feishu ボットの権限を設定する

アプリがメッセージを送受信するためには、特定の権限(スコープ)が必要です。設定方法は2通りあります。

方法 A:一括インポート(推奨)

JSON ブロックを貼り付けるだけで、すべての権限が一度に有効になります。

  1. アプリの設定画面で、開発設定 → 権限管理を開きます
  2. 一括有効化(Batch Enable)をクリックします
  3. 以下の JSON を貼り付けます:
json
{
  "scopes": {
    "tenant": [
      "im:chat", "im:message", "im:message:send_as_bot",
      "im:message.p2p_msg:readonly", "im:message.group_at_msg:readonly",
      "im:message.group_msg", "im:message:readonly", "im:resource",
      "im:chat.members:bot_access",
      "im:chat.access_event.bot_p2p_chat:read",
      "contact:user.employee_id:readonly",
      "application:application:self_manage", "application:bot.menu:write",
      "cardkit:card:write",
      "docs:document.content:read", "sheets:spreadsheet",
      "wiki:wiki:readonly", "event:ip_list"
    ],
    "user": [
      "im:chat.access_event.bot_p2p_chat:read"
    ]
  }
}
  1. 確認をクリックして適用します

方法 B:手動で個別に選択

一括インポートが利用できない場合は、権限管理画面で以下の権限を個別に有効にしてください。

  • im:message — メッセージの送受信
  • im:message:send_as_bot — ボットとしてメッセージを送信
  • im:message.p2p_msg:readonly — DM(1対1メッセージ)の読み取り
  • im:message.group_at_msg:readonly — グループでの@メンションメッセージの読み取り
  • im:message.group_msg — グループメッセージ全体の読み取り
  • im:resource — メッセージリソース(画像、ファイル)へのアクセス
  • im:chat — チャットメタデータへのアクセス
  • im:chat.members:bot_access — チャット内のボットメンバーシップ確認
  • contact:user.employee_id:readonly — ユーザー ID の読み取り
  • docs:document.content:read — ドキュメント内容の読み取り(任意、ドキュメント要約用)
  • sheets:spreadsheet — スプレッドシートへのアクセス(任意)
  • wiki:wiki:readonly — Wiki ページの読み取り(任意)

ドキュメント、スプレッドシート、Wiki の権限は任意です。チャット内でユーザーが共有したドキュメントをボットが読み取って要約する機能が必要な場合のみ有効にしてください。

ステップ 3:OpenClaw Feishu ボットとイベント購読を有効にする

ボット機能の有効化

  1. 左サイドバーからアプリ機能 → ボットを開きます
  2. ボット機能をオンに切り替えます
  3. 必要に応じてボットの説明とヘルプテキストを設定します

イベント購読の設定

Feishu からメッセージを OpenClaw に転送するための重要なステップです。

  1. イベントとコールバック → イベント購読を開きます
  2. 接続方式で**長時間接続(WebSocket)**を選択します
  3. 以下のイベントを追加します:
イベント名前必須?
im.message.receive_v1メッセージ受信必須
im.message.reaction.created_v1絵文字リアクション追加任意
im.message.reaction.deleted_v1絵文字リアクション削除任意
application.bot.menu_v6カスタムボットメニュー任意

im.message.receive_v1 は唯一の必須イベントです。これがないと、ボットはメッセージを一切受信できません。リアクションイベントは、絵文字に応じたアクション(例:サムズアップで操作を確定)をトリガーしたい場合に便利です。

イベント購読が未設定だと、ユーザーがボットとの会話画面でチャット入力欄が表示されません。 ボットのプロフィールは見えるのにメッセージが打てない場合、ほぼ確実にこれが原因です。

「アプリが長時間接続を確立していません」エラーの最も多い原因もこれです。 ログにこのエラーが表示された場合、im.message.receive_v1 イベントの追加と Long Connection モードの選択を再確認してください。

ステップ 4:Feishu アプリを公開する

アプリは公開しないとユーザーに表示されません。

  1. 左サイドバーのバージョン管理を開きます
  2. バージョン作成をクリックします
  3. バージョン番号(例:1.0.0)とリリースノートを入力します
  4. 審査を提出をクリックします

テナント管理者が作成した社内向けアプリの場合、審査は通常自動で承認されます。一般の開発者の場合は、組織の審査プロセスに従う必要がある場合があります。数秒で利用可能になるはずです。組織で手動レビューが設定されている場合は、管理者の承認を待つ必要があります。

公開後の確認手順:

  1. Feishu(または Lark)のデスクトップ版かモバイル版を開きます
  2. アプリディレクトリまたは検索バーに移動します
  3. アプリ名で検索します
  4. ボットが一覧に表示されるはずです。ただし、まだメッセージは送らないでください。先に OpenClaw 側の設定を行います。

ステップ 5:OpenClaw で Feishu チャネルを設定する

CLI でかんたんセットアップ

最も手軽な方法です。

bash
openclaw channels add    # "Feishu" を選択し、App ID と Secret を入力
openclaw gateway restart

CLI が対話形式で必要な設定を案内してくれます。

手動で設定ファイルを編集する

より細かく制御したい場合は、~/.openclaw/openclaw.json を直接編集します。

json5
{
  channels: {
    feishu: {
      enabled: true,
      domain: "feishu",            // Lark 国際版の場合は "lark"
      connectionMode: "websocket",
      dmPolicy: "pairing",
      groupPolicy: "open",
      requireMention: true,
      streaming: true,
      typingIndicator: true,
      accounts: {
        main: {
          appId: "cli_a5xxxxxxxxxxxxx",
          appSecret: "your-app-secret",
          botName: "AI Assistant"
        }
      }
    }
  }
}

OpenClaw Feishu 設定リファレンス

オプションデフォルト値説明
domain"feishu""feishu"(中国版)または "lark"(国際版)
connectionMode"websocket""websocket"(推奨)または "webhook"
dmPolicy"pairing"DM アクセス制御:pairing / open / allowlist / disabled
groupPolicy"open"グループアクセス制御:open / allowlist / disabled
requireMentiontrueグループでボットを起動するのに @メンションを要求するか
streamingtrueストリーミング出力(タイプライター効果)の有効化
typingIndicatortrue生成中に「入力中...」インジケーターを表示
textChunkLimit2000メッセージチャンクあたりの最大文字数
mediaMaxMb30メディアファイルの最大サイズ(MB)

Feishu と Lark の設定上の違いdomain フィールドだけです。Feishu(中国版)なら "feishu"、Lark(国際版)なら "lark" を指定してください。認証情報、権限、イベントなど、その他の設定はすべて共通です。

ステップ 6:OpenClaw ゲートウェイを起動して Feishu とペアリングする

ゲートウェイの起動

bash
openclaw gateway           # ゲートウェイを起動(フォアグラウンド)

別のターミナルでログを監視します。

bash
openclaw logs --follow     # リアルタイムでログを表示

以下のような出力が表示されれば成功です。

[feishu] WebSocket connected to wss://open.feishu.cn/...
[feishu] Bot "AI Assistant" is online

アカウントのペアリング

デフォルトの DM ポリシーは pairing に設定されており、新しいユーザーがボットとチャットするには承認が必要です。これにより不正アクセスを防止できます。

  1. Feishu(または Lark)を開いてボットを見つけます
  2. 何でもいいのでメッセージを送信します(「こんにちは」でOKです)
  3. ターミナルを確認します。ペアリングリクエストとコードが表示されます:
[feishu] New pairing request from user_xxxxx (Code: ABC123)
  1. ペアリングを承認します:
bash
openclaw pairing approve feishu ABC123
  1. Feishu/Lark に戻ってもう一度メッセージを送信します
  2. AI が応答するはずです

接続状態の確認

bash
openclaw gateway status

期待される出力:

Feishu: connected (websocket)
  Account: main
  Bot: AI Assistant
  Paired users: 1
  Active groups: 0

ステータスが disconnected と表示される場合は、下のトラブルシューティングセクションを確認してください。

Feishu グループチャットの設定

デフォルトでは groupPolicy: "open" が設定されており、ボットは追加されたすべてのグループに参加できます。より厳密に制御するには、許可リストを使用します。

json5
{
  channels: {
    feishu: {
      groupPolicy: "allowlist",
      requireMention: true,
      groups: {
        "oc_xxxxxxxxx": {           // Feishu チャット ID
          agentId: "main",
          requireMention: false      // このグループではすべてのメッセージに応答
        },
        "oc_yyyyyyyyy": {
          agentId: "support",        // 別のエージェントにルーティング
          requireMention: true
        }
      }
    }
  }
}

グループのチャット ID を確認するには、ボットをグループに追加してログを確認してください。ボットがグループに参加した際に ID がログに出力されます。

ヒント: グローバルには requireMention: true を設定し、グループごとに個別にオーバーライドするのがおすすめです。大規模チャネルでボットが反応しすぎるのを防ぎつつ、AI 専用グループでは自由に会話できるようになります。

Feishu Webhook モードの設定

WebSocket が推奨の接続方式ですが、企業ネットワークによっては永続的な WebSocket 接続がブロックされることがあります。その場合は Webhook モードに切り替えてください。

json5
{
  channels: {
    feishu: {
      connectionMode: "webhook",
      verificationToken: "from-feishu-console",
      encryptKey: "from-feishu-console",
      webhookPath: "/feishu/events",
      webhookPort: 3000
    }
  }
}

Verification Token と Encrypt Key の取得方法:

  1. Feishu アプリの設定画面で、イベントとコールバック → 暗号化戦略を開きます
  2. Verification TokenEncrypt Key をコピーします

次に、Feishu コンソールでリクエスト URL を設定します:

  1. イベントとコールバック → イベント購読で、URL にプッシュモードに切り替えます
  2. URL を https://your-domain.com/feishu/events に設定します
  3. 検証をクリックします。Feishu がチャレンジリクエストを送信し、OpenClaw が自動的に応答します

Webhook モードには外部からアクセス可能な URL が必要です。ドメイン、TLS 証明書、適切なファイアウォール設定が必要になります。ほとんどの環境では WebSocket モードの方がはるかに簡単です。

Feishu マルチエージェントルーティング

複数の AI エージェントを運用している場合、会話ごとに異なるエージェントへルーティングできます。

json5
{
  bindings: [
    { agentId: "main", match: { channel: "feishu", peer: { kind: "direct" } } },
    { agentId: "support", match: { channel: "feishu", peer: { kind: "direct", id: "ou_xxxxx" } } },
    { agentId: "team-helper", match: { channel: "feishu", peer: { kind: "group", id: "oc_xxxxxxxxx" } } }
  ]
}

デフォルトでは、すべての DM は main エージェントにルーティングされます。特定のユーザー(ou_xxxxx など)やグループ(oc_xxxxxxxxx など)を別のエージェントに振り分けたい場合は、match 条件で peer.id を指定してください。ルールは上から順に評価され、最初にマッチした agentId が使用されます。

この機能は、汎用アシスタント、カスタマーサポートエージェント、開発者向けツールエージェントなど、異なるモデルやプロンプトを使い分けつつ、同じ Feishu ボットを通じて運用したい組織に特に役立ちます。

OpenClaw 公式 Feishu プラグイン

公式 Feishu プラグインは ByteDance の Feishu/Lark チームが保守しています。ビルトインプラグイン(ボットとして動作)とは異なり、公式プラグインは OAuth を使用してユーザーの代わりに操作を行います。そのため、ドキュメント、カレンダー、タスク、スプレッドシート、Wiki など、ワークスペース全体にアクセスできます。

動作要件

  • OpenClaw 2026.2.26 以上(Linux/macOS)または 2026.3.2 以上(Windows)
  • Node.js 22 以上
  • npm が PATH に含まれていること

インストール手順

bash
npm config set registry https://registry.npmjs.org
curl -o /tmp/feishu-plugin.tgz https://sf3-cn.feishucdn.com/obj/open-platform-opendoc/4d184b1ba733bae2423a89e196a2ef8f_QATOjKH1WN.tgz
npm install /tmp/feishu-plugin.tgz -g
rm /tmp/feishu-plugin.tgz
feishu-plugin-onboard install

feishu-plugin-onboard install コマンドは対話形式のセットアップウィザードを起動します。実行される処理は以下の通りです。

  1. Feishu の App ID と App Secret の入力を求められます
  2. ブラウザが開き、OAuth 認証を行います
  3. ~/.openclaw/plugins/feishu/config.json に設定ファイルが生成されます
  4. OpenClaw インスタンスにプラグインが登録されます

インストール後の確認

プラグインが正しくロードされているか確認します。

bash
openclaw plugins list

出力に feishu-official が表示されていれば成功です。ワークスペース操作をボットに依頼してテストしてみましょう。

@Bot 「エンジニアリング」Wiki スペースの最新ドキュメントを要約して

診断コマンド

プラグインが動作しない場合:

bash
feishu-plugin-onboard doctor           # 一般的な問題をチェック
feishu-plugin-onboard doctor --fix     # 検出された問題を自動修復
feishu-plugin-onboard info --all       # プラグインの詳細情報を表示

セキュリティ上の注意: 公式プラグインは、あなた個人の OAuth トークンを使用してワークスペースデータにアクセスします。つまり、あなたがアクセスできるドキュメント、カレンダー、タスクすべてにボットもアクセスできるということです。**共有ボットや共有マシンでは公式プラグインを使用しないでください。**個人の安全な環境でのみ使用してください。

両方のプラグインを同時に使う

ビルトインプラグインと公式プラグインは同時に実行できます。ビルトインプラグインがメッセージングを処理し、公式プラグインがワークスペース操作を処理します。OpenClaw がリクエストの種類に応じて適切なプラグインへ自動ルーティングします。

公式プラグインをアンインストールせずに無効化するには:

bash
feishu-plugin-onboard disable

OpenClaw Feishu 連携のトラブルシューティング

「入力欄が表示されない」— ユーザーがボットにメッセージを送れない

原因: イベント購読が未設定、またはアプリが未公開です。

解決方法:

  1. イベントとコールバックim.message.receive_v1 が追加されているか確認します
  2. 接続方式が「長時間接続」に設定されているか確認します
  3. アプリが公開されているか確認します(バージョン管理で有効なバージョンがあるか確認)
  4. ゲートウェイを再起動します:openclaw gateway restart

「アプリが長時間接続を確立していません」エラー

原因: Feishu のイベント購読が WebSocket 接続を期待しているが、OpenClaw がまだ接続していません。

解決方法:

  1. 設定ファイルで connectionMode"websocket" になっているか確認します
  2. ゲートウェイを再起動します:openclaw gateway restart
  3. ログを確認します:openclaw logs --follow で WebSocket 接続メッセージを探します
  4. 厳格なプロキシ環境の場合、WebSocket の発信接続がブロックされていないか確認します

ボットはオンラインだがメッセージに応答しない

原因: ペアリングの問題、または DM ポリシーの設定ミスです。

解決方法:

  1. ユーザーがペアリング済みか確認します:openclaw pairing list feishu
  2. pairing モードの場合、ユーザーを承認します:openclaw pairing approve feishu <CODE>
  3. ペアリングなしで誰でもチャットできるようにするには、dmPolicy: "open" に設定します
  4. ログでエラーを確認します:openclaw logs --follow

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

原因: @メンションが必要なのにメンションされていない、またはグループポリシーがグループをブロックしています。

解決方法:

  1. groupPolicy"open" か、対象グループが許可リストに含まれているか確認します
  2. requireMentiontrue の場合、ユーザーはボットを @メンションする必要があります
  3. ボットが実際にグループのメンバーであるか確認します
  4. im:message.group_msg 権限が有効になっているか確認します

「メッセージ送信失敗」または「send_as_bot」エラー

原因: im:message:send_as_bot 権限が不足しているか、権限追加後にアプリが再公開されていません。

解決方法:

  1. 開発者コンソールで権限が有効になっているか確認します
  2. 新しいバージョンを作成して公開します。権限の変更には新しいリリースが必要です
  3. ゲートウェイを再起動します

ビルトインプラグインと公式プラグインが競合する

原因: 両方のプラグインが同じイベントを処理しようとしています。

解決方法:

  1. 通常は問題ありません。OpenClaw がイベントの重複を排除します。二重応答が発生する場合は、いずれかを無効化してください:
bash
feishu-plugin-onboard disable    # 公式プラグインを無効化
# または
openclaw channels disable feishu  # ビルトインプラグインを無効化
  1. 実際にどちらのプラグインが必要か再検討してください。ほとんどの場合、ビルトインプラグインだけで十分です

Windows:公式プラグインインストール時の ENOENT エラー

原因: npm がダウンロードした .tgz ファイルを見つけられません。Windows のパス問題が原因であることが多いです。

解決方法:

  1. 絶対パスを指定してください:
bash
npm install C:\Users\YourName\Downloads\feishu-plugin.tgz -g
  1. ターミナルを管理者として実行しているか確認します
  2. Node.js のバージョンを確認します:node --version(22 以上が必要)

OpenClaw Feishu コマンドリファレンス

コマンド説明
openclaw channels add対話形式でチャネルをセットアップ
openclaw channels disable feishuFeishu チャネルを無効化
openclaw channels enable feishuFeishu チャネルを再有効化
openclaw gatewayゲートウェイを起動
openclaw gateway restartゲートウェイを再起動
openclaw gateway status接続状態を確認
openclaw pairing list feishuペアリング済み Feishu ユーザーの一覧
openclaw pairing approve feishu <CODE>ペアリングリクエストを承認
openclaw pairing revoke feishu <USER>ユーザーのアクセスを取り消し
openclaw logs --followゲートウェイのログをリアルタイム表示
feishu-plugin-onboard install公式プラグインをインストール
feishu-plugin-onboard doctor公式プラグインの問題を診断
feishu-plugin-onboard doctor --fix検出された問題を自動修復
feishu-plugin-onboard info --allプラグインの詳細情報を表示

FAQ

パブリック IP やドメインは必要ですか?

いいえ、不要です。WebSocket モード(デフォルト)はマシンから Feishu サーバーへの発信接続を使用します。インバウンドトラフィックもポートフォワーディングも DNS レコードも不要です。唯一の例外は Webhook モードで、こちらは外部からアクセス可能な URL が必要です。

Feishu と Lark の違いは何ですか?

Feishu は中国本土向け、Lark は国際版です。インフラは分離されていますが、機能と API は同じです。設定上の違いは domain フィールドだけです。"feishu" または "lark" を指定してください。App ID と Secret は、作成したプラットフォームでのみ有効です。

ビルトインプラグインと公式プラグインのどちらを使うべきですか?

メッセージの送受信やチャット内の共有コンテンツ閲覧が目的なら、ビルトインプラグインで十分です。ドキュメントの閲覧、カレンダー管理、タスク作成、スプレッドシートの操作といったワークスペース全体へのアクセスが必要なら、公式プラグインを使用してください。両方を同時に運用することも可能です。

Feishu と他のチャネルを同時に使えますか?

はい。OpenClaw は複数チャネルの同時運用に対応しています。Feishu、Telegram、Discord、WhatsApp など、さまざまなチャネルを同時に接続し、同じエージェントまたは異なるエージェントに割り当てることができます。openclaw channels add で追加してください。

応答が遅い場合の対処法は?

  1. ストリーミングを有効にするstreaming: true)— 生成途中の応答がリアルタイムに表示されるため、ユーザーはすぐにテキストが現れるのを確認できます
  2. モデルを見直す — 大規模モデルは処理に時間がかかります。日常的なクエリにはより高速なモデルを試してみてください
  3. ネットワークレイテンシを確認する — OpenClaw インスタンスが Feishu サーバーから遠い場合、応答が遅く感じられます
  4. プロンプトを見直す — 長いシステムプロンプトは処理時間を増加させます

App Secret が漏洩した場合はどうすればいいですか?

  1. ただちに Feishu 開発者コンソールにアクセスします
  2. 認証情報と基本情報に移動します
  3. App Secret の横にあるリセットをクリックします
  4. 新しいシークレットをコピーします
  5. ~/.openclaw/openclaw.json を新しい値で更新します
  6. ゲートウェイを再起動します:openclaw gateway restart
  7. 旧シークレットは即座に無効化されるため、個別セッションの取り消しは不要です

Feishu 設定完了後の次のステップ

Feishu/Lark 連携が稼働したら、OpenClaw の他の機能もぜひ活用してください。