---
read_when:
    - Sie möchten OpenClaw mit LINE verbinden
    - Sie müssen den LINE-Webhook und die Zugangsdaten einrichten
    - Sie möchten LINE-spezifische Nachrichtenoptionen
summary: Einrichtung, Konfiguration und Verwendung des LINE-Messaging-API-Plugins
title: LINE
x-i18n:
    generated_at: "2026-07-12T01:24:46Z"
    model: gpt-5.6
    postprocess_version: locale-links-v1
    provider: openai
    source_hash: ee5931c2bfca4a67a8b390f300907cd31a074988b10c6c0540444cff0bfde334
    source_path: channels/line.md
    workflow: 16
---

LINE stellt über die LINE Messaging API eine Verbindung zu OpenClaw her. Das Plugin wird als Webhook-Empfänger auf dem Gateway ausgeführt und verwendet Ihr Channel-Zugriffstoken und Channel-Secret zur Authentifizierung.

Status: offizielles, separat installiertes Plugin. Direktnachrichten, Gruppenchats, Medien, Standorte, Flex-Nachrichten, Vorlagennachrichten und Schnellantworten werden unterstützt. Reaktionen und Threads werden nicht unterstützt.

## Installation

Installieren Sie LINE, bevor Sie den Kanal konfigurieren:

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

Lokaler Checkout (bei Ausführung aus einem Git-Repository):

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

## Einrichtung

