From ea1a21e864bb660c01285d66070e2e178eb9ee11 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Mon, 13 Apr 2026 10:06:19 +0000 Subject: [PATCH] chore(i18n): refresh uk translations --- docs/uk/channels/feishu.md | 674 +++++++++---------------------------- 1 file changed, 160 insertions(+), 514 deletions(-) diff --git a/docs/uk/channels/feishu.md b/docs/uk/channels/feishu.md index 3c96059c4..ef4dd6cde 100644 --- a/docs/uk/channels/feishu.md +++ b/docs/uk/channels/feishu.md @@ -2,307 +2,43 @@ read_when: - Ви хочете підключити бота Feishu/Lark - Ви налаштовуєте канал Feishu -summary: Огляд, можливості та конфігурація бота Feishu +summary: Огляд бота Feishu, функції та налаштування title: Feishu x-i18n: - generated_at: "2026-04-05T17:58:11Z" + generated_at: "2026-04-13T10:05:23Z" model: gpt-5.4 provider: openai - source_hash: 4e39b6dfe3a3aa4ebbdb992975e570e4f1b5e79f3b400a555fc373a0d1889952 + source_hash: 77fcf95a3fab534ed898bc157d76bf8bdfa8bf8a918d6af84c0db19890916c1a source_path: channels/feishu.md workflow: 15 --- -# Бот Feishu +# Feishu / Lark -Feishu (Lark) — це платформа командного чату, яку компанії використовують для обміну повідомленнями та співпраці. Цей плагін підключає OpenClaw до бота Feishu/Lark за допомогою підписки платформи на події через WebSocket, щоб можна було отримувати повідомлення без відкриття публічного URL вебхука. +Feishu/Lark — це універсальна платформа для співпраці, де команди спілкуються в чатах, діляться документами, керують календарями та спільно виконують роботу. ---- - -## Вбудований плагін - -Feishu постачається в комплекті з поточними релізами OpenClaw, тому окремо -встановлювати плагін не потрібно. - -Якщо ви використовуєте старішу збірку або власну інсталяцію, яка не містить -вбудованого Feishu, установіть його вручну: - -```bash -openclaw plugins install @openclaw/feishu -``` +**Статус:** готово до використання в продакшені для особистих повідомлень боту та групових чатів. Режим WebSocket є типовим; режим Webhook — необов’язковий. --- ## Швидкий старт -Є два способи додати канал Feishu: - -### Метод 1: онбординг (рекомендовано) - -Якщо ви щойно встановили OpenClaw, запустіть онбординг: - -```bash -openclaw onboard -``` - -Майстер проведе вас через такі кроки: - -1. Створення застосунку Feishu і збір облікових даних -2. Налаштування облікових даних застосунку в OpenClaw -3. Запуск gateway - -✅ **Після налаштування** перевірте стан gateway: - -- `openclaw gateway status` -- `openclaw logs --follow` - -### Метод 2: налаштування через CLI - -Якщо ви вже завершили початкове встановлення, додайте канал через CLI: - -```bash -openclaw channels add -``` - -Виберіть **Feishu**, потім введіть App ID і App Secret. - -✅ **Після налаштування** керуйте gateway: - -- `openclaw gateway status` -- `openclaw gateway restart` -- `openclaw logs --follow` - ---- - -## Крок 1: Створіть застосунок Feishu - -### 1. Відкрийте платформу Feishu Open Platform - -Перейдіть на [Feishu Open Platform](https://open.feishu.cn/app) і ввійдіть у систему. - -Орендарі Lark (глобальні) мають використовувати [https://open.larksuite.com/app](https://open.larksuite.com/app) і встановити `domain: "lark"` у конфігурації Feishu. - -### 2. Створіть застосунок - -1. Натисніть **Create enterprise app** -2. Заповніть назву й опис застосунку -3. Виберіть піктограму застосунку - -![Create enterprise app](/images/feishu-step2-create-app.png) - -### 3. Скопіюйте облікові дані - -У розділі **Credentials & Basic Info** скопіюйте: - -- **App ID** (формат: `cli_xxx`) -- **App Secret** - -❗ **Важливо:** тримайте App Secret у таємниці. - -![Get credentials](/images/feishu-step3-credentials.png) - -### 4. Налаштуйте дозволи - -У розділі **Permissions** натисніть **Batch import** і вставте: - -```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. Увімкніть можливість бота - -У розділі **App Capability** > **Bot**: - -1. Увімкніть можливість бота -2. Установіть ім’я бота - -![Enable bot capability](/images/feishu-step5-bot-capability.png) - -### 6. Налаштуйте підписку на події - -⚠️ **Важливо:** перед налаштуванням підписки на події переконайтеся, що: - -1. Ви вже виконали `openclaw channels add` для Feishu -2. Gateway запущено (`openclaw gateway status`) - -У розділі **Event Subscription**: - -1. Виберіть **Use long connection to receive events** (WebSocket) -2. Додайте подію: `im.message.receive_v1` -3. (Необов’язково) Для робочих процесів із коментарями Drive також додайте: `drive.notice.comment_add_v1` - -⚠️ Якщо gateway не запущено, налаштування long-connection може не зберегтися. - -![Configure event subscription](/images/feishu-step6-event-subscription.png) - -### 7. Опублікуйте застосунок - -1. Створіть версію в **Version Management & Release** -2. Надішліть на перевірку та опублікуйте -3. Дочекайтеся схвалення адміністратора (застосунки підприємства зазвичай схвалюються автоматично) - ---- - -## Крок 2: Налаштуйте OpenClaw - -### Налаштування за допомогою майстра (рекомендовано) - -```bash -openclaw channels add -``` - -Виберіть **Feishu** і вставте свої App ID + App Secret. - -### Налаштування через файл конфігурації - -Відредагуйте `~/.openclaw/openclaw.json`: - -```json5 -{ - channels: { - feishu: { - enabled: true, - dmPolicy: "pairing", - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - name: "My AI assistant", - }, - }, - }, - }, -} -``` - -Якщо ви використовуєте `connectionMode: "webhook"`, установіть і `verificationToken`, і `encryptKey`. Сервер вебхуків Feishu за замовчуванням прив’язується до `127.0.0.1`; установлюйте `webhookHost`, лише якщо вам навмисно потрібна інша адреса прив’язки. - -#### Verification Token і Encrypt Key (режим webhook) - -Під час використання режиму webhook установіть у конфігурації і `channels.feishu.verificationToken`, і `channels.feishu.encryptKey`. Щоб отримати ці значення: - -1. У Feishu Open Platform відкрийте свій застосунок -2. Перейдіть до **Development** → **Events & Callbacks** (开发配置 → 事件与回调) -3. Відкрийте вкладку **Encryption** (加密策略) -4. Скопіюйте **Verification Token** і **Encrypt Key** - -На знімку екрана нижче показано, де знайти **Verification Token**. **Encrypt Key** указано в тому самому розділі **Encryption**. - -![Verification Token location](/images/feishu-verification-token.png) - -### Налаштування через змінні середовища - -```bash -export FEISHU_APP_ID="cli_xxx" -export FEISHU_APP_SECRET="xxx" -``` - -### Домен Lark (глобальний) - -Якщо ваш орендар працює в Lark (міжнародний), установіть домен `lark` (або повний рядок домену). Ви можете встановити його в `channels.feishu.domain` або для окремого облікового запису (`channels.feishu.accounts..domain`). - -```json5 -{ - channels: { - feishu: { - domain: "lark", - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - }, - }, - }, - }, -} -``` - -### Прапорці оптимізації квот - -Ви можете зменшити використання API Feishu за допомогою двох необов’язкових прапорців: - -- `typingIndicator` (за замовчуванням `true`): якщо `false`, пропускаються виклики реакції набору тексту. -- `resolveSenderNames` (за замовчуванням `true`): якщо `false`, пропускаються виклики пошуку профілю відправника. - -Установлюйте їх на верхньому рівні або для окремого облікового запису: - -```json5 -{ - channels: { - feishu: { - typingIndicator: false, - resolveSenderNames: false, - accounts: { - main: { - appId: "cli_xxx", - appSecret: "xxx", - typingIndicator: true, - resolveSenderNames: false, - }, - }, - }, - }, -} -``` - ---- - -## Крок 3: Запуск і тестування - -### 1. Запустіть gateway - -```bash -openclaw gateway -``` - -### 2. Надішліть тестове повідомлення - -У Feishu знайдіть свого бота й надішліть повідомлення. - -### 3. Схваліть pairing - -За замовчуванням бот відповідає кодом pairing. Схваліть його: - -```bash -openclaw pairing approve feishu -``` - -Після схвалення ви можете спілкуватися як зазвичай. - ---- - -## Огляд - -- **Канал бота Feishu**: бот Feishu, керований gateway -- **Детермінована маршрутизація**: відповіді завжди повертаються до Feishu -- **Ізоляція сесій**: особисті повідомлення використовують спільну основну сесію; групи ізольовані -- **Підключення WebSocket**: довге з’єднання через SDK Feishu, без потреби в публічному URL +> **Потрібен OpenClaw 2026.4.10 або новіший.** Щоб перевірити, виконайте `openclaw --version`. Щоб оновити, виконайте `openclaw update`. + + + + ```bash + openclaw channels login --channel feishu + ``` + Відскануйте QR-код у мобільному застосунку Feishu/Lark, щоб автоматично створити бота Feishu/Lark. + + + + ```bash + openclaw gateway restart + ``` + + --- @@ -310,38 +46,43 @@ openclaw pairing approve feishu ### Особисті повідомлення -- **За замовчуванням**: `dmPolicy: "pairing"` (невідомі користувачі отримують код pairing) -- **Схвалити pairing**: +Налаштуйте `dmPolicy`, щоб керувати тим, хто може писати боту в особисті повідомлення: - ```bash - openclaw pairing list feishu - openclaw pairing approve feishu - ``` +- `"pairing"` — невідомі користувачі отримують код прив’язки; підтвердьте його через CLI +- `"allowlist"` — писати можуть лише користувачі, перелічені в `allowFrom` (типово: лише власник бота) +- `"open"` — дозволити всім користувачам +- `"disabled"` — вимкнути всі особисті повідомлення -- **Режим allowlist**: установіть `channels.feishu.allowFrom` із дозволеними Open ID +**Підтвердження запиту на прив’язку:** + +```bash +openclaw pairing list feishu +openclaw pairing approve feishu +``` ### Групові чати -**1. Політика для груп** (`channels.feishu.groupPolicy`): +**Політика груп** (`channels.feishu.groupPolicy`): -- `"open"` = дозволити всім у групах -- `"allowlist"` = дозволити лише `groupAllowFrom` -- `"disabled"` = вимкнути групові повідомлення +| Value | Поведінка | +| ------------- | ------------------------------------------ | +| `"open"` | Відповідати на всі повідомлення в групах | +| `"allowlist"` | Відповідати лише групам із `groupAllowFrom` | +| `"disabled"` | Вимкнути всі групові повідомлення | -За замовчуванням: `allowlist` +Типове значення: `allowlist` -**2. Вимога згадки** (`channels.feishu.requireMention`, можна перевизначити через `channels.feishu.groups..requireMention`): +**Вимога згадки** (`channels.feishu.requireMention`): -- явне `true` = вимагати @mention -- явне `false` = відповідати без згадок -- якщо не задано й `groupPolicy: "open"` = за замовчуванням `false` -- якщо не задано й `groupPolicy` не дорівнює `"open"` = за замовчуванням `true` +- `true` — вимагати @згадку (типово) +- `false` — відповідати без @згадки +- Перевизначення для окремої групи: `channels.feishu.groups..requireMention` --- -## Приклади конфігурації груп +## Приклади налаштування груп -### Дозволити всі групи, @mention не потрібен (за замовчуванням для відкритих груп) +### Дозволити всі групи без обов’язкової @згадки ```json5 { @@ -353,7 +94,7 @@ openclaw pairing approve feishu } ``` -### Дозволити всі групи, але все одно вимагати @mention +### Дозволити всі групи, але все одно вимагати @згадку ```json5 { @@ -373,16 +114,14 @@ openclaw pairing approve feishu channels: { feishu: { groupPolicy: "allowlist", - // Feishu group IDs (chat_id) look like: oc_xxx + // ID груп мають такий вигляд: oc_xxx groupAllowFrom: ["oc_xxx", "oc_yyy"], }, }, } ``` -### Обмежити, які відправники можуть писати в групі (allowlist відправників) - -Окрім дозволу для самої групи, **усі повідомлення** в цій групі фільтруються за open_id відправника: обробляються лише повідомлення від користувачів, перелічених у `groups..allowFrom`; повідомлення від інших учасників ігноруються (це повне обмеження на рівні відправника, а не лише для керівних команд на кшталт /reset або /new). +### Обмежити відправників у межах групи ```json5 { @@ -392,7 +131,7 @@ openclaw pairing approve feishu groupAllowFrom: ["oc_xxx"], groups: { oc_xxx: { - // Feishu user IDs (open_id) look like: ou_xxx + // open_id користувачів мають такий вигляд: ou_xxx allowFrom: ["ou_user1", "ou_user2"], }, }, @@ -403,35 +142,23 @@ openclaw pairing approve feishu --- - +## Як отримати ID групи/користувача -## Отримання ID групи/користувача +### ID груп (`chat_id`, формат: `oc_xxx`) -### ID групи (chat_id) +Відкрийте групу у Feishu/Lark, натисніть значок меню у верхньому правому куті й перейдіть до **Settings**. ID групи (`chat_id`) вказано на сторінці налаштувань. -ID групи мають вигляд `oc_xxx`. +![Get Group ID](/images/feishu-get-group-id.png) -**Метод 1 (рекомендовано)** +### ID користувачів (`open_id`, формат: `ou_xxx`) -1. Запустіть gateway і зробіть @mention бота в групі -2. Виконайте `openclaw logs --follow` і знайдіть `chat_id` +Запустіть Gateway, надішліть боту особисте повідомлення, а потім перегляньте журнали: -**Метод 2** +```bash +openclaw logs --follow +``` -Використайте налагоджувач API Feishu, щоб отримати список групових чатів. - -### ID користувача (open_id) - -ID користувача мають вигляд `ou_xxx`. - -**Метод 1 (рекомендовано)** - -1. Запустіть gateway і надішліть боту особисте повідомлення -2. Виконайте `openclaw logs --follow` і знайдіть `open_id` - -**Метод 2** - -Перевірте запити pairing для Open ID користувачів: +Знайдіть `open_id` у виводі журналу. Ви також можете переглянути запити на прив’язку, що очікують підтвердження: ```bash openclaw pairing list feishu @@ -441,59 +168,43 @@ openclaw pairing list feishu ## Поширені команди -| Команда | Опис | -| --------- | --------------------- | -| `/status` | Показати стан бота | -| `/reset` | Скинути сесію | -| `/model` | Показати/змінити модель | +| Command | Опис | +| --------- | ------------------------------ | +| `/status` | Показати статус бота | +| `/reset` | Скинути поточну сесію | +| `/model` | Показати або змінити AI-модель | -> Примітка: Feishu ще не підтримує власні меню команд, тому команди потрібно надсилати як текст. - -## Команди керування gateway - -| Команда | Опис | -| -------------------------- | ----------------------------- | -| `openclaw gateway status` | Показати стан gateway | -| `openclaw gateway install` | Установити/запустити службу gateway | -| `openclaw gateway stop` | Зупинити службу gateway | -| `openclaw gateway restart` | Перезапустити службу gateway | -| `openclaw logs --follow` | Переглядати журнали gateway | +> Feishu/Lark не підтримує вбудовані меню slash-команд, тому надсилайте їх як звичайні текстові повідомлення. --- -## Усунення несправностей +## Усунення проблем ### Бот не відповідає в групових чатах 1. Переконайтеся, що бота додано до групи -2. Переконайтеся, що ви використовуєте @mention бота (поведінка за замовчуванням) -3. Перевірте, що `groupPolicy` не встановлено в `"disabled"` -4. Перевірте журнали: `openclaw logs --follow` +2. Переконайтеся, що ви згадуєте бота через @ (типово це обов’язково) +3. Перевірте, що `groupPolicy` не має значення `"disabled"` +4. Перегляньте журнали: `openclaw logs --follow` ### Бот не отримує повідомлення -1. Переконайтеся, що застосунок опубліковано й схвалено +1. Переконайтеся, що бота опубліковано та схвалено в Feishu Open Platform / Lark Developer 2. Переконайтеся, що підписка на події містить `im.message.receive_v1` -3. Переконайтеся, що **long connection** увімкнено -4. Переконайтеся, що дозволи застосунку повні -5. Переконайтеся, що gateway запущено: `openclaw gateway status` -6. Перевірте журнали: `openclaw logs --follow` +3. Переконайтеся, що вибрано **persistent connection** (WebSocket) +4. Переконайтеся, що надано всі потрібні дозволи +5. Переконайтеся, що Gateway запущено: `openclaw gateway status` +6. Перегляньте журнали: `openclaw logs --follow` ### Витік App Secret -1. Скиньте App Secret у Feishu Open Platform -2. Оновіть App Secret у своїй конфігурації -3. Перезапустіть gateway - -### Збої під час надсилання повідомлень - -1. Переконайтеся, що застосунок має дозвіл `im:message:send_as_bot` -2. Переконайтеся, що застосунок опубліковано -3. Перевірте журнали для детальних помилок +1. Скиньте App Secret у Feishu Open Platform / Lark Developer +2. Оновіть значення у своїй конфігурації +3. Перезапустіть Gateway: `openclaw gateway restart` --- -## Розширена конфігурація +## Розширене налаштування ### Кілька облікових записів @@ -506,12 +217,12 @@ openclaw pairing list feishu main: { appId: "cli_xxx", appSecret: "xxx", - name: "Primary bot", + name: "Основний бот", }, backup: { appId: "cli_yyy", appSecret: "yyy", - name: "Backup bot", + name: "Резервний бот", enabled: false, }, }, @@ -520,42 +231,53 @@ openclaw pairing list feishu } ``` -`defaultAccount` визначає, який обліковий запис Feishu використовується, коли вихідні API явно не вказують `accountId`. +`defaultAccount` визначає, який обліковий запис використовується, коли вихідні API не вказують `accountId`. ### Обмеження повідомлень -- `textChunkLimit`: розмір фрагмента вихідного тексту (за замовчуванням: 2000 символів) -- `mediaMaxMb`: ліміт вивантаження/завантаження медіа (за замовчуванням: 30 МБ) +- `textChunkLimit` — розмір фрагмента вихідного тексту (типово: `2000` символів) +- `mediaMaxMb` — обмеження на завантаження/вивантаження медіа (типово: `30` МБ) -### Потокова передача +### Потокове передавання -Feishu підтримує потокові відповіді через інтерактивні картки. Коли це ввімкнено, бот оновлює картку під час генерування тексту. +Feishu/Lark підтримує потокові відповіді через інтерактивні картки. Коли цю функцію ввімкнено, бот оновлює картку в реальному часі під час генерування тексту. ```json5 { channels: { feishu: { - streaming: true, // enable streaming card output (default true) - blockStreaming: true, // enable block-level streaming (default true) + streaming: true, // увімкнути потокове виведення в картках (типово: true) + blockStreaming: true, // увімкнути потокове передавання на рівні блоків (типово: true) }, }, } ``` -Установіть `streaming: false`, щоб чекати повної відповіді перед надсиланням. +Встановіть `streaming: false`, щоб надсилати повну відповідь одним повідомленням. + +### Оптимізація квот + +Зменште кількість викликів API Feishu/Lark за допомогою двох необов’язкових прапорців: + +- `typingIndicator` (типово `true`): встановіть `false`, щоб пропустити виклики реакції набору тексту +- `resolveSenderNames` (типово `true`): встановіть `false`, щоб пропустити пошук профілів відправників + +```json5 +{ + channels: { + feishu: { + typingIndicator: false, + resolveSenderNames: false, + }, + }, +} +``` ### Сесії ACP -Feishu підтримує ACP для: +Feishu/Lark підтримує ACP для особистих повідомлень і повідомлень у гілках груп. ACP у Feishu/Lark працює через текстові команди — вбудованих меню slash-команд немає, тому використовуйте повідомлення `/acp ...` безпосередньо в розмові. -- особистих повідомлень -- розмов у темах груп - -ACP у Feishu керується текстовими командами. Власних меню slash-команд немає, тому використовуйте повідомлення `/acp ...` безпосередньо в розмові. - -#### Постійні прив’язки ACP - -Використовуйте типізовані прив’язки ACP верхнього рівня, щоб прив’язати особисте повідомлення Feishu або розмову в темі до постійної сесії ACP. +#### Постійна прив’язка ACP ```json5 { @@ -599,58 +321,39 @@ ACP у Feishu керується текстовими командами. Вла } ``` -#### Прив’язаний до потоку запуск ACP із чату +#### Запуск ACP із чату -У особистому повідомленні Feishu або розмові в темі ви можете створити й прив’язати сесію ACP на місці: +У особистому повідомленні або гілці Feishu/Lark: ```text /acp spawn codex --thread here ``` -Примітки: +`--thread here` працює для особистих повідомлень і повідомлень у гілках Feishu/Lark. Подальші повідомлення в прив’язаній розмові маршрутизуються безпосередньо до цієї сесії ACP. -- `--thread here` працює для особистих повідомлень і тем Feishu. -- Подальші повідомлення в прив’язаному особистому повідомленні/темі напряму маршрутизуються до цієї сесії ACP. -- У v1 це не націлено на звичайні групові чати без тем. +### Маршрутизація кількох агентів -### Маршрутизація між кількома агентами - -Використовуйте `bindings`, щоб маршрутизувати особисті повідомлення або групи Feishu до різних агентів. +Використовуйте `bindings`, щоб маршрутизувати особисті повідомлення або групи Feishu/Lark до різних агентів. ```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" }, @@ -663,55 +366,44 @@ ACP у Feishu керується текстовими командами. Вла Поля маршрутизації: - `match.channel`: `"feishu"` -- `match.peer.kind`: `"direct"` або `"group"` +- `match.peer.kind`: `"direct"` (особисті повідомлення) або `"group"` (груповий чат) - `match.peer.id`: Open ID користувача (`ou_xxx`) або ID групи (`oc_xxx`) -Див. [Отримання ID групи/користувача](#get-groupuser-ids) для порад щодо пошуку. +Поради щодо пошуку див. у розділі [Як отримати ID групи/користувача](#як-отримати-id-групикористувача). --- -## Довідник із конфігурації +## Довідник конфігурації -Повна конфігурація: [Конфігурація gateway](/gateway/configuration) +Повна конфігурація: [Налаштування Gateway](/uk/gateway/configuration) -Ключові параметри: - -| Налаштування | Опис | За замовчуванням | -| ------------------------------------------------- | --------------------------------------- | ---------------- | -| `channels.feishu.enabled` | Увімкнути/вимкнути канал | `true` | -| `channels.feishu.domain` | Домен API (`feishu` або `lark`) | `feishu` | -| `channels.feishu.connectionMode` | Режим транспорту подій | `websocket` | -| `channels.feishu.defaultAccount` | ID облікового запису за замовчуванням для вихідної маршрутизації | `default` | -| `channels.feishu.verificationToken` | Обов’язково для режиму webhook | - | -| `channels.feishu.encryptKey` | Обов’язково для режиму webhook | - | -| `channels.feishu.webhookPath` | Шлях маршруту webhook | `/feishu/events` | -| `channels.feishu.webhookHost` | Хост прив’язки webhook | `127.0.0.1` | -| `channels.feishu.webhookPort` | Порт прив’язки webhook | `3000` | -| `channels.feishu.accounts..appId` | App ID | - | -| `channels.feishu.accounts..appSecret` | App Secret | - | -| `channels.feishu.accounts..domain` | Перевизначення домену API для окремого облікового запису | `feishu` | -| `channels.feishu.dmPolicy` | Політика особистих повідомлень | `pairing` | -| `channels.feishu.allowFrom` | allowlist особистих повідомлень (список `open_id`) | - | -| `channels.feishu.groupPolicy` | Політика груп | `allowlist` | -| `channels.feishu.groupAllowFrom` | allowlist груп | - | -| `channels.feishu.requireMention` | Вимагати @mention за замовчуванням | умовно | -| `channels.feishu.groups..requireMention` | Перевизначення вимоги @mention для окремої групи | успадковується | -| `channels.feishu.groups..enabled` | Увімкнути групу | `true` | -| `channels.feishu.textChunkLimit` | Розмір фрагмента повідомлення | `2000` | -| `channels.feishu.mediaMaxMb` | Ліміт розміру медіа | `30` | -| `channels.feishu.streaming` | Увімкнути потоковий вивід карток | `true` | -| `channels.feishu.blockStreaming` | Увімкнути потокову передачу блоків | `true` | - ---- - -## Довідник `dmPolicy` - -| Значення | Поведінка | -| ------------- | -------------------------------------------------------------- | -| `"pairing"` | **За замовчуванням.** Невідомі користувачі отримують код pairing; потрібне схвалення | -| `"allowlist"` | Спілкуватися можуть лише користувачі з `allowFrom` | -| `"open"` | Дозволити всіх користувачів (потрібне `"*"` в `allowFrom`) | -| `"disabled"` | Вимкнути особисті повідомлення | +| Setting | Опис | Default | +| ------------------------------------------------- | ------------------------------------------ | ---------------- | +| `channels.feishu.enabled` | Увімкнути/вимкнути канал | `true` | +| `channels.feishu.domain` | Домен API (`feishu` або `lark`) | `feishu` | +| `channels.feishu.connectionMode` | Транспорт подій (`websocket` або `webhook`) | `websocket` | +| `channels.feishu.defaultAccount` | Типовий обліковий запис для вихідної маршрутизації | `default` | +| `channels.feishu.verificationToken` | Обов’язково для режиму webhook | — | +| `channels.feishu.encryptKey` | Обов’язково для режиму webhook | — | +| `channels.feishu.webhookPath` | Шлях маршруту webhook | `/feishu/events` | +| `channels.feishu.webhookHost` | Хост прив’язки webhook | `127.0.0.1` | +| `channels.feishu.webhookPort` | Порт прив’язки webhook | `3000` | +| `channels.feishu.accounts..appId` | App ID | — | +| `channels.feishu.accounts..appSecret` | App Secret | — | +| `channels.feishu.accounts..domain` | Перевизначення домену для облікового запису | `feishu` | +| `channels.feishu.dmPolicy` | Політика особистих повідомлень | `allowlist` | +| `channels.feishu.allowFrom` | Allowlist особистих повідомлень (список `open_id`) | [BotOwnerId] | +| `channels.feishu.groupPolicy` | Політика груп | `allowlist` | +| `channels.feishu.groupAllowFrom` | Allowlist груп | — | +| `channels.feishu.requireMention` | Вимагати @згадку в групах | `true` | +| `channels.feishu.groups..requireMention` | Перевизначення @згадки для окремої групи | inherited | +| `channels.feishu.groups..enabled` | Увімкнути/вимкнути певну групу | `true` | +| `channels.feishu.textChunkLimit` | Розмір фрагмента повідомлення | `2000` | +| `channels.feishu.mediaMaxMb` | Обмеження розміру медіа | `30` | +| `channels.feishu.streaming` | Потокове виведення в картках | `true` | +| `channels.feishu.blockStreaming` | Потокове передавання на рівні блоків | `true` | +| `channels.feishu.typingIndicator` | Надсилати реакції набору тексту | `true` | +| `channels.feishu.resolveSenderNames` | Визначати відображувані імена відправників | `true` | --- @@ -734,67 +426,21 @@ ACP у Feishu керується текстовими командами. Вла - ✅ Файли - ✅ Аудіо - ✅ Відео/медіа -- ✅ Інтерактивні картки -- ⚠️ Форматований текст (форматування у стилі post і картки, але не довільні можливості авторингу Feishu) +- ✅ Інтерактивні картки (включно з потоковими оновленнями) +- ⚠️ Форматований текст (форматування у стилі post; не підтримує всі можливості авторингу Feishu/Lark) -### Потоки та відповіді +### Гілки та відповіді - ✅ Вбудовані відповіді -- ✅ Відповіді в потоках тем, де Feishu надає `reply_in_thread` -- ✅ Відповіді з медіа залишаються прив’язаними до потоку під час відповіді на повідомлення потоку/теми +- ✅ Відповіді в гілках +- ✅ Відповіді з медіа залишаються прив’язаними до гілки при відповіді на повідомлення в гілці -## Коментарі Drive - -Feishu може запускати агента, коли хтось додає коментар у документ Feishu Drive (Docs, Sheets -тощо). Агент отримує текст коментаря, контекст документа та потік коментарів, щоб мати змогу -відповісти в потоці або внести зміни в документ. - -Вимоги: - -- Підпишіться на `drive.notice.comment_add_v1` у налаштуваннях підписки на події вашого застосунку Feishu - (разом із уже наявним `im.message.receive_v1`) -- Інструмент Drive увімкнено за замовчуванням; вимкнути можна через `channels.feishu.tools.drive: false` - -Інструмент `feishu_drive` надає такі дії для коментарів: - -| Дія | Опис | -| --------------------- | -------------------------------------- | -| `list_comments` | Показати коментарі до документа | -| `list_comment_replies` | Показати відповіді в потоці коментарів | -| `add_comment` | Додати новий коментар верхнього рівня | -| `reply_comment` | Відповісти в наявному потоці коментарів | - -Коли агент обробляє подію коментаря Drive, він отримує: - -- текст коментаря та відправника -- метадані документа (назва, тип, URL) -- контекст потоку коментарів для відповідей у потоці - -Після внесення змін у документ агенту рекомендується використати `feishu_drive.reply_comment`, щоб сповістити -коментатора, а потім вивести точний беззвучний токен `NO_REPLY` / `no_reply`, щоб -уникнути дубльованих надсилань. - -## Поверхня дій runtime - -Наразі Feishu надає такі дії runtime: - -- `send` -- `read` -- `edit` -- `thread-reply` -- `pin` -- `list-pins` -- `unpin` -- `member-info` -- `channel-info` -- `channel-list` -- `react` і `reactions`, коли реакції увімкнено в конфігурації -- дії коментарів `feishu_drive`: `list_comments`, `list_comment_replies`, `add_comment`, `reply_comment` +--- ## Пов’язане -- [Огляд каналів](/channels) — усі підтримувані канали -- [Pairing](/channels/pairing) — автентифікація особистих повідомлень і процес pairing -- [Групи](/channels/groups) — поведінка групових чатів і вимога згадки -- [Маршрутизація каналів](/channels/channel-routing) — маршрутизація сесій для повідомлень -- [Безпека](/gateway/security) — модель доступу та посилення захисту +- [Огляд каналів](/uk/channels) — усі підтримувані канали +- [Прив’язка](/uk/channels/pairing) — автентифікація в особистих повідомленнях і процес прив’язки +- [Групи](/uk/channels/groups) — поведінка групових чатів і керування через згадки +- [Маршрутизація каналів](/uk/channels/channel-routing) — маршрутизація сесій для повідомлень +- [Безпека](/uk/gateway/security) — модель доступу та посилення захисту