Бот Feishu
Feishu (Lark) — це платформа командного чату, яку компанії використовують для обміну повідомленнями та співпраці. Цей плагін підключає OpenClaw до бота Feishu/Lark за допомогою підписки платформи на події через WebSocket, щоб можна було отримувати повідомлення без відкриття публічного URL вебхука.Вбудований плагін
Feishu постачається в комплекті з поточними релізами OpenClaw, тому окремо встановлювати плагін не потрібно. Якщо ви використовуєте старішу збірку або власну інсталяцію, яка не містить вбудованого Feishu, установіть його вручну:Швидкий старт
Є два способи додати канал Feishu:Метод 1: онбординг (рекомендовано)
Якщо ви щойно встановили OpenClaw, запустіть онбординг:- Створення застосунку Feishu і збір облікових даних
- Налаштування облікових даних застосунку в OpenClaw
- Запуск gateway
openclaw gateway statusopenclaw logs --follow
Метод 2: налаштування через CLI
Якщо ви вже завершили початкове встановлення, додайте канал через CLI:openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
Крок 1: Створіть застосунок Feishu
1. Відкрийте платформу Feishu Open Platform
Перейдіть на Feishu Open Platform і ввійдіть у систему. Орендарі Lark (глобальні) мають використовувати https://open.larksuite.com/app і встановитиdomain: "lark" у конфігурації Feishu.
2. Створіть застосунок
- Натисніть Create enterprise app
- Заповніть назву й опис застосунку
- Виберіть піктограму застосунку

3. Скопіюйте облікові дані
У розділі Credentials & Basic Info скопіюйте:- App ID (формат:
cli_xxx) - App Secret

4. Налаштуйте дозволи
У розділі Permissions натисніть Batch import і вставте:
5. Увімкніть можливість бота
У розділі App Capability > Bot:- Увімкніть можливість бота
- Установіть ім’я бота

6. Налаштуйте підписку на події
⚠️ Важливо: перед налаштуванням підписки на події переконайтеся, що:- Ви вже виконали
openclaw channels addдля Feishu - Gateway запущено (
openclaw gateway status)
- Виберіть Use long connection to receive events (WebSocket)
- Додайте подію:
im.message.receive_v1 - (Необов’язково) Для робочих процесів із коментарями Drive також додайте:
drive.notice.comment_add_v1

7. Опублікуйте застосунок
- Створіть версію в Version Management & Release
- Надішліть на перевірку та опублікуйте
- Дочекайтеся схвалення адміністратора (застосунки підприємства зазвичай схвалюються автоматично)
Крок 2: Налаштуйте OpenClaw
Налаштування за допомогою майстра (рекомендовано)
Налаштування через файл конфігурації
Відредагуйте~/.openclaw/openclaw.json:
connectionMode: "webhook", установіть і verificationToken, і encryptKey. Сервер вебхуків Feishu за замовчуванням прив’язується до 127.0.0.1; установлюйте webhookHost, лише якщо вам навмисно потрібна інша адреса прив’язки.
Verification Token і Encrypt Key (режим webhook)
Під час використання режиму webhook установіть у конфігурації іchannels.feishu.verificationToken, і channels.feishu.encryptKey. Щоб отримати ці значення:
- У Feishu Open Platform відкрийте свій застосунок
- Перейдіть до Development → Events & Callbacks (开发配置 → 事件与回调)
- Відкрийте вкладку Encryption (加密策略)
- Скопіюйте Verification Token і Encrypt Key

