LINE
O LINE se conecta ao OpenClaw pela API de Mensagens do LINE. O plugin é executado como um receptor de webhook no gateway e usa seu token de acesso do canal + segredo do canal para autenticação. Status: plugin incluído. Mensagens diretas, chats em grupo, mídia, localizações, mensagens Flex, mensagens de modelo e respostas rápidas são compatíveis. Reações e threads não são compatíveis.Plugin incluído
O LINE é distribuído como um plugin incluído nas versões atuais do OpenClaw, então compilações empacotadas normais não precisam de uma instalação separada. Se você estiver em uma compilação mais antiga ou em uma instalação personalizada que exclua LINE, instale-o manualmente:Configuração inicial
- Crie uma conta no LINE Developers e abra o Console: https://developers.line.biz/console/
- Crie (ou escolha) um Provider e adicione um canal de Messaging API.
- Copie o Channel access token e o Channel secret das configurações do canal.
- Ative Use webhook nas configurações da Messaging API.
- Defina a URL do webhook para o endpoint do seu gateway (HTTPS obrigatório):
channels.line.webhookPath ou
channels.line.accounts.<id>.webhookPath e atualize a URL adequadamente.
Observação de segurança:
- A verificação de assinatura do LINE depende do corpo da requisição (HMAC sobre o corpo bruto), então o OpenClaw aplica limites rígidos de corpo pré-autenticação e timeout antes da verificação.
- O OpenClaw processa eventos de webhook a partir dos bytes brutos da requisição verificada. Valores
req.bodytransformados por middleware upstream são ignorados por segurança de integridade da assinatura.
Configurar
Configuração mínima:LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
tokenFile e secretFile devem apontar para arquivos regulares. Links simbólicos são rejeitados.
Múltiplas contas:
Controle de acesso
Mensagens diretas usam pareamento por padrão. Remetentes desconhecidos recebem um código de pareamento e suas mensagens são ignoradas até serem aprovadas.channels.line.dmPolicy:pairing | allowlist | open | disabledchannels.line.allowFrom: IDs de usuário LINE permitidos para DMschannels.line.groupPolicy:allowlist | open | disabledchannels.line.groupAllowFrom: IDs de usuário LINE permitidos para grupos- Substituições por grupo:
channels.line.groups.<groupId>.allowFrom - Observação de runtime: se
channels.lineestiver completamente ausente, o runtime volta paragroupPolicy="allowlist"em verificações de grupo (mesmo quechannels.defaults.groupPolicyesteja definido).
- Usuário:
U+ 32 caracteres hexadecimais - Grupo:
C+ 32 caracteres hexadecimais - Sala:
R+ 32 caracteres hexadecimais
Comportamento das mensagens
- O texto é dividido em blocos de até 5000 caracteres.
- A formatação Markdown é removida; blocos de código e tabelas são convertidos em cartões Flex quando possível.
- Respostas em streaming são armazenadas em buffer; o LINE recebe blocos completos com uma animação de carregamento enquanto o agente trabalha.
- Downloads de mídia são limitados por
channels.line.mediaMaxMb(padrão 10).
Dados do canal (mensagens avançadas)
UsechannelData.line para enviar respostas rápidas, localizações, cartões Flex ou mensagens
de modelo.
/card para predefinições de mensagens Flex:
Suporte a ACP
O LINE oferece suporte a vínculos de conversa ACP (Agent Communication Protocol):/acp spawn <agent> --bind herevincula o chat atual do LINE a uma sessão ACP sem criar uma thread filha.- Vínculos ACP configurados e sessões ACP ativas vinculadas à conversa funcionam no LINE como em outros canais de conversa.
Mídia de saída
O plugin do LINE oferece suporte ao envio de imagens, vídeos e arquivos de áudio por meio da ferramenta de mensagem do agente. A mídia é enviada pelo caminho de entrega específico do LINE, com tratamento adequado de visualização e rastreamento:- Imagens: enviadas como mensagens de imagem do LINE com geração automática de visualização.
- Vídeos: enviados com visualização explícita e tratamento de content-type.
- Áudio: enviado como mensagens de áudio do LINE.
Solução de problemas
- A verificação do webhook falha: verifique se a URL do webhook usa HTTPS e se o
channelSecretcorresponde ao console do LINE. - Nenhum evento de entrada: confirme se o caminho do webhook corresponde a
channels.line.webhookPathe se o gateway pode ser acessado pelo LINE. - Erros de download de mídia: aumente
channels.line.mediaMaxMbse a mídia exceder o limite padrão.
Relacionado
- Channels Overview — todos os canais compatíveis
- Pairing — autenticação por DM e fluxo de pareamento
- Groups — comportamento de chat em grupo e bloqueio por menção
- Channel Routing — roteamento de sessão para mensagens
- Security — modelo de acesso e reforço de segurança