Bot Feishu
Feishu (Lark) è una piattaforma di chat di team usata dalle aziende per la messaggistica e la collaborazione. Questo plugin connette OpenClaw a un bot Feishu/Lark usando la sottoscrizione degli eventi WebSocket della piattaforma, così i messaggi possono essere ricevuti senza esporre un URL webhook pubblico.Plugin incluso
Feishu è incluso nelle attuali release di OpenClaw, quindi non è necessaria un’installazione separata del plugin. Se stai usando una build più vecchia o un’installazione personalizzata che non include Feishu incluso, installalo manualmente:Avvio rapido
Ci sono due modi per aggiungere il canale Feishu:Metodo 1: onboarding (consigliato)
Se hai appena installato OpenClaw, esegui l’onboarding:- Creazione di un’app Feishu e raccolta delle credenziali
- Configurazione delle credenziali dell’app in OpenClaw
- Avvio del gateway
openclaw gateway statusopenclaw logs --follow
Metodo 2: configurazione tramite CLI
Se hai già completato l’installazione iniziale, aggiungi il canale tramite CLI:openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
Passaggio 1: creare un’app Feishu
1. Apri Feishu Open Platform
Visita Feishu Open Platform ed effettua l’accesso. I tenant Lark (globali) devono usare https://open.larksuite.com/app e impostaredomain: "lark" nella configurazione Feishu.
2. Crea un’app
- Fai clic su Create enterprise app
- Compila il nome e la descrizione dell’app
- Scegli un’icona per l’app

3. Copia le credenziali
Da Credentials & Basic Info, copia:- App ID (formato:
cli_xxx) - App Secret

4. Configura i permessi
In Permissions, fai clic su Batch import e incolla:
5. Abilita la funzionalità bot
In App Capability > Bot:- Abilita la funzionalità bot
- Imposta il nome del bot

6. Configura la sottoscrizione degli eventi
⚠️ Importante: prima di configurare la sottoscrizione degli eventi, assicurati che:- Tu abbia già eseguito
openclaw channels addper Feishu - Il gateway sia in esecuzione (
openclaw gateway status)
- Scegli Use long connection to receive events (WebSocket)
- Aggiungi l’evento:
im.message.receive_v1 - (Facoltativo) Per i flussi di lavoro dei commenti Drive, aggiungi anche:
drive.notice.comment_add_v1

7. Pubblica l’app
- Crea una versione in Version Management & Release
- Invia per la revisione e pubblica
- Attendi l’approvazione dell’amministratore (le app enterprise di solito vengono approvate automaticamente)
Passaggio 2: configurare OpenClaw
Configurazione con la procedura guidata (consigliata)
Configurazione tramite file di configurazione
Modifica~/.openclaw/openclaw.json:
connectionMode: "webhook", imposta sia verificationToken sia encryptKey. Il server webhook Feishu si collega a 127.0.0.1 per impostazione predefinita; imposta webhookHost solo se ti serve intenzionalmente un indirizzo di bind diverso.
Verification Token e Encrypt Key (modalità webhook)
Quando usi la modalità webhook, imposta siachannels.feishu.verificationToken sia channels.feishu.encryptKey nella tua configurazione. Per ottenere i valori:
- In Feishu Open Platform, apri la tua app
- Vai a Development → Events & Callbacks (开发配置 → 事件与回调)
- Apri la scheda Encryption (加密策略)
- Copia Verification Token e Encrypt Key

