OpenClaw

Canal DingTalk OpenClaw

Entreprise
Moyen

Connectez OpenClaw à DingTalk (钉钉) via un plugin communautaire. Cette intégration utilise le mode Stream de DingTalk (connexion longue WebSocket), sans IP publique ni domaine requis. Supporte les messages directs, les discussions de groupe, les messages texte/image/vocal/vidéo/fichier, ainsi que les réponses en streaming via AI Card. Installez le plugin, créez une application interne d'entreprise DingTalk, entrez vos identifiants et c'est parti.

Info rapide
DifficultéMoyen
CatégorieEntreprise
Fonctionnalités prises en charge4 / 6

DingTalk Fonctionnalités prises en charge

Messages texte

Pris en charge

Médias et fichiers

Pris en charge

Réactions

Non pris en charge

Fils de discussion

Non pris en charge

Messages vocaux

Pris en charge

Discussion de groupe

Pris en charge

DingTalk Prérequis

  • Droits d'administrateur d'organisation DingTalk ou droits de développement d'applications
  • Plugin DingTalk installé : openclaw plugins install @soimy/dingtalk
  • OpenClaw Gateway en cours d'exécution et configuré
  • Node.js 18+ installé sur votre serveur

DingTalk Configuration rapide

1

Installer le plugin DingTalk

Exécutez 'openclaw plugins install @soimy/dingtalk' dans votre terminal pour installer le plugin communautaire DingTalk. Si vous avez besoin de réponses en streaming via AI Card, vous pouvez également opter pour le plugin '@dingtalk-real-ai/dingtalk-connector'.

2

Créer une application interne d'entreprise DingTalk

Connectez-vous à la plateforme ouverte DingTalk (open-dev.dingtalk.com) et créez une application interne d'entreprise. Sur la page des identifiants, copiez le ClientID (AppKey) et le ClientSecret (AppSecret). Dans les capacités de l'application, ajoutez la capacité bot et sélectionnez le mode Stream comme mode de réception des messages.

3

Configurer les permissions et publier

Dans la gestion des permissions, accordez les permissions nécessaires : Card.Instance.Write, Card.Streaming.Write, envoi de messages bot, téléchargement de fichiers médias, etc. Une fois terminé, publiez l'application et attendez l'approbation.

4

Configurer OpenClaw et tester

Ajoutez la configuration du canal DingTalk dans ~/.openclaw/openclaw.json avec clientId et clientSecret. Exécutez 'openclaw gateway restart' pour redémarrer le Gateway et envoyez un message test au bot dans DingTalk.

DingTalk Exemple de configuration

config.json
{
  "channels": {
    "dingtalk": {
      "enabled": true,
      "clientId": "dingXXXXXX",
      "clientSecret": "your-app-secret",
      "robotCode": "dingXXXXXX",
      "corpId": "dingXXXXXX",
      "dmPolicy": "open",
      "groupPolicy": "open",
      "messageType": "markdown"
    }
  }
}

DingTalk Guide d'Intégration

Vue d'ensemble de l'architecture

OpenClaw se connecte à DingTalk via le mode Stream (connexion longue WebSocket) de la plateforme ouverte DingTalk. Contrairement aux Webhooks traditionnels, le mode Stream permet au Gateway d'initier activement une connexion WebSocket vers les serveurs DingTalk, recevant les événements en temps réel sans IP publique ni domaine. Flux de messages : L'utilisateur envoie un message dans DingTalk → Plateforme ouverte DingTalk → Push Stream vers le Gateway → OpenClaw traite avec l'IA → Réponse via l'API Bot DingTalk → Message livré dans DingTalk. Cette architecture est idéale pour les déploiements auto-hébergés derrière un NAT ou un pare-feu d'entreprise. Le Gateway gère automatiquement la connexion et traite les reconnexions avec un backoff exponentiel.
Le mode Stream ne nécessite ni IP publique ni certificat SSL — fonctionne dans les réseaux d'entreprise et domestiques.
Le plugin DingTalk est maintenu par la communauté et installé séparément du noyau OpenClaw, gardant le Gateway léger.

Choix du plugin

Deux plugins communautaires sont disponibles pour connecter DingTalk : • @soimy/dingtalk — Le plugin le plus populaire, activement maintenu par la communauté. Supporte les formats de réponse Markdown et AI Card, complet et stable. • @dingtalk-real-ai/dingtalk-connector — Projet officiellement lié à DingTalk, axé sur les réponses streaming AI Card, supporte le routage multi-agents et le mode asynchrone, nécessite OpenClaw v0.7.7+. Les deux plugins utilisent le mode Stream, l'expérience principale est identique. Recommandation : les débutants choisiront la version @soimy (plus de documentation), ceux qui ont besoin du multi-agents ou du traitement asynchrone choisiront la version @dingtalk-real-ai.
terminal
# Installer la version @soimy (recommandée)
openclaw plugins install @soimy/dingtalk

