Topik ini menjelaskan cara mentransfer data dari Feishu ke basis pengetahuan RAGFlow di Data Transmission Service (DTS).
Prasyarat
Anda telah membuat basis pengetahuan RAGFlow di DTS dan mengonfigurasi daftar putih IP.
Latar Belakang
Tipe data yang didukung
DTS RAGFlow mendukung transfer dokumen cloud, spreadsheet, tabel multidimensi, dan wiki dari Feishu.
Metode akses
Anda dapat menggunakan token akses aplikasi (tenant_access_token) atau token akses pengguna (user_access_token) untuk mengakses data di Feishu.
|
Metode |
Jenis izin |
Kelebihan |
Kekurangan |
|
|
Identitas aplikasi |
|
Proses otorisasi kompleks dan memerlukan konfigurasi izin tambahan untuk Cloud Drive dan wiki. |
|
|
Identitas pengguna |
Proses otorisasi sederhana. Memberikan akses ke semua folder tanpa memerlukan konfigurasi izin terpisah untuk Cloud Drive dan wiki. |
|
Persiapan
-
Masuk ke Feishu Open Platform dan buka Developer Console.
-
Klik Create Custom App, konfigurasikan Name dan App Description, lalu klik Create.
-
Klik kartu aplikasi untuk membuka halaman edit aplikasi.
Halaman terbuka secara default.
-
Pada halaman Credentials & Basic Information, di bagian App Credentials, catat App ID dan App Secret.
Prosedur
Untuk instruksi lengkap mengenai operasi Feishu, lihat dokumentasi resmi Feishu (Help Center dan Developer Documentation).
Langkah 1: Konfigurasi izin akses
tenant_access_token
-
Masuk ke Feishu Open Platform dan buka Developer Console.
-
Klik aplikasi yang telah Anda buat di bagian Persiapan.
-
Tambahkan bot dan publikasikan aplikasi.
-
Di panel navigasi sebelah kiri, pilih .
-
Pada tab Add by Feature, temukan kartu Bot dan klik Add.
-
Di bagian atas halaman, klik Create Version.
CatatanAnda juga dapat memilih di panel navigasi sebelah kiri, lalu klik Create Version.
-
Pada halaman Version Details, masukkan Version Number dan Update Description.
CatatanPertahankan pengaturan default Bot untuk Default Mobile Capability dan Default Desktop Capability.
-
Klik Save.
-
Pada kotak dialog yang muncul, klik Confirm Release.
-
-
Konfigurasi izin API.
-
Di panel navigasi sebelah kiri, pilih .
-
Klik Bulk Import/Export Permissions.
-
Pada tab Import, di kotak teks JSON, konfigurasikan izin identitas pengguna berikut untuk aplikasi.
{ "scopes": { "tenant": [ "docs:document:export", "drive:drive", "wiki:wiki" ], "user": [] } } -
Klik Next, Confirm New Permissions.
-
Klik Request to Enable.
-
-
Masuk ke klien Feishu, buat grup baru, dan tambahkan aplikasi yang Anda buat di bagian Persiapan sebagai group bot.
-
Konfigurasi izin akses untuk Cloud Drive dan wiki.
Izin Cloud drive
-
Buka folder Cloud Drive target.
-
Di sisi kanan halaman, klik Share.
-
Di bidang Invite Collaborators, masukkan grup yang Anda buat di Langkah 5.
Izin default Reader sudah cukup.
-
Klik Send.
Izin Wiki
-
Buka halaman All Wikis.
-
Arahkan kursor ke wiki target dan klik Knowledge Base Settings.
-
Klik tab Member Settings. Di bagian Roles & Permissions pada tab Administrator, klik Add Administrator.
-
Pada kotak dialog yang muncul, tambahkan grup yang Anda buat di Langkah 5 dan klik Next.
-
Klik Send.
-
user_access_token
-
Masuk ke Feishu Open Platform dan buka Developer Console.
-
Klik aplikasi yang telah Anda buat di bagian Persiapan.
-
Konfigurasi izin API.
-
Di panel navigasi sebelah kiri, pilih .
-
Klik Bulk Import/Export Permissions.
-
Konfigurasikan izin identitas pengguna yang sesuai untuk aplikasi yang dibuat di bagian Persiapan.
{ "scopes": { "tenant": [], "user": [ "offline_access", "docs:document:export", "drive:drive", "wiki:wiki" ] } -
Klik Next, Confirm New Permissions.
-
Klik Request to Enable.
-
-
Konfigurasi URL redirect.
-
Di panel navigasi sebelah kiri, pilih .
-
Di kotak teks Redirect URL, masukkan
https://www.aliyun.com. -
Klik Add di samping kotak teks.
-
Aktifkan sakelar Refresh user_access_token.
CatatanJika sakelar ini tidak terlihat, berarti sudah diaktifkan secara default.
-
-
Dapatkan kode otorisasi.
-
Buat URL halaman otorisasi untuk Feishu.
CatatanGanti
YOUR_FEISHU_CLIENT_IDdalam URL berikut dengan App ID dari bagian Persiapan.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 -
Buka halaman otorisasi di browser.
-
Klik Authorize.
-
Dapatkan kode otorisasi (
code) dari URL redirect.CatatanKode otorisasi tidak mencakup code=, &, atau informasi apa pun setelah simbol &.
-
Langkah 2: Dapatkan token folder dan ID wiki
-
Masuk ke klien Feishu.
-
Dapatkan token folder yang berisi dokumen cloud Feishu Anda.
-
Buka folder target.
-
Dari bilah alamat di bagian atas halaman, salin URL folder tersebut.
-
Dapatkan token dari URL (informasi setelah
folder/).CatatanToken tidak mencakup simbol ? atau teks apa pun setelahnya.
-
-
Dapatkan ID wiki.
-
Buka halaman All Wikis.
-
Arahkan kursor ke wiki target dan klik Knowledge Base Settings.
-
Dari bilah alamat di bagian atas halaman, salin URL wiki target.
-
Ambil ID basis pengetahuan dari URL (informasi setelah
settings/).CatatanID wiki hanya terdiri dari angka dan tidak mencakup simbol # atau teks apa pun setelahnya.
-
Langkah 3: Jalankan program KBSync
-
Dapatkan file KBSync.
CatatanAnda dapat bergabung dengan grup DingTalk (ID: 79690034672) dan menghubungi dukungan teknis untuk mendapatkan file KBSync.
-
Siapkan lingkungan runtime untuk program KBSync.
CatatanProgram KBSync memerlukan lingkungan Linux yang memiliki akses ke Feishu Open Platform dan RAGFlow.
-
Siapkan file konfigurasi bernama config.
-
Buat file Linux bernama config.
-
Salin konten berikut ke dalam file 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 -
Ganti nilai placeholder dalam file config dengan nilai Anda.
Penting-
Jika suatu parameter tidak diperlukan, biarkan nilainya kosong.
-
Jika parameter
feishuCloudSpaceDirTokendanfeishuWikiSpaceIdkeduanya ditentukan, hanya dokumen cloud Feishu dan folder induknya yang ditransmisikan (hanya parameterfeishuCloudSpaceDirTokenyang berlaku). -
Parameter
blackListmemiliki prioritas lebih tinggi daripada parameterwhiteList.
Parameter
Wajib
Deskripsi
Cara mendapatkan
whiteListTidak
Jalur yang disertakan (daftar putih) atau dikecualikan (daftar hitam). Jalur dapat berupa jalur folder di Feishu Cloud Drive atau jalur dokumen dalam wiki.
CatatanEkspresi reguler didukung. Pisahkan beberapa jalur dengan spasi.
Dapatkan jalur dari klien Feishu.
blackListTidak
sinkTypeYa
Jenis sink.
Atur nilainya ke
RagFlow.sourceTypeYa
Jenis sumber.
Atur nilainya ke
Feishu.ragflowUrlYa
Alamat API server RAGFlow.
Lihat Dapatkan alamat API server.
ragflowApiKeyYa
Kunci API untuk basis pengetahuan RAGFlow.
ragflowDatasetIdYa
ID basis pengetahuan RAGFlow.
larkAppIdYa
App ID aplikasi Feishu Anda.
Lihat Langkah 4 di bagian Persiapan.
feishuAppSecretYa
App Secret aplikasi Feishu Anda.
feishuUserAccessCodeTidak
CatatanAnda hanya perlu pass parameter ini saat mengakses data di Feishu menggunakan user_access_token.
Kode otorisasi dari Feishu.
feishuCloudSpaceDirTokenTidak
CatatanBerikan nilai hanya untuk salah satu dari dua parameter ini.
Token folder yang berisi dokumen cloud Feishu.
feishuWikiSpaceIdID wiki Feishu.
-
-
-
Letakkan file KBSync dan file config dalam direktori yang sama di lingkungan Linux Anda.
-
Di lingkungan Linux, jalankan perintah
./KBSync --config configuntuk menjalankan program KBSync.Jika outputnya mirip seperti berikut, program KBSync telah berhasil dijalankan.
./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
Lampiran
Dapatkan alamat API server
-
Di panel navigasi sebelah kiri, klik API.
-
Dapatkan alamat API server.
Dapatkan kunci API
-
Di panel navigasi sebelah kiri, klik API.
-
Di sebelah kanan RAGFlow API, klik API KEY.
-
Pada kotak dialog API KEY, klik Create New Key.
-
Klik
untuk menyalin token.
Dapatkan ID basis pengetahuan
-
Pada halaman Knowledge Base, klik basis pengetahuan target.
-
Di URL halaman saat ini, salin ID basis pengetahuan.
CatatanID basis pengetahuan adalah nilai setelah
id=.