LINE Integration für OpenClaw einrichten
Kennst du das? Du möchtest deinen Bot oder Agenten auf LINE bringen, aber die Integration der Messaging API fühlt sich oft nach unnötiger Fleißarbeit an. Webhooks validieren, Signaturen prüfen und die verschiedenen Nachrichtentypen korrekt mappen – das kann den Fokus vom eigentlichen Feature ablenken.
Mit dem LINE-Plugin für OpenClaw kannst du diese Hürden überspringen. Es übernimmt die schwere Arbeit bei der Authentifizierung und sorgt dafür, dass deine Nachrichten genau dort ankommen, wo sie sollen. Hier erfährst du, wie du LINE schnell und stabil anbindest.
LINE (Plugin)
Abschnitt betitelt „LINE (Plugin)“LINE verbindet sich über die LINE Messaging API mit OpenClaw. Das Plugin läuft als Webhook-Receiver auf dem Gateway und nutzt deinen Channel Access Token sowie das Channel Secret für die Authentifizierung.
Status: Über Plugin unterstützt. Direktnachrichten, Gruppen-Chats, Medien, Standorte, Flex Messages, Template Messages und Quick Replies werden unterstützt. Reactions und Threads werden nicht unterstützt.
Plugin erforderlich
Abschnitt betitelt „Plugin erforderlich“Installiere das LINE-Plugin:
openclaw plugins install @openclaw/lineLokaler Checkout (wenn du aus einem Git-Repo arbeitest):
openclaw plugins install ./path/to/local/line-pluginEinrichtung
Abschnitt betitelt „Einrichtung“- Erstelle einen LINE Developers Account und öffne die Console: https://developers.line.biz/console/
- Erstelle (oder wähle) einen Provider und füge einen Messaging API Channel hinzu.
- Kopiere den Channel access token und das Channel secret aus den Channel-Einstellungen.
- Aktiviere Use webhook in den Messaging API Einstellungen.
- Setze die Webhook-URL auf deinen Gateway-Endpunkt (HTTPS erforderlich):
https://gateway-host/line/webhookDer Gateway reagiert auf die Webhook-Verifizierung von LINE (GET) und eingehende Events (POST). Wenn du einen benutzerdefinierten Pfad benötigst, setze channels.line.webhookPath oder channels.line.accounts.<id>.webhookPath und aktualisiere die URL entsprechend.
Sicherheitshinweis:
- Die LINE-Signaturverifizierung ist vom Body abhängig (HMAC über den Raw Body). OpenClaw wendet daher strikte Pre-Auth Body-Limits und Timeouts vor der Verifizierung an.
- OpenClaw verarbeitet Webhook-Events aus den verifizierten Raw Request Bytes. Upstream-Middleware-transformierte
req.bodyWerte werden für die Integrität der Signatur ignoriert.
Konfiguration
Abschnitt betitelt „Konfiguration“Minimale Konfiguration:
{ channels: { line: { enabled: true, channelAccessToken: "LINE_CHANNEL_ACCESS_TOKEN", channelSecret: "LINE_CHANNEL_SECRET", dmPolicy: "pairing", }, },}Umgebungsvariablen (nur für den Default-Account):
LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
Token/Secret Dateien:
{ channels: { line: { tokenFile: "/path/to/line-token.txt", secretFile: "/path/to/line-secret.txt", }, },}tokenFile und secretFile müssen auf reguläre Dateien verweisen. Symlinks werden abgelehnt.
Mehrere Accounts:
{ channels: { line: { accounts: { marketing: { channelAccessToken: "...", channelSecret: "...", webhookPath: "/line/marketing", }, }, }, },}Zugriffskontrolle
Abschnitt betitelt „Zugriffskontrolle“Direktnachrichten nutzen standardmäßig Pairing. Unbekannte Absender erhalten einen Pairing-Code und ihre Nachrichten werden ignoriert, bis sie genehmigt wurden.
openclaw pairing list lineopenclaw pairing approve line <CODE>Allowlists und Policies:
channels.line.dmPolicy:pairing | allowlist | open | disabledchannels.line.allowFrom: LINE User-IDs auf der Allowlist für DMschannels.line.groupPolicy:allowlist | open | disabledchannels.line.groupAllowFrom: LINE User-IDs auf der Allowlist für Gruppen- Overrides pro Gruppe:
channels.line.groups.<groupId>.allowFrom - Runtime-Hinweis: Wenn
channels.linekomplett fehlt, nutzt die Runtime standardmäßiggroupPolicy="allowlist"für Gruppen-Checks (selbst wennchannels.defaults.groupPolicygesetzt ist).
LINE-IDs sind case-sensitive. Gültige IDs sehen so aus:
- User:
U+ 32 Hex-Zeichen - Gruppe:
C+ 32 Hex-Zeichen - Room:
R+ 32 Hex-Zeichen
Nachrichtenverhalten
Abschnitt betitelt „Nachrichtenverhalten“- Text wird bei 5000 Zeichen in Chunks aufgeteilt.
- Markdown-Formatierung wird entfernt; Code-Blöcke und Tabellen werden nach Möglichkeit in Flex Cards umgewandelt.
- Streaming-Antworten werden gepuffert; LINE empfängt vollständige Chunks mit einer Lade-Animation, während der Agent arbeitet.
- Medien-Downloads sind durch
channels.line.mediaMaxMbbegrenzt (Standard: 10).
Channel-Daten (Rich Messages)
Abschnitt betitelt „Channel-Daten (Rich Messages)“Nutze channelData.line, um Quick Replies, Standorte, Flex Cards oder Template Messages zu senden.
{ 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 bietet zudem einen /card Befehl für Flex Message Presets:
/card info "Welcome" "Thanks for joining!"ACP-Unterstützung
Abschnitt betitelt „ACP-Unterstützung“LINE unterstützt ACP (Agent Communication Protocol) Conversation Bindings:
/acp spawn <agent> --bind herebindet den aktuellen LINE-Chat an eine ACP-Session, ohne einen Child-Thread zu erstellen.- Konfigurierte ACP-Bindings und aktive konversationsgebundene ACP-Sessions funktionieren auf LINE wie bei anderen Conversation Channels.
Details findest du unter ACP agents.
Ausgehende Medien
Abschnitt betitelt „Ausgehende Medien“Das LINE-Plugin unterstützt das Senden von Bildern, Videos und Audiodateien über das Agent Message Tool. Medien werden über den LINE-spezifischen Pfad mit entsprechender Vorschau- und Tracking-Verarbeitung gesendet:
- Bilder: Werden als LINE-Bildnachrichten mit automatischer Vorschau-Generierung gesendet.
- Videos: Werden mit expliziter Vorschau und Content-Type-Handling gesendet.
- Audio: Werden als LINE-Audionachrichten gesendet.
Allgemeine Medien-Sends fallen auf die bestehende Image-only Route zurück, wenn kein LINE-spezifischer Pfad verfügbar ist.
Fehlerbehebung
Abschnitt betitelt „Fehlerbehebung“- Webhook-Verifizierung schlägt fehl: Stelle sicher, dass die Webhook-URL HTTPS nutzt und das
channelSecretmit der LINE Console übereinstimmt. - Keine eingehenden Events: Bestätige, dass der Webhook-Pfad mit
channels.line.webhookPathübereinstimmt und der Gateway von LINE aus erreichbar ist. - Fehler beim Medien-Download: Erhöhe
channels.line.mediaMaxMb, wenn die Medien das Standardlimit überschreiten.
Verwandte Themen
Abschnitt betitelt „Verwandte Themen“- Channels Übersicht — Alle unterstützten Channels
- Pairing — DM-Authentifizierung und Pairing-Flow
- Gruppen — Verhalten in Gruppen-Chats und Mention-Gating
- Channel Routing — Session-Routing für Nachrichten
- Sicherheit — Zugriffsmodell und Hardening
Nächste Schritte
Abschnitt betitelt „Nächste Schritte“Du hast LINE erfolgreich angebunden? Dann schau dir an, wie du den Zugriff über Pairing absicherst oder wie du Gruppen effektiv verwaltest.
OpenClaw Expert
Noch festgefahren?
Wenn diese Seite nicht hilft, frage OpenClaw Expert nach Schritt-fuer-Schritt-Loesungen.