OpenClaw

OpenClaw DingTalk Kanal

Unternehmen
Mittel

Verbinden Sie OpenClaw mit DingTalk (钉钉) über ein Community-Plugin. Diese Integration nutzt den DingTalk Stream-Modus (WebSocket-Langverbindung) — keine öffentliche IP oder Domain erforderlich. Unterstützt Direktnachrichten, Gruppenchats, Text-/Bild-/Sprach-/Video-/Dateinachrichten sowie KI-Card-Streaming-Antworten. Installieren Sie das Plugin, erstellen Sie eine interne DingTalk-Unternehmensapp, geben Sie Ihre Anmeldedaten ein und starten Sie.

Kurzinfo
SchwierigkeitsgradMittel
KategorieUnternehmen
Unterstützte Funktionen4 / 6

DingTalk Unterstützte Funktionen

Textnachrichten

Unterstützt

Medien & Dateien

Unterstützt

Reaktionen

Nicht unterstützt

Threads

Nicht unterstützt

Sprachnachrichten

Unterstützt

Gruppenchat

Unterstützt

DingTalk Voraussetzungen

  • DingTalk-Organisationsadministrator- oder App-Entwicklungsrechte
  • DingTalk-Plugin installiert: openclaw plugins install @soimy/dingtalk
  • OpenClaw Gateway läuft und ist konfiguriert
  • Node.js 18+ auf Ihrem Server installiert

DingTalk Schnelleinrichtung

1

DingTalk-Plugin installieren

Führen Sie im Terminal 'openclaw plugins install @soimy/dingtalk' aus, um das Community-DingTalk-Plugin zu installieren. Für KI-Card-Streaming-Antworten können Sie alternativ das Plugin '@dingtalk-real-ai/dingtalk-connector' wählen.

2

Interne DingTalk-Unternehmensapp erstellen

Melden Sie sich bei der DingTalk Open Platform (open-dev.dingtalk.com) an und erstellen Sie eine interne Unternehmensapp. Kopieren Sie auf der Anmeldedaten-Seite die ClientID (AppKey) und das ClientSecret (AppSecret). Fügen Sie unter App-Fähigkeiten die Bot-Fähigkeit hinzu und wählen Sie den Stream-Modus als Nachrichtenempfangsmodus.

3

Berechtigungen konfigurieren und veröffentlichen

Erteilen Sie in der Berechtigungsverwaltung die erforderlichen Berechtigungen: Card.Instance.Write, Card.Streaming.Write, Bot-Nachrichtenversand, Medien-Upload usw. Veröffentlichen Sie anschließend die App und warten Sie auf die Genehmigung.

4

OpenClaw konfigurieren und testen

Fügen Sie die DingTalk-Kanalkonfiguration in ~/.openclaw/openclaw.json mit clientId und clientSecret hinzu. Starten Sie das Gateway mit 'openclaw gateway restart' neu und senden Sie eine Testnachricht an den Bot in DingTalk.

DingTalk Konfigurationsbeispiel

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

DingTalk Integrationsanleitung

Architekturübersicht

OpenClaw verbindet sich mit DingTalk über den Stream-Modus (WebSocket-Langverbindung) der DingTalk Open Platform. Im Gegensatz zu herkömmlichen Webhooks initiiert das Gateway aktiv eine WebSocket-Verbindung zu den DingTalk-Servern und empfängt Event-Pushes in Echtzeit — keine öffentliche IP oder Domain erforderlich. Nachrichtenfluss: Benutzer sendet Nachricht in DingTalk → DingTalk Open Platform → Stream-Push zum Gateway → OpenClaw verarbeitet mit KI → Antwort über DingTalk Bot API → Nachricht wird in DingTalk zugestellt. Diese Architektur eignet sich hervorragend für Self-Hosted-Deployments hinter NAT oder Unternehmens-Firewalls. Das Gateway verwaltet die Verbindung automatisch und behandelt Verbindungsabbrüche mit exponentiellem Backoff.
Der Stream-Modus benötigt keine öffentliche IP und kein SSL-Zertifikat — funktioniert in Unternehmensnetzwerken und Heimnetzwerken.
Das DingTalk-Plugin wird von der Community gepflegt und separat vom OpenClaw-Kern installiert, um das Gateway leichtgewichtig zu halten.

