Bot Feishu
Feishu (Lark) to zespołowa platforma czatu używana przez firmy do komunikacji i współpracy. Ta wtyczka łączy OpenClaw z botem Feishu/Lark, wykorzystując subskrypcję zdarzeń WebSocket platformy, dzięki czemu wiadomości mogą być odbierane bez wystawiania publicznego adresu URL webhooka.Wymagana wtyczka
Zainstaluj wtyczkę Feishu:Szybki start
Istnieją dwa sposoby dodania kanału Feishu:Metoda 1: kreator onboardingu (zalecane)
Jeśli właśnie zainstalowałeś OpenClaw, uruchom kreator:- Utworzenie aplikacji Feishu i zebranie poświadczeń
- Skonfigurowanie poświadczeń aplikacji w OpenClaw
- Uruchomienie gateway
openclaw gateway statusopenclaw logs --follow
Metoda 2: konfiguracja przez CLI
Jeśli masz już ukończoną instalację początkową, dodaj kanał przez CLI:openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
Krok 1: Utwórz aplikację Feishu
1. Otwórz Feishu Open Platform
Odwiedź Feishu Open Platform i zaloguj się. Tenanci Lark (globalni) powinni użyć https://open.larksuite.com/app i ustawićdomain: "lark" w konfiguracji Feishu.
2. Utwórz aplikację
- Kliknij Create enterprise app
- Uzupełnij nazwę aplikacji i opis
- Wybierz ikonę aplikacji
3. Skopiuj poświadczenia
W sekcji Credentials & Basic Info skopiuj:- Identyfikator aplikacji (format:
cli_xxx) - Sekret aplikacji
4. Skonfiguruj uprawnienia
W Permissions kliknij Batch import i wklej:
5. Włącz możliwości bota
W App Capability > Bot:- Włącz obsługę bota
- Ustaw nazwę bota
6. Skonfiguruj subskrypcję zdarzeń
⚠️ Ważne: przed skonfigurowaniem subskrypcji zdarzeń upewnij się, że:- Wykonałeś już
openclaw channels adddla Feishu - Gateway jest uruchomiony (
openclaw gateway status)
- Wybierz Use long connection to receive events (WebSocket)
- Dodaj zdarzenie:
im.message.receive_v1
7. Opublikuj aplikację
- Utwórz wersję w Version Management & Release
- Wyślij do przeglądu i opublikuj
- Poczekaj na zatwierdzenie przez administratora (aplikacje enterprise zwykle są zatwierdzane automatycznie)
Krok 2: Skonfiguruj OpenClaw
Konfiguracja za pomocą kreatora (zalecane)
Konfiguracja przez plik konfiguracyjny
Edytuj~/.openclaw/openclaw.json:
Konfiguracja przez zmienne środowiskowe
Domena Lark (globalna)
Jeśli Twój tenant korzysta z Lark (międzynarodowego), ustaw domenę nalark (lub pełny ciąg domeny). Możesz ustawić ją w channels.feishu.domain lub per konto (channels.feishu.accounts.<id>.domain).
Krok 3: Uruchomienie i test
1. Uruchom gateway
2. Wyślij wiadomość testową
W Feishu znajdź swojego bota i wyślij wiadomość.3. Zatwierdź parowanie
Domyślnie bot odpowiada kodem parowania. Zatwierdź go:Przegląd
- Kanał bota Feishu: bot Feishu zarządzany przez gateway
- Deterministyczne routowanie: odpowiedzi zawsze wracają do Feishu
- Izolacja sesji: DM-y współdzielą główną sesję; grupy są izolowane
- Połączenie WebSocket: długie połączenie przez SDK Feishu, bez potrzeby publicznego URL-a
Kontrola dostępu
Wiadomości bezpośrednie
-
Domyślnie:
dmPolicy: "pairing"(nieznani użytkownicy otrzymują kod parowania) -
Zatwierdzanie parowania:
-
Tryb listy dozwolonych: ustaw
channels.feishu.allowFromz dozwolonymi Open ID
Czaty grupowe
1. Polityka grup (channels.feishu.groupPolicy):
"open"= zezwól wszystkim w grupach (domyślnie)"allowlist"= zezwól tylkogroupAllowFrom"disabled"= wyłącz wiadomości grupowe
channels.feishu.groups.<chat_id>.requireMention):
true= wymagaj @wzmianki (domyślnie)false= odpowiadaj bez wzmianek
Przykłady konfiguracji grup
Zezwól na wszystkie grupy, wymagaj @wzmianki (domyślnie)
Zezwól na wszystkie grupy, bez wymogu @wzmianki
Zezwól tylko określonym użytkownikom w grupach
Uzyskiwanie identyfikatorów grup/użytkowników
ID grup (chat_id)
Identyfikatory grup wyglądają jakoc_xxx.
Metoda 1 (zalecana)
- Uruchom gateway i @wzmiankuj bota w grupie
- Uruchom
openclaw logs --followi znajdźchat_id
ID użytkowników (open_id)
Identyfikatory użytkowników wyglądają jakou_xxx.
Metoda 1 (zalecana)
- Uruchom gateway i wyślij botowi DM
- Uruchom
openclaw logs --followi znajdźopen_id
Typowe polecenia
| Polecenie | Opis |
|---|---|
/status | Pokaż status bota |
/reset | Zresetuj sesję |
/model | Pokaż/przełącz model |
Uwaga: Feishu nie obsługuje jeszcze natywnych menu poleceń, dlatego polecenia muszą być wysyłane jako tekst.
Polecenia zarządzania gateway
| Polecenie | Opis |
|---|---|
openclaw gateway status | Pokaż status gateway |
openclaw gateway install | Zainstaluj/uruchom usługę gateway |
openclaw gateway stop | Zatrzymaj usługę gateway |
openclaw gateway restart | Zrestartuj usługę gateway |
openclaw logs --follow | Śledź logi gateway |
Rozwiązywanie problemów
Bot nie odpowiada w czatach grupowych
- Upewnij się, że bot został dodany do grupy
- Upewnij się, że @wzmiankujesz bota (zachowanie domyślne)
- Sprawdź, czy
groupPolicynie jest ustawione na"disabled" - Sprawdź logi:
openclaw logs --follow
Bot nie odbiera wiadomości
- Upewnij się, że aplikacja jest opublikowana i zatwierdzona
- Upewnij się, że subskrypcja zdarzeń obejmuje
im.message.receive_v1 - Upewnij się, że włączone jest długie połączenie
- Upewnij się, że uprawnienia aplikacji są kompletne
- Upewnij się, że gateway jest uruchomiony:
openclaw gateway status - Sprawdź logi:
openclaw logs --follow
Wyciek App Secret
- Zresetuj App Secret w Feishu Open Platform
- Zaktualizuj App Secret w konfiguracji
- Zrestartuj gateway
Błędy wysyłania wiadomości
- Upewnij się, że aplikacja ma uprawnienie
im:message:send_as_bot - Upewnij się, że aplikacja jest opublikowana
- Sprawdź logi w poszukiwaniu szczegółowych błędów
Konfiguracja zaawansowana
Wiele kont
Limity wiadomości
textChunkLimit: rozmiar fragmentu tekstu wychodzącego (domyślnie: 2000 znaków)mediaMaxMb: limit wysyłania/pobierania mediów (domyślnie: 30 MB)
Strumieniowanie
Feishu obsługuje strumieniowe odpowiedzi za pomocą kart interaktywnych. Po włączeniu bot aktualizuje kartę w miarę generowania tekstu.streaming: false, aby czekać na pełną odpowiedź przed wysłaniem.
Routowanie wieloagentowe
Użyjbindings do kierowania DM-ów lub grup Feishu do różnych agentów.
match.channel:"feishu"match.peer.kind:"direct"or"group"match.peer.id: Open ID użytkownika (ou_xxx) lub ID grupy (oc_xxx)
Referencja konfiguracji
Pełna konfiguracja: Konfiguracja Gateway Kluczowe opcje:| Ustawienie | Opis | Domyślne |
|---|---|---|
channels.feishu.enabled | Włącz/wyłącz kanał | true |
channels.feishu.domain | Domena API (feishu lub lark) | feishu |
channels.feishu.accounts.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.domain | Nadpisanie domeny API per konto | feishu |
channels.feishu.dmPolicy | Polityka DM | pairing |
channels.feishu.allowFrom | Lista dozwolonych DM (lista open_id) | - |
channels.feishu.groupPolicy | Polityka grup | open |
channels.feishu.groupAllowFrom | Lista dozwolonych grup | - |
channels.feishu.groups.<chat_id>.requireMention | Wymagaj @wzmianki | true |
channels.feishu.groups.<chat_id>.enabled | Włącz grupy | true |
channels.feishu.textChunkLimit | Rozmiar fragmentu wiadomości | 2000 |
channels.feishu.mediaMaxMb | Limit rozmiaru mediów | 30 |
channels.feishu.streaming | Włącz strumieniowe wyjście kart | true |
channels.feishu.blockStreaming | Włącz strumieniowanie blokowe | true |
Referencja dmPolicy
| Wartość | Zachowanie |
|---|---|
"pairing" | Domyślne. Nieznani użytkownicy otrzymują kod parowania; muszą zostać zatwierdzeni |
"allowlist" | Tylko użytkownicy z allowFrom mogą prowadzić rozmowę |
"open" | Zezwól wszystkim użytkownikom (wymaga "*" w allowFrom) |
"disabled" | Wyłącz DM-y |
Obsługiwane typy wiadomości
Odbiór
- ✅ Tekst
- ✅ Tekst sformatowany (post)
- ✅ Obrazy
- ✅ Pliki
- ✅ Audio
- ✅ Wideo
- ✅ Naklejki
Wysyłanie
- ✅ Tekst
- ✅ Obrazy
- ✅ Pliki
- ✅ Audio
- ⚠️ Tekst sformatowany (częściowe wsparcie)