Skip to main content

Бот Feishu

Feishu (Lark) — это корпоративная платформа командного чата, используемая компаниями для обмена сообщениями и совместной работы. Этот плагин подключает OpenClaw к боту Feishu/Lark с использованием подписки на события WebSocket платформы, благодаря чему сообщения могут приниматься без публикации публичного URL вебхука.

Требуется плагин

Установите плагин Feishu:
Локальная установка (при запуске из git-репозитория):

Быстрый старт

Существует два способа добавить канал Feishu:

Метод 1: мастер онбординга (рекомендуется)

Если вы только что установили OpenClaw, запустите мастер:
Мастер проведёт вас через следующие шаги:
  1. Создание приложения Feishu и сбор учётных данных
  2. Настройка учётных данных приложения в OpenClaw
  3. Запуск Gateway (шлюза)
После настройки проверьте статус Gateway (шлюза):
  • openclaw gateway status
  • openclaw logs --follow

Метод 2: настройка через CLI

Если вы уже завершили начальную установку, добавьте канал через CLI:
Выберите Feishu, затем введите App ID и App Secret. После настройки управляйте Gateway (шлюзом):
  • openclaw gateway status
  • openclaw gateway restart
  • openclaw logs --follow

Шаг 1: Создание приложения Feishu

1. Откройте Feishu Open Platform

Перейдите на Feishu Open Platform и войдите в систему. Арендаторы Lark (глобальная версия) должны использовать https://open.larksuite.com/app и установить domain: "lark" в конфигурации Feishu.

2. Создайте приложение

  1. Нажмите Create enterprise app
  2. Заполните название и описание приложения
  3. Выберите иконку приложения
Create enterprise app

3. Скопируйте учётные данные

В разделе Credentials & Basic Info скопируйте:
  • App ID (формат: cli_xxx)
  • App Secret
Важно: храните App Secret в тайне. Get credentials

4. Настройте разрешения

В разделе Permissions нажмите Batch import и вставьте:
Configure permissions

5. Включите возможность бота

В App Capability > Bot:
  1. Включите возможность бота
  2. Задайте имя бота
Enable bot capability

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
⚠️ Если Gateway (шлюз) не запущен, настройка долгого соединения может не сохраниться. Configure event subscription

7. Опубликуйте приложение

  1. Создайте версию в Version Management & Release
  2. Отправьте на проверку и опубликуйте
  3. Дождитесь одобрения администратора (корпоративные приложения обычно одобряются автоматически)

Шаг 2: Настройка OpenClaw

Настройка с помощью мастера (рекомендуется)

Выберите Feishu и вставьте ваши App ID и App Secret.

Настройка через конфигурационный файл

Отредактируйте ~/.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" = отключить групповые сообщения
2. Требование упоминания (channels.feishu.groups.<chat_id>.requireMention):
  • true = требовать @упоминание (по умолчанию)
  • false = отвечать без упоминаний

Примеры конфигурации групп

Разрешить все группы, требовать @упоминание (по умолчанию)

Разрешить все группы, без требования @упоминания

Разрешить только определённых пользователей в группах


Получение ID групп и пользователей

ID групп (chat_id)

ID групп выглядят как oc_xxx. Метод 1 (рекомендуется)
  1. Запустите Gateway (шлюз) и @упомяните бота в группе
  2. Выполните openclaw logs --follow и найдите chat_id
Метод 2 Используйте отладчик API Feishu для получения списка групповых чатов.

ID пользователей (open_id)

ID пользователей выглядят как ou_xxx. Метод 1 (рекомендуется)
  1. Запустить шлюз и БМ бота
  2. Выполните openclaw logs --follow и найдите open_id
Метод 2 Проверьте запросы на сопряжение для получения Open ID пользователей:

Часто используемые команды

Примечание: Feishu пока не поддерживает нативные меню команд, поэтому команды необходимо отправлять текстом.

Команды управления Gateway (шлюзом)


Устранение неполадок

Бот не отвечает в групповых чатах

  1. Убедитесь, что бот добавлен в группу
  2. Убедитесь, что вы @упоминаете бота (поведение по умолчанию)
  3. Проверьте, что groupPolicy не установлен в "disabled"
  4. Проверьте логи: openclaw logs --follow

Бот не получает сообщения

  1. Убедитесь, что приложение опубликовано и одобрено
  2. Убедитесь, что подписка на события включает im.message.receive_v1
  3. Убедитесь, что включено долгое соединение
  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. Проверьте логи для получения подробных ошибок

Расширенная конфигурация

Несколько учётных записей

Ограничения сообщений

  • 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)
См. Получение ID групп и пользователей для советов по поиску.

Справочник конфигурации

Полная конфигурация: Конфигурация Gateway Ключевые параметры:

Справочник dmPolicy


Поддерживаемые типы сообщений

Получить

  • ✅ Текст
  • ✅ Форматированный текст (post)
  • ✅ Изображения
  • ✅ Файлы
  • ✅ Аудио
  • ✅ Видео
  • ✅ Стикеры

Отправка

  • ✅ Текст
  • ✅ Изображения
  • ✅ Файлы
  • ✅ Аудио
  • ⚠️ Форматированный текст (частичная поддержка)