LINE
LINE は LINE Messaging API を介して OpenClaw に接続します。このプラグインは gateway 上で webhook レシーバーとして動作し、認証には Channel access token と Channel secret を使用します。 ステータス: バンドル済みプラグイン。ダイレクトメッセージ、グループチャット、メディア、位置情報、Flex メッセージ、template message、quick reply をサポートしています。reaction と thread はサポートされていません。バンドル済みプラグイン
LINE は現在の OpenClaw リリースではバンドル済みプラグインとして提供されているため、通常の パッケージ版ビルドでは個別のインストールは不要です。 古いビルド、または 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 の署名検証は body に依存します(生の body に対する HMAC)ので、OpenClaw は検証前に厳格な事前認証 body 制限とタイムアウトを適用します。
- OpenClaw は、検証済みの生リクエストバイト列から webhook イベントを処理します。署名整合性の安全性のため、上流 middleware により変換された
req.bodyの値は無視されます。
設定
最小構成:LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
tokenFile と secretFile は通常ファイルを指している必要があります。symlink は拒否されます。
複数アカウント:
アクセス制御
ダイレクトメッセージはデフォルトで pairing です。未知の送信者には pairing code が送られ、 承認されるまでそのメッセージは無視されます。channels.line.dmPolicy:pairing | allowlist | open | disabledchannels.line.allowFrom: DM 用に allowlist された LINE user IDchannels.line.groupPolicy:allowlist | open | disabledchannels.line.groupAllowFrom: グループ用に allowlist された LINE user ID- グループごとの上書き:
channels.line.groups.<groupId>.allowFrom - ランタイムに関する注意:
channels.lineが完全に存在しない場合、グループチェックではランタイムがgroupPolicy="allowlist"にフォールバックします(channels.defaults.groupPolicyが設定されていても同様)。
- ユーザー:
U+ 32 桁の 16 進文字 - グループ:
C+ 32 桁の 16 進文字 - ルーム:
R+ 32 桁の 16 進文字
メッセージ動作
- テキストは 5000 文字ごとに分割されます。
- Markdown の書式は除去されます。code block と table は可能な場合 Flex card に変換されます。
- ストリーミング応答はバッファされます。エージェントの処理中、LINE には loading animation とともに完全なチャンクが送信されます。
- メディアのダウンロードは
channels.line.mediaMaxMb(デフォルト 10)で上限が設定されます。
チャネルデータ(リッチメッセージ)
channelData.line を使うと、quick reply、位置情報、Flex card、template
message を送信できます。
/card コマンドも含まれています。
ACP サポート
LINE は ACP(Agent Communication Protocol)の会話バインディングをサポートします。/acp spawn <agent> --bind hereは、子 thread を作成せずに現在の LINE チャットを ACP セッションにバインドします。- 設定済みの ACP バインディングと、会話にバインドされたアクティブな ACP セッションは、他の会話チャネルと同様に LINE 上で動作します。
送信メディア
LINE プラグインは、agent message tool を通じた画像、動画、音声ファイルの送信をサポートしています。メディアは、適切なプレビューおよびトラッキング処理を伴う LINE 固有の配信経路を通じて送信されます。- 画像: 自動プレビュー生成付きの LINE 画像メッセージとして送信されます。
- 動画: 明示的なプレビューおよび content-type 処理付きで送信されます。
- 音声: LINE 音声メッセージとして送信されます。
トラブルシューティング
- webhook 検証に失敗する: webhook URL が HTTPS であり、
channelSecretが LINE Console の値と一致していることを確認してください。 - 受信イベントが来ない: webhook path が
channels.line.webhookPathと一致しており、gateway に LINE から到達可能であることを確認してください。 - メディアダウンロードエラー: メディアがデフォルト制限を超える場合は
channels.line.mediaMaxMbを引き上げてください。
関連
- Channels Overview — サポートされているすべてのチャネル
- Pairing — DM 認証と pairing フロー
- Groups — グループチャットの動作と mention ゲート
- Channel Routing — メッセージのセッションルーティング
- Security — アクセスモデルとハードニング