chore(i18n): refresh tr translations
This commit is contained in:
parent
40be5219f4
commit
d10f098d12
@ -5,302 +5,40 @@ read_when:
|
||||
summary: Feishu bot genel bakışı, özellikleri ve yapılandırması
|
||||
title: Feishu
|
||||
x-i18n:
|
||||
generated_at: "2026-04-05T13:43:48Z"
|
||||
generated_at: "2026-04-13T12:36:55Z"
|
||||
model: gpt-5.4
|
||||
provider: openai
|
||||
source_hash: 4e39b6dfe3a3aa4ebbdb992975e570e4f1b5e79f3b400a555fc373a0d1889952
|
||||
source_hash: 77fcf95a3fab534ed898bc157d76bf8bdfa8bf8a918d6af84c0db19890916c1a
|
||||
source_path: channels/feishu.md
|
||||
workflow: 15
|
||||
---
|
||||
|
||||
# Feishu botu
|
||||
# Feishu / Lark
|
||||
|
||||
Feishu (Lark), şirketlerin mesajlaşma ve iş birliği için kullandığı bir ekip sohbet platformudur. Bu plugin, platformun WebSocket olay aboneliğini kullanarak OpenClaw'ı bir Feishu/Lark botuna bağlar; böylece genel kullanıma açık bir webhook URL'si göstermeden mesajlar alınabilir.
|
||||
Feishu/Lark, ekiplerin sohbet ettiği, belgeleri paylaştığı, takvimleri yönettiği ve birlikte iş yaptığı hepsi bir arada bir iş birliği platformudur.
|
||||
|
||||
---
|
||||
|
||||
## Pakete dahil plugin
|
||||
|
||||
Feishu, mevcut OpenClaw sürümleriyle birlikte gelir; bu nedenle ayrı bir plugin kurulumu gerekmez.
|
||||
|
||||
Dahil edilmiş Feishu içermeyen eski bir sürüm veya özel bir kurulum kullanıyorsanız, manuel olarak yükleyin:
|
||||
|
||||
```bash
|
||||
openclaw plugins install @openclaw/feishu
|
||||
```
|
||||
**Durum:** bot DM'leri ve grup sohbetleri için üretime hazır. Varsayılan mod WebSocket'tir; webhook modu isteğe bağlıdır.
|
||||
|
||||
---
|
||||
|
||||
## Hızlı başlangıç
|
||||
|
||||
Feishu kanalını eklemenin iki yolu vardır:
|
||||
|
||||
### Yöntem 1: onboarding (önerilir)
|
||||
|
||||
OpenClaw'ı yeni yüklediyseniz onboarding çalıştırın:
|
||||
|
||||
```bash
|
||||
openclaw onboard
|
||||
```
|
||||
|
||||
Sihirbaz size şu konularda rehberlik eder:
|
||||
|
||||
1. Bir Feishu uygulaması oluşturma ve kimlik bilgilerini toplama
|
||||
2. Uygulama kimlik bilgilerini OpenClaw içinde yapılandırma
|
||||
3. Gateway'i başlatma
|
||||
|
||||
✅ **Yapılandırmadan sonra**, gateway durumunu kontrol edin:
|
||||
|
||||
- `openclaw gateway status`
|
||||
- `openclaw logs --follow`
|
||||
|
||||
### Yöntem 2: CLI kurulumu
|
||||
|
||||
İlk kurulumu zaten tamamladıysanız, kanalı CLI üzerinden ekleyin:
|
||||
|
||||
```bash
|
||||
openclaw channels add
|
||||
```
|
||||
|
||||
**Feishu** seçeneğini belirleyin, ardından App ID ve App Secret değerlerini girin.
|
||||
|
||||
✅ **Yapılandırmadan sonra**, gateway'i yönetin:
|
||||
|
||||
- `openclaw gateway status`
|
||||
- `openclaw gateway restart`
|
||||
- `openclaw logs --follow`
|
||||
|
||||
---
|
||||
|
||||
## 1. Adım: Bir Feishu uygulaması oluşturun
|
||||
|
||||
### 1. Feishu Open Platform'u açın
|
||||
|
||||
[Feishu Open Platform](https://open.feishu.cn/app) adresini ziyaret edin ve oturum açın.
|
||||
|
||||
Lark (global) tenant'ları [https://open.larksuite.com/app](https://open.larksuite.com/app) adresini kullanmalı ve Feishu config içinde `domain: "lark"` ayarlamalıdır.
|
||||
|
||||
### 2. Bir uygulama oluşturun
|
||||
|
||||
1. **Create enterprise app** öğesine tıklayın
|
||||
2. Uygulama adı + açıklamasını doldurun
|
||||
3. Bir uygulama simgesi seçin
|
||||
|
||||

|
||||
|
||||
### 3. Kimlik bilgilerini kopyalayın
|
||||
|
||||
**Credentials & Basic Info** bölümünden şunları kopyalayın:
|
||||
|
||||
- **App ID** (biçim: `cli_xxx`)
|
||||
- **App Secret**
|
||||
|
||||
❗ **Önemli:** App Secret değerini gizli tutun.
|
||||
|
||||

|
||||
|
||||
### 4. İzinleri yapılandırın
|
||||
|
||||
**Permissions** bölümünde **Batch import** seçeneğine tıklayın ve şunu yapıştırın:
|
||||
|
||||
```json
|
||||
{
|
||||
"scopes": {
|
||||
"tenant": [
|
||||
"aily:file:read",
|
||||
"aily:file:write",
|
||||
"application:application.app_message_stats.overview:readonly",
|
||||
"application:application:self_manage",
|
||||
"application:bot.menu:write",
|
||||
"cardkit:card:read",
|
||||
"cardkit:card: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** içinde:
|
||||
|
||||
1. Bot yeteneğini etkinleştirin
|
||||
2. Bot adını ayarlayın
|
||||
|
||||

|
||||
|
||||
### 6. Olay aboneliğini yapılandırın
|
||||
|
||||
⚠️ **Önemli:** olay aboneliğini ayarlamadan önce şunlardan emin olun:
|
||||
|
||||
1. Feishu için zaten `openclaw channels add` çalıştırdınız
|
||||
2. Gateway çalışıyor (`openclaw gateway status`)
|
||||
|
||||
**Event Subscription** içinde:
|
||||
|
||||
1. **Use long connection to receive events** (WebSocket) seçeneğini belirleyin
|
||||
2. Şu olayı ekleyin: `im.message.receive_v1`
|
||||
3. (İsteğe bağlı) Drive yorum iş akışları için şunu da ekleyin: `drive.notice.comment_add_v1`
|
||||
|
||||
⚠️ Gateway çalışmıyorsa, uzun bağlantı kurulumu kaydedilemeyebilir.
|
||||
|
||||

|
||||
|
||||
### 7. Uygulamayı yayımlayın
|
||||
|
||||
1. **Version Management & Release** içinde bir sürüm oluşturun
|
||||
2. İnceleme için gönderin ve yayımlayın
|
||||
3. Yönetici onayını bekleyin (kurumsal uygulamalar genellikle otomatik onaylanır)
|
||||
|
||||
---
|
||||
|
||||
## 2. Adım: OpenClaw'ı yapılandırın
|
||||
|
||||
### Sihirbaz ile yapılandırın (önerilir)
|
||||
|
||||
```bash
|
||||
openclaw channels add
|
||||
```
|
||||
|
||||
**Feishu** seçeneğini belirleyin ve App ID + App Secret değerlerinizi yapıştırın.
|
||||
|
||||
### Config dosyasıyla yapılandırın
|
||||
|
||||
`~/.openclaw/openclaw.json` dosyasını düzenleyin:
|
||||
|
||||
```json5
|
||||
{
|
||||
channels: {
|
||||
feishu: {
|
||||
enabled: true,
|
||||
dmPolicy: "pairing",
|
||||
accounts: {
|
||||
main: {
|
||||
appId: "cli_xxx",
|
||||
appSecret: "xxx",
|
||||
name: "My AI assistant",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
`connectionMode: "webhook"` kullanıyorsanız, hem `verificationToken` hem de `encryptKey` ayarlayın. Feishu webhook sunucusu varsayılan olarak `127.0.0.1` adresine bağlanır; farklı bir bağlama adresine özellikle ihtiyacınız varsa yalnızca o zaman `webhookHost` ayarlayın.
|
||||
|
||||
#### Verification Token ve Encrypt Key (webhook modu)
|
||||
|
||||
Webhook modu kullanırken, config dosyanızda hem `channels.feishu.verificationToken` hem de `channels.feishu.encryptKey` ayarlayın. Değerleri almak için:
|
||||
|
||||
1. Feishu Open Platform içinde uygulamanızı açın
|
||||
2. **Development** → **Events & Callbacks** bölümüne gidin (开发配置 → 事件与回调)
|
||||
3. **Encryption** sekmesini açın (加密策略)
|
||||
4. **Verification Token** ve **Encrypt Key** değerlerini kopyalayın
|
||||
|
||||
Aşağıdaki ekran görüntüsünde **Verification Token** konumunun nerede olduğu gösterilir. **Encrypt Key** aynı **Encryption** bölümünde listelenir.
|
||||
|
||||

|
||||
|
||||
### Ortam değişkenleriyle yapılandırın
|
||||
|
||||
```bash
|
||||
export FEISHU_APP_ID="cli_xxx"
|
||||
export FEISHU_APP_SECRET="xxx"
|
||||
```
|
||||
|
||||
### Lark (global) domain
|
||||
|
||||
Tenant'ınız Lark (uluslararası) üzerindeyse, domain'i `lark` olarak ayarlayın (veya tam bir domain dizesi kullanın). Bunu `channels.feishu.domain` içinde veya hesap bazında (`channels.feishu.accounts.<id>.domain`) ayarlayabilirsiniz.
|
||||
|
||||
```json5
|
||||
{
|
||||
channels: {
|
||||
feishu: {
|
||||
domain: "lark",
|
||||
accounts: {
|
||||
main: {
|
||||
appId: "cli_xxx",
|
||||
appSecret: "xxx",
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### Kota optimizasyon bayrakları
|
||||
|
||||
İki isteğe bağlı bayrak ile Feishu API kullanımını azaltabilirsiniz:
|
||||
|
||||
- `typingIndicator` (varsayılan `true`): `false` olduğunda yazıyor tepkisi çağrılarını atlar.
|
||||
- `resolveSenderNames` (varsayılan `true`): `false` olduğunda gönderen profil arama çağrılarını atlar.
|
||||
|
||||
Bunları üst düzeyde veya hesap bazında ayarlayın:
|
||||
|
||||
```json5
|
||||
{
|
||||
channels: {
|
||||
feishu: {
|
||||
typingIndicator: false,
|
||||
resolveSenderNames: false,
|
||||
accounts: {
|
||||
main: {
|
||||
appId: "cli_xxx",
|
||||
appSecret: "xxx",
|
||||
typingIndicator: true,
|
||||
resolveSenderNames: false,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Adım: Başlatın + test edin
|
||||
|
||||
### 1. Gateway'i başlatın
|
||||
|
||||
```bash
|
||||
openclaw gateway
|
||||
```
|
||||
|
||||
### 2. Bir test mesajı gönderin
|
||||
|
||||
Feishu içinde botunuzu bulun ve bir mesaj gönderin.
|
||||
|
||||
### 3. Eşleştirmeyi onaylayın
|
||||
|
||||
Varsayılan olarak bot bir eşleştirme koduyla yanıt verir. Bunu onaylayın:
|
||||
|
||||
```bash
|
||||
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 geri döner
|
||||
- **Oturum yalıtımı**: DM'ler bir ana oturumu paylaşır; gruplar yalıtılmıştır
|
||||
- **WebSocket bağlantısı**: Feishu SDK üzerinden uzun bağlantı, genel URL gerekmez
|
||||
> **OpenClaw 2026.4.10 veya üstünü gerektirir.** Kontrol etmek için `openclaw --version` çalıştırın. `openclaw update` ile yükseltin.
|
||||
|
||||
<Steps>
|
||||
<Step title="Kanal kurulum sihirbazını çalıştırın">
|
||||
```bash
|
||||
openclaw channels login --channel feishu
|
||||
```
|
||||
Otomatik olarak bir Feishu/Lark botu oluşturmak için QR kodunu Feishu/Lark mobil uygulamanızla tarayın.
|
||||
</Step>
|
||||
|
||||
<Step title="Kurulum tamamlandıktan sonra, değişiklikleri uygulamak için Gateway'i yeniden başlatın">
|
||||
```bash
|
||||
openclaw gateway restart
|
||||
```
|
||||
</Step>
|
||||
</Steps>
|
||||
|
||||
---
|
||||
|
||||
@ -308,38 +46,43 @@ Onaydan sonra normal şekilde sohbet edebilirsiniz.
|
||||
|
||||
### Doğrudan mesajlar
|
||||
|
||||
- **Varsayılan**: `dmPolicy: "pairing"` (bilinmeyen kullanıcılar eşleştirme kodu alır)
|
||||
- **Eşleştirmeyi onaylayın**:
|
||||
Bota kimlerin DM gönderebileceğini denetlemek için `dmPolicy` yapılandırın:
|
||||
|
||||
```bash
|
||||
openclaw pairing list feishu
|
||||
openclaw pairing approve feishu <CODE>
|
||||
```
|
||||
- `"pairing"` — bilinmeyen kullanıcılar bir eşleştirme kodu alır; CLI üzerinden onaylayın
|
||||
- `"allowlist"` — yalnızca `allowFrom` içinde listelenen kullanıcılar sohbet edebilir (varsayılan: yalnızca bot sahibi)
|
||||
- `"open"` — tüm kullanıcılara izin ver
|
||||
- `"disabled"` — tüm DM'leri devre dışı bırak
|
||||
|
||||
- **İzin listesi modu**: izin verilen Open ID'lerle `channels.feishu.allowFrom` ayarlayın
|
||||
**Bir eşleştirme isteğini onaylayın:**
|
||||
|
||||
```bash
|
||||
openclaw pairing list feishu
|
||||
openclaw pairing approve feishu <CODE>
|
||||
```
|
||||
|
||||
### Grup sohbetleri
|
||||
|
||||
**1. Grup ilkesi** (`channels.feishu.groupPolicy`):
|
||||
**Grup ilkesi** (`channels.feishu.groupPolicy`):
|
||||
|
||||
- `"open"` = gruplarda herkese izin ver
|
||||
- `"allowlist"` = yalnızca `groupAllowFrom` içindekilere izin ver
|
||||
- `"disabled"` = grup mesajlarını devre dışı bırak
|
||||
| Değer | Davranış |
|
||||
| ------------- | ------------------------------------------ |
|
||||
| `"open"` | Gruplardaki tüm mesajlara yanıt ver |
|
||||
| `"allowlist"` | Yalnızca `groupAllowFrom` içindeki gruplara yanıt ver |
|
||||
| `"disabled"` | Tüm grup mesajlarını devre dışı bırak |
|
||||
|
||||
Varsayılan: `allowlist`
|
||||
|
||||
**2. Mention gereksinimi** (`channels.feishu.requireMention`, `channels.feishu.groups.<chat_id>.requireMention` ile geçersiz kılınabilir):
|
||||
**Bahsetme gereksinimi** (`channels.feishu.requireMention`):
|
||||
|
||||
- açık `true` = @mention zorunlu
|
||||
- açık `false` = mention olmadan yanıt ver
|
||||
- ayarlanmamışsa ve `groupPolicy: "open"` ise = varsayılan `false`
|
||||
- ayarlanmamışsa ve `groupPolicy` `"open"` değilse = varsayılan `true`
|
||||
- `true` — @mention gerekli (varsayılan)
|
||||
- `false` — @mention olmadan yanıt ver
|
||||
- Grup başına geçersiz kılma: `channels.feishu.groups.<chat_id>.requireMention`
|
||||
|
||||
---
|
||||
|
||||
## Grup yapılandırma örnekleri
|
||||
|
||||
### Tüm gruplara izin ver, @mention gerekmesin (açık gruplar için varsayılan)
|
||||
### Tüm gruplara izin ver, @mention gerekmesin
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -351,7 +94,7 @@ Varsayılan: `allowlist`
|
||||
}
|
||||
```
|
||||
|
||||
### Tüm gruplara izin ver, ancak yine de @mention gerektir
|
||||
### Tüm gruplara izin ver, yine de @mention gereksin
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -371,16 +114,14 @@ Varsayılan: `allowlist`
|
||||
channels: {
|
||||
feishu: {
|
||||
groupPolicy: "allowlist",
|
||||
// Feishu grup kimlikleri (chat_id) şöyle görünür: oc_xxx
|
||||
// Grup kimlikleri şu biçimdedir: oc_xxx
|
||||
groupAllowFrom: ["oc_xxx", "oc_yyy"],
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### Bir grupta hangi göndericilerin mesaj gönderebileceğini kısıtlayın (gönderici izin listesi)
|
||||
|
||||
Grubun kendisine izin vermeye ek olarak, bu gruptaki **tüm mesajlar** gönderen `open_id` ile kapılanır: yalnızca `groups.<chat_id>.allowFrom` içinde listelenen kullanıcıların mesajları işlenir; diğer üyelerden gelen mesajlar yok sayılır (bu, yalnızca /reset veya /new gibi denetim komutları için değil, tam gönderici düzeyinde kapılamadır).
|
||||
### Bir grup içindeki gönderenleri kısıtla
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -390,7 +131,7 @@ Grubun kendisine izin vermeye ek olarak, bu gruptaki **tüm mesajlar** gönderen
|
||||
groupAllowFrom: ["oc_xxx"],
|
||||
groups: {
|
||||
oc_xxx: {
|
||||
// Feishu kullanıcı kimlikleri (open_id) şöyle görünür: ou_xxx
|
||||
// Kullanıcı open_id'leri şu biçimdedir: ou_xxx
|
||||
allowFrom: ["ou_user1", "ou_user2"],
|
||||
},
|
||||
},
|
||||
@ -401,35 +142,23 @@ Grubun kendisine izin vermeye ek olarak, bu gruptaki **tüm mesajlar** gönderen
|
||||
|
||||
---
|
||||
|
||||
<a id="get-groupuser-ids"></a>
|
||||
|
||||
## Grup/kullanıcı kimliklerini alın
|
||||
|
||||
### Grup kimlikleri (chat_id)
|
||||
### Grup kimlikleri (`chat_id`, biçim: `oc_xxx`)
|
||||
|
||||
Grup kimlikleri `oc_xxx` gibi görünür.
|
||||
Grubu Feishu/Lark içinde 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.
|
||||
|
||||
**Yöntem 1 (önerilir)**
|
||||

|
||||
|
||||
1. Gateway'i başlatın ve grupta botu @mention ile etiketleyin
|
||||
2. `openclaw logs --follow` çalıştırın ve `chat_id` değerini arayın
|
||||
### Kullanıcı kimlikleri (`open_id`, biçim: `ou_xxx`)
|
||||
|
||||
**Yöntem 2**
|
||||
Gateway'i başlatın, bota bir DM gönderin, ardından günlükleri kontrol edin:
|
||||
|
||||
Grup sohbetlerini listelemek için Feishu API hata ayıklayıcısını kullanın.
|
||||
```bash
|
||||
openclaw logs --follow
|
||||
```
|
||||
|
||||
### Kullanıcı kimlikleri (open_id)
|
||||
|
||||
Kullanıcı kimlikleri `ou_xxx` gibi görünür.
|
||||
|
||||
**Yöntem 1 (önerilir)**
|
||||
|
||||
1. Gateway'i başlatın ve bota DM gönderin
|
||||
2. `openclaw logs --follow` çalıştırın ve `open_id` değerini arayın
|
||||
|
||||
**Yöntem 2**
|
||||
|
||||
Kullanıcı Open ID'leri için eşleştirme isteklerini kontrol edin:
|
||||
Günlük çıktısında `open_id` değerini arayın. Bekleyen eşleştirme isteklerini de kontrol edebilirsiniz:
|
||||
|
||||
```bash
|
||||
openclaw pairing list feishu
|
||||
@ -439,23 +168,13 @@ openclaw pairing list feishu
|
||||
|
||||
## Yaygın komutlar
|
||||
|
||||
| Komut | Açıklama |
|
||||
| -------- | -------------------- |
|
||||
| `/status` | Bot durumunu göster |
|
||||
| `/reset` | Oturumu sıfırla |
|
||||
| `/model` | Modeli göster/değiştir |
|
||||
| Komut | Açıklama |
|
||||
| --------- | ---------------------------- |
|
||||
| `/status` | Bot durumunu göster |
|
||||
| `/reset` | Geçerli oturumu sıfırla |
|
||||
| `/model` | AI modelini göster veya değiştir |
|
||||
|
||||
> Not: Feishu henüz yerel komut menülerini desteklemez, bu nedenle komutlar metin olarak gönderilmelidir.
|
||||
|
||||
## Gateway yönetim komutları
|
||||
|
||||
| Komut | Açıklama |
|
||||
| -------------------------- | ---------------------------- |
|
||||
| `openclaw gateway status` | Gateway durumunu göster |
|
||||
| `openclaw gateway install` | Gateway hizmetini kur/başlat |
|
||||
| `openclaw gateway stop` | Gateway hizmetini durdur |
|
||||
| `openclaw gateway restart` | Gateway hizmetini yeniden başlat |
|
||||
| `openclaw logs --follow` | Gateway günlüklerini izle |
|
||||
> Feishu/Lark yerel slash-command menülerini desteklemez, bu nedenle bunları düz metin mesajları olarak gönderin.
|
||||
|
||||
---
|
||||
|
||||
@ -464,30 +183,24 @@ openclaw pairing list feishu
|
||||
### Bot grup sohbetlerinde yanıt vermiyor
|
||||
|
||||
1. Botun gruba eklendiğinden emin olun
|
||||
2. Botu @mention ile etiketlediğinizden emin olun (varsayılan davranış)
|
||||
3. `groupPolicy` değerinin `"disabled"` olarak ayarlanmadığını kontrol edin
|
||||
2. Bota @mention yaptığınızdan emin olun (varsayılan olarak gereklidir)
|
||||
3. `groupPolicy` değerinin `"disabled"` olmadığını doğrulayın
|
||||
4. Günlükleri kontrol edin: `openclaw logs --follow`
|
||||
|
||||
### Bot mesaj almıyor
|
||||
|
||||
1. Uygulamanın yayımlandığından ve onaylandığından emin olun
|
||||
1. Botun Feishu Open Platform / Lark Developer içinde yayımlandığından ve onaylandığından emin olun
|
||||
2. Olay aboneliğinin `im.message.receive_v1` içerdiğinden emin olun
|
||||
3. **Uzun bağlantının** etkin olduğundan emin olun
|
||||
4. Uygulama izinlerinin tam olduğundan emin olun
|
||||
3. **persistent connection** (WebSocket) seçildiğinden emin olun
|
||||
4. Gerekli tüm izin kapsamlarının verildiğinden emin olun
|
||||
5. Gateway'in çalıştığından emin olun: `openclaw gateway status`
|
||||
6. Günlükleri kontrol edin: `openclaw logs --follow`
|
||||
|
||||
### App Secret sızıntısı
|
||||
### App Secret sızdı
|
||||
|
||||
1. Feishu Open Platform içinde App Secret'ı sıfırlayın
|
||||
2. Config dosyanızdaki App Secret'ı güncelleyin
|
||||
3. Gateway'i yeniden başlatın
|
||||
|
||||
### Mesaj gönderme hataları
|
||||
|
||||
1. Uygulamanın `im:message:send_as_bot` iznine sahip olduğundan emin olun
|
||||
2. Uygulamanın yayımlandığından emin olun
|
||||
3. Ayrıntılı hatalar için günlükleri kontrol edin
|
||||
1. App Secret'i Feishu Open Platform / Lark Developer içinde sıfırlayın
|
||||
2. Yapılandırmanızdaki değeri güncelleyin
|
||||
3. Gateway'i yeniden başlatın: `openclaw gateway restart`
|
||||
|
||||
---
|
||||
|
||||
@ -504,12 +217,12 @@ openclaw pairing list feishu
|
||||
main: {
|
||||
appId: "cli_xxx",
|
||||
appSecret: "xxx",
|
||||
name: "Primary bot",
|
||||
name: "Birincil bot",
|
||||
},
|
||||
backup: {
|
||||
appId: "cli_yyy",
|
||||
appSecret: "yyy",
|
||||
name: "Backup bot",
|
||||
name: "Yedek bot",
|
||||
enabled: false,
|
||||
},
|
||||
},
|
||||
@ -518,42 +231,53 @@ openclaw pairing list feishu
|
||||
}
|
||||
```
|
||||
|
||||
`defaultAccount`, giden API'ler açıkça bir `accountId` belirtmediğinde hangi Feishu hesabının kullanılacağını kontrol eder.
|
||||
`defaultAccount`, giden API'ler `accountId` belirtmediğinde hangi hesabın kullanılacağını denetler.
|
||||
|
||||
### Mesaj sınırları
|
||||
|
||||
- `textChunkLimit`: giden metin parça boyutu (varsayılan: 2000 karakter)
|
||||
- `mediaMaxMb`: medya yükleme/indirme sınırı (varsayılan: 30MB)
|
||||
- `textChunkLimit` — giden metin parça boyutu (varsayılan: `2000` karakter)
|
||||
- `mediaMaxMb` — medya yükleme/indirme sınırı (varsayılan: `30` MB)
|
||||
|
||||
### Streaming
|
||||
### Akış
|
||||
|
||||
Feishu, etkileşimli kartlar aracılığıyla streaming yanıtları destekler. Etkinleştirildiğinde bot, metin üretirken kartı günceller.
|
||||
Feishu/Lark, etkileşimli kartlar aracılığıyla akış yanıtlarını destekler. Etkinleştirildiğinde bot, metin üretirken kartı gerçek zamanlı olarak günceller.
|
||||
|
||||
```json5
|
||||
{
|
||||
channels: {
|
||||
feishu: {
|
||||
streaming: true, // kart üzerinden streaming çıktıyı etkinleştirir (varsayılan true)
|
||||
blockStreaming: true, // blok düzeyinde streaming'i etkinleştirir (varsayılan true)
|
||||
streaming: true, // akış kartı çıktısını etkinleştir (varsayılan: true)
|
||||
blockStreaming: true, // blok düzeyinde akışı etkinleştir (varsayılan: true)
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
Göndermeden önce tam yanıtı beklemek için `streaming: false` ayarlayın.
|
||||
Tam yanıtı tek bir mesaj olarak göndermek için `streaming: false` ayarlayın.
|
||||
|
||||
### Kota optimizasyonu
|
||||
|
||||
İki isteğe bağlı bayrakla Feishu/Lark API çağrılarının sayısını azaltın:
|
||||
|
||||
- `typingIndicator` (varsayılan `true`): yazma tepkisi çağrılarını atlamak için `false` ayarlayın
|
||||
- `resolveSenderNames` (varsayılan `true`): gönderen profil aramalarını atlamak için `false` ayarlayın
|
||||
|
||||
```json5
|
||||
{
|
||||
channels: {
|
||||
feishu: {
|
||||
typingIndicator: false,
|
||||
resolveSenderNames: false,
|
||||
},
|
||||
},
|
||||
}
|
||||
```
|
||||
|
||||
### ACP oturumları
|
||||
|
||||
Feishu, şu durumlar için ACP destekler:
|
||||
Feishu/Lark, DM'ler ve grup konu başlığı mesajları için ACP'yi destekler. Feishu/Lark ACP, metin komutlarıyla çalışır — yerel slash-command menüleri yoktur, bu nedenle doğrudan konuşma içinde `/acp ...` mesajlarını kullanın.
|
||||
|
||||
- DM'ler
|
||||
- grup konu konuşmaları
|
||||
|
||||
Feishu ACP metin komutlarıyla çalışır. Yerel slash komut menüleri yoktur, bu nedenle `/acp ...` mesajlarını doğrudan konuşma içinde kullanın.
|
||||
|
||||
#### Kalıcı ACP bağlamaları
|
||||
|
||||
Bir Feishu DM'ini veya konu konuşmasını kalıcı bir ACP oturumuna sabitlemek için üst düzey typed ACP bağlamalarını kullanın.
|
||||
#### Kalıcı ACP bağlama
|
||||
|
||||
```json5
|
||||
{
|
||||
@ -597,58 +321,39 @@ Bir Feishu DM'ini veya konu konuşmasını kalıcı bir ACP oturumuna sabitlemek
|
||||
}
|
||||
```
|
||||
|
||||
#### Sohbetten iş parçacığına bağlı ACP başlatma
|
||||
#### Sohbetten ACP başlatma
|
||||
|
||||
Bir Feishu DM'inde veya konu konuşmasında ACP oturumunu yerinde başlatıp bağlayabilirsiniz:
|
||||
Bir Feishu/Lark DM'inde veya konu başlığında:
|
||||
|
||||
```text
|
||||
/acp spawn codex --thread here
|
||||
```
|
||||
|
||||
Notlar:
|
||||
`--thread here`, DM'lerde ve Feishu/Lark konu başlığı mesajlarında çalışır. Bağlı konuşmadaki takip mesajları doğrudan o ACP oturumuna yönlendirilir.
|
||||
|
||||
- `--thread here`, DM'ler ve Feishu konuları için çalışır.
|
||||
- Bağlı DM/konudaki takip mesajları doğrudan o ACP oturumuna yönlendirilir.
|
||||
- v1, genel konu dışı grup sohbetlerini hedeflemez.
|
||||
### Çoklu aracı yönlendirme
|
||||
|
||||
### Çoklu ajan yönlendirme
|
||||
|
||||
Feishu DM'lerini veya gruplarını farklı ajanlara yönlendirmek için `bindings` kullanın.
|
||||
Feishu/Lark DM'lerini veya gruplarını farklı aracılara yönlendirmek için `bindings` kullanın.
|
||||
|
||||
```json5
|
||||
{
|
||||
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",
|
||||
},
|
||||
{ id: "agent-a", workspace: "/home/user/agent-a" },
|
||||
{ id: "agent-b", workspace: "/home/user/agent-b" },
|
||||
],
|
||||
},
|
||||
bindings: [
|
||||
{
|
||||
agentId: "main",
|
||||
agentId: "agent-a",
|
||||
match: {
|
||||
channel: "feishu",
|
||||
peer: { kind: "direct", id: "ou_xxx" },
|
||||
},
|
||||
},
|
||||
{
|
||||
agentId: "clawd-fan",
|
||||
match: {
|
||||
channel: "feishu",
|
||||
peer: { kind: "direct", id: "ou_yyy" },
|
||||
},
|
||||
},
|
||||
{
|
||||
agentId: "clawd-xi",
|
||||
agentId: "agent-b",
|
||||
match: {
|
||||
channel: "feishu",
|
||||
peer: { kind: "group", id: "oc_zzz" },
|
||||
@ -661,55 +366,44 @@ Feishu DM'lerini veya gruplarını farklı ajanlara yönlendirmek için `binding
|
||||
Yönlendirme alanları:
|
||||
|
||||
- `match.channel`: `"feishu"`
|
||||
- `match.peer.kind`: `"direct"` veya `"group"`
|
||||
- `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`)
|
||||
|
||||
Arama ipuçları için [Grup/kullanıcı kimliklerini alın](#get-groupuser-ids) bölümüne bakın.
|
||||
Arama ipuçları için [Grup/kullanıcı kimliklerini alın](#grupkullanıcı-kimliklerini-alın) bölümüne bakın.
|
||||
|
||||
---
|
||||
|
||||
## Yapılandırma başvurusu
|
||||
|
||||
Tam yapılandırma: [Gateway yapılandırması](/gateway/configuration)
|
||||
Tam yapılandırma: [Gateway configuration](/tr/gateway/configuration)
|
||||
|
||||
Temel seçenekler:
|
||||
|
||||
| Ayar | Açıklama | Varsayılan |
|
||||
| ------------------------------------------------- | ------------------------------------- | ---------------- |
|
||||
| `channels.feishu.enabled` | Kanalı etkinleştir/devre dışı bırak | `true` |
|
||||
| `channels.feishu.domain` | API domain'i (`feishu` veya `lark`) | `feishu` |
|
||||
| `channels.feishu.connectionMode` | Olay taşıma modu | `websocket` |
|
||||
| `channels.feishu.defaultAccount` | Giden yönlendirme için varsayılan hesap kimliği | `default` |
|
||||
| `channels.feishu.verificationToken` | Webhook modu için gereklidir | - |
|
||||
| `channels.feishu.encryptKey` | Webhook modu için gereklidir | - |
|
||||
| `channels.feishu.webhookPath` | Webhook rota yolu | `/feishu/events` |
|
||||
| `channels.feishu.webhookHost` | Webhook bind host | `127.0.0.1` |
|
||||
| `channels.feishu.webhookPort` | Webhook bind port | `3000` |
|
||||
| `channels.feishu.accounts.<id>.appId` | App ID | - |
|
||||
| `channels.feishu.accounts.<id>.appSecret` | App Secret | - |
|
||||
| `channels.feishu.accounts.<id>.domain` | Hesap bazında API domain geçersiz kılması | `feishu` |
|
||||
| `channels.feishu.dmPolicy` | DM ilkesi | `pairing` |
|
||||
| `channels.feishu.allowFrom` | DM izin listesi (`open_id` listesi) | - |
|
||||
| `channels.feishu.groupPolicy` | Grup ilkesi | `allowlist` |
|
||||
| `channels.feishu.groupAllowFrom` | Grup izin listesi | - |
|
||||
| `channels.feishu.requireMention` | Varsayılan @mention gereksinimi | koşullu |
|
||||
| `channels.feishu.groups.<chat_id>.requireMention` | Grup bazında @mention geçersiz kılması | devralınır |
|
||||
| `channels.feishu.groups.<chat_id>.enabled` | Grubu etkinleştir | `true` |
|
||||
| `channels.feishu.textChunkLimit` | Mesaj parça boyutu | `2000` |
|
||||
| `channels.feishu.mediaMaxMb` | Medya boyutu sınırı | `30` |
|
||||
| `channels.feishu.streaming` | Streaming kart çıktısını etkinleştir | `true` |
|
||||
| `channels.feishu.blockStreaming` | Blok streaming'i etkinleştir | `true` |
|
||||
|
||||
---
|
||||
|
||||
## dmPolicy başvurusu
|
||||
|
||||
| Değer | Davranış |
|
||||
| ------------- | ------------------------------------------------------------- |
|
||||
| `"pairing"` | **Varsayılan.** Bilinmeyen kullanıcılar eşleştirme kodu alır; onaylanmaları gerekir |
|
||||
| `"allowlist"` | Yalnızca `allowFrom` içindeki kullanıcılar sohbet edebilir |
|
||||
| `"open"` | Tüm kullanıcılara izin ver (`allowFrom` içinde `"*"` gerekir) |
|
||||
| `"disabled"` | DM'leri devre dışı bırak |
|
||||
| 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.connectionMode` | Olay taşıma yöntemi (`websocket` veya `webhook`) | `websocket` |
|
||||
| `channels.feishu.defaultAccount` | Giden yönlendirme için varsayılan hesap | `default` |
|
||||
| `channels.feishu.verificationToken` | Webhook modu için gereklidir | — |
|
||||
| `channels.feishu.encryptKey` | Webhook modu için gereklidir | — |
|
||||
| `channels.feishu.webhookPath` | Webhook rota yolu | `/feishu/events` |
|
||||
| `channels.feishu.webhookHost` | Webhook bağlama ana bilgisayarı | `127.0.0.1` |
|
||||
| `channels.feishu.webhookPort` | Webhook bağlama bağlantı noktası | `3000` |
|
||||
| `channels.feishu.accounts.<id>.appId` | App ID | — |
|
||||
| `channels.feishu.accounts.<id>.appSecret` | App Secret | — |
|
||||
| `channels.feishu.accounts.<id>.domain` | Hesap başına alan adı geçersiz kılması | `feishu` |
|
||||
| `channels.feishu.dmPolicy` | DM ilkesi | `allowlist` |
|
||||
| `channels.feishu.allowFrom` | DM izin listesi (`open_id` listesi) | [BotOwnerId] |
|
||||
| `channels.feishu.groupPolicy` | Grup ilkesi | `allowlist` |
|
||||
| `channels.feishu.groupAllowFrom` | Grup izin listesi | — |
|
||||
| `channels.feishu.requireMention` | Gruplarda @mention gerektir | `true` |
|
||||
| `channels.feishu.groups.<chat_id>.requireMention` | Grup başına @mention geçersiz kılması | inherited |
|
||||
| `channels.feishu.groups.<chat_id>.enabled` | Belirli bir grubu etkinleştir/devre dışı bırak | `true` |
|
||||
| `channels.feishu.textChunkLimit` | Mesaj parça boyutu | `2000` |
|
||||
| `channels.feishu.mediaMaxMb` | Medya boyut sınırı | `30` |
|
||||
| `channels.feishu.streaming` | Akış kartı çıktısı | `true` |
|
||||
| `channels.feishu.blockStreaming` | Blok düzeyinde akış | `true` |
|
||||
| `channels.feishu.typingIndicator` | Yazma tepkileri gönder | `true` |
|
||||
| `channels.feishu.resolveSenderNames` | Gönderen görünen adlarını çözümle | `true` |
|
||||
|
||||
---
|
||||
|
||||
@ -723,7 +417,7 @@ Temel seçenekler:
|
||||
- ✅ Dosyalar
|
||||
- ✅ Ses
|
||||
- ✅ Video/medya
|
||||
- ✅ Sticker'lar
|
||||
- ✅ Çıkartmalar
|
||||
|
||||
### Gönderme
|
||||
|
||||
@ -732,63 +426,21 @@ Temel seçenekler:
|
||||
- ✅ Dosyalar
|
||||
- ✅ Ses
|
||||
- ✅ Video/medya
|
||||
- ✅ Etkileşimli kartlar
|
||||
- ⚠️ Zengin metin (post tarzı biçimlendirme ve kartlar, ancak rastgele Feishu yazım özellikleri değil)
|
||||
- ✅ Etkileşimli kartlar (akış güncellemeleri dahil)
|
||||
- ⚠️ Zengin metin (post tarzı biçimlendirme; Feishu/Lark'ın tüm yazma özelliklerini desteklemez)
|
||||
|
||||
### İş parçacıkları ve yanıtlar
|
||||
### Konu başlıkları ve yanıtlar
|
||||
|
||||
- ✅ Satır içi yanıtlar
|
||||
- ✅ Feishu'nun `reply_in_thread` sunduğu konu iş parçacığı yanıtları
|
||||
- ✅ Medya yanıtları, bir iş parçacığına/konu mesajına yanıt verirken iş parçacığı farkındalığını korur
|
||||
- ✅ Konu başlığı yanıtları
|
||||
- ✅ Medya yanıtları, bir konu başlığı mesajına yanıt verirken konu başlığı farkındalığını korur
|
||||
|
||||
## Drive yorumları
|
||||
|
||||
Feishu, biri bir Feishu Drive belgesine (Docs, Sheets vb.) yorum eklediğinde ajanı tetikleyebilir. Ajan; iş parçacığı içinde yanıt verebilmesi veya belge düzenlemeleri yapabilmesi için yorum metnini, belge bağlamını ve yorum iş parçacığını alır.
|
||||
|
||||
Gereksinimler:
|
||||
|
||||
- Feishu uygulamanızın olay aboneliği ayarlarında `drive.notice.comment_add_v1` olayına abone olun
|
||||
(`im.message.receive_v1` ile birlikte)
|
||||
- Drive aracı varsayılan olarak etkindir; devre dışı bırakmak için `channels.feishu.tools.drive: false` kullanın
|
||||
|
||||
`feishu_drive` aracı şu yorum eylemlerini sunar:
|
||||
|
||||
| Eylem | Açıklama |
|
||||
| --------------------- | ---------------------------------- |
|
||||
| `list_comments` | Bir belge üzerindeki yorumları listele |
|
||||
| `list_comment_replies` | Bir yorum iş parçacığındaki yanıtları listele |
|
||||
| `add_comment` | Yeni bir üst düzey yorum ekle |
|
||||
| `reply_comment` | Var olan bir yorum iş parçacığına yanıt ver |
|
||||
|
||||
Ajan bir Drive yorum olayını işlediğinde şunları alır:
|
||||
|
||||
- yorum metni ve gönderen
|
||||
- belge meta verileri (başlık, tür, URL)
|
||||
- iş parçacığı içi yanıtlar için yorum iş parçacığı bağlamı
|
||||
|
||||
Belge düzenlemeleri yaptıktan sonra, ajana yorum sahibini bilgilendirmek için `feishu_drive.reply_comment` kullanması ve ardından yinelenen gönderimleri önlemek için tam sessiz belirteç `NO_REPLY` / `no_reply` çıktısını vermesi yönlendirilir.
|
||||
|
||||
## Çalışma zamanı eylem yüzeyi
|
||||
|
||||
Feishu şu anda şu çalışma zamanı eylemlerini sunar:
|
||||
|
||||
- `send`
|
||||
- `read`
|
||||
- `edit`
|
||||
- `thread-reply`
|
||||
- `pin`
|
||||
- `list-pins`
|
||||
- `unpin`
|
||||
- `member-info`
|
||||
- `channel-info`
|
||||
- `channel-list`
|
||||
- tepkiler config içinde etkinleştirildiğinde `react` ve `reactions`
|
||||
- `feishu_drive` yorum eylemleri: `list_comments`, `list_comment_replies`, `add_comment`, `reply_comment`
|
||||
---
|
||||
|
||||
## İlgili
|
||||
|
||||
- [Kanal Genel Bakışı](/channels) — desteklenen tüm kanallar
|
||||
- [Eşleştirme](/channels/pairing) — DM kimlik doğrulaması ve eşleştirme akışı
|
||||
- [Gruplar](/channels/groups) — grup sohbeti davranışı ve mention kapılaması
|
||||
- [Kanal Yönlendirme](/channels/channel-routing) — mesajlar için oturum yönlendirmesi
|
||||
- [Güvenlik](/gateway/security) — erişim modeli ve sağlamlaştırma
|
||||
- [Kanallara Genel Bakış](/tr/channels) — desteklenen tüm kanallar
|
||||
- [Eşleştirme](/tr/channels/pairing) — DM kimlik doğrulaması ve eşleştirme akışı
|
||||
- [Gruplar](/tr/channels/groups) — grup sohbeti davranışı ve bahsetme denetimi
|
||||
- [Kanal Yönlendirme](/tr/channels/channel-routing) — mesajlar için oturum yönlendirmesi
|
||||
- [Güvenlik](/tr/gateway/security) — erişim modeli ve sağlamlaştırma
|
||||
|
||||
Loading…
Reference in New Issue
Block a user