На цій сторінці
На цій сторінці
Regional platforms
LINE
LINE підключається до OpenClaw через LINE Messaging API. Plugin працює як отримувач Webhook на Gateway і використовує ваш токен доступу до каналу та секрет каналу для автентифікації.
Статус: офіційний Plugin, встановлюється окремо. Підтримуються особисті повідомлення, групові чати, медіафайли, розташування, повідомлення Flex, шаблонні повідомлення та швидкі відповіді. Реакції та гілки не підтримуються.
Встановлення
Установіть LINE перед налаштуванням каналу:
Локальна робоча копія (під час запуску з репозиторію git):
Налаштування
- Створіть обліковий запис LINE Developers і відкрийте Console: https://developers.line.biz/console/
- Створіть (або виберіть) Provider і додайте канал Messaging API.
- Скопіюйте Channel access token і Channel secret з налаштувань каналу.
- Увімкніть Use webhook у налаштуваннях Messaging API.
- Укажіть як URL-адресу Webhook кінцеву точку вашого Gateway (потрібен HTTPS):
Gateway відповідає на перевірку Webhook від LINE (GET) і негайно підтверджує підписані
вхідні події (POST) після перевірки підпису та корисного навантаження; обробка
агентом триває асинхронно.
Якщо потрібен власний шлях, задайте channels.line.webhookPath або
channels.line.accounts.<id>.webhookPath і відповідно оновіть URL-адресу.
Примітки щодо безпеки:
- Перевірка підпису LINE залежить від тіла запиту (HMAC над необробленим тілом), тому OpenClaw застосовує суворе обмеження розміру тіла до автентифікації (64 КБ) і тайм-аут читання перед перевіркою.
- OpenClaw обробляє події Webhook із перевірених необроблених байтів запиту. Значення
req.body, перетворені проміжним ПЗ вище за потоком, ігноруються задля збереження цілісності підпису.
Конфігурація
Мінімальна конфігурація:
Конфігурація загальнодоступних особистих повідомлень:
Змінні середовища (лише для облікового запису за замовчуванням):
LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
Файли токена й секрету:
tokenFile і secretFile мають указувати на звичайні файли. Символічні посилання відхиляються.
Значення безпосередньо в конфігурації мають пріоритет над файлами; змінні середовища є останнім резервним варіантом для облікового запису за замовчуванням.
Кілька облікових записів:
Керування доступом
Для особистих повідомлень типовим режимом є спарювання. Невідомі відправники отримують код спарювання, а їхні повідомлення ігноруються до схвалення:
Списки дозволених і політики:
channels.line.dmPolicy:pairing | allowlist | open | disabled(типове значення —pairing)channels.line.allowFrom: дозволені ідентифікатори користувачів LINE для особистих повідомлень;dmPolicy: "open"потребує["*"]channels.line.groupPolicy:allowlist | open | disabled(типове значення —allowlist)channels.line.groupAllowFrom: дозволені ідентифікатори користувачів LINE для груп; записи особистих повідомленьallowFromне надають доступу відправникам у групах- Перевизначення для окремих груп:
channels.line.groups.<groupId>.allowFrom(а такожenabled,requireMention,systemPrompt,skills). ЗgroupPolicy: "allowlist"задайтеgroupAllowFromабо груповий параметрallowFrom; порожній список дозволених для групи блокує групові повідомлення, навіть якщо особисті повідомлення відкриті. - На статичні групи доступу відправників можна посилатися з
allowFrom,groupAllowFromі групового параметраallowFromза допомогоюaccessGroup:<name>; див. Групи доступу. - Примітка щодо середовища виконання: якщо
channels.lineповністю відсутній, середовище виконання використовуєgroupPolicy="allowlist"як резервний варіант для перевірок груп (навіть якщо заданоchannels.defaults.groupPolicy).
Ідентифікатори LINE чутливі до регістру. Допустимі ідентифікатори мають такий вигляд:
- Користувач:
U+ 32 шістнадцяткові символи - Група:
C+ 32 шістнадцяткові символи - Кімната:
R+ 32 шістнадцяткові символи
Поведінка повідомлень
- Текст розбивається на частини по 5000 символів.
- Форматування Markdown вилучається; блоки коду й таблиці за можливості перетворюються на картки Flex.
- Потокові відповіді буферизуються; LINE отримує повні частини з анімацією завантаження, доки агент працює.
- Розмір завантажуваних медіафайлів обмежено параметром
channels.line.mediaMaxMb(типове значення — 10). - Вхідні медіафайли зберігаються в
~/.openclaw/media/inbound/, перш ніж передаватися агенту, відповідно до спільного сховища медіафайлів, яке використовують інші Plugin каналів.
Дані каналу (форматовані повідомлення)
Використовуйте channelData.line для надсилання швидких відповідей, розташувань, карток Flex або шаблонних
повідомлень.
Plugin LINE також містить команду /card для попередньо налаштованих повідомлень Flex:
Підтримка ACP
LINE підтримує прив’язування розмов ACP (Agent Communication Protocol):
/acp spawn <agent> --bind hereприв’язує поточний чат LINE до сеансу ACP без створення дочірньої гілки.- Налаштовані прив’язування ACP й активні сеанси ACP, прив’язані до розмови, працюють у LINE так само, як в інших каналах розмов.
Докладніше див. у розділі Агенти ACP.
Вихідні медіафайли
Plugin LINE надсилає зображення, відео й аудіо за допомогою інструмента повідомлень агента:
- Зображення: надсилаються як повідомлення із зображеннями LINE; типовим зображенням попереднього перегляду є URL-адреса медіафайлу.
- Відео: потребують зображення попереднього перегляду; задайте для
channelData.line.previewImageUrlURL-адресу зображення. - Аудіо: надсилається як аудіоповідомлення LINE; типова тривалість становить 60 секунд, якщо не задано
channelData.line.durationMs.
Тип медіафайлу береться з channelData.line.mediaKind, якщо його задано; інакше він визначається
з інших параметрів LINE або суфікса файлу в URL-адресі, а резервним варіантом є зображення.
URL-адреси вихідних медіафайлів мають бути загальнодоступними URL-адресами HTTPS завдовжки не більш ніж 2000 символів. OpenClaw перевіряє ім’я цільового хоста перед передаванням URL-адреси до LINE і відхиляє цілі зі зворотним зв’язком, локальними адресами каналу та адресами приватної мережі.
Для звичайного надсилання медіафайлів без параметрів, специфічних для LINE, використовується маршрут зображень.
Усунення несправностей
- Не вдається перевірити Webhook: переконайтеся, що URL-адреса Webhook використовує HTTPS, а
channelSecretвідповідає значенню в консолі LINE. - Немає вхідних подій: переконайтеся, що шлях Webhook відповідає
channels.line.webhookPathі що Gateway доступний із LINE. - Помилки завантаження медіафайлів: збільште
channels.line.mediaMaxMb, якщо розмір медіафайлів перевищує типове обмеження.
Пов’язані матеріали
- Огляд каналів — усі підтримувані канали
- Спарювання — автентифікація особистих повідомлень і процес спарювання
- Групи — поведінка групових чатів і обмеження за згадуваннями
- Маршрутизація каналів — маршрутизація сеансів для повідомлень
- Безпека — модель доступу й посилення захисту