Plugin-Auswahl

Für die DingTalk-Anbindung stehen zwei Community-Plugins zur Verfügung: • @soimy/dingtalk — Das beliebteste Plugin, aktiv von der Community gepflegt. Unterstützt Markdown- und KI-Card-Antwortformate, umfassend und stabil. • @dingtalk-real-ai/dingtalk-connector — Ein mit DingTalk offiziell verbundenes Projekt, fokussiert auf KI-Card-Streaming-Antworten, unterstützt Multi-Agent-Routing und asynchronen Modus, erfordert OpenClaw v0.7.7+. Beide Plugins nutzen den Stream-Modus, das Kernerlebnis ist identisch. Empfehlung: Einsteiger nehmen die @soimy-Version (mehr Dokumentation), wer Multi-Agent oder asynchrone Verarbeitung braucht, nimmt die @dingtalk-real-ai-Version.
terminal
# @soimy-Version installieren (empfohlen)
openclaw plugins install @soimy/dingtalk

# Oder @dingtalk-real-ai-Version installieren
openclaw plugins install @dingtalk-real-ai/dingtalk-connector

DingTalk-App-Erstellung und Anmeldedaten

Die Einrichtung der DingTalk-Integration erfordert das Erstellen einer App auf der DingTalk Open Platform: 1. Melden Sie sich bei open-dev.dingtalk.com an und gehen Sie zur Entwicklerkonsole. 2. Klicken Sie auf 'App erstellen', wählen Sie 'Interne Unternehmensentwicklung' → Typ 'Bot'. 3. Geben Sie App-Name und Beschreibung ein. Nach der Erstellung kopieren Sie auf der Seite 'Anmeldedaten und Basisinformationen' die ClientID (AppKey, Format dingXXX) und das ClientSecret (AppSecret). 4. Wählen Sie in der Bot-Konfiguration den **Stream-Modus** als Nachrichtenempfangsmodus (nicht HTTP-Modus). 5. Fügen Sie in der Berechtigungsverwaltung die erforderlichen Berechtigungen hinzu: - qyapi_robot_sendmsg (Bot-Nachrichtenversand) - Card.Instance.Write (Karteninstanz-Schreibzugriff) - Card.Streaming.Write (Streaming-Karten-Schreibzugriff) - mediaId.download und mediaId.upload (Medien-Upload/-Download) 6. Veröffentlichen Sie die App und warten Sie auf die Genehmigung des Organisationsadministrators.
terminal
# Über Umgebungsvariablen
export DINGTALK_CLIENT_ID="dingXXXXXX"
export DINGTALK_CLIENT_SECRET="your_app_secret"

# Oder über CLI
openclaw channels add
Bewahren Sie Ihr ClientSecret sicher auf. Committen Sie es niemals in die Versionskontrolle. Verwenden Sie in Produktion Umgebungsvariablen. Bei Kompromittierung setzen Sie es sofort in der DingTalk Open Platform-Konsole zurück.

Direktnachrichten- und Gruppenchat-Richtlinien

Das DingTalk-Plugin unterstützt flexible Nachrichtenrichtlinien: **DM-Richtlinie (dmPolicy)**: • open — Jeder kann dem Bot Direktnachrichten senden und erhält eine Antwort • disabled — DM-Funktionalität ist deaktiviert **Gruppenchat-Richtlinie (groupPolicy)**: • open — Jedes Gruppenmitglied kann den Bot per @Erwähnung auslösen • disabled — Gruppennachrichten werden komplett ignoriert In Gruppenchats ist standardmäßig eine @Erwähnung des Bots erforderlich, um unnötige Antworten in aktiven Gruppen zu vermeiden.
openclaw.json
{
  "channels": {
    "dingtalk": {
      "dmPolicy": "open",
      "groupPolicy": "open"
    }
  }
}
In Gruppenchats genügt eine @Erwähnung des Bot-Namens, keine zusätzliche Konfiguration nötig.
Die Sitzungsisolierung erfolgt pro Konversation — verschiedene Chats haben unabhängige Kontexte. Sitzungen werden nach 30 Minuten Inaktivität automatisch zurückgesetzt.