# Ou installer la version @dingtalk-real-ai
openclaw plugins install @dingtalk-real-ai/dingtalk-connector

Création de l'application DingTalk et obtention des identifiants

La configuration de l'intégration DingTalk nécessite la création d'une application sur la plateforme ouverte : 1. Connectez-vous à open-dev.dingtalk.com et accédez à la console développeur. 2. Cliquez sur « Créer une application », sélectionnez « Développement interne d'entreprise » → type « Bot ». 3. Entrez le nom et la description de l'application. Une fois créée, copiez le ClientID (AppKey, format dingXXX) et le ClientSecret (AppSecret) sur la page « Identifiants et informations de base ». 4. Dans la configuration du bot, sélectionnez le **mode Stream** comme mode de réception des messages (pas le mode HTTP). 5. Dans la gestion des permissions, ajoutez les permissions nécessaires : - qyapi_robot_sendmsg (envoi de messages bot) - Card.Instance.Write (écriture d'instance de carte) - Card.Streaming.Write (écriture de carte streaming) - mediaId.download et mediaId.upload (téléchargement/envoi de fichiers médias) 6. Publiez l'application et attendez l'approbation de l'administrateur de l'organisation.
terminal
# Via variables d'environnement
export DINGTALK_CLIENT_ID="dingXXXXXX"
export DINGTALK_CLIENT_SECRET="your_app_secret"

# Ou via CLI
openclaw channels add
Gardez votre ClientSecret en sécurité. Ne le committez jamais dans le contrôle de version. Utilisez des variables d'environnement en production. En cas de compromission, réinitialisez-le immédiatement dans la console de la plateforme ouverte DingTalk.

Politiques de messages directs et de discussions de groupe

Le plugin DingTalk supporte des politiques de messages flexibles : **Politique de DM (dmPolicy)** : • open — Toute personne envoyant un message direct au bot reçoit une réponse • disabled — La fonctionnalité DM est désactivée **Politique de groupe (groupPolicy)** : • open — Tout membre du groupe peut déclencher le bot en le @mentionnant • disabled — Les messages de groupe sont complètement ignorés Dans les discussions de groupe, une @mention du bot est requise par défaut pour éviter les réponses intempestives dans les groupes actifs.
openclaw.json
{
  "channels": {
    "dingtalk": {
      "dmPolicy": "open",
      "groupPolicy": "open"
    }
  }
}
Dans les discussions de groupe, il suffit de @mentionner le nom du bot pour le déclencher, aucune configuration supplémentaire nécessaire.
L'isolation des sessions se fait par conversation — différents chats ont des contextes indépendants. Les sessions sont automatiquement réinitialisées après 30 minutes d'inactivité.

Formats de réponse et streaming AI Card

Le plugin DingTalk supporte plusieurs formats de réponse : • **Texte** — Réponses en texte brut basiques • **Markdown** — Supporte les titres, listes, liens et autres mises en forme, recommandé par défaut • **AI Card (streaming)** — Effet machine à écrire similaire à ChatGPT, le message se met à jour progressivement dans une carte Le streaming AI Card offre la meilleure expérience utilisateur — les messages sont mis à jour sur place sans générer de messages multiples. Nécessite les permissions Card dans l'application DingTalk.
openclaw.json
{
  "channels": {
    "dingtalk": {
      "messageType": "markdown",
      "streaming": true
    }
  }
}
Le streaming AI Card nécessite les permissions Card.Instance.Write et Card.Streaming.Write.
Si vous n'avez pas besoin de l'effet streaming, définissez messageType sur markdown et désactivez streaming.

Types de messages et support média

Le plugin DingTalk pour OpenClaw gère plusieurs types de messages : **Réception** : Texte, images, voix (reconnaissance vocale automatique), vidéo, fichiers **Traitement de fichiers** : .docx, .pdf, .txt, .md, .json, .xlsx, .pptx, .zip et d'autres formats peuvent être lus et analysés par l'IA **Envoi** : Texte, Markdown, AI Card, images, fichiers Les messages vocaux sont automatiquement convertis en texte avant d'être envoyés à l'IA — aucune configuration supplémentaire nécessaire.
Avant d'envoyer des fichiers volumineux, assurez-vous que l'application DingTalk dispose des permissions de téléchargement de médias.
Les messages vocaux sont automatiquement reconnus en texte, avec support du chinois et de l'anglais.

Routage multi-agents

Avec la version @dingtalk-real-ai du plugin, vous pouvez configurer le routage multi-agents pour que différents agents IA traitent différents types de conversations. Par exemple, les messages directs vont à l'assistant général et certaines discussions de groupe vont à un agent spécialisé. Via la configuration des bindings dans OpenClaw, vous pouvez contrôler finement l'attribution des agents pour chaque conversation.
openclaw.json
{
  "bindings": [
    { "agentId": "main", "match": { "channel": "dingtalk", "peer": { "kind": "direct" } } },
    { "agentId": "tech-support", "match": { "channel": "dingtalk", "peer": { "kind": "group" } } }
  ]
}
Le routage multi-agents n'est supporté que par la version @dingtalk-real-ai, pas par la version @soimy.

Commandes utiles

OpenClaw fournit plusieurs commandes pour gérer votre bot DingTalk : • openclaw gateway status — Vérifier l'état de connexion du Gateway • openclaw gateway restart — Redémarrer le service Gateway • openclaw logs --follow — Voir les logs en temps réel • openclaw channels add — Ajouter un canal interactivement • openclaw plugins list — Voir les plugins installés • openclaw plugins update @soimy/dingtalk — Mettre à jour le plugin DingTalk • openclaw doctor — Diagnostic complet

DingTalk Référence de Configuration

enabled
Type: booleanDefault: true

Activer ou désactiver le canal DingTalk

clientId
Type: stringDefault: ""

ClientID (AppKey) de l'application DingTalk, format dingXXX, obtenu de la plateforme ouverte DingTalk

clientSecret
Type: stringDefault: ""

ClientSecret (AppSecret) de l'application DingTalk, obtenu de la plateforme ouverte DingTalk

robotCode
Type: stringDefault: ""

Code d'identification unique du bot, obtenu de la page de configuration du bot sur la plateforme ouverte DingTalk

corpId
Type: stringDefault: ""

CorpId de l'entreprise, format dingXXX, obtenu de la console d'administration DingTalk

agentId
Type: stringDefault: ""

AgentId de l'application, obtenu de la plateforme ouverte DingTalk

dmPolicy
Type: stringDefault: "open"

Politique de messages directs. Options : open (ouvert), disabled (désactivé)

groupPolicy
Type: stringDefault: "open"

Politique de discussion de groupe. Options : open (ouvert), disabled (désactivé)

messageType
Type: stringDefault: "markdown"

Format de réponse. Options : text (texte brut), markdown, card (AI Card)

streaming
Type: booleanDefault: true

Activer les réponses en streaming AI Card (effet machine à écrire)

debug
Type: booleanDefault: false

Activer le mode debug pour des logs détaillés de connexion et de messages

DingTalk Questions Fréquentes

DingTalk Dépannage

Le bot ne répond pas du tout

L'application n'est peut-être pas publiée, le mode Stream n'est pas activé, le ClientID ou ClientSecret est incorrect, ou le plugin n'est pas correctement installé.

Vérification étape par étape : 1) Confirmez que l'application est publiée et approuvée ; 2) Assurez-vous que le mode de réception des messages est Stream ; 3) Vérifiez le ClientID et le ClientSecret ; 4) Exécutez openclaw plugins list pour confirmer l'installation du plugin ; 5) Vérifiez l'état de la connexion avec openclaw gateway status.
Les messages sont reçus mais l'IA ne répond pas

