Transfira dados do Lark para uma base de conhecimento RAGFlow no Data Transmission Service (DTS). Os tipos de dados compatíveis incluem Lark Docs, Sheets, Bitable e Wiki.
Pré-requisitos
Você já criou uma base de conhecimento RAGFlow no DTS e configurou uma lista de permissões de IP.
Informações gerais
Tipos de dados compatíveis
O RAGFlow do DTS aceita dados do Lark Docs, Sheets, Bitable e Wiki.
Métodos de acesso
Acesse os dados do Lark com um token de acesso de aplicativo (tenant_access_token) ou um token de acesso de usuário (user_access_token).
|
Método |
Tipo de permissão |
Vantagens |
Desvantagens |
|
|
Identidade do aplicativo |
|
Autorização mais complexa. Configure permissões de acesso separadas para Drive e Wiki. |
|
|
Identidade do usuário |
Autorização simplificada. Concede acesso a todas as pastas sem exigir permissões distintas para Drive e Wiki. |
|
Antes de começar
Faça login na Plataforma Aberta do Lark e acesse o Developer Console.
-
Clique em Create Enterprise-developed Application, configure informações como Name e Application Description e clique em Create.
-
Clique no cartão do aplicativo para abrir a página de configuração.
Por padrão, você estará na página .
Na página Credentials and Basic Information, seção Application Credentials, anote o App ID e o App Secret.
Procedimento
Para instruções detalhadas sobre o Lark, consulte a documentação oficial (Central de Ajuda e documentos de desenvolvimento).
Etapa 1: Configurar permissões de acesso
Token de acesso de aplicativo
Faça login na Plataforma Aberta do Lark e acesse o Developer Console.
Clique no aplicativo criado na seção Antes de começar.
-
Adicione um bot e publique o aplicativo.
No painel de navegação à esquerda, selecione .
-
Na aba Add by Capability, no cartão do bot, clique em Add.
-
No topo da página, clique em Create Version.
NotaAlternativamente, no painel de navegação à esquerda, selecione e clique em Create Version.
-
Na página Version Details, insira a Application Version e a Update Description.
NotaUse o bot padrão para as default mobile client capabilities e default desktop client capabilities.
Clique em Save.
Na caixa de diálogo exibida, clique em Confirm Publish.
-
Configure as permissões de API.
No painel de navegação à esquerda, selecione .
Clique em Batch Import/Export Permissions.
-
Na aba Import, caixa de texto JSON, configure as seguintes permissões de identidade de usuário para o aplicativo.
{ "scopes": { "tenant": [ "docs:document:export", "drive:drive", "wiki:wiki" ], "user": [] } } Clique em Next to confirm the new permissions.
Clique em Activate Now.
Faça login no cliente Lark, crie um grupo e adicione o aplicativo criado na seção Antes de começar como group bot.
-
Configure as permissões de acesso para Drive e Wiki.
Permissões do Drive
Acesse a pasta de destino no Drive.
No lado direito da página, clique em Share.
-
Em Invite collaborators, adicione o grupo criado na Etapa 5.
A permissão padrão Read é suficiente.
Clique em Send.
Permissões da Wiki
Acesse a página All Wikis.
Passe o ponteiro sobre a base de conhecimento desejada e clique em Knowledge Base Settings.
Clique na aba Member Settings. Na área Roles and Permissions, aba Administrator, clique em Add Administrator.
Na caixa de diálogo exibida, adicione o grupo criado na Etapa 5 e clique em Next.
Clique em Send.
Token de acesso de usuário
Faça login na Plataforma Aberta do Lark e acesse o Developer Console.
Clique no aplicativo criado na seção Antes de começar.
-
Configure as permissões de API.
No painel de navegação à esquerda, selecione .
Clique em Batch Import/Export Permissions.
-
Cole o JSON abaixo para conceder as permissões de identidade de usuário necessárias ao aplicativo criado.
{ "scopes": { "tenant": [], "user": [ "offline_access", "docs:document:export", "drive:drive", "wiki:wiki" ] } } Clique em Next, Confirm New Permissions.
Clique em Activate Now.
-
Configure a URL de redirecionamento.
No painel de navegação à esquerda, selecione .
Na caixa de texto Redirect URL, insira
https://www.aliyun.com.Clique em Add à direita da caixa de texto.
-
Ative a opção Refresh user_access_token.
NotaSe essa opção não estiver visível, o recurso já está habilitado por padrão.
-
Obtenha o código de autorização.
-
Monte a URL da página de autorização do Lark.
NotaSubstitua
YOUR_FEISHU_CLIENT_IDna URL pelo App ID anotado na seção Antes de começar.https://accounts.feishu.cn/open-apis/authen/v1/authorize?client_id=YOUR_FEISHU_CLIENT_ID&redirect_uri=https://www.aliyun.com&scope=drive:drive offline_access docs:document:export wiki:wiki Abra a página de autorização no navegador.
Clique em Authorize.
-
Extraia o código de autorização (
code) da URL de redirecionamento.NotaO código de autorização não inclui code=, & nem quaisquer informações após o símbolo &.
-
Etapa 2: Obter o token da pasta do Lark e o ID da Wiki
Faça login no cliente Lark.
-
Obtenha o token da pasta do Lark Docs.
Acesse a pasta de destino.
Copie a URL da pasta na barra de endereços do navegador.
-
Extraia o token da URL (parte após
folder/).NotaO token não inclui o caractere ? nem qualquer informação subsequente.
-
Obtenha o ID da Wiki.
Acesse a página All Wikis.
Passe o ponteiro sobre a base de conhecimento desejada e clique em Knowledge Base Settings.
Copie a URL da Wiki de destino na barra de endereços do navegador.
-
Extraia o ID da base de conhecimento da URL (sequência após
settings/).NotaO ID da base de conhecimento é puramente numérico e não inclui o símbolo # nem informações posteriores.
Etapa 3: Executar o programa KBSync
-
Obtenha o arquivo KBSync.
NotaEntre no grupo do DingTalk (ID: 79690034672) e contate o suporte técnico para receber o arquivo KBSync.
-
Prepare o ambiente de execução do programa KBSync.
NotaO programa KBSync requer um ambiente Linux com acesso à Plataforma Aberta do Lark e ao RAGFlow.
-
Prepare o arquivo config.
Crie um arquivo chamado config no sistema Linux.
-
Copie o código abaixo para o arquivo config.
whiteList= blackList= sinkType=RagFlow sourceType=FeiShu ragflowUrl=http://XX.XX.XX.XX ragflowApiKey=Bearer RAGFlow-BmND******MDI0Mm ragflowDatasetId=928d061******2ac120006 feishuAppId=cli_a8a******d00d feishuAppSecret=pMp73Si******UDrWXBSOa feishuUserAccessCode=bGzpx6******B9KFCdzdCDHG feishuCloudSpaceDirToken=ESJm*******CRdn002cii3bnAc feishuWikiSpaceId=7504968******8674 -
Substitua os parâmetros no arquivo config.
ImportanteDeixe o valor vazio para parâmetros que não precisam de configuração.
Se forem fornecidos valores tanto para
feishuCloudSpaceDirTokenquanto parafeishuWikiSpaceId, apenas o Lark Docs e suas pastas pai serão transferidos, pois somente o parâmetrofeishuCloudSpaceDirTokenterá efeito.O parâmetro
blackListtem prioridade sobre o parâmetrowhiteList.
Parâmetro
Obrigatório
Descrição
Como obter
whiteListNão
Caminhos dos arquivos a transferir (lista de permissões) e dos arquivos a excluir (lista de bloqueios). Incluem caminhos de pastas no Lark Docs e caminhos de documentos na base de conhecimento.
NotaCompatível com expressões regulares. Separe múltiplos caminhos com espaços.
Obtenha os caminhos no cliente Lark.
blackListNão
sinkTypeSim
Tipo do destino.
Defina este parâmetro como
RagFlow.sourceTypeSim
Tipo da origem.
Defina este parâmetro como
Feishu.ragflowUrlSim
Endereço do RAGFlow (API server).
ragflowApiKeySim
Chave de API da base de conhecimento RAGFlow.
ragflowDatasetIdSim
ID da base de conhecimento RAGFlow.
feishuAppIdSim
ID do aplicativo no Lark (App ID).
feishuAppSecretSim
Segredo do aplicativo no Lark (App Secret).
feishuUserAccessCodeNão
NotaEste parâmetro é necessário apenas ao acessar dados do Lark pelo método user_access_token.
Código de autorização do Lark.
feishuCloudSpaceDirTokenNão
NotaForneça valor para apenas um destes parâmetros.
Token da pasta que contém o Lark Docs.
Obter o token da pasta do Lark Docs e o ID da base de conhecimento.
feishuWikiSpaceIdID da base de conhecimento do Lark.
Coloque o arquivo KBSync e o arquivo de configuração config no mesmo diretório em um ambiente Linux.
-
No ambiente Linux, execute o comando
./KBSync --config configpara iniciar o programa KBSync.A saída abaixo indica que o KBSync está funcionando corretamente.
./KBSync --config config INFO config whiteList=, blackList= INFO config ragflowUrl=http://XX.XX.XX.XX/, ragflowApiKey=Bearer RAGFlow-BmND******MDI0Mm INFO config ragflowDatasetId=928d061******2ac120006 INFO config feishuAppId=cli_a8a******d00d, feishuAppSecret=pMp73Si******UDrWXBSOa INFO Response from https://open.feishu.cn/open-apis/auth/v3/tenant_access_token/internal: 200, headers: {'Server': 'Tengine', 'Content-Type': 'application/json', 'Content-Length': '102', 'Connection': 'keep-alive', 'Date': 'Tue, 08 Jul 2025 02:49:01 GMT', 'Request-Id': '25bf****-d386-4a86-****-f440f070****', 'Tt_st****': '1', 'X-Lgw-Dst-Svc': 'jbpiSR****OiA0J3d****-Oz0xugYAH9otZIFg4x****', 'X-Request-Id': '25bf****-d386-4a86-b9f4-f440f070****', 'X-Tt-Logid': '202507081049012933B870245850D****', 'server-timing': 'inner; dur=73, cdn-cache;desc=MISS,edge;dur=0,origin;dur=129', 'x-tt-trace-host': '****', 'x-tt-trace-tag': '****', 'x-tt-trace-id': '00-****', 'X-Timestamp': '175194****.952', 'Via': 'cache8.cn6540[129,0]', 'Timing-Allow-Origin': '*', 'EagleId': '6ae3651c1751942941849****'}, body: b'{"code":0,"expire":4340,"msg":"ok","tenant_access_token":"t-g10478a*******CSC3YVY"}' INFO set feishu tenant access token expires in: 4340
Apêndice
Obter o endereço do API server do RAGFlow
No painel de navegação à esquerda, clique em API.
Obtenha o API server.
Obter a chave de API do RAGFlow
No painel de navegação à esquerda, clique em API.
À direita de RAGFlow API, clique em API KEY.
Na caixa de diálogo API KEY, clique em Create New Key.
Clique em
para copiar a chave e salve-a em um local seguro.
Obter o ID da base de conhecimento RAGFlow
Na página Knowledge Base, clique na base de conhecimento desejada.
-
Copie o ID da base de conhecimento na URL da barra de endereços do navegador.
NotaO ID da base de conhecimento corresponde à sequência de caracteres após
id=.