Налаштування через змінні середовища
Домен Lark (глобальний)
Якщо ваш орендар працює в Lark (міжнародний), установіть доменlark (або повний рядок домену). Ви можете встановити його в channels.feishu.domain або для окремого облікового запису (channels.feishu.accounts.<id>.domain).
Прапорці оптимізації квот
Ви можете зменшити використання API Feishu за допомогою двох необов’язкових прапорців:typingIndicator(за замовчуваннямtrue): якщоfalse, пропускаються виклики реакції набору тексту.resolveSenderNames(за замовчуваннямtrue): якщоfalse, пропускаються виклики пошуку профілю відправника.
Крок 3: Запуск і тестування
1. Запустіть gateway
2. Надішліть тестове повідомлення
У Feishu знайдіть свого бота й надішліть повідомлення.3. Схваліть pairing
За замовчуванням бот відповідає кодом pairing. Схваліть його:Огляд
- Канал бота Feishu: бот Feishu, керований gateway
- Детермінована маршрутизація: відповіді завжди повертаються до Feishu
- Ізоляція сесій: особисті повідомлення використовують спільну основну сесію; групи ізольовані
- Підключення WebSocket: довге з’єднання через SDK Feishu, без потреби в публічному URL
Контроль доступу
Особисті повідомлення
-
За замовчуванням:
dmPolicy: "pairing"(невідомі користувачі отримують код pairing) -
Схвалити pairing:
-
Режим allowlist: установіть
channels.feishu.allowFromіз дозволеними Open ID
Групові чати
1. Політика для груп (channels.feishu.groupPolicy):
"open"= дозволити всім у групах"allowlist"= дозволити лишеgroupAllowFrom"disabled"= вимкнути групові повідомлення
allowlist
2. Вимога згадки (channels.feishu.requireMention, можна перевизначити через channels.feishu.groups.<chat_id>.requireMention):
- явне
true= вимагати @mention - явне
false= відповідати без згадок - якщо не задано й
groupPolicy: "open"= за замовчуваннямfalse - якщо не задано й
groupPolicyне дорівнює"open"= за замовчуваннямtrue
Приклади конфігурації груп
Дозволити всі групи, @mention не потрібен (за замовчуванням для відкритих груп)
Дозволити всі групи, але все одно вимагати @mention
Дозволити лише певні групи
Обмежити, які відправники можуть писати в групі (allowlist відправників)
Окрім дозволу для самої групи, усі повідомлення в цій групі фільтруються за open_id відправника: обробляються лише повідомлення від користувачів, перелічених уgroups.<chat_id>.allowFrom; повідомлення від інших учасників ігноруються (це повне обмеження на рівні відправника, а не лише для керівних команд на кшталт /reset або /new).
Отримання ID групи/користувача
ID групи (chat_id)
ID групи мають виглядoc_xxx.
Метод 1 (рекомендовано)
- Запустіть gateway і зробіть @mention бота в групі
- Виконайте
openclaw logs --followі знайдітьchat_id
ID користувача (open_id)
ID користувача мають виглядou_xxx.
Метод 1 (рекомендовано)
- Запустіть gateway і надішліть боту особисте повідомлення
- Виконайте
openclaw logs --followі знайдітьopen_id
Поширені команди
| Команда | Опис |
|---|---|
/status | Показати стан бота |
/reset | Скинути сесію |
/model | Показати/змінити модель |
Примітка: Feishu ще не підтримує власні меню команд, тому команди потрібно надсилати як текст.
Команди керування gateway
| Команда | Опис |
|---|---|
openclaw gateway status | Показати стан gateway |
openclaw gateway install | Установити/запустити службу gateway |
openclaw gateway stop | Зупинити службу gateway |
openclaw gateway restart | Перезапустити службу gateway |
openclaw logs --follow | Переглядати журнали gateway |
Усунення несправностей
Бот не відповідає в групових чатах
- Переконайтеся, що бота додано до групи
- Переконайтеся, що ви використовуєте @mention бота (поведінка за замовчуванням)
- Перевірте, що
groupPolicyне встановлено в"disabled" - Перевірте журнали:
openclaw logs --follow
Бот не отримує повідомлення
- Переконайтеся, що застосунок опубліковано й схвалено
- Переконайтеся, що підписка на події містить
im.message.receive_v1 - Переконайтеся, що long connection увімкнено
- Переконайтеся, що дозволи застосунку повні
- Переконайтеся, що gateway запущено:
openclaw gateway status - Перевірте журнали:
openclaw logs --follow
Витік App Secret
- Скиньте App Secret у Feishu Open Platform
- Оновіть App Secret у своїй конфігурації
- Перезапустіть gateway
Збої під час надсилання повідомлень
- Переконайтеся, що застосунок має дозвіл
im:message:send_as_bot - Переконайтеся, що застосунок опубліковано
- Перевірте журнали для детальних помилок
Розширена конфігурація
Кілька облікових записів
defaultAccount визначає, який обліковий запис Feishu використовується, коли вихідні API явно не вказують accountId.
Обмеження повідомлень
textChunkLimit: розмір фрагмента вихідного тексту (за замовчуванням: 2000 символів)mediaMaxMb: ліміт вивантаження/завантаження медіа (за замовчуванням: 30 МБ)
Потокова передача
Feishu підтримує потокові відповіді через інтерактивні картки. Коли це ввімкнено, бот оновлює картку під час генерування тексту.streaming: false, щоб чекати повної відповіді перед надсиланням.
Сесії ACP
Feishu підтримує ACP для:- особистих повідомлень
- розмов у темах груп
/acp ... безпосередньо в розмові.
Постійні прив’язки ACP
Використовуйте типізовані прив’язки ACP верхнього рівня, щоб прив’язати особисте повідомлення Feishu або розмову в темі до постійної сесії ACP.Прив’язаний до потоку запуск ACP із чату
У особистому повідомленні Feishu або розмові в темі ви можете створити й прив’язати сесію ACP на місці:--thread hereпрацює для особистих повідомлень і тем Feishu.- Подальші повідомлення в прив’язаному особистому повідомленні/темі напряму маршрутизуються до цієї сесії ACP.
- У v1 це не націлено на звичайні групові чати без тем.
Маршрутизація між кількома агентами
Використовуйтеbindings, щоб маршрутизувати особисті повідомлення або групи Feishu до різних агентів.
match.channel:"feishu"match.peer.kind:"direct"або"group"match.peer.id: Open ID користувача (ou_xxx) або ID групи (oc_xxx)
Довідник із конфігурації
Повна конфігурація: Конфігурація gateway Ключові параметри:| Налаштування | Опис | За замовчуванням |
|---|---|---|
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.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.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.<chat_id>.requireMention | Перевизначення вимоги @mention для окремої групи | успадковується |
channels.feishu.groups.<chat_id>.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" | Вимкнути особисті повідомлення |
Підтримувані типи повідомлень
Отримання
- ✅ Текст
- ✅ Форматований текст (post)
- ✅ Зображення
- ✅ Файли
- ✅ Аудіо
- ✅ Відео/медіа
- ✅ Стікери
Надсилання
- ✅ Текст
- ✅ Зображення
- ✅ Файли
- ✅ Аудіо
- ✅ Відео/медіа
- ✅ Інтерактивні картки
- ⚠️ Форматований текст (форматування у стилі post і картки, але не довільні можливості авторингу Feishu)
Потоки та відповіді
- ✅ Вбудовані відповіді
- ✅ Відповіді в потоках тем, де 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 | Відповісти в наявному потоці коментарів |
- текст коментаря та відправника
- метадані документа (назва, тип, URL)
- контекст потоку коментарів для відповідей у потоці
feishu_drive.reply_comment, щоб сповістити
коментатора, а потім вивести точний беззвучний токен NO_REPLY / no_reply, щоб
уникнути дубльованих надсилань.
Поверхня дій runtime
Наразі Feishu надає такі дії runtime:sendreadeditthread-replypinlist-pinsunpinmember-infochannel-infochannel-listreactіreactions, коли реакції увімкнено в конфігурації- дії коментарів
feishu_drive:list_comments,list_comment_replies,add_comment,reply_comment
Пов’язане
- Огляд каналів — усі підтримувані канали
- Pairing — автентифікація особистих повідомлень і процес pairing
- Групи — поведінка групових чатів і вимога згадки
- Маршрутизація каналів — маршрутизація сесій для повідомлень
- Безпека — модель доступу та посилення захисту