---
read_when:
    - Вы хотите подключить OpenClaw к LINE
    - Вам нужно настроить Webhook LINE и учетные данные
    - Вам нужны параметры сообщений, специфичные для LINE
summary: Настройка, конфигурация и использование плагина LINE Messaging API
title: LINE
x-i18n:
    generated_at: "2026-07-13T17:53:48Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    prompt_version: 24
    provider: openai
    source_hash: 31004467bc227b3a4e18168d1aa8b7f60d59e58994aeb890ac257beb2dbe8449
    source_path: channels/line.md
    workflow: 16
---

LINE подключается к OpenClaw через LINE Messaging API. Плагин работает как приёмник Webhook
на Gateway и использует токен доступа канала и секрет канала для
аутентификации.

Статус: официальный плагин, устанавливаемый отдельно. Поддерживаются личные сообщения, групповые чаты, медиафайлы,
местоположения, сообщения Flex, шаблонные сообщения и быстрые ответы.
Реакции и ветки обсуждений не поддерживаются.

## Установка

Установите LINE перед настройкой канала:

```bash
openclaw plugins install @openclaw/line
```

Локальная рабочая копия (при запуске из git-репозитория):

```bash
openclaw plugins install ./path/to/local/line-plugin
```

## Настройка

1. Создайте учётную запись LINE Developers и откройте Console:
   [https://developers.line.biz/console/](https://developers.line.biz/console/)
2. Создайте (или выберите) Provider и добавьте канал **Messaging API**.
3. Скопируйте **Channel access token** и **Channel secret** из настроек канала.
4. Включите **Use webhook** в настройках Messaging API.
5. Укажите в качестве URL-адреса Webhook конечную точку Gateway (требуется HTTPS):

```text
https://gateway-host/line/webhook
```

Gateway отвечает на проверочный запрос Webhook от LINE (GET) и подтверждает подписанные
входящие события (POST) сразу после проверки подписи и полезной нагрузки; обработка
агентом продолжается асинхронно.
Если требуется пользовательский путь, задайте `channels.line.webhookPath` или
`channels.line.accounts.<id>.webhookPath` и соответствующим образом обновите URL-адрес.

Примечания по безопасности:

- Проверка подписи LINE зависит от тела запроса (HMAC вычисляется по необработанному телу), поэтому перед проверкой OpenClaw применяет строгий лимит размера тела до аутентификации (64 КБ) и тайм-аут чтения.
- OpenClaw обрабатывает события Webhook из проверенных необработанных байтов запроса. Значения `req.body`, преобразованные промежуточным ПО вышестоящего уровня, игнорируются для сохранения целостности подписи.

## Конфигурация

Минимальная конфигурация:

```json5
{
  channels: {
    line: {
      enabled: true,
      channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN",
      channelSecret: "LINE_CHANNEL_SECRET",
      dmPolicy: "pairing",
    },
  },
}
```

Конфигурация общедоступных личных сообщений:

```json5
{
  channels: {
    line: {
      enabled: true,
      channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN",
      channelSecret: "LINE_CHANNEL_SECRET",
      dmPolicy: "open",
      allowFrom: ["*"],
    },
  },
}
```

Переменные окружения (только для учётной записи по умолчанию):

- `LINE_CHANNEL_ACCESS_TOKEN`
- `LINE_CHANNEL_SECRET`

Файлы токена и секрета:

```json5
{
  channels: {
    line: {
      tokenFile: "/path/to/line-token.txt",
      secretFile: "/path/to/line-secret.txt",
    },
  },
}
```

`tokenFile` и `secretFile` должны указывать на обычные файлы. Символические ссылки отклоняются.
Значения, заданные непосредственно в конфигурации, имеют приоритет над файлами; переменные окружения используются в последнюю очередь для учётной записи по умолчанию.

Несколько учётных записей:

```json5
{
  channels: {
    line: {
      accounts: {
        marketing: {
          channelAccessToken: "...",
          channelSecret: "...",
          webhookPath: "/line/marketing",
        },
      },
    },
  },
}
```

## Управление доступом

По умолчанию для личных сообщений используется сопряжение. Неизвестные отправители получают код сопряжения, а их
сообщения игнорируются до одобрения:

```bash
openclaw pairing list line
openclaw pairing approve line <CODE>
```

Списки разрешённых отправителей и политики:

- `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>`; см. [Группы доступа](/ru/channels/access-groups).
- Примечание о среде выполнения: если `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/` перед передачей
  агенту в соответствии с общим хранилищем медиафайлов, используемым другими плагинами каналов.

## Данные канала (форматированные сообщения)

Используйте `channelData.line` для отправки быстрых ответов, местоположений, карточек Flex или шаблонных
сообщений.

```json5
{
  text: "Here you go",
  channelData: {
    line: {
      quickReplies: ["Status", "Help"],
      location: {
        title: "Office",
        address: "123 Main St",
        latitude: 35.681236,
        longitude: 139.767125,
      },
      flexMessage: {
        altText: "Status card",
        contents: {/* Flex payload */},
      },
      templateMessage: {
        type: "confirm",
        text: "Proceed?",
        confirmLabel: "Yes",
        confirmData: "yes",
        cancelLabel: "No",
        cancelData: "no",
      },
    },
  },
}
```

Плагин LINE также предоставляет команду `/card` для предустановок сообщений Flex:

```text
/card info "Добро пожаловать" "Спасибо, что присоединились!"
```

## Поддержка ACP

LINE поддерживает привязки разговоров ACP (Agent Communication Protocol):

- `/acp spawn <agent> --bind here` привязывает текущий чат LINE к сеансу ACP без создания дочерней ветки.
- Настроенные привязки ACP и активные сеансы ACP, привязанные к разговору, работают в LINE так же, как и в других разговорных каналах.

Дополнительные сведения см. в разделе [Агенты ACP](/ru/tools/acp-agents).

## Исходящие медиафайлы

Плагин LINE отправляет изображения, видео и аудио с помощью инструмента сообщений агента:

- **Изображения**: отправляются как сообщения LINE с изображением; по умолчанию для предварительного просмотра используется изображение по URL-адресу медиафайла.
- **Видео**: требуют изображения для предварительного просмотра; задайте в `channelData.line.previewImageUrl` URL-адрес изображения.
- **Аудио**: отправляется как аудиосообщения 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`, если размер медиафайлов превышает
  установленный по умолчанию лимит.

## Связанные разделы

- [Обзор каналов](/ru/channels) — все поддерживаемые каналы
- [Сопряжение](/ru/channels/pairing) — аутентификация личных сообщений и процесс сопряжения
- [Группы](/ru/channels/groups) — обработка групповых чатов и управление доступом по упоминаниям
- [Маршрутизация каналов](/ru/channels/channel-routing) — маршрутизация сеансов для сообщений
- [Безопасность](/ru/gateway/security) — модель доступа и усиление защиты
