From 8bf9280c211d2f84aba2fb027abbe63220ca03a4 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Mon, 13 Apr 2026 12:37:44 +0000 Subject: [PATCH] chore(i18n): refresh pl translations --- docs/pl/channels/feishu.md | 673 +++++++++---------------------------- 1 file changed, 160 insertions(+), 513 deletions(-) diff --git a/docs/pl/channels/feishu.md b/docs/pl/channels/feishu.md index 2f9d50031..e8b72f8e5 100644 --- a/docs/pl/channels/feishu.md +++ b/docs/pl/channels/feishu.md @@ -5,342 +5,84 @@ read_when: summary: Przegląd bota Feishu, funkcje i konfiguracja title: Feishu x-i18n: - generated_at: "2026-04-05T13:43:36Z" + generated_at: "2026-04-13T12:36:58Z" model: gpt-5.4 provider: openai - source_hash: 4e39b6dfe3a3aa4ebbdb992975e570e4f1b5e79f3b400a555fc373a0d1889952 + source_hash: 77fcf95a3fab534ed898bc157d76bf8bdfa8bf8a918d6af84c0db19890916c1a source_path: channels/feishu.md workflow: 15 --- -# Bot Feishu +# Feishu / Lark -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. +Feishu/Lark to kompleksowa platforma do współpracy, w której zespoły czatują, udostępniają dokumenty, zarządzają kalendarzami i wspólnie wykonują pracę. ---- - -## 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: - -```bash -openclaw plugins install @openclaw/feishu -``` +**Status:** gotowe do użycia produkcyjnego dla prywatnych wiadomości bota i czatów grupowych. WebSocket jest trybem domyślnym; tryb webhook jest opcjonalny. --- ## Szybki start -Są dwa sposoby dodania kanału Feishu: - -### Metoda 1: onboarding (zalecane) - -Jeśli właśnie zainstalowano OpenClaw, uruchom onboarding: - -```bash -openclaw onboard -``` - -Kreator przeprowadzi Cię przez: - -1. Utworzenie aplikacji Feishu i zebranie danych uwierzytelniających -2. Skonfigurowanie danych uwierzytelniających aplikacji w OpenClaw -3. Uruchomienie gateway - -✅ **Po konfiguracji** sprawdź stan gateway: - -- `openclaw gateway status` -- `openclaw logs --follow` - -### Metoda 2: konfiguracja przez CLI - -Jeśli początkowa instalacja została już ukończona, dodaj kanał przez CLI: - -```bash -openclaw channels add -``` - -Wybierz **Feishu**, a następnie wprowadź App ID i App Secret. - -✅ **Po konfiguracji** zarządzaj gateway: - -- `openclaw gateway status` -- `openclaw gateway restart` -- `openclaw logs --follow` - ---- - -## Krok 1: Utwórz aplikację Feishu - -### 1. Otwórz Feishu Open Platform - -Odwiedź [Feishu Open Platform](https://open.feishu.cn/app) i zaloguj się. - -Dzierżawy Lark (globalne) powinny używać [https://open.larksuite.com/app](https://open.larksuite.com/app) i ustawić `domain: "lark"` w konfiguracji Feishu. - -### 2. Utwórz aplikację - -1. Kliknij **Create enterprise app** -2. Wypełnij nazwę i opis aplikacji -3. Wybierz ikonę aplikacji - -![Create enterprise app](/images/feishu-step2-create-app.png) - -### 3. Skopiuj dane uwierzytelniające - -Z sekcji **Credentials & Basic Info** skopiuj: - -- **App ID** (format: `cli_xxx`) -- **App Secret** - -❗ **Ważne:** zachowaj App Secret w tajemnicy. - -![Get credentials](/images/feishu-step3-credentials.png) - -### 4. Skonfiguruj uprawnienia - -W sekcji **Permissions** kliknij **Batch import** i wklej: - -```json -{ - "scopes": { - "tenant": [ - "aily:file:read", - "aily:file:write", - "application:application.app_message_stats.overview:readonly", - "application:application:self_manage", - "application:bot.menu:write", - "cardkit:card:read", - "cardkit:card:write", - "contact:user.employee_id:readonly", - "corehr:file:download", - "event:ip_list", - "im:chat.access_event.bot_p2p_chat:read", - "im:chat.members:bot_access", - "im:message", - "im:message.group_at_msg:readonly", - "im:message.p2p_msg:readonly", - "im:message:readonly", - "im:message:send_as_bot", - "im:resource" - ], - "user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"] - } -} -``` - -![Configure permissions](/images/feishu-step4-permissions.png) - -### 5. Włącz możliwości bota - -W **App Capability** > **Bot**: - -1. Włącz możliwości bota -2. Ustaw nazwę bota - -![Enable bot capability](/images/feishu-step5-bot-capability.png) - -### 6. Skonfiguruj subskrypcję zdarzeń - -⚠️ **Ważne:** przed skonfigurowaniem subskrypcji zdarzeń upewnij się, że: - -1. `openclaw channels add` zostało już uruchomione dla Feishu -2. Gateway jest uruchomiony (`openclaw gateway status`) - -W sekcji **Event Subscription**: - -1. Wybierz **Use long connection to receive events** (WebSocket) -2. Dodaj zdarzenie: `im.message.receive_v1` -3. (Opcjonalnie) Dla workflow komentarzy Drive dodaj też: `drive.notice.comment_add_v1` - -⚠️ Jeśli gateway nie jest uruchomiony, konfiguracja long connection może nie zostać zapisana. - -![Configure event subscription](/images/feishu-step6-event-subscription.png) - -### 7. Opublikuj aplikację - -1. Utwórz wersję w **Version Management & Release** -2. Wyślij do przeglądu i opublikuj -3. Poczekaj na zatwierdzenie przez administratora (aplikacje firmowe zwykle są zatwierdzane automatycznie) - ---- - -## Krok 2: Skonfiguruj OpenClaw - -### Skonfiguruj za pomocą kreatora (zalecane) - -```bash -openclaw channels add -``` - -Wybierz **Feishu** i wklej swój App ID oraz App Secret. - -### Skonfiguruj przez plik config - -Edytuj `~/.openclaw/openclaw.json`: - -```json5 -{ - channels: { - feishu: { - enabled: true, - dmPolicy: "pairing", - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - name: "Mój asystent AI", - }, - }, - }, - }, -} -``` - -Jeśli używasz `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ówno `channels.feishu.verificationToken`, jak i `channels.feishu.encryptKey`. Aby uzyskać te wartości: - -1. W Feishu Open Platform otwórz swoją aplikację -2. Przejdź do **Development** → **Events & Callbacks** (开发配置 → 事件与回调) -3. Otwórz kartę **Encryption** (加密策略) -4. Skopiuj **Verification Token** i **Encrypt Key** - -Poniższy zrzut ekranu pokazuje, gdzie znaleźć **Verification Token**. **Encrypt Key** znajduje się w tej samej sekcji **Encryption**. - -![Verification Token location](/images/feishu-verification-token.png) - -### Skonfiguruj przez zmienne środowiskowe - -```bash -export FEISHU_APP_ID="cli_xxx" -export FEISHU_APP_SECRET="xxx" -``` - -### Domena Lark (globalna) - -Jeśli Twoja dzierżawa działa w Lark (międzynarodowym), ustaw domenę na `lark` (lub pełny ciąg domeny). Można to ustawić w `channels.feishu.domain` albo per konto (`channels.feishu.accounts..domain`). - -```json5 -{ - channels: { - feishu: { - domain: "lark", - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - }, - }, - }, - }, -} -``` - -### Flagi optymalizacji limitów - -Możesz ograniczyć użycie API Feishu za pomocą dwóch opcjonalnych flag: - -- `typingIndicator` (domyślnie `true`): gdy ustawione na `false`, pomija wywołania reakcji wpisywania. -- `resolveSenderNames` (domyślnie `true`): gdy ustawione na `false`, pomija wywołania wyszukiwania profilu nadawcy. - -Ustaw je na poziomie głównym lub per konto: - -```json5 -{ - channels: { - feishu: { - typingIndicator: false, - resolveSenderNames: false, - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - typingIndicator: true, - resolveSenderNames: false, - }, - }, - }, - }, -} -``` - ---- - -## Krok 3: Uruchom + przetestuj - -### 1. Uruchom gateway - -```bash -openclaw 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: - -```bash -openclaw pairing approve feishu -``` - -Po zatwierdzeniu możesz normalnie rozmawiać. - ---- - -## 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 +> **Wymaga OpenClaw 2026.4.10 lub nowszego.** Aby sprawdzić wersję, uruchom `openclaw --version`. Zaktualizuj za pomocą `openclaw update`. + + + + ```bash + openclaw channels login --channel feishu + ``` + Zeskanuj kod QR w aplikacji mobilnej Feishu/Lark, aby automatycznie utworzyć bota Feishu/Lark. + + + + ```bash + openclaw gateway restart + ``` + + --- ## Kontrola dostępu -### Wiadomości prywatne +### Prywatne wiadomości -- **Domyślnie**: `dmPolicy: "pairing"` (nieznani użytkownicy otrzymują kod parowania) -- **Zatwierdź parowanie**: +Skonfiguruj `dmPolicy`, aby określić, kto może wysyłać prywatne wiadomości do bota: - ```bash - openclaw pairing list feishu - openclaw pairing approve feishu - ``` +- `"pairing"` — nieznani użytkownicy otrzymują kod parowania; zatwierdź przez CLI +- `"allowlist"` — tylko użytkownicy wymienieni w `allowFrom` mogą czatować (domyślnie: tylko właściciel bota) +- `"open"` — zezwól wszystkim użytkownikom +- `"disabled"` — wyłącz wszystkie prywatne wiadomości -- **Tryb allowlist**: ustaw `channels.feishu.allowFrom` z dozwolonymi Open ID +**Zatwierdzanie prośby o parowanie:** + +```bash +openclaw pairing list feishu +openclaw pairing approve feishu +``` ### Czaty grupowe -**1. Zasada grupy** (`channels.feishu.groupPolicy`): +**Zasada dla grup** (`channels.feishu.groupPolicy`): -- `"open"` = zezwól wszystkim w grupach -- `"allowlist"` = zezwól tylko `groupAllowFrom` -- `"disabled"` = wyłącz wiadomości grupowe +| Wartość | Zachowanie | +| ------------- | ------------------------------------------ | +| `"open"` | Odpowiadaj na wszystkie wiadomości w grupach | +| `"allowlist"` | Odpowiadaj tylko grupom z `groupAllowFrom` | +| `"disabled"` | Wyłącz wszystkie wiadomości grupowe | Domyślnie: `allowlist` -**2. Wymaganie wzmianki** (`channels.feishu.requireMention`, z możliwością nadpisania przez `channels.feishu.groups..requireMention`): +**Wymaganie wzmianki** (`channels.feishu.requireMention`): -- jawne `true` = wymagaj @wzmianki -- jawne `false` = odpowiadaj bez wzmianek -- gdy nieustawione i `groupPolicy: "open"` = domyślnie `false` -- gdy nieustawione i `groupPolicy` nie jest `"open"` = domyślnie `true` +- `true` — wymagaj wzmianki @ (domyślnie) +- `false` — odpowiadaj bez wzmianki @ +- Nadpisanie dla grupy: `channels.feishu.groups..requireMention` --- ## Przykłady konfiguracji grup -### Zezwól na wszystkie grupy, bez wymagania @wzmianki (domyślnie dla otwartych grup) +### Zezwól na wszystkie grupy, bez wymogu wzmianki @ ```json5 { @@ -352,7 +94,7 @@ Domyślnie: `allowlist` } ``` -### Zezwól na wszystkie grupy, ale nadal wymagaj @wzmianki +### Zezwól na wszystkie grupy, ale nadal wymagaj wzmianki @ ```json5 { @@ -372,16 +114,14 @@ Domyślnie: `allowlist` channels: { feishu: { groupPolicy: "allowlist", - // Identyfikatory grup Feishu (chat_id) wyglądają tak: oc_xxx + // Identyfikatory grup wyglądają tak: oc_xxx groupAllowFrom: ["oc_xxx", "oc_yyy"], }, }, } ``` -### 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ług `open_id` nadawcy: przetwarzane są tylko wiadomości użytkowników wymienionych w `groups..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). +### Ogranicz nadawców w obrębie grupy ```json5 { @@ -391,7 +131,7 @@ Oprócz zezwolenia na samą grupę, **wszystkie wiadomości** w tej grupie są f groupAllowFrom: ["oc_xxx"], groups: { oc_xxx: { - // Identyfikatory użytkowników Feishu (open_id) wyglądają tak: ou_xxx + // Identyfikatory open_id użytkowników wyglądają tak: ou_xxx allowFrom: ["ou_user1", "ou_user2"], }, }, @@ -402,35 +142,23 @@ Oprócz zezwolenia na samą grupę, **wszystkie wiadomości** w tej grupie są f --- - - ## Pobieranie identyfikatorów grup/użytkowników -### Identyfikatory grup (chat_id) +### Identyfikatory grup (`chat_id`, format: `oc_xxx`) -Identyfikatory grup wyglądają tak: `oc_xxx`. +Otwórz grupę w Feishu/Lark, kliknij ikonę menu w prawym górnym rogu i przejdź do **Settings**. Identyfikator grupy (`chat_id`) jest widoczny na stronie ustawień. -**Metoda 1 (zalecana)** +![Get Group ID](/images/feishu-get-group-id.png) -1. Uruchom gateway i użyj @wzmianki bota w grupie -2. Uruchom `openclaw logs --follow` i poszukaj `chat_id` +### Identyfikatory użytkowników (`open_id`, format: `ou_xxx`) -**Metoda 2** +Uruchom Gateway, wyślij prywatną wiadomość do bota, a następnie sprawdź logi: -Użyj debuggera API Feishu, aby wyświetlić listę czatów grupowych. +```bash +openclaw logs --follow +``` -### Identyfikatory użytkowników (open_id) - -Identyfikatory użytkowników wyglądają tak: `ou_xxx`. - -**Metoda 1 (zalecana)** - -1. Uruchom gateway i wyślij wiadomość prywatną do bota -2. Uruchom `openclaw logs --follow` i poszukaj `open_id` - -**Metoda 2** - -Sprawdź żądania parowania dla Open ID użytkowników: +Poszukaj `open_id` w danych wyjściowych logów. Możesz też sprawdzić oczekujące prośby o parowanie: ```bash openclaw pairing list feishu @@ -440,59 +168,43 @@ openclaw pairing list feishu ## Typowe polecenia -| Polecenie | Opis | -| --------- | --------------------- | -| `/status` | Pokaż stan bota | -| `/reset` | Zresetuj sesję | -| `/model` | Pokaż/przełącz model | +| Polecenie | Opis | +| --------- | ----------------------------- | +| `/status` | Pokaż status bota | +| `/reset` | Zresetuj bieżącą sesję | +| `/model` | Pokaż lub przełącz model AI | -> 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 | +> Feishu/Lark nie obsługuje natywnego menu poleceń z ukośnikiem, więc wysyłaj je jako zwykłe wiadomości tekstowe. --- ## Rozwiązywanie problemów -### Bot nie odpowiada w czatach grupowych +### Bot nie odpowiada na czatach grupowych 1. Upewnij się, że bot został dodany do grupy -2. Upewnij się, że używasz @wzmianki bota (zachowanie domyślne) -3. Sprawdź, czy `groupPolicy` nie jest ustawione na `"disabled"` +2. Upewnij się, że oznaczasz bota wzmianką @ (domyślnie wymagane) +3. Sprawdź, czy `groupPolicy` nie ma wartości `"disabled"` 4. Sprawdź logi: `openclaw logs --follow` ### Bot nie odbiera wiadomości -1. Upewnij się, że aplikacja została opublikowana i zatwierdzona -2. Upewnij się, że subskrypcja zdarzeń zawiera `im.message.receive_v1` -3. Upewnij się, że **long connection** jest włączone -4. Upewnij się, że uprawnienia aplikacji są kompletne -5. Upewnij się, że gateway jest uruchomiony: `openclaw gateway status` +1. Upewnij się, że bot został opublikowany i zatwierdzony w Feishu Open Platform / Lark Developer +2. Upewnij się, że subskrypcja zdarzeń obejmuje `im.message.receive_v1` +3. Upewnij się, że wybrano **persistent connection** (WebSocket) +4. Upewnij się, że przyznano wszystkie wymagane zakresy uprawnień +5. Upewnij się, że Gateway działa: `openclaw gateway status` 6. Sprawdź logi: `openclaw logs --follow` -### Wyciek App Secret +### Wyciekł App Secret -1. Zresetuj App Secret w Feishu Open Platform -2. Zaktualizuj App Secret w swojej konfiguracji -3. Uruchom ponownie gateway - -### Błędy wysyłania wiadomości - -1. Upewnij się, że aplikacja ma uprawnienie `im:message:send_as_bot` -2. Upewnij się, że aplikacja została opublikowana -3. Sprawdź logi pod kątem szczegółowych błędów +1. Zresetuj App Secret w Feishu Open Platform / Lark Developer +2. Zaktualizuj wartość w swojej konfiguracji +3. Uruchom ponownie Gateway: `openclaw gateway restart` --- -## Zaawansowana konfiguracja +## Konfiguracja zaawansowana ### Wiele kont @@ -505,12 +217,12 @@ openclaw pairing list feishu main: { appId: "cli_xxx", appSecret: "xxx", - name: "Podstawowy bot", + name: "Główny bot", }, backup: { appId: "cli_yyy", appSecret: "yyy", - name: "Zapasowy bot", + name: "Bot zapasowy", enabled: false, }, }, @@ -519,42 +231,53 @@ openclaw pairing list feishu } ``` -`defaultAccount` kontroluje, które konto Feishu jest używane, gdy wychodzące API nie określają jawnie `accountId`. +`defaultAccount` określa, które konto jest używane, gdy wychodzące API nie określają `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) +- `textChunkLimit` — rozmiar fragmentu tekstu wychodzącego (domyślnie: `2000` znaków) +- `mediaMaxMb` — limit przesyłania/pobierania multimediów (domyślnie: `30` MB) ### Streaming -Feishu obsługuje odpowiedzi strumieniowe przez karty interaktywne. Gdy jest włączone, bot aktualizuje kartę podczas generowania tekstu. +Feishu/Lark obsługuje odpowiedzi strumieniowe za pomocą interaktywnych kart. Gdy ta funkcja jest włączona, bot aktualizuje kartę w czasie rzeczywistym podczas generowania tekstu. ```json5 { channels: { feishu: { - streaming: true, // włącz wyjście strumieniowe kart (domyślnie true) - blockStreaming: true, // włącz streaming na poziomie bloków (domyślnie true) + streaming: true, // włącz wyjście strumieniowe w kartach (domyślnie: true) + blockStreaming: true, // włącz streaming na poziomie bloków (domyślnie: true) }, }, } ``` -Ustaw `streaming: false`, aby poczekać na pełną odpowiedź przed wysłaniem. +Ustaw `streaming: false`, aby wysyłać pełną odpowiedź w jednej wiadomości. + +### Optymalizacja limitów + +Zmniejsz liczbę wywołań API Feishu/Lark za pomocą dwóch opcjonalnych flag: + +- `typingIndicator` (domyślnie `true`): ustaw `false`, aby pominąć wywołania reakcji pisania +- `resolveSenderNames` (domyślnie `true`): ustaw `false`, aby pominąć wyszukiwanie profili nadawców + +```json5 +{ + channels: { + feishu: { + typingIndicator: false, + resolveSenderNames: false, + }, + }, +} +``` ### Sesje ACP -Feishu obsługuje ACP dla: +Feishu/Lark obsługuje ACP dla prywatnych wiadomości i wiadomości wątków grupowych. ACP w Feishu/Lark jest sterowane poleceniami tekstowymi — nie ma natywnych menu poleceń z ukośnikiem, więc używaj bezpośrednio wiadomości `/acp ...` w rozmowie. -- wiadomości prywatnych -- rozmów grupowych w wątkach tematycznych - -ACP w Feishu jest sterowane poleceniami tekstowymi. Nie ma natywnych menu poleceń typu slash, więc używaj wiadomości `/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. +#### Trwałe powiązanie ACP ```json5 { @@ -598,58 +321,39 @@ Użyj typowanych powiązań ACP na poziomie głównym, aby przypiąć wiadomoś } ``` -#### Uruchamianie ACP powiązanego z wątkiem z czatu +#### Uruchamianie ACP z czatu -W wiadomości prywatnej Feishu lub rozmowie tematycznej możesz uruchomić i powiązać sesję ACP bezpośrednio na miejscu: +W prywatnej wiadomości lub wątku Feishu/Lark: ```text /acp spawn codex --thread here ``` -Uwagi: +`--thread here` działa w prywatnych wiadomościach i wiadomościach wątków Feishu/Lark. Kolejne wiadomości w powiązanej rozmowie są kierowane bezpośrednio do tej sesji ACP. -- `--thread here` dział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. +### Routing wielu agentów -### Routowanie wielu agentów - -Użyj `bindings`, aby routować wiadomości prywatne lub grupy Feishu do różnych agentów. +Użyj `bindings`, aby kierować prywatne wiadomości lub grupy Feishu/Lark do różnych agentów. ```json5 { agents: { list: [ { id: "main" }, - { - id: "clawd-fan", - workspace: "/home/user/clawd-fan", - agentDir: "/home/user/.openclaw/agents/clawd-fan/agent", - }, - { - id: "clawd-xi", - workspace: "/home/user/clawd-xi", - agentDir: "/home/user/.openclaw/agents/clawd-xi/agent", - }, + { id: "agent-a", workspace: "/home/user/agent-a" }, + { id: "agent-b", workspace: "/home/user/agent-b" }, ], }, bindings: [ { - agentId: "main", + agentId: "agent-a", match: { channel: "feishu", peer: { kind: "direct", id: "ou_xxx" }, }, }, { - agentId: "clawd-fan", - match: { - channel: "feishu", - peer: { kind: "direct", id: "ou_yyy" }, - }, - }, - { - agentId: "clawd-xi", + agentId: "agent-b", match: { channel: "feishu", peer: { kind: "group", id: "oc_zzz" }, @@ -659,58 +363,47 @@ Użyj `bindings`, aby routować wiadomości prywatne lub grupy Feishu do różny } ``` -Pola routowania: +Pola routingu: - `match.channel`: `"feishu"` -- `match.peer.kind`: `"direct"` lub `"group"` -- `match.peer.id`: Open ID użytkownika (`ou_xxx`) lub ID grupy (`oc_xxx`) +- `match.peer.kind`: `"direct"` (prywatna wiadomość) lub `"group"` (czat grupowy) +- `match.peer.id`: Open ID użytkownika (`ou_xxx`) lub identyfikator grupy (`oc_xxx`) -Wskazówki dotyczące wyszukiwania znajdziesz w sekcji [Pobieranie identyfikatorów grup/użytkowników](#get-groupuser-ids). +Wskazówki dotyczące wyszukiwania znajdziesz w [Pobieranie identyfikatorów grup/użytkowników](#pobieranie-identyfikatorów-grupużytkowników). --- -## Odniesienie do konfiguracji +## Dokumentacja konfiguracji -Pełna konfiguracja: [Konfiguracja Gateway](/gateway/configuration) +Pełna konfiguracja: [Konfiguracja Gateway](/pl/gateway/configuration) -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..appId` | App ID | - | -| `channels.feishu.accounts..appSecret` | App Secret | - | -| `channels.feishu.accounts..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..requireMention` | Nadpisanie wymagania @wzmianki per grupa | dziedziczone | -| `channels.feishu.groups..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 | +| 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` | Transport zdarzeń (`websocket` lub `webhook`) | `websocket` | +| `channels.feishu.defaultAccount` | Domyślne konto dla routingu wychodzącego | `default` | +| `channels.feishu.verificationToken` | Wymagane w trybie webhook | — | +| `channels.feishu.encryptKey` | Wymagane w trybie webhook | — | +| `channels.feishu.webhookPath` | Ścieżka trasy webhooka | `/feishu/events` | +| `channels.feishu.webhookHost` | Host powiązania webhooka | `127.0.0.1` | +| `channels.feishu.webhookPort` | Port powiązania webhooka | `3000` | +| `channels.feishu.accounts..appId` | App ID | — | +| `channels.feishu.accounts..appSecret` | App Secret | — | +| `channels.feishu.accounts..domain` | Nadpisanie domeny dla konta | `feishu` | +| `channels.feishu.dmPolicy` | Zasada dla prywatnych wiadomości | `allowlist` | +| `channels.feishu.allowFrom` | Lista dozwolonych prywatnych wiadomości (lista `open_id`) | [BotOwnerId] | +| `channels.feishu.groupPolicy` | Zasada dla grup | `allowlist` | +| `channels.feishu.groupAllowFrom` | Lista dozwolonych grup | — | +| `channels.feishu.requireMention` | Wymagaj wzmianki @ w grupach | `true` | +| `channels.feishu.groups..requireMention` | Nadpisanie wzmianki @ dla grupy | dziedziczone | +| `channels.feishu.groups..enabled` | Włącz/wyłącz określoną grupę | `true` | +| `channels.feishu.textChunkLimit` | Rozmiar fragmentu wiadomości | `2000` | +| `channels.feishu.mediaMaxMb` | Limit rozmiaru multimediów | `30` | +| `channels.feishu.streaming` | Strumieniowe wyjście kart | `true` | +| `channels.feishu.blockStreaming` | Streaming na poziomie bloków | `true` | +| `channels.feishu.typingIndicator` | Wysyłaj reakcje pisania | `true` | +| `channels.feishu.resolveSenderNames` | Rozpoznawaj wyświetlane nazwy nadawców | `true` | --- @@ -723,7 +416,7 @@ Najważniejsze opcje: - ✅ Obrazy - ✅ Pliki - ✅ Audio -- ✅ Wideo/media +- ✅ Wideo/multimedia - ✅ Naklejki ### Wysyłanie @@ -732,68 +425,22 @@ Najważniejsze opcje: - ✅ Obrazy - ✅ Pliki - ✅ Audio -- ✅ Wideo/media -- ✅ Karty interaktywne -- ⚠️ Tekst sformatowany (formatowanie w stylu post i karty, ale nie dowolne funkcje autorskie Feishu) +- ✅ Wideo/multimedia +- ✅ Karty interaktywne (w tym aktualizacje strumieniowe) +- ⚠️ Tekst sformatowany (formatowanie w stylu post; nie obsługuje pełnych możliwości tworzenia treści Feishu/Lark) ### 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 +- ✅ Odpowiedzi wbudowane +- ✅ Odpowiedzi wątkowe +- ✅ Odpowiedzi z multimediami zachowują świadomość wątku podczas odpowiadania na wiadomość w wątku -## 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_v1` w ustawieniach subskrypcji zdarzeń aplikacji Feishu - (obok istniejącego `im.message.receive_v1`) -- Narzędzie Drive jest domyślnie włączone; wyłącz je przez `channels.feishu.tools.drive: false` - -Narzędzie `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 | - -Gdy agent obsługuje zdarzenie komentarza Drive, otrzymuje: - -- treść komentarza i nadawcę -- metadane dokumentu (tytuł, typ, URL) -- kontekst wątku komentarzy do odpowiedzi w wątku - -Po wprowadzeniu zmian w dokumencie agent otrzymuje wskazówkę, aby użyć `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: - -- `send` -- `read` -- `edit` -- `thread-reply` -- `pin` -- `list-pins` -- `unpin` -- `member-info` -- `channel-info` -- `channel-list` -- `react` i `reactions`, 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](/channels) — wszystkie obsługiwane kanały -- [Pairing](/channels/pairing) — uwierzytelnianie wiadomości prywatnych i przepływ parowania -- [Grupy](/channels/groups) — zachowanie czatów grupowych i filtrowanie wzmiankami -- [Routowanie kanałów](/channels/channel-routing) — routowanie sesji dla wiadomości -- [Bezpieczeństwo](/gateway/security) — model dostępu i wzmacnianie zabezpieczeń +- [Przegląd kanałów](/pl/channels) — wszystkie obsługiwane kanały +- [Parowanie](/pl/channels/pairing) — uwierzytelnianie prywatnych wiadomości i przepływ parowania +- [Grupy](/pl/channels/groups) — zachowanie czatów grupowych i bramkowanie wzmiankami +- [Routing kanałów](/pl/channels/channel-routing) — routing sesji dla wiadomości +- [Zabezpieczenia](/pl/gateway/security) — model dostępu i utwardzanie