Feishu botu¶
Feishu (Lark), şirketler tarafından mesajlaşma ve iş birliği için kullanılan bir ekip sohbet platformudur. Bu eklenti, OpenClaw’u platformun WebSocket olay aboneliğini kullanarak bir Feishu/Lark botuna bağlar; böylece herkese açık bir webhook URL’si açmadan mesajlar alınabilir.
Gerekli eklenti¶
Feishu eklentisini yükleyin:
openclaw plugins install @openclaw/feishu
Yerel checkout (bir git deposundan çalıştırırken):
openclaw plugins install ./extensions/feishu
Hızlı Başlangıç¶
Feishu kanalını eklemenin iki yolu vardır:
Yöntem 1: onboarding sihirbazı (önerilen)¶
OpenClaw’u yeni kurduysanız sihirbazı çalıştırın:
openclaw onboard
Sihirbaz sizi şu adımlarda yönlendirir:
- Bir Feishu uygulaması oluşturma ve kimlik bilgilerini toplama
- Uygulama kimlik bilgilerini OpenClaw’da yapılandırma
- Gateway’i başlatma
✅ Yapılandırmadan sonra, gateway durumunu kontrol edin:
openclaw gateway statusopenclaw logs --follow
Yöntem 2: CLI ile kurulum¶
İlk kurulumu zaten tamamladıysanız, kanalı CLI üzerinden ekleyin:
openclaw channels add
Feishu’yu seçin, ardından App ID ve App Secret’ı girin.
✅ Yapılandırmadan sonra, gateway’i yönetin:
openclaw gateway statusopenclaw gateway restartopenclaw logs --follow
Adım 1: Bir Feishu uygulaması oluşturun¶
1. Feishu Open Platform’u açın¶
Feishu Open Platform adresini ziyaret edin ve oturum açın.
Lark (küresel) kiracıları https://open.larksuite.com/app adresini kullanmalı ve Feishu yapılandırmasında domain: "lark" ayarını yapmalıdır.
2. Bir uygulama oluşturun¶
- Create enterprise app’e tıklayın
- Uygulama adı ve açıklamasını doldurun
- Bir uygulama simgesi seçin

3. Kimlik bilgilerini kopyalayın¶
Credentials & Basic Info bölümünden şunları kopyalayın:
- Uygulama Kimliği (biçim:
cli_xxx) - Uygulama Gizli Anahtarı
❗ Önemli: App Secret’ı gizli tutun.

4. İzinleri yapılandırın¶
Permissions bölümünde Batch import’a tıklayın ve şunu yapıştırın:
{
"scopes": {
"tenant": [
"aily:file:read",
"aily:file:write",
"application:application.app_message_stats.overview:readonly",
"application:application:self_manage",
"application:bot.menu:write",
"contact:user.employee_id:readonly",
"corehr:file:download",
"event:ip_list",
"im:chat.access_event.bot_p2p_chat:read",
"im:chat.members:bot_access",
"im:message",
"im:message.group_at_msg:readonly",
"im:message.p2p_msg:readonly",
"im:message:readonly",
"im:message:send_as_bot",
"im:resource"
],
"user": ["aily:file:read", "aily:file:write", "im:chat.access_event.bot_p2p_chat:read"]
}
}

5. Bot yeteneğini etkinleştirin¶
App Capability > Bot bölümünde:
- Bot yeteneğini etkinleştirin
- Bot adını ayarlayın

6. Olay aboneliğini yapılandırın¶
⚠️ Önemli: olay aboneliğini ayarlamadan önce şunlardan emin olun:
- Feishu için
openclaw channels addkomutunu zaten çalıştırdınız - Gateway çalışıyor (
openclaw gateway status)
Event Subscription bölümünde:
- Use long connection to receive events (WebSocket) seçeneğini seçin
- Şu olayı ekleyin:
im.message.receive_v1
⚠️ Gateway çalışmıyorsa, uzun bağlantı ayarları kaydedilemeyebilir.

