Installation
Installez LINE avant de configurer le canal :Configuration initiale
- Créez un compte LINE Developers et ouvrez la Console : https://developers.line.biz/console/
- Créez (ou sélectionnez) un Provider et ajoutez un canal Messaging API.
- Copiez le Channel access token et le Channel secret depuis les paramètres du canal.
- Activez Use webhook dans les paramètres de Messaging API.
- Définissez l’URL du Webhook sur le point de terminaison de votre Gateway (HTTPS requis) :
channels.line.webhookPath ou
channels.line.accounts.<id>.webhookPath et mettez l’URL à jour en conséquence.
Remarques de sécurité :
- La vérification de la signature LINE dépend du corps (HMAC calculé sur le corps brut) ; OpenClaw applique donc une limite stricte du corps avant authentification (64 KB) et un délai d’expiration de lecture avant la vérification.
- OpenClaw traite les événements du Webhook à partir des octets bruts de la requête vérifiée. Les valeurs
req.bodytransformées par un middleware en amont sont ignorées afin de préserver l’intégrité de la signature.
Configuration
Configuration minimale :LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
tokenFile et secretFile doivent pointer vers des fichiers ordinaires. Les liens symboliques sont refusés.
Les valeurs de configuration en ligne ont priorité sur les fichiers ; les variables d’environnement constituent le dernier recours pour le compte par défaut.
Plusieurs comptes :
Contrôle d’accès
Par défaut, les messages directs nécessitent un appairage. Les expéditeurs inconnus reçoivent un code d’appairage et leurs messages sont ignorés jusqu’à leur approbation :channels.line.dmPolicy:pairing | allowlist | open | disabled(valeur par défaut :pairing)channels.line.allowFrom: identifiants utilisateur LINE autorisés pour les messages directs ;dmPolicy: "open"nécessite["*"]channels.line.groupPolicy:allowlist | open | disabled(valeur par défaut :allowlist)channels.line.groupAllowFrom: identifiants utilisateur LINE autorisés pour les groupes ; les entréesallowFromdes messages directs n’autorisent pas les expéditeurs de groupe- Remplacements par groupe :
channels.line.groups.<groupId>.allowFrom(ainsi queenabled,requireMention,systemPrompt,skills). AvecgroupPolicy: "allowlist", définissezgroupAllowFromou la valeurallowFrompropre au groupe ; une liste d’autorisation de groupe vide bloque les messages de groupe même lorsque les messages directs sont ouverts. - Les groupes d’accès statiques d’expéditeurs peuvent être référencés depuis
allowFrom,groupAllowFromet la valeurallowFrompropre au groupe avecaccessGroup:<name>; consultez Groupes d’accès. - Remarque sur l’exécution : si
channels.lineest entièrement absent, l’exécution utilisegroupPolicy="allowlist"comme solution de repli pour les vérifications de groupe (même sichannels.defaults.groupPolicyest défini).
- Utilisateur :
U+ 32 caractères hexadécimaux - Groupe :
C+ 32 caractères hexadécimaux - Salon :
R+ 32 caractères hexadécimaux
Comportement des messages
- Le texte est découpé en segments de 5000 caractères.
- La mise en forme Markdown est supprimée ; les blocs de code et les tableaux sont convertis en cartes Flex lorsque cela est possible.
- Les réponses diffusées en continu sont mises en mémoire tampon ; LINE reçoit des segments complets avec une animation de chargement pendant que l’agent travaille.
- La taille des téléchargements de médias est limitée par
channels.line.mediaMaxMb(valeur par défaut : 10). - Les médias entrants sont enregistrés sous
~/.openclaw/media/inbound/avant d’être transmis à l’agent, conformément au stockage de médias partagé utilisé par les autres plugins de canal.
Données du canal (messages enrichis)
UtilisezchannelData.line pour envoyer des réponses rapides, des emplacements, des cartes Flex ou des messages
modèles.
/card pour les préréglages de messages Flex :
Prise en charge d’ACP
LINE prend en charge les liaisons de conversations ACP (Agent Communication Protocol) :/acp spawn <agent> --bind herelie la discussion LINE actuelle à une session ACP sans créer de fil enfant.- Les liaisons ACP configurées et les sessions ACP actives liées à une conversation fonctionnent sur LINE comme sur les autres canaux de conversation.
Médias sortants
Le plugin LINE envoie des images, des vidéos et du contenu audio par l’intermédiaire de l’outil de messagerie de l’agent :- Images : envoyées sous forme de messages image LINE ; l’image d’aperçu utilise par défaut l’URL du média.
- Vidéos : nécessitent une image d’aperçu ; définissez
channelData.line.previewImageUrlsur une URL d’image. - Audio : envoyé sous forme de messages audio LINE ; la durée est de 60 secondes par défaut, sauf si
channelData.line.durationMsest défini.
channelData.line.mediaKind lorsqu’il est défini ; sinon, il est déduit
des autres options LINE ou du suffixe de fichier de l’URL, avec le type image comme solution de repli.
Les URL de médias sortants doivent être des URL HTTPS publiques de 2000 caractères au maximum. OpenClaw
valide le nom d’hôte cible avant de transmettre l’URL à LINE et refuse les cibles en boucle locale,
locales au lien et appartenant à un réseau privé.
Les envois de médias génériques sans options propres à LINE utilisent la voie des images.
Dépannage
- Échec de la vérification du Webhook : vérifiez que l’URL du Webhook utilise HTTPS et que
channelSecretcorrespond à la Console LINE. - Aucun événement entrant : vérifiez que le chemin du Webhook correspond à
channels.line.webhookPathet que le Gateway est accessible depuis LINE. - Erreurs de téléchargement des médias : augmentez
channels.line.mediaMaxMbsi les médias dépassent la limite par défaut.
Voir aussi
- Vue d’ensemble des canaux — tous les canaux pris en charge
- Appairage — authentification des messages directs et processus d’appairage
- Groupes — comportement des discussions de groupe et filtrage par mention
- Routage des canaux — routage des sessions pour les messages
- Sécurité — modèle d’accès et renforcement de la sécurité