Feishu-Bot
Feishu (Lark) ist eine Team-Chat-Plattform, die von Unternehmen für Messaging und Zusammenarbeit genutzt wird. Dieses Plugin verbindet OpenClaw mit einem Feishu-/Lark-Bot über das WebSocket-Ereignisabonnement der Plattform, sodass Nachrichten empfangen werden können, ohne eine öffentliche Webhook-URL offenzulegen.Gebündeltes Plugin
Feishu ist in aktuellen OpenClaw-Versionen gebündelt enthalten, daher ist keine separate Plugin-Installation erforderlich. Wenn Sie einen älteren Build oder eine benutzerdefinierte Installation verwenden, die das gebündelte Feishu nicht enthält, installieren Sie es manuell:Schnellstart
Es gibt zwei Möglichkeiten, den Feishu-Kanal hinzuzufügen:Methode 1: Onboarding (empfohlen)
Wenn Sie OpenClaw gerade installiert haben, führen Sie das Onboarding aus:- Eine Feishu-App erstellen und Zugangsdaten erfassen
- App-Zugangsdaten in OpenClaw konfigurieren
- Das Gateway starten
openclaw gateway statusopenclaw logs --follow
Methode 2: Einrichtung per CLI
Wenn Sie die Erstinstallation bereits abgeschlossen haben, fügen Sie den Kanal über die CLI hinzu:openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
Schritt 1: Eine Feishu-App erstellen
1. Feishu Open Platform öffnen
Besuchen Sie die Feishu Open Platform und melden Sie sich an. Lark-Mandanten (global) sollten https://open.larksuite.com/app verwenden und in der Feishu-Konfigurationdomain: "lark" setzen.
2. Eine App erstellen
- Klicken Sie auf Create enterprise app
- Geben Sie den App-Namen und die Beschreibung ein
- Wählen Sie ein App-Symbol

3. Zugangsdaten kopieren
Kopieren Sie unter Credentials & Basic Info:- App ID (Format:
cli_xxx) - App Secret

4. Berechtigungen konfigurieren
Klicken Sie unter Permissions auf Batch import und fügen Sie Folgendes ein:
5. Bot-Funktion aktivieren
Unter App Capability > Bot:- Aktivieren Sie die Bot-Funktion
- Legen Sie den Bot-Namen fest

6. Ereignisabonnement konfigurieren
⚠️ Wichtig: Bevor Sie das Ereignisabonnement einrichten, stellen Sie sicher:- Sie haben
openclaw channels addfür Feishu bereits ausgeführt - Das Gateway läuft (
openclaw gateway status)
- Wählen Sie Use long connection to receive events (WebSocket)
- Fügen Sie das Ereignis
im.message.receive_v1hinzu - (Optional) Für Drive-Kommentar-Workflows fügen Sie außerdem
drive.notice.comment_add_v1hinzu

7. Die App veröffentlichen
- Erstellen Sie eine Version unter Version Management & Release
- Reichen Sie sie zur Prüfung ein und veröffentlichen Sie sie
- Warten Sie auf die Admin-Genehmigung (Enterprise-Apps werden normalerweise automatisch genehmigt)
Schritt 2: OpenClaw konfigurieren
Mit dem Assistenten konfigurieren (empfohlen)
Über die Konfigurationsdatei konfigurieren
Bearbeiten Sie~/.openclaw/openclaw.json:
connectionMode: "webhook" verwenden, setzen Sie sowohl verificationToken als auch encryptKey. Der Feishu-Webhook-Server bindet standardmäßig an 127.0.0.1; setzen Sie webhookHost nur, wenn Sie absichtlich eine andere Bind-Adresse benötigen.
Verification Token und Encrypt Key (Webhook-Modus)
Wenn Sie den Webhook-Modus verwenden, setzen Sie sowohlchannels.feishu.verificationToken als auch channels.feishu.encryptKey in Ihrer Konfiguration. So erhalten Sie die Werte:
- Öffnen Sie in der Feishu Open Platform Ihre App
- Gehen Sie zu Development → Events & Callbacks (开发配置 → 事件与回调)
- Öffnen Sie den Tab Encryption (加密策略)
- Kopieren Sie Verification Token und Encrypt Key