Antwortformate und KI-Card-Streaming

Das DingTalk-Plugin unterstützt mehrere Antwortformate: • **Text** — Einfache Nur-Text-Antworten • **Markdown** — Unterstützt Überschriften, Listen, Links und andere Formatierungen, standardmäßig empfohlen • **KI-Card (Streaming)** — Schreibmaschineneffekt ähnlich ChatGPT, die Nachricht wird in einer Karte schrittweise aktualisiert Das KI-Card-Streaming bietet die beste Benutzererfahrung — Nachrichten werden an Ort und Stelle aktualisiert, ohne mehrere Nachrichten zu erzeugen. Erfordert Card-Berechtigungen in der DingTalk-App.
openclaw.json
{
  "channels": {
    "dingtalk": {
      "messageType": "markdown",
      "streaming": true
    }
  }
}
KI-Card-Streaming erfordert die Berechtigungen Card.Instance.Write und Card.Streaming.Write.
Wenn Sie keinen Streaming-Effekt benötigen, setzen Sie messageType auf markdown und deaktivieren Sie streaming.

Nachrichtentypen und Medienunterstützung

Das OpenClaw DingTalk-Plugin verarbeitet verschiedene Nachrichtentypen: **Empfang**: Text, Bilder, Sprache (automatische Spracherkennung), Video, Dateien **Dateiverarbeitung**: .docx, .pdf, .txt, .md, .json, .xlsx, .pptx, .zip und andere Formate können von der KI gelesen und analysiert werden **Versand**: Text, Markdown, KI-Card, Bilder, Dateien Sprachnachrichten werden automatisch in Text umgewandelt und an die KI weitergeleitet — keine zusätzliche Konfiguration erforderlich.
Stellen Sie vor dem Senden großer Dateien sicher, dass die DingTalk-App Medien-Upload-Berechtigungen hat.
Sprachnachrichten werden automatisch erkannt und in Text umgewandelt, mit Unterstützung für Chinesisch und Englisch.

Multi-Agent-Routing

Mit der @dingtalk-real-ai-Version des Plugins können Sie Multi-Agent-Routing konfigurieren, sodass verschiedene KI-Agenten verschiedene Konversationstypen bearbeiten. Zum Beispiel: Direktnachrichten gehen an den allgemeinen Assistenten, bestimmte Gruppenchats an einen Fach-Agenten. Über die bindings-Konfiguration in OpenClaw können Sie die Agent-Zuweisung pro Konversation feingranular steuern.
openclaw.json
{
  "bindings": [
    { "agentId": "main", "match": { "channel": "dingtalk", "peer": { "kind": "direct" } } },
    { "agentId": "tech-support", "match": { "channel": "dingtalk", "peer": { "kind": "group" } } }
  ]
}
Multi-Agent-Routing wird nur von der @dingtalk-real-ai-Version unterstützt, nicht von der @soimy-Version.

Nützliche Befehle

OpenClaw bietet mehrere Befehle zur Verwaltung Ihres DingTalk-Bots: • openclaw gateway status — Gateway-Verbindungsstatus prüfen • openclaw gateway restart — Gateway-Dienst neu starten • openclaw logs --follow — Echtzeit-Logs anzeigen • openclaw channels add — Kanal interaktiv hinzufügen • openclaw plugins list — Installierte Plugins anzeigen • openclaw plugins update @soimy/dingtalk — DingTalk-Plugin aktualisieren • openclaw doctor — Umfassende Diagnose

DingTalk Konfigurationsreferenz

enabled
Type: booleanDefault: true

DingTalk-Kanal aktivieren oder deaktivieren

clientId
Type: stringDefault: ""

ClientID (AppKey) der DingTalk-App, Format dingXXX, von der DingTalk Open Platform

