Bot Feishu
Feishu (Lark) to platforma czatu zespołowego używana przez firmy do komunikacji i współpracy. Ten plugin łączy OpenClaw z botem Feishu/Lark przy użyciu subskrypcji zdarzeń WebSocket platformy, dzięki czemu wiadomości mogą być odbierane bez udostępniania publicznego adresu URL webhooka.Dołączony plugin
Feishu jest dołączony do aktualnych wydań OpenClaw, więc nie jest wymagana osobna instalacja pluginu. Jeśli używasz starszej wersji lub niestandardowej instalacji, która nie zawiera dołączonego Feishu, zainstaluj go ręcznie:Szybki start
Są dwa sposoby dodania kanału Feishu:Metoda 1: onboarding (zalecane)
Jeśli właśnie zainstalowano OpenClaw, uruchom onboarding:- Utworzenie aplikacji Feishu i zebranie danych uwierzytelniających
- Skonfigurowanie danych uwierzytelniających aplikacji w OpenClaw
- Uruchomienie gateway
openclaw gateway statusopenclaw logs --follow
Metoda 2: konfiguracja przez CLI
Jeśli początkowa instalacja została już ukończona, 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ę. Dzierżawy Lark (globalne) powinny używać https://open.larksuite.com/app i ustawićdomain: "lark" w konfiguracji Feishu.
2. Utwórz aplikację
- Kliknij Create enterprise app
- Wypełnij nazwę i opis aplikacji
- Wybierz ikonę aplikacji

3. Skopiuj dane uwierzytelniające
Z sekcji Credentials & Basic Info skopiuj:- App ID (format:
cli_xxx) - App Secret

4. Skonfiguruj uprawnienia
W sekcji Permissions kliknij Batch import i wklej:
5. Włącz możliwości bota
W App Capability > Bot:- Włącz możliwości bota
- Ustaw nazwę bota

6. Skonfiguruj subskrypcję zdarzeń
⚠️ Ważne: przed skonfigurowaniem subskrypcji zdarzeń upewnij się, że:openclaw channels addzostało już uruchomione dla Feishu- Gateway jest uruchomiony (
openclaw gateway status)
- Wybierz Use long connection to receive events (WebSocket)
- Dodaj zdarzenie:
im.message.receive_v1 - (Opcjonalnie) Dla workflow komentarzy Drive dodaj też:
drive.notice.comment_add_v1

7. Opublikuj aplikację
- Utwórz wersję w Version Management & Release
- Wyślij do przeglądu i opublikuj
- Poczekaj na zatwierdzenie przez administratora (aplikacje firmowe zwykle są zatwierdzane automatycznie)
Krok 2: Skonfiguruj OpenClaw
Skonfiguruj za pomocą kreatora (zalecane)
Skonfiguruj przez plik config
Edytuj~/.openclaw/openclaw.json:
connectionMode: "webhook", ustaw zarówno verificationToken, jak i encryptKey. Serwer webhooków Feishu domyślnie nasłuchuje na 127.0.0.1; ustaw webhookHost tylko wtedy, gdy celowo potrzebujesz innego adresu nasłuchiwania.
Verification Token i Encrypt Key (tryb webhook)
Podczas używania trybu webhook ustaw w konfiguracji zarównochannels.feishu.verificationToken, jak i channels.feishu.encryptKey. Aby uzyskać te wartości:
- W Feishu Open Platform otwórz swoją aplikację
- Przejdź do Development → Events & Callbacks (开发配置 → 事件与回调)
- Otwórz kartę Encryption (加密策略)
- Skopiuj Verification Token i Encrypt Key

