OpenClaw Feishu / Lark チャンネル
WebSocket ベースのイベントサブスクリプションを使用して OpenClaw を Feishu(飛書)または Lark に接続します。このエンタープライズ統合により、AI アシスタントが Feishu/Lark(ByteDance の企業コラボレーションプラットフォーム)でダイレクトメッセージとグループチャットを処理できます。OpenClaw は飛書オープンプラットフォームのロングコネクション(WebSocket)モードで接続するため、パブリック URL や Webhook エンドポイントは不要です。飛書アプリを作成し、App ID と App Secret を入力するだけで、アシスタントが起動します。
Feishu / Lark 対応機能
テキストメッセージ
対応
メディア・ファイル
対応
リアクション
非対応
スレッド
非対応
音声メッセージ
非対応
グループチャット
対応
Feishu / Lark 前提条件
- 飛書(feishu.cn)または Lark(larksuite.com)のテナントアカウント(アプリ作成権限あり)
- 飛書プラグインのインストール:openclaw plugins install @openclaw/feishu
- OpenClaw Gateway が実行中で設定済みであること
- サーバーに Node.js 18+ がインストール済みであること
Feishu / Lark クイックセットアップ
飛書/Lark アプリを作成
飛書オープンプラットフォーム(open.feishu.cn/app)または Lark 開発者コンソール(open.larksuite.com/app)にアクセスします。新しいエンタープライズアプリを作成し、名前、説明、アイコンを設定します。認証情報ページで App ID(形式:cli_xxx)と App Secret をコピーします。
権限とボット機能を設定
アプリの権限管理で必要な権限を一括インポートします。アプリ機能 > ボットでボット機能を有効にします。イベントサブスクリプションで「ロングコネクションを使用」(WebSocket モード)を選択し、im.message.receive_v1 イベントを追加します。バージョン管理とリリースからアプリを公開します。
飛書チャンネル設定を OpenClaw に追加
'openclaw channels add' を実行して Feishu を選択するか、~/.openclaw/openclaw.json に手動でチャンネル設定を追加し、appId と appSecret を入力します。環境変数 FEISHU_APP_ID と FEISHU_APP_SECRET も使用できます。
Gateway を起動してテスト
'openclaw gateway' を実行してサービスを起動します。飛書でボットにダイレクトメッセージを送信します。デフォルトのペアリングポリシーを使用している場合は、ターミナルで 'openclaw pairing approve feishu <code>' を使用して送信者を承認します。
Feishu / Lark 設定例
{
"channels": {
"feishu": {
"enabled": true,
"dmPolicy": "pairing",
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "YOUR_APP_SECRET",
"botName": "My AI Assistant"
}
}
}
}
}Feishu / Lark 詳細ドキュメント
アーキテクチャ概要
飛書アプリの作成と認証情報の取得
# 環境変数経由
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="your_app_secret"
# または CLI ウィザード経由
openclaw channels add飛書と Lark の設定の違い
{
"channels": {
"feishu": {
"domain": "lark",
"accounts": {
"main": {
"appId": "cli_xxx",
"appSecret": "YOUR_APP_SECRET"
}
}
}
}
}DM ポリシー
{
"channels": {
"feishu": {
"dmPolicy": "allowlist",
"allowFrom": ["ou_xxx", "ou_yyy"]
}
}
}グループチャット管理
{
"channels": {
"feishu": {
"groupPolicy": "open",
"requireMention": true
}
}
}ストリーミング返信(インタラクティブカード)
{
"channels": {
"feishu": {
"streaming": true
}
}
}メッセージタイプとメディアサポート
{
"channels": {
"feishu": {
"mediaMaxMb": 30,
"textChunkLimit": 2000
}
}
}マルチアカウントとマルチエージェントルーティング
{
"channels": {
"feishu": {
"accounts": {
"support": {
"appId": "cli_aaa",
"appSecret": "secret_a",
"botName": "Support Bot"
},
"hr": {
"appId": "cli_bbb",
"appSecret": "secret_b",
"botName": "HR Bot"
}
}
}
}
}便利なコマンド
Feishu / Lark 設定リファレンス
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | 飛書チャンネルの有効/無効 |
| domain | string | "feishu" | API ドメイン:国内版は 'feishu'(feishu.cn)、国際版は 'lark'(larksuite.com) |
| dmPolicy | string | "pairing" | ボットに DM できるユーザーを制御。オプション:pairing、allowlist、open、disabled |
| allowFrom | string[] | [] | dmPolicy が 'allowlist' の場合に DM を許可する Open ID(ou_xxx)のリスト |
| groupPolicy | string | "open" | グループチャットポリシー。オプション:open、allowlist、disabled |
| requireMention | boolean | true | グループチャットでボットが応答するために @メンションが必要かどうか |
| streaming | boolean | true | インタラクティブカードによるストリーミング AI 応答を有効にする |
| textChunkLimit | number | 2000 | テキストメッセージあたりの最大文字数 |
| mediaMaxMb | number | 30 | アップロード/ダウンロードの最大メディアファイルサイズ(MB) |
| accounts.<id>.appId | string | "" | 飛書 App ID(形式:cli_xxx)、オープンプラットフォームコンソールから取得 |
| accounts.<id>.appSecret | string | "" | 飛書 App Secret、オープンプラットフォームコンソールから取得 |
| accounts.<id>.botName | string | "" | 飛書チャットでのボットの表示名 |
| historyLimit | number | 50 | AI コンテキストとして含める最近のメッセージ数 |
飛書チャンネルの有効/無効
API ドメイン:国内版は 'feishu'(feishu.cn)、国際版は 'lark'(larksuite.com)
ボットに DM できるユーザーを制御。オプション:pairing、allowlist、open、disabled
dmPolicy が 'allowlist' の場合に DM を許可する Open ID(ou_xxx)のリスト
グループチャットポリシー。オプション:open、allowlist、disabled
グループチャットでボットが応答するために @メンションが必要かどうか
インタラクティブカードによるストリーミング AI 応答を有効にする
テキストメッセージあたりの最大文字数
アップロード/ダウンロードの最大メディアファイルサイズ(MB)
飛書 App ID(形式:cli_xxx)、オープンプラットフォームコンソールから取得
飛書 App Secret、オープンプラットフォームコンソールから取得
飛書チャットでのボットの表示名
AI コンテキストとして含める最近のメッセージ数
Feishu / Lark よくある質問
Feishu / Lark トラブルシューティング
ボットがグループに追加されていない、@メンションが機能していない、または groupPolicy が 'disabled' に設定されている可能性があります。
アプリが公開されていない、イベントサブスクリプションが設定されていない、または権限が不足している可能性があります。
im:message:send_as_bot 権限が付与されていない、またはアプリが公開されていない可能性があります。
App Secret がバージョン管理に誤ってコミットされた、または安全でない方法で共有された。
ネットワークの不安定さ、またはファイアウォールがロングコネクション WebSocket に干渉しています。