Regional platforms
Feishu
OpenClaw terhubung ke Feishu/Lark (platform kolaborasi lengkap) melalui plugin resmi @openclaw/feishu: DM bot, obrolan grup, balasan kartu streaming, serta alat dokumen/wiki/drive/Bitable Feishu.
Status: siap produksi untuk DM bot + obrolan grup. WebSocket adalah transport peristiwa default (tidak memerlukan URL publik); mode webhook bersifat opsional.
Mulai cepat
Jalankan wizard penyiapan kanal
openclaw channels login --channel feishuPerintah ini memasang plugin @openclaw/feishu jika belum tersedia, lalu memandu proses penyiapan:
- Penyiapan manual: tempelkan App ID dan App Secret dari Feishu Open Platform (
https://open.feishu.cn) atau Lark Developer (https://open.larksuite.com). - Penyiapan QR: pindai kode QR di aplikasi Feishu untuk membuat bot secara otomatis. Alur ini membatasi DM hanya untuk akun Anda sendiri (
dmPolicy: "allowlist"denganopen_idAnda).
Wizard juga meminta domain API (Feishu atau Lark) dan kebijakan grup. Jika aplikasi seluler Feishu domestik tidak merespons kode QR, jalankan kembali penyiapan dan pilih penyiapan manual.
Setelah penyiapan selesai, mulai ulang Gateway untuk menerapkan perubahan
openclaw gateway restartKetahanan pesan masuk
OpenClaw memasukkan envelope im.message.receive_v1 dan drive.notice.comment_add_v1 yang telah diautentikasi ke antrean secara tahan lama sebelum pengiriman ke agen. Peristiwa yang tertunda atau dapat dicoba ulang tetap bertahan setelah Gateway dimulai ulang, tetap diserialkan per obrolan atau dokumen, dan menggunakan ID peristiwa Feishu untuk mencegah entri antrean duplikat selama catatan penyelesaian aktif atau yang dipertahankan masih ada.
Jika peristiwa WebSocket tidak dapat dipersistenkan setelah sejumlah percobaan ulang yang dibatasi, OpenClaw menutup soket tersebut dan memaksa koneksi baru yang diautentikasi, alih-alih melanjutkan setelah giliran yang belum di-commit. Jenis peristiwa Feishu lainnya, termasuk reaksi dan undangan rapat VC, menggunakan jalur peristiwa normal dan tidak mendapatkan jaminan antrean tahan lama ini.
Kontrol akses
Pesan langsung
Konfigurasikan channels.feishu.dmPolicy (default: pairing) untuk mengontrol siapa yang dapat mengirim DM kepada bot:
| Nilai | Perilaku |
|---|---|
"pairing" |
Pengguna yang tidak dikenal menerima kode pemasangan; setujui melalui CLI |
"allowlist" |
Hanya pengguna yang tercantum dalam allowFrom yang dapat mengobrol |
"open" |
DM publik; validasi konfigurasi mengharuskan allowFrom menyertakan "*". Entri non-wildcard tetap mempersempit akses |
Setujui permintaan pemasangan:
openclaw pairing list feishuopenclaw pairing approve feishu <CODE>Obrolan grup
Kebijakan grup (channels.feishu.groupPolicy, default: allowlist):
| Nilai | Perilaku |
|---|---|
"open" |
Merespons semua pesan dalam grup |
"allowlist" |
Hanya merespons grup dalam groupAllowFrom atau yang dikonfigurasi secara eksplisit di bawah groups.<chat_id> |
"disabled" |
Menonaktifkan semua pesan grup; entri groups.<chat_id> eksplisit tidak menggantikan pengaturan ini |
Persyaratan penyebutan (channels.feishu.requireMention):
- Default: @mention diperlukan, kecuali jika kebijakan grup efektif adalah
"open"; dalam kondisi tersebut, nilai default-nya adalahfalseagar pesan yang tidak dapat menyertakan penyebutan (misalnya gambar) tetap sampai ke agen. - Tetapkan
trueataufalsesecara eksplisit untuk menggantinya; penggantian per grup:channels.feishu.groups.<chat_id>.requireMention. @alldan@_allyang hanya untuk siaran tidak dianggap sebagai penyebutan bot. Pesan yang menyebut@allsekaligus bot secara langsung tetap dihitung sebagai penyebutan bot.
Contoh konfigurasi grup
Izinkan semua grup tanpa memerlukan @mention
{ channels: { feishu: { groupPolicy: "open", // requireMention secara default bernilai false pada "open" }, },}Izinkan semua grup, tetapi tetap wajibkan @mention
{ channels: { feishu: { groupPolicy: "open", requireMention: true, }, },}Hanya izinkan grup tertentu
{ channels: { feishu: { groupPolicy: "allowlist", // ID grup terlihat seperti: oc_xxx groupAllowFrom: ["oc_xxx", "oc_yyy"], }, },}Dalam mode allowlist, Anda juga dapat mengizinkan grup dengan menambahkan entri groups.<chat_id> eksplisit. Entri eksplisit tidak menggantikan groupPolicy: "disabled". Default wildcard di bawah groups.* mengonfigurasi grup yang cocok, tetapi tidak mengizinkan grup dengan sendirinya.
{ channels: { feishu: { groupPolicy: "allowlist", groups: { oc_xxx: { requireMention: false, }, }, }, },}Batasi pengirim dalam grup
{ channels: { feishu: { groupPolicy: "allowlist", groupAllowFrom: ["oc_xxx"], groups: { oc_xxx: { // open_id pengguna terlihat seperti: ou_xxx allowFrom: ["ou_user1", "ou_user2"], }, }, }, },}channels.feishu.groupSenderAllowFrom menetapkan daftar izin pengirim yang sama untuk semua grup; allowFrom per grup memiliki prioritas.
Pesan yang dibuat oleh bot
Secara default, Feishu mengabaikan pesan yang dibuat oleh bot lain. Untuk mengizinkan percakapan grup antarbot, berikan cakupan im:message.group_at_msg.include_bot:readonly dan im:message:readonly kepada aplikasi, lalu tetapkan allowBots:
{ channels: { feishu: { allowBots: true, }, },}Feishu hanya mengirimkan peristiwa grup yang dibuat oleh bot ketika bot lain menyebut bot ini. Kebijakan grup, daftar izin pengirim, dan persyaratan penyebutan yang ada tetap berlaku. OpenClaw membuang pesan yang dibuatnya sendiri, menyebut bot rekan pada setiap balasan teks atau kartu, dan menerapkan perlindungan bersama channels.defaults.botLoopProtection.
Mendapatkan ID grup/pengguna
ID grup (chat_id, format: oc_xxx)
Buka grup di Feishu/Lark, klik ikon menu di sudut kanan atas, lalu buka Settings. ID grup (chat_id) tercantum di halaman pengaturan.

ID pengguna (open_id, format: ou_xxx)
Mulai Gateway, kirim DM kepada bot, lalu periksa log:
openclaw logs --followCari open_id dalam keluaran log. Anda juga dapat memeriksa permintaan pemasangan yang tertunda:
openclaw pairing list feishuPerintah umum
| Perintah | Deskripsi |
|---|---|
/status |
Menampilkan status bot |
/reset |
Mengatur ulang sesi saat ini |
/model |
Menampilkan atau mengganti model AI |
Pemecahan masalah
Bot tidak merespons dalam obrolan grup
- Pastikan bot telah ditambahkan ke grup
- Pastikan Anda @mention bot (diwajibkan secara default)
- Verifikasikan bahwa
groupPolicybukan"disabled" - Periksa log:
openclaw logs --follow
Bot tidak menerima pesan
- Pastikan bot telah dipublikasikan dan disetujui di Feishu Open Platform / Lark Developer
- Pastikan langganan peristiwa menyertakan
im.message.receive_v1 - Untuk bergabung otomatis dengan undangan rapat, langgani juga
vc.bot.meeting_invited_v1 - Pastikan persistent connection (WebSocket) dipilih
- Pastikan semua cakupan izin yang diperlukan telah diberikan
- Pastikan Gateway sedang berjalan:
openclaw gateway status - Periksa log:
openclaw logs --follow
Berlangganan vc.bot.meeting_invited_v1 hanya mengirimkan peristiwa. Bergabung otomatis
dinonaktifkan secara default. Untuk mengaktifkannya secara global:
{ channels: { feishu: { vcAutoJoin: true, }, },}Untuk mengaktifkannya hanya bagi satu akun, hilangkan sakelar tingkat teratas dan tetapkan penggantian akun:
{ channels: { feishu: { accounts: { meetings: { vcAutoJoin: true }, }, }, },}Pengundang tetap melewati kebijakan DM Feishu normal, daftar izin/pemasangan, sesi, dan perutean
balasan sebelum agen menerima giliran untuk bergabung. Bergabung juga memerlukan alat untuk bergabung
ke VC Feishu yang tersedia dan dikonfigurasi bagi identitas aplikasi dengan cakupan
vc:meeting.bot.join:write. Sebagai contoh, skill agen VC lark-cli resmi
menyediakan vc +meeting-join.
Penyiapan QR tidak merespons di aplikasi seluler Feishu
- Jalankan kembali penyiapan:
openclaw channels login --channel feishu - Pilih penyiapan manual
- Di Feishu Open Platform, buat aplikasi mandiri lalu salin App ID dan App Secret-nya
- Tempelkan kredensial tersebut ke wizard penyiapan
App Secret bocor
- Atur ulang App Secret di Feishu Open Platform / Lark Developer
- Perbarui nilainya dalam konfigurasi Anda
- Mulai ulang Gateway:
openclaw gateway restart
Konfigurasi lanjutan
Beberapa akun
{ channels: { feishu: { defaultAccount: "main", accounts: { main: { appId: "cli_xxx", appSecret: "xxx", name: "Bot utama", tts: { providers: { openai: { voice: "shimmer" }, }, }, }, backup: { appId: "cli_yyy", appSecret: "yyy", name: "Bot cadangan", enabled: false, }, }, }, },}defaultAccount mengontrol akun yang digunakan ketika API keluar tidak menentukan accountId. Entri akun mewarisi pengaturan tingkat teratas; sebagian besar kunci tingkat teratas dapat diganti per akun.
accounts.<id>.tts menggunakan bentuk yang sama seperti messages.tts dan melakukan deep merge terhadap konfigurasi TTS global, sehingga penyiapan Feishu dengan beberapa bot dapat mempertahankan kredensial penyedia bersama secara global sambil hanya mengganti suara, model, persona, atau mode otomatis per akun.
Batas pesan
textChunkLimit- ukuran potongan teks keluar (default:4000karakter)streaming.chunkMode-"length"(default) membagi pada batas;"newline"mengutamakan batas baris barumediaMaxMb- batas unggah/unduh media (default:30MB)
Streaming
Feishu/Lark mendukung balasan streaming melalui kartu interaktif (API streaming Card Kit). Ketika diaktifkan, bot memperbarui kartu secara waktu nyata saat menghasilkan teks.
{ channels: { feishu: { streaming: { mode: "partial", // keluaran kartu streaming (default: "partial") block: { enabled: true }, // mengaktifkan streaming blok yang telah selesai }, }, },}Atur streaming.mode: "off" untuk mengirim balasan lengkap dalam satu pesan; renderMode: "raw" (teks biasa alih-alih kartu) juga menonaktifkan kartu streaming. streaming.block.enabled dinonaktifkan secara default; aktifkan hanya jika Anda ingin blok asisten yang telah selesai dikirim sebelum balasan akhir. Boolean lama streaming serta kunci datar blockStreaming / blockStreamingCoalesce / chunkMode dimigrasikan ke bentuk bertingkat ini melalui openclaw doctor --fix.
Pengoptimalan kuota
Kurangi jumlah panggilan API Feishu/Lark dengan dua flag opsional:
typingIndicator(defaulttrue): aturfalseuntuk melewati panggilan reaksi mengetikresolveSenderNames(defaulttrue): aturfalseuntuk melewati pencarian profil pengirim
{ channels: { feishu: { typingIndicator: false, resolveSenderNames: false, }, },}Cakupan sesi grup dan utas topik
channels.feishu.groupSessionScope (tingkat teratas, per akun, atau per grup) mengontrol cara pesan grup dipetakan ke sesi agen:
| Nilai | Sesi |
|---|---|
"group" (default) |
Satu sesi per percakapan grup |
"group_sender" |
Satu sesi per (grup + pengirim) |
"group_topic" |
Satu sesi per utas topik; kembali ke sesi grup |
"group_topic_sender" |
Satu sesi per (topik + pengirim); kembali ke (grup + pengirim) |
Untuk cakupan topik, grup topik asli Feishu/Lark menggunakan peristiwa thread_id (omt_*) sebagai kunci sesi topik kanonis. Jika peristiwa pembuka topik asli tidak menyertakan thread_id, OpenClaw mengambilnya dari Feishu sebelum merutekan giliran. Balasan grup biasa yang diubah OpenClaw menjadi utas tetap menggunakan ID pesan akar balasan (om_*) agar giliran pertama dan giliran lanjutan tetap berada dalam sesi yang sama.
Atur replyInThread: "enabled" (tingkat teratas atau per grup) agar balasan bot membuat atau melanjutkan utas topik Feishu alih-alih membalas sebaris. topicSessionMode adalah pendahulu groupSessionScope yang sudah tidak digunakan; utamakan groupSessionScope.
Alat ruang kerja Feishu
Plugin ini menyediakan alat agen untuk dokumen, percakapan, basis pengetahuan, penyimpanan cloud, izin, dan Bitable Feishu, serta skill yang sesuai (feishu-doc, feishu-drive, feishu-perm, feishu-wiki). Kelompok alat dikendalikan oleh channels.feishu.tools:
| Kunci | Alat | Default |
|---|---|---|
tools.doc |
Operasi dokumen feishu_doc |
true |
tools.chat |
Info percakapan + kueri anggota feishu_chat |
true |
tools.wiki |
Basis pengetahuan feishu_wiki (memerlukan doc) |
true |
tools.drive |
Penyimpanan cloud feishu_drive |
true |
tools.perm |
Pengelolaan izin feishu_perm |
false (sensitif) |
tools.scopes |
Diagnostik cakupan aplikasi feishu_app_scopes |
true |
tools.bitable |
Operasi Bitable/Base feishu_bitable_* |
true |
tools.base adalah alias untuk tools.bitable; nilai eksplisit bitable diprioritaskan jika keduanya ditetapkan. Pengendali per akun berada di bawah accounts.<id>.tools.
Berikan drive:drive.metadata:readonly untuk pencarian langsung feishu_drive info di luar direktori
akar, kecuali aplikasi sudah memiliki cakupan penuh drive:drive. Tanpa salah satu cakupan tersebut, info
tetap menyediakan pencarian direktori akar lama melalui drive:drive:readonly.
Sesi ACP
Feishu/Lark mendukung ACP untuk DM dan pesan utas grup. ACP Feishu/Lark dikendalikan oleh perintah teks—tidak ada menu perintah garis miring asli, jadi gunakan pesan /acp ... secara langsung dalam percakapan.
Pengikatan ACP persisten
{ 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" }, }, ],}Membuat ACP dari percakapan
Dalam DM atau utas Feishu/Lark:
/acp spawn codex --thread here--thread here berfungsi untuk DM dan pesan utas Feishu/Lark. Pesan lanjutan dalam percakapan yang terikat dirutekan langsung ke sesi ACP tersebut.
Perutean multiagen
Gunakan bindings untuk merutekan DM atau grup Feishu/Lark ke agen yang berbeda.
{ 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" }, }, }, ],}Bidang perutean:
match.channel:"feishu"match.peer.kind:"direct"(DM) atau"group"(percakapan grup)match.peer.id: Open ID pengguna (ou_xxx) atau ID grup (oc_xxx)
Lihat Mendapatkan ID grup/pengguna untuk kiat pencarian.
Isolasi agen per pengguna (Pembuatan Agen Dinamis)
Aktifkan dynamicAgentCreation untuk secara otomatis membuat instans agen terisolasi bagi setiap pengguna DM. Setiap pengguna mendapatkan:
- Direktori ruang kerja independen
USER.md/SOUL.md/MEMORY.mdterpisah- Riwayat percakapan privat
- Skill dan status terisolasi
Ini sangat penting untuk bot publik jika Anda ingin setiap pengguna memiliki pengalaman asisten AI privat mereka sendiri.
Penyiapan cepat
{ channels: { feishu: { dmPolicy: "open", allowFrom: ["*"], dynamicAgentCreation: { enabled: true, workspaceTemplate: "~/.openclaw/workspace-{agentId}", agentDirTemplate: "~/.openclaw/agents/{agentId}/agent", }, }, }, session: { // Penting: menjadikan DM setiap pengguna sebagai "sesi utama" mereka // Memuat USER.md / SOUL.md / MEMORY.md secara otomatis // Untuk isolasi yang lebih kuat, gunakan "per-channel-peer" dmScope: "main", },}Cara kerjanya
Saat pengguna baru mengirim DM pertama mereka:
- Saluran menghasilkan
agentIdunik:feishu-{user_open_id}untuk akun default, atau ringkasan identitas terbatas yang diawali akun untuk akun bernama - Membuat ruang kerja baru pada jalur
workspaceTemplate - Mendaftarkan agen dan membuat pengikatan untuk pengguna ini
- Pembantu ruang kerja memastikan berkas bootstrap (
AGENTS.md,SOUL.md,USER.md, dan sebagainya) tersedia pada akses pertama - Merutekan semua pesan mendatang dari pengguna ini ke agen khusus mereka
Opsi konfigurasi
| Pengaturan | Deskripsi | Default |
|---|---|---|
channels.feishu.dynamicAgentCreation.enabled |
Aktifkan pembuatan agen otomatis per pengguna | false |
channels.feishu.dynamicAgentCreation.workspaceTemplate |
Templat jalur untuk ruang kerja agen dinamis | ~/.openclaw/workspace-{agentId} |
channels.feishu.dynamicAgentCreation.agentDirTemplate |
Templat nama direktori agen | ~/.openclaw/agents/{agentId}/agent |
channels.feishu.dynamicAgentCreation.maxAgents |
Jumlah maksimum agen dinamis yang dapat dibuat | tanpa batas |
Variabel templat:
{agentId}- ID agen yang dihasilkan (misalnya,feishu-ou_xxxxxxataufeishu-support-<identity_digest>){userId}- open_id Feishu milik pengirim (misalnya,ou_xxxxxx)
Cakupan sesi
session.dmScope mengontrol cara pesan langsung dipetakan ke sesi agen. Ini adalah pengaturan global yang memengaruhi semua saluran.
| Nilai | Perilaku | Paling sesuai untuk |
|---|---|---|
"main" |
DM setiap pengguna dipetakan ke sesi utama agennya | Bot pengguna tunggal jika Anda ingin USER.md / SOUL.md dimuat otomatis |
"per-peer" |
Setiap peer mendapatkan sesi terpisah (apa pun salurannya) | Isolasi yang dikunci hanya berdasarkan identitas pengirim |
"per-channel-peer" |
Setiap kombinasi (saluran + pengguna) mendapatkan sesi terpisah | Bot publik multi-pengguna yang memerlukan isolasi lebih kuat |
"per-account-channel-peer" |
Setiap kombinasi (akun + saluran + pengguna) mendapatkan sesi terpisah | Bot multi-akun yang memerlukan isolasi sesi tingkat akun |
Kompromi: Menggunakan "main" mengaktifkan pemuatan otomatis berkas bootstrap (USER.md, SOUL.md, MEMORY.md), tetapi berarti semua DM di semua saluran menggunakan pola kunci sesi yang sama. Untuk bot publik multi-pengguna yang lebih mengutamakan isolasi daripada pemuatan otomatis bootstrap, pertimbangkan "per-channel-peer" dan kelola berkas bootstrap secara manual.
Penerapan multi-pengguna umum
{ 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: { // Pilih dmScope berdasarkan kebutuhan isolasi Anda: // "main" untuk pemuatan otomatis bootstrap, "per-channel-peer" untuk isolasi yang lebih kuat dmScope: "main", }, bindings: [], // Kosong - agen dinamis terikat otomatis}Verifikasi
Periksa log Gateway untuk memastikan pembuatan dinamis berfungsi:
feishu: membuat agen dinamis "feishu-ou_xxxxxx" untuk pengguna ou_xxxxxx ruang kerja: /home/user/.openclaw/workspace-feishu-ou_xxxxxx direktori agen: /home/user/.openclaw/agents/feishu-ou_xxxxxx/agentCantumkan semua ruang kerja yang dibuat:
ls -la ~/.openclaw/workspace-*Catatan
- Isolasi ruang kerja: Setiap pengguna mendapatkan direktori ruang kerja dan instans agen masing-masing. Pengguna tidak dapat melihat riwayat percakapan atau berkas pengguna lain dalam alur perpesanan normal.
- Batas keamanan: Ini adalah mekanisme isolasi konteks perpesanan, bukan batas keamanan antarpenyewa yang bermusuhan. Proses agen dan lingkungan host digunakan bersama.
- Penulisan konfigurasi harus tetap diaktifkan: Pembuatan agen dinamis menulis agen dan pengikatan ke dalam konfigurasi; proses ini dilewati jika
channels.feishu.configWritesbernilaifalse(default: diaktifkan). bindingsharus kosong: Agen dinamis mendaftarkan pengikatannya sendiri secara otomatis- Jalur peningkatan: Pengikatan manual yang sudah ada tetap berfungsi bersama agen dinamis
session.dmScopebersifat global: Ini memengaruhi semua kanal, bukan hanya Feishu
Referensi konfigurasi
Konfigurasi lengkap: Konfigurasi Gateway
| Pengaturan | Deskripsi | Default |
|---|---|---|
channels.feishu.enabled |
Aktifkan/nonaktifkan kanal | true |
channels.feishu.domain |
Domain API (feishu, lark, atau URL dasar https://) |
feishu |
channels.feishu.connectionMode |
Transpor peristiwa (websocket atau webhook) |
websocket |
channels.feishu.defaultAccount |
Akun default untuk perutean keluar | default |
channels.feishu.verificationToken |
Wajib untuk mode Webhook | - |
channels.feishu.encryptKey |
Wajib untuk mode Webhook | - |
channels.feishu.webhookPath |
Jalur rute Webhook | /feishu/events |
channels.feishu.webhookHost |
Host pengikatan Webhook | 127.0.0.1 |
channels.feishu.webhookPort |
Port pengikatan Webhook | 3000 |
channels.feishu.accounts.<id>.appId |
ID aplikasi | - |
channels.feishu.accounts.<id>.appSecret |
Rahasia aplikasi | - |
channels.feishu.accounts.<id>.domain |
Penggantian domain per akun | feishu |
channels.feishu.accounts.<id>.tts |
Penggantian TTS per akun | messages.tts |
channels.feishu.dmPolicy |
Kebijakan DM (pairing, allowlist, open) |
pairing |
channels.feishu.allowFrom |
Daftar izin DM (daftar open_id) | - |
channels.feishu.groupPolicy |
Kebijakan grup (open, allowlist, disabled) |
allowlist |
channels.feishu.groupAllowFrom |
Daftar izin grup | - |
channels.feishu.groupSenderAllowFrom |
Daftar izin pengirim yang diterapkan ke semua grup | - |
channels.feishu.requireMention |
Wajibkan @mention dalam grup | true (false ketika kebijakannya open) |
channels.feishu.allowBots |
Terima bot lain yang menyebut bot ini, dengan perlindungan loop bot | false |
channels.feishu.groups.<chat_id>.requireMention |
Penggantian @mention per grup; ID eksplisit juga mengizinkan grup dalam mode daftar izin | diwarisi |
channels.feishu.groups.<chat_id>.enabled |
Aktifkan/nonaktifkan grup tertentu | true |
channels.feishu.groups.<chat_id>.allowFrom |
Daftar izin pengirim per grup (menggantikan groupSenderAllowFrom) |
- |
channels.feishu.groupSessionScope |
Pemetaan sesi grup (group, group_sender, group_topic, group_topic_sender) |
group |
channels.feishu.replyInThread |
Balasan bot membuat/melanjutkan utas topik (disabled, enabled) |
disabled |
channels.feishu.reactionNotifications |
Peristiwa reaksi masuk (off, own, all) |
own |
channels.feishu.vcAutoJoin |
Bergabung ke rapat VC setelah otorisasi DM normal | false |
channels.feishu.dynamicAgentCreation.enabled |
Aktifkan pembuatan agen per pengguna secara otomatis | false |
channels.feishu.dynamicAgentCreation.workspaceTemplate |
Templat jalur untuk ruang kerja agen dinamis | ~/.openclaw/workspace-{agentId} |
channels.feishu.dynamicAgentCreation.agentDirTemplate |
Templat nama direktori agen | ~/.openclaw/agents/{agentId}/agent |
channels.feishu.dynamicAgentCreation.maxAgents |
Jumlah maksimum agen dinamis yang akan dibuat | tidak terbatas |
channels.feishu.textChunkLimit |
Ukuran potongan pesan | 4000 |
channels.feishu.streaming.chunkMode |
Pemisahan potongan (length atau newline) |
length |
channels.feishu.mediaMaxMb |
Batas ukuran media | 30 |
channels.feishu.renderMode |
Perenderan balasan (auto, raw, card) |
auto |
channels.feishu.streaming.mode |
Keluaran kartu streaming (partial atau off) |
partial |
channels.feishu.streaming.block.enabled |
Streaming balasan blok yang telah selesai | false |
channels.feishu.typingIndicator |
Kirim reaksi sedang mengetik | true |
channels.feishu.resolveSenderNames |
Uraikan nama tampilan pengirim | true |
channels.feishu.configWrites |
Izinkan penulisan konfigurasi yang dimulai kanal (diperlukan agen dinamis) | true |
channels.feishu.tools.doc |
Aktifkan alat dokumen | true |
channels.feishu.tools.chat |
Aktifkan alat informasi obrolan | true |
channels.feishu.tools.wiki |
Aktifkan alat basis pengetahuan (memerlukan doc) |
true |
channels.feishu.tools.drive |
Aktifkan alat penyimpanan cloud | true |
channels.feishu.tools.perm |
Aktifkan alat pengelolaan izin | false |
channels.feishu.tools.scopes |
Aktifkan alat diagnostik cakupan aplikasi | true |
channels.feishu.tools.bitable |
Aktifkan alat Bitable/Base | true |
channels.feishu.tools.base |
Alias untuk channels.feishu.tools.bitable; bitable eksplisit diutamakan jika keduanya ditetapkan |
true |
channels.feishu.accounts.<id>.tools.bitable |
Gerbang alat Bitable/Base per akun | diwarisi |
channels.feishu.accounts.<id>.tools.base |
Alias per akun untuk tools.bitable |
diwarisi |
Jenis pesan yang didukung
Terima
- ✅ Teks
- ✅ Teks kaya (postingan)
- ✅ Gambar
- ✅ Berkas
- ✅ Audio
- ✅ Video/media
- ✅ Stiker
Pesan audio Feishu/Lark yang masuk dinormalisasi sebagai placeholder media, bukan
sebagai JSON file_key mentah. Ketika tools.media.audio dikonfigurasi, OpenClaw
mengunduh sumber catatan suara dan menjalankan transkripsi audio bersama sebelum
giliran agen, sehingga agen menerima transkrip ucapan. Jika Feishu menyertakan
teks transkrip secara langsung dalam payload audio, teks tersebut digunakan tanpa
panggilan ASR lain. Tanpa penyedia transkripsi audio, agen tetap menerima
placeholder <media:audio> beserta lampiran yang disimpan, bukan payload
sumber daya Feishu mentah.
Kirim
- ✅ Teks
- ✅ Gambar
- ✅ Berkas
- ✅ Audio
- ✅ Video/media
- ✅ Kartu interaktif (termasuk pembaruan streaming)
- ⚠️ Teks kaya (pemformatan bergaya postingan; tidak mendukung kemampuan penulisan Feishu/Lark secara lengkap)
Bubble audio native Feishu/Lark menggunakan jenis pesan Feishu audio dan memerlukan
media unggahan Ogg/Opus (file_type: "opus"). Media .opus dan .ogg yang ada
dikirim langsung sebagai audio native. MP3/WAV/M4A dan format lain yang kemungkinan merupakan audio
ditranskode menjadi Ogg/Opus 48kHz dengan ffmpeg hanya ketika balasan meminta pengiriman
suara (audioAsVoice / alat pesan asVoice, termasuk balasan catatan suara TTS).
Lampiran MP3 biasa tetap menjadi file biasa. Jika ffmpeg tidak tersedia atau
konversi gagal, OpenClaw beralih ke lampiran file dan mencatat alasannya dalam log.
Utas dan balasan
- ✅ Balasan sebaris
- ✅ Balasan utas
- ✅ Balasan media tetap mempertimbangkan utas saat membalas pesan utas
Perutean sesi grup topik dibahas dalam Cakupan sesi grup dan utas topik.
Terkait
- Ikhtisar Saluran - semua saluran yang didukung
- Pemasangan - autentikasi DM dan alur pemasangan
- Grup - perilaku obrolan grup dan pembatasan berdasarkan sebutan
- Perutean Saluran - perutean sesi untuk pesan
- Keamanan - model akses dan penguatan