Bot Feishu
Feishu (Lark) adalah platform obrolan tim yang digunakan perusahaan untuk perpesanan dan kolaborasi. Plugin ini menghubungkan OpenClaw ke bot Feishu/Lark menggunakan langganan peristiwa WebSocket milik platform, sehingga pesan dapat diterima tanpa mengekspos URL webhook publik.Plugin bawaan
Feishu sudah disertakan secara bawaan dalam rilis OpenClaw saat ini, sehingga tidak memerlukan instalasi plugin terpisah. Jika Anda menggunakan build lama atau instalasi kustom yang tidak menyertakan bundel Feishu, instal secara manual:Mulai cepat
Ada dua cara untuk menambahkan channel Feishu:Metode 1: onboarding (direkomendasikan)
Jika Anda baru saja menginstal OpenClaw, jalankan onboarding:- Membuat aplikasi Feishu dan mengumpulkan kredensial
- Mengonfigurasi kredensial aplikasi di OpenClaw
- Menjalankan gateway
openclaw gateway statusopenclaw logs --follow
Metode 2: penyiapan CLI
Jika Anda sudah menyelesaikan instalasi awal, tambahkan channel melalui CLI:openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
Langkah 1: Buat aplikasi Feishu
1. Buka Feishu Open Platform
Kunjungi Feishu Open Platform dan masuk. Tenant Lark (global) harus menggunakan https://open.larksuite.com/app dan menetapkandomain: "lark" di konfigurasi Feishu.
2. Buat aplikasi
- Klik Create enterprise app
- Isi nama + deskripsi aplikasi
- Pilih ikon aplikasi

3. Salin kredensial
Dari Credentials & Basic Info, salin:- App ID (format:
cli_xxx) - App Secret

4. Konfigurasikan izin
Pada Permissions, klik Batch import dan tempel:
5. Aktifkan kemampuan bot
Di App Capability > Bot:- Aktifkan kemampuan bot
- Tetapkan nama bot

6. Konfigurasikan langganan peristiwa
⚠️ Penting: sebelum menetapkan langganan peristiwa, pastikan:- Anda sudah menjalankan
openclaw channels adduntuk Feishu - Gateway sedang berjalan (
openclaw gateway status)
- Pilih Use long connection to receive events (WebSocket)
- Tambahkan peristiwa:
im.message.receive_v1 - (Opsional) Untuk alur kerja komentar Drive, tambahkan juga:
drive.notice.comment_add_v1

7. Publikasikan aplikasi
- Buat versi di Version Management & Release
- Kirim untuk peninjauan dan publikasikan
- Tunggu persetujuan admin (aplikasi enterprise biasanya disetujui otomatis)
Langkah 2: Konfigurasikan OpenClaw
Konfigurasikan dengan wizard (direkomendasikan)
Konfigurasikan melalui file konfigurasi
Edit~/.openclaw/openclaw.json:
connectionMode: "webhook", tetapkan verificationToken dan encryptKey. Server webhook Feishu melakukan bind ke 127.0.0.1 secara default; tetapkan webhookHost hanya jika Anda memang sengaja memerlukan alamat bind yang berbeda.
Verification Token dan Encrypt Key (mode webhook)
Saat menggunakan mode webhook, tetapkanchannels.feishu.verificationToken dan channels.feishu.encryptKey di konfigurasi Anda. Untuk mendapatkan nilainya:
- Di Feishu Open Platform, buka aplikasi Anda
- Buka Development → Events & Callbacks (开发配置 → 事件与回调)
- Buka tab Encryption (加密策略)
- Salin Verification Token dan Encrypt Key

