@openclaw/feishu plugin aracılığıyla Feishu/Lark’a (hepsi bir arada iş birliği platformu) bağlanır: bot DM’leri, grup sohbetleri, akışlı kart yanıtları ve Feishu belge/wiki/drive/Bitable araçları.
Durum: bot DM’leri ve grup sohbetleri için üretime hazırdır. WebSocket varsayılan olay aktarım yöntemidir (genel URL gerekmez); webhook modu isteğe bağlıdır.
Hızlı başlangıç
OpenClaw 2026.5.29 veya üzerini gerektirir. Kontrol etmek için
openclaw --version komutunu çalıştırın. openclaw update ile yükseltin.1
Kanal kurulum sihirbazını çalıştırın
@openclaw/feishu plugin’i yükler ve ardından kurulum adımlarında yönlendirir:- Manuel kurulum: Feishu Open Platform’dan (
https://open.feishu.cn) veya Lark Developer’dan (https://open.larksuite.com) bir App ID ve App Secret yapıştırın. - QR kurulumu: otomatik olarak bot oluşturmak için Feishu uygulamasında bir QR kodu tarayın. Bu akış, DM’leri kendi hesabınızla sınırlar (
dmPolicy: "allowlist",open_iddeğerinizle).
2
Kurulum tamamlandıktan sonra değişiklikleri uygulamak için Gateway'i yeniden başlatın
Gelen olayların dayanıklılığı
OpenClaw, kimliği doğrulanmışim.message.receive_v1 ve drive.notice.comment_add_v1 zarflarını agent’a göndermeden önce dayanıklı biçimde kuyruğa alır. Bekleyen veya yeniden denenebilir olaylar Gateway yeniden başlatıldığında korunur, sohbet veya belge başına sıralı kalır ve etkin ya da saklanan tamamlanma kaydı var olduğu sürece yinelenen kuyruk girdilerini engellemek için Feishu’nun olay kimliğini kullanır.
Bir WebSocket olayı sınırlı sayıdaki yeniden denemenin ardından kalıcılaştırılamazsa OpenClaw, kaydedilmemiş bir turu atlayarak devam etmek yerine ilgili soketi kapatır ve kimliği yeniden doğrulanmış yeni bir bağlantıyı zorunlu kılar. Tepkiler ve VC toplantı davetleri dâhil diğer Feishu olay türleri normal olay yollarını kullanır ve bu dayanıklı kuyruk garantisinden yararlanmaz.
Erişim denetimi
Doğrudan mesajlar
Bota kimlerin DM gönderebileceğini denetlemek içinchannels.feishu.dmPolicy ayarını (varsayılan: pairing) yapılandırın:
Bir eşleştirme isteğini onaylayın:
Grup sohbetleri
Grup politikası (channels.feishu.groupPolicy, varsayılan: allowlist):
Bahsetme gereksinimi (
channels.feishu.requireMention):
- Varsayılan: etkin grup politikası
"open"olmadığı sürece @bahsetme gerekir; bu politikada, bahsetme içermeyen mesajların (örneğin görsellerin) yine de agent’a ulaşabilmesi için varsayılan değerfalseolur. - Geçersiz kılmak için
trueveyafalsedeğerini açıkça ayarlayın; grup başına geçersiz kılma:channels.feishu.groups.<chat_id>.requireMention. - Yalnızca yayın amaçlı
@allve@_all, bottan bahsetme olarak değerlendirilmez. Hem@allhem de doğrudan bottan bahseden bir mesaj yine bottan bahsetme sayılır.
Grup yapılandırması örnekleri
Tüm gruplara izin verin, @bahsetme gerekmesin
Tüm gruplara izin verin, ancak yine de @bahsetme gerektirin
Yalnızca belirli gruplara izin verin
allowlist modunda açık bir groups.<chat_id> girdisi ekleyerek de bir gruba izin verebilirsiniz. Açık girdiler groupPolicy: "disabled" değerini geçersiz kılmaz. groups.* altındaki joker karakter varsayılanları eşleşen grupları yapılandırır ancak kendi başlarına gruplara izin vermez.
Bir grup içindeki gönderenleri sınırlayın
channels.feishu.groupSenderAllowFrom, tüm gruplar için aynı gönderen izin listesini ayarlar; grup başına allowFrom önceliklidir.
Bot tarafından yazılan mesajlar
Feishu, diğer botlar tarafından yazılan mesajları varsayılan olarak yok sayar. Botlar arası grup konuşmalarına izin vermek için uygulamayaim:message.group_at_msg.include_bot:readonly ve im:message:readonly kapsamlarını verin, ardından allowBots ayarını belirleyin:
channels.defaults.botLoopProtection korumasını uygular.
Grup/kullanıcı kimliklerini alma
Grup kimlikleri (chat_id, biçim: oc_xxx)
Grubu Feishu/Lark’ta açın, sağ üst köşedeki menü simgesine tıklayın ve Settings bölümüne gidin. Grup kimliği (chat_id) ayarlar sayfasında listelenir.