Possible problème de compatibilité après une mise à jour d'OpenClaw, ou la clé API du modèle IA n'est pas configurée.

Vérifiez que la clé API du modèle IA est correctement configurée. Mettez à jour le plugin DingTalk : openclaw plugins update @soimy/dingtalk. Consultez openclaw logs --follow pour les messages d'erreur détaillés. Voir
La connexion Stream se déconnecte fréquemment

Instabilité réseau ou problèmes connus de perte de messages en mode Stream DingTalk.

Le Gateway gère automatiquement les reconnexions (backoff exponentiel). En cas de déconnexions fréquentes, vérifiez la stabilité réseau du serveur et assurez-vous que le pare-feu autorise les connexions WebSocket sortantes. Activez le mode debug pour des logs de connexion détaillés.
Impossible d'accéder aux fichiers de groupe ou du DingTalk Drive

Les APIs de fichiers de groupe et du DingTalk Drive peuvent nécessiter une vérification d'entreprise. Les organisations non vérifiées peuvent ne pas avoir accès à ces fonctionnalités.

Vérifiez si votre organisation a complété la vérification d'entreprise. Si ce n'est pas le cas, certaines APIs avancées de fichiers ne seront pas disponibles. Vous pouvez contourner cette limitation en envoyant les fichiers directement au lieu de les partager via DingTalk Drive.
Le streaming AI Card ne fonctionne pas

Permissions Card manquantes ou configuration messageType incorrecte.

Confirmez que les permissions Card.Instance.Write et Card.Streaming.Write sont accordées sur la plateforme ouverte DingTalk. Vérifiez que streaming est défini sur true dans la configuration. Après des modifications de permissions, l'application doit être republiée.