1. Erstellen Sie ein LINE Developers-Konto und öffnen Sie die Console:
   [https://developers.line.biz/console/](https://developers.line.biz/console/)
2. Erstellen oder wählen Sie einen Provider und fügen Sie einen **Messaging API**-Kanal hinzu.
3. Kopieren Sie **Channel access token** und **Channel secret** aus den Kanaleinstellungen.
4. Aktivieren Sie **Use webhook** in den Messaging API-Einstellungen.
5. Legen Sie als Webhook-URL Ihren Gateway-Endpunkt fest (HTTPS erforderlich):

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

Das Gateway beantwortet die Webhook-Verifizierung von LINE (GET) und bestätigt signierte eingehende Ereignisse (POST) unmittelbar nach der Signatur- und Nutzdatenvalidierung; die Verarbeitung durch den Agenten wird asynchron fortgesetzt.
Wenn Sie einen benutzerdefinierten Pfad benötigen, legen Sie `channels.line.webhookPath` oder `channels.line.accounts.<id>.webhookPath` fest und aktualisieren Sie die URL entsprechend.

Sicherheitshinweise:

- Die LINE-Signaturverifizierung hängt vom Nachrichtentext ab (HMAC über den unveränderten Nachrichtentext). Daher erzwingt OpenClaw vor der Authentifizierung eine strikte Größenbegrenzung von 64 KB und ein Zeitlimit für das Einlesen.
- OpenClaw verarbeitet Webhook-Ereignisse anhand der verifizierten unveränderten Anfragebytes. Durch vorgelagerte Middleware veränderte `req.body`-Werte werden zum Schutz der Signaturintegrität ignoriert.

## Konfiguration

Minimale Konfiguration:

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

Konfiguration für öffentliche Direktnachrichten:

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

Umgebungsvariablen (nur für das Standardkonto):

- `LINE_CHANNEL_ACCESS_TOKEN`
- `LINE_CHANNEL_SECRET`

Token-/Secret-Dateien:

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

`tokenFile` und `secretFile` müssen auf reguläre Dateien verweisen. Symbolische Links werden abgelehnt.
Direkt in der Konfiguration angegebene Werte haben Vorrang vor Dateien; Umgebungsvariablen dienen beim Standardkonto als letzte Ausweichmöglichkeit.

Mehrere Konten:

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

## Zugriffskontrolle

Direktnachrichten verwenden standardmäßig die Kopplung. Unbekannte Absender erhalten einen Kopplungscode, und ihre Nachrichten werden ignoriert, bis der Zugriff genehmigt wurde:

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

Positivlisten und Richtlinien:

- `channels.line.dmPolicy`: `pairing | allowlist | open | disabled` (Standard: `pairing`)
- `channels.line.allowFrom`: für Direktnachrichten zugelassene LINE-Benutzer-IDs; `dmPolicy: "open"` erfordert `["*"]`
- `channels.line.groupPolicy`: `allowlist | open | disabled` (Standard: `allowlist`)
- `channels.line.groupAllowFrom`: für Gruppen zugelassene LINE-Benutzer-IDs
- Gruppenspezifische Überschreibungen: `channels.line.groups.<groupId>.allowFrom` (zusätzlich `enabled`, `requireMention`, `systemPrompt`, `skills`)
- Statische Absender-Zugriffsgruppen können aus `allowFrom`, `groupAllowFrom` und dem gruppenspezifischen `allowFrom` über `accessGroup:<name>` referenziert werden; siehe [Zugriffsgruppen](/de/channels/access-groups).
- Laufzeithinweis: Wenn `channels.line` vollständig fehlt, verwendet die Laufzeit für Gruppenprüfungen ersatzweise `groupPolicy="allowlist"` (selbst wenn `channels.defaults.groupPolicy` festgelegt ist).

Bei LINE-IDs wird zwischen Groß- und Kleinschreibung unterschieden. Gültige IDs sehen wie folgt aus:

- Benutzer: `U` + 32 Hexadezimalzeichen
- Gruppe: `C` + 32 Hexadezimalzeichen
- Raum: `R` + 32 Hexadezimalzeichen

## Nachrichtenverhalten

- Text wird in Abschnitte von jeweils 5.000 Zeichen aufgeteilt.
- Markdown-Formatierungen werden entfernt; Codeblöcke und Tabellen werden nach Möglichkeit in Flex-Karten umgewandelt.
- Streaming-Antworten werden gepuffert; LINE erhält vollständige Abschnitte und zeigt eine Ladeanimation an, während der Agent arbeitet.
- Medien-Downloads werden durch `channels.line.mediaMaxMb` begrenzt (Standard: 10).
- Eingehende Medien werden unter `~/.openclaw/media/inbound/` gespeichert, bevor sie an den Agenten übergeben werden. Dies entspricht dem gemeinsamen Medienspeicher, den auch andere Kanal-Plugins verwenden.

## Kanaldaten (Rich Messages)

Verwenden Sie `channelData.line`, um Schnellantworten, Standorte, Flex-Karten oder Vorlagennachrichten zu senden.

```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",
      },
    },
  },
}
```

Das LINE-Plugin enthält außerdem einen `/card`-Befehl für Flex-Nachrichtenvorlagen:

```text
/card info "Welcome" "Thanks for joining!"
```

## ACP-Unterstützung

LINE unterstützt ACP-Konversationsbindungen (Agent Communication Protocol):

- `/acp spawn <agent> --bind here` bindet den aktuellen LINE-Chat an eine ACP-Sitzung, ohne einen untergeordneten Thread zu erstellen.
- Konfigurierte ACP-Bindungen und aktive, an Konversationen gebundene ACP-Sitzungen funktionieren unter LINE wie bei anderen Konversationskanälen.

Weitere Informationen finden Sie unter [ACP-Agenten](/de/tools/acp-agents).

## Ausgehende Medien

Das LINE-Plugin sendet Bilder, Videos und Audiodateien über das Nachrichtenwerkzeug des Agenten:

- **Bilder**: werden als LINE-Bildnachrichten gesendet; das Vorschaubild verwendet standardmäßig die Medien-URL.
- **Videos**: erfordern ein Vorschaubild; legen Sie `channelData.line.previewImageUrl` auf eine Bild-URL fest.
- **Audio**: wird als LINE-Audionachricht gesendet; die Dauer beträgt standardmäßig 60 Sekunden, sofern `channelData.line.durationMs` nicht festgelegt ist.

Der Medientyp wird aus `channelData.line.mediaKind` übernommen, sofern dieser Wert festgelegt ist. Andernfalls wird er aus den anderen LINE-Optionen oder der Dateiendung der URL abgeleitet, wobei ein Bild als Ausweichwert dient.

URLs für ausgehende Medien müssen öffentliche HTTPS-URLs mit höchstens 2.000 Zeichen sein. OpenClaw validiert den Ziel-Hostnamen, bevor die URL an LINE übergeben wird, und lehnt local loopback-, Link-Local- sowie private Netzwerkziele ab.

Allgemeine Medienübertragungen ohne LINE-spezifische Optionen verwenden die Bildroute.

## Fehlerbehebung

- **Webhook-Verifizierung schlägt fehl:** Stellen Sie sicher, dass die Webhook-URL HTTPS verwendet und `channelSecret` mit der LINE Console übereinstimmt.
- **Keine eingehenden Ereignisse:** Prüfen Sie, ob der Webhook-Pfad mit `channels.line.webhookPath` übereinstimmt und das Gateway von LINE aus erreichbar ist.
- **Fehler beim Medien-Download:** Erhöhen Sie `channels.line.mediaMaxMb`, wenn Medien die Standardbegrenzung überschreiten.

## Verwandte Themen

- [Kanalübersicht](/de/channels) — alle unterstützten Kanäle
- [Kopplung](/de/channels/pairing) — Authentifizierung von Direktnachrichten und Kopplungsablauf
- [Gruppen](/de/channels/groups) — Verhalten von Gruppenchats und Erwähnungsanforderungen
- [Kanal-Routing](/de/channels/channel-routing) — Sitzungs-Routing für Nachrichten
- [Sicherheit](/de/gateway/security) — Zugriffsmodell und Absicherung
