Plugin de canal Feishu pour Clawdbot – Rapide & Très complet

Plugin de canal Feishu pour Clawdbot – Rapide & Très complet

Clawdbot est un framework de chatbot léger mais puissant, et son écosystème de plugins vous permet de le connecter à plusieurs plateformes. L’une des nouveautés est le plugin de canal Feishu (Lark) (@m1heng-clawd/feishu). Il transforme Clawdbot en un bot Feishu entièrement fonctionnel capable de :

  • Envoyer et recevoir des messages en discussions privées et en canaux de groupe
  • Télécharger et téléverser images, PDFs, fichiers Excel et autres documents
  • Afficher les réponses en texte brut, cartes Markdown ou messages bruts
  • Gérer des contextes riches en médias (images + texte embarqué)
  • Contrôler les permissions, les abonnements aux événements et les flux de jumelage en DM via la plateforme Open de Feishu

Ci‑dessous, un guide étape par étape pour mettre en place ce plugin, suivi d’une référence rapide aux options de configuration les plus utiles et aux FAQ.


1. Prérequis

Élément Détails
Node.js v20+ (npm ou pnpm)
Clawdbot v0.1.x ou supérieur
Application Feishu Une application auto-construite sur la plateforme Open de Feishu avec les permissions requises

Assurez‑vous d’avoir le droit d’administrateur sur la plateforme Open de Feishu pour créer une nouvelle application et lui accorder les scopes nécessaires.


2. Installer le plugin

Vous pouvez installer le plugin directement via le gestionnaire de plugins de Clawdbot ou en utilisant npm.

A. Gestionnaire de plugins Clawdbot

clawdbot plugins install @m1heng-clawd/feishu

Cette commande récupère la dernière version depuis npm, l’installe et enregistre le plugin.

B. Installation manuelle via npm

Si la commande ci‑dessus échoue en raison de problèmes d’environnement, téléchargez le tarball et installez‑le localement :

curl -O https://registry.npmjs.org/@m1heng-clawd/feishu/-/feishu-0.1.1.tgz
clawdbot plugins install ./feishu-0.1.1.tgz

3. Créer et configurer une application Feishu

  1. Accédez à la plateforme Open de Feishu et créez une nouvelle Self‑built App.
  2. Sur la page Credentials, notez le App ID et le App Secret.
  3. Activez les permissions comme indiqué ci‑dessous :

Obligatoire | Permission | Portée | Description | |------------|-------|-------------| | contact:user.base:readonly | Infos utilisateur | Récupérer les infos basiques de l’utilisateur | | im:message | Messagerie | Envoyer et recevoir des messages | | im:message.p2p_msg:readonly | DM | Lire des messages privés | | im:message.group_at_msg:readonly | Groupe | Recevoir les mentions @ | | im:message:send_as_bot | Envoyer | Envoyer des messages en tant que bot | | im:resource | Média | Téléverser/télécharger images/fichiers |

Optionnel (activer si vous avez besoin d’un accès étendu) | Permission | Portée | Description | |------------|-------|-------------| | im:message.group_msg | Groupe | Lire tous les messages de groupe | | im:message:readonly | Lecture | Obtenir l’historique des messages | | im:message:update | Modification | Modifier les messages envoyés | | im:message:recall | Rappel | Rappeler les messages envoyés | | im:message.reactions:read | Réactions | Voir les réactions |

  1. Configurer les abonnements aux événements :
  2. Choisissez Long Connection (recommandé).
  3. Abonnez‑vous aux événements suivants :
    • im.message.receive_v1 – obligatoire pour recevoir les messages.
    • im.message.message_read_v1 – accusés de lecture (optionnel).
    • im.chat.member.bot.added_v1 – bot ajouté à un groupe.
    • im.chat.member.bot.deleted_v1 – bot retiré d’un groupe.
  4. Assurez‑vous que toutes les permissions d’événement ont été approuvées par le processus de validation de Feishu.

  5. Publier l’application – Au moins vers le domaine Test afin de pouvoir ajouter le bot aux discussions.