Konfigurasikan melalui variabel lingkungan
Domain Lark (global)
Jika tenant Anda berada di Lark (internasional), tetapkan domain kelark (atau string domain lengkap). Anda dapat menetapkannya di channels.feishu.domain atau per akun (channels.feishu.accounts.<id>.domain).
Flag optimasi kuota
Anda dapat mengurangi penggunaan API Feishu dengan dua flag opsional:typingIndicator(defaulttrue): saatfalse, lewati panggilan reaksi mengetik.resolveSenderNames(defaulttrue): saatfalse, lewati panggilan pencarian profil pengirim.
Langkah 3: Jalankan + uji
1. Jalankan gateway
2. Kirim pesan uji
Di Feishu, temukan bot Anda dan kirim pesan.3. Setujui pairing
Secara default, bot membalas dengan kode pairing. Setujui:Ikhtisar
- Channel bot Feishu: bot Feishu yang dikelola oleh gateway
- Routing deterministik: balasan selalu kembali ke Feishu
- Isolasi sesi: DM berbagi satu sesi utama; grup diisolasi
- Koneksi WebSocket: long connection melalui SDK Feishu, tidak memerlukan URL publik
Kontrol akses
Pesan langsung
-
Default:
dmPolicy: "pairing"(pengguna yang tidak dikenal mendapatkan kode pairing) -
Setujui pairing:
-
Mode allowlist: tetapkan
channels.feishu.allowFromdengan Open ID yang diizinkan
Obrolan grup
1. Kebijakan grup (channels.feishu.groupPolicy):
"open"= izinkan semua orang di grup"allowlist"= hanya izinkangroupAllowFrom"disabled"= nonaktifkan pesan grup
allowlist
2. Persyaratan mention (channels.feishu.requireMention, dapat dioverride melalui channels.feishu.groups.<chat_id>.requireMention):
trueeksplisit = memerlukan @mentionfalseeksplisit = merespons tanpa mention- jika tidak ditetapkan dan
groupPolicy: "open"= default kefalse - jika tidak ditetapkan dan
groupPolicybukan"open"= default ketrue
Contoh konfigurasi grup
Izinkan semua grup, tanpa @mention wajib (default untuk grup terbuka)
Izinkan semua grup, tetapi tetap memerlukan @mention
Hanya izinkan grup tertentu
Batasi pengirim mana yang dapat mengirim pesan dalam grup (allowlist pengirim)
Selain mengizinkan grup itu sendiri, semua pesan dalam grup tersebut dibatasi oleh senderopen_id: hanya pengguna yang tercantum di groups.<chat_id>.allowFrom yang pesannya diproses; pesan dari anggota lain diabaikan (ini adalah pembatasan penuh di level pengirim, bukan hanya untuk perintah kontrol seperti /reset atau /new).
Dapatkan ID grup/pengguna
ID grup (chat_id)
ID grup terlihat sepertioc_xxx.
Metode 1 (direkomendasikan)
- Jalankan gateway dan lakukan @mention pada bot di grup
- Jalankan
openclaw logs --followdan carichat_id
ID pengguna (open_id)
ID pengguna terlihat sepertiou_xxx.
Metode 1 (direkomendasikan)
- Jalankan gateway dan kirim DM ke bot
- Jalankan
openclaw logs --followdan cariopen_id
Perintah umum
| Perintah | Deskripsi |
|---|---|
/status | Tampilkan status bot |
/reset | Reset sesi |
/model | Tampilkan/ganti model |
Catatan: Feishu belum mendukung menu perintah native, jadi perintah harus dikirim sebagai teks.
Perintah manajemen gateway
| Perintah | Deskripsi |
|---|---|
openclaw gateway status | Tampilkan status gateway |
openclaw gateway install | Instal/jalankan layanan gateway |
openclaw gateway stop | Hentikan layanan gateway |
openclaw gateway restart | Mulai ulang gateway |
openclaw logs --follow | Ikuti log gateway |
Pemecahan masalah
Bot tidak merespons di obrolan grup
- Pastikan bot sudah ditambahkan ke grup
- Pastikan Anda melakukan @mention pada bot (perilaku default)
- Periksa
groupPolicytidak disetel ke"disabled" - Periksa log:
openclaw logs --follow
Bot tidak menerima pesan
- Pastikan aplikasi sudah dipublikasikan dan disetujui
- Pastikan langganan peristiwa menyertakan
im.message.receive_v1 - Pastikan long connection diaktifkan
- Pastikan izin aplikasi sudah lengkap
- Pastikan gateway sedang berjalan:
openclaw gateway status - Periksa log:
openclaw logs --follow
Kebocoran App Secret
- Reset App Secret di Feishu Open Platform
- Perbarui App Secret di konfigurasi Anda
- Mulai ulang gateway
Kegagalan pengiriman pesan
- Pastikan aplikasi memiliki izin
im:message:send_as_bot - Pastikan aplikasi sudah dipublikasikan
- Periksa log untuk error yang lebih rinci
Konfigurasi lanjutan
Banyak akun
defaultAccount mengontrol akun Feishu mana yang digunakan ketika API outbound tidak menentukan accountId secara eksplisit.
Batas pesan
textChunkLimit: ukuran potongan teks outbound (default: 2000 karakter)mediaMaxMb: batas upload/download media (default: 30MB)
Streaming
Feishu mendukung balasan streaming melalui kartu interaktif. Saat diaktifkan, bot memperbarui kartu ketika menghasilkan teks.streaming: false untuk menunggu balasan lengkap sebelum mengirim.
Sesi ACP
Feishu mendukung ACP untuk:- DM
- percakapan topik grup
/acp ... langsung di percakapan.
Binding ACP persisten
Gunakan binding ACP bertipe di level teratas untuk menautkan DM atau percakapan topik Feishu ke sesi ACP persisten.Spawn ACP terikat thread dari obrolan
Di DM atau percakapan topik Feishu, Anda dapat membuat dan menautkan sesi ACP langsung di tempat:--thread hereberfungsi untuk DM dan topik Feishu.- Pesan lanjutan dalam DM/topik yang terikat dirutekan langsung ke sesi ACP tersebut.
- v1 tidak menargetkan obrolan grup umum tanpa topik.
Routing multi-agent
Gunakanbindings untuk merutekan DM atau grup Feishu ke agen yang berbeda.
match.channel:"feishu"match.peer.kind:"direct"atau"group"match.peer.id: Open ID pengguna (ou_xxx) atau ID grup (oc_xxx)
Referensi konfigurasi
Konfigurasi lengkap: Gateway configuration Opsi utama:| Pengaturan | Deskripsi | Default |
|---|---|---|
channels.feishu.enabled | Aktifkan/nonaktifkan channel | true |
channels.feishu.domain | Domain API (feishu atau lark) | feishu |
channels.feishu.connectionMode | Mode transport peristiwa | websocket |
channels.feishu.defaultAccount | ID akun default untuk routing outbound | default |
channels.feishu.verificationToken | Wajib untuk mode webhook | - |
channels.feishu.encryptKey | Wajib untuk mode webhook | - |
channels.feishu.webhookPath | Path rute webhook | /feishu/events |
channels.feishu.webhookHost | Host bind webhook | 127.0.0.1 |
channels.feishu.webhookPort | Port bind webhook | 3000 |
channels.feishu.accounts.<id>.appId | App ID | - |
channels.feishu.accounts.<id>.appSecret | App Secret | - |
channels.feishu.accounts.<id>.domain | Override domain API per akun | feishu |
channels.feishu.dmPolicy | Kebijakan DM | pairing |
channels.feishu.allowFrom | Allowlist DM (daftar open_id) | - |
channels.feishu.groupPolicy | Kebijakan grup | allowlist |
channels.feishu.groupAllowFrom | Allowlist grup | - |
channels.feishu.requireMention | Persyaratan @mention default | conditional |
channels.feishu.groups.<chat_id>.requireMention | Override @mention wajib per grup | inherited |
channels.feishu.groups.<chat_id>.enabled | Aktifkan grup | true |
channels.feishu.textChunkLimit | Ukuran potongan pesan | 2000 |
channels.feishu.mediaMaxMb | Batas ukuran media | 30 |
channels.feishu.streaming | Aktifkan output kartu streaming | true |
channels.feishu.blockStreaming | Aktifkan streaming per blok | true |
Referensi dmPolicy
| Nilai | Perilaku |
|---|---|
"pairing" | Default. Pengguna tak dikenal mendapatkan kode pairing; harus disetujui |
"allowlist" | Hanya pengguna di allowFrom yang dapat mengobrol |
"open" | Izinkan semua pengguna (memerlukan "*" di allowFrom) |
"disabled" | Nonaktifkan DM |
Jenis pesan yang didukung
Menerima
- ✅ Teks
- ✅ Rich text (post)
- ✅ Gambar
- ✅ File
- ✅ Audio
- ✅ Video/media
- ✅ Stiker
Mengirim
- ✅ Teks
- ✅ Gambar
- ✅ File
- ✅ Audio
- ✅ Video/media
- ✅ Kartu interaktif
- ⚠️ Rich text (pemformatan gaya post dan kartu, bukan fitur authoring Feishu yang sewenang-wenang)
Thread dan balasan
- ✅ Balasan inline
- ✅ Balasan topic-thread saat Feishu mengekspos
reply_in_thread - ✅ Balasan media tetap sadar thread saat membalas pesan thread/topik
Komentar Drive
Feishu dapat memicu agen ketika seseorang menambahkan komentar pada dokumen Feishu Drive (Docs, Sheets, dan lain-lain). Agen menerima teks komentar, konteks dokumen, dan thread komentar sehingga dapat merespons di dalam thread atau melakukan edit dokumen. Persyaratan:- Berlangganan ke
drive.notice.comment_add_v1di pengaturan langganan peristiwa aplikasi Feishu Anda (bersamaim.message.receive_v1yang sudah ada) - Tool Drive aktif secara default; nonaktifkan dengan
channels.feishu.tools.drive: false
feishu_drive mengekspos tindakan komentar berikut:
| Tindakan | Deskripsi |
|---|---|
list_comments | Daftarkan komentar pada dokumen |
list_comment_replies | Daftarkan balasan dalam thread komentar |
add_comment | Tambahkan komentar tingkat atas baru |
reply_comment | Balas thread komentar yang ada |
- teks komentar dan pengirim
- metadata dokumen (judul, jenis, URL)
- konteks thread komentar untuk balasan dalam thread
feishu_drive.reply_comment guna memberi tahu
pemberi komentar lalu mengeluarkan token senyap yang persis NO_REPLY / no_reply untuk
menghindari pengiriman duplikat.
Permukaan tindakan runtime
Feishu saat ini mengekspos tindakan runtime berikut:sendreadeditthread-replypinlist-pinsunpinmember-infochannel-infochannel-listreactdanreactionssaat reaksi diaktifkan dalam konfigurasi- tindakan komentar
feishu_drive:list_comments,list_comment_replies,add_comment,reply_comment
Terkait
- Channels Overview — semua channel yang didukung
- Pairing — autentikasi DM dan alur pairing
- Groups — perilaku obrolan grup dan pembatasan mention
- Channel Routing — routing sesi untuk pesan
- Security — model akses dan penguatan