Skip to main content

Feishu-bot

Feishu (Lark) är en teamchattplattform som används av företag för meddelanden och samarbete. Denna plugin ansluter OpenClaw till en Feishu/Lark bot med hjälp av plattformens WebSocket event prenumeration så att meddelanden kan tas emot utan att exponera en publik webhook-URL.

Plugin krävs

Installera Feishu-pluginet:
Lokal checkout (när du kör från ett git-repo):

Snabbstart

Det finns två sätt att lägga till Feishu-kanalen:

Metod 1: introduktionsguide (rekommenderas)

Om du just har installerat OpenClaw, kör guiden:
Guiden leder dig genom:
  1. Skapa en Feishu-app och samla in autentiseringsuppgifter
  2. Konfigurera appuppgifter i OpenClaw
  3. Starta gateway
Efter konfiguration, kontrollera gateway-status:
  • openclaw gateway status
  • openclaw logs --follow

Metod 2: CLI-konfigurering

Om du redan har slutfört den initiala installationen, lägg till kanalen via CLI:
Välj Feishu och ange sedan App ID och App Secret. Efter konfiguration, hantera gateway:
  • openclaw gateway status
  • openclaw gateway restart
  • openclaw logs --follow

Steg 1: Skapa en Feishu-app

1. Öppna Feishu Öppen plattform

Besök Feishu Open Platform och logga in. Lark‑tenants (globalt) ska använda https://open.larksuite.com/app och ställa in domain: "lark" i Feishu-konfigen.

2. Skapa en app

  1. Klicka på Create enterprise app
  2. Fyll i appnamn + beskrivning
  3. Välj en appikon
Create enterprise app

3. Kopiera inloggningsuppgifter

Från Credentials & Basic Info, kopiera:
  • App ID (format: cli_xxx)
  • App Secret
Viktigt: håll App Secret privat. Get credentials

4. Konfigurera behörigheter

Permissions, klicka på Batch import och klistra in:
Configure permissions

5. Aktivera bot-funktion

I App Capability > Bot:
  1. Aktivera bot-funktion
  2. Ange botens namn
Enable bot capability

6. Konfigurera händelseprenumeration

⚠️ Viktigt: innan du ställer in händelseprenumeration, säkerställ att:
  1. Du redan har kört openclaw channels add för Feishu
  2. Gateway körs (openclaw gateway status)
I Event Subscription:
  1. Välj Use long connection to receive events (WebSocket)
  2. Lägg till händelsen: im.message.receive_v1
⚠️ Om gateway inte körs kan inställningen för lång anslutning misslyckas att sparas. Configure event subscription

7. Publicera appen

  1. Skapa en version i Version Management & Release
  2. Skicka in för granskning och publicera
  3. Vänta på admin-godkännande (enterprise-appar godkänns vanligtvis automatiskt)

Steg 2: Konfigurera OpenClaw

Konfigurera med guiden (rekommenderas)

Välj Feishu och klistra in ditt App ID + App Secret.

Konfigurera via konfigfil

Redigera ~/.openclaw/openclaw.json:

Konfigurera via miljövariabler

Lark-domän (global)

Om din hyresgäst är på Lark (internationell), ange domänen till lark (eller en full domänsträng). Du kan ställa in den i channels.feishu.domain eller per konto (channels.feishu.accounts.<id>.domain).

Steg 3: Starta + testa

1. Starta gatewayn

2. Skicka ett testmeddelande

I Feishu, hitta din bot och skicka ett meddelande.

3. Godkänn parkoppling

Som standard svarar botten med en parningskod. Godkänn det:
Efter godkännande kan du chatta normalt.

Översikt

  • Feishu-botkanal: Feishu-bot som hanteras av gateway
  • Deterministisk routning: svar returnerar alltid till Feishu
  • Sessionsisolering: DM delar en huvudsession; grupper är isolerade
  • WebSocket-anslutning: lång anslutning via Feishu SDK, ingen publik URL behövs

Åtkomstkontroll

