Feishu ボット
Feishu (Lark) は、メッセージングやコラボレーションに企業が使用するチームチャットプラットフォームです。 Feishu(Lark)は、企業でメッセージングやコラボレーションに使用されるチームチャットプラットフォームです。このプラグインは、プラットフォームの WebSocket イベントサブスクリプションを使用して OpenClaw を Feishu/Lark ボットに接続し、公開 Webhook URL を公開することなくメッセージを受信できるようにします。必要なプラグイン
Feishu プラグインをインストールします。クイックスタート
Feishu チャンネルを追加する方法は 2 つあります。方法 1: オンボーディングウィザード(推奨)
OpenClaw をインストールしたばかりの場合は、ウィザードを実行します。- Feishu アプリの作成と認証情報の取得
- OpenClaw へのアプリ認証情報の設定
- ゲートウェイの起動
openclaw gateway statusopenclaw logs --follow
方法 2: CLI セットアップ
初期インストールをすでに完了している場合は、CLI からチャンネルを追加します。openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
ステップ 1: Feishu アプリの作成
1. Feishu Open Platform を開く
Feishu Open Platform にアクセスしてサインインします。 Lark(グローバル)テナントの場合は、https://open.larksuite.com/app を使用し、Feishu 設定でdomain: "lark" を設定してください。
2. アプリを作成する
- Create enterprise app をクリックします。
- アプリ名と説明を入力します。
- アプリアイコンを選択します。
3. 認証情報をコピーする
Credentials & Basic Info から、次をコピーします。- App ID(形式:
cli_xxx) - App Secret
4. 権限を設定する
Permissions で Batch import をクリックし、次を貼り付けます。
5. ボット機能を有効化する
App Capability > Bot で次を行います。- ボット機能を有効化します。
- ボット名を設定します。
6. イベントサブスクリプションを設定する
⚠️ 重要: イベントサブスクリプションを設定する前に、次を確認してください。- Feishu 向けに
openclaw channels addをすでに実行していること - ゲートウェイが実行中であること(
openclaw gateway status)
- Use long connection to receive events(WebSocket)を選択します。
- イベント
im.message.receive_v1を追加します。
7. アプリを公開する
- Version Management & Release でバージョンを作成します。
- レビューに提出して公開します。
- 管理者の承認を待ちます(エンタープライズアプリは通常自動承認されます)。
ステップ 2: OpenClaw の設定
ウィザードで設定する(推奨)
設定ファイルで設定する
~/.openclaw/openclaw.json を編集します。
環境変数で設定する
Lark(グローバル)ドメイン
あなたのテナントが Lark (international) である場合は、ドメインをlark (またはフルドメイン文字列) に設定します。 テナントが Lark(国際版)の場合は、ドメインを lark(または完全なドメイン文字列)に設定します。これは channels.feishu.domain で設定するか、アカウントごと(channels.feishu.accounts.<id> .domain)に設定できます。.domain`).
ステップ 3: 起動とテスト
1. ゲートウェイを起動する
2. テストメッセージを送信する
Feishu でボットを見つけ、メッセージを送信します。3. ペアリングを承認する
デフォルトでは、ボットはペアリングコードを返信します。次を実行して承認します。 承認:概要
- Feishu ボットチャンネル: ゲートウェイによって管理される Feishu ボット
- 決定的ルーティング: 返信は常に Feishu に戻ります
- セッション分離: ダイレクトメッセージはメインセッションを共有し、グループは分離されます
- WebSocket 接続: Feishu SDK によるロングコネクションで、公開 URL は不要です
アクセス制御
ダイレクトメッセージ
-
デフォルト:
dmPolicy: "pairing"(不明なユーザーにはペアリングコードが発行されます) -
ペアリングを承認:
-
許可リストモード: 許可された Open ID を
channels.feishu.allowFromに設定します
グループチャット
1. グループポリシー(channels.feishu.groupPolicy):
"open"= グループ内の全員を許可(デフォルト)"allowlist"=groupAllowFromのみ許可"disabled"= グループメッセージを無効化
channels.feishu.groups.<chat_id>.requireMention):
true= @メンション必須(デフォルト)false= メンションなしで応答
グループ設定の例
すべてのグループを許可し、@メンション必須(デフォルト)
すべてのグループを許可し、@メンション不要
グループ内で特定ユーザーのみ許可
グループ / ユーザー ID の取得
グループ ID(chat_id)
グループ ID はoc_xxx のような形式です。
方法 1(推奨)
- ゲートウェイを起動し、グループ内でボットに @メンションします
openclaw logs --followを実行し、chat_idを確認します
ユーザー ID(open_id)
ユーザー ID はou_xxx のような形式です。
方法 1(推奨)
- ゲートウェイを起動し、ボットに DM を送信します
openclaw logs --followを実行し、open_idを確認します
一般的なコマンド
| Command | Description |
|---|---|
/status | ボットのステータスを表示 |
/reset | セッションをリセット |
/model | モデルを表示 / 切り替え |
注記: Feishu は現時点でネイティブのコマンドメニューをサポートしていないため、コマンドはテキストとして送信する必要があります。
ゲートウェイ管理コマンド
| Command | Description |
|---|---|
openclaw gateway status | ゲートウェイのステータスを表示 |
openclaw gateway install | ゲートウェイサービスをインストール / 起動 |
openclaw gateway stop | ゲートウェイサービスを停止 |
openclaw gateway restart | ゲートウェイサービスを再起動 |
openclaw logs --follow | ゲートウェイログを追跡 |
トラブルシューティング
グループチャットでボットが応答しない
- ボットがグループに追加されていることを確認します
- ボットに @メンションしていることを確認します(デフォルト動作)
groupPolicyが"disabled"に設定されていないことを確認します- ログを確認します:
openclaw logs --follow
ボットがメッセージを受信しない
- アプリが公開・承認されていることを確認します
- イベントサブスクリプションに
im.message.receive_v1が含まれていることを確認します - ロングコネクション が有効になっていることを確認します
- アプリの権限が完全であることを確認します
- ゲートウェイが実行中であることを確認します:
openclaw gateway status - ログを確認します:
openclaw logs --follow
App Secret の漏えい
- Feishu Open Platform で App Secret をリセットします
- 設定内の App Secret を更新します
- ゲートウェイを再起動します
メッセージ送信の失敗
- アプリに
im:message:send_as_botの権限があることを確認します - アプリが公開されていることを確認します
- 詳細なエラーについてログを確認します
高度な設定
複数アカウント
メッセージ制限
textChunkLimit: 送信テキストのチャンクサイズ(デフォルト: 2000 文字)mediaMaxMb: メディアのアップロード / ダウンロード制限(デフォルト: 30MB)
ストリーミング
Feishu はインタラクティブカードによるストリーミング返信をサポートしています。有効にすると、テキスト生成に合わせてカードが更新されます。 有効にすると、ボットはテキストを生成する際にカードを更新します。streaming: false を設定します。
マルチエージェントルーティング
bindings を使用して、Feishu の DM やグループを異なるエージェントにルーティングします。
match.channel:"feishu"match.peer.kind: “direct” または “group”match.peer.id: ユーザー Open ID(ou_xxx)またはグループ ID(oc_xxx)
設定リファレンス
完全な設定: Gateway configuration 主なオプション:| Setting | Description | Default |
|---|---|---|
channels.feishu.enabled | チャンネルの有効 / 無効 | true |
channels.feishu.domain | API ドメイン(feishu または lark) | feishu |
channels.feishu.accounts.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.domain | アカウントごとの API ドメイン上書き | feishu |
channels.feishu.dmPolicy | DM ポリシー | pairing |
channels.feishu.allowFrom | DM 許可リスト(open_id のリスト) | - |
channels.feishu.groupPolicy | グループポリシー | open |
channels.feishu.groupAllowFrom | グループ許可リスト | - |
channels.feishu.groups.<chat_id>.requireMention | @メンション必須 | true |
channels.feishu.groups.<chat_id>.enabled | グループ有効化 | true |
channels.feishu.textChunkLimit | メッセージチャンクサイズ | 2000 |
channels.feishu.mediaMaxMb | メディアサイズ制限 | 30 |
channels.feishu.streaming | ストリーミングカード出力を有効化 | true |
channels.feishu.blockStreaming | ブロックストリーミングを有効化 | true |
dmPolicy リファレンス
| Value | Behavior |
|---|---|
"pairing" | デフォルト。 不明なユーザーにはペアリングコードが発行され、承認が必要です |
"allowlist" | allowFrom に含まれるユーザーのみチャット可能 |
"open" | すべてのユーザーを許可(allowFrom に "*" が必要) |
"disabled" | DM を無効化 |
対応メッセージタイプ
受信
- ✅ テキスト
- ✅ リッチテキスト(post)
- ✅ 画像
- ✅ ファイル
- ✅ 音声
- ✅ 動画
- ✅ スタンプ
送信
- ✅ テキスト
- ✅ 画像
- ✅ ファイル
- ✅ 音声
- ⚠️ リッチテキスト(部分対応)