Canal DingTalk OpenClaw
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.
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
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'.
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.
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.
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
{
"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
Choix du plugin
# 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-connectorCréation de l'application DingTalk et obtention des identifiants
# Via variables d'environnement
export DINGTALK_CLIENT_ID="dingXXXXXX"
export DINGTALK_CLIENT_SECRET="your_app_secret"
# Ou via CLI
openclaw channels addPolitiques de messages directs et de discussions de groupe
{
"channels": {
"dingtalk": {
"dmPolicy": "open",
"groupPolicy": "open"
}
}
}Formats de réponse et streaming AI Card
{
"channels": {
"dingtalk": {
"messageType": "markdown",
"streaming": true
}
}
}Types de messages et support média
Routage multi-agents
{
"bindings": [
{ "agentId": "main", "match": { "channel": "dingtalk", "peer": { "kind": "direct" } } },
{ "agentId": "tech-support", "match": { "channel": "dingtalk", "peer": { "kind": "group" } } }
]
}Commandes utiles
DingTalk Référence de Configuration
| Key | Type | Default | Description |
|---|---|---|---|
| enabled | boolean | true | Activer ou désactiver le canal DingTalk |
| clientId | string | "" | ClientID (AppKey) de l'application DingTalk, format dingXXX, obtenu de la plateforme ouverte DingTalk |
| clientSecret | string | "" | ClientSecret (AppSecret) de l'application DingTalk, obtenu de la plateforme ouverte DingTalk |
| robotCode | string | "" | Code d'identification unique du bot, obtenu de la page de configuration du bot sur la plateforme ouverte DingTalk |
| corpId | string | "" | CorpId de l'entreprise, format dingXXX, obtenu de la console d'administration DingTalk |
| agentId | string | "" | AgentId de l'application, obtenu de la plateforme ouverte DingTalk |
| dmPolicy | string | "open" | Politique de messages directs. Options : open (ouvert), disabled (désactivé) |
| groupPolicy | string | "open" | Politique de discussion de groupe. Options : open (ouvert), disabled (désactivé) |
| messageType | string | "markdown" | Format de réponse. Options : text (texte brut), markdown, card (AI Card) |
| streaming | boolean | true | Activer les réponses en streaming AI Card (effet machine à écrire) |
| debug | boolean | false | Activer le mode debug pour des logs détaillés de connexion et de messages |
Activer ou désactiver le canal DingTalk
ClientID (AppKey) de l'application DingTalk, format dingXXX, obtenu de la plateforme ouverte DingTalk
ClientSecret (AppSecret) de l'application DingTalk, obtenu de la plateforme ouverte DingTalk
Code d'identification unique du bot, obtenu de la page de configuration du bot sur la plateforme ouverte DingTalk
CorpId de l'entreprise, format dingXXX, obtenu de la console d'administration DingTalk
AgentId de l'application, obtenu de la plateforme ouverte DingTalk
Politique de messages directs. Options : open (ouvert), disabled (désactivé)
Politique de discussion de groupe. Options : open (ouvert), disabled (désactivé)
Format de réponse. Options : text (texte brut), markdown, card (AI Card)
Activer les réponses en streaming AI Card (effet machine à écrire)
Activer le mode debug pour des logs détaillés de connexion et de messages
DingTalk Questions Fréquentes
DingTalk Dépannage
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é.
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.
Instabilité réseau ou problèmes connus de perte de messages en mode Stream DingTalk.
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.
Permissions Card manquantes ou configuration messageType incorrecte.