Bot Feishu
Feishu (Lark) est une plateforme de discussion d’équipe utilisée par les entreprises pour la messagerie et la collaboration. Ce plugin connecte OpenClaw à un bot Feishu/Lark en utilisant l’abonnement aux événements WebSocket de la plateforme, ce qui permet de recevoir des messages sans exposer d’URL de webhook publique.Plugin requis
Installez le plugin Feishu :Démarrage rapide
Il existe deux façons d’ajouter le canal Feishu :Méthode 1 : assistant de prise en main (recommandé)
Si vous venez d’installer OpenClaw, lancez l’assistant :- Créer une application Feishu et collecter les identifiants
- Configurer les identifiants de l’application dans OpenClaw
- Démarrer la passerelle
openclaw gateway statusopenclaw logs --follow
Méthode 2 : configuration via la CLI
Si vous avez déjà terminé l’installation initiale, ajoutez le canal via la CLI :openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
Étape 1 : Créer une application Feishu
1. Ouvrir la plateforme Feishu Open Platform
Visitez Feishu Open Platform et connectez-vous. Les tenants Lark (globaux) doivent utiliser https://open.larksuite.com/app et définirdomain: "lark" dans la configuration Feishu.
2. Créer une application
- Cliquez sur Create enterprise app
- Renseignez le nom et la description de l’application
- Choisissez une icône d’application
3. Copier les identifiants
Depuis Credentials & Basic Info, copiez :- App ID (format :
cli_xxx) - App Secret
4. Configurer les permissions
Dans Permissions, cliquez sur Batch import et collez :
5. Activer la capacité bot
Dans App Capability > Bot :- Activez la capacité bot
- Définissez le nom du bot
6. Configurer l’abonnement aux événements
⚠️ Important : avant de configurer l’abonnement aux événements, assurez-vous que :- Vous avez déjà exécuté
openclaw channels addpour Feishu - La passerelle est en cours d’exécution (
openclaw gateway status)
- Choisissez Use long connection to receive events (WebSocket)
- Ajoutez l’événement :
im.message.receive_v1
7. Publier l’application
- Créez une version dans Version Management & Release
- Soumettez-la pour revue et publiez
- Attendez l’approbation de l’administrateur (les applications d’entreprise sont généralement approuvées automatiquement)
Étape 2 : Configurer OpenClaw
Configuration avec l’assistant (recommandé)
Configuration via le fichier de configuration
Modifiez~/.openclaw/openclaw.json :
Configuration via les variables d’environnement
Domaine Lark (global)
Si votre tenant est sur Lark (international), définissez le domaine surlark (ou une chaîne de domaine complète). Vous pouvez le définir dans channels.feishu.domain ou par compte (channels.feishu.accounts.<id>.domain).
Étape 3 : Démarrer et tester
1. Démarrer la passerelle
2. Envoyer un message de test
Dans Feishu, trouvez votre bot et envoyez un message.3. Approuver l’appairage
Par défaut, le bot répond avec un code d’appairage. Approuvez-le :Présentation
- Canal bot Feishu : bot Feishu géré par la passerelle
- Routage déterministe : les réponses retournent toujours vers Feishu
- Isolation des sessions : les Messages prives partagent une session principale ; les groupes sont isolés
- Connexion WebSocket : connexion longue via le SDK Feishu, aucune URL publique requise
Contrôle d’accès
Messages directs
-
Par défaut :
dmPolicy: "pairing"(les utilisateurs inconnus reçoivent un code d’appairage) -
Approuver l’appairage :
-
Mode liste d’autorisation : définissez
channels.feishu.allowFromavec les Open ID autorisés
Discussions de groupe
1. Politique de groupe (channels.feishu.groupPolicy) :
"open"= autoriser tout le monde dans les groupes (par défaut)"allowlist"= autoriser uniquementgroupAllowFrom"disabled"= désactiver les messages de groupe
channels.feishu.groups.<chat_id>.requireMention) :
true= exiger une mention @ (par défaut)false= répondre sans mention
Exemples de configuration des groupes
Autoriser tous les groupes, mention @ requise (par défaut)
Autoriser tous les groupes, sans mention @ requise
Autoriser uniquement des utilisateurs spécifiques dans les groupes
Obtenir les identifiants de groupe/utilisateur
Identifiants de groupe (chat_id)
Les identifiants de groupe ressemblent àoc_xxx.
Méthode 1 (recommandée)
- Démarrez la passerelle et mentionnez le bot avec @ dans le groupe
- Exécutez
openclaw logs --followet recherchezchat_id
Identifiants utilisateur (open_id)
Les identifiants utilisateur ressemblent àou_xxx.
Méthode 1 (recommandée)
- Démarrez la passerelle et envoyez un Message prive au bot
- Exécutez
openclaw logs --followet recherchezopen_id
Commandes courantes
| Commande | Description |
|---|---|
/status | Afficher l’état du bot |
/reset | Réinitialiser la session |
/model | Afficher/changer le modèle |
Remarque : Feishu ne prend pas encore en charge les menus de commandes natifs, les commandes doivent donc être envoyées sous forme de texte.
Commandes de gestion de la passerelle
| Commande | Description |
|---|---|
openclaw gateway status | Afficher l’état de la passerelle |
openclaw gateway install | Installer/démarrer le service de passerelle |
openclaw gateway stop | Arrêter le service de passerelle |
openclaw gateway restart | Redémarrer le service de passerelle |
openclaw logs --follow | Journaux de la passerelle de la queue |
Problemes courants
Le bot ne répond pas dans les discussions de groupe
- Assurez-vous que le bot est ajouté au groupe
- Assurez-vous de mentionner le bot avec @ (comportement par défaut)
- Vérifiez que
groupPolicyn’est pas défini sur"disabled" - Vérifiez les journaux :
openclaw logs --follow
Le bot ne reçoit pas de messages
- Assurez-vous que l’application est publiée et approuvée
- Assurez-vous que l’abonnement aux événements inclut
im.message.receive_v1 - Assurez-vous que la connexion longue est activée
- Assurez-vous que les permissions de l’application sont complètes
- Assurez-vous que la passerelle est en cours d’exécution :
openclaw gateway status - Vérifiez les journaux :
openclaw logs --follow
Fuite de l’App Secret
- Réinitialisez l’App Secret dans Feishu Open Platform
- Mettez à jour l’App Secret dans votre configuration
- Redémarrez la passerelle
Échecs d’envoi de messages
- Assurez-vous que l’application dispose de la permission
im:message:send_as_bot - Assurez-vous que l’application est publiée
- Consultez les journaux pour des erreurs détaillées
Configuration avancée
Comptes multiples
Limites de messages
textChunkLimit: taille des segments de texte sortants (par défaut : 2000 caractères)mediaMaxMb: limite de téléversement/téléchargement des médias (par défaut : 30 Mo)
Streaming
Feishu prend en charge les réponses en streaming via des cartes interactives. Lorsqu’il est activé, le bot met à jour une carte au fur et à mesure de la génération du texte.streaming: false pour attendre la réponse complète avant l’envoi.
Routage multi-agents
Utilisezbindings pour router les Messages prives ou groupes Feishu vers différents agents.
match.channel:"feishu"match.peer.kind:"direct"or"group"match.peer.id: Open ID utilisateur (ou_xxx) ou identifiant de groupe (oc_xxx)
Référence de configuration
Configuration complète : Configuration de la passerelle Options clés :| Paramètre | Description | Valeur par défaut |
|---|---|---|
channels.feishu.enabled | Activer/désactiver le canal | true |
channels.feishu.domain | Domaine API (feishu ou lark) | feishu |
channels.feishu.accounts.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.domain | Remplacement du domaine API par compte | feishu |
channels.feishu.dmPolicy | Politique de DM | pairing |
channels.feishu.allowFrom | Liste d’autorisation DM (liste d’open_id) | - |
channels.feishu.groupPolicy | Politique de groupe | open |
channels.feishu.groupAllowFrom | Liste d’autorisation de groupe | - |
channels.feishu.groups.<chat_id>.requireMention | Exiger @mention | true |
channels.feishu.groups.<chat_id>.enabled | Activer les groupes | true |
channels.feishu.textChunkLimit | Taille des segments de message | 2000 |
channels.feishu.mediaMaxMb | Limite de taille des médias | 30 |
channels.feishu.streaming | Activer la sortie de cartes en streaming | true |
channels.feishu.blockStreaming | Activer le streaming par blocs | true |
Référence dmPolicy
| Valeur | Comportement |
|---|---|
"pairing" | Par défaut. Les utilisateurs inconnus reçoivent un code d’appairage ; approbation requise |
"allowlist" | Seuls les utilisateurs dans allowFrom peuvent discuter |
"open" | Autoriser tous les utilisateurs (nécessite "*" dans allowFrom) |
"disabled" | Désactiver les DMs |
Types de messages pris en charge
Réception
- ✅ Texte
- ✅ Texte enrichi (post)
- ✅ Images
- ✅ Fichiers
- ✅ Audio
- ✅ Vidéo
- ✅ Autocollants
Envoi
- ✅ Texte
- ✅ Images
- ✅ Fichiers
- ✅ Audio
- ⚠️ Texte enrichi (prise en charge partielle)