diff --git a/docs/tr/channels/bluebubbles.md b/docs/tr/channels/bluebubbles.md
index c9672de6b..588c49c99 100644
--- a/docs/tr/channels/bluebubbles.md
+++ b/docs/tr/channels/bluebubbles.md
@@ -1,48 +1,48 @@
---
read_when:
- BlueBubbles kanalını ayarlama
- - Webhook eşleştirmesinde sorun giderme
- - macOS'ta iMessage'ı yapılandırma
+ - Webhook eşleştirme sorunlarını giderme
+ - macOS’te iMessage’ı Yapılandırma
sidebarTitle: BlueBubbles
-summary: BlueBubbles macOS sunucusu üzerinden iMessage (REST gönderme/alma, yazıyor göstergesi, tepkiler, eşleştirme, gelişmiş eylemler).
+summary: BlueBubbles macOS sunucusu üzerinden iMessage (REST gönderme/alma, yazıyor durumu, tepkiler, eşleştirme, gelişmiş eylemler).
title: BlueBubbles
x-i18n:
- generated_at: "2026-05-01T08:58:40Z"
+ generated_at: "2026-05-04T02:21:32Z"
model: gpt-5.5
provider: openai
- source_hash: 499cc2a46db6e0eddfb897e96ec4b3e4a39ba9f2f6da8e7485c1c46562de4145
+ source_hash: 78a054da0c7c32b161997acd05914896259dd1a050e736a4c9e438a452ab6a51
source_path: channels/bluebubbles.md
workflow: 16
---
-Durum: HTTP üzerinden BlueBubbles macOS sunucusuyla konuşan paketli plugin. Eski imsg kanalına kıyasla daha zengin API'si ve daha kolay kurulumu nedeniyle **iMessage entegrasyonu için önerilir**.
+Durum: BlueBubbles macOS sunucusuyla HTTP üzerinden konuşan paketlenmiş Plugin. Eski imsg kanalına kıyasla daha zengin API'si ve daha kolay kurulumu nedeniyle **iMessage entegrasyonu için önerilir**.
-Geçerli OpenClaw sürümleri BlueBubbles'ı paketle birlikte sunar, bu yüzden normal paketlenmiş derlemeler ayrı bir `openclaw plugins install` adımına ihtiyaç duymaz.
+Mevcut OpenClaw sürümleri BlueBubbles'ı paketler, bu nedenle normal paketlenmiş derlemelerde ayrı bir `openclaw plugins install` adımı gerekmez.
-## Genel Bakış
+## Genel bakış
-- macOS üzerinde BlueBubbles yardımcı uygulamasıyla çalışır ([bluebubbles.app](https://bluebubbles.app)).
+- macOS üzerinde BlueBubbles yardımcı uygulaması aracılığıyla çalışır ([bluebubbles.app](https://bluebubbles.app)).
- Önerilen/test edilen: macOS Sequoia (15). macOS Tahoe (26) çalışır; düzenleme şu anda Tahoe'da bozuktur ve grup simgesi güncellemeleri başarılı bildirilebilir ancak eşitlenmeyebilir.
-- OpenClaw onunla REST API'si üzerinden konuşur (`GET /api/v1/ping`, `POST /message/text`, `POST /chat/:id/*`).
-- Gelen mesajlar webhooks aracılığıyla gelir; giden yanıtlar, yazıyor göstergeleri, okundu bilgileri ve tapback'ler REST çağrılarıdır.
-- Ekler ve çıkartmalar gelen medya olarak alınır (ve mümkün olduğunda aracıya gösterilir).
+- OpenClaw, onunla REST API'si üzerinden konuşur (`GET /api/v1/ping`, `POST /message/text`, `POST /chat/:id/*`).
+- Gelen mesajlar Webhook'lar aracılığıyla gelir; giden yanıtlar, yazıyor göstergeleri, okundu bilgileri ve tapback'ler REST çağrılarıdır.
+- Ekler ve çıkartmalar gelen medya olarak alınır (ve mümkün olduğunda ajana sunulur).
- MP3 veya CAF ses sentezleyen otomatik TTS yanıtları, düz dosya ekleri yerine iMessage sesli not balonları olarak teslim edilir.
- Eşleştirme/izin listesi diğer kanallarla aynı şekilde çalışır (`/channels/pairing` vb.) ve `channels.bluebubbles.allowFrom` + eşleştirme kodlarını kullanır.
-- Tepkiler, tıpkı Slack/Telegram'da olduğu gibi sistem olayları olarak gösterilir, böylece aracılar yanıtlamadan önce bunlardan "bahsedebilir".
-- Gelişmiş özellikler: düzenleme, göndermeyi geri alma, yanıt zincirleme, mesaj efektleri, grup yönetimi.
+- Tepkiler, ajanların yanıtlamadan önce bunlardan "bahsedebilmesi" için Slack/Telegram'daki gibi sistem olayları olarak sunulur.
+- Gelişmiş özellikler: düzenleme, göndermeyi geri alma, yanıt iş parçacıkları, mesaj efektleri, grup yönetimi.
## Hızlı başlangıç
-
+
BlueBubbles sunucusunu Mac'inize kurun ([bluebubbles.app/install](https://bluebubbles.app/install) adresindeki yönergeleri izleyin).
-
- BlueBubbles yapılandırmasında web API'sini etkinleştirin ve bir parola ayarlayın.
+
+ BlueBubbles yapılandırmasında web API'yi etkinleştirin ve bir parola ayarlayın.
-
+
`openclaw onboard` komutunu çalıştırıp BlueBubbles'ı seçin veya elle yapılandırın:
```json5
@@ -59,29 +59,29 @@ Geçerli OpenClaw sürümleri BlueBubbles'ı paketle birlikte sunar, bu yüzden
```
-
- BlueBubbles webhooks hedefini Gateway'inize yönlendirin (örnek: `https://your-gateway-host:3000/bluebubbles-webhook?password=`).
+
+ BlueBubbles Webhook'larını gateway'inize yönlendirin (örnek: `https://your-gateway-host:3000/bluebubbles-webhook?password=`).
-
- Gateway'i başlatın; webhook işleyicisini kaydeder ve eşleştirmeyi başlatır.
+
+ Gateway'i başlatın; Webhook işleyicisini kaydeder ve eşleştirmeyi başlatır.
**Güvenlik**
-- Her zaman bir webhook parolası ayarlayın.
-- Webhook kimlik doğrulaması her zaman gereklidir. OpenClaw, local loopback/proxy topolojisinden bağımsız olarak `channels.bluebubbles.password` ile eşleşen bir parola/guid içermedikçe BlueBubbles webhook isteklerini reddeder (örneğin `?password=` veya `x-password`).
-- Parola kimlik doğrulaması, tam webhook gövdeleri okunmadan/ayrıştırılmadan önce denetlenir.
+- Her zaman bir Webhook parolası ayarlayın.
+- Webhook kimlik doğrulaması her zaman gereklidir. OpenClaw, loopback/proxy topolojisinden bağımsız olarak `channels.bluebubbles.password` ile eşleşen bir parola/guid içermeyen BlueBubbles Webhook isteklerini reddeder (örneğin `?password=` veya `x-password`).
+- Parola kimlik doğrulaması, tam Webhook gövdeleri okunmadan/ayrıştırılmadan önce kontrol edilir.
## Messages.app'i canlı tutma (VM / başsız kurulumlar)
-Bazı macOS VM / her zaman açık kurulumlarda Messages.app "boşta" kalabilir (uygulama açılana/ön plana getirilene kadar gelen olaylar durur). Basit bir geçici çözüm, AppleScript + LaunchAgent kullanarak **Messages'ı her 5 dakikada bir dürtmektir**.
+Bazı macOS VM / her zaman açık kurulumlarda Messages.app "boşta" kalabilir (uygulama açılana/öne getirilene kadar gelen olaylar durur). Basit bir geçici çözüm, AppleScript + LaunchAgent kullanarak **Messages'ı her 5 dakikada bir dürtmektir**.
-
+
Bunu `~/Scripts/poke-messages.scpt` olarak kaydedin:
```applescript
@@ -100,7 +100,7 @@ Bazı macOS VM / her zaman açık kurulumlarda Messages.app "boşta" kalabilir (
```
-
+
Bunu `~/Library/LaunchAgents/com.user.poke-messages.plist` olarak kaydedin:
```xml
@@ -132,10 +132,10 @@ Bazı macOS VM / her zaman açık kurulumlarda Messages.app "boşta" kalabilir (
```
- Bu **her 300 saniyede bir** ve **oturum açıldığında** çalışır. İlk çalıştırma macOS **Automation** istemlerini tetikleyebilir (`osascript` → Messages). Bunları LaunchAgent'ı çalıştıran aynı kullanıcı oturumunda onaylayın.
+ Bu **her 300 saniyede bir** ve **oturum açıldığında** çalışır. İlk çalışma macOS **Automation** istemlerini tetikleyebilir (`osascript` → Messages). Bunları LaunchAgent'ı çalıştıran aynı kullanıcı oturumunda onaylayın.
-
+
```bash
launchctl unload ~/Library/LaunchAgents/com.user.poke-messages.plist 2>/dev/null || true
launchctl load ~/Library/LaunchAgents/com.user.poke-messages.plist
@@ -154,13 +154,13 @@ openclaw onboard
Sihirbaz şunları ister:
- BlueBubbles sunucu adresi (ör. `http://192.168.1.100:1234`).
+ BlueBubbles sunucu adresi (örn. `http://192.168.1.100:1234`).
BlueBubbles Server ayarlarından API parolası.
- Webhook uç nokta yolu.
+ Webhook uç noktası yolu.
`pairing`, `allowlist`, `open` veya `disabled`.
@@ -178,30 +178,30 @@ openclaw channels add bluebubbles --http-url http://192.168.1.100:1234 --passwor
## Erişim denetimi (DM'ler + gruplar)
-
+
- Varsayılan: `channels.bluebubbles.dmPolicy = "pairing"`.
- - Bilinmeyen gönderenler bir eşleştirme kodu alır; onaylanana kadar mesajlar yok sayılır (kodlar 1 saat sonra sona erer).
+ - Bilinmeyen göndericiler bir eşleştirme kodu alır; onaylanana kadar mesajlar yok sayılır (kodlar 1 saat sonra sona erer).
- Şununla onaylayın:
- `openclaw pairing list bluebubbles`
- `openclaw pairing approve bluebubbles `
- - Eşleştirme varsayılan token alışverişidir. Ayrıntılar: [Eşleştirme](/tr/channels/pairing)
+ - Eşleştirme varsayılan token değişimidir. Ayrıntılar: [Eşleştirme](/tr/channels/pairing)
-
+
- `channels.bluebubbles.groupPolicy = open | allowlist | disabled` (varsayılan: `allowlist`).
- - `channels.bluebubbles.groupAllowFrom`, `allowlist` ayarlandığında gruplarda kimin tetikleyebileceğini denetler.
+ - `channels.bluebubbles.groupAllowFrom`, `allowlist` ayarlandığında gruplarda kimlerin tetikleyebileceğini kontrol eder.
### Kişi adı zenginleştirme (macOS, isteğe bağlı)
-BlueBubbles grup webhooks çoğu zaman yalnızca ham katılımcı adreslerini içerir. `GroupMembers` bağlamının bunun yerine yerel kişi adlarını göstermesini istiyorsanız macOS'ta yerel Kişiler zenginleştirmesine katılabilirsiniz:
+BlueBubbles grup Webhook'ları çoğu zaman yalnızca ham katılımcı adreslerini içerir. `GroupMembers` bağlamının bunun yerine yerel kişi adlarını göstermesini istiyorsanız, macOS'ta yerel Contacts zenginleştirmesine katılabilirsiniz:
- `channels.bluebubbles.enrichGroupParticipantsFromContacts = true` aramayı etkinleştirir. Varsayılan: `false`.
- Aramalar yalnızca grup erişimi, komut yetkilendirmesi ve bahsetme kapısı mesajın geçmesine izin verdikten sonra çalışır.
- Yalnızca adı olmayan telefon katılımcıları zenginleştirilir.
-- Yerel eşleşme bulunmadığında ham telefon numaraları geri dönüş olarak kalır.
+- Yerel eşleşme bulunamadığında ham telefon numaraları yedek değer olarak kalır.
```json5
{
@@ -218,8 +218,8 @@ BlueBubbles grup webhooks çoğu zaman yalnızca ham katılımcı adreslerini i
BlueBubbles, iMessage/WhatsApp davranışıyla eşleşen grup sohbetleri için bahsetme kapısını destekler:
- Bahsetmeleri algılamak için `agents.list[].groupChat.mentionPatterns` (veya `messages.groupChat.mentionPatterns`) kullanır.
-- Bir grup için `requireMention` etkinleştirildiğinde aracı yalnızca kendisinden bahsedildiğinde yanıt verir.
-- Yetkili gönderenlerden gelen kontrol komutları bahsetme kapısını atlar.
+- Bir grup için `requireMention` etkinleştirildiğinde, ajan yalnızca kendisinden bahsedildiğinde yanıt verir.
+- Yetkili göndericilerden gelen denetim komutları bahsetme kapısını atlar.
Grup başına yapılandırma:
@@ -240,13 +240,13 @@ Grup başına yapılandırma:
### Komut kapısı
-- Kontrol komutları (ör. `/config`, `/model`) yetkilendirme gerektirir.
+- Denetim komutları (örn. `/config`, `/model`) yetkilendirme gerektirir.
- Komut yetkilendirmesini belirlemek için `allowFrom` ve `groupAllowFrom` kullanır.
-- Yetkili gönderenler gruplarda bahsetmeden bile kontrol komutlarını çalıştırabilir.
+- Yetkili göndericiler, gruplarda bahsetmeden bile denetim komutlarını çalıştırabilir.
### Grup başına sistem istemi
-`channels.bluebubbles.groups.*` altındaki her giriş isteğe bağlı bir `systemPrompt` dizesi kabul eder. Değer, o gruptaki bir mesajı işleyen her turda aracının sistem istemine eklenir, böylece aracı istemlerini düzenlemeden grup başına persona veya davranış kuralları ayarlayabilirsiniz:
+`channels.bluebubbles.groups.*` altındaki her giriş isteğe bağlı bir `systemPrompt` dizesi kabul eder. Değer, o gruptaki bir mesajı işleyen her turda ajanın sistem istemine enjekte edilir; böylece ajan istemlerini düzenlemeden grup başına persona veya davranış kuralları ayarlayabilirsiniz:
```json5
{
@@ -262,11 +262,11 @@ Grup başına yapılandırma:
}
```
-Anahtar, BlueBubbles'ın grup için bildirdiği `chatGuid` / `chatIdentifier` / sayısal `chatId` değerlerinden hangisiyse onunla eşleşir ve `"*"` joker girişi, tam eşleşmesi olmayan her grup için varsayılan sağlar (`requireMention` ve grup başına araç ilkeleri tarafından kullanılan aynı desen). Tam eşleşmeler her zaman jokerden üstün gelir. DM'ler bu alanı yok sayar; bunun yerine aracı düzeyinde veya hesap düzeyinde istem özelleştirmesi kullanın.
+Anahtar, BlueBubbles'ın grup için `chatGuid` / `chatIdentifier` / sayısal `chatId` olarak bildirdiği değerle eşleşir ve `"*"` joker karakter girişi, tam eşleşmesi olmayan her grup için varsayılan sağlar (`requireMention` ve grup başına araç politikaları tarafından kullanılan aynı kalıp). Tam eşleşmeler her zaman joker karakterin önüne geçer. DM'ler bu alanı yok sayar; bunun yerine ajan düzeyi veya hesap düzeyi istem özelleştirmesini kullanın.
-#### Çalışılmış örnek: zincirlenmiş yanıtlar ve tapback tepkileri (Private API)
+#### Çalışılmış örnek: iş parçacıklı yanıtlar ve tapback tepkileri (Private API)
-BlueBubbles Private API etkinleştirildiğinde gelen mesajlar kısa mesaj kimlikleriyle gelir (örneğin `[[reply_to:5]]`) ve aracı belirli bir mesaja zincirleme yanıt vermek için `action=reply` veya tapback bırakmak için `action=react` çağırabilir. Grup başına bir `systemPrompt`, aracının doğru aracı seçmesini sağlamanın güvenilir bir yoludur:
+BlueBubbles Private API etkinleştirildiğinde, gelen mesajlar kısa mesaj kimlikleriyle gelir (örneğin `[[reply_to:5]]`) ve ajan belirli bir mesaja iş parçacığı içinde yanıt vermek için `action=reply` veya tapback bırakmak için `action=react` çağırabilir. Grup başına `systemPrompt`, ajanın doğru aracı seçmesini sağlamanın güvenilir bir yoludur:
```json5
{
@@ -274,15 +274,7 @@ BlueBubbles Private API etkinleştirildiğinde gelen mesajlar kısa mesaj kimlik
bluebubbles: {
groups: {
"iMessage;+;chat-family": {
- systemPrompt: [
- "When replying in this group, always call action=reply with the",
- "[[reply_to:N]] messageId from context so your response threads",
- "under the triggering message. Never send a new unlinked message.",
- "",
- "For short acknowledgements ('ok', 'got it', 'on it'), use",
- "action=react with an appropriate tapback emoji (❤️, 👍, 😂, ‼️, ❓)",
- "instead of sending a text reply.",
- ].join(" "),
+ systemPrompt: "When replying in this group, always call action=reply with the [[reply_to:N]] messageId from context so your response threads under the triggering message. Never send a new unlinked message. For short acknowledgements ('ok', 'got it', 'on it'), use action=react with an appropriate tapback emoji (❤️, 👍, 😂, ‼️, ❓) instead of sending a text reply.",
},
},
},
@@ -290,20 +282,20 @@ BlueBubbles Private API etkinleştirildiğinde gelen mesajlar kısa mesaj kimlik
}
```
-Tapback tepkileri ve zincirlenmiş yanıtların ikisi de BlueBubbles Private API gerektirir; temel mekanikler için [Gelişmiş eylemler](#advanced-actions) ve [Mesaj kimlikleri](#message-ids-short-vs-full) bölümlerine bakın.
+Tapback tepkileri ve iş parçacıklı yanıtların ikisi de BlueBubbles Private API gerektirir; alttaki mekanikler için [Gelişmiş eylemler](#advanced-actions) ve [Mesaj kimlikleri](#message-ids-short-vs-full) bölümlerine bakın.
## ACP konuşma bağlamaları
-BlueBubbles sohbetleri, aktarım katmanını değiştirmeden dayanıklı ACP çalışma alanlarına dönüştürülebilir.
+BlueBubbles sohbetleri, taşıma katmanını değiştirmeden kalıcı ACP çalışma alanlarına dönüştürülebilir.
Hızlı operatör akışı:
-- DM veya izin verilen grup sohbeti içinde `/acp spawn codex --bind here` çalıştırın.
+- DM veya izin verilen grup sohbetinin içinde `/acp spawn codex --bind here` çalıştırın.
- Aynı BlueBubbles konuşmasındaki gelecekteki mesajlar oluşturulan ACP oturumuna yönlendirilir.
-- `/new` ve `/reset` aynı bağlı ACP oturumunu yerinde sıfırlar.
-- `/acp close` ACP oturumunu kapatır ve bağlamayı kaldırır.
+- `/new` ve `/reset`, aynı bağlı ACP oturumunu yerinde sıfırlar.
+- `/acp close`, ACP oturumunu kapatır ve bağlamayı kaldırır.
-Yapılandırılmış kalıcı bağlamalar, `type: "acp"` ve `match.channel: "bluebubbles"` içeren üst düzey `bindings[]` girişleri üzerinden de desteklenir.
+Yapılandırılmış kalıcı bağlamalar, `type: "acp"` ve `match.channel: "bluebubbles"` içeren üst düzey `bindings[]` girişleriyle de desteklenir.
`match.peer.id` desteklenen herhangi bir BlueBubbles hedef biçimini kullanabilir:
@@ -344,13 +336,13 @@ Kararlı grup bağlamaları için `chat_id:*` veya `chat_identifier:*` tercih ed
}
```
-Paylaşılan ACP bağlama davranışı için [ACP Agents](/tr/tools/acp-agents) bölümüne bakın.
+Paylaşılan ACP bağlama davranışı için [ACP Ajanları](/tr/tools/acp-agents) bölümüne bakın.
-## Yazıyor göstergeleri + okundu bilgileri
+## Yazıyor + okundu bilgileri
-- **Yazma göstergeleri**: Yanıt oluşturulmadan önce ve yanıt oluşturma sırasında otomatik olarak gönderilir.
+- **Yazıyor göstergeleri**: Yanıt üretiminden önce ve üretim sırasında otomatik olarak gönderilir.
- **Okundu bilgileri**: `channels.bluebubbles.sendReadReceipts` tarafından kontrol edilir (varsayılan: `true`).
-- **Yazma göstergeleri**: OpenClaw yazma başlangıç olayları gönderir; BlueBubbles gönderimde veya zaman aşımında yazmayı otomatik olarak temizler (DELETE ile elle durdurma güvenilir değildir).
+- **Yazıyor göstergeleri**: OpenClaw yazma başlangıç olayları gönderir; BlueBubbles gönderimde veya zaman aşımında yazma durumunu otomatik olarak temizler (DELETE ile elle durdurma güvenilir değildir).
```json5
{
@@ -364,7 +356,7 @@ Paylaşılan ACP bağlama davranışı için [ACP Agents](/tr/tools/acp-agents)
## Gelişmiş eylemler
-BlueBubbles, yapılandırmada etkinleştirildiğinde gelişmiş ileti eylemlerini destekler:
+BlueBubbles, yapılandırmada etkinleştirildiğinde gelişmiş mesaj eylemlerini destekler:
```json5
{
@@ -389,32 +381,32 @@ BlueBubbles, yapılandırmada etkinleştirildiğinde gelişmiş ileti eylemlerin
```
-
- - **react**: Tapback tepkileri ekler/kaldırır (`messageId`, `emoji`, `remove`). iMessage'ın yerel tapback kümesi `love`, `like`, `dislike`, `laugh`, `emphasize` ve `question` değerlerinden oluşur. Bir aracı bu kümenin dışında bir emoji seçtiğinde (örneğin `👀`), tepki aracı tüm isteği başarısız kılmak yerine tapback'in yine de işlenmesi için `love` değerine geri döner. Yapılandırılmış ack tepkileri yine de katı biçimde doğrulanır ve bilinmeyen değerlerde hata verir.
- - **edit**: Gönderilmiş bir iletiyi düzenler (`messageId`, `text`).
- - **unsend**: Bir iletiyi göndermeyi geri alır (`messageId`).
- - **reply**: Belirli bir iletiyi yanıtlar (`messageId`, `text`, `to`).
- - **sendWithEffect**: iMessage efektiyle gönderir (`text`, `to`, `effectId`).
- - **renameGroup**: Bir grup sohbetini yeniden adlandırır (`chatGuid`, `displayName`).
- - **setGroupIcon**: Bir grup sohbetinin simgesini/fotoğrafını ayarlar (`chatGuid`, `media`) — macOS 26 Tahoe'da kararsızdır (API başarı döndürebilir ama simge eşitlenmez).
- - **addParticipant**: Bir gruba birini ekler (`chatGuid`, `address`).
- - **removeParticipant**: Bir gruptan birini kaldırır (`chatGuid`, `address`).
- - **leaveGroup**: Bir grup sohbetinden ayrılır (`chatGuid`).
- - **upload-file**: Medya/dosya gönderir (`to`, `buffer`, `filename`, `asVoice`).
- - Sesli notlar: iMessage sesli iletisi olarak göndermek için **MP3** veya **CAF** sesle `asVoice: true` ayarlayın. BlueBubbles, sesli not gönderirken MP3 → CAF dönüştürür.
- - Eski takma ad: `sendAttachment` hâlâ çalışır, ancak kanonik eylem adı `upload-file` değeridir.
+
+ - **react**: Tapback tepkileri ekleyin/kaldırın (`messageId`, `emoji`, `remove`). iMessage'ın yerel tapback kümesi `love`, `like`, `dislike`, `laugh`, `emphasize` ve `question` değerlerinden oluşur. Bir ajan bu kümenin dışında bir emoji seçtiğinde (örneğin `👀`), tepki aracı `love` değerine geri döner; böylece tapback, tüm isteğin başarısız olması yerine yine de görüntülenir. Yapılandırılmış onay tepkileri yine katı şekilde doğrulanır ve bilinmeyen değerlerde hata verir.
+ - **edit**: Gönderilmiş bir mesajı düzenleyin (`messageId`, `text`).
+ - **unsend**: Bir mesajı göndermeyi geri alın (`messageId`).
+ - **reply**: Belirli bir mesaja yanıt verin (`messageId`, `text`, `to`).
+ - **sendWithEffect**: iMessage efektiyle gönderin (`text`, `to`, `effectId`).
+ - **renameGroup**: Bir grup sohbetini yeniden adlandırın (`chatGuid`, `displayName`).
+ - **setGroupIcon**: Bir grup sohbetinin simgesini/fotoğrafını ayarlayın (`chatGuid`, `media`) — macOS 26 Tahoe'da kararsızdır (API başarılı dönebilir ancak simge senkronize olmayabilir).
+ - **addParticipant**: Bir gruba birini ekleyin (`chatGuid`, `address`).
+ - **removeParticipant**: Birini bir gruptan kaldırın (`chatGuid`, `address`).
+ - **leaveGroup**: Bir grup sohbetinden ayrılın (`chatGuid`).
+ - **upload-file**: Medya/dosya gönderin (`to`, `buffer`, `filename`, `asVoice`).
+ - Sesli notlar: iMessage sesli mesajı olarak göndermek için **MP3** veya **CAF** sesle `asVoice: true` ayarlayın. BlueBubbles, sesli not gönderirken MP3 → CAF dönüşümü yapar.
+ - Eski takma ad: `sendAttachment` çalışmaya devam eder, ancak kurallı eylem adı `upload-file` değeridir.
-### İleti kimlikleri (kısa ve tam)
+### Mesaj kimlikleri (kısa ve tam)
-OpenClaw, token tasarrufu için _kısa_ ileti kimliklerini (örn. `1`, `2`) gösterebilir.
+OpenClaw, token tasarrufu için _kısa_ mesaj kimlikleri (örn. `1`, `2`) gösterebilir.
- `MessageSid` / `ReplyToId` kısa kimlikler olabilir.
- `MessageSidFull` / `ReplyToIdFull` sağlayıcının tam kimliklerini içerir.
-- Kısa kimlikler bellekte tutulur; yeniden başlatmada veya önbellek temizliğinde süresi dolabilir.
-- Eylemler kısa veya tam `messageId` kabul eder, ancak kısa kimlikler artık kullanılabilir değilse hata verir.
+- Kısa kimlikler bellek içindedir; yeniden başlatmada veya önbellekten çıkarıldığında süresi dolabilir.
+- Eylemler kısa veya tam `messageId` kabul eder, ancak kısa kimlikler artık mevcut değilse hata verir.
Kalıcı otomasyonlar ve depolama için tam kimlikleri kullanın:
@@ -425,32 +417,32 @@ Kalıcı otomasyonlar ve depolama için tam kimlikleri kullanın:
-## Bölünmüş gönderimli DM'leri birleştirme (tek kompozisyonda komut + URL)
+## Bölünmüş gönderilen DM'leri birleştirme (tek kompozisyonda komut + URL)
-Bir kullanıcı iMessage'da bir komutu ve bir URL'yi birlikte yazdığında — örn. `Dump https://example.com/article` — Apple gönderimi **iki ayrı webhook teslimatına** böler:
+Bir kullanıcı iMessage'da bir komutu ve URL'yi birlikte yazdığında — örn. `Dump https://example.com/article` — Apple gönderimi **iki ayrı Webhook teslimine** böler:
-1. Bir metin iletisi (`"Dump"`).
-2. Ek olarak OG önizleme görselleriyle bir URL önizleme balonu (`"https://..."`).
+1. Bir metin mesajı (`"Dump"`).
+2. Ek olarak OG önizleme görselleri bulunan bir URL önizleme balonu (`"https://..."`).
-İki Webhook, çoğu kurulumda OpenClaw'a yaklaşık 0,8-2,0 sn arayla ulaşır. Birleştirme olmadan aracı 1. turda yalnızca komutu alır, yanıtlar (çoğunlukla "URL'yi gönder") ve URL'yi yalnızca 2. turda görür — bu noktada komut bağlamı zaten kaybolmuştur.
+Çoğu kurulumda iki Webhook OpenClaw'a yaklaşık 0,8-2,0 sn arayla ulaşır. Birleştirme olmadan ajan 1. turda yalnızca komutu alır, yanıt verir (çoğunlukla "URL'yi bana gönder") ve URL'yi yalnızca 2. turda görür — bu noktada komut bağlamı zaten kaybolmuştur.
-`channels.bluebubbles.coalesceSameSenderDms`, bir DM'yi aynı göndericiden gelen ardışık webhook'ları tek bir aracı turunda birleştirmeye dahil eder. Grup sohbetleri, çok kullanıcılı tur yapısının korunması için ileti başına anahtarlanmaya devam eder.
+`channels.bluebubbles.coalesceSameSenderDms`, bir DM'i aynı gönderenden gelen ardışık Webhook'ları tek bir ajan turunda birleştirmeye dahil eder. Grup sohbetleri, çok kullanıcılı tur yapısının korunması için mesaj başına anahtarlanmaya devam eder.
-
+
Şu durumlarda etkinleştirin:
- - Tek iletide `command + payload` bekleyen Skills gönderiyorsanız (dump, paste, save, queue vb.).
- - Kullanıcılarınız komutlarla birlikte URL, görsel veya uzun içerik yapıştırıyorsa.
+ - Tek bir mesajda `command + payload` bekleyen skills gönderiyorsanız (dump, paste, save, queue vb.).
+ - Kullanıcılarınız komutların yanına URL'ler, görseller veya uzun içerikler yapıştırıyorsa.
- Eklenen DM tur gecikmesini kabul edebiliyorsanız (aşağıya bakın).
Şu durumlarda devre dışı bırakın:
- - Tek sözcüklü DM tetikleyicileri için en düşük komut gecikmesine ihtiyacınız varsa.
- - Tüm akışlarınız, yük devamı olmayan tek seferlik komutlarsa.
+ - Tek kelimelik DM tetikleyicileri için minimum komut gecikmesine ihtiyacınız varsa.
+ - Tüm akışlarınız, yük devamı olmayan tek seferlik komutlardan oluşuyorsa.
-
+
```json5
{
channels: {
@@ -461,7 +453,7 @@ Bir kullanıcı iMessage'da bir komutu ve bir URL'yi birlikte yazdığında —
}
```
- Bayrak açıkken ve açık bir `messages.inbound.byChannel.bluebubbles` yokken debounce penceresi **2500 ms** değerine genişler (birleştirme olmayan varsayılan 500 ms'dir). Daha geniş pencere gereklidir — Apple'ın 0,8-2,0 sn'lik bölünmüş gönderim temposu daha dar varsayılana sığmaz.
+ Bayrak açıkken ve açık bir `messages.inbound.byChannel.bluebubbles` yokken, debounce penceresi **2500 ms** değerine genişler (birleştirme kullanılmadığında varsayılan 500 ms'dir). Daha geniş pencere gereklidir — Apple'ın 0,8-2,0 sn'lik bölünmüş gönderim ritmi daha dar varsayılana sığmaz.
Pencereyi kendiniz ayarlamak için:
@@ -480,31 +472,31 @@ Bir kullanıcı iMessage'da bir komutu ve bir URL'yi birlikte yazdığında —
```
-
- - **DM denetim komutları için ek gecikme.** Bayrak açıkken, DM denetim komutu iletileri (`Dump`, `Save` vb.) artık olası bir yük webhook'u için gönderimden önce debounce penceresine kadar bekler. Grup sohbeti komutları anında gönderimi korur.
- - **Birleştirilmiş çıktı sınırlıdır** — birleştirilmiş metin, açık bir `…[truncated]` işaretiyle 4000 karakterde sınırlandırılır; ekler 20 ile sınırlandırılır; kaynak girdileri 10 ile sınırlandırılır (bunun ötesinde ilk-artı-en-son korunur). Her kaynak `messageId` yine de gelen-dedupe katmanına ulaşır; böylece herhangi bir tekil olayın daha sonraki MessagePoller yeniden oynatımı kopya olarak tanınır.
+
+ - **DM kontrol komutları için ek gecikme.** Bayrak açıkken, DM kontrol komutu mesajları (`Dump`, `Save` vb. gibi), bir yük Webhook'u gelme ihtimaline karşı gönderilmeden önce artık debounce penceresine kadar bekler. Grup sohbeti komutları anında gönderilmeye devam eder.
+ - **Birleştirilmiş çıktı sınırlıdır** — birleştirilmiş metin, açık bir `…[truncated]` işaretiyle 4000 karakterde sınırlandırılır; ekler 20 ile sınırlandırılır; kaynak girişleri 10 ile sınırlandırılır (bunun ötesinde ilk-artı-en-son korunur). Her kaynak `messageId` yine de gelen tekilleştirmeye ulaşır, böylece daha sonraki bir MessagePoller yeniden oynatması, herhangi bir tekil olayı kopya olarak tanır.
- **İsteğe bağlı, kanal başına.** Diğer kanallar (Telegram, WhatsApp, Slack, …) etkilenmez.
-### Senaryolar ve aracının gördükleri
+### Senaryolar ve ajanın gördükleri
-| Kullanıcının oluşturduğu | Apple'ın teslim ettiği | Bayrak kapalı (varsayılan) | Bayrak açık + 2500 ms pencere |
-| ------------------------------------------------------------------ | -------------------------- | ---------------------------------------- | ----------------------------------------------------------------------- |
-| `Dump https://example.com` (tek gönderim) | ~1 sn arayla 2 webhook | İki aracı turu: yalnız "Dump", sonra URL | Tek tur: birleştirilmiş metin `Dump https://example.com` |
-| `Save this 📎image.jpg caption` (ek + metin) | 2 webhook | İki tur | Tek tur: metin + görsel |
-| `/status` (bağımsız komut) | 1 webhook | Anında gönderim | **Pencereye kadar bekle, sonra gönder** |
-| Tek başına yapıştırılan URL | 1 webhook | Anında gönderim | Anında gönderim (kovada yalnızca bir girdi) |
-| Dakikalar arayla kasıtlı iki ayrı ileti olarak gönderilen metin + URL | Pencere dışında 2 webhook | İki tur | İki tur (pencere aralarında sona erer) |
-| Hızlı taşma (pencere içinde >10 küçük DM) | N webhook | N tur | Tek tur, sınırlı çıktı (ilk + son, metin/ek sınırları uygulanır) |
+| Kullanıcının oluşturduğu | Apple'ın teslim ettiği | Bayrak kapalı (varsayılan) | Bayrak açık + 2500 ms pencere |
+| ------------------------------------------------------------------ | ------------------------- | --------------------------------------- | ----------------------------------------------------------------------- |
+| `Dump https://example.com` (tek gönderim) | ~1 sn arayla 2 Webhook | İki ajan turu: yalnızca "Dump", sonra URL | Tek tur: birleştirilmiş metin `Dump https://example.com` |
+| `Save this 📎image.jpg caption` (ek + metin) | 2 Webhook | İki tur | Tek tur: metin + görsel |
+| `/status` (bağımsız komut) | 1 Webhook | Anında gönderim | **Pencereye kadar bekle, ardından gönder** |
+| Tek başına yapıştırılan URL | 1 Webhook | Anında gönderim | Anında gönderim (kovada yalnızca bir giriş) |
+| Dakikalar arayla, bilerek iki ayrı mesaj olarak gönderilen metin + URL | pencere dışında 2 Webhook | İki tur | İki tur (aralarında pencere sona erer) |
+| Hızlı akış (pencere içinde >10 küçük DM) | N Webhook | N tur | Tek tur, sınırlı çıktı (ilk + en son, metin/ek sınırları uygulanır) |
### Bölünmüş gönderim birleştirme sorun giderme
Bayrak açıksa ve bölünmüş gönderimler hâlâ iki tur olarak geliyorsa, her katmanı kontrol edin:
-
+
```
grep coalesceSameSenderDms ~/.openclaw/openclaw.json
```
@@ -512,30 +504,30 @@ Bayrak açıksa ve bölünmüş gönderimler hâlâ iki tur olarak geliyorsa, he
Ardından `openclaw gateway restart` — bayrak, debouncer-registry oluşturulurken okunur.
-
+
BlueBubbles sunucu günlüğüne `~/Library/Logs/bluebubbles-server/main.log` altında bakın:
```
grep -E "Dispatching event to webhook" main.log | tail -20
```
- `"Dump"` tarzı metin gönderimi ile onu izleyen `"https://..."; Attachments:` gönderimi arasındaki boşluğu ölçün. `messages.inbound.byChannel.bluebubbles` değerini bu boşluğu rahatça kapsayacak şekilde artırın.
+ `"Dump"` tarzı metin gönderimi ile ardından gelen `"https://..."; Attachments:` gönderimi arasındaki boşluğu ölçün. `messages.inbound.byChannel.bluebubbles` değerini bu boşluğu rahatça kapsayacak şekilde artırın.
-
- Oturum olay zaman damgaları (`~/.openclaw/agents//sessions/*.jsonl`), webhook'un ne zaman geldiğini değil, Gateway'in bir iletiyi aracıya ne zaman teslim ettiğini yansıtır. `[Queued messages while agent was busy]` etiketli kuyruğa alınmış ikinci ileti, ikinci webhook geldiğinde ilk turun hâlâ çalıştığı anlamına gelir — birleştirme kovası zaten boşaltılmıştı. Pencereyi oturum günlüğüne değil, BB sunucu günlüğüne göre ayarlayın.
+
+ Oturum olay zaman damgaları (`~/.openclaw/agents//sessions/*.jsonl`), Webhook'un geldiği zamanı **değil**, Gateway'in bir mesajı ajana verdiği zamanı yansıtır. `[Queued messages while agent was busy]` etiketiyle işaretlenmiş kuyruktaki ikinci mesaj, ikinci Webhook geldiğinde ilk turun hâlâ çalıştığı anlamına gelir — birleştirme kovası zaten boşaltılmıştır. Pencereyi oturum günlüğüne göre değil, BB sunucu günlüğüne göre ayarlayın.
-
- Daha küçük makinelerde (8 GB), aracı turları yeterince uzun sürebilir; bu durumda birleştirme kovası yanıt tamamlanmadan önce boşalır ve URL kuyruğa alınmış ikinci tur olarak düşer. `memory_pressure` ve `ps -o rss -p $(pgrep openclaw-gateway)` değerlerini kontrol edin; Gateway ~500 MB RSS üstündeyse ve sıkıştırıcı etkinse diğer ağır süreçleri kapatın veya daha büyük bir ana makineye geçin.
+
+ Daha küçük makinelerde (8 GB), ajan turları yanıt tamamlanmadan önce birleştirme kovasının boşalacağı kadar uzun sürebilir ve URL kuyruktaki ikinci tur olarak gelir. `memory_pressure` ve `ps -o rss -p $(pgrep openclaw-gateway)` değerlerini kontrol edin; Gateway ~500 MB RSS üzerindeyse ve sıkıştırıcı etkinse, diğer ağır süreçleri kapatın veya daha büyük bir ana makineye geçin.
-
- Kullanıcı `Dump` öğesine var olan bir URL balonuna **yanıt** olarak dokunduysa (iMessage, Dump balonunda "1 Reply" rozeti gösterir), URL ikinci bir webhook'ta değil `replyToBody` içinde yaşar. Birleştirme uygulanmaz — bu bir debouncer konusu değil, skill/prompt konusudur.
+
+ Kullanıcı mevcut bir URL balonuna **yanıt** olarak `Dump` öğesine dokunduysa (iMessage, Dump balonunda "1 Reply" rozeti gösterir), URL ikinci bir Webhook'ta değil `replyToBody` içinde bulunur. Birleştirme uygulanmaz — bu bir debouncer konusu değil, skill/prompt konusudur.
## Blok akışı
-Yanıtların tek ileti olarak mı yoksa bloklar halinde akışla mı gönderileceğini kontrol edin:
+Yanıtların tek bir mesaj olarak mı yoksa bloklar halinde akışla mı gönderileceğini kontrol edin:
```json5
{
@@ -550,45 +542,45 @@ Yanıtların tek ileti olarak mı yoksa bloklar halinde akışla mı gönderilec
## Medya + sınırlar
- Gelen ekler indirilir ve medya önbelleğinde saklanır.
-- Gelen ve giden medya için medya sınırı `channels.bluebubbles.mediaMaxMb` üzerinden ayarlanır (varsayılan: 8 MB).
+- Gelen ve giden medya için `channels.bluebubbles.mediaMaxMb` aracılığıyla medya sınırı (varsayılan: 8 MB).
- Giden metin `channels.bluebubbles.textChunkLimit` değerine göre parçalara ayrılır (varsayılan: 4000 karakter).
-## Yapılandırma referansı
+## Yapılandırma başvurusu
Tam yapılandırma: [Yapılandırma](/tr/gateway/configuration)
-
- - `channels.bluebubbles.enabled`: Kanalı etkinleştirir/devre dışı bırakır.
+
+ - `channels.bluebubbles.enabled`: Kanalı etkinleştirin/devre dışı bırakın.
- `channels.bluebubbles.serverUrl`: BlueBubbles REST API temel URL'si.
- `channels.bluebubbles.password`: API parolası.
- `channels.bluebubbles.webhookPath`: Webhook uç noktası yolu (varsayılan: `/bluebubbles-webhook`).
-
+
- `channels.bluebubbles.dmPolicy`: `pairing | allowlist | open | disabled` (varsayılan: `pairing`).
- - `channels.bluebubbles.allowFrom`: DM izin listesi (kullanıcı adları, e-postalar, E.164 numaraları, `chat_id:*`, `chat_guid:*`).
+ - `channels.bluebubbles.allowFrom`: DM izin listesi (tanıtıcılar, e-postalar, E.164 numaraları, `chat_id:*`, `chat_guid:*`).
- `channels.bluebubbles.groupPolicy`: `open | allowlist | disabled` (varsayılan: `allowlist`).
- - `channels.bluebubbles.groupAllowFrom`: Grup gönderen izin listesi.
- - `channels.bluebubbles.enrichGroupParticipantsFromContacts`: macOS'ta, geçit denetimleri geçtikten sonra adsız grup katılımcılarını yerel Kişiler'den isteğe bağlı olarak zenginleştirir. Varsayılan: `false`.
+ - `channels.bluebubbles.groupAllowFrom`: Grup gönderici izin listesi.
+ - `channels.bluebubbles.enrichGroupParticipantsFromContacts`: macOS'te, kapıdan geçtikten sonra adlandırılmamış grup katılımcılarını yerel Contacts'tan isteğe bağlı olarak zenginleştirin. Varsayılan: `false`.
- `channels.bluebubbles.groups`: Grup başına yapılandırma (`requireMention` vb.).
-
+
- `channels.bluebubbles.sendReadReceipts`: Okundu bilgileri gönder (varsayılan: `true`).
- `channels.bluebubbles.blockStreaming`: Blok akışını etkinleştir (varsayılan: `false`; akışlı yanıtlar için gereklidir).
- - `channels.bluebubbles.textChunkLimit`: Giden parça boyutu karakter cinsinden (varsayılan: 4000).
- - `channels.bluebubbles.sendTimeoutMs`: `/api/v1/message/text` üzerinden yapılan giden metin gönderimleri için istek başına zaman aşımı, ms cinsinden (varsayılan: 30000). Private API iMessage gönderimlerinin iMessage framework içinde 60+ saniye takılabildiği macOS 26 kurulumlarında artırın; örneğin `45000` veya `60000`. Problar, sohbet aramaları, tepkiler, düzenlemeler ve sağlık kontrolleri şu anda daha kısa olan 10 sn varsayılanını korur; kapsamın tepkilere ve düzenlemelere genişletilmesi takip işi olarak planlanmıştır. Hesap başına geçersiz kılma: `channels.bluebubbles.accounts..sendTimeoutMs`.
- - `channels.bluebubbles.chunkMode`: `length` (varsayılan) yalnızca `textChunkLimit` aşıldığında böler; `newline`, uzunluğa göre parçalara ayırmadan önce boş satırlardan (paragraf sınırları) böler.
+ - `channels.bluebubbles.textChunkLimit`: Giden parça boyutu, karakter cinsinden (varsayılan: 4000).
+ - `channels.bluebubbles.sendTimeoutMs`: `/api/v1/message/text` üzerinden giden metin gönderimleri için istek başına zaman aşımı, ms cinsinden (varsayılan: 30000). Private API iMessage gönderimlerinin iMessage çerçevesi içinde 60+ saniye takılabildiği macOS 26 kurulumlarında artırın; örneğin `45000` veya `60000`. Yoklamalar, sohbet aramaları, tepkiler, düzenlemeler ve sağlık kontrolleri şu anda daha kısa olan 10 saniyelik varsayılanı korur; kapsamın tepkilere ve düzenlemelere genişletilmesi devam işi olarak planlanmıştır. Hesap başına geçersiz kılma: `channels.bluebubbles.accounts..sendTimeoutMs`.
+ - `channels.bluebubbles.chunkMode`: `length` (varsayılan) yalnızca `textChunkLimit` aşıldığında böler; `newline` uzunluk bazlı parçalamadan önce boş satırlarda (paragraf sınırlarında) böler.
- `channels.bluebubbles.mediaMaxMb`: Gelen/giden medya sınırı, MB cinsinden (varsayılan: 8).
- - `channels.bluebubbles.mediaLocalRoots`: Giden yerel medya yolları için izin verilen mutlak yerel dizinlerin açık izin listesi. Bu yapılandırılmadıkça yerel yol gönderimleri varsayılan olarak reddedilir. Hesap başına geçersiz kılma: `channels.bluebubbles.accounts..mediaLocalRoots`.
- - `channels.bluebubbles.coalesceSameSenderDms`: Apple'ın metin+URL ayrı gönderimi tek bir mesaj olarak gelsin diye aynı gönderenden gelen ardışık DM Webhook'larını tek bir ajan turunda birleştirir (varsayılan: `false`). Senaryolar, pencere ayarı ve ödünleşimler için [bölünmüş gönderim DM'lerini birleştirme](#coalescing-split-send-dms-command--url-in-one-composition) bölümüne bakın. Açık bir `messages.inbound.byChannel.bluebubbles` olmadan etkinleştirildiğinde varsayılan gelen debounce penceresini 500 ms'den 2500 ms'ye genişletir.
- - `channels.bluebubbles.historyLimit`: Bağlam için en fazla grup mesajı (0 devre dışı bırakır).
+ - `channels.bluebubbles.mediaLocalRoots`: Giden yerel medya yolları için izin verilen mutlak yerel dizinlerin açık izin listesi. Yerel yol gönderimleri, bu yapılandırılmadıkça varsayılan olarak reddedilir. Hesap başına geçersiz kılma: `channels.bluebubbles.accounts..mediaLocalRoots`.
+ - `channels.bluebubbles.coalesceSameSenderDms`: Apple'ın metin+URL bölünmüş gönderiminin tek bir ileti olarak gelmesi için ardışık aynı göndericili DM Webhook'larını tek bir ajan turunda birleştir (varsayılan: `false`). Senaryolar, pencere ayarı ve ödünleşimler için [Bölünmüş gönderimli DM'leri birleştirme](#coalescing-split-send-dms-command--url-in-one-composition) bölümüne bakın. Açık bir `messages.inbound.byChannel.bluebubbles` olmadan etkinleştirildiğinde varsayılan gelen debounce penceresini 500 ms'den 2500 ms'ye genişletir.
+ - `channels.bluebubbles.historyLimit`: Bağlam için en fazla grup iletisi (0 devre dışı bırakır).
- `channels.bluebubbles.dmHistoryLimit`: DM geçmiş sınırı.
- - `channels.bluebubbles.replyContextApiFallback`: Gelen bir yanıt `replyToBody`/`replyToSender` olmadan geldiğinde ve bellek içi yanıt bağlamı önbelleğinde isabet olmadığında, en iyi çaba yedek yolu olarak özgün mesajı BlueBubbles HTTP API'den alır (varsayılan: `false`). Tek bir BlueBubbles hesabını paylaşan çok örnekli dağıtımlar, süreç yeniden başlatmaları veya uzun ömürlü TTL/LRU önbellek tahliyeleri sonrasında kullanışlıdır. Alma işlemi, diğer tüm BlueBubbles istemci istekleriyle aynı ilke tarafından SSRF'ye karşı korunur, asla hata fırlatmaz ve sonraki yanıtların maliyetini yaymak için önbelleği doldurur. Hesap başına geçersiz kılma: `channels.bluebubbles.accounts..replyContextApiFallback`. Kanal düzeyi ayar, bayrağı atlayan hesaplara yayılır.
+ - `channels.bluebubbles.replyContextApiFallback`: Gelen bir yanıt `replyToBody`/`replyToSender` olmadan ulaştığında ve bellek içi yanıt bağlamı önbelleği isabet etmediğinde, en iyi çaba yedeği olarak özgün iletiyi BlueBubbles HTTP API'sinden getir (varsayılan: `false`). Tek bir BlueBubbles hesabını paylaşan çok örnekli dağıtımlar, işlem yeniden başlatmaları sonrası veya uzun ömürlü TTL/LRU önbellek tahliyesi sonrası kullanışlıdır. Getirme, diğer tüm BlueBubbles istemci istekleriyle aynı ilke tarafından SSRF'ye karşı korunur, asla hata fırlatmaz ve sonraki yanıtların maliyetini yaymak için önbelleği doldurur. Hesap başına geçersiz kılma: `channels.bluebubbles.accounts..replyContextApiFallback`. Kanal düzeyindeki bir ayar, bayrağı atlayan hesaplara yayılır.
@@ -598,7 +590,7 @@ Tam yapılandırma: [Yapılandırma](/tr/gateway/configuration)
-İlgili genel seçenekler:
+İlgili küresel seçenekler:
- `agents.list[].groupChat.mentionPatterns` (veya `messages.groupChat.mentionPatterns`).
- `messages.responsePrefix`.
@@ -611,36 +603,36 @@ Kararlı yönlendirme için `chat_guid` tercih edin:
- `chat_id:123`
- `chat_identifier:...`
- Doğrudan tanıtıcılar: `+15555550123`, `user@example.com`
- - Bir doğrudan tanıtıcının mevcut bir DM sohbeti yoksa OpenClaw, `POST /api/v1/chat/new` üzerinden bir tane oluşturur. Bunun için BlueBubbles Private API'nin etkinleştirilmiş olması gerekir.
+ - Doğrudan bir tanıtıcının mevcut bir DM sohbeti yoksa OpenClaw, `POST /api/v1/chat/new` aracılığıyla bir tane oluşturur. Bunun için BlueBubbles Private API'nin etkinleştirilmesi gerekir.
### iMessage ve SMS yönlendirmesi
-Aynı tanıtıcının Mac üzerinde hem iMessage hem de SMS sohbeti olduğunda (örneğin iMessage'a kayıtlı ancak yeşil balon yedekleri de almış bir telefon numarası), OpenClaw iMessage sohbetini tercih eder ve hiçbir zaman sessizce SMS'e düşürmez. SMS sohbetini zorlamak için açık bir `sms:` hedef öneki kullanın (örneğin `sms:+15555550123`). Eşleşen bir iMessage sohbeti olmayan tanıtıcılar, BlueBubbles'ın bildirdiği sohbet üzerinden gönderilmeye devam eder.
+Aynı tanıtıcının Mac'te hem iMessage hem de SMS sohbeti olduğunda (örneğin iMessage'a kayıtlı ancak yeşil balon yedekleri de almış bir telefon numarası), OpenClaw iMessage sohbetini tercih eder ve hiçbir zaman sessizce SMS'e düşürmez. SMS sohbetini zorlamak için açık bir `sms:` hedef öneki kullanın (örneğin `sms:+15555550123`). Eşleşen bir iMessage sohbeti olmayan tanıtıcılar, BlueBubbles'ın bildirdiği sohbet üzerinden gönderilmeye devam eder.
## Güvenlik
-- Webhook istekleri, `guid`/`password` sorgu parametreleri veya üstbilgileri `channels.bluebubbles.password` ile karşılaştırılarak doğrulanır.
-- API parolasını ve Webhook uç noktasını gizli tutun (bunlara kimlik bilgileri gibi davranın).
-- BlueBubbles Webhook kimlik doğrulaması için localhost atlaması yoktur. Webhook trafiğine proxy uyguluyorsanız BlueBubbles parolasını isteğin uçtan uca üzerinde tutun. `gateway.trustedProxies` burada `channels.bluebubbles.password` yerine geçmez. Bkz. [Gateway güvenliği](/tr/gateway/security#reverse-proxy-configuration).
+- Webhook istekleri, `guid`/`password` sorgu parametreleri veya üstbilgileri `channels.bluebubbles.password` ile karşılaştırılarak kimlik doğrulanır.
+- API parolasını ve Webhook uç noktasını gizli tutun (bunları kimlik bilgileri gibi ele alın).
+- BlueBubbles Webhook kimlik doğrulaması için localhost atlaması yoktur. Webhook trafiğini proxy'liyorsanız, BlueBubbles parolasını istekte uçtan uca koruyun. `gateway.trustedProxies` burada `channels.bluebubbles.password` yerine geçmez. [Gateway güvenliği](/tr/gateway/security#reverse-proxy-configuration) bölümüne bakın.
- LAN dışına açıyorsanız BlueBubbles sunucusunda HTTPS + güvenlik duvarı kurallarını etkinleştirin.
## Sorun giderme
-- Yazma/okundu olayları çalışmayı durdurursa BlueBubbles Webhook günlüklerini kontrol edin ve Gateway yolunun `channels.bluebubbles.webhookPath` ile eşleştiğini doğrulayın.
-- Eşleme kodları bir saat sonra sona erer; `openclaw pairing list bluebubbles` ve `openclaw pairing approve bluebubbles ` kullanın.
+- Yazma/okundu olayları çalışmayı durdurursa BlueBubbles Webhook günlüklerini kontrol edin ve gateway yolunun `channels.bluebubbles.webhookPath` ile eşleştiğini doğrulayın.
+- Eşleştirme kodlarının süresi bir saat sonra dolar; `openclaw pairing list bluebubbles` ve `openclaw pairing approve bluebubbles ` kullanın.
- Tepkiler BlueBubbles private API'sini gerektirir (`POST /api/v1/message/react`); sunucu sürümünün bunu sunduğundan emin olun.
-- Düzenleme/göndermeyi geri alma için macOS 13+ ve uyumlu bir BlueBubbles sunucu sürümü gerekir. macOS 26'da (Tahoe), private API değişiklikleri nedeniyle düzenleme şu anda bozuktur.
-- Grup simgesi güncellemeleri macOS 26'da (Tahoe) kararsız olabilir: API başarı döndürebilir ancak yeni simge eşitlenmez.
+- Düzenleme/göndermeyi geri alma için macOS 13+ ve uyumlu bir BlueBubbles sunucu sürümü gerekir. macOS 26'da (Tahoe), private API değişiklikleri nedeniyle düzenleme şu anda bozuk.
+- Grup simgesi güncellemeleri macOS 26'da (Tahoe) tutarsız olabilir: API başarı döndürebilir ancak yeni simge eşitlenmeyebilir.
- OpenClaw, BlueBubbles sunucusunun macOS sürümüne göre bozuk olduğu bilinen eylemleri otomatik olarak gizler. Düzenleme macOS 26'da (Tahoe) hâlâ görünüyorsa `channels.bluebubbles.actions.edit=false` ile elle devre dışı bırakın.
-- `coalesceSameSenderDms` etkin ama bölünmüş gönderimler (örn. `Dump` + URL) hâlâ iki tur olarak geliyorsa: [bölünmüş gönderim birleştirme sorun giderme](#split-send-coalescing-troubleshooting) kontrol listesine bakın — yaygın nedenler çok dar debounce penceresi, oturum günlüğü zaman damgalarının Webhook varış zamanı sanılması veya yanıt alıntısı gönderimidir (bu, ikinci bir Webhook değil `replyToBody` kullanır).
+- `coalesceSameSenderDms` etkin ama bölünmüş gönderimler (ör. `Dump` + URL) hâlâ iki tur olarak geliyorsa: [bölünmüş gönderim birleştirme sorun giderme](#split-send-coalescing-troubleshooting) denetim listesine bakın — yaygın nedenler çok dar debounce penceresi, oturum günlüğü zaman damgalarının Webhook varışı olarak yanlış okunması veya yanıt alıntısı gönderimidir (bu, ikinci bir Webhook değil `replyToBody` kullanır).
- Durum/sağlık bilgisi için: `openclaw status --all` veya `openclaw status --deep`.
Genel kanal iş akışı başvurusu için [Kanallar](/tr/channels) ve [Plugins](/tr/tools/plugin) kılavuzuna bakın.
## İlgili
-- [Kanal Yönlendirme](/tr/channels/channel-routing) — mesajlar için oturum yönlendirmesi
+- [Kanal Yönlendirme](/tr/channels/channel-routing) — iletiler için oturum yönlendirmesi
- [Kanallara Genel Bakış](/tr/channels) — desteklenen tüm kanallar
-- [Gruplar](/tr/channels/groups) — grup sohbeti davranışı ve bahsetme kapısı
-- [Eşleme](/tr/channels/pairing) — DM kimlik doğrulaması ve eşleme akışı
-- [Güvenlik](/tr/gateway/security) — erişim modeli ve sıkılaştırma
+- [Gruplar](/tr/channels/groups) — grup sohbeti davranışı ve bahsetme geçidi
+- [Eşleştirme](/tr/channels/pairing) — DM kimlik doğrulaması ve eşleştirme akışı
+- [Güvenlik](/tr/gateway/security) — erişim modeli ve güçlendirme
diff --git a/docs/tr/channels/broadcast-groups.md b/docs/tr/channels/broadcast-groups.md
index 723519c89..745f4dda6 100644
--- a/docs/tr/channels/broadcast-groups.md
+++ b/docs/tr/channels/broadcast-groups.md
@@ -4,13 +4,13 @@ read_when:
- WhatsApp'ta çoklu ajan yanıtlarında hata ayıklama
sidebarTitle: Broadcast groups
status: experimental
-summary: Bir WhatsApp mesajını birden fazla ajana yayınlayın
+summary: Bir WhatsApp mesajını birden fazla ajana yayınla
title: Yayın grupları
x-i18n:
- generated_at: "2026-04-30T09:05:39Z"
+ generated_at: "2026-05-04T02:21:31Z"
model: gpt-5.5
provider: openai
- source_hash: b0de4ccc85bf79e2ceb1dddd60db067309b15b7f876c92e7d591ff0b4b4315ec
+ source_hash: eab43d3c3ffddb360340469433d74a380fbab98e662b2463a54f62eafc375b55
source_path: channels/broadcast-groups.md
workflow: 16
---
@@ -19,19 +19,19 @@ x-i18n:
**Durum:** Deneysel. 2026.1.9 sürümünde eklendi.
-## Genel Bakış
+## Genel bakış
-Yayın Grupları, birden çok ajanın aynı iletiyi aynı anda işlemesini ve yanıtlamasını sağlar. Bu, tek bir WhatsApp grubunda veya DM'de birlikte çalışan uzmanlaşmış ajan ekipleri oluşturmanıza olanak tanır — hepsi tek bir telefon numarası kullanılarak.
+Yayın Grupları, birden fazla aracının aynı iletiyi eşzamanlı olarak işlemesini ve yanıtlamasını sağlar. Bu, tek bir WhatsApp grubunda veya DM'de birlikte çalışan özelleşmiş aracı ekipleri oluşturmanıza olanak tanır — hepsi tek bir telefon numarası kullanarak.
-Geçerli kapsam: **Yalnızca WhatsApp** (web kanalı).
+Geçerli kapsam: **yalnızca WhatsApp** (web kanalı).
-Yayın grupları, kanal izin listelerinden ve grup etkinleştirme kurallarından sonra değerlendirilir. WhatsApp gruplarında bu, yayınların OpenClaw normalde yanıt vereceği durumlarda gerçekleştiği anlamına gelir (örneğin: grup ayarlarınıza bağlı olarak bahsedildiğinde).
+Yayın grupları, kanal izin listelerinden ve grup etkinleştirme kurallarından sonra değerlendirilir. WhatsApp gruplarında bu, yayınların OpenClaw'ın normalde yanıt vereceği durumlarda gerçekleştiği anlamına gelir (örneğin: grup ayarlarınıza bağlı olarak bahsedildiğinde).
## Kullanım örnekleri
-
- Atomik, odaklanmış sorumluluklara sahip birden çok ajan dağıtın:
+
+ Atomik ve odaklanmış sorumluluklara sahip birden fazla aracı dağıtın:
```
Group: "Development Team"
@@ -42,7 +42,7 @@ Yayın grupları, kanal izin listelerinden ve grup etkinleştirme kurallarından
- TestGenerator (suggests test cases)
```
- Her ajan aynı iletiyi işler ve kendi uzmanlık perspektifini sunar.
+ Her aracı aynı iletiyi işler ve kendi uzman bakış açısını sunar.
@@ -90,15 +90,15 @@ Yayın grupları, kanal izin listelerinden ve grup etkinleştirme kurallarından
}
```
-**Sonuç:** OpenClaw bu sohbette yanıt vereceği zaman üç ajanın tamamını çalıştırır.
+**Sonuç:** OpenClaw bu sohbette yanıt vereceği zaman üç aracının tamamını çalıştırır.
### İşleme stratejisi
-Ajanların iletileri nasıl işleyeceğini denetleyin:
+Aracıların iletileri nasıl işlediğini denetleyin:
- Tüm ajanlar aynı anda işler:
+ Tüm aracılar eşzamanlı olarak işler:
```json
{
@@ -111,7 +111,7 @@ Ajanların iletileri nasıl işleyeceğini denetleyin:
- Ajanlar sırayla işler (biri, öncekinin bitmesini bekler):
+ Aracılar sırayla işler (biri öncekinin bitmesini bekler):
```json
{
@@ -166,15 +166,15 @@ Ajanların iletileri nasıl işleyeceğini denetleyin:
- Bir WhatsApp grup veya DM iletisi ulaşır.
+ Bir WhatsApp grup veya DM iletisi gelir.
Sistem, eş kimliğinin `broadcast` içinde olup olmadığını denetler.
- - Listelenen tüm ajanlar iletiyi işler.
- - Her ajanın kendi oturum anahtarı ve yalıtılmış bağlamı vardır.
- - Ajanlar paralel (varsayılan) veya sıralı olarak işler.
+ - Listelenen tüm aracılar iletiyi işler.
+ - Her aracının kendi oturum anahtarı ve yalıtılmış bağlamı vardır.
+ - Aracılar paralel (varsayılan) veya sıralı olarak işler.
@@ -183,21 +183,21 @@ Ajanların iletileri nasıl işleyeceğini denetleyin:
-Yayın grupları kanal izin listelerini veya grup etkinleştirme kurallarını (bahsetmeler/komutlar/vb.) atlamaz. Yalnızca bir ileti işlenmeye uygun olduğunda _hangi ajanların çalışacağını_ değiştirir.
+Yayın grupları kanal izin listelerini veya grup etkinleştirme kurallarını (bahsetmeler/komutlar/vb.) atlamaz. Yalnızca bir ileti işlemeye uygun olduğunda _hangi aracıların çalışacağını_ değiştirir.
### Oturum yalıtımı
-Bir yayın grubundaki her ajan tamamen ayrı şunları korur:
+Bir yayın grubundaki her aracı tamamen ayrı şunları korur:
- **Oturum anahtarları** (`agent:alfred:whatsapp:group:120363...` ve `agent:baerbel:whatsapp:group:120363...`)
-- **Konuşma geçmişi** (ajan diğer ajanların iletilerini görmez)
-- **Çalışma alanı** (yapılandırılmışsa ayrı sandbox'lar)
-- **Araç erişimi** (farklı izin/red listeleri)
+- **Konuşma geçmişi** (aracı diğer aracıların iletilerini görmez)
+- **Çalışma alanı** (yapılandırıldıysa ayrı korumalı alanlar)
+- **Araç erişimi** (farklı izin/verme listeleri)
- **Bellek/bağlam** (ayrı IDENTITY.md, SOUL.md, vb.)
-- **Grup bağlam arabelleği** (bağlam için kullanılan son grup iletileri) eş başına paylaşılır, böylece tüm yayın ajanları tetiklendiğinde aynı bağlamı görür
+- **Grup bağlam arabelleği** (bağlam için kullanılan son grup iletileri) eş başına paylaşılır, böylece tüm yayın aracıları tetiklendiğinde aynı bağlamı görür
-Bu, her ajanın şunlara sahip olmasını sağlar:
+Bu, her aracının şunlara sahip olmasını sağlar:
- Farklı kişilikler
- Farklı araç erişimi (örn. salt okunur ve okuma-yazma)
@@ -206,7 +206,7 @@ Bu, her ajanın şunlara sahip olmasını sağlar:
### Örnek: yalıtılmış oturumlar
-`120363403215116621@g.us` grubunda `["alfred", "baerbel"]` ajanlarıyla:
+`["alfred", "baerbel"]` aracılarıyla `120363403215116621@g.us` grubunda:
@@ -230,8 +230,8 @@ Bu, her ajanın şunlara sahip olmasını sağlar:
## En iyi uygulamalar
-
- Her ajanı tek ve net bir sorumlulukla tasarlayın:
+
+ Her aracıyı tek ve net bir sorumlulukla tasarlayın:
```json
{
@@ -241,11 +241,11 @@ Bu, her ajanın şunlara sahip olmasını sağlar:
}
```
- ✅ **İyi:** Her ajanın bir işi vardır. ❌ **Kötü:** Tek bir genel "dev-helper" ajanı.
+ ✅ **İyi:** Her aracının bir işi vardır. ❌ **Kötü:** Tek bir genel "dev-helper" aracısı.
- Her ajanın ne yaptığını netleştirin:
+ Her aracının ne yaptığını netleştirin:
```json
{
@@ -259,32 +259,34 @@ Bu, her ajanın şunlara sahip olmasını sağlar:
- Ajanlara yalnızca ihtiyaç duydukları araçları verin:
+ Aracılara yalnızca ihtiyaç duydukları araçları verin:
```json
{
"agents": {
"reviewer": {
- "tools": { "allow": ["read", "exec"] } // Read-only
+ "tools": { "allow": ["read", "exec"] }
},
"fixer": {
- "tools": { "allow": ["read", "write", "edit", "exec"] } // Read-write
+ "tools": { "allow": ["read", "write", "edit", "exec"] }
}
}
}
```
+ `reviewer` salt okunurdur. `fixer` okuyabilir ve yazabilir.
+
- Çok sayıda ajanla şunları göz önünde bulundurun:
+ Çok sayıda aracıyla şunları göz önünde bulundurun:
- - Hız için `"strategy": "parallel"` (varsayılan) kullanmak
- - Yayın gruplarını 5-10 ajanla sınırlamak
- - Daha basit ajanlar için daha hızlı modeller kullanmak
+ - Hız için `"strategy": "parallel"` (varsayılan) kullanma
+ - Yayın gruplarını 5-10 aracıyla sınırlama
+ - Daha basit aracılar için daha hızlı modeller kullanma
-
- Ajanlar bağımsız olarak başarısız olur. Bir ajanın hatası diğerlerini engellemez:
+
+ Aracılar bağımsız olarak başarısız olur. Bir aracının hatası diğerlerini engellemez:
```
Message → [Agent A ✓, Agent B ✗ error, Agent C ✓]
@@ -301,9 +303,9 @@ Bu, her ajanın şunlara sahip olmasını sağlar:
Yayın grupları şu anda şunlarla çalışır:
- ✅ WhatsApp (uygulandı)
-- 🚧 Telegram (planlanıyor)
-- 🚧 Discord (planlanıyor)
-- 🚧 Slack (planlanıyor)
+- 🚧 Telegram (planlandı)
+- 🚧 Discord (planlandı)
+- 🚧 Slack (planlandı)
### Yönlendirme
@@ -333,12 +335,12 @@ Yayın grupları mevcut yönlendirmeyle birlikte çalışır:
## Sorun giderme
-
+
**Denetleyin:**
- 1. Ajan kimlikleri `agents.list` içinde mevcut.
+ 1. Aracı kimlikleri `agents.list` içinde mevcut.
2. Eş kimliği biçimi doğru (örn. `120363403215116621@g.us`).
- 3. Ajanlar red listelerinde değil.
+ 3. Aracılar engelleme listelerinde değil.
**Hata ayıklama:**
@@ -347,18 +349,18 @@ Yayın grupları mevcut yönlendirmeyle birlikte çalışır:
```
-
+
**Neden:** Eş kimliği `bindings` içinde olabilir ancak `broadcast` içinde olmayabilir.
- **Düzeltme:** Yayın yapılandırmasına ekleyin veya bağlamalardan kaldırın.
+ **Çözüm:** Yayın yapılandırmasına ekleyin veya bağlamalardan kaldırın.
- Çok sayıda ajanla yavaşsa:
+ Çok sayıda aracıyla yavaşsa:
- - Grup başına ajan sayısını azaltın.
+ - Grup başına aracı sayısını azaltın.
- Daha hafif modeller kullanın (opus yerine sonnet).
- - Sandbox başlatma süresini denetleyin.
+ - Korumalı alan başlatma süresini denetleyin.
@@ -405,8 +407,8 @@ Yayın grupları mevcut yönlendirmeyle birlikte çalışır:
**Yanıtlar:**
- - code-formatter: "Girintileme düzeltildi ve tür ipuçları eklendi"
- - security-scanner: "⚠️ 12. satırda SQL enjeksiyonu açığı"
+ - code-formatter: "Girinti düzeltildi ve type hint'ler eklendi"
+ - security-scanner: "⚠️ 12. satırda SQL injection açığı"
- test-coverage: "Kapsam %45, hata durumları için testler eksik"
- docs-checker: "`process_data` işlevi için docstring eksik"
@@ -446,27 +448,27 @@ interface OpenClawConfig {
### Alanlar
- Ajanların nasıl işleneceği. `parallel` tüm ajanları aynı anda çalıştırır; `sequential` onları dizi sırasına göre çalıştırır.
+ Aracıların nasıl işleneceği. `parallel` tüm aracıları eşzamanlı olarak çalıştırır; `sequential` onları dizi sırasına göre çalıştırır.
- WhatsApp grup JID'si, E.164 numarası veya başka bir eş kimliği. Değer, iletileri işlemesi gereken ajan kimliklerinin dizisidir.
+ WhatsApp grup JID'si, E.164 numarası veya başka bir eş kimliği. Değer, iletileri işlemesi gereken aracı kimlikleri dizisidir.
## Sınırlamalar
-1. **Maksimum ajan:** Katı bir sınır yoktur, ancak 10+ ajan yavaş olabilir.
-2. **Paylaşılan bağlam:** Ajanlar birbirlerinin yanıtlarını görmez (tasarım gereği).
+1. **Maksimum aracı:** Katı bir sınır yok, ancak 10+ aracı yavaş olabilir.
+2. **Paylaşılan bağlam:** Aracılar birbirlerinin yanıtlarını görmez (tasarım gereği).
3. **İleti sıralaması:** Paralel yanıtlar herhangi bir sırada gelebilir.
-4. **Hız sınırları:** Tüm ajanlar WhatsApp hız sınırlarına dahil edilir.
+4. **Hız sınırları:** Tüm aracılar WhatsApp hız sınırlarına dahil edilir.
## Gelecekteki geliştirmeler
Planlanan özellikler:
-- [ ] Paylaşılan bağlam modu (ajanlar birbirlerinin yanıtlarını görür)
-- [ ] Ajan koordinasyonu (ajanlar birbirlerine sinyal gönderebilir)
-- [ ] Dinamik ajan seçimi (ileti içeriğine göre ajan seçme)
-- [ ] Ajan öncelikleri (bazı ajanlar diğerlerinden önce yanıt verir)
+- [ ] Paylaşılan bağlam modu (aracılar birbirlerinin yanıtlarını görür)
+- [ ] Aracı koordinasyonu (aracılar birbirlerine sinyal verebilir)
+- [ ] Dinamik aracı seçimi (ileti içeriğine göre aracı seçme)
+- [ ] Aracı öncelikleri (bazı aracılar diğerlerinden önce yanıt verir)
## İlgili
diff --git a/docs/tr/channels/discord.md b/docs/tr/channels/discord.md
index ed5754ab8..3c29f7f05 100644
--- a/docs/tr/channels/discord.md
+++ b/docs/tr/channels/discord.md
@@ -1,24 +1,24 @@
---
read_when:
- - Discord kanal özellikleri üzerinde çalışılıyor
-summary: Discord botu desteğinin durumu, yetenekleri ve yapılandırması
+ - Discord kanal özellikleri üzerinde çalışma
+summary: Discord bot desteği durumu, yetenekleri ve yapılandırması
title: Discord
x-i18n:
- generated_at: "2026-05-03T21:27:23Z"
+ generated_at: "2026-05-04T02:21:19Z"
model: gpt-5.5
provider: openai
- source_hash: 3a38cb3c8e25c1f3d6b7ddfc35a0445dc264be74d74b08d0051528b462b743a3
+ source_hash: df4e045e39f8977f779fe409abf41dad0d950c92f1230c51ff356343513df812
source_path: channels/discord.md
workflow: 16
---
-DM'ler ve resmi Discord Gateway üzerinden guild kanalları için hazır.
+Resmi Discord Gateway üzerinden DM'ler ve guild kanalları için hazır.
- Discord DM'leri varsayılan olarak eşleştirme modundadır.
+ Discord DM'leri varsayılan olarak eşleştirme modunu kullanır.
-
+
Yerel komut davranışı ve komut kataloğu.
@@ -28,80 +28,80 @@ DM'ler ve resmi Discord Gateway üzerinden guild kanalları için hazır.
## Hızlı kurulum
-Bot içeren yeni bir uygulama oluşturmanız, botu sunucunuza eklemeniz ve OpenClaw ile eşleştirmeniz gerekir. Botunuzu kendi özel sunucunuza eklemenizi öneririz. Henüz bir sunucunuz yoksa [önce bir tane oluşturun](https://support.discord.com/hc/en-us/articles/204849977-How-do-I-create-a-server) (**Create My Own > For me and my friends** seçin).
+Bir bot içeren yeni bir uygulama oluşturmanız, botu sunucunuza eklemeniz ve OpenClaw ile eşleştirmeniz gerekir. Botunuzu kendi özel sunucunuza eklemenizi öneririz. Henüz yoksa, [önce bir tane oluşturun](https://support.discord.com/hc/en-us/articles/204849977-How-do-I-create-a-server) (**Create My Own > For me and my friends** seçeneğini seçin).
-
- [Discord Developer Portal](https://discord.com/developers/applications) sayfasına gidin ve **New Application** öğesine tıklayın. Buna "OpenClaw" gibi bir ad verin.
+
+ [Discord Developer Portal](https://discord.com/developers/applications) adresine gidin ve **New Application**'a tıklayın. "OpenClaw" gibi bir ad verin.
- Kenar çubuğunda **Bot** öğesine tıklayın. **Username** değerini OpenClaw aracınıza verdiğiniz ad olarak ayarlayın.
+ Kenar çubuğunda **Bot**'a tıklayın. **Username** değerini OpenClaw aracınıza verdiğiniz ad olarak ayarlayın.
-
- Hâlâ **Bot** sayfasındayken **Privileged Gateway Intents** bölümüne kadar aşağı kaydırın ve şunları etkinleştirin:
+
+ Hala **Bot** sayfasındayken **Privileged Gateway Intents** bölümüne kaydırın ve şunları etkinleştirin:
- **Message Content Intent** (gerekli)
- **Server Members Intent** (önerilir; rol izin listeleri ve ad-kimlik eşleştirmesi için gereklidir)
- - **Presence Intent** (isteğe bağlı; yalnızca presence güncellemeleri için gerekir)
+ - **Presence Intent** (isteğe bağlı; yalnızca durum güncellemeleri için gerekir)
-
- **Bot** sayfasında tekrar yukarı kaydırın ve **Reset Token** öğesine tıklayın.
+
+ **Bot** sayfasında yukarı kaydırın ve **Reset Token**'a tıklayın.
- Adına rağmen bu ilk token'ınızı oluşturur; hiçbir şey "sıfırlanmıyor."
+ Adına rağmen bu işlem ilk tokenınızı oluşturur; hiçbir şey "sıfırlanmıyor."
- Token'ı kopyalayın ve bir yere kaydedin. Bu sizin **Bot Token** değerinizdir ve kısa süre içinde buna ihtiyacınız olacak.
+ Tokenı kopyalayın ve bir yere kaydedin. Bu sizin **Bot Token** değerinizdir ve kısa süre sonra gerekecektir.
-
- Kenar çubuğunda **OAuth2** öğesine tıklayın. Botu sunucunuza eklemek için doğru izinlere sahip bir davet URL'si oluşturacaksınız.
+
+ Kenar çubuğunda **OAuth2**'ye tıklayın. Botu sunucunuza eklemek için doğru izinlere sahip bir davet URL'si oluşturacaksınız.
- **OAuth2 URL Generator** bölümüne kadar aşağı kaydırın ve şunları etkinleştirin:
+ **OAuth2 URL Generator** bölümüne kaydırın ve şunları etkinleştirin:
- `bot`
- `applications.commands`
- Aşağıda bir **Bot Permissions** bölümü görünecektir. En azından şunları etkinleştirin:
+ Aşağıda bir **Bot Permissions** bölümü görünecektir. En az şunları etkinleştirin:
- **Genel İzinler**
+ **General Permissions**
- Kanalları Görüntüle
- **Metin İzinleri**
+ **Text Permissions**
- Mesaj Gönder
- Mesaj Geçmişini Oku
- - Bağlantıları Göm
+ - Bağlantı Göm
- Dosya Ekle
- Tepki Ekle (isteğe bağlı)
- Bu, normal metin kanalları için temel kümedir. Bir thread oluşturan veya sürdüren forum ya da medya kanalı iş akışları dahil Discord thread'lerinde paylaşım yapmayı planlıyorsanız **Send Messages in Threads** öğesini de etkinleştirin.
- Altta oluşturulan URL'yi kopyalayın, tarayıcınıza yapıştırın, sunucunuzu seçin ve bağlanmak için **Continue** öğesine tıklayın. Artık botunuzu Discord sunucusunda görmelisiniz.
+ Bu, normal metin kanalları için temel izin kümesidir. Forum veya medya kanalı iş akışları dahil Discord konu dizilerine gönderi yapmayı planlıyorsanız, bir konu oluşturan ya da sürdüren akışlar için **Send Messages in Threads** seçeneğini de etkinleştirin.
+ Alttaki oluşturulan URL'yi kopyalayın, tarayıcınıza yapıştırın, sunucunuzu seçin ve bağlanmak için **Continue**'ya tıklayın. Artık Discord sunucusunda botunuzu görmelisiniz.
-
- Discord uygulamasına dönün; dahili kimlikleri kopyalayabilmek için Developer Mode'u etkinleştirmeniz gerekir.
+
+ Discord uygulamasına geri dönün; dahili kimlikleri kopyalayabilmek için Geliştirici Modunu etkinleştirmeniz gerekir.
- 1. **User Settings** öğesine tıklayın (avatarınızın yanındaki dişli simgesi) → **Advanced** → **Developer Mode** anahtarını açın
+ 1. **User Settings**'e tıklayın (avatarınızın yanındaki dişli simgesi) → **Advanced** → **Developer Mode**'u açın
2. Kenar çubuğundaki **sunucu simgenize** sağ tıklayın → **Copy Server ID**
3. **Kendi avatarınıza** sağ tıklayın → **Copy User ID**
- **Server ID** ve **User ID** değerlerinizi Bot Token ile birlikte kaydedin; sonraki adımda üçünü de OpenClaw'a göndereceksiniz.
+ **Server ID** ve **User ID** değerlerinizi Bot Token değerinizle birlikte kaydedin; sonraki adımda üçünü de OpenClaw'a göndereceksiniz.
- Eşleştirmenin çalışması için Discord'un botunuzun size DM göndermesine izin vermesi gerekir. **Sunucu simgenize** sağ tıklayın → **Privacy Settings** → **Direct Messages** anahtarını açın.
+ Eşleştirmenin çalışması için Discord'un botunuzun size DM göndermesine izin vermesi gerekir. **Sunucu simgenize** sağ tıklayın → **Privacy Settings** → **Direct Messages**'ı açın.
- Bu, sunucu üyelerinin (botlar dahil) size DM göndermesine izin verir. OpenClaw ile Discord DM'lerini kullanmak istiyorsanız bunu etkin tutun. Yalnızca guild kanallarını kullanmayı planlıyorsanız eşleştirmeden sonra DM'leri devre dışı bırakabilirsiniz.
+ Bu, sunucu üyelerinin (botlar dahil) size DM göndermesine izin verir. Discord DM'lerini OpenClaw ile kullanmak istiyorsanız bunu açık tutun. Yalnızca guild kanallarını kullanmayı planlıyorsanız eşleştirmeden sonra DM'leri devre dışı bırakabilirsiniz.
-
- Discord bot token'ınız bir sırdır (parola gibi). Aracınıza mesaj göndermeden önce bunu OpenClaw çalıştıran makinede ayarlayın.
+
+ Discord bot tokenınız bir sırdır (parola gibi). Aracınıza mesaj göndermeden önce OpenClaw'ı çalıştıran makinede ayarlayın.
```bash
export DISCORD_BOT_TOKEN="YOUR_BOT_TOKEN"
@@ -120,9 +120,9 @@ openclaw config patch --file ./discord.patch.json5
openclaw gateway
```
- OpenClaw zaten arka plan hizmeti olarak çalışıyorsa OpenClaw Mac uygulaması üzerinden veya `openclaw gateway run` sürecini durdurup yeniden başlatarak yeniden başlatın.
- Yönetilen hizmet kurulumlarında, `DISCORD_BOT_TOKEN` mevcut olan bir kabuktan `openclaw gateway install` komutunu çalıştırın veya değişkeni `~/.openclaw/.env` içinde saklayın; böylece hizmet yeniden başlatmadan sonra env SecretRef değerini çözebilir.
- Ana makineniz Discord'un başlangıç uygulaması araması tarafından engellenirse veya hız sınırına takılırsa, başlangıcın bu REST çağrısını atlayabilmesi için Discord uygulama/istemci kimliğini Developer Portal'dan ayarlayın. Varsayılan hesap için `channels.discord.applicationId` kullanın veya birden fazla Discord botu çalıştırdığınızda `channels.discord.accounts..applicationId` kullanın.
+ OpenClaw zaten arka plan hizmeti olarak çalışıyorsa, OpenClaw Mac uygulaması üzerinden veya `openclaw gateway run` sürecini durdurup yeniden başlatarak yeniden başlatın.
+ Yönetilen hizmet kurulumları için, `DISCORD_BOT_TOKEN` değerinin mevcut olduğu bir shell'den `openclaw gateway install` çalıştırın veya değişkeni `~/.openclaw/.env` içinde saklayın; böylece hizmet yeniden başlatmadan sonra env SecretRef değerini çözebilir.
+ Ana makineniz Discord'un başlangıç uygulama araması tarafından engellenirse veya hız sınırına takılırsa, başlangıcın bu REST çağrısını atlayabilmesi için Discord uygulama/istemci kimliğini Developer Portal'dan ayarlayın. Varsayılan hesap için `channels.discord.applicationId` kullanın veya birden fazla Discord botu çalıştırdığınızda `channels.discord.accounts..applicationId` kullanın.
@@ -130,12 +130,12 @@ openclaw gateway
- Herhangi bir mevcut kanalda (ör. Telegram) OpenClaw aracınızla sohbet edin ve ona söyleyin. Discord ilk kanalınızsa bunun yerine CLI / config sekmesini kullanın.
+ Mevcut herhangi bir kanalda (ör. Telegram) OpenClaw aracınızla sohbet edin ve ona söyleyin. Discord ilk kanalınızsa bunun yerine CLI / yapılandırma sekmesini kullanın.
- > "Discord bot token'ımı yapılandırmada zaten ayarladım. Lütfen Discord kurulumunu User ID `` ve Server ID `` ile tamamla."
+ > "Discord bot tokenımı yapılandırmada zaten ayarladım. Lütfen Discord kurulumunu User ID `` ve Server ID `` ile tamamla."
- Dosya tabanlı yapılandırmayı tercih ediyorsanız şunu ayarlayın:
+ Dosya tabanlı yapılandırmayı tercih ediyorsanız şunları ayarlayın:
```json5
{
@@ -158,9 +158,9 @@ openclaw gateway
DISCORD_BOT_TOKEN=...
```
- Betikli veya uzaktan kurulum için aynı JSON5 bloğunu `openclaw config patch --file ./discord.patch.json5 --dry-run` ile yazın ve ardından `--dry-run` olmadan yeniden çalıştırın. Düz metin `token` değerleri desteklenir. SecretRef değerleri de env/file/exec sağlayıcıları genelinde `channels.discord.token` için desteklenir. Bkz. [Gizli Bilgi Yönetimi](/tr/gateway/secrets).
+ Betikli veya uzak kurulum için aynı JSON5 bloğunu `openclaw config patch --file ./discord.patch.json5 --dry-run` ile yazın ve ardından `--dry-run` olmadan yeniden çalıştırın. Düz metin `token` değerleri desteklenir. SecretRef değerleri de env/file/exec sağlayıcıları genelinde `channels.discord.token` için desteklenir. Bkz. [Gizli Bilgi Yönetimi](/tr/gateway/secrets).
- Birden fazla Discord botu için her bot token'ını ve uygulama kimliğini kendi hesabının altında tutun. Üst düzey `channels.discord.applicationId` hesaplar tarafından devralınır; bu nedenle bunu yalnızca her hesabın aynı uygulama kimliğini kullanması gerektiğinde orada ayarlayın.
+ Birden fazla Discord botu için her bot tokenını ve uygulama kimliğini kendi hesabının altında tutun. Üst düzey `channels.discord.applicationId` hesaplar tarafından devralınır, bu nedenle yalnızca her hesabın aynı uygulama kimliğini kullanması gerektiğinde orada ayarlayın.
```json5
{
@@ -215,13 +215,13 @@ openclaw pairing approve discord
Token çözümleme hesap farkındadır. Yapılandırma token değerleri env yedeğine göre önceliklidir. `DISCORD_BOT_TOKEN` yalnızca varsayılan hesap için kullanılır.
-Etkin iki Discord hesabı aynı bot token'ına çözülürse OpenClaw bu token için yalnızca bir Gateway izleyicisi başlatır. Yapılandırma kaynaklı token, varsayılan env yedeğine göre önceliklidir; aksi takdirde ilk etkin hesap kazanır ve yinelenen hesap devre dışı olarak bildirilir.
-Gelişmiş giden çağrılar (mesaj aracı/kanal eylemleri) için açık bir çağrı başına `token` o çağrıda kullanılır. Bu, gönderme ve okuma/yoklama tarzı eylemler için geçerlidir (örneğin read/search/fetch/thread/pins/permissions). Hesap ilkesi/yeniden deneme ayarları yine etkin çalışma zamanı anlık görüntüsünde seçilen hesaptan gelir.
+Etkin iki Discord hesabı aynı bot tokenına çözümlenirse, OpenClaw bu token için yalnızca bir Gateway izleyicisi başlatır. Yapılandırma kaynaklı token, varsayılan env yedeğine göre önceliklidir; aksi halde ilk etkin hesap kazanır ve yinelenen hesap devre dışı olarak bildirilir.
+Gelişmiş giden çağrılar için (mesaj aracı/kanal eylemleri), çağrıya özel açık bir `token` kullanılır. Bu, gönderme ve okuma/sondaj tarzı eylemler için geçerlidir (örneğin read/search/fetch/thread/pins/permissions). Hesap ilkesi/yeniden deneme ayarları yine etkin çalışma zamanı anlık görüntüsünde seçilen hesaptan gelir.
-## Önerilen: Bir guild çalışma alanı kurun
+## Önerilir: Bir guild çalışma alanı ayarlayın
-DM'ler çalıştıktan sonra Discord sunucunuzu, her kanalın kendi bağlamına sahip kendi aracı oturumunu aldığı tam bir çalışma alanı olarak kurabilirsiniz. Bu, yalnızca siz ve botunuzun bulunduğu özel sunucular için önerilir.
+DM'ler çalıştıktan sonra, Discord sunucunuzu her kanalın kendi bağlamına sahip kendi aracı oturumunu aldığı tam bir çalışma alanı olarak ayarlayabilirsiniz. Bu, yalnızca siz ve botunuzun olduğu özel sunucular için önerilir.
@@ -255,13 +255,15 @@ DM'ler çalıştıktan sonra Discord sunucunuzu, her kanalın kendi bağlamına
- Varsayılan olarak aracınız guild kanallarında yalnızca @mention edildiğinde yanıt verir. Özel bir sunucu için muhtemelen her mesaja yanıt vermesini istersiniz.
+ Varsayılan olarak aracınız guild kanallarında yalnızca @mentioned olduğunda yanıt verir. Özel bir sunucu için muhtemelen her mesaja yanıt vermesini istersiniz.
- Guild kanallarında normal asistan son yanıtları varsayılan olarak gizli kalır. Görünür Discord çıktısı `message` aracıyla açıkça gönderilmelidir; böylece aracı varsayılan olarak sessizce izleyebilir ve yalnızca bir kanal yanıtının yararlı olduğuna karar verdiğinde paylaşım yapabilir.
+ Guild kanallarında, normal asistan son yanıtları varsayılan olarak özel kalır. Görünür Discord çıktısı `message` aracıyla açıkça gönderilmelidir; böylece araç varsayılan olarak sessizce izleyebilir ve yalnızca kanal yanıtının yararlı olduğuna karar verdiğinde gönderi paylaşabilir.
+
+ Bu, seçilen modelin araçları güvenilir biçimde çağırması gerektiği anlamına gelir. Discord yazıyor gösteriyor ve günlükler token kullanımı gösteriyor ama gönderilmiş mesaj yoksa, `didSendViaMessagingTool: false` içeren asistan metni için oturum günlüğünü kontrol edin. Bu, modelin `message(action=send)` çağırmak yerine özel bir son yanıt ürettiği anlamına gelir. Daha güçlü araç çağıran bir modele geçin veya eski otomatik son yanıtları geri yüklemek için aşağıdaki yapılandırmayı kullanın.
- > "Aracımın bu sunucuda @mention edilmek zorunda kalmadan yanıt vermesine izin ver"
+ > "Aracımın bu sunucuda @mentioned olmadan yanıt vermesine izin ver"
Guild yapılandırmanızda `requireMention: false` ayarlayın:
@@ -292,60 +294,60 @@ DM'ler çalıştıktan sonra Discord sunucunuzu, her kanalın kendi bağlamına
- > "Discord kanallarında soru sorduğumda MEMORY.md dosyasından uzun süreli bağlama ihtiyacın varsa memory_search veya memory_get kullan."
+ > "Discord kanallarında soru sorduğumda, MEMORY.md dosyasından uzun süreli bağlama ihtiyacın olursa memory_search veya memory_get kullan."
- Her kanalda paylaşılan bağlama ihtiyacınız varsa kararlı talimatları `AGENTS.md` veya `USER.md` içine koyun (bunlar her oturum için enjekte edilir). Uzun süreli notları `MEMORY.md` içinde tutun ve gerektiğinde bellek araçlarıyla bunlara erişin.
+ Her kanalda paylaşılan bağlama ihtiyacınız varsa, kararlı yönergeleri `AGENTS.md` veya `USER.md` içine koyun (bunlar her oturum için enjekte edilir). Uzun süreli notları `MEMORY.md` içinde tutun ve gerektiğinde bellek araçlarıyla erişin.
-Şimdi Discord sunucunuzda birkaç kanal oluşturun ve sohbet etmeye başlayın. Aracınız kanal adını görebilir ve her kanal kendi yalıtılmış oturumunu alır; böylece iş akışınıza uygun şekilde `#coding`, `#home`, `#research` veya istediğiniz başka bir kanal kurabilirsiniz.
+Şimdi Discord sunucunuzda birkaç kanal oluşturun ve sohbete başlayın. Aracınız kanal adını görebilir ve her kanal kendi yalıtılmış oturumunu alır; böylece iş akışınıza uyan `#coding`, `#home`, `#research` veya başka herhangi bir kanalı ayarlayabilirsiniz.
## Çalışma zamanı modeli
-- Gateway, Discord bağlantısının sahibidir.
-- Yanıt yönlendirme deterministiktir: Discord'dan gelen yanıtlar Discord'a geri döner.
-- Discord sunucu/kanal metadatası, kullanıcıya görünen yanıt öneki olarak değil, güvenilmeyen
- bağlam olarak model istemine eklenir. Bir model bu zarfı
- geri kopyalarsa, OpenClaw kopyalanan metadatayı giden yanıtlardan ve
- gelecekteki yeniden oynatma bağlamından çıkarır.
+- Gateway, Discord bağlantısına sahiptir.
+- Yanıt yönlendirme deterministiktir: Discord üzerinden gelen yanıtlar Discord'a geri döner.
+- Discord sunucu/kanal meta verileri, kullanıcıya görünür bir yanıt öneki olarak değil, güvenilmeyen
+ bağlam olarak model istemine eklenir. Bir model bu zarfı geri kopyalarsa
+ OpenClaw, kopyalanan meta verileri giden yanıtlardan ve gelecekteki
+ yeniden oynatma bağlamından kaldırır.
- Varsayılan olarak (`session.dmScope=main`), doğrudan sohbetler ajanın ana oturumunu paylaşır (`agent:main:main`).
- Sunucu kanalları yalıtılmış oturum anahtarlarıdır (`agent::discord:channel:`).
- Grup DM'leri varsayılan olarak yok sayılır (`channels.discord.dm.groupEnabled=false`).
-- Yerel eğik çizgi komutları yalıtılmış komut oturumlarında çalışır (`agent::discord:slash:`), ancak yönlendirilen konuşma oturumuna `CommandTargetSessionKey` taşımaya devam eder.
-- Discord'a metin tabanlı cron/heartbeat duyuru teslimi, son
- asistan tarafından görülebilen yanıtı bir kez kullanır. Medya ve yapılandırılmış bileşen yükleri,
- ajan birden fazla teslim edilebilir yük yaydığında çok mesajlı kalır.
+- Yerel slash komutları yalıtılmış komut oturumlarında çalışır (`agent::discord:slash:`), ancak yönlendirilen konuşma oturumuna `CommandTargetSessionKey` taşımaya devam eder.
+- Discord'a yalnızca metin cron/heartbeat duyuru teslimi, son
+ asistana görünür yanıtı bir kez kullanır. Medya ve yapılandırılmış bileşen yükleri, ajan
+ birden fazla teslim edilebilir yük yaydığında çok iletili kalır.
## Forum kanalları
-Discord forum ve medya kanalları yalnızca başlık gönderilerini kabul eder. OpenClaw bunları oluşturmak için iki yol destekler:
+Discord forum ve medya kanalları yalnızca konu gönderilerini kabul eder. OpenClaw bunları oluşturmak için iki yolu destekler:
-- Otomatik olarak bir başlık oluşturmak için forum üst öğesine (`channel:`) mesaj gönderin. Başlık adı mesajınızın boş olmayan ilk satırını kullanır.
-- Doğrudan bir başlık oluşturmak için `openclaw message thread create` kullanın. Forum kanalları için `--message-id` geçmeyin.
+- Bir konuyu otomatik oluşturmak için forum üst öğesine (`channel:`) bir ileti gönderin. Konu başlığı, iletinizin boş olmayan ilk satırını kullanır.
+- Doğrudan bir konu oluşturmak için `openclaw message thread create` kullanın. Forum kanalları için `--message-id` geçirmeyin.
-Örnek: başlık oluşturmak için forum üst öğesine gönderin
+Örnek: konu oluşturmak için forum üst öğesine gönderme
```bash
openclaw message send --channel discord --target channel: \
--message "Topic title\nBody of the post"
```
-Örnek: açıkça bir forum başlığı oluşturun
+Örnek: açıkça forum konusu oluşturma
```bash
openclaw message thread create --channel discord --target channel: \
--thread-name "Topic title" --message "Body of the post"
```
-Forum üst öğeleri Discord bileşenlerini kabul etmez. Bileşenlere ihtiyacınız varsa, başlığın kendisine gönderin (`channel:`).
+Forum üst öğeleri Discord bileşenlerini kabul etmez. Bileşenlere ihtiyacınız varsa, konunun kendisine gönderin (`channel:`).
## Etkileşimli bileşenler
-OpenClaw, ajan mesajları için Discord bileşenleri v2 kapsayıcılarını destekler. Mesaj aracını bir `components` yüküyle kullanın. Etkileşim sonuçları normal gelen mesajlar olarak ajana geri yönlendirilir ve mevcut Discord `replyToMode` ayarlarını izler.
+OpenClaw, ajan iletileri için Discord bileşenleri v2 kapsayıcılarını destekler. `components` yüküyle ileti aracını kullanın. Etkileşim sonuçları normal gelen iletiler olarak ajana geri yönlendirilir ve mevcut Discord `replyToMode` ayarlarını izler.
Desteklenen bloklar:
@@ -353,23 +355,23 @@ Desteklenen bloklar:
- Eylem satırları en fazla 5 düğmeye veya tek bir seçim menüsüne izin verir
- Seçim türleri: `string`, `user`, `role`, `mentionable`, `channel`
-Varsayılan olarak bileşenler tek kullanımlıktır. Düğmelerin, seçimlerin ve formların süreleri dolana kadar birden çok kez kullanılmasına izin vermek için `components.reusable=true` ayarlayın.
+Varsayılan olarak bileşenler tek kullanımlıktır. Düğmelerin, seçimlerin ve formların süresi dolana kadar birden çok kez kullanılmasına izin vermek için `components.reusable=true` ayarlayın.
-Bir düğmeye kimin tıklayabileceğini sınırlamak için o düğmede `allowedUsers` ayarlayın (Discord kullanıcı kimlikleri, etiketleri veya `*`). Yapılandırıldığında, eşleşmeyen kullanıcılar geçici bir ret alır.
+Bir düğmeye kimin tıklayabileceğini kısıtlamak için o düğmede `allowedUsers` ayarlayın (Discord kullanıcı kimlikleri, etiketleri veya `*`). Yapılandırıldığında, eşleşmeyen kullanıcılar geçici bir ret alır.
-`/model` ve `/models` eğik çizgi komutları, sağlayıcı, model ve uyumlu çalışma zamanı açılır menüleri ile bir Gönder adımı içeren etkileşimli bir model seçici açar. `/models add` kullanımdan kaldırılmıştır ve artık modelleri sohbetten kaydetmek yerine bir kullanımdan kaldırma mesajı döndürür. Seçici yanıtı geçicidir ve yalnızca komutu çağıran kullanıcı bunu kullanabilir.
+`/model` ve `/models` slash komutları, sağlayıcı, model ve uyumlu çalışma zamanı açılır listeleri ile bir Gönder adımı içeren etkileşimli bir model seçici açar. `/models add` kullanımdan kaldırılmıştır ve artık sohbetten model kaydetmek yerine kullanımdan kaldırma iletisi döndürür. Seçici yanıtı geçicidir ve yalnızca çağıran kullanıcı tarafından kullanılabilir.
Dosya ekleri:
- `file` blokları bir ek referansına işaret etmelidir (`attachment://`)
-- Eki `media`/`path`/`filePath` üzerinden sağlayın (tek dosya); birden çok dosya için `media-gallery` kullanın
-- Yükleme adının ek referansıyla eşleşmesi gerektiğinde onu geçersiz kılmak için `filename` kullanın
+- Eki `media`/`path`/`filePath` aracılığıyla sağlayın (tek dosya); birden fazla dosya için `media-gallery` kullanın
+- Karşıya yükleme adının ek referansıyla eşleşmesi gerektiğinde adı geçersiz kılmak için `filename` kullanın
Modal formlar:
- En fazla 5 alanla `components.modal` ekleyin
- Alan türleri: `text`, `checkbox`, `radio`, `select`, `role-select`, `user-select`
-- OpenClaw otomatik olarak bir tetikleyici düğmesi ekler
+- OpenClaw otomatik olarak bir tetikleyici düğme ekler
Örnek:
@@ -428,38 +430,38 @@ Modal formlar:
## Erişim denetimi ve yönlendirme
-
+
`channels.discord.dmPolicy`, DM erişimini denetler. `channels.discord.allowFrom`, kanonik DM izin listesidir.
- `pairing` (varsayılan)
- `allowlist`
- - `open` (`channels.discord.allowFrom` öğesinin `"*"` içermesini gerektirir)
+ - `open` (`channels.discord.allowFrom` içinde `"*"` bulunmasını gerektirir)
- `disabled`
- DM politikası açık değilse, bilinmeyen kullanıcılar engellenir (veya `pairing` modunda eşleştirme istenir).
+ DM ilkesi açık değilse, bilinmeyen kullanıcılar engellenir (veya `pairing` modunda eşleştirme istenir).
Çoklu hesap önceliği:
- - `channels.discord.accounts.default.allowFrom` yalnızca `default` hesabına uygulanır.
- - Tek hesap için `allowFrom`, eski `dm.allowFrom` üzerinde önceliklidir.
+ - `channels.discord.accounts.default.allowFrom` yalnızca `default` hesabı için geçerlidir.
+ - Tek hesap için `allowFrom`, eski `dm.allowFrom` değerinden önceliklidir.
- Adlandırılmış hesaplar, kendi `allowFrom` ve eski `dm.allowFrom` ayarlanmamışsa `channels.discord.allowFrom` değerini devralır.
- Adlandırılmış hesaplar `channels.discord.accounts.default.allowFrom` değerini devralmaz.
- Eski `channels.discord.dm.policy` ve `channels.discord.dm.allowFrom` uyumluluk için hâlâ okunur. `openclaw doctor --fix`, erişimi değiştirmeden yapabildiğinde bunları `dmPolicy` ve `allowFrom` öğelerine taşır.
+ Eski `channels.discord.dm.policy` ve `channels.discord.dm.allowFrom`, uyumluluk için hâlâ okunur. `openclaw doctor --fix`, erişimi değiştirmeden yapabildiğinde bunları `dmPolicy` ve `allowFrom` alanlarına taşır.
- Teslim için DM hedef biçimi:
+ Teslimat için DM hedef biçimi:
- `user:`
- `<@id>` bahsi
- Çıplak sayısal kimlikler normalde bir kanal varsayılanı etkin olduğunda kanal kimlikleri olarak çözülür, ancak hesabın etkin DM `allowFrom` listesinde yer alan kimlikler uyumluluk için kullanıcı DM hedefleri olarak değerlendirilir.
+ Yalın sayısal kimlikler, bir kanal varsayılanı etkinken normalde kanal kimlikleri olarak çözümlenir, ancak hesabın etkin DM `allowFrom` listesinde yer alan kimlikler uyumluluk için kullanıcı DM hedefleri olarak değerlendirilir.
- Discord DM'leri, `channels.discord.allowFrom` içinde dinamik `accessGroup:` girdileri kullanabilir.
+ Discord DM'leri, `channels.discord.allowFrom` içinde dinamik `accessGroup:` girişlerini kullanabilir.
- Erişim grubu adları mesaj kanalları arasında paylaşılır. Üyeleri her kanalın normal `allowFrom` söz dizimiyle ifade edilen statik bir grup için `type: "message.senders"` kullanın veya bir Discord kanalının geçerli `ViewChannel` kitlesinin üyeliği dinamik olarak tanımlaması gerektiğinde `type: "discord.channelAudience"` kullanın. Paylaşılan erişim grubu davranışı burada belgelenmiştir: [Erişim grupları](/tr/channels/access-groups).
+ Erişim grubu adları ileti kanalları arasında paylaşılır. Üyeleri her kanalın normal `allowFrom` söz dizimiyle ifade edilen statik bir grup için `type: "message.senders"` kullanın veya bir Discord kanalının geçerli `ViewChannel` kitlesi üyeliği dinamik olarak tanımlamalıysa `type: "discord.channelAudience"` kullanın. Paylaşılan erişim grubu davranışı burada belgelenmiştir: [Erişim grupları](/tr/channels/access-groups).
```json5
{
@@ -482,9 +484,9 @@ Modal formlar:
}
```
- Bir Discord metin kanalının ayrı bir üye listesi yoktur. `type: "discord.channelAudience"` üyeliği şöyle modeller: DM gönderen, yapılandırılmış sunucunun bir üyesidir ve rol ve kanal üzerine yazmaları uygulandıktan sonra yapılandırılmış kanalda şu anda etkin `ViewChannel` iznine sahiptir.
+ Bir Discord metin kanalının ayrı bir üye listesi yoktur. `type: "discord.channelAudience"` üyeliği şu şekilde modeller: DM göndereni, yapılandırılmış sunucunun bir üyesidir ve rol ile kanal üzerine yazmaları uygulandıktan sonra yapılandırılmış kanalda geçerli `ViewChannel` iznine sahiptir.
- Örnek: `#maintainers` kanalını görebilen herkesin bota DM göndermesine izin verin, diğer herkese DM'leri kapalı tutun.
+ Örnek: `#maintainers` kanalını görebilen herkesin bota DM göndermesine izin verirken DM'leri diğer herkese kapalı tutma.
```json5
{
@@ -505,7 +507,7 @@ Modal formlar:
}
```
- Dinamik ve statik girdileri karıştırabilirsiniz:
+ Dinamik ve statik girişleri karıştırabilirsiniz:
```json5
{
@@ -525,27 +527,27 @@ Modal formlar:
}
```
- Aramalar kapalı şekilde başarısız olur. Discord `Missing Access` döndürürse, üye araması başarısız olursa veya kanal farklı bir sunucuya aitse, DM gönderen yetkisiz olarak değerlendirilir.
+ Aramalar güvenli biçimde kapalı başarısız olur. Discord `Missing Access` döndürürse, üye araması başarısız olursa veya kanal farklı bir sunucuya aitse, DM göndereni yetkisiz kabul edilir.
- Kanal kitlesi erişim grupları kullanırken bot için Discord Developer Portal **Server Members Intent** özelliğini etkinleştirin. DM'ler sunucu üyesi durumunu içermez, bu yüzden OpenClaw üyeyi yetkilendirme sırasında Discord REST üzerinden çözer.
+ Kanal kitlesi erişim gruplarını kullanırken bot için Discord Developer Portal **Server Members Intent** özelliğini etkinleştirin. DM'ler sunucu üye durumunu içermez, bu nedenle OpenClaw yetkilendirme sırasında üyeyi Discord REST üzerinden çözümler.
-
+
Sunucu işleme `channels.discord.groupPolicy` tarafından denetlenir:
- `open`
- `allowlist`
- `disabled`
- `channels.discord` mevcut olduğunda güvenli temel değer `allowlist` olur.
+ `channels.discord` mevcut olduğunda güvenli temel çizgi `allowlist` değeridir.
`allowlist` davranışı:
- sunucu `channels.discord.guilds` ile eşleşmelidir (`id` tercih edilir, slug kabul edilir)
- - isteğe bağlı gönderen izin listeleri: `users` (kararlı kimlikler önerilir) ve `roles` (yalnızca rol kimlikleri); herhangi biri yapılandırılmışsa, gönderenler `users` VEYA `roles` ile eşleştiklerinde izinli olur
- - doğrudan ad/etiket eşleştirme varsayılan olarak devre dışıdır; `channels.discord.dangerouslyAllowNameMatching: true` ayarını yalnızca acil uyumluluk modu olarak etkinleştirin
- - `users` için adlar/etiketler desteklenir, ancak kimlikler daha güvenlidir; ad/etiket girdileri kullanıldığında `openclaw security audit` uyarır
+ - isteğe bağlı gönderen izin listeleri: `users` (kararlı kimlikler önerilir) ve `roles` (yalnızca rol kimlikleri); ikisinden biri yapılandırılmışsa, gönderenler `users` VEYA `roles` ile eşleştiklerinde izinli olur
+ - doğrudan ad/etiket eşleştirme varsayılan olarak devre dışıdır; `channels.discord.dangerouslyAllowNameMatching: true` değerini yalnızca acil uyumluluk modu olarak etkinleştirin
+ - `users` için adlar/etiketler desteklenir, ancak kimlikler daha güvenlidir; ad/etiket girişleri kullanıldığında `openclaw security audit` uyarır
- bir sunucuda `channels` yapılandırılmışsa, listelenmeyen kanallar reddedilir
- bir sunucuda `channels` bloğu yoksa, izin listesindeki o sunucunun tüm kanallarına izin verilir
@@ -573,23 +575,23 @@ Modal formlar:
}
```
- Yalnızca `DISCORD_BOT_TOKEN` ayarlarsanız ve bir `channels.discord` bloğu oluşturmazsanız, çalışma zamanı geri dönüşü `groupPolicy="allowlist"` olur (günlüklerde bir uyarıyla), `channels.defaults.groupPolicy` `open` olsa bile.
+ Yalnızca `DISCORD_BOT_TOKEN` ayarlar ve bir `channels.discord` bloğu oluşturmazsanız, `channels.defaults.groupPolicy` `open` olsa bile çalışma zamanı geri dönüşü `groupPolicy="allowlist"` olur (günlüklerde bir uyarıyla).
- Sunucu mesajları varsayılan olarak bahse bağlıdır.
+ Sunucu iletileri varsayılan olarak bahis kapılıdır.
Bahis algılama şunları içerir:
- açık bot bahsi
- - yapılandırılmış bahis desenleri (`agents.list[].groupChat.mentionPatterns`, geri dönüş `messages.groupChat.mentionPatterns`)
- - desteklenen durumlarda örtük bota yanıt verme davranışı
+ - yapılandırılmış bahis kalıpları (`agents.list[].groupChat.mentionPatterns`, yedek `messages.groupChat.mentionPatterns`)
+ - desteklenen durumlarda örtük bota-yanıt davranışı
- Giden Discord mesajları yazarken kanonik bahis söz dizimini kullanın: kullanıcılar için `<@USER_ID>`, kanallar için `<#CHANNEL_ID>` ve roller için `<@&ROLE_ID>`. Eski `<@!USER_ID>` takma ad bahis biçimini kullanmayın.
+ Giden Discord iletileri yazarken kanonik bahis söz dizimini kullanın: kullanıcılar için `<@USER_ID>`, kanallar için `<#CHANNEL_ID>` ve roller için `<@&ROLE_ID>`. Eski `<@!USER_ID>` takma ad bahis biçimini kullanmayın.
`requireMention` sunucu/kanal başına yapılandırılır (`channels.discord.guilds...`).
- `ignoreOtherMentions`, isteğe bağlı olarak botu değil başka bir kullanıcıyı/rolü bahseden mesajları düşürür (@everyone/@here hariç).
+ `ignoreOtherMentions`, isteğe bağlı olarak botu değil başka bir kullanıcıyı/rolü bahseden iletileri bırakır (@everyone/@here hariç).
Grup DM'leri:
@@ -599,9 +601,9 @@ Modal formlar:
-### Rol tabanlı ajan yönlendirme
+### Role dayalı ajan yönlendirme
-Discord sunucu üyelerini rol kimliğine göre farklı ajanlara yönlendirmek için `bindings[].match.roles` kullanın. Rol tabanlı bağlamalar yalnızca rol kimliklerini kabul eder ve eş ya da üst-eş bağlamalarından sonra, yalnızca sunucu bağlamalarından önce değerlendirilir. Bir bağlama başka eşleşme alanları da ayarlarsa (örneğin `peer` + `guildId` + `roles`), yapılandırılmış tüm alanlar eşleşmelidir.
+Discord sunucu üyelerini rol kimliğine göre farklı ajanlara yönlendirmek için `bindings[].match.roles` kullanın. Role dayalı bağlamalar yalnızca rol kimliklerini kabul eder ve eş veya üst eş bağlamalarından sonra, yalnızca sunucu bağlamalarından önce değerlendirilir. Bir bağlama başka eşleşme alanları da ayarlarsa (örneğin `peer` + `guildId` + `roles`), yapılandırılmış tüm alanlar eşleşmelidir.
```json5
{
@@ -627,13 +629,13 @@ Discord sunucu üyelerini rol kimliğine göre farklı ajanlara yönlendirmek i
## Yerel komutlar ve komut yetkilendirmesi
-- `commands.native` varsayılan olarak `"auto"` değerine sahiptir ve Discord için etkindir.
-- Kanal bazında geçersiz kılma: `channels.discord.commands.native`.
-- `commands.native=false`, başlangıç sırasında Discord slash komutu kaydını ve temizliğini atlar. Önceden kaydedilmiş komutlar, onları Discord uygulamasından kaldırana kadar Discord içinde görünür kalabilir.
-- Yerel komut kimlik doğrulaması, normal mesaj işleme ile aynı Discord izin listelerini/ilkelerini kullanır.
-- Komutlar, yetkili olmayan kullanıcılar için Discord arayüzünde hâlâ görünür olabilir; yürütme yine de OpenClaw kimlik doğrulamasını uygular ve "yetkili değil" döndürür.
+- `commands.native`, varsayılan olarak `"auto"` değerini alır ve Discord için etkindir.
+- Kanal başına geçersiz kılma: `channels.discord.commands.native`.
+- `commands.native=false`, başlangıç sırasında Discord slash-command kaydını ve temizliğini atlar. Daha önce kaydedilmiş komutlar, onları Discord uygulamasından kaldırana kadar Discord içinde görünür kalabilir.
+- Yerel komut kimlik doğrulaması, normal ileti işleme ile aynı Discord izin listelerini/politikalarını kullanır.
+- Komutlar yetkili olmayan kullanıcılar için Discord kullanıcı arayüzünde hâlâ görünebilir; yürütme yine de OpenClaw kimlik doğrulamasını uygular ve "yetkili değil" döndürür.
-Komut kataloğu ve davranışı için [Slash komutları](/tr/tools/slash-commands) bölümüne bakın.
+Komut kataloğu ve davranışı için bkz. [Slash komutları](/tr/tools/slash-commands).
Varsayılan slash komutu ayarları:
@@ -643,33 +645,33 @@ Varsayılan slash komutu ayarları:
- Discord, aracı çıktısında yanıt etiketlerini destekler:
+ Discord, ajan çıktısında yanıt etiketlerini destekler:
- `[[reply_to_current]]`
- `[[reply_to:]]`
- `channels.discord.replyToMode` ile denetlenir:
+ `channels.discord.replyToMode` tarafından denetlenir:
- `off` (varsayılan)
- `first`
- `all`
- `batched`
- Not: `off`, örtük yanıt iş parçacığını devre dışı bırakır. Açık `[[reply_to_*]]` etiketleri yine de dikkate alınır.
- `first`, dönüş için ilk giden Discord mesajına örtük yerel yanıt başvurusunu her zaman ekler.
- `batched`, Discord'un örtük yerel yanıt başvurusunu yalnızca gelen dönüş,
- birden çok mesajdan oluşan debounce uygulanmış bir toplu işlem olduğunda ekler. Bu,
- yerel yanıtları her tek mesajlı dönüş için değil, özellikle belirsiz ve yoğun sohbetler için
+ Not: `off`, örtük yanıt iş parçacığı oluşturmayı devre dışı bırakır. Açık `[[reply_to_*]]` etiketleri yine de dikkate alınır.
+ `first`, örtük yerel yanıt referansını her zaman turdaki ilk giden Discord iletisine ekler.
+ `batched`, Discord'un örtük yerel yanıt referansını yalnızca
+ gelen tur birden fazla iletiden oluşan debounce uygulanmış bir toplu işlem olduğunda ekler. Bu,
+ yerel yanıtları her tek iletili tur için değil, ağırlıklı olarak belirsiz ve yoğun sohbetler için
istediğinizde kullanışlıdır.
- Mesaj kimlikleri bağlamda/geçmişte sunulur, böylece aracılar belirli mesajları hedefleyebilir.
+ İleti kimlikleri bağlamda/geçmişte sunulur, böylece ajanlar belirli iletileri hedefleyebilir.
- OpenClaw, geçici bir mesaj gönderip metin geldikçe onu düzenleyerek taslak yanıtları akışa alabilir. `channels.discord.streaming`, `off` (varsayılan) | `partial` | `block` | `progress` değerlerini alır. `progress`, düzenlenebilir tek bir durum taslağını tutar ve son teslimata kadar araç ilerlemesiyle günceller; `streamMode` eski bir takma addır ve otomatik olarak geçirilir.
+ OpenClaw, geçici bir ileti gönderip metin geldikçe onu düzenleyerek taslak yanıtları akışla iletebilir. `channels.discord.streaming`, `off` (varsayılan) | `partial` | `block` | `progress` değerlerini alır. `progress`, düzenlenebilir tek bir durum taslağını tutar ve son teslimata kadar araç ilerlemesiyle günceller; `streamMode` eski bir takma addır ve otomatik olarak geçirilir.
- Discord önizleme düzenlemeleri, birden çok bot veya Gateway aynı hesabı paylaştığında hız sınırlarına hızla takıldığı için varsayılan değer `off` olarak kalır.
+ Varsayılan `off` olarak kalır, çünkü birden fazla bot veya Gateway bir hesabı paylaştığında Discord önizleme düzenlemeleri hız sınırlarına hızla takılır.
```json5
{
@@ -686,12 +688,12 @@ Varsayılan slash komutu ayarları:
}
```
- - `partial`, token'lar geldikçe tek bir önizleme mesajını düzenler.
+ - `partial`, token'lar geldikçe tek bir önizleme iletisini düzenler.
- `block`, taslak boyutunda parçalar yayar (boyutu ve kesme noktalarını ayarlamak için `draftChunk` kullanın; `textChunkLimit` ile sınırlandırılır).
- - Medya, hata ve açık yanıt sonları bekleyen önizleme düzenlemelerini iptal eder.
- - `streaming.preview.toolProgress` (varsayılan `true`), araç/ilerleme güncellemelerinin önizleme mesajını yeniden kullanıp kullanmayacağını denetler.
+ - Medya, hata ve açık yanıt son iletileri bekleyen önizleme düzenlemelerini iptal eder.
+ - `streaming.preview.toolProgress` (varsayılan `true`), araç/ilerleme güncellemelerinin önizleme iletisini yeniden kullanıp kullanmayacağını denetler.
- Önizleme akışı yalnızca metin içindir; medya yanıtları normal teslimata geri döner. `block` akışı açıkça etkinleştirildiğinde OpenClaw, çift akışı önlemek için önizleme akışını atlar.
+ Önizleme akışı yalnızca metin içindir; medya yanıtları normal teslimata geri döner. `block` akışı açıkça etkinleştirildiğinde, OpenClaw çift akışı önlemek için önizleme akışını atlar.
@@ -699,10 +701,10 @@ Varsayılan slash komutu ayarları:
Sunucu geçmişi bağlamı:
- `channels.discord.historyLimit` varsayılan `20`
- - geri dönüş: `messages.groupChat.historyLimit`
+ - yedek: `messages.groupChat.historyLimit`
- `0` devre dışı bırakır
- DM geçmişi denetimleri:
+ DM geçmiş denetimleri:
- `channels.discord.dmHistoryLimit`
- `channels.discord.dms[""].historyLimit`
@@ -710,25 +712,25 @@ Varsayılan slash komutu ayarları:
İş parçacığı davranışı:
- Discord iş parçacıkları kanal oturumları olarak yönlendirilir ve geçersiz kılınmadıkça üst kanal yapılandırmasını devralır.
- - İş parçacığı oturumları, üst kanalın oturum düzeyi `/model` seçimini yalnızca model için geri dönüş olarak devralır; iş parçacığına yerel `/model` seçimleri yine de önceliklidir ve transcript devralma etkinleştirilmedikçe üst transcript geçmişi kopyalanmaz.
- - `channels.discord.thread.inheritParent` (varsayılan `false`), yeni otomatik iş parçacıklarının üst transcript'ten tohumlanmasını sağlar. Hesap bazında geçersiz kılmalar `channels.discord.accounts..thread.inheritParent` altında bulunur.
- - Mesaj aracı tepkileri `user:` DM hedeflerini çözebilir.
- - `guilds..channels..requireMention: false`, yanıt aşaması etkinleştirme geri dönüşü sırasında korunur.
+ - İş parçacığı oturumları, üst kanalın oturum düzeyi `/model` seçimini yalnızca model için yedek olarak devralır; iş parçacığına yerel `/model` seçimleri yine de önceliklidir ve transkript devralma etkinleştirilmedikçe üst transkript geçmişi kopyalanmaz.
+ - `channels.discord.thread.inheritParent` (varsayılan `false`), yeni otomatik iş parçacıklarının üst transkriptten başlatılmasını seçer. Hesap başına geçersiz kılmalar `channels.discord.accounts..thread.inheritParent` altında bulunur.
+ - İleti aracı tepkileri `user:` DM hedeflerini çözebilir.
+ - `guilds..channels..requireMention: false`, yanıt aşaması etkinleştirme yedeği sırasında korunur.
- Kanal konuları **güvenilmeyen** bağlam olarak enjekte edilir. İzin listeleri, aracıyı kimin tetikleyebileceğini sınırlar; tam bir ek bağlam redaksiyon sınırı değildir.
+ Kanal konuları **güvenilmeyen** bağlam olarak enjekte edilir. İzin listeleri ajanı kimin tetikleyebileceğini belirler; tam bir ek bağlam redaksiyon sınırı değildir.
-
- Discord, bir iş parçacığını bir oturum hedefine bağlayabilir; böylece o iş parçacığındaki takip mesajları aynı oturuma yönlendirilmeye devam eder (alt aracı oturumları dahil).
+
+ Discord, bir iş parçacığını bir oturum hedefine bağlayabilir; böylece o iş parçacığındaki takip iletileri aynı oturuma yönlendirilmeye devam eder (alt ajan oturumları dahil).
Komutlar:
- - `/focus ` mevcut/yeni iş parçacığını bir alt aracı/oturum hedefine bağla
- - `/unfocus` mevcut iş parçacığı bağlamasını kaldır
- - `/agents` etkin çalışmaları ve bağlama durumunu göster
- - `/session idle ` odaklanmış bağlamalar için hareketsizlik otomatik odak kaldırmayı incele/güncelle
- - `/session max-age ` odaklanmış bağlamalar için zorunlu en yüksek yaşı incele/güncelle
+ - `/focus ` geçerli/yeni iş parçacığını bir alt ajan/oturum hedefine bağla
+ - `/unfocus` geçerli iş parçacığı bağını kaldır
+ - `/agents` etkin çalıştırmaları ve bağ durumunu göster
+ - `/session idle ` odaklanmış bağlar için hareketsizlikte otomatik odak kaldırmayı incele/güncelle
+ - `/session max-age ` odaklanmış bağlar için katı azami yaşı incele/güncelle
Yapılandırma:
@@ -759,17 +761,17 @@ Varsayılan slash komutu ayarları:
- `session.threadBindings.*` genel varsayılanları ayarlar.
- `channels.discord.threadBindings.*` Discord davranışını geçersiz kılar.
- - `spawnSessions`, `sessions_spawn({ thread: true })` ve ACP iş parçacığı oluşturma işlemleri için iş parçacıklarını otomatik oluşturmayı/bağlamayı denetler. Varsayılan: `true`.
- - `defaultSpawnContext`, iş parçacığına bağlı oluşturmalar için yerel alt aracı bağlamını denetler. Varsayılan: `"fork"`.
+ - `spawnSessions`, `sessions_spawn({ thread: true })` ve ACP iş parçacığı oluşturma için iş parçacıklarının otomatik oluşturulmasını/bağlanmasını denetler. Varsayılan: `true`.
+ - `defaultSpawnContext`, iş parçacığına bağlı oluşturma için yerel alt ajan bağlamını denetler. Varsayılan: `"fork"`.
- Kullanımdan kaldırılmış `spawnSubagentSessions`/`spawnAcpSessions` anahtarları `openclaw doctor --fix` tarafından geçirilir.
- - Bir hesap için iş parçacığı bağlamaları devre dışı bırakılmışsa `/focus` ve ilgili iş parçacığı bağlama işlemleri kullanılamaz.
+ - Bir hesap için iş parçacığı bağları devre dışıysa `/focus` ve ilgili iş parçacığı bağlama işlemleri kullanılamaz.
- [Alt aracılar](/tr/tools/subagents), [ACP Aracıları](/tr/tools/acp-agents) ve [Yapılandırma Referansı](/tr/gateway/configuration-reference) bölümlerine bakın.
+ Bkz. [Alt ajanlar](/tr/tools/subagents), [ACP Ajanları](/tr/tools/acp-agents) ve [Yapılandırma Referansı](/tr/gateway/configuration-reference).
-
- Kararlı "her zaman açık" ACP çalışma alanları için Discord konuşmalarını hedefleyen üst düzey tipli ACP bağlamaları yapılandırın.
+
+ Kararlı ve "her zaman açık" ACP çalışma alanları için, Discord konuşmalarını hedefleyen üst düzey türlenmiş ACP bağları yapılandırın.
Yapılandırma yolu:
@@ -825,16 +827,16 @@ Varsayılan slash komutu ayarları:
Notlar:
- - `/acp spawn codex --bind here`, mevcut kanalı veya iş parçacığını yerinde bağlar ve gelecekteki mesajları aynı ACP oturumunda tutar. İş parçacığı mesajları üst kanal bağlamasını devralır.
- - Bağlı bir kanalda veya iş parçacığında `/new` ve `/reset`, aynı ACP oturumunu yerinde sıfırlar. Geçici iş parçacığı bağlamaları etkin olduğu sürece hedef çözümlemesini geçersiz kılabilir.
- - `spawnSessions`, `--thread auto|here` üzerinden alt iş parçacığı oluşturmayı/bağlamayı sınırlar.
+ - `/acp spawn codex --bind here`, geçerli kanalı veya iş parçacığını yerinde bağlar ve gelecekteki iletileri aynı ACP oturumunda tutar. İş parçacığı iletileri üst kanal bağını devralır.
+ - Bağlı bir kanalda veya iş parçacığında, `/new` ve `/reset` aynı ACP oturumunu yerinde sıfırlar. Geçici iş parçacığı bağları etkinken hedef çözümlemeyi geçersiz kılabilir.
+ - `spawnSessions`, `--thread auto|here` aracılığıyla alt iş parçacığı oluşturmayı/bağlamayı kapılar.
- Bağlama davranışı ayrıntıları için [ACP Aracıları](/tr/tools/acp-agents) bölümüne bakın.
+ Bağ davranışı ayrıntıları için bkz. [ACP Ajanları](/tr/tools/acp-agents).
- Sunucu bazında tepki bildirimi modu:
+ Sunucu başına tepki bildirim modu:
- `off`
- `own` (varsayılan)
@@ -846,14 +848,14 @@ Varsayılan slash komutu ayarları:
- `ackReaction`, OpenClaw gelen bir mesajı işlerken bir onay emojisi gönderir.
+ OpenClaw gelen bir iletiyi işlerken `ackReaction` bir onay emojisi gönderir.
Çözümleme sırası:
- `channels.discord.accounts..ackReaction`
- `channels.discord.ackReaction`
- `messages.ackReaction`
- - aracı kimliği emoji geri dönüşü (`agents.list[].identity.emoji`, aksi halde "👀")
+ - ajan kimliği emoji yedeği (`agents.list[].identity.emoji`, yoksa "👀")
Notlar:
@@ -862,12 +864,12 @@ Varsayılan slash komutu ayarları:
-
- Kanal tarafından başlatılan yapılandırma yazmaları varsayılan olarak etkindir.
+
+ Kanal tarafından başlatılan yapılandırma yazımları varsayılan olarak etkindir.
- Bu, `/config set|unset` akışlarını etkiler (komut özellikleri etkin olduğunda).
+ Bu, `/config set|unset` akışlarını etkiler (komut özellikleri etkinken).
- Devre dışı bırak:
+ Devre dışı bırakma:
```json5
{
@@ -882,7 +884,7 @@ Varsayılan slash komutu ayarları:
- Discord Gateway WebSocket trafiğini ve başlangıç REST aramalarını (uygulama kimliği + izin listesi çözümlemesi) `channels.discord.proxy` ile bir HTTP(S) proxy üzerinden yönlendirin.
+ Discord Gateway WebSocket trafiğini ve başlangıç REST aramalarını (uygulama kimliği + izin listesi çözümleme) `channels.discord.proxy` ile bir HTTP(S) proxy üzerinden yönlendirin.
```json5
{
@@ -894,7 +896,7 @@ Varsayılan slash komutu ayarları:
}
```
- Hesap bazında geçersiz kılma:
+ Hesap başına geçersiz kılma:
```json5
{
@@ -913,7 +915,7 @@ Varsayılan slash komutu ayarları:
- Proxy'lenmiş mesajları sistem üyesi kimliğine eşlemek için PluralKit çözümlemesini etkinleştirin:
+ Proxy'lenmiş iletileri sistem üyesi kimliğine eşlemek için PluralKit çözümlemesini etkinleştirin:
```json5
{
@@ -921,7 +923,7 @@ Varsayılan slash komutu ayarları:
discord: {
pluralkit: {
enabled: true,
- token: "pk_live_...", // optional; needed for private systems
+ token: "pk_live_...", // isteğe bağlı; özel sistemler için gerekir
},
},
},
@@ -932,13 +934,13 @@ Varsayılan slash komutu ayarları:
- izin listeleri `pk:` kullanabilir
- üye görünen adları yalnızca `channels.discord.dangerouslyAllowNameMatching: true` olduğunda ad/slug ile eşleştirilir
- - aramalar özgün mesaj kimliğini kullanır ve zaman penceresiyle sınırlandırılır
- - arama başarısız olursa proxy'lenmiş mesajlar bot mesajı olarak değerlendirilir ve `allowBots=true` olmadığı sürece bırakılır
+ - aramalar özgün ileti kimliğini kullanır ve zaman penceresiyle sınırlandırılır
+ - arama başarısız olursa proxy'lenmiş iletiler bot iletisi olarak ele alınır ve `allowBots=true` olmadığı sürece düşürülür
- Aracılar bilinen Discord kullanıcıları için deterministik giden bahsetmelere ihtiyaç duyduğunda `mentionAliases` kullanın. Anahtarlar baştaki `@` olmadan kullanıcı adlarıdır; değerler Discord kullanıcı kimlikleridir. Bilinmeyen kullanıcı adları, `@everyone`, `@here` ve Markdown kod span'leri içindeki bahsetmeler değiştirilmeden bırakılır.
+ Ajanlar bilinen Discord kullanıcıları için belirleyici giden bahsetmelere ihtiyaç duyduğunda `mentionAliases` kullanın. Anahtarlar baştaki `@` olmadan tanıtıcılardır; değerler Discord kullanıcı kimlikleridir. Bilinmeyen tanıtıcılar, `@everyone`, `@here` ve Markdown kod aralıkları içindeki bahsetmeler değişmeden bırakılır.
```json5
{
@@ -961,8 +963,8 @@ Varsayılan slash komutu ayarları:
-
- Bir durum veya etkinlik alanı ayarladığınızda ya da otomatik presence'ı etkinleştirdiğinizde presence güncellemeleri uygulanır.
+
+ Varlık güncellemeleri, bir durum veya etkinlik alanı ayarladığınızda ya da otomatik varlığı etkinleştirdiğinizde uygulanır.
Yalnızca durum örneği:
@@ -1012,7 +1014,7 @@ Varsayılan slash komutu ayarları:
- 4: Özel (etkinlik metnini durum hali olarak kullanır; emoji isteğe bağlıdır)
- 5: Yarışıyor
- Otomatik presence örneği (çalışma zamanı sağlık sinyali):
+ Otomatik varlık örneği (çalışma zamanı sağlık sinyali):
```json5
{
@@ -1022,14 +1024,14 @@ Varsayılan slash komutu ayarları:
enabled: true,
intervalMs: 30000,
minUpdateIntervalMs: 15000,
- exhaustedText: "token exhausted",
+ exhaustedText: "token tükendi",
},
},
},
}
```
- Otomatik presence, çalışma zamanı kullanılabilirliğini Discord durumuna eşler: sağlıklı => çevrim içi, düşmüş veya bilinmeyen => boşta, tükenmiş veya kullanılamaz => rahatsız etmeyin. İsteğe bağlı metin geçersiz kılmaları:
+ Otomatik varlık çalışma zamanı kullanılabilirliğini Discord durumuna eşler: sağlıklı => çevrimiçi, bozulmuş veya bilinmiyor => boşta, tükenmiş veya kullanılamaz => dnd. İsteğe bağlı metin geçersiz kılmaları:
- `autoPresence.healthyText`
- `autoPresence.degradedText`
@@ -1047,20 +1049,22 @@ Varsayılan slash komutu ayarları:
- `channels.discord.execApprovals.target` (`dm` | `channel` | `both`, varsayılan: `dm`)
- `agentFilter`, `sessionFilter`, `cleanupAfterResolve`
- Discord, `enabled` ayarlanmamışsa veya `"auto"` ise ve `execApprovals.approvers` ya da `commands.ownerAllowFrom` üzerinden en az bir onaylayan çözümlenebiliyorsa yerel exec onaylarını otomatik olarak etkinleştirir. Discord, kanal `allowFrom`, eski `dm.allowFrom` veya doğrudan mesaj `defaultTo` değerlerinden exec onaylayıcılarını çıkarmaz. Discord'u yerel onay istemcisi olarak açıkça devre dışı bırakmak için `enabled: false` ayarlayın.
+ Discord, `enabled` ayarlanmamışsa veya `"auto"` ise ve en az bir onaylayıcı çözümlenebiliyorsa, `execApprovals.approvers` ya da `commands.ownerAllowFrom` üzerinden native exec onaylarını otomatik olarak etkinleştirir. Discord, exec onaylayıcılarını kanal `allowFrom`, eski `dm.allowFrom` veya doğrudan mesaj `defaultTo` üzerinden çıkarımsamaz. Discord'u native onay istemcisi olarak açıkça devre dışı bırakmak için `enabled: false` ayarlayın.
- `/diagnostics` ve `/export-trajectory` gibi hassas, yalnızca sahiplerin kullanabildiği grup komutları için OpenClaw onay istemlerini ve nihai sonuçları özel olarak gönderir. Çağıran sahibin bir Discord sahip rotası varsa önce Discord DM dener; bu yoksa Telegram gibi `commands.ownerAllowFrom` içindeki ilk kullanılabilir sahip rotasına geri döner.
+ `/diagnostics` ve `/export-trajectory` gibi hassas, yalnızca sahip komutlarına açık grup komutları için OpenClaw onay istemlerini ve nihai sonuçları özel olarak gönderir. Çağıran sahibin bir Discord sahip rotası varsa önce Discord DM denemesi yapar; bu yoksa Telegram gibi `commands.ownerAllowFrom` içindeki ilk kullanılabilir sahip rotasına geri döner.
- `target`, `channel` veya `both` olduğunda onay istemi kanalda görünür. Düğmeleri yalnızca çözümlenmiş onaylayanlar kullanabilir; diğer kullanıcılar geçici bir ret alır. Onay istemleri komut metnini içerir, bu yüzden kanal teslimini yalnızca güvenilir kanallarda etkinleştirin. Kanal kimliği oturum anahtarından türetilemiyorsa OpenClaw DM teslimine geri döner.
+ `target`, `channel` veya `both` olduğunda onay istemi kanalda görünür. Düğmeleri yalnızca çözümlenen onaylayıcılar kullanabilir; diğer kullanıcılar geçici bir ret alır. Onay istemleri komut metnini içerir, bu nedenle kanal teslimini yalnızca güvenilir kanallarda etkinleştirin. Kanal kimliği oturum anahtarından türetilemiyorsa OpenClaw DM teslimine geri döner.
- Discord, diğer sohbet kanalları tarafından kullanılan paylaşılan onay düğmelerini de işler. Yerel Discord adaptörü esas olarak onaylayan DM yönlendirmesi ve kanal dağıtımı ekler.
+ Discord ayrıca diğer sohbet kanalları tarafından kullanılan paylaşılan onay düğmelerini de işler. Native Discord bağdaştırıcısı temel olarak onaylayıcı DM yönlendirmesi ve kanal dağıtımı ekler.
Bu düğmeler mevcut olduğunda birincil onay UX'i bunlardır; OpenClaw
- yalnızca araç sonucu sohbet onaylarının kullanılamadığını veya manuel onayın tek yol olduğunu söylediğinde manuel bir `/approve` komutu eklemelidir.
- Discord yerel onay çalışma zamanı etkin değilse OpenClaw yerel deterministik
- `/approve ` istemini görünür tutar. Çalışma zamanı etkinse ancak yerel kart hiçbir hedefe teslim edilemiyorsa
- OpenClaw bekleyen onaydan alınan tam `/approve` komutuyla aynı sohbet içinde bir geri dönüş bildirimi gönderir.
+ yalnızca araç sonucu sohbet onaylarının kullanılamadığını veya manuel onayın tek yol olduğunu
+ söylediğinde manuel bir `/approve` komutu içermelidir.
+ Discord native onay çalışma zamanı etkin değilse OpenClaw yerel belirleyici
+ `/approve ` istemini görünür tutar. Çalışma zamanı etkinse ancak herhangi bir hedefe native kart teslim edilemiyorsa
+ OpenClaw, bekleyen onaydan alınan tam `/approve`
+ komutuyla aynı sohbet içinde yedek bir bildirim gönderir.
- Gateway kimlik doğrulaması ve onay çözümlemesi paylaşılan Gateway istemci sözleşmesini izler (`plugin:` kimlikleri `plugin.approval.resolve` üzerinden, diğer kimlikler `exec.approval.resolve` üzerinden çözümlenir). Onaylar varsayılan olarak 30 dakika sonra sona erer.
+ Gateway kimlik doğrulaması ve onay çözümlemesi, paylaşılan Gateway istemci sözleşmesini izler (`plugin:` kimlikleri `plugin.approval.resolve` üzerinden; diğer kimlikler `exec.approval.resolve` üzerinden çözümlenir). Onaylar varsayılan olarak 30 dakika sonra sona erer.
Bkz. [Exec onayları](/tr/tools/exec-approvals).
@@ -1069,9 +1073,9 @@ Varsayılan slash komutu ayarları:
## Araçlar ve eylem kapıları
-Discord mesaj eylemleri mesajlaşma, kanal yönetimi, moderasyon, durum ve metadata eylemlerini içerir.
+Discord mesaj eylemleri mesajlaşma, kanal yöneticiliği, moderasyon, durum ve meta veri eylemlerini içerir.
-Çekirdek örnekler:
+Temel örnekler:
- mesajlaşma: `sendMessage`, `readMessages`, `editMessage`, `deleteMessage`, `threadReply`
- tepkiler: `react`, `reactions`, `emojiList`
@@ -1084,20 +1088,20 @@ Eylem kapıları `channels.discord.actions.*` altında bulunur.
Varsayılan kapı davranışı:
-| Eylem grubu | Varsayılan |
-| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------- |
-| reactions, messages, threads, pins, polls, search, memberInfo, roleInfo, channelInfo, channels, voiceStatus, events, stickers, emojiUploads, stickerUploads, permissions | etkin |
-| roles | devre dışı |
-| moderation | devre dışı |
-| presence | devre dışı |
+| Eylem grubu | Varsayılan |
+| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ---------- |
+| reactions, messages, threads, pins, polls, search, memberInfo, roleInfo, channelInfo, channels, voiceStatus, events, stickers, emojiUploads, stickerUploads, permissions | enabled |
+| roles | disabled |
+| moderation | disabled |
+| presence | disabled |
## Components v2 UI
-OpenClaw, exec onayları ve bağlamlar arası işaretçiler için Discord components v2 kullanır. Discord mesaj eylemleri özel UI için `components` da kabul edebilir (gelişmiş; discord aracı üzerinden bir bileşen yükü oluşturmayı gerektirir), eski `embeds` hâlâ kullanılabilir ancak önerilmez.
+OpenClaw, exec onayları ve bağlamlar arası işaretleyiciler için Discord components v2 kullanır. Discord mesaj eylemleri özel UI için `components` da kabul edebilir (gelişmiş; discord aracı üzerinden bir component yükü oluşturmayı gerektirir), eski `embeds` ise kullanılabilir kalır ancak önerilmez.
-- `channels.discord.ui.components.accentColor`, Discord bileşen kapsayıcıları tarafından kullanılan vurgu rengini ayarlar (hex).
+- `channels.discord.ui.components.accentColor`, Discord component kapsayıcıları tarafından kullanılan vurgu rengini ayarlar (hex).
- Hesap başına `channels.discord.accounts..ui.components.accentColor` ile ayarlayın.
-- Components v2 mevcut olduğunda `embeds` yok sayılır.
+- components v2 mevcut olduğunda `embeds` yok sayılır.
Örnek:
@@ -1117,17 +1121,17 @@ OpenClaw, exec onayları ve bağlamlar arası işaretçiler için Discord compon
## Ses
-Discord'un iki ayrı ses yüzeyi vardır: gerçek zamanlı **ses kanalları** (sürekli konuşmalar) ve **sesli mesaj ekleri** (dalga biçimi önizleme biçimi). Gateway ikisini de destekler.
+Discord'un iki ayrı ses yüzeyi vardır: gerçek zamanlı **ses kanalları** (sürekli konuşmalar) ve **sesli mesaj ekleri** (dalga formu önizleme biçimi). Gateway her ikisini de destekler.
### Ses kanalları
Kurulum kontrol listesi:
-1. Discord Developer Portal içinde Message Content Intent'i etkinleştirin.
-2. Rol/kullanıcı izin listeleri kullanıldığında Server Members Intent'i etkinleştirin.
+1. Discord Developer Portal içinde Message Content Intent etkinleştirin.
+2. Rol/kullanıcı izin listeleri kullanıldığında Server Members Intent etkinleştirin.
3. Botu `bot` ve `applications.commands` kapsamlarıyla davet edin.
4. Hedef ses kanalında Connect, Speak, Send Messages ve Read Message History izinlerini verin.
-5. Yerel komutları (`commands.native` veya `channels.discord.commands.native`) etkinleştirin.
+5. Native komutları (`commands.native` veya `channels.discord.commands.native`) etkinleştirin.
6. `channels.discord.voice` yapılandırın.
Oturumları kontrol etmek için `/vc join|leave|status` kullanın. Komut, hesap varsayılan aracısını kullanır ve diğer Discord komutlarıyla aynı izin listesi ve grup ilkesi kurallarını izler.
@@ -1170,32 +1174,32 @@ Otomatik katılma örneği:
Notlar:
- `voice.tts`, yalnızca ses oynatma için `messages.tts` değerini geçersiz kılar.
-- `voice.model`, yalnızca Discord ses kanalı yanıtları için kullanılan LLM'yi geçersiz kılar. Yönlendirilen aracı modelini devralmak için ayarlanmamış bırakın.
-- STT, `tools.media.audio` kullanır; `voice.model` transkripsiyonu etkilemez.
-- Kanal başına Discord `systemPrompt` geçersiz kılmaları, o ses kanalı için ses transkripti turlarına uygulanır.
-- Ses transkripti turları sahip durumunu Discord `allowFrom` (veya `dm.allowFrom`) değerinden türetir; sahip olmayan konuşmacılar yalnızca sahip araçlarına (örneğin `gateway` ve `cron`) erişemez.
-- Discord sesi, yalnızca metin yapılandırmaları için isteğe bağlıdır; `/vc` komutlarını, ses çalışma zamanını ve `GuildVoiceStates` gateway intent'ini etkinleştirmek için `channels.discord.voice.enabled=true` ayarlayın (veya mevcut bir `channels.discord.voice` bloğunu koruyun).
-- `channels.discord.intents.voiceStates`, ses durumu intent aboneliğini açıkça geçersiz kılabilir. Intent'in etkili ses etkinleştirmesini izlemesi için ayarlanmamış bırakın.
+- `voice.model`, yalnızca Discord ses kanalı yanıtları için kullanılan LLM'yi geçersiz kılar. Yönlendirilen aracı modelini devralmak için ayarlamadan bırakın.
+- STT `tools.media.audio` kullanır; `voice.model` transkripsiyonu etkilemez.
+- Kanal başına Discord `systemPrompt` geçersiz kılmaları, söz konusu ses kanalı için ses transkripti turlarına uygulanır.
+- Ses transkripti turları sahip durumunu Discord `allowFrom` (veya `dm.allowFrom`) üzerinden türetir; sahip olmayan konuşmacılar yalnızca sahibe açık araçlara erişemez (örneğin `gateway` ve `cron`).
+- Discord sesi yalnızca metin yapılandırmaları için isteğe bağlıdır; `/vc` komutlarını, ses çalışma zamanını ve `GuildVoiceStates` gateway amacını etkinleştirmek için `channels.discord.voice.enabled=true` ayarlayın (veya mevcut bir `channels.discord.voice` bloğunu koruyun).
+- `channels.discord.intents.voiceStates`, ses durumu intent aboneliğini açıkça geçersiz kılabilir. Intent'in etkili ses etkinleştirmesini izlemesi için ayarlamadan bırakın.
- `voice.daveEncryption` ve `voice.decryptionFailureTolerance`, `@discordjs/voice` katılma seçeneklerine geçirilir.
-- `@discordjs/voice` varsayılanları, ayarlanmamışsa `daveEncryption=true` ve `decryptionFailureTolerance=24` şeklindedir.
+- Ayarlanmamışsa `@discordjs/voice` varsayılanları `daveEncryption=true` ve `decryptionFailureTolerance=24` şeklindedir.
- `voice.connectTimeoutMs`, `/vc join` ve otomatik katılma denemeleri için ilk `@discordjs/voice` Ready beklemesini kontrol eder. Varsayılan: `30000`.
-- `voice.reconnectGraceMs`, OpenClaw'un bağlantısı kesilmiş bir ses oturumunu yok etmeden önce yeniden bağlanmaya başlamasını ne kadar bekleyeceğini kontrol eder. Varsayılan: `15000`.
-- OpenClaw ayrıca alma şifre çözme hatalarını izler ve kısa bir pencerede tekrarlanan hatalardan sonra ses kanalından ayrılıp yeniden katılarak otomatik olarak toparlanır.
-- Güncellemeden sonra alma günlükleri tekrar tekrar `DecryptionFailed(UnencryptedWhenPassthroughDisabled)` gösteriyorsa bir bağımlılık raporu ve günlükleri toplayın. Paketlenen `@discordjs/voice` satırı, discord.js PR #11449'dan gelen ve discord.js issue #11419'u kapatan yukarı akış padding düzeltmesini içerir.
+- `voice.reconnectGraceMs`, OpenClaw'ın bağlantısı kesilmiş bir ses oturumunu yok etmeden önce yeniden bağlanmaya başlamasını ne kadar süre bekleyeceğini kontrol eder. Varsayılan: `15000`.
+- OpenClaw ayrıca alma şifre çözme hatalarını izler ve kısa bir zaman aralığında tekrarlanan hatalardan sonra ses kanalından ayrılıp yeniden katılarak otomatik kurtarma yapar.
+- Güncellemeden sonra alma günlüklerinde tekrar tekrar `DecryptionFailed(UnencryptedWhenPassthroughDisabled)` görünüyorsa bir bağımlılık raporu ve günlükler toplayın. Paketlenen `@discordjs/voice` satırı, discord.js issue #11419'u kapatan discord.js PR #11449'daki upstream padding düzeltmesini içerir.
-Ses kanalı işlem hattı:
+Ses kanalı hattı:
-- Discord PCM yakalama bir WAV geçici dosyasına dönüştürülür.
-- `tools.media.audio`, STT'yi işler, örneğin `openai/gpt-4o-mini-transcribe`.
-- Transkript Discord girişinden ve yönlendirmesinden geçirilir; yanıt LLM'si ise aracı `tts` aracını gizleyen ve döndürülen metin isteyen bir ses çıkışı ilkesiyle çalışır, çünkü Discord sesi nihai TTS oynatmasına sahiptir.
-- `voice.model`, ayarlandığında yalnızca bu ses kanalı turu için yanıt LLM'sini geçersiz kılar.
+- Discord PCM yakalaması bir WAV geçici dosyasına dönüştürülür.
+- STT'yi `tools.media.audio` işler, örneğin `openai/gpt-4o-mini-transcribe`.
+- Transkript Discord girişine ve yönlendirmeye gönderilir; yanıt LLM'si, Discord sesinin son TTS oynatmanın sahibi olması nedeniyle aracı `tts` aracını gizleyen ve döndürülen metin isteyen bir ses çıkışı ilkesiyle çalışır.
+- `voice.model` ayarlandığında yalnızca bu ses kanalı turu için yanıt LLM'sini geçersiz kılar.
- `voice.tts`, `messages.tts` üzerine birleştirilir; ortaya çıkan ses katılınan kanalda oynatılır.
Kimlik bilgileri bileşen başına çözümlenir: `voice.model` için LLM rota kimlik doğrulaması, `tools.media.audio` için STT kimlik doğrulaması ve `messages.tts`/`voice.tts` için TTS kimlik doğrulaması.
### Sesli mesajlar
-Discord sesli mesajları bir dalga biçimi önizlemesi gösterir ve OGG/Opus ses gerektirir. OpenClaw dalga biçimini otomatik olarak oluşturur, ancak inceleme ve dönüştürme için gateway ana makinesinde `ffmpeg` ve `ffprobe` gerekir.
+Discord sesli mesajları bir dalga formu önizlemesi gösterir ve OGG/Opus ses gerektirir. OpenClaw dalga formunu otomatik olarak oluşturur, ancak inceleme ve dönüştürme için gateway ana makinesinde `ffmpeg` ve `ffprobe` gerekir.
- Bir **yerel dosya yolu** sağlayın (URL'ler reddedilir).
- Metin içeriğini atlayın (Discord aynı yükte metin + sesli mesajı reddeder).
@@ -1208,20 +1212,20 @@ message(action="send", channel="discord", target="channel:123", path="/path/to/a
## Sorun giderme
-
+
- - Message Content Intent'i etkinleştirin
- - kullanıcı/üye çözümlemesine bağlı olduğunuzda Server Members Intent'i etkinleştirin
+ - Message Content Intent etkinleştirin
+ - kullanıcı/üye çözümlemesine bağlı olduğunuzda Server Members Intent etkinleştirin
- intent'leri değiştirdikten sonra gateway'i yeniden başlatın
-
+
- `groupPolicy` değerini doğrulayın
- - `channels.discord.guilds` altındaki guild izin listesini doğrulayın
- - guild `channels` haritası varsa yalnızca listelenen kanallara izin verilir
- - `requireMention` davranışını ve mention kalıplarını doğrulayın
+ - `channels.discord.guilds` altındaki sunucu izin listesini doğrulayın
+ - sunucu `channels` haritası varsa yalnızca listelenen kanallara izin verilir
+ - `requireMention` davranışını ve mention desenlerini doğrulayın
Yararlı kontroller:
@@ -1233,12 +1237,12 @@ openclaw logs --follow
-
+
Yaygın nedenler:
- - eşleşen guild/kanal izin listesi olmadan `groupPolicy="allowlist"`
- - `requireMention` yanlış yerde yapılandırılmış (mutlaka `channels.discord.guilds` veya kanal girdisi altında olmalıdır)
- - gönderen, guild/kanal `users` izin listesi tarafından engellenmiş
+ - eşleşen sunucu/kanal izin listesi olmadan `groupPolicy="allowlist"`
+ - `requireMention` yanlış yerde yapılandırılmış (mutlaka `channels.discord.guilds` altında veya kanal girdisinde olmalıdır)
+ - gönderen, sunucu/kanal `users` izin listesi tarafından engellenmiş
@@ -1249,13 +1253,13 @@ openclaw logs --follow
- `Slow listener detected ...`
- `stuck session: sessionKey=agent:...:discord:... state=processing ...`
- Discord gateway kuyruğu ayarları:
+ Discord gateway kuyruk ayarları:
- tek hesap: `channels.discord.eventQueue.listenerTimeout`
- çoklu hesap: `channels.discord.accounts..eventQueue.listenerTimeout`
- bu yalnızca Discord gateway dinleyici işini kontrol eder, aracı turu ömrünü değil
- Discord, kuyruğa alınmış aracı turlarına kanalın sahip olduğu bir zaman aşımı uygulamaz. Mesaj dinleyicileri hemen devreder ve kuyruğa alınmış Discord çalıştırmaları, oturum/araç/çalışma zamanı yaşam döngüsü tamamlanana veya işi durdurana kadar oturum başına sıralamayı korur.
+ Discord, kuyruğa alınmış aracı turlarına kanalın sahip olduğu bir zaman aşımı uygulamaz. Mesaj dinleyicileri işi hemen devreder ve kuyruğa alınmış Discord çalışmaları, oturum/araç/çalışma zamanı yaşam döngüsü tamamlanana veya işi iptal edene kadar oturum başına sıralamayı korur.
```json5
{
@@ -1275,42 +1279,42 @@ openclaw logs --follow
-
- OpenClaw bağlanmadan önce Discord `/gateway/bot` metadata bilgilerini alır. Geçici hatalar Discord'un varsayılan gateway URL'sine geri döner ve günlüklerde hız sınırlamasına tabidir.
+
+ OpenClaw bağlanmadan önce Discord `/gateway/bot` meta verilerini getirir. Geçici hatalar Discord'un varsayılan gateway URL'sine geri döner ve günlüklerde oran sınırlamasına tabidir.
- Metadata zaman aşımı ayarları:
+ Meta veri zaman aşımı ayarları:
- tek hesap: `channels.discord.gatewayInfoTimeoutMs`
- çoklu hesap: `channels.discord.accounts..gatewayInfoTimeoutMs`
- yapılandırma ayarlanmamışsa env geri dönüşü: `OPENCLAW_DISCORD_GATEWAY_INFO_TIMEOUT_MS`
- - varsayılan: `30000` (30 saniye), maksimum: `120000`
+ - varsayılan: `30000` (30 saniye), maks: `120000`
-
- OpenClaw, başlatma sırasında ve çalışma zamanı yeniden bağlantılarından sonra Discord'un Gateway `READY` olayını bekler. Başlatma gecikmeli çok hesaplı kurulumlar, varsayılandan daha uzun bir başlatma READY penceresine ihtiyaç duyabilir.
+
+ OpenClaw, başlangıç sırasında ve çalışma zamanı yeniden bağlantılarından sonra Discord'un gateway `READY` olayını bekler. Başlangıç kademelendirmesi olan çok hesaplı kurulumlar, varsayılandan daha uzun bir başlangıç READY penceresine ihtiyaç duyabilir.
READY zaman aşımı ayarları:
- - başlatma tek hesap: `channels.discord.gatewayReadyTimeoutMs`
- - başlatma çok hesap: `channels.discord.accounts..gatewayReadyTimeoutMs`
- - yapılandırma ayarlanmamışsa başlatma env yedeği: `OPENCLAW_DISCORD_READY_TIMEOUT_MS`
- - başlatma varsayılanı: `15000` (15 saniye), maksimum: `120000`
+ - başlangıç tek hesap: `channels.discord.gatewayReadyTimeoutMs`
+ - başlangıç çok hesap: `channels.discord.accounts..gatewayReadyTimeoutMs`
+ - yapılandırma ayarlanmamışsa başlangıç env yedeği: `OPENCLAW_DISCORD_READY_TIMEOUT_MS`
+ - başlangıç varsayılanı: `15000` (15 saniye), maks: `120000`
- çalışma zamanı tek hesap: `channels.discord.gatewayRuntimeReadyTimeoutMs`
- çalışma zamanı çok hesap: `channels.discord.accounts..gatewayRuntimeReadyTimeoutMs`
- yapılandırma ayarlanmamışsa çalışma zamanı env yedeği: `OPENCLAW_DISCORD_RUNTIME_READY_TIMEOUT_MS`
- - çalışma zamanı varsayılanı: `30000` (30 saniye), maksimum: `120000`
+ - çalışma zamanı varsayılanı: `30000` (30 saniye), maks: `120000`
-
+
`channels status --probe` izin kontrolleri yalnızca sayısal kanal kimlikleri için çalışır.
- Slug anahtarları kullanırsanız, çalışma zamanı eşleştirmesi yine de çalışabilir, ancak probe izinleri tam olarak doğrulayamaz.
+ Slug anahtarları kullanırsanız çalışma zamanı eşleştirmesi yine de çalışabilir, ancak probe izinleri tam olarak doğrulayamaz.
-
+
- DM devre dışı: `channels.discord.dm.enabled=false`
- DM ilkesi devre dışı: `channels.discord.dmPolicy="disabled"` (eski: `channels.discord.dm.policy`)
@@ -1318,11 +1322,11 @@ openclaw logs --follow
-
- Varsayılan olarak bot tarafından yazılan mesajlar yok sayılır.
+
+ Varsayılan olarak bot tarafından yazılmış mesajlar yok sayılır.
- `channels.discord.allowBots=true` ayarlarsanız, döngü davranışını önlemek için katı mention ve allowlist kuralları kullanın.
- Yalnızca bottan bahseden bot mesajlarını kabul etmek için `channels.discord.allowBots="mentions"` tercih edin.
+ `channels.discord.allowBots=true` ayarlarsanız döngü davranışını önlemek için katı mention ve allowlist kuralları kullanın.
+ Yalnızca botu mention eden bot mesajlarını kabul etmek için `channels.discord.allowBots="mentions"` tercih edin.
```json5
{
@@ -1330,7 +1334,7 @@ openclaw logs --follow
discord: {
accounts: {
mantis: {
- // Mantis, diğer botları yalnızca kendisinden bahsettiklerinde dinler.
+ // Mantis, diğer botları yalnızca kendisini mention ettiklerinde dinler.
allowBots: "mentions",
},
molty: {
@@ -1349,36 +1353,36 @@ openclaw logs --follow
-
+
- - Discord ses alma kurtarma mantığının mevcut olması için OpenClaw'ı güncel tutun (`openclaw update`)
- - `channels.discord.voice.daveEncryption=true` değerini doğrulayın (varsayılan)
- - `channels.discord.voice.decryptionFailureTolerance=24` değerinden başlayın (upstream varsayılanı) ve yalnızca gerekiyorsa ayarlayın
+ - Discord ses alma kurtarma mantığının mevcut olması için OpenClaw'u güncel tutun (`openclaw update`)
+ - `channels.discord.voice.daveEncryption=true` (varsayılan) olduğunu doğrulayın
+ - `channels.discord.voice.decryptionFailureTolerance=24` (upstream varsayılanı) ile başlayın ve yalnızca gerekirse ayarlayın
- günlüklerde şunları izleyin:
- `discord voice: DAVE decrypt failures detected`
- `discord voice: repeated decrypt failures; attempting rejoin`
- - otomatik yeniden katılmadan sonra hatalar devam ederse, günlükleri toplayın ve [discord.js #11419](https://github.com/discordjs/discord.js/issues/11419) ve [discord.js #11449](https://github.com/discordjs/discord.js/pull/11449) içindeki upstream DAVE alma geçmişiyle karşılaştırın
+ - otomatik yeniden katılmadan sonra hatalar devam ederse günlükleri toplayın ve [discord.js #11419](https://github.com/discordjs/discord.js/issues/11419) ile [discord.js #11449](https://github.com/discordjs/discord.js/pull/11449) içindeki upstream DAVE alma geçmişiyle karşılaştırın
-## Yapılandırma referansı
+## Yapılandırma başvurusu
-Birincil referans: [Yapılandırma referansı - Discord](/tr/gateway/config-channels#discord).
+Birincil başvuru: [Yapılandırma başvurusu - Discord](/tr/gateway/config-channels#discord).
-
+
-- başlatma/auth: `enabled`, `token`, `accounts.*`, `allowBots`
+- başlangıç/kimlik doğrulama: `enabled`, `token`, `accounts.*`, `allowBots`
- ilke: `groupPolicy`, `dm.*`, `guilds.*`, `guilds.*.channels.*`
- komut: `commands.native`, `commands.useAccessGroups`, `configWrites`, `slashCommand.*`
- olay kuyruğu: `eventQueue.listenerTimeout` (dinleyici bütçesi), `eventQueue.maxQueueSize`, `eventQueue.maxConcurrency`
- Gateway: `gatewayInfoTimeoutMs`, `gatewayReadyTimeoutMs`, `gatewayRuntimeReadyTimeoutMs`
- yanıt/geçmiş: `replyToMode`, `historyLimit`, `dmHistoryLimit`, `dms.*.historyLimit`
-- teslimat: `textChunkLimit`, `chunkMode`, `maxLinesPerMessage`
-- akış: `streaming` (eski takma ad: `streamMode`), `streaming.preview.toolProgress`, `draftChunk`, `blockStreaming`, `blockStreamingCoalesce`
+- teslim: `textChunkLimit`, `chunkMode`, `maxLinesPerMessage`
+- akış: `streaming` (eski alias: `streamMode`), `streaming.preview.toolProgress`, `draftChunk`, `blockStreaming`, `blockStreamingCoalesce`
- medya/yeniden deneme: `mediaMaxMb` (giden Discord yüklemelerini sınırlar, varsayılan `100MB`), `retry`
- eylemler: `actions.*`
-- presence: `activity`, `status`, `activityType`, `activityUrl`
+- varlık: `activity`, `status`, `activityType`, `activityUrl`
- UI: `ui.components.accentColor`
- özellikler: `threadBindings`, üst düzey `bindings[]` (`type: "acp"`), `pluralkit`, `execApprovals`, `intents`, `agentComponents`, `heartbeat`, `responsePrefix`
@@ -1386,29 +1390,29 @@ Birincil referans: [Yapılandırma referansı - Discord](/tr/gateway/config-chan
## Güvenlik ve operasyonlar
-- Bot tokenlerini gizli bilgi olarak ele alın (denetimli ortamlarda `DISCORD_BOT_TOKEN` tercih edilir).
+- Bot token'larını sır olarak ele alın (denetimli ortamlarda `DISCORD_BOT_TOKEN` tercih edilir).
- En az ayrıcalıklı Discord izinleri verin.
-- Komut dağıtımı/durumu bayatsa, gateway'i yeniden başlatın ve `openclaw channels status --probe` ile yeniden kontrol edin.
+- Komut dağıtımı/durumu eskiyse gateway'i yeniden başlatın ve `openclaw channels status --probe` ile yeniden kontrol edin.
## İlgili
-
+
Bir Discord kullanıcısını gateway ile eşleştirin.
-
+
Grup sohbeti ve allowlist davranışı.
-
- Gelen mesajları ajanlara yönlendirin.
+
+ Gelen mesajları aracılara yönlendirin.
-
+
Tehdit modeli ve sağlamlaştırma.
-
- Guild'leri ve kanalları ajanlarla eşleyin.
+
+ Sunucuları ve kanalları aracılarla eşleyin.
-
+
Yerel komut davranışı.
diff --git a/docs/tr/channels/googlechat.md b/docs/tr/channels/googlechat.md
index a5bf880a2..802366306 100644
--- a/docs/tr/channels/googlechat.md
+++ b/docs/tr/channels/googlechat.md
@@ -4,15 +4,15 @@ read_when:
summary: Google Chat uygulamasının destek durumu, yetenekleri ve yapılandırması
title: Google Chat
x-i18n:
- generated_at: "2026-05-02T08:46:50Z"
+ generated_at: "2026-05-04T02:21:23Z"
model: gpt-5.5
provider: openai
- source_hash: fdb8dcf651602e92801d7107646d853871ea6cef188a8733a831695a1243740e
+ source_hash: afa2ca4d9673396aa24a55ca5855a34ad26a4640c3a1f6928dbf7246e403cb04
source_path: channels/googlechat.md
workflow: 16
---
-Durum: Google Chat API Webhook'ları üzerinden DM'ler + alanlar için indirilebilir Plugin (yalnızca HTTP).
+Durum: Google Chat API web kancaları üzerinden DM'ler ve alanlar için indirilebilir Plugin (yalnızca HTTP).
## Kurulum
@@ -31,72 +31,72 @@ openclaw plugins install ./path/to/local/googlechat-plugin
## Hızlı kurulum (başlangıç)
1. Bir Google Cloud projesi oluşturun ve **Google Chat API**'yi etkinleştirin.
- - Şuraya gidin: [Google Chat API Credentials](https://console.cloud.google.com/apis/api/chat.googleapis.com/credentials)
+ - Şuraya gidin: [Google Chat API kimlik bilgileri](https://console.cloud.google.com/apis/api/chat.googleapis.com/credentials)
- API zaten etkin değilse etkinleştirin.
2. Bir **Service Account** oluşturun:
- - **Create Credentials** > **Service Account** düğmesine basın.
- - İstediğiniz bir ad verin (örn. `openclaw-chat`).
- - İzinleri boş bırakın (**Continue** düğmesine basın).
- - Erişimi olan principals alanını boş bırakın (**Done** düğmesine basın).
+ - **Create Credentials** > **Service Account**'a basın.
+ - İstediğiniz gibi adlandırın (ör. `openclaw-chat`).
+ - İzinleri boş bırakın (**Continue**'a basın).
+ - Erişimi olan sorumluları boş bırakın (**Done**'a basın).
3. **JSON Key** oluşturun ve indirin:
- - Service account listesinden az önce oluşturduğunuza tıklayın.
+ - Service Account listesinden az önce oluşturduğunuza tıklayın.
- **Keys** sekmesine gidin.
- - **Add Key** > **Create new key** seçeneğine tıklayın.
- - **JSON** seçin ve **Create** düğmesine basın.
-4. İndirilen JSON dosyasını gateway host'unuzda saklayın (örn. `~/.openclaw/googlechat-service-account.json`).
-5. [Google Cloud Console Chat Configuration](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat) içinde bir Google Chat uygulaması oluşturun:
+ - **Add Key** > **Create new key**'e tıklayın.
+ - **JSON**'ı seçin ve **Create**'e basın.
+4. İndirilen JSON dosyasını Gateway host'unuzda saklayın (ör. `~/.openclaw/googlechat-service-account.json`).
+5. [Google Cloud Console Chat yapılandırması](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat) içinde bir Google Chat uygulaması oluşturun:
- **Application info** alanını doldurun:
- - **App name**: (örn. `OpenClaw`)
- - **Avatar URL**: (örn. `https://openclaw.ai/logo.png`)
- - **Description**: (örn. `Personal AI Assistant`)
- - **Interactive features** özelliğini etkinleştirin.
- - **Functionality** altında **Join spaces and group conversations** seçeneğini işaretleyin.
- - **Connection settings** altında **HTTP endpoint URL** seçeneğini seçin.
- - **Triggers** altında **Use a common HTTP endpoint URL for all triggers** seçeneğini seçin ve bunu gateway'inizin genel URL'sinin sonuna `/googlechat` eklenmiş hali olarak ayarlayın.
- - _İpucu: Gateway'inizin genel URL'sini bulmak için `openclaw status` çalıştırın._
- - **Visibility** altında **Make this Chat app available to specific people and groups in ``** seçeneğini işaretleyin.
- - Metin kutusuna e-posta adresinizi girin (örn. `user@example.com`).
- - Alttaki **Save** düğmesine tıklayın.
+ - **App name**: (ör. `OpenClaw`)
+ - **Avatar URL**: (ör. `https://openclaw.ai/logo.png`)
+ - **Description**: (ör. `Personal AI Assistant`)
+ - **Interactive features**'ı etkinleştirin.
+ - **Functionality** altında **Join spaces and group conversations**'ı işaretleyin.
+ - **Connection settings** altında **HTTP endpoint URL**'yi seçin.
+ - **Triggers** altında **Use a common HTTP endpoint URL for all triggers**'ı seçin ve bunu Gateway'inizin herkese açık URL'sinin sonuna `/googlechat` eklenmiş hali olarak ayarlayın.
+ - _İpucu: Gateway'inizin herkese açık URL'sini bulmak için `openclaw status` çalıştırın._
+ - **Visibility** altında **Make this Chat app available to specific people and groups in ``**'ı işaretleyin.
+ - Metin kutusuna e-posta adresinizi girin (ör. `user@example.com`).
+ - Altta **Save**'e tıklayın.
6. **Uygulama durumunu etkinleştirin**:
- Kaydettikten sonra **sayfayı yenileyin**.
- - **App status** bölümünü bulun (kaydetmeden sonra genellikle üst veya alt kısma yakındır).
+ - **App status** bölümünü arayın (kaydetmeden sonra genellikle üstte veya altta olur).
- Durumu **Live - available to users** olarak değiştirin.
- - Yeniden **Save** düğmesine tıklayın.
-7. OpenClaw'u service account yolu + Webhook audience ile yapılandırın:
+ - Tekrar **Save**'e tıklayın.
+7. OpenClaw'ı Service Account yolu + Webhook hedef kitlesiyle yapılandırın:
- Env: `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE=/path/to/service-account.json`
- - Veya yapılandırma: `channels.googlechat.serviceAccountFile: "/path/to/service-account.json"`.
-8. Webhook audience türünü + değerini ayarlayın (Chat uygulaması yapılandırmanızla eşleşir).
-9. Gateway'i başlatın. Google Chat, Webhook yolunuza POST gönderecek.
+ - Veya config: `channels.googlechat.serviceAccountFile: "/path/to/service-account.json"`.
+8. Webhook hedef kitle türünü + değerini ayarlayın (Chat uygulama yapılandırmanızla eşleşir).
+9. Gateway'i başlatın. Google Chat, Webhook yolunuza POST gönderir.
## Google Chat'e ekleme
-Gateway çalışır durumdayken ve e-postanız visibility listesine eklendikten sonra:
+Gateway çalışırken ve e-postanız görünürlük listesine eklenmişken:
1. [Google Chat](https://chat.google.com/) adresine gidin.
2. **Direct Messages** yanındaki **+** (artı) simgesine tıklayın.
-3. Arama çubuğuna (normalde kişi eklediğiniz yer) Google Cloud Console'da yapılandırdığınız **App name** değerini yazın.
- - **Not**: Bot özel bir uygulama olduğu için "Marketplace" göz atma listesinde _görünmez_. Adıyla aramanız gerekir.
+3. Arama çubuğuna (genellikle kişi eklediğiniz yer), Google Cloud Console'da yapılandırdığınız **App name** değerini yazın.
+ - **Not**: Bot, özel bir uygulama olduğu için "Marketplace" göz atma listesinde _görünmez_. Adıyla aramanız gerekir.
4. Sonuçlardan botunuzu seçin.
-5. 1:1 konuşma başlatmak için **Add** veya **Chat** düğmesine tıklayın.
-6. Asistanı tetiklemek için "Merhaba" gönderin!
+5. 1:1 konuşma başlatmak için **Add** veya **Chat**'e tıklayın.
+6. Asistanı tetiklemek için "Hello" gönderin!
-## Genel URL (Yalnızca Webhook)
+## Herkese açık URL (yalnızca Webhook)
-Google Chat Webhook'ları genel bir HTTPS endpoint gerektirir. Güvenlik için internete **yalnızca `/googlechat` yolunu açın**. OpenClaw dashboard'unu ve diğer hassas endpoint'leri özel ağınızda tutun.
+Google Chat web kancaları herkese açık bir HTTPS endpoint gerektirir. Güvenlik için internete **yalnızca `/googlechat` yolunu açın**. OpenClaw panosunu ve diğer hassas endpoint'leri özel ağınızda tutun.
### Seçenek A: Tailscale Funnel (Önerilir)
-Özel dashboard için Tailscale Serve, genel Webhook yolu için Funnel kullanın. Bu, yalnızca `/googlechat` yolunu açarken `/` yolunu özel tutar.
+Özel pano için Tailscale Serve, herkese açık Webhook yolu için Funnel kullanın. Bu, yalnızca `/googlechat` yolunu açarken `/` yolunu özel tutar.
-1. **Gateway'inizin hangi adrese bağlı olduğunu kontrol edin:**
+1. **Gateway'inizin hangi adrese bağlandığını kontrol edin:**
```bash
ss -tlnp | grep 18789
```
- IP adresini not edin (örn. `127.0.0.1`, `0.0.0.0` veya `100.x.x.x` gibi Tailscale IP'niz).
+ IP adresini not edin (ör. `127.0.0.1`, `0.0.0.0` veya `100.x.x.x` gibi Tailscale IP'niz).
-2. **Dashboard'u yalnızca tailnet'e açın (port 8443):**
+2. **Panoyu yalnızca tailnet'e açın (8443 portu):**
```bash
# If bound to localhost (127.0.0.1 or 0.0.0.0):
@@ -116,8 +116,8 @@ Google Chat Webhook'ları genel bir HTTPS endpoint gerektirir. Güvenlik için i
tailscale funnel --bg --set-path /googlechat http://100.106.161.80:18789/googlechat
```
-4. **Node'u Funnel erişimi için yetkilendirin:**
- İstenirse, bu Node için tailnet ilkenizde Funnel'ı etkinleştirmek üzere çıktıda gösterilen yetkilendirme URL'sini ziyaret edin.
+4. **Düğümü Funnel erişimi için yetkilendirin:**
+ İstenirse, tailnet politikanızda bu düğüm için Funnel'ı etkinleştirmek üzere çıktıda gösterilen yetkilendirme URL'sini ziyaret edin.
5. **Yapılandırmayı doğrulayın:**
@@ -126,19 +126,19 @@ Google Chat Webhook'ları genel bir HTTPS endpoint gerektirir. Güvenlik için i
tailscale funnel status
```
-Genel Webhook URL'niz şu olacak:
+Herkese açık Webhook URL'niz şu olur:
`https://..ts.net/googlechat`
-Özel dashboard'unuz yalnızca tailnet'te kalır:
+Özel panonuz yalnızca tailnet'e açık kalır:
`https://..ts.net:8443/`
-Google Chat uygulaması yapılandırmasında genel URL'yi (`:8443` olmadan) kullanın.
+Google Chat uygulama yapılandırmasında herkese açık URL'yi (`:8443` olmadan) kullanın.
-> Not: Bu yapılandırma yeniden başlatmalar boyunca kalıcıdır. Daha sonra kaldırmak için `tailscale funnel reset` ve `tailscale serve reset` çalıştırın.
+> Not: Bu yapılandırma yeniden başlatmalar arasında kalıcıdır. Daha sonra kaldırmak için `tailscale funnel reset` ve `tailscale serve reset` çalıştırın.
-### Seçenek B: Ters Proxy (Caddy)
+### Seçenek B: Reverse Proxy (Caddy)
-Caddy gibi bir ters proxy kullanıyorsanız yalnızca belirli yolu proxy'leyin:
+Caddy gibi bir reverse proxy kullanıyorsanız yalnızca belirli yolu proxy'leyin:
```caddy
your-domain.com {
@@ -150,36 +150,36 @@ Bu yapılandırmayla `your-domain.com/` adresine gelen herhangi bir istek yok sa
### Seçenek C: Cloudflare Tunnel
-Tunnel ingress kurallarınızı yalnızca Webhook yolunu yönlendirecek şekilde yapılandırın:
+Tünelinizin giriş kurallarını yalnızca Webhook yolunu yönlendirecek şekilde yapılandırın:
- **Path**: `/googlechat` -> `http://localhost:18789/googlechat`
- **Default Rule**: HTTP 404 (Not Found)
-## Nasıl çalışır
+## Nasıl çalışır?
-1. Google Chat, Gateway'e Webhook POST'ları gönderir. Her istek bir `Authorization: Bearer ` üstbilgisi içerir.
- - OpenClaw, üstbilgi mevcut olduğunda tüm Webhook gövdelerini okumadan/ayrıştırmadan önce bearer auth doğrulaması yapar.
- - Gövdede `authorizationEventObject.systemIdToken` taşıyan Google Workspace Add-on istekleri daha sıkı bir ön kimlik doğrulama gövde bütçesiyle desteklenir.
-2. OpenClaw, token'ı yapılandırılan `audienceType` + `audience` değerlerine göre doğrular:
- - `audienceType: "app-url"` → audience, HTTPS Webhook URL'nizdir.
- - `audienceType: "project-number"` → audience, Cloud proje numarasıdır.
+1. Google Chat, Gateway'e Webhook POST'ları gönderir. Her istek bir `Authorization: Bearer ` başlığı içerir.
+ - OpenClaw, başlık mevcut olduğunda tam Webhook gövdelerini okumadan/ayrıştırmadan önce bearer auth doğrulaması yapar.
+ - Gövdede `authorizationEventObject.systemIdToken` taşıyan Google Workspace Add-on istekleri, daha sıkı bir ön kimlik doğrulama gövde bütçesiyle desteklenir.
+2. OpenClaw, token'ı yapılandırılmış `audienceType` + `audience` değerlerine göre doğrular:
+ - `audienceType: "app-url"` → hedef kitle HTTPS Webhook URL'nizdir.
+ - `audienceType: "project-number"` → hedef kitle Cloud proje numarasıdır.
3. Mesajlar alana göre yönlendirilir:
- DM'ler `agent::googlechat:direct:` oturum anahtarını kullanır.
- Alanlar `agent::googlechat:group:` oturum anahtarını kullanır.
-4. DM erişimi varsayılan olarak pairing'dir. Bilinmeyen gönderenler bir pairing kodu alır; şu komutla onaylayın:
+4. DM erişimi varsayılan olarak eşleştirme gerektirir. Bilinmeyen gönderenler bir eşleştirme kodu alır; şununla onaylayın:
- `openclaw pairing approve googlechat `
-5. Grup alanları varsayılan olarak @-mention gerektirir. Mention algılama uygulamanın kullanıcı adına ihtiyaç duyuyorsa `botUser` kullanın.
+5. Grup alanları varsayılan olarak @-mention gerektirir. Mention algılamasının uygulamanın kullanıcı adına ihtiyacı varsa `botUser` kullanın.
## Hedefler
-Teslimat ve allowlist'ler için şu tanımlayıcıları kullanın:
+Teslimat ve allowlist'ler için bu tanımlayıcıları kullanın:
- Doğrudan mesajlar: `users/` (önerilir).
- Ham e-posta `name@example.com` değişebilirdir ve yalnızca `channels.googlechat.dangerouslyAllowNameMatching: true` olduğunda doğrudan allowlist eşleştirmesi için kullanılır.
- Kullanımdan kaldırıldı: `users/` bir e-posta allowlist'i olarak değil, kullanıcı kimliği olarak ele alınır.
- Alanlar: `spaces/`.
-## Yapılandırma öne çıkanları
+## Config öne çıkanları
```json5
{
@@ -199,7 +199,7 @@ Teslimat ve allowlist'ler için şu tanımlayıcıları kullanın:
groupPolicy: "allowlist",
groups: {
"spaces/AAAA": {
- allow: true,
+ enabled: true,
requireMention: true,
users: ["users/1234567890"],
systemPrompt: "Short answers only.",
@@ -215,16 +215,16 @@ Teslimat ve allowlist'ler için şu tanımlayıcıları kullanın:
Notlar:
-- Service account kimlik bilgileri `serviceAccount` (JSON string) ile satır içinde de geçirilebilir.
-- `channels.googlechat.accounts..serviceAccountRef` altındaki hesap başına refs dahil olmak üzere `serviceAccountRef` de desteklenir (env/file SecretRef).
-- `webhookPath` ayarlanmadıysa varsayılan Webhook yolu `/googlechat` olur.
-- `dangerouslyAllowNameMatching`, allowlist'ler için değişebilir e-posta principal eşleştirmesini yeniden etkinleştirir (break-glass uyumluluk modu).
-- Reactions, `actions.reactions` etkinleştirildiğinde `reactions` aracı ve `channels action` üzerinden kullanılabilir.
-- Mesaj eylemleri metin için `send`, açık ek gönderimleri için `upload-file` sunar. `upload-file`, `media` / `filePath` / `path` ile isteğe bağlı `message`, `filename` ve thread hedeflemesini kabul eder.
-- `typingIndicator`, `none`, `message` (varsayılan) ve `reaction` destekler (reaction kullanıcı OAuth'u gerektirir).
-- Ekler Chat API üzerinden indirilir ve media pipeline'da saklanır (boyut `mediaMaxMb` ile sınırlıdır).
+- Service Account kimlik bilgileri `serviceAccount` (JSON dizesi) ile satır içinde de geçirilebilir.
+- `serviceAccountRef` de desteklenir (env/file SecretRef); buna `channels.googlechat.accounts..serviceAccountRef` altındaki hesap başına ref'ler dahildir.
+- `webhookPath` ayarlanmamışsa varsayılan Webhook yolu `/googlechat` olur.
+- `dangerouslyAllowNameMatching`, allowlist'ler için değişebilir e-posta sorumlusu eşleştirmesini yeniden etkinleştirir (break-glass uyumluluk modu).
+- `actions.reactions` etkinleştirildiğinde tepkiler `reactions` aracı ve `channels action` üzerinden kullanılabilir.
+- Mesaj eylemleri metin için `send`, açık ek gönderimleri için `upload-file` sunar. `upload-file`, `media` / `filePath` / `path` ile isteğe bağlı `message`, `filename` ve iş parçacığı hedeflemeyi kabul eder.
+- `typingIndicator`, `none`, `message` (varsayılan) ve `reaction` değerlerini destekler (`reaction` kullanıcı OAuth gerektirir).
+- Ekler Chat API üzerinden indirilir ve medya işlem hattında saklanır (boyut `mediaMaxMb` ile sınırlandırılır).
-Secrets referansı ayrıntıları: [Secrets Management](/tr/gateway/secrets).
+Gizli bilgi referansı ayrıntıları: [Gizli Bilgi Yönetimi](/tr/gateway/secrets).
## Sorun giderme
@@ -236,15 +236,15 @@ Google Cloud Logs Explorer şu tür hatalar gösteriyorsa:
status code: 405, reason phrase: HTTP error response: HTTP/1.1 405 Method Not Allowed
```
-Bu, Webhook handler'ın kayıtlı olmadığı anlamına gelir. Yaygın nedenler:
+Bu, Webhook işleyicisinin kayıtlı olmadığı anlamına gelir. Yaygın nedenler:
-1. **Kanal yapılandırılmamış**: Yapılandırmanızda `channels.googlechat` bölümü eksik. Şununla doğrulayın:
+1. **Kanal yapılandırılmamış**: Config içinde `channels.googlechat` bölümü eksik. Şununla doğrulayın:
```bash
openclaw config get channels.googlechat
```
- "Config path not found" dönerse yapılandırmayı ekleyin (bkz. [Yapılandırma öne çıkanları](#config-highlights)).
+ "Config path not found" döndürürse yapılandırmayı ekleyin (bkz. [Config öne çıkanları](#config-highlights)).
2. **Plugin etkin değil**: Plugin durumunu kontrol edin:
@@ -252,9 +252,9 @@ Bu, Webhook handler'ın kayıtlı olmadığı anlamına gelir. Yaygın nedenler:
openclaw plugins list | grep googlechat
```
- "disabled" gösteriyorsa yapılandırmanıza `plugins.entries.googlechat.enabled: true` ekleyin.
+ "disabled" gösteriyorsa config'inize `plugins.entries.googlechat.enabled: true` ekleyin.
-3. **Gateway yeniden başlatılmamış**: Yapılandırmayı ekledikten sonra Gateway'i yeniden başlatın:
+3. **Gateway yeniden başlatılmamış**: Config ekledikten sonra Gateway'i yeniden başlatın:
```bash
openclaw gateway restart
@@ -269,21 +269,21 @@ openclaw channels status
### Diğer sorunlar
-- Kimlik doğrulama hataları veya eksik audience yapılandırması için `openclaw channels status --probe` komutunu kontrol edin.
-- Hiç mesaj gelmiyorsa Chat uygulamasının Webhook URL'sini + etkinlik aboneliklerini doğrulayın.
-- Mention gating yanıtları engelliyorsa `botUser` değerini uygulamanın kullanıcı resource adına ayarlayın ve `requireMention` değerini doğrulayın.
+- Kimlik doğrulama hataları veya eksik hedef kitle yapılandırması için `openclaw channels status --probe` komutunu kontrol edin.
+- Mesaj gelmiyorsa Chat uygulamasının Webhook URL'sini + etkinlik aboneliklerini doğrulayın.
+- Mention gating yanıtları engelliyorsa `botUser` değerini uygulamanın kullanıcı kaynak adına ayarlayın ve `requireMention` değerini doğrulayın.
- İsteklerin Gateway'e ulaşıp ulaşmadığını görmek için test mesajı gönderirken `openclaw logs --follow` kullanın.
-İlgili dokümanlar:
+İlgili belgeler:
-- [Gateway configuration](/tr/gateway/configuration)
-- [Security](/tr/gateway/security)
-- [Reactions](/tr/tools/reactions)
+- [Gateway yapılandırması](/tr/gateway/configuration)
+- [Güvenlik](/tr/gateway/security)
+- [Tepkiler](/tr/tools/reactions)
## İlgili
-- [Channels Overview](/tr/channels) — desteklenen tüm kanallar
-- [Pairing](/tr/channels/pairing) — DM kimlik doğrulaması ve pairing akışı
-- [Groups](/tr/channels/groups) — grup sohbeti davranışı ve mention gating
-- [Channel Routing](/tr/channels/channel-routing) — mesajlar için oturum yönlendirme
-- [Security](/tr/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 mention gating
+- [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
diff --git a/docs/tr/channels/groups.md b/docs/tr/channels/groups.md
index 3c03b69ff..8900a49cf 100644
--- a/docs/tr/channels/groups.md
+++ b/docs/tr/channels/groups.md
@@ -1,38 +1,38 @@
---
read_when:
- - Grup sohbeti davranışını veya etiketleme koşulunu değiştirme
+ - Grup sohbeti davranışını veya bahsetme kapılamasını değiştirme
sidebarTitle: Groups
summary: Yüzeyler genelinde grup sohbeti davranışı (Discord/iMessage/Matrix/Microsoft Teams/Signal/Slack/Telegram/WhatsApp/Zalo)
title: Gruplar
x-i18n:
- generated_at: "2026-05-03T21:27:28Z"
+ generated_at: "2026-05-04T02:21:24Z"
model: gpt-5.5
provider: openai
- source_hash: 6fd4fcaa8335f1dc4b4b1a719d6654ab0c10530f74284269ed6205dd5f87c116
+ source_hash: dea506c011a5d8f6155b2f56aacb236482cb8c5b7457001cb2171fd45932443d
source_path: channels/groups.md
workflow: 16
---
-OpenClaw, grup sohbetlerini yüzeyler arasında tutarlı biçimde ele alır: Discord, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo.
+OpenClaw grup sohbetlerini yüzeyler genelinde tutarlı şekilde ele alır: Discord, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo.
## Başlangıç tanıtımı (2 dakika)
-OpenClaw kendi mesajlaşma hesaplarınızda "yaşar". Ayrı bir WhatsApp bot kullanıcısı yoktur. **Siz** bir gruptaysanız, OpenClaw o grubu görebilir ve orada yanıt verebilir.
+OpenClaw kendi mesajlaşma hesaplarınızda "yaşar". Ayrı bir WhatsApp bot kullanıcısı yoktur. Bir grupta **siz** varsa, OpenClaw o grubu görebilir ve orada yanıt verebilir.
Varsayılan davranış:
-- Gruplar kısıtlıdır (`groupPolicy: "allowlist"`).
-- Bahsetme geçidini açıkça devre dışı bırakmadığınız sürece yanıtlar bir bahsetme gerektirir.
-- Gruplarda/kanallarda normal son yanıtlar varsayılan olarak özeldir. Görünür oda çıktısı `message` aracını kullanır.
+- Gruplar kısıtlanır (`groupPolicy: "allowlist"`).
+- Açıkça bahsetme kapısını devre dışı bırakmadığınız sürece yanıtlar bahsetme gerektirir.
+- Gruplarda/kanallarda normal nihai yanıtlar varsayılan olarak özeldir. Görünür oda çıktısı `message` aracını kullanır.
Çeviri: izin listesindeki gönderenler, OpenClaw’dan bahsederek onu tetikleyebilir.
-**TL;DR**
+**Kısaca**
-- **DM erişimi** `*.allowFrom` ile denetlenir.
-- **Grup erişimi** `*.groupPolicy` + izin listeleri (`*.groups`, `*.groupAllowFrom`) ile denetlenir.
-- **Yanıt tetikleme** bahsetme geçidi (`requireMention`, `/activation`) ile denetlenir.
+- **DM erişimi** `*.allowFrom` ile kontrol edilir.
+- **Grup erişimi** `*.groupPolicy` + izin listeleri (`*.groups`, `*.groupAllowFrom`) ile kontrol edilir.
+- **Yanıt tetikleme** bahsetme kapısı (`requireMention`, `/activation`) ile kontrol edilir.
@@ -48,19 +48,21 @@ otherwise -> reply
## Görünür yanıtlar
Grup/kanal odaları için OpenClaw varsayılan olarak `messages.groupChat.visibleReplies: "message_tool"` kullanır.
-`openclaw doctor --fix`, bunu atlayan yapılandırılmış kanal yapılandırmalarına bu varsayılanı yazar.
-Bu, agent’ın turu yine işlediği ve bellek/oturum durumunu güncelleyebildiği, ancak normal son yanıtının odaya otomatik olarak geri gönderilmediği anlamına gelir. Görünür biçimde konuşmak için agent `message(action=send)` kullanır.
+`openclaw doctor --fix`, bunu eksik bırakan yapılandırılmış kanal yapılandırmalarına bu varsayılanı yazar.
+Bu, aracının turu hâlâ işlediği ve bellek/oturum durumunu güncelleyebildiği, ancak normal nihai yanıtının odaya otomatik olarak geri gönderilmediği anlamına gelir. Görünür şekilde konuşmak için aracı `message(action=send)` kullanır.
-Etkin araç ilkesi altında mesaj aracı kullanılamıyorsa, OpenClaw yanıtı sessizce bastırmak yerine otomatik görünür yanıtlara geri döner.
+Bu varsayılan, araçları güvenilir şekilde çağıran bir modele/çalışma zamanına bağlıdır. Günlükler asistan metni gösteriyor ama `didSendViaMessagingTool: false` ise model, mesaj aracını çağırmak yerine özel olarak yanıtlamıştır. Bu bir Discord/Slack/Telegram gönderme hatası değildir. Grup/kanal oturumları için araç çağrısında güvenilir bir model kullanın veya eski görünür nihai yanıtları geri getirmek için `messages.groupChat.visibleReplies: "automatic"` ayarlayın.
+
+Mesaj aracı etkin araç ilkesi altında kullanılamıyorsa OpenClaw, yanıtı sessizce bastırmak yerine otomatik görünür yanıtlara geri döner.
`openclaw doctor` bu uyumsuzluk hakkında uyarır.
-Doğrudan sohbetler ve diğer tüm kaynak turları için aynı yalnızca araçla görünür yanıt davranışını genel olarak uygulamak üzere `messages.visibleReplies: "message_tool"` kullanın. Harness’lar bunu ayarlanmamış varsayılanları olarak da seçebilir; Codex harness bunu Codex modu doğrudan sohbetleri için yapar. `messages.groupChat.visibleReplies`, grup/kanal odaları için daha özel geçersiz kılma olarak kalır.
+Doğrudan sohbetler ve diğer tüm kaynak turları için aynı yalnızca-araç görünür yanıt davranışını genel olarak uygulamak üzere `messages.visibleReplies: "message_tool"` kullanın. Test düzenekleri bunu ayarlanmamış varsayılanları olarak da seçebilir; Codex düzeneği Codex modu doğrudan sohbetleri için bunu yapar. `messages.groupChat.visibleReplies`, grup/kanal odaları için daha özel geçersiz kılma olarak kalır.
-Bu, çoğu izleme modu turunda modeli `NO_REPLY` yanıtı vermeye zorlayan eski kalıbın yerini alır. Yalnızca araç modunda görünür hiçbir şey yapmamak, basitçe mesaj aracını çağırmamak anlamına gelir.
+Bu, çoğu bekleme modu turunda modeli `NO_REPLY` yanıtını vermeye zorlayan eski kalıbın yerini alır. Yalnızca araç modunda görünür hiçbir şey yapmamak, basitçe mesaj aracını çağırmamak anlamına gelir.
-Agent yalnızca araç modunda çalışırken yazıyor göstergeleri yine gönderilir. Varsayılan grup yazıyor modu bu turlar için "message" yerine "instant" olarak yükseltilir, çünkü agent mesaj aracını çağırıp çağırmayacağına karar vermeden önce normal assistant mesaj metni hiç olmayabilir. Açık yazıyor modu yapılandırması yine önceliklidir.
+Aracı yalnızca araç modunda çalışırken yazıyor göstergeleri hâlâ gönderilir. Bu turlar için varsayılan grup yazıyor modu "message" değerinden "instant" değerine yükseltilir, çünkü aracı mesaj aracını çağırıp çağırmayacağına karar vermeden önce normal asistan mesaj metni hiç oluşmayabilir. Açık yazıyor modu yapılandırması yine önceliklidir.
-Grup/kanal odaları için eski otomatik son yanıtları geri yüklemek için:
+Grup/kanal odaları için eski otomatik nihai yanıtları geri getirmek için:
```json5
{
@@ -72,9 +74,9 @@ Grup/kanal odaları için eski otomatik son yanıtları geri yüklemek için:
}
```
-Gateway, dosya kaydedildikten sonra `messages` yapılandırmasını hot-reload eder. Yalnızca dağıtımda dosya izleme veya yapılandırma yeniden yükleme devre dışıysa yeniden başlatın.
+Gateway, dosya kaydedildikten sonra `messages` yapılandırmasını sıcak yeniden yükler. Yalnızca dağıtımda dosya izleme veya yapılandırma yeniden yükleme devre dışıysa yeniden başlatın.
-Her kaynak sohbet için görünür çıktının mesaj aracı üzerinden geçmesini zorunlu kılmak için:
+Her kaynak sohbet için görünür çıktının mesaj aracı üzerinden gitmesini zorunlu kılmak için:
```json5
{
@@ -84,44 +86,44 @@ Her kaynak sohbet için görünür çıktının mesaj aracı üzerinden geçmesi
}
```
-Yerel slash komutları (Discord, Telegram ve yerel komut desteği olan diğer yüzeyler) `visibleReplies: "message_tool"` ayarını atlar ve kanalın yerel komut arayüzünün beklediği yanıtı alması için her zaman görünür biçimde yanıt verir. Bu yalnızca doğrulanmış yerel komut turları için geçerlidir; metin olarak yazılmış `/...` komutları ve sıradan sohbet turları yapılandırılmış grup varsayılanını izlemeye devam eder.
+Yerel eğik çizgi komutları (Discord, Telegram ve yerel komut desteği olan diğer yüzeyler) `visibleReplies: "message_tool"` ayarını atlar ve kanalın yerel komut kullanıcı arayüzünün beklediği yanıtı alması için her zaman görünür şekilde yanıt verir. Bu yalnızca doğrulanmış yerel komut turları için geçerlidir; metin olarak yazılan `/...` komutları ve sıradan sohbet turları yapılandırılmış grup varsayılanını izlemeye devam eder.
## Bağlam görünürlüğü ve izin listeleri
-Grup güvenliğinde iki farklı denetim yer alır:
+Grup güvenliğinde iki farklı kontrol yer alır:
-- **Tetikleme yetkilendirmesi**: agent’ı kim tetikleyebilir (`groupPolicy`, `groups`, `groupAllowFrom`, kanala özel izin listeleri).
-- **Bağlam görünürlüğü**: modele hangi ek bağlamın enjekte edildiği (yanıt metni, alıntılar, iş parçacığı geçmişi, iletilmiş metadata).
+- **Tetikleme yetkilendirmesi**: aracıyı kimlerin tetikleyebileceği (`groupPolicy`, `groups`, `groupAllowFrom`, kanala özgü izin listeleri).
+- **Bağlam görünürlüğü**: modele hangi ek bağlamın enjekte edildiği (yanıt metni, alıntılar, iş parçacığı geçmişi, iletilmiş üst veriler).
-Varsayılan olarak OpenClaw normal sohbet davranışına öncelik verir ve bağlamı çoğunlukla alındığı gibi tutar. Bu, izin listelerinin öncelikle kimin eylemleri tetikleyebileceğine karar verdiği, her alıntılanmış veya geçmiş snippet için evrensel bir redaksiyon sınırı olmadığı anlamına gelir.
+OpenClaw varsayılan olarak normal sohbet davranışına öncelik verir ve bağlamı çoğunlukla alındığı gibi tutar. Bu, izin listelerinin öncelikle eylemleri kimin tetikleyebileceğine karar verdiği, her alıntılanmış veya geçmiş parçacık için evrensel bir redaksiyon sınırı olmadığı anlamına gelir.
-
+
- Bazı kanallar belirli yollarda ek bağlam için zaten gönderene dayalı filtreleme uygular (örneğin Slack iş parçacığı tohumlama, Matrix yanıt/iş parçacığı aramaları).
- Diğer kanallar alıntı/yanıt/iletme bağlamını hâlâ alındığı gibi geçirir.
-
- - `contextVisibility: "all"` (varsayılan) mevcut alındığı gibi davranışı korur.
- - `contextVisibility: "allowlist"` ek bağlamı izin listesindeki gönderenlerle filtreler.
- - `contextVisibility: "allowlist_quote"`, bir açık alıntı/yanıt istisnası eklenmiş `allowlist`tir.
+
+ - `contextVisibility: "all"` (varsayılan) geçerli alındığı-gibi davranışı korur.
+ - `contextVisibility: "allowlist"` ek bağlamı izin listesindeki gönderenlere göre filtreler.
+ - `contextVisibility: "allowlist_quote"`, `allowlist` değerine ek olarak açık bir alıntı/yanıt istisnasıdır.
- Bu güçlendirme modeli kanallar arasında tutarlı biçimde uygulanana kadar yüzeye göre farklılıklar bekleyin.
+ Bu güçlendirme modeli kanallar genelinde tutarlı şekilde uygulanana kadar yüzeylere göre farklılıklar bekleyin.

-İstediğiniz...
+İstiyorsanız...
-| Hedef | Ayarlanacak değer |
+| Amaç | Ayarlanacak değer |
| -------------------------------------------- | ---------------------------------------------------------- |
| Tüm gruplara izin ver ama yalnızca @bahsetmelerde yanıtla | `groups: { "*": { requireMention: true } }` |
-| Tüm grup yanıtlarını devre dışı bırak | `groupPolicy: "disabled"` |
-| Yalnızca belirli gruplar | `groups: { "": { ... } }` (`"*"` anahtarı yok) |
-| Gruplarda yalnızca siz tetikleyebilirsiniz | `groupPolicy: "allowlist"`, `groupAllowFrom: ["+1555..."]` |
-| Kanallar arasında tek bir güvenilir gönderen kümesini yeniden kullan | `groupAllowFrom: ["accessGroup:operators"]` |
+| Tüm grup yanıtlarını devre dışı bırak | `groupPolicy: "disabled"` |
+| Yalnızca belirli gruplar | `groups: { "": { ... } }` (`"*"` anahtarı yok) |
+| Gruplarda yalnızca siz tetikleyebilirsiniz | `groupPolicy: "allowlist"`, `groupAllowFrom: ["+1555..."]` |
+| Kanallar genelinde tek bir güvenilir gönderen kümesini yeniden kullan | `groupAllowFrom: ["accessGroup:operators"]` |
Yeniden kullanılabilir gönderen izin listeleri için bkz. [Erişim grupları](/tr/channels/access-groups).
@@ -130,27 +132,27 @@ Yeniden kullanılabilir gönderen izin listeleri için bkz. [Erişim grupları](
- Grup oturumları `agent:::group:` oturum anahtarlarını kullanır (odalar/kanallar `agent:::channel:` kullanır).
- Telegram forum konuları grup kimliğine `:topic:` ekler, böylece her konunun kendi oturumu olur.
- Doğrudan sohbetler ana oturumu kullanır (veya yapılandırılmışsa gönderen başına).
-- Heartbeat’ler grup oturumları için atlanır.
+- Heartbeat grup oturumları için atlanır.
-## Kalıp: kişisel DM’ler + herkese açık gruplar (tek agent)
+## Kalıp: kişisel DM’ler + herkese açık gruplar (tek aracı)
-Evet — "kişisel" trafiğiniz **DM’ler**, "herkese açık" trafiğiniz ise **gruplar** ise bu iyi çalışır.
+Evet — "kişisel" trafiğiniz **DM’ler** ve "herkese açık" trafiğiniz **gruplar** ise bu iyi çalışır.
-Neden: tek agent modunda DM’ler genellikle **ana** oturum anahtarına (`agent:main:main`) düşerken, gruplar her zaman **ana olmayan** oturum anahtarlarını (`agent:main::group:`) kullanır. `mode: "non-main"` ile sandboxing’i etkinleştirirseniz, bu grup oturumları yapılandırılmış sandbox backend’inde çalışırken ana DM oturumunuz host üzerinde kalır. Birini seçmezseniz Docker varsayılan backend’dir.
+Neden: tek aracılı modda DM’ler genellikle **main** oturum anahtarına (`agent:main:main`) düşerken, gruplar her zaman **main olmayan** oturum anahtarlarını (`agent:main::group:`) kullanır. `mode: "non-main"` ile korumalı alanı etkinleştirirseniz bu grup oturumları yapılandırılmış korumalı alan arka ucunda çalışırken ana DM oturumunuz ana makinede kalır. Bir arka uç seçmezseniz varsayılan arka uç Docker’dır.
-Bu size tek bir agent "beyni" (paylaşılan çalışma alanı + bellek), ancak iki yürütme duruşu verir:
+Bu size tek bir aracı "beyni" (paylaşılan çalışma alanı + bellek) ama iki yürütme duruşu verir:
-- **DM’ler**: tam araçlar (host)
-- **Gruplar**: sandbox + kısıtlı araçlar
+- **DM’ler**: tam araçlar (ana makine)
+- **Gruplar**: korumalı alan + kısıtlı araçlar
-Gerçekten ayrı çalışma alanlarına/persona’lara ihtiyacınız varsa ("kişisel" ve "herkese açık" asla karışmamalıysa), ikinci bir agent + bağlamalar kullanın. Bkz. [Multi-Agent Routing](/tr/concepts/multi-agent).
+Gerçekten ayrı çalışma alanlarına/personalarına ihtiyacınız varsa ("kişisel" ve "herkese açık" asla karışmamalıysa), ikinci bir aracı + bağlamalar kullanın. Bkz. [Çok Aracılı Yönlendirme](/tr/concepts/multi-agent).
-
+
```json5
{
agents: {
@@ -175,7 +177,7 @@ Gerçekten ayrı çalışma alanlarına/persona’lara ihtiyacınız varsa ("ki
```
- "Host erişimi yok" yerine "gruplar yalnızca X klasörünü görebilir" mi istiyorsunuz? `workspaceAccess: "none"` değerini koruyun ve yalnızca izin listesindeki yolları sandbox içine bağlayın:
+ "Ana makine erişimi yok" yerine "gruplar yalnızca X klasörünü görebilir" mi istiyorsunuz? `workspaceAccess: "none"` değerini koruyun ve yalnızca izin listesindeki yolları korumalı alana bağlayın:
```json5
{
@@ -203,17 +205,17 @@ Gerçekten ayrı çalışma alanlarına/persona’lara ihtiyacınız varsa ("ki
İlgili:
- Yapılandırma anahtarları ve varsayılanlar: [Gateway yapılandırması](/tr/gateway/config-agents#agentsdefaultssandbox)
-- Bir aracın neden engellendiğini debug etme: [Sandbox vs Araç İlkesi vs Elevated](/tr/gateway/sandbox-vs-tool-policy-vs-elevated)
-- Bind mount ayrıntıları: [Sandboxing](/tr/gateway/sandboxing#custom-bind-mounts)
+- Bir aracın neden engellendiğini hata ayıklama: [Korumalı Alan ve Araç İlkesi ve Yükseltilmiş](/tr/gateway/sandbox-vs-tool-policy-vs-elevated)
+- Bağlama ayrıntıları: [Korumalı alana alma](/tr/gateway/sandboxing#custom-bind-mounts)
-## Görünen etiketler
+## Görüntü etiketleri
-- UI etiketleri, varsa `displayName` kullanır ve `:` olarak biçimlendirilir.
+- Kullanıcı arayüzü etiketleri mevcut olduğunda `displayName` kullanır ve `:` olarak biçimlendirilir.
- `#room` odalar/kanallar için ayrılmıştır; grup sohbetleri `g-` kullanır (küçük harf, boşluklar -> `-`, `#@+._-` koru).
## Grup ilkesi
-Grup/oda mesajlarının kanal başına nasıl ele alınacağını denetleyin:
+Grup/oda mesajlarının kanal başına nasıl ele alınacağını kontrol edin:
```json5
{
@@ -260,48 +262,48 @@ Grup/oda mesajlarının kanal başına nasıl ele alınacağını denetleyin:
}
```
-| İlke | Davranış |
-| ------------- | ------------------------------------------------------------ |
-| `"open"` | Gruplar izin listelerini atlar; bahsetme geçidi yine uygulanır. |
-| `"disabled"` | Tüm grup mesajlarını tamamen engeller. |
+| İlke | Davranış |
+| ------------- | ----------------------------------------------------------- |
+| `"open"` | Gruplar izin listelerini atlar; bahsetme kapısı yine uygulanır. |
+| `"disabled"` | Tüm grup mesajlarını tamamen engeller. |
| `"allowlist"` | Yalnızca yapılandırılmış izin listesiyle eşleşen gruplara/odalara izin verir. |
- - `groupPolicy`, bahsetme geçidinden ayrıdır (bu @bahsetmeleri gerektirir).
- - WhatsApp/Telegram/Signal/iMessage/Microsoft Teams/Zalo: `groupAllowFrom` kullanın (fallback: açık `allowFrom`).
- - Signal: `groupAllowFrom`, gelen Signal grup kimliğiyle veya gönderen telefon/UUID ile eşleşebilir.
- - DM eşleştirme onayları (`*-allowFrom` store girdileri) yalnızca DM erişimine uygulanır; grup gönderen yetkilendirmesi grup izin listelerine açık kalır.
+ - `groupPolicy`, mention-gating'den ayrıdır (bu @mentions gerektirir).
+ - WhatsApp/Telegram/Signal/iMessage/Microsoft Teams/Zalo: `groupAllowFrom` kullanın (geri dönüş: açık `allowFrom`).
+ - Signal: `groupAllowFrom`, gelen Signal grup kimliğiyle veya gönderenin telefon/UUID değeriyle eşleşebilir.
+ - DM eşleştirme onayları (`*-allowFrom` depo girdileri) yalnızca DM erişimine uygulanır; grup gönderen yetkilendirmesi grup izin listelerinde açık kalır.
- Discord: izin listesi `channels.discord.guilds..channels` kullanır.
- Slack: izin listesi `channels.slack.channels` kullanır.
- - Matrix: izin listesi `channels.matrix.groups` kullanır. Oda kimliklerini veya alias’ları tercih edin; katılınmış oda adı araması best-effort’tır ve çözümlenmeyen adlar runtime’da yok sayılır. Gönderenleri kısıtlamak için `channels.matrix.groupAllowFrom` kullanın; oda başına `users` izin listeleri de desteklenir.
- - Grup DM’leri ayrı denetlenir (`channels.discord.dm.*`, `channels.slack.dm.*`).
+ - Matrix: izin listesi `channels.matrix.groups` kullanır. Oda kimliklerini veya takma adları tercih edin; katılınmış oda adı araması en iyi çaba esaslıdır ve çözülemeyen adlar çalışma zamanında yok sayılır. Gönderenleri kısıtlamak için `channels.matrix.groupAllowFrom` kullanın; oda başına `users` izin listeleri de desteklenir.
+ - Grup DM'leri ayrı denetlenir (`channels.discord.dm.*`, `channels.slack.dm.*`).
- Telegram izin listesi kullanıcı kimlikleriyle (`"123456789"`, `"telegram:123456789"`, `"tg:123456789"`) veya kullanıcı adlarıyla (`"@alice"` ya da `"alice"`) eşleşebilir; önekler büyük/küçük harfe duyarsızdır.
- - Varsayılan `groupPolicy: "allowlist"`tir; grup izin listeniz boşsa grup mesajları engellenir.
- - Runtime güvenliği: bir sağlayıcı bloğu tamamen eksik olduğunda (`channels.` yoksa), grup ilkesi `channels.defaults.groupPolicy` değerini devralmak yerine fail-closed moduna (genellikle `allowlist`) geri döner.
+ - Varsayılan değer `groupPolicy: "allowlist"` olur; grup izin listeniz boşsa grup mesajları engellenir.
+ - Çalışma zamanı güvenliği: bir sağlayıcı bloğu tamamen eksik olduğunda (`channels.` yoksa), grup ilkesi `channels.defaults.groupPolicy` değerini devralmak yerine kapalı kalacak şekilde hata veren bir moda (genellikle `allowlist`) geri döner.
-Hızlı zihinsel model (grup iletileri için değerlendirme sırası):
+Hızlı zihinsel model (grup mesajları için değerlendirme sırası):
- `groupPolicy` (açık/devre dışı/izin listesi).
+ `groupPolicy` (open/disabled/allowlist).
-
+
Grup izin listeleri (`*.groups`, `*.groupAllowFrom`, kanala özgü izin listesi).
- Bahsetme denetimi (`requireMention`, `/activation`).
+ Mention gating (`requireMention`, `/activation`).
-## Bahsetme denetimi (varsayılan)
+## Mention gating (varsayılan)
-Grup iletileri, grup başına geçersiz kılınmadıkça bir bahsetme gerektirir. Varsayılanlar her alt sistem için `*.groups."*"` altında bulunur.
+Grup mesajları, grup başına aksi geçersiz kılınmadıkça mention gerektirir. Varsayılanlar her alt sistemde `*.groups."*"` altında bulunur.
-Kanal yanıt meta verilerini desteklediğinde, bir bot iletisine yanıt vermek örtük bir bahsetme sayılır. Bir bot iletisini alıntılamak da alıntı meta verilerini sunan kanallarda örtük bir bahsetme sayılabilir. Geçerli yerleşik durumlar Telegram, WhatsApp, Slack, Discord, Microsoft Teams ve ZaloUser içerir.
+Kanal yanıt meta verilerini desteklediğinde bir bot mesajını yanıtlamak örtük mention sayılır. Bir bot mesajından alıntı yapmak da alıntı meta verilerini açığa çıkaran kanallarda örtük mention sayılabilir. Geçerli yerleşik durumlar Telegram, WhatsApp, Slack, Discord, Microsoft Teams ve ZaloUser içerir.
```json5
{
@@ -340,41 +342,41 @@ Kanal yanıt meta verilerini desteklediğinde, bir bot iletisine yanıt vermek
```
-
- - `mentionPatterns` büyük/küçük harfe duyarsız güvenli regex desenleridir; geçersiz desenler ve güvenli olmayan iç içe tekrar biçimleri yok sayılır.
- - Açık bahsetmeler sağlayan yüzeyler yine de geçer; desenler bir yedektir.
+
+ - `mentionPatterns`, büyük/küçük harfe duyarsız güvenli regex kalıplarıdır; geçersiz kalıplar ve güvenli olmayan iç içe tekrar biçimleri yok sayılır.
+ - Açık mention sağlayan yüzeyler yine geçer; kalıplar bir geri dönüş yoludur.
- Ajan başına geçersiz kılma: `agents.list[].groupChat.mentionPatterns` (birden fazla ajan aynı grubu paylaştığında kullanışlıdır).
- - Bahsetme denetimi yalnızca bahsetme algılama mümkün olduğunda uygulanır (yerel bahsetmeler veya `mentionPatterns` yapılandırılmıştır).
- - Bir grubu veya göndereni izin listesine almak bahsetme denetimini devre dışı bırakmaz; tüm iletiler tetiklemeliyse o grubun `requireMention` değerini `false` olarak ayarlayın.
- - Grup sohbeti istem bağlamı her turda çözümlenmiş sessiz yanıt talimatını taşır; çalışma alanı dosyaları `NO_REPLY` mekaniklerini yinelememelidir.
- - Sessiz yanıtlara izin verilen gruplar, temiz boş veya yalnızca akıl yürütme içeren model turlarını `NO_REPLY` ile eşdeğer sessiz yanıt olarak ele alır. Doğrudan sohbetler bunu yalnızca doğrudan sessiz yanıtlara açıkça izin verildiğinde aynı şekilde yapar; aksi takdirde boş yanıtlar başarısız ajan turları olarak kalır.
- - Discord varsayılanları `channels.discord.guilds."*"` içinde bulunur (sunucu/kanal başına geçersiz kılınabilir).
- - Grup geçmişi bağlamı kanallar arasında tek tip sarılır ve **yalnızca beklemede olanları** içerir (bahsetme denetimi nedeniyle atlanan iletiler); genel varsayılan için `messages.groupChat.historyLimit`, geçersiz kılmalar için `channels..historyLimit` (veya `channels..accounts.*.historyLimit`) kullanın. Devre dışı bırakmak için `0` ayarlayın.
+ - Mention gating yalnızca mention algılama mümkün olduğunda zorlanır (yerel mention'lar veya `mentionPatterns` yapılandırılmıştır).
+ - Bir grubu veya göndereni izin listesine almak mention gating'i devre dışı bırakmaz; tüm mesajların tetiklemesi gerektiğinde o grubun `requireMention` değerini `false` yapın.
+ - Grup sohbeti istem bağlamı çözümlenen sessiz yanıt talimatını her turda taşır; çalışma alanı dosyaları `NO_REPLY` mekaniklerini yinelememelidir.
+ - Sessiz yanıtlara izin verilen gruplar, temiz boş veya yalnızca akıl yürütme içeren model turlarını `NO_REPLY` ile eşdeğer şekilde sessiz kabul eder. Doğrudan sohbetler bunu yalnızca doğrudan sessiz yanıtlara açıkça izin verildiğinde yapar; aksi halde boş yanıtlar başarısız ajan turları olarak kalır.
+ - Discord varsayılanları `channels.discord.guilds."*"` içinde bulunur (guild/kanal başına geçersiz kılınabilir).
+ - Grup geçmişi bağlamı kanallar arasında tek biçimde sarmalanır ve **yalnızca bekleyen** iletilerden oluşur (mention gating nedeniyle atlanan mesajlar); genel varsayılan için `messages.groupChat.historyLimit`, geçersiz kılmalar için `channels..historyLimit` (veya `channels..accounts.*.historyLimit`) kullanın. Devre dışı bırakmak için `0` ayarlayın.
## Grup/kanal araç kısıtlamaları (isteğe bağlı)
-Bazı kanal yapılandırmaları, **belirli bir grup/oda/kanal içinde** hangi araçların kullanılabileceğini kısıtlamayı destekler.
+Bazı kanal yapılandırmaları, hangi araçların **belirli bir grup/oda/kanal içinde** kullanılabileceğini kısıtlamayı destekler.
-- `tools`: tüm grup için araçlara izin ver/reddet.
-- `toolsBySender`: grup içindeki gönderen başına geçersiz kılmalar. Açık anahtar önekleri kullanın: `id:`, `e164:`, `username:`, `name:` ve `"*"` joker karakteri. Eski öneksiz anahtarlar hâlâ kabul edilir ve yalnızca `id:` olarak eşleştirilir.
+- `tools`: tüm grup için araçlara izin verin/reddedin.
+- `toolsBySender`: grup içinde gönderen başına geçersiz kılmalar. Açık anahtar önekleri kullanın: `id:`, `e164:`, `username:`, `name:` ve `"*"` joker karakteri. Eski öneksiz anahtarlar hâlâ kabul edilir ve yalnızca `id:` olarak eşleştirilir.
Çözümleme sırası (en özel olan kazanır):
-
+
Grup/kanal `toolsBySender` eşleşmesi.
-
+
Grup/kanal `tools`.
-
- Varsayılan (`"*"`) `toolsBySender` eşleşmesi.
+
+ Varsayılan (`"*"` ) `toolsBySender` eşleşmesi.
-
- Varsayılan (`"*"`) `tools`.
+
+ Varsayılan (`"*"` ) `tools`.
@@ -399,28 +401,28 @@ Bazı kanal yapılandırmaları, **belirli bir grup/oda/kanal içinde** hangi ar
```
-Grup/kanal araç kısıtlamaları, genel/ajan araç politikasına ek olarak uygulanır (reddetme yine kazanır). Bazı kanallar odalar/kanallar için farklı iç içe yerleşim kullanır (ör. Discord `guilds.*.channels.*`, Slack `channels.*`, Microsoft Teams `teams.*.channels.*`).
+Grup/kanal araç kısıtlamaları global/ajan araç ilkesine ek olarak uygulanır (reddetme yine kazanır). Bazı kanallar odalar/kanallar için farklı iç içe yerleşimler kullanır (ör. Discord `guilds.*.channels.*`, Slack `channels.*`, Microsoft Teams `teams.*.channels.*`).
## Grup izin listeleri
-`channels.whatsapp.groups`, `channels.telegram.groups` veya `channels.imessage.groups` yapılandırıldığında, anahtarlar bir grup izin listesi gibi davranır. Varsayılan bahsetme davranışını ayarlamaya devam ederken tüm gruplara izin vermek için `"*"` kullanın.
+`channels.whatsapp.groups`, `channels.telegram.groups` veya `channels.imessage.groups` yapılandırıldığında, anahtarlar grup izin listesi olarak davranır. Varsayılan mention davranışını ayarlamaya devam ederken tüm gruplara izin vermek için `"*"` kullanın.
-Yaygın karışıklık: DM eşleştirme onayı grup yetkilendirmesiyle aynı değildir. DM eşleştirmesini destekleyen kanallarda eşleştirme deposu yalnızca DM'lerin kilidini açar. Grup komutları yine de `groupAllowFrom` veya o kanal için belgelenmiş yapılandırma yedeği gibi yapılandırma izin listelerinden açık grup gönderen yetkilendirmesi gerektirir.
+Yaygın karışıklık: DM eşleştirme onayı grup yetkilendirmesiyle aynı değildir. DM eşleştirmeyi destekleyen kanallarda eşleştirme deposu yalnızca DM'lerin kilidini açar. Grup komutları yine de `groupAllowFrom` gibi yapılandırma izin listelerinden veya o kanal için belgelenmiş yapılandırma geri dönüşünden açık grup gönderen yetkilendirmesi gerektirir.
Yaygın amaçlar (kopyala/yapıştır):
-
+
```json5
{
channels: { whatsapp: { groupPolicy: "disabled" } },
}
```
-
+
```json5
{
channels: {
@@ -434,7 +436,7 @@ Yaygın amaçlar (kopyala/yapıştır):
}
```
-
+
```json5
{
channels: {
@@ -445,7 +447,7 @@ Yaygın amaçlar (kopyala/yapıştır):
}
```
-
+
```json5
{
channels: {
@@ -467,7 +469,7 @@ Grup sahipleri grup başına etkinleştirmeyi açıp kapatabilir:
- `/activation mention`
- `/activation always`
-Sahip, `channels.whatsapp.allowFrom` tarafından belirlenir (ayarlanmamışsa botun kendi E.164 numarası kullanılır). Komutu bağımsız bir ileti olarak gönderin. Diğer yüzeyler şu anda `/activation` komutunu yok sayar.
+Sahip, `channels.whatsapp.allowFrom` tarafından belirlenir (ayarlanmamışsa botun kendi E.164 değeri). Komutu bağımsız bir mesaj olarak gönderin. Diğer yüzeyler şu anda `/activation` öğesini yok sayar.
## Bağlam alanları
@@ -476,32 +478,32 @@ Grup gelen yükleri şunları ayarlar:
- `ChatType=group`
- `GroupSubject` (biliniyorsa)
- `GroupMembers` (biliniyorsa)
-- `WasMentioned` (bahsetme denetimi sonucu)
+- `WasMentioned` (mention gating sonucu)
- Telegram forum konuları ayrıca `MessageThreadId` ve `IsForum` içerir.
Kanala özgü notlar:
-- BlueBubbles, `GroupMembers` doldurulmadan önce adlandırılmamış macOS grup katılımcılarını isteğe bağlı olarak yerel Kişiler veritabanından zenginleştirebilir. Bu varsayılan olarak kapalıdır ve yalnızca normal grup denetimi geçtikten sonra çalışır.
+- BlueBubbles, `GroupMembers` doldurulmadan önce adsız macOS grup katılımcılarını yerel Contacts veritabanından isteğe bağlı olarak zenginleştirebilir. Bu varsayılan olarak kapalıdır ve yalnızca normal grup geçitlemesi geçtikten sonra çalışır.
-Ajan sistem istemi, yeni bir grup oturumunun ilk turunda bir grup girişi içerir. Modele insan gibi yanıt vermesini, Markdown tablolarından kaçınmasını, boş satırları en aza indirmesini ve normal sohbet aralığını izlemesini, ayrıca literal `\n` dizileri yazmaktan kaçınmasını hatırlatır. Kanaldan gelen grup adları ve katılımcı etiketleri satır içi sistem talimatları olarak değil, çitle çevrilmiş güvenilmeyen meta veriler olarak işlenir.
+Ajan sistem istemi, yeni bir grup oturumunun ilk turunda bir grup girişi içerir. Modele insan gibi yanıt vermesini, Markdown tablolarından kaçınmasını, boş satırları en aza indirip normal sohbet aralığını izlemesini ve değişmez `\n` dizilerini yazmaktan kaçınmasını hatırlatır. Kanal kaynaklı grup adları ve katılımcı etiketleri satır içi sistem talimatları olarak değil, çitlenmiş güvenilmeyen meta veri olarak işlenir.
## iMessage ayrıntıları
- Yönlendirme veya izin listesine alma sırasında `chat_id:` tercih edin.
- Sohbetleri listele: `imsg chats --limit 20`.
-- Grup yanıtları her zaman aynı `chat_id` değerine geri döner.
+- Grup yanıtları her zaman aynı `chat_id` değerine geri gider.
## WhatsApp sistem istemleri
-Grup ve doğrudan istem çözümlemesi, joker karakter davranışı ve hesap geçersiz kılma semantiği dahil olmak üzere kanonik WhatsApp sistem istemi kuralları için [WhatsApp](/tr/channels/whatsapp#system-prompts) bölümüne bakın.
+Grup ve doğrudan istem çözümlemesi, joker karakter davranışı ve hesap geçersiz kılma semantiklerini içeren kanonik WhatsApp sistem istemi kuralları için [WhatsApp](/tr/channels/whatsapp#system-prompts) bölümüne bakın.
## WhatsApp ayrıntıları
-Yalnızca WhatsApp davranışı (geçmiş ekleme, bahsetme işleme ayrıntıları) için [Grup iletileri](/tr/channels/group-messages) bölümüne bakın.
+Yalnızca WhatsApp davranışı (geçmiş enjeksiyonu, mention işleme ayrıntıları) için [Grup mesajları](/tr/channels/group-messages) bölümüne bakın.
## İlgili
- [Yayın grupları](/tr/channels/broadcast-groups)
- [Kanal yönlendirme](/tr/channels/channel-routing)
-- [Grup iletileri](/tr/channels/group-messages)
+- [Grup mesajları](/tr/channels/group-messages)
- [Eşleştirme](/tr/channels/pairing)
diff --git a/docs/tr/channels/irc.md b/docs/tr/channels/irc.md
index 2d3d885ef..36cdac917 100644
--- a/docs/tr/channels/irc.md
+++ b/docs/tr/channels/irc.md
@@ -1,25 +1,25 @@
---
read_when:
- - OpenClaw'ı IRC kanallarına veya DM'lere bağlamak istiyorsunuz
- - IRC izin listelerini, grup ilkesini veya bahsetme geçitlemesini yapılandırıyorsunuz
+ - OpenClaw’u IRC kanallarına veya DM’lere bağlamak istiyorsunuz
+ - IRC izin listelerini, grup ilkesini veya bahsetme kısıtlamasını yapılandırıyorsunuz
summary: IRC Plugin kurulumu, erişim denetimleri ve sorun giderme
title: IRC
x-i18n:
- generated_at: "2026-04-24T08:58:24Z"
- model: gpt-5.4
+ generated_at: "2026-05-04T02:21:27Z"
+ model: gpt-5.5
provider: openai
- source_hash: 76f316c0f026d0387a97dc5dcb6d8967f6e4841d94b95b36e42f6f6284882a69
+ source_hash: 43c3098fe49a5e7405443df73e1bf752a579460dc0b2070c3d07f43b512bb555
source_path: channels/irc.md
- workflow: 15
+ workflow: 16
---
-OpenClaw'ı klasik kanallarda (`#oda`) ve doğrudan mesajlarda kullanmak istediğinizde IRC kullanın.
+OpenClaw'ı klasik kanallarda (`#room`) ve doğrudan mesajlarda kullanmak istediğinizde IRC kullanın.
IRC, paketle birlikte gelen bir Plugin olarak sunulur, ancak ana yapılandırmada `channels.irc` altında yapılandırılır.
## Hızlı başlangıç
1. `~/.openclaw/openclaw.json` içinde IRC yapılandırmasını etkinleştirin.
-2. En azından şunları ayarlayın:
+2. En az şunları ayarlayın:
```json5
{
@@ -36,7 +36,7 @@ IRC, paketle birlikte gelen bir Plugin olarak sunulur, ancak ana yapılandırmad
}
```
-Bot koordinasyonu için özel bir IRC sunucusu tercih edin. Bilerek herkese açık bir IRC ağı kullanıyorsanız yaygın seçenekler arasında Libera.Chat, OFTC ve Snoonet bulunur. Bot veya swarm arka kanal trafiği için tahmin edilebilir herkese açık kanallardan kaçının.
+Bot koordinasyonu için özel bir IRC sunucusu tercih edin. Bilerek herkese açık bir IRC ağı kullanıyorsanız yaygın seçenekler arasında Libera.Chat, OFTC ve Snoonet bulunur. Bot veya sürü arka kanal trafiği için tahmin edilebilir herkese açık kanallardan kaçının.
3. Gateway'i başlatın/yeniden başlatın:
@@ -46,38 +46,39 @@ openclaw gateway run
## Güvenlik varsayılanları
-- `channels.irc.dmPolicy` varsayılan olarak `"pairing"` değerini kullanır.
-- `channels.irc.groupPolicy` varsayılan olarak `"allowlist"` değerini kullanır.
-- `groupPolicy="allowlist"` olduğunda izin verilen kanalları tanımlamak için `channels.irc.groups` ayarlayın.
-- Bilerek düz metin taşımayı kabul etmiyorsanız TLS kullanın (`channels.irc.tls=true`).
+- IRC, OpenClaw operatör yönetimli ileri proxy yönlendirmesi dışında ham TCP/TLS soketleri kullanır. Tüm çıkış trafiğinin bu ileri proxy üzerinden geçmesini gerektiren dağıtımlarda, doğrudan IRC çıkışına açıkça onay verilmedikçe `channels.irc.enabled=false` ayarlayın.
+- `channels.irc.dmPolicy` varsayılan olarak `"pairing"` değerindedir.
+- `channels.irc.groupPolicy` varsayılan olarak `"allowlist"` değerindedir.
+- `groupPolicy="allowlist"` ile izin verilen kanalları tanımlamak için `channels.irc.groups` ayarlayın.
+- Bilerek düz metin aktarımı kabul etmiyorsanız TLS (`channels.irc.tls=true`) kullanın.
## Erişim denetimi
-IRC kanalları için iki ayrı “geçit” vardır:
+IRC kanalları için iki ayrı “kapı” vardır:
1. **Kanal erişimi** (`groupPolicy` + `groups`): botun bir kanaldan gelen mesajları hiç kabul edip etmeyeceği.
-2. **Gönderen erişimi** (`groupAllowFrom` / kanal başına `groups["#channel"].allowFrom`): o kanal içinde botu kimin tetikleyebileceği.
+2. **Gönderen erişimi** (`groupAllowFrom` / kanal başına `groups["#channel"].allowFrom`): o kanalda botu kimin tetikleyebileceği.
Yapılandırma anahtarları:
- DM izin listesi (DM gönderen erişimi): `channels.irc.allowFrom`
- Grup gönderen izin listesi (kanal gönderen erişimi): `channels.irc.groupAllowFrom`
- Kanal başına denetimler (kanal + gönderen + bahsetme kuralları): `channels.irc.groups["#channel"]`
-- `channels.irc.groupPolicy="open"` yapılandırılmamış kanallara izin verir (**varsayılan olarak yine de bahsetme geçitlemesine tabidir**)
+- `channels.irc.groupPolicy="open"` yapılandırılmamış kanallara izin verir (**yine de varsayılan olarak bahsetme kapısına tabidir**)
-İzin listesi girdileri kararlı gönderen kimliklerini kullanmalıdır (`nick!user@host`).
-Yalın nick eşleştirmesi değişkendir ve yalnızca `channels.irc.dangerouslyAllowNameMatching: true` olduğunda etkinleştirilir.
+İzin listesi girdileri kararlı gönderen kimlikleri (`nick!user@host`) kullanmalıdır.
+Yalın nick eşleştirmesi değiştirilebilir niteliktedir ve yalnızca `channels.irc.dangerouslyAllowNameMatching: true` olduğunda etkinleştirilir.
-### Yaygın tuzak: `allowFrom` DM'ler içindir, kanallar için değil
+### Yaygın hata: `allowFrom` DM'ler içindir, kanallar için değil
-Şu tür günlükler görürseniz:
+Şuna benzer günlükler görürseniz:
- `irc: drop group sender alice!ident@host (policy=allowlist)`
-...bu, gönderenin **grup/kanal** mesajları için izinli olmadığı anlamına gelir. Bunu şu yollardan biriyle düzeltin:
+…bu, gönderenin **grup/kanal** mesajları için izinli olmadığı anlamına gelir. Şunlardan biriyle düzeltin:
-- `channels.irc.groupAllowFrom` ayarlayın (tüm kanallar için genel), veya
-- kanal başına gönderen izin listeleri ayarlayın: `channels.irc.groups["#channel"].allowFrom`
+- `channels.irc.groupAllowFrom` ayarlamak (tüm kanallar için genel), veya
+- kanal başına gönderen izin listeleri ayarlamak: `channels.irc.groups["#channel"].allowFrom`
Örnek (`#tuirc-dev` içindeki herkesin botla konuşmasına izin ver):
@@ -96,11 +97,11 @@ Yalın nick eşleştirmesi değişkendir ve yalnızca `channels.irc.dangerouslyA
## Yanıt tetikleme (bahsetmeler)
-Bir kanala izin verilmiş olsa bile (`groupPolicy` + `groups` ile) ve gönderen izinli olsa bile OpenClaw, grup bağlamlarında varsayılan olarak **bahsetme geçitlemesi** kullanır.
+Bir kanala izin verilmiş olsa (`groupPolicy` + `groups` üzerinden) ve gönderen izinli olsa bile OpenClaw, grup bağlamlarında varsayılan olarak **bahsetme kapısı** uygular.
-Bu, mesaj botla eşleşen bir bahsetme deseni içermiyorsa `drop channel … (missing-mention)` gibi günlükler görebileceğiniz anlamına gelir.
+Bu, mesaj botla eşleşen bir bahsetme deseni içermediği sürece `drop channel … (missing-mention)` gibi günlükler görebileceğiniz anlamına gelir.
-Botun bir IRC kanalında **bahsetme gerekmeksizin** yanıt vermesini istiyorsanız, o kanal için bahsetme geçitlemesini devre dışı bırakın:
+Botun bir IRC kanalında **bahsetme gerektirmeden** yanıt vermesini sağlamak için o kanal için bahsetme kapısını devre dışı bırakın:
```json5
{
@@ -118,7 +119,7 @@ Botun bir IRC kanalında **bahsetme gerekmeksizin** yanıt vermesini istiyorsan
}
```
-Ya da **tüm** IRC kanallarına izin vermek (kanal başına izin listesi olmadan) ve yine de bahsetme olmadan yanıt vermek için:
+Veya **tüm** IRC kanallarına izin vermek (kanal başına izin listesi olmadan) ve yine de bahsetme olmadan yanıtlamak için:
```json5
{
@@ -135,7 +136,7 @@ Ya da **tüm** IRC kanallarına izin vermek (kanal başına izin listesi olmadan
## Güvenlik notu (herkese açık kanallar için önerilir)
-Herkese açık bir kanalda `allowFrom: ["*"]` kullanırsanız, herkes botu istemle tetikleyebilir.
+Herkese açık bir kanalda `allowFrom: ["*"]` izni verirseniz herkes botu istemleyebilir.
Riski azaltmak için o kanalın araçlarını kısıtlayın.
### Kanaldaki herkes için aynı araçlar
@@ -157,9 +158,9 @@ Riski azaltmak için o kanalın araçlarını kısıtlayın.
}
```
-### Gönderene göre farklı araçlar (sahip daha fazla yetki alır)
+### Gönderen başına farklı araçlar (sahip daha fazla yetki alır)
-`"*"` için daha sıkı, kendi nick'iniz için daha gevşek bir ilke uygulamak üzere `toolsBySender` kullanın:
+`"*"` için daha sıkı, nick'iniz için daha gevşek bir ilke uygulamak üzere `toolsBySender` kullanın:
```json5
{
@@ -185,16 +186,16 @@ Riski azaltmak için o kanalın araçlarını kısıtlayın.
Notlar:
-- `toolsBySender` anahtarları IRC gönderen kimlik değerleri için `id:` kullanmalıdır:
- daha güçlü eşleştirme için `id:eigen` veya `id:eigen!~eigen@174.127.248.171`.
+- `toolsBySender` anahtarları IRC gönderen kimliği değerleri için `id:` kullanmalıdır:
+ Daha güçlü eşleştirme için `id:eigen` veya `id:eigen!~eigen@174.127.248.171`.
- Eski öneksiz anahtarlar hâlâ kabul edilir ve yalnızca `id:` olarak eşleştirilir.
- İlk eşleşen gönderen ilkesi kazanır; `"*"` joker yedektir.
-Grup erişimi ile bahsetme geçitlemesi (ve bunların nasıl etkileştiği) hakkında daha fazla bilgi için bkz.: [/channels/groups](/tr/channels/groups).
+Grup erişimi ile bahsetme kapısı hakkında daha fazla bilgi (ve nasıl etkileştikleri) için bkz.: [/channels/groups](/tr/channels/groups).
## NickServ
-Bağlantıdan sonra NickServ ile kimlik doğrulamak için:
+Bağlandıktan sonra NickServ ile kimlik doğrulamak için:
```json5
{
@@ -210,7 +211,7 @@ Bağlantıdan sonra NickServ ile kimlik doğrulamak için:
}
```
-Bağlantıda isteğe bağlı tek seferlik kayıt:
+Bağlanırken isteğe bağlı tek seferlik kayıt:
```json5
{
@@ -225,7 +226,7 @@ Bağlantıda isteğe bağlı tek seferlik kayıt:
}
```
-Tekrarlanan REGISTER denemelerini önlemek için nick kaydedildikten sonra `register` değerini devre dışı bırakın.
+Yinelenen REGISTER denemelerini önlemek için nick kaydedildikten sonra `register` değerini devre dışı bırakın.
## Ortam değişkenleri
@@ -246,14 +247,14 @@ Varsayılan hesap şunları destekler:
## Sorun giderme
-- Bot bağlanıyor ancak kanallarda hiç yanıt vermiyorsa `channels.irc.groups` ayarını **ve** bahsetme geçitlemesinin mesajları düşürüp düşürmediğini (`missing-mention`) doğrulayın. Ping olmadan yanıt vermesini istiyorsanız kanal için `requireMention:false` ayarlayın.
-- Giriş başarısız oluyorsa nick'in kullanılabilirliğini ve sunucu parolasını doğrulayın.
-- Özel bir ağda TLS başarısız oluyorsa ana bilgisayar/port ve sertifika kurulumunu doğrulayın.
+- Bot bağlanıyor ama kanallarda hiç yanıt vermiyorsa `channels.irc.groups` ayarını **ve** bahsetme kapısının mesajları düşürüp düşürmediğini (`missing-mention`) doğrulayın. Ping olmadan yanıt vermesini istiyorsanız kanal için `requireMention:false` ayarlayın.
+- Oturum açma başarısız olursa nick kullanılabilirliğini ve sunucu parolasını doğrulayın.
+- Özel bir ağda TLS başarısız olursa host/port ve sertifika kurulumunu doğrulayın.
## İlgili
- [Kanallara Genel Bakış](/tr/channels) — desteklenen tüm kanallar
-- [Pairing](/tr/channels/pairing) — DM kimlik doğrulaması ve eşleştirme akışı
-- [Gruplar](/tr/channels/groups) — grup sohbeti davranışı ve bahsetme geçitlemesi
-- [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
+- [Eşleştirme](/tr/channels/pairing) — DM kimlik doğrulaması ve eşleştirme akışı
+- [Gruplar](/tr/channels/groups) — grup sohbeti davranışı ve bahsetme kapısı
+- [Kanal Yönlendirme](/tr/channels/channel-routing) — mesajlar için oturum yönlendirme
+- [Güvenlik](/tr/gateway/security) — erişim modeli ve sıkılaştırma
diff --git a/docs/tr/channels/pairing.md b/docs/tr/channels/pairing.md
index f040d8127..350acddd0 100644
--- a/docs/tr/channels/pairing.md
+++ b/docs/tr/channels/pairing.md
@@ -1,15 +1,15 @@
---
read_when:
- - DM erişim denetimini ayarlama
- - Yeni bir iOS/Android Node eşleştirme
- - OpenClaw güvenlik duruşunu inceleme
-summary: 'Eşleştirme genel bakışı: kimlerin size özel mesaj gönderebileceğini + hangi Node''ların katılabileceğini onaylayın'
+ - DM erişim kontrolünü ayarlama
+ - Yeni bir iOS/Android Node'u eşleştirme
+ - OpenClaw'un güvenlik duruşunu gözden geçirme
+summary: 'Eşleştirme genel bakışı: size kimlerin doğrudan mesaj gönderebileceğini + hangi düğümlerin katılabileceğini onaylayın'
title: Eşleştirme
x-i18n:
- generated_at: "2026-05-02T08:47:56Z"
+ generated_at: "2026-05-04T02:21:37Z"
model: gpt-5.5
provider: openai
- source_hash: bb68d87c0e1dfe7c9a6a6d9415f4c63625755fb43a2e22a1d1374ff0a63e49c4
+ source_hash: 4fb27840f7c9ef55e7270cc29f813e6db90b240aa2180f30952eb9485f0f8874
source_path: channels/pairing.md
workflow: 16
---
@@ -17,27 +17,27 @@ x-i18n:
“Eşleştirme”, OpenClaw’ın açık erişim onayı adımıdır.
İki yerde kullanılır:
-1. **DM eşleştirme** (botla kimlerin konuşmasına izin verildiği)
-2. **Node eşleştirme** (hangi cihazların/Node’ların Gateway ağına katılmasına izin verildiği)
+1. **DM eşleştirmesi** (botla kimin konuşmasına izin verildiği)
+2. **Node eşleştirmesi** (hangi cihazların/Node’ların Gateway ağına katılmasına izin verildiği)
Güvenlik bağlamı: [Güvenlik](/tr/gateway/security)
-## 1) DM eşleştirme (gelen sohbet erişimi)
+## 1) DM eşleştirmesi (gelen sohbet erişimi)
-Bir kanal DM ilkesi `pairing` ile yapılandırıldığında, bilinmeyen gönderenler kısa bir kod alır ve onaylayana kadar mesajları **işlenmez**.
+Bir kanal `pairing` DM politikasıyla yapılandırıldığında, bilinmeyen gönderenler kısa bir kod alır ve siz onaylayana kadar mesajları **işlenmez**.
-Varsayılan DM ilkeleri şurada belgelenmiştir: [Güvenlik](/tr/gateway/security)
+Varsayılan DM politikaları burada belgelenmiştir: [Güvenlik](/tr/gateway/security)
-`dmPolicy: "open"` yalnızca etkin DM izin listesinin `"*"` içerdiği durumda herkese açıktır.
+`dmPolicy: "open"` yalnızca etkin DM izin listesi `"*"` içerdiğinde herkese açıktır.
Kurulum ve doğrulama, herkese açık `open` yapılandırmaları için bu joker karakteri gerektirir. Mevcut
-durum somut `allowFrom` girdileriyle `open` içeriyorsa, çalışma zamanı yine de
+durum somut `allowFrom` girdileriyle `open` içeriyorsa, çalışma zamanı yine
yalnızca bu gönderenleri kabul eder ve eşleştirme deposu onayları `open` erişimini genişletmez.
Eşleştirme kodları:
- 8 karakter, büyük harf, belirsiz karakter yok (`0O1I`).
-- **1 saat sonra sona erer**. Bot, eşleştirme mesajını yalnızca yeni bir istek oluşturulduğunda gönderir (gönderen başına yaklaşık saatte bir).
-- Bekleyen DM eşleştirme istekleri varsayılan olarak **kanal başına 3** ile sınırlıdır; ek istekler biri sona erene veya onaylanana kadar yok sayılır.
+- **1 saat sonra süresi dolar**. Bot, eşleştirme mesajını yalnızca yeni bir istek oluşturulduğunda gönderir (gönderen başına yaklaşık saatte bir).
+- Bekleyen DM eşleştirme istekleri varsayılan olarak **kanal başına 3** ile sınırlandırılır; ek istekler biri sona erene veya onaylanana kadar yok sayılır.
### Bir göndereni onaylama
@@ -46,21 +46,21 @@ openclaw pairing list telegram
openclaw pairing approve telegram
```
-Henüz bir komut sahibi yapılandırılmadıysa, bir DM eşleştirme kodunu onaylamak
-`commands.ownerAllowFrom` değerini de onaylanan gönderene, örneğin `telegram:123456789`,
-önyükler. Bu, ilk kurulumlara ayrıcalıklı komutlar ve exec onay istemleri için
-açık bir sahip verir. Bir sahip olduktan sonra, sonraki eşleştirme onayları yalnızca DM
+Henüz komut sahibi yapılandırılmamışsa, bir DM eşleştirme kodunu onaylamak
+`commands.ownerAllowFrom` değerini de `telegram:123456789` gibi onaylanan gönderene başlatır.
+Bu, ilk kurulumlara ayrıcalıklı komutlar ve exec onay istemleri için açık bir sahip verir.
+Bir sahip mevcut olduktan sonra, sonraki eşleştirme onayları yalnızca DM
erişimi verir; daha fazla sahip eklemez.
Desteklenen kanallar: `bluebubbles`, `discord`, `feishu`, `googlechat`, `imessage`, `irc`, `line`, `matrix`, `mattermost`, `msteams`, `nextcloud-talk`, `nostr`, `openclaw-weixin`, `signal`, `slack`, `synology-chat`, `telegram`, `twitch`, `whatsapp`, `zalo`, `zalouser`.
### Yeniden kullanılabilir gönderen grupları
-Aynı güvenilir gönderen kümesi birden fazla mesaj kanalına ya da hem DM hem de grup izin listelerine
-uygulanacaksa üst düzey `accessGroups` kullanın.
+Aynı güvenilir gönderen kümesinin birden fazla mesaj kanalına veya hem DM hem
+grup izin listelerine uygulanması gerektiğinde üst düzey `accessGroups` kullanın.
Statik gruplar `type: "message.senders"` kullanır ve kanal izin listelerinden
-`accessGroup:` ile başvurulur:
+`accessGroup:` ile referanslanır:
```json5
{
@@ -85,61 +85,61 @@ Erişim grupları burada ayrıntılı olarak belgelenmiştir: [Erişim grupları
### Durumun bulunduğu yer
-`~/.openclaw/credentials/` altında saklanır:
+`~/.openclaw/credentials/` altında depolanır:
- Bekleyen istekler: `-pairing.json`
-- Onaylanmış izin listesi deposu:
+- Onaylı izin listesi deposu:
- Varsayılan hesap: `-allowFrom.json`
- Varsayılan olmayan hesap: `--allowFrom.json`
Hesap kapsamı davranışı:
-- Varsayılan olmayan hesaplar yalnızca kendi kapsamlı izin listesi dosyasını okur/yazar.
-- Varsayılan hesap, kanal kapsamlı kapsamsız izin listesi dosyasını kullanır.
+- Varsayılan olmayan hesaplar yalnızca kendi kapsamlı izin listesi dosyalarını okur/yazar.
+- Varsayılan hesap, kanal kapsamlı kapsamlandırılmamış izin listesi dosyasını kullanır.
Bunları hassas kabul edin (asistanınıza erişimi denetlerler).
Eşleştirme izin listesi deposu DM erişimi içindir. Grup yetkilendirmesi ayrıdır.
-Bir DM eşleştirme kodunu onaylamak, bu gönderenin grup komutları çalıştırmasına
-veya gruplarda botu denetlemesine otomatik olarak izin vermez. İlk sahip önyüklemesi,
-`commands.ownerAllowFrom` içinde ayrı yapılandırma durumudur ve grup sohbeti teslimi yine de
-kanalın grup izin listelerini izler (örneğin kanala bağlı olarak `groupAllowFrom`, `groups` veya grup başına
-ya da konu başına geçersiz kılmalar).
+Bir DM eşleştirme kodunu onaylamak, o gönderenin grup komutlarını çalıştırmasına
+veya botu gruplarda denetlemesine otomatik olarak izin vermez. İlk sahip başlatması
+`commands.ownerAllowFrom` içinde ayrı bir yapılandırma durumudur ve grup sohbeti teslimi yine
+kanalın grup izin listelerini izler (örneğin kanala bağlı olarak `groupAllowFrom`, `groups` ya da grup başına
+veya konu başına geçersiz kılmalar).
-## 2) Node cihaz eşleştirme (iOS/Android/macOS/başsız Node’lar)
+## 2) Node cihaz eşleştirmesi (iOS/Android/macOS/başsız Node’lar)
-Node’lar Gateway’e `role: node` ile **cihazlar** olarak bağlanır. Gateway
+Node’lar Gateway’e `role: node` ile **cihaz** olarak bağlanır. Gateway
onaylanması gereken bir cihaz eşleştirme isteği oluşturur.
### Telegram üzerinden eşleştirme (iOS için önerilir)
`device-pair` Plugin’ini kullanıyorsanız, ilk cihaz eşleştirmesini tamamen Telegram’dan yapabilirsiniz:
-1. Telegram’da botunuza şu mesajı gönderin: `/pair`
-2. Bot iki mesajla yanıt verir: bir yönerge mesajı ve ayrı bir **kurulum kodu** mesajı (Telegram’da kopyalayıp/yapıştırması kolaydır).
+1. Telegram’da botunuza mesaj gönderin: `/pair`
+2. Bot iki mesajla yanıt verir: bir yönerge mesajı ve ayrı bir **kurulum kodu** mesajı (Telegram’da kopyalaması/yapıştırması kolaydır).
3. Telefonunuzda OpenClaw iOS uygulamasını açın → Ayarlar → Gateway.
4. Kurulum kodunu yapıştırın ve bağlanın.
-5. Telegram’a dönün: `/pair pending` (istek kimliklerini, rolü ve kapsamları gözden geçirin), ardından onaylayın.
+5. Telegram’a geri dönün: `/pair pending` (istek kimliklerini, rolü ve kapsamları inceleyin), ardından onaylayın.
Kurulum kodu, şunları içeren base64 kodlu bir JSON yüküdür:
- `url`: Gateway WebSocket URL’si (`ws://...` veya `wss://...`)
-- `bootstrapToken`: ilk eşleştirme el sıkışması için kullanılan kısa ömürlü, tek cihazlık önyükleme belirteci
+- `bootstrapToken`: ilk eşleştirme el sıkışması için kullanılan kısa ömürlü tek cihazlık başlangıç token’ı
-Bu önyükleme belirteci yerleşik eşleştirme önyükleme profilini taşır:
+Bu başlangıç token’ı yerleşik eşleştirme başlangıç profilini taşır:
-- birincil devredilen `node` belirteci `scopes: []` olarak kalır
-- devredilen herhangi bir `operator` belirteci önyükleme izin listesiyle sınırlı kalır:
+- birincil devredilen `node` token’ı `scopes: []` olarak kalır
+- devredilen herhangi bir `operator` token’ı başlangıç izin listesiyle sınırlı kalır:
`operator.approvals`, `operator.read`, `operator.talk.secrets`, `operator.write`
-- önyükleme kapsam denetimleri rol öneklidir, tek düz bir kapsam havuzu değildir:
- operator kapsam girdileri yalnızca operator isteklerini karşılar ve operator olmayan rollerin
- yine de kendi rol önekleri altında kapsam istemesi gerekir
-- sonraki belirteç döndürme/iptal işlemleri hem cihazın onaylanmış rol sözleşmesiyle
+- başlangıç kapsamı denetimleri rol öneklidir, tek düz bir kapsam havuzu değildir:
+ operator kapsam girdileri yalnızca operator isteklerini karşılar ve operator olmayan roller
+ yine kendi rol önekleri altında kapsam istemelidir
+- sonraki token döndürme/iptal işlemleri hem cihazın onaylı rol sözleşmesiyle
hem de çağıran oturumun operator kapsamlarıyla sınırlı kalır
-Kurulum kodunu geçerli olduğu sürece bir parola gibi ele alın.
+Kurulum kodunu geçerli olduğu süre boyunca parola gibi değerlendirin.
### Bir Node cihazını onaylama
@@ -149,18 +149,25 @@ openclaw devices approve
openclaw devices reject
```
+Açık bir onay, onaylayan eşleştirilmiş cihaz oturumu yalnızca eşleştirme kapsamıyla
+açıldığı için reddedildiğinde, CLI aynı isteği
+`operator.admin` ile yeniden dener. Bu, mevcut admin yetkinliğine sahip eşleştirilmiş bir cihazın yeni
+Denetim UI’si/tarayıcı eşleştirmesini `devices/paired.json` dosyasını elle düzenlemeden kurtarmasını sağlar.
+Gateway yeniden denenen bağlantıyı yine doğrular; `operator.admin` ile kimlik doğrulaması
+yapamayan token’lar engelli kalır.
+
Aynı cihaz farklı kimlik doğrulama ayrıntılarıyla yeniden denerse (örneğin farklı
-rol/kapsamlar/genel anahtar), önceki bekleyen isteğin yerini yenisi alır ve yeni bir
+rol/kapsamlar/açık anahtar), önceki bekleyen istek geçersiz kılınır ve yeni bir
`requestId` oluşturulur.
-Zaten eşleştirilmiş bir cihaz sessizce daha geniş erişim almaz. Daha fazla kapsam veya daha geniş bir rol isteyerek yeniden bağlanırsa, OpenClaw mevcut onayı olduğu gibi korur ve yeni bir bekleyen yükseltme isteği oluşturur. Onaylamadan önce şu anda onaylı erişimi yeni istenen erişimle karşılaştırmak için `openclaw devices list` kullanın.
+Zaten eşleştirilmiş bir cihaz sessizce daha geniş erişim almaz. Daha fazla kapsam veya daha geniş bir rol isteyerek yeniden bağlanırsa, OpenClaw mevcut onayı olduğu gibi tutar ve yeni bir bekleyen yükseltme isteği oluşturur. Onaylamadan önce şu anda onaylı erişimi yeni istenen erişimle karşılaştırmak için `openclaw devices list` kullanın.
### İsteğe bağlı güvenilir CIDR Node otomatik onayı
-Cihaz eşleştirme varsayılan olarak manuel kalır. Sıkı denetlenen Node ağları için,
-açık CIDR’lar veya tam IP’lerle ilk kez Node otomatik onayına katılabilirsiniz:
+Cihaz eşleştirmesi varsayılan olarak elle yapılır. Sıkı denetimli Node ağları için,
+açık CIDR’ler veya tam IP’lerle ilk Node otomatik onayına dahil olabilirsiniz:
```json5
{
@@ -175,25 +182,26 @@ açık CIDR’lar veya tam IP’lerle ilk kez Node otomatik onayına katılabili
```
Bu yalnızca istenen kapsamı olmayan yeni `role: node` eşleştirme istekleri için geçerlidir.
-Operator, tarayıcı, Control UI ve WebChat istemcileri yine de manuel onay gerektirir.
-Rol, kapsam, meta veri ve genel anahtar değişiklikleri yine de manuel onay gerektirir.
+Operator, tarayıcı, Denetim UI’si ve WebChat istemcileri yine elle
+onay gerektirir. Rol, kapsam, meta veri ve açık anahtar değişiklikleri yine elle
+onay gerektirir.
-### Node eşleştirme durum depolaması
+### Node eşleştirme durumunun depolanması
-`~/.openclaw/devices/` altında saklanır:
+`~/.openclaw/devices/` altında depolanır:
-- `pending.json` (kısa ömürlü; bekleyen istekler sona erer)
-- `paired.json` (eşleştirilmiş cihazlar + belirteçler)
+- `pending.json` (kısa ömürlü; bekleyen isteklerin süresi dolar)
+- `paired.json` (eşleştirilmiş cihazlar + token’lar)
### Notlar
- Eski `node.pair.*` API’si (CLI: `openclaw nodes pending|approve|reject|remove|rename`)
- ayrı, gateway tarafından sahip olunan bir eşleştirme deposudur. WS Node’ları yine de cihaz eşleştirmesi gerektirir.
-- Eşleştirme kaydı, onaylanmış roller için kalıcı doğruluk kaynağıdır. Etkin
- cihaz belirteçleri bu onaylanmış rol kümesiyle sınırlı kalır; onaylanmış rollerin
- dışındaki başıboş bir belirteç girdisi yeni erişim oluşturmaz.
+ ayrı bir Gateway sahipli eşleştirme deposudur. WS Node’ları yine cihaz eşleştirmesi gerektirir.
+- Eşleştirme kaydı, onaylı roller için kalıcı doğruluk kaynağıdır. Etkin
+ cihaz token’ları bu onaylı rol kümesiyle sınırlı kalır; onaylı rollerin
+ dışındaki başıboş bir token girdisi yeni erişim oluşturmaz.
-## İlgili belgeler
+## İlgili dokümanlar
- Güvenlik modeli + istem enjeksiyonu: [Güvenlik](/tr/gateway/security)
- Güvenli güncelleme (doctor çalıştırın): [Güncelleme](/tr/install/updating)
diff --git a/docs/tr/channels/qqbot.md b/docs/tr/channels/qqbot.md
index 554cb7b70..b30bbe5c4 100644
--- a/docs/tr/channels/qqbot.md
+++ b/docs/tr/channels/qqbot.md
@@ -1,22 +1,22 @@
---
read_when:
- - OpenClaw'u QQ'ya bağlamak istiyorsunuz
+ - OpenClaw'ı QQ'ya bağlamak istiyorsunuz
- QQ Bot kimlik bilgilerini ayarlamanız gerekiyor
- - QQ Bot için grup veya özel sohbet desteği istiyorsunuz
+ - QQ Bot grup veya özel sohbet desteği istiyorsunuz
summary: QQ Bot kurulumu, yapılandırması ve kullanımı
title: QQ botu
x-i18n:
- generated_at: "2026-05-03T21:27:37Z"
+ generated_at: "2026-05-04T02:21:32Z"
model: gpt-5.5
provider: openai
- source_hash: 471c24110bf0ab8896d22f5bb5932ac4e03ff5169560c99ba6b9d1ca4025d9a8
+ source_hash: e17fa0da2f6939ed28cac5f13b3e37e6c63b87a10250ff213f7a86685a6141d6
source_path: channels/qqbot.md
workflow: 16
---
-QQ Bot, resmi QQ Bot API'si (WebSocket ağ geçidi) üzerinden OpenClaw'a bağlanır. Plugin, zengin medyayla (görseller, ses, video, dosyalar) C2C özel sohbeti, grup @mesajlarını ve lonca kanal mesajlarını destekler.
+QQ Bot, resmi QQ Bot API'si (WebSocket gateway) üzerinden OpenClaw'a bağlanır. Plugin; C2C özel sohbeti, grup @mesajlarını ve zengin medyayla (görüntüler, ses, video, dosyalar) guild kanal mesajlarını destekler.
-Durum: indirilebilir Plugin. Doğrudan mesajlar, grup sohbetleri, lonca kanalları ve medya desteklenir. Tepkiler ve ileti dizileri desteklenmez.
+Durum: indirilebilir Plugin. Doğrudan mesajlar, grup sohbetleri, guild kanalları ve medya desteklenir. Tepkiler ve iş parçacıkları desteklenmez.
## Kurulum
@@ -28,12 +28,13 @@ openclaw plugins install @openclaw/qqbot
## Ayarlama
-1. [QQ Open Platform](https://q.qq.com/) adresine gidin ve kaydolmak / oturum açmak için QR kodunu telefonunuzdaki QQ ile tarayın.
-2. Yeni bir QQ bot oluşturmak için **Create Bot** düğmesine tıklayın.
+1. [QQ Open Platform](https://q.qq.com/) adresine gidin ve kaydolmak / oturum açmak için QR kodunu
+ telefonunuzdaki QQ ile tarayın.
+2. Yeni bir QQ botu oluşturmak için **Create Bot** düğmesine tıklayın.
3. Botun ayarlar sayfasında **AppID** ve **AppSecret** değerlerini bulun ve kopyalayın.
> AppSecret düz metin olarak saklanmaz; kaydetmeden sayfadan ayrılırsanız
-> yeni bir tane oluşturmanız gerekir.
+> yeni bir tane yeniden oluşturmanız gerekir.
4. Kanalı ekleyin:
@@ -102,15 +103,15 @@ Ortam SecretRef AppSecret:
Notlar:
- Ortam geri dönüşü yalnızca varsayılan QQ Bot hesabına uygulanır.
-- `openclaw channels add --channel qqbot --token-file ...`, yalnızca
- AppSecret sağlar; AppID'nin yapılandırmada veya `QQBOT_APP_ID` içinde zaten ayarlanmış olması gerekir.
-- `clientSecret`, yalnızca düz metin dizesini değil, SecretRef girişini de kabul eder.
-- Eski `secretref:/...` işaret dizeleri geçerli `clientSecret` değerleri değildir;
+- `openclaw channels add --channel qqbot --token-file ...` yalnızca
+ AppSecret sağlar; AppID yapılandırmada veya `QQBOT_APP_ID` içinde zaten ayarlanmış olmalıdır.
+- `clientSecret`, yalnızca düz metin dizesi değil, SecretRef girdisini de kabul eder.
+- Eski `secretref:/...` işaretçi dizeleri geçerli `clientSecret` değerleri değildir;
yukarıdaki örnekteki gibi yapılandırılmış SecretRef nesneleri kullanın.
### Çok hesaplı ayarlama
-Tek bir OpenClaw örneği altında birden çok QQ bot çalıştırın:
+Tek bir OpenClaw örneği altında birden fazla QQ botu çalıştırın:
```json5
{
@@ -131,7 +132,8 @@ Tek bir OpenClaw örneği altında birden çok QQ bot çalıştırın:
}
```
-Her hesap kendi WebSocket bağlantısını başlatır ve bağımsız bir belirteç önbelleği (`appId` ile yalıtılmış) tutar.
+Her hesap kendi WebSocket bağlantısını başlatır ve bağımsız bir token önbelleği
+tutar (`appId` ile yalıtılır).
CLI üzerinden ikinci bir bot ekleyin:
@@ -141,7 +143,8 @@ openclaw channels add --channel qqbot --account bot2 --token "222222222:secret-o
### Grup sohbetleri
-QQ Bot grup sohbeti desteği, görünen adları değil QQ grubu OpenID'lerini kullanır. Botu bir gruba ekleyin, ardından ondan bahsedin veya grubu bahsetme olmadan çalışacak şekilde yapılandırın.
+QQ Bot grup sohbeti desteği, görünen adları değil QQ grup OpenID'lerini kullanır. Botu
+bir gruba ekleyin, ardından ondan bahsedin veya grubu bahsetme olmadan çalışacak şekilde yapılandırın.
```json5
{
@@ -169,25 +172,29 @@ QQ Bot grup sohbeti desteği, görünen adları değil QQ grubu OpenID'lerini ku
```
`groups["*"]` her grup için varsayılanları ayarlar ve somut bir
-`groups.GROUP_OPENID` girdisi bu varsayılanları tek bir grup için geçersiz kılar. Grup ayarları şunları içerir:
+`groups.GROUP_OPENID` girdisi bu varsayılanları bir grup için geçersiz kılar. Grup
+ayarları şunları içerir:
-- `requireMention`: bot yanıt vermeden önce @bahsetme gerektirir. Varsayılan: `true`.
-- `ignoreOtherMentions`: botu değil başka birini anan mesajları bırakır.
-- `historyLimit`: son bahsedilen sıraya bağlam olarak son bahsetme içermeyen grup mesajlarını saklar. Devre dışı bırakmak için `0` olarak ayarlayın.
+- `requireMention`: bot yanıtlamadan önce @bahsetme gerektirir. Varsayılan: `true`.
+- `ignoreOtherMentions`: başka birinden bahsedip bottan bahsetmeyen mesajları bırakır.
+- `historyLimit`: bir sonraki bahsedilmiş tur için son bahsetmesiz grup mesajlarını bağlam olarak tutar. Devre dışı bırakmak için `0` olarak ayarlayın.
- `toolPolicy`: grup kapsamlı araçlar için `full`, `restricted` veya `none`.
- `name`: günlüklerde ve grup bağlamında kullanılan kolay okunur etiket.
- `prompt`: ajan bağlamına eklenen grup başına davranış istemi.
-Etkinleştirme modları `mention` ve `always` değerleridir. `requireMention: true`,
-`mention` ile eşleşir; `requireMention: false`, `always` ile eşleşir. Varsa oturum düzeyindeki etkinleştirme geçersiz kılması yapılandırmaya üstün gelir.
+Etkinleştirme modları `mention` ve `always` değerleridir. `requireMention: true`
+`mention` değerine; `requireMention: false` ise `always` değerine eşlenir. Varsa oturum düzeyindeki etkinleştirme
+geçersiz kılması, yapılandırmaya üstün gelir.
-Gelen kuyruk eş başınadır. Grup eşleri daha büyük bir kuyruk sınırı alır, dolduğunda insan mesajlarını bot tarafından yazılmış konuşmaların önünde tutar ve normal grup mesajı patlamalarını tek bir atıflı sıraya birleştirir. Eğik çizgi komutları yine tek tek çalışır.
+Gelen kuyruk eş başınadır. Grup eşleri daha büyük bir kuyruk sınırı alır, dolduğunda insan
+mesajlarını bot tarafından yazılmış konuşmaların önünde tutar ve normal
+grup mesajı patlamalarını tek bir atıflı tura birleştirir. Slash komutları yine tek tek çalışır.
### Ses (STT / TTS)
STT ve TTS, öncelikli geri dönüşle iki düzeyli yapılandırmayı destekler:
-| Ayar | Plugin'e özgü | Çerçeve geri dönüşü |
+| Ayar | Plugin'e özgü | Framework geri dönüşü |
| ------- | -------------------------------------------------------- | ----------------------------- |
| STT | `channels.qqbot.stt` | `tools.media.audio.models[0]` |
| TTS | `channels.qqbot.tts`, `channels.qqbot.accounts..tts` | `messages.tts` |
@@ -206,7 +213,7 @@ STT ve TTS, öncelikli geri dönüşle iki düzeyli yapılandırmayı destekler:
voice: "your-voice",
},
accounts: {
- qq-main: {
+ "qq-main": {
tts: {
providers: {
openai: { voice: "shimmer" },
@@ -219,78 +226,82 @@ STT ve TTS, öncelikli geri dönüşle iki düzeyli yapılandırmayı destekler:
}
```
-Devre dışı bırakmak için ikisinden birinde `enabled: false` ayarlayın.
-Hesap düzeyi TTS geçersiz kılmaları, `messages.tts` ile aynı yapıyı kullanır ve kanal/genel TTS yapılandırmasının üzerine derin birleştirme yapar.
+Devre dışı bırakmak için herhangi birinde `enabled: false` ayarlayın.
+Hesap düzeyindeki TTS geçersiz kılmaları `messages.tts` ile aynı şekli kullanır ve kanal/genel TTS yapılandırmasının
+üzerine derin birleştirme yapar.
-Gelen QQ ses ekleri, ham ses dosyaları genel `MediaPaths` dışında tutulurken ajanlara ses medyası meta verisi olarak sunulur. `[[audio_as_voice]]` düz metin yanıtları, TTS yapılandırıldığında TTS sentezler ve yerel bir QQ sesli mesajı gönderir.
+Gelen QQ ses ekleri, ham ses dosyaları genel `MediaPaths` dışında tutulurken
+ajanlara ses medyası meta verisi olarak sunulur. TTS yapılandırıldığında
+`[[audio_as_voice]]` düz metin yanıtları TTS sentezler ve yerel bir QQ ses mesajı gönderir.
-Giden ses yükleme/dönüştürme davranışı ayrıca
-`channels.qqbot.audioFormatPolicy` ile ayarlanabilir:
+Giden ses yükleme/kod dönüştürme davranışı
+`channels.qqbot.audioFormatPolicy` ile de ayarlanabilir:
- `sttDirectFormats`
- `uploadDirectFormats`
- `transcodeEnabled`
-## Hedef biçimleri
+## Hedef biçimler
-| Biçim | Açıklama |
+| Biçim | Açıklama |
| -------------------------- | ------------------ |
-| `qqbot:c2c:OPENID` | Özel sohbet (C2C) |
+| `qqbot:c2c:OPENID` | Özel sohbet (C2C) |
| `qqbot:group:GROUP_OPENID` | Grup sohbeti |
-| `qqbot:channel:CHANNEL_ID` | Lonca kanalı |
+| `qqbot:channel:CHANNEL_ID` | Guild kanalı |
> Her botun kendi kullanıcı OpenID kümesi vardır. Bot A tarafından alınan bir OpenID,
> Bot B üzerinden mesaj göndermek için **kullanılamaz**.
-## Eğik çizgi komutları
+## Slash komutları
AI kuyruğundan önce yakalanan yerleşik komutlar:
-| Komut | Açıklama |
+| Komut | Açıklama |
| -------------- | -------------------------------------------------------------------------------------------------------- |
| `/bot-ping` | Gecikme testi |
-| `/bot-version` | OpenClaw çerçeve sürümünü gösterir |
-| `/bot-help` | Tüm komutları listeler |
-| `/bot-me` | `allowFrom`/`groupAllowFrom` ayarlaması için gönderenin QQ kullanıcı kimliğini (openid) gösterir |
-| `/bot-upgrade` | QQBot yükseltme kılavuzu bağlantısını gösterir |
-| `/bot-logs` | Son gateway günlüklerini dosya olarak dışa aktarır |
-| `/bot-approve` | Bekleyen bir QQ Bot eylemini (örneğin C2C veya grup yüklemesini onaylama) yerel akış üzerinden onaylar. |
+| `/bot-version` | OpenClaw framework sürümünü göster |
+| `/bot-help` | Tüm komutları listele |
+| `/bot-me` | `allowFrom`/`groupAllowFrom` ayarlaması için gönderenin QQ kullanıcı kimliğini (openid) göster |
+| `/bot-upgrade` | QQBot yükseltme kılavuzu bağlantısını göster |
+| `/bot-logs` | Son gateway günlüklerini dosya olarak dışa aktar |
+| `/bot-approve` | Bekleyen bir QQ Bot eylemini (örneğin C2C veya grup yüklemesini onaylama) yerel akış üzerinden onayla. |
-Kullanım yardımı için herhangi bir komutun sonuna `?` ekleyin (örneğin `/bot-upgrade ?`).
+Kullanım yardımı için herhangi bir komuta `?` ekleyin (örneğin `/bot-upgrade ?`).
-Yönetici komutları (`/bot-me`, `/bot-upgrade`, `/bot-logs`, `/bot-clear-storage`, `/bot-streaming`, `/bot-approve`) yalnızca doğrudan mesajda kullanılabilir ve gönderenin openid değerinin açık, joker karakter içermeyen bir `allowFrom` listesinde olmasını gerektirir. Joker karakterli `allowFrom: ["*"]` sohbete izin verir ancak yönetici komutu erişimi vermez. Grup mesajları önce `groupAllowFrom` ile eşleştirilir ve ardından `allowFrom` değerine geri döner. Bir grupta yönetici komutu çalıştırmak, sessizce bırakmak yerine bir ipucu döndürür.
+Yönetici komutları (`/bot-me`, `/bot-upgrade`, `/bot-logs`, `/bot-clear-storage`, `/bot-streaming`, `/bot-approve`) yalnızca doğrudan mesajda çalışır ve gönderenin openid değerinin açık, joker olmayan bir `allowFrom` listesinde bulunmasını gerektirir. Joker `allowFrom: ["*"]` sohbeti izinli kılar ancak yönetici komutu erişimi vermez. Grup mesajları önce `groupAllowFrom` ile eşleşir ve sonra `allowFrom` değerine geri döner. Bir yönetici komutunu grupta çalıştırmak, sessizce bırakmak yerine bir ipucu döndürür.
## Motor mimarisi
QQ Bot, Plugin içinde kendi kendine yeterli bir motor olarak gelir:
-- Her hesap, `appId` ile anahtarlanan yalıtılmış bir kaynak yığınına (WebSocket bağlantısı, API istemcisi, belirteç önbelleği, medya depolama kökü) sahiptir. Hesaplar gelen/giden durumu hiçbir zaman paylaşmaz.
-- Çok hesaplı günlükleyici, tek bir gateway altında birkaç bot çalıştırdığınızda tanılamaların ayrılabilir kalması için günlük satırlarını sahip hesapla etiketler.
-- Gelen, giden ve gateway köprüsü yolları `~/.openclaw/media` altında tek bir medya yükü kökünü paylaşır; böylece yüklemeler, indirmeler ve dönüştürme önbellekleri alt sistem başına ayrı bir ağaç yerine tek bir korumalı dizine düşer.
+- Her hesap, `appId` ile anahtarlanan yalıtılmış bir kaynak yığınına (WebSocket bağlantısı, API istemcisi, token önbelleği, medya depolama kökü) sahiptir. Hesaplar gelen/giden durumu asla paylaşmaz.
+- Çok hesaplı günlükleyici, birkaç botu tek bir gateway altında çalıştırdığınızda tanılamaların ayrı kalması için günlük satırlarını sahip hesapla etiketler.
+- Gelen, giden ve gateway köprü yolları `~/.openclaw/media` altında tek bir medya yükü kökü paylaşır; böylece yüklemeler, indirmeler ve kod dönüştürme önbellekleri alt sistem başına bir ağaç yerine tek bir korumalı dizin altında yer alır.
- Zengin medya teslimi, C2C ve grup hedefleri için tek bir `sendMedia` yolundan geçer. Büyük dosya eşiğinin üzerindeki yerel dosyalar ve arabellekler QQ'nun parçalı yükleme uç noktalarını kullanırken daha küçük yükler tek seferlik medya API'sini kullanır.
-- Kimlik bilgileri standart OpenClaw kimlik bilgisi anlık görüntülerinin parçası olarak yedeklenip geri yüklenebilir; motor, yeni bir QR kodu eşleştirmesi gerektirmeden geri yüklemede her hesabın kaynak yığınını yeniden bağlar.
+- Kimlik bilgileri, standart OpenClaw kimlik bilgisi anlık görüntülerinin parçası olarak yedeklenebilir ve geri yüklenebilir; motor, yeni bir QR kodu eşleştirmesi gerektirmeden geri yüklemede her hesabın kaynak yığınını yeniden bağlar.
-## QR koduyla katılım
+## QR koduyla ilk katılım
-`AppID:AppSecret` değerini elle yapıştırmaya alternatif olarak motor, bir QQ Bot'u OpenClaw'a bağlamak için QR koduyla katılım akışını destekler:
+`AppID:AppSecret` değerini elle yapıştırmaya alternatif olarak motor, bir QQ Bot'u OpenClaw'a bağlamak için QR kodlu ilk katılım akışını destekler:
-1. QQ Bot ayarlama yolunu çalıştırın (örneğin `openclaw channels add --channel qqbot`) ve istendiğinde QR kodu akışını seçin.
+1. QQ Bot ayarlama yolunu çalıştırın (örneğin `openclaw channels add --channel qqbot`) ve istendiğinde QR kod akışını seçin.
2. Oluşturulan QR kodunu hedef QQ Bot'a bağlı telefon uygulamasıyla tarayın.
-3. Eşleştirmeyi telefonda onaylayın. OpenClaw döndürülen kimlik bilgilerini doğru hesap kapsamı altında `credentials/` içine kalıcı olarak kaydeder.
+3. Telefonda eşleştirmeyi onaylayın. OpenClaw döndürülen kimlik bilgilerini doğru hesap kapsamı altında `credentials/` içine kalıcı hale getirir.
-Botun kendisi tarafından oluşturulan onay istemleri (örneğin QQ Bot API'si tarafından sunulan "bu eyleme izin verilsin mi?" akışları), ham QQ istemcisi üzerinden yanıtlamak yerine `/bot-approve` ile kabul edebileceğiniz yerel OpenClaw istemleri olarak görünür.
+Botun kendisi tarafından oluşturulan onay istemleri (örneğin, QQ Bot API tarafından sunulan "bu eyleme izin verilsin mi?" akışları), ham QQ istemcisi üzerinden yanıtlamak yerine `/bot-approve` ile kabul edebileceğiniz yerel OpenClaw istemleri olarak görünür.
## Sorun giderme
- **Bot "gone to Mars" yanıtı veriyor:** kimlik bilgileri yapılandırılmamış veya Gateway başlatılmamış.
- **Gelen mesaj yok:** `appId` ve `clientSecret` değerlerinin doğru olduğunu ve
- botun QQ Open Platform üzerinde etkin olduğunu doğrulayın.
+ botun QQ Open Platform üzerinde etkinleştirildiğini doğrulayın.
- **Tekrarlanan kendi kendine yanıtlar:** OpenClaw, QQ giden ref dizinlerini
- bot tarafından yazılmış olarak kaydeder ve mevcut `msgIdx` değeri aynı bot hesabıyla eşleşen gelen olayları yok sayar. Bu, kullanıcıların önceki bot mesajlarını alıntılamasına veya yanıtlamasına izin verirken platform yankı döngülerini önler.
-- **`--token-file` ile ayarlama hâlâ yapılandırılmamış gösteriyor:** `--token-file` yalnızca
- AppSecret değerini ayarlar. Yapılandırmada veya `QQBOT_APP_ID` içinde hâlâ `appId` gerekir.
-- **Proaktif mesajlar ulaşmıyor:** kullanıcı yakın zamanda etkileşimde bulunmadıysa QQ, bot tarafından başlatılan mesajları engelleyebilir.
-- **Ses metne dökülmüyor:** STT'nin yapılandırıldığından ve sağlayıcıya erişilebildiğinden emin olun.
+ bot tarafından yazılmış olarak kaydeder ve mevcut `msgIdx` değeri aynı bot hesabıyla eşleşen gelen olayları yok sayar.
+ Bu, kullanıcıların önceki bot mesajlarından alıntı yapmasına veya onlara yanıt vermesine hâlâ izin verirken platform yankı döngülerini önler.
+- **`--token-file` ile ayarlama hâlâ yapılandırılmamış görünüyor:** `--token-file` yalnızca
+ AppSecret değerini ayarlar. Yapılandırmada veya `QQBOT_APP_ID` içinde yine de `appId` gerekir.
+- **Proaktif mesajlar ulaşmıyor:** kullanıcı yakın zamanda etkileşimde bulunmadıysa QQ bot tarafından başlatılan mesajları yakalayabilir.
+- **Ses yazıya dökülmüyor:** STT'nin yapılandırıldığından ve sağlayıcının erişilebilir olduğundan emin olun.
## İlgili
diff --git a/docs/tr/channels/slack.md b/docs/tr/channels/slack.md
index 72fae1e3e..35b76aaff 100644
--- a/docs/tr/channels/slack.md
+++ b/docs/tr/channels/slack.md
@@ -1,28 +1,28 @@
---
read_when:
- - Slack’i kurma veya Slack socket/HTTP modunda hata ayıklama
-summary: Slack kurulumu ve çalışma zamanı davranışı (Soket Modu + HTTP İstek URL'leri)
+ - Slack'i ayarlama veya Slack soket/HTTP modunda hata ayıklama
+summary: Slack kurulumu ve çalışma zamanı davranışı (Socket Mode + HTTP İstek URL'leri)
title: Slack
x-i18n:
- generated_at: "2026-05-03T21:27:24Z"
+ generated_at: "2026-05-04T02:22:07Z"
model: gpt-5.5
provider: openai
- source_hash: d902fbbad23cee9b3f0ab7d240845b7b229e2d2507c5ea1d1a0fa3baa915d80a
+ source_hash: 2be45f03511a64373b1f4316c59800eeeef8baccb4c00454b49999258b2e546b
source_path: channels/slack.md
workflow: 16
---
-Üretime hazır; Slack app entegrasyonları aracılığıyla DM’ler ve kanallar için kullanılabilir. Varsayılan mod Socket Mode’dur; HTTP Request URLs da desteklenir.
+Slack uygulama entegrasyonları üzerinden DM'ler ve kanallar için üretime hazırdır. Varsayılan mod Socket Mode'dur; HTTP Request URL'leri de desteklenir.
- Slack DM’leri varsayılan olarak eşleştirme modunu kullanır.
+ Slack DM'leri varsayılan olarak eşleştirme modunu kullanır.
Yerel komut davranışı ve komut kataloğu.
- Kanallar arası tanılama ve onarım çalışma akışları.
+ Kanallar arası tanılama ve onarım kılavuzları.
@@ -31,17 +31,17 @@ x-i18n:
-
- Slack app ayarlarında **[Create New App](https://api.slack.com/apps/new)** düğmesine basın:
+
+ Slack uygulama ayarlarında **[Create New App](https://api.slack.com/apps/new)** düğmesine basın:
- - **from a manifest** seçeneğini seçin ve app’iniz için bir workspace seçin
- - aşağıdaki [örnek bildirimi](#manifest-and-scope-checklist) yapıştırın ve oluşturmaya devam edin
+ - **from a manifest** seçeneğini seçin ve uygulamanız için bir çalışma alanı seçin
+ - aşağıdaki [örnek manifesti](#manifest-and-scope-checklist) yapıştırın ve oluşturmaya devam edin
- `connections:write` ile bir **App-Level Token** (`xapp-...`) oluşturun
- - app’i yükleyin ve gösterilen **Bot Token**’ı (`xoxb-...`) kopyalayın
+ - uygulamayı yükleyin ve gösterilen **Bot Token** (`xoxb-...`) değerini kopyalayın
-
+
Önerilen SecretRef kurulumu:
@@ -64,7 +64,7 @@ openclaw config patch --file ./slack.socket.patch.json5 --dry-run
openclaw config patch --file ./slack.socket.patch.json5
```
- Env geri dönüşü (yalnızca varsayılan hesap):
+ Env yedeği (yalnızca varsayılan hesap):
```bash
SLACK_APP_TOKEN=xapp-...
@@ -73,7 +73,7 @@ SLACK_BOT_TOKEN=xoxb-...
-
+
```bash
openclaw gateway
@@ -84,19 +84,19 @@ openclaw gateway
-
+
-
- Slack app ayarlarında **[Create New App](https://api.slack.com/apps/new)** düğmesine basın:
+
+ Slack uygulama ayarlarında **[Create New App](https://api.slack.com/apps/new)** düğmesine basın:
- - **from a manifest** seçeneğini seçin ve app’iniz için bir workspace seçin
- - [örnek bildirimi](#manifest-and-scope-checklist) yapıştırın ve oluşturmadan önce URL’leri güncelleyin
- - istek doğrulaması için **Signing Secret**’ı kaydedin
- - app’i yükleyin ve gösterilen **Bot Token**’ı (`xoxb-...`) kopyalayın
+ - **from a manifest** seçeneğini seçin ve uygulamanız için bir çalışma alanı seçin
+ - [örnek manifesti](#manifest-and-scope-checklist) yapıştırın ve oluşturmadan önce URL'leri güncelleyin
+ - istek doğrulaması için **Signing Secret** değerini kaydedin
+ - uygulamayı yükleyin ve gösterilen **Bot Token** (`xoxb-...`) değerini kopyalayın
-
+
Önerilen SecretRef kurulumu:
@@ -123,12 +123,12 @@ openclaw config patch --file ./slack.http.patch.json5
Çok hesaplı HTTP için benzersiz webhook yolları kullanın
- Kayıtların çakışmaması için her hesaba farklı bir `webhookPath` (varsayılan `/slack/events`) verin.
+ Kayıtların çakışmaması için her hesaba ayrı bir `webhookPath` (varsayılan `/slack/events`) verin.
-
+
```bash
openclaw gateway
@@ -140,9 +140,9 @@ openclaw gateway
-## Socket Mode aktarım ayarlaması
+## Socket Mode taşıma ayarlaması
-OpenClaw, Socket Mode için Slack SDK istemcisi pong zaman aşımını varsayılan olarak 15 saniyeye ayarlar. Aktarım ayarlarını yalnızca workspace’e veya ana makineye özgü ayarlama gerektiğinde geçersiz kılın:
+OpenClaw, Socket Mode için Slack SDK istemcisi pong zaman aşımını varsayılan olarak 15 saniyeye ayarlar. Taşıma ayarlarını yalnızca çalışma alanına veya ana makineye özgü ayarlama gerektiğinde geçersiz kılın:
```json5
{
@@ -159,13 +159,13 @@ OpenClaw, Socket Mode için Slack SDK istemcisi pong zaman aşımını varsayıl
}
```
-Bunu yalnızca Slack websocket pong/sunucu-ping zaman aşımlarını günlüğe kaydeden veya bilinen event-loop açlığı olan ana makinelerde çalışan Socket Mode workspace’leri için kullanın. `clientPingTimeout`, SDK bir istemci ping’i gönderdikten sonraki pong bekleme süresidir; `serverPingTimeout`, Slack sunucu ping’leri için bekleme süresidir. App mesajları ve olayları, aktarım canlılığı sinyalleri değil uygulama durumudur.
+Bunu yalnızca Slack websocket pong/server-ping zaman aşımları kaydeden veya bilinen olay döngüsü açlığı olan ana makinelerde çalışan Socket Mode çalışma alanları için kullanın. `clientPingTimeout`, SDK bir istemci ping'i gönderdikten sonraki pong bekleme süresidir; `serverPingTimeout`, Slack sunucu ping'leri için bekleme süresidir. Uygulama mesajları ve olayları taşıma canlılığı sinyalleri değil, uygulama durumudur.
-## Bildirim ve kapsam kontrol listesi
+## Manifest ve kapsam kontrol listesi
-Temel Slack app bildirimi Socket Mode ve HTTP Request URLs için aynıdır. Yalnızca `settings` bloğu (ve slash komutu `url`) farklıdır.
+Temel Slack uygulama manifesti Socket Mode ve HTTP Request URL'leri için aynıdır. Yalnızca `settings` bloğu (ve slash komutunun `url` değeri) farklıdır.
-Temel bildirim (Socket Mode varsayılanı):
+Temel manifest (Socket Mode varsayılanı):
```json
{
@@ -240,7 +240,7 @@ Temel bildirim (Socket Mode varsayılanı):
}
```
-**HTTP Request URLs modu** için `settings` bölümünü HTTP varyantıyla değiştirin ve her slash komutuna `url` ekleyin. Genel URL gereklidir:
+**HTTP Request URL'leri modu** için `settings` değerini HTTP varyantıyla değiştirin ve her slash komutuna `url` ekleyin. Genel URL gereklidir:
```json
{
@@ -258,7 +258,19 @@ Temel bildirim (Socket Mode varsayılanı):
"event_subscriptions": {
"request_url": "https://gateway-host.example.com/slack/events",
"bot_events": [
- /* same as Socket Mode */
+ "app_home_opened",
+ "app_mention",
+ "channel_rename",
+ "member_joined_channel",
+ "member_left_channel",
+ "message.channels",
+ "message.groups",
+ "message.im",
+ "message.mpim",
+ "pin_added",
+ "pin_removed",
+ "reaction_added",
+ "reaction_removed"
]
},
"interactivity": {
@@ -270,18 +282,18 @@ Temel bildirim (Socket Mode varsayılanı):
}
```
-### Ek bildirim ayarları
+### Ek manifest ayarları
-Yukarıdaki varsayılanları genişleten farklı özellikleri gösterin.
+Yukarıdaki varsayılanları genişleten farklı özellikleri sunun.
-Varsayılan bildirim, Slack App Home **Home** sekmesini etkinleştirir ve `app_home_opened` olayına abone olur. Bir workspace üyesi Home sekmesini açtığında OpenClaw, `views.publish` ile güvenli bir varsayılan Home görünümü yayımlar; konuşma yükü veya özel yapılandırma dahil edilmez. **Messages** sekmesi Slack DM’leri için etkin kalır.
+Varsayılan manifest, Slack App Home **Home** sekmesini etkinleştirir ve `app_home_opened` olayına abone olur. Bir çalışma alanı üyesi Home sekmesini açtığında OpenClaw, `views.publish` ile güvenli varsayılan bir Home görünümü yayımlar; hiçbir konuşma yükü veya özel yapılandırma dahil edilmez. **Messages** sekmesi Slack DM'leri için etkin kalır.
- Tek bir yapılandırılmış komut yerine, nüanslı şekilde birden çok [yerel slash komutu](#commands-and-slash-behavior) kullanılabilir:
+ Tek bir yapılandırılmış komut yerine, ayrıntılı davranışla birden fazla [yerel slash komutu](#commands-and-slash-behavior) kullanılabilir:
- - `/status` komutu ayrıldığı için `/status` yerine `/agentstatus` kullanın.
+ - `/status` komutu ayrılmış olduğundan `/status` yerine `/agentstatus` kullanın.
- Aynı anda en fazla 25 slash komutu kullanılabilir hale getirilebilir.
Mevcut `features.slash_commands` bölümünüzü [kullanılabilir komutların](/tr/tools/slash-commands#command-list) bir alt kümesiyle değiştirin:
@@ -290,155 +302,160 @@ Varsayılan bildirim, Slack App Home **Home** sekmesini etkinleştirir ve `app_h
```json
- "slash_commands": [
- {
- "command": "/new",
- "description": "Start a new session",
- "usage_hint": "[model]"
- },
- {
- "command": "/reset",
- "description": "Reset the current session"
- },
- {
- "command": "/compact",
- "description": "Compact the session context",
- "usage_hint": "[instructions]"
- },
- {
- "command": "/stop",
- "description": "Stop the current run"
- },
- {
- "command": "/session",
- "description": "Manage thread-binding expiry",
- "usage_hint": "idle or max-age "
- },
- {
- "command": "/think",
- "description": "Set the thinking level",
- "usage_hint": ""
- },
- {
- "command": "/verbose",
- "description": "Toggle verbose output",
- "usage_hint": "on|off|full"
- },
- {
- "command": "/fast",
- "description": "Show or set fast mode",
- "usage_hint": "[status|on|off]"
- },
- {
- "command": "/reasoning",
- "description": "Toggle reasoning visibility",
- "usage_hint": "[on|off|stream]"
- },
- {
- "command": "/elevated",
- "description": "Toggle elevated mode",
- "usage_hint": "[on|off|ask|full]"
- },
- {
- "command": "/exec",
- "description": "Show or set exec defaults",
- "usage_hint": "host= security= ask= node="
- },
- {
- "command": "/model",
- "description": "Show or set the model",
- "usage_hint": "[name|#|status]"
- },
- {
- "command": "/models",
- "description": "List providers/models",
- "usage_hint": "[provider] [page] [limit=|size=|all]"
- },
- {
- "command": "/help",
- "description": "Show the short help summary"
- },
- {
- "command": "/commands",
- "description": "Show the generated command catalog"
- },
- {
- "command": "/tools",
- "description": "Show what the current agent can use right now",
- "usage_hint": "[compact|verbose]"
- },
- {
- "command": "/agentstatus",
- "description": "Show runtime status, including provider usage/quota when available"
- },
- {
- "command": "/tasks",
- "description": "List active/recent background tasks for the current session"
- },
- {
- "command": "/context",
- "description": "Explain how context is assembled",
- "usage_hint": "[list|detail|json]"
- },
- {
- "command": "/whoami",
- "description": "Show your sender identity"
- },
- {
- "command": "/skill",
- "description": "Run a skill by name",
- "usage_hint": " [input]"
- },
- {
- "command": "/btw",
- "description": "Ask a side question without changing session context",
- "usage_hint": ""
- },
- {
- "command": "/side",
- "description": "Ask a side question without changing session context",
- "usage_hint": ""
- },
- {
- "command": "/usage",
- "description": "Control the usage footer or show cost summary",
- "usage_hint": "off|tokens|full|cost"
- }
- ]
+{
+ "slash_commands": [
+ {
+ "command": "/new",
+ "description": "Start a new session",
+ "usage_hint": "[model]"
+ },
+ {
+ "command": "/reset",
+ "description": "Reset the current session"
+ },
+ {
+ "command": "/compact",
+ "description": "Compact the session context",
+ "usage_hint": "[instructions]"
+ },
+ {
+ "command": "/stop",
+ "description": "Stop the current run"
+ },
+ {
+ "command": "/session",
+ "description": "Manage thread-binding expiry",
+ "usage_hint": "idle or max-age "
+ },
+ {
+ "command": "/think",
+ "description": "Set the thinking level",
+ "usage_hint": ""
+ },
+ {
+ "command": "/verbose",
+ "description": "Toggle verbose output",
+ "usage_hint": "on|off|full"
+ },
+ {
+ "command": "/fast",
+ "description": "Show or set fast mode",
+ "usage_hint": "[status|on|off]"
+ },
+ {
+ "command": "/reasoning",
+ "description": "Toggle reasoning visibility",
+ "usage_hint": "[on|off|stream]"
+ },
+ {
+ "command": "/elevated",
+ "description": "Toggle elevated mode",
+ "usage_hint": "[on|off|ask|full]"
+ },
+ {
+ "command": "/exec",
+ "description": "Show or set exec defaults",
+ "usage_hint": "host= security= ask= node="
+ },
+ {
+ "command": "/model",
+ "description": "Show or set the model",
+ "usage_hint": "[name|#|status]"
+ },
+ {
+ "command": "/models",
+ "description": "List providers/models",
+ "usage_hint": "[provider] [page] [limit=|size=|all]"
+ },
+ {
+ "command": "/help",
+ "description": "Show the short help summary"
+ },
+ {
+ "command": "/commands",
+ "description": "Show the generated command catalog"
+ },
+ {
+ "command": "/tools",
+ "description": "Show what the current agent can use right now",
+ "usage_hint": "[compact|verbose]"
+ },
+ {
+ "command": "/agentstatus",
+ "description": "Show runtime status, including provider usage/quota when available"
+ },
+ {
+ "command": "/tasks",
+ "description": "List active/recent background tasks for the current session"
+ },
+ {
+ "command": "/context",
+ "description": "Explain how context is assembled",
+ "usage_hint": "[list|detail|json]"
+ },
+ {
+ "command": "/whoami",
+ "description": "Show your sender identity"
+ },
+ {
+ "command": "/skill",
+ "description": "Run a skill by name",
+ "usage_hint": " [input]"
+ },
+ {
+ "command": "/btw",
+ "description": "Ask a side question without changing session context",
+ "usage_hint": ""
+ },
+ {
+ "command": "/side",
+ "description": "Ask a side question without changing session context",
+ "usage_hint": ""
+ },
+ {
+ "command": "/usage",
+ "description": "Control the usage footer or show cost summary",
+ "usage_hint": "off|tokens|full|cost"
+ }
+ ]
+}
```
-
+
Yukarıdaki Socket Mode ile aynı `slash_commands` listesini kullanın ve her girdiye `"url": "https://gateway-host.example.com/slack/events"` ekleyin. Örnek:
```json
- "slash_commands": [
- {
- "command": "/new",
- "description": "Start a new session",
- "usage_hint": "[model]",
- "url": "https://gateway-host.example.com/slack/events"
- },
- {
- "command": "/help",
- "description": "Show the short help summary",
- "url": "https://gateway-host.example.com/slack/events"
- }
- // ...repeat for every command with the same `url` value
- ]
+{
+ "slash_commands": [
+ {
+ "command": "/new",
+ "description": "Start a new session",
+ "usage_hint": "[model]",
+ "url": "https://gateway-host.example.com/slack/events"
+ },
+ {
+ "command": "/help",
+ "description": "Show the short help summary",
+ "url": "https://gateway-host.example.com/slack/events"
+ }
+ ]
+}
```
+ Listedeki her komutta bu `url` değerini tekrarlayın.
+
- Giden mesajların varsayılan Slack uygulama kimliği yerine etkin ajan kimliğini (özel kullanıcı adı ve simge) kullanmasını istiyorsanız `chat:write.customize` bot kapsamını ekleyin.
+ Giden iletilerin varsayılan Slack uygulama kimliği yerine etkin aracı kimliğini (özel kullanıcı adı ve simge) kullanmasını istiyorsanız `chat:write.customize` bot kapsamını ekleyin.
- Emoji simgesi kullanırsanız Slack `:emoji_name:` söz dizimini bekler.
+ Bir emoji simgesi kullanırsanız Slack `:emoji_name:` söz dizimini bekler.
-
+
`channels.slack.userToken` yapılandırırsanız tipik okuma kapsamları şunlardır:
- `channels:history`, `groups:history`, `im:history`, `mpim:history`
@@ -452,36 +469,36 @@ Varsayılan bildirim, Slack App Home **Home** sekmesini etkinleştirir ve `app_h
-## Belirteç modeli
+## Token modeli
- Socket Mode için `botToken` + `appToken` gereklidir.
- HTTP modu `botToken` + `signingSecret` gerektirir.
- `botToken`, `appToken`, `signingSecret` ve `userToken` düz metin
dizelerini veya SecretRef nesnelerini kabul eder.
-- Yapılandırma belirteçleri env geri dönüşünü geçersiz kılar.
+- Yapılandırma tokenları env geri dönüşünü geçersiz kılar.
- `SLACK_BOT_TOKEN` / `SLACK_APP_TOKEN` env geri dönüşü yalnızca varsayılan hesap için geçerlidir.
-- `userToken` (`xoxp-...`) yalnızca yapılandırma içindir (env geri dönüşü yoktur) ve varsayılan olarak salt okunur davranışı kullanır (`userTokenReadOnly: true`).
+- `userToken` (`xoxp-...`) yalnızca yapılandırmadadır (env geri dönüşü yoktur) ve varsayılan olarak salt okunur davranış kullanır (`userTokenReadOnly: true`).
Durum anlık görüntüsü davranışı:
- Slack hesap incelemesi, kimlik bilgisi başına `*Source` ve `*Status`
- alanlarını (`botToken`, `appToken`, `signingSecret`, `userToken`) izler.
+ alanlarını izler (`botToken`, `appToken`, `signingSecret`, `userToken`).
- Durum `available`, `configured_unavailable` veya `missing` olur.
-- `configured_unavailable`, hesabın SecretRef veya başka bir satır içi olmayan
- gizli kaynak üzerinden yapılandırıldığı, ancak geçerli komut/çalışma zamanı
- yolunun gerçek değeri çözemediği anlamına gelir.
+- `configured_unavailable`, hesabın SecretRef
+ veya başka bir satır içi olmayan gizli kaynak üzerinden yapılandırıldığı, ancak geçerli komut/çalışma zamanı yolunun
+ gerçek değeri çözemediği anlamına gelir.
- HTTP modunda `signingSecretStatus` dahil edilir; Socket Mode'da
gerekli çift `botTokenStatus` + `appTokenStatus` olur.
-Eylemler/dizin okumaları için, yapılandırıldığında kullanıcı belirteci tercih edilebilir. Yazmalarda bot belirteci tercih edilmeye devam eder; kullanıcı belirteciyle yazmalara yalnızca `userTokenReadOnly: false` olduğunda ve bot belirteci kullanılamadığında izin verilir.
+Eylemler/dizin okumaları için, yapılandırıldığında kullanıcı tokenı tercih edilebilir. Yazma işlemlerinde bot tokenı tercih edilmeye devam eder; kullanıcı tokenı ile yazmaya yalnızca `userTokenReadOnly: false` olduğunda ve bot tokenı kullanılamadığında izin verilir.
## Eylemler ve kapılar
-Slack eylemleri `channels.slack.actions.*` tarafından denetlenir.
+Slack eylemleri `channels.slack.actions.*` tarafından kontrol edilir.
-Geçerli Slack araçlarında kullanılabilen eylem grupları:
+Geçerli Slack araçlarında kullanılabilir eylem grupları:
| Grup | Varsayılan |
| ---------- | ---------- |
@@ -491,17 +508,17 @@ Geçerli Slack araçlarında kullanılabilen eylem grupları:
| memberInfo | etkin |
| emojiList | etkin |
-Geçerli Slack mesaj eylemleri `send`, `upload-file`, `download-file`, `read`, `edit`, `delete`, `pin`, `unpin`, `list-pins`, `member-info` ve `emoji-list` içerir. `download-file`, gelen dosya yer tutucularında gösterilen Slack dosya kimliklerini kabul eder ve görseller için görsel önizlemeleri, diğer dosya türleri için yerel dosya meta verileri döndürür.
+Geçerli Slack ileti eylemleri `send`, `upload-file`, `download-file`, `read`, `edit`, `delete`, `pin`, `unpin`, `list-pins`, `member-info` ve `emoji-list` içerir. `download-file`, gelen dosya yer tutucularında gösterilen Slack dosya ID'lerini kabul eder ve görüntüler için görsel önizlemeleri veya diğer dosya türleri için yerel dosya meta verilerini döndürür.
## Erişim denetimi ve yönlendirme
- `channels.slack.dmPolicy` DM erişimini denetler. `channels.slack.allowFrom` kanonik DM izin listesidir.
+ `channels.slack.dmPolicy` DM erişimini kontrol eder. `channels.slack.allowFrom` kanonik DM izin listesidir.
- `pairing` (varsayılan)
- `allowlist`
- - `open` (`channels.slack.allowFrom` içinde `"*"` bulunmasını gerektirir)
+ - `open` (`channels.slack.allowFrom` değerinin `"*"` içermesini gerektirir)
- `disabled`
DM bayrakları:
@@ -509,10 +526,10 @@ Geçerli Slack mesaj eylemleri `send`, `upload-file`, `download-file`, `read`, `
- `dm.enabled` (varsayılan true)
- `channels.slack.allowFrom`
- `dm.allowFrom` (eski)
- - `dm.groupEnabled` (grup DM'leri varsayılan false)
+ - `dm.groupEnabled` (grup DM'leri varsayılan olarak false)
- `dm.groupChannels` (isteğe bağlı MPIM izin listesi)
- Çoklu hesap önceliği:
+ Çok hesaplı öncelik:
- `channels.slack.accounts.default.allowFrom` yalnızca `default` hesabı için geçerlidir.
- Adlandırılmış hesaplar, kendi `allowFrom` değerleri ayarlanmamışsa `channels.slack.allowFrom` değerini devralır.
@@ -525,26 +542,26 @@ Geçerli Slack mesaj eylemleri `send`, `upload-file`, `download-file`, `read`, `
- `channels.slack.groupPolicy` kanal işlemeyi denetler:
+ `channels.slack.groupPolicy` kanal işlemeyi kontrol eder:
- `open`
- `allowlist`
- `disabled`
- Kanal izin listesi `channels.slack.channels` altında bulunur ve yapılandırma anahtarları olarak **kararlı Slack kanal kimliklerini** (örneğin `C12345678`) kullanmalıdır.
+ Kanal izin listesi `channels.slack.channels` altında yer alır ve yapılandırma anahtarları olarak **kararlı Slack kanal ID'leri** (örneğin `C12345678`) kullanmalıdır.
Çalışma zamanı notu: `channels.slack` tamamen eksikse (yalnızca env kurulumu), çalışma zamanı `groupPolicy="allowlist"` değerine geri döner ve bir uyarı günlüğe yazar (`channels.defaults.groupPolicy` ayarlanmış olsa bile).
- Ad/kimlik çözümleme:
+ Ad/ID çözümleme:
- - kanal izin listesi girdileri ve DM izin listesi girdileri, belirteç erişimi izin verdiğinde başlangıçta çözümlenir
- - çözümlenemeyen kanal adı girdileri yapılandırıldığı gibi tutulur ancak varsayılan olarak yönlendirme için yok sayılır
- - gelen yetkilendirme ve kanal yönlendirmesi varsayılan olarak önce kimlik kullanır; doğrudan kullanıcı adı/slug eşleşmesi `channels.slack.dangerouslyAllowNameMatching: true` gerektirir
+ - kanal izin listesi girdileri ve DM izin listesi girdileri, token erişimi izin verdiğinde başlangıçta çözümlenir
+ - çözümlenmemiş kanal adı girdileri yapılandırıldığı gibi tutulur ancak varsayılan olarak yönlendirme için yok sayılır
+ - gelen yetkilendirme ve kanal yönlendirme varsayılan olarak ID önceliklidir; doğrudan kullanıcı adı/slug eşleştirmesi `channels.slack.dangerouslyAllowNameMatching: true` gerektirir
- Ada dayalı anahtarlar (`#channel-name` veya `channel-name`) `groupPolicy: "allowlist"` altında eşleşmez. Kanal araması varsayılan olarak önce kimlik kullanır, bu yüzden ada dayalı bir anahtar hiçbir zaman başarıyla yönlendirilemez ve o kanaldaki tüm mesajlar sessizce engellenir. Bu, kanal anahtarının yönlendirme için gerekmediği ve ada dayalı bir anahtarın çalışıyor gibi göründüğü `groupPolicy: "open"` değerinden farklıdır.
+ Ada dayalı anahtarlar (`#channel-name` veya `channel-name`) `groupPolicy: "allowlist"` altında eşleşmez. Kanal araması varsayılan olarak ID önceliklidir, bu nedenle ada dayalı bir anahtar hiçbir zaman başarıyla yönlendirme yapmaz ve o kanaldaki tüm iletiler sessizce engellenir. Bu, yönlendirme için kanal anahtarının gerekmediği ve ada dayalı bir anahtarın çalışıyor gibi göründüğü `groupPolicy: "open"` davranışından farklıdır.
- Anahtar olarak her zaman Slack kanal kimliğini kullanın. Bulmak için: Slack'te kanala sağ tıklayın → **Bağlantıyı kopyala** — kimlik (`C...`) URL'nin sonunda görünür.
+ Anahtar olarak her zaman Slack kanal ID'sini kullanın. Bulmak için: Slack'te kanala sağ tıklayın → **Bağlantıyı kopyala** — ID (`C...`) URL'nin sonunda görünür.
Doğru:
@@ -580,16 +597,16 @@ Geçerli Slack mesaj eylemleri `send`, `upload-file`, `download-file`, `read`, `
- Kanal mesajları varsayılan olarak bahsetme kapılıdır.
+ Kanal iletileri varsayılan olarak bahsetme kapısına tabidir.
Bahsetme kaynakları:
- açık uygulama bahsetmesi (`<@botId>`)
- bot kullanıcısı bu kullanıcı grubunun üyesiyse Slack kullanıcı grubu bahsetmesi (``); `usergroups:read` gerektirir
- bahsetme regex kalıpları (`agents.list[].groupChat.mentionPatterns`, geri dönüş `messages.groupChat.mentionPatterns`)
- - örtük bota yanıt iş parçacığı davranışı (`thread.requireExplicitMention` `true` olduğunda devre dışıdır)
+ - örtük bota yanıt dizisi davranışı (`thread.requireExplicitMention` `true` olduğunda devre dışıdır)
- Kanal başına denetimler (`channels.slack.channels.`; adlar yalnızca başlangıç çözümlemesi veya `dangerouslyAllowNameMatching` üzerinden):
+ Kanal başına denetimler (`channels.slack.channels.`; adlar yalnızca başlangıç çözümlemesi veya `dangerouslyAllowNameMatching` yoluyla):
- `requireMention`
- `users` (izin listesi)
@@ -597,24 +614,24 @@ Geçerli Slack mesaj eylemleri `send`, `upload-file`, `download-file`, `read`, `
- `skills`
- `systemPrompt`
- `tools`, `toolsBySender`
- - `toolsBySender` anahtar biçimi: `id:`, `e164:`, `username:`, `name:` veya `"*"` jokeri
- (eski öneksiz anahtarlar hâlâ yalnızca `id:` ile eşlenir)
+ - `toolsBySender` anahtar biçimi: `id:`, `e164:`, `username:`, `name:` veya `"*"` joker karakteri
+ (eski öneksiz anahtarlar hâlâ yalnızca `id:` değerine eşlenir)
- `allowBots`, kanallar ve özel kanallar için korumacıdır: bot tarafından yazılmış oda mesajları yalnızca gönderen bot o odanın `users` izin listesinde açıkça listelenmişse veya `channels.slack.allowFrom` içindeki en az bir açık Slack sahip kimliği şu anda oda üyesiyse kabul edilir. Jokerler ve görünen ad sahip girdileri sahip varlığını karşılamaz. Sahip varlığı Slack `conversations.members` kullanır; uygulamanın oda türü için eşleşen okuma kapsamına sahip olduğundan emin olun (genel kanallar için `channels:read`, özel kanallar için `groups:read`). Üye araması başarısız olursa OpenClaw bot tarafından yazılmış oda mesajını düşürür.
+ `allowBots`, kanallar ve özel kanallar için ihtiyatlıdır: bot tarafından yazılan oda iletileri yalnızca gönderen bot o odanın `users` izin listesinde açıkça listelenmişse veya `channels.slack.allowFrom` içindeki en az bir açık Slack sahip ID'si şu anda oda üyesiyse kabul edilir. Joker karakterler ve görüntülenen ad sahibi girdileri sahip varlığını karşılamaz. Sahip varlığı Slack `conversations.members` kullanır; uygulamanın oda türü için eşleşen okuma kapsamına sahip olduğundan emin olun (genel kanallar için `channels:read`, özel kanallar için `groups:read`). Üye araması başarısız olursa OpenClaw bot tarafından yazılan oda iletisini bırakır.
## İş parçacıkları, oturumlar ve yanıt etiketleri
-- DM'ler `direct` olarak yönlendirilir; kanallar `channel` olarak; MPIM'ler `group` olarak.
-- Slack yönlendirme bağlamaları ham eş kimliklerini ve `channel:C12345678`, `user:U12345678` ve `<@U12345678>` gibi Slack hedef biçimlerini kabul eder.
-- Varsayılan `session.dmScope=main` ile Slack DM'leri ajan ana oturumuna daraltılır.
+- DM'ler `direct` olarak; kanallar `channel` olarak; MPIM'ler `group` olarak yönlendirilir.
+- Slack rota bağlamaları ham eş ID'lerini ve `channel:C12345678`, `user:U12345678` ve `<@U12345678>` gibi Slack hedef biçimlerini kabul eder.
+- Varsayılan `session.dmScope=main` ile Slack DM'leri aracının ana oturumunda birleşir.
- Kanal oturumları: `agent::slack:channel:`.
-- İş parçacığı yanıtları, uygun olduğunda iş parçacığı oturumu sonekleri (`:thread:`) oluşturabilir.
+- İş parçacığı yanıtları, geçerli olduğunda iş parçacığı oturumu sonekleri (`:thread:`) oluşturabilir.
- `channels.slack.thread.historyScope` varsayılanı `thread`; `thread.inheritParent` varsayılanı `false` olur.
-- `channels.slack.thread.initialHistoryLimit`, yeni bir iş parçacığı oturumu başladığında kaç mevcut iş parçacığı mesajının getirileceğini denetler (varsayılan `20`; devre dışı bırakmak için `0` ayarlayın).
-- `channels.slack.thread.requireExplicitMention` (varsayılan `false`): `true` olduğunda, bot iş parçacığına zaten katılmış olsa bile botun iş parçacıkları içinde yalnızca açık `@bot` bahsetmelerine yanıt vermesi için örtük iş parçacığı bahsetmelerini bastırır. Bu olmadan, botun katıldığı bir iş parçacığındaki yanıtlar `requireMention` kapısını atlar.
+- `channels.slack.thread.initialHistoryLimit`, yeni bir iş parçacığı oturumu başladığında kaç mevcut iş parçacığı iletisinin getirileceğini kontrol eder (varsayılan `20`; devre dışı bırakmak için `0` ayarlayın).
+- `channels.slack.thread.requireExplicitMention` (varsayılan `false`): `true` olduğunda, bot iş parçacığında zaten yer almış olsa bile yalnızca iş parçacıkları içinde açık `@bot` bahsetmelerine yanıt vermesi için örtük iş parçacığı bahsetmelerini bastırır. Bu olmadan, botun katıldığı bir iş parçacığındaki yanıtlar `requireMention` kapısını atlar.
Yanıt iş parçacığı denetimleri:
@@ -628,45 +645,45 @@ Manuel yanıt etiketleri desteklenir:
- `[[reply_to:]]`
-`replyToMode="off"` Slack'te açık `[[reply_to_*]]` etiketleri dahil **tüm** yanıt iş parçacığını devre dışı bırakır. Bu, açık etiketlerin `"off"` modunda hâlâ dikkate alındığı Telegram'dan farklıdır. Slack iş parçacıkları mesajları kanaldan gizlerken Telegram yanıtları satır içinde görünür kalır.
+`replyToMode="off"`, açık `[[reply_to_*]]` etiketleri dahil Slack'teki **tüm** yanıt iş parçacıklarını devre dışı bırakır. Bu, açık etiketlerin `"off"` modunda hâlâ dikkate alındığı Telegram'dan farklıdır. Slack iş parçacıkları iletileri kanaldan gizlerken Telegram yanıtları satır içinde görünür kalır.
## Onay tepkileri
-`ackReaction`, OpenClaw gelen bir mesajı işlerken bir onay emojisi gönderir.
+`ackReaction`, OpenClaw gelen bir iletiyi işlerken bir onay emojisi gönderir.
Çözümleme sırası:
- `channels.slack.accounts..ackReaction`
- `channels.slack.ackReaction`
- `messages.ackReaction`
-- ajan kimliği emoji geri dönüşü (`agents.list[].identity.emoji`, aksi halde "👀")
+- aracı kimliği emoji geri dönüşü (`agents.list[].identity.emoji`, aksi halde "👀")
Notlar:
- Slack kısa kodlar bekler (örneğin `"eyes"`).
-- Slack hesabı için veya genel olarak tepkiyi devre dışı bırakmak için `""` kullanın.
+- Slack hesabı veya genel olarak tepkiyi devre dışı bırakmak için `""` kullanın.
## Metin akışı
-`channels.slack.streaming` canlı önizleme davranışını denetler:
+`channels.slack.streaming` canlı önizleme davranışını kontrol eder:
-- `off`: canlı önizleme akışını devre dışı bırak.
-- `partial` (varsayılan): önizleme metnini en son kısmi çıktıyla değiştir.
-- `block`: parçalı önizleme güncellemelerini ekle.
-- `progress`: oluşturma sırasında ilerleme durumu metnini göster, sonra son metni gönder.
-- `streaming.preview.toolProgress`: taslak önizleme etkinken araç/ilerleme güncellemelerini aynı düzenlenen önizleme mesajına yönlendir (varsayılan: `true`). Ayrı araç/ilerleme mesajları tutmak için `false` ayarlayın.
+- `off`: canlı önizleme akışını devre dışı bırakır.
+- `partial` (varsayılan): önizleme metnini en son kısmi çıktı ile değiştirir.
+- `block`: parçalı önizleme güncellemeleri ekler.
+- `progress`: oluşturma sırasında ilerleme durumu metnini gösterir, sonra son metni gönderir.
+- `streaming.preview.toolProgress`: taslak önizleme etkinken araç/ilerleme güncellemelerini aynı düzenlenmiş önizleme iletisine yönlendirir (varsayılan: `true`). Ayrı araç/ilerleme iletileri tutmak için `false` ayarlayın.
-`channels.slack.streaming.nativeTransport`, `channels.slack.streaming.mode` `partial` olduğunda Slack yerel metin akışını denetler (varsayılan: `true`).
+`channels.slack.streaming.nativeTransport`, `channels.slack.streaming.mode` `partial` olduğunda Slack yerel metin akışını kontrol eder (varsayılan: `true`).
-- Yerel metin akışı ve Slack asistan iş parçacığı durumunun görünmesi için bir yanıt iş parçacığı kullanılabilir olmalıdır. İş parçacığı seçimi yine `replyToMode` değerini izler.
+- Yerel metin akışının ve Slack asistan iş parçacığı durumunun görünmesi için bir yanıt iş parçacığı kullanılabilir olmalıdır. İş parçacığı seçimi yine de `replyToMode` izler.
- Kanal, grup sohbeti ve üst düzey DM kökleri, yerel akış kullanılamadığında veya yanıt iş parçacığı olmadığında normal taslak önizlemeyi kullanmaya devam edebilir.
- Üst düzey Slack DM'leri varsayılan olarak iş parçacığı dışında kalır, bu yüzden Slack'in iş parçacığı tarzı yerel akış/durum önizlemesini göstermez; OpenClaw bunun yerine DM'de bir taslak önizleme gönderir ve düzenler.
-- Medya ve metin olmayan yükler normal teslimata geri döner.
+- Medya ve metin dışı yükler normal teslimata geri döner.
- Medya/hata sonları bekleyen önizleme düzenlemelerini iptal eder; uygun metin/blok sonları yalnızca önizlemeyi yerinde düzenleyebildiklerinde boşaltılır.
-- Akış yanıt ortasında başarısız olursa OpenClaw kalan yükler için normal teslimata geri döner.
+- Akış yanıtın ortasında başarısız olursa OpenClaw kalan yükler için normal teslimata geri döner.
-Slack yerel metin akışı yerine taslak önizleme kullanın:
+Slack yerel metin akışı yerine taslak önizlemeyi kullanın:
```json5
{
@@ -689,7 +706,7 @@ Eski anahtarlar:
## Yazıyor tepkisi geri dönüşü
-`typingReaction`, OpenClaw bir yanıtı işlerken gelen Slack mesajına geçici bir tepki ekler, ardından çalışma bittiğinde bunu kaldırır. Bu, varsayılan "is typing..." durum göstergesi kullanan iş parçacığı yanıtları dışında en kullanışlıdır.
+`typingReaction`, OpenClaw bir yanıtı işlerken gelen Slack iletisine geçici bir tepki ekler, ardından çalışma bittiğinde bunu kaldırır. Bu, varsayılan "yazıyor..." durum göstergesi kullanan iş parçacığı yanıtlarının dışında en yararlı olanıdır.
Çözümleme sırası:
@@ -699,25 +716,25 @@ Eski anahtarlar:
Notlar:
- Slack kısa kodlar bekler (örneğin `"hourglass_flowing_sand"`).
-- Tepki en iyi çaba temelindedir ve yanıt ya da hata yolu tamamlandıktan sonra temizleme otomatik olarak denenir.
+- Tepki, en iyi çaba esasına göre eklenir ve yanıt ya da hata yolu tamamlandıktan sonra temizlik otomatik olarak denenir.
## Medya, parçalama ve teslim
- Slack dosya ekleri Slack tarafından barındırılan özel URL'lerden indirilir (token kimlik doğrulamalı istek akışı) ve getirme başarılı olduğunda ve boyut sınırları izin verdiğinde medya deposuna yazılır. Dosya yer tutucuları Slack `fileId` değerini içerir, böylece aracılar özgün dosyayı `download-file` ile getirebilir.
+ Slack dosya ekleri, Slack tarafından barındırılan özel URL'lerden (token ile kimliği doğrulanmış istek akışı) indirilir ve getirme başarılı olduğunda ve boyut sınırları izin verdiğinde medya deposuna yazılır. Dosya yer tutucuları, ajanların özgün dosyayı `download-file` ile getirebilmesi için Slack `fileId` değerini içerir.
- İndirmeler sınırlı boşta kalma ve toplam zaman aşımı süreleri kullanır. Slack dosya alma işlemi duraklarsa veya başarısız olursa OpenClaw mesajı işlemeye devam eder ve dosya yer tutucusuna geri döner.
+ İndirmeler sınırlı boşta kalma ve toplam zaman aşımları kullanır. Slack dosya alma işlemi duraklar veya başarısız olursa OpenClaw iletiyi işlemeyi sürdürür ve dosya yer tutucusuna geri döner.
- Çalışma zamanı gelen boyut üst sınırı, `channels.slack.mediaMaxMb` ile geçersiz kılınmadığı sürece varsayılan olarak `20MB` olur.
+ Çalışma zamanı gelen boyut üst sınırı, `channels.slack.mediaMaxMb` ile geçersiz kılınmadığı sürece varsayılan olarak `20MB` değerindedir.
- metin parçaları `channels.slack.textChunkLimit` kullanır (varsayılan 4000)
- `channels.slack.chunkMode="newline"` paragraf öncelikli bölmeyi etkinleştirir
- - dosya gönderimleri Slack yükleme API'lerini kullanır ve iş parçacığı yanıtlarını (`thread_ts`) içerebilir
- - giden medya üst sınırı yapılandırıldığında `channels.slack.mediaMaxMb` değerini izler; aksi durumda kanal gönderimleri medya işlem hattındaki MIME türü varsayılanlarını kullanır
+ - dosya gönderimleri Slack yükleme API'lerini kullanır ve iş parçacığı yanıtları (`thread_ts`) içerebilir
+ - giden medya üst sınırı yapılandırıldığında `channels.slack.mediaMaxMb` değerini izler; aksi halde kanal gönderimleri medya işlem hattından gelen MIME türü varsayılanlarını kullanır
@@ -727,14 +744,14 @@ Notlar:
- DM'ler için `user:`
- kanallar için `channel:`
- Yalnızca metin/blok Slack DM'leri doğrudan kullanıcı ID'lerine gönderi yapabilir; dosya yüklemeleri ve iş parçacıklı gönderimler önce Slack konuşma API'leri üzerinden DM'yi açar çünkü bu yollar somut bir konuşma ID'si gerektirir.
+ Yalnızca metin/blok içeren Slack DM'leri doğrudan kullanıcı kimliklerine gönderilebilir; dosya yüklemeleri ve iş parçacıklı gönderimler önce Slack konuşma API'leri üzerinden DM'yi açar, çünkü bu yollar somut bir konuşma kimliği gerektirir.
## Komutlar ve slash davranışı
-Slash komutları Slack'te tek bir yapılandırılmış komut veya birden çok yerel komut olarak görünür. Komut varsayılanlarını değiştirmek için `channels.slack.slashCommand` yapılandırın:
+Slash komutları Slack'te tek bir yapılandırılmış komut ya da birden çok yerel komut olarak görünür. Komut varsayılanlarını değiştirmek için `channels.slack.slashCommand` yapılandırın:
- `enabled: false`
- `name: "openclaw"`
@@ -745,7 +762,7 @@ Slash komutları Slack'te tek bir yapılandırılmış komut veya birden çok ye
/openclaw /help
```
-Yerel komutlar Slack uygulamanızda [ek manifest ayarları](#additional-manifest-settings) gerektirir ve bunun yerine genel yapılandırmalarda `channels.slack.commands.native: true` veya `commands.native: true` ile etkinleştirilir.
+Yerel komutlar Slack uygulamanızda [ek manifest ayarları](#additional-manifest-settings) gerektirir ve bunun yerine `channels.slack.commands.native: true` ya da genel yapılandırmalarda `commands.native: true` ile etkinleştirilir.
- Yerel komut otomatik modu Slack için **kapalıdır**, bu nedenle `commands.native: "auto"` Slack yerel komutlarını etkinleştirmez.
@@ -753,22 +770,22 @@ Yerel komutlar Slack uygulamanızda [ek manifest ayarları](#additional-manifest
/help
```
-Yerel argüman menüleri, seçilen seçenek değerini göndermeden önce bir onay modali gösteren uyarlanabilir bir işleme stratejisi kullanır:
+Yerel bağımsız değişken menüleri, seçilen bir seçenek değerini göndermeden önce onay modali gösteren uyarlanabilir bir işleme stratejisi kullanır:
-- en fazla 5 seçenek: düğme blokları
+- en çok 5 seçenek: düğme blokları
- 6-100 seçenek: statik seçim menüsü
-- 100'den fazla seçenek: etkileşim seçenek işleyicileri mevcut olduğunda async seçenek filtrelemeli harici seçim
-- Slack sınırları aşıldı: kodlanmış seçenek değerleri düğmelere geri döner
+- 100'den fazla seçenek: etkileşim seçenek işleyicileri kullanılabildiğinde zaman uyumsuz seçenek filtrelemeli harici seçim
+- Slack sınırları aşıldığında: kodlanmış seçenek değerleri düğmelere geri döner
```txt
/think
```
-Slash oturumları `agent::slack:slash:` gibi yalıtılmış anahtarlar kullanır ve komut yürütmelerini yine de `CommandTargetSessionKey` kullanarak hedef konuşma oturumuna yönlendirir.
+Slash oturumları `agent::slack:slash:` gibi yalıtılmış anahtarlar kullanır ve yine de komut yürütmelerini `CommandTargetSessionKey` kullanarak hedef konuşma oturumuna yönlendirir.
## Etkileşimli yanıtlar
-Slack, aracı tarafından yazılmış etkileşimli yanıt kontrollerini işleyebilir, ancak bu özellik varsayılan olarak devre dışıdır.
+Slack, ajan tarafından yazılmış etkileşimli yanıt kontrollerini işleyebilir, ancak bu özellik varsayılan olarak devre dışıdır.
Genel olarak etkinleştirin:
@@ -784,7 +801,7 @@ Genel olarak etkinleştirin:
}
```
-Veya yalnızca bir Slack hesabı için etkinleştirin:
+Ya da yalnızca bir Slack hesabı için etkinleştirin:
```json5
{
@@ -802,31 +819,30 @@ Veya yalnızca bir Slack hesabı için etkinleştirin:
}
```
-Etkinleştirildiğinde aracılar yalnızca Slack'e özgü yanıt yönergeleri yayabilir:
+Etkinleştirildiğinde ajanlar yalnızca Slack'e özgü yanıt yönergeleri yayabilir:
- `[[slack_buttons: Approve:approve, Reject:reject]]`
- `[[slack_select: Choose a target | Canary:canary, Production:production]]`
-Bu yönergeler Slack Block Kit'e derlenir ve tıklamaları veya seçimleri mevcut Slack etkileşim olayı yolundan geri yönlendirir.
+Bu yönergeler Slack Block Kit'e derlenir ve tıklamaları ya da seçimleri mevcut Slack etkileşim olayı yolu üzerinden geri yönlendirir.
Notlar:
-- Bu, Slack'e özgü UI'dır. Diğer kanallar Slack Block Kit yönergelerini kendi düğme sistemlerine çevirmez.
-- Etkileşimli callback değerleri, aracı tarafından yazılmış ham değerler değil, OpenClaw tarafından oluşturulan opak token'lardır.
+- Bu Slack'e özgü kullanıcı arayüzüdür. Diğer kanallar Slack Block Kit yönergelerini kendi düğme sistemlerine çevirmez.
+- Etkileşimli geri çağırma değerleri, ajanın yazdığı ham değerler değil, OpenClaw tarafından oluşturulan opak tokenlardır.
- Oluşturulan etkileşimli bloklar Slack Block Kit sınırlarını aşacaksa OpenClaw geçersiz bir blok yükü göndermek yerine özgün metin yanıtına geri döner.
## Slack'te exec onayları
-Slack, Web UI'a veya terminale geri dönmek yerine etkileşimli düğmeler ve etkileşimlerle yerel bir onay istemcisi olarak çalışabilir.
+Slack, Web kullanıcı arayüzüne veya terminale geri dönmek yerine etkileşimli düğmeler ve etkileşimlerle yerel bir onay istemcisi olarak davranabilir.
- Exec onayları yerel DM/kanal yönlendirmesi için `channels.slack.execApprovals.*` kullanır.
-- Plugin onayları, istek zaten Slack'e düştüğünde ve onay id türü `plugin:` olduğunda aynı Slack yerel düğme yüzeyi üzerinden yine çözülebilir.
+- Plugin onayları, istek zaten Slack'e düştüğünde ve onay kimliği türü `plugin:` olduğunda aynı Slack yerel düğme yüzeyi üzerinden çözülebilir.
- Onaylayıcı yetkilendirmesi yine uygulanır: yalnızca onaylayıcı olarak tanımlanan kullanıcılar Slack üzerinden istekleri onaylayabilir veya reddedebilir.
-Bu, diğer kanallarla aynı paylaşılan onay düğmesi yüzeyini kullanır. Slack uygulama ayarlarınızda `interactivity` etkinleştirildiğinde onay istemleri konuşmada doğrudan Block Kit düğmeleri olarak işlenir.
-Bu düğmeler mevcut olduğunda birincil onay UX'i bunlardır; OpenClaw
-yalnızca araç sonucu sohbet onaylarının kullanılamadığını veya manuel onayın
-tek yol olduğunu söylediğinde manuel bir `/approve` komutu eklemelidir.
+Bu, diğer kanallarla aynı paylaşılan onay düğmesi yüzeyini kullanır. Slack uygulama ayarlarınızda `interactivity` etkinleştirildiğinde, onay istemleri doğrudan konuşmada Block Kit düğmeleri olarak işlenir.
+Bu düğmeler mevcut olduğunda birincil onay kullanıcı deneyimi bunlardır; OpenClaw
+yalnızca araç sonucu sohbet onaylarının kullanılamadığını veya manuel onayın tek yol olduğunu söylediğinde manuel bir `/approve` komutu içermelidir.
Yapılandırma yolu:
@@ -835,10 +851,11 @@ Yapılandırma yolu:
- `channels.slack.execApprovals.target` (`dm` | `channel` | `both`, varsayılan: `dm`)
- `agentFilter`, `sessionFilter`
-Slack, `enabled` ayarlanmamış veya `"auto"` olduğunda ve en az bir onaylayıcı çözümlendiğinde yerel exec onaylarını otomatik olarak etkinleştirir. Slack'i yerel onay istemcisi olarak açıkça devre dışı bırakmak için `enabled: false` ayarlayın.
+Slack, `enabled` ayarlanmamışsa veya `"auto"` ise ve en az bir
+onaylayıcı çözümlenirse yerel exec onaylarını otomatik olarak etkinleştirir. Slack'i yerel onay istemcisi olarak açıkça devre dışı bırakmak için `enabled: false` ayarlayın.
Onaylayıcılar çözümlendiğinde yerel onayları zorla açmak için `enabled: true` ayarlayın.
-Açık Slack exec onay yapılandırması olmadan varsayılan davranış:
+Açık Slack exec onay yapılandırması olmadığında varsayılan davranış:
```json5
{
@@ -849,7 +866,7 @@ Açık Slack exec onay yapılandırması olmadan varsayılan davranış:
```
Açık Slack yerel yapılandırması yalnızca onaylayıcıları geçersiz kılmak, filtre eklemek veya
-kaynak sohbet teslimini tercih etmek istediğinizde gerekir:
+kaynak sohbet teslimine katılmak istediğinizde gerekir:
```json5
{
@@ -865,26 +882,28 @@ kaynak sohbet teslimini tercih etmek istediğinizde gerekir:
}
```
-Paylaşılan `approvals.exec` iletimi ayrıdır. Bunu yalnızca exec onay istemlerinin başka sohbetlere veya açık bant dışı hedeflere de yönlendirilmesi gerektiğinde kullanın. Paylaşılan `approvals.plugin` iletimi de ayrıdır; Slack yerel düğmeleri, bu istekler zaten Slack'e düştüğünde Plugin onaylarını yine çözebilir.
+Paylaşılan `approvals.exec` iletimi ayrıdır. Yalnızca exec onay istemlerinin başka sohbetlere
+veya açık bant dışı hedeflere de yönlendirilmesi gerektiğinde kullanın. Paylaşılan `approvals.plugin` iletimi de
+ayrıdır; Slack yerel düğmeleri, bu istekler zaten Slack'e düştüğünde Plugin onaylarını yine çözebilir.
-Aynı sohbette `/approve`, komutları zaten destekleyen Slack kanallarında ve DM'lerde de çalışır. Tam onay iletimi modeli için [Exec onayları](/tr/tools/exec-approvals) bölümüne bakın.
+Aynı sohbet `/approve`, komutları zaten destekleyen Slack kanallarında ve DM'lerde de çalışır. Tam onay iletme modeli için [Exec onayları](/tr/tools/exec-approvals) bölümüne bakın.
## Olaylar ve operasyonel davranış
-- Mesaj düzenlemeleri/silmeleri sistem olaylarına eşlenir.
-- İş parçacığı yayınları ("Kanala da gönder" iş parçacığı yanıtları) normal kullanıcı mesajları olarak işlenir.
+- İleti düzenlemeleri/silmeleri sistem olaylarına eşlenir.
+- İş parçacığı yayınları ("Kanala da gönder" iş parçacığı yanıtları) normal kullanıcı iletileri olarak işlenir.
- Tepki ekleme/kaldırma olayları sistem olaylarına eşlenir.
-- Üye katılma/ayrılma, kanal oluşturma/yeniden adlandırma ve sabit ekleme/kaldırma olayları sistem olaylarına eşlenir.
-- `configWrites` etkinleştirildiğinde `channel_id_changed` kanal yapılandırma anahtarlarını taşıyabilir.
-- Kanal konusu/amacı meta verileri güvenilmeyen bağlam olarak ele alınır ve yönlendirme bağlamına enjekte edilebilir.
-- İş parçacığı başlatıcısı ve başlangıç iş parçacığı geçmişi bağlam tohumlaması, geçerliyse yapılandırılmış gönderen izin listeleriyle filtrelenir.
-- Blok eylemleri ve modal etkileşimleri zengin yük alanlarıyla yapılandırılmış `Slack interaction: ...` sistem olayları yayar:
- - blok eylemleri: seçili değerler, etiketler, seçici değerleri ve `workflow_*` meta verileri
+- Üye katılma/ayrılma, kanal oluşturulma/yeniden adlandırılma ve pin ekleme/kaldırma olayları sistem olaylarına eşlenir.
+- `channel_id_changed`, `configWrites` etkinleştirildiğinde kanal yapılandırma anahtarlarını taşıyabilir.
+- Kanal konu/amaç meta verileri güvenilmeyen bağlam olarak değerlendirilir ve yönlendirme bağlamına enjekte edilebilir.
+- İş parçacığı başlatıcısı ve ilk iş parçacığı geçmişi bağlamı tohumlaması, uygulanabilir olduğunda yapılandırılmış gönderen izin listeleriyle filtrelenir.
+- Blok eylemleri ve modal etkileşimleri, zengin yük alanlarıyla yapılandırılmış `Slack interaction: ...` sistem olayları yayar:
+ - blok eylemleri: seçilen değerler, etiketler, seçici değerleri ve `workflow_*` meta verileri
- yönlendirilmiş kanal meta verileri ve form girdileriyle modal `view_submission` ve `view_closed` olayları
-## Yapılandırma referansı
+## Yapılandırma başvurusu
-Birincil referans: [Yapılandırma referansı - Slack](/tr/gateway/config-channels#slack).
+Birincil başvuru: [Yapılandırma başvurusu - Slack](/tr/gateway/config-channels#slack).
@@ -905,7 +924,7 @@ Birincil referans: [Yapılandırma referansı - Slack](/tr/gateway/config-channe
Sırayla kontrol edin:
- `groupPolicy`
- - kanal izin listesi (`channels.slack.channels`) — **anahtarlar kanal ID'leri olmalıdır** (`C12345678`), adlar değil (`#channel-name`). Ada dayalı anahtarlar `groupPolicy: "allowlist"` altında sessizce başarısız olur çünkü kanal yönlendirmesi varsayılan olarak ID önceliklidir. Bir ID bulmak için: Slack'te kanala sağ tıklayın → **Bağlantıyı kopyala** — URL'nin sonundaki `C...` değeri kanal ID'sidir.
+ - kanal izin listesi (`channels.slack.channels`) — **anahtarlar kanal kimlikleri olmalıdır** (`C12345678`), adlar (`#channel-name`) değil. Ad tabanlı anahtarlar `groupPolicy: "allowlist"` altında sessizce başarısız olur, çünkü kanal yönlendirmesi varsayılan olarak kimlik önceliklidir. Bir kimlik bulmak için: Slack'te kanala sağ tıklayın → **Bağlantıyı kopyala** — URL'nin sonundaki `C...` değeri kanal kimliğidir.
- `requireMention`
- kanal başına `users` izin listesi
@@ -925,9 +944,8 @@ openclaw doctor
- `channels.slack.dm.enabled`
- `channels.slack.dmPolicy` (veya eski `channels.slack.dm.policy`)
- eşleştirme onayları / izin listesi girdileri
- - Slack Assistant DM olayları: `drop message_changed` bahseden ayrıntılı günlükler
- genellikle Slack'in mesaj meta verilerinde kurtarılabilir bir insan gönderen
- olmadan düzenlenmiş bir Assistant iş parçacığı olayı gönderdiği anlamına gelir
+ - Slack Assistant DM olayları: `drop message_changed` ifadesinden bahseden ayrıntılı günlükler
+ genellikle Slack'in ileti meta verilerinde kurtarılabilir bir insan gönderen olmadan düzenlenmiş bir Assistant iş parçacığı olayı gönderdiği anlamına gelir
```bash
openclaw pairing list slack
@@ -936,11 +954,11 @@ openclaw pairing list slack
- Slack uygulama ayarlarında bot + uygulama token'larını ve Socket Mode etkinleştirmesini doğrulayın.
+ Slack uygulama ayarlarında bot + uygulama tokenlarını ve Socket Mode etkinleştirmesini doğrulayın.
- `openclaw channels status --probe --json` çıktısı `botTokenStatus` veya
+ `openclaw channels status --probe --json`, `botTokenStatus` veya
`appTokenStatus: "configured_unavailable"` gösteriyorsa Slack hesabı
- yapılandırılmıştır ancak mevcut çalışma zamanı SecretRef destekli
+ yapılandırılmıştır, ancak geçerli çalışma zamanı SecretRef destekli
değeri çözememiştir.
@@ -948,90 +966,88 @@ openclaw pairing list slack
Doğrulayın:
- - imzalama gizli anahtarı
+ - imzalama sırrı
- Webhook yolu
- Slack Request URL'leri (Events + Interactivity + Slash Commands)
- HTTP hesabı başına benzersiz `webhookPath`
- Hesap anlık görüntülerinde `signingSecretStatus: "configured_unavailable"`
- görünüyorsa HTTP hesabı yapılandırılmıştır ancak mevcut çalışma zamanı
- SecretRef destekli imzalama gizli anahtarını çözememiştir.
+ Hesap anlık görüntülerinde `signingSecretStatus: "configured_unavailable"` görünüyorsa HTTP hesabı yapılandırılmıştır, ancak geçerli çalışma zamanı SecretRef destekli imzalama sırrını çözememiştir.
- Neyi amaçladığınızı doğrulayın:
+ Hangisini amaçladığınızı doğrulayın:
- Slack'te kayıtlı eşleşen slash komutlarıyla yerel komut modu (`channels.slack.commands.native: true`)
- - veya tek slash komutu modu (`channels.slack.slashCommand.enabled: true`)
+ - ya da tek slash komutu modu (`channels.slack.slashCommand.enabled: true`)
- Ayrıca `commands.useAccessGroups` ile kanal/kullanıcı izin listelerini kontrol edin.
+ Ayrıca `commands.useAccessGroups` ve kanal/kullanıcı izin listelerini kontrol edin.
-## Ek görüntü referansı
+## Ek görüş başvurusu
-Slack dosya indirmeleri başarılı olduğunda ve boyut sınırları izin verdiğinde Slack, indirilen medyayı aracı turuna ekleyebilir. Görüntü dosyaları medya anlama yolundan geçirilebilir veya doğrudan görüntü yetenekli bir yanıt modeline aktarılabilir; diğer dosyalar görüntü girdisi olarak ele alınmak yerine indirilebilir dosya bağlamı olarak tutulur.
+Slack dosya indirmeleri başarılı olduğunda ve boyut sınırları izin verdiğinde Slack, indirilen medyayı ajan turuna ekleyebilir. Görüntü dosyaları medya anlama yolundan geçirilebilir veya doğrudan görüntü yetenekli bir yanıt modeline iletilebilir; diğer dosyalar görüntü girdisi olarak ele alınmak yerine indirilebilir dosya bağlamı olarak tutulur.
### Desteklenen medya türleri
-| Medya türü | Kaynak | Geçerli davranış | Notlar |
-| ------------------------------ | -------------------- | --------------------------------------------------------------------------------- | ------------------------------------------------------------------------- |
-| JPEG / PNG / GIF / WebP görüntüleri | Slack dosya URL'si | Görme yetenekli işleme için indirildi ve tura eklendi | Dosya başına sınır: `channels.slack.mediaMaxMb` (varsayılan 20 MB) |
-| PDF dosyaları | Slack dosya URL'si | İndirildi ve `download-file` veya `pdf` gibi araçlar için dosya bağlamı olarak sunuldu | Slack gelen akışı, PDF'leri otomatik olarak görüntü-görme girdisine dönüştürmez |
-| Diğer dosyalar | Slack dosya URL'si | Mümkün olduğunda indirildi ve dosya bağlamı olarak sunuldu | İkili dosyalar görüntü girdisi olarak ele alınmaz |
-| İş parçacığı yanıtları | İş parçacığı başlatıcı dosyaları | Yanıtta doğrudan medya olmadığında kök ileti dosyaları bağlam olarak doldurulabilir | Yalnızca dosya içeren başlatıcılar bir ek yer tutucusu kullanır |
-| Çok görüntülü iletiler | Birden çok Slack dosyası | Her dosya bağımsız olarak değerlendirilir | Slack işleme, ileti başına sekiz dosyayla sınırlıdır |
+| Medya türü | Kaynak | Geçerli davranış | Notlar |
+| ----------------------------- | -------------------- | --------------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
+| JPEG / PNG / GIF / WebP görselleri | Slack dosya URL'si | İndirilir ve görsel işleme yetenekli kullanım için tura eklenir | Dosya başına sınır: `channels.slack.mediaMaxMb` (varsayılan 20 MB) |
+| PDF dosyaları | Slack dosya URL'si | İndirilir ve `download-file` veya `pdf` gibi araçlar için dosya bağlamı olarak sunulur | Slack gelen akışı, PDF'leri otomatik olarak görsel işleme girdisine dönüştürmez |
+| Diğer dosyalar | Slack dosya URL'si | Mümkün olduğunda indirilir ve dosya bağlamı olarak sunulur | İkili dosyalar görsel girdisi olarak ele alınmaz |
+| Konu yanıtları | Konu başlatıcı dosyaları | Yanıtın doğrudan medyası yoksa kök mesaj dosyaları bağlam olarak yüklenebilir | Yalnızca dosya içeren başlatıcılar bir ek yer tutucusu kullanır |
+| Çoklu görsel mesajları | Birden fazla Slack dosyası | Her dosya bağımsız olarak değerlendirilir | Slack işleme, mesaj başına sekiz dosyayla sınırlıdır |
### Gelen akış hattı
-Dosya ekleri olan bir Slack iletisi geldiğinde:
+Dosya ekleri olan bir Slack mesajı geldiğinde:
-1. OpenClaw, bot token'ını (`xoxb-...`) kullanarak dosyayı Slack'in özel URL'sinden indirir.
-2. Başarılı olduğunda dosya medya deposuna yazılır.
+1. OpenClaw, bot belirtecini (`xoxb-...`) kullanarak dosyayı Slack'in özel URL'sinden indirir.
+2. Başarılı olursa dosya medya deposuna yazılır.
3. İndirilen medya yolları ve içerik türleri gelen bağlama eklenir.
-4. Görüntü yetenekli model/araç yolları bu bağlamdaki görüntü eklerini kullanabilir.
-5. Görüntü olmayan dosyalar, bunları işleyebilen araçlar için dosya meta verileri veya medya referansları olarak kullanılabilir kalır.
+4. Görsel yetenekli model/araç yolları, bu bağlamdaki görsel eklerini kullanabilir.
+5. Görsel olmayan dosyalar, bunları işleyebilen araçlar için dosya meta verisi veya medya referansı olarak kullanılabilir kalır.
-### İş parçacığı kök eki devralma
+### Konu kökü ek devralma
-Bir ileti bir iş parçacığında geldiğinde (`thread_ts` üst öğesi varsa):
+Bir mesaj bir konuda geldiğinde (`thread_ts` üst öğesi olduğunda):
-- Yanıtın kendisinde doğrudan medya yoksa ve dahil edilen kök iletide dosyalar varsa, Slack kök dosyaları iş parçacığı başlatıcı bağlamı olarak doldurabilir.
-- Doğrudan yanıt ekleri, kök ileti eklerine göre önceliklidir.
-- Yalnızca dosyaları olan ve metni olmayan bir kök ileti, geri dönüşün yine de dosyalarını içerebilmesi için bir ek yer tutucusuyla temsil edilir.
+- Yanıtın kendisinde doğrudan medya yoksa ve dahil edilen kök mesajda dosyalar varsa Slack, kök dosyaları konu başlatıcı bağlamı olarak yükleyebilir.
+- Doğrudan yanıt ekleri, kök mesaj eklerine göre önceliklidir.
+- Yalnızca dosyaları olan ve metni olmayan bir kök mesaj, geri dönüşün dosyalarını yine de dahil edebilmesi için bir ek yer tutucusuyla temsil edilir.
### Çoklu ek işleme
-Tek bir Slack iletisi birden çok dosya eki içerdiğinde:
+Tek bir Slack mesajı birden fazla dosya eki içerdiğinde:
-- Her ek medya akış hattından bağımsız olarak işlenir.
-- İndirilen medya referansları ileti bağlamında birleştirilir.
+- Her ek medya akış hattında bağımsız olarak işlenir.
+- İndirilen medya referansları mesaj bağlamında birleştirilir.
- İşleme sırası, olay yükündeki Slack dosya sırasını izler.
-- Bir ekin indirilmesindeki hata diğerlerini engellemez.
+- Bir ekin indirilmesindeki hata, diğerlerini engellemez.
### Boyut, indirme ve model sınırları
-- **Boyut sınırı**: Dosya başına varsayılan 20 MB. `channels.slack.mediaMaxMb` üzerinden yapılandırılabilir.
-- **İndirme hataları**: Slack'in sunamadığı dosyalar, süresi dolmuş URL'ler, erişilemeyen dosyalar, boyutu aşan dosyalar ve Slack kimlik doğrulama/giriş HTML yanıtları, desteklenmeyen biçimler olarak bildirilmek yerine atlanır.
-- **Görme modeli**: Görüntü analizi, görmeyi desteklediğinde etkin yanıt modelini veya `agents.defaults.imageModel` içinde yapılandırılan görüntü modelini kullanır.
+- **Boyut sınırı**: Varsayılan olarak dosya başına 20 MB. `channels.slack.mediaMaxMb` ile yapılandırılabilir.
+- **İndirme hataları**: Slack'in sunamadığı dosyalar, süresi dolmuş URL'ler, erişilemeyen dosyalar, aşırı büyük dosyalar ve Slack kimlik doğrulama/giriş HTML yanıtları, desteklenmeyen biçimler olarak bildirilmek yerine atlanır.
+- **Görsel model**: Görsel analizi, görsel işlemeyi desteklediğinde etkin yanıt modelini veya `agents.defaults.imageModel` konumunda yapılandırılan görsel modelini kullanır.
### Bilinen sınırlar
-| Senaryo | Geçerli davranış | Geçici çözüm |
-| -------------------------------------- | ---------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
-| Süresi dolmuş Slack dosya URL'si | Dosya atlanır; hata gösterilmez | Dosyayı Slack'e yeniden yükleyin |
-| Görme modeli yapılandırılmamış | Görüntü ekleri medya referansları olarak saklanır, ancak görüntü olarak analiz edilmez | `agents.defaults.imageModel` yapılandırın veya görme yetenekli bir yanıt modeli kullanın |
-| Çok büyük görüntüler (varsayılan olarak > 20 MB) | Boyut sınırına göre atlanır | Slack izin veriyorsa `channels.slack.mediaMaxMb` değerini artırın |
-| İletilen/paylaşılan ekler | Metin ve Slack tarafından barındırılan görüntü/dosya medyası en iyi çabayla işlenir | Doğrudan OpenClaw iş parçacığında yeniden paylaşın |
-| PDF ekleri | Dosya/medya bağlamı olarak saklanır, otomatik olarak görüntü görme üzerinden yönlendirilmez | Dosya meta verileri için `download-file` veya PDF analizi için `pdf` aracını kullanın |
+| Senaryo | Geçerli davranış | Geçici çözüm |
+| -------------------------------------- | -------------------------------------------------------------------------- | -------------------------------------------------------------------------- |
+| Süresi dolmuş Slack dosya URL'si | Dosya atlanır; hata gösterilmez | Dosyayı Slack'e yeniden yükleyin |
+| Görsel model yapılandırılmamış | Görsel ekleri medya referansı olarak saklanır, ancak görsel olarak analiz edilmez | `agents.defaults.imageModel` yapılandırın veya görsel yetenekli bir yanıt modeli kullanın |
+| Çok büyük görseller (varsayılan olarak > 20 MB) | Boyut sınırına göre atlanır | Slack izin veriyorsa `channels.slack.mediaMaxMb` değerini artırın |
+| İletilen/paylaşılan ekler | Metin ve Slack'te barındırılan görsel/dosya medyası en iyi çabayla işlenir | Doğrudan OpenClaw konusunda yeniden paylaşın |
+| PDF ekleri | Dosya/medya bağlamı olarak saklanır, otomatik olarak görsel işlemeye yönlendirilmez | Dosya meta verisi için `download-file` veya PDF analizi için `pdf` aracını kullanın |
### İlgili belgeler
- [Medya anlama akış hattı](/tr/nodes/media-understanding)
- [PDF aracı](/tr/tools/pdf)
-- Epik: [#51349](https://github.com/openclaw/openclaw/issues/51349) — Slack eklerinde görme etkinleştirme
+- Epic: [#51349](https://github.com/openclaw/openclaw/issues/51349) — Slack ekleri için görsel işleme etkinleştirmesi
- Regresyon testleri: [#51353](https://github.com/openclaw/openclaw/issues/51353)
- Canlı doğrulama: [#51354](https://github.com/openclaw/openclaw/issues/51354)
@@ -1045,10 +1061,10 @@ Tek bir Slack iletisi birden çok dosya eki içerdiğinde:
Kanal ve grup DM davranışı.
- Gelen iletileri ajanlara yönlendirin.
+ Gelen mesajları ajanlara yönlendirin.
- Tehdit modeli ve sağlamlaştırma.
+ Tehdit modeli ve güçlendirme.
Yapılandırma düzeni ve öncelik sırası.
diff --git a/docs/tr/channels/tlon.md b/docs/tr/channels/tlon.md
index 6af75f430..04229587b 100644
--- a/docs/tr/channels/tlon.md
+++ b/docs/tr/channels/tlon.md
@@ -4,36 +4,36 @@ read_when:
summary: Tlon/Urbit destek durumu, yetenekleri ve yapılandırması
title: Tlon
x-i18n:
- generated_at: "2026-05-02T22:16:36Z"
+ generated_at: "2026-05-04T02:22:05Z"
model: gpt-5.5
provider: openai
- source_hash: 30915170786fc1ee8b84fb8be2ea42280262923064cfa9ca7107036096a13add
+ source_hash: 1718044541b431ff2437508e7e6659c14206f4aa84ab8b207e0d791dea2a48c5
source_path: channels/tlon.md
workflow: 16
---
-Tlon, Urbit üzerinde inşa edilmiş merkeziyetsiz bir mesajlaşma uygulamasıdır. OpenClaw, Urbit ship'inize bağlanır ve
-DM'lere ve grup sohbeti mesajlarına yanıt verebilir. Grup yanıtları varsayılan olarak @ mention gerektirir ve
-allowlist'ler aracılığıyla daha da kısıtlanabilir.
+Tlon, Urbit üzerine kurulmuş merkeziyetsiz bir mesajlaşma uygulamasıdır. OpenClaw, Urbit geminize bağlanır ve
+DM'lere ve grup sohbeti mesajlarına yanıt verebilir. Grup yanıtları varsayılan olarak @ bahsi gerektirir ve
+izin listeleriyle daha da kısıtlanabilir.
-Durum: birlikte gelen Plugin. DM'ler, grup mention'ları, thread yanıtları, zengin metin biçimlendirmesi ve
-görsel yüklemeleri desteklenir. Reaksiyonlar ve anketler henüz desteklenmiyor.
+Durum: paketle birlikte gelen Plugin. DM'ler, grup bahisleri, ileti dizisi yanıtları, zengin metin biçimlendirmesi ve
+görsel yüklemeleri desteklenir. Tepkiler ve anketler henüz desteklenmez.
-## Birlikte gelen Plugin
+## Paketle birlikte gelen Plugin
-Tlon, mevcut OpenClaw sürümlerinde birlikte gelen bir Plugin olarak sunulur; bu nedenle normal paketlenmiş
+Tlon, güncel OpenClaw sürümlerinde paketle birlikte gelen bir Plugin olarak sunulur; bu nedenle normal paketlenmiş
derlemeler ayrı bir kurulum gerektirmez.
Daha eski bir derlemedeyseniz veya Tlon'u hariç tutan özel bir kurulum kullanıyorsanız,
güncel bir npm paketi kurun:
-CLI üzerinden kurulum (npm registry):
+CLI ile kurulum (npm kayıt deposu):
```bash
openclaw plugins install @openclaw/tlon
```
-Mevcut resmi sürüm etiketini takip etmek için yalın paketi kullanın. Kesin bir
+Güncel resmi sürüm etiketini takip etmek için yalın paketi kullanın. Kesin bir
sürümü yalnızca tekrarlanabilir bir kurulum gerektiğinde sabitleyin.
Yerel checkout (bir git deposundan çalıştırırken):
@@ -47,14 +47,14 @@ Ayrıntılar: [Plugins](/tr/tools/plugin)
## Kurulum
1. Tlon Plugin'inin kullanılabilir olduğundan emin olun.
- - Mevcut paketlenmiş OpenClaw sürümleri bunu zaten içerir.
- - Daha eski/özel kurulumlar, yukarıdaki komutlarla bunu elle ekleyebilir.
-2. Ship URL'nizi ve oturum açma kodunuzu alın.
-3. `channels.tlon` yapılandırmasını yapın.
+ - Güncel paketlenmiş OpenClaw sürümleri bunu zaten içerir.
+ - Daha eski/özel kurulumlar yukarıdaki komutlarla bunu elle ekleyebilir.
+2. Gemi URL'nizi ve oturum açma kodunuzu alın.
+3. `channels.tlon` yapılandırmasını ayarlayın.
4. Gateway'i yeniden başlatın.
-5. Bota DM gönderin veya bir grup kanalında ondan mention ile bahsedin.
+5. Bota DM gönderin veya bir grup kanalında ondan bahsedin.
-Minimal yapılandırma (tek hesap):
+En küçük yapılandırma (tek hesap):
```json5
{
@@ -70,11 +70,11 @@ Minimal yapılandırma (tek hesap):
}
```
-## Özel/LAN ship'leri
+## Özel/LAN gemileri
-Varsayılan olarak OpenClaw, SSRF koruması için özel/dahili host adlarını ve IP aralıklarını engeller.
-Ship'iniz özel bir ağda çalışıyorsa (localhost, LAN IP veya dahili hostname),
-açıkça etkinleştirmeniz gerekir:
+Varsayılan olarak OpenClaw, SSRF koruması için özel/dahili ana makine adlarını ve IP aralıklarını engeller.
+Geminiz özel bir ağda çalışıyorsa (localhost, LAN IP'si veya dahili ana makine adı),
+bunu açıkça etkinleştirmeniz gerekir:
```json5
{
@@ -87,13 +87,13 @@ açıkça etkinleştirmeniz gerekir:
}
```
-Bu, aşağıdaki gibi URL'ler için geçerlidir:
+Bu, şu gibi URL'ler için geçerlidir:
- `http://localhost:8080`
- `http://192.168.x.x:8080`
- `http://my-ship.local:8080`
-⚠️ Bunu yalnızca yerel ağınıza güveniyorsanız etkinleştirin. Bu ayar, ship URL'nize yapılan
+⚠️ Bunu yalnızca yerel ağınıza güveniyorsanız etkinleştirin. Bu ayar, gemi URL'nize yapılan
istekler için SSRF korumalarını devre dışı bırakır.
## Grup kanalları
@@ -124,7 +124,7 @@ Otomatik keşfi devre dışı bırakın:
## Erişim denetimi
-DM allowlist'i (boş = DM'lere izin verilmez, onay akışı için `ownerShip` kullanın):
+DM izin listesi (boş = DM'lere izin verilmez, onay akışı için `ownerShip` kullanın):
```json5
{
@@ -161,7 +161,7 @@ Grup yetkilendirmesi (varsayılan olarak kısıtlı):
## Sahip ve onay sistemi
-Yetkisiz kullanıcılar etkileşim kurmaya çalıştığında onay istekleri almak için bir sahip ship ayarlayın:
+Yetkisiz kullanıcılar etkileşim kurmaya çalıştığında onay isteklerini almak için bir sahip gemi ayarlayın:
```json5
{
@@ -173,19 +173,19 @@ Yetkisiz kullanıcılar etkileşim kurmaya çalıştığında onay istekleri alm
}
```
-Sahip ship **her yerde otomatik olarak yetkilidir** — DM davetleri otomatik kabul edilir ve
+Sahip gemi **her yerde otomatik olarak yetkilendirilir** — DM davetleri otomatik kabul edilir ve
kanal mesajlarına her zaman izin verilir. Sahibi `dmAllowlist` veya
`defaultAuthorizedShips` içine eklemeniz gerekmez.
-Ayarlandığında, sahip aşağıdakiler için DM bildirimleri alır:
+Ayarlandığında, sahip şu durumlar için DM bildirimleri alır:
-- Allowlist'te olmayan ship'lerden gelen DM istekleri
-- Yetkilendirmesi olmayan kanallardaki mention'lar
-- Grup daveti istekleri
+- İzin listesinde olmayan gemilerden gelen DM istekleri
+- Yetkilendirme bulunmayan kanallardaki bahisler
+- Grup davet istekleri
## Otomatik kabul ayarları
-DM davetlerini otomatik kabul edin (`dmAllowlist` içindeki ship'ler için):
+DM davetlerini otomatik kabul etme (`dmAllowlist` içindeki gemiler için):
```json5
{
@@ -197,55 +197,59 @@ DM davetlerini otomatik kabul edin (`dmAllowlist` içindeki ship'ler için):
}
```
-Grup davetlerini otomatik kabul edin:
+Güvenilen gemilerden gelen grup davetlerini otomatik kabul etme:
```json5
{
channels: {
tlon: {
autoAcceptGroupInvites: true,
+ groupInviteAllowlist: ["~zod"],
},
},
}
```
-## Teslim hedefleri (CLI/cron)
+`autoAcceptGroupInvites`, `groupInviteAllowlist` boş olduğunda kapalı kalarak başarısız olur. İzin listesini,
+grup davetleri otomatik olarak kabul edilecek gemilerle ayarlayın.
-Bunları `openclaw message send` veya cron teslimiyle kullanın:
+## Teslim hedefleri (CLI/Cron)
+
+Bunları `openclaw message send` veya Cron teslimi ile kullanın:
- DM: `~sampel-palnet` veya `dm/~sampel-palnet`
- Grup: `chat/~host-ship/channel` veya `group:~host-ship/channel`
-## Birlikte gelen skill
+## Paketle birlikte gelen yetenek
-Tlon Plugin'i, Tlon işlemlerine CLI erişimi sağlayan birlikte gelen bir skill
+Tlon Plugin'i, Tlon işlemlerine CLI erişimi sağlayan paketle birlikte gelen bir yetenek
([`@tloncorp/tlon-skill`](https://github.com/tloncorp/tlon-skill)) içerir:
-- **Kişiler**: profilleri alın/güncelleyin, kişileri listeleyin
-- **Kanallar**: listeleyin, oluşturun, mesaj gönderin, geçmişi getirin
-- **Gruplar**: listeleyin, oluşturun, üyeleri yönetin
-- **DM'ler**: mesaj gönderin, mesajlara reaksiyon verin
-- **Reaksiyonlar**: gönderilere ve DM'lere emoji reaksiyonları ekleyin/kaldırın
-- **Ayarlar**: slash komutları aracılığıyla Plugin izinlerini yönetin
+- **Kişiler**: profilleri alma/güncelleme, kişileri listeleme
+- **Kanallar**: listeleme, oluşturma, mesaj gönderme, geçmişi getirme
+- **Gruplar**: listeleme, oluşturma, üyeleri yönetme
+- **DM'ler**: mesaj gönderme, mesajlara tepki verme
+- **Tepkiler**: gönderilere ve DM'lere emoji tepkileri ekleme/kaldırma
+- **Ayarlar**: eğik çizgi komutlarıyla Plugin izinlerini yönetme
-Plugin kurulduğunda skill otomatik olarak kullanılabilir olur.
+Bu yetenek, Plugin kurulduğunda otomatik olarak kullanılabilir olur.
## Yetenekler
-| Özellik | Durum |
-| --------------- | ----------------------------------------------- |
-| Doğrudan mesajlar | ✅ Desteklenir |
-| Gruplar/kanallar | ✅ Desteklenir (varsayılan olarak mention kapılı) |
-| Thread'ler | ✅ Desteklenir (thread içinde otomatik yanıtlar) |
-| Zengin metin | ✅ Markdown Tlon biçimine dönüştürülür |
-| Görseller | ✅ Tlon depolamasına yüklenir |
-| Reaksiyonlar | ✅ [birlikte gelen skill](#bundled-skill) aracılığıyla |
-| Anketler | ❌ Henüz desteklenmiyor |
-| Yerel komutlar | ✅ Desteklenir (varsayılan olarak yalnızca sahip) |
+| Özellik | Durum |
+| --------------- | --------------------------------------- |
+| Doğrudan mesajlar | ✅ Desteklenir |
+| Gruplar/kanallar | ✅ Desteklenir (varsayılan olarak bahis gerektirir) |
+| İleti dizileri | ✅ Desteklenir (ileti dizisinde otomatik yanıtlar) |
+| Zengin metin | ✅ Markdown, Tlon biçimine dönüştürülür |
+| Görseller | ✅ Tlon depolamasına yüklenir |
+| Tepkiler | ✅ [Paketle birlikte gelen yetenek](#bundled-skill) aracılığıyla |
+| Anketler | ❌ Henüz desteklenmez |
+| Yerel komutlar | ✅ Desteklenir (varsayılan olarak yalnızca sahip) |
## Sorun giderme
-Önce şu sırayı çalıştırın:
+Önce bu merdiveni çalıştırın:
```bash
openclaw status
@@ -257,9 +261,9 @@ openclaw doctor
Yaygın hatalar:
- **DM'ler yok sayılıyor**: gönderen `dmAllowlist` içinde değil ve onay akışı için `ownerShip` yapılandırılmamış.
-- **Grup mesajları yok sayılıyor**: kanal keşfedilmemiş veya gönderen yetkili değil.
-- **Bağlantı hataları**: ship URL'sinin erişilebilir olduğunu kontrol edin; yerel ship'ler için `allowPrivateNetwork` etkinleştirin.
-- **Kimlik doğrulama hataları**: oturum açma kodunun güncel olduğunu doğrulayın (kodlar döndürülür).
+- **Grup mesajları yok sayılıyor**: kanal keşfedilmemiş veya gönderen yetkilendirilmemiş.
+- **Bağlantı hataları**: gemi URL'sinin erişilebilir olduğunu kontrol edin; yerel gemiler için `allowPrivateNetwork` etkinleştirin.
+- **Kimlik doğrulama hataları**: oturum açma kodunun güncel olduğunu doğrulayın (kodlar döner).
## Yapılandırma başvurusu
@@ -268,31 +272,32 @@ Tam yapılandırma: [Yapılandırma](/tr/gateway/configuration)
Sağlayıcı seçenekleri:
- `channels.tlon.enabled`: kanal başlatmayı etkinleştir/devre dışı bırak.
-- `channels.tlon.ship`: botun Urbit ship adı (ör. `~sampel-palnet`).
-- `channels.tlon.url`: ship URL'si (ör. `https://sampel-palnet.tlon.network`).
-- `channels.tlon.code`: ship oturum açma kodu.
-- `channels.tlon.allowPrivateNetwork`: localhost/LAN URL'lerine izin ver (SSRF atlatma).
-- `channels.tlon.ownerShip`: onay sistemi için sahip ship (her zaman yetkili).
-- `channels.tlon.dmAllowlist`: DM göndermesine izin verilen ship'ler (boş = hiçbiri).
-- `channels.tlon.autoAcceptDmInvites`: allowlist'teki ship'lerden gelen DM'leri otomatik kabul et.
-- `channels.tlon.autoAcceptGroupInvites`: tüm grup davetlerini otomatik kabul et.
+- `channels.tlon.ship`: botun Urbit gemi adı (örn. `~sampel-palnet`).
+- `channels.tlon.url`: gemi URL'si (örn. `https://sampel-palnet.tlon.network`).
+- `channels.tlon.code`: gemi oturum açma kodu.
+- `channels.tlon.allowPrivateNetwork`: localhost/LAN URL'lerine izin ver (SSRF atlaması).
+- `channels.tlon.ownerShip`: onay sistemi için sahip gemi (her zaman yetkilidir).
+- `channels.tlon.dmAllowlist`: DM göndermesine izin verilen gemiler (boş = hiçbiri).
+- `channels.tlon.autoAcceptDmInvites`: izin listesindeki gemilerden gelen DM'leri otomatik kabul et.
+- `channels.tlon.autoAcceptGroupInvites`: izin listesindeki gemilerden gelen grup davetlerini otomatik kabul et.
+- `channels.tlon.groupInviteAllowlist`: grup davetleri otomatik kabul edilebilecek gemiler.
- `channels.tlon.autoDiscoverChannels`: grup kanallarını otomatik keşfet (varsayılan: true).
- `channels.tlon.groupChannels`: elle sabitlenmiş kanal yuvaları.
-- `channels.tlon.defaultAuthorizedShips`: tüm kanallar için yetkili ship'ler.
+- `channels.tlon.defaultAuthorizedShips`: tüm kanallar için yetkilendirilmiş gemiler.
- `channels.tlon.authorization.channelRules`: kanal başına kimlik doğrulama kuralları.
- `channels.tlon.showModelSignature`: mesajlara model adını ekle.
## Notlar
-- Grup yanıtları, yanıt vermek için bir mention gerektirir (ör. `~your-bot-ship`).
-- Thread yanıtları: gelen mesaj bir thread içindeyse, OpenClaw thread içinde yanıtlar.
+- Grup yanıtları, yanıt vermek için bir bahis gerektirir (örn. `~your-bot-ship`).
+- İleti dizisi yanıtları: gelen mesaj bir ileti dizisindeyse OpenClaw ileti dizisi içinde yanıtlar.
- Zengin metin: Markdown biçimlendirmesi (kalın, italik, kod, başlıklar, listeler) Tlon'un yerel biçimine dönüştürülür.
- Görseller: URL'ler Tlon depolamasına yüklenir ve görsel blokları olarak gömülür.
## İlgili
- [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 mention kapısı
+- [Eşleme](/tr/channels/pairing) — DM kimlik doğrulaması ve eşleme akışı
+- [Gruplar](/tr/channels/groups) — grup sohbeti davranışı ve bahis kapısı
- [Kanal Yönlendirme](/tr/channels/channel-routing) — mesajlar için oturum yönlendirmesi
-- [Güvenlik](/tr/gateway/security) — erişim modeli ve sertleştirme
+- [Güvenlik](/tr/gateway/security) — erişim modeli ve sıkılaştırma
diff --git a/docs/tr/channels/troubleshooting.md b/docs/tr/channels/troubleshooting.md
index 9f17543d6..1e7a1f2fc 100644
--- a/docs/tr/channels/troubleshooting.md
+++ b/docs/tr/channels/troubleshooting.md
@@ -1,21 +1,21 @@
---
read_when:
- - Kanal taşıması bağlı olduğunu bildiriyor ancak yanıtlar başarısız oluyor
- - Ayrıntılı sağlayıcı belgelerine geçmeden önce kanala özgü denetimler gerekir
-summary: Kanal başına hata imzaları ve düzeltmelerle kanal düzeyinde hızlı sorun giderme
-title: Kanal sorunlarını giderme
+ - Kanal aktarımı bağlı görünüyor ancak yanıtlar başarısız oluyor
+ - Ayrıntılı sağlayıcı belgelerinden önce kanala özgü kontroller gerekir
+summary: Kanal bazında hata imzaları ve düzeltmeleriyle hızlı kanal düzeyinde sorun giderme
+title: Kanal sorun giderme
x-i18n:
- generated_at: "2026-04-30T09:09:32Z"
+ generated_at: "2026-05-04T02:22:28Z"
model: gpt-5.5
provider: openai
- source_hash: 6024f2ae0a058b2296758c237c912a5cd8ea6bbafea33cc201690cc081efcbee
+ source_hash: a3a0737156ae83897c44d18505e0355a5d8e5700106b984496d94874c270deb2
source_path: channels/troubleshooting.md
workflow: 16
---
-Bir kanal bağlandığında ama davranış yanlış olduğunda bu sayfayı kullanın.
+Bağlanan ancak davranışı yanlış olan kanallar için bu sayfayı kullanın.
-## Komut basamağı
+## Komut sırası
Önce bunları sırayla çalıştırın:
@@ -32,18 +32,18 @@ Sağlıklı temel durum:
- `Runtime: running`
- `Connectivity probe: ok`
- `Capability: read-only`, `write-capable` veya `admin-capable`
-- Kanal yoklaması, aktarımın bağlı olduğunu ve desteklenen yerlerde `works` veya `audit ok` gösterir
+- Kanal yoklaması taşımanın bağlı olduğunu ve desteklendiği yerlerde `works` veya `audit ok` gösterir
## WhatsApp
### WhatsApp hata imzaları
-| Belirti | En hızlı kontrol | Düzeltme |
-| ------------------------------- | ---------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
-| Bağlı ama DM yanıtı yok | `openclaw pairing list whatsapp` | Göndereni onaylayın veya DM ilkesini/izin listesini değiştirin. |
-| Grup mesajları yok sayılıyor | Yapılandırmada `requireMention` + mention kalıplarını kontrol edin | Botu mention edin veya o grup için mention ilkesini gevşetin. |
-| QR girişi 408 ile zaman aşımına uğruyor | Gateway `HTTPS_PROXY` / `HTTP_PROXY` env değerlerini kontrol edin | Erişilebilir bir proxy ayarlayın; `NO_PROXY` değerini yalnızca atlamalar için kullanın. |
-| Rastgele bağlantı kopma/yeniden giriş döngüleri | `openclaw channels status --probe` + günlükler | Son yeniden bağlantılar, şu anda bağlıyken bile işaretlenir; günlükleri izleyin, Gateway'i yeniden başlatın, sonra dalgalanma sürerse yeniden bağlayın. |
+| Belirti | En hızlı kontrol | Düzeltme |
+| ------------------------------- | ---------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- |
+| Bağlı ancak DM yanıtı yok | `openclaw pairing list whatsapp` | Göndereni onaylayın veya DM politikasını/izin listesini değiştirin. |
+| Grup iletileri yok sayılıyor | Yapılandırmada `requireMention` + mention desenlerini kontrol edin | Botu mention yapın veya o grup için mention politikasını gevşetin. |
+| QR oturum açma 408 ile zaman aşımına uğruyor | Gateway `HTTPS_PROXY` / `HTTP_PROXY` env değerlerini kontrol edin | Erişilebilir bir proxy ayarlayın; `NO_PROXY` değerini yalnızca atlamalar için kullanın. |
+| Rastgele bağlantı kesilme/yeniden oturum açma döngüleri | `openclaw channels status --probe` + günlükler | Şu anda bağlı olunsa bile yakın tarihli yeniden bağlanmalar işaretlenir; günlükleri izleyin, Gateway'i yeniden başlatın, dalgalanma sürerse yeniden bağlayın. |
Tam sorun giderme: [WhatsApp sorun giderme](/tr/channels/whatsapp#troubleshooting)
@@ -51,15 +51,15 @@ Tam sorun giderme: [WhatsApp sorun giderme](/tr/channels/whatsapp#troubleshootin
### Telegram hata imzaları
-| Belirti | En hızlı kontrol | Düzeltme |
-| ------------------------------------ | ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
-| `/start` var ama kullanılabilir yanıt akışı yok | `openclaw pairing list telegram` | Eşleştirmeyi onaylayın veya DM ilkesini değiştirin. |
-| Bot çevrimiçi ama grup sessiz kalıyor | Mention gereksinimini ve bot gizlilik modunu doğrulayın | Grup görünürlüğü için gizlilik modunu devre dışı bırakın veya botu mention edin. |
-| Ağ hatalarıyla gönderim başarısızlıkları | Telegram API çağrı hataları için günlükleri inceleyin | `api.telegram.org` için DNS/IPv6/proxy yönlendirmesini düzeltin. |
-| Başlatma `getMe returned 401` bildiriyor | Yapılandırılmış token kaynağını kontrol edin | BotFather token'ını yeniden kopyalayın veya yeniden oluşturun ve `botToken`, `tokenFile` veya varsayılan hesap `TELEGRAM_BOT_TOKEN` değerini güncelleyin. |
-| Polling duruyor veya yavaş yeniden bağlanıyor | Polling tanıları için `openclaw logs --follow` | Yükseltin; yeniden başlatmalar yanlış pozitifse `pollingStallThresholdMs` değerini ayarlayın. Kalıcı durmalar hâlâ proxy/DNS/IPv6 sorununa işaret eder. |
-| `setMyCommands` başlatmada reddediliyor | Günlüklerde `BOT_COMMANDS_TOO_MUCH` arayın | Plugin/skill/özel Telegram komutlarını azaltın veya yerel menüleri devre dışı bırakın. |
-| Yükseltmeden sonra izin listesi sizi engelliyor | `openclaw security audit` ve yapılandırma izin listeleri | `openclaw doctor --fix` çalıştırın veya `@username` yerine sayısal gönderen kimlikleri kullanın. |
+| Belirti | En hızlı kontrol | Düzeltme |
+| ------------------------------------ | --------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------- |
+| `/start` var ancak kullanılabilir yanıt akışı yok | `openclaw pairing list telegram` | Eşleştirmeyi onaylayın veya DM politikasını değiştirin. |
+| Bot çevrimiçi ancak grup sessiz kalıyor | Mention gereksinimini ve bot gizlilik modunu doğrulayın | Grup görünürlüğü için gizlilik modunu devre dışı bırakın veya botu mention yapın. |
+| Ağ hatalarıyla gönderme başarısızlıkları | Telegram API çağrısı hataları için günlükleri inceleyin | `api.telegram.org` için DNS/IPv6/proxy yönlendirmesini düzeltin. |
+| Başlangıç `getMe returned 401` bildiriyor | Yapılandırılmış token kaynağını kontrol edin | BotFather token'ını yeniden kopyalayın veya yeniden oluşturun ve `botToken`, `tokenFile` ya da varsayılan hesap `TELEGRAM_BOT_TOKEN` değerini güncelleyin. |
+| Polling duruyor veya yavaş yeniden bağlanıyor | Polling tanılamaları için `openclaw logs --follow` | Yükseltin; yeniden başlatmalar yanlış pozitifse `pollingStallThresholdMs` değerini ayarlayın. Kalıcı duraklamalar yine proxy/DNS/IPv6 sorununa işaret eder. |
+| Başlangıçta `setMyCommands` reddedildi | Günlüklerde `BOT_COMMANDS_TOO_MUCH` arayın | Plugin/skill/özel Telegram komutlarını azaltın veya yerel menüleri devre dışı bırakın. |
+| Yükseltme sonrası izin listesi sizi engelliyor | `openclaw security audit` ve yapılandırma izin listeleri | `openclaw doctor --fix` çalıştırın veya `@username` yerine sayısal gönderen kimlikleri kullanın. |
Tam sorun giderme: [Telegram sorun giderme](/tr/channels/telegram#troubleshooting)
@@ -67,11 +67,12 @@ Tam sorun giderme: [Telegram sorun giderme](/tr/channels/telegram#troubleshootin
### Discord hata imzaları
-| Belirti | En hızlı kontrol | Düzeltme |
-| ------------------------------- | ------------------------------------- | ---------------------------------------------------------- |
-| Bot çevrimiçi ama loncada yanıt yok | `openclaw channels status --probe` | Lonca/kanala izin verin ve mesaj içeriği niyetini doğrulayın. |
-| Grup mesajları yok sayılıyor | Mention kapısı düşüşleri için günlükleri kontrol edin | Botu mention edin veya lonca/kanal `requireMention: false` ayarlayın. |
-| DM yanıtları eksik | `openclaw pairing list discord` | DM eşleştirmesini onaylayın veya DM ilkesini ayarlayın. |
+| Belirti | En hızlı kontrol | Düzeltme |
+| ----------------------------------------- | ------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Bot çevrimiçi ancak guild yanıtı yok | `openclaw channels status --probe` | Guild/kanala izin verin ve ileti içeriği intent ayarını doğrulayın. |
+| Grup iletileri yok sayılıyor | Mention geçidi düşürmeleri için günlükleri kontrol edin | Botu mention yapın veya guild/kanal `requireMention: false` ayarlayın. |
+| Yazıyor/token kullanımı var ancak Discord iletisi yok | Oturum günlüğü asistan metnini `didSendViaMessagingTool: false` ile gösteriyor | Model, ileti aracını çağırmak yerine özel olarak yanıtladı. Araç çağrısı güvenilir bir model kullanın veya otomatik gönderim için `messages.groupChat.visibleReplies: "automatic"` ayarlayın. |
+| DM yanıtları eksik | `openclaw pairing list discord` | DM eşleştirmesini onaylayın veya DM politikasını ayarlayın. |
Tam sorun giderme: [Discord sorun giderme](/tr/channels/discord#troubleshooting)
@@ -79,11 +80,11 @@ Tam sorun giderme: [Discord sorun giderme](/tr/channels/discord#troubleshooting)
### Slack hata imzaları
-| Belirti | En hızlı kontrol | Düzeltme |
-| -------------------------------------- | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Socket mode bağlı ama yanıt yok | `openclaw channels status --probe` | App token + bot token ve gerekli kapsamları doğrulayın; SecretRef destekli kurulumlarda `botTokenStatus` / `appTokenStatus = configured_unavailable` için izleyin. |
-| DM'ler engellenmiş | `openclaw pairing list slack` | Eşleştirmeyi onaylayın veya DM ilkesini gevşetin. |
-| Kanal mesajı yok sayılıyor | `groupPolicy` ve kanal izin listesini kontrol edin | Kanala izin verin veya ilkeyi `open` olarak değiştirin. |
+| Belirti | En hızlı kontrol | Düzeltme |
+| -------------------------------------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Socket mode bağlı ancak yanıt yok | `openclaw channels status --probe` | Uygulama token'ı + bot token'ını ve gerekli kapsamları doğrulayın; SecretRef destekli kurulumlarda `botTokenStatus` / `appTokenStatus = configured_unavailable` için izleyin. |
+| DM'ler engellendi | `openclaw pairing list slack` | Eşleştirmeyi onaylayın veya DM politikasını gevşetin. |
+| Kanal iletisi yok sayıldı | `groupPolicy` ve kanal izin listesini kontrol edin | Kanala izin verin veya politikayı `open` olarak değiştirin. |
Tam sorun giderme: [Slack sorun giderme](/tr/channels/slack#troubleshooting)
@@ -91,11 +92,11 @@ Tam sorun giderme: [Slack sorun giderme](/tr/channels/slack#troubleshooting)
### iMessage ve BlueBubbles hata imzaları
-| Belirti | En hızlı kontrol | Düzeltme |
-| -------------------------------- | --------------------------------------------------------------------- | ------------------------------------------------------- |
-| Gelen olay yok | Webhook/sunucu erişilebilirliğini ve uygulama izinlerini doğrulayın | Webhook URL'sini veya BlueBubbles sunucu durumunu düzeltin. |
-| macOS'ta gönderebiliyor ama alamıyor | Messages otomasyonu için macOS gizlilik izinlerini kontrol edin | TCC izinlerini yeniden verin ve kanal sürecini yeniden başlatın. |
-| DM gönderen engellenmiş | `openclaw pairing list imessage` veya `openclaw pairing list bluebubbles` | Eşleştirmeyi onaylayın veya izin listesini güncelleyin. |
+| Belirti | En hızlı kontrol | Düzeltme |
+| -------------------------------- | -------------------------------------------------------------------------- | ------------------------------------------------------- |
+| Gelen olay yok | Webhook/sunucu erişilebilirliğini ve uygulama izinlerini doğrulayın | Webhook URL'sini veya BlueBubbles sunucu durumunu düzeltin. |
+| macOS'ta gönderebiliyor ancak alamıyor | Messages otomasyonu için macOS gizlilik izinlerini kontrol edin | TCC izinlerini yeniden verin ve kanal sürecini yeniden başlatın. |
+| DM göndereni engellendi | `openclaw pairing list imessage` veya `openclaw pairing list bluebubbles` | Eşleştirmeyi onaylayın veya izin listesini güncelleyin. |
Tam sorun giderme:
@@ -106,11 +107,11 @@ Tam sorun giderme:
### Signal hata imzaları
-| Belirti | En hızlı kontrol | Düzeltme |
-| ------------------------------- | ------------------------------------------- | --------------------------------------------------------- |
-| Daemon erişilebilir ama bot sessiz | `openclaw channels status --probe` | `signal-cli` daemon URL/hesabını ve alma modunu doğrulayın. |
-| DM engellenmiş | `openclaw pairing list signal` | Göndereni onaylayın veya DM ilkesini ayarlayın. |
-| Grup yanıtları tetiklenmiyor | Grup izin listesini ve mention kalıplarını kontrol edin | Gönderen/grup ekleyin veya kapıyı gevşetin. |
+| Belirti | En hızlı kontrol | Düzeltme |
+| ------------------------------- | --------------------------------------------- | ------------------------------------------------------------- |
+| Daemon erişilebilir ancak bot sessiz | `openclaw channels status --probe` | `signal-cli` daemon URL/hesabını ve alma modunu doğrulayın. |
+| DM engellendi | `openclaw pairing list signal` | Göndereni onaylayın veya DM politikasını ayarlayın. |
+| Grup yanıtları tetiklenmiyor | Grup izin listesini ve mention desenlerini kontrol edin | Gönderen/grup ekleyin veya geçidi gevşetin. |
Tam sorun giderme: [Signal sorun giderme](/tr/channels/signal#troubleshooting)
@@ -118,12 +119,12 @@ Tam sorun giderme: [Signal sorun giderme](/tr/channels/signal#troubleshooting)
### QQ Bot hata imzaları
-| Belirti | En hızlı kontrol | Düzeltme |
-| ------------------------------- | ------------------------------------------- | -------------------------------------------------------------- |
-| Bot "gone to Mars" yanıtı veriyor | Yapılandırmada `appId` ve `clientSecret` değerlerini doğrulayın | Kimlik bilgilerini ayarlayın veya Gateway'i yeniden başlatın. |
-| Gelen mesaj yok | `openclaw channels status --probe` | QQ Open Platform üzerinde kimlik bilgilerini doğrulayın. |
-| Ses yazıya dökülmüyor | STT sağlayıcı yapılandırmasını kontrol edin | `channels.qqbot.stt` veya `tools.media.audio` yapılandırın. |
-| Proaktif mesajlar ulaşmıyor | QQ platform etkileşim gereksinimlerini kontrol edin | QQ, yakın zamanda etkileşim olmadan bot tarafından başlatılan mesajları engelleyebilir. |
+| Belirti | En hızlı kontrol | Düzeltme |
+| ------------------------------- | ---------------------------------------------- | -------------------------------------------------------------------- |
+| Bot "Mars'a gitti" diye yanıtlıyor | Yapılandırmada `appId` ve `clientSecret` değerlerini doğrulayın | Kimlik bilgilerini ayarlayın veya Gateway'i yeniden başlatın. |
+| Gelen ileti yok | `openclaw channels status --probe` | QQ Open Platform üzerinde kimlik bilgilerini doğrulayın. |
+| Ses metne dökülmedi | STT sağlayıcı yapılandırmasını kontrol edin | `channels.qqbot.stt` veya `tools.media.audio` yapılandırın. |
+| Proaktif iletiler ulaşmıyor | QQ platform etkileşim gereksinimlerini kontrol edin | QQ, yakın tarihli etkileşim olmadan bot tarafından başlatılan iletileri engelleyebilir. |
Tam sorun giderme: [QQ Bot sorun giderme](/tr/channels/qqbot#troubleshooting)
@@ -131,13 +132,13 @@ Tam sorun giderme: [QQ Bot sorun giderme](/tr/channels/qqbot#troubleshooting)
### Matrix hata imzaları
-| Belirti | En hızlı kontrol | Düzeltme |
-| ----------------------------------- | --------------------------------------- | -------------------------------------------------------------------------- |
-| Giriş yapılmış ama oda mesajlarını yok sayıyor | `openclaw channels status --probe` | `groupPolicy`, oda izin listesi ve mention kapısını kontrol edin. |
-| DM'ler işlenmiyor | `openclaw pairing list matrix` | Göndereni onaylayın veya DM ilkesini ayarlayın. |
-| Şifreli odalar başarısız oluyor | `openclaw matrix verify status` | Cihazı yeniden doğrulayın, ardından `openclaw matrix verify backup status` kontrol edin. |
-| Yedek geri yükleme beklemede/bozuk | `openclaw matrix verify backup status` | `openclaw matrix verify backup restore` çalıştırın veya bir kurtarma anahtarıyla yeniden çalıştırın. |
-| Çapraz imzalama/bootstrap yanlış görünüyor | `openclaw matrix verify bootstrap` | Gizli depolamayı, çapraz imzalamayı ve yedek durumunu tek geçişte onarın. |
+| Belirti | En hızlı kontrol | Düzeltme |
+| ----------------------------------- | ----------------------------------------- | --------------------------------------------------------------------------- |
+| Oturum açıldı ancak oda iletilerini yok sayıyor | `openclaw channels status --probe` | `groupPolicy`, oda izin listesi ve mention geçidini kontrol edin. |
+| DM'ler işlenmiyor | `openclaw pairing list matrix` | Göndereni onaylayın veya DM politikasını ayarlayın. |
+| Şifreli odalar başarısız oluyor | `openclaw matrix verify status` | Cihazı yeniden doğrulayın, ardından `openclaw matrix verify backup status` kontrol edin. |
+| Yedek geri yükleme beklemede/bozuk | `openclaw matrix verify backup status` | `openclaw matrix verify backup restore` çalıştırın veya bir kurtarma anahtarıyla yeniden çalıştırın. |
+| Cross-signing/bootstrap yanlış görünüyor | `openclaw matrix verify bootstrap` | Gizli depolamayı, cross-signing'i ve yedek durumunu tek geçişte onarın. |
Tam kurulum ve yapılandırma: [Matrix](/tr/channels/matrix)
diff --git a/docs/tr/cli/doctor.md b/docs/tr/cli/doctor.md
index bc16be440..47fb3fa6b 100644
--- a/docs/tr/cli/doctor.md
+++ b/docs/tr/cli/doctor.md
@@ -1,25 +1,25 @@
---
read_when:
- - Bağlantı/kimlik doğrulama sorunlarınız var ve yönlendirmeli düzeltmeler istiyorsunuz
- - Güncelleme yaptınız ve bir sağlama kontrolü istiyorsunuz
-summary: '`openclaw doctor` için CLI referansı (sağlık kontrolleri + rehberli onarımlar)'
+ - Bağlantı/kimlik doğrulama sorunlarınız var ve rehberli düzeltmeler istiyorsunuz
+ - Güncelleme yaptınız ve temel bir kontrol istiyorsunuz
+summary: 'CLI referansı: `openclaw doctor` (sağlık kontrolleri + rehberli onarımlar)'
title: Doktor
x-i18n:
- generated_at: "2026-05-03T21:28:44Z"
+ generated_at: "2026-05-04T02:22:29Z"
model: gpt-5.5
provider: openai
- source_hash: d4baab5b0cd4d046d12ae5bd14ccf05224115856d45e630a57e77a2be15e5db0
+ source_hash: cd7fb09d373c313e4be45ad9e3b19ceb187a5787ef3e70fcd2b1f1f01b50c905
source_path: cli/doctor.md
workflow: 16
---
# `openclaw doctor`
-Gateway ve kanallar için sağlık denetimleri + hızlı düzeltmeler.
+Gateway ve kanallar için sağlık kontrolleri + hızlı düzeltmeler.
İlgili:
-- Sorun giderme: [Sorun giderme](/tr/gateway/troubleshooting)
+- Sorun giderme: [Sorun Giderme](/tr/gateway/troubleshooting)
- Güvenlik denetimi: [Güvenlik](/tr/gateway/security)
## Örnekler
@@ -36,43 +36,43 @@ openclaw doctor --generate-gateway-token
- `--no-workspace-suggestions`: çalışma alanı belleği/arama önerilerini devre dışı bırak
- `--yes`: sormadan varsayılanları kabul et
-- `--repair`: önerilen servis dışı onarımları sormadan uygula; gateway servisi kurulumları ve yeniden yazmaları yine etkileşimli onay veya açık gateway komutları gerektirir
+- `--repair`: sormadan önerilen hizmet dışı onarımları uygula; Gateway hizmeti kurulumları ve yeniden yazmaları hâlâ etkileşimli onay veya açık Gateway komutları gerektirir
- `--fix`: `--repair` için takma ad
-- `--force`: gerektiğinde özel servis yapılandırmasının üzerine yazmak dahil, agresif onarımları uygula
-- `--non-interactive`: istemler olmadan çalıştır; yalnızca güvenli geçişler ve servis dışı onarımlar
-- `--generate-gateway-token`: bir gateway token'ı oluştur ve yapılandır
-- `--deep`: ek gateway kurulumları için sistem servislerini tara
+- `--force`: gerektiğinde özel hizmet yapılandırmasının üzerine yazma dahil, agresif onarımları uygula
+- `--non-interactive`: istemler olmadan çalıştır; yalnızca güvenli geçişler ve hizmet dışı onarımlar
+- `--generate-gateway-token`: bir Gateway belirteci oluştur ve yapılandır
+- `--deep`: ek Gateway kurulumları için sistem hizmetlerini tara
Notlar:
-- Etkileşimli istemler (keychain/OAuth düzeltmeleri gibi) yalnızca stdin bir TTY olduğunda ve `--non-interactive` **ayarlı olmadığında** çalışır. Başsız çalıştırmalar (cron, Telegram, terminal yok) istemleri atlar.
-- Performans: etkileşimsiz `doctor` çalıştırmaları, başsız sağlık denetimlerinin hızlı kalması için istekli Plugin yüklemeyi atlar. Etkileşimli oturumlar, bir denetim katkılarına ihtiyaç duyduğunda Plugin'leri hâlâ tamamen yükler.
-- `--fix` (`--repair` için takma ad), `~/.openclaw/openclaw.json.bak` konumuna bir yedek yazar ve bilinmeyen yapılandırma anahtarlarını bırakarak her kaldırmayı listeler.
-- `doctor --fix --non-interactive`, eksik veya eski gateway servisi tanımlarını raporlar ancak güncelleme onarım modu dışında bunları kurmaz veya yeniden yazmaz. Eksik bir servis için `openclaw gateway install` komutunu ya da başlatıcıyı bilinçli olarak değiştirmek istediğinizde `openclaw gateway install --force` komutunu çalıştırın.
-- Durum bütünlüğü denetimleri artık oturumlar dizinindeki sahipsiz transcript dosyalarını algılar. Bunları `.deleted.` olarak arşivlemek etkileşimli onay gerektirir; `--fix`, `--yes` ve başsız çalıştırmalar bunları yerinde bırakır.
-- Doctor ayrıca eski cron işi şekilleri için `~/.openclaw/cron/jobs.json` (veya `cron.store`) dosyasını tarar ve zamanlayıcının çalışma zamanında otomatik normalleştirme yapmak zorunda kalmasından önce bunları yerinde yeniden yazabilir.
-- Linux'ta doctor, kullanıcının crontab'ı hâlâ eski `~/.openclaw/bin/ensure-whatsapp.sh` komutunu çalıştırıyorsa uyarır; bu betik artık bakımı yapılmıyor ve cron systemd kullanıcı veri yolu ortamından yoksun olduğunda yanlış WhatsApp gateway kesintileri günlüğe kaydedebilir.
-- Doctor, eski OpenClaw sürümleri tarafından oluşturulan eski Plugin bağımlılık hazırlama durumunu temizler. Ayrıca kayıt defteri bunları çözebildiğinde eksik yapılandırılmış indirilebilir Plugin'leri onarır ve 2026.5.2 doctor geçişi, yapılandırmayı o sürüm için dokunulmuş olarak işaretlemeden önce eski bir yapılandırmanın zaten kullandığı indirilebilir Plugin'leri otomatik olarak kurar.
-- Doctor, Plugin keşfi sağlıklı olduğunda eksik Plugin kimliklerini `plugins.allow`/`plugins.entries` içinden, ayrıca eşleşen sarkan kanal yapılandırmasını, heartbeat hedeflerini ve kanal model geçersiz kılmalarını kaldırarak eski Plugin yapılandırmasını onarır.
-- Doctor, etkilenen `plugins.entries.` girdisini devre dışı bırakarak ve geçersiz `config` yükünü kaldırarak geçersiz Plugin yapılandırmasını karantinaya alır. Gateway başlangıcı zaten yalnızca bu bozuk Plugin'i atlar, böylece diğer Plugin'ler ve kanallar çalışmaya devam edebilir.
-- Başka bir gözetmen gateway yaşam döngüsüne sahipse `OPENCLAW_SERVICE_REPAIR_POLICY=external` ayarlayın. Doctor yine gateway/servis sağlığını raporlar ve servis dışı onarımları uygular, ancak servis kurma/başlatma/yeniden başlatma/bootstrap ve eski servis temizliğini atlar.
-- Linux'ta doctor etkin olmayan ek gateway benzeri systemd birimlerini yok sayar ve onarım sırasında çalışan bir systemd gateway servisi için komut/giriş noktası meta verilerini yeniden yazmaz. Etkin başlatıcıyı bilinçli olarak değiştirmek istediğinizde önce servisi durdurun veya `openclaw gateway install --force` kullanın.
-- Doctor, eski düz Talk yapılandırmasını (`talk.voiceId`, `talk.modelId` ve benzerleri) otomatik olarak `talk.provider` + `talk.providers.` yapısına geçirir.
-- Tek fark nesne anahtarı sırası olduğunda, tekrarlanan `doctor --fix` çalıştırmaları artık Talk normalleştirmesini raporlamaz/uygulamaz.
-- Doctor, bir bellek arama hazır olma denetimi içerir ve embedding kimlik bilgileri eksik olduğunda `openclaw configure --section model` önerebilir.
-- Doctor, hiçbir komut sahibi yapılandırılmadığında uyarır. Komut sahibi, yalnızca sahibin çalıştırabileceği komutları çalıştırmasına ve tehlikeli eylemleri onaylamasına izin verilen insan operatör hesabıdır. DM eşleştirme yalnızca birinin botla konuşmasına izin verir; ilk sahip bootstrap'ı var olmadan önce bir göndericiyi onayladıysanız `commands.ownerAllowFrom` değerini açıkça ayarlayın.
-- Doctor, Codex modu ajanlar yapılandırıldığında ve operatörün Codex ana dizininde kişisel Codex CLI varlıkları bulunduğunda uyarır. Yerel Codex uygulama sunucusu başlatmaları, ajan başına yalıtılmış ana dizinler kullanır; bu nedenle bilinçli olarak yükseltilmesi gereken varlıkları envanterlemek için `openclaw migrate codex --dry-run` kullanın.
-- Doctor, varsayılan ajan için izin verilen Skills'lerin geçerli çalışma zamanı ortamında bin'ler, env var'lar, yapılandırma veya OS gereksinimleri eksik olduğu için kullanılamadığında uyarır. `doctor --fix`, bu kullanılamayan Skills'leri `skills.entries..enabled=false` ile devre dışı bırakabilir; skill'i etkin tutmak istediğinizde bunun yerine eksik gereksinimi kurun/yapılandırın.
-- Sandbox modu etkinse ancak Docker kullanılamıyorsa doctor, düzeltme önerisiyle (`install Docker` veya `openclaw config set agents.defaults.sandbox.mode off`) yüksek sinyalli bir uyarı bildirir.
-- Eski sandbox kayıt defteri dosyaları (`~/.openclaw/sandbox/containers.json` veya `~/.openclaw/sandbox/browsers.json`) mevcutsa doctor bunları raporlar; `openclaw doctor --fix`, geçerli girdileri parçalanmış kayıt defteri dizinlerine geçirir ve geçersiz eski dosyaları karantinaya alır.
-- `gateway.auth.token`/`gateway.auth.password` SecretRef tarafından yönetiliyorsa ve geçerli komut yolunda kullanılamıyorsa doctor salt okunur bir uyarı raporlar ve düz metin yedek kimlik bilgileri yazmaz.
-- Bir düzeltme yolunda kanal SecretRef denetimi başarısız olursa doctor erken çıkmak yerine devam eder ve bir uyarı raporlar.
-- Durum dizini geçişlerinden sonra doctor, etkin varsayılan Telegram veya Discord hesapları env yedeğine bağlıysa ve `TELEGRAM_BOT_TOKEN` veya `DISCORD_BOT_TOKEN` doctor işlemine açık değilse uyarır.
-- Telegram `allowFrom` kullanıcı adı otomatik çözümlemesi (`doctor --fix`), geçerli komut yolunda çözümlenebilir bir Telegram token'ı gerektirir. Token denetimi kullanılamıyorsa doctor bir uyarı raporlar ve o geçiş için otomatik çözümlemeyi atlar.
+- Etkileşimli istemler (anahtar zinciri/OAuth düzeltmeleri gibi) yalnızca stdin bir TTY olduğunda ve `--non-interactive` **ayarlanmamışsa** çalışır. Başsız çalıştırmalar (Cron, Telegram, terminal yok) istemleri atlar.
+- Performans: etkileşimsiz `doctor` çalıştırmaları, başsız sağlık kontrollerinin hızlı kalması için hevesli Plugin yüklemeyi atlar. Etkileşimli oturumlar, bir kontrol katkılarına ihtiyaç duyduğunda Plugin'leri yine tamamen yükler.
+- `--fix` (`--repair` için takma ad), `~/.openclaw/openclaw.json.bak` konumuna bir yedek yazar ve bilinmeyen yapılandırma anahtarlarını kaldırarak her kaldırmayı listeler.
+- `doctor --fix --non-interactive`, eksik veya eski Gateway hizmet tanımlarını bildirir ancak güncelleme onarım modu dışında bunları kurmaz veya yeniden yazmaz. Eksik bir hizmet için `openclaw gateway install` çalıştırın veya başlatıcıyı bilinçli olarak değiştirmek istediğinizde `openclaw gateway install --force` kullanın.
+- Durum bütünlüğü kontrolleri artık oturumlar dizinindeki sahipsiz transkript dosyalarını algılar. Bunları `.deleted.` olarak arşivlemek etkileşimli onay gerektirir; `--fix`, `--yes` ve başsız çalıştırmalar bunları yerinde bırakır.
+- Doctor ayrıca eski Cron işi biçimleri için `~/.openclaw/cron/jobs.json` (veya `cron.store`) dosyasını tarar ve zamanlayıcının çalışma zamanında bunları otomatik normalleştirmesi gerekmeden önce yerinde yeniden yazabilir.
+- Linux'ta doctor, kullanıcının crontab'ı hâlâ eski `~/.openclaw/bin/ensure-whatsapp.sh` betiğini çalıştırdığında uyarır; bu betiğin bakımı artık yapılmıyor ve Cron systemd kullanıcı veri yolu ortamından yoksun olduğunda hatalı WhatsApp Gateway kesinti kayıtları oluşturabilir.
+- Doctor, eski OpenClaw sürümleri tarafından oluşturulan eski Plugin bağımlılığı hazırlama durumunu temizler. Ayrıca kayıt defteri bunları çözümleyebildiğinde eksik yapılandırılmış indirilebilir Plugin'leri onarır ve 2026.5.2 doctor geçişi, yapılandırmayı bu sürüm için dokunulmuş olarak işaretlemeden önce eski bir yapılandırmanın zaten kullandığı indirilebilir Plugin'leri otomatik olarak kurar. İndirme başarısız olursa doctor kurulum hatasını bildirir ve yapılandırılmış Plugin girdisini bir sonraki onarım denemesi için korur.
+- Doctor, Plugin keşfi sağlıklı olduğunda eksik Plugin kimliklerini `plugins.allow`/`plugins.entries` içinden, ayrıca eşleşen sarkan kanal yapılandırmasını, Heartbeat hedeflerini ve kanal modeli geçersiz kılmalarını kaldırarak eski Plugin yapılandırmasını onarır.
+- Doctor, etkilenen `plugins.entries.` girdisini devre dışı bırakarak ve geçersiz `config` yükünü kaldırarak geçersiz Plugin yapılandırmasını karantinaya alır. Gateway başlatması zaten yalnızca o bozuk Plugin'i atlar, böylece diğer Plugin'ler ve kanallar çalışmaya devam edebilir.
+- Gateway yaşam döngüsüne başka bir gözetmen sahip olduğunda `OPENCLAW_SERVICE_REPAIR_POLICY=external` ayarlayın. Doctor yine Gateway/hizmet sağlığını bildirir ve hizmet dışı onarımları uygular, ancak hizmet kurulumunu/başlatmayı/yeniden başlatmayı/bootstrap'u ve eski hizmet temizliğini atlar.
+- Linux'ta doctor, etkin olmayan ek Gateway benzeri systemd birimlerini yok sayar ve onarım sırasında çalışan bir systemd Gateway hizmeti için komut/giriş noktası meta verilerini yeniden yazmaz. Etkin başlatıcıyı bilinçli olarak değiştirmek istediğinizde önce hizmeti durdurun veya `openclaw gateway install --force` kullanın.
+- Doctor, eski düz Talk yapılandırmasını (`talk.voiceId`, `talk.modelId` ve benzerleri) otomatik olarak `talk.provider` + `talk.providers.` içine geçirir.
+- Yinelenen `doctor --fix` çalıştırmaları, tek fark nesne anahtarı sırası olduğunda artık Talk normalleştirmesini bildirmez/uygulamaz.
+- Doctor bir bellek araması hazırlık kontrolü içerir ve gömme kimlik bilgileri eksik olduğunda `openclaw configure --section model` önerebilir.
+- Doctor, hiçbir komut sahibi yapılandırılmadığında uyarır. Komut sahibi, yalnızca sahibin çalıştırabildiği komutları çalıştırmasına ve tehlikeli eylemleri onaylamasına izin verilen insan operatör hesabıdır. DM eşleştirmesi yalnızca birinin botla konuşmasına izin verir; ilk sahip bootstrap'i var olmadan önce bir göndericiyi onayladıysanız `commands.ownerAllowFrom` değerini açıkça ayarlayın.
+- Doctor, Codex modu aracıları yapılandırıldığında ve operatörün Codex ana dizininde kişisel Codex CLI varlıkları bulunduğunda uyarır. Yerel Codex uygulama sunucusu başlatmaları izole edilmiş aracı başına ana dizinler kullanır; bu nedenle bilinçli olarak yükseltilmesi gereken varlıkların envanterini çıkarmak için `openclaw migrate codex --dry-run` kullanın.
+- Doctor, varsayılan aracı için izin verilen Skills mevcut çalışma zamanı ortamında kullanılamadığında uyarır; bunun nedeni bin'lerin, ortam değişkenlerinin, yapılandırmanın veya işletim sistemi gereksinimlerinin eksik olmasıdır. `doctor --fix`, kullanılamayan bu Skills'i `skills.entries..enabled=false` ile devre dışı bırakabilir; beceriyi etkin tutmak istediğinizde bunun yerine eksik gereksinimi kurun/yapılandırın.
+- Korumalı alan modu etkinse ancak Docker kullanılamıyorsa doctor, çözümle birlikte yüksek sinyalli bir uyarı bildirir (`Docker'ı kurun` veya `openclaw config set agents.defaults.sandbox.mode off`).
+- Eski korumalı alan kayıt defteri dosyaları (`~/.openclaw/sandbox/containers.json` veya `~/.openclaw/sandbox/browsers.json`) varsa doctor bunları bildirir; `openclaw doctor --fix` geçerli girdileri parçalı kayıt defteri dizinlerine geçirir ve geçersiz eski dosyaları karantinaya alır.
+- `gateway.auth.token`/`gateway.auth.password` SecretRef tarafından yönetiliyorsa ve mevcut komut yolunda kullanılamıyorsa doctor salt okunur bir uyarı bildirir ve düz metin yedek kimlik bilgileri yazmaz.
+- Kanal SecretRef denetimi bir düzeltme yolunda başarısız olursa doctor erken çıkmak yerine devam eder ve bir uyarı bildirir.
+- Durum dizini geçişlerinden sonra doctor, etkin varsayılan Telegram veya Discord hesapları ortam yedeğine bağlıysa ve `TELEGRAM_BOT_TOKEN` veya `DISCORD_BOT_TOKEN` doctor süreci tarafından kullanılamıyorsa uyarır.
+- Telegram `allowFrom` kullanıcı adı otomatik çözümlemesi (`doctor --fix`), mevcut komut yolunda çözümlenebilir bir Telegram belirteci gerektirir. Belirteç denetimi kullanılamıyorsa doctor bir uyarı bildirir ve o geçiş için otomatik çözümlemeyi atlar.
-## macOS: `launchctl` env geçersiz kılmaları
+## macOS: `launchctl` ortam geçersiz kılmaları
-Daha önce `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (veya `...PASSWORD`) çalıştırdıysanız, bu değer yapılandırma dosyanızı geçersiz kılar ve kalıcı “yetkisiz” hatalara neden olabilir.
+Daha önce `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (veya `...PASSWORD`) çalıştırdıysanız, bu değer yapılandırma dosyanızı geçersiz kılar ve kalıcı “yetkisiz” hatalarına neden olabilir.
```bash
launchctl getenv OPENCLAW_GATEWAY_TOKEN
diff --git a/docs/tr/concepts/agent.md b/docs/tr/concepts/agent.md
index 8cc68efcf..fda28f4b4 100644
--- a/docs/tr/concepts/agent.md
+++ b/docs/tr/concepts/agent.md
@@ -4,46 +4,46 @@ read_when:
summary: Ajan çalışma zamanı, çalışma alanı sözleşmesi ve oturum önyüklemesi
title: Ajan çalışma zamanı
x-i18n:
- generated_at: "2026-04-30T09:15:06Z"
+ generated_at: "2026-05-04T02:22:25Z"
model: gpt-5.5
provider: openai
- source_hash: f4d65ee96cece296251d7d3a0512f12d2dfa900db0e5ffc0f37dcddae7ea55ad
+ source_hash: 89bbbd05a9bf2054d3a1f24aeed005a05b61152a047b593addfb46817baae05a
source_path: concepts/agent.md
workflow: 16
---
-OpenClaw, **tek bir gömülü ajan çalışma zamanı** çalıştırır — her Gateway için bir ajan süreci; kendi çalışma alanı, önyükleme dosyaları ve oturum deposu vardır. Bu sayfa bu çalışma zamanı sözleşmesini kapsar: çalışma alanının neleri içermesi gerektiğini, hangi dosyaların enjekte edildiğini ve oturumların buna göre nasıl önyüklendiğini.
+OpenClaw, **tek bir gömülü ajan çalışma zamanı** çalıştırır: Gateway başına bir ajan süreci; kendi çalışma alanı, başlangıç dosyaları ve oturum deposu vardır. Bu sayfa, çalışma zamanının sözleşmesini kapsar: çalışma alanında nelerin bulunması gerektiği, hangi dosyaların enjekte edildiği ve oturumların buna karşı nasıl başlatıldığı.
-## Çalışma alanı (zorunlu)
+## Çalışma alanı (gerekli)
-OpenClaw, araçlar ve bağlam için ajanın **tek** çalışma dizini (`cwd`) olarak tek bir ajan çalışma alanı dizini (`agents.defaults.workspace`) kullanır.
+OpenClaw, tek bir ajan çalışma alanı dizinini (`agents.defaults.workspace`) araçlar ve bağlam için ajanın **tek** çalışma dizini (`cwd`) olarak kullanır.
-Önerilen: Eksikse `~/.openclaw/openclaw.json` oluşturmak ve çalışma alanı dosyalarını başlatmak için `openclaw setup` kullanın.
+Önerilen: eksikse `~/.openclaw/openclaw.json` oluşturmak ve çalışma alanı dosyalarını başlatmak için `openclaw setup` kullanın.
Tam çalışma alanı düzeni + yedekleme kılavuzu: [Ajan çalışma alanı](/tr/concepts/agent-workspace)
-`agents.defaults.sandbox` etkinse, ana olmayan oturumlar bunu `agents.defaults.sandbox.workspaceRoot` altındaki oturum başına çalışma alanlarıyla geçersiz kılabilir ([Gateway yapılandırması](/tr/gateway/configuration) bölümüne bakın).
+`agents.defaults.sandbox` etkinse, ana olmayan oturumlar bunu `agents.defaults.sandbox.workspaceRoot` altındaki oturum başına çalışma alanlarıyla geçersiz kılabilir (bkz. [Gateway yapılandırması](/tr/gateway/configuration)).
-## Önyükleme dosyaları (enjekte edilir)
+## Başlangıç dosyaları (enjekte edilir)
`agents.defaults.workspace` içinde OpenClaw şu kullanıcı tarafından düzenlenebilir dosyaları bekler:
- `AGENTS.md` — çalışma talimatları + “bellek”
-- `SOUL.md` — kişilik, sınırlar, ton
-- `TOOLS.md` — kullanıcı tarafından tutulan araç notları (örn. `imsg`, `sag`, kurallar)
+- `SOUL.md` — persona, sınırlar, ton
+- `TOOLS.md` — kullanıcı tarafından bakımı yapılan araç notları (örn. `imsg`, `sag`, kurallar)
- `BOOTSTRAP.md` — tek seferlik ilk çalıştırma ritüeli (tamamlandıktan sonra silinir)
- `IDENTITY.md` — ajan adı/havası/emoji
- `USER.md` — kullanıcı profili + tercih edilen hitap
-Yeni bir oturumun ilk turunda OpenClaw, bu dosyaların içeriklerini doğrudan ajan bağlamına enjekte eder.
+Yeni bir oturumun ilk turunda OpenClaw, bu dosyaların içeriklerini sistem isteminin Proje Bağlamı içine enjekte eder.
-Boş dosyalar atlanır. Büyük dosyalar kırpılır ve istemlerin sade kalması için bir işaretleyiciyle kısaltılır (tam içerik için dosyayı okuyun).
+Boş dosyalar atlanır. Büyük dosyalar, istemlerin yalın kalması için bir işaretleyiciyle kısaltılır ve kesilir (tam içerik için dosyayı okuyun).
-Bir dosya eksikse, OpenClaw tek bir “eksik dosya” işaretleyici satırı enjekte eder (ve `openclaw setup` güvenli bir varsayılan şablon oluşturur).
+Bir dosya eksikse OpenClaw tek bir “eksik dosya” işaretleyici satırı enjekte eder (ve `openclaw setup` güvenli bir varsayılan şablon oluşturur).
-`BOOTSTRAP.md` yalnızca **tamamen yeni bir çalışma alanı** için oluşturulur (başka önyükleme dosyası yoksa). Ritüeli tamamladıktan sonra bunu silerseniz, sonraki yeniden başlatmalarda yeniden oluşturulmamalıdır.
+`BOOTSTRAP.md` yalnızca **tamamen yeni bir çalışma alanı** için oluşturulur (başka başlangıç dosyası yoksa). Beklemedeyken OpenClaw bunu Proje Bağlamı içinde tutar ve kullanıcı mesajına kopyalamak yerine ilk ritüel için sistem istemine başlangıç rehberliği ekler. Ritüeli tamamladıktan sonra silerseniz, sonraki yeniden başlatmalarda tekrar oluşturulmamalıdır.
-Önyükleme dosyası oluşturmayı tamamen devre dışı bırakmak için (önceden hazırlanmış çalışma alanları için) şunu ayarlayın:
+Başlangıç dosyası oluşturmayı tamamen devre dışı bırakmak için (önceden hazırlanmış çalışma alanları için), şunu ayarlayın:
```json5
{ agents: { defaults: { skipBootstrap: true } } }
@@ -51,24 +51,24 @@ Bir dosya eksikse, OpenClaw tek bir “eksik dosya” işaretleyici satırı enj
## Yerleşik araçlar
-Çekirdek araçlar (read/exec/edit/write ve ilgili sistem araçları) araç politikasına tabi olarak her zaman kullanılabilir. `apply_patch` isteğe bağlıdır ve `tools.exec.applyPatch` ile kapılanır. `TOOLS.md` hangi araçların var olduğunu denetlemez; _sizin_ bunların nasıl kullanılmasını istediğinize dair rehberlik sağlar.
+Temel araçlar (okuma/yürütme/düzenleme/yazma ve ilgili sistem araçları), araç politikasına tabi olarak her zaman kullanılabilir. `apply_patch` isteğe bağlıdır ve `tools.exec.applyPatch` tarafından kapılanır. `TOOLS.md` hangi araçların var olduğunu kontrol etmez; bunların nasıl kullanılmasını _istediğinize_ dair rehberliktir.
## Skills
-OpenClaw, Skills öğelerini şu konumlardan yükler (en yüksek öncelik ilk sırada):
+OpenClaw, Skills öğelerini şu konumlardan yükler (en yüksek öncelik önce):
- Çalışma alanı: `/skills`
- Proje ajan Skills öğeleri: `/.agents/skills`
- Kişisel ajan Skills öğeleri: `~/.agents/skills`
- Yönetilen/yerel: `~/.openclaw/skills`
-- Paketle birlikte gelen (kurulumla gönderilir)
+- Birlikte gelenler (kurulumla gönderilen)
- Ek Skills klasörleri: `skills.load.extraDirs`
-Skills, yapılandırma/env ile kapılanabilir ([Gateway yapılandırması](/tr/gateway/configuration) içindeki `skills` bölümüne bakın).
+Skills, yapılandırma/env tarafından kapılanabilir (bkz. [Gateway yapılandırması](/tr/gateway/configuration) içindeki `skills`).
## Çalışma zamanı sınırları
-Gömülü ajan çalışma zamanı, Pi ajan çekirdeği (modeller, araçlar ve istem hattı) üzerine kuruludur. Oturum yönetimi, keşif, araç bağlantıları ve kanal teslimi, bu çekirdeğin üzerinde OpenClaw tarafından sahiplenilen katmanlardır.
+Gömülü ajan çalışma zamanı, Pi ajan çekirdeği (modeller, araçlar ve istem işlem hattı) üzerine kuruludur. Oturum yönetimi, keşif, araç bağlantıları ve kanal teslimi, bu çekirdeğin üzerindeki OpenClaw sahipliğindeki katmanlardır.
## Oturumlar
@@ -77,35 +77,35 @@ Oturum dökümleri JSONL olarak şurada saklanır:
- `~/.openclaw/agents//sessions/.jsonl`
Oturum kimliği kararlıdır ve OpenClaw tarafından seçilir.
-Diğer araçlardan kalan eski oturum klasörleri okunmaz.
+Diğer araçlardan gelen eski oturum klasörleri okunmaz.
## Akış sırasında yönlendirme
-Sıra modu `steer` olduğunda, gelen mesajlar mevcut çalıştırmaya enjekte edilir. Sıraya alınmış yönlendirme, **mevcut asistan turu araç çağrılarını yürütmeyi bitirdikten sonra**, bir sonraki LLM çağrısından önce teslim edilir. Pi, `steer` için bekleyen tüm yönlendirme mesajlarını birlikte boşaltır; eski `queue`, her model sınırında bir mesaj boşaltır. Yönlendirme artık mevcut asistan mesajındaki kalan araç çağrılarını atlamaz.
+Kuyruk modu `steer` olduğunda, gelen mesajlar mevcut çalıştırmaya enjekte edilir. Kuyruğa alınmış yönlendirme, **mevcut asistan turu araç çağrılarını yürütmeyi bitirdikten sonra**, bir sonraki LLM çağrısından önce teslim edilir. Pi, `steer` için bekleyen tüm yönlendirme mesajlarını birlikte boşaltır; eski `queue` ise model sınırı başına bir mesaj boşaltır. Yönlendirme artık mevcut asistan mesajındaki kalan araç çağrılarını atlamaz.
-Sıra modu `followup` veya `collect` olduğunda, gelen mesajlar mevcut tur bitene kadar tutulur; ardından sıraya alınmış yüklerle yeni bir ajan turu başlar. Mod ve sınır davranışı için [Sıra](/tr/concepts/queue) ve [Yönlendirme sırası](/tr/concepts/queue-steering) bölümlerine bakın.
+Kuyruk modu `followup` veya `collect` olduğunda, gelen mesajlar mevcut tur bitene kadar tutulur, ardından kuyruğa alınan yüklerle yeni bir ajan turu başlar. Mod ve sınır davranışı için [Kuyruk](/tr/concepts/queue) ve [Yönlendirme kuyruğu](/tr/concepts/queue-steering) sayfalarına bakın.
Blok akışı, tamamlanan asistan bloklarını biter bitmez gönderir; **varsayılan olarak kapalıdır** (`agents.defaults.blockStreamingDefault: "off"`).
-Sınırı `agents.defaults.blockStreamingBreak` ile ayarlayın (`text_end` vs `message_end`; varsayılan text_end).
-Yumuşak blok parçalamayı `agents.defaults.blockStreamingChunk` ile denetleyin (varsayılan 800–1200 karakter; önce paragraf sonlarını, sonra yeni satırları tercih eder; cümleler en son gelir).
-Tek satırlık spam’i azaltmak için akıştaki parçaları `agents.defaults.blockStreamingCoalesce` ile birleştirin (göndermeden önce boşta kalmaya dayalı birleştirme). Telegram dışı kanallarda blok yanıtlarını etkinleştirmek için açıkça `*.blockStreaming: true` gerekir.
-Ayrıntılı araç özetleri araç başlangıcında yayınlanır (debounce yoktur); Control UI, kullanılabilir olduğunda araç çıktısını ajan olayları üzerinden akıtır.
+Sınırı `agents.defaults.blockStreamingBreak` ile ayarlayın (`text_end` ve `message_end`; varsayılan text_end).
+Yumuşak blok parçalamayı `agents.defaults.blockStreamingChunk` ile denetleyin (varsayılan 800–1200 karakter; paragraf sonlarını, sonra yeni satırları tercih eder; cümleler en son).
+Tek satırlık gereksiz yoğunluğu azaltmak için akıtılan parçaları `agents.defaults.blockStreamingCoalesce` ile birleştirin (göndermeden önce boşta kalmaya dayalı birleştirme). Telegram dışı kanalların blok yanıtlarını etkinleştirmek için açık `*.blockStreaming: true` gerekir.
+Ayrıntılı araç özetleri araç başlangıcında yayımlanır (debounce yok); Control UI, kullanılabildiğinde araç çıktısını ajan olayları üzerinden akıtır.
Daha fazla ayrıntı: [Akış + parçalama](/tr/concepts/streaming).
-## Model başvuruları
+## Model referansları
-Yapılandırmadaki model başvuruları (örneğin `agents.defaults.model` ve `agents.defaults.models`), **ilk** `/` karakterinden bölünerek ayrıştırılır.
+Yapılandırmadaki model referansları (örneğin `agents.defaults.model` ve `agents.defaults.models`), **ilk** `/` karakterine göre bölünerek ayrıştırılır.
- Modelleri yapılandırırken `provider/model` kullanın.
-- Model kimliğinin kendisi `/` içeriyorsa (OpenRouter tarzı), provider önekini ekleyin (örnek: `openrouter/moonshotai/kimi-k2`).
-- Provider’ı atlarsanız, OpenClaw önce bir alias dener, ardından aynı model kimliği için benzersiz bir yapılandırılmış-provider eşleşmesi arar ve ancak bundan sonra yapılandırılmış varsayılan provider’a geri döner. Bu provider yapılandırılmış varsayılan modeli artık sunmuyorsa, OpenClaw eski kaldırılmış-provider varsayılanını göstermesi yerine ilk yapılandırılmış provider/model çiftine geri döner.
+- Model kimliğinin kendisi `/` içeriyorsa (OpenRouter tarzı), sağlayıcı önekini ekleyin (örnek: `openrouter/moonshotai/kimi-k2`).
+- Sağlayıcıyı atlarsanız OpenClaw önce bir takma adı, ardından tam bu model kimliği için benzersiz bir yapılandırılmış sağlayıcı eşleşmesini dener ve ancak bundan sonra yapılandırılmış varsayılan sağlayıcıya geri döner. Bu sağlayıcı artık yapılandırılmış varsayılan modeli sunmuyorsa OpenClaw, eskimiş kaldırılmış sağlayıcı varsayılanını göstermek yerine ilk yapılandırılmış sağlayıcı/modele geri döner.
## Yapılandırma (asgari)
En azından şunları ayarlayın:
- `agents.defaults.workspace`
-- `channels.whatsapp.allowFrom` (şiddetle önerilir)
+- `channels.whatsapp.allowFrom` (kesinlikle önerilir)
---
diff --git a/docs/tr/concepts/mantis.md b/docs/tr/concepts/mantis.md
index 8a637a1d5..1330ae4cd 100644
--- a/docs/tr/concepts/mantis.md
+++ b/docs/tr/concepts/mantis.md
@@ -1,65 +1,65 @@
---
read_when:
- - OpenClaw hataları için canlı görsel kalite güvencesi oluşturma veya çalıştırma
- - Bir çekme isteği için öncesi ve sonrası doğrulama ekleme
- - Discord, Slack, WhatsApp veya diğer canlı aktarım senaryoları ekleme
+ - OpenClaw hataları için canlı görsel QA oluşturma veya çalıştırma
+ - Bir çekme isteği için önce ve sonra doğrulaması ekleme
+ - Discord, Slack, WhatsApp veya diğer canlı aktarım senaryolarını ekleme
- Ekran görüntüleri, tarayıcı otomasyonu veya VNC erişimi gerektiren QA çalıştırmalarında hata ayıklama
-summary: Mantis, OpenClaw hatalarını canlı aktarımlarda yeniden üretmek, öncesi ve sonrası kanıtları yakalamak ve artefaktları çekme isteklerine eklemek için kullanılan görsel uçtan uca doğrulama sistemidir.
+summary: Mantis, OpenClaw hatalarını canlı aktarım katmanlarında yeniden üretmek, öncesi ve sonrası kanıtları yakalamak ve artefaktları PR'lere eklemek için kullanılan görsel uçtan uca doğrulama sistemidir.
title: Peygamberdevesi
x-i18n:
- generated_at: "2026-05-03T21:30:32Z"
+ generated_at: "2026-05-04T02:22:59Z"
model: gpt-5.5
provider: openai
- source_hash: 3463882b01a7941f6d758c509d6cd70e099aa8352053347fa9c37a80e5b256ce
+ source_hash: 5a86ab4bc876d1c53ada1c30580034165f028194a072f559eb54a898a369211d
source_path: concepts/mantis.md
workflow: 16
---
-Mantis, gerçek bir runtime, gerçek bir aktarım ve görünür kanıt gerektiren hatalar için OpenClaw uçtan uca doğrulama sistemidir. Bilinen kötü bir ref üzerinde bir senaryo çalıştırır, kanıt toplar, aynı senaryoyu aday ref üzerinde çalıştırır ve karşılaştırmayı bir bakımcının PR'dan veya yerel bir komuttan inceleyebileceği artifact'ler olarak yayımlar.
+Mantis, gerçek bir çalışma zamanı, gerçek bir taşıma katmanı ve görünür kanıt gerektiren hatalar için OpenClaw uçtan uca doğrulama sistemidir. Bilinen kötü bir ref üzerinde bir senaryo çalıştırır, kanıt toplar, aynı senaryoyu aday ref üzerinde çalıştırır ve karşılaştırmayı bir bakımcının PR'dan veya yerel bir komuttan inceleyebileceği artefaktlar olarak yayımlar.
-Mantis, Discord ile başlar çünkü Discord bize yüksek değerli bir ilk kulvar sağlar: gerçek bot kimlik doğrulaması, gerçek guild kanalları, tepkiler, iş parçacıkları, yerel komutlar ve insanların aktarımın gösterdiğini görsel olarak doğrulayabileceği bir tarayıcı UI'ı.
+Mantis, Discord ile başlar çünkü Discord bize yüksek değerli bir ilk hat verir: gerçek bot kimlik doğrulaması, gerçek sunucu kanalları, tepkiler, iş parçacıkları, yerel komutlar ve insanların taşıma katmanının ne gösterdiğini görsel olarak doğrulayabileceği bir tarayıcı arayüzü.
## Hedefler
-- Bir GitHub issue'sundan veya PR'dan gelen hatayı, kullanıcıların gördüğü aynı aktarım yapısıyla yeniden üretmek.
-- Düzeltmeyi uygulamadan önce baseline ref üzerinde bir **önce** artifact'i yakalamak.
-- Düzeltmeyi uyguladıktan sonra aday ref üzerinde bir **sonra** artifact'i yakalamak.
-- Mümkün olduğunda, Discord REST tepki okuması veya kanal transcript denetimi gibi deterministik bir oracle kullanmak.
+- Bir GitHub issue veya PR'daki hatayı, kullanıcıların gördüğü aynı taşıma biçimiyle yeniden üretmek.
+- Düzeltmeyi uygulamadan önce temel ref üzerinde bir **önce** artefaktı yakalamak.
+- Düzeltmeyi uyguladıktan sonra aday ref üzerinde bir **sonra** artefaktı yakalamak.
+- Mümkün olduğunda, Discord REST tepki okuması veya kanal dökümü kontrolü gibi deterministik bir doğrulayıcı kullanmak.
- Hatanın görünür bir UI yüzeyi olduğunda ekran görüntüleri yakalamak.
-- Agent denetimli bir CLI'dan yerel olarak ve GitHub'dan uzaktan çalışmak.
-- Oturum açma, tarayıcı otomasyonu veya sağlayıcı kimlik doğrulaması takıldığında VNC kurtarması için yeterli makine durumunu korumak.
-- Çalıştırma engellendiğinde, manuel VNC yardımı gerektiğinde veya tamamlandığında bir operatör Discord kanalına kısa durum göndermek.
+- Aracı denetimli bir CLI'dan yerel olarak ve GitHub'dan uzaktan çalıştırmak.
+- Oturum açma, tarayıcı otomasyonu veya sağlayıcı kimlik doğrulaması takıldığında VNC kurtarma için yeterli makine durumunu korumak.
+- Çalışma engellendiğinde, manuel VNC yardımı gerektiğinde veya tamamlandığında operatör Discord kanalına kısa durum göndermek.
-## Hedef Dışılar
+## Hedef Dışı Konular
-- Mantis, birim testlerinin yerine geçmez. Bir Mantis çalıştırması, düzeltme anlaşıldıktan sonra genellikle daha küçük bir regresyon testine dönüşmelidir.
-- Mantis normal hızlı CI kapısı değildir. Daha yavaştır, canlı kimlik bilgileri kullanır ve canlı ortamın önemli olduğu hatalar için ayrılmıştır.
-- Mantis normal çalışma için insan gerektirmemelidir. Manuel VNC, mutlu yol değil, bir kurtarma yoludur.
-- Mantis artifact'lerde, günlüklerde, ekran görüntülerinde, Markdown raporlarında veya PR yorumlarında ham secret saklamaz.
+- Mantis, birim testlerin yerine geçmez. Bir Mantis çalışması, düzeltme anlaşıldıktan sonra genellikle daha küçük bir regresyon testine dönüşmelidir.
+- Mantis, normal hızlı CI kapısı değildir. Daha yavaştır, canlı kimlik bilgileri kullanır ve canlı ortamın önemli olduğu hatalar için ayrılmıştır.
+- Mantis, normal çalışma için insan gerektirmemelidir. Manuel VNC, mutlu yol değil bir kurtarma yoludur.
+- Mantis ham gizli bilgileri artefaktlarda, günlüklerde, ekran görüntülerinde, Markdown raporlarında veya PR yorumlarında saklamaz.
## Sahiplik
-Mantis, OpenClaw QA yığınında yer alır.
+Mantis, OpenClaw QA yığınında yaşar.
-- OpenClaw, senaryo runtime'ının, aktarım adaptörlerinin, kanıt şemasının ve `pnpm openclaw qa mantis` altındaki yerel CLI'ın sahibidir.
-- QA Lab, canlı aktarım harness parçalarının, tarayıcı yakalama yardımcılarının ve artifact yazıcılarının sahibidir.
-- Crabbox, uzak VM gerektiğinde ısıtılmış Linux makinelerinin sahibidir.
-- GitHub Actions, uzak workflow giriş noktasının ve artifact saklamanın sahibidir.
-- ClawSweeper, GitHub yorum yönlendirmesinin sahibidir: bakımcı komutlarını ayrıştırma, workflow'u dispatch etme ve son PR yorumunu gönderme.
-- OpenClaw agent'ları, bir senaryo agentik kurulum, hata ayıklama veya takılı durum raporlaması gerektirdiğinde Mantis'i Codex üzerinden yürütür.
+- OpenClaw, `pnpm openclaw qa mantis` altındaki senaryo çalışma zamanına, taşıma bağdaştırıcılarına, kanıt şemasına ve yerel CLI'a sahiptir.
+- QA Lab, canlı taşıma donanımı parçalarına, tarayıcı yakalama yardımcılarına ve artefakt yazıcılarına sahiptir.
+- Crabbox, uzak VM gerektiğinde ısıtılmış Linux makinelerine sahiptir.
+- GitHub Actions, uzak iş akışı giriş noktasına ve artefakt saklamaya sahiptir.
+- ClawSweeper, GitHub yorum yönlendirmesine sahiptir: bakımcı komutlarını ayrıştırma, iş akışını tetikleme ve son PR yorumunu gönderme.
+- OpenClaw aracıları, bir senaryonun agentic kurulum, hata ayıklama veya takılı durum raporlaması gerektiğinde Codex üzerinden Mantis'i yürütür.
-Bu sınır, aktarım bilgisini OpenClaw'da, makine zamanlamasını Crabbox'ta ve bakımcı workflow bağlantı mantığını ClawSweeper'da tutar.
+Bu sınır, taşıma bilgisini OpenClaw'da, makine zamanlamasını Crabbox'ta ve bakımcı iş akışı bağlayıcısını ClawSweeper'da tutar.
-## Komut Yapısı
+## Komut Biçimi
-İlk yerel komut Discord botunu, guild'i, kanalı, mesaj gönderimini, tepki gönderimini ve artifact yolunu doğrular:
+İlk yerel komut Discord botunu, sunucuyu, kanalı, ileti göndermeyi, tepki göndermeyi ve artefakt yolunu doğrular:
```bash
pnpm openclaw qa mantis discord-smoke \
--output-dir .artifacts/qa-e2e/mantis/discord-smoke
```
-Yerel önce ve sonra çalıştırıcısı şu yapıyı kabul eder:
+Yerel önce ve sonra çalıştırıcısı şu biçimi kabul eder:
```bash
pnpm openclaw qa mantis run \
@@ -70,22 +70,39 @@ pnpm openclaw qa mantis run \
--output-dir .artifacts/qa-e2e/mantis/local-discord-status-reactions
```
-Çalıştırıcı, çıktı dizini altında ayrılmış baseline ve aday worktree'leri oluşturur, bağımlılıkları yükler, her ref'i build eder, senaryoyu `--allow-failures` ile çalıştırır, ardından `baseline/`, `candidate/`, `comparison.json` ve `mantis-report.md` yazar. İlk Discord senaryosu için başarılı bir doğrulama, baseline durumunun `fail` ve aday durumunun `pass` olduğu anlamına gelir.
+Çalıştırıcı, çıktı dizini altında ayrılmış temel ve aday worktree'ler oluşturur, bağımlılıkları yükler, her ref'i derler, senaryoyu `--allow-failures` ile çalıştırır, ardından `baseline/`, `candidate/`, `comparison.json` ve `mantis-report.md` yazar. İlk Discord senaryosu için başarılı doğrulama, temel durumun `fail` ve aday durumun `pass` olması anlamına gelir.
-GitHub smoke workflow'u `Mantis Discord Smoke` adındadır. İlk gerçek senaryo için önce ve sonra GitHub workflow'u `Mantis Discord Status Reactions` adındadır. Şunları kabul eder:
+İlk VM/tarayıcı ilkeli masaüstü smoke çalışmasıdır:
-- `baseline_ref`: yalnızca queued davranışını yeniden üretmesi beklenen ref.
+```bash
+pnpm openclaw qa mantis desktop-browser-smoke \
+ --output-dir .artifacts/qa-e2e/mantis/desktop-browser
+```
+
+Bir Crabbox masaüstü makinesi kiralar veya yeniden kullanır, VNC oturumu içinde görünür bir tarayıcı başlatır, masaüstünü yakalar, artefaktları yerel çıktı dizinine geri çeker ve yeniden bağlanma komutunu rapora yazar. Komut varsayılan olarak Hetzner sağlayıcısını kullanır çünkü Mantis hattında çalışan masaüstü/VNC kapsamına sahip ilk sağlayıcı odur. Başka bir Crabbox filosuna karşı çalıştırırken `--provider`, `--crabbox-bin` veya `OPENCLAW_MANTIS_CRABBOX_PROVIDER` ile geçersiz kılın.
+
+Kullanışlı masaüstü smoke bayrakları:
+
+- `--lease-id ` veya `OPENCLAW_MANTIS_CRABBOX_LEASE_ID`, ısıtılmış bir masaüstünü yeniden kullanır.
+- `--browser-url `, görünür tarayıcıda açılan sayfayı değiştirir.
+- `--html-file `, repo yerelindeki bir HTML artefaktını görünür tarayıcıda render eder. Mantis bunu, oluşturulan Discord durum tepkisi zaman çizelgesini gerçek bir Crabbox masaüstü üzerinden yakalamak için kullanır.
+- `--keep-lease` veya `OPENCLAW_MANTIS_KEEP_VM=1`, yeni oluşturulmuş başarılı bir kiralamayı VNC incelemesi için açık tutar. Başarısız çalışmalar, bir operatörün yeniden bağlanabilmesi için bir kiralama oluşturulduğunda varsayılan olarak kiralamayı korur.
+- `--class`, `--idle-timeout` ve `--ttl`, makine boyutunu ve kiralama ömrünü ayarlar.
+
+GitHub smoke iş akışı `Mantis Discord Smoke`'tur. İlk gerçek senaryo için önce ve sonra GitHub iş akışı `Mantis Discord Status Reactions`'tır. Şunları kabul eder:
+
+- `baseline_ref`: yalnızca kuyruğa alınmış davranışı yeniden üretmesi beklenen ref.
- `candidate_ref`: `queued -> thinking -> done` göstermesi beklenen ref.
-Workflow harness ref'ini checkout eder, ayrı baseline ve aday worktree'leri build eder, her worktree üzerinde `discord-status-reactions-tool-only` çalıştırır ve `baseline/`, `candidate/`, `comparison.json` ile `mantis-report.md` dosyalarını Actions artifact'leri olarak yükler.
+İş akışı donanım ref'ini checkout eder, ayrı temel ve aday worktree'ler derler, her worktree'ye karşı `discord-status-reactions-tool-only` çalıştırır ve `baseline/`, `candidate/`, `comparison.json` ve `mantis-report.md` dosyalarını Actions artefaktları olarak yükler. Ayrıca her hattın zaman çizelgesi HTML'ini bir Crabbox masaüstü tarayıcısında render eder ve bu VNC ekran görüntülerini deterministik zaman çizelgesi PNG'lerinin yanında PR yorumunda yayımlar. İş akışı, mevcut masaüstü/tarayıcı kiralama bayraklarını bir sonraki Crabbox ikili sürümü kesilmeden önce kullanabilmek için Crabbox CLI'ı `openclaw/crabbox` main'den derler.
-Status-reactions çalıştırmasını doğrudan bir PR yorumundan da tetikleyebilirsiniz:
+Durum tepkileri çalışmasını doğrudan bir PR yorumundan da tetikleyebilirsiniz:
```text
@Mantis discord status reactions
```
-Yorum tetikleyicisi özellikle dardır. Yalnızca write, maintain veya admin erişimi olan kullanıcıların pull request yorumlarında çalışır ve yalnızca Discord status-reaction isteklerini tanır. Varsayılan olarak bilinen kötü baseline ref'ini ve aday olarak mevcut PR head SHA'sını kullanır. Bakımcılar iki ref'i de geçersiz kılabilir:
+Yorum tetikleyicisi kasıtlı olarak dardır. Yalnızca yazma, bakım veya yönetici erişimine sahip kullanıcıların pull request yorumlarında çalışır ve yalnızca Discord durum tepkisi isteklerini tanır. Varsayılan olarak bilinen kötü temel ref'i ve aday olarak mevcut PR baş SHA'sını kullanır. Bakımcılar iki ref'i de geçersiz kılabilir:
```text
@Mantis discord status reactions baseline=origin/main candidate=HEAD
@@ -100,42 +117,43 @@ ClawSweeper komut örnekleri:
İlk komut açık ve senaryo odaklıdır. İkincisi daha sonra bir PR'ı veya issue'yu etiketlerden, değişen dosyalardan ve ClawSweeper inceleme bulgularından önerilen Mantis senaryolarına eşleyebilir.
-## Çalıştırma Yaşam Döngüsü
+## Çalışma Yaşam Döngüsü
1. Kimlik bilgilerini edin.
2. Bir VM ayır veya yeniden kullan.
-3. Baseline ref için temiz bir checkout hazırla.
-4. Bağımlılıkları yükle ve yalnızca senaryonun ihtiyaç duyduklarını build et.
-5. Yalıtılmış durum diziniyle bir alt OpenClaw Gateway başlat.
-6. Canlı aktarımı, sağlayıcıyı, modeli ve tarayıcı profilini yapılandır.
-7. Senaryoyu çalıştır ve baseline kanıtını yakala.
-8. Gateway'i durdur ve günlükleri koru.
-9. Aday ref'i aynı VM'de hazırla.
-10. Aynı senaryoyu çalıştır ve aday kanıtını yakala.
-11. Oracle sonuçlarını ve görsel kanıtı karşılaştır.
-12. Markdown, JSON, günlükler, ekran görüntüleri ve isteğe bağlı trace artifact'leri yaz.
-13. GitHub Actions artifact'lerini yükle.
-14. Kısa bir PR veya Discord durum mesajı gönder.
+3. Senaryo UI kanıtı gerektirdiğinde masaüstü/tarayıcı profilini hazırla.
+4. Temel ref için temiz bir checkout hazırla.
+5. Bağımlılıkları yükle ve yalnızca senaryonun ihtiyaç duyduklarını derle.
+6. Yalıtılmış durum diziniyle bir alt OpenClaw Gateway başlat.
+7. Canlı taşıma katmanını, sağlayıcıyı, modeli ve tarayıcı profilini yapılandır.
+8. Senaryoyu çalıştır ve temel kanıtı yakala.
+9. Gateway'i durdur ve günlükleri koru.
+10. Aynı VM'de aday ref'i hazırla.
+11. Aynı senaryoyu çalıştır ve aday kanıtı yakala.
+12. Doğrulayıcı sonuçlarını ve görsel kanıtı karşılaştır.
+13. Markdown, JSON, günlükler, ekran görüntüleri ve isteğe bağlı iz artefaktları yaz.
+14. GitHub Actions artefaktlarını yükle.
+15. Kısa bir PR veya Discord durum iletisi gönder.
Senaryo iki farklı şekilde başarısız olabilmelidir:
-- **Hata yeniden üretildi**: baseline beklenen şekilde başarısız oldu.
-- **Harness hatası**: ortam kurulumu, kimlik bilgileri, Discord API, tarayıcı veya sağlayıcı, hata oracle'ı anlamlı olmadan önce başarısız oldu.
+- **Hata yeniden üretildi**: temel, beklenen şekilde başarısız oldu.
+- **Donanım hatası**: ortam kurulumu, kimlik bilgileri, Discord API, tarayıcı veya sağlayıcı, hata doğrulayıcısı anlamlı olmadan önce başarısız oldu.
-Son rapor bu durumları ayırmalıdır; böylece bakımcılar oynak bir ortamı ürün davranışıyla karıştırmaz.
+Son rapor, bakımcıların kararsız bir ortamı ürün davranışıyla karıştırmaması için bu durumları ayırmalıdır.
## Discord MVP
-İlk senaryo, kaynak yanıt teslim modunun `message_tool_only` olduğu guild kanallarındaki Discord durum tepkilerini hedeflemelidir.
+İlk senaryo, kaynak yanıt teslim modunun `message_tool_only` olduğu sunucu kanallarında Discord durum tepkilerini hedeflemelidir.
Neden iyi bir Mantis tohumu olduğu:
-- Tetikleyen mesajdaki tepkiler olarak Discord'da görünür.
-- Discord mesaj tepki durumu üzerinden güçlü bir REST oracle'ı vardır.
-- Gerçek bir OpenClaw Gateway'i, Discord bot kimlik doğrulamasını, mesaj dispatch'ini, kaynak yanıt teslim modunu, durum tepki durumunu ve model turn yaşam döngüsünü çalıştırır.
+- Tetikleyici ileti üzerindeki tepkiler olarak Discord'da görünür.
+- Discord ileti tepki durumu üzerinden güçlü bir REST doğrulayıcısı vardır.
+- Gerçek bir OpenClaw Gateway, Discord bot kimlik doğrulaması, ileti dağıtımı, kaynak yanıt teslim modu, durum tepki durumu ve model turu yaşam döngüsünü çalıştırır.
- İlk uygulamayı dürüst tutacak kadar dardır.
-Beklenen senaryo yapısı:
+Beklenen senaryo biçimi:
```yaml
id: discord-status-reactions-tool-only
@@ -166,9 +184,9 @@ evidence:
screenshotMessageRow: true
```
-Baseline kanıtı, queued onay tepkisini göstermeli ancak tool-only modda yaşam döngüsü geçişi göstermemelidir. Aday kanıtı, `messages.statusReactions.enabled` açıkça true olduğunda yaşam döngüsü durum tepkilerinin çalıştığını göstermelidir.
+Temel kanıt, kuyruğa alındı onay tepkisini göstermeli ancak yalnızca araç modunda yaşam döngüsü geçişi göstermemelidir. Aday kanıt, `messages.statusReactions.enabled` açıkça true olduğunda yaşam döngüsü durum tepkilerinin çalıştığını göstermelidir.
-Çalıştırılabilir ilk parça, opt-in Discord canlı QA senaryosudur:
+Çalıştırılabilir ilk dilim, opt-in Discord canlı QA senaryosudur:
```bash
pnpm openclaw qa discord \
@@ -180,23 +198,23 @@ pnpm openclaw qa discord \
--output-dir .artifacts/qa-e2e/mantis/discord-status-reactions-candidate
```
-SUT'yi her zaman açık guild işleme, `visibleReplies: "message_tool"`, `ackReaction: "👀"` ve açık durum tepkileriyle yapılandırır. Oracle gerçek Discord tetikleme mesajını yoklar ve gözlemlenen `👀 -> 🤔 -> 👍` dizisini bekler. Artifact'ler `discord-qa-reaction-timelines.json`, `discord-status-reactions-tool-only-timeline.html` ve `discord-status-reactions-tool-only-timeline.png` içerir.
+SUT'yi her zaman açık sunucu işleme, `visibleReplies: "message_tool"`, `ackReaction: "👀"` ve açık durum tepkileriyle yapılandırır. Doğrulayıcı gerçek Discord tetikleyici iletisini yoklar ve gözlenen `👀 -> 🤔 -> 👍` dizisini bekler. Artefaktlar `discord-qa-reaction-timelines.json`, `discord-status-reactions-tool-only-timeline.html` ve `discord-status-reactions-tool-only-timeline.png` içerir.
## Mevcut QA Parçaları
-Mantis sıfırdan başlamak yerine mevcut özel QA yığınının üzerine inşa edilmelidir:
+Mantis, sıfırdan başlamak yerine mevcut özel QA yığını üzerine kurulmalıdır:
-- `pnpm openclaw qa discord` zaten driver ve SUT botlarıyla canlı bir Discord kulvarı çalıştırır.
-- Canlı aktarım çalıştırıcısı zaten `.artifacts/qa-e2e/` altında raporlar ve gözlemlenen mesaj artifact'leri yazar.
-- Convex kimlik bilgisi lease'leri, paylaşılan canlı aktarım kimlik bilgilerine zaten özel erişim sağlar.
-- Tarayıcı denetim servisi zaten ekran görüntülerini, snapshot'ları, headless yönetilen profilleri ve uzak CDP profillerini destekler.
-- QA Lab'in aktarım yapılı testler için zaten bir debugger UI'ı ve bus'ı vardır.
+- `pnpm openclaw qa discord`, sürücü ve SUT botlarıyla zaten canlı bir Discord hattı çalıştırır.
+- Canlı taşıma çalıştırıcısı, raporları ve gözlenen ileti artefaktlarını zaten `.artifacts/qa-e2e/` altına yazar.
+- Convex kimlik bilgisi kiralamaları, paylaşılan canlı taşıma kimlik bilgilerine zaten özel erişim sağlar.
+- Tarayıcı denetim servisi ekran görüntülerini, anlık görüntüleri, başsız yönetilen profilleri ve uzak CDP profillerini zaten destekler.
+- QA Lab'de taşıma biçimli testler için zaten bir hata ayıklayıcı UI ve veri yolu vardır.
-İlk Mantis uygulaması, bu parçalar üzerinde ince bir önce/sonra çalıştırıcısı ve bir görsel kanıt katmanı olabilir.
+İlk Mantis uygulaması, bu parçaların üzerinde ince bir önce/sonra çalıştırıcısı ve ek olarak bir görsel kanıt katmanı olabilir.
## Kanıt Modeli
-Her çalıştırma kararlı bir artifact dizini yazar:
+Her çalışma kararlı bir artefakt dizini yazar:
```text
.artifacts/qa-e2e/mantis//
@@ -221,60 +239,60 @@ Her çalıştırma kararlı bir artifact dizini yazar:
Özet şunları içermelidir:
- test edilen ref'ler ve SHA'lar
-- aktarım ve senaryo kimliği
-- makine sağlayıcısı ve makine kimliği veya lease kimliği
-- secret değerleri olmadan kimlik bilgisi kaynağı
-- baseline sonucu
-- aday sonucu
-- hatanın baseline üzerinde yeniden üretilip üretilmediği
-- adayın hatayı düzeltip düzeltmediği
-- artifact yolları
+- taşıma ve senaryo kimliği
+- makine sağlayıcısı ve makine kimliği veya kiralama kimliği
+- gizli değerler olmadan kimlik bilgisi kaynağı
+- temel sonuç
+- aday sonuç
+- hatanın temelde yeniden üretilip üretilmediği
+- adayın bunu düzeltip düzeltmediği
+- artefakt yolları
- temizlenmiş kurulum veya temizlik sorunları
-Ekran görüntüleri kanıttır, secret değildir. Yine de redaksiyon disiplini gerektirirler: özel kanal adları, kullanıcı adları veya mesaj içeriği görünebilir. Herkese açık PR'lar için, redaksiyon hikayesi güçlenene kadar satır içi görseller yerine GitHub Actions artifact bağlantılarını tercih edin.
+Ekran görüntüleri kanıttır, gizli bilgi değildir. Yine de redaksiyon disiplini gerekir: özel kanal adları, kullanıcı adları veya ileti içeriği görünebilir. Herkese açık PR'lar için redaksiyon hikayesi daha güçlü olana kadar satır içi görseller yerine GitHub Actions artefakt bağlantılarını tercih edin.
## Tarayıcı ve VNC
-Tarayıcı kulvarının iki modu vardır:
+Tarayıcı hattının iki modu vardır:
-- **Headless otomasyon**: CI için varsayılandır. Chrome, CDP etkin şekilde çalışır ve Playwright veya OpenClaw tarayıcı denetimi ekran görüntüleri yakalar.
-- **VNC kurtarma**: oturum açma, MFA, Discord anti-otomasyon veya görsel hata ayıklama bir insan gerektirdiğinde aynı VM üzerinde etkinleştirilir.
+- **Başsız otomasyon**: CI için varsayılandır. Chrome, CDP etkin şekilde çalışır ve Playwright veya OpenClaw tarayıcı denetimi ekran görüntüleri yakalar.
+- **VNC kurtarma**: oturum açma, MFA, Discord otomasyon karşıtı önlemleri veya görsel hata ayıklama bir insan gerektirdiğinde aynı VM üzerinde etkinleştirilir.
-Discord gözlemci tarayıcı profili, her çalıştırma için oturum açmayı önleyecek kadar kalıcı olmalı, ancak kişisel tarayıcı durumundan yalıtılmış olmalıdır. Bir profil, geliştirici dizüstü bilgisayarına değil, Mantis makine havuzuna aittir.
+Discord gözlemci tarayıcı profili, her çalıştırmada oturum açmayı önleyecek kadar kalıcı olmalı, ancak kişisel tarayıcı durumundan yalıtılmış olmalıdır. Bir profil, bir geliştirici dizüstü bilgisayarına değil, Mantis makine havuzuna aittir.
-Mantis takıldığında şunları içeren bir Discord durum mesajı gönderir:
+Mantis takıldığında, şu bilgileri içeren bir Discord durum mesajı gönderir:
- çalıştırma kimliği
- senaryo kimliği
- makine sağlayıcısı
-- artifact dizini
+- yapıt dizini
- varsa VNC veya noVNC bağlantı talimatları
- kısa engelleyici metni
-İlk özel dağıtım bu mesajları mevcut operatör kanalına gönderebilir ve daha sonra özel bir Mantis kanalına taşınabilir.
+İlk özel dağıtım bu mesajları mevcut operatör kanalına gönderebilir ve daha sonra özel bir Mantis kanalına geçebilir.
## Makineler
-Mantis, ilk uzak uygulama için Crabbox üzerinden AWS'yi tercih etmelidir. Crabbox bize ısıtılmış makineler, lease takibi, hydration, günlükler, sonuçlar ve temizlik sağlar. AWS kapasitesi çok yavaş veya kullanılamaz durumdaysa aynı makine arayüzünün arkasına bir Hetzner sağlayıcısı ekleyin.
+Mantis, ilk uzak uygulama için Crabbox üzerinden AWS'yi tercih etmelidir. Crabbox bize önceden hazırlanmış makineler, kira takibi, hazırlama, günlükler, sonuçlar ve temizlik sağlar. AWS kapasitesi çok yavaşsa veya kullanılamıyorsa, aynı makine arayüzünün arkasına bir Hetzner sağlayıcısı ekleyin.
Minimum VM gereksinimleri:
-- Masaüstü çalıştırabilir Chrome veya Chromium kurulumu olan Linux
-- Tarayıcı otomasyonu için CDP erişimi
-- Kurtarma için VNC veya noVNC
+- masaüstü özellikli Chrome veya Chromium kurulumuna sahip Linux
+- tarayıcı otomasyonu için CDP erişimi
+- kurtarma için VNC veya noVNC
- Node 22 ve pnpm
- OpenClaw checkout'u ve bağımlılık önbelleği
- Playwright kullanıldığında Playwright Chromium tarayıcı önbelleği
- bir OpenClaw Gateway, bir tarayıcı ve bir model çalıştırması için yeterli CPU ve bellek
-- Discord, GitHub, model sağlayıcıları ve kimlik bilgisi broker'ına outbound erişim
+- Discord, GitHub, model sağlayıcıları ve kimlik bilgisi aracısına giden erişim
-VM, beklenen kimlik bilgisi veya tarayıcı profil depoları dışında uzun ömürlü ham secret'ları tutmamalıdır.
+VM, beklenen kimlik bilgisi veya tarayıcı profili depoları dışında uzun ömürlü ham gizli bilgiler tutmamalıdır.
-## Secret'lar
+## Gizli Bilgiler
-Secret'lar uzak çalıştırmalar için GitHub organizasyon veya repository secret'larında, yerel çalıştırmalar içinse yerel operatör denetimli bir secret dosyasında yaşar.
+Uzak çalıştırmalar için gizli bilgiler GitHub kuruluş veya depo gizli bilgilerinde, yerel çalıştırmalar içinse yerel operatör kontrollü bir gizli bilgi dosyasında bulunur.
-Önerilen secret adları:
+Önerilen gizli bilgi adları:
- `OPENCLAW_QA_DISCORD_MANTIS_BOT_TOKEN`
- `OPENCLAW_QA_DISCORD_DRIVER_BOT_TOKEN`
@@ -282,30 +300,32 @@ Secret'lar uzak çalıştırmalar için GitHub organizasyon veya repository secr
- `OPENCLAW_QA_DISCORD_GUILD_ID`
- `OPENCLAW_QA_DISCORD_CHANNEL_ID`
- `OPENCLAW_QA_DISCORD_NOTIFY_CHANNEL_ID`
-- genel GitHub yapıtı yüklemeleri için `OPENCLAW_QA_REDACT_PUBLIC_METADATA=1`
+- herkese açık GitHub yapıt yüklemeleri için `OPENCLAW_QA_REDACT_PUBLIC_METADATA=1`
- `OPENCLAW_QA_CONVEX_SITE_URL`
- `OPENCLAW_QA_CONVEX_SECRET_CI`
+- `OPENCLAW_QA_MANTIS_CRABBOX_COORDINATOR`
+- `OPENCLAW_QA_MANTIS_CRABBOX_COORDINATOR_TOKEN`
-Uzun vadede, Convex kimlik bilgisi havuzu canlı taşıma kimlik bilgileri için normal kaynak olarak kalmalıdır. GitHub gizli değerleri aracıyı ve geri dönüş hatlarını önyükler.
+Uzun vadede Convex kimlik bilgisi havuzu, canlı taşıma kimlik bilgilerinin normal kaynağı olarak kalmalıdır. GitHub gizli bilgileri aracıyı ve yedek şeritleri başlatır. Discord durum tepkileri iş akışı, Mantis Crabbox gizli bilgilerini Crabbox CLI'nin beklediği `CRABBOX_COORDINATOR` ve `CRABBOX_COORDINATOR_TOKEN` ortam değişkenlerine geri eşler. Düz `CRABBOX_*` GitHub gizli bilgi adları uyumluluk yedeği olarak kabul edilmeye devam eder.
Mantis çalıştırıcısı şunları asla yazdırmamalıdır:
-- Discord bot belirteçleri
+- Discord bot token'ları
- sağlayıcı API anahtarları
- tarayıcı çerezleri
- kimlik doğrulama profili içerikleri
- VNC parolaları
- ham kimlik bilgisi yükleri
-Genel yapıt yüklemeleri ayrıca bot, sunucu, kanal ve mesaj kimlikleri gibi Discord hedef meta verilerini de sansürlemelidir. GitHub smoke iş akışı bu nedenle `OPENCLAW_QA_REDACT_PUBLIC_METADATA=1` ayarını etkinleştirir.
+Herkese açık yapıt yüklemeleri ayrıca bot, sunucu, kanal ve mesaj kimlikleri gibi Discord hedef meta verilerini de redakte etmelidir. GitHub smoke iş akışı bu nedenle `OPENCLAW_QA_REDACT_PUBLIC_METADATA=1` değerini etkinleştirir.
-Bir belirteç yanlışlıkla bir issue'ya, PR'a, sohbete veya günlüğe yapıştırılırsa, yeni gizli değer saklandıktan sonra onu döndürün.
+Bir token yanlışlıkla bir issue'ya, PR'ye, sohbete veya günlüğe yapıştırılırsa, yeni gizli bilgi depolandıktan sonra onu döndürün.
-## GitHub Yapıtları Ve PR Yorumları
+## GitHub Yapıtları ve PR Yorumları
-Mantis iş akışları tam kanıt paketini kısa ömürlü bir Actions yapıtı olarak yüklemelidir. İş akışı bir hata raporu veya düzeltme PR'ı için çalıştırıldığında, sansürlenmiş PNG ekran görüntülerini `qa-artifacts` dalına da yayımlamalı ve o hata ya da düzeltme PR'ında satır içi önce/sonra ekran görüntüleriyle bir yorumu eklemeli ya da güncellemelidir. Birincil kanıtı yalnızca genel bir QA otomasyonu PR'ında paylaşmayın. Ham günlükler, gözlemlenen mesajlar ve diğer hacimli kanıtlar Actions yapıtında kalır.
+Mantis iş akışları tam kanıt paketini kısa ömürlü bir Actions yapıtı olarak yüklemelidir. İş akışı bir hata raporu veya düzeltme PR'si için çalıştırıldığında, redakte edilmiş PNG ekran görüntülerini `qa-artifacts` dalına da yayımlamalı ve ilgili hata veya düzeltme PR'sine satır içi önce/sonra ekran görüntüleriyle bir yorum eklemeli veya mevcut yorumu güncellemelidir. Birincil kanıtı yalnızca genel bir QA otomasyonu PR'sine göndermeyin. Ham günlükler, gözlemlenen mesajlar ve diğer hacimli kanıtlar Actions yapıtında kalır.
-Production iş akışları bu yorumları `github-actions[bot]` ile değil, Mantis GitHub App ile paylaşmalıdır. Uygulama kimliğini ve özel anahtarı `MANTIS_GITHUB_APP_ID` ve `MANTIS_GITHUB_APP_PRIVATE_KEY` GitHub Actions gizli değerleri olarak saklayın. İş akışı, ekleme/güncelleme anahtarı olarak gizli bir işaret kullanır, belirteç düzenleyebildiğinde o yorumu günceller ve eski bir bot sahibi işaret düzenlenemediğinde Mantis sahipliğinde yeni bir yorum oluşturur.
+Üretim iş akışları bu yorumları `github-actions[bot]` ile değil, Mantis GitHub App ile göndermelidir. Uygulama kimliğini ve özel anahtarı `MANTIS_GITHUB_APP_ID` ve `MANTIS_GITHUB_APP_PRIVATE_KEY` GitHub Actions gizli bilgileri olarak saklayın. İş akışı gizli bir işaretçiyi ekleme/güncelleme anahtarı olarak kullanır, token düzenleyebildiğinde o yorumu günceller ve eski bot sahipli bir işaretçi düzenlenemediğinde Mantis sahipli yeni bir yorum oluşturur.
PR yorumu kısa ve görsel olmalıdır:
@@ -327,15 +347,15 @@ candidate showed the expected queued -> thinking -> done sequence.
| | |
```
-Çalıştırma, test düzeneği başarısız olduğu için başarısız olduğunda, yorum adayın başarısız olduğunu ima etmek yerine bunu söylemelidir.
+Çalıştırma, test düzeneği başarısız olduğu için başarısız olursa, yorum adayın başarısız olduğunu ima etmek yerine bunu söylemelidir.
## Özel Dağıtım Notları
-Özel bir dağıtımda zaten bir Mantis Discord uygulaması olabilir. Doğru bot izinlerine sahipse ve güvenli şekilde döndürülebiliyorsa başka bir uygulama oluşturmak yerine o uygulamayı yeniden kullanın.
+Özel bir dağıtımda zaten bir Mantis Discord uygulaması olabilir. Doğru bot izinlerine sahipse ve güvenle döndürülebiliyorsa başka bir uygulama oluşturmak yerine o uygulamayı yeniden kullanın.
-İlk operatör bildirim kanalını gizli değerler veya dağıtım yapılandırması üzerinden ayarlayın. Önce mevcut bir maintainer veya operasyon kanalını işaret edebilir, ardından böyle bir kanal oluştuğunda özel bir Mantis kanalına taşınabilir.
+İlk operatör bildirim kanalını gizli bilgiler veya dağıtım yapılandırması üzerinden ayarlayın. Önce mevcut bir bakımcı veya operasyon kanalını işaret edebilir, bir kanal oluşturulduktan sonra özel bir Mantis kanalına taşınabilir.
-Sunucu kimliklerini, kanal kimliklerini, bot belirteçlerini, tarayıcı çerezlerini veya VNC parolalarını bu belgeye koymayın. Bunları GitHub gizli değerlerinde, kimlik bilgisi aracısında veya operatörün yerel gizli değer deposunda saklayın.
+Bu belgeye sunucu kimlikleri, kanal kimlikleri, bot token'ları, tarayıcı çerezleri veya VNC parolaları koymayın. Bunları GitHub gizli bilgilerinde, kimlik bilgisi aracısında veya operatörün yerel gizli bilgi deposunda saklayın.
## Senaryo Ekleme
@@ -344,8 +364,8 @@ Bir Mantis senaryosu şunları bildirmelidir:
- kimlik ve başlık
- taşıma
- gerekli kimlik bilgileri
-- temel ref ilkesi
-- aday ref ilkesi
+- temel referans ilkesi
+- aday referans ilkesi
- OpenClaw yapılandırma yaması
- kurulum adımları
- uyaran
@@ -355,32 +375,32 @@ Bir Mantis senaryosu şunları bildirmelidir:
- zaman aşımı bütçesi
- temizlik adımları
-Senaryolar küçük, tipli oracle'ları tercih etmelidir:
+Senaryolar küçük, tiplendirilmiş oracle'ları tercih etmelidir:
- tepki hataları için Discord tepki durumu
- iş parçacığı hataları için Discord mesaj referansları
-- Slack hataları için Slack iş parçacığı ts'si ve tepki API durumu
+- Slack hataları için Slack iş parçacığı zaman damgası ve tepki API durumu
- e-posta hataları için e-posta mesaj kimlikleri ve başlıkları
- UI tek güvenilir gözlemlenebilir olduğunda tarayıcı ekran görüntüleri
-Görsel kontroller eklemeli olmalıdır. Bir platform API'si hatayı kanıtlayabiliyorsa, geçme/kalma oracle'ı olarak API'yi kullanın ve ekran görüntülerini insan güveni için saklayın.
+Görüntü kontrolleri eklemeli olmalıdır. Bir platform API'si hatayı kanıtlayabiliyorsa, API'yi başarılı/başarısız oracle'ı olarak kullanın ve ekran görüntülerini insan güveni için tutun.
## Sağlayıcı Genişletme
Discord'dan sonra aynı çalıştırıcı şunları ekleyebilir:
-- Slack: tepkiler, iş parçacıkları, uygulama mention'ları, modallar, dosya yüklemeleri.
-- E-posta: bağlayıcıların yeterli olmadığı yerlerde `gog` kullanarak Gmail kimlik doğrulaması ve mesaj iş parçacıkları.
-- WhatsApp: QR oturumu açma, yeniden tanımlama, mesaj teslimi, medya, tepkiler.
-- Telegram: grup mention kapısı, komutlar, mevcut olduğu yerlerde tepkiler.
-- Matrix: şifreli odalar, iş parçacığı veya yanıt ilişkileri, yeniden başlatma sonrası devam.
+- Slack: tepkiler, iş parçacıkları, uygulama bahsetmeleri, modallar, dosya yüklemeleri.
+- E-posta: bağlayıcıların yeterli olmadığı yerlerde `gog` kullanarak Gmail kimlik doğrulaması ve mesaj iş parçacığı.
+- WhatsApp: QR ile oturum açma, yeniden tanımlama, mesaj teslimi, medya, tepkiler.
+- Telegram: grup bahsetme kapısı, komutlar, varsa tepkiler.
+- Matrix: şifrelenmiş odalar, iş parçacığı veya yanıt ilişkileri, yeniden başlatma sonrası sürdürme.
-Her taşımanın bir ucuz smoke senaryosu ve bir ya da daha fazla hata sınıfı senaryosu olmalıdır. Pahalı görsel senaryolar isteğe bağlı kalmalıdır.
+Her taşımanın bir ucuz smoke senaryosu ve bir veya daha fazla hata sınıfı senaryosu olmalıdır. Pahalı görsel senaryolar isteğe bağlı kalmalıdır.
## Açık Sorular
- Mevcut Mantis botu yeniden kullanıldığında hangi Discord botu sürücü, hangisi SUT olmalıdır?
-- Gözlemci tarayıcı oturumu ilk aşamada bir insan Discord hesabı, bir test hesabı veya yalnızca bot tarafından okunabilir REST kanıtı mı kullanmalıdır?
-- GitHub, PR'lar için Mantis yapıtlarını ne kadar süre saklamalıdır?
-- ClawSweeper, bir maintainer komutunu beklemek yerine ne zaman otomatik olarak Mantis önermelidir?
-- Genel PR'lar için ekran görüntüleri yüklemeden önce sansürlenmeli veya kırpılmalı mıdır?
+- Gözlemci tarayıcı oturumu açma ilk aşamada bir insan Discord hesabı mı, bir test hesabı mı, yoksa yalnızca bot tarafından okunabilir REST kanıtı mı kullanmalıdır?
+- GitHub, PR'ler için Mantis yapıtlarını ne kadar süre saklamalıdır?
+- ClawSweeper ne zaman bir bakımcı komutu beklemek yerine otomatik olarak Mantis önermelidir?
+- Herkese açık PR'ler için ekran görüntüleri yüklemeden önce redakte edilmeli veya kırpılmalı mı?
diff --git a/docs/tr/concepts/progress-drafts.md b/docs/tr/concepts/progress-drafts.md
index 1359d3d41..5aca3c392 100644
--- a/docs/tr/concepts/progress-drafts.md
+++ b/docs/tr/concepts/progress-drafts.md
@@ -2,36 +2,31 @@
read_when:
- Uzun süren sohbet turları için görünür ilerleme güncellemelerini yapılandırma
- Kısmi, blok ve ilerleme akışı modları arasında seçim yapma
- - OpenClaw'ın çalışma sürerken bir kanal mesajını nasıl güncellediğini açıklama
+ - OpenClaw'un çalışma devam ederken tek bir kanal mesajını nasıl güncellediğini açıklama
- İlerleme taslakları, bağımsız ilerleme mesajları veya sonlandırma yedeği sorunlarını giderme
-summary: 'İlerleme taslakları: bir ajan çalışırken güncellenen, görünür tek bir devam eden çalışma mesajı'
+summary: 'İlerleme taslakları: bir ajan çalışırken güncellenen görünür tek bir devam eden çalışma mesajı'
title: İlerleme taslakları
x-i18n:
- generated_at: "2026-05-03T21:31:16Z"
+ generated_at: "2026-05-04T02:23:08Z"
model: gpt-5.5
provider: openai
- source_hash: 0fc0dff38232228b49872d66f4498f065675cdd3abf3a0f4003cb34fcbb7de8c
+ source_hash: 8ce19262800f1c3c3e505a3cf1d41ed5c3dffcbca168ad7b7afabdce62eee8fe
source_path: concepts/progress-drafts.md
workflow: 16
---
-İlerleme taslakları, konuşmayı geçici durum yanıtları yığınına dönüştürmeden
-uzun süren ajan turlarının sohbette canlı hissettirmesini sağlar.
+İlerleme taslakları, uzun süren aracı turlarının sohbet içinde canlı hissettirmesini sağlar ve bunu konuşmayı geçici durum yanıtları yığınına dönüştürmeden yapar.
-İlerleme taslakları etkinleştirildiğinde OpenClaw, görünür bir çalışma-devam
-mesajı oluşturur; ajan okurken, plan yaparken, araçları çağırırken veya onay
-beklerken bunu günceller ve kanal bunu güvenli şekilde yapabiliyorsa bu taslağı
-son yanıta dönüştürür.
+İlerleme taslakları etkinleştirildiğinde, OpenClaw yalnızca turun gerçek iş yaptığını kanıtlamasından sonra görünür bir devam eden çalışma mesajı oluşturur; ajan okurken, plan yaparken, araçları çağırırken veya onay beklerken bu mesajı günceller ve kanal bunu güvenli biçimde yapabildiğinde bu taslağı son yanıta dönüştürür.
```text
-Shelling
-- reading recent channel context
-- checking matching issues
-- preparing reply
+Shelling...
+📖 Read: from docs/concepts/progress-drafts.md
+🔎 Web Search: for "discord edit message"
+🛠️ Exec: run tests
```
-Araç ağırlıklı çalışma sırasında tek düzenli durum mesajı ve tur tamamlandığında
-son yanıt istediğinizde ilerleme taslaklarını kullanın.
+Araç yoğun iş sırasında tek bir düzenli durum mesajı ve tur tamamlandığında son yanıt istediğinizde ilerleme taslaklarını kullanın.
## Hızlı Başlangıç
@@ -49,73 +44,64 @@ son yanıt istediğinizde ilerleme taslaklarını kullanın.
}
```
-Bu genellikle yeterlidir. OpenClaw otomatik tek kelimelik bir etiket seçer,
-yararlı iş gerçekleşirken kompakt ilerleme satırları ekler ve o tur için yinelenen
-bağımsız ilerleme gevezeliğini bastırır.
+Bu genellikle yeterlidir. OpenClaw otomatik tek kelimelik bir etiket seçer, iş en az beş saniye sürdüğünde veya ikinci bir iş olayı yaydığında beklemeyi bırakır, yararlı iş gerçekleşirken kompakt ilerleme satırları ekler ve o tur için yinelenen bağımsız ilerleme sohbetini bastırır.
## Kullanıcıların Gördükleri
-Bir ilerleme taslağının iki parçası vardır:
+Bir ilerleme taslağının iki bölümü vardır:
-| Parça | Amaç |
-| ----------------- | ------------------------------------------------------------------ |
-| Etiket | `Thinking` veya `Shelling` gibi kısa bir başlık. |
-| İlerleme satırları | Araç çağrıları, görev adımları veya onaylar gibi kompakt çalışma güncellemeleri. |
+| Bölüm | Amaç |
+| ----------------- | ------------------------------------------------------------------------------------- |
+| Etiket | `Thinking...` veya `Shelling...` gibi kısa bir başlık. |
+| İlerleme satırları | Ayrıntılı çıktıyla aynı araç etiketlerini ve simgelerini kullanan kompakt çalışma güncellemeleri. |
-Etiket, ajan yanıtlamaya başladığında hemen görünür. İlerleme satırları yalnızca
-ajan yararlı iş güncellemeleri yaydığında eklenir. Mümkün olduğunda son yanıt
-taslağın yerini alır; aksi halde OpenClaw son yanıtı normal şekilde gönderir ve
-kanalın taşıma biçimine göre taslağı temizler veya güncellemeyi durdurur.
+Etiket, ajan anlamlı işe başladıktan ve ya beş saniye meşgul kaldıktan ya da ikinci bir iş olayı yaydıktan sonra görünür. Yalnızca düz metin yanıtları ilerleme taslağı göstermez. İlerleme satırları yalnızca ajan yararlı iş güncellemeleri yaydığında eklenir; örneğin `🛠️ Exec`, `🔎 Web Search` veya `✍️ Write: to /tmp/file`. Varsayılan olarak `/verbose` ile aynı kompakt açıklama modunu kullanırlar; hata ayıklarken ham komutların/ayrıntıların da eklenmesini istiyorsanız `agents.defaults.toolProgressDetail: "raw"` ayarlayın.
+Mümkün olduğunda son yanıt taslağın yerini alır; aksi durumda OpenClaw son yanıtı normal şekilde gönderir ve kanalın taşımasına göre taslağı temizler veya güncellemeyi durdurur.
## Bir Mod Seçin
-`channels..streaming.mode` görünür devam eden çalışma davranışını denetler:
+`channels..streaming.mode`, görünür devam eden çalışma davranışını denetler:
-| Mod | En uygun kullanım | Sohbette görünenler |
-| ---------- | --------------------------------- | ------------------------------------------------- |
-| `off` | Sessiz kanallar | Yalnızca son yanıt. |
-| `partial` | Yanıt metninin görünmesini izleme | En son yanıt metniyle düzenlenen tek taslak. |
-| `block` | Daha büyük yanıt önizleme parçaları | Daha büyük parçalar halinde güncellenen veya eklenen tek önizleme. |
-| `progress` | Araç ağırlıklı veya uzun süren turlar | Tek durum taslağı, ardından son yanıt. |
+| Mod | En uygun kullanım | Sohbette görünen |
+| ---------- | ---------------------------------- | ----------------------------------------------------- |
+| `off` | Sessiz kanallar | Yalnızca son yanıt. |
+| `partial` | Yanıt metninin görünmesini izlemek | En son yanıt metniyle düzenlenen tek bir taslak. |
+| `block` | Daha büyük yanıt önizleme parçaları | Daha büyük parçalarda güncellenen veya eklenen tek bir önizleme. |
+| `progress` | Araç yoğun veya uzun süren turlar | Tek bir durum taslağı, ardından son yanıt. |
-Kullanıcılar yanıt metninin token token akmasını izlemekten çok "ne oluyor" ile
-ilgileniyorsa `progress` seçin.
+Kullanıcılar yanıt metninin token token akmasını izlemekten çok “neler oluyor” sorusunu önemsediğinde `progress` seçin.
-Yanıtın kendisi ilerleme sinyaliyse `partial` seçin.
+Yanıtın kendisi ilerleme sinyali olduğunda `partial` seçin.
-Daha büyük metin parçalarında taslak önizleme güncellemeleri istiyorsanız
-`block` seçin. Discord ve Telegram üzerinde `streaming.mode: "block"` hâlâ
-önizleme akışıdır, normal blok teslimi değildir. Normal blok yanıtları
-istediğinizde `streaming.block.enabled` veya eski `blockStreaming` kullanın.
+Taslak önizleme güncellemelerini daha büyük metin parçaları halinde istediğinizde `block` seçin. Discord ve Telegram’da `streaming.mode: "block"` hâlâ önizleme akışıdır, normal blok teslimi değildir. Normal blok yanıtları istediğinizde `streaming.block.enabled` veya eski `blockStreaming` kullanın.
-## Etiketleri Yapılandırma
+## Etiketleri Yapılandırın
İlerleme etiketleri `channels..streaming.progress` altında bulunur.
-Varsayılan etiket `auto` değeridir; bu, OpenClaw'ın yerleşik tek kelimelik
-etiket havuzundan seçim yapar:
+Varsayılan etiket `auto` değeridir; bu, OpenClaw’ın yerleşik tek-kelime-ve-üç-nokta etiket havuzundan seçim yapar:
```text
-Thinking
-Shelling
-Scuttling
-Clawing
-Pinching
-Molting
-Bubbling
-Tiding
-Reefing
-Cracking
-Sifting
-Brining
-Nautiling
-Krilling
-Barnacling
-Lobstering
-Tidepooling
-Pearling
-Snapping
-Surfacing
+Thinking...
+Shelling...
+Scuttling...
+Clawing...
+Pinching...
+Molting...
+Bubbling...
+Tiding...
+Reefing...
+Cracking...
+Sifting...
+Brining...
+Nautiling...
+Krilling...
+Barnacling...
+Lobstering...
+Tidepooling...
+Pearling...
+Snapping...
+Surfacing...
```
Sabit bir etiket kullanın:
@@ -153,7 +139,7 @@ Kendi otomatik etiket havuzunuzu kullanın:
}
```
-Etiketi gizleyip yalnızca ilerleme satırlarını gösterin:
+Etiketi gizleyin ve yalnızca ilerleme satırlarını gösterin:
```json5
{
@@ -170,11 +156,30 @@ Etiketi gizleyip yalnızca ilerleme satırlarını gösterin:
}
```
-## İlerleme Satırlarını Denetleme
+## İlerleme Satırlarını Denetleyin
-İlerleme satırları ilerleme modunda varsayılan olarak etkindir. Bunlar gerçek
-çalışma olaylarından gelir: araç başlangıçları, öğe güncellemeleri, görev
-planları, onaylar, komut çıktısı, yama özetleri ve benzer ajan etkinliği.
+İlerleme satırları, ilerleme modunda varsayılan olarak etkindir. Bunlar gerçek çalışma olaylarından gelir: araç başlangıçları, öğe güncellemeleri, görev planları, onaylar, komut çıktısı, yama özetleri ve benzer ajan etkinlikleri.
+
+OpenClaw, ilerleme taslakları ve `/verbose` için aynı biçimlendiriciyi kullanır:
+
+```json5
+{
+ agents: {
+ defaults: {
+ toolProgressDetail: "explain", // explain | raw
+ },
+ },
+}
+```
+
+`"explain"` varsayılandır ve taslakları `🛠️ Exec: check JS syntax for /tmp/app.js` gibi kısa etiketlerle sabit tutar. `"raw"` mevcut olduğunda alttaki komutu/ayrıntıyı ekler; bu, hata ayıklarken yararlıdır ama sohbette daha gürültülüdür.
+
+Örneğin aynı komut, ayrıntı moduna bağlı olarak farklı görünür:
+
+| Mod | İlerleme satırı |
+| --------- | ------------------------------------------------------------------- |
+| `explain` | `🛠️ Exec: check JS syntax for /tmp/app.js` |
+| `raw` | `🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js` |
Kaç satırın görünür kalacağını sınırlayın:
@@ -193,7 +198,7 @@ Kaç satırın görünür kalacağını sınırlayın:
}
```
-Tek ilerleme taslağını koruyup araç ve görev satırlarını gizleyin:
+Tek ilerleme taslağını koruyun ancak araç ve görev satırlarını gizleyin:
```json5
{
@@ -210,78 +215,58 @@ Tek ilerleme taslağını koruyup araç ve görev satırlarını gizleyin:
}
```
-`toolProgress: false` ile OpenClaw yine de o tur için eski bağımsız araç ilerleme
-mesajlarını bastırır. Yapılandırılmışsa etiket dışında kanal son yanıta kadar
-görsel olarak sessiz kalır.
+`toolProgress: false` ile OpenClaw, o tur için eski bağımsız araç ilerleme mesajlarını yine de bastırır. Yapılandırılmış bir etiket varsa o etiket dışında, kanal son yanıta kadar görsel olarak sessiz kalır.
## Kanal Davranışı
-Her kanal desteklediği en temiz taşıma biçimini kullanır:
+Her kanal desteklediği en temiz taşımayı kullanır:
-| Kanal | İlerleme taşıma biçimi | Notlar |
-| --------------- | -------------------------------------- | --------------------------------------------------------------------- |
-| Discord | Tek mesaj gönderir, sonra düzenler. | Son metin, güvenli tek önizleme mesajına sığdığında yerinde düzenlenir. |
-| Matrix | Tek olay gönderir, sonra düzenler. | Hesap düzeyindeki akış yapılandırması hesap düzeyindeki taslakları denetler. |
-| Microsoft Teams | Kişisel sohbetlerde yerel Teams akışı. | `streaming.mode: "block"` Teams blok teslimine eşlenir. |
-| Slack | Yerel akış veya düzenlenebilir taslak gönderisi. | Konu kullanılabilirliği, yerel akışın kullanılıp kullanılamayacağını etkiler. |
-| Telegram | Tek mesaj gönderir, sonra düzenler. | Eski görünür taslaklar, son zaman damgaları yararlı kalsın diye değiştirilebilir. |
-| Mattermost | Düzenlenebilir taslak gönderisi. | Araç etkinliği aynı taslak tarzı gönderiye katlanır. |
+| Kanal | İlerleme taşıması | Notlar |
+| --------------- | ------------------------------------------ | ------------------------------------------------------------------------- |
+| Discord | Tek bir mesaj gönderir, sonra düzenler. | Son metin, tek bir güvenli önizleme mesajına sığdığında yerinde düzenlenir. |
+| Matrix | Tek bir olay gönderir, sonra düzenler. | Hesap düzeyi akış yapılandırması hesap düzeyi taslakları denetler. |
+| Microsoft Teams | Kişisel sohbetlerde yerel Teams akışı. | `streaming.mode: "block"` Teams blok teslimine eşlenir. |
+| Slack | Yerel akış veya düzenlenebilir taslak gönderisi. | İş parçacığı kullanılabilirliği, yerel akışın kullanılıp kullanılamayacağını etkiler. |
+| Telegram | Tek bir mesaj gönderir, sonra düzenler. | Daha eski görünür taslaklar, son zaman damgalarının yararlı kalması için değiştirilebilir. |
+| Mattermost | Düzenlenebilir taslak gönderisi. | Araç etkinliği aynı taslak tarzı gönderiye katlanır. |
-Güvenli düzenleme desteği olmayan kanallar genellikle yazıyor göstergelerine veya
-yalnızca son teslimata geri döner.
+Güvenli düzenleme desteği olmayan kanallar genellikle yazıyor göstergelerine veya yalnızca son yanıt teslimine geri döner.
## Sonlandırma
Son yanıt hazır olduğunda OpenClaw sohbeti temiz tutmaya çalışır:
-- Taslak güvenli şekilde son yanıta dönüşebiliyorsa OpenClaw onu yerinde düzenler.
-- Kanal yerel ilerleme akışı kullanıyorsa OpenClaw, yerel taşıma son metni kabul
- ettiğinde bu akışı sonlandırır.
-- Son yanıtta medya, onay istemi, açık yanıt hedefi, çok fazla parça veya
- başarısız düzenleme/gönderme varsa OpenClaw son yanıtı normal kanal teslim
- yolundan gönderir.
+- Taslak güvenli biçimde son yanıta dönüşebiliyorsa OpenClaw bunu yerinde düzenler.
+- Kanal yerel ilerleme akışı kullanıyorsa, yerel taşıma son metni kabul ettiğinde OpenClaw bu akışı sonlandırır.
+- Son yanıtta medya, bir onay istemi, açık bir yanıt hedefi, çok fazla parça veya başarısız bir düzenleme/gönderme varsa OpenClaw son yanıtı normal kanal teslim yolu üzerinden gönderir.
-Geri dönüş yolu bilinçli bir tercihtir. Metni kaybetmekten, bir yanıtı yanlış
-konuya bağlamaktan veya taslağın üzerine kanalın güvenli şekilde temsil edemeyeceği
-bir payload yazmaktansa yeni bir son yanıt göndermek daha iyidir.
+Geri dönüş yolu bilinçli bir tercihtir. Metni kaybetmekten, yanıtı yanlış iş parçacığına bağlamaktan veya taslağı kanalın güvenli biçimde temsil edemeyeceği bir yükle üzerine yazmaktansa yeni bir son yanıt göndermek daha iyidir.
## Sorun Giderme
**Yalnızca son yanıtı görüyorum.**
-Mesajı işleyen hesap veya kanal için `channels..streaming.mode`
-değerinin `progress` olarak ayarlandığını kontrol edin. Bazı grup veya alıntılı
-yanıt yolları, kanal doğru mesajı güvenli şekilde düzenleyemediğinde bir tur için
-taslak önizlemelerini devre dışı bırakabilir.
+Mesajı işleyen hesap veya kanal için `channels..streaming.mode` değerinin `progress` olarak ayarlandığını kontrol edin. Bazı grup veya alıntı-yanıt yolları, kanal doğru mesajı güvenli biçimde düzenleyemediğinde bir tur için taslak önizlemelerini devre dışı bırakabilir.
**Etiketi görüyorum ama araç satırlarını görmüyorum.**
-`streaming.progress.toolProgress` ayarını kontrol edin. `false` ise OpenClaw tek
-taslak davranışını korur ancak araç ve görev ilerleme satırlarını gizler.
+`streaming.progress.toolProgress` değerini kontrol edin. `false` ise OpenClaw tek taslak davranışını korur ancak araç ve görev ilerleme satırlarını gizler.
**Düzenlenmiş taslak yerine yeni bir son mesaj görüyorum.**
-Bu bir güvenlik geri dönüşüdür. Medya yanıtlarında, uzun yanıtlarda, açık yanıt
-hedeflerinde, eski Telegram taslaklarında, eksik Slack konu hedeflerinde, silinmiş
-önizleme mesajlarında veya başarısız yerel akış sonlandırmasında gerçekleşebilir.
+Bu bir güvenlik geri dönüşüdür. Medya yanıtlarında, uzun yanıtlarda, açık yanıt hedeflerinde, eski Telegram taslaklarında, eksik Slack iş parçacığı hedeflerinde, silinmiş önizleme mesajlarında veya başarısız yerel akış sonlandırmasında gerçekleşebilir.
**Hâlâ bağımsız ilerleme mesajları görüyorum.**
-İlerleme modu, bir taslak etkin olduğunda varsayılan bağımsız araç ilerleme
-mesajlarını bastırır. Bağımsız mesajlar hâlâ görünüyorsa turun gerçekten ilerleme
-modunu kullandığını ve `streaming.mode: "off"` ya da o mesaj için taslak
-oluşturamayan bir kanal yolu olmadığını doğrulayın.
+İlerleme modu, taslak etkin olduğunda varsayılan bağımsız araç ilerleme mesajlarını bastırır. Bağımsız mesajlar hâlâ görünüyorsa, turun gerçekten ilerleme modunu kullandığını ve `streaming.mode: "off"` ya da o mesaj için taslak oluşturamayan bir kanal yolu kullanmadığını doğrulayın.
-**Teams, Discord veya Telegram'dan farklı davranıyor.**
+**Teams, Discord veya Telegram’dan farklı davranıyor.**
-Microsoft Teams, genel gönder-ve-düzenle önizleme taşıma biçimi yerine kişisel
-sohbetlerde yerel akış kullanır. Teams ayrıca `streaming.mode: "block"` değerini
-Teams blok teslimi olarak ele alır; çünkü Discord ve Telegram tarafından kullanılan
-aynı taslak önizleme blok moduna sahip değildir.
+Microsoft Teams, kişisel sohbetlerde genel gönder-ve-düzenle önizleme taşıması yerine yerel bir akış kullanır. Teams ayrıca `streaming.mode: "block"` değerini Teams blok teslimi olarak ele alır, çünkü Discord ve Telegram tarafından kullanılan aynı taslak-önizleme blok moduna sahip değildir.
## İlgili
-- [Akış ve parçalara ayırma](/tr/concepts/streaming)
+- [Akış ve parçalama](/tr/concepts/streaming)
- [Mesajlar](/tr/concepts/messages)
- [Kanal yapılandırması](/tr/gateway/config-channels)
- [Discord](/tr/channels/discord)
diff --git a/docs/tr/concepts/queue-steering.md b/docs/tr/concepts/queue-steering.md
index aca710e00..5bff1d364 100644
--- a/docs/tr/concepts/queue-steering.md
+++ b/docs/tr/concepts/queue-steering.md
@@ -1,72 +1,75 @@
---
read_when:
- - Bir ajan araçları kullanırken steer'ın nasıl davrandığını açıklama
+ - Bir ajan araçları kullanırken yönlendirmenin nasıl davrandığını açıklama
- Etkin çalıştırma kuyruğu davranışını veya çalışma zamanı yönlendirme entegrasyonunu değiştirme
- - steer, queue, collect ve followup modlarını karşılaştırma
-summary: Etkin çalıştırma yönlendirmesinin çalışma zamanı sınırlarında iletileri nasıl kuyruğa aldığı
+ - steer, queue, collect ve followup modlarının karşılaştırılması
+summary: Aktif çalıştırma yönlendirmesi, çalışma zamanı sınırlarında mesajları nasıl kuyruğa alır
title: Yönlendirme kuyruğu
x-i18n:
- generated_at: "2026-04-30T09:18:43Z"
+ generated_at: "2026-05-04T02:23:42Z"
model: gpt-5.5
provider: openai
- source_hash: 560390c8c26bcce95e0137f4336ad6e62bc3e2344cb15fd12ca3cfe4a85a8acc
+ source_hash: c8df35b127ae0c1e1b3b684a1f63ce33874eb3d0b7bf9d0df7cb9dfce093090a
source_path: concepts/queue-steering.md
workflow: 16
---
-Bir oturum çalışması zaten akış yaparken bir mesaj geldiğinde OpenClaw, aynı oturum için başka bir çalışma başlatmak yerine bu mesajı etkin çalışma zamanına gönderebilir. Herkese açık modlar çalışma zamanından bağımsızdır; Pi ve yerel Codex app-server düzeneği teslim ayrıntılarını farklı uygular.
+Bir oturum çalışması zaten akış halindeyken bir mesaj geldiğinde, OpenClaw aynı oturum için başka bir çalışma başlatmak yerine bu mesajı etkin çalışma zamanına gönderebilir. Genel modlar çalışma zamanından bağımsızdır; Pi ve yerel Codex app-server düzeneği teslim ayrıntılarını farklı şekilde uygular.
## Çalışma zamanı sınırı
-Yönlendirme, zaten çalışmakta olan bir araç çağrısını kesintiye uğratmaz. Pi, kuyruğa alınmış yönlendirme mesajlarını model sınırlarında denetler:
+Yönlendirme, zaten çalışmakta olan bir araç çağrısını kesintiye uğratmaz. Pi, model sınırlarında kuyruktaki yönlendirme mesajlarını denetler:
1. Asistan araç çağrıları ister.
-2. Pi, mevcut asistan mesajının araç çağrısı toplu işini yürütür.
+2. Pi, mevcut asistan mesajının araç çağrısı grubunu yürütür.
3. Pi, tur sonu olayını yayar.
-4. Pi, kuyruğa alınmış yönlendirme mesajlarını boşaltır.
+4. Pi, kuyruktaki yönlendirme mesajlarını boşaltır.
5. Pi, bu mesajları bir sonraki LLM çağrısından önce kullanıcı mesajları olarak ekler.
-Bu, araç sonuçlarını onları isteyen asistan mesajıyla eşleşmiş tutar, ardından bir sonraki model çağrısının en son kullanıcı girdisini görmesini sağlar.
+Bu, araç sonuçlarını onları isteyen asistan mesajıyla eşlenmiş tutar, ardından bir sonraki model çağrısının en son kullanıcı girdisini görmesini sağlar.
Yerel Codex app-server düzeneği, Pi'nin dahili yönlendirme kuyruğu yerine `turn/steer` sunar. OpenClaw aynı modları burada uyarlar:
-- `steer`, yapılandırılmış sessizlik penceresi boyunca kuyruğa alınmış mesajları toplar, ardından toplanan tüm kullanıcı girdileriyle varış sırasına göre tek bir `turn/steer` isteği gönderir.
-- `queue`, ayrı `turn/steer` istekleri göndererek eski serileştirilmiş biçimi korur.
-- `followup`, `collect`, `steer-backlog` ve `interrupt`, etkin Codex turunun etrafında OpenClaw'a ait kuyruk davranışı olarak kalır.
+- `steer`, kuyruktaki mesajları yapılandırılmış sessiz pencere boyunca gruplar, ardından toplanan tüm kullanıcı girdileriyle geliş sırasına göre tek bir `turn/steer` isteği gönderir.
+- `queue`, ayrı `turn/steer` istekleri göndererek eski serileştirilmiş yapıyı korur.
+- `followup`, `collect`, `steer-backlog` ve `interrupt`, etkin Codex turu etrafında OpenClaw tarafından sahip olunan kuyruk davranışı olarak kalır.
-Codex inceleme ve manuel Compaction turları aynı tur yönlendirmesini reddeder. Bir çalışma zamanı yönlendirmeyi kabul edemediğinde OpenClaw, ilgili mod izin veriyorsa takip kuyruğuna geri döner.
+Codex inceleme ve manuel Compaction turları aynı tur yönlendirmesini reddeder. Bir çalışma zamanı yönlendirmeyi kabul edemediğinde, OpenClaw bu modun izin verdiği durumlarda followup kuyruğuna geri döner.
+
+Bu sayfa, normal gelen mesajlar için kuyruk modu yönlendirmesini açıklar. Açık `/steer ` komutu için bkz. [Steer](/tools/steer).
## Modlar
-| Mod | Etkin çalışma davranışı | Sonraki takip davranışı |
-| --------------- | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------- |
-| `steer` | Kuyruğa alınmış tüm yönlendirme mesajlarını bir sonraki çalışma zamanı sınırında birlikte enjekte eder. Varsayılan budur. | Yalnızca yönlendirme kullanılamadığında takibe geri döner. |
-| `queue` | Eski tek tek yönlendirme. Pi, model sınırı başına bir kuyruğa alınmış mesaj enjekte eder; Codex ayrı `turn/steer` istekleri gönderir. | Yalnızca yönlendirme kullanılamadığında takibe geri döner. |
-| `steer-backlog` | `steer` ile aynı etkin çalışma yönlendirme davranışı. | Aynı mesajı daha sonraki bir takip turu için de tutar. |
-| `followup` | Mevcut çalışmayı yönlendirmez. | Kuyruğa alınmış mesajları daha sonra çalıştırır. |
-| `collect` | Mevcut çalışmayı yönlendirmez. | Uyumlu kuyruğa alınmış mesajları debounce penceresinden sonra tek bir sonraki turda birleştirir. |
-| `interrupt` | Etkin çalışmayı iptal eder, ardından en yeni mesajı başlatır. | Yok. |
+| Mod | Etkin çalışma davranışı | Sonraki followup davranışı |
+| --------------- | ---------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------- |
+| `steer` | Kuyruktaki tüm yönlendirme mesajlarını bir sonraki çalışma zamanı sınırında birlikte enjekte eder. Varsayılan budur. | Yalnızca yönlendirme kullanılamadığında followup'a geri döner. |
+| `queue` | Eski tek tek yönlendirme. Pi her model sınırında kuyruktaki bir mesajı enjekte eder; Codex ayrı `turn/steer` istekleri gönderir. | Yalnızca yönlendirme kullanılamadığında followup'a geri döner. |
+| `steer-backlog` | `steer` ile aynı etkin çalışma yönlendirme davranışı. | Aynı mesajı daha sonraki bir followup turu için de tutar. |
+| `followup` | Geçerli çalışmayı yönlendirmez. | Kuyruktaki mesajları daha sonra çalıştırır. |
+| `collect` | Geçerli çalışmayı yönlendirmez. | Uyumlu kuyruktaki mesajları bekletme penceresinden sonra tek bir sonraki turda birleştirir. |
+| `interrupt` | Etkin çalışmayı iptal eder, ardından en yeni mesajı başlatır. | Yok. |
## Seri mesaj örneği
-Aracı bir araç çağrısı yürütürken dört kullanıcı mesaj gönderirse:
+Temsilci bir araç çağrısı yürütürken dört kullanıcı mesaj gönderirse:
-- `steer`: etkin çalışma zamanı, bir sonraki model kararından önce dört mesajın tümünü varış sırasına göre alır. Pi bunları bir sonraki model sınırında boşaltır; Codex bunları tek bir toplu `turn/steer` olarak alır.
-- `queue`: eski serileştirilmiş yönlendirme. Pi, kuyruğa alınmış mesajları tek tek enjekte eder; Codex ayrı `turn/steer` istekleri alır.
-- `collect`: OpenClaw etkin çalışma bitene kadar bekler, ardından debounce penceresinden sonra uyumlu kuyruğa alınmış mesajlarla bir takip turu oluşturur.
+- `steer`: etkin çalışma zamanı, bir sonraki model kararından önce dört mesajın tamamını geliş sırasına göre alır. Pi bunları bir sonraki model sınırında boşaltır; Codex bunları tek bir gruplu `turn/steer` olarak alır.
+- `queue`: eski serileştirilmiş yönlendirme. Pi kuyruktaki mesajları tek tek enjekte eder; Codex ayrı `turn/steer` istekleri alır.
+- `collect`: OpenClaw etkin çalışma sona erene kadar bekler, ardından bekletme penceresinden sonra uyumlu kuyruktaki mesajlarla bir followup turu oluşturur.
## Kapsam
-Yönlendirme her zaman mevcut etkin oturum çalışmasını hedefler. Yeni bir oturum oluşturmaz, etkin çalışmanın araç politikasını değiştirmez veya mesajları gönderene göre bölmez. Çok kullanıcılı kanallarda, gelen istemler zaten gönderen ve yönlendirme bağlamını içerir; bu nedenle bir sonraki model çağrısı her mesajı kimin gönderdiğini görebilir.
+Yönlendirme her zaman geçerli etkin oturum çalışmasını hedefler. Yeni bir oturum oluşturmaz, etkin çalışmanın araç politikasını değiştirmez veya mesajları gönderene göre bölmez. Çok kullanıcılı kanallarda gelen istemler zaten gönderen ve rota bağlamını içerir, bu nedenle bir sonraki model çağrısı her mesajı kimin gönderdiğini görebilir.
-OpenClaw'ın uyumlu mesajları birleştirebilen ve takip kuyruğu düşürme politikasını koruyabilen daha sonraki bir takip turu oluşturmasını istediğinizde `collect` kullanın. `queue` yalnızca eski tek tek yönlendirme davranışına ihtiyacınız olduğunda kullanın.
+OpenClaw'ın uyumlu mesajları birleştirebilen ve followup kuyruğu bırakma politikasını koruyabilen daha sonraki bir followup turu oluşturmasını istediğinizde `collect` kullanın. `queue` yalnızca eski tek tek yönlendirme davranışına ihtiyacınız olduğunda kullanın.
-## Debounce
+## Bekletme
-`messages.queue.debounceMs`, `collect`, `followup`, `steer-backlog` ve etkin çalışma yönlendirmesi kullanılamadığında `steer` geri dönüşü dahil olmak üzere takip teslimine uygulanır. Pi için etkin `steer` debounce zamanlayıcısını kullanmaz, çünkü Pi mesajları bir sonraki model sınırına kadar doğal olarak toplar. Yerel Codex düzeneği için OpenClaw, toplu `turn/steer` göndermeden önce sessizlik penceresi olarak aynı debounce değerini kullanır.
+`messages.queue.debounceMs`, `collect`, `followup`, `steer-backlog` ve etkin çalışma yönlendirmesi kullanılamadığında `steer` geri dönüşü dahil olmak üzere followup teslimine uygulanır. Pi için etkin `steer` kendisi bekletme zamanlayıcısını kullanmaz, çünkü Pi mesajları doğal olarak bir sonraki model sınırına kadar gruplar. Yerel Codex düzeneği için OpenClaw, gruplu `turn/steer` göndermeden önce sessiz pencere olarak aynı debounce değerini kullanır.
## İlgili
- [Komut kuyruğu](/tr/concepts/queue)
+- [Steer](/tools/steer)
- [Mesajlar](/tr/concepts/messages)
-- [Aracı döngüsü](/tr/concepts/agent-loop)
+- [Temsilci döngüsü](/tr/concepts/agent-loop)
diff --git a/docs/tr/concepts/queue.md b/docs/tr/concepts/queue.md
index 3b96db219..c0841e275 100644
--- a/docs/tr/concepts/queue.md
+++ b/docs/tr/concepts/queue.md
@@ -1,60 +1,60 @@
---
read_when:
- - Otomatik yanıtın yürütülmesini veya eşzamanlılığını değiştirme
+ - Otomatik yanıt yürütmesini veya eşzamanlılığını değiştirme
- /queue modlarını veya mesaj yönlendirme davranışını açıklama
-summary: Otomatik yanıt kuyruğu modları, varsayılan değerleri ve oturum başına geçersiz kılmaları
+summary: Otomatik yanıt kuyruğu modları, varsayılanları ve oturum başına geçersiz kılmalar
title: Komut kuyruğu
x-i18n:
- generated_at: "2026-05-02T08:52:46Z"
+ generated_at: "2026-05-04T02:23:20Z"
model: gpt-5.5
provider: openai
- source_hash: c59ea6802d8bf526f4005db3b1baa87d96a23d561c916f91520e8e641fbaf74f
+ source_hash: 085aebe7059020f027eb08bb382cce2d253ea117eed0ca77d6ffd208f295acb1
source_path: concepts/queue.md
workflow: 16
---
-Gelen otomatik yanıt çalıştırmalarını (tüm kanallar) küçük bir süreç içi kuyruk üzerinden serileştirerek birden çok aracı çalıştırmasının çakışmasını önleriz; oturumlar arasında güvenli paralelliğe yine de izin veririz.
+Gelen otomatik yanıt çalıştırmalarını (tüm kanallar) küçük bir süreç içi kuyruk üzerinden serileştirerek birden fazla agent çalıştırmasının çakışmasını önlerken oturumlar arasında güvenli paralelliğe izin veririz.
## Neden
-- Otomatik yanıt çalıştırmaları pahalı olabilir (LLM çağrıları) ve birden çok gelen mesaj birbirine yakın zamanda ulaştığında çakışabilir.
-- Serileştirme, paylaşılan kaynaklar (oturum dosyaları, günlükler, CLI stdin) için rekabeti önler ve üst akış hız sınırlarına takılma olasılığını azaltır.
+- Otomatik yanıt çalıştırmaları pahalı olabilir (LLM çağrıları) ve kısa aralıklarla birden fazla gelen mesaj ulaştığında çakışabilir.
+- Serileştirme, paylaşılan kaynaklar (oturum dosyaları, günlükler, CLI stdin) için rekabeti önler ve upstream hız sınırlarına takılma olasılığını azaltır.
-## Nasıl çalışır
+## Nasıl çalışır?
-- Şerit farkındalıklı bir FIFO kuyruğu, her şeridi yapılandırılabilir bir eşzamanlılık üst sınırıyla boşaltır (yapılandırılmamış şeritler için varsayılan 1; main varsayılanı 4, subagent varsayılanı 8).
-- `runEmbeddedPiAgent`, oturum başına yalnızca bir etkin çalıştırmayı garanti etmek için **oturum anahtarına** göre kuyruğa alır (şerit `session:`).
-- Ardından her oturum çalıştırması bir **global şeride** (`main` varsayılan) alınır; böylece genel paralellik `agents.defaults.maxConcurrent` ile sınırlandırılır.
-- Ayrıntılı günlükleme etkin olduğunda, kuyruğa alınan çalıştırmalar başlamadan önce ~2 sn’den fazla beklediyse kısa bir bildirim üretir.
-- Yazıyor göstergeleri yine kuyruğa alma anında hemen tetiklenir (kanal destekliyorsa); bu yüzden sıranın bize gelmesini beklerken kullanıcı deneyimi değişmez.
+- Şerit farkındalığı olan bir FIFO kuyruğu, her şeridi yapılandırılabilir bir eşzamanlılık sınırıyla boşaltır (yapılandırılmamış şeritler için varsayılan 1; main varsayılanı 4, subagent varsayılanı 8).
+- `runEmbeddedPiAgent`, oturum başına yalnızca bir etkin çalıştırmayı garanti etmek için **oturum anahtarına** göre kuyruğa alır (`session:` şeridi).
+- Ardından her oturum çalıştırması bir **küresel şeride** (`main` varsayılan) kuyruğa alınır; böylece toplam paralellik `agents.defaults.maxConcurrent` ile sınırlandırılır.
+- Ayrıntılı günlükleme etkinleştirildiğinde, kuyruğa alınan çalıştırmalar başlamadan önce ~2 saniyeden uzun beklediyse kısa bir bildirim üretir.
+- Yazıyor göstergeleri, destekleniyorsa kanalda, kuyruğa alındığında hâlâ hemen tetiklenir; bu yüzden kullanıcı deneyimi sıra beklerken değişmez.
## Varsayılanlar
-Ayarlanmadığında tüm gelen kanal yüzeyleri şunları kullanır:
+Ayarlanmadığında, tüm gelen kanal yüzeyleri şunları kullanır:
- `mode: "steer"`
- `debounceMs: 500`
- `cap: 20`
- `drop: "summarize"`
-`steer`, etkin model turunu ikinci bir oturum çalıştırması başlatmadan duyarlı tuttuğu için varsayılandır. Bir sonraki model sınırından önce gelen tüm yönlendirme mesajlarını boşaltır. Geçerli çalıştırma yönlendirmeyi kabul edemiyorsa OpenClaw, yedek olarak bir takip kuyruk girdisine geçer.
+`steer` varsayılandır çünkü ikinci bir oturum çalıştırması başlatmadan etkin model turunu duyarlı tutar. Bir sonraki model sınırından önce gelen tüm yönlendirme mesajlarını boşaltır. Geçerli çalıştırma yönlendirmeyi kabul edemiyorsa OpenClaw bir takip kuyruğu girdisine geri döner.
## Kuyruk modları
-Gelen mesajlar geçerli çalıştırmayı yönlendirebilir, takip turunu bekleyebilir veya ikisini birden yapabilir:
+Gelen mesajlar geçerli çalıştırmayı yönlendirebilir, bir takip turunu bekleyebilir veya ikisini de yapabilir:
-- `steer`: yönlendirme mesajlarını etkin çalışma zamanına kuyruğa alır. Pi, bekleyen tüm yönlendirme mesajlarını **geçerli asistan turu araç çağrılarını yürütmeyi bitirdikten sonra**, bir sonraki LLM çağrısından önce iletir; Codex app-server tek bir toplu `turn/steer` alır. Çalıştırma etkin olarak akış vermiyorsa veya yönlendirme kullanılamıyorsa OpenClaw, yedek olarak bir takip kuyruk girdisine geçer.
-- `queue` (eski): eski tek tek yönlendirme. Pi, her model sınırında kuyruğa alınmış bir yönlendirme mesajı iletir; Codex app-server ayrı `turn/steer` istekleri alır. Önceki serileştirilmiş davranışa ihtiyacınız yoksa `steer` kullanın.
-- `followup`: her mesajı, geçerli çalıştırma bittikten sonraki bir aracı turu için kuyruğa alır.
-- `collect`: kuyruktaki mesajları sessizlik penceresinden sonra **tek** bir takip turunda birleştirir. Mesajlar farklı kanalları/iş parçacıklarını hedefliyorsa yönlendirmeyi korumak için ayrı ayrı boşaltılır.
+- `steer`: yönlendirme mesajlarını etkin runtime içine kuyruğa alır. Pi, bekleyen tüm yönlendirme mesajlarını **geçerli assistant turu araç çağrılarını yürütmeyi bitirdikten sonra**, bir sonraki LLM çağrısından önce teslim eder; Codex app-server tek bir toplu `turn/steer` alır. Çalıştırma etkin olarak akış yapmıyorsa veya yönlendirme kullanılamıyorsa OpenClaw bir takip kuyruğu girdisine geri döner.
+- `queue` (eski): eski, tek seferde bir mesaj yönlendirmesi. Pi, her model sınırında kuyruğa alınmış bir yönlendirme mesajı teslim eder; Codex app-server ayrı `turn/steer` istekleri alır. Önceki serileştirilmiş davranışa ihtiyacınız yoksa `steer` tercih edin.
+- `followup`: her mesajı, geçerli çalıştırma bittikten sonra daha sonraki bir agent turu için kuyruğa alır.
+- `collect`: kuyruğa alınmış mesajları, sessiz pencerenin ardından **tek** bir takip turunda birleştirir. Mesajlar farklı kanalları/iş parçacıklarını hedefliyorsa yönlendirmeyi korumak için ayrı ayrı boşaltılır.
- `steer-backlog` (diğer adıyla `steer+backlog`): şimdi yönlendirir **ve** aynı mesajı bir takip turu için korur.
- `interrupt` (eski): o oturumun etkin çalıştırmasını iptal eder, ardından en yeni mesajı çalıştırır.
-Steer-backlog, yönlendirilen çalıştırmadan sonra bir takip yanıtı alabileceğiniz anlamına gelir; bu yüzden akış yüzeyleri yinelenmiş gibi görünebilir. Gelen mesaj başına tek yanıt istiyorsanız `collect`/`steer` kullanın.
+Steer-backlog, yönlendirilen çalıştırmadan sonra bir takip yanıtı alabileceğiniz anlamına gelir; bu nedenle akış yüzeylerinde yinelenen yanıtlar gibi görünebilir. Gelen mesaj başına tek yanıt istiyorsanız `collect`/`steer` tercih edin.
-Çalışma zamanına özgü zamanlama ve bağımlılık davranışı için bkz. [Yönlendirme kuyruğu](/tr/concepts/queue-steering).
+Runtime’a özgü zamanlama ve bağımlılık davranışı için bkz. [Yönlendirme kuyruğu](/tr/concepts/queue-steering). Açık `/steer ` komutu için bkz. [Yönlendir](/tools/steer).
-Global olarak veya kanal başına `messages.queue` üzerinden yapılandırın:
+`messages.queue` üzerinden küresel olarak veya kanal başına yapılandırın:
```json5
{
@@ -72,26 +72,26 @@ Global olarak veya kanal başına `messages.queue` üzerinden yapılandırın:
## Kuyruk seçenekleri
-Seçenekler `followup`, `collect` ve `steer-backlog` için geçerlidir (ayrıca yönlendirme takip davranışına geri düştüğünde `steer` veya eski `queue` için de geçerlidir):
+Seçenekler `followup`, `collect` ve `steer-backlog` için geçerlidir (ayrıca yönlendirme takibe geri döndüğünde `steer` veya eski `queue` için de geçerlidir):
-- `debounceMs`: kuyruğa alınmış takipleri boşaltmadan önceki sessizlik penceresi. Yalın sayılar milisaniyedir; `/queue` seçenekleri tarafından `ms`, `s`, `m`, `h` ve `d` birimleri kabul edilir.
-- `cap`: oturum başına kuyruğa alınabilecek en fazla mesaj sayısı. `1` altındaki değerler yok sayılır.
-- `drop: "summarize"`: varsayılan. Gerektiğinde en eski kuyruk girdilerini düşürür, kompakt özetleri korur ve bunları sentetik bir takip istemi olarak enjekte eder.
-- `drop: "old"`: gerektiğinde en eski kuyruk girdilerini, özetleri korumadan düşürür.
+- `debounceMs`: kuyruğa alınmış takipleri boşaltmadan önceki sessiz pencere. Yalın sayılar milisaniyedir; `/queue` seçenekleri `ms`, `s`, `m`, `h` ve `d` birimlerini kabul eder.
+- `cap`: oturum başına en fazla kuyruğa alınmış mesaj sayısı. `1` altındaki değerler yok sayılır.
+- `drop: "summarize"`: varsayılan. Gerektikçe en eski kuyruk girdilerini düşürür, kompakt özetleri korur ve bunları sentetik bir takip istemi olarak ekler.
+- `drop: "old"`: özetleri korumadan, gerektikçe en eski kuyruk girdilerini düşürür.
- `drop: "new"`: kuyruk zaten doluyken en yeni mesajı reddeder.
Varsayılanlar: `debounceMs: 500`, `cap: 20`, `drop: summarize`.
-## Öncelik sırası
+## Öncelik
-Mod seçimi için OpenClaw şunları çözümler:
+Mod seçimi için OpenClaw şu sırayla çözümler:
1. Satır içi veya saklanan oturum başına `/queue` geçersiz kılması.
2. `messages.queue.byChannel.`.
3. `messages.queue.mode`.
4. Varsayılan `steer`.
-Seçeneklerde, satır içi veya saklanan `/queue` seçenekleri yapılandırmaya göre önceliklidir. Ardından kanala özgü debounce (`messages.queue.debounceMsByChannel`), Plugin debounce varsayılanları, global `messages.queue` seçenekleri ve yerleşik varsayılanlar uygulanır. `cap` ve `drop`, kanal başına yapılandırma anahtarları değil, global/oturum seçenekleridir.
+Seçenekler için satır içi veya saklanan `/queue` seçenekleri yapılandırmaya göre önceliklidir. Ardından kanala özgü debounce (`messages.queue.debounceMsByChannel`), Plugin debounce varsayılanları, küresel `messages.queue` seçenekleri ve yerleşik varsayılanlar uygulanır. `cap` ve `drop` küresel/oturum seçenekleridir; kanal başına yapılandırma anahtarları değildir.
## Oturum başına geçersiz kılmalar
@@ -101,21 +101,22 @@ Seçeneklerde, satır içi veya saklanan `/queue` seçenekleri yapılandırmaya
## Kapsam ve garantiler
-- Gateway yanıt hattını kullanan tüm gelen kanallardaki otomatik yanıt aracı çalıştırmaları için geçerlidir (WhatsApp web, Telegram, Slack, Discord, Signal, iMessage, webchat vb.).
-- Varsayılan şerit (`main`), gelenler + ana Heartbeat’ler için süreç çapındadır; birden çok oturumun paralel çalışmasına izin vermek için `agents.defaults.maxConcurrent` ayarlayın.
-- Ek şeritler bulunabilir (örn. `cron`, `cron-nested`, `nested`, `subagent`); böylece arka plan işleri gelen yanıtları engellemeden paralel çalışabilir. Yalıtılmış Cron aracı turları, iç aracı yürütmeleri `cron-nested` kullanırken bir `cron` yuvası tutar; ikisi de `cron.maxConcurrentRuns` kullanır. Paylaşılan Cron dışı `nested` akışları kendi şerit davranışlarını korur. Bu ayrılmış çalıştırmalar [arka plan görevleri](/tr/automation/tasks) olarak izlenir.
-- Oturum başına şeritler, belirli bir oturuma aynı anda yalnızca bir aracı çalıştırmasının dokunmasını garanti eder.
+- Gateway yanıt hattını kullanan tüm gelen kanallardaki otomatik yanıt agent çalıştırmaları için geçerlidir (WhatsApp web, Telegram, Slack, Discord, Signal, iMessage, webchat vb.).
+- Varsayılan şerit (`main`), gelenler + ana Heartbeat’ler için süreç genelindedir; birden fazla oturuma paralel izin vermek için `agents.defaults.maxConcurrent` değerini ayarlayın.
+- Ek şeritler bulunabilir (örn. `cron`, `cron-nested`, `nested`, `subagent`), böylece arka plan işleri gelen yanıtları engellemeden paralel çalışabilir. İzole cron agent turları, iç agent yürütmeleri `cron-nested` kullanırken bir `cron` yuvası tutar; ikisi de `cron.maxConcurrentRuns` kullanır. Paylaşılan cron dışı `nested` akışları kendi şerit davranışlarını korur. Bu ayrılmış çalıştırmalar [arka plan görevleri](/tr/automation/tasks) olarak izlenir.
+- Oturum başına şeritler, belirli bir oturuma aynı anda yalnızca bir agent çalıştırmasının dokunmasını garanti eder.
- Harici bağımlılık veya arka plan worker iş parçacığı yoktur; saf TypeScript + promise’ler.
## Sorun giderme
- Komutlar takılmış gibi görünüyorsa ayrıntılı günlükleri etkinleştirin ve kuyruğun boşaldığını doğrulamak için “queued for …ms” satırlarını arayın.
- Kuyruk derinliğine ihtiyacınız varsa ayrıntılı günlükleri etkinleştirin ve kuyruk zamanlama satırlarını izleyin.
-- Bir turu kabul edip ardından ilerleme üretmeyi durduran Codex app-server çalıştırmaları Codex bağdaştırıcısı tarafından kesilir; böylece etkin oturum şeridi dış çalıştırma zaman aşımını beklemek yerine serbest bırakılabilir.
-- Tanılama etkin olduğunda, `diagnostics.stuckSessionWarnMs` süresini aşacak şekilde `processing` durumunda kalan ve gözlenen yanıt, araç, durum, blok veya ACP ilerlemesi olmayan oturumlar geçerli etkinliğe göre sınıflandırılır. Etkin çalışma `session.long_running` olarak günlüğe yazılır; yakın zamanda ilerleme olmayan etkin çalışma `session.stalled` olarak günlüğe yazılır; `session.stuck`, etkin çalışma olmayan bayat oturum kayıtları için ayrılmıştır ve yalnızca bu yol etkilenen oturum şeridini serbest bırakıp kuyruktaki çalışmanın boşalmasını sağlayabilir. Yinelenen `session.stuck` tanılamaları, oturum değişmeden kaldığı sürece geri çekilir.
+- Bir turu kabul edip sonra ilerleme üretmeyi bırakan Codex app-server çalıştırmaları Codex adaptörü tarafından kesilir; böylece etkin oturum şeridi dış çalıştırma zaman aşımını beklemek yerine serbest kalabilir.
+- Tanılamalar etkinleştirildiğinde, `diagnostics.stuckSessionWarnMs` süresini geçmiş halde `processing` içinde kalan ve gözlemlenen yanıt, araç, durum, blok veya ACP ilerlemesi olmayan oturumlar geçerli etkinliğe göre sınıflandırılır. Etkin çalışma `session.long_running` olarak günlüğe yazılır; yakın zamanda ilerleme olmayan etkin çalışma `session.stalled` olarak günlüğe yazılır; `session.stuck`, etkin çalışma olmadan eskimiş oturum kayıt tutma için ayrılmıştır ve yalnızca bu yol etkilenen oturum şeridini serbest bırakıp kuyruğa alınmış işin boşalmasını sağlayabilir. Tekrarlanan `session.stuck` tanılamaları, oturum değişmeden kaldığı sürece geri çekilir.
## İlgili
- [Oturum yönetimi](/tr/concepts/session)
- [Yönlendirme kuyruğu](/tr/concepts/queue-steering)
+- [Yönlendir](/tools/steer)
- [Yeniden deneme ilkesi](/tr/concepts/retry)