7. Uygulamayı yayınlayın¶
- Version Management & Release bölümünde bir sürüm oluşturun
- İncelemeye gönderin ve yayınlayın
- Yönetici onayını bekleyin (kurumsal uygulamalar genellikle otomatik onaylanır)
Adım 2: OpenClaw’u yapılandırın¶
Sihirbaz ile yapılandırma (önerilen)¶
openclaw channels add
Feishu’yu seçin ve App ID ile App Secret’ı yapıştırın.
Yapılandırma dosyası ile yapılandırma¶
~/.openclaw/openclaw.json dosyasını düzenleyin:
{
channels: {
feishu: {
enabled: true,
dmPolicy: "pairing",
accounts: {
main: {
appId: "cli_xxx",
appSecret: "xxx",
botName: "My AI assistant",
},
},
},
},
}
Ortam değişkenleri aracılığıyla yapılandırma¶
export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"
Lark (küresel) alan adı¶
Kiracınız Lark (uluslararası) üzerindeyse alan adını lark (veya tam bir alan adı dizesi) olarak ayarlayın. Bunu channels.feishu.domain konumunda ya da hesap bazında (channels.feishu.accounts.<id>.domain) ayarlayabilirsiniz.
{
channels: {
feishu: {
domain: "lark",
accounts: {
main: {
appId: "cli_xxx",
appSecret: "xxx",
},
},
},
},
}
Adım 3: Başlatma + test¶
1. Gateway’i başlatın¶
openclaw gateway
2. Test mesajı gönderin¶
Feishu’da botunuzu bulun ve bir mesaj gönderin.
3. Eşleştirmeyi onaylayın¶
Varsayılan olarak bot bir eşleştirme kodu ile yanıt verir. Onaylayın:
openclaw pairing approve feishu <CODE>
Onaydan sonra normal şekilde sohbet edebilirsiniz.
Genel bakış¶
- Feishu bot kanalı: Gateway tarafından yönetilen Feishu botu
- Deterministik yönlendirme: yanıtlar her zaman Feishu’ya döner
- Oturum yalıtımı: DM’ler ana bir oturumu paylaşır; gruplar yalıtılmıştır
- WebSocket bağlantısı: Feishu SDK üzerinden uzun bağlantı, herkese açık URL gerekmez
Erişim denetimi¶
Doğrudan mesajlar¶
-
Varsayılan:
dmPolicy: "pairing"(bilinmeyen kullanıcılar eşleştirme kodu alır) -
Eşleştirmeyi onayla:
bash
openclaw pairing list feishu
openclaw pairing approve feishu <CODE>
- İzin listesi modu: izin verilen Open ID’lerle
channels.feishu.allowFromayarlayın
Grup sohbetleri¶
1. Grup politikası (channels.feishu.groupPolicy):
"open"= gruplarda herkese izin ver (varsayılan)"allowlist"= yalnızcagroupAllowFrom’e izin ver"disabled"= grup mesajlarını devre dışı bırak
2. Bahsetme gereksinimi (channels.feishu.groups.<chat_id>.requireMention):
true= @bahsetme zorunlu (varsayılan)false= bahsetme olmadan yanıtla
Grup yapılandırma örnekleri¶
Tüm gruplara izin ver, @bahsetme zorunlu (varsayılan)¶
{
channels: {
feishu: {
groupPolicy: "open",
// Default requireMention: true
},
},
}
Tüm gruplara izin ver, @bahsetme gerekmez¶
{
channels: {
feishu: {
groups: {
oc_xxx: { requireMention: false },
},
},
},
}
Yalnızca gruplarda belirli kullanıcılara izin ver¶
{
channels: {
feishu: {
groupPolicy: "allowlist",
groupAllowFrom: ["ou_xxx", "ou_yyy"],
},
},
}
Grup/kullanıcı ID’lerini alma¶
Grup ID’leri (chat_id)¶
Grup ID’leri oc_xxx biçimindedir.
Yöntem 1 (önerilen)
- Gateway’i başlatın ve grupta botu @bahsedin
openclaw logs --followkomutunu çalıştırın vechat_iddeğerini bulun
Yöntem 2
Feishu API hata ayıklayıcısını kullanarak grup sohbetlerini listeleyin.
Kullanıcı ID’leri (open_id)¶
Kullanıcı ID’leri ou_xxx biçimindedir.
Yöntem 1 (önerilen)
- Gateway’i başlatın ve bota DM gönderin
openclaw logs --followkomutunu çalıştırın veopen_iddeğerini bulun
Yöntem 2
Eşleştirme isteklerinden kullanıcı Open ID’lerini kontrol edin:
openclaw pairing list feishu
Yaygın komutlar¶
| Command | Açıklama |
|---|---|
/status |
Bot durumunu göster |
/reset |
Reset the session |
/model |
Modeli göster/değiştir |
Not: Feishu henüz yerel komut menülerini desteklemediğinden, komutlar metin olarak gönderilmelidir.
Gateway yönetim komutları¶
| Command | Açıklama |
|---|---|
openclaw gateway status |
Gateway durumunu göster |
openclaw gateway install |
Gateway servisini yükle/başlat |
openclaw gateway stop |
Gateway servisini durdur |
openclaw gateway restart |
Gateway servisini yeniden başlat |
openclaw logs --follow |
Tail gateway logs |
Sorun Giderme¶
Bot grup sohbetlerinde yanıt vermiyor¶
- Botun gruba eklendiğinden emin olun
- Botu @bahsettiğinizden emin olun (varsayılan davranış)
groupPolicy’nin"disabled"olarak ayarlanmadığını kontrol edin- Günlükleri kontrol edin:
openclaw logs --follow
Bot mesaj almıyor¶
- Uygulamanın yayınlandığından ve onaylandığından emin olun
- Olay aboneliğinin
im.message.receive_v1içerdiğinden emin olun - Uzun bağlantının etkin olduğundan emin olun
- Uygulama izinlerinin eksiksiz olduğundan emin olun
- Gateway’in çalıştığından emin olun:
openclaw gateway status - Günlükleri kontrol edin:
openclaw logs --follow
App Secret sızıntısı¶
- Feishu Open Platform’da App Secret’ı sıfırlayın
- Yapılandırmanızdaki App Secret’ı güncelleyin
- Gateway’i yeniden başlatın
Mesaj gönderme hataları¶
- Uygulamanın
im:message:send_as_botiznine sahip olduğundan emin olun - Uygulamanın yayınlandığından emin olun
- Ayrıntılı hatalar için günlükleri kontrol edin
Gelişmiş yapılandırma¶
Birden fazla hesap¶
{
channels: {
feishu: {
accounts: {
main: {
appId: "cli_xxx",
appSecret: "xxx",
botName: "Primary bot",
},
backup: {
appId: "cli_yyy",
appSecret: "yyy",
botName: "Backup bot",
enabled: false,
},
},
},
},
}
Mesaj limitleri¶
textChunkLimit: giden metin parça boyutu (varsayılan: 2000 karakter)mediaMaxMb: medya yükleme/indirme limiti (varsayılan: 30MB)
Akış (Streaming)¶
Feishu, etkileşimli kartlar üzerinden akış yanıtlarını destekler. Etkinleştirildiğinde bot, metin üretirken bir kartı günceller.
{
channels: {
feishu: {
streaming: true, // enable streaming card output (default true)
blockStreaming: true, // enable block-level streaming (default true)
},
},
}
Tam yanıt gönderilmeden önce beklemek için streaming: false ayarını yapın.
Multi-agent routing¶
Feishu DM’lerini veya gruplarını farklı ajanlara yönlendirmek için bindings kullanın.
{
agents: {
list: [
{ id: "main" },
{
id: "clawd-fan",
workspace: "/home/user/clawd-fan",
agentDir: "/home/user/.openclaw/agents/clawd-fan/agent",
},
{
id: "clawd-xi",
workspace: "/home/user/clawd-xi",
agentDir: "/home/user/.openclaw/agents/clawd-xi/agent",
},
],
},
bindings: [
{
agentId: "main",
match: {
channel: "feishu",
peer: { kind: "direct", id: "ou_xxx" },
},
},
{
agentId: "clawd-fan",
match: {
channel: "feishu",
peer: { kind: "direct", id: "ou_yyy" },
},
},
{
agentId: "clawd-xi",
match: {
channel: "feishu",
peer: { kind: "group", id: "oc_zzz" },
},
},
],
}
Yönlendirme alanları:
match.channel:"feishu"match.peer.kind:"direct"veya"group"match.peer.id: kullanıcı Open ID’si (ou_xxx) veya grup ID’si (oc_xxx)
Arama ipuçları için Grup/kullanıcı ID’lerini alma bölümüne bakın.
Yapılandırma başvurusu¶
Tüm yapılandırma: Gateway yapılandırması
Temel seçenekler:
| Ayar | Açıklama | Varsayılan |
|---|---|---|
channels.feishu.enabled |
Kanalı etkinleştir/devre dışı bırak | true |
channels.feishu.domain |
API alan adı (feishu veya lark) |
feishu |
channels.feishu.accounts.<id>.appId |
App ID | - |
channels.feishu.accounts.<id>.appSecret |
App Secret | - |
channels.feishu.accounts.<id>.domain |
Per-account API domain override | feishu |
channels.feishu.dmPolicy |
DM politikası | pairing |
channels.feishu.allowFrom |
DM izin listesi (open_id listesi) | - |
channels.feishu.groupPolicy |
Grup politikası | open |
channels.feishu.groupAllowFrom |
Grup izin listesi | - |
channels.feishu.groups.<chat_id>.requireMention |
@bahsetme zorunlu | true |
channels.feishu.groups.<chat_id>.enabled |
Grubu etkinleştir | true |
channels.feishu.textChunkLimit |
Mesaj parça boyutu | 2000 |
channels.feishu.mediaMaxMb |
Medya boyut limiti | 30 |
channels.feishu.streaming |
Akış kartı çıktısını etkinleştir | true |
channels.feishu.blockStreaming |
Blok halinde akışı etkinleştir | true |
dmPolicy başvurusu¶
| Değer | Davranış |
|---|---|
"pairing" |
Varsayılan. Bilinmeyen kullanıcılar eşleştirme kodu alır; onaylanmalıdır |
"allowlist" |
Yalnızca allowFrom içindeki kullanıcılar sohbet edebilir |
"open" |
Tüm kullanıcılara izin ver (allowFrom içinde "*" gerektirir) |
"disabled" |
DM’leri devre dışı bırak |
Desteklenen mesaj türleri¶
Receive¶
- ✅ Metin
- ✅ Zengin metin (post)
- ✅ Görseller
- ✅ Dosyalar
- ✅ Ses
- ✅ Video
- ✅ Çıkartmalar
Gönderme¶
- ✅ Metin
- ✅ Görseller
- ✅ Dosyalar
- ✅ Ses
- ⚠️ Zengin metin (kısmi destek)