Configurazione tramite variabili d’ambiente
Dominio Lark (globale)
Se il tuo tenant è su Lark (internazionale), imposta il dominio sulark (o una stringa di dominio completa). Puoi impostarlo in channels.feishu.domain o per account (channels.feishu.accounts.<id>.domain).
Flag di ottimizzazione della quota
Puoi ridurre l’uso dell’API Feishu con due flag facoltativi:typingIndicator(predefinitotrue): quando èfalse, salta le chiamate di reazione di digitazione.resolveSenderNames(predefinitotrue): quando èfalse, salta le chiamate di ricerca del profilo del mittente.
Passaggio 3: avviare e testare
1. Avvia il gateway
2. Invia un messaggio di test
In Feishu, trova il tuo bot e invia un messaggio.3. Approva l’associazione
Per impostazione predefinita, il bot risponde con un codice di pairing. Approvalo:Panoramica
- Canale bot Feishu: bot Feishu gestito dal gateway
- Instradamento deterministico: le risposte tornano sempre a Feishu
- Isolamento delle sessioni: i DM condividono una sessione principale; i gruppi sono isolati
- Connessione WebSocket: connessione lunga tramite SDK Feishu, nessun URL pubblico necessario
Controllo degli accessi
Messaggi diretti
-
Predefinito:
dmPolicy: "pairing"(gli utenti sconosciuti ricevono un codice di pairing) -
Approva l’associazione:
-
Modalità allowlist: imposta
channels.feishu.allowFromcon gli Open ID consentiti
Chat di gruppo
1. Criterio di gruppo (channels.feishu.groupPolicy):
"open"= consenti a tutti nei gruppi"allowlist"= consenti sologroupAllowFrom"disabled"= disabilita i messaggi di gruppo
allowlist
2. Requisito di menzione (channels.feishu.requireMention, sovrascrivibile tramite channels.feishu.groups.<chat_id>.requireMention):
trueesplicito = richiede @mentionfalseesplicito = risponde senza menzioni- quando non impostato e
groupPolicy: "open"= predefinitofalse - quando non impostato e
groupPolicynon è"open"= predefinitotrue
Esempi di configurazione dei gruppi
Consenti tutti i gruppi, senza @mention obbligatoria (predefinito per i gruppi aperti)
Consenti tutti i gruppi, ma richiedi comunque @mention
Consenti solo gruppi specifici
Limitare quali mittenti possono inviare messaggi in un gruppo (allowlist mittenti)
Oltre a consentire il gruppo stesso, tutti i messaggi in quel gruppo sono regolati dall’open_id del mittente: solo gli utenti elencati ingroups.<chat_id>.allowFrom vedono elaborati i propri messaggi; i messaggi degli altri membri vengono ignorati (si tratta di un controllo completo a livello di mittente, non solo per i comandi di controllo come /reset o /new).
Ottenere gli ID di gruppo/utente
ID gruppo (chat_id)
Gli ID di gruppo hanno un aspetto simile aoc_xxx.
Metodo 1 (consigliato)
- Avvia il gateway e menziona il bot con @ nel gruppo
- Esegui
openclaw logs --followe cercachat_id
ID utente (open_id)
Gli ID utente hanno un aspetto simile aou_xxx.
Metodo 1 (consigliato)
- Avvia il gateway e invia un DM al bot
- Esegui
openclaw logs --followe cercaopen_id
Comandi comuni
| Command | Descrizione |
|---|---|
/status | Mostra lo stato del bot |
/reset | Reimposta la sessione |
/model | Mostra/cambia modello |
Nota: Feishu non supporta ancora menu di comandi nativi, quindi i comandi devono essere inviati come testo.
Comandi di gestione del gateway
| Command | Descrizione |
|---|---|
openclaw gateway status | Mostra lo stato del gateway |
openclaw gateway install | Installa/avvia il servizio gateway |
openclaw gateway stop | Arresta il servizio gateway |
openclaw gateway restart | Riavvia il servizio gateway |
openclaw logs --follow | Segue i log del gateway |
Risoluzione dei problemi
Il bot non risponde nelle chat di gruppo
- Assicurati che il bot sia stato aggiunto al gruppo
- Assicurati di menzionare il bot con @ (comportamento predefinito)
- Verifica che
groupPolicynon sia impostato su"disabled" - Controlla i log:
openclaw logs --follow
Il bot non riceve messaggi
- Assicurati che l’app sia pubblicata e approvata
- Assicurati che la sottoscrizione degli eventi includa
im.message.receive_v1 - Assicurati che la long connection sia abilitata
- Assicurati che i permessi dell’app siano completi
- Assicurati che il gateway sia in esecuzione:
openclaw gateway status - Controlla i log:
openclaw logs --follow
Perdita dell’App Secret
- Reimposta l’App Secret in Feishu Open Platform
- Aggiorna l’App Secret nella tua configurazione
- Riavvia il gateway
Errori di invio dei messaggi
- Assicurati che l’app abbia il permesso
im:message:send_as_bot - Assicurati che l’app sia pubblicata
- Controlla i log per errori dettagliati
Configurazione avanzata
Account multipli
defaultAccount controlla quale account Feishu viene usato quando le API in uscita non specificano esplicitamente un accountId.
Limiti dei messaggi
textChunkLimit: dimensione dei blocchi di testo in uscita (predefinito: 2000 caratteri)mediaMaxMb: limite di upload/download dei media (predefinito: 30MB)
Streaming
Feishu supporta le risposte in streaming tramite schede interattive. Quando è abilitato, il bot aggiorna una scheda mentre genera il testo.streaming: false per attendere la risposta completa prima dell’invio.
Sessioni ACP
Feishu supporta ACP per:- DM
- conversazioni di gruppo con argomento
/acp ... nella conversazione.
Associazioni ACP persistenti
Usa associazioni ACP tipizzate di livello superiore per fissare un DM Feishu o una conversazione con argomento a una sessione ACP persistente.Avvio ACP associato al thread dalla chat
In un DM Feishu o in una conversazione con argomento, puoi avviare e associare una sessione ACP direttamente lì:--thread herefunziona per DM e argomenti Feishu.- I messaggi successivi nel DM/argomento associato vengono instradati direttamente a quella sessione ACP.
- La v1 non si rivolge alle chat di gruppo generiche senza argomento.
Instradamento multi-agent
Usabindings per instradare i DM o i gruppi Feishu verso agenti diversi.
match.channel:"feishu"match.peer.kind:"direct"o"group"match.peer.id: Open ID dell’utente (ou_xxx) o ID del gruppo (oc_xxx)
Riferimento della configurazione
Configurazione completa: Configurazione del gateway Opzioni principali:| Setting | Descrizione | Default |
|---|---|---|
channels.feishu.enabled | Abilita/disabilita il canale | true |
channels.feishu.domain | Dominio API (feishu o lark) | feishu |
channels.feishu.connectionMode | Modalità di trasporto degli eventi | websocket |
channels.feishu.defaultAccount | ID account predefinito per l’instradamento in uscita | default |
channels.feishu.verificationToken | Richiesto per la modalità webhook | - |
channels.feishu.encryptKey | Richiesto per la modalità webhook | - |
channels.feishu.webhookPath | Percorso della route webhook | /feishu/events |
channels.feishu.webhookHost | Host di bind del webhook | 127.0.0.1 |
channels.feishu.webhookPort | Porta di bind del webhook | 3000 |
channels.feishu.accounts.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.domain | Override del dominio API per account | feishu |
channels.feishu.dmPolicy | Criterio DM | pairing |
channels.feishu.allowFrom | Allowlist DM (lista open_id) | - |
channels.feishu.groupPolicy | Criterio di gruppo | allowlist |
channels.feishu.groupAllowFrom | Allowlist di gruppo | - |
channels.feishu.requireMention | Richiedi @mention per impostazione predefinita | conditional |
channels.feishu.groups.<chat_id>.requireMention | Override per gruppo di @mention obbligatoria | inherited |
channels.feishu.groups.<chat_id>.enabled | Abilita gruppo | true |
channels.feishu.textChunkLimit | Dimensione dei blocchi di messaggio | 2000 |
channels.feishu.mediaMaxMb | Limite dimensione media | 30 |
channels.feishu.streaming | Abilita output streaming con schede | true |
channels.feishu.blockStreaming | Abilita streaming a livello di blocco | true |
Riferimento dmPolicy
| Value | Comportamento |
|---|---|
"pairing" | Predefinito. Gli utenti sconosciuti ricevono un codice di pairing; devono essere approvati |
"allowlist" | Solo gli utenti in allowFrom possono chattare |
"open" | Consenti tutti gli utenti (richiede "*" in allowFrom) |
"disabled" | Disabilita i DM |
Tipi di messaggi supportati
Ricezione
- ✅ Testo
- ✅ Testo avanzato (post)
- ✅ Immagini
- ✅ File
- ✅ Audio
- ✅ Video/media
- ✅ Sticker
Invio
- ✅ Testo
- ✅ Immagini
- ✅ File
- ✅ Audio
- ✅ Video/media
- ✅ Schede interattive
- ⚠️ Testo avanzato (formattazione stile post e schede, non funzionalità di authoring Feishu arbitrarie)
Thread e risposte
- ✅ Risposte inline
- ✅ Risposte ai thread degli argomenti dove Feishu espone
reply_in_thread - ✅ Le risposte con media restano consapevoli del thread quando rispondono a un messaggio di thread/argomento
Commenti Drive
Feishu può attivare l’agente quando qualcuno aggiunge un commento a un documento Feishu Drive (Docs, Sheets, ecc.). L’agente riceve il testo del commento, il contesto del documento e il thread del commento, così può rispondere nel thread o apportare modifiche al documento. Requisiti:- Sottoscrivi
drive.notice.comment_add_v1nelle impostazioni di sottoscrizione eventi della tua app Feishu (insieme all’esistenteim.message.receive_v1) - Lo strumento Drive è abilitato per impostazione predefinita; disabilitalo con
channels.feishu.tools.drive: false
feishu_drive espone queste azioni sui commenti:
| Action | Descrizione |
|---|---|
list_comments | Elenca i commenti su un documento |
list_comment_replies | Elenca le risposte in un thread di commenti |
add_comment | Aggiunge un nuovo commento di primo livello |
reply_comment | Risponde a un thread di commenti esistente |
- il testo del commento e il mittente
- i metadati del documento (titolo, tipo, URL)
- il contesto del thread del commento per le risposte nel thread
feishu_drive.reply_comment per notificare il
commentatore e poi emettere l’esatto token silenzioso NO_REPLY / no_reply per
evitare invii duplicati.
Superficie delle azioni runtime
Feishu attualmente espone queste azioni runtime:sendreadeditthread-replypinlist-pinsunpinmember-infochannel-infochannel-listreactereactionsquando le reazioni sono abilitate nella configurazione- azioni sui commenti
feishu_drive:list_comments,list_comment_replies,add_comment,reply_comment
Correlati
- Panoramica dei canali — tutti i canali supportati
- Pairing — autenticazione DM e flusso di pairing
- Gruppi — comportamento delle chat di gruppo e controllo delle menzioni
- Instradamento dei canali — instradamento delle sessioni per i messaggi
- Sicurezza — modello di accesso e hardening