Direktmeddelanden

  • Standard: dmPolicy: "pairing" (okända användare får en parningskod)
  • Godkänn parning:
  • Tillåtelselista: ställ in channels.feishu.allowFrom med tillåtna Open IDs

Gruppchattar

1. Grupppolicy (channels.feishu.groupPolicy):
  • "open" = tillåt alla i grupper (standard)
  • "allowlist" = tillåt endast groupAllowFrom
  • "disabled" = inaktivera gruppmeddelanden
2. Nämn krav (channels.feishu.groups.<chat_id>.requireNämna):
  • true = kräver @omnämnande (standard)
  • false = svara utan omnämnanden

Exempel på gruppkonfiguration

Tillåt alla grupper, kräv @omnämnande (standard)

Tillåt alla grupper, inget @omnämnande krävs

Tillåt endast specifika användare i grupper


Hämta grupp-/användar-ID:n

Grupp-ID:n (chat_id)

Grupp-ID:n ser ut som oc_xxx. Metod 1 (rekommenderad)
  1. Starta gateway och @omnämn boten i gruppen
  2. Kör openclaw logs --follow och leta efter chat_id
Metod 2 Använd Feishu API-debuggern för att lista gruppchattar.

Användar-ID:n (open_id)

Användar-ID:n ser ut som ou_xxx. Metod 1 (rekommenderad)
  1. Starta gateway och skicka DM till boten
  2. Kör openclaw logs --follow och leta efter open_id
Metod 2 Kontrollera parningsförfrågningar för användarens Open IDs:

Vanliga kommandon

Obs: Feishu stöder ännu inte inbyggda kommandomenyer, så kommandon måste skickas som text.

Gateway-hanteringskommandon


Felsökning

Boten svarar inte i gruppchattar

  1. Säkerställ att boten är tillagd i gruppen
  2. Säkerställ att du @omnämner boten (standardbeteende)
  3. Kontrollera att groupPolicy inte är satt till "disabled"
  4. Kontrollera loggar: openclaw logs --follow

Boten tar inte emot meddelanden

  1. Säkerställ att appen är publicerad och godkänd
  2. Säkerställ att händelseprenumerationen inkluderar im.message.receive_v1
  3. Säkerställ att lång anslutning är aktiverad
  4. Säkerställ att appbehörigheterna är kompletta
  5. Säkerställ att gateway körs: openclaw gateway status
  6. Kontrollera loggar: openclaw logs --follow

Läckage av App Secret

  1. Återställ App Secret i Feishu Open Platform
  2. Uppdatera App Secret i din konfig
  3. Starta om gateway

Misslyckade meddelandesändningar

  1. Säkerställ att appen har behörigheten im:message:send_as_bot
  2. Säkerställ att appen är publicerad
  3. Kontrollera loggarna för detaljerade fel

Avancerad konfiguration

Flera konton

Meddelandegränser

  • textChunkLimit: storlek på utgående textsegment (standard: 2000 tecken)
  • mediaMaxMb: gräns för mediauppladdning/-nedladdning (standard: 30 MB)

Strömning

Feishu stöder strömmande svar via interaktiva kort. När den är aktiverad uppdaterar boten ett kort eftersom det genererar text.
Ställ in streaming: false för att vänta på hela svaret innan det skickas.

Multi-agent-routning

Använd bindings för att routa Feishu-DM eller grupper till olika agenter.
Routningsfält:
  • match.channel: "feishu"
  • match.peer.kind: "direct" or "group"
  • match.peer.id: användarens Open ID (ou_xxx) eller grupp-ID (oc_xxx)
Se Hämta grupp-/användar-ID:n för tips om uppslagning.

Konfigurationsreferens

Fullständig konfiguration: Gateway-konfiguration Viktiga alternativ:

dmPolicy-referens


Meddelandetyper som stöds

Ta emot

  • ✅ Text
  • ✅ Rik text (post)
  • ✅ Bilder
  • ✅ Filer
  • ✅ Ljud
  • ✅ Video
  • ✅ Klistermärken

Skicka

  • ✅ Text
  • ✅ Bilder
  • ✅ Filer
  • ✅ Ljud
  • ⚠️ Rik text (begränsat stöd)