Kullanıcı kimlikleri (open_id, biçim: ou_xxx)
Gateway’i başlatın, bota bir DM gönderin ve ardından günlükleri kontrol edin:
open_id değerini arayın. Bekleyen eşleştirme isteklerini de kontrol edebilirsiniz:
Yaygın komutlar
Feishu/Lark yerel eğik çizgi komutu menülerini desteklemez; bu nedenle bunları düz metin mesajları olarak gönderin.
Sorun giderme
Bot grup sohbetlerinde yanıt vermiyor
- Botun gruba eklendiğinden emin olun
- Bottan @bahsettiğinizden emin olun (varsayılan olarak gereklidir)
groupPolicydeğerinin"disabled"olmadığını doğrulayın- Günlükleri kontrol edin:
openclaw logs --follow
Bot mesajları almıyor
- Botun Feishu Open Platform / Lark Developer’da yayımlandığından ve onaylandığından emin olun
- Olay aboneliğinin
im.message.receive_v1içerdiğinden emin olun - Toplantı davetlerine otomatik katılım için
vc.bot.meeting_invited_v1olayına da abone olun - persistent connection (WebSocket) seçeneğinin seçildiğinden emin olun
- Gerekli tüm izin kapsamlarının verildiğinden emin olun
- Gateway’in çalıştığından emin olun:
openclaw gateway status - Günlükleri kontrol edin:
openclaw logs --follow
vc.bot.meeting_invited_v1 olayına abone olmak olayı iletir. Otomatik katılımlar
varsayılan olarak kapalıdır. Bunları genel olarak etkinleştirmek için:
vc:meeting.bot.join:write kapsamıyla yapılandırılmış kullanılabilir bir Feishu VC katılım
aracı gerektirir. Örneğin, resmi
lark-cli VC agent skill
vc +meeting-join sağlar.
QR kurulumu Feishu mobil uygulamasında tepki vermiyor
- Kurulumu yeniden çalıştırın:
openclaw channels login --channel feishu - Manuel kurulumu seçin
- Feishu Open Platform’da kendi oluşturduğunuz bir uygulama oluşturun ve App ID ile App Secret değerlerini kopyalayın
- Bu kimlik bilgilerini kurulum sihirbazına yapıştırın
App Secret sızdırıldı
- Feishu Open Platform / Lark Developer’da App Secret değerini sıfırlayın
- Yapılandırmanızdaki değeri güncelleyin
- Gateway’i yeniden başlatın:
openclaw gateway restart
Gelişmiş yapılandırma
Birden fazla hesap
defaultAccount, giden API’ler bir accountId belirtmediğinde hangi hesabın kullanılacağını denetler. Hesap girdileri üst düzey ayarları devralır; çoğu üst düzey anahtar hesap başına geçersiz kılınabilir.
accounts.<id>.tts, tts ile aynı biçimi kullanır ve genel TTS yapılandırması üzerine derin birleştirme uygular; böylece çok botlu Feishu kurulumları, yalnızca ses, model, persona veya otomatik modu hesap başına geçersiz kılarken paylaşılan sağlayıcı kimlik bilgilerini genel düzeyde tutabilir.
Mesaj sınırları
textChunkLimit- giden metin parçası boyutu (varsayılan:4000karakter)streaming.chunkMode-"length"(varsayılan) sınırda böler;"newline"satır sonu sınırlarını tercih edermediaMaxMb- medya yükleme/indirme sınırı (varsayılan:30MB)
Akış
Feishu/Lark, etkileşimli kartlar (Card Kit akış API’si) aracılığıyla akışlı yanıtları destekler. Etkinleştirildiğinde bot, metin üretirken kartı gerçek zamanlı olarak günceller.streaming.mode: "off" değerini ayarlayın; renderMode: "raw" (kartlar yerine düz metin) da kart akışını devre dışı bırakır. streaming.block.enabled varsayılan olarak kapalıdır; yalnızca tamamlanan asistan bloklarının son yanıttan önce gönderilmesini istediğinizde etkinleştirin. Eski Boole streaming değeri ve düz blockStreaming / blockStreamingCoalesce / chunkMode anahtarları, openclaw doctor --fix aracılığıyla bu iç içe yapıya taşınır.
Kota optimizasyonu
İki isteğe bağlı bayrakla Feishu/Lark API çağrılarının sayısını azaltın:typingIndicator(varsayılantrue): yazıyor tepkisi çağrılarını atlamak içinfalseolarak ayarlayınresolveSenderNames(varsayılantrue): gönderen profili sorgularını atlamak içinfalseolarak ayarlayın
Grup oturumu kapsamı ve konu dizileri
channels.feishu.groupSessionScope (üst düzeyde, hesap başına veya grup başına), grup mesajlarının ajan oturumlarıyla nasıl eşleştirileceğini denetler:
Konu kapsamlarında yerel Feishu/Lark konu grupları, standart konu oturumu anahtarı olarak
thread_id (omt_*) olayını kullanır. Yerel bir konu başlatma olayında thread_id yoksa OpenClaw, turu yönlendirmeden önce bunu Feishu’dan tamamlar. OpenClaw’ın dizilere dönüştürdüğü normal grup yanıtları, ilk turun ve takip eden turların aynı oturumda kalması için yanıt kök mesaj kimliğini (om_*) kullanmaya devam eder.
Bot yanıtlarının satır içinde yanıt vermek yerine bir Feishu konu dizisi oluşturmasını veya sürdürmesini sağlamak için replyInThread: "enabled" değerini (üst düzeyde veya grup başına) ayarlayın. topicSessionMode, groupSessionScope değerinin kullanımdan kaldırılmış öncülüdür; groupSessionScope tercih edin.
Feishu çalışma alanı araçları
Plugin; Feishu belgeleri, sohbetleri, bilgi tabanı, bulut depolama, izinler ve Bitable için ajan araçlarının yanı sıra bunlarla eşleşen skills (feishu-doc, feishu-drive, feishu-perm, feishu-wiki) içerir. Araç aileleri channels.feishu.tools tarafından denetlenir:
tools.base, tools.bitable için bir diğer addır; ikisi de ayarlandığında açıkça belirtilen bitable değeri önceliklidir. Hesap başına denetimler accounts.<id>.tools altında bulunur.
Uygulama tam drive:drive kapsamına zaten sahip değilse kök
dizinin dışındaki doğrudan feishu_drive info sorguları için drive:drive.metadata:readonly iznini verin. Her iki kapsam da yoksa info,
drive:drive:readonly üzerinden eski kök dizin sorgusunu kullanılabilir durumda tutar.
ACP oturumları
Feishu/Lark, DM’ler ve grup dizisi mesajları için ACP’yi destekler. Feishu/Lark ACP metin komutlarıyla çalışır; yerel eğik çizgi komutu menüleri yoktur, bu nedenle/acp ... mesajlarını doğrudan konuşmada kullanın.
Kalıcı ACP bağlaması
Sohbetten ACP başlatma
Bir Feishu/Lark DM’sinde veya dizisinde:--thread here, DM’ler ve Feishu/Lark dizisi mesajları için çalışır. Bağlı konuşmadaki takip mesajları doğrudan bu ACP oturumuna yönlendirilir.
Çok ajanlı yönlendirme
Feishu/Lark DM’lerini veya gruplarını farklı ajanlara yönlendirmek içinbindings kullanın.
match.channel:"feishu"match.peer.kind:"direct"(DM) veya"group"(grup sohbeti)match.peer.id: kullanıcı Open ID’si (ou_xxx) veya grup kimliği (oc_xxx)
Kullanıcı başına ajan yalıtımı (Dinamik Ajan Oluşturma)
Her DM kullanıcısı için otomatik olarak yalıtılmış ajan örnekleri oluşturmak üzeredynamicAgentCreation etkinleştirin. Her kullanıcı şunlara sahip olur:
- Bağımsız çalışma alanı dizini
- Ayrı
USER.md/SOUL.md/MEMORY.md - Özel konuşma geçmişi
- Yalıtılmış skills ve durum
Dinamik bağlamalar normalleştirilmiş Feishu
accountId değerini içerir; böylece varsayılan ve adlandırılmış hesaplar her göndereni doğru dinamik ajana yönlendirir.Adlandırılmış bir hesap eski bir sürümde kapsamsız bir dinamik ajan oluşturduysa bu eski ajan hâlâ maxAgents sınırına dahil edilir. Kaldırmadan önce varsayılan hesap tarafından kullanılmadığını doğrulayın veya maxAgents değerini geçici olarak artırın; OpenClaw, belirsiz eski durumun hangi hesaba ait olduğunu güvenli biçimde çıkaramaz.Hızlı kurulum
Nasıl çalışır?
Yeni bir kullanıcı ilk DM’sini gönderdiğinde:- Kanal benzersiz bir
agentIdoluşturur: varsayılan hesap içinfeishu-{user_open_id}veya adlandırılmış bir hesap için sınırlandırılmış, hesap önekli bir kimlik özeti workspaceTemplateyolunda yeni bir çalışma alanı oluşturur- Ajanı kaydeder ve bu kullanıcı için bir bağlama oluşturur
- Çalışma alanı yardımcısı ilk erişimde önyükleme dosyalarının (
AGENTS.md,SOUL.md,USER.mdvb.) bulunmasını sağlar - Bu kullanıcıdan gelecek tüm mesajları kullanıcının özel ajanına yönlendirir
Yapılandırma seçenekleri
Şablon değişkenleri:
{agentId}- oluşturulan ajan kimliği (ör.feishu-ou_xxxxxxveyafeishu-support-<identity_digest>){userId}- gönderenin Feishu open_id değeri (ör.ou_xxxxxx)
Oturum kapsamı
session.dmScope, doğrudan mesajların ajan oturumlarıyla nasıl eşleştirileceğini denetler. Bu, tüm kanalları etkileyen genel bir ayardır.
Ödünleşim:
"main" kullanmak, önyükleme dosyalarının (USER.md, SOUL.md, MEMORY.md) otomatik olarak yüklenmesini sağlar; ancak tüm kanallardaki tüm DM’lerin aynı oturum anahtarı kalıbını paylaşması anlamına gelir. Yalıtımın önyükleme dosyalarının otomatik yüklenmesinden daha önemli olduğu herkese açık çok kullanıcılı botlar için "per-channel-peer" kullanmayı ve önyükleme dosyalarını elle yönetmeyi değerlendirin.
Adlandırılmış Feishu hesaplarının aynı gönderen için ayrı oturumlar tutması gerektiğinde
"per-account-channel-peer" kullanın. Dinamik bağlamalar hesap kapsamını korur.Tipik çok kullanıcılı dağıtım
Doğrulama
Dinamik oluşturmanın çalıştığını doğrulamak için Gateway günlüklerini kontrol edin:Notlar
- Çalışma alanı yalıtımı: Her kullanıcı kendi çalışma alanı dizinine ve agent örneğine sahip olur. Kullanıcılar normal mesajlaşma akışı içinde birbirlerinin konuşma geçmişini veya dosyalarını göremez.
- Güvenlik sınırı: Bu, düşmanca ortak kiracı güvenlik sınırı değil, bir mesajlaşma bağlamı yalıtım mekanizmasıdır. Agent işlemi ve ana makine ortamı paylaşılır.
- Yapılandırma yazmaları etkin kalmalıdır: Dinamik agent oluşturma, agent’ları ve bağlamaları yapılandırmaya yazar;
channels.feishu.configWrites,falseolduğunda atlanır (varsayılan: etkin). bindingsboş olmalıdır: Dinamik agent’lar kendi bağlamalarını otomatik olarak kaydeder- Yükseltme yolu: Mevcut manuel bağlamalar dinamik agent’larla birlikte çalışmaya devam eder
session.dmScopegeneldir: Bu, yalnızca Feishu’yu değil, tüm kanalları etkiler
Yapılandırma referansı
Tam yapılandırma: Gateway yapılandırmasıDesteklenen mesaj türleri
Alma
- ✅ Metin
- ✅ Zengin metin (gönderi)
- ✅ Görseller
- ✅ Dosyalar
- ✅ Ses
- ✅ Video/medya
- ✅ Çıkartmalar
file_key JSON yerine medya
yer tutucuları olarak normalleştirilir. tools.media.audio yapılandırıldığında OpenClaw,
sesli not kaynağını indirir ve agent işlem sırasından önce paylaşılan ses dökümünü
çalıştırır; böylece agent konuşmanın dökümünü alır. Feishu, ses yükünde doğrudan
döküm metni içeriyorsa bu metin başka bir ASR çağrısı yapılmadan kullanılır.
Bir ses dökümü sağlayıcısı olmadan da agent, ham Feishu kaynak yükü yerine
<media:audio> yer tutucusunu ve kaydedilen eki alır.
Gönderme
- ✅ Metin
- ✅ Görseller
- ✅ Dosyalar
- ✅ Ses
- ✅ Video/medya
- ✅ Etkileşimli kartlar (akış güncellemeleri dahil)
- ⚠️ Zengin metin (gönderi tarzı biçimlendirme; Feishu/Lark’ın tüm içerik oluşturma yeteneklerini desteklemez)
audio ileti türünü kullanır ve
Ogg/Opus yükleme ortamı (file_type: "opus") gerektirir. Mevcut .opus ve .ogg ortamı
doğrudan yerel ses olarak gönderilir. MP3/WAV/M4A ve diğer olası ses biçimleri,
yalnızca yanıt sesli teslim istediğinde (audioAsVoice / TTS sesli not
yanıtları dâhil ileti aracı asVoice) ffmpeg ile 48kHz Ogg/Opus biçimine
dönüştürülür. Sıradan MP3 ekleri normal dosyalar olarak kalır. ffmpeg eksikse veya
dönüştürme başarısız olursa OpenClaw bir dosya ekine geri döner ve nedenini günlüğe kaydeder.
Konular ve yanıtlar
- ✅ Satır içi yanıtlar
- ✅ Konu yanıtları
- ✅ Bir konu iletisi yanıtlanırken medya yanıtları konu bağlamını korur
İlgili
- Kanallara Genel Bakış - desteklenen tüm kanallar
- Eşleştirme - DM kimlik doğrulaması ve eşleştirme akışı
- Gruplar - grup sohbeti davranışı ve bahsetme kısıtlaması
- Kanal Yönlendirmesi - iletiler için oturum yönlendirmesi
- Güvenlik - erişim modeli ve güçlendirme