clientSecret
Type: stringDefault: ""

ClientSecret (AppSecret) der DingTalk-App, von der DingTalk Open Platform

robotCode
Type: stringDefault: ""

Eindeutiger Identifikationscode des Bots, von der Bot-Konfigurationsseite der DingTalk Open Platform

corpId
Type: stringDefault: ""

CorpId des Unternehmens, Format dingXXX, aus der DingTalk-Verwaltungskonsole

agentId
Type: stringDefault: ""

AgentId der App, von der DingTalk Open Platform

dmPolicy
Type: stringDefault: "open"

DM-Richtlinie. Optionen: open (offen), disabled (deaktiviert)

groupPolicy
Type: stringDefault: "open"

Gruppenchat-Richtlinie. Optionen: open (offen), disabled (deaktiviert)

messageType
Type: stringDefault: "markdown"

Antwort-Nachrichtenformat. Optionen: text (Nur-Text), markdown, card (KI-Card)

streaming
Type: booleanDefault: true

KI-Card-Streaming-Antworten aktivieren (Schreibmaschineneffekt)

debug
Type: booleanDefault: false

Debug-Modus aktivieren für detaillierte Verbindungs- und Nachrichtenlogs

DingTalk Häufig gestellte Fragen

DingTalk Fehlerbehebung

Bot antwortet überhaupt nicht

Die App ist möglicherweise nicht veröffentlicht, der Stream-Modus nicht aktiviert, ClientID oder ClientSecret falsch, oder das Plugin nicht korrekt installiert.

Schritt-für-Schritt-Prüfung: 1) Bestätigen Sie, dass die App veröffentlicht und genehmigt ist; 2) Stellen Sie sicher, dass der Nachrichtenempfangsmodus auf Stream-Modus steht; 3) Überprüfen Sie ClientID und ClientSecret; 4) Führen Sie openclaw plugins list aus, um die Plugin-Installation zu bestätigen; 5) Prüfen Sie den Verbindungsstatus mit openclaw gateway status.
Nachrichten werden empfangen, aber KI antwortet nicht

Mögliches Kompatibilitätsproblem nach OpenClaw-Upgrade oder fehlende KI-Modell-API-Key-Konfiguration.

Prüfen Sie, ob der API Key des KI-Modells korrekt konfiguriert ist. Aktualisieren Sie das DingTalk-Plugin: openclaw plugins update @soimy/dingtalk. Prüfen Sie openclaw logs --follow für detaillierte Fehlermeldungen. Siehe
Stream-Verbindung bricht häufig ab

Netzwerkinstabilität oder bekannte Probleme mit Nachrichtenverlust im DingTalk Stream-Modus.

Das Gateway behandelt Verbindungsabbrüche automatisch (exponentieller Backoff). Bei häufigen Abbrüchen prüfen Sie die Netzwerkstabilität des Servers und stellen Sie sicher, dass die Firewall ausgehende WebSocket-Verbindungen erlaubt. Aktivieren Sie den Debug-Modus für detaillierte Verbindungslogs.
Gruppendateien oder DingTalk-Drive-Dateien nicht zugänglich

Gruppendatei- und DingTalk-Drive-APIs erfordern möglicherweise eine Unternehmensverifizierung. Nicht verifizierte Organisationen können diese Funktionen eventuell nicht nutzen.

Prüfen Sie, ob Ihre Organisation die Unternehmensverifizierung abgeschlossen hat. Falls nicht, stehen bestimmte erweiterte Datei-APIs nicht zur Verfügung. Sie können diese Einschränkung umgehen, indem Sie Dateien direkt senden statt über DingTalk Drive zu teilen.
KI-Card-Streaming funktioniert nicht

Fehlende Card-Berechtigungen oder falsche messageType-Konfiguration.

Bestätigen Sie, dass die Berechtigungen Card.Instance.Write und Card.Streaming.Write auf der DingTalk Open Platform erteilt sind. Prüfen Sie, ob streaming in der Konfiguration auf true gesetzt ist. Nach Berechtigungsänderungen muss die App erneut veröffentlicht werden.