4. Configurer le plugin dans Clawdbot

Ouvrez votre fichier de configuration Clawdbot (généralement clawdbot.yml ou équivalent) et ajoutez :

channels:
  feishu:
    enabled: true
    appId: "cli_xxxxx"
    appSecret: "your_app_secret"
    domain: "feishu"          # utilisez "lark" pour le domaine international
    connectionMode: "websocket"  # "websocket" ou "webhook"
    dmPolicy: "pairing"         # "pairing", "open" ou "allowlist"
    groupPolicy: "allowlist"    # "open", "allowlist" ou "disabled"
    requireMention: true
    mediaMaxMb: 30
    renderMode: "auto"          # "auto", "raw" ou "card"

Astuce – Le flux pairing du dmPolicy nécessite que l’utilisateur approuve les messages directs. Si vous voulez un accès instantané aux DM, utilisez open.


5. Fonctionnalités clés & leur fonctionnement

Fonctionnalité Ce qu’elle fait Configuration
WebSocket vs Webhook WebSocket offre une latence faible et des événements en temps réel ; webhook est push‑basé mais plus simple à configurer. connectionMode
Politiques DM & Groupe Contrôlez qui peut communiquer avec le bot. dmPolicy & groupPolicy
Support médias Le bot peut voir images, PDFs, fichiers Excel, etc., et peut les téléverser/télécharger. mediaMaxMb
Indicateur de frappe Utilise des réactions emoji pour indiquer que le bot est en train de traiter. Intégré – pas de config nécessaire
Rendu de cartes Réponses formatées richement (surlignage de syntaxe, tableaux, liens). renderMode
Abonnements aux événements Recevoir des événements de message, des accusés de lecture et des événements de cycle de vie du bot. Feishu Open Platform → Events & Callbacks

6. Problèmes courants & dépannage

Symptom Cause probable Correction
Le bot ne reçoit pas de messages Abonnements aux événements non configurés ou mode de connexion incorrect. Vérifiez que Long Connection est sélectionné et que im.message.receive_v1 est bien abonné.
403 sur l’envoi de messages Permission im:message:send_as_bot non approuvée. Demandez une approbation dans la console Feishu.
La sortie n’est pas en streaming Limites d’API Feishu bloquent le streaming. Utilisez l’approche complete‑then‑send par défaut (incrémentale).
Erreur d’installation : ENOENT Problème de chemin de spawn npm sur Windows. Utilisez le téléchargement manuel du paquet depuis la Section 2B.
Le bot n’apparaît pas dans Feishu Application non publiée ou problème de portée de visibilité. Publiez vers Test et ajoutez votre compte à la visibilité de l’application.

7. Commandes rapides

# Vérifier le statut du plugin
clawdbot plugins list

# Désinstaller le plugin
clawdbot plugins uninstall @m1heng-clawd/feishu

# Redémarrer Clawdbot pour appliquer les changements de configuration
clawdbot restart

# Réinitialiser l’historique de conversation dans un chat
/​new

8. Étendre le plugin

Le plugin expose une API TypeScript simple via clawdbot.plugin. Pour des cas d’usage avancés, fork le dépôt, ajoutez des gestionnaires de messages personnalisés ou intégrez d’autres fonctionnalités du SDK Feishu. Les contributions sont les bienvenues via des demandes de tirage !


9. Résumé

Le plugin de canal Feishu pour Clawdbot relie des capacités d’IA puissantes à l’écosystème collaboratif de Feishu. Avec une installation simple, des options de configuration robustes et une prise en charge riche des médias, vous pouvez déployer rapidement un chatbot qui semblerait natif à Feishu. Que vous construisiez un assistant d’équipe, un assistant d’apprentissage ou que vous expérimentiez simplement, ce plugin vous offre une base solide pour commencer à créer des conversations intelligentes.

Bon codage — et que vos bots ne plantent jamais lorsqu’ils reçoivent des messages !

Original Article: Voir l’original

Partager cet article