Instalacja
Przed skonfigurowaniem kanału zainstaluj LINE:Konfiguracja początkowa
- 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 adres URL webhooka na punkt końcowy Gateway (wymagany HTTPS):
channels.line.webhookPath lub
channels.line.accounts.<id>.webhookPath i odpowiednio zaktualizuj adres URL.
Uwagi dotyczące bezpieczeństwa:
- Weryfikacja podpisu LINE zależy od treści żądania (HMAC obliczany na podstawie nieprzetworzonej treści), dlatego OpenClaw przed uwierzytelnieniem stosuje ścisły limit rozmiaru treści (64 KB) i limit czasu odczytu.
- OpenClaw przetwarza zdarzenia webhooka na podstawie zweryfikowanych, nieprzetworzonych bajtów żądania. Wartości
req.bodyprzekształcone przez nadrzędne oprogramowanie pośredniczące są ignorowane w celu zapewnienia integralności podpisu.
Konfiguracja
Konfiguracja minimalna:LINE_CHANNEL_ACCESS_TOKENLINE_CHANNEL_SECRET
tokenFile i secretFile muszą wskazywać zwykłe pliki. Dowiązania symboliczne są odrzucane.
Wartości konfiguracji wbudowane bezpośrednio mają pierwszeństwo przed plikami; zmienne środowiskowe stanowią ostatnią opcję rezerwową dla konta domyślnego.
Wiele kont:
Kontrola dostępu
Wiadomości bezpośrednie domyślnie wymagają parowania. Nieznani nadawcy otrzymują kod parowania, a ich wiadomości są ignorowane do czasu zatwierdzenia:channels.line.dmPolicy:pairing | allowlist | open | disabled(domyślniepairing)channels.line.allowFrom: dozwolone identyfikatory użytkowników LINE dla wiadomości bezpośrednich;dmPolicy: "open"wymaga["*"]channels.line.groupPolicy:allowlist | open | disabled(domyślnieallowlist)channels.line.groupAllowFrom: dozwolone identyfikatory użytkowników LINE dla grup; wpisyallowFromdotyczące wiadomości bezpośrednich nie dopuszczają nadawców grupowych- Nadpisania dla poszczególnych grup:
channels.line.groups.<groupId>.allowFrom(orazenabled,requireMention,systemPrompt,skills). W przypadkugroupPolicy: "allowlist"ustawgroupAllowFromluballowFromdla danej grupy; pusta lista dozwolonych nadawców grupy blokuje wiadomości grupowe nawet wtedy, gdy wiadomości bezpośrednie są otwarte. - Do statycznych grup dostępu nadawców można odwoływać się z poziomu
allowFrom,groupAllowFromorazallowFromdla poszczególnych grup za pomocąaccessGroup:<name>; zobacz Grupy dostępu. - Uwaga dotycząca środowiska uruchomieniowego: jeśli całkowicie brakuje
channels.line, środowisko uruchomieniowe używa zastępczogroupPolicy="allowlist"do sprawdzania grup (nawet jeśli ustawionochannels.defaults.groupPolicy).
- Użytkownik:
U+ 32 znaki szesnastkowe - Grupa:
C+ 32 znaki szesnastkowe - Pokój:
R+ 32 znaki szesnastkowe
Obsługa wiadomości
- Tekst jest dzielony na fragmenty po 5000 znaków.
- Formatowanie Markdown jest usuwane; bloki kodu i tabele są w miarę możliwości konwertowane na karty Flex.
- Odpowiedzi strumieniowe są buforowane; LINE otrzymuje pełne fragmenty wraz z animacją ładowania podczas pracy agenta.
- Rozmiar pobieranych multimediów jest ograniczony przez
channels.line.mediaMaxMb(domyślnie 10). - Przychodzące multimedia są zapisywane w
~/.openclaw/media/inbound/przed przekazaniem ich agentowi, zgodnie ze współdzielonym magazynem multimediów używanym przez inne Pluginy kanałów.
Dane kanału (wiadomości rozszerzone)
UżyjchannelData.line, aby wysyłać szybkie odpowiedzi, lokalizacje, karty Flex lub wiadomości
szablonowe.
/card do używania ustawień wstępnych 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 konwersacji.
Multimedia wychodzące
Plugin LINE wysyła obrazy, filmy i dźwięk za pośrednictwem narzędzia wiadomości agenta:- Obrazy: wysyłane jako wiadomości graficzne LINE; obraz podglądu domyślnie używa adresu URL multimediów.
- Filmy: wymagają obrazu podglądu; ustaw
channelData.line.previewImageUrlna adres URL obrazu. - Dźwięk: wysyłany jako wiadomości dźwiękowe LINE; czas trwania domyślnie wynosi 60 sekund, chyba że ustawiono
channelData.line.durationMs.
channelData.line.mediaKind, jeśli ta wartość jest ustawiona; w przeciwnym razie jest ustalany
na podstawie innych opcji LINE lub rozszerzenia pliku w adresie URL, z obrazem jako wartością domyślną.
Adresy URL wychodzących multimediów muszą być publicznymi adresami HTTPS o długości nieprzekraczającej 2000 znaków. OpenClaw
weryfikuje docelową nazwę hosta przed przekazaniem adresu URL do LINE i odrzuca adresy pętli zwrotnej,
łącza lokalnego oraz sieci prywatnych.
Ogólne wysyłanie multimediów bez opcji specyficznych dla LINE korzysta ze ścieżki obrazów.
Rozwiązywanie problemów
- Weryfikacja webhooka nie powiodła się: upewnij się, że adres URL webhooka używa HTTPS, a
channelSecretodpowiada wartości w LINE Console. - Brak zdarzeń przychodzących: potwierdź, że ścieżka webhooka odpowiada
channels.line.webhookPathi że Gateway jest dostępny z LINE. - Błędy pobierania multimediów: zwiększ
channels.line.mediaMaxMb, jeśli multimedia przekraczają domyślny limit.
Powiązane materiały
- Przegląd kanałów — wszystkie obsługiwane kanały
- Parowanie — uwierzytelnianie wiadomości bezpośrednich i proces parowania
- Grupy — obsługa czatów grupowych i wymóg wzmianki
- Routing kanałów — routing sesji dla wiadomości
- Bezpieczeństwo — model dostępu i wzmacnianie zabezpieczeń