LINE
LINE łączy się z OpenClaw przez LINE Messaging API. Plugin działa jako odbiornik webhooków na gatewayu i używa tokenu dostępu kanału oraz sekretu kanału do uwierzytelniania. Status: dołączony plugin. Obsługiwane są wiadomości bezpośrednie, czaty grupowe, media, lokalizacje, wiadomości Flex, wiadomości szablonowe i szybkie odpowiedzi. Reakcje i wątki nie są obsługiwane.Dołączony plugin
LINE jest dostarczany jako dołączony plugin w bieżących wydaniach OpenClaw, więc zwykłe spakowane kompilacje nie wymagają osobnej instalacji. Jeśli używasz starszej kompilacji lub niestandardowej instalacji, która nie zawiera LINE, zainstaluj go ręcznie:Konfiguracja
- Utwórz konto LINE Developers i otwórz Console: https://developers.line.biz/console/
- Utwórz (lub wybierz) Provider i dodaj kanał Messaging API.
- Skopiuj Channel access token i Channel secret z ustawień kanału.
- Włącz Use webhook w ustawieniach Messaging API.
- Ustaw URL webhooka na punkt końcowy gatewaya (wymagane HTTPS):
channels.line.webhookPath lub
channels.line.accounts.<id>.webhookPath i odpowiednio zaktualizuj URL.
Uwaga dotycząca bezpieczeństwa:
- Weryfikacja podpisu LINE zależy od treści żądania (HMAC na surowej treści), więc OpenClaw stosuje ścisłe limity rozmiaru treści przed uwierzytelnieniem oraz limit czasu przed weryfikacją.
- OpenClaw przetwarza zdarzenia webhooka na podstawie zweryfikowanych surowych bajtów żądania. Przekształcone przez middleware wartości
req.bodysą ignorowane ze względu na bezpieczeństwo integralności podpisu.
Konfigurowanie
Minimalna konfiguracja:LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
tokenFile i secretFile muszą wskazywać na zwykłe pliki. Dowiązania symboliczne są odrzucane.
Wiele kont:
Kontrola dostępu
Wiadomości bezpośrednie domyślnie używają parowania. Nieznani nadawcy otrzymują kod parowania, a ich wiadomości są ignorowane do momentu zatwierdzenia.channels.line.dmPolicy:pairing | allowlist | open | disabledchannels.line.allowFrom: lista dozwolonych identyfikatorów użytkowników LINE dla DMchannels.line.groupPolicy:allowlist | open | disabledchannels.line.groupAllowFrom: lista dozwolonych identyfikatorów użytkowników LINE dla grup- Nadpisania per grupa:
channels.line.groups.<groupId>.allowFrom - Uwaga dotycząca środowiska uruchomieniowego: jeśli
channels.linejest całkowicie pominięte, środowisko uruchomieniowe wraca dogroupPolicy="allowlist"przy sprawdzaniu grup (nawet jeśli ustawionochannels.defaults.groupPolicy).
- Użytkownik:
U+ 32 znaki szesnastkowe - Grupa:
C+ 32 znaki szesnastkowe - Pokój:
R+ 32 znaki szesnastkowe
Zachowanie wiadomości
- Tekst jest dzielony na fragmenty po 5000 znaków.
- Formatowanie Markdown jest usuwane; bloki kodu i tabele są konwertowane na karty Flex, gdy to możliwe.
- Odpowiedzi strumieniowe są buforowane; LINE otrzymuje pełne fragmenty z animacją ładowania, gdy agent pracuje.
- Pobieranie mediów jest ograniczone przez
channels.line.mediaMaxMb(domyślnie 10).
Dane kanału (bogate wiadomości)
UżyjchannelData.line, aby wysyłać szybkie odpowiedzi, lokalizacje, karty Flex lub
wiadomości szablonowe.
/card dla presetów wiadomości Flex:
Obsługa ACP
LINE obsługuje powiązania konwersacji ACP (Agent Communication Protocol):/acp spawn <agent> --bind herewiąże bieżący czat LINE z sesją ACP bez tworzenia wątku podrzędnego.- Skonfigurowane powiązania ACP i aktywne sesje ACP powiązane z konwersacją działają w LINE tak samo jak w innych kanałach konwersacyjnych.
Media wychodzące
Plugin LINE obsługuje wysyłanie obrazów, filmów i plików audio przez narzędzie wiadomości agenta. Media są wysyłane przez ścieżkę dostarczania specyficzną dla LINE z odpowiednią obsługą podglądu i śledzenia:- Obrazy: wysyłane jako wiadomości obrazkowe LINE z automatycznym generowaniem podglądu.
- Filmy: wysyłane z jawną obsługą podglądu i typu treści.
- Audio: wysyłane jako wiadomości audio LINE.
Rozwiązywanie problemów
- Weryfikacja webhooka nie działa: upewnij się, że URL webhooka używa HTTPS i że
channelSecretodpowiada wartości w konsoli LINE. - Brak zdarzeń przychodzących: potwierdź, że ścieżka webhooka odpowiada
channels.line.webhookPathi że gateway jest osiągalny z LINE. - Błędy pobierania mediów: zwiększ
channels.line.mediaMaxMb, jeśli media przekraczają domyślny limit.
Powiązane
- Przegląd kanałów — wszystkie obsługiwane kanały
- Parowanie — uwierzytelnianie DM i przepływ parowania
- Grupy — zachowanie czatów grupowych i bramkowanie wzmianek
- Routing kanałów — routing sesji dla wiadomości
- Bezpieczeństwo — model dostępu i utwardzanie