Über Umgebungsvariablen konfigurieren
Lark-Domain (global)
Wenn Ihr Mandant auf Lark (international) läuft, setzen Sie die Domain auflark (oder auf eine vollständige Domain-Zeichenfolge). Sie können dies unter channels.feishu.domain oder pro Konto (channels.feishu.accounts.<id>.domain) festlegen.
Flags zur Quotenoptimierung
Sie können die Nutzung der Feishu-API mit zwei optionalen Flags reduzieren:typingIndicator(Standardtrue): Wennfalse, werden Aufrufe für Schreibreaktionen übersprungen.resolveSenderNames(Standardtrue): Wennfalse, werden Aufrufe zur Abfrage von Senderprofilen übersprungen.
Schritt 3: Starten und testen
1. Das Gateway starten
2. Eine Testnachricht senden
Suchen Sie in Feishu Ihren Bot und senden Sie eine Nachricht.3. Pairing genehmigen
Standardmäßig antwortet der Bot mit einem Pairing-Code. Genehmigen Sie ihn:Überblick
- Feishu-Bot-Kanal: Vom Gateway verwalteter Feishu-Bot
- Deterministisches Routing: Antworten gehen immer an Feishu zurück
- Sitzungsisolierung: DMs teilen sich eine Hauptsitzung; Gruppen sind isoliert
- WebSocket-Verbindung: Long Connection über das Feishu SDK, keine öffentliche URL erforderlich
Zugriffskontrolle
Direktnachrichten
-
Standard:
dmPolicy: "pairing"(unbekannte Benutzer erhalten einen Pairing-Code) -
Pairing genehmigen:
-
Allowlist-Modus: Setzen Sie
channels.feishu.allowFrommit erlaubten Open IDs
Gruppenchats
1. Gruppenrichtlinie (channels.feishu.groupPolicy):
"open"= alle in Gruppen zulassen"allowlist"= nurgroupAllowFromzulassen"disabled"= Gruppennachrichten deaktivieren
allowlist
2. Mention-Anforderung (channels.feishu.requireMention, überschreibbar über channels.feishu.groups.<chat_id>.requireMention):
- explizit
true= @mention erforderlich - explizit
false= ohne Mentions antworten - wenn nicht gesetzt und
groupPolicy: "open"= Standard istfalse - wenn nicht gesetzt und
groupPolicynicht"open"ist = Standard isttrue
Beispiele für Gruppenkonfigurationen
Alle Gruppen zulassen, keine @mention erforderlich (Standard für offene Gruppen)
Alle Gruppen zulassen, aber weiterhin @mention verlangen
Nur bestimmte Gruppen zulassen
Einschränken, welche Absender in einer Gruppe Nachrichten senden dürfen (Absender-Allowlist)
Zusätzlich dazu, dass die Gruppe selbst erlaubt sein muss, werden alle Nachrichten in dieser Gruppe durch die Open-ID des Absenders eingeschränkt: Nur Benutzer, die ingroups.<chat_id>.allowFrom aufgeführt sind, werden verarbeitet; Nachrichten anderer Mitglieder werden ignoriert (dies ist eine vollständige Einschränkung auf Absenderebene, nicht nur für Steuerbefehle wie /reset oder /new).
Gruppen-/Benutzer-IDs abrufen
Gruppen-IDs (chat_id)
Gruppen-IDs sehen so aus:oc_xxx.
Methode 1 (empfohlen)
- Starten Sie das Gateway und @mentionen Sie den Bot in der Gruppe
- Führen Sie
openclaw logs --followaus und suchen Sie nachchat_id
Benutzer-IDs (open_id)
Benutzer-IDs sehen so aus:ou_xxx.
Methode 1 (empfohlen)
- Starten Sie das Gateway und senden Sie dem Bot eine DM
- Führen Sie
openclaw logs --followaus und suchen Sie nachopen_id
Häufige Befehle
| Befehl | Beschreibung |
|---|---|
/status | Bot-Status anzeigen |
/reset | Die Sitzung zurücksetzen |
/model | Modell anzeigen/wechseln |
Hinweis: Feishu unterstützt derzeit keine nativen Befehlsmenüs, daher müssen Befehle als Text gesendet werden.
Gateway-Verwaltungsbefehle
| Befehl | Beschreibung |
|---|---|
openclaw gateway status | Gateway-Status anzeigen |
openclaw gateway install | Gateway-Dienst installieren/starten |
openclaw gateway stop | Gateway-Dienst stoppen |
openclaw gateway restart | Gateway-Dienst neu starten |
openclaw logs --follow | Gateway-Protokolle mitverfolgen |
Fehlerbehebung
Bot antwortet nicht in Gruppenchats
- Stellen Sie sicher, dass der Bot zur Gruppe hinzugefügt wurde
- Stellen Sie sicher, dass Sie den Bot @mentionen (Standardverhalten)
- Prüfen Sie, ob
groupPolicynicht auf"disabled"gesetzt ist - Prüfen Sie die Protokolle:
openclaw logs --follow
Bot empfängt keine Nachrichten
- Stellen Sie sicher, dass die App veröffentlicht und genehmigt ist
- Stellen Sie sicher, dass das Ereignisabonnement
im.message.receive_v1enthält - Stellen Sie sicher, dass long connection aktiviert ist
- Stellen Sie sicher, dass die App-Berechtigungen vollständig sind
- Stellen Sie sicher, dass das Gateway läuft:
openclaw gateway status - Prüfen Sie die Protokolle:
openclaw logs --follow
App-Secret offengelegt
- Setzen Sie das App Secret in der Feishu Open Platform zurück
- Aktualisieren Sie das App Secret in Ihrer Konfiguration
- Starten Sie das Gateway neu
Fehler beim Senden von Nachrichten
- Stellen Sie sicher, dass die App die Berechtigung
im:message:send_as_bothat - Stellen Sie sicher, dass die App veröffentlicht ist
- Prüfen Sie die Protokolle auf detaillierte Fehler
Erweiterte Konfiguration
Mehrere Konten
defaultAccount steuert, welches Feishu-Konto verwendet wird, wenn ausgehende APIs nicht ausdrücklich ein accountId angeben.
Nachrichtenlimits
textChunkLimit: Größe von Textabschnitten für ausgehende Nachrichten (Standard: 2000 Zeichen)mediaMaxMb: Limit für Upload/Download von Medien (Standard: 30MB)
Streaming
Feishu unterstützt Streaming-Antworten über interaktive Karten. Wenn aktiviert, aktualisiert der Bot während der Textgenerierung eine Karte.streaming: false, um auf die vollständige Antwort zu warten, bevor sie gesendet wird.
ACP-Sitzungen
Feishu unterstützt ACP für:- DMs
- Gruppen-Topic-Konversationen
/acp ...-Nachrichten direkt in der Konversation.
Persistente ACP-Bindings
Verwenden Sie typisierte ACP-Bindings auf oberster Ebene, um eine Feishu-DM oder Topic-Konversation an eine persistente ACP-Sitzung zu binden.Thread-gebundener ACP-Spawn aus dem Chat
In einer Feishu-DM oder Topic-Konversation können Sie direkt eine ACP-Sitzung erzeugen und binden:--thread herefunktioniert für DMs und Feishu-Topics.- Nachfolgende Nachrichten in der gebundenen DM/im gebundenen Topic werden direkt an diese ACP-Sitzung weitergeleitet.
- v1 zielt nicht auf allgemeine Gruppenchats ohne Topic ab.
Multi-Agent-Routing
Verwenden Siebindings, um Feishu-DMs oder -Gruppen an unterschiedliche Agenten weiterzuleiten.
match.channel:"feishu"match.peer.kind:"direct"oder"group"match.peer.id: Benutzer-Open-ID (ou_xxx) oder Gruppen-ID (oc_xxx)
Konfigurationsreferenz
Vollständige Konfiguration: Gateway-Konfiguration Wichtige Optionen:| Einstellung | Beschreibung | Standard |
|---|---|---|
channels.feishu.enabled | Kanal aktivieren/deaktivieren | true |
channels.feishu.domain | API-Domain (feishu oder lark) | feishu |
channels.feishu.connectionMode | Modus für den Ereignistransport | websocket |
channels.feishu.defaultAccount | Standard-Konto-ID für ausgehendes Routing | default |
channels.feishu.verificationToken | Erforderlich für den Webhook-Modus | - |
channels.feishu.encryptKey | Erforderlich für den Webhook-Modus | - |
channels.feishu.webhookPath | Pfad der Webhook-Route | /feishu/events |
channels.feishu.webhookHost | Webhook-Bind-Host | 127.0.0.1 |
channels.feishu.webhookPort | Webhook-Bind-Port | 3000 |
channels.feishu.accounts.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.domain | Überschreibung der API-Domain pro Konto | feishu |
channels.feishu.dmPolicy | DM-Richtlinie | pairing |
channels.feishu.allowFrom | DM-Allowlist (open_id-Liste) | - |
channels.feishu.groupPolicy | Gruppenrichtlinie | allowlist |
channels.feishu.groupAllowFrom | Gruppen-Allowlist | - |
channels.feishu.requireMention | Standardmäßig @mention erforderlich | bedingt |
channels.feishu.groups.<chat_id>.requireMention | Überschreibung für @mention pro Gruppe | vererbt |
channels.feishu.groups.<chat_id>.enabled | Gruppe aktivieren | true |
channels.feishu.textChunkLimit | Größe von Nachrichtenabschnitten | 2000 |
channels.feishu.mediaMaxMb | Größenlimit für Medien | 30 |
channels.feishu.streaming | Streaming-Kartenausgabe aktivieren | true |
channels.feishu.blockStreaming | Block-Streaming aktivieren | true |
dmPolicy-Referenz
| Wert | Verhalten |
|---|---|
"pairing" | Standard. Unbekannte Benutzer erhalten einen Pairing-Code und müssen genehmigt werden |
"allowlist" | Nur Benutzer in allowFrom können chatten |
"open" | Alle Benutzer zulassen (erfordert "*" in allowFrom) |
"disabled" | DMs deaktivieren |
Unterstützte Nachrichtentypen
Empfangen
- ✅ Text
- ✅ Rich Text (Post)
- ✅ Bilder
- ✅ Dateien
- ✅ Audio
- ✅ Video/Medien
- ✅ Sticker
Senden
- ✅ Text
- ✅ Bilder
- ✅ Dateien
- ✅ Audio
- ✅ Video/Medien
- ✅ Interaktive Karten
- ⚠️ Rich Text (Formatierung im Post-Stil und Karten, nicht beliebige Feishu-Autorenfunktionen)
Threads und Antworten
- ✅ Inline-Antworten
- ✅ Topic-Thread-Antworten, wenn Feishu
reply_in_threadbereitstellt - ✅ Medienantworten bleiben threadbewusst, wenn auf eine Thread-/Topic-Nachricht geantwortet wird
Drive-Kommentare
Feishu kann den Agenten auslösen, wenn jemand einen Kommentar zu einem Feishu-Drive-Dokument hinzufügt (Docs, Sheets usw.). Der Agent erhält den Kommentartext, den Dokumentkontext und den Kommentar-Thread, damit er im Thread antworten oder Dokumentbearbeitungen vornehmen kann. Anforderungen:- Abonnieren Sie
drive.notice.comment_add_v1in den Ereignisabonnement-Einstellungen Ihrer Feishu-App (zusammen mit dem vorhandenenim.message.receive_v1) - Das Drive-Tool ist standardmäßig aktiviert; deaktivieren Sie es mit
channels.feishu.tools.drive: false
feishu_drive stellt diese Kommentaraktionen bereit:
| Aktion | Beschreibung |
|---|---|
list_comments | Kommentare zu einem Dokument auflisten |
list_comment_replies | Antworten in einem Kommentar-Thread auflisten |
add_comment | Einen neuen Kommentar auf oberster Ebene hinzufügen |
reply_comment | Auf einen vorhandenen Kommentar-Thread antworten |
- den Kommentartext und den Absender
- Dokumentmetadaten (Titel, Typ, URL)
- den Kontext des Kommentar-Threads für Antworten im Thread
feishu_drive.reply_comment zu verwenden, um den Kommentierenden zu benachrichtigen, und anschließend genau das stille Token NO_REPLY / no_reply auszugeben, um doppelte Sendungen zu vermeiden.
Runtime-Aktionsoberfläche
Feishu stellt derzeit diese Runtime-Aktionen bereit:sendreadeditthread-replypinlist-pinsunpinmember-infochannel-infochannel-listreactundreactions, wenn Reaktionen in der Konfiguration aktiviert sindfeishu_drive-Kommentaraktionen:list_comments,list_comment_replies,add_comment,reply_comment
Verwandt
- Channels Overview — alle unterstützten Kanäle
- Pairing — DM-Authentifizierung und Pairing-Ablauf
- Groups — Verhalten in Gruppenchats und Mention-Gating
- Channel Routing — Sitzungsrouting für Nachrichten
- Security — Zugriffsmodell und Härtung