LINE
LINEはLINE Messaging APIを介してOpenClawに接続します。このPluginはGateway上でWebhook受信者として動作し、認証にはチャンネルアクセストークンとチャンネルシークレットを使用します。 ステータス: バンドル済みPlugin。ダイレクトメッセージ、グループチャット、メディア、位置情報、Flexメッセージ、テンプレートメッセージ、クイックリプライをサポートしています。リアクションとスレッドはサポートされていません。バンドル済みPlugin
LINEは現在のOpenClawリリースにバンドル済みPluginとして含まれているため、通常のパッケージ版ビルドでは個別のインストールは不要です。 古いビルドを使用している場合や、LINEが除外されたカスタムインストールを使用している場合は、手動でインストールしてください。セットアップ
- LINE Developersアカウントを作成し、Consoleを開きます: https://developers.line.biz/console/
- Providerを作成(または選択)し、Messaging APIチャンネルを追加します。
- チャンネル設定からChannel access tokenとChannel secretをコピーします。
- Messaging API設定でUse webhookを有効にします。
- Webhook URLをGatewayエンドポイントに設定します(HTTPS必須):
channels.line.webhookPathまたはchannels.line.accounts.<id>.webhookPathを設定し、それに応じてURLを更新してください。
セキュリティに関する注意:
- LINEの署名検証はボディに依存します(生のボディに対するHMAC)そのため、OpenClawは検証前に厳格な事前認証ボディ制限とタイムアウトを適用します。
- OpenClawは、検証済みの生リクエストバイト列からWebhookイベントを処理します。署名の整合性を保つため、上流ミドルウェアによって変換された
req.bodyの値は無視されます。
設定
最小構成:LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
tokenFileとsecretFileは通常ファイルを指している必要があります。シンボリックリンクは拒否されます。
複数アカウント:
アクセス制御
ダイレクトメッセージのデフォルトはペアリングです。未確認の送信者にはペアリングコードが送られ、承認されるまでメッセージは無視されます。channels.line.dmPolicy:pairing | allowlist | open | disabledchannels.line.allowFrom: DM用に許可リスト登録されたLINEユーザーIDchannels.line.groupPolicy:allowlist | open | disabledchannels.line.groupAllowFrom: グループ用に許可リスト登録されたLINEユーザーID- グループごとのオーバーライド:
channels.line.groups.<groupId>.allowFrom - ランタイムに関する注意:
channels.lineが完全に欠けている場合、ランタイムはグループチェックに対してgroupPolicy="allowlist"にフォールバックします(channels.defaults.groupPolicyが設定されていても同様です)。
- ユーザー:
U+ 32文字の16進数 - グループ:
C+ 32文字の16進数 - ルーム:
R+ 32文字の16進数
メッセージ動作
- テキストは5000文字ごとに分割されます。
- Markdown書式は除去されます。コードブロックと表は、可能な場合はFlexカードに変換されます。
- ストリーミング応答はバッファリングされます。エージェントの処理中、LINEには読み込みアニメーション付きで完全なチャンクが送信されます。
- メディアダウンロードは
channels.line.mediaMaxMb(デフォルト10)で上限が設定されます。
チャンネルデータ(リッチメッセージ)
クイックリプライ、位置情報、Flexカード、またはテンプレートメッセージを送信するには、channelData.lineを使用します。
/cardコマンドも含まれています。
ACPサポート
LINEはACP(Agent Communication Protocol)の会話バインディングをサポートしています。/acp spawn <agent> --bind hereは、子スレッドを作成せずに現在のLINEチャットをACPセッションにバインドします。- 設定済みのACPバインディングと、会話にバインドされたアクティブなACPセッションは、他の会話チャンネルと同様にLINE上で動作します。
送信メディア
LINE Pluginは、エージェントメッセージツールを通じた画像、動画、音声ファイルの送信をサポートしています。メディアは、適切なプレビューおよびトラッキング処理とともに、LINE固有の配信経路を通じて送信されます。- 画像: 自動プレビュー生成付きのLINE画像メッセージとして送信されます。
- 動画: 明示的なプレビューとcontent-type処理付きで送信されます。
- 音声: LINE音声メッセージとして送信されます。
トラブルシューティング
- Webhook検証に失敗する: Webhook URLがHTTPSであること、および
channelSecretがLINE Consoleの値と一致していることを確認してください。 - 受信イベントがない: Webhookパスが
channels.line.webhookPathと一致していること、およびGatewayにLINEから到達できることを確認してください。 - メディアダウンロードエラー: メディアがデフォルト上限を超える場合は、
channels.line.mediaMaxMbを増やしてください。
関連
- チャンネル概要 — サポートされているすべてのチャンネル
- ペアリング — DM認証とペアリングフロー
- グループ — グループチャットの動作とメンションゲーティング
- チャンネルルーティング — メッセージのセッションルーティング
- セキュリティ — アクセスモデルとハードニング