Bot Feishu
Feishu (Lark) é uma plataforma de chat corporativo usada por empresas para mensagens e colaboração. Este plugin conecta o OpenClaw a um bot Feishu/Lark usando a assinatura de eventos WebSocket da plataforma, para que as mensagens possam ser recebidas sem expor uma URL pública de webhook.Plugin necessário
Instale o plugin Feishu:Início rápido
Há duas maneiras de adicionar o canal Feishu:Método 1: assistente de onboarding (recomendado)
Se você acabou de instalar o OpenClaw, execute o assistente:- Criar um app Feishu e coletar credenciais
- Configurar as credenciais do app no OpenClaw
- Iniciar o gateway
openclaw gateway statusopenclaw logs --follow
Método 2: configuração da CLI
Se você já concluiu a instalação inicial, adicione o canal via CLI:openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
Etapa 1: Criar um app Feishu
1. Abrir o Feishu Open Platform
Acesse o Feishu Open Platform e faça login. Tenants Lark (global) devem usar https://open.larksuite.com/app e definirdomain: "lark" na configuração do Feishu.
2. Criar um app
- Clique em Create enterprise app
- Preencha o nome e a descrição do app
- Escolha um ícone para o app
3. Copiar credenciais
Em Credentials & Basic Info, copie:- App ID (formato:
cli_xxx) - Segredo do aplicativo
4. Configurar permissões
Em Permissions, clique em Batch import e cole:
5. Ativar a capacidade de bot
Em App Capability > Bot:- Ative a capacidade de bot
- Defina o nome do bot
6. Configurar assinatura de eventos
⚠️ Importante: antes de configurar a assinatura de eventos, certifique-se de que:- Você já executou
openclaw channels addpara o Feishu - O gateway está em execução (
openclaw gateway status)
- Escolha Use long connection to receive events (WebSocket)
- Adicione o evento:
im.message.receive_v1
7. Publicar o app
- Crie uma versão em Version Management & Release
- Envie para revisão e publique
- Aguarde a aprovação do administrador (apps corporativos geralmente são aprovados automaticamente)
Etapa 2: Configurar o OpenClaw
Configurar com o assistente (recomendado)
Configurar via arquivo de configuração
Edite~/.openclaw/openclaw.json:
Configurar via variáveis de ambiente
Domínio Lark (global)
Se o seu tenant estiver no Lark (internacional), defina o domínio comolark (ou uma string de domínio completa). Você pode definir isso em channels.feishu.domain ou por conta (channels.feishu.accounts.<id>.domain).
Etapa 3: Iniciar + testar
1. Iniciar o gateway
2. Enviar uma mensagem de teste
No Feishu, encontre seu bot e envie uma mensagem.3. Aprovar pareamento
Por padrão, o bot responde com um código de pareamento. Aprove-o:Visão geral
- Canal de bot Feishu: bot Feishu gerenciado pelo gateway
- Roteamento determinístico: as respostas sempre retornam ao Feishu
- Isolamento de sessão: DMs compartilham uma sessão principal; grupos são isolados
- Conexão WebSocket: conexão longa via SDK do Feishu, sem necessidade de URL pública
Controle de acesso
Mensagens diretas
-
Padrão:
dmPolicy: "pairing"(usuários desconhecidos recebem um código de pareamento) -
Aprovar pareamento:
-
Modo de lista de permissões: defina
channels.feishu.allowFromcom Open IDs permitidos
Chats em grupo
1. Política de grupo (channels.feishu.groupPolicy):
"open"= permitir todos nos grupos (padrão)"allowlist"= permitir apenasgroupAllowFrom"disabled"= desativar mensagens em grupo
channels.feishu.groups.<chat_id>.requireMention):
true= exigir @menção (padrão)false= responder sem menções
Exemplos de configuração de grupos
Permitir todos os grupos, exigir @menção (padrão)
Permitir todos os grupos, sem exigir @menção
Permitir apenas usuários específicos em grupos
Obter IDs de grupo/usuário
IDs de grupo (chat_id)
Os IDs de grupo têm o formatooc_xxx.
Método 1 (recomendado)
- Inicie o gateway e @mencione o bot no grupo
- Execute
openclaw logs --followe procure porchat_id
IDs de usuário (open_id)
Os IDs de usuário têm o formatoou_xxx.
Método 1 (recomendado)
- Inicie o gateway e envie uma DM ao bot
- Execute
openclaw logs --followe procure poropen_id
Comandos comuns
| Comando | Descrição |
|---|---|
/status | Mostrar status do bot |
/reset | Redefinir a sessão |
/model | Mostrar/trocar modelo |
Nota: o Feishu ainda não oferece suporte a menus de comandos nativos, portanto os comandos devem ser enviados como texto.
Comandos de gerenciamento do gateway
| Comando | Descrição |
|---|---|
openclaw gateway status | Mostrar status do gateway |
openclaw gateway install | Instalar/iniciar o serviço do gateway |
openclaw gateway stop | Parar o serviço do gateway |
openclaw gateway restart | Reiniciar o serviço do gateway |
openclaw logs --follow | Acompanhar logs do gateway |
Solução de problemas
O bot não responde em chats de grupo
- Certifique-se de que o bot foi adicionado ao grupo
- Certifique-se de @mencionar o bot (comportamento padrão)
- Verifique se
groupPolicynão está definido como"disabled" - Verifique os logs:
openclaw logs --follow
O bot não recebe mensagens
- Certifique-se de que o app está publicado e aprovado
- Certifique-se de que a assinatura de eventos inclui
im.message.receive_v1 - Certifique-se de que a conexão longa está habilitada
- Certifique-se de que as permissões do app estão completas
- Certifique-se de que o gateway está em execução:
openclaw gateway status - Verifique os logs:
openclaw logs --follow
Vazamento do App Secret
- Redefina o App Secret no Feishu Open Platform
- Atualize o App Secret na sua configuração
- Reinicie o gateway
Falhas no envio de mensagens
- Certifique-se de que o app possui a permissão
im:message:send_as_bot - Certifique-se de que o app está publicado
- Verifique os logs para erros detalhados
Configuração avançada
Múltiplas contas
Limites de mensagem
textChunkLimit: tamanho do bloco de texto de saída (padrão: 2000 caracteres)mediaMaxMb: limite de upload/download de mídia (padrão: 30MB)
Streaming
O Feishu oferece suporte a respostas em streaming via cartões interativos. Quando habilitado, o bot atualiza um cartão conforme gera o texto.streaming: false para aguardar a resposta completa antes de enviar.
Roteamento multiagente
Usebindings para rotear DMs ou grupos do Feishu para diferentes agentes.
match.channel:"feishu"match.peer.kind:"direct"or"group"match.peer.id: Open ID do usuário (ou_xxx) ou ID do grupo (oc_xxx)
Referência de configuração
Configuração completa: Configuração do Gateway Opções principais:| Configuração | Descrição | Padrão |
|---|---|---|
channels.feishu.enabled | Ativar/desativar canal | true |
channels.feishu.domain | Domínio da API (feishu ou lark) | feishu |
channels.feishu.accounts.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.domain | Substituição de domínio da API por conta | feishu |
channels.feishu.dmPolicy | Política de DM | pairing |
channels.feishu.allowFrom | Lista de permissões de DM (lista de open_id) | - |
channels.feishu.groupPolicy | Política de grupo | open |
channels.feishu.groupAllowFrom | Lista de permissões de grupo | - |
channels.feishu.groups.<chat_id>.requireMention | Exigir @mention | true |
channels.feishu.groups.<chat_id>.enabled | Ativar grupo | true |
channels.feishu.textChunkLimit | Tamanho do bloco de mensagem | 2000 |
channels.feishu.mediaMaxMb | Limite de tamanho de mídia | 30 |
channels.feishu.streaming | Ativar saída de cartão em streaming | true |
channels.feishu.blockStreaming | Ativar streaming em blocos | true |
Referência dmPolicy
| Valor | Comportamento |
|---|---|
"pairing" | Padrão. Usuários desconhecidos recebem um código de pareamento; devem ser aprovados |
"allowlist" | Apenas usuários em allowFrom podem conversar |
"open" | Permitir todos os usuários (requer "*" em allowFrom) |
"disabled" | Desativar DMs |
Tipos de mensagem suportados
Receber
- ✅ Texto
- ✅ Texto rico (post)
- ✅ Imagens
- ✅ Arquivos
- ✅ Áudio
- ✅ Vídeo
- ✅ Stickers
Enviar
- ✅ Texto
- ✅ Imagens
- ✅ Arquivos
- ✅ Áudio
- ⚠️ Texto rico (suporte parcial)