Бот Feishu
Feishu (Lark) — это корпоративная платформа командного чата, используемая компаниями для обмена сообщениями и совместной работы. Этот плагин подключает OpenClaw к боту Feishu/Lark с использованием подписки на события WebSocket платформы, благодаря чему сообщения могут приниматься без публикации публичного URL вебхука.Требуется плагин
Установите плагин 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
7. Опубликуйте приложение
- Создайте версию в Version Management & Release
- Отправьте на проверку и опубликуйте
- Дождитесь одобрения администратора (корпоративные приложения обычно одобряются автоматически)
Шаг 2: Настройка OpenClaw
Настройка с помощью мастера (рекомендуется)
Настройка через конфигурационный файл
Отредактируйте~/.openclaw/openclaw.json:
Настройка через переменные окружения
Домен Lark (глобальная версия)
Если ваш арендатор использует Lark (международная версия), установите доменlark (или полную строку домена). Это можно задать в channels.feishu.domain или для каждой учётной записи отдельно (channels.feishu.accounts.<id>.domain).
Шаг 3: Запуск и тестирование
1. Запустите Gateway (шлюз)
2. Отправьте тестовое сообщение
В Feishu найдите вашего бота и отправьте сообщение.3. Подтвердите сопряжение
По умолчанию бот отвечает кодом сопряжения. Подтвердите его:Обзор
- Канал бота Feishu: бот Feishu, управляемый Gateway (шлюзом)
- Детерминированная маршрутизация: ответы всегда возвращаются в Feishu
- Изоляция сеансов: личные сообщения используют основной сеанс; группы изолированы
- WebSocket‑подключение: длительное соединение через SDK Feishu, публичный URL не требуется
Контроль доступа
Прямые сообщения
-
По умолчанию:
dmPolicy: "pairing"(неизвестные пользователи получают код сопряжения) -
Подтверждение сопряжения:
-
Режим списка разрешённых: установите
channels.feishu.allowFromсо списком разрешённых Open ID
Групповые чаты
1. Политика групп (channels.feishu.groupPolicy):
"open"= разрешить всем в группах (по умолчанию)"allowlist"= разрешить толькоgroupAllowFrom"disabled"= отключить групповые сообщения
channels.feishu.groups.<chat_id>.requireMention):
true= требовать @упоминание (по умолчанию)false= отвечать без упоминаний
Примеры конфигурации групп
Разрешить все группы, требовать @упоминание (по умолчанию)
Разрешить все группы, без требования @упоминания
Разрешить только определённых пользователей в группах
Получение ID групп и пользователей
ID групп (chat_id)
ID групп выглядят какoc_xxx.
Метод 1 (рекомендуется)
- Запустите Gateway (шлюз) и @упомяните бота в группе
- Выполните
openclaw logs --followи найдитеchat_id
ID пользователей (open_id)
ID пользователей выглядят какou_xxx.
Метод 1 (рекомендуется)
- Запустить шлюз и БМ бота
- Выполните
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 |
Устранение неполадок
Бот не отвечает в групповых чатах
- Убедитесь, что бот добавлен в группу
- Убедитесь, что вы @упоминаете бота (поведение по умолчанию)
- Проверьте, что
groupPolicyне установлен в"disabled" - Проверьте логи:
openclaw logs --follow
Бот не получает сообщения
- Убедитесь, что приложение опубликовано и одобрено
- Убедитесь, что подписка на события включает
im.message.receive_v1 - Убедитесь, что включено долгое соединение
- Убедитесь, что разрешения приложения настроены полностью
- Убедитесь, что Gateway (шлюз) запущен:
openclaw gateway status - Проверьте логи:
openclaw logs --follow
Утечка App Secret
- Сбросьте App Secret в Feishu Open Platform
- Обновите App Secret в вашей конфигурации
- Перезапустите Gateway (шлюз)
Ошибки отправки сообщений
- Убедитесь, что у приложения есть разрешение
im:message:send_as_bot - Убедитесь, что приложение опубликовано
- Проверьте логи для получения подробных ошибок
Расширенная конфигурация
Несколько учётных записей
Ограничения сообщений
textChunkLimit: размер чанка исходящего текста (по умолчанию: 2000 символов)mediaMaxMb: лимит загрузки/скачивания медиа (по умолчанию: 30 МБ)
Вещание
Feishu поддерживает потоковые ответы через интерактивные карточки. При включении бот обновляет карточку по мере генерации текста.streaming: false, чтобы дождаться полного ответа перед отправкой.
Маршрутизация нескольких агентов
Используйте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.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 | Список разрешённых для ЛС (open_id) | - |
channels.feishu.groupPolicy | Политика групп | open |
channels.feishu.groupAllowFrom | Список разрешённых групп | - |
channels.feishu.groups.<chat_id>.requireMention | Требовать @упоминание | true |
channels.feishu.groups.<chat_id>.enabled | Включить группы | true |
channels.feishu.textChunkLimit | Размер чанка сообщения | 2000 |
channels.feishu.mediaMaxMb | Лимит размера медиа | 30 |
channels.feishu.streaming | Включить вывод потоковых карточек | true |
channels.feishu.blockStreaming | Включить block streaming | true |
Справочник dmPolicy
| Значение | Поведение |
|---|---|
"pairing" | По умолчанию. Неизвестные пользователи получают код сопряжения; требуется подтверждение |
"allowlist" | Общаться могут только пользователи из allowFrom |
"open" | Разрешить всех пользователей (требуется "*" в allowFrom) |
"disabled" | Отключить ЛС |
Поддерживаемые типы сообщений
Получить
- ✅ Текст
- ✅ Форматированный текст (post)
- ✅ Изображения
- ✅ Файлы
- ✅ Аудио
- ✅ Видео
- ✅ Стикеры
Отправка
- ✅ Текст
- ✅ Изображения
- ✅ Файлы
- ✅ Аудио
- ⚠️ Форматированный текст (частичная поддержка)