Regional platforms
Feishu
OpenClaw si connette a Feishu/Lark (la piattaforma di collaborazione completa) tramite il Plugin ufficiale @openclaw/feishu: messaggi diretti al bot, chat di gruppo, risposte in streaming tramite schede e strumenti per documenti, wiki, drive e Bitable di Feishu.
Stato: pronto per la produzione per messaggi diretti al bot e chat di gruppo. WebSocket è il trasporto eventi predefinito (non è necessario un URL pubblico); la modalità Webhook è facoltativa.
Avvio rapido
Eseguire la procedura guidata di configurazione del canale
openclaw channels login --channel feishuIl comando installa il Plugin @openclaw/feishu se non è presente, quindi guida nella configurazione:
- Configurazione manuale: incollare un App ID e un App Secret da Feishu Open Platform (
https://open.feishu.cn) o Lark Developer (https://open.larksuite.com). - Configurazione tramite QR: scansionare un codice QR nell'app Feishu per creare automaticamente un bot. Questo flusso limita i messaggi diretti al proprio account (
dmPolicy: "allowlist"con il proprioopen_id).
La procedura guidata richiede anche il dominio API (Feishu o Lark) e la politica dei gruppi. Se l'app mobile Feishu nazionale non reagisce al codice QR, eseguire nuovamente la configurazione e scegliere quella manuale.
Al termine della configurazione, riavviare il Gateway per applicare le modifiche
openclaw gateway restartControllo degli accessi
Messaggi diretti
Configurare channels.feishu.dmPolicy (valore predefinito: pairing) per controllare chi può inviare messaggi diretti al bot:
| Valore | Comportamento |
|---|---|
"pairing" |
Gli utenti sconosciuti ricevono un codice di associazione; approvare tramite CLI |
"allowlist" |
Possono conversare solo gli utenti elencati in allowFrom |
"open" |
Messaggi diretti pubblici; la convalida della configurazione richiede che allowFrom includa "*". Le voci senza caratteri jolly continuano a restringere l'accesso |
Approvare una richiesta di associazione:
openclaw pairing list feishuopenclaw pairing approve feishu <CODE>Chat di gruppo
Politica dei gruppi (channels.feishu.groupPolicy, valore predefinito: allowlist):
| Valore | Comportamento |
|---|---|
"open" |
Risponde a tutti i messaggi nei gruppi |
"allowlist" |
Risponde solo ai gruppi in groupAllowFrom o configurati esplicitamente in groups.<chat_id> |
"disabled" |
Disabilita tutti i messaggi di gruppo; le voci esplicite groups.<chat_id> non sostituiscono questa impostazione |
Requisito di menzione (channels.feishu.requireMention):
- Impostazione predefinita: è richiesta una @menzione, tranne quando la politica effettiva del gruppo è
"open"; in tal caso, il valore predefinito èfalse, affinché i messaggi che non possono contenere menzioni (ad esempio le immagini) raggiungano comunque l'agente. - Impostare esplicitamente
trueofalseper sostituire il valore; impostazione specifica per gruppo:channels.feishu.groups.<chat_id>.requireMention. - Le menzioni di sola trasmissione
@alle@_allnon sono considerate menzioni del bot. Un messaggio che menziona sia@allsia direttamente il bot viene comunque considerato una menzione del bot.
Esempi di configurazione dei gruppi
Consentire tutti i gruppi senza richiedere una @menzione
{ channels: { feishu: { groupPolicy: "open", // requireMention defaults to false under "open" }, },}Consentire tutti i gruppi richiedendo comunque una @menzione
{ channels: { feishu: { groupPolicy: "open", requireMention: true, }, },}Consentire solo gruppi specifici
{ channels: { feishu: { groupPolicy: "allowlist", // Group IDs look like: oc_xxx groupAllowFrom: ["oc_xxx", "oc_yyy"], }, },}In modalità allowlist, è inoltre possibile ammettere un gruppo aggiungendo una voce esplicita groups.<chat_id>. Le voci esplicite non sostituiscono groupPolicy: "disabled". Le impostazioni predefinite con caratteri jolly in groups.* configurano i gruppi corrispondenti, ma non li ammettono autonomamente.
{ channels: { feishu: { groupPolicy: "allowlist", groups: { oc_xxx: { requireMention: false, }, }, }, },}Limitare i mittenti all'interno di un gruppo
{ channels: { feishu: { groupPolicy: "allowlist", groupAllowFrom: ["oc_xxx"], groups: { oc_xxx: { // User open_ids look like: ou_xxx allowFrom: ["ou_user1", "ou_user2"], }, }, }, },}channels.feishu.groupSenderAllowFrom imposta lo stesso elenco di mittenti consentiti per tutti i gruppi; un'impostazione allowFrom specifica per gruppo ha la precedenza.
Ottenere gli ID di gruppi e utenti
ID dei gruppi (chat_id, formato: oc_xxx)
Aprire il gruppo in Feishu/Lark, fare clic sull'icona del menu nell'angolo superiore destro e accedere a Settings. L'ID del gruppo (chat_id) è riportato nella pagina delle impostazioni.

ID degli utenti (open_id, formato: ou_xxx)
Avviare il Gateway, inviare un messaggio diretto al bot, quindi controllare i log:
openclaw logs --followCercare open_id nell'output dei log. È inoltre possibile controllare le richieste di associazione in sospeso:
openclaw pairing list feishuComandi comuni
| Comando | Descrizione |
|---|---|
/status |
Mostra lo stato del bot |
/reset |
Reimposta la sessione corrente |
/model |
Mostra o cambia il modello di IA |
Risoluzione dei problemi
Il bot non risponde nelle chat di gruppo
- Assicurarsi che il bot sia aggiunto al gruppo
- Assicurarsi di @menzionare il bot (impostazione predefinita obbligatoria)
- Verificare che
groupPolicynon sia"disabled" - Controllare i log:
openclaw logs --follow
Il bot non riceve messaggi
- Assicurarsi che il bot sia pubblicato e approvato in Feishu Open Platform / Lark Developer
- Assicurarsi che la sottoscrizione agli eventi includa
im.message.receive_v1 - Assicurarsi che sia selezionata la persistent connection (WebSocket)
- Assicurarsi che siano concessi tutti gli ambiti di autorizzazione richiesti
- Assicurarsi che il Gateway sia in esecuzione:
openclaw gateway status - Controllare i log:
openclaw logs --follow
La configurazione tramite QR non reagisce nell'app mobile Feishu
- Eseguire nuovamente la configurazione:
openclaw channels login --channel feishu - Scegliere la configurazione manuale
- In Feishu Open Platform, creare un'app personalizzata e copiarne l'App ID e l'App Secret
- Incollare queste credenziali nella procedura guidata di configurazione
App Secret divulgato
- Reimpostare l'App Secret in Feishu Open Platform / Lark Developer
- Aggiornare il valore nella configurazione
- Riavviare il Gateway:
openclaw gateway restart
Configurazione avanzata
Account multipli
{ channels: { feishu: { defaultAccount: "main", accounts: { main: { appId: "cli_xxx", appSecret: "xxx", name: "Primary bot", tts: { providers: { openai: { voice: "shimmer" }, }, }, }, backup: { appId: "cli_yyy", appSecret: "yyy", name: "Backup bot", enabled: false, }, }, }, },}defaultAccount controlla quale account viene utilizzato quando le API in uscita non specificano un accountId. Le voci degli account ereditano le impostazioni di primo livello; la maggior parte delle chiavi di primo livello può essere sostituita per ciascun account.
accounts.<id>.tts usa la stessa struttura di messages.tts e viene unito in profondità alla configurazione TTS globale, consentendo alle configurazioni Feishu con più bot di mantenere globalmente le credenziali condivise dei provider e sostituire per ciascun account solo la voce, il modello, la persona o la modalità automatica.
Limiti dei messaggi
textChunkLimit- dimensione dei segmenti di testo in uscita (valore predefinito:4000caratteri)streaming.chunkMode-"length"(valore predefinito) divide al raggiungimento del limite;"newline"preferisce i confini delle nuove righemediaMaxMb- limite di caricamento/scaricamento dei contenuti multimediali (valore predefinito:30MB)
Streaming
Feishu/Lark supporta le risposte in streaming tramite schede interattive (API di streaming Card Kit). Quando la funzionalità è abilitata, il bot aggiorna la scheda in tempo reale durante la generazione del testo.
{ channels: { feishu: { streaming: { mode: "partial", // streaming card output (default: "partial") block: { enabled: true }, // opt into completed-block streaming }, }, },}Impostare streaming.mode: "off" per inviare la risposta completa in un unico messaggio; anche renderMode: "raw" (testo normale anziché schede) disabilita le schede in streaming. streaming.block.enabled è disattivato per impostazione predefinita; abilitarlo solo quando si desidera inviare i blocchi completati dell'assistente prima della risposta finale. Il valore booleano obsoleto streaming e le chiavi non nidificate blockStreaming / blockStreamingCoalesce / chunkMode vengono migrati a questa struttura nidificata tramite openclaw doctor --fix.
Ottimizzazione delle quote
Ridurre il numero di chiamate alle API Feishu/Lark tramite due flag facoltativi:
typingIndicator(valore predefinitotrue): impostarefalseper ignorare le chiamate di reazione alla digitazioneresolveSenderNames(valore predefinitotrue): impostarefalseper ignorare le ricerche del profilo del mittente
{ channels: { feishu: { typingIndicator: false, resolveSenderNames: false, }, },}Ambito delle sessioni di gruppo e thread degli argomenti
channels.feishu.groupSessionScope (a livello principale, per account o per gruppo) controlla il modo in cui i messaggi di gruppo vengono associati alle sessioni dell'agente:
| Valore | Sessione |
|---|---|
"group" (valore predefinito) |
Una sessione per chat di gruppo |
"group_sender" |
Una sessione per (gruppo + mittente) |
"group_topic" |
Una sessione per thread dell'argomento; in alternativa usa la sessione del gruppo |
"group_topic_sender" |
Una sessione per (argomento + mittente); in alternativa usa (gruppo + mittente) |
Per gli ambiti degli argomenti, i gruppi di argomenti nativi di Feishu/Lark usano l'evento thread_id (omt_*) come chiave canonica della sessione dell'argomento. Se un evento iniziale di un argomento nativo omette thread_id, OpenClaw lo recupera da Feishu prima di instradare il turno. Le normali risposte di gruppo che OpenClaw trasforma in thread continuano a usare l'ID del messaggio radice della risposta (om_*), affinché il primo turno e quelli successivi rimangano nella stessa sessione.
Impostare replyInThread: "enabled" (a livello principale o per gruppo) per fare in modo che le risposte del bot creino o continuino un thread di argomento Feishu anziché rispondere in linea. topicSessionMode è il predecessore deprecato di groupSessionScope; preferire groupSessionScope.
Strumenti per l'area di lavoro Feishu
Il Plugin include strumenti per agenti dedicati a documenti, chat, base di conoscenza, archiviazione cloud, autorizzazioni e Bitable di Feishu, oltre alle Skills corrispondenti (feishu-doc, feishu-drive, feishu-perm, feishu-wiki). Le famiglie di strumenti sono controllate da channels.feishu.tools:
| Chiave | Strumenti | Valore predefinito |
|---|---|---|
tools.doc |
operazioni sui documenti di feishu_doc |
true |
tools.chat |
informazioni sulla chat di feishu_chat + query sui membri |
true |
tools.wiki |
knowledge base di feishu_wiki (richiede doc) |
true |
tools.drive |
archiviazione cloud di feishu_drive |
true |
tools.perm |
gestione delle autorizzazioni di feishu_perm |
false (sensibile) |
tools.scopes |
diagnostica degli ambiti dell'app di feishu_app_scopes |
true |
tools.bitable |
operazioni Bitable/Base di feishu_bitable_* |
true |
tools.base è un alias di tools.bitable; quando sono impostati entrambi, prevale il valore esplicito di bitable. Le limitazioni per account si trovano in accounts.<id>.tools.
Concedere drive:drive.metadata:readonly per le ricerche dirette di feishu_drive info al di fuori della directory
radice, a meno che l'app non disponga già dell'ambito completo drive:drive. Senza nessuno dei due ambiti, info
mantiene disponibile la ricerca legacy nella directory radice tramite drive:drive:readonly.
Sessioni ACP
Feishu/Lark supporta ACP per i messaggi diretti e i messaggi nei thread di gruppo. ACP su Feishu/Lark è basato su comandi testuali: non sono disponibili menu nativi per i comandi slash, quindi utilizzare direttamente i messaggi /acp ... nella conversazione.
Associazione ACP persistente
{ agents: { list: [ { id: "codex", runtime: { type: "acp", acp: { agent: "codex", backend: "acpx", mode: "persistent", cwd: "/workspace/openclaw", }, }, }, ], }, bindings: [ { type: "acp", agentId: "codex", match: { channel: "feishu", accountId: "default", peer: { kind: "direct", id: "ou_1234567890" }, }, }, { type: "acp", agentId: "codex", match: { channel: "feishu", accountId: "default", peer: { kind: "group", id: "oc_group_chat:topic:om_topic_root" }, }, acp: { label: "codex-feishu-topic" }, }, ],}Avvio di ACP dalla chat
In un messaggio diretto o thread di Feishu/Lark:
/acp spawn codex --thread here--thread here funziona per i messaggi diretti e per i messaggi nei thread di Feishu/Lark. I messaggi successivi nella conversazione associata vengono instradati direttamente a tale sessione ACP.
Instradamento multi-agente
Utilizzare bindings per instradare i messaggi diretti o i gruppi di Feishu/Lark verso agenti diversi.
{ agents: { list: [ { id: "main" }, { id: "agent-a", workspace: "/home/user/agent-a" }, { id: "agent-b", workspace: "/home/user/agent-b" }, ], }, bindings: [ { agentId: "agent-a", match: { channel: "feishu", peer: { kind: "direct", id: "ou_xxx" }, }, }, { agentId: "agent-b", match: { channel: "feishu", peer: { kind: "group", id: "oc_zzz" }, }, }, ],}Campi di instradamento:
match.channel:"feishu"match.peer.kind:"direct"(messaggio diretto) o"group"(chat di gruppo)match.peer.id: Open ID dell'utente (ou_xxx) o ID del gruppo (oc_xxx)
Per suggerimenti sulla ricerca, consultare Ottenere gli ID di gruppi/utenti.
Isolamento dell'agente per utente (creazione dinamica degli agenti)
Abilitare dynamicAgentCreation per creare automaticamente istanze di agente isolate per ciascun utente dei messaggi diretti. Ogni utente dispone di:
- Directory di lavoro indipendente
USER.md/SOUL.md/MEMORY.mdseparati- Cronologia delle conversazioni privata
- Skills e stato isolati
Questa funzionalità è essenziale per i bot pubblici nei quali si desidera offrire a ogni utente un'esperienza privata con il proprio assistente IA.
Configurazione rapida
{ channels: { feishu: { dmPolicy: "open", allowFrom: ["*"], dynamicAgentCreation: { enabled: true, workspaceTemplate: "~/.openclaw/workspace-{agentId}", agentDirTemplate: "~/.openclaw/agents/{agentId}/agent", }, }, }, session: { // Fondamentale: rende il messaggio diretto di ogni utente la sua "sessione principale" // Carica automaticamente USER.md / SOUL.md / MEMORY.md // Per un isolamento più forte, utilizzare invece "per-channel-peer" dmScope: "main", },}Funzionamento
Quando un nuovo utente invia il suo primo messaggio diretto:
- Il canale genera un
agentIdunivoco:feishu-{user_open_id}per l'account predefinito oppure un digest dell'identità limitato e con prefisso dell'account per un account denominato - Crea una nuova directory di lavoro nel percorso
workspaceTemplate - Registra l'agente e crea un'associazione per questo utente
- L'helper della directory di lavoro garantisce la presenza dei file di bootstrap (
AGENTS.md,SOUL.md,USER.mde così via) al primo accesso - Instrada tutti i messaggi futuri di questo utente verso il suo agente dedicato
Opzioni di configurazione
| Impostazione | Descrizione | Valore predefinito |
|---|---|---|
channels.feishu.dynamicAgentCreation.enabled |
Abilita la creazione automatica di agenti per utente | false |
channels.feishu.dynamicAgentCreation.workspaceTemplate |
Modello di percorso per le directory di lavoro degli agenti dinamici | ~/.openclaw/workspace-{agentId} |
channels.feishu.dynamicAgentCreation.agentDirTemplate |
Modello del nome della directory dell'agente | ~/.openclaw/agents/{agentId}/agent |
channels.feishu.dynamicAgentCreation.maxAgents |
Numero massimo di agenti dinamici da creare | illimitato |
Variabili del modello:
{agentId}- l'ID dell'agente generato (ad esempio,feishu-ou_xxxxxxofeishu-support-<identity_digest>){userId}- l'open_id Feishu del mittente (ad esempio,ou_xxxxxx)
Ambito della sessione
session.dmScope controlla il modo in cui i messaggi diretti vengono associati alle sessioni dell'agente. Si tratta di un'impostazione globale che interessa tutti i canali.
| Valore | Comportamento | Ideale per |
|---|---|---|
"main" |
Il messaggio diretto di ogni utente viene associato alla sessione principale del relativo agente | Bot per singolo utente in cui si desidera il caricamento automatico di USER.md / SOUL.md |
"per-peer" |
Ogni interlocutore dispone di una sessione separata (indipendentemente dal canale) | Isolamento basato esclusivamente sull'identità del mittente |
"per-channel-peer" |
Ogni combinazione (canale + utente) dispone di una sessione separata | Bot pubblici multiutente che richiedono un isolamento più forte |
"per-account-channel-peer" |
Ogni combinazione (account + canale + utente) dispone di una sessione separata | Bot multi-account che richiedono l'isolamento delle sessioni a livello di account |
Compromesso: l'utilizzo di "main" abilita il caricamento automatico dei file di bootstrap (USER.md, SOUL.md, MEMORY.md), ma comporta che tutti i messaggi diretti su tutti i canali condividano lo stesso schema di chiavi di sessione. Per i bot pubblici multiutente in cui l'isolamento è più importante del caricamento automatico dei file di bootstrap, considerare "per-channel-peer" e gestire manualmente i file di bootstrap.
Distribuzione multiutente tipica
{ channels: { feishu: { appId: "cli_xxx", appSecret: "xxx", dmPolicy: "open", allowFrom: ["*"], groupPolicy: "open", requireMention: true, dynamicAgentCreation: { enabled: true, workspaceTemplate: "~/.openclaw/workspace-{agentId}", agentDirTemplate: "~/.openclaw/agents/{agentId}/agent", }, }, }, session: { // Scegliere dmScope in base alle esigenze di isolamento: // "main" per il caricamento automatico del bootstrap, "per-channel-peer" per un isolamento più forte dmScope: "main", }, bindings: [], // Vuoto: gli agenti dinamici si associano automaticamente}Verifica
Controllare i log del Gateway per verificare che la creazione dinamica funzioni:
feishu: creazione dell'agente dinamico "feishu-ou_xxxxxx" per l'utente ou_xxxxxx directory di lavoro: /home/user/.openclaw/workspace-feishu-ou_xxxxxx directory dell'agente: /home/user/.openclaw/agents/feishu-ou_xxxxxx/agentElencare tutte le directory di lavoro create:
ls -la ~/.openclaw/workspace-*Note
- Isolamento della directory di lavoro: ogni utente dispone della propria directory di lavoro e istanza dell'agente. Nel normale flusso di messaggistica, gli utenti non possono vedere la cronologia delle conversazioni o i file degli altri utenti.
- Confine di sicurezza: si tratta di un meccanismo di isolamento del contesto di messaggistica, non di un confine di sicurezza tra co-tenant ostili. Il processo dell'agente e l'ambiente host sono condivisi.
- Le scritture della configurazione devono rimanere abilitate: la creazione dinamica degli agenti scrive agenti e associazioni nella configurazione; viene ignorata quando
channels.feishu.configWritesèfalse(valore predefinito: abilitato). bindingsdeve essere vuoto: gli agenti dinamici registrano automaticamente le proprie associazioni- Percorso di aggiornamento: le associazioni manuali esistenti continuano a funzionare insieme agli agenti dinamici
session.dmScopeè globale: interessa tutti i canali, non soltanto Feishu
Riferimento per la configurazione
Configurazione completa: Configurazione del Gateway
| Impostazione | Descrizione | Predefinito |
|---|---|---|
channels.feishu.enabled |
Abilita/disabilita il canale | true |
channels.feishu.domain |
Dominio API (feishu, lark o un URL di base https://) |
feishu |
channels.feishu.connectionMode |
Trasporto degli eventi (websocket o webhook) |
websocket |
channels.feishu.defaultAccount |
Account predefinito per l'instradamento in uscita | default |
channels.feishu.verificationToken |
Obbligatorio per la modalità Webhook | - |
channels.feishu.encryptKey |
Obbligatorio per la modalità Webhook | - |
channels.feishu.webhookPath |
Percorso della route del Webhook | /feishu/events |
channels.feishu.webhookHost |
Host di binding del Webhook | 127.0.0.1 |
channels.feishu.webhookPort |
Porta di binding del Webhook | 3000 |
channels.feishu.accounts.<id>.appId |
ID dell'app | - |
channels.feishu.accounts.<id>.appSecret |
Segreto dell'app | - |
channels.feishu.accounts.<id>.domain |
Sostituzione del dominio per account | feishu |
channels.feishu.accounts.<id>.tts |
Sostituzione TTS per account | messages.tts |
channels.feishu.dmPolicy |
Criterio per i messaggi diretti (pairing, allowlist, open) |
pairing |
channels.feishu.allowFrom |
Elenco consentiti dei messaggi diretti (elenco open_id) | - |
channels.feishu.groupPolicy |
Criterio per i gruppi (open, allowlist, disabled) |
allowlist |
channels.feishu.groupAllowFrom |
Elenco consentiti dei gruppi | - |
channels.feishu.groupSenderAllowFrom |
Elenco consentiti dei mittenti applicato a tutti i gruppi | - |
channels.feishu.requireMention |
Richiede una @menzione nei gruppi | true (false quando il criterio è open) |
channels.feishu.groups.<chat_id>.requireMention |
Sostituzione della @menzione per gruppo; gli ID espliciti ammettono inoltre il gruppo nella modalità elenco consentiti | ereditato |
channels.feishu.groups.<chat_id>.enabled |
Abilita/disabilita un gruppo specifico | true |
channels.feishu.groups.<chat_id>.allowFrom |
Elenco consentiti dei mittenti per gruppo (sostituisce groupSenderAllowFrom) |
- |
channels.feishu.groupSessionScope |
Mappatura delle sessioni di gruppo (group, group_sender, group_topic, group_topic_sender) |
group |
channels.feishu.replyInThread |
Le risposte del bot creano/continuano thread di argomenti (disabled, enabled) |
disabled |
channels.feishu.reactionNotifications |
Eventi di reazione in entrata (off, own, all) |
own |
channels.feishu.dynamicAgentCreation.enabled |
Abilita la creazione automatica di agenti per utente | false |
channels.feishu.dynamicAgentCreation.workspaceTemplate |
Modello di percorso per gli spazi di lavoro degli agenti dinamici | ~/.openclaw/workspace-{agentId} |
channels.feishu.dynamicAgentCreation.agentDirTemplate |
Modello del nome della directory dell'agente | ~/.openclaw/agents/{agentId}/agent |
channels.feishu.dynamicAgentCreation.maxAgents |
Numero massimo di agenti dinamici da creare | illimitato |
channels.feishu.textChunkLimit |
Dimensione dei blocchi dei messaggi | 4000 |
channels.feishu.streaming.chunkMode |
Suddivisione in blocchi (length o newline) |
length |
channels.feishu.mediaMaxMb |
Limite delle dimensioni dei contenuti multimediali | 30 |
channels.feishu.renderMode |
Rendering delle risposte (auto, raw, card) |
auto |
channels.feishu.streaming.mode |
Output delle schede in streaming (partial o off) |
partial |
channels.feishu.streaming.block.enabled |
Streaming delle risposte per blocchi completati | false |
channels.feishu.typingIndicator |
Invia reazioni di digitazione | true |
channels.feishu.resolveSenderNames |
Risolve i nomi visualizzati dei mittenti | true |
channels.feishu.configWrites |
Consente scritture della configurazione avviate dal canale (necessarie per gli agenti dinamici) | true |
channels.feishu.tools.doc |
Abilita gli strumenti per i documenti | true |
channels.feishu.tools.chat |
Abilita gli strumenti per le informazioni delle chat | true |
channels.feishu.tools.wiki |
Abilita gli strumenti della base di conoscenza (richiede doc) |
true |
channels.feishu.tools.drive |
Abilita gli strumenti di archiviazione cloud | true |
channels.feishu.tools.perm |
Abilita gli strumenti di gestione delle autorizzazioni | false |
channels.feishu.tools.scopes |
Abilita lo strumento diagnostico degli ambiti dell'app | true |
channels.feishu.tools.bitable |
Abilita gli strumenti Bitable/Base | true |
channels.feishu.tools.base |
Alias di channels.feishu.tools.bitable; se sono impostati entrambi, prevale bitable |
true |
channels.feishu.accounts.<id>.tools.bitable |
Controllo degli strumenti Bitable/Base per account | ereditato |
channels.feishu.accounts.<id>.tools.base |
Alias per account di tools.bitable |
ereditato |
Tipi di messaggi supportati
Ricezione
- ✅ Testo
- ✅ Testo formattato (post)
- ✅ Immagini
- ✅ File
- ✅ Audio
- ✅ Video/contenuti multimediali
- ✅ Adesivi
I messaggi audio Feishu/Lark in entrata vengono normalizzati come segnaposto multimediali anziché
come JSON file_key non elaborato. Quando tools.media.audio è configurato, OpenClaw
scarica la risorsa della nota vocale ed esegue la trascrizione audio condivisa prima del
turno dell'agente, in modo che l'agente riceva la trascrizione del parlato. Se Feishu include
direttamente il testo della trascrizione nel payload audio, tale testo viene utilizzato senza un'altra
chiamata ASR. Senza un provider di trascrizione audio, l'agente riceve comunque un
segnaposto <media:audio> insieme all'allegato salvato, non il payload non elaborato
della risorsa Feishu.
Invio
- ✅ Testo
- ✅ Immagini
- ✅ File
- ✅ Audio
- ✅ Video/contenuti multimediali
- ✅ Schede interattive (inclusi gli aggiornamenti in streaming)
- ⚠️ Testo formattato (formattazione in stile post; non supporta tutte le funzionalità di creazione di Feishu/Lark)
I fumetti audio nativi di Feishu/Lark utilizzano il tipo di messaggio Feishu audio e richiedono
contenuti multimediali caricati in formato Ogg/Opus (file_type: "opus"). I contenuti multimediali .opus e .ogg esistenti
vengono inviati direttamente come audio nativo. MP3/WAV/M4A e altri formati probabilmente audio vengono
transcodificati in Ogg/Opus a 48kHz con ffmpeg solo quando la risposta richiede la consegna
vocale (audioAsVoice / strumento per i messaggi asVoice, incluse le risposte TTS sotto forma di nota
vocale). I normali allegati MP3 restano file ordinari. Se ffmpeg non è presente o
la conversione non riesce, OpenClaw ricorre a un allegato file e registra il motivo.
Thread e risposte
- ✅ Risposte in linea
- ✅ Risposte nei thread
- ✅ Le risposte multimediali mantengono la consapevolezza del thread quando rispondono a un messaggio del thread
L'instradamento delle sessioni dei gruppi di argomenti è illustrato in Ambito delle sessioni di gruppo e thread di argomenti.
Correlati
- Panoramica dei canali - tutti i canali supportati
- Associazione - autenticazione dei messaggi diretti e flusso di associazione
- Gruppi - comportamento delle chat di gruppo e controllo delle menzioni
- Instradamento dei canali - instradamento delle sessioni per i messaggi
- Sicurezza - modello di accesso e rafforzamento