Skonfiguruj przez zmienne środowiskowe
Domena Lark (globalna)
Jeśli Twoja dzierżawa działa w Lark (międzynarodowym), ustaw domenę nalark (lub pełny ciąg domeny). Można to ustawić w channels.feishu.domain albo per konto (channels.feishu.accounts.<id>.domain).
Flagi optymalizacji limitów
Możesz ograniczyć użycie API Feishu za pomocą dwóch opcjonalnych flag:typingIndicator(domyślnietrue): gdy ustawione nafalse, pomija wywołania reakcji wpisywania.resolveSenderNames(domyślnietrue): gdy ustawione nafalse, pomija wywołania wyszukiwania profilu nadawcy.
Krok 3: Uruchom + przetestuj
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: wiadomości prywatne współdzielą główną sesję; grupy są izolowane
- Połączenie WebSocket: long connection przez SDK Feishu, bez potrzeby używania publicznego URL
Kontrola dostępu
Wiadomości prywatne
-
Domyślnie:
dmPolicy: "pairing"(nieznani użytkownicy otrzymują kod parowania) -
Zatwierdź parowanie:
-
Tryb allowlist: ustaw
channels.feishu.allowFromz dozwolonymi Open ID
Czaty grupowe
1. Zasada grupy (channels.feishu.groupPolicy):
"open"= zezwól wszystkim w grupach"allowlist"= zezwól tylkogroupAllowFrom"disabled"= wyłącz wiadomości grupowe
allowlist
2. Wymaganie wzmianki (channels.feishu.requireMention, z możliwością nadpisania przez channels.feishu.groups.<chat_id>.requireMention):
- jawne
true= wymagaj @wzmianki - jawne
false= odpowiadaj bez wzmianek - gdy nieustawione i
groupPolicy: "open"= domyślniefalse - gdy nieustawione i
groupPolicynie jest"open"= domyślnietrue
Przykłady konfiguracji grup
Zezwól na wszystkie grupy, bez wymagania @wzmianki (domyślnie dla otwartych grup)
Zezwól na wszystkie grupy, ale nadal wymagaj @wzmianki
Zezwól tylko na określone grupy
Ogranicz, którzy nadawcy mogą wysyłać wiadomości w grupie (allowlist nadawców)
Oprócz zezwolenia na samą grupę, wszystkie wiadomości w tej grupie są filtrowane wedługopen_id nadawcy: przetwarzane są tylko wiadomości użytkowników wymienionych w groups.<chat_id>.allowFrom; wiadomości od pozostałych członków są ignorowane (to pełne filtrowanie na poziomie nadawcy, a nie tylko dla poleceń sterujących takich jak /reset lub /new).
Pobieranie identyfikatorów grup/użytkowników
Identyfikatory grup (chat_id)
Identyfikatory grup wyglądają tak:oc_xxx.
Metoda 1 (zalecana)
- Uruchom gateway i użyj @wzmianki bota w grupie
- Uruchom
openclaw logs --followi poszukajchat_id
Identyfikatory użytkowników (open_id)
Identyfikatory użytkowników wyglądają tak:ou_xxx.
Metoda 1 (zalecana)
- Uruchom gateway i wyślij wiadomość prywatną do bota
- Uruchom
openclaw logs --followi poszukajopen_id
Typowe polecenia
| Polecenie | Opis |
|---|---|
/status | Pokaż stan bota |
/reset | Zresetuj sesję |
/model | Pokaż/przełącz model |
Uwaga: Feishu nie obsługuje jeszcze natywnych menu poleceń, więc polecenia muszą być wysyłane jako tekst.
Polecenia zarządzania gateway
| Polecenie | Opis |
|---|---|
openclaw gateway status | Pokaż stan gateway |
openclaw gateway install | Zainstaluj/uruchom usługę gateway |
openclaw gateway stop | Zatrzymaj usługę gateway |
openclaw gateway restart | Uruchom ponownie 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 używasz @wzmianki 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 została opublikowana i zatwierdzona
- Upewnij się, że subskrypcja zdarzeń zawiera
im.message.receive_v1 - Upewnij się, że long connection jest włączone
- 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 swojej konfiguracji
- Uruchom ponownie gateway
Błędy wysyłania wiadomości
- Upewnij się, że aplikacja ma uprawnienie
im:message:send_as_bot - Upewnij się, że aplikacja została opublikowana
- Sprawdź logi pod kątem szczegółowych błędów
Zaawansowana konfiguracja
Wiele kont
defaultAccount kontroluje, które konto Feishu jest używane, gdy wychodzące API nie określają jawnie accountId.
Limity wiadomości
textChunkLimit: rozmiar fragmentu tekstu wychodzącego (domyślnie: 2000 znaków)mediaMaxMb: limit wysyłania/pobierania multimediów (domyślnie: 30MB)
Streaming
Feishu obsługuje odpowiedzi strumieniowe przez karty interaktywne. Gdy jest włączone, bot aktualizuje kartę podczas generowania tekstu.streaming: false, aby poczekać na pełną odpowiedź przed wysłaniem.
Sesje ACP
Feishu obsługuje ACP dla:- wiadomości prywatnych
- rozmów grupowych w wątkach tematycznych
/acp ... bezpośrednio w rozmowie.
Trwałe powiązania ACP
Użyj typowanych powiązań ACP na poziomie głównym, aby przypiąć wiadomość prywatną Feishu lub rozmowę tematyczną do trwałej sesji ACP.Uruchamianie ACP powiązanego z wątkiem z czatu
W wiadomości prywatnej Feishu lub rozmowie tematycznej możesz uruchomić i powiązać sesję ACP bezpośrednio na miejscu:--thread heredziała dla wiadomości prywatnych i tematów Feishu.- Kolejne wiadomości w powiązanej wiadomości prywatnej/temacie są routowane bezpośrednio do tej sesji ACP.
- Wersja v1 nie obsługuje ogólnych czatów grupowych bez tematów.
Routowanie wielu agentów
Użyjbindings, aby routować wiadomości prywatne lub grupy Feishu do różnych agentów.
match.channel:"feishu"match.peer.kind:"direct"lub"group"match.peer.id: Open ID użytkownika (ou_xxx) lub ID grupy (oc_xxx)
Odniesienie do konfiguracji
Pełna konfiguracja: Konfiguracja Gateway Najważniejsze opcje:| Ustawienie | Opis | Domyślnie |
|---|---|---|
channels.feishu.enabled | Włącz/wyłącz kanał | true |
channels.feishu.domain | Domena API (feishu lub lark) | feishu |
channels.feishu.connectionMode | Tryb transportu zdarzeń | websocket |
channels.feishu.defaultAccount | Domyślne ID konta dla routowania wychodzącego | default |
channels.feishu.verificationToken | Wymagane dla trybu webhook | - |
channels.feishu.encryptKey | Wymagane dla trybu webhook | - |
channels.feishu.webhookPath | Ścieżka trasy webhooka | /feishu/events |
channels.feishu.webhookHost | Host nasłuchiwania webhooka | 127.0.0.1 |
channels.feishu.webhookPort | Port nasłuchiwania webhooka | 3000 |
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 | Zasada wiadomości prywatnych | pairing |
channels.feishu.allowFrom | Allowlist wiadomości prywatnych (lista open_id) | - |
channels.feishu.groupPolicy | Zasada grup | allowlist |
channels.feishu.groupAllowFrom | Allowlist grup | - |
channels.feishu.requireMention | Domyślnie wymagaj @wzmianki | warunkowe |
channels.feishu.groups.<chat_id>.requireMention | Nadpisanie wymagania @wzmianki per grupa | dziedziczone |
channels.feishu.groups.<chat_id>.enabled | Włącz grupę | 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 streaming bloków | true |
Odniesienie do dmPolicy
| Wartość | Zachowanie |
|---|---|
"pairing" | Domyślnie. Nieznani użytkownicy otrzymują kod parowania; muszą zostać zatwierdzeni |
"allowlist" | Tylko użytkownicy z allowFrom mogą rozmawiać |
"open" | Zezwól wszystkim użytkownikom (wymaga "*" w allowFrom) |
"disabled" | Wyłącz wiadomości prywatne |
Obsługiwane typy wiadomości
Odbieranie
- ✅ Tekst
- ✅ Tekst sformatowany (post)
- ✅ Obrazy
- ✅ Pliki
- ✅ Audio
- ✅ Wideo/media
- ✅ Naklejki
Wysyłanie
- ✅ Tekst
- ✅ Obrazy
- ✅ Pliki
- ✅ Audio
- ✅ Wideo/media
- ✅ Karty interaktywne
- ⚠️ Tekst sformatowany (formatowanie w stylu post i karty, ale nie dowolne funkcje autorskie Feishu)
Wątki i odpowiedzi
- ✅ Odpowiedzi inline
- ✅ Odpowiedzi w wątkach tematycznych, gdy Feishu udostępnia
reply_in_thread - ✅ Odpowiedzi multimedialne zachowują świadomość wątku podczas odpowiadania na wiadomość w wątku/temacie
Komentarze Drive
Feishu może wyzwolić agenta, gdy ktoś doda komentarz do dokumentu Feishu Drive (Docs, Sheets itp.). Agent otrzymuje treść komentarza, kontekst dokumentu i wątek komentarzy, dzięki czemu może odpowiedzieć w wątku lub edytować dokument. Wymagania:- Subskrybuj
drive.notice.comment_add_v1w ustawieniach subskrypcji zdarzeń aplikacji Feishu (obok istniejącegoim.message.receive_v1) - Narzędzie Drive jest domyślnie włączone; wyłącz je przez
channels.feishu.tools.drive: false
feishu_drive udostępnia następujące akcje komentarzy:
| Akcja | Opis |
|---|---|
list_comments | Wyświetl komentarze dokumentu |
list_comment_replies | Wyświetl odpowiedzi w wątku komentarzy |
add_comment | Dodaj nowy komentarz najwyższego poziomu |
reply_comment | Odpowiedz w istniejącym wątku komentarzy |
- treść komentarza i nadawcę
- metadane dokumentu (tytuł, typ, URL)
- kontekst wątku komentarzy do odpowiedzi w wątku
feishu_drive.reply_comment do powiadomienia
komentującego, a następnie wypisać dokładny cichy token NO_REPLY / no_reply, aby
uniknąć zduplikowanych wysyłek.
Powierzchnia akcji runtime
Feishu obecnie udostępnia następujące akcje runtime:sendreadeditthread-replypinlist-pinsunpinmember-infochannel-infochannel-listreactireactions, gdy reakcje są włączone w konfiguracji- akcje komentarzy
feishu_drive:list_comments,list_comment_replies,add_comment,reply_comment
Powiązane
- Przegląd kanałów — wszystkie obsługiwane kanały
- Pairing — uwierzytelnianie wiadomości prywatnych i przepływ parowania
- Grupy — zachowanie czatów grupowych i filtrowanie wzmiankami
- Routowanie kanałów — routowanie sesji dla wiadomości
- Bezpieczeństwo — model dostępu i wzmacnianie zabezpieczeń