diff --git a/docs/tr/automation/tasks.md b/docs/tr/automation/tasks.md
index 020b16f0e..605991812 100644
--- a/docs/tr/automation/tasks.md
+++ b/docs/tr/automation/tasks.md
@@ -1,54 +1,54 @@
---
read_when:
- Devam eden veya yakın zamanda tamamlanan arka plan çalışmalarını inceleme
- - Bağımsız ajan çalıştırmalarında teslimat hatalarında hata ayıklama
- - Arka plan çalıştırmalarının oturumlar, Cron ve Heartbeat ile ilişkisini anlama
+ - Ayrık ajan çalıştırmalarında iletim hatalarını ayıklama
+ - Arka plan çalıştırmalarının oturumlar, Cron ve Heartbeat ile nasıl ilişkili olduğunu anlama
sidebarTitle: Background tasks
-summary: ACP çalıştırmaları, alt ajanlar, yalıtılmış Cron işleri ve CLI işlemleri için arka plan görev takibi
+summary: 'Arka plan görev takibi: ACP çalıştırmaları, alt ajanlar, yalıtılmış Cron işleri ve CLI işlemleri'
title: Arka plan görevleri
x-i18n:
- generated_at: "2026-04-30T16:28:01Z"
+ generated_at: "2026-05-01T08:58:44Z"
model: gpt-5.5
provider: openai
- source_hash: 999653c9360323d5135e33193c76458cba8c288227de46a6217f1ccbed2a6d34
+ source_hash: 8782987a79989264ae3bd1ca4b16755bdfb7e295e4f77933bf3a38c136d837f4
source_path: automation/tasks.md
workflow: 16
---
-Zamanlama mı arıyorsunuz? Doğru mekanizmayı seçmek için [Otomasyon ve görevler](/tr/automation) sayfasına bakın. Bu sayfa, arka plan işi için etkinlik defteridir; zamanlayıcı değildir.
+Zamanlama mı arıyorsunuz? Doğru mekanizmayı seçmek için [Otomasyon ve görevler](/tr/automation) sayfasına bakın. Bu sayfa arka plan işi için etkinlik defteridir, zamanlayıcı değildir.
-Arka plan görevleri, **ana konuşma oturumunuzun dışında** çalışan işleri izler: ACP çalıştırmaları, alt ajan oluşturma işlemleri, yalıtılmış cron işi yürütmeleri ve CLI tarafından başlatılan işlemler.
+Arka plan görevleri, **ana konuşma oturumunuzun dışında** çalışan işleri izler: ACP çalıştırmaları, alt ajan başlatmaları, yalıtılmış cron işi yürütmeleri ve CLI tarafından başlatılan işlemler.
-Görevler; oturumların, cron işlerinin veya heartbeat'lerin yerini **almaz** — bunlar, hangi ayrık işin ne zaman gerçekleştiğini ve başarılı olup olmadığını kaydeden **etkinlik defteridir**.
+Görevler oturumların, cron işlerinin veya heartbeart'lerin yerini **almaz**; bunlar, hangi ayrılmış işin ne zaman gerçekleştiğini ve başarılı olup olmadığını kaydeden **etkinlik defteridir**.
-Her ajan çalıştırması bir görev oluşturmaz. Heartbeat dönüşleri ve normal etkileşimli sohbet oluşturmaz. Tüm cron yürütmeleri, ACP oluşturma işlemleri, alt ajan oluşturma işlemleri ve CLI ajan komutları oluşturur.
+Her ajan çalıştırması bir görev oluşturmaz. Heartbeat turları ve normal etkileşimli sohbet oluşturmaz. Tüm cron yürütmeleri, ACP başlatmaları, alt ajan başlatmaları ve CLI ajan komutları oluşturur.
-## Kısaca
+## TL;DR
-- Görevler zamanlayıcı değil, **kayıtlardır** — cron ve heartbeat işin _ne zaman_ çalışacağını belirler, görevler _ne olduğunu_ izler.
-- ACP, alt ajanlar, tüm cron işleri ve CLI işlemleri görev oluşturur. Heartbeat dönüşleri oluşturmaz.
-- Her görev `queued → running → terminal` boyunca ilerler (succeeded, failed, timed_out, cancelled veya lost).
-- Cron çalışma zamanı işi hâlâ sahiplenirken cron görevleri canlı kalır; bellek içi çalışma zamanı durumu kaybolmuşsa görev bakımı, bir görevi lost olarak işaretlemeden önce dayanıklı cron çalıştırma geçmişini denetler.
-- Tamamlama push odaklıdır: ayrık iş, bittiğinde doğrudan bildirim gönderebilir veya istekte bulunan oturumu/heartbeat'i uyandırabilir; bu yüzden durum yoklama döngüleri genellikle yanlış biçimdir.
-- Yalıtılmış cron çalıştırmaları ve alt ajan tamamlanmaları, son temizlik defter kaydından önce alt oturumları için izlenen tarayıcı sekmelerini/süreçlerini en iyi çabayla temizler.
-- Yalıtılmış cron teslimi, alt alt ajan işi hâlâ boşalırken bayat geçici üst yanıtları bastırır ve teslimden önce ulaştığında son alt çıktıyı tercih eder.
-- Tamamlama bildirimleri doğrudan bir kanala teslim edilir veya bir sonraki heartbeat için kuyruğa alınır.
+- Görevler **kayıtlardır**, zamanlayıcı değildir; cron ve Heartbeat işin _ne zaman_ çalışacağını belirler, görevler _ne olduğunu_ izler.
+- ACP, alt ajanlar, tüm cron işleri ve CLI işlemleri görev oluşturur. Heartbeat turları oluşturmaz.
+- Her görev `queued → running → terminal` durumlarından geçer (succeeded, failed, timed_out, cancelled veya lost).
+- Cron görevleri, cron çalışma zamanı hâlâ işe sahip olduğu sürece canlı kalır; bellek içi çalışma zamanı durumu kaybolursa görev bakımı, bir görevi kayıp olarak işaretlemeden önce kalıcı cron çalıştırma geçmişini kontrol eder.
+- Tamamlanma push odaklıdır: ayrılmış iş, bittiğinde doğrudan bildirim gönderebilir veya istekte bulunan oturumu/Heartbeat'i uyandırabilir; bu nedenle durum yoklama döngüleri genellikle yanlış biçimdir.
+- Yalıtılmış cron çalıştırmaları ve alt ajan tamamlanmaları, son temizlik kayıtlarından önce alt oturumları için izlenen tarayıcı sekmelerini/süreçlerini en iyi çabayla temizler.
+- Yalıtılmış cron teslimi, alt alt ajan işi hâlâ boşalırken eski ara üst yanıtları bastırır ve teslimden önce geldiğinde son alt çıktıyı tercih eder.
+- Tamamlanma bildirimleri doğrudan bir kanala iletilir veya bir sonraki Heartbeat için kuyruğa alınır.
- `openclaw tasks list` tüm görevleri gösterir; `openclaw tasks audit` sorunları ortaya çıkarır.
-- Terminal kayıtları 7 gün tutulur, sonra otomatik olarak temizlenir.
+- Terminal kayıtları 7 gün tutulur, ardından otomatik olarak budanır.
## Hızlı başlangıç
```bash
- # List all tasks (newest first)
+ # Tüm görevleri listele (önce en yeni)
openclaw tasks list
- # Filter by runtime or status
+ # Çalışma zamanına veya duruma göre filtrele
openclaw tasks list --runtime acp
openclaw tasks list --status running
```
@@ -56,26 +56,26 @@ Her ajan çalıştırması bir görev oluşturmaz. Heartbeat dönüşleri ve nor
```bash
- # Show details for a specific task (by ID, run ID, or session key)
+ # Belirli bir görevin ayrıntılarını göster (ID, çalıştırma ID'si veya oturum anahtarına göre)
openclaw tasks show
```
```bash
- # Cancel a running task (kills the child session)
+ # Çalışan bir görevi iptal et (alt oturumu sonlandırır)
openclaw tasks cancel
- # Change notification policy for a task
+ # Bir görev için bildirim politikasını değiştir
openclaw tasks notify state_changes
```
```bash
- # Run a health audit
+ # Sağlık denetimi çalıştır
openclaw tasks audit
- # Preview or apply maintenance
+ # Bakımı önizle veya uygula
openclaw tasks maintenance
openclaw tasks maintenance --apply
```
@@ -83,7 +83,7 @@ Her ajan çalıştırması bir görev oluşturmaz. Heartbeat dönüşleri ve nor
```bash
- # Inspect TaskFlow state
+ # TaskFlow durumunu incele
openclaw tasks flow list
openclaw tasks flow show
openclaw tasks flow cancel
@@ -91,29 +91,29 @@ Her ajan çalıştırması bir görev oluşturmaz. Heartbeat dönüşleri ve nor
-## Görevi ne oluşturur
+## Görevi ne oluşturur?
-| Kaynak | Çalışma zamanı türü | Görev kaydının oluşturulduğu zaman | Varsayılan bildirim ilkesi |
-| ---------------------- | ------------ | ------------------------------------------------------ | --------------------- |
-| ACP arka plan çalıştırmaları | `acp` | Alt ACP oturumu oluşturulurken | `done_only` |
-| Alt ajan orkestrasyonu | `subagent` | `sessions_spawn` aracılığıyla alt ajan oluşturulurken | `done_only` |
-| Cron işleri (tüm türler) | `cron` | Her cron yürütmesi (ana oturum ve yalıtılmış) | `silent` |
-| CLI işlemleri | `cli` | Gateway üzerinden çalışan `openclaw agent` komutları | `silent` |
-| Ajan medya işleri | `cli` | Oturum destekli `video_generate` çalıştırmaları | `silent` |
+| Kaynak | Çalışma zamanı türü | Görev kaydının oluşturulduğu zaman | Varsayılan bildirim politikası |
+| ---------------------- | ------------------- | ------------------------------------------------------- | ------------------------------ |
+| ACP arka plan çalıştırmaları | `acp` | Alt ACP oturumu başlatıldığında | `done_only` |
+| Alt ajan orkestrasyonu | `subagent` | `sessions_spawn` ile bir alt ajan başlatıldığında | `done_only` |
+| Cron işleri (tüm türler) | `cron` | Her cron yürütmesi (ana oturum ve yalıtılmış) | `silent` |
+| CLI işlemleri | `cli` | Gateway üzerinden çalışan `openclaw agent` komutları | `silent` |
+| Ajan medya işleri | `cli` | Oturum destekli `music_generate`/`video_generate` çalıştırmaları | `silent` |
- Ana oturum cron görevleri varsayılan olarak `silent` bildirim ilkesini kullanır — izleme için kayıt oluştururlar ama bildirim üretmezler. Yalıtılmış cron görevleri de varsayılan olarak `silent` kullanır ancak kendi oturumlarında çalıştıkları için daha görünürdür.
+ Ana oturum cron görevleri varsayılan olarak `silent` bildirim politikasını kullanır; izleme için kayıt oluştururlar ancak bildirim üretmezler. Yalıtılmış cron görevleri de varsayılan olarak `silent` kullanır, ancak kendi oturumlarında çalıştıkları için daha görünürdür.
- Oturum destekli `video_generate` çalıştırmaları da `silent` bildirim ilkesini kullanır. Yine de görev kayıtları oluştururlar, ancak tamamlama özgün ajan oturumuna iç uyandırma olarak geri verilir; böylece ajan takip mesajını yazabilir ve tamamlanan videoyu kendisi ekleyebilir. `tools.media.asyncCompletion.directSend` seçeneğine katılırsanız, asenkron `music_generate` ve `video_generate` tamamlanmaları istekte bulunan oturumun uyandırma yoluna geri dönmeden önce doğrudan kanal teslimini dener.
+ Oturum destekli `music_generate` ve `video_generate` çalıştırmaları da `silent` bildirim politikasını kullanır. Yine de görev kayıtları oluştururlar, ancak tamamlanma, ajanın takip mesajını yazıp tamamlanan medyayı kendisi ekleyebilmesi için iç uyandırma olarak özgün ajan oturumuna geri verilir. `tools.media.asyncCompletion.directSend` seçeneğini etkinleştirirseniz, zaman uyumsuz `video_generate` tamamlanmaları önce doğrudan kanal teslimini deneyebilir; zaman uyumsuz `music_generate` tamamlanmaları istekte bulunan oturumun uyandırma yolunda kalır.
-
- Oturum destekli bir `video_generate` görevi hâlâ etkinken araç aynı zamanda bir koruma olarak davranır: aynı oturumdaki tekrarlanan `video_generate` çağrıları, ikinci bir eşzamanlı üretim başlatmak yerine etkin görev durumunu döndürür. Ajan tarafından açık bir ilerleme/durum araması istediğinizde `action: "status"` kullanın.
+
+ Oturum destekli bir `video_generate` görevi hâlâ etkinken, araç aynı zamanda bir koruma sınırı gibi davranır: aynı oturumdaki yinelenen `video_generate` çağrıları, ikinci bir eşzamanlı üretim başlatmak yerine etkin görev durumunu döndürür. Ajan tarafında açık bir ilerleme/durum araması istediğinizde `action: "status"` kullanın.
-
- - Heartbeat dönüşleri — ana oturum; bkz. [Heartbeat](/tr/gateway/heartbeat)
- - Normal etkileşimli sohbet dönüşleri
+
+ - Heartbeat turları; ana oturum, bkz. [Heartbeat](/tr/gateway/heartbeat)
+ - Normal etkileşimli sohbet turları
- Doğrudan `/command` yanıtları
@@ -133,52 +133,52 @@ stateDiagram-v2
running --> lost : session gone > 5 min
```
-| Durum | Anlamı |
+| Durum | Anlamı |
| ----------- | -------------------------------------------------------------------------- |
-| `queued` | Oluşturuldu, ajanın başlamasını bekliyor |
-| `running` | Ajan dönüşü etkin olarak yürütülüyor |
-| `succeeded` | Başarıyla tamamlandı |
-| `failed` | Bir hatayla tamamlandı |
-| `timed_out` | Yapılandırılan zaman aşımını aştı |
-| `cancelled` | Operatör tarafından `openclaw tasks cancel` ile durduruldu |
+| `queued` | Oluşturuldu, ajanın başlaması bekleniyor |
+| `running` | Ajan turu etkin olarak yürütülüyor |
+| `succeeded` | Başarıyla tamamlandı |
+| `failed` | Bir hatayla tamamlandı |
+| `timed_out` | Yapılandırılan zaman aşımı aşıldı |
+| `cancelled` | Operatör tarafından `openclaw tasks cancel` ile durduruldu |
| `lost` | Çalışma zamanı, 5 dakikalık ek süreden sonra yetkili destek durumunu kaybetti |
-Geçişler otomatik olarak gerçekleşir — ilişkili ajan çalıştırması bittiğinde görev durumu buna uyacak şekilde güncellenir.
+Geçişler otomatik olarak gerçekleşir; ilişkili ajan çalıştırması sona erdiğinde görev durumu buna uyacak şekilde güncellenir.
-Ajan çalıştırmasının tamamlanması etkin görev kayıtları için yetkilidir. Başarılı bir ayrık çalıştırma `succeeded` olarak sonlandırılır, sıradan çalıştırma hataları `failed` olarak sonlandırılır ve zaman aşımı veya iptal sonuçları `timed_out` olarak sonlandırılır. Bir operatör görevi zaten iptal etmişse veya çalışma zamanı `failed`, `timed_out` ya da `lost` gibi daha güçlü bir terminal durumu zaten kaydetmişse, daha sonraki bir başarı sinyali bu terminal durumunu düşürmez.
+Ajan çalıştırmasının tamamlanması, etkin görev kayıtları için yetkilidir. Başarılı bir ayrılmış çalıştırma `succeeded` olarak sonlanır, olağan çalıştırma hataları `failed` olarak sonlanır ve zaman aşımı veya iptal sonuçları `timed_out` olarak sonlanır. Bir operatör görevi zaten iptal ettiyse veya çalışma zamanı `failed`, `timed_out` ya da `lost` gibi daha güçlü bir terminal durumu zaten kaydettiyse, daha sonraki bir başarı sinyali bu terminal durumunu düşürmez.
-`lost` çalışma zamanı bilincine sahiptir:
+`lost` çalışma zamanının farkındadır:
- ACP görevleri: destekleyen ACP alt oturum meta verileri kayboldu.
- Alt ajan görevleri: destekleyen alt oturum hedef ajan deposundan kayboldu.
-- Cron görevleri: cron çalışma zamanı işi artık etkin olarak izlemiyor ve dayanıklı cron çalıştırma geçmişi bu çalıştırma için terminal sonuç göstermiyor. Çevrimdışı CLI denetimi, kendi boş süreç içi cron çalışma zamanı durumunu yetkili kabul etmez.
-- CLI görevleri: yalıtılmış alt oturum görevleri alt oturumu kullanır; sohbet destekli CLI görevleri bunun yerine canlı çalıştırma bağlamını kullanır, bu yüzden kalıcı kanal/grup/doğrudan oturum satırları onları canlı tutmaz. Gateway destekli `openclaw agent` çalıştırmaları da çalıştırma sonucundan sonlandırılır, bu yüzden tamamlanmış çalıştırmalar süpürücü onları `lost` olarak işaretleyene kadar etkin kalmaz.
+- Cron görevleri: cron çalışma zamanı artık işi etkin olarak izlemiyor ve kalıcı cron çalıştırma geçmişi o çalıştırma için terminal bir sonuç göstermiyor. Çevrimdışı CLI denetimi, kendi boş süreç içi cron çalışma zamanı durumunu yetkili kabul etmez.
+- CLI görevleri: yalıtılmış alt oturum görevleri alt oturumu kullanır; sohbet destekli CLI görevleri bunun yerine canlı çalıştırma bağlamını kullanır, bu nedenle kalan kanal/grup/doğrudan oturum satırları onları canlı tutmaz. Gateway destekli `openclaw agent` çalıştırmaları da çalıştırma sonuçlarından sonlanır, bu nedenle tamamlanmış çalıştırmalar süpürücü onları `lost` olarak işaretleyene kadar etkin kalmaz.
## Teslim ve bildirimler
Bir görev terminal duruma ulaştığında OpenClaw sizi bilgilendirir. İki teslim yolu vardır:
-**Doğrudan teslim** — görevde bir kanal hedefi varsa (`requesterOrigin`), tamamlama mesajı doğrudan o kanala gider (Telegram, Discord, Slack vb.). Alt ajan tamamlanmaları için OpenClaw, varsa bağlı iş parçacığı/konu yönlendirmesini de korur ve doğrudan teslimden vazgeçmeden önce eksik `to` / hesabını, istekte bulunan oturumun saklanan rotasından (`lastChannel` / `lastTo` / `lastAccountId`) doldurabilir.
+**Doğrudan teslim** — görevin bir kanal hedefi varsa (`requesterOrigin`), tamamlanma mesajı doğrudan o kanala gider (Telegram, Discord, Slack vb.). Alt ajan tamamlanmaları için OpenClaw, varsa bağlı iş parçacığı/konu yönlendirmesini de korur ve doğrudan teslimden vazgeçmeden önce eksik bir `to` / hesabı, istekte bulunan oturumun depolanan rotasından (`lastChannel` / `lastTo` / `lastAccountId`) doldurabilir.
-**Oturum kuyruğuna alınan teslim** — doğrudan teslim başarısız olursa veya kaynak ayarlanmamışsa güncelleme, istekte bulunanın oturumunda bir sistem olayı olarak kuyruğa alınır ve bir sonraki heartbeat'te görünür.
+**Oturum kuyruğuna alınan teslim** — doğrudan teslim başarısız olursa veya kaynak ayarlanmamışsa, güncelleme istekte bulunanın oturumunda bir sistem olayı olarak kuyruğa alınır ve bir sonraki Heartbeat'te görünür.
-Görev tamamlanması, sonucu hızlıca görmeniz için anında bir heartbeat uyandırması tetikler — bir sonraki zamanlanmış heartbeat tikini beklemeniz gerekmez.
+Görev tamamlanması anında bir Heartbeat uyandırması tetikler, böylece sonucu hızlıca görürsünüz; bir sonraki zamanlanmış Heartbeat tikini beklemeniz gerekmez.
-Bu, olağan iş akışının push tabanlı olduğu anlamına gelir: ayrık işi bir kez başlatın, sonra çalışma zamanının tamamlandığında sizi uyandırmasına veya bilgilendirmesine izin verin. Görev durumunu yalnızca hata ayıklama, müdahale veya açık bir denetim gerektiğinde yoklayın.
+Bu, olağan iş akışının push tabanlı olduğu anlamına gelir: ayrılmış işi bir kez başlatın, ardından çalışma zamanının tamamlanma sırasında sizi uyandırmasına veya bilgilendirmesine izin verin. Görev durumunu yalnızca hata ayıklama, müdahale veya açık bir denetim gerektiğinde yoklayın.
-### Bildirim ilkeleri
+### Bildirim politikaları
Her görev hakkında ne kadar duyacağınızı denetleyin:
-| İlke | Teslim edilenler |
-| --------------------- | ----------------------------------------------------------------------- |
+| Politika | Teslim edilenler |
+| --------------------- | --------------------------------------------------------------------- |
| `done_only` (varsayılan) | Yalnızca terminal durum (succeeded, failed vb.) — **varsayılan budur** |
-| `state_changes` | Her durum geçişi ve ilerleme güncellemesi |
-| `silent` | Hiçbir şey |
+| `state_changes` | Her durum geçişi ve ilerleme güncellemesi |
+| `silent` | Hiçbir şey |
-Bir görev çalışırken ilkeyi değiştirin:
+Bir görev çalışırken politikayı değiştirin:
```bash
openclaw tasks notify state_changes
@@ -192,7 +192,7 @@ openclaw tasks notify state_changes
openclaw tasks list [--runtime ] [--status ] [--json]
```
- Çıktı sütunları: Görev Kimliği, Tür, Durum, Teslim, Çalıştırma Kimliği, Alt Oturum, Özet.
+ Çıktı sütunları: Görev ID'si, Tür, Durum, Teslim, Çalıştırma ID'si, Alt Oturum, Özet.
@@ -200,7 +200,7 @@ openclaw tasks notify state_changes
openclaw tasks show
```
- Arama belirteci bir görev kimliği, çalıştırma kimliği veya oturum anahtarı kabul eder. Zamanlama, teslim durumu, hata ve terminal özeti dahil tam kaydı gösterir.
+ Arama belirteci bir görev ID'si, çalıştırma ID'si veya oturum anahtarı kabul eder. Zamanlama, teslim durumu, hata ve terminal özeti dahil tam kaydı gösterir.
@@ -208,7 +208,7 @@ openclaw tasks notify state_changes
openclaw tasks cancel
```
- ACP ve alt ajan görevleri için bu, alt oturumu sonlandırır. CLI tarafından izlenen görevlerde iptal, görev kayıt defterine kaydedilir (ayrı bir alt çalışma zamanı tanıtıcısı yoktur). Durum `cancelled` değerine geçer ve uygulanabilir olduğunda bir teslim bildirimi gönderilir.
+ ACP ve alt ajan görevleri için bu, alt oturumu sonlandırır. CLI ile izlenen görevler için iptal, görev kayıt defterine kaydedilir (ayrı bir alt çalışma zamanı tanıtıcısı yoktur). Durum `cancelled` olarak değişir ve uygulanabilir olduğunda bir teslim bildirimi gönderilir.
@@ -221,50 +221,50 @@ openclaw tasks notify state_changes
openclaw tasks audit [--json]
```
- Operasyonel sorunları ortaya çıkarır. Bulgular, sorunlar algılandığında `openclaw status` içinde de görünür.
+ Operasyonel sorunları ortaya çıkarır. Sorunlar algılandığında bulgular `openclaw status` içinde de görünür.
- | Bulgular | Önem | Tetikleyici |
- | ------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------ |
- | `stale_queued` | uyarı | 10 dakikadan uzun süredir kuyruğa alınmış |
- | `stale_running` | hata | 30 dakikadan uzun süredir çalışıyor |
+ | Bulgular | Önem | Tetikleyici |
+ | ------------------------- | -------- | ------------------------------------------------------------------------------------------------------------- |
+ | `stale_queued` | uyarı | 10 dakikadan uzun süredir kuyrukta |
+ | `stale_running` | hata | 30 dakikadan uzun süredir çalışıyor |
| `lost` | uyarı/hata | Çalışma zamanı destekli görev sahipliği kayboldu; tutulan kayıp görevler `cleanupAfter` zamanına kadar uyarı verir, sonra hataya dönüşür |
- | `delivery_failed` | uyarı | Teslim başarısız oldu ve bildirim ilkesi `silent` değil |
- | `missing_cleanup` | uyarı | Temizleme zaman damgası olmayan terminal görev |
- | `inconsistent_timestamps` | uyarı | Zaman çizelgesi ihlali (örneğin başlamadan önce bitmiş) |
+ | `delivery_failed` | uyarı | Teslimat başarısız oldu ve bildirim ilkesi `silent` değil |
+ | `missing_cleanup` | uyarı | Temizleme zaman damgası olmayan terminal görev |
+ | `inconsistent_timestamps` | uyarı | Zaman çizelgesi ihlali (örneğin başlamadan önce bitmiş) |
-
+
```bash
openclaw tasks maintenance [--json]
openclaw tasks maintenance --apply [--json]
```
- Bunu görevler ve Task Flow durumu için uzlaştırma, temizleme damgalama ve budamayı önizlemek veya uygulamak üzere kullanın.
+ Bunu görevler ve Görev Akışı durumu için uzlaştırma, temizleme damgalama ve budamayı önizlemek veya uygulamak için kullanın.
- Uzlaştırma çalışma zamanı farkındadır:
+ Uzlaştırma çalışma zamanının farkındadır:
- - ACP/alt ajan görevleri, destekleyen alt oturumlarını denetler.
- - Alt oturumunda yeniden başlatma-kurtarma mezar taşı bulunan alt ajan görevleri, kurtarılabilir destek oturumları olarak ele alınmak yerine kayıp olarak işaretlenir.
- - Cron görevleri, cron çalışma zamanının işi hâlâ sahiplenip sahiplenmediğini denetler, ardından `lost` durumuna düşmeden önce kalıcı cron çalıştırma günlüklerinden/iş durumundan terminal durumunu kurtarır. Bellek içi cron etkin iş kümesi için yalnızca Gateway süreci yetkilidir; çevrimdışı CLI denetimi kalıcı geçmişi kullanır ancak yalnızca yerel Set boş olduğu için bir cron görevini kayıp olarak işaretlemez.
+ - ACP/alt aracı görevleri, bunları destekleyen alt oturumu denetler.
+ - Alt oturumu yeniden başlatma-kurtarma mezar taşına sahip olan alt aracı görevleri, kurtarılabilir destek oturumları olarak ele alınmak yerine kayıp olarak işaretlenir.
+ - Cron görevleri, cron çalışma zamanının işi hâlâ sahiplenip sahiplenmediğini denetler, ardından `lost` durumuna düşmeden önce kalıcı cron çalıştırma günlüklerinden/iş durumundan terminal durumunu kurtarır. Bellek içi cron etkin iş kümesi için yalnızca Gateway süreci yetkilidir; çevrimdışı CLI denetimi dayanıklı geçmişi kullanır ancak yalnızca bu yerel Set boş olduğu için bir cron görevini kayıp olarak işaretlemez.
- Sohbet destekli CLI görevleri, yalnızca sohbet oturumu satırını değil, sahip olan canlı çalıştırma bağlamını denetler.
- Tamamlanma temizliği de çalışma zamanı farkındadır:
+ Tamamlanma temizliği de çalışma zamanının farkındadır:
- - Alt ajan tamamlanması, duyuru temizliği devam etmeden önce alt oturum için izlenen tarayıcı sekmelerini/süreçlerini en iyi çabayla kapatır.
- - Yalıtılmış cron tamamlanması, çalıştırma tamamen sonlandırılmadan önce cron oturumu için izlenen tarayıcı sekmelerini/süreçlerini en iyi çabayla kapatır.
- - Yalıtılmış cron teslimi, gerektiğinde alt alt ajan takip işleminin bitmesini bekler ve bunu duyurmak yerine bayat üst onay metnini bastırır.
- - Alt ajan tamamlanma teslimi en son görünür asistan metnini tercih eder; bu boşsa temizlenmiş en son araç/toolResult metnine geri döner ve yalnızca zaman aşımına uğramış araç çağrısı çalıştırmaları kısa bir kısmi ilerleme özetine daraltılabilir. Terminal başarısız çalıştırmalar, yakalanan yanıt metnini yeniden oynatmadan başarısızlık durumunu duyurur.
- - Temizleme hataları gerçek görev sonucunu maskelemez.
+ - Alt aracı tamamlanması, duyuru temizliği devam etmeden önce alt oturum için izlenen tarayıcı sekmelerini/süreçlerini en iyi çabayla kapatır.
+ - Yalıtılmış cron tamamlanması, çalıştırma tamamen kapatılmadan önce cron oturumu için izlenen tarayıcı sekmelerini/süreçlerini en iyi çabayla kapatır.
+ - Yalıtılmış cron teslimatı, gerektiğinde alt aracı takip işlemlerini bekler ve duyurmak yerine bayat üst onay metnini bastırır.
+ - Alt aracı tamamlanma teslimatı, en son görünür asistan metnini tercih eder; bu boşsa temizlenmiş en son tool/toolResult metnine geri döner ve yalnızca zaman aşımına uğramış araç çağrısı çalıştırmaları kısa bir kısmi ilerleme özetine indirgenebilir. Terminal başarısız çalıştırmalar, yakalanan yanıt metnini yeniden oynatmadan başarısızlık durumunu duyurur.
+ - Temizleme hataları gerçek görev sonucunu gizlemez.
-
+
```bash
openclaw tasks flow list [--status ] [--json]
openclaw tasks flow show [--json]
openclaw tasks flow cancel
```
- Tek bir arka plan görev kaydından ziyade düzenleyici Task Flow ile ilgilendiğinizde bunları kullanın.
+ Tek bir arka plan görev kaydı yerine düzenleyici Görev Akışı ile ilgileniyorsanız bunları kullanın.
@@ -273,13 +273,13 @@ openclaw tasks notify state_changes
Bu oturuma bağlı arka plan görevlerini görmek için herhangi bir sohbet oturumunda `/tasks` kullanın. Pano, etkin ve yakın zamanda tamamlanan görevleri çalışma zamanı, durum, zamanlama ve ilerleme ya da hata ayrıntısıyla gösterir.
-Geçerli oturumda görünür bağlı görev olmadığında, `/tasks` ajan yerel görev sayılarına geri döner; böylece diğer oturumların ayrıntılarını sızdırmadan yine de bir genel bakış elde edersiniz.
+Geçerli oturumda görünür bağlı görev yoksa, `/tasks` aracı yerel görev sayılarına geri döner; böylece diğer oturum ayrıntılarını sızdırmadan yine de bir genel bakış alırsınız.
Tam operatör defteri için CLI kullanın: `openclaw tasks list`.
## Durum entegrasyonu (görev baskısı)
-`openclaw status`, tek bakışta anlaşılır bir görev özeti içerir:
+`openclaw status`, hızlı bakışlık bir görev özeti içerir:
```
Tasks: 3 queued · 2 running · 1 issues
@@ -291,37 +291,37 @@ Tasks: 3 queued · 2 running · 1 issues
- **failures** — `failed` + `timed_out` + `lost` sayısı
- **byRuntime** — `acp`, `subagent`, `cron`, `cli` bazında döküm
-Hem `/status` hem de `session_status` aracı, temizleme farkındalığı olan bir görev anlık görüntüsü kullanır: etkin görevler tercih edilir, bayat tamamlanmış satırlar gizlenir ve son hatalar yalnızca etkin iş kalmadığında gösterilir. Bu, durum kartının şu anda önemli olan şeye odaklanmasını sağlar.
+Hem `/status` hem de `session_status` aracı temizleme farkındalıklı bir görev anlık görüntüsü kullanır: etkin görevler tercih edilir, bayat tamamlanmış satırlar gizlenir ve son başarısızlıklar yalnızca etkin iş kalmadığında yüzeye çıkar. Bu, durum kartının şu anda önemli olana odaklanmasını sağlar.
## Depolama ve bakım
-### Görevlerin bulunduğu yer
+### Görevler nerede bulunur
-Görev kayıtları SQLite içinde şurada kalıcı tutulur:
+Görev kayıtları SQLite içinde kalıcıdır:
```
$OPENCLAW_STATE_DIR/tasks/runs.sqlite
```
-Kayıt defteri, Gateway başlangıcında belleğe yüklenir ve yeniden başlatmalar arasında dayanıklılık için yazmaları SQLite ile eşitler.
-Gateway, SQLite'ın varsayılan otomatik checkpoint eşiğini ve periyodik ve kapanış `TRUNCATE` checkpoint'lerini kullanarak SQLite write-ahead log'unu sınırda tutar.
+Kayıt defteri Gateway başlangıcında belleğe yüklenir ve yeniden başlatmalar arasında dayanıklılık için yazmaları SQLite ile eşitler.
+Gateway, SQLite'ın varsayılan otomatik denetim noktası eşiğini ve periyodik ile kapatma zamanı `TRUNCATE` denetim noktalarını kullanarak SQLite write-ahead log'unu sınırlı tutar.
### Otomatik bakım
-Bir süpürücü her **60 saniyede** çalışır ve dört şeyi ele alır:
+Bir süpürücü her **60 saniyede** bir çalışır ve dört şeyi ele alır:
-
- Etkin görevlerin hâlâ yetkili çalışma zamanı desteğine sahip olup olmadığını denetler. ACP/alt ajan görevleri alt oturum durumunu, cron görevleri etkin iş sahipliğini ve sohbet destekli CLI görevleri sahip olan çalıştırma bağlamını kullanır. Bu destek durumu 5 dakikadan uzun süre kayıpsa, görev `lost` olarak işaretlenir.
+
+ Etkin görevlerin hâlâ yetkili çalışma zamanı desteğine sahip olup olmadığını denetler. ACP/alt aracı görevleri alt oturum durumunu, cron görevleri etkin iş sahipliğini ve sohbet destekli CLI görevleri sahip olan çalıştırma bağlamını kullanır. Bu destek durumu 5 dakikadan uzun süre yoksa görev `lost` olarak işaretlenir.
-
- Terminal veya sahipsiz üst sahipli tek seferlik ACP oturumlarını kapatır ve bayat terminal veya sahipsiz kalıcı ACP oturumlarını yalnızca etkin konuşma bağlaması kalmadığında kapatır.
+
+ Terminal veya yetim üst sahipli tek kullanımlık ACP oturumlarını kapatır ve bayat terminal ya da yetim kalıcı ACP oturumlarını yalnızca etkin konuşma bağı kalmadığında kapatır.
-
- Terminal görevlerde bir `cleanupAfter` zaman damgası ayarlar (endedAt + 7 gün). Saklama süresi boyunca kayıp görevler denetimde hâlâ uyarı olarak görünür; `cleanupAfter` süresi dolduktan sonra veya temizleme meta verileri eksik olduğunda hata olurlar.
+
+ Terminal görevlere bir `cleanupAfter` zaman damgası ayarlar (endedAt + 7 gün). Saklama sırasında kayıp görevler denetimde hâlâ uyarı olarak görünür; `cleanupAfter` süresi dolduktan sonra veya temizleme meta verileri eksik olduğunda hata olurlar.
-
- `cleanupAfter` tarihini geçen kayıtları siler.
+
+ `cleanupAfter` tarihini geçmiş kayıtları siler.
@@ -332,36 +332,36 @@ Bir süpürücü her **60 saniyede** çalışır ve dört şeyi ele alır:
## Görevlerin diğer sistemlerle ilişkisi
-
- [Task Flow](/tr/automation/taskflow), arka plan görevlerinin üzerindeki akış düzenleme katmanıdır. Tek bir akış, yaşam süresi boyunca yönetilen veya yansıtılmış eşitleme modlarını kullanarak birden fazla görevi koordine edebilir. Tek tek görev kayıtlarını incelemek için `openclaw tasks`, düzenleyici akışı incelemek için `openclaw tasks flow` kullanın.
+
+ [Görev Akışı](/tr/automation/taskflow), arka plan görevlerinin üzerindeki akış düzenleme katmanıdır. Tek bir akış, ömrü boyunca yönetilen veya yansıtılmış eşitleme modlarını kullanarak birden çok görevi koordine edebilir. Tek tek görev kayıtlarını incelemek için `openclaw tasks`, düzenleyici akışı incelemek için `openclaw tasks flow` kullanın.
- Ayrıntılar için bkz. [Task Flow](/tr/automation/taskflow).
+ Ayrıntılar için bkz. [Görev Akışı](/tr/automation/taskflow).
-
- Bir cron işi **tanımı** `~/.openclaw/cron/jobs.json` içinde bulunur; çalışma zamanı yürütme durumu bunun yanında `~/.openclaw/cron/jobs-state.json` içinde bulunur. **Her** cron yürütmesi bir görev kaydı oluşturur; hem ana oturum hem de yalıtılmış olanlar. Ana oturum cron görevleri, bildirim üretmeden takip edebilmeleri için varsayılan olarak `silent` bildirim ilkesini kullanır.
+
+ Bir cron işi **tanımı** `~/.openclaw/cron/jobs.json` içinde bulunur; çalışma zamanı yürütme durumu onun yanında `~/.openclaw/cron/jobs-state.json` içinde bulunur. **Her** cron yürütmesi bir görev kaydı oluşturur — hem ana oturum hem de yalıtılmış olanlar. Ana oturum cron görevleri varsayılan olarak `silent` bildirim ilkesini kullanır; böylece bildirim oluşturmadan izlenirler.
Bkz. [Cron İşleri](/tr/automation/cron-jobs).
-
- Heartbeat çalıştırmaları ana oturum turlarıdır; görev kayıtları oluşturmazlar. Bir görev tamamlandığında, sonucu hemen görmeniz için bir Heartbeat uyandırması tetikleyebilir.
+
+ Heartbeat çalıştırmaları ana oturum turlarıdır — görev kaydı oluşturmazlar. Bir görev tamamlandığında, sonucu hemen görmeniz için bir heartbeat uyandırmasını tetikleyebilir.
Bkz. [Heartbeat](/tr/gateway/heartbeat).
-
- Bir görev bir `childSessionKey` (işin çalıştığı yer) ve bir `requesterSessionKey` (onu başlatan kişi) referans gösterebilir. Oturumlar konuşma bağlamıdır; görevler bunun üzerinde etkinlik takibidir.
+
+ Bir görev bir `childSessionKey` (işin çalıştığı yer) ve bir `requesterSessionKey` (onu başlatan kişi) başvurusu içerebilir. Oturumlar konuşma bağlamıdır; görevler bunun üzerindeki etkinlik takibidir.
-
- Bir görevin `runId` değeri, işi yapan ajan çalıştırmasına bağlanır. Ajan yaşam döngüsü olayları (başlangıç, bitiş, hata) görev durumunu otomatik olarak günceller; yaşam döngüsünü elle yönetmeniz gerekmez.
+
+ Bir görevin `runId` değeri, işi yapan aracı çalıştırmasına bağlanır. Aracı yaşam döngüsü olayları (başlama, bitiş, hata) görev durumunu otomatik olarak günceller — yaşam döngüsünü elle yönetmeniz gerekmez.
## İlgili
-- [Otomasyon ve Görevler](/tr/automation) — tüm otomasyon mekanizmalarına tek bakışta genel bakış
+- [Otomasyon ve Görevler](/tr/automation) — tüm otomasyon mekanizmalarına hızlı bakış
- [CLI: Görevler](/tr/cli/tasks) — CLI komut başvurusu
- [Heartbeat](/tr/gateway/heartbeat) — periyodik ana oturum turları
- [Zamanlanmış Görevler](/tr/automation/cron-jobs) — arka plan işini zamanlama
-- [Task Flow](/tr/automation/taskflow) — görevlerin üzerindeki akış düzenlemesi
+- [Görev Akışı](/tr/automation/taskflow) — görevlerin üzerindeki akış düzenleme
diff --git a/docs/tr/channels/bluebubbles.md b/docs/tr/channels/bluebubbles.md
index 9bfa0fe11..c9672de6b 100644
--- a/docs/tr/channels/bluebubbles.md
+++ b/docs/tr/channels/bluebubbles.md
@@ -4,46 +4,46 @@ read_when:
- Webhook eşleştirmesinde sorun giderme
- macOS'ta iMessage'ı yapılandırma
sidebarTitle: BlueBubbles
-summary: BlueBubbles macOS sunucusu üzerinden iMessage (REST gönderme/alma, yazma durumu, tepkiler, eşleştirme, gelişmiş eylemler).
+summary: BlueBubbles macOS sunucusu üzerinden iMessage (REST gönderme/alma, yazıyor göstergesi, tepkiler, eşleştirme, gelişmiş eylemler).
title: BlueBubbles
x-i18n:
- generated_at: "2026-04-30T09:05:17Z"
+ generated_at: "2026-05-01T08:58:40Z"
model: gpt-5.5
provider: openai
- source_hash: 7a77b248ed86eb4114f8b7f1fc6bd4cea004d65095a0439a4a8c814bc180082c
+ source_hash: 499cc2a46db6e0eddfb897e96ec4b3e4a39ba9f2f6da8e7485c1c46562de4145
source_path: channels/bluebubbles.md
workflow: 16
---
-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**.
+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**.
-Geçerli OpenClaw sürümleri BlueBubbles'ı paketler, bu nedenle normal paketlenmiş derlemelerde ayrı bir `openclaw plugins install` adımı gerekmez.
+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.
## Genel Bakış
-- BlueBubbles yardımcı uygulaması ([bluebubbles.app](https://bluebubbles.app)) aracılığıyla macOS üzerinde çalışır.
-- Önerilen/test edilen: macOS Sequoia (15). macOS Tahoe (26) çalışır; düzenleme şu anda Tahoe'da bozuk ve grup simgesi güncellemeleri başarı bildirebilir ancak eşitlenmeyebilir.
-- OpenClaw onunla REST API'si (`GET /api/v1/ping`, `POST /message/text`, `POST /chat/:id/*`) üzerinden konuşur.
+- macOS üzerinde BlueBubbles yardımcı uygulaması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 sunulur).
-- MP3 veya CAF ses sentezleyen otomatik TTS yanıtları, düz dosya ekleri yerine iMessage sesli not baloncukları olarak iletilir.
-- Eşleme/izin listesi, diğer kanallarla aynı şekilde (`/channels/pairing` vb.) `channels.bluebubbles.allowFrom` + eşleme kodlarıyla çalışır.
-- Tepkiler Slack/Telegram ile aynı şekilde sistem olayları olarak sunulur, böylece aracılar yanıtlamadan önce bunlardan "bahsedebilir".
-- Gelişmiş özellikler: düzenleme, göndermeyi geri alma, yanıt iş parçacığı, mesaj efektleri, grup yönetimi.
+- Ekler ve çıkartmalar gelen medya olarak alınır (ve mümkün olduğunda aracıya gösterilir).
+- 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.
## Hızlı başlangıç
-
- BlueBubbles sunucusunu Mac'inize yükleyin ([bluebubbles.app/install](https://bluebubbles.app/install) adresindeki talimatları izleyin).
+
+ BlueBubbles sunucusunu Mac'inize kurun ([bluebubbles.app/install](https://bluebubbles.app/install) adresindeki yönergeleri izleyin).
-
- BlueBubbles yapılandırmasında web API'yi etkinleştirin ve bir parola ayarlayın.
+
+ BlueBubbles yapılandırmasında web API'sini etkinleştirin ve bir parola ayarlayın.
-
- `openclaw onboard` çalıştırıp BlueBubbles'ı seçin veya elle yapılandırın:
+
+ `openclaw onboard` komutunu çalıştırıp BlueBubbles'ı seçin veya elle yapılandırın:
```json5
{
@@ -59,11 +59,11 @@ Geçerli OpenClaw sürümleri BlueBubbles'ı paketler, bu nedenle normal paketle
```
-
- BlueBubbles webhook'larını gateway'inize yönlendirin (örnek: `https://your-gateway-host:3000/bluebubbles-webhook?password=`).
+
+ BlueBubbles webhooks hedefini Gateway'inize yönlendirin (örnek: `https://your-gateway-host:3000/bluebubbles-webhook?password=`).
-
- Gateway'i başlatın; webhook işleyicisini kaydeder ve eşlemeyi başlatır.
+
+ Gateway'i başlatın; webhook işleyicisini kaydeder ve eşleştirmeyi başlatır.
@@ -71,17 +71,17 @@ Geçerli OpenClaw sürümleri BlueBubbles'ı paketler, bu nedenle normal paketle
**Güvenlik**
- Her zaman bir webhook parolası ayarlayın.
-- Webhook kimlik doğrulaması her zaman gereklidir. OpenClaw, döngü/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`).
+- 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.
## Messages.app'i canlı tutma (VM / başsız kurulumlar)
-Bazı macOS VM / her zaman açık kurulumlarda Messages.app "boşta" durumuna geçebilir (uygulama açılana/öne getirilene kadar gelen olaylar durur). Basit bir çözüm, AppleScript + LaunchAgent kullanarak **Messages'ı her 5 dakikada bir yoklamaktır**.
+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**.
-
+
Bunu `~/Scripts/poke-messages.scpt` olarak kaydedin:
```applescript
@@ -100,7 +100,7 @@ Bazı macOS VM / her zaman açık kurulumlarda Messages.app "boşta" durumuna ge
```
-
+
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" durumuna ge
```
- Bu, **her 300 saniyede bir** ve **oturum açıldığında** çalışır. İlk çalıştırma macOS **Automation** istemlerini (`osascript` → Messages) tetikleyebilir. 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ıştırma 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 (örn. `http://192.168.1.100:1234`).
+ BlueBubbles sunucu adresi (ör. `http://192.168.1.100:1234`).
BlueBubbles Server ayarlarından API parolası.
- Webhook uç noktası yolu.
+ Webhook uç nokta yolu.
`pairing`, `allowlist`, `open` veya `disabled`.
@@ -169,7 +169,7 @@ Sihirbaz şunları ister:
Telefon numaraları, e-postalar veya sohbet hedefleri.
-BlueBubbles'ı CLI aracılığıyla da ekleyebilirsiniz:
+BlueBubbles'ı CLI üzerinden de ekleyebilirsiniz:
```
openclaw channels add bluebubbles --http-url http://192.168.1.100:1234 --password
@@ -178,16 +178,16 @@ 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şleme kodu alır; onaylanana kadar mesajlar yok sayılır (kodların süresi 1 saat sonra dolar).
+ - Bilinmeyen gönderenler 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şleme varsayılan token değişimidir. Ayrıntılar: [Eşleme](/tr/channels/pairing)
+ - Eşleştirme varsayılan token alışverişidir. 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.
@@ -196,12 +196,12 @@ openclaw channels add bluebubbles --http-url http://192.168.1.100:1234 --passwor
### Kişi adı zenginleştirme (macOS, isteğe bağlı)
-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 üzerinde yerel Kişiler zenginleştirmesine katılabilirsiniz:
+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:
- `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 adsız telefon katılımcıları zenginleştirilir.
-- Yerel eşleşme bulunmadığında ham telefon numaraları yedek olarak kalı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.
```json5
{
@@ -215,11 +215,11 @@ BlueBubbles grup webhook'ları çoğu zaman yalnızca ham katılımcı adresleri
### Bahsetme kapısı (gruplar)
-BlueBubbles, grup sohbetleri için iMessage/WhatsApp davranışıyla eşleşen bahsetme kapısını destekler:
+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 denetim komutları bahsetme kapısını atlar.
+- 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.
Grup başına yapılandırma:
@@ -240,13 +240,13 @@ Grup başına yapılandırma:
### Komut kapısı
-- Denetim komutları (örn. `/config`, `/model`) yetkilendirme gerektirir.
+- Kontrol komutları (ör. `/config`, `/model`) yetkilendirme gerektirir.
- Komut yetkilendirmesini belirlemek için `allowFrom` ve `groupAllowFrom` kullanır.
-- Yetkili gönderenler, gruplarda bahsetmeden bile denetim komutlarını çalıştırabilir.
+- Yetkili gönderenler gruplarda bahsetmeden bile kontrol 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 aracının sistem istemine eklenir, böylece aracı 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` ile eşleşir ve `"*"` joker giriş, 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 jokerden önceliklidir. DM'ler bu alanı yok sayar; bunun yerine aracı düzeyi veya hesap düzeyi istem özelleştirmesi kullanın.
+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.
-#### Çalışılmış örnek: iş parçacıklı yanıtlar ve tapback tepkileri (Private API)
+#### Çalışılmış örnek: zincirlenmiş yanıtlar ve tapback tepkileri (Private API)
-BlueBubbles Private API etkinleştirildiğinde gelen mesajlar kısa mesaj kimlikleriyle (örneğin `[[reply_to:5]]`) gelir ve aracı belirli bir mesaja iş parçacığı açmak için `action=reply` veya tapback bırakmak için `action=react` çağırabilir. Grup başına `systemPrompt`, aracının doğru aracı seçmesini sağlamak için güvenilir bir yoldur:
+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:
```json5
{
@@ -290,11 +290,11 @@ BlueBubbles Private API etkinleştirildiğinde gelen mesajlar kısa mesaj kimlik
}
```
-Tapback tepkileri ve iş parçacıklı 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 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.
## ACP konuşma bağlamaları
-BlueBubbles sohbetleri, taşıma katmanını değiştirmeden kalıcı ACP çalışma alanlarına dönüştürülebilir.
+BlueBubbles sohbetleri, aktarım katmanını değiştirmeden dayanıklı ACP çalışma alanlarına dönüştürülebilir.
Hızlı operatör akışı:
@@ -303,11 +303,11 @@ Hızlı operatör akışı:
- `/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 aracılığıyla da desteklenir.
+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.
`match.peer.id` desteklenen herhangi bir BlueBubbles hedef biçimini kullanabilir:
-- `+15555550123` veya `user@example.com` gibi normalleştirilmiş DM tanıtıcısı
+- `+15555550123` veya `user@example.com` gibi normalize edilmiş DM tanıtıcısı
- `chat_id:`
- `chat_guid:`
- `chat_identifier:`
@@ -344,13 +344,13 @@ Kararlı grup bağlamaları için `chat_id:*` veya `chat_identifier:*` tercih ed
}
```
-Paylaşılan ACP bağlama davranışı için [ACP Aracıları](/tr/tools/acp-agents) bölümüne bakın.
+Paylaşılan ACP bağlama davranışı için [ACP Agents](/tr/tools/acp-agents) bölümüne bakın.
-## Yazıyor + okundu bilgileri
+## Yazıyor göstergeleri + okundu bilgileri
-- **Yazma göstergeleri**: Yanıt oluşturma öncesinde ve sırasında otomatik olarak gönderilir.
+- **Yazma göstergeleri**: Yanıt oluşturulmadan önce ve yanıt oluşturma 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şlatma olayları gönderir; BlueBubbles, gönderimde veya zaman aşımında yazma durumunu otomatik olarak temizler (DELETE ile elle durdurma güvenilir değildir).
+- **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).
```json5
{
@@ -390,64 +390,64 @@ BlueBubbles, yapılandırmada etkinleştirildiğinde gelişmiş ileti eylemlerin
- - **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 aracı bu kümenin dışında bir emoji seçtiğinde (örneğin `👀`), tepki aracı `love` değerine geri döner; böylece tüm istek başarısız olmak yerine tapback yine de işlenir. Yapılandırılmış onay tepkileri hâlâ katı biçimde doğrulanır ve bilinmeyen değerlerde hata verir.
- - **edit**: Gönderilmiş bir iletiyi düzenleyin (`messageId`, `text`).
- - **unsend**: Bir iletiyi geri alın (`messageId`).
- - **reply**: Belirli bir iletiye 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 üzerinde sorunlu olabilir (API başarı döndürebilir ancak simge eşitlenmeyebilir).
- - **addParticipant**: Bir gruba birini ekleyin (`chatGuid`, `address`).
- - **removeParticipant**: Bir gruptan birini 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** ses ile `asVoice: true` ayarlayın. BlueBubbles, sesli not gönderirken MP3 → CAF dönüşümü yapar.
- - Eski takma ad: `sendAttachment` hâlâ çalışır, ancak kurallı eylem adı `upload-file` değeridir.
+ - **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.
### İleti kimlikleri (kısa ve tam)
-OpenClaw, token tasarrufu için _kısa_ ileti kimlikleri (ör. `1`, `2`) gösterebilir.
+OpenClaw, token tasarrufu için _kısa_ ileti kimliklerini (ö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 bellek içindedir; yeniden başlatmada veya önbellek tahliyesinde süresi dolabilir.
+- `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.
-Kalıcı otomasyonlar ve depolama için tam kimlikler kullanın:
+Kalıcı otomasyonlar ve depolama için tam kimlikleri kullanın:
- Şablonlar: `{{MessageSidFull}}`, `{{ReplyToIdFull}}`
- Bağlam: gelen yüklerde `MessageSidFull` / `ReplyToIdFull`
-Şablon değişkenleri için bkz. [Yapılandırma](/tr/gateway/configuration).
+Şablon değişkenleri için [Yapılandırma](/tr/gateway/configuration) bölümüne bakın.
## Bölünmüş gönderimli DM'leri birleştirme (tek kompozisyonda komut + URL)
-Bir kullanıcı iMessage'da bir komutla bir URL'yi birlikte yazdığında — ör. `Dump https://example.com/article` — Apple gönderimi **iki ayrı webhook teslimatına** böler:
+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:
1. Bir metin iletisi (`"Dump"`).
-2. Ek olarak OG önizleme görselleri içeren bir URL önizleme balonu (`"https://..."`).
+2. Ek olarak OG önizleme görselleriyle 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 ancak 2. turda görür — bu noktada komut bağlamı çoktan kaybolmuştur.
+İ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.
-`channels.bluebubbles.coalesceSameSenderDms`, bir DM'yi aynı gönderenin ardışık webhook'larını tek bir aracı turunda birleştirecek şekilde seçime dahil eder. Grup sohbetleri, çok kullanıcılı tur yapısını korumak için ileti başına anahtarlamaya devam eder.
+`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.
Şu durumlarda etkinleştirin:
- Tek iletide `command + payload` bekleyen Skills gönderiyorsanız (dump, paste, save, queue vb.).
- - Kullanıcılarınız komutların yanına URL, görsel veya uzun içerik yapıştırıyorsa.
+ - Kullanıcılarınız komutlarla birlikte URL, görsel veya uzun içerik 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 takip yükü olmayan tek seferlik komutlarsa.
+ - Tüm akışlarınız, yük devamı olmayan tek seferlik komutlarsa.
@@ -461,7 +461,7 @@ Bir kullanıcı iMessage'da bir komutla 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 ritmi daha dar varsayılan değere sığmaz.
+ 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.
Pencereyi kendiniz ayarlamak için:
@@ -481,27 +481,27 @@ Bir kullanıcı iMessage'da bir komutla 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 bir yük webhook'u gelebilir diye gönderilmeden ö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 karakterle sınırlanır; ekler 20 ile sınırlanır; kaynak girdileri 10 ile sınırlanır (bunun ötesinde ilk-artı-en-son korunur). Her kaynak `messageId` yine de gelen tekilleştirmeye ulaşır; böylece daha sonra herhangi bir bireysel olayın MessagePoller tarafından yeniden oynatılması yinelenen olarak tanınır.
- - **Seçime bağlı, kanal başına.** Diğer kanallar (Telegram, WhatsApp, Slack, …) etkilenmez.
+ - **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.
+ - **İsteğe bağlı, kanal başına.** Diğer kanallar (Telegram, WhatsApp, Slack, …) etkilenmez.
-### Senaryolar ve aracının gördüğü
+### Senaryolar ve aracını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ızca "Dump", sonra URL | Bir tur: birleştirilmiş metin `Dump https://example.com` |
-| `Save this 📎image.jpg caption` (ek + metin) | 2 webhook | İki tur | Bir tur: metin + görsel |
+| `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ılmış URL | 1 webhook | Anında gönderim | Anında gönderim (kovada yalnızca bir girdi) |
-| Metin + URL, dakikalar arayla kasıtlı ayrı iletiler olarak gönderildi | Pencere dışında 2 webhook | İki tur | İki tur (pencere aralarında sona erer) |
-| Hızlı akın (>pencere içinde 10 küçük DM) | N webhook | N tur | Bir tur, sınırlı çıktı (ilk + en son, metin/ek sınırları uygulanır) |
+| 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) |
### 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:
+Bayrak açıksa ve bölünmüş gönderimler hâlâ iki tur olarak geliyorsa, her katmanı kontrol edin:
@@ -509,7 +509,7 @@ Bayrak açıksa ve bölünmüş gönderimler hâlâ iki tur olarak geliyorsa her
grep coalesceSameSenderDms ~/.openclaw/openclaw.json
```
- Ardından `openclaw gateway restart` — bayrak, debouncer kayıt defteri oluşturulurken okunur.
+ Ardından `openclaw gateway restart` — bayrak, debouncer-registry oluşturulurken okunur.
@@ -519,23 +519,23 @@ Bayrak açıksa ve bölünmüş gönderimler hâlâ iki tur olarak geliyorsa her
grep -E "Dispatching event to webhook" main.log | tail -20
```
- `"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.
+ `"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.
- Oturum olayı zaman damgaları (`~/.openclaw/agents//sessions/*.jsonl`), webhook'un geldiği zamanı **değil**, Gateway'in iletiyi aracıya verdiği zamanı yansıtır. `[Queued messages while agent was busy]` etiketi taşıyan kuyruğa alınmış ikinci ileti, ikinci webhook geldiğinde ilk turun hâlâ çalıştığı anlamına gelir — birleştirme kovası çoktan boşaltılmıştır. Pencereyi oturum günlüğüne göre değil, BB sunucu günlüğüne göre ayarlayı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.
- Daha küçük makinelerde (8 GB), aracı turları yanıt tamamlanmadan önce birleştirme kovasının boşalmasına yetecek kadar uzun sürebilir 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 değerinin ü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.
+ 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.
- Kullanıcı `Dump` iletisine mevcut 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 meselesi değil, skill/prompt meselesidir.
+ 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.
## Blok akışı
-Yanıtların tek bir ileti olarak mı yoksa bloklar halinde akışla mı gönderileceğini kontrol edin:
+Yanıtların tek ileti olarak mı yoksa bloklar halinde akışla mı gönderileceğini kontrol edin:
```json5
{
@@ -553,13 +553,13 @@ Yanıtların tek bir ileti olarak mı yoksa bloklar halinde akışla mı gönder
- Gelen ve giden medya için medya sınırı `channels.bluebubbles.mediaMaxMb` üzerinden ayarlanı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 başvurusu
+## Yapılandırma referansı
Tam yapılandırma: [Yapılandırma](/tr/gateway/configuration)
- - `channels.bluebubbles.enabled`: Kanalı etkinleştirin/devre dışı bırakın.
+ - `channels.bluebubbles.enabled`: Kanalı etkinleştirir/devre dışı bırakır.
- `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`).
@@ -567,27 +567,28 @@ Tam yapılandırma: [Yapılandırma](/tr/gateway/configuration)
- `channels.bluebubbles.dmPolicy`: `pairing | allowlist | open | disabled` (varsayılan: `pairing`).
- - `channels.bluebubbles.allowFrom`: DM izin listesi (tanıtıcılar, e-postalar, E.164 numaraları, `chat_id:*`, `chat_guid:*`).
+ - `channels.bluebubbles.allowFrom`: DM izin listesi (kullanıcı adları, 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 üzerinde, geçit denetimleri geçtikten sonra yerel Kişiler'den adsız grup katılımcılarını isteğe bağlı olarak zenginleştirin. Varsayılan: `false`.
+ - `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.groups`: Grup başına yapılandırma (`requireMention` vb.).
-
- - `channels.bluebubbles.sendReadReceipts`: Okundu bilgilerini gönder (varsayılan: `true`).
+
+ - `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 giden metin gönderimleri için istek başına zaman aşımı, ms cinsinden (varsayılan: 30000). Private API iMessage gönderimlerinin iMessage çatısı içinde 60+ saniye takılabildiği macOS 26 kurulumlarında artırın; örneğin `45000` veya `60000`. Sondalar, sohbet aramaları, tepkiler, düzenlemeler ve sağlık kontrolleri şu anda daha kısa olan 10 sn varsayılanını korur; kapsamın tepkiler ve düzenlemelere genişletilmesi sonraki adım olarak planlanmaktadı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çalamadan önce boş satırlarda (paragraf sınırlarında) böler.
+ - `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.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 bölünmüş gönderiminin tek bir mesaj olarak ulaşması için ardışık aynı göndericili DM webhooks olaylarını tek bir ajan turunda birleştirir (varsayılan: `false`). Senaryolar, pencere ayarı ve ödünler 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.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.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.
@@ -597,7 +598,7 @@ Tam yapılandırma: [Yapılandırma](/tr/gateway/configuration)
-İlgili küresel seçenekler:
+İlgili genel seçenekler:
- `agents.list[].groupChat.mentionPatterns` (veya `messages.groupChat.mentionPatterns`).
- `messages.responsePrefix`.
@@ -609,29 +610,29 @@ Kararlı yönlendirme için `chat_guid` tercih edin:
- `chat_guid:iMessage;-;+15555550123` (gruplar için tercih edilir)
- `chat_id:123`
- `chat_identifier:...`
-- Doğrudan handle'lar: `+15555550123`, `user@example.com`
- - Doğrudan bir handle'ı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 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.
### iMessage ve SMS yönlendirmesi
-Aynı handle Mac üzerinde hem bir iMessage hem de bir SMS sohbetine sahip olduğunda (örneğin iMessage'a kayıtlı olup yeşil balon yedekleri de almış bir telefon numarası), OpenClaw iMessage sohbetini tercih eder ve hiçbir zaman sessizce SMS'e düşmez. SMS sohbetini zorlamak için açık bir `sms:` hedef öneki kullanın (örneğin `sms:+15555550123`). Eşleşen bir iMessage sohbeti olmayan handle'lar yine BlueBubbles'ın bildirdiği sohbet üzerinden gönderilir.
+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.
## Güvenlik
-- Webhook istekleri, `guid`/`password` sorgu parametreleri veya başlıkları `channels.bluebubbles.password` ile karşılaştırılarak 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. Bkz. [Gateway güvenliği](/tr/gateway/security#reverse-proxy-configuration).
-- BlueBubbles sunucusunu LAN dışına açıyorsanız HTTPS + güvenlik duvarı kurallarını etkinleştirin.
+- 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).
+- LAN dışına açıyorsanız BlueBubbles sunucusunda HTTPS + güvenlik duvarı kurallarını etkinleştirin.
## Sorun giderme
-- Yazma/okundu etkinlikleri ç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.
+- 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.
- 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şitlenmeyebilir.
+- Grup simgesi güncellemeleri macOS 26'da (Tahoe) kararsız olabilir: API başarı döndürebilir ancak yeni simge eşitlenmez.
- 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 ancak bölünmüş gönderimler (ör. `Dump` + URL) yine de 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ışı olarak yanlış okunması 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 (ö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).
- 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.
@@ -640,6 +641,6 @@ Genel kanal iş akışı başvurusu için [Kanallar](/tr/channels) ve [Plugins](
- [Kanal Yönlendirme](/tr/channels/channel-routing) — mesajlar için oturum yönlendirmesi
- [Kanallara Genel Bakış](/tr/channels) — desteklenen tüm kanallar
-- [Gruplar](/tr/channels/groups) — grup sohbeti davranışı ve bahsetme geçitlemesi
-- [Eşleştirme](/tr/channels/pairing) — DM kimlik doğrulaması ve eşleştirme akışı
-- [Güvenlik](/tr/gateway/security) — erişim modeli ve sağlamlaştırma
+- [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
diff --git a/docs/tr/channels/groups.md b/docs/tr/channels/groups.md
index ae644cedf..cc779f4b5 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 kısıtlamasını değiştirme
+ - Grup sohbeti davranışını veya bahsetme denetimini 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-04-30T16:27:46Z"
+ generated_at: "2026-05-01T08:58:26Z"
model: gpt-5.5
provider: openai
- source_hash: ed9cba03cf4546a20d473e8095a54858530869b27f8934f2680e8dbe987dbf5e
+ source_hash: a8580f98ab03c89770688102da776627d8ce18b7bd34c4a687009fd4aabb6213
source_path: channels/groups.md
workflow: 16
---
-OpenClaw grup sohbetlerini yüzeyler genelinde tutarlı şekilde ele alır: Discord, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo.
+OpenClaw grup sohbetlerini yüzeyler genelinde tutarlı biçimde ele alır: Discord, iMessage, Matrix, Microsoft Teams, Signal, Slack, Telegram, WhatsApp, Zalo.
-## Yeni başlayanlar için giriş (2 dakika)
+## Başlangıç tanıtımı (2 dakika)
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"`).
-- Açıkça mention geçidini devre dışı bırakmadığınız sürece yanıtlar bir mention gerektirir.
+- Yanıtlar, bahsetme kapısını açıkça devre dışı bırakmadığınız sürece 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.
-Çevirisi: allowlist'e alınmış gönderenler, OpenClaw'dan bahsederek onu tetikleyebilir.
+Çeviri: izin listesine alınmış gönderenler, OpenClaw’dan bahsederek onu tetikleyebilir.
-**Özet**
+**Kısa özet**
-- **DM erişimi** `*.allowFrom` ile denetlenir.
-- **Grup erişimi** `*.groupPolicy` + allowlist'ler (`*.groups`, `*.groupAllowFrom`) ile denetlenir.
-- **Yanıt tetikleme** mention 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,15 +48,18 @@ otherwise -> reply
## Görünür yanıtlar
Grup/kanal odaları için OpenClaw varsayılan olarak `messages.groupChat.visibleReplies: "message_tool"` kullanır.
-Bu, aracının yine de dönüşü işlediği ve bellek/oturum durumunu güncelleyebildiği, ancak normal son yanıtının otomatik olarak odaya geri gönderilmediği anlamına gelir. Görünür şekilde konuşmak için aracı `message(action=send)` kullanır.
+Bu, ajanın yine de turu 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 ajan `message(action=send)` kullanır.
-Doğrudan sohbetler ve diğer tüm kaynak dönüşleri 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. `messages.groupChat.visibleReplies`, grup/kanal odaları için daha özel geçersiz kılma olarak kalır.
+Aktif 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.
+`openclaw doctor` bu uyumsuzluk hakkında uyarır.
-Bu, çoğu dinleme modu dönüşünde modeli `NO_REPLY` yanıtı vermeye zorlama şeklindeki eski kalıbın yerini alır. Yalnızca araç modunda görünür hiçbir şey yapmamak, yalnızca message aracını çağırmamak anlamına gelir.
+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. `messages.groupChat.visibleReplies`, grup/kanal odaları için daha özel geçersiz kılma olarak kalır.
-Aracı yalnızca araç modunda çalışırken yazıyor göstergeleri yine gönderilir. Bu dönüşler için varsayılan grup yazıyor modu "message"tan "instant"a yükseltilir, çünkü aracı message aracını çağırıp çağırmayacağına karar vermeden önce normal asistan mesaj metni hiç olmayabilir. Açık yazıyor modu yapılandırması yine önceliklidir.
+Bu, çoğu dinleme 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, yalnızca mesaj aracını çağırmamak anlamına gelir.
-Grup/kanal odaları için eski otomatik son yanıtları geri yüklemek üzere:
+Ajan yalnızca araç modunda çalışırken yazıyor göstergeleri yine de gönderilir. Bu turlarda varsayılan grup yazıyor modu "message" değerinden "instant" değerine yükseltilir, çünkü ajan mesaj aracını çağırıp çağırmamaya karar vermeden önce normal asistan mesaj metni hiç olmayabilir. Açık yazıyor modu yapılandırması yine de önceliklidir.
+
+Grup/kanal odaları için eski otomatik son yanıtları geri yüklemek için:
```json5
{
@@ -70,7 +73,7 @@ Grup/kanal odaları için eski otomatik son yanıtları geri yüklemek üzere:
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 message aracından geçmesini zorunlu kılmak üzere:
+Her kaynak sohbet için görünür çıktının mesaj aracı üzerinden gitmesini zorunlu kılmak için:
```json5
{
@@ -80,70 +83,70 @@ Her kaynak sohbet için görünür çıktının message aracından geçmesini zo
}
```
-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 şekilde yanıt verir. Bu yalnızca doğrulanmış yerel komut dönüşleri için geçerlidir; metin olarak yazılmış `/...` komutları ve sıradan sohbet dönüşleri 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 biçimde 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ı yine de yapılandırılmış grup varsayılanını izler.
-## Bağlam görünürlüğü ve allowlist'ler
+## 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ı denetim rol oynar:
-- **Tetikleme yetkilendirmesi**: aracıyı kim tetikleyebilir (`groupPolicy`, `groups`, `groupAllowFrom`, kanala özgü allowlist'ler).
-- **Bağlam görünürlüğü**: modele hangi ek bağlamın enjekte edildiği (yanıt metni, alıntılar, thread geçmişi, yönlendirilmiş metadata).
+- **Tetikleme yetkilendirmesi**: ajanı 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ş meta veriler).
-OpenClaw varsayılan olarak normal sohbet davranışını önceliklendirir ve bağlamı çoğunlukla alındığı şekilde tutar. Bu, allowlist'lerin esas olarak 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.
+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ılanan 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önderen tabanlı filtreleme uygular (örneğin Slack thread başlatma, Matrix yanıt/thread aramaları).
- - Diğer kanallar alıntı/yanıt/yönlendirme bağlamını hâlâ alındığı şekilde geçirir.
+
+ - Bazı kanallar, belirli yollarda ek bağlam için gönderici tabanlı filtrelemeyi zaten uygular (örneğin Slack iş parçacığı başlatma, 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) geçerli alındığı gibi davranışı korur.
- - `contextVisibility: "allowlist"` ek bağlamı allowlist'e alınmış gönderenlerle sınırlar.
- - `contextVisibility: "allowlist_quote"`, `allowlist` davranışına ek olarak açık bir alıntı/yanıt istisnasıdır.
+
+ - `contextVisibility: "all"` (varsayılan) mevcut alındığı gibi davranışı korur.
+ - `contextVisibility: "allowlist"` ek bağlamı izin listesine alınmış gönderenlerle sınırlar.
+ - `contextVisibility: "allowlist_quote"`, `allowlist` artı bir açık alıntı/yanıt istisnasıdır.
- Bu sertleştirme modeli kanallar genelinde tutarlı şekilde uygulanana kadar yüzeye göre farklılıklar bekleyin.
+ Bu sertleştirme modeli kanallar genelinde tutarlı biçimde uygulanana kadar yüzeye göre farklılıklar bekleyin.
-
+
İstediğiniz şey...
| Hedef | Ayarlanacak değer |
| -------------------------------------------- | ---------------------------------------------------------- |
-| Tüm gruplara izin ver ama yalnızca @mention'larda yanıtla | `groups: { "*": { requireMention: true } }` |
+| 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..."]` |
+| Yalnızca belirli gruplar | `groups: { "": { ... } }` (no `"*"` key) |
+| Gruplarda yalnızca siz tetikleyebilirsiniz | `groupPolicy: "allowlist"`, `groupAllowFrom: ["+1555..."]` |
## Oturum anahtarları
- Grup oturumları `agent:::group:` oturum anahtarlarını kullanır (odalar/kanallar `agent:::channel:` kullanır).
- Telegram forum konuları, her konunun kendi oturumu olması için grup kimliğine `:topic:` ekler.
-- 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.
+- Doğrudan sohbetler ana oturumu kullanır (veya yapılandırılmışsa gönderen başına oturum).
+- Heartbeat’ler grup oturumları için atlanır.
-## Kalıp: kişisel DM'ler + herkese açık gruplar (tek aracı)
+## Kalıp: kişisel DM’ler + herkese açık gruplar (tek ajan)
-Evet — "kişisel" trafiğiniz **DM'ler** ve "herkese açık" trafiğiniz **gruplar** ise bu iyi çalışır.
+Evet — "kişisel" trafiğiniz **DM’ler**, "herkese açık" trafiğiniz ise **gruplar** ise bu iyi çalışır.
-Neden: tek aracı 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. Bir tane seçmezseniz varsayılan backend Docker'dır.
+Neden: tek ajan modunda DM’ler genellikle **ana** oturum anahtarına (`agent:main:main`) düşer, gruplar ise her zaman **ana olmayan** oturum anahtarlarını (`agent:main::group:`) kullanır. `mode: "non-main"` ile sandboxing etkinleştirirseniz, bu grup oturumları yapılandırılmış sandbox arka ucunda çalışırken ana DM oturumunuz ana makinede kalır. Birini seçmezseniz varsayılan arka uç Docker’dır.
-Bu size tek bir aracı "beyni" (paylaşılan çalışma alanı + bellek), ancak iki yürütme duruşu verir:
+Bu size tek bir ajan "beyni" (paylaşılan çalışma alanı + bellek), ancak iki yürütme duruşu verir:
-- **DM'ler**: tüm araçlar (host)
+- **DM’ler**: tam araçlar (ana makine)
- **Gruplar**: sandbox + 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 aracı + bindings kullanın. Bkz. [Çok Aracılı Yönlendirme](/tr/concepts/multi-agent).
+Gerçekten ayrı çalışma alanlarına/persona’lara ihtiyacınız varsa ("kişisel" ve "herkese açık" hiçbir zaman karışmamalıysa), ikinci bir ajan + bağlamalar kullanın. Bkz. [Çoklu Ajan Yönlendirme](/tr/concepts/multi-agent).
-
+
```json5
{
agents: {
@@ -167,8 +170,8 @@ Gerçekten ayrı çalışma alanlarına/persona'lara ihtiyacınız varsa ("kişi
}
```
-
- "Host erişimi yok" yerine "gruplar yalnızca X klasörünü görebilir" istiyor musunuz? `workspaceAccess: "none"` değerini koruyun ve sandbox'a yalnızca allowlist'e alınmış yolları bağlayın:
+
+ "Gruplar ana makine erişimi olmadan" yerine "gruplar yalnızca X klasörünü görebilir" istiyorsanız `workspaceAccess: "none"` değerini koruyun ve yalnızca izin listesine alınmış yolları sandbox içine bağlayın:
```json5
{
@@ -196,17 +199,17 @@ Gerçekten ayrı çalışma alanlarına/persona'lara ihtiyacınız varsa ("kişi
İlgili:
- Yapılandırma anahtarları ve varsayılanlar: [Gateway yapılandırması](/tr/gateway/config-agents#agentsdefaultssandbox)
-- Bir aracın neden engellendiğini hata ayıklama: [Sandbox vs Araç İlkesi vs Yükseltilmiş](/tr/gateway/sandbox-vs-tool-policy-vs-elevated)
-- Bağlama mount ayrıntıları: [Sandboxing](/tr/gateway/sandboxing#custom-bind-mounts)
+- Bir aracın neden engellendiğini hata ayıklama: [Sandbox ve Araç İlkesi ve Yükseltilmiş](/tr/gateway/sandbox-vs-tool-policy-vs-elevated)
+- Bağlama bağları ayrıntıları: [Sandboxing](/tr/gateway/sandboxing#custom-bind-mounts)
-## Görüntüleme etiketleri
+## Görünen etiketler
-- UI etiketleri kullanılabilir olduğunda `:` biçiminde biçimlendirilmiş `displayName` kullanır.
+- UI etiketleri, varsa `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 işleneceğini denetleyin:
```json5
{
@@ -253,48 +256,48 @@ Grup/oda mesajlarının kanal başına nasıl ele alınacağını denetleyin:
}
```
-| İlke | Davranış |
+| İlke | Davranış |
| ------------- | ------------------------------------------------------------ |
-| `"open"` | Gruplar allowlist'leri atlar; mention geçidi yine geçerlidir. |
+| `"open"` | Gruplar izin listelerini atlar; bahsetme kapısı yine de uygulanır. |
| `"disabled"` | Tüm grup mesajlarını tamamen engeller. |
-| `"allowlist"` | Yalnızca yapılandırılmış allowlist ile eşleşen gruplara/odalara izin verir. |
+| `"allowlist"` | Yalnızca yapılandırılmış izin listesiyle eşleşen gruplara/odalara izin verir. |
- - `groupPolicy`, mention geçidinden ( @mention gerektirir) ayrıdır.
- - WhatsApp/Telegram/Signal/iMessage/Microsoft Teams/Zalo: `groupAllowFrom` kullanın (geri dönüş: açık `allowFrom`).
+ - `groupPolicy`, bahsetme kapısından ayrıdır (bu @bahsetmeler gerektirir).
+ - WhatsApp/Telegram/Signal/iMessage/Microsoft Teams/Zalo: `groupAllowFrom` kullanın (yedek: açık `allowFrom`).
- Signal: `groupAllowFrom`, gelen Signal grup kimliğiyle veya gönderen telefon/UUID değeriyle eşleşebilir.
- - DM eşleştirme onayları (`*-allowFrom` store entries) yalnızca DM erişimi için geçerlidir; grup gönderen yetkilendirmesi grup allowlist'lerine açık kalır.
- - Discord: allowlist `channels.discord.guilds..channels` kullanır.
- - Slack: allowlist `channels.slack.channels` kullanır.
- - Matrix: allowlist `channels.matrix.groups` kullanır. Oda kimliklerini veya alias'ları tercih edin; katılınmış oda adı araması en iyi çaba yaklaşımıdır ve çözümlenemeyen adlar runtime'da yok sayılır. Gönderenleri kısıtlamak için `channels.matrix.groupAllowFrom` kullanın; oda başına `users` allowlist'leri de desteklenir.
- - Grup DM'leri ayrı denetlenir (`channels.discord.dm.*`, `channels.slack.dm.*`).
- - Telegram allowlist kullanıcı kimlikleriyle (`"123456789"`, `"telegram:123456789"`, `"tg:123456789"`) veya kullanıcı adlarıyla (`"@alice"` ya da `"alice"`) eşleşebilir; ön ekler büyük/küçük harfe duyarsızdır.
- - Varsayılan `groupPolicy: "allowlist"` değeridir; grup allowlist'iniz boşsa grup mesajları engellenir.
- - Runtime güvenliği: bir provider bloğu tamamen eksik olduğunda (`channels.` yoksa), grup ilkesi `channels.defaults.groupPolicy` değerini devralmak yerine kapalı kalma moduna (genellikle `allowlist`) geri döner.
+ - DM eşleştirme onayları (`*-allowFrom` depo girdileri) yalnızca DM erişimi için geçerlidir; 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 takma adları tercih edin; katılınmış oda adı araması en iyi çaba düzeyindedir ve çözümlenemeyen 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ı olarak kontrol edilir (`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"` değeridir; 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ı kalma moduna (genellikle `allowlist`) geri döner.
-Hızlı zihinsel model (grup mesajları için değerlendirme sırası):
+Grup mesajları için hızlı zihinsel model (değerlendirme sırası):
`groupPolicy` (open/disabled/allowlist).
-
- Grup allowlist'leri (`*.groups`, `*.groupAllowFrom`, kanala özgü allowlist).
+
+ Grup izin listeleri (`*.groups`, `*.groupAllowFrom`, kanala özgü izin listesi).
-
- Mention geçidi (`requireMention`, `/activation`).
+
+ Bahsetme denetimi (`requireMention`, `/activation`).
-## Mention geçidi (varsayılan)
+## Bahsetme denetimi (varsayılan)
-Aksi grup başına geçersiz kılınmadığı sürece grup mesajları bir mention gerektirir. Varsayılanlar `*.groups."*"` altında alt sistem başına bulunur.
+Grup mesajları, grup bazında üzerine yazılmadıkça bahsetme gerektirir. Varsayılanlar her alt sistem için `*.groups."*"` altında bulunur.
-İletişim kanalı yanıt meta verilerini desteklediğinde, bir bot mesajını yanıtlamak örtük bahsetme sayılır. Bir bot mesajından alıntı yapmak da alıntı meta verilerini açığa çıkaran kanallarda örtük bahsetme sayılabilir. Mevcut yerleşik örnekler arasında Telegram, WhatsApp, Slack, Discord, Microsoft Teams ve ZaloUser bulunur.
+Kanal yanıt üst verilerini desteklediğinde, bir bot mesajına yanıt vermek örtük bir bahsetme sayılır. Bot mesajını alıntılamak da alıntı üst verilerini açığa çıkaran kanallarda örtük bahsetme sayılabilir. Mevcut yerleşik durumlar Telegram, WhatsApp, Slack, Discord, Microsoft Teams ve ZaloUser içerir.
```json5
{
@@ -333,40 +336,40 @@ Aksi grup başına geçersiz kılınmadığı sürece grup mesajları bir mentio
```
-
- - `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.
- - Agent başına geçersiz kılma: `agents.list[].groupChat.mentionPatterns` (birden çok agent aynı grubu paylaştığında kullanışlıdır).
- - Bahsetme geçidi yalnızca bahsetme algılama mümkün olduğunda uygulanır (yerel bahsetmeler veya `mentionPatterns` yapılandırılmışsa).
- - Bir grubu veya göndereni izin listesine almak bahsetme geçidini devre dışı bırakmaz; tüm mesajların tetiklemesi gerektiğinde o grubun `requireMention` değerini `false` olarak ayarlayın.
- - Grup sohbeti istem bağlamı, çözümlenen sessiz yanıt talimatını her turda taşır; çalışma alanı dosyaları `NO_REPLY` mekaniklerini çoğaltmamalıdır.
- - 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 agent 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 genelinde tek biçimde sarılır ve **yalnızca bekleyen** kapsamdadır (bahsetme geçidi nedeniyle atlanan mesajlar); küresel 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.
+
+ - `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 bahsetmeler sağlayan yüzeyler yine de geçer; kalıplar bir geri dönüş yoludur.
+ - Ajan bazında 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ılaması 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 mesajların tetiklemesi gerektiğinde 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 çoğaltmamalıdır.
+ - 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 sayar. 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 bazında geçersiz kılınabilir).
+ - Grup geçmişi bağlamı kanallar genelinde tek biçimde sarılır ve **yalnızca bekleyen** niteliktedir (bahsetme denetimi 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` olarak 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ı, **belirli bir grup/oda/kanal içinde** hangi araçların kullanılabilir olduğunu kısıtlamayı destekler.
-- `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 `"*"` jokeri. Eski öneksiz anahtarlar hâlâ kabul edilir ve yalnızca `id:` olarak eşleştirilir.
+- `tools`: tüm grup için araçlara izin ver/reddet.
+- `toolsBySender`: grup içinde gönderen bazında 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 spesifik olan kazanır):
+Çözümleme sırası (en özgül olan kazanır):
Grup/kanal `toolsBySender` eşleşmesi.
-
+
Grup/kanal `tools`.
Varsayılan (`"*"`) `toolsBySender` eşleşmesi.
-
+
Varsayılan (`"*"`) `tools`.
@@ -392,18 +395,18 @@ Bazı kanal yapılandırmaları, **belirli bir grup/oda/kanal içinde** hangi ar
```
-Grup/kanal araç kısıtlamaları, küresel/agent araç ilkesine ek olarak uygulanır (reddetme yine de kazanır). Bazı kanallar odalar/kanallar için farklı iç içe yapılar kullanır (ör. Discord `guilds.*.channels.*`, Slack `channels.*`, Microsoft Teams `teams.*.channels.*`).
+Grup/kanal araç kısıtlamaları global/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 izin listeleri
-`channels.whatsapp.groups`, `channels.telegram.groups` veya `channels.imessage.groups` yapılandırıldığında anahtarlar grup izin listesi olarak 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 gibi davranır. Varsayılan bahsetme 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ş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 ilgili kanal için belgelenmiş yapılandırma yedeğinden açık grup gönderen yetkilendirmesi gerektirir.
+Yaygın karışıklık: DM eşleştirme onayı, grup yetkilendirmesiyle aynı şey değildir. DM eşleştirmesini 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 niyetler (kopyala/yapıştır):
+Yaygın amaçlar (kopyala/yapıştır):
@@ -455,28 +458,28 @@ Yaygın niyetler (kopyala/yapıştır):
## Etkinleştirme (yalnızca sahip)
-Grup sahipleri grup başına etkinleştirmeyi açıp kapatabilir:
+Grup sahipleri grup bazında etkinleştirmeyi açıp kapatabilir:
- `/activation mention`
- `/activation always`
-Sahip, `channels.whatsapp.allowFrom` ile belirlenir (veya ayarlanmamışsa botun kendi E.164 değeriyle). Komutu tek başına bir mesaj olarak gönderin. Diğer yüzeyler şu anda `/activation` komutunu yok sayar.
+Sahip, `channels.whatsapp.allowFrom` ile belirlenir (veya ayarlanmamışsa botun kendi E.164 değeriyle). Komutu tek başına bir mesaj olarak gönderin. Diğer yüzeyler şu anda `/activation` değerini yok sayar.
## Bağlam alanları
-Gelen grup yükleri şunları ayarlar:
+Grup gelen yükleri şunları ayarlar:
- `ChatType=group`
- `GroupSubject` (biliniyorsa)
- `GroupMembers` (biliniyorsa)
-- `WasMentioned` (bahsetme geçidi sonucu)
+- `WasMentioned` (bahsetme denetimi sonucu)
- Telegram forum konuları ayrıca `MessageThreadId` ve `IsForum` içerir.
Kanala özgü notlar:
-- BlueBubbles, `GroupMembers` alanını doldurmadan önce adsız macOS grup katılımcılarını yerel Kişiler veritabanından isteğe bağlı olarak zenginleştirebilir. Bu varsayılan olarak kapalıdır ve yalnızca normal grup geçidi geçtikten sonra çalışır.
+- 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.
-Agent 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 düz `\n` dizileri 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, çitle çevrilmiş güvenilmeyen meta veriler olarak işlenir.
+Ajan sistem istemi, yeni bir grup oturumunun ilk turunda bir grup tanıtımı içerir. Modele bir 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 değişmez `\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, fenced güvenilmeyen üst veri olarak işlenir.
## iMessage ayrıntıları
@@ -486,11 +489,11 @@ Agent sistem istemi, yeni bir grup oturumunun ilk turunda bir grup girişi içer
## WhatsApp sistem istemleri
-Grup ve doğrudan istem çözümlemesi, joker davranışı ve hesap geçersiz kılma semantiği dahil olmak üzere kurallı 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 semantiği dahil olmak üzere 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'a özgü davranışlar (geçmiş enjeksiyonu, bahsetme işleme ayrıntıları) için [Grup mesajları](/tr/channels/group-messages) bölümüne bakın.
+Yalnızca WhatsApp davranışı (geçmiş ekleme, bahsetme işleme ayrıntıları) için [Grup mesajları](/tr/channels/group-messages) bölümüne bakın.
## İlgili
diff --git a/docs/tr/channels/qa-channel.md b/docs/tr/channels/qa-channel.md
index 2cc03775d..29850d5d0 100644
--- a/docs/tr/channels/qa-channel.md
+++ b/docs/tr/channels/qa-channel.md
@@ -1,29 +1,31 @@
---
read_when:
- - Sentetik QA aktarımını yerel veya CI test çalışmasına bağlıyorsunuz
+ - Sentetik QA taşımasını yerel veya CI test çalıştırmasına bağlıyorsunuz
- Paketle gelen qa-channel yapılandırma yüzeyine ihtiyacınız var
- - Uçtan uca QA otomasyonu üzerinde yineleme yapıyorsunuz
-summary: Deterministik OpenClaw QA senaryoları için sentetik Slack sınıfı kanal Plugin'i
-title: QA kanalı
+ - Uçtan uca kalite güvencesi otomasyonunu yinelemeli olarak geliştiriyorsunuz
+summary: Deterministik OpenClaw kalite güvence senaryoları için sentetik Slack sınıfı kanal Plugin'i
+title: Kalite güvence kanalı
x-i18n:
- generated_at: "2026-04-30T09:08:28Z"
+ generated_at: "2026-05-01T08:58:44Z"
model: gpt-5.5
provider: openai
- source_hash: e1de1f52da1a14c845cf2a536ddc6f36ab52ed6364f68d9ece32ce272e2a2f96
+ source_hash: efe057812de1fbc6d89d2b6d5860cd6af4648c3e86913efa3a69267c4e8c57b4
source_path: channels/qa-channel.md
workflow: 16
---
-`qa-channel`, otomatik OpenClaw QA için paketlenmiş sentetik bir mesaj aktarımıdır. Üretim kanalı değildir — gerçek aktarımların kullandığı aynı kanal Plugin sınırını çalıştırmak, bu sırada durumu belirlenimci ve tamamen incelenebilir tutmak için vardır.
+`qa-channel`, otomatik OpenClaw QA için paketle birlikte gelen sentetik bir mesaj taşımasıdır. Üretim kanalı değildir; durumu deterministik ve tamamen incelenebilir tutarken gerçek taşımalar tarafından kullanılan aynı kanal Plugin sınırını çalıştırmak için vardır.
-## Ne yapar
+## Ne yapar?
-- Slack sınıfı hedef dil bilgisi:
+- Slack sınıfı hedef grameri:
- `dm:`
- `channel:`
+ - `group:`
- `thread:/`
-- Gelen mesaj enjeksiyonu, giden transkript yakalama, iş parçacığı oluşturma, tepkiler, düzenlemeler, silmeler ve arama/okuma eylemleri için HTTP destekli sentetik bus.
-- `.artifacts/qa-e2e/` konumuna Markdown raporu yazan host tarafı kendi kendini denetleme çalıştırıcısı.
+- Paylaşılan `channel:` ve `group:` konuşmaları ajanlara grup/kanal odası turları olarak gösterilir; böylece Discord, Slack, Telegram ve benzer taşımalar tarafından kullanılan aynı görünür yanıt ve mesaj aracı yönlendirme ilkesini çalıştırırlar.
+- Gelen mesaj ekleme, giden transcript yakalama, iş parçacığı oluşturma, tepkiler, düzenlemeler, silmeler ve arama/okuma eylemleri için HTTP destekli sentetik bus.
+- `.artifacts/qa-e2e/` konumuna Markdown raporu yazan ana makine tarafı kendini denetleme çalıştırıcısı.
## Yapılandırma
@@ -43,51 +45,51 @@ x-i18n:
Hesap anahtarları:
-- `enabled` — bu hesap için ana açma/kapama anahtarı.
+- `enabled` — bu hesap için ana açma/kapama düğmesi.
- `name` — isteğe bağlı görüntüleme etiketi.
- `baseUrl` — sentetik bus URL'si.
-- `botUserId` — hedef dil bilgisinde kullanılan Matrix tarzı bot kullanıcı kimliği.
+- `botUserId` — hedef gramerinde kullanılan Matrix tarzı bot kullanıcı kimliği.
- `botDisplayName` — giden mesajlar için görüntüleme adı.
-- `pollTimeoutMs` — long-poll bekleme penceresi. 100 ile 30000 arasında tamsayı.
+- `pollTimeoutMs` — long-poll bekleme penceresi. 100 ile 30000 arasında bir tam sayı.
- `allowFrom` — gönderen izin listesi (kullanıcı kimlikleri veya `"*"`).
- `defaultTo` — hiçbiri sağlanmadığında yedek hedef.
-- `actions.messages` / `actions.reactions` / `actions.search` / `actions.threads` — eylem başına araç geçitleme.
+- `actions.messages` / `actions.reactions` / `actions.search` / `actions.threads` — eylem başına araç geçidi.
Üst düzeyde çoklu hesap anahtarları:
-- `accounts` — hesap kimliğine göre anahtarlanmış, adlandırılmış hesap başına geçersiz kılmaların kaydı.
-- `defaultAccount` — birden fazla yapılandırıldığında tercih edilen hesap kimliği.
+- `accounts` — hesap kimliğine göre anahtarlanmış adlandırılmış hesap başına geçersiz kılmaların kaydı.
+- `defaultAccount` — birden çok hesap yapılandırıldığında tercih edilen hesap kimliği.
## Çalıştırıcılar
-Host tarafı kendi kendini denetleme (`.artifacts/qa-e2e/` altında Markdown raporu yazar):
+Ana makine tarafı kendini denetleme (`.artifacts/qa-e2e/` altında bir Markdown raporu yazar):
```bash
pnpm qa:e2e
```
-Bu, `qa-lab` üzerinden yönlenir, repo içi QA bus'ını başlatır, paketlenmiş `qa-channel` çalışma zamanı dilimini önyükler ve belirlenimci bir kendi kendini denetleme çalıştırır.
+Bu, `qa-lab` üzerinden yönlendirir, depo içi QA bus'ını başlatır, paketle gelen `qa-channel` runtime dilimini başlatır ve deterministik bir kendini denetleme çalıştırır.
-Tam repo destekli senaryo paketi:
+Tam depo destekli senaryo paketi:
```bash
pnpm openclaw qa suite
```
-Senaryoları QA Gateway hattına karşı paralel çalıştırır. Senaryolar, profiller ve sağlayıcı modları için [QA genel bakışına](/tr/concepts/qa-e2e-automation) bakın.
+Senaryoları QA gateway hattına karşı paralel çalıştırır. Senaryolar, profiller ve sağlayıcı modları için [QA genel bakışı](/tr/concepts/qa-e2e-automation) bölümüne bakın.
-Docker destekli QA sitesi (Gateway + QA Lab hata ayıklayıcı UI tek bir yığında):
+Docker destekli QA sitesi (gateway + QA Lab hata ayıklama kullanıcı arayüzü tek bir yığında):
```bash
pnpm qa:lab:up
```
-QA sitesini derler, Docker destekli Gateway + QA Lab yığınını başlatır ve QA Lab URL'sini yazdırır. Buradan senaryoları seçebilir, model hattını seçebilir, tekil çalıştırmaları başlatabilir ve sonuçları canlı izleyebilirsiniz. QA Lab hata ayıklayıcısı, yayınlanan Control UI paketinden ayrıdır.
+QA sitesini derler, Docker destekli gateway + QA Lab yığınını başlatır ve QA Lab URL'sini yazdırır. Buradan senaryoları seçebilir, model hattını belirleyebilir, tek tek çalıştırmaları başlatabilir ve sonuçları canlı izleyebilirsiniz. QA Lab hata ayıklayıcısı, gönderilen Control UI paketinden ayrıdır.
## İlgili
-- [QA genel bakışı](/tr/concepts/qa-e2e-automation) — genel yığın, aktarım adaptörleri, senaryo yazımı
-- [Matrix QA](/tr/concepts/qa-matrix) — gerçek bir kanalı süren örnek canlı aktarım çalıştırıcısı
-- [Eşleştirme](/tr/channels/pairing)
+- [QA genel bakışı](/tr/concepts/qa-e2e-automation) — genel yığın, taşıma bağdaştırıcıları, senaryo yazımı
+- [Matrix QA](/tr/concepts/qa-matrix) — gerçek bir kanalı süren örnek canlı taşıma çalıştırıcısı
+- [Eşleme](/tr/channels/pairing)
- [Gruplar](/tr/channels/groups)
- [Kanallar genel bakışı](/tr/channels)
diff --git a/docs/tr/ci.md b/docs/tr/ci.md
index 0a8797b1f..841338128 100644
--- a/docs/tr/ci.md
+++ b/docs/tr/ci.md
@@ -3,73 +3,73 @@ read_when:
- Bir CI işinin neden çalıştığını veya çalışmadığını anlamanız gerekir
- Başarısız olan bir GitHub Actions denetiminde hata ayıklıyorsunuz
- Bir sürüm doğrulama çalıştırmasını veya yeniden çalıştırmasını koordine ediyorsunuz
-summary: CI iş grafiği, kapsam geçitleri, sürüm şemsiyeleri ve yerel komut eşdeğerleri
+summary: CI iş grafiği, kapsam kapıları, sürüm şemsiyeleri ve yerel komut eşdeğerleri
title: CI işlem hattı
x-i18n:
- generated_at: "2026-04-30T18:38:50Z"
+ generated_at: "2026-05-01T08:58:39Z"
model: gpt-5.5
provider: openai
- source_hash: a24afc27606ac7f4e9ead89acdd319bffa23336610f8a6cd8b576ea1a5b233dd
+ source_hash: 679913539743f9495fffa010489ec95e05ce875751afa8a93bf8bf7045d6d9de
source_path: ci.md
workflow: 16
---
-OpenClaw CI, `main` dalına yapılan her push ve her pull request üzerinde çalışır. `preflight` işi diff’i sınıflandırır ve yalnızca alakasız alanlar değiştiğinde pahalı hatları kapatır. Manuel `workflow_dispatch` çalıştırmaları, release candidate’lar ve geniş doğrulama için akıllı kapsam belirlemeyi bilinçli olarak atlar ve tam grafiği genişletir. Android hatları `include_android` aracılığıyla opt-in kalır. Yalnızca release’e özel Plugin kapsamı ayrı [`Plugin Prerelease`](#plugin-prerelease) workflow’unda bulunur ve yalnızca [`Full Release Validation`](#full-release-validation) üzerinden ya da açık bir manuel dispatch ile çalışır.
+OpenClaw CI, `main` dalına yapılan her push ve her pull request için çalışır. `preflight` işi diff’i sınıflandırır ve yalnızca ilgisiz alanlar değiştiğinde pahalı hatları kapatır. Manuel `workflow_dispatch` çalıştırmaları, sürüm adayları ve geniş doğrulama için akıllı kapsamlandırmayı bilinçli olarak atlar ve tam grafiğe yayılır. Android hatları `include_android` üzerinden isteğe bağlı kalır. Yalnızca sürüme özel Plugin kapsamı ayrı [`Plugin Ön Sürüm`](#plugin-prerelease) iş akışında bulunur ve yalnızca [`Tam Sürüm Doğrulaması`](#full-release-validation) üzerinden veya açık bir manuel dispatch ile çalışır.
-## Pipeline genel bakışı
+## İş Hattı Genel Bakışı
| İş | Amaç | Ne zaman çalışır |
| -------------------------------- | -------------------------------------------------------------------------------------------- | --------------------------------- |
-| `preflight` | Yalnızca dokümantasyon değişikliklerini, değişen kapsamları, değişen extension’ları algılar ve CI manifest’ini oluşturur | Draft olmayan push ve PR’larda her zaman |
-| `security-scm-fast` | `zizmor` ile özel anahtar algılama ve workflow denetimi | Draft olmayan push ve PR’larda her zaman |
-| `security-dependency-audit` | npm advisory’lerine karşı dependency-free production lockfile denetimi | Draft olmayan push ve PR’larda her zaman |
-| `security-fast` | Hızlı güvenlik işleri için zorunlu toplama | Draft olmayan push ve PR’larda her zaman |
+| `preflight` | Yalnızca doküman değişikliklerini, değişen kapsamları, değişen uzantıları algılar ve CI manifestini oluşturur | Taslak olmayan push ve PR’larda her zaman |
+| `security-scm-fast` | `zizmor` aracılığıyla özel anahtar algılama ve iş akışı denetimi | Taslak olmayan push ve PR’larda her zaman |
+| `security-dependency-audit` | npm uyarılarına karşı bağımlılıksız production lockfile denetimi | Taslak olmayan push ve PR’larda her zaman |
+| `security-fast` | Hızlı güvenlik işleri için gerekli toplam sonuç | Taslak olmayan push ve PR’larda her zaman |
| `check-dependencies` | Production Knip yalnızca bağımlılık geçişi ve kullanılmayan dosya allowlist koruması | Node ile ilgili değişiklikler |
-| `build-artifacts` | `dist/`, Control UI, derlenmiş artifact denetimleri ve yeniden kullanılabilir downstream artifact’lar oluşturur | Node ile ilgili değişiklikler |
-| `checks-fast-core` | Paketli/plugin-contract/protokol denetimleri gibi hızlı Linux doğruluk hatları | Node ile ilgili değişiklikler |
-| `checks-fast-contracts-channels` | Kararlı bir toplu denetim sonucuyla parçalanmış kanal sözleşmesi denetimleri | Node ile ilgili değişiklikler |
-| `checks-node-core-test` | Kanal, paketli, sözleşme ve extension hatları hariç çekirdek Node test parçaları | Node ile ilgili değişiklikler |
-| `check` | Parçalanmış ana yerel gate eşdeğeri: prod tipleri, lint, korumalar, test tipleri ve strict smoke | Node ile ilgili değişiklikler |
-| `check-additional` | Mimari, sınır, extension-surface korumaları, paket sınırı ve gateway-watch parçaları | Node ile ilgili değişiklikler |
+| `build-artifacts` | `dist/`, Control kullanıcı arayüzü, derlenmiş artefakt kontrolleri ve yeniden kullanılabilir aşağı akış artefaktları oluşturur | Node ile ilgili değişiklikler |
+| `checks-fast-core` | Paketlenmiş/Plugin sözleşmesi/protokol kontrolleri gibi hızlı Linux doğruluk hatları | Node ile ilgili değişiklikler |
+| `checks-fast-contracts-channels` | Kararlı toplam kontrol sonucuyla parçalanmış kanal sözleşmesi kontrolleri | Node ile ilgili değişiklikler |
+| `checks-node-core-test` | Kanal, paketlenmiş, sözleşme ve uzantı hatları hariç çekirdek Node test parçaları | Node ile ilgili değişiklikler |
+| `check` | Parçalanmış ana yerel kapı eşdeğeri: production tipleri, lint, korumalar, test tipleri ve katı smoke | Node ile ilgili değişiklikler |
+| `check-additional` | Mimari, sınır, uzantı yüzeyi korumaları, paket sınırı ve gateway-watch parçaları | Node ile ilgili değişiklikler |
| `build-smoke` | Derlenmiş CLI smoke testleri ve başlangıç belleği smoke | Node ile ilgili değişiklikler |
-| `checks` | Derlenmiş artifact kanal testleri için doğrulayıcı | Node ile ilgili değişiklikler |
-| `checks-node-compat-node22` | Node 22 uyumluluk build ve smoke hattı | Release’ler için manuel CI dispatch |
-| `check-docs` | Dokümantasyon biçimlendirme, lint ve bozuk bağlantı denetimleri | Dokümantasyon değiştiğinde |
+| `checks` | Derlenmiş artefakt kanal testleri için doğrulayıcı | Node ile ilgili değişiklikler |
+| `checks-node-compat-node22` | Node 22 uyumluluk derleme ve smoke hattı | Sürümler için manuel CI dispatch |
+| `check-docs` | Doküman biçimlendirme, lint ve kırık bağlantı kontrolleri | Dokümanlar değiştiğinde |
| `skills-python` | Python destekli Skills için Ruff + pytest | Python-skill ile ilgili değişiklikler |
-| `checks-windows` | Windows’a özgü process/path testleri ve paylaşılan runtime import belirteci regresyonları | Windows ile ilgili değişiklikler |
-| `macos-node` | Paylaşılan derlenmiş artifact’ları kullanan macOS TypeScript test hattı | macOS ile ilgili değişiklikler |
-| `macos-swift` | macOS uygulaması için Swift lint, build ve testleri | macOS ile ilgili değişiklikler |
-| `android` | Her iki flavor için Android unit testleri ve bir debug APK build’i | Android ile ilgili değişiklikler |
+| `checks-windows` | Windows’a özgü süreç/yol testleri ve paylaşılan çalışma zamanı import belirteci regresyonları | Windows ile ilgili değişiklikler |
+| `macos-node` | Paylaşılan derlenmiş artefaktları kullanan macOS TypeScript test hattı | macOS ile ilgili değişiklikler |
+| `macos-swift` | macOS uygulaması için Swift lint, derleme ve testler | macOS ile ilgili değişiklikler |
+| `android` | İki flavor için Android birim testleri ve bir debug APK derlemesi | Android ile ilgili değişiklikler |
| `test-performance-agent` | Güvenilir etkinlikten sonra günlük Codex yavaş test optimizasyonu | Ana CI başarısı veya manuel dispatch |
-## Fail-fast sırası
+## Hızlı Başarısız Olma Sırası
-1. `preflight`, hangi hatların var olacağına karar verir. `docs-scope` ve `changed-scope` mantığı bu işin içindeki adımlardır, bağımsız işler değildir.
-2. `security-scm-fast`, `security-dependency-audit`, `security-fast`, `check`, `check-additional`, `check-docs` ve `skills-python`, daha ağır artifact ve platform matrix işlerini beklemeden hızlıca başarısız olur.
-3. `build-artifacts`, hızlı Linux hatlarıyla çakışır; böylece downstream tüketiciler paylaşılan build hazır olur olmaz başlayabilir.
-4. Daha ağır platform ve runtime hatları bundan sonra genişler: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-core-test`, `checks`, `checks-windows`, `macos-node`, `macos-swift` ve `android`.
+1. `preflight`, hangi hatların gerçekten var olacağına karar verir. `docs-scope` ve `changed-scope` mantığı bu işin içindeki adımlardır, bağımsız işler değildir.
+2. `security-scm-fast`, `security-dependency-audit`, `security-fast`, `check`, `check-additional`, `check-docs` ve `skills-python`, daha ağır artefakt ve platform matrisi işlerini beklemeden hızlı başarısız olur.
+3. `build-artifacts`, paylaşılan derleme hazır olur olmaz aşağı akış tüketicilerinin başlayabilmesi için hızlı Linux hatlarıyla örtüşür.
+4. Daha ağır platform ve çalışma zamanı hatları bundan sonra yayılır: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-core-test`, `checks`, `checks-windows`, `macos-node`, `macos-swift` ve `android`.
-Aynı PR veya `main` ref’ine daha yeni bir push geldiğinde GitHub, yerini yeni çalıştırma alan işleri `cancelled` olarak işaretleyebilir. Aynı ref için en yeni çalıştırma da başarısız değilse bunu CI gürültüsü olarak değerlendirin. Toplu shard denetimleri `!cancelled() && always()` kullanır; böylece normal shard hatalarını yine raporlar, ancak tüm workflow zaten yerini yeni çalıştırmaya bıraktıktan sonra kuyruğa girmez. Otomatik CI eşzamanlılık anahtarı sürümlüdür (`CI-v7-*`), böylece eski bir kuyruk grubundaki GitHub taraflı zombie daha yeni main çalıştırmalarını süresiz engelleyemez. Manuel tam takım çalıştırmaları `CI-manual-v1-*` kullanır ve sürmekte olan çalıştırmaları iptal etmez.
+Aynı PR veya `main` ref’ine daha yeni bir push geldiğinde GitHub, yerine geçen işleri `cancelled` olarak işaretleyebilir. Aynı ref için en yeni çalıştırma da başarısız olmuyorsa bunu CI gürültüsü olarak değerlendirin. Toplam parça kontrolleri `!cancelled() && always()` kullanır; böylece normal parça hatalarını yine raporlar, ancak tüm iş akışı zaten yerine geçirilmişse sıraya girmez. Otomatik CI eşzamanlılık anahtarı sürümlüdür (`CI-v7-*`), bu nedenle eski bir kuyruk grubundaki GitHub taraflı bir zombi daha yeni main çalıştırmalarını süresiz olarak engelleyemez. Manuel tam paket çalıştırmaları `CI-manual-v1-*` kullanır ve devam eden çalıştırmaları iptal etmez.
-## Kapsam ve yönlendirme
+## Kapsam ve Yönlendirme
-Kapsam mantığı `scripts/ci-changed-scope.mjs` içinde bulunur ve `src/scripts/ci-changed-scope.test.ts` içindeki unit testlerle kapsanır. Manuel dispatch, changed-scope algılamayı atlar ve preflight manifest’inin her kapsamlı alan değişmiş gibi davranmasını sağlar.
+Kapsam mantığı `scripts/ci-changed-scope.mjs` içinde bulunur ve `src/scripts/ci-changed-scope.test.ts` içindeki birim testleriyle kapsanır. Manuel dispatch, değişen kapsam algılamasını atlar ve preflight manifestinin her kapsamlı alan değişmiş gibi davranmasını sağlar.
-- **CI workflow düzenlemeleri** Node CI grafiğini ve workflow linting’i doğrular, ancak tek başına Windows, Android veya macOS native build’lerini zorlamaz; bu platform hatları platform kaynak değişiklikleriyle kapsamlı kalır.
-- **CI yalnızca yönlendirme düzenlemeleri, seçili ucuz core-test fixture düzenlemeleri ve dar plugin contract helper/test-routing düzenlemeleri** hızlı bir yalnızca Node manifest yolu kullanır: `preflight`, güvenlik ve tek bir `checks-fast-core` görevi. Bu yol, değişiklik hızlı görevin doğrudan çalıştırdığı yönlendirme veya helper yüzeyleriyle sınırlı olduğunda build artifact’larını, Node 22 uyumluluğunu, kanal sözleşmelerini, tam çekirdek shard’larını, paketli-plugin shard’larını ve ek guard matrix’lerini atlar.
-- **Windows Node denetimleri** Windows’a özgü process/path wrapper’ları, npm/pnpm/UI runner helper’ları, paket yöneticisi config’i ve bu hattı çalıştıran CI workflow yüzeyleriyle kapsamlanır; alakasız kaynak, plugin, install-smoke ve yalnızca test değişiklikleri Linux Node hatlarında kalır.
+- **CI iş akışı düzenlemeleri** Node CI grafiğini ve iş akışı lint’ini doğrular, ancak Windows, Android veya macOS yerel derlemelerini tek başına zorlamaz; bu platform hatları platform kaynak değişiklikleriyle kapsamlı kalır.
+- **Yalnızca CI yönlendirme düzenlemeleri, seçilmiş ucuz çekirdek test fixture düzenlemeleri ve dar Plugin sözleşmesi yardımcı/test yönlendirme düzenlemeleri** hızlı bir yalnızca Node manifest yolu kullanır: `preflight`, güvenlik ve tek bir `checks-fast-core` görevi. Bu yol, değişiklik hızlı görevin doğrudan çalıştırdığı yönlendirme veya yardımcı yüzeylerle sınırlı olduğunda derleme artefaktlarını, Node 22 uyumluluğunu, kanal sözleşmelerini, tam çekirdek parçalarını, paketlenmiş Plugin parçalarını ve ek koruma matrislerini atlar.
+- **Windows Node kontrolleri** Windows’a özgü süreç/yol sarmalayıcılarına, npm/pnpm/UI çalıştırıcı yardımcılarına, paket yöneticisi yapılandırmasına ve bu hattı çalıştıran CI iş akışı yüzeylerine kapsamlanır; ilgisiz kaynak, Plugin, install-smoke ve yalnızca test değişiklikleri Linux Node hatlarında kalır.
-En yavaş Node test aileleri, her iş runner’ları fazla ayırmadan küçük kalsın diye bölünür veya dengelenir: kanal sözleşmeleri üç ağırlıklı shard olarak çalışır, küçük çekirdek unit hatları eşleştirilir, auto-reply dört dengeli worker olarak çalışır (reply subtree’si agent-runner, dispatch ve commands/state-routing shard’larına bölünür) ve agentic gateway/plugin config’leri derlenmiş artifact’ları beklemek yerine mevcut yalnızca kaynak agentic Node işlerine dağıtılır. Geniş tarayıcı, QA, medya ve çeşitli plugin testleri, paylaşılan plugin catch-all yerine kendilerine ayrılmış Vitest config’lerini kullanır. Include-pattern shard’ları zamanlama girdilerini CI shard adını kullanarak kaydeder; böylece `.artifacts/vitest-shard-timings.json` bütün bir config’i filtrelenmiş bir shard’dan ayırt edebilir. `check-additional`, paket-sınırı compile/canary işini birlikte tutar ve runtime topology mimarisini gateway watch kapsamından ayırır; boundary guard shard’ı küçük bağımsız guard’larını tek iş içinde eşzamanlı çalıştırır. Gateway watch, kanal testleri ve çekirdek support-boundary shard’ı, `dist/` ve `dist-runtime/` zaten derlendikten sonra `build-artifacts` içinde eşzamanlı çalışır.
+En yavaş Node test aileleri, her işin koşucuları aşırı ayırmadan küçük kalması için bölünür veya dengelenir: kanal sözleşmeleri üç ağırlıklı parça olarak çalışır, küçük çekirdek birim hatları eşleştirilir, auto-reply dört dengeli işçi olarak çalışır (reply alt ağacı agent-runner, dispatch ve commands/state-routing parçalarına bölünerek) ve agentic gateway/Plugin yapılandırmaları, derlenmiş artefaktları beklemek yerine mevcut yalnızca kaynak agentic Node işleri arasında dağıtılır. Geniş tarayıcı, QA, medya ve çeşitli Plugin testleri, paylaşılan Plugin toplama yapılandırması yerine kendi özel Vitest yapılandırmalarını kullanır. Include-pattern parçaları zamanlama girişlerini CI parça adını kullanarak kaydeder; böylece `.artifacts/vitest-shard-timings.json` tam bir yapılandırmayı filtrelenmiş bir parçadan ayırt edebilir. `check-additional`, paket sınırı derleme/canary çalışmasını bir arada tutar ve çalışma zamanı topoloji mimarisini gateway watch kapsamından ayırır; sınır koruma parçası, küçük bağımsız korumalarını tek bir iş içinde eşzamanlı çalıştırır. Gateway watch, kanal testleri ve çekirdek destek sınırı parçası, `dist/` ve `dist-runtime/` zaten derlendikten sonra `build-artifacts` içinde eşzamanlı çalışır.
-Android CI hem `testPlayDebugUnitTest` hem de `testThirdPartyDebugUnitTest` çalıştırır ve ardından Play debug APK’sini derler. Third-party flavor’ın ayrı bir kaynak seti veya manifest’i yoktur; unit-test hattı flavor’ı SMS/call-log BuildConfig bayraklarıyla yine derlerken, her Android ile ilgili push’ta yinelenen bir debug APK paketleme işinden kaçınır.
+Android CI hem `testPlayDebugUnitTest` hem de `testThirdPartyDebugUnitTest` çalıştırır ve ardından Play debug APK’sını derler. Third-party flavor’ın ayrı bir kaynak kümesi veya manifesti yoktur; birim test hattı flavor’ı SMS/arama günlüğü BuildConfig bayraklarıyla yine derlerken, Android ile ilgili her push’ta yinelenen bir debug APK paketleme işinden kaçınır.
-`check-dependencies` shard’ı `pnpm deadcode:dependencies` (en yeni Knip sürümüne sabitlenmiş, `dlx` kurulumu için pnpm’in minimum release age ayarı devre dışı bırakılmış bir production Knip yalnızca bağımlılık geçişi) ve Knip’in production kullanılmayan dosya bulgularını `scripts/deadcode-unused-files.allowlist.mjs` ile karşılaştıran `pnpm deadcode:unused-files` komutunu çalıştırır. Kullanılmayan dosya guard’ı, bir PR yeni incelenmemiş kullanılmayan dosya eklediğinde veya bayat bir allowlist girdisi bıraktığında başarısız olur; Knip’in statik olarak çözemediği kasıtlı dinamik plugin, generated, build, live-test ve package bridge yüzeylerini ise korur.
+`check-dependencies` parçası `pnpm deadcode:dependencies` (en güncel Knip sürümüne sabitlenmiş, `dlx` kurulumu için pnpm’in minimum sürüm yaşı devre dışı bırakılmış bir production Knip yalnızca bağımlılık geçişi) ve `pnpm deadcode:unused-files` çalıştırır; ikincisi Knip’in production kullanılmayan dosya bulgularını `scripts/deadcode-unused-files.allowlist.mjs` ile karşılaştırır. Kullanılmayan dosya koruması, bir PR yeni gözden geçirilmemiş kullanılmayan dosya eklediğinde veya eski bir allowlist girişi bıraktığında başarısız olur; Knip’in statik olarak çözemediği kasıtlı dinamik Plugin, üretilmiş, derleme, canlı test ve paket köprü yüzeylerini korur.
-## Manuel dispatch’ler
+## Manuel Dispatch’ler
-Manuel CI dispatch’leri normal CI ile aynı iş grafiğini çalıştırır, ancak Android dışındaki her kapsamlı hattı açık olmaya zorlar: Linux Node shard’ları, paketli-plugin shard’ları, kanal sözleşmeleri, Node 22 uyumluluğu, `check`, `check-additional`, build smoke, dokümantasyon denetimleri, Python skills, Windows, macOS ve Control UI i18n. Bağımsız manuel CI dispatch’leri Android’i yalnızca `include_android=true` ile çalıştırır; tam release şemsiyesi Android’i `include_android=true` geçirerek etkinleştirir. Plugin prerelease statik denetimleri, yalnızca release’e özel `agentic-plugins` shard’ı, tam extension toplu taraması ve plugin prerelease Docker hatları CI’dan hariç tutulur. Docker prerelease takımı yalnızca `Full Release Validation`, ayrı `Plugin Prerelease` workflow’unu release-validation gate’i etkinleştirilmiş olarak dispatch ettiğinde çalışır.
+Manuel CI dispatch’leri normal CI ile aynı iş grafiğini çalıştırır ancak Android dışındaki tüm kapsamlı hatları açık olmaya zorlar: Linux Node parçaları, paketlenmiş Plugin parçaları, kanal sözleşmeleri, Node 22 uyumluluğu, `check`, `check-additional`, build smoke, doküman kontrolleri, Python skills, Windows, macOS ve Control UI i18n. Bağımsız manuel CI dispatch’leri Android’i yalnızca `include_android=true` ile çalıştırır; tam sürüm şemsiyesi Android’i `include_android=true` geçirerek etkinleştirir. Plugin prerelease statik kontrolleri, yalnızca sürüme özel `agentic-plugins` parçası, tam uzantı batch taraması ve Plugin prerelease Docker hatları CI’dan hariç tutulur. Docker prerelease paketi yalnızca `Tam Sürüm Doğrulaması`, ayrı `Plugin Prerelease` iş akışını sürüm doğrulama kapısı etkin şekilde dispatch ettiğinde çalışır.
-Manuel çalıştırmalar benzersiz bir eşzamanlılık grubu kullanır; böylece release-candidate tam takımı aynı ref’teki başka bir push veya PR çalıştırması tarafından iptal edilmez. İsteğe bağlı `target_ref` girdisi, güvenilir bir çağırıcının seçili dispatch ref’inden workflow dosyasını kullanırken bu grafiği bir dal, tag veya tam commit SHA üzerinde çalıştırmasına olanak tanır.
+Manuel çalıştırmalar benzersiz bir eşzamanlılık grubu kullanır; böylece bir sürüm adayı tam paketi, aynı ref üzerindeki başka bir push veya PR çalıştırması tarafından iptal edilmez. İsteğe bağlı `target_ref` girdisi, güvenilir bir çağıranın seçilen dispatch ref’inden iş akışı dosyasını kullanırken bu grafiği bir dal, etiket veya tam commit SHA üzerinde çalıştırmasını sağlar.
```bash
gh workflow run ci.yml --ref release/YYYY.M.D
@@ -77,17 +77,17 @@ gh workflow run ci.yml --ref main -f target_ref= -f include_andro
gh workflow run full-release-validation.yml --ref main -f ref=
```
-## Runner’lar
+## Koşucular
-| Çalıştırıcı | İşler |
-| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `ubuntu-24.04` | `preflight`, hızlı güvenlik işleri ve toplamları (`security-scm-fast`, `security-dependency-audit`, `security-fast`), hızlı protokol/sözleşme/birlikte gelen denetimler, parçalanmış kanal sözleşmesi denetimleri, lint hariç `check` parçaları, `check-additional` parçaları ve toplamları, Node test toplamı doğrulayıcıları, doküman denetimleri, Python Skills, workflow-sanity, labeler, auto-response; install-smoke ön denetimi de GitHub tarafından barındırılan Ubuntu kullanır, böylece Blacksmith matrisi daha erken sıraya girebilir |
-| `blacksmith-4vcpu-ubuntu-2404` | `CodeQL Critical Quality`, daha düşük ağırlıklı uzantı parçaları, `checks-fast-core`, `checks-node-compat-node22`, `check-prod-types` ve `check-test-types` |
-| `blacksmith-8vcpu-ubuntu-2404` | `build-artifacts`, build-smoke, Linux Node test parçaları, birlikte gelen Plugin test parçaları, `android` |
-| `blacksmith-16vcpu-ubuntu-2404` | `check-lint` (CPU'ya yeterince duyarlı olduğundan 8 vCPU tasarruf ettiğinden daha fazla maliyet getirdi); install-smoke Docker derlemeleri (32-vCPU sıra süresi, tasarruf ettiğinden daha fazla maliyet getirdi) |
-| `blacksmith-16vcpu-windows-2025` | `checks-windows` |
-| `blacksmith-6vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-node`; fork'lar `macos-latest`'e geri döner |
-| `blacksmith-12vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-swift`; fork'lar `macos-latest`'e geri döner |
+| Çalıştırıcı | İşler |
+| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `ubuntu-24.04` | `preflight`, hızlı güvenlik işleri ve toplamları (`security-scm-fast`, `security-dependency-audit`, `security-fast`), hızlı protokol/sözleşme/paketli kontroller, parçalanmış kanal sözleşmesi kontrolleri, lint dışındaki `check` parçaları, `check-additional` parçaları ve toplamları, Node test toplamı doğrulayıcıları, dokümantasyon kontrolleri, Python skills, workflow-sanity, labeler, auto-response; install-smoke preflight da GitHub barındırmalı Ubuntu kullanır, böylece Blacksmith matrisi daha erken kuyruğa alınabilir |
+| `blacksmith-4vcpu-ubuntu-2404` | `CodeQL Critical Quality`, daha düşük ağırlıklı extension parçaları, `checks-fast-core`, `checks-node-compat-node22`, `check-prod-types` ve `check-test-types` |
+| `blacksmith-8vcpu-ubuntu-2404` | `build-artifacts`, build-smoke, Linux Node test parçaları, paketli plugin test parçaları, `android` |
+| `blacksmith-16vcpu-ubuntu-2404` | `check-lint` (CPU duyarlılığı nedeniyle 8 vCPU tasarruf ettiğinden daha pahalıya mal oldu); install-smoke Docker derlemeleri (32 vCPU kuyruk süresi, tasarruf ettiğinden daha pahalıya mal oldu) |
+| `blacksmith-16vcpu-windows-2025` | `checks-windows` |
+| `blacksmith-6vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-node`; fork’lar `macos-latest` değerine geri döner |
+| `blacksmith-12vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-swift`; fork’lar `macos-latest` değerine geri döner |
## Yerel eşdeğerler
@@ -117,27 +117,31 @@ pnpm test:perf:groups:compare .artifacts/test-perf/baseline-before.json .artifac
## Tam Sürüm Doğrulaması
-`Full Release Validation`, "sürümden önce her şeyi çalıştır" için kullanılan manuel şemsiye iş akışıdır. Bir dal, etiket veya tam commit SHA'sı kabul eder; manuel `CI` iş akışını bu hedefle başlatır, yalnızca sürüme yönelik Plugin/paket/statik/Docker kanıtı için `Plugin Prerelease` iş akışını başlatır ve install smoke, package acceptance, Docker sürüm yolu takımları, canlı/E2E, OpenWebUI, QA Lab eşliği, Matrix ve Telegram hatları için `OpenClaw Release Checks` iş akışını başlatır. Yayımlanmış bir paket belirtimi sağlandığında yayın sonrası `NPM Telegram Beta E2E` iş akışını da çalıştırabilir.
+`Full Release Validation`, “sürümden önce her şeyi çalıştır” için kullanılan manuel şemsiye workflow’dur. Bir dal, etiket veya tam commit SHA kabul eder; bu hedefle manuel `CI` workflow’unu tetikler, yalnızca sürüme yönelik plugin/paket/statik/Docker kanıtı için `Plugin Prerelease` çalıştırır ve install smoke, package acceptance, Docker release-path paketleri, live/E2E, OpenWebUI, QA Lab parity, Matrix ve Telegram hatları için `OpenClaw Release Checks` çalıştırır. Yayınlanmış bir paket belirtimi sağlandığında, yayın sonrası `NPM Telegram Beta E2E` workflow’unu da çalıştırabilir.
-`release_profile`, sürüm denetimlerine geçirilen canlı/provider kapsamını kontrol eder:
+Aşama matrisi, tam workflow iş adları, profil farkları, artifact’ler ve odaklı yeniden çalıştırma tanıtıcıları için [Tam sürüm doğrulaması](/tr/reference/full-release-validation) bölümüne bakın.
-- `minimum`, en hızlı OpenAI/çekirdek sürüm açısından kritik hatları tutar.
+`release_profile`, sürüm kontrollerine aktarılan canlı/provider kapsamını denetler. Manuel sürüm workflow’ları varsayılan olarak `stable` kullanır; `full` değerini yalnızca geniş advisory provider/media matrisini bilerek istediğinizde kullanın.
+
+- `minimum`, en hızlı OpenAI/core sürüm açısından kritik hatları korur.
- `stable`, kararlı provider/backend kümesini ekler.
-- `full`, geniş danışma amaçlı provider/medya matrisini çalıştırır.
+- `full`, geniş advisory provider/media matrisini çalıştırır.
-Şemsiye, başlatılan alt çalışma kimliklerini kaydeder ve son `Verify full validation` işi, mevcut alt çalışma sonuçlarını yeniden denetleyip her alt çalışma için en yavaş iş tablolarını ekler. Bir alt iş akışı yeniden çalıştırılıp yeşile dönerse, şemsiye sonucunu ve zamanlama özetini yenilemek için yalnızca üst doğrulayıcı işi yeniden çalıştırın.
+Şemsiye, tetiklenen alt çalıştırma kimliklerini kaydeder ve son `Verify full validation` işi, mevcut alt çalıştırma sonuçlarını yeniden kontrol edip her alt çalıştırma için en yavaş iş tablolarını ekler. Bir alt workflow yeniden çalıştırılır ve yeşile dönerse, şemsiye sonucunu ve zamanlama özetini yenilemek için yalnızca üst doğrulayıcı işi yeniden çalıştırın.
-Kurtarma için hem `Full Release Validation` hem de `OpenClaw Release Checks`, `rerun_group` kabul eder. Bir sürüm adayı için `all`, yalnızca normal tam CI alt çalışması için `ci`, her sürüm alt çalışması için `release-checks` veya daha dar bir grup kullanın: şemsiye üzerinde `install-smoke`, `cross-os`, `live-e2e`, `package`, `qa`, `qa-parity`, `qa-live` ya da `npm-telegram`. Bu, odaklı bir düzeltmeden sonra başarısız bir sürüm kutusunun yeniden çalıştırılmasını sınırlı tutar.
+Kurtarma için hem `Full Release Validation` hem de `OpenClaw Release Checks`, `rerun_group` kabul eder. Bir sürüm adayı için `all`, yalnızca normal tam CI alt çalıştırması için `ci`, yalnızca plugin prerelease alt çalıştırması için `plugin-prerelease`, her sürüm alt çalıştırması için `release-checks` veya daha dar bir grup kullanın: şemsiye üzerinde `install-smoke`, `cross-os`, `live-e2e`, `package`, `qa`, `qa-parity`, `qa-live` ya da `npm-telegram`. Bu, odaklı bir düzeltmeden sonra başarısız bir sürüm kutusunun yeniden çalıştırmasını sınırlı tutar.
-`OpenClaw Release Checks`, seçilen ref'i bir kez `release-package-under-test` tarball'ına çözümlemek için güvenilen iş akışı ref'ini kullanır, ardından bu yapıtı hem canlı/E2E sürüm yolu Docker iş akışına hem de package acceptance parçasına geçirir. Bu, paket baytlarını sürüm kutuları arasında tutarlı tutar ve aynı adayın birden fazla alt işte yeniden paketlenmesini önler.
+`OpenClaw Release Checks`, seçilen ref’i bir kez `release-package-under-test` tarball’ına çözmek için güvenilen workflow ref’ini kullanır, ardından bu artifact’i hem canlı/E2E release-path Docker workflow’una hem de package acceptance parçasına aktarır. Bu, paket baytlarını sürüm kutuları arasında tutarlı tutar ve aynı adayın birden çok alt işte yeniden paketlenmesini önler.
+
+`ref=main` ve `rerun_group=all` için yinelenen `Full Release Validation` çalıştırmaları eski şemsiyenin yerini alır. Üst izleyici, üst çalıştırma iptal edildiğinde önceden tetiklediği tüm alt workflow’ları iptal eder; böylece daha yeni main doğrulaması, eski iki saatlik bir release-check çalıştırmasının arkasında beklemez. Sürüm dalı/etiket doğrulaması ve odaklı yeniden çalıştırma grupları `cancel-in-progress: false` değerini korur.
## Canlı ve E2E parçaları
-Sürüm canlı/E2E alt çalışması geniş yerel `pnpm test:live` kapsamını korur, ancak bunu tek bir seri iş yerine `scripts/test-live-shard.mjs` üzerinden adlandırılmış parçalar olarak çalıştırır:
+Sürüm live/E2E alt çalıştırması, geniş yerel `pnpm test:live` kapsamını korur, ancak bunu tek bir seri iş yerine `scripts/test-live-shard.mjs` üzerinden adlandırılmış parçalar olarak çalıştırır:
- `native-live-src-agents`
- `native-live-src-gateway-core`
-- provider ile filtrelenmiş `native-live-src-gateway-profiles` işleri
+- provider filtreli `native-live-src-gateway-profiles` işleri
- `native-live-src-gateway-backends`
- `native-live-test`
- `native-live-extensions-a-k`
@@ -145,57 +149,57 @@ Sürüm canlı/E2E alt çalışması geniş yerel `pnpm test:live` kapsamını k
- `native-live-extensions-openai`
- `native-live-extensions-o-z-other`
- `native-live-extensions-xai`
-- bölünmüş medya ses/video parçaları ve provider ile filtrelenmiş müzik parçaları
+- bölünmüş medya audio/video parçaları ve provider filtreli music parçaları
-Bu, aynı dosya kapsamını korurken yavaş canlı provider hatalarının yeniden çalıştırılmasını ve teşhis edilmesini kolaylaştırır. Toplam `native-live-extensions-o-z`, `native-live-extensions-media` ve `native-live-extensions-media-music` parça adları, manuel tek seferlik yeniden çalıştırmalar için geçerli kalır.
+Bu, yavaş canlı provider hatalarını yeniden çalıştırmayı ve tanılamayı kolaylaştırırken aynı dosya kapsamını korur. Toplam `native-live-extensions-o-z`, `native-live-extensions-media` ve `native-live-extensions-media-music` parça adları, manuel tek seferlik yeniden çalıştırmalar için geçerli kalır.
-Yerel canlı medya parçaları, `Live Media Runner Image` iş akışı tarafından oluşturulan `ghcr.io/openclaw/openclaw-live-media-runner:ubuntu-24.04` içinde çalışır. Bu imaj `ffmpeg` ve `ffprobe` öğelerini önceden kurar; medya işleri kurulumdan önce yalnızca ikili dosyaları doğrular. Docker destekli canlı takımları normal Blacksmith çalıştırıcılarında tutun — container işleri, iç içe Docker testleri başlatmak için yanlış yerdir.
+Yerel canlı medya parçaları, `Live Media Runner Image` workflow’u tarafından derlenen `ghcr.io/openclaw/openclaw-live-media-runner:ubuntu-24.04` içinde çalışır. Bu imaj `ffmpeg` ve `ffprobe` önceden kurulu gelir; medya işleri kurulumdan önce yalnızca ikilileri doğrular. Docker destekli canlı paketleri normal Blacksmith çalıştırıcılarında tutun; container işleri iç içe Docker testlerini başlatmak için yanlış yerdir.
-Docker destekli canlı model/backend parçaları, seçilen commit başına ayrı bir paylaşılan `ghcr.io/openclaw/openclaw-live-test:` imajı kullanır. Canlı sürüm iş akışı bu imajı bir kez oluşturup gönderir; ardından Docker canlı model, Gateway, CLI backend, ACP bind ve Codex harness parçaları `OPENCLAW_SKIP_DOCKER_BUILD=1` ile çalışır. Bu parçalar tam kaynak Docker hedefini bağımsız olarak yeniden oluşturursa, sürüm çalışması yanlış yapılandırılmıştır ve yinelenen imaj derlemelerinde duvar saati zamanını boşa harcar.
+Docker destekli canlı model/backend parçaları, seçilen commit başına ayrı bir paylaşılan `ghcr.io/openclaw/openclaw-live-test:` imajı kullanır. Canlı sürüm workflow’u bu imajı bir kez derleyip gönderir; ardından Docker canlı model, provider’a göre parçalanmış Gateway, CLI backend, ACP bind ve Codex harness parçaları `OPENCLAW_SKIP_DOCKER_BUILD=1` ile çalışır. Gateway Docker parçaları, takılmış bir container veya cleanup yolu tüm release-check bütçesini tüketmek yerine hızlı başarısız olsun diye workflow işi timeout değerinin altında açık script düzeyi `timeout` sınırları taşır. Bu parçalar tam kaynak Docker hedefini bağımsız olarak yeniden derlerse, sürüm çalıştırması yanlış yapılandırılmıştır ve yinelenen imaj derlemelerinde duvar saati süresi harcar.
## Package Acceptance
-"Bu kurulabilir OpenClaw paketi bir ürün olarak çalışıyor mu?" sorusu için `Package Acceptance` kullanın. Normal CI'dan farklıdır: normal CI kaynak ağacını doğrularken, package acceptance tek bir tarball'ı kullanıcıların kurulum veya güncellemeden sonra kullandığı aynı Docker E2E harness üzerinden doğrular.
+Soru “bu kurulabilir OpenClaw paketi ürün olarak çalışıyor mu?” olduğunda `Package Acceptance` kullanın. Normal CI’dan farklıdır: normal CI kaynak ağacını doğrularken, package acceptance tek bir tarball’ı kullanıcıların kurulum veya güncelleme sonrasında kullandığı aynı Docker E2E harness üzerinden doğrular.
### İşler
-1. `resolve_package`, `workflow_ref` için checkout yapar, bir paket adayını çözümler, `.artifacts/docker-e2e-package/openclaw-current.tgz` yazar, `.artifacts/docker-e2e-package/package-candidate.json` yazar, ikisini de `package-under-test` yapıtı olarak yükler ve GitHub adım özetinde kaynağı, iş akışı ref'ini, paket ref'ini, sürümü, SHA-256'yı ve profili yazdırır.
-2. `docker_acceptance`, `ref=workflow_ref` ve `package_artifact_name=package-under-test` ile `openclaw-live-and-e2e-checks-reusable.yml` öğesini çağırır. Yeniden kullanılabilir iş akışı bu yapıtı indirir, tarball envanterini doğrular, gerektiğinde paket özeti Docker imajlarını hazırlar ve seçilen Docker hatlarını iş akışı checkout'unu paketlemek yerine bu pakete karşı çalıştırır. Bir profil birden fazla hedefli `docker_lanes` seçtiğinde, yeniden kullanılabilir iş akışı paketi ve paylaşılan imajları bir kez hazırlar, ardından bu hatları benzersiz yapıtlarla paralel hedefli Docker işleri olarak dağıtır.
-3. `package_telegram`, isteğe bağlı olarak `NPM Telegram Beta E2E` öğesini çağırır. `telegram_mode`, `none` olmadığında çalışır ve Package Acceptance bir paket çözümlediyse aynı `package-under-test` yapıtını kurar; bağımsız Telegram başlatması yine de yayımlanmış bir npm belirtimini kurabilir.
-4. `summary`, paket çözümleme, Docker acceptance veya isteğe bağlı Telegram hattı başarısız olursa iş akışını başarısız kılar.
+1. `resolve_package`, `workflow_ref` için checkout yapar, bir paket adayını çözümler, `.artifacts/docker-e2e-package/openclaw-current.tgz` dosyasını yazar, `.artifacts/docker-e2e-package/package-candidate.json` dosyasını yazar, ikisini de `package-under-test` artifact'ı olarak yükler ve GitHub adım özetinde kaynak, iş akışı ref'i, paket ref'i, sürüm, SHA-256 ve profili yazdırır.
+2. `docker_acceptance`, `ref=workflow_ref` ve `package_artifact_name=package-under-test` ile `openclaw-live-and-e2e-checks-reusable.yml` dosyasını çağırır. Yeniden kullanılabilir iş akışı bu artifact'ı indirir, tar arşivi envanterini doğrular, gerektiğinde paket özetli Docker imajlarını hazırlar ve seçili Docker hatlarını iş akışı checkout'unu paketlemek yerine bu pakete karşı çalıştırır. Bir profil birden çok hedefli `docker_lanes` seçtiğinde, yeniden kullanılabilir iş akışı paketi ve paylaşılan imajları bir kez hazırlar, ardından bu hatları benzersiz artifact'lara sahip paralel hedefli Docker işleri olarak dağıtır.
+3. `package_telegram` isteğe bağlı olarak `NPM Telegram Beta E2E` çağırır. `telegram_mode`, `none` olmadığında çalışır ve Package Acceptance bir paket çözümlediyse aynı `package-under-test` artifact'ını kurar; bağımsız Telegram tetiklemesi yayımlanmış bir npm belirtimini kurmaya devam edebilir.
+4. `summary`, paket çözümleme, Docker kabulü veya isteğe bağlı Telegram hattı başarısız olursa iş akışını başarısız yapar.
### Aday kaynaklar
- `source=npm` yalnızca `openclaw@beta`, `openclaw@latest` veya `openclaw@2026.4.27-beta.2` gibi tam bir OpenClaw yayın sürümünü kabul eder. Bunu yayımlanmış beta/kararlı kabulü için kullanın.
-- `source=ref` güvenilir bir `package_ref` dalını, etiketini veya tam commit SHA değerini paketler. Çözümleyici OpenClaw dallarını/etiketlerini getirir, seçilen commit'in depo dal geçmişinden veya bir yayın etiketinden erişilebilir olduğunu doğrular, bağımlılıkları ayrık bir çalışma ağacına yükler ve `scripts/package-openclaw-for-docker.mjs` ile paketler.
-- `source=url` bir HTTPS `.tgz` indirir; `package_sha256` zorunludur.
-- `source=artifact` `artifact_run_id` ve `artifact_name` üzerinden bir `.tgz` indirir; `package_sha256` isteğe bağlıdır ancak dışarıyla paylaşılan yapıtlar için sağlanmalıdır.
+- `source=ref`, güvenilir bir `package_ref` dalını, etiketini veya tam commit SHA'sını paketler. Çözümleyici OpenClaw dallarını/etiketlerini getirir, seçilen commit'in depo dal geçmişinden veya bir yayın etiketinden erişilebilir olduğunu doğrular, bağımlılıkları ayrılmış bir worktree içinde kurar ve `scripts/package-openclaw-for-docker.mjs` ile paketler.
+- `source=url`, bir HTTPS `.tgz` indirir; `package_sha256` zorunludur.
+- `source=artifact`, `artifact_run_id` ve `artifact_name` içinden bir `.tgz` indirir; `package_sha256` isteğe bağlıdır ancak dışarıdan paylaşılan artifact'lar için sağlanmalıdır.
-`workflow_ref` ve `package_ref` değerlerini ayrı tutun. `workflow_ref`, testi çalıştıran güvenilir workflow/harness kodudur. `package_ref`, `source=ref` olduğunda paketlenen kaynak commit'tir. Bu, mevcut test harness'inin eski workflow mantığını çalıştırmadan daha eski güvenilir kaynak commit'lerini doğrulamasını sağlar.
+`workflow_ref` ve `package_ref` değerlerini ayrı tutun. `workflow_ref`, testi çalıştıran güvenilir iş akışı/test düzeneği kodudur. `package_ref`, `source=ref` olduğunda paketlenen kaynak commit'tir. Bu, geçerli test düzeneğinin eski iş akışı mantığını çalıştırmadan daha eski güvenilir kaynak commit'lerini doğrulamasını sağlar.
-### Paket profilleri
+### Test paketi profilleri
- `smoke` — `npm-onboard-channel-agent`, `gateway-network`, `config-reload`
-- `package` — `npm-onboard-channel-agent`, `doctor-switch`, `update-channel-switch`, `upgrade-survivor`, `bundled-channel-deps-compat`, `plugins-offline`, `plugin-update`
+- `package` — `npm-onboard-channel-agent`, `doctor-switch`, `update-channel-switch`, `upgrade-survivor`, `published-upgrade-survivor`, `bundled-channel-deps-compat`, `plugins-offline`, `plugin-update`
- `product` — `package` artı `mcp-channels`, `cron-mcp-cleanup`, `openai-web-search-minimal`, `openwebui`
- `full` — OpenWebUI ile tam Docker yayın yolu parçaları
- `custom` — tam `docker_lanes`; `suite_profile=custom` olduğunda zorunludur
-`package` profili çevrimdışı Plugin kapsamı kullanır; böylece yayımlanmış paket doğrulaması canlı ClawHub erişilebilirliğine bağlı kalmaz. İsteğe bağlı Telegram hattı `NPM Telegram Beta E2E` içinde `package-under-test` yapıtını yeniden kullanır; yayımlanmış npm spec yolu bağımsız dispatch'ler için korunur.
+`package` profili çevrimdışı plugin kapsamı kullanır, böylece yayımlanmış paket doğrulaması canlı ClawHub erişilebilirliğine bağlı kalmaz. İsteğe bağlı Telegram hattı, `NPM Telegram Beta E2E` içinde `package-under-test` artifact'ını yeniden kullanır; yayımlanmış npm belirtimi yolu bağımsız tetiklemeler için korunur.
-Yayın kontrolleri Package Acceptance'ı `source=ref`, `package_ref=`, `workflow_ref=`, `suite_profile=custom`, `docker_lanes='bundled-channel-deps-compat plugins-offline'` ve `telegram_mode=mock-openai` ile çağırır. Yayın yolu Docker parçaları çakışan paket/güncelleme/Plugin hatlarını kapsar; Package Acceptance aynı çözümlenmiş paket tarball'ına karşı yapıt odaklı paketli kanal uyumluluğunu, çevrimdışı Plugin'i ve Telegram kanıtını korur. Cross-OS yayın kontrolleri OS'e özgü onboarding, yükleyici ve platform davranışını kapsamaya devam eder; paket/güncelleme ürün doğrulaması Package Acceptance ile başlamalıdır. Windows paketli ve yükleyici temiz kurulum hatları ayrıca kurulu bir paketin ham mutlak Windows yolundan bir browser-control override'ı içe aktarabildiğini doğrular. OpenAI cross-OS agent-turn smoke, ayarlanmışsa varsayılan olarak `OPENCLAW_CROSS_OS_OPENAI_MODEL` kullanır; aksi halde `openai/gpt-5.4-mini` kullanır. Böylece kurulum ve Gateway kanıtı hızlı ve deterministik kalır.
+Yayın kontrolleri Package Acceptance'ı `source=ref`, `package_ref=`, `workflow_ref=`, `suite_profile=custom`, `docker_lanes='bundled-channel-deps-compat plugins-offline'` ve `telegram_mode=mock-openai` ile çağırır. Yayın yolu Docker parçaları örtüşen paket/güncelleme/plugin hatlarını kapsar; Package Acceptance aynı çözümlenen paket tar arşivine karşı artifact'a özgü yerleşik kanal uyumluluğu, çevrimdışı plugin ve Telegram kanıtını korur. Cross-OS yayın kontrolleri OS'e özgü onboarding, yükleyici ve platform davranışını hâlâ kapsar; paket/güncelleme ürün doğrulaması Package Acceptance ile başlamalıdır. `published-upgrade-survivor` Docker hattı çalıştırma başına bir yayımlanmış paket taban çizgisini doğrular. Package Acceptance içinde çözümlenen `package-under-test` tar arşivi her zaman adaydır ve `published_upgrade_survivor_baseline`, varsayılanı `openclaw@latest` olan yedek yayımlanmış taban çizgisini seçer; başarısız hat yeniden çalıştırma komutları bu taban çizgisini korur. Hattı tekilleştirilmiş bir geçmiş matrisi boyunca genişletmek için `published_upgrade_survivor_baselines=release-history` ayarlayın: en son altı kararlı yayın, `2026.4.23` ve `2026-03-15` öncesindeki en son kararlı yayın. Aynı taban çizgilerini Feishu config/runtime-deps, korunmuş bootstrap/persona dosyaları, tilde log yolları ve eski sürümlü runtime-deps kökleri için issue biçimli fixture'lar boyunca genişletmek üzere `published_upgrade_survivor_scenarios=reported-issues` ayarlayın. Yerel toplu çalıştırmalar, `OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPECS` ile tam paket belirtimleri geçirebilir, `openclaw@2026.4.15` gibi `OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC` ile tek bir hattı koruyabilir veya senaryo matrisi için `OPENCLAW_UPGRADE_SURVIVOR_SCENARIOS` ayarlayabilir. Yayımlanmış hat, taban çizgisini hazır bir `openclaw config set` komut tarifiyle yapılandırır, tarif adımlarını `summary.json` içine kaydeder ve Gateway başladıktan sonra `/healthz`, `/readyz` ile RPC durumunu yoklar. Windows paketlenmiş ve yükleyici taze hatları ayrıca kurulu bir paketin ham mutlak Windows yolundan browser-control override'ı içe aktarabildiğini doğrular. OpenAI Cross-OS agent-turn smoke, ayarlandığında varsayılan olarak `OPENCLAW_CROSS_OS_OPENAI_MODEL` kullanır; aksi halde `openai/gpt-5.4-mini` kullanır, böylece kurulum ve gateway kanıtı hızlı ve deterministik kalır.
### Eski uyumluluk pencereleri
-Package Acceptance'ın zaten yayımlanmış paketler için sınırlı eski uyumluluk pencereleri vardır. `2026.4.25` ve `2026.4.25-beta.*` dahil bu sürüme kadar olan paketler uyumluluk yolunu kullanabilir:
+Package Acceptance, zaten yayımlanmış paketler için sınırlı eski uyumluluk pencerelerine sahiptir. `2026.4.25` dahil olmak üzere `2026.4.25-beta.*` paketleri uyumluluk yolunu kullanabilir:
-- `dist/postinstall-inventory.json` içindeki bilinen özel QA girdileri tarball'dan çıkarılmış dosyaları gösterebilir;
-- paket bu flag'i açığa çıkarmıyorsa `doctor-switch`, `gateway install --wrapper` kalıcılık alt senaryosunu atlayabilir;
-- `update-channel-switch`, tarball'dan türetilmiş sahte git fixture'ından eksik `pnpm.patchedDependencies` girdilerini budayabilir ve eksik kalıcı `update.channel` kaydını loglayabilir;
-- Plugin smokes eski install-record konumlarını okuyabilir veya eksik marketplace install-record kalıcılığını kabul edebilir;
-- `plugin-update`, install record ve yeniden kurmama davranışının değişmeden kalmasını hâlâ gerektirirken config metadata migration'a izin verebilir.
+- `dist/postinstall-inventory.json` içindeki bilinen özel QA girdileri tar arşivinde atlanmış dosyalara işaret edebilir;
+- paket bu bayrağı sunmuyorsa `doctor-switch`, `gateway install --wrapper` kalıcılık alt durumunu atlayabilir;
+- `update-channel-switch`, tar arşivinden türetilmiş sahte git fixture'ından eksik `pnpm.patchedDependencies` öğelerini budayabilir ve eksik kalıcı `update.channel` kaydı yazabilir;
+- plugin smoke testleri eski kurulum kaydı konumlarını okuyabilir veya eksik marketplace kurulum kaydı kalıcılığını kabul edebilir;
+- `plugin-update`, kurulum kaydı ve yeniden kurmama davranışının değişmeden kalmasını hâlâ gerektirirken config meta veri geçişine izin verebilir.
-Yayımlanmış `2026.4.26` paketi, zaten gönderilmiş yerel build metadata damga dosyaları için de uyarı verebilir. Daha sonraki paketler modern sözleşmeleri karşılamalıdır; aynı koşullar uyarı veya atlama yerine başarısız olur.
+Yayımlanmış `2026.4.26` paketi, daha önce yayımlanmış yerel build meta veri damga dosyaları için de uyarı verebilir. Daha sonraki paketler modern sözleşmeleri karşılamalıdır; aynı koşullar uyarı veya atlama yerine başarısız olur.
### Örnekler
@@ -238,152 +242,152 @@ gh workflow run package-acceptance.yml \
-f docker_lanes='install-e2e plugin-update'
```
-Başarısız bir paket kabul çalıştırmasını hata ayıklarken paket kaynağını, sürümü ve SHA-256 değerini doğrulamak için `resolve_package` özetinden başlayın. Ardından `docker_acceptance` alt çalıştırmasını ve Docker yapıtlarını inceleyin: `.artifacts/docker-tests/**/summary.json`, `failures.json`, hat logları, aşama zamanlamaları ve yeniden çalıştırma komutları. Tam yayın doğrulamasını yeniden çalıştırmak yerine başarısız paket profilini veya tam Docker hatlarını yeniden çalıştırmayı tercih edin.
+Başarısız bir paket kabul çalıştırmasını debug ederken paket kaynağını, sürümünü ve SHA-256 değerini doğrulamak için `resolve_package` özetinden başlayın. Ardından `docker_acceptance` alt çalıştırmasını ve Docker artifact'larını inceleyin: `.artifacts/docker-tests/**/summary.json`, `failures.json`, hat günlükleri, aşama süreleri ve yeniden çalıştırma komutları. Tam yayın doğrulamasını yeniden çalıştırmak yerine başarısız paket profilini veya tam Docker hatlarını yeniden çalıştırmayı tercih edin.
-## Kurulum smoke
+## Kurulum smoke testi
-Ayrı `Install Smoke` workflow'u aynı scope betiğini kendi `preflight` işi üzerinden yeniden kullanır. Smoke kapsamını `run_fast_install_smoke` ve `run_full_install_smoke` olarak böler.
+Ayrı `Install Smoke` iş akışı, aynı kapsam betiğini kendi `preflight` işi üzerinden yeniden kullanır. Smoke kapsamını `run_fast_install_smoke` ve `run_full_install_smoke` olarak ayırır.
-- **Hızlı yol**, Docker/paket yüzeylerine, paketli Plugin paket/manifest değişikliklerine veya Docker smoke işlerinin çalıştırdığı çekirdek Plugin/kanal/Gateway/Plugin SDK yüzeylerine dokunan pull request'ler için çalışır. Yalnızca kaynak kodu içeren paketli Plugin değişiklikleri, yalnızca test düzenlemeleri ve yalnızca dokümantasyon düzenlemeleri Docker worker ayırmaz. Hızlı yol kök Dockerfile imajını bir kez build eder, CLI'yi kontrol eder, agents delete shared-workspace CLI smoke çalıştırır, container gateway-network e2e çalıştırır, paketli extension build arg'ını doğrular ve 240 saniyelik toplam komut zaman aşımı altında sınırlı paketli-Plugin Docker profilini çalıştırır (her senaryonun Docker çalıştırması ayrı ayrı sınırlandırılır).
-- **Tam yol**, QR paket kurulumu ve yükleyici Docker/güncelleme kapsamını gece zamanlanmış çalıştırmalar, manuel dispatch'ler, workflow-call yayın kontrolleri ve gerçekten yükleyici/paket/Docker yüzeylerine dokunan pull request'ler için korur. Tam modda install-smoke, bir hedef-SHA GHCR kök Dockerfile smoke imajı hazırlar veya yeniden kullanır; ardından QR paket kurulumu, kök Dockerfile/Gateway smokes, yükleyici/güncelleme smokes ve hızlı paketli-Plugin Docker E2E'yi ayrı işler olarak çalıştırır. Böylece yükleyici işi kök imaj smokes arkasında beklemez.
+- **Hızlı yol**, Docker/paket yüzeylerine, yerleşik plugin paket/manifest değişikliklerine veya Docker smoke işlerinin çalıştırdığı çekirdek plugin/kanal/gateway/Plugin SDK yüzeylerine dokunan pull request'ler için çalışır. Yalnızca kaynak kodlu yerleşik plugin değişiklikleri, yalnızca test düzenlemeleri ve yalnızca doküman düzenlemeleri Docker worker'ları ayırmaz. Hızlı yol kök Dockerfile imajını bir kez oluşturur, CLI'yi denetler, agents delete shared-workspace CLI smoke testini çalıştırır, container gateway-network e2e'yi çalıştırır, yerleşik extension build arg'ını doğrular ve sınırlı yerleşik plugin Docker profilini 240 saniyelik toplu komut zaman aşımı altında çalıştırır (her senaryonun Docker çalıştırması ayrı olarak sınırlandırılır).
+- **Tam yol**, QR paket kurulumu ve yükleyici Docker/güncelleme kapsamını gecelik zamanlanmış çalıştırmalar, manuel tetiklemeler, workflow-call yayın kontrolleri ve gerçekten yükleyici/paket/Docker yüzeylerine dokunan pull request'ler için korur. Tam modda install-smoke, bir hedef SHA GHCR kök Dockerfile smoke imajı hazırlar veya yeniden kullanır; ardından QR paket kurulumu, kök Dockerfile/gateway smoke testleri, yükleyici/güncelleme smoke testleri ve hızlı yerleşik plugin Docker E2E'yi ayrı işler olarak çalıştırır, böylece yükleyici işi kök imaj smoke testlerinin arkasında beklemez.
-`main` push'ları (merge commit'ler dahil) tam yolu zorlamaz; değişiklik kapsamı mantığı bir push'ta tam kapsam istediğinde workflow hızlı Docker smoke'u korur ve tam install smoke'u gece veya yayın doğrulamasına bırakır.
+`main` push'ları (merge commit'leri dahil) tam yolu zorlamaz; değişen kapsam mantığı bir push'ta tam kapsam istediğinde, iş akışı hızlı Docker smoke testini korur ve tam install smoke testini gecelik veya yayın doğrulamasına bırakır.
-Yavaş Bun global kurulum image-provider smoke, `run_bun_global_install_smoke` tarafından ayrı şekilde kapılanır. Gece zamanlamasında ve yayın kontrolleri workflow'undan çalışır; manuel `Install Smoke` dispatch'leri buna dahil olmayı seçebilir, ancak pull request'ler ve `main` push'ları çalıştırmaz. QR ve yükleyici Docker testleri kendi kurulum odaklı Dockerfile'larını korur.
+Yavaş Bun global kurulum image-provider smoke testi ayrıca `run_bun_global_install_smoke` ile kapılanır. Gecelik zamanlamada ve yayın kontrolleri iş akışından çalışır; manuel `Install Smoke` tetiklemeleri bunu dahil etmeyi seçebilir, ancak pull request'ler ve `main` push'ları çalıştırmaz. QR ve yükleyici Docker testleri kendi kurulum odaklı Dockerfile'larını korur.
## Yerel Docker E2E
-`pnpm test:docker:all` tek bir paylaşılan canlı test imajını önceden build eder, OpenClaw'ı bir npm tarball'ı olarak bir kez paketler ve iki paylaşılan `scripts/e2e/Dockerfile` imajı build eder:
+`pnpm test:docker:all` bir paylaşılan canlı test imajını önceden oluşturur, OpenClaw'ı npm tar arşivi olarak bir kez paketler ve iki paylaşılan `scripts/e2e/Dockerfile` imajı oluşturur:
-- yükleyici/güncelleme/Plugin bağımlılığı hatları için yalın bir Node/Git runner;
-- normal işlevsellik hatları için aynı tarball'ı `/app` içine yükleyen işlevsel bir imaj.
+- yükleyici/güncelleme/plugin bağımlılığı hatları için yalın bir Node/Git runner;
+- aynı tar arşivini normal işlevsellik hatları için `/app` içine kuran işlevsel bir imaj.
-Docker hat tanımları `scripts/lib/docker-e2e-scenarios.mjs` içinde, planlayıcı mantığı `scripts/lib/docker-e2e-plan.mjs` içinde bulunur ve runner yalnızca seçilen planı çalıştırır. Zamanlayıcı hat başına imajı `OPENCLAW_DOCKER_E2E_BARE_IMAGE` ve `OPENCLAW_DOCKER_E2E_FUNCTIONAL_IMAGE` ile seçer, ardından hatları `OPENCLAW_SKIP_DOCKER_BUILD=1` ile çalıştırır.
+Docker hat tanımları `scripts/lib/docker-e2e-scenarios.mjs` içinde bulunur, planlayıcı mantığı `scripts/lib/docker-e2e-plan.mjs` içinde bulunur ve runner yalnızca seçilen planı yürütür. Zamanlayıcı imajı hat başına `OPENCLAW_DOCKER_E2E_BARE_IMAGE` ve `OPENCLAW_DOCKER_E2E_FUNCTIONAL_IMAGE` ile seçer, ardından hatları `OPENCLAW_SKIP_DOCKER_BUILD=1` ile çalıştırır.
### Ayarlanabilirler
-| Değişken | Varsayılan | Amaç |
-| ------------------------------------- | ---------- | --------------------------------------------------------------------------------------------- |
-| `OPENCLAW_DOCKER_ALL_PARALLELISM` | 10 | Normal hatlar için ana havuz slot sayısı. |
-| `OPENCLAW_DOCKER_ALL_TAIL_PARALLELISM` | 10 | Provider'a duyarlı kuyruk havuzu slot sayısı. |
-| `OPENCLAW_DOCKER_ALL_LIVE_LIMIT` | 9 | Provider'ların throttle uygulamaması için eşzamanlı canlı hat sınırı. |
-| `OPENCLAW_DOCKER_ALL_NPM_LIMIT` | 10 | Eşzamanlı npm kurulum hattı sınırı. |
-| `OPENCLAW_DOCKER_ALL_SERVICE_LIMIT` | 7 | Eşzamanlı çok hizmetli hat sınırı. |
-| `OPENCLAW_DOCKER_ALL_START_STAGGER_MS` | 2000 | Docker daemon create fırtınalarını önlemek için hat başlangıçları arasındaki gecikme; gecikme istemiyorsanız `0` olarak ayarlayın. |
-| `OPENCLAW_DOCKER_ALL_LANE_TIMEOUT_MS` | 7200000 | Hat başına yedek zaman aşımı (120 dakika); seçili canlı/kuyruk hatları daha sıkı sınırlar kullanır. |
-| `OPENCLAW_DOCKER_ALL_DRY_RUN` | unset | `1`, hatları çalıştırmadan zamanlayıcı planını yazdırır. |
-| `OPENCLAW_DOCKER_ALL_LANES` | unset | Virgülle ayrılmış tam hat listesi; agent'ların tek bir başarısız hattı yeniden üretebilmesi için cleanup smoke'u atlar. |
+| Değişken | Varsayılan | Amaç |
+| ------------------------------------- | ---------- | --------------------------------------------------------------------------------------------------------------- |
+| `OPENCLAW_DOCKER_ALL_PARALLELISM` | 10 | Normal hatlar için ana havuz yuva sayısı. |
+| `OPENCLAW_DOCKER_ALL_TAIL_PARALLELISM` | 10 | Sağlayıcıya duyarlı kuyruk havuzu yuva sayısı. |
+| `OPENCLAW_DOCKER_ALL_LIVE_LIMIT` | 9 | Sağlayıcıların kısıtlama uygulamaması için eşzamanlı canlı hat üst sınırı. |
+| `OPENCLAW_DOCKER_ALL_NPM_LIMIT` | 10 | Eşzamanlı npm kurulum hattı üst sınırı. |
+| `OPENCLAW_DOCKER_ALL_SERVICE_LIMIT` | 7 | Eşzamanlı çok hizmetli hat üst sınırı. |
+| `OPENCLAW_DOCKER_ALL_START_STAGGER_MS` | 2000 | Docker daemon oluşturma fırtınalarını önlemek için hat başlangıçları arasındaki kademelendirme; kademelendirme olmaması için `0` ayarlayın. |
+| `OPENCLAW_DOCKER_ALL_LANE_TIMEOUT_MS` | 7200000 | Hat başına yedek zaman aşımı (120 dakika); seçili canlı/kuyruk hatları daha sıkı üst sınırlar kullanır. |
+| `OPENCLAW_DOCKER_ALL_DRY_RUN` | unset | `1`, hatları çalıştırmadan zamanlayıcı planını yazdırır. |
+| `OPENCLAW_DOCKER_ALL_LANES` | unset | Virgülle ayrılmış tam hat listesi; ajanların başarısız olan tek bir hattı yeniden üretebilmesi için temizlik smoke testini atlar. |
-Etkin sınırından daha ağır bir hat yine de boş bir havuzdan başlayabilir, ardından kapasiteyi serbest bırakana kadar tek başına çalışır. Yerel toplam preflight'lar Docker'ı kontrol eder, eski OpenClaw E2E container'larını kaldırır, aktif hat durumunu yayımlar, en uzun önce sıralama için hat zamanlamalarını kalıcılaştırır ve varsayılan olarak ilk başarısızlıktan sonra yeni havuz hatları zamanlamayı durdurur.
+Etkili üst sınırından daha ağır olan bir hat, boş bir havuzdan yine de başlayabilir ve ardından kapasiteyi serbest bırakana kadar tek başına çalışır. Yerel toplama Docker ön kontrollerini yapar, eski OpenClaw E2E kapsayıcılarını kaldırır, etkin hat durumunu yayımlar, en uzundan önce sıralama için hat sürelerini kalıcı hale getirir ve varsayılan olarak ilk hatadan sonra yeni havuzlanmış hatları zamanlamayı durdurur.
-### Yeniden kullanılabilir canlı/E2E workflow
+### Yeniden kullanılabilir canlı/E2E iş akışı
-Yeniden kullanılabilir canlı/E2E workflow, hangi paket, imaj türü, canlı imaj, hat ve credential kapsamının gerektiğini `scripts/test-docker-all.mjs --plan-json` komutuna sorar. Ardından `scripts/docker-e2e.mjs` bu planı GitHub çıktıları ve özetlerine dönüştürür. OpenClaw'ı `scripts/package-openclaw-for-docker.mjs` üzerinden paketler, mevcut çalıştırma paket yapıtını indirir veya `package_artifact_run_id` içinden bir paket yapıtı indirir; tarball envanterini doğrular; plan paket yüklü hatlar gerektirdiğinde Blacksmith'in Docker katman önbelleği üzerinden paket-digest etiketli yalın/işlevsel GHCR Docker E2E imajlarını build edip push eder; sağlanan `docker_e2e_bare_image`/`docker_e2e_functional_image` girdilerini veya mevcut paket-digest imajlarını yeniden build etmek yerine yeniden kullanır. Docker imaj çekmeleri, kayıt/cache akışı takıldığında CI kritik yolunun çoğunu tüketmek yerine hızlıca yeniden denensin diye deneme başına sınırlı 180 saniyelik zaman aşımıyla yeniden denenir.
+Yeniden kullanılabilir canlı/E2E iş akışı, hangi paket, görüntü türü, canlı görüntü, hat ve kimlik bilgisi kapsamının gerekli olduğunu `scripts/test-docker-all.mjs --plan-json` ile sorar. Ardından `scripts/docker-e2e.mjs` bu planı GitHub çıktıları ve özetlerine dönüştürür. Plan paket kurulmuş hatlar gerektirdiğinde OpenClaw paketini `scripts/package-openclaw-for-docker.mjs` üzerinden paketler, mevcut çalıştırmadan bir paket yapıtı indirir veya `package_artifact_run_id` üzerinden bir paket yapıtı indirir; tarball envanterini doğrular; Blacksmith'in Docker katman önbelleği üzerinden paket özet etiketiyle etiketlenmiş çıplak/işlevsel GHCR Docker E2E görüntülerini derler ve gönderir; ve yeniden derlemek yerine sağlanan `docker_e2e_bare_image`/`docker_e2e_functional_image` girdilerini ya da mevcut paket özet görüntülerini yeniden kullanır. Docker görüntü çekmeleri, takılı kalan bir kayıt/önbellek akışının CI kritik yolunun çoğunu tüketmek yerine hızla yeniden denenmesi için deneme başına sınırlı 180 saniyelik zaman aşımıyla yeniden denenir.
### Yayın yolu parçaları
-Yayın Docker kapsamı `OPENCLAW_SKIP_DOCKER_BUILD=1` ile daha küçük parçalı işler çalıştırır; böylece her parça yalnızca ihtiyaç duyduğu imaj türünü çeker ve aynı ağırlıklı zamanlayıcı üzerinden birden çok hattı yürütür:
+Yayın Docker kapsamı, `OPENCLAW_SKIP_DOCKER_BUILD=1` ile daha küçük parçalanmış işler çalıştırır; böylece her parça yalnızca ihtiyaç duyduğu görüntü türünü çeker ve aynı ağırlıklı zamanlayıcı üzerinden birden çok hattı yürütür:
- `OPENCLAW_DOCKER_ALL_PROFILE=release-path`
- `OPENCLAW_DOCKER_ALL_CHUNK=core | package-update-openai | package-update-anthropic | package-update-core | plugins-runtime-plugins | plugins-runtime-services | plugins-runtime-install-a..h | bundled-channels`
-Geçerli sürüm Docker parçaları `core`, `package-update-openai`, `package-update-anthropic`, `package-update-core`, `plugins-runtime-plugins`, `plugins-runtime-services`, `plugins-runtime-install-a` ile `plugins-runtime-install-h`, `bundled-channels-core`, `bundled-channels-update-a`, `bundled-channels-update-discord`, `bundled-channels-update-b` ve `bundled-channels-contracts` şeklindedir. Toplu `bundled-channels` parçası, manuel tek seferlik yeniden çalıştırmalar için kullanılabilir kalır; `plugins-runtime-core`, `plugins-runtime` ve `plugins-integrations` ise toplu Plugin/runtime takma adları olarak kalır. `install-e2e` hat takma adı, her iki sağlayıcı yükleyici hattı için toplu manuel yeniden çalıştırma takma adı olarak kalır. `bundled-channels` parçası, seri hepsi bir arada `bundled-channel-deps` hattı yerine bölünmüş `bundled-channel-*` ve `bundled-channel-update-*` hatlarını çalıştırır.
+Mevcut yayın Docker parçaları `core`, `package-update-openai`, `package-update-anthropic`, `package-update-core`, `plugins-runtime-plugins`, `plugins-runtime-services`, `plugins-runtime-install-a` ile `plugins-runtime-install-h` arası, `bundled-channels-core`, `bundled-channels-update-a`, `bundled-channels-update-discord`, `bundled-channels-update-b` ve `bundled-channels-contracts` şeklindedir. Toplu `bundled-channels` parçası, elle tek seferlik yeniden çalıştırmalar için kullanılabilir kalır; `plugins-runtime-core`, `plugins-runtime` ve `plugins-integrations` ise toplu Plugin/çalışma zamanı takma adları olarak kalır. `install-e2e` hat takma adı, her iki sağlayıcı yükleyici hattı için toplu elle yeniden çalıştırma takma adı olarak kalır. `bundled-channels` parçası, seri tek parça `bundled-channel-deps` hattı yerine bölünmüş `bundled-channel-*` ve `bundled-channel-update-*` hatlarını çalıştırır.
-Tam sürüm yolu kapsamı istediğinde OpenWebUI `plugins-runtime-services` içine katlanır ve yalnızca OpenWebUI’ye özel tetiklemeler için bağımsız bir `openwebui` parçası tutar. Paketlenmiş kanal güncelleme hatları, geçici npm ağ hatalarında bir kez yeniden dener.
+Tam yayın yolu kapsamı bunu istediğinde OpenWebUI, `plugins-runtime-services` içine katılır ve yalnızca OpenWebUI'ye özel gönderimler için bağımsız bir `openwebui` parçası tutar. Birlikte gelen kanal güncelleme hatları, geçici npm ağ hataları için bir kez yeniden dener.
-Her parça, hat günlükleri, zamanlamalar, `summary.json`, `failures.json`, aşama zamanlamaları, zamanlayıcı planı JSON’u, yavaş hat tabloları ve hat başına yeniden çalıştırma komutlarıyla birlikte `.artifacts/docker-tests/` yükler. İş akışı `docker_lanes` girdisi, parça işleri yerine hazırlanmış imajlara karşı seçilen hatları çalıştırır; bu, başarısız hat hata ayıklamasını hedefli tek bir Docker işiyle sınırlı tutar ve o çalıştırma için paket artifact’ini hazırlar, indirir veya yeniden kullanır. Seçilen bir hat canlı Docker hattıysa, hedefli iş bu yeniden çalıştırma için canlı test imajını yerel olarak oluşturur. Oluşturulan hat başına GitHub yeniden çalıştırma komutları, bu değerler mevcut olduğunda `package_artifact_run_id`, `package_artifact_name` ve hazırlanmış imaj girdilerini içerir; böylece başarısız bir hat, başarısız çalıştırmadaki tam paket ve imajları yeniden kullanabilir.
+Her parça, hat günlükleri, zamanlamalar, `summary.json`, `failures.json`, aşama zamanlamaları, zamanlayıcı planı JSON'u, yavaş hat tabloları ve hat başına yeniden çalıştırma komutlarıyla birlikte `.artifacts/docker-tests/` yükler. İş akışı `docker_lanes` girdisi, parça işleri yerine seçili hatları hazırlanmış görüntülere karşı çalıştırır; bu, başarısız hat hata ayıklamasını tek bir hedeflenmiş Docker işiyle sınırlar ve o çalıştırma için paket yapıtını hazırlar, indirir veya yeniden kullanır; seçili bir hat canlı Docker hattıysa, hedeflenmiş iş o yeniden çalıştırma için canlı test görüntüsünü yerel olarak derler. Üretilen hat başına GitHub yeniden çalıştırma komutları, bu değerler mevcut olduğunda `package_artifact_run_id`, `package_artifact_name` ve hazırlanmış görüntü girdilerini içerir; böylece başarısız bir hat, başarısız çalıştırmadaki tam paketi ve görüntüleri yeniden kullanabilir.
```bash
pnpm test:docker:rerun # download Docker artifacts and print combined/per-lane targeted rerun commands
pnpm test:docker:timings # slow-lane and phase critical-path summaries
```
-Zamanlanmış canlı/E2E iş akışı, tam sürüm yolu Docker paketini günlük olarak çalıştırır.
+Zamanlanmış canlı/E2E iş akışı, tüm yayın yolu Docker paketini günlük olarak çalıştırır.
-## Plugin Ön Sürümü
+## Plugin Ön Yayını
-`Plugin Prerelease` daha maliyetli ürün/paket kapsamıdır, bu nedenle `Full Release Validation` tarafından veya açık bir operatör tarafından tetiklenen ayrı bir iş akışıdır. Normal pull request’ler, `main` push’ları ve bağımsız manuel CI tetiklemeleri bu paketi kapalı tutar. Paketlenmiş Plugin testlerini sekiz uzantı çalışanı arasında dengeler; bu uzantı shard işleri, içe aktarma ağırlıklı Plugin gruplarının ek CI işleri oluşturmasını önlemek için grup başına bir Vitest çalışanı ve daha büyük bir Node heap ile aynı anda en fazla iki Plugin config grubunu çalıştırır.
+`Plugin Prerelease` daha pahalı ürün/paket kapsamıdır; bu nedenle `Full Release Validation` veya açık bir operatör tarafından gönderilen ayrı bir iş akışıdır. Normal çekme istekleri, `main` göndermeleri ve bağımsız elle CI gönderimleri bu paketi kapalı tutar. Birlikte gelen Plugin testlerini sekiz uzantı çalışanı arasında dengeler; bu uzantı shard işleri, içe aktarma açısından ağır Plugin gruplarının ek CI işleri oluşturmaması için grup başına bir Vitest çalışanı ve daha büyük bir Node heap ile aynı anda en fazla iki Plugin yapılandırma grubunu çalıştırır. Yalnızca yayına özel Docker ön yayın yolu, bir ila üç dakikalık işler için onlarca runner ayırmaktan kaçınmak üzere hedeflenmiş Docker hatlarını küçük gruplar halinde toplar.
## QA Lab
QA Lab, ana akıllı kapsamlı iş akışının dışında ayrılmış CI hatlarına sahiptir.
-- `Parity gate` iş akışı, eşleşen PR değişikliklerinde ve manuel tetiklemede çalışır; özel QA runtime’ını oluşturur ve sahte GPT-5.5 ile Opus 4.6 agentic paketlerini karşılaştırır.
-- `QA-Lab - All Lanes` iş akışı her gece `main` üzerinde ve manuel tetiklemede çalışır; sahte parite kapısını, canlı Matrix hattını ve canlı Telegram ile Discord hatlarını paralel işler olarak yayar. Canlı işler `qa-live-shared` ortamını kullanır; Telegram/Discord ise Convex lease’lerini kullanır.
+- `Parity gate` iş akışı, eşleşen PR değişikliklerinde ve elle gönderimde çalışır; özel QA çalışma zamanını derler ve sahte GPT-5.5 ile Opus 4.6 agentic paketlerini karşılaştırır.
+- `QA-Lab - All Lanes` iş akışı gecelik olarak `main` üzerinde ve elle gönderimde çalışır; sahte eşlik kapısını, canlı Matrix hattını ve canlı Telegram ile Discord hatlarını paralel işler olarak yayar. Canlı işler `qa-live-shared` ortamını kullanır, Telegram/Discord ise Convex kiralamalarını kullanır.
-Sürüm kontrolleri, canlı model gecikmesinden ve normal sağlayıcı Plugin başlatmasından izole edilmiş kanal kontratı için deterministik sahte sağlayıcı ve sahte nitelikli modellerle (`mock-openai/gpt-5.5` ve `mock-openai/gpt-5.5-alt`) Matrix ve Telegram canlı aktarım hatlarını çalıştırır. Canlı aktarım Gateway’i bellek aramasını devre dışı bırakır çünkü QA paritesi bellek davranışını ayrı olarak kapsar; sağlayıcı bağlantısı ayrı canlı model, yerel sağlayıcı ve Docker sağlayıcı paketleri tarafından kapsanır.
+Yayın kontrolleri, canlı model gecikmesinden ve normal sağlayıcı Plugin başlatmasından kanal sözleşmesini izole etmek için deterministik sahte sağlayıcı ve sahte nitelikli modellerle (`mock-openai/gpt-5.5` ve `mock-openai/gpt-5.5-alt`) Matrix ve Telegram canlı aktarım hatlarını çalıştırır. Canlı aktarım Gateway'i bellek aramasını devre dışı bırakır çünkü QA eşliği bellek davranışını ayrı olarak kapsar; sağlayıcı bağlantısı ayrı canlı model, yerel sağlayıcı ve Docker sağlayıcı paketleri tarafından kapsanır.
-Matrix, zamanlanmış ve sürüm kapıları için `--profile fast` kullanır ve yalnızca checkout yapılmış CLI bunu desteklediğinde `--fail-fast` ekler. CLI varsayılanı ve manuel iş akışı girdisi `all` olarak kalır; manuel `matrix_profile=all` tetiklemesi, tam Matrix kapsamını her zaman `transport`, `media`, `e2ee-smoke`, `e2ee-deep` ve `e2ee-cli` işlerine shard’lar.
+Matrix, zamanlanmış ve yayın kapıları için `--profile fast` kullanır ve yalnızca checkout yapılan CLI desteklediğinde `--fail-fast` ekler. CLI varsayılanı ve elle iş akışı girdisi `all` olarak kalır; elle `matrix_profile=all` gönderimi, tam Matrix kapsamını her zaman `transport`, `media`, `e2ee-smoke`, `e2ee-deep` ve `e2ee-cli` işlerine böler.
-`OpenClaw Release Checks`, sürüm onayından önce sürüm açısından kritik QA Lab hatlarını da çalıştırır; QA parite kapısı aday ve temel paketleri paralel hat işleri olarak çalıştırır, ardından nihai parite karşılaştırması için iki artifact’i de küçük bir rapor işine indirir.
+`OpenClaw Release Checks` ayrıca yayın onayından önce yayın açısından kritik QA Lab hatlarını çalıştırır; QA eşlik kapısı aday ve temel paketleri paralel hat işleri olarak çalıştırır, ardından son eşlik karşılaştırması için her iki yapıtı da küçük bir rapor işine indirir.
-Değişiklik gerçekten QA runtime’ına, model paketi paritesine veya parite iş akışının sahibi olduğu bir yüzeye dokunmuyorsa PR landing yolunu `Parity gate` arkasına koymayın. Normal kanal, config, doküman veya birim testi düzeltmeleri için bunu isteğe bağlı bir sinyal olarak ele alın ve bunun yerine kapsamlı CI/kontrol kanıtını izleyin.
+Değişiklik gerçekten QA çalışma zamanına, model paketi eşliğine veya eşlik iş akışının sahip olduğu bir yüzeye dokunmadıkça PR indirme yolunu `Parity gate` arkasına koymayın. Normal kanal, yapılandırma, dokümantasyon veya birim testi düzeltmeleri için bunu isteğe bağlı bir sinyal olarak ele alın ve bunun yerine kapsamlı CI/kontrol kanıtını izleyin.
## CodeQL
-`CodeQL` iş akışı, tam depo taraması değil, bilerek dar tutulmuş ilk geçiş güvenlik tarayıcısıdır. Günlük, manuel ve draft olmayan pull request koruma çalıştırmaları, Actions iş akışı kodunu ve en yüksek riskli JavaScript/TypeScript yüzeylerini, yüksek/kritik `security-severity` değerine filtrelenmiş yüksek güven güvenlik sorgularıyla tarar.
+`CodeQL` iş akışı, tam depo taraması değil, kasıtlı olarak dar kapsamlı bir ilk geçiş güvenlik tarayıcısıdır. Günlük, elle ve taslak olmayan çekme isteği koruma çalıştırmaları, Actions iş akışı kodunu ve en yüksek riskli JavaScript/TypeScript yüzeylerini, yüksek/kritik `security-severity` değerine filtrelenmiş yüksek güvenli güvenlik sorgularıyla tarar.
-Pull request koruması hafif kalır: yalnızca `.github/actions`, `.github/codeql`, `.github/workflows`, `packages` veya `src` altındaki değişiklikler için başlar ve zamanlanmış iş akışıyla aynı yüksek güven güvenlik matrisini çalıştırır. Android ve macOS CodeQL, PR varsayılanlarının dışında kalır.
+Çekme isteği koruması hafif kalır: yalnızca `.github/actions`, `.github/codeql`, `.github/workflows`, `packages` veya `src` altındaki değişiklikler için başlar ve zamanlanmış iş akışıyla aynı yüksek güvenli güvenlik matrisini çalıştırır. Android ve macOS CodeQL, PR varsayılanlarının dışında kalır.
### Güvenlik kategorileri
-| Kategori | Yüzey |
-| ------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
-| `/codeql-security-high/core-auth-secrets` | Auth, secrets, sandbox, cron ve gateway temel durumu |
-| `/codeql-security-high/channel-runtime-boundary` | Çekirdek kanal uygulama kontratları ile kanal Plugin runtime’ı, gateway, Plugin SDK, secrets, audit temas noktaları |
-| `/codeql-security-high/network-ssrf-boundary` | Çekirdek SSRF, IP ayrıştırma, ağ koruması, web-fetch ve Plugin SDK SSRF ilke yüzeyleri |
-| `/codeql-security-high/mcp-process-tool-boundary` | MCP sunucuları, süreç yürütme yardımcıları, outbound delivery ve ajan araç yürütme kapıları |
-| `/codeql-security-high/plugin-trust-boundary` | Plugin yükleme, loader, manifest, registry, runtime dependency hazırlama, kaynak yükleme ve Plugin SDK paket kontratı güven yüzeyleri |
+| Kategori | Yüzey |
+| ------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- |
+| `/codeql-security-high/core-auth-secrets` | Auth, secrets, sandbox, cron ve gateway temeli |
+| `/codeql-security-high/channel-runtime-boundary` | Çekirdek kanal uygulama sözleşmeleri artı kanal Plugin çalışma zamanı, gateway, Plugin SDK, secrets, audit temas noktaları |
+| `/codeql-security-high/network-ssrf-boundary` | Çekirdek SSRF, IP ayrıştırma, ağ koruması, web-fetch ve Plugin SDK SSRF ilkesi yüzeyleri |
+| `/codeql-security-high/mcp-process-tool-boundary` | MCP sunucuları, işlem yürütme yardımcıları, dışa teslim ve ajan araç yürütme kapıları |
+| `/codeql-security-high/plugin-trust-boundary` | Plugin kurulumu, yükleyici, manifest, kayıt, çalışma zamanı bağımlılığı hazırlama, kaynak yükleme ve Plugin SDK paket sözleşmesi güven yüzeyleri |
-### Platforma özel güvenlik shard’ları
+### Platforma özgü güvenlik shard'ları
-- `CodeQL Android Critical Security` — zamanlanmış Android güvenlik shard’ı. Workflow sanity tarafından kabul edilen en küçük Blacksmith Linux runner üzerinde CodeQL için Android uygulamasını manuel olarak oluşturur. `/codeql-critical-security/android` altında yükler.
-- `CodeQL macOS Critical Security` — haftalık/manuel macOS güvenlik shard’ı. Blacksmith macOS üzerinde CodeQL için macOS uygulamasını manuel olarak oluşturur, dependency build sonuçlarını yüklenen SARIF dışına filtreler ve `/codeql-critical-security/macos` altında yükler. Temiz olduğunda bile macOS build’i çalışma süresini domine ettiği için günlük varsayılanların dışında tutulur.
+- `CodeQL Android Critical Security` — zamanlanmış Android güvenlik shard'ı. Android uygulamasını, iş akışı sağlamlık kontrolü tarafından kabul edilen en küçük Blacksmith Linux runner üzerinde CodeQL için elle derler. `/codeql-critical-security/android` altında yükler.
+- `CodeQL macOS Critical Security` — haftalık/elle macOS güvenlik shard'ı. macOS uygulamasını Blacksmith macOS üzerinde CodeQL için elle derler, bağımlılık derleme sonuçlarını yüklenen SARIF'in dışında filtreler ve `/codeql-critical-security/macos` altında yükler. Temiz olduğunda bile macOS derlemesi çalışma süresine hakim olduğu için günlük varsayılanların dışında tutulur.
### Kritik Kalite kategorileri
-`CodeQL Critical Quality` eşleşen güvenlik dışı shard’dır. Daha küçük Blacksmith Linux runner üzerinde, dar ve yüksek değerli yüzeyler genelinde yalnızca hata önem seviyeli, güvenlik dışı JavaScript/TypeScript kalite sorgularını çalıştırır. Pull request koruması, zamanlanmış profilden bilerek daha küçüktür: draft olmayan PR’lar yalnızca ajan komut/model/araç yürütmesi ve yanıt dispatch kodu; config şeması/migration/IO kodu; auth/secrets/sandbox/security kodu; çekirdek kanal ve paketlenmiş kanal Plugin runtime’ı; gateway protokolü/sunucu yöntemi; bellek runtime/SDK bağlantısı; MCP/process/outbound delivery; sağlayıcı runtime/model kataloğu; oturum diagnostics/delivery queue’ları; Plugin loader; Plugin SDK/paket kontratı; veya Plugin SDK yanıt runtime değişiklikleri için eşleşen `agent-runtime-boundary`, `config-boundary`, `core-auth-secrets`, `channel-runtime-boundary`, `gateway-runtime-boundary`, `memory-runtime-boundary`, `mcp-process-runtime-boundary`, `provider-runtime-boundary`, `session-diagnostics-boundary`, `plugin-boundary`, `plugin-sdk-package-contract` ve `plugin-sdk-reply-runtime` shard’larını çalıştırır. CodeQL config ve kalite iş akışı değişiklikleri on iki PR kalite shard’ının tamamını çalıştırır.
+`CodeQL Critical Quality`, eşleşen güvenlik dışı shard'dır. Daha küçük Blacksmith Linux runner üzerinde, dar ve yüksek değerli yüzeylerde yalnızca hata önem dereceli, güvenlik dışı JavaScript/TypeScript kalite sorgularını çalıştırır. Çekme isteği koruması kasıtlı olarak zamanlanmış profilden daha küçüktür: taslak olmayan PR'lar; ajan komut/model/araç yürütme ve yanıt gönderim kodu, yapılandırma şeması/geçiş/GÇ kodu, auth/secrets/sandbox/security kodu, çekirdek kanal ve birlikte gelen kanal Plugin çalışma zamanı, gateway protokolü/sunucu yöntemi, bellek çalışma zamanı/SDK bağlantısı, MCP/işlem/dışa teslim, sağlayıcı çalışma zamanı/model kataloğu, oturum tanılama/teslim kuyrukları, Plugin yükleyici, Plugin SDK/paket sözleşmesi veya Plugin SDK yanıt çalışma zamanı değişiklikleri için yalnızca eşleşen `agent-runtime-boundary`, `config-boundary`, `core-auth-secrets`, `channel-runtime-boundary`, `gateway-runtime-boundary`, `memory-runtime-boundary`, `mcp-process-runtime-boundary`, `provider-runtime-boundary`, `session-diagnostics-boundary`, `plugin-boundary`, `plugin-sdk-package-contract` ve `plugin-sdk-reply-runtime` shard'larını çalıştırır. CodeQL yapılandırması ve kalite iş akışı değişiklikleri on iki PR kalite shard'ının tamamını çalıştırır.
-Manuel tetikleme şunu kabul eder:
+Elle gönderim şunları kabul eder:
```
profile=all|agent-runtime-boundary|config-boundary|core-auth-secrets|channel-runtime-boundary|gateway-runtime-boundary|memory-runtime-boundary|mcp-process-runtime-boundary|plugin-boundary|plugin-sdk-package-contract|plugin-sdk-reply-runtime|provider-runtime-boundary|session-diagnostics-boundary
```
-Dar profiller, tek bir kalite shard’ını yalıtılmış şekilde çalıştırmak için öğretme/iterasyon kancalarıdır.
+Dar profiller, tek bir kalite dilimini yalıtılmış olarak çalıştırmak için eğitim/yineleme kancalarıdır.
-| Kategori | Yüzey |
-| ------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `/codeql-critical-quality/core-auth-secrets` | Kimlik doğrulama, gizli bilgiler, sandbox, Cron ve Gateway güvenlik sınırı kodu |
-| `/codeql-critical-quality/config-boundary` | Yapılandırma şeması, geçiş, normalleştirme ve G/Ç sözleşmeleri |
-| `/codeql-critical-quality/gateway-runtime-boundary` | Gateway protokol şemaları ve sunucu yöntemi sözleşmeleri |
-| `/codeql-critical-quality/channel-runtime-boundary` | Çekirdek kanal ve paketle gelen kanal plugin uygulama sözleşmeleri |
-| `/codeql-critical-quality/agent-runtime-boundary` | Komut yürütme, model/sağlayıcı yönlendirme, otomatik yanıt yönlendirme ve kuyruklar ile ACP denetim düzlemi çalışma zamanı sözleşmeleri |
-| `/codeql-critical-quality/mcp-process-runtime-boundary` | MCP sunucuları ve araç köprüleri, süreç gözetimi yardımcıları ve giden teslimat sözleşmeleri |
-| `/codeql-critical-quality/memory-runtime-boundary` | Bellek ana bilgisayar SDK'sı, bellek çalışma zamanı cepheleri, bellek Plugin SDK adları, bellek çalışma zamanı etkinleştirme bağlayıcısı ve bellek doctor komutları |
-| `/codeql-critical-quality/session-diagnostics-boundary` | Yanıt kuyruğu iç öğeleri, oturum teslimat kuyrukları, giden oturum bağlama/teslimat yardımcıları, tanılama olayı/günlük paketi yüzeyleri ve oturum doctor CLI sözleşmeleri |
-| `/codeql-critical-quality/plugin-sdk-reply-runtime` | Plugin SDK gelen yanıt yönlendirme, yanıt yükü/parçalama/çalışma zamanı yardımcıları, kanal yanıt seçenekleri, teslimat kuyrukları ve oturum/iş parçacığı bağlama yardımcıları |
-| `/codeql-critical-quality/provider-runtime-boundary` | Model kataloğu normalleştirme, sağlayıcı kimlik doğrulama ve keşif, sağlayıcı çalışma zamanı kaydı, sağlayıcı varsayılanları/katalogları ve web/arama/getirme/gömme kayıtları |
-| `/codeql-critical-quality/ui-control-plane` | Denetim UI önyüklemesi, yerel kalıcılık, Gateway denetim akışları ve görev denetim düzlemi çalışma zamanı sözleşmeleri |
-| `/codeql-critical-quality/web-media-runtime-boundary` | Çekirdek web getirme/arama, medya G/Ç, medya anlama, görsel oluşturma ve medya oluşturma çalışma zamanı sözleşmeleri |
-| `/codeql-critical-quality/plugin-boundary` | Yükleyici, kayıt, herkese açık yüzey ve Plugin SDK giriş noktası sözleşmeleri |
-| `/codeql-critical-quality/plugin-sdk-package-contract` | Yayımlanan paket tarafı Plugin SDK kaynağı ve plugin paketi sözleşme yardımcıları |
+| Kategori | Yüzey |
+| ------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `/codeql-critical-quality/core-auth-secrets` | Kimlik doğrulama, sırlar, sandbox, Cron ve Gateway güvenlik sınırı kodu |
+| `/codeql-critical-quality/config-boundary` | Yapılandırma şeması, geçiş, normalleştirme ve IO sözleşmeleri |
+| `/codeql-critical-quality/gateway-runtime-boundary` | Gateway protokol şemaları ve sunucu yöntemi sözleşmeleri |
+| `/codeql-critical-quality/channel-runtime-boundary` | Çekirdek kanal ve paketli kanal Plugin uygulama sözleşmeleri |
+| `/codeql-critical-quality/agent-runtime-boundary` | Komut yürütme, model/sağlayıcı dağıtımı, otomatik yanıt dağıtımı ve kuyrukları, ayrıca ACP denetim düzlemi çalışma zamanı sözleşmeleri |
+| `/codeql-critical-quality/mcp-process-runtime-boundary` | MCP sunucuları ve araç köprüleri, süreç gözetimi yardımcıları ve giden teslim sözleşmeleri |
+| `/codeql-critical-quality/memory-runtime-boundary` | Bellek ana makine SDK'sı, bellek çalışma zamanı cepheleri, bellek Plugin SDK takma adları, bellek çalışma zamanı etkinleştirme bağlantısı ve bellek doctor komutları |
+| `/codeql-critical-quality/session-diagnostics-boundary` | Yanıt kuyruğu iç yapıları, oturum teslim kuyrukları, giden oturum bağlama/teslim yardımcıları, tanılama olayı/günlük paketi yüzeyleri ve oturum doctor CLI sözleşmeleri |
+| `/codeql-critical-quality/plugin-sdk-reply-runtime` | Plugin SDK gelen yanıt dağıtımı, yanıt yükü/parçalama/çalışma zamanı yardımcıları, kanal yanıt seçenekleri, teslim kuyrukları ve oturum/iş parçacığı bağlama yardımcıları |
+| `/codeql-critical-quality/provider-runtime-boundary` | Model kataloğu normalleştirmesi, sağlayıcı kimlik doğrulaması ve keşfi, sağlayıcı çalışma zamanı kaydı, sağlayıcı varsayılanları/katalogları ve web/arama/getirme/gömme kayıtları |
+| `/codeql-critical-quality/ui-control-plane` | Denetim UI önyüklemesi, yerel kalıcılık, Gateway denetim akışları ve görev denetim düzlemi çalışma zamanı sözleşmeleri |
+| `/codeql-critical-quality/web-media-runtime-boundary` | Çekirdek web getirme/arama, medya IO, medya anlama, görsel üretimi ve medya üretimi çalışma zamanı sözleşmeleri |
+| `/codeql-critical-quality/plugin-boundary` | Yükleyici, kayıt, herkese açık yüzey ve Plugin SDK giriş noktası sözleşmeleri |
+| `/codeql-critical-quality/plugin-sdk-package-contract` | Yayımlanan paket tarafı Plugin SDK kaynağı ve plugin paketi sözleşme yardımcıları |
-Kalite, güvenlikten ayrı kalır; böylece kalite bulguları güvenlik sinyalini belirsizleştirmeden zamanlanabilir, ölçülebilir, devre dışı bırakılabilir veya genişletilebilir. Swift, Python ve paketle gelen plugin CodeQL genişletmesi, ancak dar profiller kararlı çalışma zamanı ve sinyale sahip olduktan sonra kapsamlı veya parçalanmış takip çalışması olarak geri eklenmelidir.
+Kalite, güvenlikten ayrı tutulur; böylece kalite bulguları, güvenlik sinyalini gölgelemeden zamanlanabilir, ölçülebilir, devre dışı bırakılabilir veya genişletilebilir. Swift, Python ve paketli plugin CodeQL genişletmesi, yalnızca dar profiller kararlı çalışma zamanı ve sinyale sahip olduktan sonra kapsamlı veya parçalanmış takip işi olarak geri eklenmelidir.
## Bakım iş akışları
### Docs Agent
-`Docs Agent` iş akışı, mevcut dokümanları kısa süre önce ana hatta alınan değişikliklerle hizalı tutmak için olay güdümlü bir Codex bakım hattıdır. Saf bir zamanlaması yoktur: `main` üzerinde başarılı bir bot olmayan push CI çalıştırması bunu tetikleyebilir ve elle dispatch doğrudan çalıştırabilir. Workflow-run çağrıları, `main` ilerlediyse veya son bir saat içinde başka bir atlanmamış Docs Agent çalıştırması oluşturulduysa atlanır. Çalıştığında, önceki atlanmamış Docs Agent kaynak SHA'sından geçerli `main` durumuna kadar olan commit aralığını inceler; böylece saatlik tek bir çalışma, son doküman geçişinden bu yana biriken tüm main değişikliklerini kapsayabilir.
+`Docs Agent` iş akışı, mevcut dokümanları yakın zamanda eklenen değişikliklerle uyumlu tutmak için olay güdümlü bir Codex bakım hattıdır. Salt zamanlaması yoktur: `main` üzerinde başarılı bir bot olmayan push CI çalışması bunu tetikleyebilir ve manuel dispatch bunu doğrudan çalıştırabilir. Workflow-run çağrıları, `main` ilerlediyse veya son bir saat içinde atlanmamış başka bir Docs Agent çalışması oluşturulduysa atlanır. Çalıştığında, önceki atlanmamış Docs Agent kaynak SHA'sından geçerli `main` durumuna kadar commit aralığını inceler; böylece saatlik tek bir çalışma, son doküman geçişinden beri biriken tüm main değişikliklerini kapsayabilir.
### Test Performance Agent
-`Test Performance Agent` iş akışı, yavaş testler için olay güdümlü bir Codex bakım hattıdır. Saf bir zamanlaması yoktur: `main` üzerinde başarılı bir bot olmayan push CI çalıştırması bunu tetikleyebilir, ancak başka bir workflow-run çağrısı o UTC gününde zaten çalıştıysa veya çalışıyorsa atlanır. Elle dispatch bu günlük etkinlik kapısını atlar. Hat, tam paket gruplandırılmış bir Vitest performans raporu oluşturur, Codex'in geniş refactor'lar yerine yalnızca kapsamı koruyan küçük test performansı düzeltmeleri yapmasına izin verir, ardından tam paket raporu yeniden çalıştırır ve geçen temel test sayısını azaltan değişiklikleri reddeder. Temel durumda başarısız testler varsa, Codex yalnızca bariz hataları düzeltebilir ve ajan sonrası tam paket raporu herhangi bir şey commit edilmeden önce geçmelidir. Bot push ana hatta alınmadan önce `main` ilerlerse, hat doğrulanmış yamayı rebase eder, `pnpm check:changed` komutunu yeniden çalıştırır ve push işlemini tekrar dener; çakışan eski yamalar atlanır. Codex eyleminin doküman ajanıyla aynı drop-sudo güvenlik duruşunu koruyabilmesi için GitHub barındırmalı Ubuntu kullanır.
+`Test Performance Agent` iş akışı, yavaş testler için olay güdümlü bir Codex bakım hattıdır. Salt zamanlaması yoktur: `main` üzerinde başarılı bir bot olmayan push CI çalışması bunu tetikleyebilir, ancak aynı UTC gününde başka bir workflow-run çağrısı zaten çalıştıysa veya çalışıyorsa atlanır. Manuel dispatch, bu günlük etkinlik kapısını atlar. Hat, tam paket gruplandırılmış Vitest performans raporu oluşturur, Codex'in geniş refaktörler yerine yalnızca kapsamı koruyan küçük test performansı düzeltmeleri yapmasına izin verir, ardından tam paket raporu yeniden çalıştırır ve geçen temel test sayısını azaltan değişiklikleri reddeder. Temelde başarısız testler varsa Codex yalnızca bariz hataları düzeltebilir ve agent sonrası tam paket raporunun herhangi bir şey commit edilmeden önce geçmesi gerekir. Bot push inmeden önce `main` ilerlerse hat doğrulanmış yamayı rebase eder, `pnpm check:changed` komutunu yeniden çalıştırır ve push'u tekrar dener; çakışan eski yamalar atlanır. Docs agent ile aynı drop-sudo güvenlik duruşunu koruyabilmesi için Codex eylemi GitHub tarafından barındırılan Ubuntu kullanır.
-### Birleştirme Sonrası Yinelenen PR'lar
+### Birleştirmeden Sonra Yinelenen PR'lar
-`Duplicate PRs After Merge` iş akışı, ana hatta alma sonrası yinelenenleri temizlemek için elle çalıştırılan bir maintainer iş akışıdır. Varsayılan olarak dry-run kullanır ve yalnızca `apply=true` olduğunda açıkça listelenen PR'ları kapatır. GitHub üzerinde değişiklik yapmadan önce, ana hatta alınan PR'ın birleştirildiğini ve her yinelemenin ya ortak bir başvurulan issue'ya ya da örtüşen değişmiş hunks'a sahip olduğunu doğrular.
+`Duplicate PRs After Merge` iş akışı, iniş sonrası yinelenenleri temizlemek için manuel bir bakımcı iş akışıdır. Varsayılanı dry-run'dır ve yalnızca `apply=true` olduğunda açıkça listelenen PR'ları kapatır. GitHub üzerinde değişiklik yapmadan önce, inen PR'ın birleştirildiğini ve her yinelenenin ya ortak başvurulan bir issue'ya ya da örtüşen değiştirilmiş hunk'lara sahip olduğunu doğrular.
```bash
gh workflow run duplicate-after-merge.yml \
@@ -396,23 +400,34 @@ gh workflow run duplicate-after-merge.yml \
Yerel değişiklik hattı mantığı `scripts/changed-lanes.mjs` içinde bulunur ve `scripts/check-changed.mjs` tarafından yürütülür. Bu yerel denetim kapısı, mimari sınırlar konusunda geniş CI platform kapsamından daha katıdır:
-- çekirdek üretim değişiklikleri, core prod ve core test typecheck ile core lint/guard'ları çalıştırır;
-- yalnızca çekirdek test değişiklikleri, yalnızca core test typecheck ile core lint'i çalıştırır;
-- extension üretim değişiklikleri, extension prod ve extension test typecheck ile extension lint'i çalıştırır;
-- yalnızca extension test değişiklikleri, extension test typecheck ile extension lint'i çalıştırır;
-- herkese açık Plugin SDK veya plugin sözleşmesi değişiklikleri extension typecheck kapsamına genişler, çünkü extension'lar bu çekirdek sözleşmelere bağımlıdır (Vitest extension taramaları açık test çalışması olarak kalır);
-- yalnızca release metadata sürüm artırımları, hedefli sürüm/yapılandırma/kök bağımlılık denetimleri çalıştırır;
-- bilinmeyen kök/yapılandırma değişiklikleri güvenli kalmak için tüm denetim hatlarına düşer.
+- çekirdek üretim değişiklikleri, çekirdek prod ve çekirdek test typecheck ile çekirdek lint/guard çalıştırır;
+- yalnızca çekirdek test değişiklikleri, yalnızca çekirdek test typecheck ile çekirdek lint çalıştırır;
+- extension üretim değişiklikleri, extension prod ve extension test typecheck ile extension lint çalıştırır;
+- yalnızca extension test değişiklikleri, extension test typecheck ile extension lint çalıştırır;
+- herkese açık Plugin SDK veya plugin sözleşmesi değişiklikleri, extension'lar bu çekirdek sözleşmelere bağlı olduğu için extension typecheck'e genişler (Vitest extension taramaları açık test işi olarak kalır);
+- yalnızca sürüm metadata'sı version bump'ları, hedefli sürüm/yapılandırma/kök-bağımlılık denetimleri çalıştırır;
+- bilinmeyen kök/yapılandırma değişiklikleri güvenli şekilde tüm denetim hatlarına düşer.
-Yerel değişmiş test yönlendirmesi `scripts/test-projects.test-support.mjs` içinde bulunur ve bilinçli olarak `check:changed` komutundan daha ucuzdur: doğrudan test düzenlemeleri kendilerini çalıştırır, kaynak düzenlemeleri açık eşlemeleri, ardından kardeş testleri ve import grafiği bağımlılarını tercih eder. Paylaşılan grup odası teslimat yapılandırması açık eşlemelerden biridir: grup görünür yanıt yapılandırmasına, kaynak yanıt teslimat moduna veya mesaj aracı sistem prompt'una yapılan değişiklikler, çekirdek yanıt testleri ile Discord ve Slack teslimat regresyonlarından geçirilir; böylece paylaşılan varsayılan değişiklik ilk PR push işleminden önce başarısız olur. `OPENCLAW_TEST_CHANGED_BROAD=1 pnpm test:changed` komutunu yalnızca değişiklik, ucuz eşlenmiş kümenin güvenilir bir vekil olmayacağı kadar harness genelindeyse kullanın.
+Yerel değişmiş-test yönlendirmesi `scripts/test-projects.test-support.mjs` içinde bulunur ve kasıtlı olarak `check:changed` komutundan daha ucuzdur: doğrudan test düzenlemeleri kendilerini çalıştırır, kaynak düzenlemeleri açık eşlemeleri, ardından kardeş testleri ve import grafiği bağımlılarını tercih eder. Paylaşılan grup odası teslim yapılandırması açık eşlemelerden biridir: gruba görünür yanıt yapılandırması, kaynak yanıt teslim modu veya message-tool sistem prompt'u değişiklikleri, çekirdek yanıt testleri ile Discord ve Slack teslim regresyonlarından geçer; böylece paylaşılan varsayılan değişikliği ilk PR push'undan önce başarısız olur. `OPENCLAW_TEST_CHANGED_BROAD=1 pnpm test:changed` komutunu yalnızca değişiklik harness genelinde, ucuz eşlenen kümenin güvenilir bir vekil olmadığı kadar geniş olduğunda kullanın.
## Testbox doğrulaması
-Testbox'ı repo kökünden çalıştırın ve geniş kanıt için yeni ısıtılmış bir kutu tercih edin. Yeniden kullanılan, süresi dolan veya beklenenden büyük bir sync bildiren bir kutuda yavaş bir kapıya zaman harcamadan önce, kutunun içinde önce `pnpm testbox:sanity` çalıştırın.
+Testbox'ı repo kökünden çalıştırın ve geniş kanıt için taze ısıtılmış bir box tercih edin. Yeniden kullanılmış, süresi dolmuş veya beklenmedik şekilde büyük bir sync bildirmiş bir box üzerinde yavaş bir kapıya zaman harcamadan önce, önce box içinde `pnpm testbox:sanity` çalıştırın.
-Sağlamlık denetimi, `pnpm-lock.yaml` gibi gerekli kök dosyalar kaybolduğunda veya `git status --short` en az 200 izlenen silme gösterdiğinde hızlı başarısız olur. Bu genellikle uzak sync durumunun PR'ın güvenilir bir kopyası olmadığı anlamına gelir; ürün test hatasını debug etmek yerine o kutuyu durdurun ve yeni bir tane ısıtın. Bilerek yapılan büyük silme PR'ları için, o sağlamlık çalıştırmasında `OPENCLAW_TESTBOX_ALLOW_MASS_DELETIONS=1` ayarlayın.
+Sanity denetimi, `pnpm-lock.yaml` gibi gerekli kök dosyalar kaybolduğunda veya `git status --short` en az 200 izlenen silme gösterdiğinde hızlı başarısız olur. Bu genellikle uzak sync durumunun PR'ın güvenilir bir kopyası olmadığı anlamına gelir; ürün test hatasını debug etmek yerine o box'ı durdurun ve taze bir tane ısıtın. Kasıtlı büyük silme PR'ları için bu sanity çalıştırmasında `OPENCLAW_TESTBOX_ALLOW_MASS_DELETIONS=1` ayarlayın.
-`pnpm testbox:run`, sync aşamasında post-sync çıktısı olmadan beş dakikadan fazla kalan yerel Blacksmith CLI çağrısını da sonlandırır. Bu guard'ı devre dışı bırakmak için `OPENCLAW_TESTBOX_SYNC_TIMEOUT_MS=0` ayarlayın veya alışılmadık derecede büyük yerel diff'ler için daha büyük bir milisaniye değeri kullanın.
+`pnpm testbox:run`, sync sonrası çıktı olmadan beş dakikadan uzun süre sync aşamasında kalan yerel Blacksmith CLI çağrısını da sonlandırır. Bu guard'ı devre dışı bırakmak için `OPENCLAW_TESTBOX_SYNC_TIMEOUT_MS=0` ayarlayın veya alışılmadık derecede büyük yerel diff'ler için daha büyük bir milisaniye değeri kullanın.
+
+Crabbox, Blacksmith kullanılamadığında veya sahip olunan bulut kapasitesi tercih edildiğinde Linux kanıtı için repo sahipli ikinci uzak-box yoludur. Bir box ısıtın, proje iş akışı üzerinden hydrate edin, ardından komutları Crabbox CLI üzerinden çalıştırın:
+
+```bash
+pnpm crabbox:warmup -- --idle-timeout 90m
+pnpm crabbox:hydrate -- --id
+pnpm crabbox:run -- --id --shell "OPENCLAW_TESTBOX=1 pnpm check:changed"
+pnpm crabbox:stop --
+```
+
+`.crabbox.yaml` sağlayıcı, sync ve GitHub Actions hydration varsayılanlarını sahiplenir. Hydrate edilmiş Actions checkout'un bakımcıya yerel uzak Git metadata'sını ve nesne depolarını sync etmek yerine kendi uzak Git metadata'sını koruması için yerel `.git` dizinini hariç tutar; ayrıca asla aktarılmaması gereken yerel çalışma zamanı/derleme artifact'lerini hariç tutar. `.github/workflows/crabbox-hydrate.yml` checkout, Node/pnpm kurulumu, `origin/main` fetch ve daha sonraki `crabbox run --id ` komutlarının kaynak aldığı gizli olmayan ortam devrini sahiplenir.
## İlgili
diff --git a/docs/tr/cli/channels.md b/docs/tr/cli/channels.md
index 8cb9d6fad..5f75532f5 100644
--- a/docs/tr/cli/channels.md
+++ b/docs/tr/cli/channels.md
@@ -1,23 +1,23 @@
---
read_when:
- Kanal hesapları eklemek/kaldırmak istiyorsunuz (WhatsApp/Telegram/Discord/Google Chat/Slack/Mattermost (Plugin)/Signal/iMessage/Matrix)
- - Kanal durumunu kontrol etmek veya kanal günlüklerini canlı izlemek istiyorsunuz
-summary: '`openclaw channels` için CLI başvurusu (hesaplar, durum, oturum açma/oturumu kapatma, günlükler)'
+ - Kanal durumunu kontrol etmek veya kanal günlüklerini takip etmek istiyorsunuz
+summary: '`openclaw channels` için CLI referansı (hesaplar, durum, oturum açma/oturumu kapatma, günlükler)'
title: Kanallar
x-i18n:
- generated_at: "2026-04-30T09:11:27Z"
+ generated_at: "2026-05-01T08:58:36Z"
model: gpt-5.5
provider: openai
- source_hash: 6fc3c5983114c17e0e7284450aa161b658312c05864db65e09d6d764e357cd1f
+ source_hash: 1f673a626b46cd4c8ba7eb28963d27e7e3f630dd86723332faab9b4c86553da9
source_path: cli/channels.md
workflow: 16
---
# `openclaw channels`
-Gateway üzerinde sohbet kanalı hesaplarını ve bunların çalışma zamanı durumunu yönetin.
+Gateway üzerinde sohbet kanalı hesaplarını ve çalışma zamanı durumlarını yönetin.
-İlgili belgeler:
+İlgili dokümanlar:
- Kanal kılavuzları: [Kanallar](/tr/channels)
- Gateway yapılandırması: [Yapılandırma](/tr/gateway/configuration)
@@ -41,10 +41,10 @@ openclaw channels logs --channel all
- `channels logs`: `--channel `, `--lines `, `--json`
`channels status --probe` canlı yoldur: erişilebilir bir gateway üzerinde hesap başına
-`probeAccount` ve isteğe bağlı `auditAccount` denetimleri çalıştırır; bu nedenle çıktı, aktarım
-durumunu ve `works`, `probe failed`, `audit ok` veya `audit failed` gibi prob sonuçlarını içerebilir.
-Gateway erişilemez durumdaysa, `channels status` canlı prob çıktısı yerine yalnızca yapılandırma özetlerine
-geri döner.
+`probeAccount` ve isteğe bağlı `auditAccount` denetimlerini çalıştırır; bu nedenle çıktı, aktarım
+durumunun yanı sıra `works`, `probe failed`, `audit ok` veya `audit failed` gibi probe sonuçlarını
+içerebilir. Gateway erişilemezse, `channels status` canlı probe çıktısı yerine yalnızca yapılandırma
+özetlerine geri döner.
## Hesap ekleme / kaldırma
@@ -55,9 +55,11 @@ openclaw channels remove --channel telegram --delete
```
-`openclaw channels add --help` kanal başına bayrakları gösterir (token, private key, app token, signal-cli paths vb.).
+`openclaw channels add --help`, kanal başına bayrakları (token, private key, app token, signal-cli yolları vb.) gösterir.
+`channels remove` yalnızca kurulu/yapılandırılmış kanal plugin’leri üzerinde çalışır. Kurulabilir katalog kanalları için önce `channels add` kullanın.
+
Yaygın etkileşimsiz ekleme yüzeyleri şunları içerir:
- bot-token kanalları: `--token`, `--bot-token`, `--app-token`, `--token-file`
@@ -66,9 +68,9 @@ Yaygın etkileşimsiz ekleme yüzeyleri şunları içerir:
- Matrix alanları: `--homeserver`, `--user-id`, `--access-token`, `--password`, `--device-name`, `--initial-sync-limit`
- Nostr alanları: `--private-key`, `--relay-urls`
- Tlon alanları: `--ship`, `--url`, `--code`, `--group-channels`, `--dm-allowlist`, `--auto-discover-channels`
-- desteklendiği yerlerde varsayılan hesap için ortam destekli kimlik doğrulamada `--use-env`
+- desteklendiğinde varsayılan hesap için env destekli kimlik doğrulamasında `--use-env`
-Bayraklarla yönlendirilen bir ekleme komutu sırasında bir kanal Plugin’inin kurulması gerekiyorsa, OpenClaw etkileşimli Plugin kurulum istemini açmadan kanalın varsayılan kurulum kaynağını kullanır.
+Bayrakla yönlendirilen bir ekleme komutu sırasında bir kanal plugin’inin kurulması gerekiyorsa, OpenClaw etkileşimli plugin kurulum istemini açmadan kanalın varsayılan kurulum kaynağını kullanır.
`openclaw channels add` komutunu bayraksız çalıştırdığınızda, etkileşimli sihirbaz şunları sorabilir:
@@ -76,19 +78,19 @@ Bayraklarla yönlendirilen bir ekleme komutu sırasında bir kanal Plugin’inin
- bu hesaplar için isteğe bağlı görünen adlar
- `Bind configured channel accounts to agents now?`
-Şimdi bağlamayı onaylarsanız, sihirbaz her yapılandırılmış kanal hesabının hangi aracıya ait olması gerektiğini sorar ve hesap kapsamlı yönlendirme bağlamaları yazar.
+Şimdi bağlamayı onaylarsanız, sihirbaz hangi agent’ın her yapılandırılmış kanal hesabına sahip olması gerektiğini sorar ve hesap kapsamlı yönlendirme bağlamaları yazar.
-Aynı yönlendirme kurallarını daha sonra `openclaw agents bindings`, `openclaw agents bind` ve `openclaw agents unbind` ile de yönetebilirsiniz (bkz. [aracılar](/tr/cli/agents)).
+Aynı yönlendirme kurallarını daha sonra `openclaw agents bindings`, `openclaw agents bind` ve `openclaw agents unbind` ile de yönetebilirsiniz (bkz. [agent’lar](/tr/cli/agents)).
-Hâlâ tek hesaplı üst düzey ayarları kullanan bir kanala varsayılan olmayan bir hesap eklediğinizde, OpenClaw yeni hesabı yazmadan önce hesap kapsamlı üst düzey değerleri kanalın hesap eşlemesine yükseltir. Çoğu kanal bu değerleri `channels..accounts.default` içine yerleştirir, ancak paketlenmiş kanallar bunun yerine mevcut eşleşen yükseltilmiş bir hesabı koruyabilir. Güncel örnek Matrix’tir: bir adlandırılmış hesap zaten varsa veya `defaultAccount` mevcut bir adlandırılmış hesaba işaret ediyorsa, yükseltme yeni bir `accounts.default` oluşturmak yerine o hesabı korur.
+Hâlâ tek hesaplı üst düzey ayarlar kullanan bir kanala varsayılan olmayan bir hesap eklediğinizde, OpenClaw yeni hesabı yazmadan önce hesap kapsamlı üst düzey değerleri kanalın hesap haritasına yükseltir. Çoğu kanal bu değerleri `channels..accounts.default` içine yerleştirir, ancak paketli kanallar bunun yerine mevcut eşleşen yükseltilmiş bir hesabı koruyabilir. Mevcut örnek Matrix’tir: Zaten bir adlandırılmış hesap varsa veya `defaultAccount` mevcut bir adlandırılmış hesaba işaret ediyorsa, yükseltme yeni bir `accounts.default` oluşturmak yerine o hesabı korur.
Yönlendirme davranışı tutarlı kalır:
- Mevcut yalnızca kanal bağlamaları (`accountId` yok) varsayılan hesapla eşleşmeye devam eder.
-- `channels add`, etkileşimsiz modda bağlamaları otomatik olarak oluşturmaz veya yeniden yazmaz.
+- `channels add`, etkileşimsiz modda bağlamaları otomatik oluşturmaz veya yeniden yazmaz.
- Etkileşimli kurulum isteğe bağlı olarak hesap kapsamlı bağlamalar ekleyebilir.
-Yapılandırmanız zaten karışık durumdaysa (adlandırılmış hesaplar mevcut ve üst düzey tek hesap değerleri hâlâ ayarlıysa), hesap kapsamlı değerleri o kanal için seçilen yükseltilmiş hesaba taşımak üzere `openclaw doctor --fix` komutunu çalıştırın. Çoğu kanal `accounts.default` içine yükseltir; Matrix bunun yerine mevcut bir adlandırılmış/varsayılan hedefi koruyabilir.
+Yapılandırmanız zaten karma bir durumdaysa (adlandırılmış hesaplar mevcutken üst düzey tek hesap değerleri hâlâ ayarlıysa), hesap kapsamlı değerleri o kanal için seçilen yükseltilmiş hesaba taşımak üzere `openclaw doctor --fix` çalıştırın. Çoğu kanal `accounts.default` içine yükseltir; Matrix bunun yerine mevcut bir adlandırılmış/varsayılan hedefi koruyabilir.
## Oturum açma ve kapatma (etkileşimli)
@@ -98,19 +100,19 @@ openclaw channels logout --channel whatsapp
```
- `channels login`, `--verbose` destekler.
-- `channels login` ve `logout`, yalnızca bir desteklenen oturum açma hedefi yapılandırıldığında kanalı çıkarımla belirleyebilir.
-- `channels login` komutunu Gateway ana makinesindeki bir terminalden çalıştırın. Aracı `exec`, bu etkileşimli oturum açma akışını engeller; kullanılabilir olduğunda sohbetten `whatsapp_login` gibi kanala özgü aracı oturum açma araçları kullanılmalıdır.
+- `channels login` ve `logout`, yalnızca bir desteklenen oturum açma hedefi yapılandırılmışsa kanalı çıkarımlayabilir.
+- `channels login` komutunu gateway host’undaki bir terminalden çalıştırın. Agent `exec`, bu etkileşimli oturum açma akışını engeller; mevcut olduğunda `whatsapp_login` gibi kanala özgü agent oturum açma araçları sohbetten kullanılmalıdır.
## Sorun giderme
-- Geniş kapsamlı bir prob için `openclaw status --deep` çalıştırın.
-- Rehberli düzeltmeler için `openclaw doctor` kullanın.
-- `openclaw channels list`, `Claude: HTTP 403 ... user:profile` yazdırır → kullanım anlık görüntüsü `user:profile` kapsamını gerektirir. `--no-usage` kullanın veya bir claude.ai oturum anahtarı (`CLAUDE_WEB_SESSION_KEY` / `CLAUDE_WEB_COOKIE`) sağlayın ya da Claude CLI üzerinden yeniden kimlik doğrulaması yapın.
-- Gateway erişilemez olduğunda `openclaw channels status` yalnızca yapılandırma özetlerine geri döner. Desteklenen bir kanal kimlik bilgisi SecretRef üzerinden yapılandırılmış ancak geçerli komut yolunda kullanılamıyorsa, hesap yapılandırılmamış olarak gösterilmek yerine zayıflamış notlarla yapılandırılmış olarak raporlanır.
+- Geniş bir probe için `openclaw status --deep` çalıştırın.
+- Kılavuzlu düzeltmeler için `openclaw doctor` kullanın.
+- `openclaw channels list`, `Claude: HTTP 403 ... user:profile` yazdırıyor → kullanım anlık görüntüsünün `user:profile` kapsamına ihtiyacı vardır. `--no-usage` kullanın, bir claude.ai oturum anahtarı (`CLAUDE_WEB_SESSION_KEY` / `CLAUDE_WEB_COOKIE`) sağlayın veya Claude CLI üzerinden yeniden kimlik doğrulaması yapın.
+- Gateway erişilemez olduğunda `openclaw channels status`, yalnızca yapılandırma özetlerine geri döner. Desteklenen bir kanal kimlik bilgisi SecretRef üzerinden yapılandırılmış ancak geçerli komut yolunda kullanılamıyorsa, hesabı yapılandırılmamış olarak göstermek yerine bozulmuş notlarla yapılandırılmış olarak raporlar.
-## Yetenek probu
+## Yetenekler probe’u
-Sağlayıcı yetenek ipuçlarını (varsa intent/kapsamlar) ve statik özellik desteğini alın:
+Sağlayıcı yetenek ipuçlarını (mevcut olduğunda intents/scopes) ve statik özellik desteğini alın:
```bash
openclaw channels capabilities
@@ -119,10 +121,10 @@ openclaw channels capabilities --channel discord --target channel:123
Notlar:
-- `--channel` isteğe bağlıdır; her kanalı (uzantılar dahil) listelemek için atlayın.
+- `--channel` isteğe bağlıdır; her kanalı (extensions dahil) listelemek için atlayın.
- `--account` yalnızca `--channel` ile geçerlidir.
- `--target`, `channel:` veya ham sayısal kanal kimliği kabul eder ve yalnızca Discord için geçerlidir.
-- Problar sağlayıcıya özeldir: Discord intent’leri + isteğe bağlı kanal izinleri; Slack bot + kullanıcı kapsamları; Telegram bot bayrakları + Webhook; Signal daemon sürümü; Microsoft Teams app token + Graph rolleri/kapsamları (bilinen yerlerde açıklamalı). Probu olmayan kanallar `Probe: unavailable` raporlar.
+- Probe’lar sağlayıcıya özeldir: Discord intents + isteğe bağlı kanal izinleri; Slack bot + kullanıcı kapsamları; Telegram bot bayrakları + Webhook; Signal daemon sürümü; Microsoft Teams app token + Graph rolleri/kapsamları (bilinen yerlerde açıklamalı). Probe’u olmayan kanallar `Probe: unavailable` raporlar.
## Adları kimliklere çözümleme
@@ -137,10 +139,11 @@ openclaw channels resolve --channel matrix "Project Room"
Notlar:
- Hedef türünü zorlamak için `--kind user|group|auto` kullanın.
-- Birden fazla girdi aynı adı paylaştığında çözümleme etkin eşleşmeleri tercih eder.
-- `channels resolve` salt okunurdur. Seçili bir hesap SecretRef üzerinden yapılandırılmış ancak bu kimlik bilgisi geçerli komut yolunda kullanılamıyorsa, komut tüm çalıştırmayı iptal etmek yerine notlarla birlikte zayıflamış çözümlenemeyen sonuçlar döndürür.
+- Birden çok giriş aynı adı paylaşıyorsa çözümleme aktif eşleşmeleri tercih eder.
+- `channels resolve` salt okunurdur. Seçilen bir hesap SecretRef üzerinden yapılandırılmış ancak bu kimlik bilgisi geçerli komut yolunda kullanılamıyorsa, komut tüm çalıştırmayı durdurmak yerine notlarla bozulmuş çözümlenmemiş sonuçlar döndürür.
+- `channels resolve`, kanal plugin’leri kurmaz. Kurulabilir bir katalog kanalı için adları çözümlemeden önce `channels add --channel ` kullanın.
## İlgili
- [CLI başvurusu](/tr/cli)
-- [Kanallara genel bakış](/tr/channels)
+- [Kanallar genel bakışı](/tr/channels)
diff --git a/docs/tr/cli/configure.md b/docs/tr/cli/configure.md
index 7b8bf967a..87886f984 100644
--- a/docs/tr/cli/configure.md
+++ b/docs/tr/cli/configure.md
@@ -1,44 +1,44 @@
---
read_when:
- Kimlik bilgilerini, cihazları veya ajan varsayılanlarını etkileşimli olarak ayarlamak istiyorsunuz
-summary: '`openclaw configure` için CLI başvurusu (etkileşimli yapılandırma istemleri)'
+summary: '`openclaw configure` için CLI referansı (etkileşimli yapılandırma istemleri)'
title: Yapılandır
x-i18n:
- generated_at: "2026-04-30T09:11:26Z"
+ generated_at: "2026-05-01T08:58:26Z"
model: gpt-5.5
provider: openai
- source_hash: 1bde13a139c299879ff13a85c17afdd55dce7ad758418266854428b059d8a05e
+ source_hash: 437a6ec43a48611bf08bdeb0a6e692581c488fac283f0104b172088db37949bb
source_path: cli/configure.md
workflow: 16
---
# `openclaw configure`
-Kimlik bilgilerini, cihazları ve ajan varsayılanlarını ayarlamak için etkileşimli istem.
+Kimlik bilgilerini, cihazları ve agent varsayılanlarını ayarlamak için etkileşimli istem.
-**Model** bölümü, `agents.defaults.models` izin listesi için çoklu seçim içerir (`/model` içinde ve model seçicide görünenler). Sağlayıcı kapsamlı kurulum seçimleri, seçtikleri modelleri yapılandırmada zaten bulunan ilgisiz sağlayıcıları değiştirmek yerine mevcut izin listesiyle birleştirir. Configure içinden sağlayıcı kimlik doğrulamasını yeniden çalıştırmak, mevcut bir `agents.defaults.model.primary` değerini korur. Varsayılan modeli bilerek değiştirmek istediğinizde `openclaw models auth login --provider --set-default` veya `openclaw models set ` kullanın.
+**Model** bölümü, `agents.defaults.models` izin listesi için çoklu seçim içerir (`/model` içinde ve model seçicide görünenler). Sağlayıcı kapsamlı kurulum seçimleri, seçilen modelleri yapılandırmada zaten bulunan ilgisiz sağlayıcıları değiştirmek yerine mevcut izin listesine birleştirir. Configure üzerinden sağlayıcı kimlik doğrulamasını yeniden çalıştırmak, mevcut `agents.defaults.model.primary` değerini korur. Varsayılan modeli bilinçli olarak değiştirmek istediğinizde `openclaw models auth login --provider --set-default` veya `openclaw models set ` kullanın.
-Configure bir sağlayıcı kimlik doğrulama seçiminden başladığında, varsayılan model ve izin listesi seçicileri otomatik olarak o sağlayıcıyı tercih eder. Volcengine ve BytePlus gibi eşleştirilmiş sağlayıcılarda aynı tercih, bunların kodlama planı varyantlarıyla da eşleşir (`volcengine-plan/*`, `byteplus-plan/*`). Tercih edilen sağlayıcı filtresi boş bir liste üretirse configure boş bir seçici göstermek yerine filtrelenmemiş kataloğa geri döner.
+Configure bir sağlayıcı kimlik doğrulaması seçiminden başladığında, varsayılan model ve izin listesi seçicileri otomatik olarak o sağlayıcıyı tercih eder. Volcengine ve BytePlus gibi eşleştirilmiş sağlayıcılarda aynı tercih, onların kodlama planı varyantlarıyla da eşleşir (`volcengine-plan/*`, `byteplus-plan/*`). Tercih edilen sağlayıcı filtresi boş bir liste üretecekse configure, boş bir seçici göstermek yerine filtrelenmemiş kataloğa geri döner.
Alt komut olmadan `openclaw config` aynı sihirbazı açar. Etkileşimsiz düzenlemeler için `openclaw config get|set|unset` kullanın.
Web araması için `openclaw configure --section web`, bir sağlayıcı seçmenize
-ve kimlik bilgilerini yapılandırmanıza olanak tanır. Bazı sağlayıcılar ayrıca sağlayıcıya özel
+ve kimlik bilgilerini yapılandırmanıza olanak tanır. Bazı sağlayıcılar ayrıca sağlayıcıya özgü
takip istemleri de gösterir:
- **Grok**, aynı `XAI_API_KEY` ile isteğe bağlı `x_search` kurulumu sunabilir ve
- bir `x_search` modeli seçmenize olanak tanır.
+ bir `x_search` modeli seçmenize izin verebilir.
- **Kimi**, Moonshot API bölgesini (`api.moonshot.ai` veya
`api.moonshot.cn`) ve varsayılan Kimi web arama modelini sorabilir.
İlgili:
-- Gateway yapılandırma başvurusu: [Yapılandırma](/tr/gateway/configuration)
-- Yapılandırma CLI: [Yapılandırma](/tr/cli/config)
+- Gateway yapılandırma referansı: [Yapılandırma](/tr/gateway/configuration)
+- Config CLI: [Config](/tr/cli/config)
## Seçenekler
@@ -58,10 +58,11 @@ Kullanılabilir bölümler:
Notlar:
-- Gateway'in nerede çalışacağını seçmek her zaman `gateway.mode` değerini günceller. İhtiyacınız olan tek şey buysa diğer bölümler olmadan "Devam" seçeneğini seçebilirsiniz.
-- Kanal odaklı hizmetler (Slack/Discord/Matrix/Microsoft Teams), kurulum sırasında kanal/oda izin listeleri için istem gösterir. Adlar veya ID'ler girebilirsiniz; sihirbaz mümkün olduğunda adları ID'lere çözer.
-- Daemon kurulum adımını çalıştırırsanız, token kimlik doğrulaması bir token gerektiriyorsa ve `gateway.auth.token` SecretRef tarafından yönetiliyorsa configure SecretRef'i doğrular ancak çözümlenmiş düz metin token değerlerini supervisor hizmet ortamı meta verilerine kalıcı olarak yazmaz.
-- Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılmış token SecretRef'i çözümlenemiyorsa configure, uygulanabilir düzeltme rehberliğiyle daemon kurulumunu engeller.
+- Gateway'in nerede çalışacağını seçmek her zaman `gateway.mode` değerini günceller. İhtiyacınız olan tek şey buysa başka bölümler olmadan "Devam"ı seçebilirsiniz.
+- Yerel config yazımlarından sonra configure, yeni gereken paketlenmiş Plugin çalışma zamanı bağımlılıklarını somutlaştırır. Bu dar kapsamlı bir paket yöneticisi onarım adımıdır, tam bir `openclaw doctor` çalıştırması değildir. Uzak gateway config, yerel Plugin bağımlılıklarını kurmaz.
+- Kanal odaklı hizmetler (Slack/Discord/Matrix/Microsoft Teams), kurulum sırasında kanal/oda izin listeleri için istem gösterir. Ad veya ID girebilirsiniz; sihirbaz mümkün olduğunda adları ID'lere çözer.
+- Daemon kurulum adımını çalıştırırsanız, token kimlik doğrulaması bir token gerektiriyorsa ve `gateway.auth.token` SecretRef tarafından yönetiliyorsa configure, SecretRef'i doğrular ancak çözümlenmiş düz metin token değerlerini supervisor hizmet ortamı meta verilerine kalıcı olarak yazmaz.
+- Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılmış token SecretRef çözümlenmemişse configure, uygulanabilir düzeltme rehberliğiyle daemon kurulumunu engeller.
- Hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa ve `gateway.auth.mode` ayarlanmamışsa configure, mod açıkça ayarlanana kadar daemon kurulumunu engeller.
## Örnekler
@@ -75,5 +76,5 @@ openclaw configure --section gateway --section daemon
## İlgili
-- [CLI başvurusu](/tr/cli)
+- [CLI referansı](/tr/cli)
- [Yapılandırma](/tr/gateway/configuration)
diff --git a/docs/tr/cli/gateway.md b/docs/tr/cli/gateway.md
index bd8195283..264933875 100644
--- a/docs/tr/cli/gateway.md
+++ b/docs/tr/cli/gateway.md
@@ -1,37 +1,37 @@
---
read_when:
- - CLI üzerinden Gateway çalıştırma (geliştirme veya sunucular)
- - Gateway kimlik doğrulaması, bağlama modları ve bağlantı sorunlarını ayıklama
- - Bonjour aracılığıyla Gateway'leri keşfetme (yerel + geniş alan DNS-SD)
+ - Gateway'i CLI üzerinden çalıştırma (geliştirme veya sunucular)
+ - Gateway kimlik doğrulamasında, bağlama modlarında ve bağlantıda hata ayıklama
+ - Bonjour ile Gateway'leri keşfetme (yerel + geniş alan DNS-SD)
sidebarTitle: Gateway
-summary: OpenClaw Gateway CLI (`openclaw gateway`) — Gateway'leri çalıştırın, sorgulayın ve keşfedin
+summary: OpenClaw Gateway CLI (`openclaw gateway`) — Gateway'leri çalıştırma, sorgulama ve keşfetme
title: Gateway
x-i18n:
- generated_at: "2026-04-30T09:12:30Z"
+ generated_at: "2026-05-01T08:58:38Z"
model: gpt-5.5
provider: openai
- source_hash: fe53f1ec289bf463766634a9b03bc234e109fdddf35b3fa3958fb8c5255c81a9
+ source_hash: 127a6ccb4baa1ad5e5051db0bc7ef0ed30d410c4c3d13f36356483a6e03dce4c
source_path: cli/gateway.md
workflow: 16
---
-Gateway, OpenClaw'ın WebSocket sunucusudur (kanallar, Node'lar, oturumlar, kancalar). Bu sayfadaki alt komutlar `openclaw gateway …` altında bulunur.
+Gateway, OpenClaw'ın WebSocket sunucusudur (kanallar, düğümler, oturumlar, hook'lar). Bu sayfadaki alt komutlar `openclaw gateway …` altında yer alır.
-
+
Yerel mDNS + geniş alan DNS-SD kurulumu.
-
- OpenClaw'ın Gateway'leri nasıl duyurduğu ve bulduğu.
+
+ OpenClaw'ın gateway'leri nasıl duyurduğu ve bulduğu.
-
- Üst düzey Gateway yapılandırma anahtarları.
+
+ Üst düzey gateway yapılandırma anahtarları.
-## Gateway'i Çalıştırma
+## Gateway'i çalıştırma
-Yerel bir Gateway süreci çalıştırın:
+Yerel bir Gateway işlemi çalıştırın:
```bash
openclaw gateway
@@ -44,13 +44,13 @@ openclaw gateway run
```
-
+
- Varsayılan olarak Gateway, `~/.openclaw/openclaw.json` içinde `gateway.mode=local` ayarlanmadıkça başlamayı reddeder. Geçici/geliştirme çalıştırmaları için `--allow-unconfigured` kullanın.
- - `openclaw onboard --mode local` ve `openclaw setup` komutlarının `gateway.mode=local` yazması beklenir. Dosya varsa ancak `gateway.mode` eksikse, bunu örtük olarak yerel mod varsaymak yerine bozuk veya üzerine yazılmış bir yapılandırma olarak ele alın ve onarın.
- - Dosya varsa ve `gateway.mode` eksikse, Gateway bunu şüpheli yapılandırma hasarı olarak görür ve sizin için "yereli tahmin etmeyi" reddeder.
- - Kimlik doğrulaması olmadan loopback ötesine bağlama engellenir (güvenlik koruma sınırı).
- - Yetkilendirildiğinde `SIGUSR1`, süreç içinde yeniden başlatmayı tetikler (`commands.restart` varsayılan olarak etkindir; manuel yeniden başlatmayı engellemek için `commands.restart: false` ayarlayın, Gateway aracı/yapılandırma apply/update işlemleri izinli kalır).
- - `SIGINT`/`SIGTERM` işleyicileri Gateway sürecini durdurur, ancak özel terminal durumlarını geri yüklemez. CLI'yi bir TUI veya raw-mode girişiyle sarmalıyorsanız, çıkmadan önce terminali geri yükleyin.
+ - `openclaw onboard --mode local` ve `openclaw setup` komutlarının `gateway.mode=local` yazması beklenir. Dosya varsa ancak `gateway.mode` eksikse, bunu local modun örtük olarak varsayılması yerine bozuk veya üzerine yazılmış bir yapılandırma olarak ele alın ve onarın.
+ - Dosya varsa ve `gateway.mode` eksikse Gateway bunu şüpheli yapılandırma hasarı olarak değerlendirir ve sizin için "local tahmini" yapmayı reddeder.
+ - Kimlik doğrulama olmadan loopback dışına bağlanma engellenir (güvenlik korkuluğu).
+ - Yetkilendirildiğinde `SIGUSR1` işlem içinde yeniden başlatmayı tetikler (`commands.restart` varsayılan olarak etkindir; manuel yeniden başlatmayı engellemek için `commands.restart: false` ayarlayın, gateway aracı/yapılandırma uygula/güncelleme izinli kalır).
+ - `SIGINT`/`SIGTERM` işleyicileri gateway işlemini durdurur, ancak özel terminal durumlarını geri yüklemez. CLI'ı bir TUI veya raw-mode girişle sararsanız, çıkmadan önce terminali geri yükleyin.
@@ -58,7 +58,7 @@ openclaw gateway run
### Seçenekler
- WebSocket portu (varsayılan yapılandırmadan/env'den gelir; genellikle `18789`).
+ WebSocket portu (varsayılan config/env'den gelir; genellikle `18789`).
Dinleyici bağlama modu.
@@ -67,84 +67,84 @@ openclaw gateway run
Kimlik doğrulama modu geçersiz kılması.
- Token geçersiz kılması (süreç için `OPENCLAW_GATEWAY_TOKEN` da ayarlar).
+ Token geçersiz kılması (işlem için `OPENCLAW_GATEWAY_TOKEN` değerini de ayarlar).
Parola geçersiz kılması.
- Gateway parolasını bir dosyadan okuyun.
+ Gateway parolasını bir dosyadan oku.
- Gateway'i Tailscale üzerinden açığa çıkarın.
+ Gateway'i Tailscale üzerinden açığa çıkar.
- Kapanışta Tailscale serve/funnel yapılandırmasını sıfırlayın.
+ Kapanışta Tailscale serve/funnel yapılandırmasını sıfırla.
- Yapılandırmada `gateway.mode=local` olmadan Gateway başlatmaya izin verin. Yalnızca geçici/geliştirme önyüklemesi için başlatma korumasını atlar; yapılandırma dosyasını yazmaz veya onarmaz.
+ Yapılandırmada `gateway.mode=local` olmadan gateway başlatmaya izin ver. Başlangıç korumasını yalnızca geçici/geliştirme bootstrap için atlar; yapılandırma dosyasını yazmaz veya onarmaz.
- Eksikse bir geliştirme yapılandırması + çalışma alanı oluşturun (`BOOTSTRAP.md` atlanır).
+ Eksikse geliştirme yapılandırması + çalışma alanı oluşturur (`BOOTSTRAP.md` atlanır).
- Geliştirme yapılandırmasını + kimlik bilgilerini + oturumları + çalışma alanını sıfırlayın (`--dev` gerektirir).
+ Geliştirme yapılandırmasını + kimlik bilgilerini + oturumları + çalışma alanını sıfırlar (`--dev` gerektirir).
- Başlatmadan önce seçili porttaki mevcut dinleyiciyi sonlandırın.
+ Başlamadan önce seçilen porttaki mevcut dinleyicileri sonlandır.
Ayrıntılı günlükler.
- Konsolda yalnızca CLI arka uç günlüklerini gösterin (ve stdout/stderr'yi etkinleştirin).
+ Konsolda yalnızca CLI arka uç günlüklerini göster (ve stdout/stderr'ı etkinleştir).
- Websocket günlük stili.
+ WebSocket günlük stili.
`--ws-log compact` için takma ad.
- Ham model akış olaylarını jsonl'ye günlüğe kaydedin.
+ Ham model stream olaylarını jsonl'ye günlüğe yaz.
- Ham akış jsonl yolu.
+ Ham stream jsonl yolu.
-Satır içi `--password`, yerel süreç listelerinde açığa çıkabilir. `--password-file`, env veya SecretRef destekli `gateway.auth.password` tercih edin.
+Satır içi `--password` yerel işlem listelerinde açığa çıkabilir. `--password-file`, env veya SecretRef destekli `gateway.auth.password` tercih edin.
-### Başlatma profillemesi
+### Başlangıç profilleme
-- Gateway başlatması sırasında faz zamanlamalarını günlüğe kaydetmek için `OPENCLAW_GATEWAY_STARTUP_TRACE=1` ayarlayın; buna faz başına `eventLoopMax` gecikmesi ve installed-index, manifest kayıt defteri, başlatma planlaması ve owner-map çalışması için Plugin arama tablosu zamanlamaları dahildir.
-- Harici QA koşumları için en iyi çabayla JSONL başlatma tanılama zaman çizelgesi yazmak üzere `OPENCLAW_DIAGNOSTICS=timeline` ile `OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=` ayarlayın. Bayrağı yapılandırmada `diagnostics.flags: ["timeline"]` ile de etkinleştirebilirsiniz; yol yine env tarafından sağlanır. Olay döngüsü örneklerini dahil etmek için `OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1` ekleyin.
-- Gateway başlatmasını kıyaslamak için `pnpm test:startup:gateway -- --runs 5 --warmup 1` çalıştırın. Kıyaslama ilk süreç çıktısını, `/healthz`, `/readyz`, başlatma izleme zamanlamalarını, olay döngüsü gecikmesini ve Plugin arama tablosu zamanlama ayrıntılarını kaydeder.
+- Gateway başlangıcı sırasında aşama zamanlamalarını, aşama başına `eventLoopMax` gecikmesini ve kurulu dizin, manifest registry, başlangıç planlaması ve owner-map işleri için plugin arama tablosu zamanlamalarını günlüğe yazmak için `OPENCLAW_GATEWAY_STARTUP_TRACE=1` ayarlayın.
+- Harici QA harness'ları için en iyi çaba JSONL başlangıç tanılama zaman çizelgesi yazmak üzere `OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=` ile `OPENCLAW_DIAGNOSTICS=timeline` ayarlayın. Bayrağı yapılandırmada `diagnostics.flags: ["timeline"]` ile de etkinleştirebilirsiniz; yol yine env üzerinden sağlanır. Olay döngüsü örneklerini eklemek için `OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1` ekleyin.
+- Gateway başlangıcını benchmark etmek için `pnpm test:startup:gateway -- --runs 5 --warmup 1` çalıştırın. Benchmark ilk işlem çıktısını, `/healthz`, `/readyz`, başlangıç izleme zamanlamalarını, olay döngüsü gecikmesini ve plugin arama tablosu zamanlama ayrıntılarını kaydeder.
-## Çalışan bir Gateway'i Sorgulama
+## Çalışan bir Gateway'i sorgulama
Tüm sorgu komutları WebSocket RPC kullanır.
-
+
- Varsayılan: insan tarafından okunabilir (TTY'de renkli).
- `--json`: makine tarafından okunabilir JSON (stil/spinner yok).
- `--no-color` (veya `NO_COLOR=1`): insan düzenini korurken ANSI'yi devre dışı bırakır.
-
+
- `--url `: Gateway WebSocket URL'si.
- `--token `: Gateway token'ı.
- `--password `: Gateway parolası.
- `--timeout `: zaman aşımı/bütçe (komuta göre değişir).
- - `--expect-final`: bir "final" yanıtını bekler (aracı çağrıları).
+ - `--expect-final`: "final" yanıtını bekle (ajan çağrıları).
-`--url` ayarladığınızda CLI, yapılandırma veya ortam kimlik bilgilerine geri dönmez. `--token` veya `--password` değerini açıkça geçirin. Açık kimlik bilgilerinin eksik olması hatadır.
+`--url` ayarladığınızda CLI yapılandırmaya veya ortam kimlik bilgilerine geri dönmez. `--token` veya `--password` değerini açıkça iletin. Açık kimlik bilgilerinin eksik olması bir hatadır.
### `gateway health`
@@ -153,11 +153,11 @@ Tüm sorgu komutları WebSocket RPC kullanır.
openclaw gateway health --url ws://127.0.0.1:18789
```
-HTTP `/healthz` uç noktası bir canlılık probudur: sunucu HTTP'ye yanıt verebildiğinde döner. HTTP `/readyz` uç noktası daha katıdır ve başlatma yardımcı süreçleri, kanallar veya yapılandırılmış kancalar hâlâ yerleşirken kırmızı kalır. Yerel veya kimliği doğrulanmış ayrıntılı hazır olma yanıtları; olay döngüsü gecikmesi, olay döngüsü kullanımı, CPU çekirdek oranı ve bir `degraded` bayrağı içeren bir `eventLoop` tanılama bloğu içerir.
+HTTP `/healthz` uç noktası bir canlılık denetimidir: sunucu HTTP'ye yanıt verebildiğinde döner. HTTP `/readyz` uç noktası daha katıdır ve başlangıç plugin runtime bağımlılıkları, sidecar'lar, kanallar veya yapılandırılmış hook'lar hâlâ yerleşirken kırmızı kalır. Yerel veya kimliği doğrulanmış ayrıntılı readiness yanıtları, olay döngüsü gecikmesi, olay döngüsü kullanımı, CPU çekirdek oranı ve `degraded` bayrağı içeren bir `eventLoop` tanılama bloğu içerir.
### `gateway usage-cost`
-Oturum günlüklerinden kullanım maliyeti özetlerini alın.
+Oturum günlüklerinden kullanım maliyeti özetlerini getir.
```bash
openclaw gateway usage-cost
@@ -171,7 +171,7 @@ openclaw gateway usage-cost --json
### `gateway stability`
-Çalışan bir Gateway'den son tanılama kararlılık kaydedicisini alın.
+Çalışan bir Gateway'den son tanılama kararlılığı kaydedicisini getir.
```bash
openclaw gateway stability
@@ -182,35 +182,35 @@ openclaw gateway stability --json
```
- Dahil edilecek en fazla son olay sayısı (maks. `1000`).
+ Dahil edilecek en fazla son olay sayısı (maksimum `1000`).
- `payload.large` veya `diagnostic.memory.pressure` gibi tanılama olay türüne göre filtreleyin.
+ `payload.large` veya `diagnostic.memory.pressure` gibi tanılama olay türüne göre filtrele.
- Yalnızca bir tanılama sıra numarasından sonraki olayları dahil edin.
+ Yalnızca bir tanılama sıra numarasından sonraki olayları dahil et.
- Çalışan Gateway'i çağırmak yerine kalıcı bir kararlılık paketini okuyun. Durum dizini altındaki en yeni paket için `--bundle latest` (veya yalnızca `--bundle`) kullanın ya da doğrudan bir paket JSON yolu geçirin.
+ Çalışan Gateway'i çağırmak yerine kalıcı bir kararlılık bundle'ı oku. Durum dizini altındaki en yeni bundle için `--bundle latest` (veya yalnızca `--bundle`) kullanın ya da doğrudan bir bundle JSON yolu iletin.
- Kararlılık ayrıntılarını yazdırmak yerine paylaşılabilir bir destek tanılama zip'i yazın.
+ Kararlılık ayrıntılarını yazdırmak yerine paylaşılabilir bir destek tanılama zip'i yaz.
`--export` için çıktı yolu.
-
- - Kayıtlar operasyonel meta verileri tutar: olay adları, sayılar, bayt boyutları, bellek okumaları, kuyruk/oturum durumu, kanal/Plugin adları ve redakte edilmiş oturum özetleri. Sohbet metnini, Webhook gövdelerini, araç çıktılarını, ham istek veya yanıt gövdelerini, token'ları, çerezleri, gizli değerleri, ana makine adlarını veya ham oturum kimliklerini tutmazlar. Kaydediciyi tamamen devre dışı bırakmak için `diagnostics.enabled: false` ayarlayın.
- - Ölümcül Gateway çıkışlarında, kapanma zaman aşımlarında ve yeniden başlatma başlatma hatalarında, kaydedicide olaylar varsa OpenClaw aynı tanılama anlık görüntüsünü `~/.openclaw/logs/stability/openclaw-stability-*.json` konumuna yazar. En yeni paketi `openclaw gateway stability --bundle latest` ile inceleyin; `--limit`, `--type` ve `--since-seq` de paket çıktısına uygulanır.
+
+ - Kayıtlar operasyonel meta verileri tutar: olay adları, sayımlar, bayt boyutları, bellek okumaları, kuyruk/oturum durumu, kanal/plugin adları ve redakte edilmiş oturum özetleri. Sohbet metni, webhook gövdeleri, araç çıktıları, ham istek veya yanıt gövdeleri, token'lar, çerezler, gizli değerler, host adları veya ham oturum kimlikleri tutulmaz. Kaydediciyi tamamen devre dışı bırakmak için `diagnostics.enabled: false` ayarlayın.
+ - Ölümcül Gateway çıkışlarında, kapanış zaman aşımlarında ve yeniden başlatma başlangıç hatalarında OpenClaw, kaydedicide olaylar varsa aynı tanılama anlık görüntüsünü `~/.openclaw/logs/stability/openclaw-stability-*.json` konumuna yazar. En yeni bundle'ı `openclaw gateway stability --bundle latest` ile inceleyin; `--limit`, `--type` ve `--since-seq` bundle çıktısına da uygulanır.
### `gateway diagnostics export`
-Hata raporlarına eklenmek üzere tasarlanmış yerel bir tanılama zip'i yazın. Gizlilik modeli ve paket içerikleri için bkz. [Tanılama Dışa Aktarma](/tr/gateway/diagnostics).
+Hata raporlarına eklenmek üzere tasarlanmış yerel bir tanılama zip'i yaz. Gizlilik modeli ve bundle içerikleri için [Diagnostics Export](/tr/gateway/diagnostics) bölümüne bakın.
```bash
openclaw gateway diagnostics export
@@ -219,10 +219,10 @@ openclaw gateway diagnostics export --json
```
- Çıktı zip yolu. Varsayılan olarak durum dizini altında bir destek dışa aktarmasıdır.
+ Çıktı zip yolu. Varsayılan olarak durum dizini altında bir destek dışa aktarımıdır.
- Dahil edilecek en fazla temizlenmiş günlük satırı.
+ Dahil edilecek en fazla sanitize edilmiş günlük satırı.
İncelenecek en fazla günlük baytı.
@@ -240,19 +240,19 @@ openclaw gateway diagnostics export --json
Durum/sağlık anlık görüntüsü zaman aşımı.
- Kalıcı kararlılık paketi aramasını atlayın.
+ Kalıcı kararlılık bundle'ı aramasını atla.
- Yazılan yolu, boyutu ve manifesti JSON olarak yazdırın.
+ Yazılan yolu, boyutu ve manifest'i JSON olarak yazdır.
-Dışa aktarma; bir manifest, Markdown özeti, yapılandırma şekli, temizlenmiş yapılandırma ayrıntıları, temizlenmiş günlük özetleri, temizlenmiş Gateway durum/sağlık anlık görüntüleri ve varsa en yeni kararlılık paketini içerir.
+Dışa aktarım bir manifest, Markdown özeti, yapılandırma şekli, sanitize edilmiş yapılandırma ayrıntıları, sanitize edilmiş günlük özetleri, sanitize edilmiş Gateway durum/sağlık anlık görüntüleri ve varsa en yeni kararlılık bundle'ını içerir.
-Paylaşılmak üzere tasarlanmıştır. Hata ayıklamaya yardımcı olan operasyonel ayrıntıları tutar; güvenli OpenClaw günlük alanları, alt sistem adları, durum kodları, süreler, yapılandırılmış modlar, portlar, Plugin kimlikleri, sağlayıcı kimlikleri, gizli olmayan özellik ayarları ve redakte edilmiş operasyonel günlük mesajları buna dahildir. Sohbet metnini, Webhook gövdelerini, araç çıktılarını, kimlik bilgilerini, çerezleri, hesap/mesaj tanımlayıcılarını, istem/talimat metnini, ana makine adlarını ve gizli değerleri atlar veya redakte eder. LogTape tarzı bir mesaj kullanıcı/sohbet/araç yük metni gibi göründüğünde, dışa aktarma yalnızca bir mesajın atlandığı bilgisini ve bayt sayısını tutar.
+Paylaşılmak üzere tasarlanmıştır. Güvenli OpenClaw günlük alanları, alt sistem adları, durum kodları, süreler, yapılandırılmış modlar, portlar, plugin kimlikleri, sağlayıcı kimlikleri, gizli olmayan özellik ayarları ve redakte edilmiş operasyonel günlük mesajları gibi hata ayıklamaya yardımcı operasyonel ayrıntıları tutar. Sohbet metni, webhook gövdeleri, araç çıktıları, kimlik bilgileri, çerezler, hesap/mesaj tanımlayıcıları, prompt/talimat metni, host adları ve gizli değerleri çıkarır veya redakte eder. LogTape tarzı bir mesaj kullanıcı/sohbet/araç payload metnine benzediğinde, dışa aktarım yalnızca mesajın çıkarıldığını ve bayt sayısını tutar.
### `gateway status`
-`gateway status`, Gateway hizmetini (launchd/systemd/schtasks) ve isteğe bağlı bir bağlantı/kimlik doğrulama yeteneği probunu gösterir.
+`gateway status`, Gateway hizmetini (launchd/systemd/schtasks) ve isteğe bağlı bir bağlantı/kimlik doğrulama yeteneği denetimini gösterir.
```bash
openclaw gateway status
@@ -261,63 +261,63 @@ openclaw gateway status --require-rpc
```
- Açık bir prob hedefi ekleyin. Yapılandırılmış uzak + localhost yine de problanır.
+ Açık bir denetim hedefi ekle. Yapılandırılmış uzak + localhost yine de denetlenir.
- Prob için token kimlik doğrulaması.
+ Denetim için token kimlik doğrulaması.
- Prob için parola kimlik doğrulaması.
+ Denetim için parola kimlik doğrulaması.
- Prob zaman aşımı.
+ Denetim zaman aşımı.
- Bağlantı probunu atlayın (yalnızca hizmet görünümü).
+ Bağlantı denetimini atla (yalnızca hizmet görünümü).
- Sistem düzeyi hizmetleri de tarayın.
+ Sistem düzeyi hizmetleri de tara.
- Varsayılan bağlantı probunu bir okuma probuna yükseltin ve bu okuma probu başarısız olduğunda sıfır olmayan kodla çıkın. `--no-probe` ile birlikte kullanılamaz.
+ Varsayılan bağlantı denetimini bir okuma denetimine yükselt ve bu okuma denetimi başarısız olduğunda sıfır olmayan kodla çık. `--no-probe` ile birleştirilemez.
-
+
- `gateway status`, yerel CLI yapılandırması eksik veya geçersiz olsa bile tanılama için kullanılabilir kalır.
- - Varsayılan `gateway status`, hizmet durumunu, WebSocket bağlantısını ve el sıkışma zamanında görünen kimlik doğrulama yeteneğini kanıtlar. Okuma/yazma/yönetici işlemlerini kanıtlamaz.
- - Tanılama yoklamaları, ilk kez cihaz kimlik doğrulaması için değişiklik yapmaz: varsa mevcut önbelleğe alınmış cihaz belirtecini yeniden kullanırlar, ancak yalnızca durumu denetlemek için yeni bir CLI cihaz kimliği veya salt okunur cihaz eşleştirme kaydı oluşturmazlar.
- - `gateway status`, mümkün olduğunda yoklama kimlik doğrulaması için yapılandırılmış kimlik doğrulama SecretRef'lerini çözer.
- - Bu komut yolunda gerekli bir kimlik doğrulama SecretRef'i çözülemezse, yoklama bağlantısı/kimlik doğrulaması başarısız olduğunda `gateway status --json`, `rpc.authWarning` bildirir; `--token`/`--password` değerlerini açıkça geçin veya önce gizli kaynak kaynağını çözün.
- - Yoklama başarılı olursa, yanlış pozitifleri önlemek için çözülemeyen kimlik doğrulama başvurusu uyarıları bastırılır.
+ - Varsayılan `gateway status`; hizmet durumunu, WebSocket bağlantısını ve el sıkışma anında görünen kimlik doğrulama yeteneğini kanıtlar. Okuma/yazma/yönetici işlemlerini kanıtlamaz.
+ - Tanılama yoklamaları, ilk kez cihaz kimlik doğrulaması için değişiklik yapmaz: mevcut bir önbelleğe alınmış cihaz token'ı varsa bunu yeniden kullanırlar, ancak yalnızca durumu denetlemek için yeni bir CLI cihaz kimliği veya salt okunur cihaz eşleştirme kaydı oluşturmazlar.
+ - `gateway status`, mümkün olduğunda yoklama kimlik doğrulaması için yapılandırılmış kimlik doğrulama SecretRef'lerini çözümler.
+ - Bu komut yolunda gerekli bir kimlik doğrulama SecretRef'i çözümlenmemişse, yoklama bağlantısı/kimlik doğrulaması başarısız olduğunda `gateway status --json` `rpc.authWarning` bildirir; `--token`/`--password` değerini açıkça iletin veya önce gizli kaynak değerini çözümleyin.
+ - Yoklama başarılı olursa, yanlış pozitifleri önlemek için çözümlenmemiş auth-ref uyarıları bastırılır.
- Dinleyen bir hizmet yeterli olmadığında ve okuma kapsamlı RPC çağrılarının da sağlıklı olması gerektiğinde betiklerde ve otomasyonda `--require-rpc` kullanın.
- - `--deep`, ek launchd/systemd/schtasks kurulumları için en iyi çabayla bir tarama ekler. Birden fazla Gateway benzeri hizmet algılandığında, insan çıktısı temizlik ipuçları yazdırır ve çoğu kurulumun makine başına bir Gateway çalıştırması gerektiği konusunda uyarır.
- - İnsan çıktısı, profil veya state-dir kaymasını tanılamaya yardımcı olmak için çözümlenen dosya günlük yolunu ve CLI ile hizmet yapılandırma yolları/geçerlilik anlık görüntüsünü içerir.
+ - `--deep`, ek launchd/systemd/schtasks kurulumları için en iyi çabayla bir tarama ekler. Birden çok Gateway benzeri hizmet algılandığında, insan çıktısı temizlik ipuçları yazdırır ve çoğu kurulumun makine başına bir Gateway çalıştırması gerektiği konusunda uyarır.
+ - İnsan çıktısı, profil veya state-dir sapmasını tanılamaya yardımcı olmak için çözümlenmiş dosya günlük yolunu ve CLI ile hizmet yapılandırma yolları/geçerlilik anlık görüntüsünü içerir.
-
- - Linux systemd kurulumlarında, hizmet kimlik doğrulama kayması denetimleri unit içindeki hem `Environment=` hem de `EnvironmentFile=` değerlerini okur (`%h`, tırnaklı yollar, birden fazla dosya ve isteğe bağlı `-` dosyaları dahil).
- - Kayma denetimleri, birleştirilmiş çalışma zamanı env kullanarak `gateway.auth.token` SecretRef'lerini çözer (önce hizmet komutu env, ardından process env yedeği).
- - Belirteç kimlik doğrulaması etkin şekilde aktif değilse (açık `gateway.auth.mode` değeri `password`/`none`/`trusted-proxy` ise veya parola kazanabilirken mod ayarlanmamışsa ve hiçbir belirteç adayı kazanamıyorsa), belirteç kayması denetimleri yapılandırma belirteci çözümünü atlar.
+
+ - Linux systemd kurulumlarında, hizmet kimlik doğrulama sapması denetimleri birimden hem `Environment=` hem de `EnvironmentFile=` değerlerini okur (`%h`, tırnak içine alınmış yollar, birden çok dosya ve isteğe bağlı `-` dosyaları dahil).
+ - Sapma denetimleri, birleştirilmiş çalışma zamanı env değerini kullanarak `gateway.auth.token` SecretRef'lerini çözümler (önce hizmet komutu env, ardından süreç env yedeği).
+ - Token kimlik doğrulaması etkin biçimde aktif değilse (açık `gateway.auth.mode` değeri `password`/`none`/`trusted-proxy` ise veya parola kazanabilirken mod ayarlanmamışsa ve hiçbir token adayı kazanamıyorsa), token sapması denetimleri yapılandırma token çözümlemesini atlar.
### `gateway probe`
-`gateway probe`, "her şeyin hata ayıklamasını yap" komutudur. Her zaman şunları yoklar:
+`gateway probe`, "her şeyi hata ayıkla" komutudur. Her zaman şunları yoklar:
-- yapılandırılmış uzak Gateway'iniz (ayarlanmışsa) ve
+- yapılandırılmış uzak gateway'iniz (ayarlanmışsa) ve
- localhost (loopback), **uzak yapılandırılmış olsa bile**.
-`--url` geçirirseniz, bu açık hedef ikisinin de önüne eklenir. İnsan çıktısı hedefleri şöyle etiketler:
+`--url` iletirseniz, bu açık hedef her ikisinin önüne eklenir. İnsan çıktısı hedefleri şöyle etiketler:
-- `URL (açık)`
-- `Uzak (yapılandırılmış)` veya `Uzak (yapılandırılmış, etkin değil)`
+- `URL (explicit)`
+- `Remote (configured)` veya `Remote (configured, inactive)`
- `Local loopback`
-Birden fazla Gateway erişilebilir durumdaysa, hepsini yazdırır. Yalıtılmış profiller/portlar kullandığınızda birden fazla Gateway desteklenir (ör. kurtarma botu), ancak çoğu kurulum yine de tek bir Gateway çalıştırır.
+Birden çok gateway erişilebilirse, hepsini yazdırır. Yalıtılmış profiller/portlar kullandığınızda (ör. bir kurtarma botu) birden çok gateway desteklenir, ancak çoğu kurulum yine de tek bir gateway çalıştırır.
```bash
@@ -328,50 +328,50 @@ openclaw gateway probe --json
- `Reachable: yes`, en az bir hedefin WebSocket bağlantısını kabul ettiği anlamına gelir.
- - `Capability: read-only|write-capable|admin-capable|pairing-pending|connect-only`, yoklamanın kimlik doğrulama hakkında neyi kanıtlayabildiğini bildirir. Erişilebilirlikten ayrıdır.
+ - `Capability: read-only|write-capable|admin-capable|pairing-pending|connect-only`, yoklamanın kimlik doğrulama hakkında kanıtlayabildiği şeyi bildirir. Erişilebilirlikten ayrıdır.
- `Read probe: ok`, okuma kapsamlı ayrıntı RPC çağrılarının (`health`/`status`/`system-presence`/`config.get`) da başarılı olduğu anlamına gelir.
- - `Read probe: limited - missing scope: operator.read`, bağlantının başarılı olduğu ancak okuma kapsamlı RPC'nin sınırlı olduğu anlamına gelir. Bu, tam başarısızlık olarak değil, **bozulmuş** erişilebilirlik olarak bildirilir.
- - `Connect: ok` sonrasında `Read probe: failed`, Gateway'in WebSocket bağlantısını kabul ettiği, ancak sonraki okuma tanılamalarının zaman aşımına uğradığı veya başarısız olduğu anlamına gelir. Bu da erişilemez Gateway olarak değil, **bozulmuş** erişilebilirlik olarak değerlendirilir.
- - `gateway status` gibi, probe mevcut önbelleğe alınmış cihaz kimlik doğrulamasını yeniden kullanır ancak ilk kez cihaz kimliği veya eşleştirme durumu oluşturmaz.
- - Çıkış kodu yalnızca hiçbir yoklanan hedef erişilebilir değilse sıfır dışıdır.
+ - `Read probe: limited - missing scope: operator.read`, bağlantının başarılı olduğunu ancak okuma kapsamlı RPC'nin sınırlı olduğunu belirtir. Bu, tam başarısızlık olarak değil, **bozulmuş** erişilebilirlik olarak bildirilir.
+ - `Connect: ok` sonrasında `Read probe: failed`, Gateway'in WebSocket bağlantısını kabul ettiği, ancak takip eden okuma tanılamalarının zaman aşımına uğradığı veya başarısız olduğu anlamına gelir. Bu da erişilemeyen Gateway değil, **bozulmuş** erişilebilirliktir.
+ - `gateway status` gibi probe da mevcut önbelleğe alınmış cihaz kimlik doğrulamasını yeniden kullanır, ancak ilk kez cihaz kimliği veya eşleştirme durumu oluşturmaz.
+ - Çıkış kodu yalnızca yoklanan hiçbir hedef erişilebilir olmadığında sıfırdan farklıdır.
Üst düzey:
- `ok`: en az bir hedef erişilebilir.
- - `degraded`: en az bir hedef bağlantıyı kabul etti ancak tam ayrıntı RPC tanılamalarını tamamlamadı.
- - `capability`: erişilebilir hedefler genelinde görülen en iyi yetenek (`read_only`, `write_capable`, `admin_capable`, `pairing_pending`, `connected_no_operator_scope` veya `unknown`).
- - `primaryTargetId`: şu sırayla etkin kazanan olarak ele alınacak en iyi hedef: açık URL, SSH tüneli, yapılandırılmış uzak, ardından local loopback.
+ - `degraded`: en az bir hedef bağlantı kabul etti ancak tam ayrıntı RPC tanılamalarını tamamlamadı.
+ - `capability`: erişilebilir hedefler arasında görülen en iyi yetenek (`read_only`, `write_capable`, `admin_capable`, `pairing_pending`, `connected_no_operator_scope` veya `unknown`).
+ - `primaryTargetId`: bu sırayla etkin kazanan olarak ele alınacak en iyi hedef: açık URL, SSH tüneli, yapılandırılmış uzak, ardından local loopback.
- `warnings[]`: `code`, `message` ve isteğe bağlı `targetIds` içeren en iyi çaba uyarı kayıtları.
- - `network`: geçerli yapılandırma ve ana makine ağına göre türetilmiş local loopback/tailnet URL ipuçları.
+ - `network`: mevcut yapılandırmadan ve ana makine ağ yapılandırmasından türetilen local loopback/tailnet URL ipuçları.
- `discovery.timeoutMs` ve `discovery.count`: bu yoklama geçişi için kullanılan gerçek keşif bütçesi/sonuç sayısı.
Hedef başına (`targets[].connect`):
- `ok`: bağlantı + bozulmuş sınıflandırma sonrası erişilebilirlik.
- `rpcOk`: tam ayrıntı RPC başarısı.
- - `scopeLimited`: ayrıntı RPC, eksik operatör kapsamı nedeniyle başarısız oldu.
+ - `scopeLimited`: eksik operator kapsamı nedeniyle ayrıntı RPC başarısız oldu.
Hedef başına (`targets[].auth`):
- `role`: varsa `hello-ok` içinde bildirilen kimlik doğrulama rolü.
- - `scopes`: varsa `hello-ok` içinde bildirilen verilen kapsamlar.
- - `capability`: o hedef için yüzeye çıkarılan kimlik doğrulama yeteneği sınıflandırması.
+ - `scopes`: varsa `hello-ok` içinde bildirilen verilmiş kapsamlar.
+ - `capability`: ilgili hedef için yüzeye çıkarılan kimlik doğrulama yeteneği sınıflandırması.
- `ssh_tunnel_failed`: SSH tüneli kurulumu başarısız oldu; komut doğrudan yoklamalara geri döndü.
- - `multiple_gateways`: birden fazla hedef erişilebilir durumdaydı; kurtarma botu gibi yalıtılmış profilleri bilerek çalıştırmadığınız sürece bu alışılmadık bir durumdur.
- - `auth_secretref_unresolved`: yapılandırılmış bir kimlik doğrulama SecretRef'i, başarısız bir hedef için çözülemedi.
+ - `multiple_gateways`: birden fazla hedef erişilebilirdi; kurtarma botu gibi yalıtılmış profilleri bilerek çalıştırmadığınız sürece bu olağan dışıdır.
+ - `auth_secretref_unresolved`: yapılandırılmış bir kimlik doğrulama SecretRef'i başarısız bir hedef için çözümlenemedi.
- `probe_scope_limited`: WebSocket bağlantısı başarılı oldu, ancak okuma yoklaması eksik `operator.read` nedeniyle sınırlıydı.
-#### SSH üzerinden uzak (Mac uygulaması eşliği)
+#### SSH üzerinden uzak (Mac uygulaması eşdeğerliği)
-macOS uygulamasındaki "Remote over SSH" modu, yerel port yönlendirme kullanır; böylece uzak Gateway (yalnızca loopback'e bağlı olabilir) `ws://127.0.0.1:` adresinde erişilebilir olur.
+macOS uygulamasındaki "Remote over SSH" modu, uzak gateway'in (yalnızca loopback'e bağlanmış olabilir) `ws://127.0.0.1:` adresinde erişilebilir olmasını sağlamak için yerel port yönlendirme kullanır.
CLI eşdeğeri:
@@ -386,7 +386,7 @@ openclaw gateway probe --ssh user@gateway-host
Kimlik dosyası.
- Çözümlenen keşif uç noktasından (`local.` artı varsa yapılandırılmış geniş alan etki alanı) ilk keşfedilen Gateway ana makinesini SSH hedefi olarak seçin. Yalnızca TXT ipuçları yok sayılır.
+ Çözümlenmiş keşif uç noktasından (`local.` artı varsa yapılandırılmış geniş alan etki alanı) ilk keşfedilen gateway ana makinesini SSH hedefi olarak seçer. Yalnızca TXT ipuçları yok sayılır.
Yapılandırma (isteğe bağlı, varsayılan olarak kullanılır):
@@ -396,7 +396,7 @@ Yapılandırma (isteğe bağlı, varsayılan olarak kullanılır):
### `gateway call `
-Düşük düzey RPC yardımcısı.
+Düşük seviyeli RPC yardımcısı.
```bash
openclaw gateway call status
@@ -404,13 +404,13 @@ openclaw gateway call logs.tail --params '{"sinceMs": 60000}'
```
- Parametreler için JSON nesnesi dizesi.
+ Parametreler için JSON nesne dizesi.
Gateway WebSocket URL'si.
- Gateway belirteci.
+ Gateway token'ı.
Gateway parolası.
@@ -419,7 +419,7 @@ openclaw gateway call logs.tail --params '{"sinceMs": 60000}'
Zaman aşımı bütçesi.
- Özellikle son yükten önce ara olaylar akışı yapan ajan tarzı RPC'ler için.
+ Esas olarak, nihai yükten önce ara olaylar akışı yapan ajan tarzı RPC'ler içindir.
Makine tarafından okunabilir JSON çıktısı.
@@ -439,11 +439,9 @@ openclaw gateway restart
openclaw gateway uninstall
```
-### Bir sarmalayıcıyla kurulum
+### Bir wrapper ile kurulum
-Yönetilen hizmetin başka bir yürütülebilir dosya üzerinden başlaması gerektiğinde `--wrapper` kullanın; örneğin bir
-gizli anahtar yöneticisi shim'i veya farklı kullanıcıyla çalıştırma yardımcısı. Sarmalayıcı normal Gateway argümanlarını alır ve
-sonunda bu argümanlarla `openclaw` veya Node'u exec etmekten sorumludur.
+Yönetilen hizmetin başka bir yürütülebilir dosya üzerinden başlatılması gerektiğinde `--wrapper` kullanın; örneğin bir gizli yönetici ara katmanı veya farklı kullanıcıyla çalıştırma yardımcısı. Wrapper, normal Gateway argümanlarını alır ve sonunda bu argümanlarla `openclaw` ya da Node'u exec etmekten sorumludur.
```bash
cat > ~/.local/bin/openclaw-doppler <<'EOF'
@@ -457,16 +455,14 @@ openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --force
openclaw gateway restart
```
-Sarmalayıcıyı ortam üzerinden de ayarlayabilirsiniz. `gateway install`, yolun
-yürütülebilir bir dosya olduğunu doğrular, sarmalayıcıyı hizmet `ProgramArguments` içine yazar ve sonraki zorunlu yeniden kurulumlar, güncellemeler ve doctor
-onarımları için hizmet ortamında `OPENCLAW_WRAPPER` değerini kalıcı kılar.
+Wrapper'ı ortam üzerinden de ayarlayabilirsiniz. `gateway install`, yolun yürütülebilir bir dosya olduğunu doğrular, wrapper'ı hizmet `ProgramArguments` içine yazar ve daha sonra zorunlu yeniden kurulumlar, güncellemeler ve doctor onarımları için hizmet ortamında `OPENCLAW_WRAPPER` değerini kalıcı hale getirir.
```bash
OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --force
openclaw doctor
```
-Kalıcı bir sarmalayıcıyı kaldırmak için yeniden kurulum sırasında `OPENCLAW_WRAPPER` değerini temizleyin:
+Kalıcı bir wrapper'ı kaldırmak için yeniden kurulum sırasında `OPENCLAW_WRAPPER` değerini temizleyin:
```bash
OPENCLAW_WRAPPER= openclaw gateway install --force
@@ -481,32 +477,32 @@ openclaw gateway restart
- - Yönetilen bir hizmeti yeniden başlatmak için `gateway restart` kullanın. Yeniden başlatma yerine `gateway stop` ve `gateway start` komutlarını zincirlemeyin; macOS'te `gateway stop`, LaunchAgent'ı durdurmadan önce bilerek devre dışı bırakır.
+ - Yönetilen bir hizmeti yeniden başlatmak için `gateway restart` kullanın. Yeniden başlatma yerine `gateway stop` ve `gateway start` komutlarını zincirlemeyin; macOS'te `gateway stop`, durdurmadan önce LaunchAgent'ı kasıtlı olarak devre dışı bırakır.
- Yaşam döngüsü komutları betikleme için `--json` kabul eder.
-
- - Belirteç kimlik doğrulaması bir belirteç gerektirdiğinde ve `gateway.auth.token` SecretRef tarafından yönetildiğinde, `gateway install` SecretRef'in çözülebilir olduğunu doğrular ancak çözümlenen belirteci hizmet ortamı meta verilerinde kalıcı hale getirmez.
- - Belirteç kimlik doğrulaması bir belirteç gerektiriyorsa ve yapılandırılmış belirteç SecretRef'i çözülemiyorsa, kurulum yedek düz metni kalıcı hale getirmek yerine kapalı şekilde başarısız olur.
+
+ - Token kimlik doğrulaması bir token gerektirdiğinde ve `gateway.auth.token` SecretRef ile yönetildiğinde, `gateway install` SecretRef'in çözümlenebilir olduğunu doğrular ancak çözümlenmiş token'ı hizmet ortamı meta verilerine kalıcı olarak yazmaz.
+ - Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılmış token SecretRef'i çözümlenmemişse, kurulum yedek düz metni kalıcılaştırmak yerine kapalı şekilde başarısız olur.
- `gateway run` üzerinde parola kimlik doğrulaması için satır içi `--password` yerine `OPENCLAW_GATEWAY_PASSWORD`, `--password-file` veya SecretRef destekli `gateway.auth.password` tercih edin.
- - Çıkarımlı kimlik doğrulama modunda, yalnızca shell'deki `OPENCLAW_GATEWAY_PASSWORD` kurulum belirteci gereksinimlerini gevşetmez; yönetilen bir hizmet kurarken dayanıklı yapılandırma (`gateway.auth.password` veya yapılandırma `env`) kullanın.
+ - Çıkarımsal kimlik doğrulama modunda, yalnızca kabuktaki `OPENCLAW_GATEWAY_PASSWORD` kurulum token gereksinimlerini gevşetmez; yönetilen bir hizmet kurarken dayanıklı yapılandırma (`gateway.auth.password` veya config `env`) kullanın.
- Hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa ve `gateway.auth.mode` ayarlanmamışsa, mod açıkça ayarlanana kadar kurulum engellenir.
-## Gateway'leri keşfetme (Bonjour)
+## Gateway'leri keşfedin (Bonjour)
-`gateway discover`, Gateway işaretlerini (`_openclaw-gw._tcp`) tarar.
+`gateway discover`, Gateway beacon'larını (`_openclaw-gw._tcp`) tarar.
- Multicast DNS-SD: `local.`
- Unicast DNS-SD (Geniş Alan Bonjour): bir etki alanı seçin (örnek: `openclaw.internal.`) ve split DNS + bir DNS sunucusu kurun; bkz. [Bonjour](/tr/gateway/bonjour).
-Yalnızca Bonjour keşfi etkinleştirilmiş Gateway'ler (varsayılan) işareti duyurur.
+Yalnızca Bonjour keşfi etkin olan Gateway'ler (varsayılan) beacon'ın reklamını yapar.
Geniş Alan keşif kayıtları şunları içerir (TXT):
-- `role` (Gateway rol ipucu)
+- `role` (gateway rol ipucu)
- `transport` (aktarım ipucu, ör. `gateway`)
- `gatewayPort` (WebSocket portu, genellikle `18789`)
- `sshPort` (isteğe bağlı; istemciler yoksa SSH hedeflerini varsayılan olarak `22` yapar)
@@ -521,10 +517,10 @@ openclaw gateway discover
```
- Komut başına zaman aşımı (browse/resolve).
+ Komut başına zaman aşımı (göz atma/çözümleme).
- Makine tarafından okunabilir çıktı (biçimlendirmeyi/spinner'ı da devre dışı bırakır).
+ Makine tarafından okunabilir çıktı (stil/spinner'ı da devre dışı bırakır).
Örnekler:
@@ -535,13 +531,13 @@ openclaw gateway discover --json | jq '.beacons[].wsUrl'
```
-- CLI, biri etkinleştirildiğinde `local.` ile yapılandırılmış geniş alan etki alanını tarar.
+- CLI, etkinleştirildiğinde `local.` ile yapılandırılmış geniş alan etki alanını tarar.
- JSON çıktısındaki `wsUrl`, `lanHost` veya `tailnetDns` gibi yalnızca TXT ipuçlarından değil, çözümlenen hizmet uç noktasından türetilir.
-- `local.` mDNS üzerinde, `sshPort` ve `cliPath` yalnızca `discovery.mdns.mode` değeri `full` olduğunda yayınlanır. Geniş alan DNS-SD yine de `cliPath` yazar; `sshPort` orada da isteğe bağlı kalır.
+- `local.` mDNS üzerinde `sshPort` ve `cliPath` yalnızca `discovery.mdns.mode` değeri `full` olduğunda yayınlanır. Geniş alan DNS-SD yine de `cliPath` yazar; `sshPort` orada da isteğe bağlı kalır.
## İlgili
-- [CLI referansı](/tr/cli)
-- [Gateway işletim kılavuzu](/tr/gateway)
+- [CLI başvurusu](/tr/cli)
+- [Gateway çalışma kitabı](/tr/gateway)
diff --git a/docs/tr/cli/models.md b/docs/tr/cli/models.md
index a659611ff..e03bf91b5 100644
--- a/docs/tr/cli/models.md
+++ b/docs/tr/cli/models.md
@@ -1,21 +1,21 @@
---
read_when:
- - Varsayılan modelleri değiştirmek veya sağlayıcının kimlik doğrulama durumunu görüntülemek istiyorsunuz
+ - Varsayılan modelleri değiştirmek veya sağlayıcı kimlik doğrulama durumunu görüntülemek istiyorsunuz
- Kullanılabilir modelleri/sağlayıcıları taramak ve kimlik doğrulama profillerinde hata ayıklamak istiyorsunuz
summary: '`openclaw models` için CLI başvurusu (status/list/set/scan, takma adlar, geri dönüşler, kimlik doğrulama)'
title: Modeller
x-i18n:
- generated_at: "2026-04-30T09:13:38Z"
+ generated_at: "2026-05-01T08:59:06Z"
model: gpt-5.5
provider: openai
- source_hash: 95e2361989b583f7f52947dad1faaaba44dc6a5f58719cc2e83c13fce7c33adc
+ source_hash: 538d3e4808329737fdc044dc6e14e5c7c78052e75d8a8b3b257b1ebd821c84d1
source_path: cli/models.md
workflow: 16
---
# `openclaw models`
-Model keşfi, tarama ve yapılandırma (varsayılan model, geri dönüşler, kimlik doğrulama profilleri).
+Model keşfi, tarama ve yapılandırma (varsayılan model, yedekler, kimlik doğrulama profilleri).
İlgili:
@@ -32,37 +32,78 @@ openclaw models set
openclaw models scan
```
-`openclaw models status`, çözümlenmiş varsayılan/geri dönüşleri ve bir kimlik doğrulama genel görünümünü gösterir.
-Sağlayıcı kullanım anlık görüntüleri mevcut olduğunda, OAuth/API anahtarı durumu bölümü sağlayıcı kullanım pencerelerini ve kota anlık görüntülerini içerir.
-Geçerli kullanım penceresi sağlayıcıları: Anthropic, GitHub Copilot, Gemini CLI, OpenAI Codex, MiniMax, Xiaomi ve z.ai. Kullanım kimlik doğrulaması, mevcut olduğunda sağlayıcıya özgü hook'lardan gelir; aksi halde OpenClaw, kimlik doğrulama profillerinden, env'den veya config'den eşleşen OAuth/API anahtarı kimlik bilgilerine geri döner.
-`--json` çıktısında `auth.providers`, env/config/store farkındalığı olan sağlayıcı genel görünümüdür; `auth.oauth` ise yalnızca auth-store profil sağlığıdır.
+`openclaw models status`, çözümlenen varsayılanı/yedekleri ve bir kimlik doğrulama genel görünümünü gösterir.
+Sağlayıcı kullanım anlık görüntüleri kullanılabilir olduğunda, OAuth/API anahtarı durum bölümü
+sağlayıcı kullanım pencerelerini ve kota anlık görüntülerini içerir.
+Geçerli kullanım penceresi sağlayıcıları: Anthropic, GitHub Copilot, Gemini CLI, OpenAI
+Codex, MiniMax, Xiaomi ve z.ai. Kullanım kimlik doğrulaması, mevcut olduğunda
+sağlayıcıya özgü hook'lardan gelir; aksi takdirde OpenClaw, kimlik doğrulama
+profillerinden, env'den veya yapılandırmadan eşleşen OAuth/API anahtarı
+kimlik bilgilerine geri döner.
+`--json` çıktısında `auth.providers`, env/config/store farkındalıklı sağlayıcı
+genel görünümüdür; `auth.oauth` ise yalnızca auth-store profil sağlığıdır.
Yapılandırılmış her sağlayıcı profiline karşı canlı kimlik doğrulama yoklamaları çalıştırmak için `--probe` ekleyin.
-Yoklamalar gerçek isteklerdir (token tüketebilir ve rate limit'leri tetikleyebilir).
-Yapılandırılmış bir agent'ın model/kimlik doğrulama durumunu incelemek için `--agent ` kullanın. Atlandığında komut, ayarlıysa `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR` değerini, aksi halde yapılandırılmış varsayılan agent'ı kullanır.
-Yoklama satırları kimlik doğrulama profillerinden, env kimlik bilgilerinden veya `models.json` dosyasından gelebilir.
+Yoklamalar gerçek isteklerdir (token tüketebilir ve hız sınırlarını tetikleyebilir).
+Yapılandırılmış bir ajanın model/kimlik doğrulama durumunu incelemek için `--agent ` kullanın. Atlanırsa,
+komut ayarlanmışsa `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR` değerini, aksi takdirde
+yapılandırılmış varsayılan ajanı kullanır.
+Yoklama satırları kimlik doğrulama profillerinden, env kimlik bilgilerinden veya `models.json` içinden gelebilir.
Notlar:
-- `models set `, `provider/model` veya bir alias kabul eder.
-- `models list` salt okunurdur: config'i, kimlik doğrulama profillerini, mevcut katalog durumunu ve sağlayıcıya ait katalog satırlarını okur, ancak `models.json` dosyasını yeniden yazmaz.
-- `Auth` sütunu sağlayıcı düzeyindedir ve salt okunurdur. Yerel kimlik doğrulama profili meta verilerinden, env işaretçilerinden, yapılandırılmış sağlayıcı anahtarlarından, yerel sağlayıcı işaretçilerinden, AWS Bedrock env/profil işaretçilerinden ve Plugin sentetik kimlik doğrulama meta verilerinden hesaplanır; sağlayıcı runtime'ını yüklemez, keychain sırlarını okumaz, sağlayıcı API'lerini çağırmaz veya model başına kesin yürütme hazırlığını kanıtlamaz.
-- `models list --all --provider `, o sağlayıcıyla henüz kimlik doğrulaması yapmamış olsanız bile Plugin manifestlerinden veya paketlenmiş sağlayıcı katalog meta verilerinden sağlayıcıya ait statik katalog satırlarını içerebilir. Bu satırlar, eşleşen kimlik doğrulama yapılandırılana kadar yine de kullanılamaz olarak görünür.
-- Geniş `models list --all`, sağlayıcı runtime ek hook'larını yüklemeden manifest katalog satırlarını registry satırlarının üzerine birleştirir. Sağlayıcı filtreli manifest hızlı yolları yalnızca `static` olarak işaretlenen sağlayıcıları kullanır; `refreshable` olarak işaretlenen sağlayıcılar registry/cache destekli kalır ve manifest satırlarını ek olarak iliştirir, `runtime` olarak işaretlenen sağlayıcılar ise registry/runtime keşfinde kalır.
-- `models list`, yerel model meta verilerini ve runtime sınırlarını ayrı tutar. Tablo çıktısında `Ctx`, etkili bir runtime sınırı yerel context penceresinden farklı olduğunda `contextTokens/contextWindow` gösterir; JSON satırları, bir sağlayıcı bu sınırı sunduğunda `contextTokens` içerir.
-- `models list --provider `, `moonshot` veya `openai-codex` gibi sağlayıcı id'sine göre filtreler. Etkileşimli sağlayıcı seçicilerindeki `Moonshot AI` gibi görünen etiketleri kabul etmez.
-- Model ref'leri **ilk** `/` üzerinden bölünerek ayrıştırılır. Model ID'si `/` içeriyorsa (OpenRouter tarzı), sağlayıcı önekini dahil edin (örnek: `openrouter/moonshotai/kimi-k2`).
-- Sağlayıcıyı atlarsanız OpenClaw girdiyi önce bir alias olarak, ardından bu kesin model id'si için benzersiz bir yapılandırılmış sağlayıcı eşleşmesi olarak çözümler ve ancak bundan sonra bir kullanımdan kaldırma uyarısıyla 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ı/model çiftine geri döner.
-- `models status`, gizli olmayan placeholder'lar için kimlik doğrulama çıktısında (örneğin `OPENAI_API_KEY`, `secretref-managed`, `minimax-oauth`, `oauth:chutes`, `ollama-local`) bunları sır olarak maskelemek yerine `marker()` gösterebilir.
+- `models set `, `provider/model` veya bir takma adı kabul eder.
+- `models list` salt okunurdur: yapılandırmayı, kimlik doğrulama profillerini, mevcut katalog
+ durumunu ve sağlayıcıya ait katalog satırlarını okur, ancak
+ `models.json` dosyasını yeniden yazmaz.
+- `Auth` sütunu sağlayıcı düzeyindedir ve salt okunurdur. Yerel
+ kimlik doğrulama profili meta verilerinden, env işaretçilerinden, yapılandırılmış sağlayıcı anahtarlarından, yerel sağlayıcı
+ işaretçilerinden, AWS Bedrock env/profil işaretçilerinden ve Plugin sentetik kimlik doğrulama meta verilerinden hesaplanır;
+ sağlayıcı runtime'ını yüklemez, keychain gizlerini okumaz, sağlayıcı
+ API'lerini çağırmaz veya model başına kesin yürütme hazırlığını kanıtlamaz.
+- `models list --all --provider `, henüz o sağlayıcıyla kimlik doğrulaması
+ yapmamış olsanız bile Plugin manifestlerinden veya paketlenmiş sağlayıcı katalog meta verilerinden sağlayıcıya ait statik katalog
+ satırlarını içerebilir. Bu satırlar, eşleşen kimlik doğrulaması yapılandırılana kadar yine de
+ kullanılamaz olarak görünür.
+- `models list`, sağlayıcı katalog keşfi yavaşken control plane'i duyarlı tutar.
+ Varsayılan ve yapılandırılmış görünümler, kısa bir beklemeden sonra yapılandırılmış veya
+ sentetik model satırlarına geri döner ve keşfin arka planda bitmesine izin verir.
+ Kesin tam keşfedilmiş kataloğa ihtiyaç duyduğunuzda ve sağlayıcı keşfini
+ beklemeye razı olduğunuzda `--all` kullanın.
+- Geniş `models list --all`, sağlayıcı runtime destek hook'larını yüklemeden
+ manifest katalog satırlarını registry satırlarının üzerine birleştirir. Sağlayıcı filtreli manifest
+ hızlı yolları yalnızca `static` olarak işaretlenmiş sağlayıcıları kullanır; `refreshable` olarak işaretlenmiş sağlayıcılar
+ registry/cache destekli kalır ve manifest satırlarını destek olarak eklerken,
+ `runtime` olarak işaretlenmiş sağlayıcılar registry/runtime keşfinde kalır.
+- `models list`, yerel model meta verilerini ve runtime sınırlarını ayrı tutar. Tablo
+ çıktısında, etkili bir runtime sınırı yerel context penceresinden farklı olduğunda `Ctx`
+ `contextTokens/contextWindow` gösterir; JSON satırları, bir sağlayıcı bu sınırı sunduğunda
+ `contextTokens` içerir.
+- `models list --provider `, `moonshot` veya
+ `openai-codex` gibi sağlayıcı kimliğine göre filtreler. Etkileşimli sağlayıcı
+ seçicilerinden gelen `Moonshot AI` gibi görüntü etiketlerini kabul etmez.
+- Model referansları **ilk** `/` karakterine göre bölünerek ayrıştırılır. Model ID'si `/` içeriyorsa (OpenRouter tarzı), sağlayıcı önekini ekleyin (örnek: `openrouter/moonshotai/kimi-k2`).
+- Sağlayıcıyı atlarsanız OpenClaw girdiyi önce takma ad olarak, sonra
+ tam model id'si için benzersiz yapılandırılmış sağlayıcı eşleşmesi olarak çözer ve ancak ondan sonra
+ kullanımdan kaldırma uyarısıyla 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,
+ eski kaldırılmış sağlayıcı varsayılanını göstermek yerine ilk yapılandırılmış
+ sağlayıcı/modele geri döner.
+- `models status`, gizli olmayan yer tutucular için kimlik doğrulama çıktısında bunları gizli olarak maskelemek yerine `marker()` gösterebilir (örneğin `OPENAI_API_KEY`, `secretref-managed`, `minimax-oauth`, `oauth:chutes`, `ollama-local`).
-### Modelleri tara
+### Modelleri tarama
-`models scan`, OpenRouter'ın herkese açık `:free` kataloğunu okur ve adayları geri dönüş kullanımı için sıralar. Kataloğun kendisi herkese açık olduğundan, yalnızca meta veri taramaları bir OpenRouter anahtarı gerektirmez.
+`models scan`, OpenRouter'ın herkese açık `:free` kataloğunu okur ve adayları
+yedek kullanım için sıralar. Kataloğun kendisi herkese açıktır; bu nedenle yalnızca meta veri taramaları
+OpenRouter anahtarı gerektirmez.
-Varsayılan olarak OpenClaw, canlı model çağrılarıyla araç ve görüntü desteğini yoklamaya çalışır. OpenRouter anahtarı yapılandırılmamışsa komut yalnızca meta veri çıktısına geri döner ve `:free` modellerin yoklamalar ve inference için yine de `OPENROUTER_API_KEY` gerektirdiğini açıklar.
+Varsayılan olarak OpenClaw, canlı model çağrılarıyla araç ve görüntü desteğini yoklamayı dener.
+OpenRouter anahtarı yapılandırılmamışsa komut yalnızca meta veri
+çıktısına geri döner ve `:free` modellerin yoklamalar ve çıkarım için yine de
+`OPENROUTER_API_KEY` gerektirdiğini açıklar.
Seçenekler:
-- `--no-probe` (yalnızca meta veri; config/sır araması yok)
+- `--no-probe` (yalnızca meta veri; config/gizli araması yok)
- `--min-params `
- `--max-age-days `
- `--provider `
@@ -75,7 +116,8 @@ Seçenekler:
- `--set-image`
- `--json`
-`--set-default` ve `--set-image` canlı yoklamalar gerektirir; yalnızca meta veri tarama sonuçları bilgilendirme amaçlıdır ve config'e uygulanmaz.
+`--set-default` ve `--set-image` canlı yoklama gerektirir; yalnızca meta veri tarama
+sonuçları bilgilendirme amaçlıdır ve yapılandırmaya uygulanmaz.
### Modellerin durumu
@@ -85,14 +127,16 @@ Seçenekler:
- `--plain`
- `--check` (çıkış 1=süresi dolmuş/eksik, 2=süresi dolmak üzere)
- `--probe` (yapılandırılmış kimlik doğrulama profillerinin canlı yoklaması)
-- `--probe-provider ` (tek bir sağlayıcıyı yokla)
-- `--probe-profile ` (tekrarlanabilir veya virgülle ayrılmış profil id'leri)
+- `--probe-provider ` (tek sağlayıcıyı yokla)
+- `--probe-profile ` (profil kimliklerini tekrarla veya virgülle ayır)
- `--probe-timeout `
- `--probe-concurrency `
- `--probe-max-tokens `
-- `--agent ` (yapılandırılmış agent id'si; `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR` değerini geçersiz kılar)
+- `--agent ` (yapılandırılmış ajan kimliği; `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR` değerlerini geçersiz kılar)
-`--json`, stdout'u JSON payload'u için ayrılmış tutar. Kimlik doğrulama profili, sağlayıcı ve başlangıç tanılamaları stderr'e yönlendirilir; böylece script'ler stdout'u doğrudan `jq` gibi araçlara aktarabilir.
+`--json`, stdout'u JSON yükü için ayrılmış tutar. Kimlik doğrulama profili, sağlayıcı
+ve başlangıç tanılamaları stderr'ye yönlendirilir; böylece betikler stdout'u doğrudan
+`jq` gibi araçlara pipe edebilir.
Yoklama durumu kovaları:
@@ -105,13 +149,17 @@ Yoklama durumu kovaları:
- `unknown`
- `no_model`
-Beklenmesi gereken yoklama ayrıntı/neden kodu durumları:
+Beklenebilecek yoklama ayrıntısı/neden kodu durumları:
-- `excluded_by_auth_order`: depolanmış bir profil vardır, ancak açık `auth.order.` onu atlamıştır; bu yüzden yoklama denemek yerine dışlamayı bildirir.
-- `missing_credential`, `invalid_expires`, `expired`, `unresolved_ref`: profil mevcut ancak uygun/çözümlenebilir değildir.
-- `no_model`: sağlayıcı kimlik doğrulaması vardır, ancak OpenClaw bu sağlayıcı için yoklanabilir bir model adayı çözememiştir.
+- `excluded_by_auth_order`: saklanan bir profil vardır, ancak açık
+ `auth.order.` bunu atlamıştır; bu yüzden yoklama denemek yerine
+ dışlamayı bildirir.
+- `missing_credential`, `invalid_expires`, `expired`, `unresolved_ref`:
+ profil mevcuttur ancak uygun/çözümlenebilir değildir.
+- `no_model`: sağlayıcı kimlik doğrulaması vardır, ancak OpenClaw o sağlayıcı için yoklanabilir
+ bir model adayını çözememiştir.
-## Alias'lar + geri dönüşler
+## Takma adlar + yedekler
```bash
openclaw models aliases list
@@ -127,10 +175,15 @@ openclaw models auth setup-token --provider
openclaw models auth paste-token
```
-`models auth add`, etkileşimli kimlik doğrulama yardımcısıdır. Seçtiğiniz sağlayıcıya bağlı olarak bir sağlayıcı kimlik doğrulama akışı (OAuth/API anahtarı) başlatabilir veya sizi manuel token yapıştırmaya yönlendirebilir.
+`models auth add`, etkileşimli kimlik doğrulama yardımcısıdır. Seçtiğiniz
+sağlayıcıya bağlı olarak bir sağlayıcı kimlik doğrulama akışı (OAuth/API anahtarı)
+başlatabilir veya sizi manuel token yapıştırmaya yönlendirebilir.
-`models auth login`, bir sağlayıcı Plugin'inin kimlik doğrulama akışını (OAuth/API anahtarı) çalıştırır. Hangi sağlayıcıların yüklü olduğunu görmek için `openclaw plugins list` kullanın.
-Kimlik doğrulama sonuçlarını belirli bir yapılandırılmış agent store'una yazmak için `openclaw models auth --agent ` kullanın. Üst `--agent` bayrağı `add`, `login`, `setup-token`, `paste-token` ve `login-github-copilot` tarafından dikkate alınır.
+`models auth login`, bir sağlayıcı Plugin'inin kimlik doğrulama akışını (OAuth/API anahtarı) çalıştırır. Hangi sağlayıcıların kurulu olduğunu görmek için
+`openclaw plugins list` kullanın.
+Kimlik doğrulama sonuçlarını belirli bir yapılandırılmış ajan deposuna yazmak için
+`openclaw models auth --agent ` kullanın. Üst `--agent` bayrağı
+`add`, `login`, `setup-token`, `paste-token` ve `login-github-copilot` tarafından dikkate alınır.
Örnekler:
@@ -140,16 +193,22 @@ openclaw models auth login --provider openai-codex --set-default
Notlar:
-- `setup-token` ve `paste-token`, token kimlik doğrulama yöntemleri sunan sağlayıcılar için genel token komutları olarak kalır.
-- `setup-token`, etkileşimli bir TTY gerektirir ve sağlayıcının token kimlik doğrulama yöntemini çalıştırır (sağlayıcı bir tane sunuyorsa varsayılan olarak o sağlayıcının `setup-token` yöntemi kullanılır).
-- `paste-token`, başka yerde veya otomasyondan oluşturulmuş bir token dizesini kabul eder.
-- `paste-token`, `--provider` gerektirir, token değerini sorar ve `--profile-id` geçmediğiniz sürece bunu varsayılan profil id'si `:manual` konumuna yazar.
-- `paste-token --expires-in `, `365d` veya `12h` gibi göreli bir süreden mutlak token süresi sonunu depolar.
-- Anthropic notu: Anthropic çalışanları bize OpenClaw tarzı Claude CLI kullanımına tekrar izin verildiğini söyledi; bu yüzden OpenClaw, Anthropic yeni bir ilke yayımlamadığı sürece bu entegrasyon için Claude CLI yeniden kullanımını ve `claude -p` kullanımını onaylanmış kabul eder.
+- `setup-token` ve `paste-token`, token kimlik doğrulama yöntemleri sunan sağlayıcılar için
+ genel token komutları olarak kalır.
+- `setup-token` etkileşimli bir TTY gerektirir ve sağlayıcının token-auth
+ yöntemini çalıştırır (sağlayıcı bir tane sunuyorsa varsayılan olarak o sağlayıcının
+ `setup-token` yöntemini kullanır).
+- `paste-token`, başka yerde veya otomasyondan üretilmiş bir token dizesini kabul eder.
+- `paste-token`, `--provider` gerektirir, token değerini ister ve
+ `--profile-id` geçmediğiniz sürece bunu varsayılan profil kimliği
+ `:manual` içine yazar.
+- `paste-token --expires-in `, `365d` veya `12h` gibi göreli bir süreden
+ mutlak token sona erme zamanını depolar.
+- Anthropic notu: Anthropic çalışanları bize OpenClaw tarzı Claude CLI kullanımına tekrar izin verildiğini söyledi; bu nedenle OpenClaw, Anthropic yeni bir politika yayımlamadığı sürece bu entegrasyon için Claude CLI yeniden kullanımını ve `claude -p` kullanımını onaylı kabul eder.
- Anthropic `setup-token` / `paste-token`, desteklenen bir OpenClaw token yolu olarak kullanılabilir kalır; ancak OpenClaw artık mevcut olduğunda Claude CLI yeniden kullanımını ve `claude -p` komutunu tercih eder.
## İlgili
-- [CLI başvurusu](/tr/cli)
+- [CLI referansı](/tr/cli)
- [Model seçimi](/tr/concepts/model-providers)
-- [Model yük devretmesi](/tr/concepts/model-failover)
+- [Model yedeklemeye geçişi](/tr/concepts/model-failover)
diff --git a/docs/tr/cli/onboard.md b/docs/tr/cli/onboard.md
index c72c510b4..e5b28117d 100644
--- a/docs/tr/cli/onboard.md
+++ b/docs/tr/cli/onboard.md
@@ -1,20 +1,20 @@
---
read_when:
- - Gateway, çalışma alanı, kimlik doğrulama, kanallar ve Skills için rehberli kurulum istiyorsunuz
+ - Gateway, çalışma alanı, kimlik doğrulama, kanallar ve Skills için yönlendirmeli kurulum istiyorsunuz
summary: '`openclaw onboard` için CLI referansı (etkileşimli ilk kurulum)'
-title: Kullanıma Al
+title: İlk Kurulum
x-i18n:
- generated_at: "2026-04-30T09:14:05Z"
+ generated_at: "2026-05-01T08:59:18Z"
model: gpt-5.5
provider: openai
- source_hash: 583310458b2e2bc8ddc1513112c960520d972716be0c33e4177d0db30e896504
+ source_hash: 1276a0b20f37da470bb4d49b38d06bacc38e7d0e85737a22971a2a9a3d90e244
source_path: cli/onboard.md
workflow: 16
---
# `openclaw onboard`
-Yerel veya uzak Gateway kurulumu için etkileşimli ilk katılım.
+Yerel veya uzak Gateway kurulumu için etkileşimli ilk kurulum.
## İlgili kılavuzlar
@@ -23,7 +23,7 @@ Yerel veya uzak Gateway kurulumu için etkileşimli ilk katılım.
Etkileşimli CLI akışının adım adım açıklaması.
- OpenClaw ilk katılımının nasıl bir araya geldiği.
+ OpenClaw ilk kurulumunun nasıl bir araya geldiği.
Çıktılar, iç işleyiş ve adım bazında davranış.
@@ -32,7 +32,7 @@ Yerel veya uzak Gateway kurulumu için etkileşimli ilk katılım.
Etkileşimsiz bayraklar ve betikli kurulumlar.
- macOS menü çubuğu uygulaması için ilk katılım akışı.
+ macOS menü çubuğu uygulaması için ilk kurulum akışı.
@@ -49,11 +49,11 @@ openclaw onboard --skip-bootstrap
openclaw onboard --mode remote --remote-url wss://gateway-host:18789
```
-`--flow import`, Hermes gibi plugin tarafından sahiplenilen geçiş sağlayıcılarını kullanır. Yalnızca yeni bir OpenClaw kurulumunda çalışır; mevcut config, credentials, sessions veya çalışma alanı memory/identity dosyaları varsa içe aktarmadan önce sıfırlayın ya da yeni bir kurulum seçin.
+`--flow import`, Hermes gibi Plugin sahipli geçiş sağlayıcılarını kullanır. Yalnızca yeni bir OpenClaw kurulumu üzerinde çalışır; mevcut yapılandırma, kimlik bilgileri, oturumlar veya çalışma alanı bellek/kimlik dosyaları varsa içe aktarmadan önce sıfırlayın ya da yeni bir kurulum seçin.
-`--modern`, Crestodian konuşmalı ilk katılım önizlemesini başlatır. `--modern` olmadan, `openclaw onboard` klasik ilk katılım akışını korur.
+`--modern`, Crestodian konuşmalı ilk kurulum önizlemesini başlatır. `--modern` olmadan `openclaw onboard` klasik ilk kurulum akışını korur.
-Düz metin özel ağ `ws://` hedefleri için (yalnızca güvenilir ağlar), ilk katılım süreci ortamında `OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` ayarını yapın. Bu istemci tarafı taşıma acil durum aşımı için `openclaw.json` eşdeğeri yoktur.
+Düz metin özel ağ `ws://` hedefleri için (yalnızca güvenilir ağlar), ilk kurulum süreci ortamında `OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` ayarlayın. Bu istemci tarafı taşıma acil durum seçeneği için `openclaw.json` eşdeğeri yoktur.
Etkileşimsiz özel sağlayıcı:
@@ -68,8 +68,8 @@ openclaw onboard --non-interactive \
--custom-image-input
```
-`--custom-api-key`, etkileşimsiz modda isteğe bağlıdır. Atlanırsa ilk katılım `CUSTOM_API_KEY` değişkenini denetler.
-OpenClaw, yaygın görme modeli kimliklerini otomatik olarak görüntü destekli şeklinde işaretler. Bilinmeyen özel görme kimlikleri için `--custom-image-input` geçirin veya yalnızca metin meta verilerini zorlamak için `--custom-text-input` kullanın.
+`--custom-api-key`, etkileşimsiz modda isteğe bağlıdır. Atlanırsa ilk kurulum `CUSTOM_API_KEY` değerini denetler.
+OpenClaw, yaygın görsel model kimliklerini otomatik olarak görüntü destekli olarak işaretler. Bilinmeyen özel görsel kimlikleri için `--custom-image-input`, yalnızca metin meta verilerini zorlamak için `--custom-text-input` iletin.
LM Studio, etkileşimsiz modda sağlayıcıya özgü bir anahtar bayrağını da destekler:
@@ -92,7 +92,7 @@ openclaw onboard --non-interactive \
--accept-risk
```
-`--custom-base-url` varsayılan olarak `http://127.0.0.1:11434` değerini kullanır. `--custom-model-id` isteğe bağlıdır; atlanırsa ilk katılım Ollama'nın önerilen varsayılanlarını kullanır. `kimi-k2.5:cloud` gibi bulut modeli kimlikleri de burada çalışır.
+`--custom-base-url` varsayılan olarak `http://127.0.0.1:11434` kullanır. `--custom-model-id` isteğe bağlıdır; atlanırsa ilk kurulum Ollama'nın önerilen varsayılanlarını kullanır. `kimi-k2.5:cloud` gibi bulut model kimlikleri de burada çalışır.
Sağlayıcı anahtarlarını düz metin yerine ref olarak saklayın:
@@ -103,26 +103,28 @@ openclaw onboard --non-interactive \
--accept-risk
```
-`--secret-input-mode ref` ile ilk katılım, düz metin anahtar değerleri yerine env destekli ref'ler yazar.
-Auth-profile destekli sağlayıcılar için bu, `keyRef` girdileri yazar; özel sağlayıcılar için `models.providers..apiKey` değerini env ref olarak yazar (örneğin `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }`).
+`--secret-input-mode ref` ile ilk kurulum, düz metin anahtar değerleri yerine ortam destekli ref'ler yazar.
+Kimlik doğrulama profili destekli sağlayıcılar için bu, `keyRef` girdileri yazar; özel sağlayıcılar için `models.providers..apiKey` değerini bir ortam ref'i olarak yazar (örneğin `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }`).
Etkileşimsiz `ref` modu sözleşmesi:
-- Sağlayıcı env var'ını ilk katılım süreci ortamında ayarlayın (örneğin `OPENAI_API_KEY`).
-- Bu env var da ayarlanmadıkça satır içi anahtar bayrakları geçirmeyin (örneğin `--openai-api-key`).
-- Gerekli env var olmadan satır içi anahtar bayrağı geçirilirse ilk katılım hızlıca başarısız olur ve yönlendirme gösterir.
+- Sağlayıcı ortam değişkenini ilk kurulum süreci ortamında ayarlayın (örneğin `OPENAI_API_KEY`).
+- Bu ortam değişkeni de ayarlı değilse satır içi anahtar bayrakları (örneğin `--openai-api-key`) iletmeyin.
+- Gerekli ortam değişkeni olmadan satır içi anahtar bayrağı iletilirse ilk kurulum rehberlikle hızlıca başarısız olur.
-Etkileşimsiz modda Gateway token seçenekleri:
+Etkileşimsiz modda Gateway belirteci seçenekleri:
-- `--gateway-auth token --gateway-token ` düz metin token saklar.
-- `--gateway-auth token --gateway-token-ref-env ` `gateway.auth.token` değerini env SecretRef olarak saklar.
+- `--gateway-auth token --gateway-token ` düz metin bir belirteç saklar.
+- `--gateway-auth token --gateway-token-ref-env ` `gateway.auth.token` değerini bir ortam SecretRef'i olarak saklar.
- `--gateway-token` ve `--gateway-token-ref-env` birbirini dışlar.
-- `--gateway-token-ref-env`, ilk katılım süreci ortamında boş olmayan bir env var gerektirir.
-- `--install-daemon` ile token auth bir token gerektirdiğinde, SecretRef tarafından yönetilen gateway token'ları doğrulanır ancak supervisor hizmet ortamı meta verilerinde çözümlenmiş düz metin olarak kalıcılaştırılmaz.
-- `--install-daemon` ile token modu bir token gerektiriyor ve yapılandırılan token SecretRef çözümlenemiyorsa ilk katılım güvenli şekilde başarısız olur ve düzeltme yönlendirmesi gösterir.
-- `--install-daemon` ile hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa ve `gateway.auth.mode` ayarlanmamışsa ilk katılım, mod açıkça ayarlanana kadar kurulumu engeller.
-- Yerel ilk katılım, config içine `gateway.mode="local"` yazar. Daha sonraki bir config dosyasında `gateway.mode` eksikse bunu geçerli bir yerel mod kısayolu olarak değil, config hasarı veya eksik bir manuel düzenleme olarak ele alın.
-- `--allow-unconfigured` ayrı bir gateway çalışma zamanı kaçış yoludur. Bu, ilk katılımın `gateway.mode` değerini atlayabileceği anlamına gelmez.
+- `--gateway-token-ref-env`, ilk kurulum süreci ortamında boş olmayan bir ortam değişkeni gerektirir.
+- `--install-daemon` ile, belirteç kimlik doğrulaması belirteç gerektirdiğinde, SecretRef ile yönetilen Gateway belirteçleri doğrulanır ancak supervisor hizmet ortamı meta verilerinde çözümlenmiş düz metin olarak kalıcılaştırılmaz.
+- `--install-daemon` ile, belirteç modu bir belirteç gerektiriyorsa ve yapılandırılmış belirteç SecretRef'i çözümlenmemişse ilk kurulum düzeltme rehberliğiyle kapalı şekilde başarısız olur.
+- `--install-daemon` ile, hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa ve `gateway.auth.mode` ayarlanmamışsa ilk kurulum, mod açıkça ayarlanana kadar kurulumu engeller.
+- Yerel ilk kurulum, yapılandırmaya `gateway.mode="local"` yazar. Daha sonraki bir yapılandırma dosyasında `gateway.mode` yoksa bunu geçerli bir yerel mod kısayolu olarak değil, yapılandırma hasarı veya eksik bir manuel düzenleme olarak değerlendirin.
+- Yerel ilk kurulum, yeni gerekli paketli Plugin çalışma zamanı bağımlılıklarını yapılandırmayı yazdıktan sonra ve çalışma alanı/bootstrap, daemon kurulumu veya sağlık denetimleri devam etmeden önce oluşturur. Bu dar kapsamlı bir paket yöneticisi onarım adımıdır; tam bir `openclaw doctor` çalıştırması değildir.
+- Uzak ilk kurulum yalnızca uzak Gateway için bağlantı bilgilerini yazar ve yerel paketli Plugin bağımlılıklarını kurmaz.
+- `--allow-unconfigured` ayrı bir Gateway çalışma zamanı kaçış yoludur. Bu, ilk kurulumun `gateway.mode` değerini atlayabileceği anlamına gelmez.
Örnek:
@@ -136,27 +138,27 @@ openclaw onboard --non-interactive \
--accept-risk
```
-Etkileşimsiz yerel gateway sağlığı:
+Etkileşimsiz yerel Gateway sağlığı:
-- `--skip-health` geçirmediğiniz sürece ilk katılım, başarıyla çıkmadan önce erişilebilir bir yerel gateway bekler.
-- `--install-daemon` önce yönetilen gateway kurulum yolunu başlatır. Onsuz, örneğin `openclaw gateway run` ile zaten çalışan bir yerel gateway'iniz olmalıdır.
-- Otomasyonda yalnızca config/çalışma alanı/bootstrap yazımları istiyorsanız `--skip-health` kullanın.
-- Çalışma alanı dosyalarını kendiniz yönetiyorsanız `agents.defaults.skipBootstrap: true` ayarlamak ve `AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md` ve `BOOTSTRAP.md` oluşturmayı atlamak için `--skip-bootstrap` geçirin.
-- Yerel Windows'ta `--install-daemon` önce Zamanlanmış Görevleri dener ve görev oluşturma reddedilirse kullanıcı bazlı Startup klasörü oturum açma öğesine geri döner.
+- `--skip-health` iletmediğiniz sürece ilk kurulum, başarıyla çıkmadan önce erişilebilir bir yerel Gateway bekler.
+- `--install-daemon` önce yönetilen Gateway kurulum yolunu başlatır. Onsuz, örneğin `openclaw gateway run` ile zaten çalışan bir yerel Gateway'iniz olmalıdır.
+- Otomasyonda yalnızca yapılandırma/çalışma alanı/bootstrap yazımları istiyorsanız `--skip-health` kullanın.
+- Çalışma alanı dosyalarını kendiniz yönetiyorsanız `agents.defaults.skipBootstrap: true` ayarlamak ve `AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md` ve `BOOTSTRAP.md` oluşturmayı atlamak için `--skip-bootstrap` iletin.
+- Yerel Windows üzerinde `--install-daemon` önce Zamanlanmış Görevler'i dener ve görev oluşturma reddedilirse kullanıcı başına Startup klasörü oturum açma öğesine geri döner.
-Reference modu ile etkileşimli ilk katılım davranışı:
+Referans moduyla etkileşimli ilk kurulum davranışı:
-- Sorulduğunda **Gizli referans kullan** seçeneğini belirleyin.
+- İstendiğinde **Gizli referans kullan** seçeneğini seçin.
- Ardından şunlardan birini seçin:
- Ortam değişkeni
- Yapılandırılmış gizli sağlayıcı (`file` veya `exec`)
-- İlk katılım, ref'i kaydetmeden önce hızlı bir ön doğrulama gerçekleştirir.
- - Doğrulama başarısız olursa ilk katılım hatayı gösterir ve yeniden denemenize izin verir.
+- İlk kurulum, ref'i kaydetmeden önce hızlı bir ön doğrulama yapar.
+ - Doğrulama başarısız olursa ilk kurulum hatayı gösterir ve yeniden denemenize izin verir.
-### Etkileşimsiz Z.AI endpoint seçenekleri
+### Etkileşimsiz Z.AI uç nokta seçenekleri
-`--auth-choice zai-api-key`, anahtarınız için en iyi Z.AI endpoint'ini otomatik algılar (genel API'yi `zai/glm-5.1` ile tercih eder). Özellikle GLM Coding Plan endpoint'lerini istiyorsanız `zai-coding-global` veya `zai-coding-cn` seçin.
+`--auth-choice zai-api-key`, anahtarınız için en iyi Z.AI uç noktasını otomatik algılar (genel API'yi `zai/glm-5.1` ile tercih eder). Özellikle GLM Coding Plan uç noktalarını istiyorsanız `zai-coding-global` veya `zai-coding-cn` seçin.
```bash
@@ -183,29 +185,29 @@ openclaw onboard --non-interactive \
- - `quickstart`: en az istem, otomatik olarak bir gateway token'ı oluşturur.
- - `manual`: port, bind ve auth için tam istemler (`advanced` takma adı).
- - `import`: algılanan bir geçiş sağlayıcısını çalıştırır, planı önizler, ardından onaydan sonra uygular.
+ - `quickstart`: en az istem, otomatik olarak bir Gateway belirteci üretir.
+ - `manual`: bağlantı noktası, bind ve kimlik doğrulama için tam istemler (`advanced` takma adı).
+ - `import`: algılanan bir geçiş sağlayıcısını çalıştırır, planı önizler, sonra onaydan sonra uygular.
- Bir auth seçimi tercih edilen bir sağlayıcıyı ima ettiğinde ilk katılım, varsayılan model ve allowlist seçicilerini o sağlayıcıya göre önceden filtreler. Volcengine ve BytePlus için bu, coding-plan varyantlarıyla da eşleşir (`volcengine-plan/*`, `byteplus-plan/*`).
+ Bir kimlik doğrulama seçimi tercih edilen bir sağlayıcı ima ettiğinde ilk kurulum, varsayılan model ve izin listesi seçicilerini bu sağlayıcıya ön filtreler. Volcengine ve BytePlus için bu, coding-plan varyantlarını da eşleştirir (`volcengine-plan/*`, `byteplus-plan/*`).
- Tercih edilen sağlayıcı filtresi henüz yüklenmiş model üretmezse ilk katılım, seçiciyi boş bırakmak yerine filtresiz kataloğa geri döner.
+ Tercih edilen sağlayıcı filtresi henüz yüklü model döndürmezse ilk kurulum, seçiciyi boş bırakmak yerine filtrelenmemiş kataloğa geri döner.
- Bazı web-search sağlayıcıları, sağlayıcıya özgü takip istemlerini tetikler:
+ Bazı web arama sağlayıcıları sağlayıcıya özgü takip istemlerini tetikler:
- **Grok**, aynı `XAI_API_KEY` ve bir `x_search` model seçimiyle isteğe bağlı `x_search` kurulumu sunabilir.
- - **Kimi**, Moonshot API bölgesini (`api.moonshot.ai` ve `api.moonshot.cn`) ve varsayılan Kimi web-search modelini sorabilir.
+ - **Kimi**, Moonshot API bölgesini (`api.moonshot.ai` ve `api.moonshot.cn`) ve varsayılan Kimi web arama modelini sorabilir.
- - Yerel ilk katılım DM kapsamı davranışı: [CLI kurulum başvurusu](/tr/start/wizard-cli-reference#outputs-and-internals).
+ - Yerel ilk kurulum DM kapsamı davranışı: [CLI setup reference](/tr/start/wizard-cli-reference#outputs-and-internals).
- En hızlı ilk sohbet: `openclaw dashboard` (Control UI, kanal kurulumu yok).
- - Özel sağlayıcı: listelenmeyen barındırılan sağlayıcılar dahil, OpenAI veya Anthropic uyumlu herhangi bir endpoint'e bağlanın. Otomatik algılama için Unknown kullanın.
- - Hermes durumu algılanırsa ilk katılım bir geçiş akışı sunar. Deneme çalıştırması planları, üzerine yazma modu, raporlar ve kesin eşlemeler için [Geçir](/tr/cli/migrate) kullanın.
+ - Özel sağlayıcı: listelenmeyen barındırılan sağlayıcılar dahil, herhangi bir OpenAI veya Anthropic uyumlu uç noktayı bağlayın. Otomatik algılama için Unknown kullanın.
+ - Hermes durumu algılanırsa ilk kurulum bir geçiş akışı sunar. Kuru çalıştırma planları, üzerine yazma modu, raporlar ve tam eşlemeler için [Migrate](/tr/cli/migrate) kullanın.
@@ -218,5 +220,5 @@ openclaw agents add
```
-`--json` etkileşimsiz mod anlamına gelmez. Betikler için `--non-interactive` kullanın.
+`--json`, etkileşimsiz modu ima etmez. Betikler için `--non-interactive` kullanın.
diff --git a/docs/tr/cli/plugins.md b/docs/tr/cli/plugins.md
index e83d57905..a045c1d44 100644
--- a/docs/tr/cli/plugins.md
+++ b/docs/tr/cli/plugins.md
@@ -1,24 +1,24 @@
---
read_when:
- - Gateway Plugin'lerini veya uyumlu paketleri kurmak ya da yönetmek istiyorsunuz
+ - Gateway Plugin'lerini veya uyumlu paketleri yüklemek ya da yönetmek istiyorsanız
- Plugin yükleme hatalarında hata ayıklamak istiyorsunuz
sidebarTitle: Plugins
-summary: '`openclaw plugins` için CLI referansı (list, install, marketplace, uninstall, enable/disable, deps, doctor)'
-title: Plugin'ler
+summary: '`openclaw plugins` için CLI başvurusu (list, install, marketplace, uninstall, enable/disable, deps, doctor)'
+title: Pluginler
x-i18n:
- generated_at: "2026-04-30T09:14:19Z"
+ generated_at: "2026-05-01T08:59:31Z"
model: gpt-5.5
provider: openai
- source_hash: 381e3243eaefb5b5e31db8fd2ba459773649a6ef427080a12018ea92b25f707c
+ source_hash: cc4b2b753b541dd143e9c2f7e8a2153711a18e15773c65f91756d2729ca3d6fb
source_path: cli/plugins.md
workflow: 16
---
-Gateway Pluginlerini, hook paketlerini ve uyumlu paketleri yönetin.
+Gateway Plugin'lerini, kanca paketlerini ve uyumlu paketleri yönetin.
- Pluginleri yükleme, etkinleştirme ve sorunlarını giderme için son kullanıcı kılavuzu.
+ Plugin'leri yükleme, etkinleştirme ve sorun giderme için son kullanıcı kılavuzu.
Paket uyumluluk modeli.
@@ -27,7 +27,7 @@ Gateway Pluginlerini, hook paketlerini ve uyumlu paketleri yönetin.
Manifest alanları ve yapılandırma şeması.
- Plugin yüklemeleri için güvenlik sıkılaştırması.
+ Plugin yüklemeleri için güvenlik güçlendirmesi.
@@ -40,6 +40,7 @@ openclaw plugins list --verbose
openclaw plugins list --json
openclaw plugins install
openclaw plugins inspect
+openclaw plugins inspect --runtime
openclaw plugins inspect --json
openclaw plugins inspect --all
openclaw plugins info
@@ -59,12 +60,12 @@ openclaw plugins marketplace list
openclaw plugins marketplace list --json
```
-Yavaş yükleme, inceleme, kaldırma veya kayıt yenileme araştırmaları için komutu `OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1` ile çalıştırın. İz, aşama zamanlamalarını stderr’ye yazar ve JSON çıktısını ayrıştırılabilir tutar. Bkz. [Hata Ayıklama](/tr/help/debugging#plugin-lifecycle-trace).
+Yavaş yükleme, inceleme, kaldırma veya registry yenileme araştırması için komutu `OPENCLAW_PLUGIN_LIFECYCLE_TRACE=1` ile çalıştırın. İz, aşama zamanlamalarını stderr'ye yazar ve JSON çıktısını ayrıştırılabilir halde tutar. Bkz. [Hata ayıklama](/tr/help/debugging#plugin-lifecycle-trace).
-Birlikte gelen pluginler OpenClaw ile gönderilir. Bazıları varsayılan olarak etkindir (örneğin birlikte gelen model sağlayıcıları, birlikte gelen konuşma sağlayıcıları ve birlikte gelen tarayıcı Plugini); diğerleri `plugins enable` gerektirir.
+Paketlenmiş Plugin'ler OpenClaw ile birlikte gelir. Bazıları varsayılan olarak etkindir (örneğin paketlenmiş model sağlayıcıları, paketlenmiş konuşma sağlayıcıları ve paketlenmiş tarayıcı Plugin'i); diğerleri `plugins enable` gerektirir.
-Yerel OpenClaw pluginleri, satır içi JSON Schema (`configSchema`, boş olsa bile) içeren `openclaw.plugin.json` ile gönderilmelidir. Uyumlu paketler bunun yerine kendi paket manifestlerini kullanır.
+Yerel OpenClaw Plugin'leri satır içi JSON Schema (`configSchema`, boş olsa bile) içeren `openclaw.plugin.json` ile gelmelidir. Uyumlu paketler bunun yerine kendi paket manifestlerini kullanır.
`plugins list`, `Format: openclaw` veya `Format: bundle` gösterir. Ayrıntılı liste/bilgi çıktısı ayrıca paket alt türünü (`codex`, `claude` veya `cursor`) ve algılanan paket yeteneklerini gösterir.
@@ -72,64 +73,64 @@ Yerel OpenClaw pluginleri, satır içi JSON Schema (`configSchema`, boş olsa bi
### Yükleme
```bash
-openclaw plugins install # ClawHub first, then npm
-openclaw plugins install clawhub: # ClawHub only
-openclaw plugins install npm: # npm only
-openclaw plugins install --force # overwrite existing install
-openclaw plugins install --pin # pin version
+openclaw plugins install # Önce ClawHub, sonra npm
+openclaw plugins install clawhub: # Yalnızca ClawHub
+openclaw plugins install npm: # Yalnızca npm
+openclaw plugins install --force # mevcut yüklemenin üzerine yaz
+openclaw plugins install --pin # sürümü sabitle
openclaw plugins install --dangerously-force-unsafe-install
-openclaw plugins install # local path
+openclaw plugins install # yerel yol
openclaw plugins install @ # marketplace
-openclaw plugins install --marketplace # marketplace (explicit)
+openclaw plugins install --marketplace # marketplace (açıkça)
openclaw plugins install --marketplace https://github.com//
```
-Çıplak paket adları önce ClawHub’a, ardından npm’ye göre denetlenir. Plugin yüklemelerini kod çalıştırmak gibi değerlendirin. Sabitlenmiş sürümleri tercih edin.
+Yalın paket adları önce ClawHub, sonra npm ile denetlenir. Plugin yüklemelerini kod çalıştırmak gibi değerlendirin. Sabitlenmiş sürümleri tercih edin.
-ClawHub, çoğu plugin için birincil dağıtım ve keşif yüzeyidir. Npm desteklenen bir yedek ve doğrudan yükleme yolu olarak kalır. ClawHub’a geçiş sırasında OpenClaw, OpenClaw’a ait bazı `@openclaw/*` plugin paketlerini hâlâ npm üzerinde gönderir; bu paket sürümleri, plugin yayın trenleri arasında birlikte gelen kaynağın gerisinde kalabilir. Npm, OpenClaw’a ait bir plugin paketini kullanımdan kaldırılmış olarak bildirirse, yayımlanan o sürüm eski bir harici yapıdır; daha yeni bir npm paketi yayımlanana kadar mevcut OpenClaw ile birlikte gelen Plugini veya yerel bir checkout kullanın.
+ClawHub, çoğu Plugin için birincil dağıtım ve keşif yüzeyidir. Npm desteklenen bir yedek ve doğrudan yükleme yolu olmaya devam eder. ClawHub'a geçiş sırasında OpenClaw, OpenClaw'a ait bazı `@openclaw/*` Plugin paketlerini npm üzerinde yayımlamaya devam eder; bu paket sürümleri, Plugin yayın trenleri arasında paketlenmiş kaynağın gerisinde kalabilir. npm, OpenClaw'a ait bir Plugin paketini kullanımdan kaldırılmış olarak bildirirse bu yayımlanmış sürüm eski bir dış artefakttır; daha yeni bir npm paketi yayımlanana kadar güncel OpenClaw ile paketlenmiş Plugin'i veya yerel bir checkout kullanın.
-
- `plugins` bölümünüz tek dosyalı bir `$include` tarafından destekleniyorsa, `plugins install/update/enable/disable/uninstall` bu dahil edilen dosyaya yazar ve `openclaw.json` dosyasına dokunmaz. Kök include’lar, include dizileri ve kardeş geçersiz kılmaları olan include’lar düzleştirilmek yerine kapalı hata verir. Desteklenen biçimler için bkz. [Yapılandırma include’ları](/tr/gateway/configuration).
+
+ `plugins` bölümünüz tek dosyalı bir `$include` ile destekleniyorsa `plugins install/update/enable/disable/uninstall`, bu dahil edilen dosyaya yazar ve `openclaw.json` dosyasına dokunmaz. Kök include'lar, include dizileri ve kardeş override'lara sahip include'lar düzleştirmek yerine kapalı şekilde başarısız olur. Desteklenen biçimler için [Yapılandırma include'ları](/tr/gateway/configuration) bölümüne bakın.
- Yükleme sırasında yapılandırma geçersizse, `plugins install` normalde kapalı hata verir ve önce `openclaw doctor --fix` çalıştırmanızı söyler. Gateway başlangıcında, bir plugin için geçersiz yapılandırma o plugine izole edilir; böylece diğer kanallar ve pluginler çalışmaya devam edebilir. `openclaw doctor --fix`, geçersiz plugin girdisini karantinaya alabilir. Belgelenmiş tek yükleme zamanı istisnası, açıkça `openclaw.install.allowInvalidConfigRecovery` seçeneğine dahil olan pluginler için dar kapsamlı bir birlikte gelen plugin kurtarma yoludur.
+ Yükleme sırasında yapılandırma geçersizse `plugins install` normalde kapalı şekilde başarısız olur ve önce `openclaw doctor --fix` çalıştırmanızı söyler. Gateway başlatılırken bir Plugin için geçersiz yapılandırma o Plugin ile sınırlandırılır, böylece diğer kanallar ve Plugin'ler çalışmaya devam edebilir; `openclaw doctor --fix` geçersiz Plugin girdisini karantinaya alabilir. Belgelenmiş tek yükleme zamanı istisnası, açıkça `openclaw.install.allowInvalidConfigRecovery` seçeneğine katılan Plugin'ler için dar kapsamlı paketlenmiş Plugin kurtarma yoludur.
- `--force`, mevcut yükleme hedefini yeniden kullanır ve zaten yüklü olan bir plugini veya hook paketini yerinde üzerine yazar. Aynı kimliği yeni bir yerel yoldan, arşivden, ClawHub paketinden veya npm yapısından kasıtlı olarak yeniden yüklüyorsanız bunu kullanın. Zaten izlenen bir npm plugininin rutin yükseltmeleri için `openclaw plugins update ` komutunu tercih edin.
+ `--force`, mevcut yükleme hedefini yeniden kullanır ve zaten yüklenmiş bir Plugin'in veya kanca paketinin üzerine yerinde yazar. Aynı kimliği yeni bir yerel yoldan, arşivden, ClawHub paketinden veya npm artefaktından bilinçli olarak yeniden yüklüyorsanız bunu kullanın. Zaten izlenen bir npm Plugin'inin rutin yükseltmeleri için `openclaw plugins update ` tercih edin.
- Zaten yüklü bir plugin kimliği için `plugins install` çalıştırırsanız OpenClaw durur ve normal yükseltme için sizi `plugins update ` komutuna, geçerli yüklemeyi farklı bir kaynaktan gerçekten üzerine yazmak istediğinizde ise `plugins install --force` komutuna yönlendirir.
+ Zaten yüklü olan bir Plugin kimliği için `plugins install` çalıştırırsanız OpenClaw durur ve normal yükseltme için sizi `plugins update ` komutuna, mevcut yüklemenin üzerine gerçekten farklı bir kaynaktan yazmak istediğinizde ise `plugins install --force` komutuna yönlendirir.
- `--pin` yalnızca npm yüklemeleri için geçerlidir. `--marketplace` ile desteklenmez, çünkü marketplace yüklemeleri npm belirtimi yerine marketplace kaynak meta verilerini kalıcı hale getirir.
+ `--pin` yalnızca npm yüklemeleri için geçerlidir. `--marketplace` ile desteklenmez, çünkü marketplace yüklemeleri npm spec yerine marketplace kaynak metaverilerini kalıcı hale getirir.
- `--dangerously-force-unsafe-install`, yerleşik tehlikeli kod tarayıcısındaki hatalı pozitifler için acil durum seçeneğidir. Yerleşik tarayıcı `critical` bulguları bildirdiğinde bile yüklemenin devam etmesine izin verir, ancak plugin `before_install` hook ilke engellerini **atlamaz** ve tarama hatalarını **atlamaz**.
+ `--dangerously-force-unsafe-install`, yerleşik tehlikeli kod tarayıcısındaki yanlış pozitifler için son çare seçeneğidir. Yerleşik tarayıcı `critical` bulgular bildirse bile yüklemenin devam etmesine izin verir, ancak Plugin `before_install` kanca ilkesi engellerini atlatmaz ve tarama hatalarını atlatmaz.
- Bu CLI bayrağı, plugin yükleme/güncelleme akışlarına uygulanır. Gateway destekli skill bağımlılık yüklemeleri eşleşen `dangerouslyForceUnsafeInstall` istek geçersiz kılmasını kullanırken, `openclaw skills install` ayrı bir ClawHub skill indirme/yükleme akışı olarak kalır.
+ Bu CLI bayrağı, Plugin yükleme/güncelleme akışları için geçerlidir. Gateway destekli skill bağımlılığı yüklemeleri eşleşen `dangerouslyForceUnsafeInstall` istek override'ını kullanırken, `openclaw skills install` ayrı bir ClawHub skill indirme/yükleme akışı olarak kalır.
- ClawHub’da yayımladığınız bir plugin kayıt taraması tarafından engelleniyorsa [ClawHub](/tr/tools/clawhub) bölümündeki yayıncı adımlarını kullanın.
+ ClawHub üzerinde yayımladığınız bir Plugin registry taraması tarafından engellenirse [ClawHub](/tr/tools/clawhub) bölümündeki yayımcı adımlarını kullanın.
-
- `plugins install`, `package.json` içinde `openclaw.hooks` sunan hook paketleri için de yükleme yüzeyidir. Paket yüklemesi için değil, filtrelenmiş hook görünürlüğü ve hook başına etkinleştirme için `openclaw hooks` kullanın.
+
+ `plugins install`, `package.json` içinde `openclaw.hooks` sunan kanca paketleri için de yükleme yüzeyidir. Paket yükleme için değil, filtrelenmiş kanca görünürlüğü ve kanca bazında etkinleştirme için `openclaw hooks` kullanın.
- Npm belirtimleri **yalnızca kayıt** içindir (paket adı + isteğe bağlı **tam sürüm** veya **dist-tag**). Git/URL/dosya belirtimleri ve semver aralıkları reddedilir. Bağımlılık yüklemeleri, kabuğunuzda genel npm yükleme ayarları olsa bile güvenlik için `--ignore-scripts` ile proje yerelinde çalışır.
+ Npm spec'leri **yalnızca registry** içindir (paket adı + isteğe bağlı **tam sürüm** veya **dist-tag**). Git/URL/file spec'leri ve semver aralıkları reddedilir. Bağımlılık yüklemeleri, kabuğunuzda global npm yükleme ayarları olsa bile güvenlik için `--ignore-scripts` ile proje yerelinde çalışır.
- ClawHub aramasını atlayıp doğrudan npm’den yüklemek istediğinizde `npm:` kullanın. Çıplak paket belirtimleri yine de ClawHub’ı tercih eder ve yalnızca ClawHub’da ilgili paket veya sürüm yoksa npm’ye geri döner.
+ ClawHub aramasını atlayıp doğrudan npm'den yüklemek istediğinizde `npm:` kullanın. Yalın paket spec'leri yine ClawHub'ı tercih eder ve yalnızca ClawHub'da o paket veya sürüm yoksa npm'ye geri döner.
- Çıplak belirtimler ve `@latest` kararlı kanalda kalır. npm bunlardan birini ön sürüme çözerse OpenClaw durur ve `@beta`/`@rc` gibi bir ön sürüm etiketiyle ya da `@1.2.3-beta.4` gibi tam bir ön sürümle açıkça dahil olmanızı ister.
+ Yalın spec'ler ve `@latest` kararlı kanalda kalır. npm bunlardan birini bir ön sürüme çözümlerse OpenClaw durur ve `@beta`/`@rc` gibi bir ön sürüm etiketiyle veya `@1.2.3-beta.4` gibi tam bir ön sürümle açıkça katılmanızı ister.
- Çıplak bir yükleme belirtimi birlikte gelen bir plugin kimliğiyle eşleşirse (örneğin `diffs`), OpenClaw birlikte gelen plugini doğrudan yükler. Aynı ada sahip bir npm paketi yüklemek için açık kapsamlı bir belirtim kullanın (örneğin `@scope/diffs`).
+ Yalın yükleme spec'i paketlenmiş bir Plugin kimliğiyle eşleşirse (örneğin `diffs`), OpenClaw paketlenmiş Plugin'i doğrudan yükler. Aynı ada sahip bir npm paketi yüklemek için açık kapsamlı bir spec kullanın (örneğin `@scope/diffs`).
- Desteklenen arşivler: `.zip`, `.tgz`, `.tar.gz`, `.tar`. Yerel OpenClaw plugin arşivleri, çıkarılan plugin kökünde geçerli bir `openclaw.plugin.json` içermelidir; yalnızca `package.json` içeren arşivler, OpenClaw yükleme kayıtlarını yazmadan önce reddedilir.
+ Desteklenen arşivler: `.zip`, `.tgz`, `.tar.gz`, `.tar`. Yerel OpenClaw Plugin arşivleri, çıkarılmış Plugin kökünde geçerli bir `openclaw.plugin.json` içermelidir; yalnızca `package.json` içeren arşivler, OpenClaw yükleme kayıtları yazmadan önce reddedilir.
Claude marketplace yüklemeleri de desteklenir.
@@ -143,25 +144,25 @@ openclaw plugins install clawhub:openclaw-codex-app-server
openclaw plugins install clawhub:openclaw-codex-app-server@1.2.3
```
-OpenClaw artık çıplak npm güvenli plugin belirtimleri için de ClawHub’ı tercih eder. Yalnızca ClawHub’da ilgili paket veya sürüm yoksa npm’ye geri döner:
+OpenClaw artık yalın npm güvenli Plugin spec'leri için de ClawHub'ı tercih eder. Yalnızca ClawHub'da o paket veya sürüm yoksa npm'ye geri döner:
```bash
openclaw plugins install openclaw-codex-app-server
```
-Örneğin ClawHub erişilemez olduğunda veya paketin yalnızca npm’de bulunduğunu bildiğinizde npm’ye özel çözümlemeyi zorlamak için `npm:` kullanın:
+Örneğin ClawHub'a erişilemiyorsa veya paketin yalnızca npm'de bulunduğunu biliyorsanız npm'ye özel çözümlemeyi zorlamak için `npm:` kullanın:
```bash
openclaw plugins install npm:openclaw-codex-app-server
openclaw plugins install npm:@scope/plugin-name@1.0.1
```
-OpenClaw paket arşivini ClawHub’dan indirir, bildirilen plugin API / minimum gateway uyumluluğunu denetler, ardından normal arşiv yolu üzerinden yükler. Kaydedilen yüklemeler, sonraki güncellemeler için ClawHub kaynak meta verilerini korur.
-Sürümsüz ClawHub yüklemeleri, `openclaw plugins update` komutunun daha yeni ClawHub sürümlerini izleyebilmesi için sürümsüz kaydedilmiş bir belirtim tutar; `clawhub:pkg@1.2.3` ve `clawhub:pkg@beta` gibi açık sürüm veya etiket seçicileri bu seçiciye sabitlenmiş kalır.
+OpenClaw paket arşivini ClawHub'dan indirir, bildirilen Plugin API / minimum Gateway uyumluluğunu denetler, ardından normal arşiv yolu üzerinden yükler. Kaydedilen yüklemeler, sonraki güncellemeler için ClawHub kaynak metaverilerini korur.
+Sürümsüz ClawHub yüklemeleri, `openclaw plugins update` komutunun daha yeni ClawHub sürümlerini izleyebilmesi için sürümsüz kaydedilmiş spec'i korur; `clawhub:pkg@1.2.3` ve `clawhub:pkg@beta` gibi açık sürüm veya etiket seçicileri o seçiciye sabitlenmiş olarak kalır.
-#### Marketplace kısayolu
+#### Marketplace kısaltması
-Marketplace adı Claude’un `~/.claude/plugins/known_marketplaces.json` konumundaki yerel kayıt önbelleğinde varsa `plugin@marketplace` kısayolunu kullanın:
+Marketplace adı Claude'un `~/.claude/plugins/known_marketplaces.json` konumundaki yerel registry önbelleğinde varsa `plugin@marketplace` kısaltmasını kullanın:
```bash
openclaw plugins marketplace list
@@ -181,25 +182,25 @@ openclaw plugins install --marketplace ./my-marketplace
- `~/.claude/plugins/known_marketplaces.json` içinden bir Claude bilinen marketplace adı
- yerel bir marketplace kökü veya `marketplace.json` yolu
- - `owner/repo` gibi bir GitHub repo kısayolu
- - `https://github.com/owner/repo` gibi bir GitHub repo URL’si
- - bir git URL’si
+ - `owner/repo` gibi bir GitHub repo kısaltması
+ - `https://github.com/owner/repo` gibi bir GitHub repo URL'si
+ - bir git URL'si
- GitHub veya git üzerinden yüklenen uzak marketplace’ler için plugin girdileri klonlanan marketplace reposunun içinde kalmalıdır. OpenClaw, o repodan göreli yol kaynaklarını kabul eder; uzak manifestlerden HTTP(S), mutlak yol, git, GitHub ve diğer yol olmayan plugin kaynaklarını reddeder.
+ GitHub veya git üzerinden yüklenen uzak marketplace'ler için Plugin girdileri klonlanan marketplace repo'sunun içinde kalmalıdır. OpenClaw, o repo'dan göreli yol kaynaklarını kabul eder ve uzak manifestlerden HTTP(S), mutlak yol, git, GitHub ve diğer yol olmayan Plugin kaynaklarını reddeder.
-Yerel yollar ve arşivler için OpenClaw otomatik algılar:
+Yerel yollar ve arşivler için OpenClaw otomatik algılama yapar:
-- yerel OpenClaw pluginleri (`openclaw.plugin.json`)
+- yerel OpenClaw Plugin'leri (`openclaw.plugin.json`)
- Codex uyumlu paketler (`.codex-plugin/plugin.json`)
-- Claude uyumlu paketler (`.claude-plugin/plugin.json` veya varsayılan Claude bileşen düzeni)
+- Claude uyumlu paketler (`.claude-plugin/plugin.json` veya varsayılan Claude bileşen yerleşimi)
- Cursor uyumlu paketler (`.cursor-plugin/plugin.json`)
-Uyumlu paketler normal plugin köküne yüklenir ve aynı liste/bilgi/etkinleştirme/devre dışı bırakma akışına katılır. Bugün paket skill’leri, Claude command-skill’leri, Claude `settings.json` varsayılanları, Claude `.lsp.json` / manifest tarafından bildirilen `lspServers` varsayılanları, Cursor command-skill’leri ve uyumlu Codex hook dizinleri desteklenir; algılanan diğer paket yetenekleri tanılama/bilgi içinde gösterilir ancak henüz çalışma zamanı yürütmesine bağlanmamıştır.
+Uyumlu paketler normal Plugin köküne yüklenir ve aynı liste/bilgi/etkinleştirme/devre dışı bırakma akışına katılır. Bugün paket skill'leri, Claude komut skill'leri, Claude `settings.json` varsayılanları, Claude `.lsp.json` / manifest beyanlı `lspServers` varsayılanları, Cursor komut skill'leri ve uyumlu Codex kanca dizinleri desteklenir; algılanan diğer paket yetenekleri tanılarda/bilgide gösterilir ancak henüz çalışma zamanı yürütmesine bağlanmamıştır.
### Liste
@@ -212,30 +213,30 @@ openclaw plugins list --json
```
- Yalnızca etkin pluginleri göster.
+ Yalnızca etkin Plugin'leri göster.
- Tablo görünümünden kaynak/köken/sürüm/etkinleştirme meta verilerini içeren plugin başına ayrıntı satırlarına geç.
+ Tablo görünümünden, kaynak/köken/sürüm/etkinleştirme metaverileri içeren Plugin başına ayrıntı satırlarına geç.
- Makine tarafından okunabilir envanter ve kayıt tanılamaları.
+ Makine tarafından okunabilir envanter ve registry tanılamaları.
-`plugins list` önce kalıcı yerel Plugin kayıt defterini okur; kayıt defteri eksik veya geçersiz olduğunda yalnızca manifestten türetilen bir geri dönüş kullanır. Bir Plugin’in kurulu, etkin ve soğuk başlangıç planlamasına görünür olup olmadığını denetlemek için yararlıdır, ancak zaten çalışan bir Gateway sürecinin canlı çalışma zamanı yoklaması değildir. Plugin kodunu, etkinleştirmeyi, hook ilkesini veya `plugins.load.paths` değerini değiştirdikten sonra, yeni `register(api)` kodunun veya hook’ların çalışmasını beklemeden önce kanala hizmet veren Gateway’i yeniden başlatın. Uzak/konteyner dağıtımlarında, yalnızca bir sarmalayıcı süreci değil, gerçek `openclaw gateway run` alt sürecini yeniden başlattığınızı doğrulayın.
+`plugins list`, önce kalıcı yerel Plugin kayıt defterini okur; kayıt defteri eksik veya geçersiz olduğunda yalnızca manifestten türetilmiş bir yedeğe döner. Bir Plugin'in kurulu, etkin ve soğuk başlatma planlamasında görünür olup olmadığını kontrol etmek için kullanışlıdır, ancak zaten çalışan bir Gateway işleminin canlı çalışma zamanı yoklaması değildir. Plugin kodunu, etkinleştirmeyi, hook ilkesini veya `plugins.load.paths` değerini değiştirdikten sonra, yeni `register(api)` kodunun veya hook'ların çalışmasını beklemeden önce kanala hizmet veren Gateway'i yeniden başlatın. Uzak/container dağıtımları için yalnızca bir sarmalayıcı işlemi değil, gerçek `openclaw gateway run` alt işlemini yeniden başlattığınızı doğrulayın.
-Paketlenmiş bir Docker imajı içinde paketle birlikte gelen Plugin çalışması için, Plugin
-kaynak dizinini eşleşen paketlenmiş kaynak yolunun üzerine bind-mount edin; örneğin
-`/app/extensions/synology-chat`. OpenClaw bu bağlanan kaynak
-katmanını `/app/dist/extensions/synology-chat` öncesinde keşfeder; düz kopyalanmış bir kaynak
-dizini etkisiz kalır, böylece normal paketlenmiş kurulumlar derlenmiş dist’i kullanmaya devam eder.
+Paketlenmiş bir Docker imajı içinde paketli Plugin çalışması için Plugin
+kaynak dizinini, `/app/extensions/synology-chat` gibi eşleşen paketlenmiş kaynak
+yolunun üzerine bind-mount edin. OpenClaw, bu bağlanmış kaynak overlay'ini
+`/app/dist/extensions/synology-chat` yolundan önce keşfeder; düz şekilde kopyalanmış
+bir kaynak dizini etkisiz kalır, böylece normal paketlenmiş kurulumlar derlenmiş dist'i kullanmaya devam eder.
Çalışma zamanı hook hata ayıklaması için:
-- `openclaw plugins inspect --json`, modül yüklenmiş bir inceleme geçişinden kayıtlı hook’ları ve tanıları gösterir.
-- `openclaw gateway status --deep --require-rpc`, erişilebilir Gateway’i, hizmet/süreç ipuçlarını, yapılandırma yolunu ve RPC sağlığını doğrular.
-- Paketle gelmeyen konuşma hook’ları (`llm_input`, `llm_output`, `before_agent_finalize`, `agent_end`) `plugins.entries..hooks.allowConversationAccess=true` gerektirir.
+- `openclaw plugins inspect --runtime --json`, modül yüklenmiş bir inceleme geçişinden kayıtlı hook'ları ve tanıları gösterir. Çalışma zamanı incelemesi, eksik paketli çalışma zamanı bağımlılıklarını asla indirmez; onarım gerektiğinde `openclaw plugins deps --repair` kullanın.
+- `openclaw gateway status --deep --require-rpc`, erişilebilir Gateway'i, hizmet/işlem ipuçlarını, yapılandırma yolunu ve RPC sağlığını doğrular.
+- Paketli olmayan konuşma hook'ları (`llm_input`, `llm_output`, `before_agent_finalize`, `agent_end`) için `plugins.entries..hooks.allowConversationAccess=true` gerekir.
Yerel bir dizini kopyalamaktan kaçınmak için `--link` kullanın (`plugins.load.paths` içine ekler):
@@ -244,16 +245,16 @@ openclaw plugins install -l ./my-plugin
```
-`--force`, `--link` ile desteklenmez çünkü bağlantılı kurulumlar yönetilen bir kurulum hedefinin üzerine kopyalamak yerine kaynak yolunu yeniden kullanır.
+`--force`, `--link` ile desteklenmez çünkü bağlantılı kurulumlar yönetilen kurulum hedefinin üzerine kopyalamak yerine kaynak yolunu yeniden kullanır.
-Varsayılan davranışı sabitlenmemiş bırakırken çözümlenen tam spec’i (`name@version`) yönetilen Plugin dizinine kaydetmek için npm kurulumlarında `--pin` kullanın.
+Varsayılan davranışı sabitlenmemiş tutarken çözümlenen kesin spec'i (`name@version`) yönetilen Plugin dizinine kaydetmek için npm kurulumlarında `--pin` kullanın.
### Plugin dizini
-Plugin kurulum meta verileri kullanıcı yapılandırması değil, makine tarafından yönetilen durumdur. Kurulumlar ve güncellemeler bunu etkin OpenClaw durum dizini altında `plugins/installs.json` içine yazar. Üst düzey `installRecords` haritası, bozuk veya eksik Plugin manifestleri için kayıtlar dahil olmak üzere kurulum meta verilerinin kalıcı kaynağıdır. `plugins` dizisi, manifestten türetilen soğuk kayıt defteri önbelleğidir. Dosya, düzenlemeyin uyarısı içerir ve `openclaw plugins update`, kaldırma, tanılama ve soğuk Plugin kayıt defteri tarafından kullanılır.
+Plugin kurulum meta verileri kullanıcı yapılandırması değil, makine tarafından yönetilen durumdur. Kurulumlar ve güncellemeler bunu etkin OpenClaw durum dizini altında `plugins/installs.json` dosyasına yazar. Üst düzey `installRecords` haritası, bozuk veya eksik Plugin manifest kayıtları dahil olmak üzere kurulum meta verilerinin kalıcı kaynağıdır. `plugins` dizisi, manifestten türetilmiş soğuk kayıt defteri önbelleğidir. Dosya bir düzenlemeyin uyarısı içerir ve `openclaw plugins update`, kaldırma, tanılar ve soğuk Plugin kayıt defteri tarafından kullanılır.
-OpenClaw yapılandırmada gönderilmiş eski `plugins.installs` kayıtlarını gördüğünde, bunları Plugin dizinine taşır ve yapılandırma anahtarını kaldırır; yazma işlemlerinden biri başarısız olursa kurulum meta verilerinin kaybolmaması için yapılandırma kayıtları korunur.
+OpenClaw, yapılandırmada gönderilmiş eski `plugins.installs` kayıtlarını gördüğünde bunları Plugin dizinine taşır ve yapılandırma anahtarını kaldırır; yazma işlemlerinden biri başarısız olursa kurulum meta verileri kaybolmasın diye yapılandırma kayıtları korunur.
### Çalışma zamanı bağımlılıkları
@@ -264,9 +265,11 @@ openclaw plugins deps --prune
openclaw plugins deps --json
```
-`plugins deps`, Plugin yapılandırması, etkin/yapılandırılmış kanallar, yapılandırılmış model sağlayıcıları veya paketle gelen manifest varsayılanları tarafından seçilen OpenClaw’a ait paketle gelen Plugin’ler için paketlenmiş çalışma zamanı bağımlılık aşamasını inceler. Üçüncü taraf npm veya ClawHub Plugin’leri için kurulum/güncelleme yolu değildir.
+`plugins deps`, Plugin yapılandırması, etkin/yapılandırılmış kanallar, yapılandırılmış model sağlayıcıları veya paketli manifest varsayılanları tarafından seçilen OpenClaw'a ait paketli Plugin'ler için paketlenmiş çalışma zamanı bağımlılık aşamasını inceler. Üçüncü taraf npm veya ClawHub Plugin'leri için kurulum/güncelleme yolu değildir.
-Paketlenmiş bir kurulum Gateway başlangıcı sırasında veya `plugins doctor` içinde eksik paketle gelen çalışma zamanı bağımlılıkları bildirdiğinde `--repair` kullanın. Onarım, yalnızca eksik etkin paketle gelen Plugin bağımlılıklarını yaşam döngüsü betikleri devre dışı olarak kurar. Eski paketlenmiş düzenlerden kalan bayat bilinmeyen harici çalışma zamanı bağımlılığı köklerini kaldırmak için `--prune` kullanın.
+Paketlenmiş bir kurulum, Gateway başlatma sırasında veya `plugins doctor` içinde eksik paketli çalışma zamanı bağımlılıkları bildirdiğinde `--repair` kullanın. Onarım yalnızca eksik etkin paketli-Plugin bağımlılıklarını yaşam döngüsü betikleri devre dışıyken kurar. Eski paketlenmiş düzenlerden kalan eski bilinmeyen harici çalışma zamanı bağımlılığı köklerini kaldırmak için `--prune` kullanın.
+
+Tam plan, hazırlama ve onarım yaşam döngüsü için bkz. [Plugin bağımlılık çözümleme](/tr/plugins/dependency-resolution).
### Kaldırma
@@ -276,7 +279,7 @@ openclaw plugins uninstall --dry-run
openclaw plugins uninstall --keep-files
```
-`uninstall`, uygulanabildiğinde Plugin kayıtlarını `plugins.entries` içinden, kalıcı Plugin dizininden, Plugin izin/veri listesi girdilerinden ve bağlantılı `plugins.load.paths` girdilerinden kaldırır. `--keep-files` ayarlanmadıkça kaldırma, OpenClaw’ın Plugin uzantıları kökü içindeyse izlenen yönetilen kurulum dizinini de kaldırır. Active Memory Plugin’leri için bellek yuvası `memory-core` değerine sıfırlanır.
+`uninstall`, Plugin kayıtlarını `plugins.entries` içinden, kalıcı Plugin dizininden, Plugin izin/engelleme listesi girdilerinden ve geçerliyse bağlantılı `plugins.load.paths` girdilerinden kaldırır. `--keep-files` ayarlanmadığı sürece kaldırma, OpenClaw'ın Plugin uzantıları kökü içindeyse izlenen yönetilen kurulum dizinini de kaldırır. Active Memory Plugin'leri için bellek yuvası `memory-core` değerine sıfırlanır.
`--keep-config`, `--keep-files` için kullanımdan kaldırılmış bir takma ad olarak desteklenir.
@@ -292,25 +295,25 @@ openclaw plugins update @openclaw/voice-call@beta
openclaw plugins update openclaw-codex-app-server --dangerously-force-unsafe-install
```
-Güncellemeler, yönetilen Plugin dizinindeki izlenen Plugin kurulumlarına ve `hooks.internal.installs` içindeki izlenen hook paketi kurulumlarına uygulanır.
+Güncellemeler, yönetilen Plugin dizinindeki izlenen Plugin kurulumlarına ve `hooks.internal.installs` içindeki izlenen hook-pack kurulumlarına uygulanır.
- Bir Plugin id’si verdiğinizde OpenClaw, o Plugin için kaydedilmiş kurulum spec’ini yeniden kullanır. Bu, `@beta` gibi önceden depolanmış dist-tag’lerin ve tam sabitlenmiş sürümlerin sonraki `update ` çalıştırmalarında kullanılmaya devam edeceği anlamına gelir.
+ Bir Plugin id'si verdiğinizde OpenClaw, o Plugin için kaydedilmiş kurulum spec'ini yeniden kullanır. Bu, `@beta` gibi daha önce saklanmış dist-tag'lerin ve kesin sabitlenmiş sürümlerin sonraki `update ` çalıştırmalarında kullanılmaya devam edeceği anlamına gelir.
- npm kurulumları için, dist-tag veya tam sürüm içeren açık bir npm paket spec’i de verebilirsiniz. OpenClaw bu paket adını izlenen Plugin kaydına geri çözümler, kurulu Plugin’i günceller ve gelecekteki id tabanlı güncellemeler için yeni npm spec’ini kaydeder.
+ npm kurulumları için dist-tag veya kesin sürüm içeren açık bir npm paket spec'i de verebilirsiniz. OpenClaw bu paket adını izlenen Plugin kaydına geri çözümler, kurulu Plugin'i günceller ve gelecekteki id tabanlı güncellemeler için yeni npm spec'ini kaydeder.
- npm paket adını sürüm veya etiket olmadan vermek de izlenen Plugin kaydına geri çözümlenir. Bir Plugin tam bir sürüme sabitlenmişse ve onu kayıt defterinin varsayılan sürüm hattına geri taşımak istiyorsanız bunu kullanın.
+ npm paket adını sürüm veya etiket olmadan vermek de izlenen Plugin kaydına geri çözümlenir. Bunu, bir Plugin kesin bir sürüme sabitlendiğinde ve onu kayıt defterinin varsayılan yayın hattına geri taşımak istediğinizde kullanın.
-
- Canlı bir npm güncellemesinden önce OpenClaw, kurulu paket sürümünü npm kayıt defteri meta verilerine göre denetler. Kurulu sürüm ve kaydedilmiş yapıt kimliği zaten çözümlenen hedefle eşleşiyorsa güncelleme indirme, yeniden kurma veya `openclaw.json` yeniden yazma yapmadan atlanır.
+
+ Canlı bir npm güncellemesinden önce OpenClaw, kurulu paket sürümünü npm kayıt defteri meta verilerine göre kontrol eder. Kurulu sürüm ve kaydedilmiş artifact kimliği çözümlenen hedefle zaten eşleşiyorsa güncelleme indirme, yeniden kurma veya `openclaw.json` dosyasını yeniden yazma olmadan atlanır.
- Depolanmış bir bütünlük hash’i varsa ve getirilen yapıt hash’i değişirse OpenClaw bunu npm yapıt kayması olarak ele alır. Etkileşimli `openclaw plugins update` komutu beklenen ve gerçek hash’leri yazdırır ve devam etmeden önce onay ister. Etkileşimsiz güncelleme yardımcıları, çağıran açık bir devam ilkesi sağlamadıkça kapalı şekilde başarısız olur.
+ Saklanan bir bütünlük hash'i mevcutsa ve getirilen artifact hash'i değişirse OpenClaw bunu npm artifact sapması olarak değerlendirir. Etkileşimli `openclaw plugins update` komutu beklenen ve gerçek hash'leri yazdırır ve devam etmeden önce onay ister. Etkileşimsiz güncelleme yardımcıları, çağıran açık bir devam ilkesi sağlamadığı sürece kapalı şekilde başarısız olur.
- `--dangerously-force-unsafe-install`, Plugin güncellemeleri sırasında yerleşik tehlikeli kod taraması yanlış pozitifleri için acil durum geçersiz kılması olarak `plugins update` üzerinde de kullanılabilir. Yine de Plugin `before_install` ilke engellerini veya tarama hatası engellemesini atlamaz ve yalnızca Plugin güncellemelerine uygulanır, hook paketi güncellemelerine uygulanmaz.
+ `--dangerously-force-unsafe-install`, Plugin güncellemeleri sırasında yerleşik tehlikeli kod taraması yanlış pozitifleri için acil durum geçersiz kılması olarak `plugins update` üzerinde de kullanılabilir. Yine de Plugin `before_install` ilke engellerini veya tarama hatası engellemeyi atlamaz ve yalnızca Plugin güncellemelerine uygulanır, hook-pack güncellemelerine uygulanmaz.
@@ -318,22 +321,23 @@ Güncellemeler, yönetilen Plugin dizinindeki izlenen Plugin kurulumlarına ve `
```bash
openclaw plugins inspect
+openclaw plugins inspect --runtime
openclaw plugins inspect --json
```
-Tek bir Plugin için derin içgözlem. Kimliği, yükleme durumunu, kaynağı, kayıtlı yetenekleri, hook’ları, araçları, komutları, hizmetleri, Gateway yöntemlerini, HTTP rotalarını, ilke bayraklarını, tanıları, kurulum meta verilerini, paket yeteneklerini ve algılanan MCP veya LSP sunucu desteğini gösterir.
+Inspect varsayılan olarak Plugin çalışma zamanını içe aktarmadan kimliği, yükleme durumunu, kaynağı, manifest yeteneklerini, ilke bayraklarını, tanıları, kurulum meta verilerini, paket yeteneklerini ve algılanan MCP veya LSP sunucu desteğini gösterir. Plugin modülünü yüklemek ve kayıtlı hook'ları, araçları, komutları, hizmetleri, gateway yöntemlerini ve HTTP rotalarını dahil etmek için `--runtime` ekleyin. Paketli çalışma zamanı bağımlılıkları eksik olduğunda çalışma zamanı incelemesi bir onarım ipucuyla başarısız olur; bunları açıkça onarmak için `openclaw plugins deps --repair` kullanın.
Her Plugin, çalışma zamanında gerçekten kaydettiklerine göre sınıflandırılır:
-- **plain-capability** — tek yetenek türü (ör. yalnızca sağlayıcı Plugin’i)
-- **hybrid-capability** — birden çok yetenek türü (ör. metin + konuşma + görüntüler)
-- **hook-only** — yalnızca hook’lar, yetenek veya yüzey yok
+- **plain-capability** — tek yetenek türü (örn. yalnızca sağlayıcı Plugin'i)
+- **hybrid-capability** — birden çok yetenek türü (örn. metin + konuşma + görseller)
+- **hook-only** — yalnızca hook'lar, yetenek veya yüzey yok
- **non-capability** — araçlar/komutlar/hizmetler var ama yetenek yok
-Yetenek modeli hakkında daha fazla bilgi için [Plugin şekilleri](/tr/plugins/architecture#plugin-shapes) bölümüne bakın.
+Yetenek modeli hakkında daha fazla bilgi için bkz. [Plugin şekilleri](/tr/plugins/architecture#plugin-shapes).
-`--json` bayrağı, betik yazma ve denetim için uygun, makine tarafından okunabilir bir rapor çıktılar. `inspect --all`, şekil, yetenek türleri, uyumluluk bildirimleri, paket yetenekleri ve hook özeti sütunlarını içeren filo genelinde bir tablo işler. `info`, `inspect` için bir takma addır.
+`--json` bayrağı, betikleme ve denetim için uygun makine tarafından okunabilir bir rapor üretir. `inspect --all`, şekil, yetenek türleri, uyumluluk bildirimleri, paket yetenekleri ve hook özeti sütunları içeren filo genelinde bir tablo oluşturur. `info`, `inspect` için bir takma addır.
### Doctor
@@ -344,7 +348,7 @@ openclaw plugins doctor
`doctor`, Plugin yükleme hatalarını, manifest/keşif tanılarını ve uyumluluk bildirimlerini raporlar. Her şey temiz olduğunda `No plugin issues detected.` yazdırır.
-Eksik `register`/`activate` dışa aktarımları gibi modül şekli hatalarında, tanı çıktısına kompakt bir dışa aktarım şekli özeti eklemek için `OPENCLAW_PLUGIN_LOAD_DEBUG=1` ile yeniden çalıştırın.
+Eksik `register`/`activate` dışa aktarımları gibi modül şekli hataları için tanı çıktısına kompakt bir dışa aktarım şekli özeti eklemek üzere `OPENCLAW_PLUGIN_LOAD_DEBUG=1` ile yeniden çalıştırın.
### Kayıt defteri
@@ -354,12 +358,12 @@ openclaw plugins registry --refresh
openclaw plugins registry --json
```
-Yerel Plugin kayıt defteri, kurulu Plugin kimliği, etkinleştirme, kaynak meta verileri ve katkı sahipliği için OpenClaw’ın kalıcı soğuk okuma modelidir. Normal başlangıç, sağlayıcı sahibi araması, kanal kurulum sınıflandırması ve Plugin envanteri, Plugin çalışma zamanı modüllerini içe aktarmadan bunu okuyabilir.
+Yerel Plugin kayıt defteri, kurulu Plugin kimliği, etkinleştirme, kaynak meta verileri ve katkı sahipliği için OpenClaw'ın kalıcı soğuk okuma modelidir. Normal başlatma, sağlayıcı sahibi arama, kanal kurulum sınıflandırması ve Plugin envanteri, Plugin çalışma zamanı modüllerini içe aktarmadan bunu okuyabilir.
-Kalıcı kayıt defterinin mevcut, güncel veya bayat olup olmadığını incelemek için `plugins registry` kullanın. Kalıcı Plugin dizininden, yapılandırma ilkesinden ve manifest/paket meta verilerinden yeniden oluşturmak için `--refresh` kullanın. Bu bir onarım yoludur, çalışma zamanı etkinleştirme yolu değildir.
+Kalıcı kayıt defterinin mevcut, güncel veya eski olup olmadığını incelemek için `plugins registry` kullanın. Kalıcı Plugin dizininden, yapılandırma ilkesinden ve manifest/paket meta verilerinden yeniden oluşturmak için `--refresh` kullanın. Bu bir onarım yoludur, çalışma zamanı etkinleştirme yolu değildir.
-`OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY=1`, kayıt defteri okuma hataları için kullanımdan kaldırılmış bir acil durum uyumluluk anahtarıdır. `plugins registry --refresh` veya `openclaw doctor --fix` tercih edin; env geri dönüşü yalnızca geçiş yayılırken acil başlangıç kurtarması içindir.
+`OPENCLAW_DISABLE_PERSISTED_PLUGIN_REGISTRY=1`, kayıt defteri okuma hataları için kullanımdan kaldırılmış bir acil durum uyumluluk anahtarıdır. `plugins registry --refresh` veya `openclaw doctor --fix` tercih edin; env yedeği yalnızca geçiş yayına alınırken acil başlatma kurtarması içindir.
### Marketplace
@@ -369,10 +373,10 @@ openclaw plugins marketplace list
openclaw plugins marketplace list --json
```
-Marketplace list yerel bir marketplace yolunu, bir `marketplace.json` yolunu, `owner/repo` gibi bir GitHub kısaltmasını, bir GitHub repo URL’sini veya bir git URL’sini kabul eder. `--json`, çözümlenen kaynak etiketinin yanı sıra ayrıştırılan marketplace manifestini ve Plugin girdilerini yazdırır.
+Marketplace list yerel marketplace yolunu, `marketplace.json` yolunu, `owner/repo` gibi bir GitHub kısaltmasını, GitHub depo URL'sini veya git URL'sini kabul eder. `--json`, çözümlenen kaynak etiketini, ayrıştırılmış marketplace manifestini ve Plugin girdilerini yazdırır.
## İlgili
- [Plugin oluşturma](/tr/plugins/building-plugins)
- [CLI başvurusu](/tr/cli)
-- [Topluluk Plugin’leri](/tr/plugins/community)
+- [Topluluk Plugin'leri](/tr/plugins/community)
diff --git a/docs/tr/cli/proxy.md b/docs/tr/cli/proxy.md
index d118316ce..8144c80cc 100644
--- a/docs/tr/cli/proxy.md
+++ b/docs/tr/cli/proxy.md
@@ -1,32 +1,31 @@
---
read_when:
- - Hata ayıklama için OpenClaw taşıma trafiğini yerel olarak yakalamanız gerekiyor
- - Hata ayıklama proxy oturumlarını, blob'ları veya yerleşik sorgu önayarlarını incelemek istiyorsunuz
-summary: Yerel hata ayıklama proxy'si ve yakalama denetleyicisi olan `openclaw proxy` için CLI başvurusu
-title: Proxy
+ - Dağıtımdan önce operatör tarafından yönetilen vekil sunucu yönlendirmesini doğrulamanız gerekir
+ - Hata ayıklama için OpenClaw taşıma trafiğini yerel olarak yakalamanız gerekir
+ - Hata ayıklama proxy oturumlarını, blob'ları veya yerleşik sorgu ön ayarlarını incelemek istiyorsunuz
+summary: '`openclaw proxy` için CLI referansı; operatör tarafından yönetilen ara sunucu doğrulaması ve yerel hata ayıklama ara sunucu yakalama denetleyicisi dahil'
+title: Ara sunucu
x-i18n:
- generated_at: "2026-04-24T09:03:36Z"
- model: gpt-5.4
+ generated_at: "2026-05-01T08:59:54Z"
+ model: gpt-5.5
provider: openai
- source_hash: 7af5c596fb36f67e3fcffaff14dcbb4eabbcff0b95174ac6058a097ec9fd715f
+ source_hash: e0820de861bfe1ec14e0c1624d636d6474b5fedd317e3ba1baaa61f6530e06e9
source_path: cli/proxy.md
- workflow: 15
+ workflow: 16
---
# `openclaw proxy`
-Yerel açık hata ayıklama proxy'sini çalıştırın ve yakalanan trafiği inceleyin.
+Operatör tarafından yönetilen proxy yönlendirmesini doğrulayın veya yerel açık hata ayıklama proxy'sini çalıştırıp yakalanan trafiği inceleyin.
-Bu, taşıma düzeyi inceleme için bir hata ayıklama komutudur. Yerel bir
-proxy başlatabilir, yakalama etkinleştirilmiş bir alt komut çalıştırabilir, yakalama oturumlarını listeleyebilir,
-yaygın trafik desenlerini sorgulayabilir, yakalanan blob'ları okuyabilir ve yerel yakalama
-verilerini temizleyebilir.
+OpenClaw proxy yönlendirmesini etkinleştirmeden önce operatör tarafından yönetilen bir ileri proxy için ön kontrol yapmak üzere `validate` kullanın. Diğer komutlar, aktarım düzeyinde inceleme için hata ayıklama araçlarıdır: yerel proxy başlatabilir, yakalama etkinleştirilmiş bir alt komut çalıştırabilir, yakalama oturumlarını listeleyebilir, yaygın trafik kalıplarını sorgulayabilir, yakalanan blobları okuyabilir ve yerel yakalama verilerini temizleyebilirler.
## Komutlar
```bash
openclaw proxy start [--host ] [--port ]
openclaw proxy run [--host ] [--port ] --
+openclaw proxy validate [--json] [--proxy-url ] [--allowed-url ] [--denied-url ] [--timeout-ms ]
openclaw proxy coverage
openclaw proxy sessions [--limit ]
openclaw proxy query --preset [--session ]
@@ -34,9 +33,23 @@ openclaw proxy blob --id
openclaw proxy purge
```
-## Sorgu önayarları
+## Doğrulama
-`openclaw proxy query --preset ` şu değerleri kabul eder:
+`openclaw proxy validate`, `--proxy-url`, yapılandırma veya `OPENCLAW_PROXY_URL` üzerinden etkin operatör tarafından yönetilen proxy URL'sini denetler. Hiçbir proxy etkinleştirilip yapılandırılmadığında bir yapılandırma sorunu bildirir; yapılandırmayı değiştirmeden önce tek seferlik ön kontrol için `--proxy-url` kullanın. Varsayılan olarak, herkese açık bir hedefin proxy üzerinden başarılı olduğunu ve proxy'nin geçici bir local loopback kanaryasına erişemediğini doğrular. Özel reddedilen hedefler kapalı varsayılanlıdır: dağıtıma özgü bir reddetme sinyalini ayrı olarak doğrulayamıyorsanız hem HTTP yanıtları hem de belirsiz aktarım hataları başarısız olur.
+
+Seçenekler:
+
+- `--json`: makine tarafından okunabilir JSON yazdırır.
+- `--proxy-url `: yapılandırma veya env yerine bu proxy URL'sini doğrular.
+- `--allowed-url `: proxy üzerinden başarılı olması beklenen bir hedef ekler. Birden fazla hedefi denetlemek için tekrarlayın.
+- `--denied-url `: proxy tarafından engellenmesi beklenen bir hedef ekler. Birden fazla hedefi denetlemek için tekrarlayın.
+- `--timeout-ms `: istek başına milisaniye cinsinden zaman aşımı.
+
+Dağıtım rehberliği ve reddetme semantiği için [Ağ Proxy'si](/tr/security/network-proxy) bölümüne bakın.
+
+## Sorgu ön ayarları
+
+`openclaw proxy query --preset ` şunları kabul eder:
- `double-sends`
- `retry-storms`
@@ -47,11 +60,13 @@ openclaw proxy purge
## Notlar
-- `start`, `--host` ayarlanmadıkça varsayılan olarak `127.0.0.1` kullanır.
+- `start`, `--host` ayarlanmadığı sürece varsayılan olarak `127.0.0.1` kullanır.
- `run`, yerel bir hata ayıklama proxy'si başlatır ve ardından `--` sonrasındaki komutu çalıştırır.
+- `validate`, proxy yapılandırması veya hedef denetimleri başarısız olduğunda kod 1 ile çıkar.
- Yakalamalar yerel hata ayıklama verileridir; işiniz bittiğinde `openclaw proxy purge` kullanın.
## İlgili
-- [CLI reference](/tr/cli)
-- [Trusted proxy auth](/tr/gateway/trusted-proxy-auth)
+- [CLI başvurusu](/tr/cli)
+- [Ağ Proxy'si](/tr/security/network-proxy)
+- [Güvenilir proxy kimlik doğrulaması](/tr/gateway/trusted-proxy-auth)
diff --git a/docs/tr/cli/update.md b/docs/tr/cli/update.md
index daeedbbb5..9d8da3fe2 100644
--- a/docs/tr/cli/update.md
+++ b/docs/tr/cli/update.md
@@ -1,14 +1,14 @@
---
read_when:
- - Bir kaynak çalışma kopyasını güvenli şekilde güncellemek istiyorsunuz
+ - Kaynak kod çalışma kopyasını güvenli bir şekilde güncellemek istiyorsunuz
- '`--update` kısaltma davranışını anlamanız gerekir'
-summary: '`openclaw update` için CLI referansı (görece güvenli kaynak güncellemesi + Gateway otomatik yeniden başlatma)'
-title: Güncelleme
+summary: '`openclaw update` için CLI referansı (güvenli sayılabilecek kaynak güncellemesi + Gateway otomatik yeniden başlatma)'
+title: Güncelle
x-i18n:
- generated_at: "2026-04-30T09:14:46Z"
+ generated_at: "2026-05-01T09:00:08Z"
model: gpt-5.5
provider: openai
- source_hash: 9cd4be6be8f6ae7df501f8bce3d208dd507ae5a1539f9772101cd844dcd93976
+ source_hash: bc71740dac6b1af8f695ab60d0ffc1b44a10dd40363538c2a8a37ad518790ce9
source_path: cli/update.md
workflow: 16
---
@@ -17,8 +17,8 @@ x-i18n:
OpenClaw’ı güvenle güncelleyin ve stable/beta/dev kanalları arasında geçiş yapın.
-**npm/pnpm/bun** ile yüklediyseniz (global yükleme, git metadatası yok),
-güncellemeler [Updating](/tr/install/updating) içindeki paket yöneticisi akışı üzerinden gerçekleşir.
+**npm/pnpm/bun** ile kurduysanız (global kurulum, git meta verisi yok),
+güncellemeler [Güncelleme](/tr/install/updating) bölümündeki paket yöneticisi akışıyla yapılır.
## Kullanım
@@ -39,15 +39,15 @@ openclaw --update
## Seçenekler
-- `--no-restart`: başarılı bir güncellemeden sonra Gateway hizmetini yeniden başlatmayı atlar. Gateway’i yeniden başlatan paket yöneticisi güncellemeleri, komut başarılı olmadan önce yeniden başlatılan hizmetin beklenen güncellenmiş sürümü bildirdiğini doğrular.
-- `--channel `: güncelleme kanalını ayarlar (git + npm; yapılandırmada kalıcı olur).
-- `--tag `: paket hedefini yalnızca bu güncelleme için geçersiz kılar. Paket yüklemeleri için `main`, `github:openclaw/openclaw#main` değerine eşlenir.
-- `--dry-run`: yapılandırma yazmadan, yükleme yapmadan, Plugin’leri senkronize etmeden veya yeniden başlatmadan planlanan güncelleme eylemlerini (kanal/etiket/hedef/yeniden başlatma akışı) önizler.
-- `--json`: güncelleme sonrası Plugin senkronizasyonu sırasında npm Plugin yapıtı kayması algılandığında
+- `--no-restart`: başarılı bir güncellemeden sonra Gateway hizmetini yeniden başlatmayı atla. Gateway’i yeniden başlatan paket yöneticisi güncellemeleri, komut başarılı olmadan önce yeniden başlatılan hizmetin beklenen güncellenmiş sürümü bildirdiğini doğrular.
+- `--channel `: güncelleme kanalını ayarla (git + npm; yapılandırmada kalıcı olur).
+- `--tag `: yalnızca bu güncelleme için paket hedefini geçersiz kıl. Paket kurulumlarında `main`, `github:openclaw/openclaw#main` ile eşleşir.
+- `--dry-run`: yapılandırma yazmadan, kurulum yapmadan, Plugin’leri eşitlemeden veya yeniden başlatmadan planlanan güncelleme eylemlerini (kanal/etiket/hedef/yeniden başlatma akışı) önizle.
+- `--json`: npm Plugin yapıtı sapması güncelleme sonrası Plugin eşitlemesi sırasında algılandığında
`postUpdate.plugins.integrityDrifts` dahil olmak üzere makine tarafından okunabilir
- `UpdateRunResult` JSON çıktısı yazdırır.
-- `--timeout `: adım başına zaman aşımı (varsayılan 1800 sn).
-- `--yes`: onay istemlerini atlar (örneğin sürüm düşürme onayı).
+ `UpdateRunResult` JSON çıktısı yazdır.
+- `--timeout `: adım başına zaman aşımı (varsayılan 1800s).
+- `--yes`: onay istemlerini atla (örneğin sürüm düşürme onayı).
Sürüm düşürmeler onay gerektirir çünkü eski sürümler yapılandırmayı bozabilir.
@@ -55,7 +55,7 @@ Sürüm düşürmeler onay gerektirir çünkü eski sürümler yapılandırmayı
## `update status`
-Etkin güncelleme kanalını + git etiketini/dalını/SHA değerini (kaynak checkout’lar için) ve güncelleme kullanılabilirliğini gösterir.
+Etkin güncelleme kanalını + git etiketi/dalı/SHA’sını (kaynak checkout’ları için) ve güncelleme kullanılabilirliğini göster.
```bash
openclaw update status
@@ -65,13 +65,13 @@ openclaw update status --timeout 10
Seçenekler:
-- `--json`: makine tarafından okunabilir durum JSON çıktısı yazdırır.
-- `--timeout `: kontroller için zaman aşımı (varsayılan 3 sn).
+- `--json`: makine tarafından okunabilir durum JSON’u yazdır.
+- `--timeout `: denetimler için zaman aşımı (varsayılan 3s).
## `update wizard`
-Bir güncelleme kanalı seçmek ve güncellemeden sonra Gateway’in yeniden başlatılıp başlatılmayacağını
-onaylamak için etkileşimli akış (varsayılan yeniden başlatmaktır). Git checkout olmadan `dev` seçerseniz,
+Güncelleme kanalını seçmek ve güncellemeden sonra Gateway’in yeniden başlatılıp başlatılmayacağını
+onaylamak için etkileşimli akış (varsayılan yeniden başlatmaktır). Git checkout’ı olmadan `dev` seçerseniz,
bir tane oluşturmayı teklif eder.
Seçenekler:
@@ -80,82 +80,95 @@ Seçenekler:
## Ne yapar
-Kanalları açıkça değiştirdiğinizde (`--channel ...`), OpenClaw yükleme yöntemini de
+Kanalları açıkça değiştirdiğinizde (`--channel ...`), OpenClaw kurulum yöntemini de
uyumlu tutar:
-- `dev` → bir git checkout olmasını sağlar (varsayılan: `~/openclaw`, `OPENCLAW_GIT_DIR` ile geçersiz kılınır),
- bunu günceller ve global CLI’ı bu checkout’tan yükler.
-- `stable` → `latest` kullanarak npm’den yükler.
-- `beta` → npm dist-tag `beta` değerini tercih eder, ancak beta eksikse veya mevcut stable sürümden
- daha eskiyse `latest` değerine geri döner.
+- `dev` → bir git checkout’ı olduğundan emin olur (varsayılan: `~/openclaw`, `OPENCLAW_GIT_DIR` ile geçersiz kılınabilir),
+ onu günceller ve global CLI’yi bu checkout’tan kurar.
+- `stable` → `latest` kullanarak npm’den kurar.
+- `beta` → npm dist-tag `beta` tercih edilir, ancak beta yoksa veya mevcut stable sürümden
+ eskiyse `latest` değerine geri döner.
-Gateway çekirdek otomatik güncelleyicisi (yapılandırma üzerinden etkinleştirildiğinde) aynı güncelleme yolunu yeniden kullanır.
+Gateway çekirdek otomatik güncelleyicisi (yapılandırma üzerinden etkinleştirildiğinde), CLI güncelleme yolunu
+canlı Gateway istek işleyicisinin dışında başlatır. Denetim düzlemi `update.run` paket yöneticisi
+güncellemeleri, paket değişiminden sonra ertelenmeyen bir güncelleme yeniden başlatmasını zorunlu kılar; çünkü eski
+Gateway sürecinde yeni paket tarafından kaldırılmış dosyalara işaret eden bellek içi parçalar hâlâ olabilir.
-Paket yöneticisi yüklemelerinde `openclaw update`, paket yöneticisini çağırmadan önce hedef paket
-sürümünü çözümler. npm global yüklemeleri aşamalı yükleme kullanır: OpenClaw yeni paketi geçici bir npm prefix içine yükler, paketlenmiş `dist` envanterini orada doğrular, ardından bu temiz paket ağacını gerçek global prefix içine değiştirir. Doğrulama başarısız olursa, güncelleme sonrası doctor, Plugin senkronizasyonu ve yeniden başlatma işi şüpheli ağaçtan çalıştırılmaz. Yüklü sürüm hedefle zaten eşleşse bile komut global paket yüklemesini yeniler, ardından Plugin senkronizasyonu, çekirdek komut tamamlama yenilemesi ve yeniden başlatma işi çalıştırır. Bu, tam Plugin komut tamamlama yeniden derlemelerini açık `openclaw completion --write-state` çalıştırmalarına bırakırken paketlenmiş yardımcı bileşenleri ve kanala ait Plugin kayıtlarını yüklü OpenClaw derlemesiyle uyumlu tutar.
+Paket yöneticisi kurulumlarında `openclaw update`, paket yöneticisini çağırmadan önce hedef paket
+sürümünü çözer. npm global kurulumları aşamalı kurulum kullanır: OpenClaw yeni paketi geçici bir npm prefix’ine kurar,
+oradaki paketlenmiş `dist` envanterini doğrular, ardından bu temiz paket ağacını gerçek global prefix’e taşır.
+Doğrulama başarısız olursa güncelleme sonrası doctor, Plugin eşitlemesi ve yeniden başlatma işleri
+şüpheli ağaçtan çalıştırılmaz. Kurulu sürüm hedefle zaten eşleşse bile komut global paket kurulumunu yeniler,
+ardından Plugin eşitlemesi, çekirdek komut tamamlama yenilemesi ve yeniden başlatma işlerini çalıştırır. Bu,
+paketlenmiş yardımcı süreçleri ve kanalın sahip olduğu Plugin kayıtlarını kurulu OpenClaw derlemesiyle uyumlu tutarken
+tam Plugin komutu tamamlama yeniden derlemelerini açık `openclaw completion --write-state` çalıştırmalarına bırakır.
-Yerel yönetilen bir Gateway hizmeti yüklü olduğunda ve yeniden başlatma etkin olduğunda,
-paket yöneticisi güncellemeleri paket ağacını değiştirmeden önce çalışan hizmeti durdurur, ardından hizmet metadatasını güncellenmiş yüklemeden yeniler, hizmeti yeniden başlatır ve yeniden başlatılan Gateway’in beklenen sürümü bildirdiğini doğrular. `--no-restart` ile paket değiştirme yine çalışır ancak yönetilen hizmet durdurulmaz veya yeniden başlatılmaz; bu nedenle çalışan Gateway siz manuel olarak yeniden başlatana kadar eski kodu kullanmaya devam edebilir.
+Yerel yönetilen Gateway hizmeti kurulu olduğunda ve yeniden başlatma etkinleştirildiğinde,
+paket yöneticisi güncellemeleri paket ağacını değiştirmeden önce çalışan hizmeti durdurur,
+ardından güncellenmiş kurulumdan hizmet meta verilerini yeniler, hizmeti yeniden başlatır
+ve yeniden başlatılan Gateway’in beklenen sürümü bildirdiğini doğrular. `--no-restart` ile
+paket değişimi yine çalışır ancak yönetilen hizmet durdurulmaz veya yeniden başlatılmaz; bu nedenle çalışan Gateway,
+siz elle yeniden başlatana kadar eski kodu tutabilir.
## Git checkout akışı
### Kanal seçimi
-- `stable`: en son beta olmayan etiketi checkout yapar, ardından derler ve doctor çalıştırır.
-- `beta`: en son `-beta` etiketini tercih eder, ancak beta eksikse veya daha eskiyse en son stable etikete geri döner.
-- `dev`: `main` checkout yapar, ardından fetch ve rebase yapar.
+- `stable`: en son beta olmayan etiketi checkout yap, ardından derle ve doctor çalıştır.
+- `beta`: en son `-beta` etiketini tercih et, ancak beta yoksa veya daha eskiyse en son stable etikete geri dön.
+- `dev`: `main` checkout yap, ardından fetch ve rebase yap.
### Güncelleme adımları
-
+
Commit edilmemiş değişiklik olmamasını gerektirir.
-
+
Seçilen kanala (etiket veya dal) geçer.
-
+
Yalnızca dev.
-
- Geçici bir worktree içinde lint ve TypeScript derlemesi çalıştırır. Uç başarısız olursa, en yeni temiz derlemeyi bulmak için 10 commit’e kadar geriye gider.
+
+ Geçici bir worktree’de lint ve TypeScript derlemesi çalıştırır. Uç commit başarısız olursa en yeni temiz derlemeyi bulmak için 10 commit’e kadar geri gider.
- Seçilen commit üzerine rebase yapar (yalnızca dev).
+ Seçilen commit’in üzerine rebase yapar (yalnızca dev).
-
- Repo paket yöneticisini kullanır. pnpm checkout’ları için güncelleyici, pnpm workspace içinde `npm run build` çalıştırmak yerine gerektiğinde `pnpm`’i bootstrap eder (önce `corepack` üzerinden, ardından geçici `npm install pnpm@10` geri dönüşüyle).
+
+ Repo paket yöneticisini kullanır. pnpm checkout’larında güncelleyici, pnpm workspace içinde `npm run build` çalıştırmak yerine `pnpm`’i gerektiğinde önyükler (önce `corepack`, ardından geçici `npm install pnpm@10` fallback’i üzerinden).
-
- Gateway’i ve Control UI’ı derler.
+
+ Gateway’i ve Control UI’yi derler.
-
- Son güvenli güncelleme kontrolü olarak `openclaw doctor` çalışır.
+
+ Son güvenli güncelleme denetimi olarak `openclaw doctor` çalışır.
-
- Plugin’leri etkin kanala senkronize eder. Dev paketlenmiş Plugin’leri kullanır; stable ve beta npm kullanır. npm ile yüklenmiş Plugin’leri günceller.
+
+ Plugin’leri etkin kanala eşitler. Dev paketlenmiş Plugin’leri kullanır; stable ve beta npm kullanır. npm ile kurulmuş Plugin’leri günceller.
-Tam olarak sabitlenmiş bir npm Plugin güncellemesi, bütünlüğü saklanan yükleme kaydından farklı olan bir yapıta çözümlenirse, `openclaw update` bu Plugin yapıtı güncellemesini yüklemek yerine iptal eder. Yeni yapıta güvendiğinizi doğruladıktan sonra Plugin’i açıkça yeniden yükleyin veya güncelleyin.
+Tam sabitlenmiş bir npm Plugin güncellemesi, bütünlüğü saklanan kurulum kaydından farklı olan bir yapıta çözümlenirse `openclaw update`, bu Plugin yapıtı güncellemesini kurmak yerine iptal eder. Yeni yapıta güvendiğinizi doğruladıktan sonra Plugin’i açıkça yeniden kurun veya güncelleyin.
-Güncelleme sonrası Plugin senkronizasyonu hataları güncelleme sonucunu başarısız yapar ve yeniden başlatma takip işini durdurur. Plugin yükleme veya güncelleme hatasını düzeltin, ardından `openclaw update` komutunu yeniden çalıştırın.
+Güncelleme sonrası Plugin eşitleme hataları güncelleme sonucunu başarısız yapar ve yeniden başlatma takip işini durdurur. Plugin kurulum veya güncelleme hatasını düzeltin, ardından `openclaw update` komutunu yeniden çalıştırın.
-Güncellenmiş Gateway başladığında, etkinleştirilmiş paketlenmiş Plugin çalışma zamanı bağımlılıkları Plugin aktivasyonundan önce aşamalandırılır. Güncelleme tarafından tetiklenen yeniden başlatmalar, Gateway kapatılmadan önce etkin çalışma zamanı bağımlılığı aşamalandırmasını boşaltır; böylece hizmet yöneticisi yeniden başlatmaları devam eden bir npm yüklemesini kesintiye uğratmaz.
+Güncellenmiş Gateway başladığında, etkin paketlenmiş Plugin çalışma zamanı bağımlılıkları Plugin etkinleştirmeden önce aşamalandırılır. Paket yöneticisi `update.run` yeniden başlatmaları, paket ağacı değiştirildikten sonra normal boşta ertelemeyi atlar; böylece eski süreç kaldırılmış parçaları tembel biçimde yüklemeye devam edemez. Hizmet yöneticisi yeniden başlatmaları Gateway’i kapatmadan önce çalışma zamanı bağımlılığı aşamalandırmasını yine de boşaltır.
-pnpm bootstrap yine başarısız olursa, güncelleyici checkout içinde `npm run build` denemek yerine paket yöneticisine özgü bir hatayla erken durur.
+pnpm önyüklemesi hâlâ başarısız olursa güncelleyici, checkout içinde `npm run build` denemek yerine paket yöneticisine özgü bir hatayla erken durur.
## `--update` kısaltması
-`openclaw --update`, `openclaw update` olarak yeniden yazılır (shell’ler ve başlatıcı script’leri için kullanışlıdır).
+`openclaw --update`, `openclaw update` olarak yeniden yazılır (shell’ler ve başlatıcı betikleri için kullanışlıdır).
## İlgili
-- `openclaw doctor` (git checkout’larında önce güncelleme çalıştırmayı teklif eder)
+- `openclaw doctor` (git checkout’larında önce update çalıştırmayı teklif eder)
- [Geliştirme kanalları](/tr/install/development-channels)
-- [Updating](/tr/install/updating)
-- [CLI referansı](/tr/cli)
+- [Güncelleme](/tr/install/updating)
+- [CLI başvurusu](/tr/cli)
diff --git a/docs/tr/cli/voicecall.md b/docs/tr/cli/voicecall.md
index feddc1a23..3abb957c0 100644
--- a/docs/tr/cli/voicecall.md
+++ b/docs/tr/cli/voicecall.md
@@ -1,31 +1,37 @@
---
read_when:
- - voice-call Plugin'ini kullanıyorsunuz ve CLI giriş noktalarını istiyorsunuz
+ - voice-call Plugin'ini kullanıyor ve CLI giriş noktalarını istiyorsunuz
- '`voicecall setup|smoke|call|continue|dtmf|status|tail|expose` için hızlı örnekler istiyorsunuz'
-summary: '`openclaw voicecall` için CLI başvurusu (voice-call Plugin komut yüzeyi)'
-title: Voicecall
+summary: '`openclaw voicecall` için CLI referansı (voice-call Plugin komut yüzeyi)'
+title: Sesli arama
x-i18n:
- generated_at: "2026-04-25T13:44:41Z"
- model: gpt-5.4
+ generated_at: "2026-05-01T09:00:10Z"
+ model: gpt-5.5
provider: openai
- source_hash: 7c8b83ef75f792920024a67b0dee1b07aff9f55486de1149266c6d94854ca0fe
+ source_hash: c040cf4cd984ad6d6dd302923494a7c8ee131390b803fe20a9894b077f08d5bb
source_path: cli/voicecall.md
- workflow: 15
+ workflow: 16
---
# `openclaw voicecall`
`voicecall`, Plugin tarafından sağlanan bir komuttur. Yalnızca voice-call Plugin'i yüklü ve etkinse görünür.
-Birincil belge:
+Gateway çalışırken, operasyonel komutlar (`call`, `start`,
+`continue`, `speak`, `dtmf`, `end` ve `status`) o Gateway'in
+voice-call runtime'ına gönderilir. Ulaşılabilir bir Gateway yoksa, bağımsız bir
+CLI runtime'ına geri dönerler.
-- Voice-call Plugin'i: [Voice Call](/tr/plugins/voice-call)
+Birincil doküman:
+
+- Voice-call Plugin'i: [Sesli Arama](/tr/plugins/voice-call)
## Yaygın komutlar
```bash
openclaw voicecall setup
openclaw voicecall smoke
+openclaw voicecall status --json
openclaw voicecall status --call-id
openclaw voicecall call --to "+15555550123" --message "Hello" --mode notify
openclaw voicecall continue --call-id --message "Any questions?"
@@ -33,22 +39,26 @@ openclaw voicecall dtmf --call-id --digits "ww123456#"
openclaw voicecall end --call-id
```
-`setup`, varsayılan olarak insan tarafından okunabilir hazır olma kontrollerini yazdırır. Betikler için `--json` kullanın:
+`setup`, varsayılan olarak insanlar tarafından okunabilir hazırlık denetimlerini yazdırır. Script'ler için `--json` kullanın:
```bash
openclaw voicecall setup --json
```
-Harici sağlayıcılar (`twilio`, `telnyx`, `plivo`) için kurulum, `publicUrl`, bir tünel veya Tailscale exposure üzerinden herkese açık bir Webhook URL'si çözümlemelidir. Döngüsel geri adres/özel sunum geri dönüşü reddedilir çünkü taşıyıcılar buna erişemez.
+`status`, varsayılan olarak etkin aramaları JSON olarak yazdırır. Tek bir aramayı incelemek için `--call-id ` iletin.
-`smoke`, aynı hazır olma kontrollerini çalıştırır. Hem `--to` hem de `--yes` mevcut olmadıkça gerçek bir telefon araması yapmaz:
+Harici sağlayıcılar (`twilio`, `telnyx`, `plivo`) için setup, `publicUrl`, bir tünel veya Tailscale açıklığı üzerinden herkese açık bir
+Webhook URL'si çözümlemelidir. Operatörler buna erişemeyeceği için loopback/özel
+serve geri dönüşü reddedilir.
+
+`smoke` aynı hazırlık denetimlerini çalıştırır. Hem `--to` hem de `--yes` mevcut değilse gerçek bir telefon araması yapmaz:
```bash
-openclaw voicecall smoke --to "+15555550123" # deneme çalıştırması
-openclaw voicecall smoke --to "+15555550123" --yes # canlı bildirim araması
+openclaw voicecall smoke --to "+15555550123" # dry run
+openclaw voicecall smoke --to "+15555550123" --yes # live notify call
```
-## Webhook'ları dışa açma (Tailscale)
+## Webhook'ları açığa çıkarma (Tailscale)
```bash
openclaw voicecall expose --mode serve
@@ -56,9 +66,9 @@ openclaw voicecall expose --mode funnel
openclaw voicecall expose --mode off
```
-Güvenlik notu: Webhook uç noktasını yalnızca güvendiğiniz ağlara açın. Mümkün olduğunda Funnel yerine Tailscale Serve tercih edin.
+Güvenlik notu: Webhook uç noktasını yalnızca güvendiğiniz ağlara açığa çıkarın. Mümkün olduğunda Funnel yerine Tailscale Serve kullanmayı tercih edin.
## İlgili
-- [CLI başvurusu](/tr/cli)
-- [Voice call Plugin'i](/tr/plugins/voice-call)
+- [CLI referansı](/tr/cli)
+- [Sesli arama Plugin'i](/tr/plugins/voice-call)
diff --git a/docs/tr/concepts/commitments.md b/docs/tr/concepts/commitments.md
index 114f519db..bf85524ae 100644
--- a/docs/tr/concepts/commitments.md
+++ b/docs/tr/concepts/commitments.md
@@ -1,29 +1,34 @@
---
read_when:
- - OpenClaw'un doğal takip sorularını hatırlamasını istiyorsunuz
- - Çıkarımsal yoklamaların hatırlatıcılardan nasıl farklı olduğunu anlamak istiyorsunuz
- - Takip taahhütlerini gözden geçirmek veya kapatmak istiyorsunuz
+ - OpenClaw'ın doğal takip sorularını hatırlamasını istiyorsunuz
+ - Çıkarıma dayalı durum yoklamalarının hatırlatıcılardan nasıl farklı olduğunu anlamak istiyorsunuz
+ - Takip taahhütlerini gözden geçirmek veya reddetmek istiyorsunuz
sidebarTitle: Commitments
-summary: Kesin hatırlatıcı olmayan durum yoklamaları için çıkarımlanan takip belleği
+summary: Kesin hatırlatma olmayan durum yoklamaları için çıkarımsal takip belleği
title: Çıkarılan taahhütler
x-i18n:
- generated_at: "2026-04-30T09:15:39Z"
+ generated_at: "2026-05-01T09:00:17Z"
model: gpt-5.5
provider: openai
- source_hash: 3f51af0ac2c9841258fbeeb8f2f98dba6f438b8e0c9433f601a0504d6ef27111
+ source_hash: 78841d87fe749aa5b04a967218396df1c1a7884c5767b09215c96aee34fa2014
source_path: concepts/commitments.md
workflow: 16
---
-Taahhütler kısa ömürlü takip bellekleridir. Etkinleştirildiğinde, OpenClaw bir konuşmanın gelecekte kontrol etme fırsatı oluşturduğunu fark edebilir ve bunu daha sonra tekrar gündeme getirmeyi hatırlayabilir.
+Taahhütler kısa ömürlü takip bellekleridir. Etkinleştirildiğinde OpenClaw,
+bir konuşmanın gelecekte bir kontrol fırsatı oluşturduğunu fark edip bunu
+daha sonra yeniden gündeme getirmeyi hatırlayabilir.
Örnekler:
-- Yarın bir mülakattan söz edersiniz. OpenClaw sonrasında sizi yoklayabilir.
+- Yarın bir görüşmeden bahsedersiniz. OpenClaw sonrasında kontrol edebilir.
- Bitkin olduğunuzu söylersiniz. OpenClaw daha sonra uyuyup uyumadığınızı sorabilir.
-- Ajan, bir şey değiştikten sonra takip edeceğini söyler. OpenClaw bu açık döngüyü takip edebilir.
+- Ajan, bir şey değiştikten sonra takip edeceğini söyler. OpenClaw bu açık
+ döngüyü takip edebilir.
-Taahhütler `MEMORY.md` gibi kalıcı gerçekler değildir ve tam hatırlatıcılar da değildir. Bellek ile otomasyon arasında yer alırlar: OpenClaw konuşmaya bağlı bir yükümlülüğü hatırlar, sonra zamanı geldiğinde Heartbeat bunu teslim eder.
+Taahhütler, `MEMORY.md` gibi kalıcı gerçekler değildir ve kesin hatırlatıcılar
+da değildir. Bellek ile otomasyon arasında dururlar: OpenClaw konuşmaya bağlı
+bir yükümlülüğü hatırlar, ardından zamanı geldiğinde Heartbeat bunu iletir.
## Taahhütleri etkinleştirme
@@ -45,30 +50,44 @@ Eşdeğer `openclaw.json`:
}
```
-`commitments.maxPerDay`, kayan bir gün içinde ajan oturumu başına kaç çıkarımsal takibin teslim edilebileceğini sınırlar. Varsayılan değer `3` şeklindedir.
+`commitments.maxPerDay`, kayan bir gün içinde ajan oturumu başına kaç çıkarımsal
+takibin iletilebileceğini sınırlar. Varsayılan değer `3`'tür.
## Nasıl çalışır
-Bir ajan yanıtından sonra OpenClaw, ayrı bir bağlamda gizli bir arka plan çıkarım geçişi çalıştırabilir. Bu geçiş yalnızca çıkarımsal takip taahhütlerini arar. Görünür konuşmaya yazmaz ve ana ajandan çıkarım hakkında akıl yürütmesini istemez.
+Bir ajan yanıtından sonra OpenClaw, ayrı bir bağlamda gizli bir arka plan çıkarma
+geçişi çalıştırabilir. Bu geçiş yalnızca çıkarımsal takip taahhütlerini arar.
+Görünür konuşmaya yazmaz ve ana ajandan çıkarma hakkında akıl yürütmesini istemez.
-Yüksek güvenilirlikli bir aday bulduğunda OpenClaw şunlarla birlikte bir taahhüt depolar:
+Yüksek güvenilirlikte bir aday bulduğunda OpenClaw şu bilgilerle bir taahhüt saklar:
- ajan kimliği
- oturum anahtarı
-- özgün kanal ve teslimat hedefi
-- vade aralığı
-- kısa önerilen kontrol mesajı
-- Heartbeat’in bunu gönderip göndermemeye karar vermesi için yeterli kaynak bağlamı
+- özgün kanal ve teslim hedefi
+- vade penceresi
+- kısa bir önerilen kontrol
+- Heartbeat'in gönderip göndermemeye karar vermesi için yönerge olmayan meta veriler
-Teslimat Heartbeat üzerinden gerçekleşir. Bir taahhüdün zamanı geldiğinde Heartbeat, taahhüdü aynı ajan ve kanal kapsamı için Heartbeat turuna ekler. Model doğal bir kontrol mesajı gönderebilir veya bunu kapatmak için `HEARTBEAT_OK` yanıtını verebilir.
+Teslimat Heartbeat aracılığıyla gerçekleşir. Bir taahhüdün zamanı geldiğinde,
+Heartbeat taahhüdü aynı ajan ve kanal kapsamı için Heartbeat turuna ekler.
+Model doğal bir kontrol mesajı gönderebilir veya bunu kapatmak için `HEARTBEAT_OK`
+yanıtını verebilir. Heartbeat `target: "none"` ile yapılandırılmışsa, zamanı
+gelen taahhütler dahili kalır ve harici kontrol mesajları göndermez. Taahhüt
+teslimi istemleri özgün konuşma metnini yeniden oynatmaz ve zamanı gelen taahhüt
+Heartbeat turları OpenClaw araçları olmadan çalışır.
-OpenClaw, çıkarımsal bir taahhüdü yazdıktan hemen sonra asla teslim etmez. Vade zamanı, taahhüt oluşturulduktan sonra en az bir Heartbeat aralığına sıkıştırılır; böylece takip, çıkarıldığı anda aynı şekilde geri yankılanamaz.
+OpenClaw, çıkarımsal bir taahhüdü yazdıktan hemen sonra asla iletmez. Vade
+zamanı, taahhüt oluşturulduktan sonra en az bir Heartbeat aralığı sonrasına
+sabitlenir; böylece takip, çıkarıldığı aynı anda geri yankılanamaz.
## Kapsam
-Taahhütler, oluşturuldukları tam ajan ve kanal bağlamına kapsamlanır. Discord’da bir ajanla konuşurken çıkarılan bir takip, başka bir ajan, başka bir kanal veya ilgisiz bir oturum tarafından teslim edilmez.
+Taahhütler, oluşturuldukları tam ajan ve kanal bağlamıyla sınırlıdır. Discord'da
+bir ajanla konuşurken çıkarılan bir takip, başka bir ajan, başka bir kanal veya
+ilgisiz bir oturum tarafından iletilmez.
-Bu kapsam özelliğin bir parçasıdır. Doğal yoklamalar, küresel bir hatırlatıcı sistemi gibi değil, aynı konuşmanın devamı gibi hissettirmelidir.
+Bu kapsam özelliğin bir parçasıdır. Doğal kontroller, küresel bir hatırlatma
+sistemi gibi değil, aynı konuşmanın devamı gibi hissettirmelidir.
## Taahhütler ve hatırlatıcılar
@@ -76,16 +95,18 @@ Bu kapsam özelliğin bir parçasıdır. Doğal yoklamalar, küresel bir hatırl
| ----------------------------------------------- | ---------------------------------------- |
| "Bana saat 15.00'te hatırlat" | [Zamanlanmış görevler](/tr/automation/cron-jobs) |
| "20 dakika içinde bana ping at" | [Zamanlanmış görevler](/tr/automation/cron-jobs) |
-| "Bu raporu her hafta içi çalıştır" | [Zamanlanmış görevler](/tr/automation/cron-jobs) |
-| "Yarın bir mülakatım var" | Taahhütler |
+| "Bu raporu her iş günü çalıştır" | [Zamanlanmış görevler](/tr/automation/cron-jobs) |
+| "Yarın bir görüşmem var" | Taahhütler |
| "Bütün gece ayaktaydım" | Taahhütler |
-| "Bu açık konuya yanıt vermezsem takip et" | Taahhütler |
+| "Bu açık başlığı yanıtlamazsam takip et" | Taahhütler |
-Kesin kullanıcı istekleri zaten zamanlayıcı yoluna aittir. Taahhütler yalnızca çıkarımsal takipler içindir: kullanıcının hatırlatıcı istemediği, ancak konuşmanın açıkça yararlı bir gelecekte kontrol etme noktası oluşturduğu anlar.
+Kesin kullanıcı istekleri zaten zamanlayıcı yoluna aittir. Taahhütler yalnızca
+çıkarımsal takipler içindir: kullanıcının bir hatırlatıcı istemediği, ancak
+konuşmanın açıkça yararlı bir gelecek kontrolü oluşturduğu anlar.
## Taahhütleri yönetme
-Depolanan taahhütleri incelemek ve temizlemek için CLI kullanın:
+Saklanan taahhütleri incelemek ve temizlemek için CLI'ı kullanın:
```bash
openclaw commitments
@@ -99,9 +120,13 @@ Komut başvurusu için [`openclaw commitments`](/tr/cli/commitments) bölümüne
## Gizlilik ve maliyet
-Taahhüt çıkarımı bir LLM geçişi kullanır; bu nedenle etkinleştirmek, uygun turlardan sonra arka plan model kullanımı ekler. Geçiş, kullanıcının görebildiği konuşmadan gizlidir, ancak bir takibin var olup olmadığına karar vermek için gereken son alışverişi okuyabilir.
+Taahhüt çıkarma bir LLM geçişi kullanır; bu nedenle bunu etkinleştirmek, uygun
+turlardan sonra arka plan model kullanımı ekler. Geçiş, kullanıcıya görünen
+konuşmadan gizlidir, ancak bir takibin var olup olmadığını belirlemek için
+gereken son alışverişi okuyabilir.
-Depolanan taahhütler yerel OpenClaw durumudur. Bunlar uzun vadeli bellek değil, operasyonel bellektir. Özelliği şu komutla devre dışı bırakın:
+Saklanan taahhütler yerel OpenClaw durumudur. Bunlar işletimsel bellektir,
+uzun süreli bellek değildir. Özelliği şu komutla devre dışı bırakın:
```bash
openclaw config set commitments.enabled false
@@ -112,14 +137,17 @@ openclaw config set commitments.enabled false
Beklenen takipler görünmüyorsa:
- `commitments.enabled` değerinin `true` olduğunu doğrulayın.
-- Bekleyen, kapatılmış, ertelenmiş veya süresi dolmuş kayıtlar için `openclaw commitments --all` komutunu kontrol edin.
-- Ajan için Heartbeat’in çalıştığından emin olun.
-- Söz konusu ajan oturumu için `commitments.maxPerDay` değerine zaten ulaşılıp ulaşılmadığını kontrol edin.
-- Kesin hatırlatıcıların taahhüt çıkarımı tarafından atlandığını ve bunun yerine [zamanlanmış görevler](/tr/automation/cron-jobs) altında görünmesi gerektiğini unutmayın.
+- Bekleyen, kapatılmış, ertelenmiş veya süresi dolmuş kayıtlar için
+ `openclaw commitments --all` komutunu kontrol edin.
+- Heartbeat'in ajan için çalıştığından emin olun.
+- `commitments.maxPerDay` sınırına o ajan oturumu için zaten ulaşılıp
+ ulaşılmadığını kontrol edin.
+- Kesin hatırlatıcıların taahhüt çıkarma tarafından atlandığını ve bunun yerine
+ [zamanlanmış görevler](/tr/automation/cron-jobs) altında görünmesi gerektiğini unutmayın.
## İlgili
-- [Belleğe genel bakış](/tr/concepts/memory)
+- [Bellek genel bakışı](/tr/concepts/memory)
- [Active Memory](/tr/concepts/active-memory)
- [Heartbeat](/tr/gateway/heartbeat)
- [Zamanlanmış görevler](/tr/automation/cron-jobs)
diff --git a/docs/tr/concepts/openclaw-sdk.md b/docs/tr/concepts/openclaw-sdk.md
index d3e7bae19..6c7257fb3 100644
--- a/docs/tr/concepts/openclaw-sdk.md
+++ b/docs/tr/concepts/openclaw-sdk.md
@@ -1,62 +1,65 @@
---
read_when:
- - OpenClaw ile iletişim kuran harici bir uygulama, betik, pano, CI işi veya IDE uzantısı oluşturuyorsunuz.
+ - OpenClaw ile iletişim kuran harici bir uygulama, betik, pano, CI işi veya IDE uzantısı geliştiriyorsunuz
- App SDK ile Plugin SDK arasında seçim yapıyorsunuz
- Gateway ajan çalıştırmaları, oturumları, olayları, onayları, modelleri veya araçlarıyla entegrasyon yapıyorsunuz
sidebarTitle: App SDK
-summary: Harici uygulamalar, betikler, panolar, CI işleri ve IDE uzantıları için herkese açık OpenClaw Uygulama SDK'sı
-title: OpenClaw Uygulama SDK'si
+summary: Harici uygulamalar, betikler, panolar, CI işleri ve IDE uzantıları için herkese açık OpenClaw App SDK
+title: OpenClaw Uygulama SDK'sı
x-i18n:
- generated_at: "2026-04-30T09:17:37Z"
+ generated_at: "2026-05-01T09:00:20Z"
model: gpt-5.5
provider: openai
- source_hash: 9c46454d172a25d329a796461982dc4307d3720a28df777eda8605996505e38c
+ source_hash: a6b22e9f4f809a572cfd19fd22f633a706dd23b8bee2f3c244003a0861a41073
source_path: concepts/openclaw-sdk.md
workflow: 16
---
-**OpenClaw App SDK**, OpenClaw süreci dışındaki uygulamalar için genel istemci API'sidir. Bir betik, pano, CI işi, IDE eklentisi veya başka bir harici uygulama Gateway'e bağlanmak, agent çalıştırmaları başlatmak, olayları stream etmek, sonuçları beklemek, işi iptal etmek ya da Gateway kaynaklarını incelemek istediğinde `@openclaw/sdk` kullanın.
+**OpenClaw App SDK**, OpenClaw sürecinin dışındaki uygulamalar için genel istemci API'sidir. Bir betik, pano, CI işi, IDE eklentisi veya başka bir harici uygulama Gateway'e bağlanmak, agent çalıştırmaları başlatmak, olayları akıtmak, sonuçları beklemek, işi iptal etmek ya da Gateway kaynaklarını incelemek istediğinde `@openclaw/sdk` kullanın.
- App SDK, [Plugin SDK](/tr/plugins/sdk-overview) ile aynı değildir.
- `@openclaw/sdk`, OpenClaw dışından Gateway ile konuşur.
- `openclaw/plugin-sdk/*` yalnızca OpenClaw içinde çalışan ve sağlayıcılar,
- kanallar, araçlar, hook'lar veya güvenilir runtime'lar kaydeden plugin'ler içindir.
+ App SDK, [Plugin SDK](/tr/plugins/sdk-overview)'den farklıdır.
+ `@openclaw/sdk`, Gateway ile OpenClaw dışından konuşur.
+ `openclaw/plugin-sdk/*` yalnızca OpenClaw içinde çalışan ve sağlayıcıları,
+ kanalları, araçları, hook'ları veya güvenilir çalışma zamanlarını kaydeden plugin'ler içindir.
## Bugün Neler Sunuluyor
`@openclaw/sdk` şunlarla birlikte gelir:
-| Yüzey | Durum | Ne yapar |
-| ------------------------- | ------- | ---------------------------------------------------------------------------- |
-| `OpenClaw` | Hazır | Ana istemci giriş noktası. Taşıma, bağlantı, istekler ve olayları yönetir. |
-| `GatewayClientTransport` | Hazır | Gateway istemcisi tarafından desteklenen WebSocket taşıması. |
-| `oc.agents` | Hazır | Agent handle'larını listeler, oluşturur, günceller, siler ve getirir. |
-| `Agent.run()` | Hazır | Bir Gateway `agent` çalıştırması başlatır ve bir `Run` döndürür. |
-| `oc.runs` | Hazır | Çalıştırmaları oluşturur, getirir, bekler, iptal eder ve stream eder. |
-| `Run.events()` | Hazır | Hızlı çalıştırmalar için yeniden oynatmayla, normalize edilmiş çalıştırma bazlı olayları stream eder. |
-| `Run.wait()` | Hazır | `agent.wait` çağırır ve kararlı bir `RunResult` döndürür. |
-| `Run.cancel()` | Hazır | Uygun olduğunda session anahtarıyla, çalıştırma kimliğine göre `sessions.abort` çağırır. |
-| `oc.sessions` | Hazır | Session handle'larını oluşturur, çözümler, gönderir, yamalar, compact eder ve getirir. |
-| `Session.send()` | Hazır | `sessions.send` çağırır ve bir `Run` döndürür. |
-| `oc.models` | Hazır | `models.list` ve geçerli `models.authStatus` durum RPC'sini çağırır. |
-| `oc.tools` | Kısmi | Araç kataloğunu ve etkin araçları listeler; doğrudan araç çağırma bağlanmamıştır. |
-| `oc.approvals` | Hazır | Gateway onay RPC'leri üzerinden exec onaylarını listeler ve çözümler. |
-| `oc.rawEvents()` | Hazır | Gelişmiş tüketiciler için ham Gateway olaylarını açığa çıkarır. |
-| `normalizeGatewayEvent()` | Hazır | Ham Gateway olaylarını kararlı SDK olay şekline dönüştürür. |
+| Yüzey | Durum | Ne yapar |
+| ------------------------- | ------ | -------------------------------------------------------------------------- |
+| `OpenClaw` | Hazır | Ana istemci giriş noktası. Taşıma, bağlantı, istekler ve olayları yönetir. |
+| `GatewayClientTransport` | Hazır | Gateway istemcisi tarafından desteklenen WebSocket taşıması. |
+| `oc.agents` | Hazır | Agent handle'larını listeler, oluşturur, günceller, siler ve getirir. |
+| `Agent.run()` | Hazır | Bir Gateway `agent` çalıştırması başlatır ve bir `Run` döndürür. |
+| `oc.runs` | Hazır | Çalıştırmaları oluşturur, getirir, bekler, iptal eder ve akıtır. |
+| `Run.events()` | Hazır | Hızlı çalıştırmalar için yeniden oynatmayla normalleştirilmiş çalıştırma başına olayları akıtır. |
+| `Run.wait()` | Hazır | `agent.wait` çağırır ve kararlı bir `RunResult` döndürür. |
+| `Run.cancel()` | Hazır | Kullanılabilir olduğunda oturum anahtarıyla, çalıştırma kimliğine göre `sessions.abort` çağırır. |
+| `oc.sessions` | Hazır | Oturum handle'larını oluşturur, çözer, gönderir, yamalar, sıkıştırır ve getirir. |
+| `Session.send()` | Hazır | `sessions.send` çağırır ve bir `Run` döndürür. |
+| `oc.models` | Hazır | `models.list` ve geçerli `models.authStatus` durum RPC'sini çağırır. |
+| `oc.tools` | Hazır | Gateway araçlarını ilke hattı üzerinden listeler, kapsamlandırır ve çağırır. |
+| `oc.artifacts` | Hazır | Gateway transkript artifact'lerini listeler, getirir ve indirir. |
+| `oc.approvals` | Hazır | Gateway onay RPC'leri üzerinden exec onaylarını listeler ve çözer. |
+| `oc.rawEvents()` | Hazır | Gelişmiş tüketiciler için ham Gateway olaylarını sunar. |
+| `normalizeGatewayEvent()` | Hazır | Ham Gateway olaylarını kararlı SDK olay biçimine dönüştürür. |
-SDK ayrıca bu yüzeylerin kullandığı temel türleri dışa aktarır:
+SDK ayrıca bu yüzeylerin kullandığı temel türleri de dışa aktarır:
`AgentRunParams`, `RunResult`, `RunStatus`, `OpenClawEvent`,
`OpenClawEventType`, `GatewayEvent`, `OpenClawTransport`,
`GatewayRequestOptions`, `SessionCreateParams`, `SessionSendParams`,
-`RuntimeSelection`, `EnvironmentSelection`, `WorkspaceSelection`,
-`ApprovalMode` ve ilişkili sonuç türleri.
+`ArtifactSummary`, `ArtifactQuery`, `ArtifactsListResult`,
+`ArtifactsGetResult`, `ArtifactsDownloadResult`, `RuntimeSelection`,
+`EnvironmentSelection`, `WorkspaceSelection`, `ApprovalMode` ve ilişkili
+sonuç türleri.
-## Bir Gateway'e Bağlanın
+## Bir Gateway'e Bağlanma
-Açık bir Gateway URL'siyle istemci oluşturun veya testler ve gömülü uygulama
-runtime'ları için özel bir taşıma enjekte edin.
+Açık bir Gateway URL'siyle bir istemci oluşturun ya da testler ve gömülü uygulama
+çalışma zamanları için özel bir taşıma enjekte edin.
```typescript
import { OpenClaw } from "@openclaw/sdk";
@@ -70,7 +73,10 @@ const oc = new OpenClaw({
await oc.connect();
```
-`new OpenClaw({ gateway: "ws://..." })`, `url` ile eşdeğerdir. `gateway: "auto"` seçeneği constructor tarafından kabul edilir, ancak otomatik Gateway keşfi henüz ayrı bir SDK özelliği değildir; uygulama Gateway'i nasıl keşfedeceğini zaten bilmiyorsa `url` iletin.
+`new OpenClaw({ gateway: "ws://..." })`, `url` ile eşdeğerdir. `gateway: "auto"`
+seçeneği constructor tarafından kabul edilir, ancak otomatik Gateway keşfi henüz
+ayrı bir SDK özelliği değildir; uygulama Gateway'i nasıl keşfedeceğini zaten
+bilmiyorsa `url` iletin.
Testler için `OpenClawTransport` uygulayan bir nesne iletin:
@@ -85,7 +91,7 @@ const oc = new OpenClaw({
});
```
-## Bir Agent Çalıştırın
+## Bir Agent Çalıştırma
Uygulama bir agent handle'ı istediğinde `oc.agents.get(id)` kullanın, ardından
`agent.run()` çağırın.
@@ -111,13 +117,19 @@ const result = await run.wait({ timeoutMs: 120_000 });
console.log(result.status);
```
-`openai/gpt-5.5` gibi sağlayıcı nitelemeli model başvuruları Gateway `provider` ve `model` geçersiz kılmalarına ayrılır. `timeoutMs` SDK içinde milisaniye olarak kalır ve `agent` RPC'si için Gateway zaman aşımı saniyelerine dönüştürülür.
+`openai/gpt-5.5` gibi sağlayıcı nitelemeli model referansları Gateway `provider`
+ve `model` geçersiz kılmalarına ayrılır. `timeoutMs`, SDK içinde milisaniye olarak
+kalır ve `agent` RPC'si için Gateway zaman aşımı saniyelerine dönüştürülür.
-`run.wait()`, Gateway `agent.wait` RPC'sini kullanır. Çalıştırma hâlâ aktifken süresi dolan bir bekleme son tarihi, çalıştırmanın kendisi zaman aşımına uğramış gibi davranmak yerine `status: "accepted"` döndürür. Runtime zaman aşımları, durdurulan çalıştırmalar ve iptal edilen çalıştırmalar `timed_out` veya `cancelled` olarak normalize edilir.
+`run.wait()`, Gateway `agent.wait` RPC'sini kullanır. Çalıştırma hâlâ etkinken
+süresi dolan bir bekleme son tarihi, çalıştırmanın kendisinin zaman aşımına
+uğradığını varsaymak yerine `status: "accepted"` döndürür. Çalışma zamanı zaman
+aşımları, durdurulan çalıştırmalar ve iptal edilen çalıştırmalar `timed_out` veya
+`cancelled` olarak normalleştirilir.
-## Session'lar Oluşturun ve Yeniden Kullanın
+## Oturum Oluşturma ve Yeniden Kullanma
-Uygulama kalıcı transcript durumu istediğinde session'ları kullanın.
+Uygulama kalıcı transkript durumu istediğinde oturumları kullanın.
```typescript
const session = await oc.sessions.create({
@@ -129,7 +141,8 @@ const run = await session.send("Prepare release notes from the current diff.");
await run.wait();
```
-`Session.send()`, `sessions.send` çağırır ve bir `Run` döndürür. Session handle'ları ayrıca şunları destekler:
+`Session.send()`, `sessions.send` çağırır ve bir `Run` döndürür. Oturum handle'ları
+şunları da destekler:
```typescript
await session.abort(run.id);
@@ -137,9 +150,9 @@ await session.patch({ label: "renamed-session" });
await session.compact({ maxLines: 200 });
```
-## Olayları Stream Edin
+## Olayları Akıtma
-SDK, ham Gateway olaylarını kararlı bir `OpenClawEvent` zarfına normalize eder:
+SDK, ham Gateway olaylarını kararlı bir `OpenClawEvent` zarfına normalleştirir:
```typescript
type OpenClawEvent = {
@@ -157,32 +170,34 @@ type OpenClawEvent = {
};
```
-Yaygın olay türleri şunları içerir:
+Yaygın olay türleri şunlardır:
-| Olay türü | Kaynak Gateway olayı |
-| --------------------- | -------------------------------------------- |
-| `run.started` | `agent` yaşam döngüsü başlangıcı |
-| `run.completed` | `agent` yaşam döngüsü sonu |
-| `run.failed` | `agent` yaşam döngüsü hatası |
-| `run.cancelled` | Durdurulmuş/iptal edilmiş yaşam döngüsü sonu |
-| `run.timed_out` | Zaman aşımı yaşam döngüsü sonu |
-| `assistant.delta` | Assistant streaming delta |
-| `assistant.message` | Assistant mesajı |
-| `thinking.delta` | Düşünme veya plan stream'i |
-| `tool.call.started` | Araç/öğe/komut başlangıcı |
-| `tool.call.delta` | Araç/öğe/komut güncellemesi |
-| `tool.call.completed` | Araç/öğe/komut tamamlanması |
+| Olay türü | Kaynak Gateway olayı |
+| --------------------- | ------------------------------------------ |
+| `run.started` | `agent` yaşam döngüsü başlangıcı |
+| `run.completed` | `agent` yaşam döngüsü sonu |
+| `run.failed` | `agent` yaşam döngüsü hatası |
+| `run.cancelled` | Durdurulan/iptal edilen yaşam döngüsü sonu |
+| `run.timed_out` | Zaman aşımı yaşam döngüsü sonu |
+| `assistant.delta` | Assistant akış deltası |
+| `assistant.message` | Assistant mesajı |
+| `thinking.delta` | Düşünme veya plan akışı |
+| `tool.call.started` | Araç/öğe/komut başlangıcı |
+| `tool.call.delta` | Araç/öğe/komut güncellemesi |
+| `tool.call.completed` | Araç/öğe/komut tamamlanması |
| `tool.call.failed` | Araç/öğe/komut hatası veya engellenmiş durum |
-| `approval.requested` | Exec veya plugin onay isteği |
-| `approval.resolved` | Exec veya plugin onay çözümü |
-| `session.created` | `sessions.changed` oluşturma |
-| `session.updated` | `sessions.changed` güncelleme |
-| `session.compacted` | `sessions.changed` compaction |
-| `task.updated` | Görev güncelleme olayları |
-| `artifact.updated` | Yama stream olayları |
+| `approval.requested` | Exec veya plugin onay isteği |
+| `approval.resolved` | Exec veya plugin onay çözümü |
+| `session.created` | `sessions.changed` oluşturma |
+| `session.updated` | `sessions.changed` güncelleme |
+| `session.compacted` | `sessions.changed` sıkıştırma |
+| `task.updated` | Görev güncelleme olayları |
+| `artifact.updated` | Yama akışı olayları |
| `raw` | Henüz kararlı SDK eşlemesi olmayan herhangi bir olay |
-`Run.events()`, olayları tek bir çalıştırma kimliğine filtreler ve hızlı çalıştırmalar için önceden görülmüş olayları yeniden oynatır. Bu, belgelenen akışın güvenli olduğu anlamına gelir:
+`Run.events()`, olayları tek bir çalıştırma kimliğine göre filtreler ve hızlı
+çalıştırmalar için önceden görülmüş olayları yeniden oynatır. Bu, belgelenen
+akışın güvenli olduğu anlamına gelir:
```typescript
const run = await agent.run("Summarize the latest session.");
@@ -194,22 +209,46 @@ for await (const event of run.events()) {
}
```
-Uygulama genelindeki stream'ler için `oc.events()` kullanın. Ham Gateway frame'leri için `oc.rawEvents()` kullanın.
+Uygulama genelindeki akışlar için `oc.events()` kullanın. Ham Gateway frame'leri
+için `oc.rawEvents()` kullanın.
-## Modeller, Araçlar ve Onaylar
+## Modeller, Araçlar, Artifact'ler ve Onaylar
-Model yardımcıları geçerli Gateway yöntemleriyle eşleşir:
+Model yardımcıları geçerli Gateway yöntemlerine eşlenir:
```typescript
await oc.models.list();
await oc.models.status({ probe: false }); // calls models.authStatus
```
-Araç yardımcıları Gateway kataloğunu ve etkin araç görünümünü açığa çıkarır:
+Araç yardımcıları Gateway kataloğunu, etkili araç görünümünü ve doğrudan Gateway
+araç çağrısını sunar. `oc.tools.invoke()`, ilke veya onay retlerinde hata fırlatmak
+yerine türlendirilmiş bir zarf döndürür.
```typescript
await oc.tools.list();
await oc.tools.effective({ sessionKey: "main" });
+await oc.tools.invoke("tool-name", {
+ args: { input: "value" },
+ sessionKey: "main",
+ confirm: false,
+ idempotencyKey: "tool-call-1",
+});
+```
+
+Artifact yardımcıları, oturum, çalıştırma veya görev bağlamı için Gateway artifact
+projeksiyonunu sunar. Her çağrı açık bir `sessionKey`, `runId` veya `taskId`
+kapsamı gerektirir:
+
+```typescript
+const { artifacts } = await oc.artifacts.list({ sessionKey: "main" });
+const first = artifacts[0];
+
+if (first) {
+ const { artifact } = await oc.artifacts.get(first.id, { sessionKey: "main" });
+ const download = await oc.artifacts.download(artifact.id, { sessionKey: "main" });
+ console.log(download.encoding, download.url);
+}
```
Onay yardımcıları exec onay RPC'lerini kullanır:
@@ -221,36 +260,35 @@ await oc.approvals.respond("approval-id", { decision: "approve" });
## Bugün Açıkça Desteklenmeyenler
-SDK, istediğimiz ürün modeli için adlar içerir, ancak Gateway RPC'leri varmış gibi sessizce davranmaz. Bu çağrılar şu anda açık desteklenmiyor hataları fırlatır:
+SDK, hedeflediğimiz ürün modeli için adlar içerir, ancak Gateway RPC'leri varmış
+gibi sessizce davranmaz. Bu çağrılar şu anda açık desteklenmiyor hataları fırlatır:
```typescript
await oc.tasks.list();
await oc.tasks.get("task-id");
await oc.tasks.cancel("task-id");
-await oc.tools.invoke("tool-name", {});
-
-await oc.artifacts.list();
-await oc.artifacts.get("artifact-id");
-await oc.artifacts.download("artifact-id");
-
await oc.environments.list();
await oc.environments.create({});
await oc.environments.status("environment-id");
await oc.environments.delete("environment-id");
```
-Çalıştırma bazlı `workspace`, `runtime`, `environment` ve `approvals` alanları gelecek şekil olarak tiplendirilmiştir, ancak mevcut Gateway bu geçersiz kılmaları `agent` RPC'sinde desteklemez. Çağıranlar bunları iletirse SDK, işin yanlışlıkla varsayılan workspace, runtime, environment veya onay davranışıyla yürütülmemesi için çalıştırmayı göndermeden önce hata fırlatır.
+Çalıştırma başına `workspace`, `runtime`, `environment` ve `approvals` alanları
+gelecekteki biçim olarak türlendirilmiştir, ancak geçerli Gateway bu geçersiz
+kılmaları `agent` RPC'sinde desteklemez. Çağıranlar bunları iletirse SDK,
+çalıştırmayı göndermeden önce hata fırlatır; böylece işler yanlışlıkla varsayılan
+workspace, runtime, environment veya approval davranışıyla yürütülmez.
## App SDK ve Plugin SDK Karşılaştırması
-Kod OpenClaw dışında bulunduğunda App SDK kullanın:
+Kod OpenClaw dışında yaşadığında App SDK kullanın:
- Agent çalıştırmaları başlatan veya gözlemleyen Node betikleri
-- Bir Gateway'i çağıran CI işleri
-- panolar ve yönetici panelleri
+- Bir Gateway çağıran CI işleri
+- panolar ve yönetim panelleri
- IDE eklentileri
-- kanal plugin'lerine dönüşmesi gerekmeyen harici köprüler
+- kanal plugin'i olması gerekmeyen harici köprüler
- sahte veya gerçek Gateway taşımalarıyla entegrasyon testleri
Kod OpenClaw içinde çalıştığında Plugin SDK kullanın:
@@ -259,17 +297,19 @@ Kod OpenClaw içinde çalıştığında Plugin SDK kullanın:
- kanal plugin'leri
- araç veya yaşam döngüsü hook'ları
- agent harness plugin'leri
-- güvenilir runtime yardımcıları
+- güvenilir çalışma zamanı yardımcıları
-App SDK kodu `@openclaw/sdk` içinden import etmelidir. Plugin kodu belgelenmiş `openclaw/plugin-sdk/*` alt yollarından import etmelidir. İki sözleşmeyi karıştırmayın.
+App SDK kodu `@openclaw/sdk` içinden içe aktarmalıdır. Plugin kodu belgelenmiş
+`openclaw/plugin-sdk/*` alt yollarından içe aktarmalıdır. İki sözleşmeyi
+karıştırmayın.
## İlgili Belgeler
- [OpenClaw App SDK API tasarımı](/tr/reference/openclaw-sdk-api-design)
- [Gateway RPC referansı](/tr/reference/rpc)
-- [Agent loop](/tr/concepts/agent-loop)
-- [Agent runtime'ları](/tr/concepts/agent-runtimes)
-- [Session'lar](/tr/concepts/session)
+- [Agent döngüsü](/tr/concepts/agent-loop)
+- [Agent çalışma zamanları](/tr/concepts/agent-runtimes)
+- [Oturumlar](/tr/concepts/session)
- [Arka plan görevleri](/tr/automation/tasks)
- [ACP agent'ları](/tr/tools/acp-agents)
-- [Plugin SDK genel bakış](/tr/plugins/sdk-overview)
+- [Plugin SDK genel bakışı](/tr/plugins/sdk-overview)
diff --git a/docs/tr/gateway/config-channels.md b/docs/tr/gateway/config-channels.md
index 47b24b260..35bb0f2de 100644
--- a/docs/tr/gateway/config-channels.md
+++ b/docs/tr/gateway/config-channels.md
@@ -1,54 +1,56 @@
---
read_when:
- - Bir kanal Plugin'ini yapılandırma (kimlik doğrulama, erişim denetimi, çoklu hesap)
- - Kanala özgü yapılandırma anahtarlarında sorun giderme
- - DM politikasını, grup politikasını veya bahsetme kısıtlamasını denetleme
+ - Kanal Plugin'ini yapılandırma (kimlik doğrulama, erişim kontrolü, çoklu hesap)
+ - Kanal başına yapılandırma anahtarlarında sorun giderme
+ - Doğrudan mesaj ilkesini, grup ilkesini veya bahsetme kısıtlamasını denetleme
summary: 'Kanal yapılandırması: Slack, Discord, Telegram, WhatsApp, Matrix, iMessage ve daha fazlasında erişim denetimi, eşleştirme ve kanal başına anahtarlar'
title: Yapılandırma — kanallar
x-i18n:
- generated_at: "2026-04-30T16:28:58Z"
+ generated_at: "2026-05-01T09:00:37Z"
model: gpt-5.5
provider: openai
- source_hash: aba14cb43e1fe914cc7c03f41bed1b5915cc6b2ad8e0f1d47f58b7e98c1b3915
+ source_hash: ce1571d51e026182d49b935780a986780a90b05afc0acca027b2541b80a1aac2
source_path: gateway/config-channels.md
workflow: 16
---
-`channels.*` altındaki kanal başına yapılandırma anahtarları. DM ve grup erişimini, çok hesaplı kurulumları, bahsetme geçitlemesini ve Slack, Discord, Telegram, WhatsApp, Matrix, iMessage ve diğer birlikte gelen kanal Plugin'leri için kanal başına anahtarları kapsar.
+Kanal başına yapılandırma anahtarları `channels.*` altında. DM ve grup erişimini,
+çok hesaplı kurulumları, bahsetme kapılamasını ve Slack, Discord,
+Telegram, WhatsApp, Matrix, iMessage ve birlikte gelen diğer kanal Plugin'leri için kanal başına anahtarları kapsar.
-Ajanlar, araçlar, gateway çalışma zamanı ve diğer üst düzey anahtarlar için bkz.
+Aracılar, araçlar, Gateway runtime ve diğer üst düzey anahtarlar için bkz.
[Yapılandırma referansı](/tr/gateway/configuration-reference).
## Kanallar
-Her kanal, yapılandırma bölümü mevcut olduğunda otomatik olarak başlar (`enabled: false` değilse).
+Her kanal, yapılandırma bölümü mevcut olduğunda otomatik olarak başlar (`enabled: false` olmadığı sürece).
### DM ve grup erişimi
Tüm kanallar DM ilkelerini ve grup ilkelerini destekler:
-| DM ilkesi | Davranış |
-| -------------------- | --------------------------------------------------------------- |
-| `pairing` (varsayılan) | Bilinmeyen gönderenler tek kullanımlık eşleştirme kodu alır; sahibin onaylaması gerekir |
-| `allowlist` | Yalnızca `allowFrom` içindeki gönderenler (veya eşleştirilmiş izin deposu) |
-| `open` | Tüm gelen DM'lere izin ver (`allowFrom: ["*"]` gerektirir) |
-| `disabled` | Tüm gelen DM'leri yok say |
+| DM ilkesi | Davranış |
+| ------------------- | --------------------------------------------------------------- |
+| `pairing` (varsayılan) | Bilinmeyen gönderenler tek kullanımlık bir eşleştirme kodu alır; sahibinin onaylaması gerekir |
+| `allowlist` | Yalnızca `allowFrom` içindeki gönderenler (veya eşleştirilmiş izin deposu) |
+| `open` | Tüm gelen DM'lere izin ver (`allowFrom: ["*"]` gerektirir) |
+| `disabled` | Tüm gelen DM'leri yok say |
-| Grup ilkesi | Davranış |
-| ---------------------- | ------------------------------------------------------ |
-| `allowlist` (varsayılan) | Yalnızca yapılandırılmış izin listesiyle eşleşen gruplar |
-| `open` | Grup izin listelerini atla (bahsetme geçitlemesi yine uygulanır) |
-| `disabled` | Tüm grup/oda mesajlarını engelle |
+| Grup ilkesi | Davranış |
+| --------------------- | ------------------------------------------------------ |
+| `allowlist` (varsayılan) | Yalnızca yapılandırılmış izin listesiyle eşleşen gruplar |
+| `open` | Grup izin listelerini atla (bahsetme kapılaması yine de uygulanır) |
+| `disabled` | Tüm grup/oda iletilerini engelle |
-`channels.defaults.groupPolicy`, bir sağlayıcının `groupPolicy` değeri ayarlanmadığında varsayılanı belirler.
+`channels.defaults.groupPolicy`, bir sağlayıcının `groupPolicy` değeri ayarlanmamışsa varsayılanı belirler.
Eşleştirme kodlarının süresi 1 saat sonra dolar. Bekleyen DM eşleştirme istekleri **kanal başına 3** ile sınırlıdır.
-Bir sağlayıcı bloğu tamamen eksikse (`channels.` yoksa), çalışma zamanı grup ilkesi başlangıç uyarısıyla `allowlist` değerine (kapalı başarısızlık) geri döner.
+Bir sağlayıcı bloğu tamamen eksikse (`channels.` yoksa), runtime grup ilkesi başlangıç uyarısıyla birlikte `allowlist` değerine geri döner (fail-closed).
### Kanal model geçersiz kılmaları
-Belirli kanal ID'lerini bir modele sabitlemek için `channels.modelByChannel` kullanın. Değerler `provider/model` biçimini veya yapılandırılmış model takma adlarını kabul eder. Kanal eşlemesi, bir oturumda zaten bir model geçersiz kılması yoksa uygulanır (örneğin `/model` ile ayarlanmışsa uygulanmaz).
+Belirli kanal kimliklerini bir modele sabitlemek için `channels.modelByChannel` kullanın. Değerler `provider/model` veya yapılandırılmış model takma adlarını kabul eder. Kanal eşlemesi, bir oturumda zaten model geçersiz kılması yoksa uygulanır (örneğin `/model` ile ayarlanmışsa uygulanmaz).
```json5
{
@@ -89,15 +91,15 @@ Sağlayıcılar arasında paylaşılan grup ilkesi ve Heartbeat davranışı iç
}
```
-- `channels.defaults.groupPolicy`: sağlayıcı düzeyi `groupPolicy` ayarlanmadığında geri dönüş grup ilkesi.
-- `channels.defaults.contextVisibility`: tüm kanallar için varsayılan ek bağlam görünürlük modu. Değerler: `all` (varsayılan, tüm alıntılanan/iş parçacığı/geçmiş bağlamını dahil et), `allowlist` (yalnızca izin listesindeki gönderenlerden gelen bağlamı dahil et), `allowlist_quote` (izin listesiyle aynı, ancak açık alıntı/yanıt bağlamını koru). Kanal başına geçersiz kılma: `channels..contextVisibility`.
-- `channels.defaults.heartbeat.showOk`: Heartbeat çıktısına sağlıklı kanal durumlarını dahil et.
-- `channels.defaults.heartbeat.showAlerts`: Heartbeat çıktısına düşürülmüş/hata durumlarını dahil et.
-- `channels.defaults.heartbeat.useIndicator`: kompakt gösterge tarzı Heartbeat çıktısı işle.
+- `channels.defaults.groupPolicy`: Sağlayıcı düzeyinde `groupPolicy` ayarlanmamışsa geri dönüş grup ilkesi.
+- `channels.defaults.contextVisibility`: Tüm kanallar için varsayılan ek bağlam görünürlüğü modu. Değerler: `all` (varsayılan, alıntılanan/konu/geçmiş bağlamının tamamını ekle), `allowlist` (yalnızca izin verilen gönderenlerden gelen bağlamı ekle), `allowlist_quote` (allowlist ile aynı, ancak açık alıntı/yanıt bağlamını koru). Kanal başına geçersiz kılma: `channels..contextVisibility`.
+- `channels.defaults.heartbeat.showOk`: Sağlıklı kanal durumlarını Heartbeat çıktısına ekle.
+- `channels.defaults.heartbeat.showAlerts`: Bozulmuş/hata durumlarını Heartbeat çıktısına ekle.
+- `channels.defaults.heartbeat.useIndicator`: Kompakt gösterge tarzı Heartbeat çıktısı oluştur.
### WhatsApp
-WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı bir oturum mevcut olduğunda otomatik olarak başlar.
+WhatsApp, Gateway'in web kanalı üzerinden çalışır (Baileys Web). Bağlı bir oturum mevcut olduğunda otomatik olarak başlar.
```json5
{
@@ -155,9 +157,9 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b
}
```
-- Giden komutlar, mevcutsa varsayılan olarak `default` hesabına gider; aksi takdirde ilk yapılandırılmış hesap id'si (sıralı) kullanılır.
-- İsteğe bağlı `channels.whatsapp.defaultAccount`, yapılandırılmış bir hesap id'siyle eşleştiğinde bu geri dönüş varsayılan hesap seçimini geçersiz kılar.
-- Eski tek hesaplı Baileys kimlik doğrulama dizini, `openclaw doctor` tarafından `whatsapp/default` içine taşınır.
+- Giden komutlar, mevcutsa varsayılan olarak `default` hesabını kullanır; aksi halde ilk yapılandırılmış hesap kimliğini (sıralanmış) kullanır.
+- İsteğe bağlı `channels.whatsapp.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde bu geri dönüş varsayılan hesap seçimini geçersiz kılar.
+- Eski tek hesaplı Baileys auth dizini, `openclaw doctor` tarafından `whatsapp/default` içine geçirilir.
- Hesap başına geçersiz kılmalar: `channels.whatsapp.accounts..sendReadReceipts`, `channels.whatsapp.accounts..dmPolicy`, `channels.whatsapp.accounts..allowFrom`.
@@ -217,12 +219,12 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b
}
```
-- Bot token'ı: `channels.telegram.botToken` veya `channels.telegram.tokenFile` (yalnızca normal dosya; sembolik bağlantılar reddedilir), varsayılan hesap için geri dönüş olarak `TELEGRAM_BOT_TOKEN`.
-- `apiRoot` yalnızca Telegram Bot API köküdür. `https://api.telegram.org/bot` değil, `https://api.telegram.org` veya kendi barındırdığınız/proxy kökünüzü kullanın; `openclaw doctor --fix` yanlışlıkla eklenmiş sondaki `/bot` son ekini kaldırır.
-- İsteğe bağlı `channels.telegram.defaultAccount`, yapılandırılmış bir hesap id'siyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
-- Çok hesaplı kurulumlarda (2+ hesap id'si), geri dönüş yönlendirmesinden kaçınmak için açık bir varsayılan (`channels.telegram.defaultAccount` veya `channels.telegram.accounts.default`) ayarlayın; bu eksik veya geçersiz olduğunda `openclaw doctor` uyarır.
-- `configWrites: false`, Telegram tarafından başlatılan yapılandırma yazımlarını (süper grup ID taşıma işlemleri, `/config set|unset`) engeller.
-- `type: "acp"` içeren üst düzey `bindings[]` girdileri, forum konuları için kalıcı ACP bağlamalarını yapılandırır (`match.peer.id` içinde kurallı `chatId:topic:topicId` kullanın). Alan semantiği [ACP Ajanları](/tr/tools/acp-agents#channel-specific-settings) içinde paylaşılır.
+- Bot token: `channels.telegram.botToken` veya `channels.telegram.tokenFile` (yalnızca normal dosya; symlink'ler reddedilir), varsayılan hesap için geri dönüş olarak `TELEGRAM_BOT_TOKEN`.
+- `apiRoot` yalnızca Telegram Bot API köküdür. `https://api.telegram.org/bot` değil, `https://api.telegram.org` veya kendi barındırdığınız/proxy kökünüzü kullanın; `openclaw doctor --fix` yanlışlıkla eklenmiş sondaki `/bot` sonekini kaldırır.
+- İsteğe bağlı `channels.telegram.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
+- Çok hesaplı kurulumlarda (2+ hesap kimliği), geri dönüş yönlendirmesinden kaçınmak için açık bir varsayılan ayarlayın (`channels.telegram.defaultAccount` veya `channels.telegram.accounts.default`); bu eksik ya da geçersiz olduğunda `openclaw doctor` uyarır.
+- `configWrites: false`, Telegram başlatmalı yapılandırma yazmalarını engeller (üst grup kimliği geçişleri, `/config set|unset`).
+- `type: "acp"` içeren üst düzey `bindings[]` girdileri, forum konuları için kalıcı ACP bağlamalarını yapılandırır (`match.peer.id` içinde kanonik `chatId:topic:topicId` kullanın). Alan anlamları [ACP Aracıları](/tr/tools/acp-agents#channel-specific-settings) içinde paylaşılır.
- Telegram akış önizlemeleri `sendMessage` + `editMessageText` kullanır (doğrudan ve grup sohbetlerinde çalışır).
- Yeniden deneme ilkesi: bkz. [Yeniden deneme ilkesi](/tr/concepts/retry).
@@ -326,37 +328,37 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b
}
```
-- Token: Varsayılan hesap için geri dönüş olarak `DISCORD_BOT_TOKEN` ile `channels.discord.token`.
-- Açık bir Discord `token` sağlayan doğrudan giden çağrılar, çağrı için bu token’ı kullanır; hesap yeniden deneme/ilke ayarları yine etkin runtime anlık görüntüsündeki seçili hesaptan gelir.
+- Token: Varsayılan hesap için yedek olarak `DISCORD_BOT_TOKEN` ile `channels.discord.token`.
+- Açık bir Discord `token` sağlayan doğrudan giden çağrılar, çağrı için bu token'ı kullanır; hesap yeniden deneme/ilke ayarları yine etkin çalışma zamanı anlık görüntüsündeki seçili hesaptan gelir.
- İsteğe bağlı `channels.discord.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
-- Teslim hedefleri için `user:` (DM) veya `channel:` (guild kanalı) kullanın; yalın sayısal kimlikler reddedilir.
-- Guild slug’ları küçük harflidir ve boşluklar `-` ile değiştirilir; kanal anahtarları slug’lanmış adı kullanır (`#` olmadan). Guild kimliklerini tercih edin.
-- Bot tarafından yazılan mesajlar varsayılan olarak yok sayılır. `allowBots: true` bunları etkinleştirir; yalnızca bottan bahseden bot mesajlarını kabul etmek için `allowBots: "mentions"` kullanın (kendi mesajları yine filtrelenir).
-- `channels.discord.guilds..ignoreOtherMentions` (ve kanal geçersiz kılmaları), bottan bahsetmeyip başka bir kullanıcıdan veya rolden bahseden mesajları düşürür (@everyone/@here hariç).
-- `maxLinesPerMessage` (varsayılan 17), 2000 karakterin altında olsa bile uzun mesajları böler.
-- `channels.discord.threadBindings`, Discord thread’e bağlı yönlendirmeyi denetler:
- - `enabled`: Thread’e bağlı oturum özellikleri için Discord geçersiz kılması (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age` ve bağlı teslim/yönlendirme)
- - `idleHours`: Saat cinsinden hareketsizlik otomatik odaktan çıkarma için Discord geçersiz kılması (`0` devre dışı bırakır)
+- Teslimat hedefleri için `user:` (DM) veya `channel:` (sunucu kanalı) kullanın; yalın sayısal kimlikler reddedilir.
+- Sunucu kısaltmaları küçük harflidir ve boşluklar `-` ile değiştirilir; kanal anahtarları kısaltılmış adı kullanır (`#` olmadan). Sunucu kimliklerini tercih edin.
+- Bot tarafından yazılan iletiler varsayılan olarak yok sayılır. `allowBots: true` bunları etkinleştirir; yalnızca bottan bahseden bot iletilerini kabul etmek için `allowBots: "mentions"` kullanın (kendi iletileri yine filtrelenir).
+- `channels.discord.guilds..ignoreOtherMentions` (ve kanal geçersiz kılmaları), bottan değil başka bir kullanıcıdan veya rolden bahseden iletileri düşürür (@everyone/@here hariç).
+- `maxLinesPerMessage` (varsayılan 17), 2000 karakterin altında olsa bile uzun iletileri böler.
+- `channels.discord.threadBindings`, Discord konu başlığına bağlı yönlendirmeyi denetler:
+ - `enabled`: Konu başlığına bağlı oturum özellikleri için Discord geçersiz kılması (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age` ve bağlı teslimat/yönlendirme)
+ - `idleHours`: Saat cinsinden hareketsizlikte otomatik odak kaldırma için Discord geçersiz kılması (`0` devre dışı bırakır)
- `maxAgeHours`: Saat cinsinden katı azami yaş için Discord geçersiz kılması (`0` devre dışı bırakır)
- - `spawnSubagentSessions`: `sessions_spawn({ thread: true })` otomatik thread oluşturma/bağlama için katılım anahtarı
-- `type: "acp"` içeren üst düzey `bindings[]` girdileri, kanallar ve thread’ler için kalıcı ACP bağlamaları yapılandırır (`match.peer.id` içinde kanal/thread kimliği kullanın). Alan semantiği [ACP Ajanları](/tr/tools/acp-agents#channel-specific-settings) içinde paylaşılır.
-- `channels.discord.ui.components.accentColor`, Discord bileşenleri v2 kapsayıcıları için vurgu rengini ayarlar.
-- `channels.discord.voice`, Discord ses kanalı konuşmalarını ve isteğe bağlı otomatik katılma + LLM + TTS geçersiz kılmalarını etkinleştirir.
+ - `spawnSubagentSessions`: `sessions_spawn({ thread: true })` otomatik konu başlığı oluşturma/bağlama için isteğe bağlı anahtar
+- `type: "acp"` olan üst düzey `bindings[]` girdileri, kanallar ve konu başlıkları için kalıcı ACP bağlamaları yapılandırır (`match.peer.id` içinde kanal/konu başlığı kimliğini kullanın). Alan semantiklerini [ACP Aracıları](/tr/tools/acp-agents#channel-specific-settings) içinde paylaşılır.
+- `channels.discord.ui.components.accentColor`, Discord components v2 kapsayıcıları için vurgu rengini ayarlar.
+- `channels.discord.voice`, Discord ses kanalı konuşmalarını ve isteğe bağlı otomatik katılım + LLM + TTS geçersiz kılmalarını etkinleştirir.
- `channels.discord.voice.model`, Discord ses kanalı yanıtları için kullanılan LLM modelini isteğe bağlı olarak geçersiz kılar.
-- `channels.discord.voice.daveEncryption` ve `channels.discord.voice.decryptionFailureTolerance`, `@discordjs/voice` DAVE seçeneklerine doğrudan iletilir (varsayılan olarak `true` ve `24`).
-- OpenClaw ayrıca, yinelenen şifre çözme hatalarından sonra bir ses oturumundan ayrılıp yeniden katılarak ses alma kurtarmasını dener.
-- `channels.discord.streaming`, kanonik akış modu anahtarıdır. Eski `streamMode` ve boolean `streaming` değerleri otomatik olarak taşınır.
-- `channels.discord.autoPresence`, runtime kullanılabilirliğini bot durumuna eşler (healthy => online, degraded => idle, exhausted => dnd) ve isteğe bağlı durum metni geçersiz kılmalarına izin verir.
+- `channels.discord.voice.daveEncryption` ve `channels.discord.voice.decryptionFailureTolerance`, `@discordjs/voice` DAVE seçeneklerine iletilir (varsayılan olarak `true` ve `24`).
+- OpenClaw ayrıca, tekrarlanan şifre çözme hatalarından sonra ses oturumundan ayrılıp yeniden katılarak ses alma kurtarmasını dener.
+- `channels.discord.streaming` standart akış modu anahtarıdır. Eski `streamMode` ve boolean `streaming` değerleri otomatik olarak taşınır.
+- `channels.discord.autoPresence`, çalışma zamanı kullanılabilirliğini bot varlığına eşler (healthy => online, degraded => idle, exhausted => dnd) ve isteğe bağlı durum metni geçersiz kılmalarına izin verir.
- `channels.discord.dangerouslyAllowNameMatching`, değiştirilebilir ad/etiket eşleştirmesini yeniden etkinleştirir (acil uyumluluk modu).
-- `channels.discord.execApprovals`: Discord’a özgü exec onayı teslimi ve onaylayıcı yetkilendirmesi.
- - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda, onaylayıcılar `approvers` veya `commands.ownerAllowFrom` üzerinden çözümlenebildiğinde exec onayları etkinleşir.
+- `channels.discord.execApprovals`: Discord'a özgü exec onayı teslimatı ve onaylayan yetkilendirmesi.
+ - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda, onaylayanlar `approvers` veya `commands.ownerAllowFrom` üzerinden çözümlenebildiğinde exec onayları etkinleşir.
- `approvers`: Exec isteklerini onaylamasına izin verilen Discord kullanıcı kimlikleri. Atlandığında `commands.ownerAllowFrom` değerine geri döner.
- - `agentFilter`: İsteğe bağlı ajan kimliği izin listesi. Tüm ajanlar için onayları iletmek üzere atlayın.
+ - `agentFilter`: İsteğe bağlı aracı kimliği izin listesi. Tüm aracılar için onayları iletmek üzere atlayın.
- `sessionFilter`: İsteğe bağlı oturum anahtarı desenleri (alt dize veya regex).
- - `target`: Onay istemlerinin nereye gönderileceği. `"dm"` (varsayılan) onaylayıcı DM’lerine gönderir, `"channel"` kaynak kanala gönderir, `"both"` ikisine de gönderir. Hedef `"channel"` içerdiğinde, düğmeler yalnızca çözümlenmiş onaylayıcılar tarafından kullanılabilir.
- - `cleanupAfterResolve`: `true` olduğunda onay, ret veya zaman aşımından sonra onay DM’lerini siler.
+ - `target`: Onay istemlerinin nereye gönderileceği. `"dm"` (varsayılan) onaylayan DM'lerine gönderir, `"channel"` kaynak kanala gönderir, `"both"` ikisine de gönderir. Hedef `"channel"` içerdiğinde, düğmeler yalnızca çözümlenmiş onaylayanlar tarafından kullanılabilir.
+ - `cleanupAfterResolve`: `true` olduğunda, onay, ret veya zaman aşımından sonra onay DM'lerini siler.
-**Tepki bildirim modları:** `off` (yok), `own` (botun mesajları, varsayılan), `all` (tüm mesajlar), `allowlist` (tüm mesajlarda `guilds..users` içinden).
+**Tepki bildirimi modları:** `off` (yok), `own` (botun iletileri, varsayılan), `all` (tüm iletiler), `allowlist` (tüm iletilerde `guilds..users` üzerinden).
### Google Chat
@@ -387,10 +389,10 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b
}
```
-- Hizmet hesabı JSON’u: satır içi (`serviceAccount`) veya dosya tabanlı (`serviceAccountFile`).
+- Hizmet hesabı JSON'u: satır içi (`serviceAccount`) veya dosya tabanlı (`serviceAccountFile`).
- Hizmet hesabı SecretRef de desteklenir (`serviceAccountRef`).
-- Ortam geri dönüşleri: `GOOGLE_CHAT_SERVICE_ACCOUNT` veya `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`.
-- Teslim hedefleri için `spaces/` veya `users/` kullanın.
+- Ortam yedekleri: `GOOGLE_CHAT_SERVICE_ACCOUNT` veya `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`.
+- Teslimat hedefleri için `spaces/` veya `users/` kullanın.
- `channels.googlechat.dangerouslyAllowNameMatching`, değiştirilebilir e-posta sorumlusu eşleştirmesini yeniden etkinleştirir (acil uyumluluk modu).
### Slack
@@ -463,44 +465,44 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b
}
```
-- **Socket modu**, hem `botToken` hem de `appToken` gerektirir (varsayılan hesap ortam geri dönüşü için `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`).
-- **HTTP modu**, `botToken` artı `signingSecret` gerektirir (kök düzeyde veya hesap başına).
-- `socketMode`, Slack SDK Socket Mode taşıma ayarlarını genel Bolt alıcı API’sine doğrudan iletir. Yalnızca ping/pong zaman aşımı veya bayat websocket davranışını araştırırken kullanın.
-- `botToken`, `appToken`, `signingSecret` ve `userToken` düz metin
+- **Socket mode**, hem `botToken` hem de `appToken` gerektirir (varsayılan hesap ortam yedeği için `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`).
+- **HTTP modu**, `botToken` ve ayrıca `signingSecret` gerektirir (kökte veya hesap başına).
+- `socketMode`, Slack SDK Socket Mode taşıma ayarlarını herkese açık Bolt receiver API'ye iletir. Yalnızca ping/pong zaman aşımı veya eski websocket davranışını araştırırken kullanın.
+- `botToken`, `appToken`, `signingSecret` ve `userToken`, düz metin
dizelerini veya SecretRef nesnelerini kabul eder.
-- Slack hesap anlık görüntüleri, `botTokenSource`, `botTokenStatus`,
- `appTokenStatus` ve HTTP modunda `signingSecretStatus` gibi kimlik bilgisi
- başına kaynak/durum alanlarını gösterir. `configured_unavailable`, hesabın
- SecretRef üzerinden yapılandırıldığı ancak mevcut komut/runtime yolunun gizli
- değeri çözemediği anlamına gelir.
+- Slack hesap anlık görüntüleri, kimlik bilgisi başına kaynak/durum alanlarını gösterir; örneğin
+ `botTokenSource`, `botTokenStatus`, `appTokenStatus` ve HTTP modunda
+ `signingSecretStatus`. `configured_unavailable`, hesabın
+ SecretRef üzerinden yapılandırıldığı ancak geçerli komut/çalışma zamanı yolunun
+ gizli değeri çözemediği anlamına gelir.
- `configWrites: false`, Slack tarafından başlatılan yapılandırma yazmalarını engeller.
- İsteğe bağlı `channels.slack.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
-- `channels.slack.streaming.mode`, kanonik Slack akış modu anahtarıdır. `channels.slack.streaming.nativeTransport`, Slack’in yerel akış taşımasını denetler. Eski `streamMode`, boolean `streaming` ve `nativeStreaming` değerleri otomatik olarak taşınır.
-- Teslim hedefleri için `user:` (DM) veya `channel:` kullanın.
+- `channels.slack.streaming.mode`, standart Slack akış modu anahtarıdır. `channels.slack.streaming.nativeTransport`, Slack'in yerel akış taşımasını denetler. Eski `streamMode`, boolean `streaming` ve `nativeStreaming` değerleri otomatik olarak taşınır.
+- Teslimat hedefleri için `user:` (DM) veya `channel:` kullanın.
-**Tepki bildirim modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden).
+**Tepki bildirimi modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` üzerinden).
-**Thread oturumu yalıtımı:** `thread.historyScope`, thread başına (varsayılan) veya kanal genelinde paylaşımlıdır. `thread.inheritParent`, üst kanal dökümünü yeni thread’lere kopyalar.
+**Konu başlığı oturum izolasyonu:** `thread.historyScope`, konu başlığı başına (varsayılan) veya kanal genelinde paylaşılır. `thread.inheritParent`, üst kanal dökümünü yeni konu başlıklarına kopyalar.
-- Slack yerel akışı ve Slack asistan tarzı "is typing..." thread durumu, bir yanıt thread hedefi gerektirir. Üst düzey DM’ler varsayılan olarak thread dışında kalır; bu yüzden thread tarzı önizleme yerine `typingReaction` veya normal teslim kullanırlar.
-- `typingReaction`, yanıt çalışırken gelen Slack mesajına geçici bir tepki ekler, ardından tamamlandığında bunu kaldırır. `"hourglass_flowing_sand"` gibi bir Slack emoji kısa kodu kullanın.
-- `channels.slack.execApprovals`: Slack’e özgü exec onayı teslimi ve onaylayıcı yetkilendirmesi. Discord ile aynı şema: `enabled` (`true`/`false`/`"auto"`), `approvers` (Slack kullanıcı kimlikleri), `agentFilter`, `sessionFilter` ve `target` (`"dm"`, `"channel"` veya `"both"`).
+- Slack yerel akışı ve Slack assistant tarzı "is typing..." konu başlığı durumu, bir yanıt konu başlığı hedefi gerektirir. Üst düzey DM'ler varsayılan olarak konu başlığı dışında kalır, bu nedenle konu başlığı tarzı önizleme yerine `typingReaction` veya normal teslimat kullanırlar.
+- `typingReaction`, bir yanıt çalışırken gelen Slack iletisine geçici bir tepki ekler, ardından tamamlandığında kaldırır. `"hourglass_flowing_sand"` gibi bir Slack emoji kısa kodu kullanın.
+- `channels.slack.execApprovals`: Slack'e özgü exec onayı teslimatı ve onaylayan yetkilendirmesi. Discord ile aynı şema: `enabled` (`true`/`false`/`"auto"`), `approvers` (Slack kullanıcı kimlikleri), `agentFilter`, `sessionFilter` ve `target` (`"dm"`, `"channel"` veya `"both"`).
-| Eylem grubu | Varsayılan | Notlar |
+| Eylem grubu | Varsayılan | Notlar |
| ------------ | ------- | ---------------------- |
| reactions | etkin | Tepki ver + tepkileri listele |
| messages | etkin | Oku/gönder/düzenle/sil |
-| pins | etkin | Sabitle/sabitlemeyi kaldır/listele |
+| pins | etkin | Sabitle/sabitlemeyi kaldır/listele |
| memberInfo | etkin | Üye bilgisi |
| emojiList | etkin | Özel emoji listesi |
### Mattermost
-Mattermost, mevcut OpenClaw sürümlerinde paketlenmiş bir Plugin olarak gelir. Daha eski veya
+Mattermost, mevcut OpenClaw sürümlerinde birlikte gelen bir Plugin olarak sunulur. Daha eski veya
özel derlemeler, güncel bir npm paketini
-`openclaw plugins install @openclaw/mattermost` ile kurabilir; npm
-OpenClaw’a ait paketi kullanımdan kaldırılmış olarak bildirirse, daha yeni bir npm paketi yayımlanana kadar
-paketlenmiş Plugin’i veya yerel bir checkout’u kullanın.
+`openclaw plugins install @openclaw/mattermost` ile yükleyebilir; npm
+OpenClaw'a ait paketi kullanımdan kaldırılmış olarak bildirirse, daha yeni bir npm paketi yayımlanana kadar
+birlikte gelen Plugin'i veya yerel bir checkout'u kullanın.
```json5
{
@@ -530,20 +532,20 @@ paketlenmiş Plugin’i veya yerel bir checkout’u kullanın.
}
```
-Sohbet modları: `oncall` (@-mention üzerine yanıt ver, varsayılan), `onmessage` (her mesaj), `onchar` (tetikleyici önekle başlayan mesajlar).
+Sohbet modları: `oncall` (@-bahsetmede yanıt ver, varsayılan), `onmessage` (her ileti), `onchar` (tetikleyici önekle başlayan iletiler).
Mattermost yerel komutları etkinleştirildiğinde:
-- `commands.callbackPath` tam URL değil, bir yol olmalıdır (örneğin `/api/channels/mattermost/command`).
+- `commands.callbackPath`, tam URL değil, bir yol olmalıdır (örneğin `/api/channels/mattermost/command`).
- `commands.callbackUrl`, OpenClaw Gateway uç noktasına çözümlenmeli ve Mattermost sunucusundan erişilebilir olmalıdır.
- Yerel slash geri çağrıları, slash komut kaydı sırasında Mattermost tarafından döndürülen
- komut başına token’larla doğrulanır. Kayıt başarısız olursa veya hiçbir
+ komut başına token'larla doğrulanır. Kayıt başarısız olursa veya hiçbir
komut etkinleştirilmezse, OpenClaw geri çağrıları
`Unauthorized: invalid command token.` ile reddeder.
-- Özel/tailnet/dahili geri çağrı host’ları için Mattermost,
- `ServiceSettings.AllowedUntrustedInternalConnections` değerinin geri çağrı host’unu/alan adını içermesini gerektirebilir.
- Tam URL değil, host/alan adı değerlerini kullanın.
-- `channels.mattermost.configWrites`: Mattermost tarafından başlatılan yapılandırma yazmalarına izin verin veya bunları reddedin.
+- Özel/tailnet/dahili geri çağrı ana makineleri için Mattermost,
+ `ServiceSettings.AllowedUntrustedInternalConnections` değerinin geri çağrı ana makinesini/etki alanını içermesini gerektirebilir.
+ Tam URL'ler değil, ana makine/etki alanı değerleri kullanın.
+- `channels.mattermost.configWrites`: Mattermost tarafından başlatılan yapılandırma yazmalarına izin verin veya reddedin.
- `channels.mattermost.requireMention`: Kanallarda yanıtlamadan önce `@mention` gerektir.
- `channels.mattermost.groups..requireMention`: Kanal başına bahsetme kapısı geçersiz kılması (varsayılan için `"*"`).
- İsteğe bağlı `channels.mattermost.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
@@ -570,12 +572,12 @@ Mattermost yerel komutları etkinleştirildiğinde:
**Tepki bildirimi modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden).
- `channels.signal.account`: kanal başlangıcını belirli bir Signal hesap kimliğine sabitleyin.
-- `channels.signal.configWrites`: Signal tarafından başlatılan yapılandırma yazma işlemlerine izin verin veya bunları reddedin.
+- `channels.signal.configWrites`: Signal tarafından başlatılan yapılandırma yazmalarına izin verin veya bunları reddedin.
- İsteğe bağlı `channels.signal.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
### BlueBubbles
-BlueBubbles önerilen iMessage yoludur (Plugin destekli, `channels.bluebubbles` altında yapılandırılır).
+BlueBubbles, önerilen iMessage yoludur (Plugin destekli, `channels.bluebubbles` altında yapılandırılır).
```json5
{
@@ -590,14 +592,14 @@ BlueBubbles önerilen iMessage yoludur (Plugin destekli, `channels.bluebubbles`
}
```
-- Burada kapsanan çekirdek anahtar yolları: `channels.bluebubbles`, `channels.bluebubbles.dmPolicy`.
+- Burada kapsanan temel anahtar yolları: `channels.bluebubbles`, `channels.bluebubbles.dmPolicy`.
- İsteğe bağlı `channels.bluebubbles.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
-- `type: "acp"` değerine sahip üst düzey `bindings[]` girdileri, BlueBubbles konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde bir BlueBubbles tanıtıcısı veya hedef dizesi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan semantiği: [ACP Ajanları](/tr/tools/acp-agents#channel-specific-settings).
+- `type: "acp"` içeren üst düzey `bindings[]` girdileri, BlueBubbles konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde bir BlueBubbles tanıtıcısı veya hedef dizesi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan semantiği: [ACP Aracıları](/tr/tools/acp-agents#channel-specific-settings).
- Tam BlueBubbles kanal yapılandırması [BlueBubbles](/tr/channels/bluebubbles) içinde belgelenmiştir.
### iMessage
-OpenClaw `imsg rpc` başlatır (stdio üzerinden JSON-RPC). Daemon veya bağlantı noktası gerekmez.
+OpenClaw, `imsg rpc` başlatır (stdio üzerinden JSON-RPC). Daemon veya bağlantı noktası gerekmez.
```json5
{
@@ -623,13 +625,13 @@ OpenClaw `imsg rpc` başlatır (stdio üzerinden JSON-RPC). Daemon veya bağlant
- İsteğe bağlı `channels.imessage.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
-- Messages DB için Full Disk Access gerektirir.
+- Messages veritabanına Tam Disk Erişimi gerektirir.
- `chat_id:` hedeflerini tercih edin. Sohbetleri listelemek için `imsg chats --limit 20` kullanın.
-- `cliPath` bir SSH sarmalayıcısına işaret edebilir; SCP ek alma işlemleri için `remoteHost` (`host` veya `user@host`) ayarlayın.
-- `attachmentRoots` ve `remoteAttachmentRoots` gelen ek yollarını sınırlar (varsayılan: `/Users/*/Library/Messages/Attachments`).
-- SCP katı ana makine anahtarı denetimi kullanır, bu nedenle aktarma ana makinesinin anahtarının `~/.ssh/known_hosts` içinde zaten bulunduğundan emin olun.
-- `channels.imessage.configWrites`: iMessage tarafından başlatılan yapılandırma yazma işlemlerine izin verin veya bunları reddedin.
-- `type: "acp"` değerine sahip üst düzey `bindings[]` girdileri, iMessage konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde normalleştirilmiş bir tanıtıcı veya açık sohbet hedefi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan semantiği: [ACP Ajanları](/tr/tools/acp-agents#channel-specific-settings).
+- `cliPath` bir SSH sarmalayıcısına işaret edebilir; SCP ek getirme için `remoteHost` (`host` veya `user@host`) ayarlayın.
+- `attachmentRoots` ve `remoteAttachmentRoots`, gelen ek yollarını kısıtlar (varsayılan: `/Users/*/Library/Messages/Attachments`).
+- SCP sıkı host-key denetimi kullanır; bu nedenle aktarma ana makinesi anahtarının `~/.ssh/known_hosts` içinde zaten bulunduğundan emin olun.
+- `channels.imessage.configWrites`: iMessage tarafından başlatılan yapılandırma yazmalarına izin verin veya bunları reddedin.
+- `type: "acp"` içeren üst düzey `bindings[]` girdileri, iMessage konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde normalleştirilmiş bir tanıtıcı veya açık sohbet hedefi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan semantiği: [ACP Aracıları](/tr/tools/acp-agents#channel-specific-settings).
@@ -642,7 +644,7 @@ exec ssh -T gateway-host imsg "$@"
### Matrix
-Matrix Plugin desteklidir ve `channels.matrix` altında yapılandırılır.
+Matrix, Plugin desteklidir ve `channels.matrix` altında yapılandırılır.
```json5
{
@@ -674,23 +676,23 @@ Matrix Plugin desteklidir ve `channels.matrix` altında yapılandırılır.
- Token kimlik doğrulaması `accessToken` kullanır; parola kimlik doğrulaması `userId` + `password` kullanır.
- `channels.matrix.proxy`, Matrix HTTP trafiğini açık bir HTTP(S) proxy üzerinden yönlendirir. Adlandırılmış hesaplar bunu `channels.matrix.accounts..proxy` ile geçersiz kılabilir.
-- `channels.matrix.network.dangerouslyAllowPrivateNetwork` özel/dahili homeserver'lara izin verir. `proxy` ve bu ağ katılımı bağımsız denetimlerdir.
+- `channels.matrix.network.dangerouslyAllowPrivateNetwork`, özel/iç homeserver'lara izin verir. `proxy` ve bu ağ tercihi bağımsız denetimlerdir.
- `channels.matrix.defaultAccount`, çok hesaplı kurulumlarda tercih edilen hesabı seçer.
- `channels.matrix.autoJoin` varsayılan olarak `off` değerindedir; bu nedenle davet edilen odalar ve yeni DM tarzı davetler, `autoJoinAllowlist` ile `autoJoin: "allowlist"` veya `autoJoin: "always"` ayarlanana kadar yok sayılır.
-- `channels.matrix.execApprovals`: Matrix'e özgü exec onayı teslimi ve onaylayıcı yetkilendirmesi.
+- `channels.matrix.execApprovals`: Matrix yerel exec onayı teslimi ve onaylayıcı yetkilendirmesi.
- `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda, onaylayıcılar `approvers` veya `commands.ownerAllowFrom` içinden çözümlenebildiğinde exec onayları etkinleşir.
- - `approvers`: exec isteklerini onaylamasına izin verilen Matrix kullanıcı kimlikleri (ör. `@owner:example.org`).
- - `agentFilter`: isteğe bağlı ajan kimliği izin listesi. Tüm ajanlar için onayları iletmek üzere atlayın.
- - `sessionFilter`: isteğe bağlı oturum anahtarı kalıpları (alt dize veya regex).
- - `target`: onay istemlerinin gönderileceği yer. `"dm"` (varsayılan), `"channel"` (kaynak oda) veya `"both"`.
+ - `approvers`: exec isteklerini onaylamasına izin verilen Matrix kullanıcı kimlikleri (örn. `@owner:example.org`).
+ - `agentFilter`: isteğe bağlı aracı kimliği izin listesi. Tüm aracılar için onayları iletmek üzere atlayın.
+ - `sessionFilter`: isteğe bağlı oturum anahtarı desenleri (alt dize veya regex).
+ - `target`: onay istemlerinin nereye gönderileceği. `"dm"` (varsayılan), `"channel"` (kaynak oda) veya `"both"`.
- Hesap başına geçersiz kılmalar: `channels.matrix.accounts..execApprovals`.
-- `channels.matrix.dm.sessionScope`, Matrix DM'lerinin oturumlar halinde nasıl gruplandığını denetler: `per-user` (varsayılan) yönlendirilen eşe göre paylaşırken, `per-room` her DM odasını yalıtır.
-- Matrix durum yoklamaları ve canlı dizin aramaları, çalışma zamanı trafiğiyle aynı proxy politikasını kullanır.
+- `channels.matrix.dm.sessionScope`, Matrix DM'lerinin oturumlarda nasıl gruplandırılacağını denetler: `per-user` (varsayılan) yönlendirilen eşe göre paylaşır, `per-room` ise her DM odasını yalıtır.
+- Matrix durum yoklamaları ve canlı dizin aramaları, çalışma zamanı trafiğiyle aynı proxy ilkesini kullanır.
- Tam Matrix yapılandırması, hedefleme kuralları ve kurulum örnekleri [Matrix](/tr/channels/matrix) içinde belgelenmiştir.
### Microsoft Teams
-Microsoft Teams Plugin desteklidir ve `channels.msteams` altında yapılandırılır.
+Microsoft Teams, Plugin desteklidir ve `channels.msteams` altında yapılandırılır.
```json5
{
@@ -705,12 +707,12 @@ Microsoft Teams Plugin desteklidir ve `channels.msteams` altında yapılandırı
}
```
-- Burada kapsanan çekirdek anahtar yolları: `channels.msteams`, `channels.msteams.configWrites`.
-- Tam Teams yapılandırması (kimlik bilgileri, Webhook, DM/grup politikası, ekip başına/kanal başına geçersiz kılmalar) [Microsoft Teams](/tr/channels/msteams) içinde belgelenmiştir.
+- Burada kapsanan temel anahtar yolları: `channels.msteams`, `channels.msteams.configWrites`.
+- Tam Teams yapılandırması (kimlik bilgileri, webhook, DM/grup ilkesi, takım başına/kanal başına geçersiz kılmalar) [Microsoft Teams](/tr/channels/msteams) içinde belgelenmiştir.
### IRC
-IRC Plugin desteklidir ve `channels.irc` altında yapılandırılır.
+IRC, Plugin desteklidir ve `channels.irc` altında yapılandırılır.
```json5
{
@@ -731,13 +733,13 @@ IRC Plugin desteklidir ve `channels.irc` altında yapılandırılır.
}
```
-- Burada kapsanan çekirdek anahtar yolları: `channels.irc`, `channels.irc.dmPolicy`, `channels.irc.configWrites`, `channels.irc.nickserv.*`.
+- Burada kapsanan temel anahtar yolları: `channels.irc`, `channels.irc.dmPolicy`, `channels.irc.configWrites`, `channels.irc.nickserv.*`.
- İsteğe bağlı `channels.irc.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar.
-- Tam IRC kanal yapılandırması (host/port/TLS/kanallar/izin listeleri/bahsetme kapısı) [IRC](/tr/channels/irc) içinde belgelenmiştir.
+- Tam IRC kanal yapılandırması (host/port/TLS/kanallar/izin listeleri/bahsetme geçidi) [IRC](/tr/channels/irc) içinde belgelenmiştir.
### Çoklu hesap (tüm kanallar)
-Kanal başına birden çok hesap çalıştırın (her biri kendi `accountId` değerine sahip):
+Kanal başına birden çok hesap çalıştırın (her birinin kendi `accountId` değeriyle):
```json5
{
@@ -760,30 +762,32 @@ Kanal başına birden çok hesap çalıştırın (her biri kendi `accountId` de
- `accountId` atlandığında `default` kullanılır (CLI + yönlendirme).
- Ortam token'ları yalnızca **varsayılan** hesaba uygulanır.
-- Temel kanal ayarları, hesap başına geçersiz kılınmadığı sürece tüm hesaplara uygulanır.
-- Her hesabı farklı bir ajana yönlendirmek için `bindings[].match.accountId` kullanın.
-- Tek hesaplı üst düzey kanal yapılandırmasındayken `openclaw channels add` (veya kanal ilk kurulumu) aracılığıyla varsayılan olmayan bir hesap eklerseniz, OpenClaw önce hesap kapsamlı üst düzey tek hesap değerlerini kanal hesap haritasına yükseltir; böylece özgün hesap çalışmaya devam eder. Çoğu kanal bunları `channels..accounts.default` içine taşır; Matrix bunun yerine mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir.
-- Mevcut yalnızca kanal bağlamaları (`accountId` yok) varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlamalar isteğe bağlı kalır.
-- `openclaw doctor --fix`, hesap kapsamlı üst düzey tek hesap değerlerini o kanal için seçilen yükseltilmiş hesaba taşıyarak karışık şekilleri de onarır. Çoğu kanal `accounts.default` kullanır; Matrix bunun yerine mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir.
+- Temel kanal ayarları, hesap başına geçersiz kılınmadıkça tüm hesaplara uygulanır.
+- Her hesabı farklı bir aracıya yönlendirmek için `bindings[].match.accountId` kullanın.
+- Tek hesaplı üst düzey kanal yapılandırmasındayken `openclaw channels add` (veya kanal başlangıç yapılandırması) üzerinden varsayılan olmayan bir hesap eklerseniz OpenClaw, özgün hesabın çalışmaya devam etmesi için önce hesap kapsamlı üst düzey tek hesap değerlerini kanal hesap eşlemesine yükseltir. Çoğu kanal bunları `channels..accounts.default` içine taşır; Matrix bunun yerine mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir.
+- Mevcut yalnızca kanal bağlamaları (`accountId` yok), varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlamalar isteğe bağlı kalır.
+- `openclaw doctor --fix`, hesap kapsamlı üst düzey tek hesap değerlerini o kanal için seçilen yükseltilmiş hesaba taşıyarak karma şekilleri de onarır. Çoğu kanal `accounts.default` kullanır; Matrix bunun yerine mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir.
### Diğer Plugin kanalları
-Birçok Plugin kanalı `channels.` olarak yapılandırılır ve kendi özel kanal sayfalarında belgelenir (örneğin Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat ve Twitch).
+Birçok Plugin kanalı `channels.` olarak yapılandırılır ve kendi ayrılmış kanal sayfalarında belgelenir (örneğin Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat ve Twitch).
Tam kanal dizinine bakın: [Kanallar](/tr/channels).
-### Grup sohbeti bahsetme kapısı
+### Grup sohbeti bahsetme geçidi
-Grup mesajları varsayılan olarak **bahsetme gerektirir** (meta veri bahsetmesi veya güvenli regex kalıpları). WhatsApp, Telegram, Discord, Google Chat ve iMessage grup sohbetlerine uygulanır.
+Grup mesajları varsayılan olarak **bahsetme gerektirir** (metadata bahsetmesi veya güvenli regex desenleri). WhatsApp, Telegram, Discord, Google Chat ve iMessage grup sohbetleri için geçerlidir.
-Görünür yanıtlar ayrı olarak denetlenir. Grup/kanal odaları varsayılan olarak `messages.groupChat.visibleReplies: "message_tool"` kullanır: OpenClaw turu yine işler, ancak normal son yanıtlar özel kalır ve görünür oda çıktısı `message(action=send)` gerektirir. Normal yanıtların odaya geri gönderildiği eski davranışı yalnızca istediğinizde `"automatic"` ayarlayın. Aynı yalnızca araçla görünür yanıt davranışını doğrudan sohbetlere de uygulamak için `messages.visibleReplies: "message_tool"` ayarlayın.
+Görünür yanıtlar ayrı olarak denetlenir. Grup/kanal odaları varsayılan olarak `messages.groupChat.visibleReplies: "message_tool"` kullanır: OpenClaw yine de turu işler, ancak normal nihai yanıtlar özel kalır ve görünür oda çıktısı `message(action=send)` gerektirir. Normal yanıtların odaya geri gönderildiği eski davranışı istediğinizde yalnızca `"automatic"` ayarlayın. Aynı yalnızca araçla görünür yanıt davranışını doğrudan sohbetlere de uygulamak için `messages.visibleReplies: "message_tool"` ayarlayın.
-Dosya kaydedildikten sonra gateway `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.
+Mesaj aracı etkin araç ilkesi kapsamı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.
+
+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.
**Bahsetme türleri:**
-- **Meta veri bahsetmeleri**: Yerel platform @-bahsetmeleri. WhatsApp kendi kendine sohbet modunda yok sayılır.
-- **Metin kalıpları**: `agents.list[].groupChat.mentionPatterns` içindeki güvenli regex kalıpları. Geçersiz kalıplar ve güvenli olmayan iç içe yinelemeler yok sayılır.
-- Bahsetme kapısı yalnızca algılama mümkün olduğunda uygulanır (yerel bahsetmeler veya en az bir kalıp).
+- **Metadata bahsetmeleri**: Yerel platform @-bahsetmeleri. WhatsApp kendiyle sohbet modunda yok sayılır.
+- **Metin desenleri**: `agents.list[].groupChat.mentionPatterns` içindeki güvenli regex desenleri. Geçersiz desenler ve güvenli olmayan iç içe tekrarlar yok sayılır.
+- Bahsetme geçidi yalnızca algılama mümkün olduğunda uygulanır (yerel bahsetmeler veya en az bir desen).
```json5
{
@@ -800,9 +804,9 @@ Dosya kaydedildikten sonra gateway `messages` yapılandırmasını hot-reload ed
}
```
-`messages.groupChat.historyLimit` genel varsayılanı ayarlar. Kanallar bunu `channels..historyLimit` (veya hesap başına) ile geçersiz kılabilir. Devre dışı bırakmak için `0` ayarlayın.
+`messages.groupChat.historyLimit` genel varsayılanı ayarlar. Kanallar `channels..historyLimit` (veya hesap başına) ile geçersiz kılabilir. Devre dışı bırakmak için `0` ayarlayın.
-`messages.visibleReplies` genel kaynak turu varsayılanıdır; `messages.groupChat.visibleReplies` grup/kanal kaynak turları için bunu geçersiz kılar. Kanal izin listeleri ve bahsetme kapısı, bir turun işlenip işlenmeyeceğine yine karar verir.
+`messages.visibleReplies`, genel kaynak turu varsayılanıdır; `messages.groupChat.visibleReplies` grup/kanal kaynak turları için bunu geçersiz kılar. Kanal izin listeleri ve bahsetme geçidi, bir turun işlenip işlenmeyeceğine yine de karar verir.
#### DM geçmiş sınırları
@@ -823,9 +827,9 @@ Dosya kaydedildikten sonra gateway `messages` yapılandırmasını hot-reload ed
Desteklenenler: `telegram`, `whatsapp`, `discord`, `slack`, `signal`, `imessage`, `msteams`.
-#### Kendi kendine sohbet modu
+#### Kendiyle sohbet modu
-Kendi kendine sohbet modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekleyin (yerel @-bahsetmeleri yok sayar, yalnızca metin kalıplarına yanıt verir):
+Kendiyle sohbet modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekleyin (yerel @-bahsetmeleri yok sayar, yalnızca metin desenlerine yanıt verir):
```json5
{
@@ -873,32 +877,32 @@ Kendi kendine sohbet modunu etkinleştirmek için kendi numaranızı `allowFrom`
}
```
-
+
-- Bu blok komut yüzeylerini yapılandırır. Geçerli yerleşik + birlikte gelen komut kataloğu için bkz. [Eğik Çizgi Komutları](/tr/tools/slash-commands).
-- Bu sayfa, tam komut kataloğu değil, bir **yapılandırma anahtarı başvurusu**dur. QQ Bot `/bot-ping` `/bot-help` `/bot-logs`, LINE `/card`, device-pair `/pair`, bellek `/dreaming`, telefon denetimi `/phone` ve Talk `/voice` gibi kanal/Plugin sahipli komutlar, kendi kanal/Plugin sayfalarında ve [Eğik Çizgi Komutları](/tr/tools/slash-commands) bölümünde belgelenmiştir.
-- Metin komutları, başında `/` bulunan **tek başına** mesajlar olmalıdır.
+- Bu blok komut yüzeylerini yapılandırır. Geçerli yerleşik + paketli komut kataloğu için bkz. [Eğik Çizgi Komutları](/tr/tools/slash-commands).
+- Bu sayfa tam komut kataloğu değil, bir **yapılandırma anahtarı başvurusudur**. QQ Bot `/bot-ping` `/bot-help` `/bot-logs`, LINE `/card`, cihaz eşleme `/pair`, bellek `/dreaming`, telefon denetimi `/phone` ve Talk `/voice` gibi kanal/Plugin sahipli komutlar, kendi kanal/Plugin sayfalarında ve [Eğik Çizgi Komutları](/tr/tools/slash-commands) sayfasında belgelenir.
+- Metin komutları, başında `/` bulunan **bağımsız** iletiler olmalıdır.
- `native: "auto"` Discord/Telegram için yerel komutları açar, Slack'i kapalı bırakır.
- `nativeSkills: "auto"` Discord/Telegram için yerel Skills komutlarını açar, Slack'i kapalı bırakır.
-- Kanal başına geçersiz kılma: `channels.discord.commands.native` (bool veya `"auto"`). `false` daha önce kaydedilmiş komutları temizler.
+- Kanal bazında geçersiz kılın: `channels.discord.commands.native` (bool veya `"auto"`). `false`, daha önce kaydedilmiş komutları temizler.
- Kanal başına yerel Skills kaydını `channels..commands.nativeSkills` ile geçersiz kılın.
-- `channels.telegram.customCommands` ek Telegram bot menüsü girdileri ekler.
-- `bash: true`, ana makine kabuğu için `! ` kullanımını etkinleştirir. `tools.elevated.enabled` ve gönderenin `tools.elevated.allowFrom.` içinde olmasını gerektirir.
-- `config: true`, `/config` komutunu etkinleştirir (`openclaw.json` okur/yazar). Gateway `chat.send` istemcileri için kalıcı `/config set|unset` yazmaları ayrıca `operator.admin` gerektirir; salt okunur `/config show`, normal yazma kapsamlı operatör istemcileri için kullanılabilir kalır.
+- `channels.telegram.customCommands` ek Telegram bot menü girişleri ekler.
+- `bash: true`, ana makine kabuğu için `! ` özelliğini etkinleştirir. `tools.elevated.enabled` ve gönderenin `tools.elevated.allowFrom.` içinde olmasını gerektirir.
+- `config: true`, `/config` komutunu etkinleştirir (`openclaw.json` okur/yazar). Gateway `chat.send` istemcileri için kalıcı `/config set|unset` yazma işlemleri ayrıca `operator.admin` gerektirir; salt okunur `/config show`, normal yazma kapsamlı operatör istemcileri tarafından kullanılabilir kalır.
- `mcp: true`, `mcp.servers` altındaki OpenClaw tarafından yönetilen MCP sunucu yapılandırması için `/mcp` komutunu etkinleştirir.
- `plugins: true`, Plugin keşfi, kurulum ve etkinleştirme/devre dışı bırakma denetimleri için `/plugins` komutunu etkinleştirir.
-- `channels..configWrites`, kanal başına yapılandırma değişikliklerini kapılar (varsayılan: true).
-- Çok hesaplı kanallar için `channels..accounts..configWrites`, o hesabı hedefleyen yazmaları da kapılar (örneğin `/allowlist --config --account ` veya `/config set channels..accounts....`).
-- `restart: false`, `/restart` ve Gateway yeniden başlatma aracı eylemlerini devre dışı bırakır. Varsayılan: `true`.
+- `channels..configWrites`, kanal başına yapılandırma değişikliklerini sınırlar (varsayılan: true).
+- Çok hesaplı kanallar için `channels..accounts..configWrites`, o hesabı hedefleyen yazma işlemlerini de sınırlar (örneğin `/allowlist --config --account ` veya `/config set channels..accounts....`).
+- `restart: false`, `/restart` komutunu ve Gateway yeniden başlatma aracı eylemlerini devre dışı bırakır. Varsayılan: `true`.
- `ownerAllowFrom`, yalnızca sahip komutları/araçları için açık sahip izin listesidir. `allowFrom` değerinden ayrıdır.
- `ownerDisplay: "hash"`, sistem isteminde sahip kimliklerini hash'ler. Hashlemeyi denetlemek için `ownerDisplaySecret` ayarlayın.
-- `allowFrom`, sağlayıcı başınadır. Ayarlandığında **tek** yetkilendirme kaynağıdır (kanal izin listeleri/eşleştirme ve `useAccessGroups` yok sayılır).
-- `useAccessGroups: false`, `allowFrom` ayarlanmadığında komutların erişim grubu ilkelerini atlamasına izin verir.
+- `allowFrom`, sağlayıcı başınadır. Ayarlandığında **tek** yetkilendirme kaynağıdır (kanal izin listeleri/eşleme ve `useAccessGroups` yok sayılır).
+- `allowFrom` ayarlanmadığında `useAccessGroups: false`, komutların erişim grubu ilkelerini atlamasına izin verir.
- Komut belgeleri haritası:
- - yerleşik + birlikte gelen katalog: [Eğik Çizgi Komutları](/tr/tools/slash-commands)
+ - yerleşik + paketli katalog: [Eğik Çizgi Komutları](/tr/tools/slash-commands)
- kanala özgü komut yüzeyleri: [Kanallar](/tr/channels)
- QQ Bot komutları: [QQ Bot](/tr/channels/qqbot)
- - eşleştirme komutları: [Eşleştirme](/tr/channels/pairing)
+ - eşleme komutları: [Eşleme](/tr/channels/pairing)
- LINE kart komutu: [LINE](/tr/channels/line)
- bellek Dreaming: [Dreaming](/tr/concepts/dreaming)
diff --git a/docs/tr/gateway/config-tools.md b/docs/tr/gateway/config-tools.md
index fb7c51ae2..62909bd05 100644
--- a/docs/tr/gateway/config-tools.md
+++ b/docs/tr/gateway/config-tools.md
@@ -4,18 +4,18 @@ read_when:
- Özel sağlayıcıları kaydetme veya temel URL'leri geçersiz kılma
- OpenAI uyumlu, kendi barındırdığınız uç noktaları ayarlama
sidebarTitle: Tools and custom providers
-summary: Araç yapılandırması (politika, deneysel aç/kapat seçenekleri, sağlayıcı destekli araçlar) ve özel sağlayıcı/base-URL kurulumu
+summary: Araçlar yapılandırması (politika, deneysel geçişler, sağlayıcı destekli araçlar) ve özel sağlayıcı/base-URL kurulumu
title: Yapılandırma — araçlar ve özel sağlayıcılar
x-i18n:
- generated_at: "2026-04-30T09:20:22Z"
+ generated_at: "2026-05-01T09:00:42Z"
model: gpt-5.5
provider: openai
- source_hash: 1790c92ecaf822c837326d8e22e9d72cc44e5d4cc0bcc00c154ba5160975002a
+ source_hash: 97e6bd8c762f6f7a9985b99ec016dde22c8ea8adc925778b11c2ae5103b887a8
source_path: gateway/config-tools.md
workflow: 16
---
-`tools.*` yapılandırma anahtarları ve özel sağlayıcı / temel URL kurulumu. Ajanlar, kanallar ve diğer üst düzey yapılandırma anahtarları için bkz. [Yapılandırma başvurusu](/tr/gateway/configuration-reference).
+`tools.*` yapılandırma anahtarları ve özel sağlayıcı / temel URL kurulumu. agents, channels ve diğer üst düzey yapılandırma anahtarları için bkz. [Yapılandırma referansı](/tr/gateway/configuration-reference).
## Araçlar
@@ -24,15 +24,15 @@ x-i18n:
`tools.profile`, `tools.allow`/`tools.deny` öncesinde temel bir izin listesi ayarlar:
-Yerel ilk kurulum, ayarlanmamış yeni yerel yapılandırmaları varsayılan olarak `tools.profile: "coding"` yapar (mevcut açık profiller korunur).
+Yerel ilk kurulum, ayarlanmamış olduğunda yeni yerel yapılandırmalar için varsayılanı `tools.profile: "coding"` yapar (mevcut açık profiller korunur).
| Profil | İçerir |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------- |
-| `minimal` | yalnızca `session_status` |
+| `minimal` | Yalnızca `session_status` |
| `coding` | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `image`, `image_generate`, `video_generate` |
| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` |
-| `full` | Kısıtlama yok (ayarlanmamışla aynı) |
+| `full` | Kısıtlama yok (ayarlanmamış ile aynı) |
### Araç grupları
@@ -53,7 +53,7 @@ Yerel ilk kurulum, ayarlanmamış yeni yerel yapılandırmaları varsayılan ola
### `tools.allow` / `tools.deny`
-Genel araç izin/verme politikası (engelleme kazanır). Büyük/küçük harfe duyarsızdır, `*` joker karakterlerini destekler. Docker sandbox kapalıyken bile uygulanır.
+Genel araç izin/ret ilkesi (ret kazanır). Büyük/küçük harfe duyarsızdır, `*` joker karakterlerini destekler. Docker sandbox kapalı olsa bile uygulanır.
```json5
{
@@ -63,7 +63,7 @@ Genel araç izin/verme politikası (engelleme kazanır). Büyük/küçük harfe
### `tools.byProvider`
-Belirli sağlayıcılar veya modeller için araçları daha da kısıtlar. Sıra: temel profil → sağlayıcı profili → izin/verme.
+Belirli sağlayıcılar veya modeller için araçları daha da kısıtlar. Sıra: temel profil → sağlayıcı profili → izin/ret.
```json5
{
@@ -79,7 +79,7 @@ Belirli sağlayıcılar veya modeller için araçları daha da kısıtlar. Sıra
### `tools.elevated`
-Sandbox dışındaki yükseltilmiş `exec` erişimini denetler:
+Sandbox dışındaki yükseltilmiş exec erişimini denetler:
```json5
{
@@ -95,9 +95,9 @@ Sandbox dışındaki yükseltilmiş `exec` erişimini denetler:
}
```
-- Ajan başına geçersiz kılma (`agents.list[].tools.elevated`) yalnızca daha fazla kısıtlayabilir.
-- `/elevated on|off|ask|full` durumu oturum başına saklar; satır içi yönergeler tek iletiye uygulanır.
-- Yükseltilmiş `exec`, sandboxing'i atlar ve yapılandırılmış çıkış yolunu kullanır (varsayılan olarak `gateway` veya exec hedefi `node` olduğunda `node`).
+- Ajan başına geçersiz kılma (`agents.list[].tools.elevated`) yalnızca daha fazla kısıtlama getirebilir.
+- `/elevated on|off|ask|full` durumu oturum başına saklar; satır içi direktifler tek mesaja uygulanır.
+- Yükseltilmiş `exec`, sandboxing'i atlar ve yapılandırılmış çıkış yolunu kullanır (varsayılan olarak `gateway`, exec hedefi `node` olduğunda ise `node`).
### `tools.exec`
@@ -121,7 +121,7 @@ Sandbox dışındaki yükseltilmiş `exec` erişimini denetler:
### `tools.loopDetection`
-Araç döngüsü güvenlik denetimleri **varsayılan olarak devre dışıdır**. Algılamayı etkinleştirmek için `enabled: true` ayarlayın. Ayarlar genel olarak `tools.loopDetection` içinde tanımlanabilir ve ajan başına `agents.list[].tools.loopDetection` içinde geçersiz kılınabilir.
+Araç döngüsü güvenlik kontrolleri **varsayılan olarak devre dışıdır**. Algılamayı etkinleştirmek için `enabled: true` ayarlayın. Ayarlar genel olarak `tools.loopDetection` içinde tanımlanabilir ve ajan başına `agents.list[].tools.loopDetection` içinde geçersiz kılınabilir.
```json5
{
@@ -146,22 +146,22 @@ Araç döngüsü güvenlik denetimleri **varsayılan olarak devre dışıdır**.
Döngü analizi için tutulan en fazla araç çağrısı geçmişi.
- Uyarılar için tekrarlayan ilerleme yok deseni eşiği.
+ Uyarılar için ilerleme sağlamayan yinelenen kalıp eşiği.
- Kritik döngüleri engellemek için daha yüksek tekrarlama eşiği.
+ Kritik döngüleri engellemek için daha yüksek yineleme eşiği.
- Herhangi bir ilerleme yok çalışması için kesin durdurma eşiği.
+ İlerleme sağlamayan herhangi bir çalışma için kesin durdurma eşiği.
- Aynı araç/aynı argüman çağrıları tekrarlandığında uyar.
+ Aynı araç/aynı bağımsız değişken çağrıları tekrarlandığında uyar.
Bilinen yoklama araçlarında (`process.poll`, `command_status` vb.) uyar/engelle.
- Değişimli ilerleme yok çift desenlerinde uyar/engelle.
+ İlerleme sağlamayan dönüşümlü çift kalıplarında uyar/engelle.
@@ -200,7 +200,7 @@ Araç döngüsü güvenlik denetimleri **varsayılan olarak devre dışıdır**.
### `tools.media`
-Gelen medya anlama işlemini yapılandırır (görüntü/ses/video):
+Gelen medya anlamayı (görüntü/ses/video) yapılandırır:
```json5
{
@@ -208,7 +208,7 @@ Gelen medya anlama işlemini yapılandırır (görüntü/ses/video):
media: {
concurrency: 2,
asyncCompletion: {
- directSend: false, // opt-in: send finished async music/video directly to the channel
+ directSend: false, // opt-in: send finished async video directly to the channel
},
audio: {
enabled: true,
@@ -238,30 +238,30 @@ Gelen medya anlama işlemini yapılandırır (görüntü/ses/video):
```
-
- **Provider girdisi** (`type: "provider"` ya da atlanmış):
+
+ **Sağlayıcı girdisi** (`type: "provider"` veya atlanmış):
- - `provider`: API provider kimliği (`openai`, `anthropic`, `google`/`gemini`, `groq` vb.)
- - `model`: model kimliği geçersiz kılması
+ - `provider`: API sağlayıcı kimliği (`openai`, `anthropic`, `google`/`gemini`, `groq` vb.)
+ - `model`: model kimliği geçersiz kılma değeri
- `profile` / `preferredProfile`: `auth-profiles.json` profil seçimi
**CLI girdisi** (`type: "cli"`):
- `command`: çalıştırılacak yürütülebilir dosya
- - `args`: şablonlu argümanlar (`{{MediaPath}}`, `{{Prompt}}`, `{{MaxChars}}` vb. desteklenir; `openclaw doctor --fix`, kullanımdan kaldırılmış `{input}` yer tutucularını `{{MediaPath}}` değerine taşır)
+ - `args`: şablonlu argümanlar (`{{MediaPath}}`, `{{Prompt}}`, `{{MaxChars}}` vb. desteklenir; `openclaw doctor --fix`, kullanım dışı `{input}` yer tutucularını `{{MediaPath}}` değerine geçirir)
**Ortak alanlar:**
- `capabilities`: isteğe bağlı liste (`image`, `audio`, `video`). Varsayılanlar: `openai`/`anthropic`/`minimax` → görüntü, `google` → görüntü+ses+video, `groq` → ses.
- - `prompt`, `maxChars`, `maxBytes`, `timeoutSeconds`, `language`: girdi başına geçersiz kılmalar.
- - `tools.media.image.timeoutSeconds` ve eşleşen görüntü modeli `timeoutSeconds` girdileri, aracı açık `image` aracını çağırdığında da uygulanır.
- - Hatalar bir sonraki girdiye geri döner.
+ - `prompt`, `maxChars`, `maxBytes`, `timeoutSeconds`, `language`: girdi başına geçersiz kılma değerleri.
+ - `tools.media.image.timeoutSeconds` ve eşleşen görüntü modeli `timeoutSeconds` girdileri, ajan açık `image` aracını çağırdığında da uygulanır.
+ - Hatalarda bir sonraki girdiye geri dönülür.
- Provider kimlik doğrulaması standart sırayı izler: `auth-profiles.json` → ortam değişkenleri → `models.providers.*.apiKey`.
+ Sağlayıcı kimlik doğrulaması standart sırayı izler: `auth-profiles.json` → env vars → `models.providers.*.apiKey`.
- **Eşzamansız tamamlama alanları:**
+ **Asenkron tamamlama alanları:**
- - `asyncCompletion.directSend`: `true` olduğunda, tamamlanan eşzamansız `music_generate` ve `video_generate` görevleri önce doğrudan kanal teslimini dener. Varsayılan: `false` (eski talep eden oturum uyandırma/model teslim yolu).
+ - `asyncCompletion.directSend`: `true` olduğunda, doğrudan tamamlama teslimini destekleyen tamamlanmış asenkron medya görevleri önce doğrudan kanal teslimini dener. Varsayılan: `false` (isteyen oturumu uyandırma/model teslimi yolu). Bugün bu, asenkron `video_generate` için geçerlidir; asenkron `music_generate` tamamlamaları, bu etkinleştirilmiş olsa bile isteyen oturumu aracılığıyla yürütülmeye devam eder.
@@ -283,7 +283,7 @@ Gelen medya anlama işlemini yapılandırır (görüntü/ses/video):
Oturum araçları (`sessions_list`, `sessions_history`, `sessions_send`) tarafından hangi oturumların hedeflenebileceğini denetler.
-Varsayılan: `tree` (geçerli oturum + onun tarafından başlatılan oturumlar, örneğin alt aracılar).
+Varsayılan: `tree` (geçerli oturum + alt ajanlar gibi onun tarafından başlatılan oturumlar).
```json5
{
@@ -297,12 +297,12 @@ Varsayılan: `tree` (geçerli oturum + onun tarafından başlatılan oturumlar,
```
-
+
- `self`: yalnızca geçerli oturum anahtarı.
- - `tree`: geçerli oturum + geçerli oturum tarafından başlatılan oturumlar (alt aracılar).
- - `agent`: geçerli aracı kimliğine ait herhangi bir oturum (aynı aracı kimliği altında gönderene göre oturumlar çalıştırıyorsanız başka kullanıcıları içerebilir).
- - `all`: herhangi bir oturum. Aracılar arası hedefleme yine de `tools.agentToAgent` gerektirir.
- - Sandbox sıkıştırması: geçerli oturum sandbox içindeyse ve `agents.defaults.sandbox.sessionToolsVisibility="spawned"` ise, `tools.sessions.visibility="all"` olsa bile görünürlük zorunlu olarak `tree` olur.
+ - `tree`: geçerli oturum + geçerli oturum tarafından başlatılan oturumlar (alt ajanlar).
+ - `agent`: geçerli ajan kimliğine ait herhangi bir oturum (aynı ajan kimliği altında gönderici başına oturumlar çalıştırıyorsanız diğer kullanıcıları içerebilir).
+ - `all`: herhangi bir oturum. Ajanlar arası hedefleme yine de `tools.agentToAgent` gerektirir.
+ - Korumalı alan kısıtlaması: geçerli oturum korumalı alandaysa ve `agents.defaults.sandbox.sessionToolsVisibility="spawned"` ise görünürlük, `tools.sessions.visibility="all"` olsa bile zorunlu olarak `tree` olur.
@@ -328,13 +328,13 @@ Varsayılan: `tree` (geçerli oturum + onun tarafından başlatılan oturumlar,
```
-
- - Ekler yalnızca `runtime: "subagent"` için desteklenir. ACP runtime bunları reddeder.
- - Dosyalar, alt çalışma alanında `.openclaw/attachments//` konumuna bir `.manifest.json` ile materyalleştirilir.
- - Ek içeriği, konuşma dökümü kalıcılığından otomatik olarak sansürlenir.
- - Base64 girdileri katı alfabe/dolgu denetimleri ve kod çözme öncesi boyut koruması ile doğrulanır.
- - Dosya izinleri dizinler için `0700`, dosyalar için `0600` olur.
- - Temizleme, `cleanup` politikasını izler: `delete` ekleri her zaman kaldırır; `keep` bunları yalnızca `retainOnSessionKeep: true` olduğunda saklar.
+
+ - Ekler yalnızca `runtime: "subagent"` için desteklenir. ACP çalışma zamanı bunları reddeder.
+ - Dosyalar, alt çalışma alanında `.openclaw/attachments//` konumuna bir `.manifest.json` ile somutlaştırılır.
+ - Ek içeriği, transkript kalıcılığından otomatik olarak sansürlenir.
+ - Base64 girdileri, sıkı alfabe/dolgu denetimleri ve kod çözme öncesi boyut korumasıyla doğrulanır.
+ - Dosya izinleri dizinler için `0700`, dosyalar için `0600` şeklindedir.
+ - Temizleme, `cleanup` ilkesini izler: `delete` ekleri her zaman kaldırır; `keep` bunları yalnızca `retainOnSessionKeep: true` olduğunda korur.
@@ -343,7 +343,7 @@ Varsayılan: `tree` (geçerli oturum + onun tarafından başlatılan oturumlar,
### `tools.experimental`
-Deneysel yerleşik araç bayrakları. Katı-aracı GPT-5 otomatik etkinleştirme kuralı uygulanmadığı sürece varsayılan olarak kapalıdır.
+Deneysel yerleşik araç bayrakları. Katı ajan odaklı GPT-5 otomatik etkinleştirme kuralı uygulanmadığı sürece varsayılan olarak kapalıdır.
```json5
{
@@ -356,8 +356,8 @@ Deneysel yerleşik araç bayrakları. Katı-aracı GPT-5 otomatik etkinleştirme
```
- `planTool`: önemsiz olmayan çok adımlı iş takibi için yapılandırılmış `update_plan` aracını etkinleştirir.
-- Varsayılan: Bir OpenAI veya OpenAI Codex GPT-5 ailesi çalıştırması için `agents.defaults.embeddedPi.executionContract` (veya ajan başına bir geçersiz kılma) `"strict-agentic"` olarak ayarlanmadığı sürece `false`. Aracı bu kapsamın dışında zorla etkinleştirmek için `true`, strict-agentic GPT-5 çalıştırmalarında bile kapalı tutmak için `false` ayarlayın.
-- Etkinleştirildiğinde, sistem istemi kullanım rehberliği de ekler; böylece model bunu yalnızca kapsamlı işler için kullanır ve en fazla bir adımı `in_progress` olarak tutar.
+- Varsayılan: OpenAI veya OpenAI Codex GPT-5 ailesi çalıştırması için `agents.defaults.embeddedPi.executionContract` (veya ajan başına geçersiz kılma) `"strict-agentic"` olarak ayarlanmadığı sürece `false`. Aracı bu kapsam dışında zorla açmak için `true`, strict-agentic GPT-5 çalıştırmalarında bile kapalı tutmak için `false` ayarlayın.
+- Etkinleştirildiğinde, sistem istemi ayrıca kullanım rehberliği ekler; böylece model bunu yalnızca kapsamlı işler için kullanır ve en fazla bir adımı `in_progress` tutar.
### `agents.defaults.subagents`
@@ -377,8 +377,8 @@ Deneysel yerleşik araç bayrakları. Katı-aracı GPT-5 otomatik etkinleştirme
}
```
-- `model`: başlatılan alt ajanlar için varsayılan model. Atlanırsa alt ajanlar çağıranın modelini devralır.
-- `allowAgents`: istekte bulunan ajan kendi `subagents.allowAgents` değerini ayarlamadığında `sessions_spawn` için hedef ajan kimliklerinin varsayılan izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı ajan).
+- `model`: oluşturulan alt ajanlar için varsayılan model. Atlanırsa alt ajanlar, çağıranın modelini devralır.
+- `allowAgents`: istek yapan ajan kendi `subagents.allowAgents` değerini ayarlamadığında `sessions_spawn` için hedef ajan kimliklerinin varsayılan izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı ajan).
- `runTimeoutSeconds`: araç çağrısı `runTimeoutSeconds` değerini atladığında `sessions_spawn` için varsayılan zaman aşımı (saniye). `0`, zaman aşımı yok anlamına gelir.
- Alt ajan başına araç ilkesi: `tools.subagents.tools.allow` / `tools.subagents.tools.deny`.
@@ -417,18 +417,18 @@ OpenClaw yerleşik model kataloğunu kullanır. Özel sağlayıcıları yapılan
- - Özel kimlik doğrulama ihtiyaçları için `authHeader: true` + `headers` kullanın.
+ - Özel kimlik doğrulama gereksinimleri için `authHeader: true` + `headers` kullanın.
- Ajan yapılandırma kökünü `OPENCLAW_AGENT_DIR` (veya eski ortam değişkeni takma adı olan `PI_CODING_AGENT_DIR`) ile geçersiz kılın.
- Eşleşen sağlayıcı kimlikleri için birleştirme önceliği:
- Boş olmayan ajan `models.json` `baseUrl` değerleri kazanır.
- - Boş olmayan ajan `apiKey` değerleri yalnızca ilgili sağlayıcı geçerli yapılandırma/kimlik doğrulama profili bağlamında SecretRef tarafından yönetilmiyorsa kazanır.
- - SecretRef tarafından yönetilen sağlayıcı `apiKey` değerleri, çözümlenmiş gizli değerleri kalıcılaştırmak yerine kaynak işaretçilerinden (env başvuruları için `ENV_VAR_NAME`, file/exec başvuruları için `secretref-managed`) yenilenir.
- - SecretRef tarafından yönetilen sağlayıcı üst bilgi değerleri kaynak işaretçilerinden yenilenir (env başvuruları için `secretref-env:ENV_VAR_NAME`, file/exec başvuruları için `secretref-managed`).
+ - Boş olmayan ajan `apiKey` değerleri yalnızca o sağlayıcı mevcut yapılandırma/kimlik doğrulama profili bağlamında SecretRef tarafından yönetilmiyorsa kazanır.
+ - SecretRef tarafından yönetilen sağlayıcı `apiKey` değerleri, çözümlenmiş sırları kalıcı hale getirmek yerine kaynak işaretçilerinden (ortam referansları için `ENV_VAR_NAME`, dosya/exec referansları için `secretref-managed`) yenilenir.
+ - SecretRef tarafından yönetilen sağlayıcı üstbilgi değerleri, kaynak işaretçilerinden (ortam referansları için `secretref-env:ENV_VAR_NAME`, dosya/exec referansları için `secretref-managed`) yenilenir.
- Boş veya eksik ajan `apiKey`/`baseUrl`, yapılandırmadaki `models.providers` değerine geri döner.
- Eşleşen model `contextWindow`/`maxTokens`, açık yapılandırma ile örtük katalog değerleri arasındaki daha yüksek değeri kullanır.
- - Eşleşen model `contextTokens`, mevcut olduğunda açık bir çalışma zamanı sınırını korur; yerel model üst verisini değiştirmeden etkili bağlamı sınırlamak için bunu kullanın.
+ - Eşleşen model `contextTokens`, varsa açık bir çalışma zamanı sınırını korur; yerel model üst verilerini değiştirmeden etkili bağlamı sınırlamak için bunu kullanın.
- Yapılandırmanın `models.json` dosyasını tamamen yeniden yazmasını istediğinizde `models.mode: "replace"` kullanın.
- - İşaretçi kalıcılığı kaynak açısından otoritatiftir: işaretçiler, çözümlenmiş çalışma zamanı gizli değerlerinden değil, etkin kaynak yapılandırma anlık görüntüsünden (çözümleme öncesi) yazılır.
+ - İşaretçi kalıcılığı kaynak açısından yetkilidir: işaretçiler, çözümlenmiş çalışma zamanı sır değerlerinden değil, etkin kaynak yapılandırma anlık görüntüsünden (çözümleme öncesi) yazılır.
@@ -438,62 +438,62 @@ OpenClaw yerleşik model kataloğunu kullanır. Özel sağlayıcıları yapılan
- `models.mode`: sağlayıcı kataloğu davranışı (`merge` veya `replace`).
- - `models.providers`: sağlayıcı kimliğine göre anahtarlanan özel sağlayıcı haritası.
- - Güvenli düzenlemeler: eklemeli güncellemeler için `openclaw config set models.providers. '' --strict-json --merge` veya `openclaw config set models.providers..models '' --strict-json --merge` kullanın. `config set`, `--replace` geçmediğiniz sürece yıkıcı değiştirmeleri reddeder.
+ - `models.providers`: sağlayıcı kimliğine göre anahtarlanmış özel sağlayıcı eşlemi.
+ - Güvenli düzenlemeler: eklemeli güncellemeler için `openclaw config set models.providers. '' --strict-json --merge` veya `openclaw config set models.providers..models '' --strict-json --merge` kullanın. `config set`, `--replace` iletmediğiniz sürece yıkıcı değiştirmeleri reddeder.
- - `models.providers.*.api`: istek bağdaştırıcısı (`openai-completions`, `openai-responses`, `anthropic-messages`, `google-generative-ai` vb.). MLX, vLLM, SGLang ve çoğu OpenAI uyumlu yerel sunucu gibi kendi barındırdığınız `/v1/chat/completions` arka uçları için `openai-completions` kullanın. `baseUrl` içeren ancak `api` içermeyen özel bir sağlayıcı varsayılan olarak `openai-completions` kullanır; `openai-responses` değerini yalnızca arka uç `/v1/responses` desteklediğinde ayarlayın.
- - `models.providers.*.apiKey`: sağlayıcı kimlik bilgisi (SecretRef/env ikamesini tercih edin).
+ - `models.providers.*.api`: istek bağdaştırıcısı (`openai-completions`, `openai-responses`, `anthropic-messages`, `google-generative-ai` vb.). MLX, vLLM, SGLang ve çoğu OpenAI uyumlu yerel sunucu gibi kendi barındırdığınız `/v1/chat/completions` arka uçları için `openai-completions` kullanın. `baseUrl` içeren ancak `api` içermeyen özel sağlayıcı varsayılan olarak `openai-completions` kullanır; `openai-responses` değerini yalnızca arka uç `/v1/responses` destekliyorsa ayarlayın.
+ - `models.providers.*.apiKey`: sağlayıcı kimlik bilgisi (SecretRef/ortam değişkeni yer değiştirmesini tercih edin).
- `models.providers.*.auth`: kimlik doğrulama stratejisi (`api-key`, `token`, `oauth`, `aws-sdk`).
- `models.providers.*.contextWindow`: model girdisi `contextWindow` ayarlamadığında bu sağlayıcı altındaki modeller için varsayılan yerel bağlam penceresi.
- `models.providers.*.contextTokens`: model girdisi `contextTokens` ayarlamadığında bu sağlayıcı altındaki modeller için varsayılan etkili çalışma zamanı bağlam sınırı.
- `models.providers.*.maxTokens`: model girdisi `maxTokens` ayarlamadığında bu sağlayıcı altındaki modeller için varsayılan çıktı belirteci sınırı.
- - `models.providers.*.timeoutSeconds`: bağlantı, üst bilgiler, gövde ve toplam istek iptali işlemeyi içeren, saniye cinsinden isteğe bağlı sağlayıcı başına model HTTP isteği zaman aşımı.
- - `models.providers.*.injectNumCtxForOpenAICompat`: Ollama + `openai-completions` için isteklere `options.num_ctx` enjekte eder (varsayılan: `true`).
- - `models.providers.*.authHeader`: gerektiğinde kimlik bilgisinin `Authorization` üst bilgisinde taşınmasını zorunlu kılar.
+ - `models.providers.*.timeoutSeconds`: bağlantı, üstbilgiler, gövde ve toplam istek iptali işleme dahil, sağlayıcı başına isteğe bağlı model HTTP isteği zaman aşımı, saniye cinsinden.
+ - `models.providers.*.injectNumCtxForOpenAICompat`: Ollama + `openai-completions` için isteklere `options.num_ctx` enjekte edin (varsayılan: `true`).
+ - `models.providers.*.authHeader`: gerektiğinde kimlik bilgisi aktarımını `Authorization` üstbilgisinde zorlayın.
- `models.providers.*.baseUrl`: yukarı akış API temel URL'si.
- - `models.providers.*.headers`: proxy/kiracı yönlendirmesi için ek statik üst bilgiler.
+ - `models.providers.*.headers`: proxy/kiracı yönlendirmesi için ek statik üstbilgiler.
- `models.providers.*.request`: model sağlayıcı HTTP istekleri için taşıma geçersiz kılmaları.
+ `models.providers.*.request`: model sağlayıcısı HTTP istekleri için taşıma geçersiz kılmaları.
- - `request.headers`: ek üst bilgiler (sağlayıcı varsayılanlarıyla birleştirilir). Değerler SecretRef kabul eder.
+ - `request.headers`: ek üstbilgiler (sağlayıcı varsayılanlarıyla birleştirilir). Değerler SecretRef kabul eder.
- `request.auth`: kimlik doğrulama stratejisi geçersiz kılması. Modlar: `"provider-default"` (sağlayıcının yerleşik kimlik doğrulamasını kullan), `"authorization-bearer"` (`token` ile), `"header"` (`headerName`, `value`, isteğe bağlı `prefix` ile).
- - `request.proxy`: HTTP proxy geçersiz kılması. Modlar: `"env-proxy"` (`HTTP_PROXY`/`HTTPS_PROXY` env değişkenlerini kullan), `"explicit-proxy"` (`url` ile). Her iki mod da isteğe bağlı bir `tls` alt nesnesi kabul eder.
+ - `request.proxy`: HTTP proxy geçersiz kılması. Modlar: `"env-proxy"` (`HTTP_PROXY`/`HTTPS_PROXY` ortam değişkenlerini kullan), `"explicit-proxy"` (`url` ile). Her iki mod da isteğe bağlı bir `tls` alt nesnesi kabul eder.
- `request.tls`: doğrudan bağlantılar için TLS geçersiz kılması. Alanlar: `ca`, `cert`, `key`, `passphrase` (tümü SecretRef kabul eder), `serverName`, `insecureSkipVerify`.
- - `request.allowPrivateNetwork`: `true` olduğunda, sağlayıcı HTTP fetch koruması üzerinden DNS özel, CGNAT veya benzer aralıklara çözümlendiğinde `baseUrl` adresine HTTPS'ye izin verir (güvenilen, kendi barındırılan OpenAI uyumlu uç noktalar için operatör onayı). `localhost`, `127.0.0.1` ve `[::1]` gibi loopback model sağlayıcı akış URL'lerine, bu açıkça `false` olarak ayarlanmadığı sürece otomatik olarak izin verilir; LAN, tailnet ve özel DNS ana makineleri yine de onay gerektirir. WebSocket üst bilgiler/TLS için aynı `request` değerini kullanır, ancak bu fetch SSRF kapısını kullanmaz. Varsayılan `false`.
+ - `request.allowPrivateNetwork`: `true` olduğunda, DNS özel, CGNAT veya benzer aralıklara çözümlendiğinde sağlayıcı HTTP fetch koruması üzerinden `baseUrl` için HTTPS'ye izin verin (güvenilir kendi barındırılan OpenAI uyumlu uç noktalar için operatör onayı). `localhost`, `127.0.0.1` ve `[::1]` gibi Loopback model sağlayıcısı akış URL'lerine, bu açıkça `false` olarak ayarlanmadığı sürece otomatik olarak izin verilir; LAN, tailnet ve özel DNS ana bilgisayarları yine de onay gerektirir. WebSocket, üstbilgiler/TLS için aynı `request` değerini kullanır ancak bu fetch SSRF kapısını kullanmaz. Varsayılan `false`.
- `models.providers.*.models`: açık sağlayıcı model kataloğu girdileri.
- - `models.providers.*.models.*.input`: model giriş modaliteleri. Yalnızca metin modelleri için `["text"]`, yerel görüntü/vision modelleri için `["text", "image"]` kullanın. Görüntü ekleri, yalnızca seçilen model görüntü destekli olarak işaretlendiğinde ajan turlarına enjekte edilir.
- - `models.providers.*.models.*.contextWindow`: yerel model bağlam penceresi üst verisi. Bu, ilgili model için sağlayıcı düzeyindeki `contextWindow` değerini geçersiz kılar.
- - `models.providers.*.models.*.contextTokens`: isteğe bağlı çalışma zamanı bağlam sınırı. Bu, sağlayıcı düzeyindeki `contextTokens` değerini geçersiz kılar; modelin yerel `contextWindow` değerinden daha küçük etkili bir bağlam bütçesi istediğinizde kullanın; `openclaw models list`, farklı olduklarında her iki değeri de gösterir.
- - `models.providers.*.models.*.compat.supportsDeveloperRole`: isteğe bağlı uyumluluk ipucu. `api: "openai-completions"` ve boş olmayan, yerel olmayan bir `baseUrl` (`api.openai.com` olmayan ana makine) için OpenClaw çalışma zamanında bunu `false` olmaya zorlar. Boş/atlanmış `baseUrl`, varsayılan OpenAI davranışını korur.
- - `models.providers.*.models.*.compat.requiresStringContent`: yalnızca dize kullanan OpenAI uyumlu sohbet uç noktaları için isteğe bağlı uyumluluk ipucu. `true` olduğunda OpenClaw, isteği göndermeden önce saf metin `messages[].content` dizilerini düz dizelere indirger.
+ - `models.providers.*.models.*.input`: model giriş kipleri. Yalnızca metin modelleri için `["text"]`, yerel görüntü/görme modelleri için `["text", "image"]` kullanın. Görsel ekleri yalnızca seçilen model görüntü yetenekli olarak işaretlendiğinde ajan turlarına enjekte edilir.
+ - `models.providers.*.models.*.contextWindow`: yerel model bağlam penceresi üst verisi. Bu, o model için sağlayıcı düzeyindeki `contextWindow` değerini geçersiz kılar.
+ - `models.providers.*.models.*.contextTokens`: isteğe bağlı çalışma zamanı bağlam sınırı. Bu, sağlayıcı düzeyindeki `contextTokens` değerini geçersiz kılar; modelin yerel `contextWindow` değerinden daha küçük bir etkili bağlam bütçesi istediğinizde bunu kullanın; `openclaw models list`, değerler farklı olduğunda ikisini de gösterir.
+ - `models.providers.*.models.*.compat.supportsDeveloperRole`: isteğe bağlı uyumluluk ipucu. Yerel olmayan ve boş olmayan bir `baseUrl` (ana bilgisayar `api.openai.com` değil) ile `api: "openai-completions"` için OpenClaw bunu çalışma zamanında `false` olmaya zorlar. Boş/atlanmış `baseUrl`, varsayılan OpenAI davranışını korur.
+ - `models.providers.*.models.*.compat.requiresStringContent`: yalnızca dize destekleyen OpenAI uyumlu sohbet uç noktaları için isteğe bağlı uyumluluk ipucu. `true` olduğunda OpenClaw, isteği göndermeden önce salt metin `messages[].content` dizilerini düz dizelere indirger.
- `plugins.entries.amazon-bedrock.config.discovery`: Bedrock otomatik keşif ayarları kökü.
- - `plugins.entries.amazon-bedrock.config.discovery.enabled`: örtük keşfi açar/kapatır.
+ - `plugins.entries.amazon-bedrock.config.discovery.enabled`: örtük keşfi aç/kapat.
- `plugins.entries.amazon-bedrock.config.discovery.region`: keşif için AWS bölgesi.
- `plugins.entries.amazon-bedrock.config.discovery.providerFilter`: hedefli keşif için isteğe bağlı sağlayıcı kimliği filtresi.
- `plugins.entries.amazon-bedrock.config.discovery.refreshInterval`: keşif yenilemesi için yoklama aralığı.
- - `plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow`: keşfedilen modeller için geri dönüş bağlam penceresi.
- - `plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens`: keşfedilen modeller için geri dönüş maksimum çıktı belirteçleri.
+ - `plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow`: keşfedilen modeller için yedek bağlam penceresi.
+ - `plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens`: keşfedilen modeller için yedek en fazla çıktı belirteci.
-Etkileşimli özel sağlayıcı ilk kurulumu, GPT-4o, Claude, Gemini, Qwen-VL, LLaVA, Pixtral, InternVL, Mllama, MiniCPM-V ve GLM-4V gibi yaygın vision model kimlikleri için görüntü girişini çıkarır ve bilinen yalnızca metin aileleri için ek soruyu atlar. Bilinmeyen model kimlikleri yine de görüntü desteği için sorar. Etkileşimsiz ilk kurulum aynı çıkarımı kullanır; görüntü destekli üst veriyi zorlamak için `--custom-image-input` veya yalnızca metin üst verisini zorlamak için `--custom-text-input` geçin.
+Etkileşimli özel sağlayıcı başlangıç kurulumu, GPT-4o, Claude, Gemini, Qwen-VL, LLaVA, Pixtral, InternVL, Mllama, MiniCPM-V ve GLM-4V gibi yaygın görme modeli kimlikleri için görüntü girişini çıkarır ve bilinen yalnızca metin aileleri için ek soruyu atlar. Bilinmeyen model kimlikleri yine de görüntü desteğini sorar. Etkileşimsiz başlangıç kurulumu aynı çıkarımı kullanır; görüntü yetenekli üst verileri zorlamak için `--custom-image-input`, yalnızca metin üst verilerini zorlamak için `--custom-text-input` iletin.
### Sağlayıcı örnekleri
- Paketli `cerebras` sağlayıcı Plugin'i bunu `openclaw onboard --auth-choice cerebras-api-key` ile yapılandırabilir. Açık sağlayıcı yapılandırmasını yalnızca varsayılanları geçersiz kılarken kullanın.
+ Paketle gelen `cerebras` sağlayıcı Plugin'i bunu `openclaw onboard --auth-choice cerebras-api-key` üzerinden yapılandırabilir. Açık sağlayıcı yapılandırmasını yalnızca varsayılanları geçersiz kılarken kullanın.
```json5
{
@@ -547,7 +547,7 @@ Etkileşimli özel sağlayıcı ilk kurulumu, GPT-4o, Claude, Gemini, Qwen-VL, L
- Bkz. [Yerel Modeller](/tr/gateway/local-models). Kısaca: ciddi donanımda LM Studio Responses API üzerinden büyük bir yerel model çalıştırın; yedek için barındırılan modelleri birleştirilmiş tutun.
+ Bkz. [Yerel Modeller](/tr/gateway/local-models). Kısa özet: ciddi donanımda LM Studio Responses API aracılığıyla büyük bir yerel model çalıştırın; yedek için barındırılan modelleri birleştirilmiş tutun.
```json5
@@ -584,7 +584,7 @@ Etkileşimli özel sağlayıcı ilk kurulumu, GPT-4o, Claude, Gemini, Qwen-VL, L
}
```
- `MINIMAX_API_KEY` ayarlayın. Kısayollar: `openclaw onboard --auth-choice minimax-global-api` veya `openclaw onboard --auth-choice minimax-cn-api`. Model kataloğu varsayılan olarak yalnızca M2.7 içerir. Anthropic uyumlu akış yolunda, `thinking` değerini kendiniz açıkça ayarlamadığınız sürece OpenClaw varsayılan olarak MiniMax düşünmeyi devre dışı bırakır. `/fast on` veya `params.fastMode: true`, `MiniMax-M2.7` değerini `MiniMax-M2.7-highspeed` olarak yeniden yazar.
+ `MINIMAX_API_KEY` ayarlayın. Kısayollar: `openclaw onboard --auth-choice minimax-global-api` veya `openclaw onboard --auth-choice minimax-cn-api`. Model kataloğu varsayılan olarak yalnızca M2.7 kullanır. Anthropic uyumlu akış yolunda, `thinking` değerini açıkça kendiniz ayarlamadığınız sürece OpenClaw MiniMax düşünmeyi varsayılan olarak devre dışı bırakır. `/fast on` veya `params.fastMode: true`, `MiniMax-M2.7` değerini `MiniMax-M2.7-highspeed` olarak yeniden yazar.
@@ -623,7 +623,7 @@ Etkileşimli özel sağlayıcı ilk kurulumu, GPT-4o, Claude, Gemini, Qwen-VL, L
Çin uç noktası için: `baseUrl: "https://api.moonshot.cn/v1"` veya `openclaw onboard --auth-choice moonshot-api-key-cn`.
- Yerel Moonshot uç noktaları, paylaşılan `openai-completions` aktarımında akış kullanım uyumluluğunu bildirir ve OpenClaw bunu yalnızca yerleşik sağlayıcı kimliği yerine uç nokta yeteneklerine göre belirler.
+ Yerel Moonshot uç noktaları, paylaşılan `openai-completions` aktarımında akış kullanım uyumluluğunu duyurur ve OpenClaw bunu yalnızca yerleşik sağlayıcı kimliği yerine uç nokta yeteneklerine göre belirler.
@@ -705,5 +705,5 @@ Etkileşimli özel sağlayıcı ilk kurulumu, GPT-4o, Claude, Gemini, Qwen-VL, L
- [Yapılandırma — aracılar](/tr/gateway/config-agents)
- [Yapılandırma — kanallar](/tr/gateway/config-channels)
-- [Yapılandırma başvurusu](/tr/gateway/configuration-reference) — diğer üst düzey anahtarlar
+- [Yapılandırma referansı](/tr/gateway/configuration-reference) — diğer üst düzey anahtarlar
- [Araçlar ve plugins](/tr/tools)
diff --git a/docs/tr/gateway/doctor.md b/docs/tr/gateway/doctor.md
index d782f3152..2a89b376f 100644
--- a/docs/tr/gateway/doctor.md
+++ b/docs/tr/gateway/doctor.md
@@ -1,20 +1,20 @@
---
read_when:
- - doctor migrasyonları ekleme veya değiştirme
- - Uyumluluğu bozan yapılandırma değişikliklerini tanıtma
+ - doctor geçişleri ekleme veya değiştirme
+ - Uyumluluğu bozan yapılandırma değişikliklerini kullanıma sunma
sidebarTitle: Doctor
summary: 'Doctor komutu: sağlık kontrolleri, yapılandırma geçişleri ve onarım adımları'
title: Tanılama
x-i18n:
- generated_at: "2026-04-30T16:29:08Z"
+ generated_at: "2026-05-01T09:00:50Z"
model: gpt-5.5
provider: openai
- source_hash: 89150fe2b2848f1f168b42ca6b240bc0e6a0edee4f1bcad7f79d297face9c95e
+ source_hash: eef5715d485609fa60bdb4aa97ee441b053a60519b9dea03b0c8ec09db157474
source_path: gateway/doctor.md
workflow: 16
---
-`openclaw doctor`, OpenClaw için onarım + geçiş aracıdır. Eskimiş yapılandırma/durumu düzeltir, sağlığı denetler ve uygulanabilir onarım adımları sağlar.
+`openclaw doctor`, OpenClaw için onarım + geçiş aracıdır. Eski yapılandırma/durum verilerini düzeltir, sağlığı denetler ve uygulanabilir onarım adımları sağlar.
## Hızlı başlangıç
@@ -30,7 +30,7 @@ openclaw doctor
openclaw doctor --yes
```
- Sormadan varsayılanları kabul eder (uygulanabildiğinde yeniden başlatma/hizmet/sandbox onarım adımları dahil).
+ Sormadan varsayılanları kabul eder (uygulanabilir olduğunda yeniden başlatma/hizmet/sandbox onarım adımları dahil).
@@ -38,7 +38,7 @@ openclaw doctor
openclaw doctor --repair
```
- Önerilen onarımları sormadan uygular (güvenli olduğunda onarımlar + yeniden başlatmalar).
+ Sormadan önerilen onarımları uygular (güvenli olduğunda onarımlar + yeniden başlatmalar).
@@ -54,7 +54,7 @@ openclaw doctor
openclaw doctor --non-interactive
```
- Komut istemleri olmadan çalışır ve yalnızca güvenli geçişleri uygular (yapılandırma normalleştirme + disk üzerindeki durum taşıma işlemleri). İnsan onayı gerektiren yeniden başlatma/hizmet/sandbox eylemlerini atlar. Eski durum geçişleri algılandığında otomatik olarak çalışır.
+ Sorma olmadan çalışır ve yalnızca güvenli geçişleri uygular (yapılandırma normalleştirmesi + disk üzerindeki durum taşımaları). İnsan onayı gerektiren yeniden başlatma/hizmet/sandbox eylemlerini atlar. Eski durum geçişleri tespit edildiğinde otomatik olarak çalışır.
@@ -67,7 +67,7 @@ openclaw doctor
-Yazmadan önce değişiklikleri incelemek istiyorsanız, önce yapılandırma dosyasını açın:
+Yazmadan önce değişiklikleri gözden geçirmek istiyorsanız önce yapılandırma dosyasını açın:
```bash
cat ~/.openclaw/openclaw.json
@@ -76,114 +76,120 @@ cat ~/.openclaw/openclaw.json
## Ne yapar (özet)
-
+
- Git kurulumları için isteğe bağlı ön uçuş güncellemesi (yalnızca etkileşimli).
- - UI protokol güncelliği denetimi (protokol şeması daha yeniyse Control UI'ı yeniden derler).
+ - UI protokol güncelliği denetimi (protokol şeması daha yeni olduğunda Control UI'yi yeniden derler).
- Sağlık denetimi + yeniden başlatma istemi.
- - Skills durum özeti (uygun/eksik/engellenmiş) ve plugin durumu.
+ - Skills durum özeti (uygun/eksik/engellenmiş) ve Plugin durumu.
-
- - Eski değerler için yapılandırma normalleştirme.
- - Eski düz `talk.*` alanlarından `talk.provider` + `talk.providers.` içine Talk yapılandırma geçişi.
- - Eski Chrome extension yapılandırmaları ve Chrome MCP hazır olma durumu için tarayıcı geçiş denetimleri.
+
+ - Eski değerler için yapılandırma normalleştirmesi.
+ - Eski düz `talk.*` alanlarından `talk.provider` + `talk.providers.` yapısına Talk yapılandırması geçişi.
+ - Eski Chrome uzantısı yapılandırmaları ve Chrome MCP hazır olma durumu için tarayıcı geçiş denetimleri.
- OpenCode sağlayıcı geçersiz kılma uyarıları (`models.providers.opencode` / `models.providers.opencode-go`).
- Codex OAuth gölgeleme uyarıları (`models.providers.openai-codex`).
- - OpenAI Codex OAuth profilleri için OAuth TLS ön koşulları denetimi.
- - Eski disk üzerindeki durum geçişi (oturumlar/agent dizini/WhatsApp auth).
- - Eski plugin manifest sözleşme anahtarı geçişi (`speechProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders`, `webSearchProviders` → `contracts`).
- - Eski cron deposu geçişi (`jobId`, `schedule.cron`, üst düzey delivery/payload alanları, payload `provider`, basit `notify: true` webhook yedek işleri).
- - Eski agent çalışma zamanı ilkesi geçişi: `agents.defaults.agentRuntime` ve `agents.list[].agentRuntime`.
- - Plugin'ler etkinleştirildiğinde eskimiş plugin yapılandırma temizliği; `plugins.enabled=false` olduğunda, eskimiş plugin referansları etkisiz kapsama yapılandırması olarak ele alınır ve korunur.
+ - OpenAI Codex OAuth profilleri için OAuth TLS önkoşulları denetimi.
+ - `plugins.allow` kısıtlayıcıyken araç ilkesi hâlâ joker karakter veya Plugin'e ait araçlar istediğinde Plugin/araç izin listesi uyarıları.
+ - Eski disk üzerindeki durum geçişi (oturumlar/ajan dizini/WhatsApp kimlik doğrulaması).
+ - Eski Plugin manifest sözleşme anahtarı geçişi (`speechProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders`, `webSearchProviders` → `contracts`).
+ - Eski cron deposu geçişi (`jobId`, `schedule.cron`, üst düzey teslim/payload alanları, payload `provider`, basit `notify: true` webhook yedek işleri).
+ - Eski ajan çalışma zamanı ilkesi geçişi: `agents.defaults.agentRuntime` ve `agents.list[].agentRuntime`.
+ - Plugin'ler etkin olduğunda eski Plugin yapılandırması temizliği; `plugins.enabled=false` olduğunda eski Plugin başvuruları etkisiz kapsama yapılandırması olarak ele alınır ve korunur.
-
- - Oturum kilit dosyası incelemesi ve eskimiş kilit temizliği.
- - Etkilenen 2026.4.24 derlemeleri tarafından oluşturulan yinelenmiş prompt-rewrite dalları için oturum dökümü onarımı.
- - Yeniden başlatma kurtarma sürecinde takılmış subagent tombstone algılama; başlangıcın child'ı yeniden başlatma iptal edildi olarak ele almaya devam etmemesi için eskimiş iptal edilmiş kurtarma bayraklarını temizlemede `--fix` desteği.
- - Durum bütünlüğü ve izin denetimleri (oturumlar, dökümler, durum dizini).
- - Yerel çalışırken yapılandırma dosyası izin denetimleri (chmod 600).
- - Model auth sağlığı: OAuth süresinin dolmasını denetler, süresi dolmak üzere olan token'ları yenileyebilir ve auth-profile bekleme/devre dışı durumlarını raporlar.
- - Ek çalışma alanı dizini algılama (`~/openclaw`).
+
+ - Oturum kilit dosyası incelemesi ve eski kilit temizliği.
+ - Etkilenen 2026.4.24 derlemeleri tarafından oluşturulan yinelenmiş prompt yeniden yazma dalları için oturum transcript onarımı.
+ - Sıkışmış alt ajan yeniden başlatma-kurtarma tombstone tespiti; başlangıcın çocuğu yeniden başlatma nedeniyle iptal edilmiş olarak değerlendirmeyi sürdürmemesi için eski iptal edilmiş kurtarma bayraklarını temizlemeye yönelik `--fix` desteğiyle.
+ - Durum bütünlüğü ve izin denetimleri (oturumlar, transcript'ler, durum dizini).
+ - Yerel olarak çalışırken yapılandırma dosyası izin denetimleri (chmod 600).
+ - Model kimlik doğrulama sağlığı: OAuth süresinin dolmasını denetler, süresi dolmak üzere olan token'ları yenileyebilir ve auth-profile bekleme/disabled durumlarını raporlar.
+ - Ek çalışma alanı dizini tespiti (`~/openclaw`).
-
- - Sandbox etkinleştirildiğinde sandbox imajı onarımı.
- - Eski hizmet geçişi ve ek Gateway algılama.
+
+ - Sandbox etkinleştirildiğinde sandbox image onarımı.
+ - Eski hizmet geçişi ve ek Gateway tespiti.
- Matrix kanal eski durum geçişi (`--fix` / `--repair` modunda).
- - Gateway çalışma zamanı denetimleri (hizmet kurulmuş ama çalışmıyor; önbelleğe alınmış launchd etiketi).
- - Kanal durum uyarıları (çalışan Gateway üzerinden yoklanır).
- - İsteğe bağlı onarımla supervisor yapılandırma denetimi (launchd/systemd/schtasks).
- - Kurulum veya güncelleme sırasında kabuk `HTTP_PROXY` / `HTTPS_PROXY` / `NO_PROXY` değerlerini yakalamış Gateway hizmetleri için gömülü proxy ortam temizliği.
- - Gateway çalışma zamanı en iyi uygulama denetimleri (Node ve Bun, sürüm yöneticisi yolları).
+ - Gateway çalışma zamanı denetimleri (hizmet kurulu ama çalışmıyor; önbelleğe alınmış launchd etiketi).
+ - Kanal durum uyarıları (çalışan Gateway'den yoklanır).
+ - İsteğe bağlı onarımla supervisor yapılandırması denetimi (launchd/systemd/schtasks).
+ - Kurulum veya güncelleme sırasında shell `HTTP_PROXY` / `HTTPS_PROXY` / `NO_PROXY` değerlerini yakalamış Gateway hizmetleri için gömülü proxy ortamı temizliği.
+ - Gateway çalışma zamanı en iyi uygulama denetimleri (Node vs Bun, sürüm yöneticisi yolları).
- Gateway port çakışması tanılamaları (varsayılan `18789`).
-
+
- Açık DM ilkeleri için güvenlik uyarıları.
- - Yerel token modu için Gateway auth denetimleri (token kaynağı yoksa token oluşturma önerir; token SecretRef yapılandırmalarının üzerine yazmaz).
- - Cihaz eşleştirme sorun algılama (bekleyen ilk eşleştirme istekleri, bekleyen rol/kapsam yükseltmeleri, eskimiş yerel cihaz-token önbelleği sapması ve eşleştirilmiş kayıt auth sapması).
+ - Yerel token modu için Gateway kimlik doğrulama denetimleri (token kaynağı yoksa token oluşturmayı önerir; token SecretRef yapılandırmalarının üzerine yazmaz).
+ - Cihaz eşleştirme sorun tespiti (bekleyen ilk kez eşleştirme istekleri, bekleyen rol/kapsam yükseltmeleri, eski yerel cihaz-token önbelleği kayması ve eşleştirilmiş kayıt kimlik doğrulama kayması).
-
+
- Linux'ta systemd linger denetimi.
- - Çalışma alanı bootstrap dosya boyutu denetimi (bağlam dosyaları için kesilme/sınıra yakın uyarıları).
- - Kabuk tamamlama durum denetimi ve otomatik kurulum/yükseltme.
+ - Çalışma alanı bootstrap dosyası boyutu denetimi (bağlam dosyaları için kesilme/sınıra yaklaşma uyarıları).
+ - Shell tamamlama durum denetimi ve otomatik kurulum/yükseltme.
- Bellek arama embedding sağlayıcısı hazır olma denetimi (yerel model, uzak API anahtarı veya QMD binary).
- - Kaynak kurulum denetimleri (pnpm çalışma alanı uyuşmazlığı, eksik UI varlıkları, eksik tsx binary).
- - Güncellenmiş yapılandırmayı + sihirbaz metadatasını yazar.
+ - Kaynak kurulum denetimleri (pnpm çalışma alanı uyumsuzluğu, eksik UI varlıkları, eksik tsx binary).
+ - Güncellenmiş yapılandırma + sihirbaz metadata'sı yazar.
## Dreams UI geri doldurma ve sıfırlama
-Control UI Dreams sahnesi, temellendirilmiş Dreaming iş akışı için **Geri Doldur**, **Sıfırla** ve **Temellendirilmişi Temizle** eylemlerini içerir. Bu eylemler Gateway doctor tarzı RPC yöntemlerini kullanır, ancak `openclaw doctor` CLI onarım/geçişinin parçası **değildir**.
+Control UI Dreams sahnesi, grounded dreaming iş akışı için **Backfill**, **Reset** ve **Clear Grounded** eylemlerini içerir. Bu eylemler Gateway doctor tarzı RPC yöntemlerini kullanır, ancak `openclaw doctor` CLI onarım/geçişinin parçası **değildir**.
-Yaptıkları:
+Ne yaptıkları:
-- **Geri Doldur**, etkin çalışma alanındaki geçmiş `memory/YYYY-MM-DD.md` dosyalarını tarar, temellendirilmiş REM günlük geçişini çalıştırır ve tersine çevrilebilir geri doldurma girdilerini `DREAMS.md` içine yazar.
-- **Sıfırla**, yalnızca bu işaretli geri doldurma günlük girdilerini `DREAMS.md` içinden kaldırır.
-- **Temellendirilmişi Temizle**, yalnızca geçmiş yeniden oynatmadan gelen ve henüz canlı hatırlama veya günlük destek biriktirmemiş, staged temellendirilmişe özel kısa vadeli girdileri kaldırır.
+- **Backfill**, etkin çalışma alanındaki geçmiş `memory/YYYY-MM-DD.md` dosyalarını tarar, grounded REM günlük geçişini çalıştırır ve geri alınabilir geri doldurma girdilerini `DREAMS.md` içine yazar.
+- **Reset**, yalnızca işaretli geri doldurma günlük girdilerini `DREAMS.md` dosyasından kaldırır.
+- **Clear Grounded**, yalnızca geçmiş yeniden oynatmadan gelen ve henüz canlı hatırlama ya da günlük destek biriktirmemiş staged grounded-only kısa vadeli girdileri kaldırır.
Kendi başlarına **yapmadıkları**:
- `MEMORY.md` dosyasını düzenlemezler
- tam doctor geçişlerini çalıştırmazlar
-- önce staged CLI yolunu açıkça çalıştırmadığınız sürece temellendirilmiş adayları otomatik olarak canlı kısa vadeli yükseltme deposuna stage etmezler
+- önce staged CLI yolunu açıkça çalıştırmadığınız sürece grounded adayları otomatik olarak canlı kısa vadeli promotion deposuna stage etmezler
-Temellendirilmiş geçmiş yeniden oynatmanın normal derin yükseltme hattını etkilemesini istiyorsanız, bunun yerine CLI akışını kullanın:
+Grounded geçmiş yeniden oynatmasının normal derin promotion hattını etkilemesini istiyorsanız bunun yerine CLI akışını kullanın:
```bash
openclaw memory rem-backfill --path ./memory --stage-short-term
```
-Bu, `DREAMS.md` dosyasını inceleme yüzeyi olarak tutarken temellendirilmiş dayanıklı adayları kısa vadeli Dreaming deposuna stage eder.
+Bu, `DREAMS.md` dosyasını inceleme yüzeyi olarak tutarken grounded durable adayları kısa vadeli dreaming deposuna stage eder.
## Ayrıntılı davranış ve gerekçe
-
- Bu bir git checkout ise ve doctor etkileşimli çalışıyorsa, doctor çalıştırılmadan önce güncelleme (fetch/rebase/build) önerir.
+
+ Bu bir git checkout ise ve doctor etkileşimli çalışıyorsa, doctor çalışmadan önce güncelleme (fetch/rebase/build) yapmayı önerir.
-
- Yapılandırma eski değer biçimleri içeriyorsa (örneğin kanala özgü geçersiz kılma olmadan `messages.ackReaction`), doctor bunları geçerli şemaya normalleştirir.
+
+ Yapılandırma eski değer biçimleri içeriyorsa (örneğin kanala özgü geçersiz kılma olmadan `messages.ackReaction`), doctor bunları mevcut şemaya normalleştirir.
- Buna eski düz Talk alanları dahildir. Geçerli genel Talk yapılandırması `talk.provider` + `talk.providers.` biçimindedir. Doctor eski `talk.voiceId` / `talk.voiceAliases` / `talk.modelId` / `talk.outputFormat` / `talk.apiKey` biçimlerini sağlayıcı haritasına yeniden yazar.
+ Buna eski Talk düz alanları da dahildir. Mevcut genel Talk yapılandırması `talk.provider` + `talk.providers.` biçimindedir. Doctor eski `talk.voiceId` / `talk.voiceAliases` / `talk.modelId` / `talk.outputFormat` / `talk.apiKey` biçimlerini sağlayıcı haritasına yeniden yazar.
+
+ Doctor ayrıca `plugins.allow` boş olmadığında ve araç ilkesi
+ joker karakter veya Plugin'e ait araç girdileri kullandığında uyarır. `tools.allow: ["*"]` yalnızca
+ gerçekten yüklenen Plugin'lerden gelen araçlarla eşleşir; özel Plugin
+ izin listesini baypas etmez.
-
+
Yapılandırma kullanımdan kaldırılmış anahtarlar içerdiğinde, diğer komutlar çalışmayı reddeder ve sizden `openclaw doctor` çalıştırmanızı ister.
Doctor şunları yapar:
- Hangi eski anahtarların bulunduğunu açıklar.
- Uyguladığı geçişi gösterir.
- - Güncellenmiş şemayla `~/.openclaw/openclaw.json` dosyasını yeniden yazar.
+ - `~/.openclaw/openclaw.json` dosyasını güncellenmiş şemayla yeniden yazar.
- Gateway de eski bir yapılandırma biçimi algıladığında başlangıçta doctor geçişlerini otomatik olarak çalıştırır; böylece eskimiş yapılandırmalar manuel müdahale olmadan onarılır. Cron iş deposu geçişleri `openclaw doctor --fix` tarafından işlenir.
+ Gateway ayrıca eski bir yapılandırma biçimi tespit ettiğinde başlangıçta doctor geçişlerini otomatik çalıştırır, böylece eski yapılandırmalar manuel müdahale olmadan onarılır. Cron iş deposu geçişleri `openclaw doctor --fix` tarafından işlenir.
- Geçerli geçişler:
+ Mevcut geçişler:
- `routing.allowFrom` → `channels.whatsapp.allowFrom`
- `routing.groupChat.requireMention` → `channels.whatsapp/telegram/imessage.groups."*".requireMention`
@@ -206,70 +212,70 @@ Bu, `DREAMS.md` dosyasını inceleme yüzeyi olarak tutarken temellendirilmiş d
- `plugins.entries.voice-call.config.streaming.sttProvider` → `plugins.entries.voice-call.config.streaming.provider`
- `plugins.entries.voice-call.config.streaming.openaiApiKey|sttModel|silenceDurationMs|vadThreshold` → `plugins.entries.voice-call.config.streaming.providers.openai.*`
- `bindings[].match.accountID` → `bindings[].match.accountId`
- - Adlandırılmış `accounts` bulunan ancak kalıcı tek hesap üst düzey kanal değerleri olan kanallar için, bu hesap kapsamlı değerleri ilgili kanal için seçilen yükseltilmiş hesaba taşı (`accounts.default` çoğu kanal için; Matrix mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir)
+ - Adlandırılmış `accounts` bulunan ancak tek hesaplı üst düzey kanal değerleri kalmış kanallar için, bu hesap kapsamlı değerleri o kanal için seçilen yükseltilmiş hesaba taşıyın (çoğu kanal için `accounts.default`; Matrix mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir)
- `identity` → `agents.list[].identity`
- - `agent.*` → `agents.defaults` + `tools.*` (tools/elevated/exec/sandbox/subagents)
+ - `agent.*` → `agents.defaults` + `tools.*` (araçlar/yükseltilmiş/exec/sandbox/alt ajanlar)
- `agent.model`/`allowedModels`/`modelAliases`/`modelFallbacks`/`imageModelFallbacks` → `agents.defaults.models` + `agents.defaults.model.primary/fallbacks` + `agents.defaults.imageModel.primary/fallbacks`
- - `agents.defaults.llm` öğesini kaldır; yavaş sağlayıcı/model zaman aşımları için `models.providers..timeoutSeconds` kullan
+ - `agents.defaults.llm` kaldırılır; yavaş sağlayıcı/model zaman aşımları için `models.providers..timeoutSeconds` kullanın
- `browser.ssrfPolicy.allowPrivateNetwork` → `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork`
- `browser.profiles.*.driver: "extension"` → `"existing-session"`
- - `browser.relayBindHost` öğesini kaldır (eski extension relay ayarı)
- - eski `models.providers.*.api: "openai"` → `"openai-completions"` (Gateway başlangıcı ayrıca `api` değeri gelecekteki veya bilinmeyen bir enum değerine ayarlanmış sağlayıcıları kapalı hata vermek yerine atlar)
+ - `browser.relayBindHost` kaldırılır (eski uzantı relay ayarı)
+ - eski `models.providers.*.api: "openai"` → `"openai-completions"` (gateway başlatması ayrıca `api` değeri kapalı biçimde başarısız olmak yerine gelecekteki veya bilinmeyen bir enum değerine ayarlanmış sağlayıcıları atlar)
- Doctor uyarıları, çok hesaplı kanallar için hesap varsayılanı rehberliğini de içerir:
+ Doctor uyarıları, çok hesaplı kanallar için hesap-varsayılanı rehberliğini de içerir:
- - İki veya daha fazla `channels..accounts` girdisi `channels..defaultAccount` veya `accounts.default` olmadan yapılandırılmışsa, doctor yedek yönlendirmenin beklenmeyen bir hesabı seçebileceği konusunda uyarır.
+ - İki veya daha fazla `channels..accounts` girdisi `channels..defaultAccount` veya `accounts.default` olmadan yapılandırılmışsa, doctor yedek yönlendirmenin beklenmeyen bir hesap seçebileceği konusunda uyarır.
- `channels..defaultAccount` bilinmeyen bir hesap kimliğine ayarlanmışsa, doctor uyarır ve yapılandırılmış hesap kimliklerini listeler.
-
+
`models.providers.opencode`, `opencode-zen` veya `opencode-go` değerlerini elle eklediyseniz, bu `@mariozechner/pi-ai` içindeki yerleşik OpenCode kataloğunu geçersiz kılar. Bu, modelleri yanlış API'ye zorlayabilir veya maliyetleri sıfırlayabilir. Doctor, geçersiz kılmayı kaldırıp model başına API yönlendirmesini ve maliyetleri geri yükleyebilmeniz için uyarır.
-
- Tarayıcı yapılandırmanız hâlâ kaldırılmış Chrome uzantısı yolunu gösteriyorsa, doctor bunu geçerli ana makine-yerel Chrome MCP bağlanma modeline normalleştirir:
+
+ Tarayıcı yapılandırmanız hâlâ kaldırılmış Chrome uzantısı yolunu gösteriyorsa, doctor bunu mevcut ana makine-yerel Chrome MCP ekleme modeline normalleştirir:
- - `browser.profiles.*.driver: "extension"` değeri `"existing-session"` olur
+ - `browser.profiles.*.driver: "extension"` `"existing-session"` olur
- `browser.relayBindHost` kaldırılır
Doctor ayrıca `defaultProfile: "user"` veya yapılandırılmış bir `existing-session` profili kullandığınızda ana makine-yerel Chrome MCP yolunu denetler:
- - varsayılan otomatik bağlanma profilleri için Google Chrome'un aynı ana makinede yüklü olup olmadığını kontrol eder
+ - varsayılan otomatik bağlanma profilleri için Google Chrome'un aynı ana makinede kurulu olup olmadığını kontrol eder
- algılanan Chrome sürümünü kontrol eder ve Chrome 144'ün altındaysa uyarır
- tarayıcı inceleme sayfasında uzaktan hata ayıklamayı etkinleştirmenizi hatırlatır (örneğin `chrome://inspect/#remote-debugging`, `brave://inspect/#remote-debugging` veya `edge://inspect/#remote-debugging`)
- Doctor, Chrome tarafındaki ayarı sizin yerinize etkinleştiremez. Ana makine-yerel Chrome MCP hâlâ şunları gerektirir:
+ Doctor, Chrome tarafındaki ayarı sizin için etkinleştiremez. Ana makine-yerel Chrome MCP hâlâ şunları gerektirir:
- - gateway/node ana makinesinde Chromium tabanlı bir tarayıcı 144+
- - tarayıcının yerel olarak çalışması
- - o tarayıcıda uzaktan hata ayıklamanın etkinleştirilmiş olması
- - tarayıcıdaki ilk bağlanma onay isteminin onaylanması
+ - gateway/node ana makinesinde Chromium tabanlı 144+ bir tarayıcı
+ - tarayıcının yerel olarak çalışıyor olması
+ - o tarayıcıda uzaktan hata ayıklamanın etkin olması
+ - tarayıcıdaki ilk ekleme onay istemini onaylama
- Buradaki hazır olma durumu yalnızca yerel bağlanma ön koşullarıyla ilgilidir. Existing-session geçerli Chrome MCP rota sınırlarını korur; `responsebody`, PDF dışa aktarma, indirme yakalama ve toplu eylemler gibi gelişmiş rotalar hâlâ yönetilen bir tarayıcı veya ham CDP profili gerektirir.
+ Buradaki hazır olma yalnızca yerel ekleme önkoşullarıyla ilgilidir. Existing-session mevcut Chrome MCP rota sınırlarını korur; `responsebody`, PDF dışa aktarma, indirme yakalama ve toplu eylemler gibi gelişmiş rotalar hâlâ yönetilen bir tarayıcı veya ham CDP profili gerektirir.
- Bu kontrol Docker, sandbox, uzak tarayıcı veya diğer başsız akışlar için geçerli **değildir**. Bunlar ham CDP kullanmaya devam eder.
+ Bu kontrol Docker, sandbox, uzak-tarayıcı veya diğer başsız akışlar için **geçerli değildir**. Bunlar ham CDP kullanmaya devam eder.
-
- Bir OpenAI Codex OAuth profili yapılandırıldığında, doctor yerel Node/OpenSSL TLS yığınının sertifika zincirini doğrulayabildiğini doğrulamak için OpenAI yetkilendirme uç noktasını yoklar. Yoklama bir sertifika hatasıyla başarısız olursa (örneğin `UNABLE_TO_GET_ISSUER_CERT_LOCALLY`, süresi dolmuş sertifika veya kendinden imzalı sertifika), doctor platforma özgü düzeltme rehberliği yazdırır. Homebrew Node kullanılan macOS'te düzeltme genellikle `brew postinstall ca-certificates` olur. `--deep` ile gateway sağlıklı olsa bile yoklama çalışır.
+
+ Bir OpenAI Codex OAuth profili yapılandırıldığında, doctor yerel Node/OpenSSL TLS yığınının sertifika zincirini doğrulayabildiğini doğrulamak için OpenAI yetkilendirme uç noktasını yoklar. Yoklama bir sertifika hatasıyla başarısız olursa (örneğin `UNABLE_TO_GET_ISSUER_CERT_LOCALLY`, süresi dolmuş sertifika veya kendinden imzalı sertifika), doctor platforma özel düzeltme rehberliği yazdırır. Homebrew Node kullanılan macOS'ta düzeltme genellikle `brew postinstall ca-certificates` komutudur. `--deep` ile, gateway sağlıklı olsa bile yoklama çalışır.
-
- Daha önce `models.providers.openai-codex` altında eski OpenAI taşıma ayarları eklediyseniz, bunlar yeni sürümlerin otomatik olarak kullandığı yerleşik Codex OAuth sağlayıcı yolunu gölgeleyebilir. Doctor, eski taşıma geçersiz kılmasını kaldırıp veya yeniden yazıp yerleşik yönlendirme/yedek davranışını geri alabilmeniz için Codex OAuth ile birlikte bu eski taşıma ayarlarını gördüğünde uyarır. Özel proxy'ler ve yalnızca başlık geçersiz kılmaları hâlâ desteklenir ve bu uyarıyı tetiklemez.
+
+ Daha önce `models.providers.openai-codex` altında eski OpenAI taşıma ayarları eklediyseniz, bunlar yeni sürümlerin otomatik olarak kullandığı yerleşik Codex OAuth sağlayıcı yolunu gölgeleyebilir. Doctor, Codex OAuth ile birlikte bu eski taşıma ayarlarını gördüğünde uyarır; böylece bayat taşıma geçersiz kılmasını kaldırabilir veya yeniden yazabilir ve yerleşik yönlendirme/yedek davranışını geri alabilirsiniz. Özel proxy'ler ve yalnızca başlık geçersiz kılmaları hâlâ desteklenir ve bu uyarıyı tetiklemez.
-
- Paketle gelen Codex Plugin etkinleştirildiğinde, doctor `openai-codex/*` birincil model referanslarının hâlâ varsayılan PI çalıştırıcısı üzerinden çözümlenip çözümlenmediğini de kontrol eder. Codex OAuth/abonelik kimlik doğrulamasını PI üzerinden istediğinizde bu kombinasyon geçerlidir, ancak yerel Codex uygulama sunucusu çalıştırma sistemiyle karıştırılması kolaydır. Doctor uyarır ve açık uygulama sunucusu biçimine işaret eder: `openai/*` artı `agentRuntime.id: "codex"` veya `OPENCLAW_AGENT_RUNTIME=codex`.
+
+ Paketle gelen Codex Plugin etkinleştirildiğinde, doctor `openai-codex/*` birincil model referanslarının hâlâ varsayılan PI çalıştırıcısı üzerinden çözümlenip çözümlenmediğini de kontrol eder. Codex OAuth/abonelik kimlik doğrulamasını PI üzerinden kullanmak istediğinizde bu kombinasyon geçerlidir, ancak yerel Codex uygulama-sunucusu donanımıyla karıştırılması kolaydır. Doctor uyarır ve açık uygulama-sunucusu biçimini işaret eder: `openai/*` artı `agentRuntime.id: "codex"` veya `OPENCLAW_AGENT_RUNTIME=codex`.
Doctor bunu otomatik olarak onarmaz çünkü iki rota da geçerlidir:
- `openai-codex/*` + PI, "normal OpenClaw çalıştırıcısı üzerinden Codex OAuth/abonelik kimlik doğrulamasını kullan" anlamına gelir.
- - `openai/*` + `runtime: "codex"`, "yerleşik turu yerel Codex uygulama sunucusu üzerinden çalıştır" anlamına gelir.
- - `/codex ...`, "sohbetten yerel bir Codex konuşmasını denetle veya bağla" anlamına gelir.
+ - `openai/*` + `runtime: "codex"`, "yerleşik dönüşü yerel Codex uygulama-sunucusu üzerinden çalıştır" anlamına gelir.
+ - `/codex ...`, "sohbetten yerel bir Codex konuşmasını kontrol et veya bağla" anlamına gelir.
- `/acp ...` veya `runtime: "acp"`, "harici ACP/acpx bağdaştırıcısını kullan" anlamına gelir.
- Uyarı görünürse, amaçladığınız rotayı seçin ve yapılandırmayı elle düzenleyin. PI Codex OAuth bilinçli olarak kullanılıyorsa uyarıyı olduğu gibi bırakın.
+ Uyarı görünürse, amaçladığınız rotayı seçin ve yapılandırmayı elle düzenleyin. PI Codex OAuth kasıtlıysa uyarıyı olduğu gibi bırakın.
-
- Doctor, eski disk üzeri düzenleri geçerli yapıya geçirebilir:
+
+ Doctor eski disk üzeri düzenleri mevcut yapıya geçirebilir:
- Oturum deposu + transkriptler:
- `~/.openclaw/sessions/` konumundan `~/.openclaw/agents//sessions/` konumuna
@@ -279,214 +285,214 @@ Bu, `DREAMS.md` dosyasını inceleme yüzeyi olarak tutarken temellendirilmiş d
- eski `~/.openclaw/credentials/*.json` konumundan (`oauth.json` hariç)
- `~/.openclaw/credentials/whatsapp//...` konumuna (varsayılan hesap kimliği: `default`)
- Bu geçişler en iyi çabayla yapılır ve idempotenttir; doctor herhangi bir eski klasörü yedek olarak geride bıraktığında uyarılar yayımlar. Gateway/CLI ayrıca başlangıçta eski oturumları ve ajan dizinini otomatik olarak geçirir; böylece geçmiş/kimlik doğrulama/modeller elle doctor çalıştırmadan ajan başına yola yerleşir. WhatsApp kimlik doğrulaması bilinçli olarak yalnızca `openclaw doctor` üzerinden geçirilir. Konuşma sağlayıcısı/sağlayıcı haritası normalleştirmesi artık yapısal eşitlikle karşılaştırır, bu nedenle yalnızca anahtar sırası farkları artık yinelenen etkisiz `doctor --fix` değişikliklerini tetiklemez.
+ Bu geçişler en iyi çabayla yapılır ve idempotenttir; doctor herhangi bir eski klasörü yedek olarak geride bıraktığında uyarılar yayımlar. Gateway/CLI ayrıca başlangıçta eski oturumları ve ajan dizinini otomatik olarak geçirir; böylece geçmiş/kimlik doğrulama/modeller elle doctor çalıştırmadan ajan başına yola iner. WhatsApp kimlik doğrulaması kasıtlı olarak yalnızca `openclaw doctor` ile geçirilir. Konuşma sağlayıcısı/sağlayıcı-haritası normalleştirmesi artık yapısal eşitlikle karşılaştırır; bu nedenle yalnızca anahtar sırasından kaynaklanan farklar artık tekrarlanan işlemsiz `doctor --fix` değişikliklerini tetiklemez.
-
- Doctor, kullanımdan kaldırılmış üst düzey yetenek anahtarları (`speechProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders`, `webSearchProviders`) için yüklü tüm Plugin manifestlerini tarar. Bulunduğunda, bunları `contracts` nesnesine taşımayı ve manifest dosyasını yerinde yeniden yazmayı önerir. Bu geçiş idempotenttir; `contracts` anahtarı zaten aynı değerlere sahipse, eski anahtar verileri çoğaltmadan kaldırılır.
+
+ Doctor, kullanımdan kaldırılmış üst düzey yetenek anahtarları (`speechProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders`, `webSearchProviders`) için kurulu tüm Plugin manifestlerini tarar. Bulunduğunda, bunları `contracts` nesnesine taşımayı ve manifest dosyasını yerinde yeniden yazmayı önerir. Bu geçiş idempotenttir; `contracts` anahtarı zaten aynı değerlere sahipse, eski anahtar veriler çoğaltılmadan kaldırılır.
-
- Doctor ayrıca zamanlayıcının uyumluluk için hâlâ kabul ettiği eski iş biçimleri için Cron iş deposunu (varsayılan olarak `~/.openclaw/cron/jobs.json` veya geçersiz kılındığında `cron.store`) kontrol eder.
+
+ Doctor ayrıca cron iş deposunu (varsayılan olarak `~/.openclaw/cron/jobs.json`, geçersiz kılındığında `cron.store`) zamanlayıcının uyumluluk için hâlâ kabul ettiği eski iş biçimleri açısından kontrol eder.
- Geçerli cron temizlikleri şunları içerir:
+ Geçerli cron temizlemeleri şunları içerir:
- `jobId` → `id`
- `schedule.cron` → `schedule.expr`
- üst düzey yük alanları (`message`, `model`, `thinking`, ...) → `payload`
- - üst düzey teslimat alanları (`deliver`, `channel`, `to`, `provider`, ...) → `delivery`
- - yük `provider` teslimat takma adları → açık `delivery.channel`
+ - üst düzey teslim alanları (`deliver`, `channel`, `to`, `provider`, ...) → `delivery`
+ - yük `provider` teslim diğer adları → açık `delivery.channel`
- basit eski `notify: true` webhook yedek işleri → `delivery.to=cron.webhook` ile açık `delivery.mode="webhook"`
- Doctor, `notify: true` işlerini yalnızca davranışı değiştirmeden yapabildiğinde otomatik olarak geçirir. Bir iş eski bildirim yedeğini mevcut webhook olmayan bir teslimat moduyla birleştirirse, doctor uyarır ve o işi elle inceleme için bırakır.
+ Doctor, `notify: true` işlerini yalnızca davranışı değiştirmeden yapabildiğinde otomatik geçirir. Bir iş eski bildirim yedeğini mevcut Webhook olmayan bir teslim modu ile birleştirirse, doctor uyarır ve o işi elle inceleme için bırakır.
-
- Doctor, bayat yazma kilidi dosyaları için her ajan oturum dizinini tarar; bunlar bir oturum anormal biçimde çıktığında geride kalan dosyalardır. Bulunan her kilit dosyası için şunları raporlar: yol, PID, PID'nin hâlâ canlı olup olmadığı, kilit yaşı ve bayat kabul edilip edilmediği (ölü PID veya 30 dakikadan eski). `--fix` / `--repair` modunda bayat kilit dosyalarını otomatik olarak kaldırır; aksi halde bir not yazdırır ve `--fix` ile yeniden çalıştırmanızı söyler.
+
+ Doctor, her ajan oturum dizinini bayat yazma-kilidi dosyaları için tarar; bunlar bir oturum anormal şekilde çıktığında geride kalan dosyalardır. Bulunan her kilit dosyası için şunları raporlar: yol, PID, PID'nin hâlâ canlı olup olmadığı, kilit yaşı ve bayat kabul edilip edilmediği (ölü PID veya 30 dakikadan eski). `--fix` / `--repair` modunda bayat kilit dosyalarını otomatik kaldırır; aksi takdirde bir not yazdırır ve `--fix` ile yeniden çalıştırmanızı söyler.
-
- Doctor, 2026.4.24 istem transkripti yeniden yazma hatasının oluşturduğu yinelenen dal biçimi için ajan oturumu JSONL dosyalarını tarar: OpenClaw dahili çalışma zamanı bağlamına sahip terk edilmiş bir kullanıcı turu ve aynı görünür kullanıcı istemini içeren etkin bir kardeş. `--fix` / `--repair` modunda, doctor etkilenen her dosyayı özgünün yanına yedekler ve transkripti etkin dala yeniden yazar; böylece gateway geçmişi ve bellek okuyucuları artık yinelenen turları görmez.
+
+ Doctor, 2026.4.24 istem transkripti yeniden yazma hatasının oluşturduğu yinelenmiş dal biçimi için ajan oturumu JSONL dosyalarını tarar: OpenClaw dahili çalışma zamanı bağlamı bulunan terk edilmiş bir kullanıcı dönüşü ve aynı görünür kullanıcı istemini içeren etkin bir kardeş. `--fix` / `--repair` modunda, doctor etkilenen her dosyayı özgünün yanında yedekler ve transkripti etkin dala yeniden yazar; böylece gateway geçmişi ve bellek okuyucuları artık yinelenmiş dönüşler görmez.
-
- Durum dizini operasyonel beyin sapıdır. Kaybolursa oturumları, kimlik bilgilerini, günlükleri ve yapılandırmayı kaybedersiniz (başka yerde yedekleriniz yoksa).
+
+ Durum dizini operasyonel beyin sapıdır. Kaybolursa, oturumları, kimlik bilgilerini, günlükleri ve yapılandırmayı kaybedersiniz (başka yerde yedekleriniz yoksa).
Doctor şunları kontrol eder:
- - **Durum dizini eksik**: yıkıcı durum kaybı hakkında uyarır, dizini yeniden oluşturmayı sorar ve eksik verileri kurtaramayacağını hatırlatır.
- - **Durum dizini izinleri**: yazılabilirliği doğrular; izinleri onarmayı önerir (ve sahip/grup uyuşmazlığı algılandığında bir `chown` ipucu yayımlar).
- - **macOS bulutla eşitlenen durum dizini**: durum iCloud Drive (`~/Library/Mobile Documents/com~apple~CloudDocs/...`) veya `~/Library/CloudStorage/...` altında çözümlendiğinde uyarır, çünkü eşitleme destekli yollar daha yavaş G/Ç'ye ve kilit/eşitleme yarışlarına neden olabilir.
- - **Linux SD veya eMMC durum dizini**: durum bir `mmcblk*` bağlama kaynağına çözümlendiğinde uyarır, çünkü SD veya eMMC destekli rastgele G/Ç oturum ve kimlik bilgisi yazımları altında daha yavaş olabilir ve daha hızlı yıpranabilir.
- - **Oturum dizinleri eksik**: geçmişi kalıcı kılmak ve `ENOENT` çökmelerini önlemek için `sessions/` ve oturum deposu dizini gereklidir.
- - **Transkript uyuşmazlığı**: son oturum girdilerinin transkript dosyaları eksik olduğunda uyarır.
- - **Ana oturum "1 satırlı JSONL"**: ana transkriptte yalnızca bir satır olduğunda işaretler (geçmiş birikmiyor).
+ - **Durum dizini eksik**: yıkıcı durum kaybı konusunda uyarır, dizini yeniden oluşturmanızı ister ve eksik verileri kurtaramayacağını hatırlatır.
+ - **Durum dizini izinleri**: yazılabilirliği doğrular; izinleri onarmayı teklif eder (sahip/grup uyumsuzluğu algılandığında bir `chown` ipucu verir).
+ - **macOS bulutla eşitlenen durum dizini**: durum iCloud Drive (`~/Library/Mobile Documents/com~apple~CloudDocs/...`) veya `~/Library/CloudStorage/...` altında çözümlendiğinde uyarır, çünkü eşitleme destekli yollar daha yavaş G/Ç ve kilit/eşitleme yarışlarına neden olabilir.
+ - **Linux SD veya eMMC durum dizini**: durum bir `mmcblk*` bağlama kaynağına çözümlendiğinde uyarır, çünkü SD veya eMMC destekli rastgele G/Ç, oturum ve kimlik bilgisi yazmaları sırasında daha yavaş olabilir ve daha hızlı yıpranabilir.
+ - **Oturum dizinleri eksik**: geçmişi kalıcı tutmak ve `ENOENT` çökmelerini önlemek için `sessions/` ve oturum deposu dizini gereklidir.
+ - **Transkript uyuşmazlığı**: son oturum girdilerinde eksik transkript dosyaları olduğunda uyarır.
+ - **Ana oturum "1 satırlık JSONL"**: ana transkript yalnızca bir satıra sahipse işaretler (geçmiş birikmiyordur).
- **Birden çok durum dizini**: ev dizinleri arasında birden fazla `~/.openclaw` klasörü bulunduğunda veya `OPENCLAW_STATE_DIR` başka bir yeri gösterdiğinde uyarır (geçmiş kurulumlar arasında bölünebilir).
- - **Uzak mod hatırlatıcısı**: `gateway.mode=remote` ise, doctor bunu uzak ana makinede çalıştırmanızı hatırlatır (durum orada bulunur).
- - **Yapılandırma dosyası izinleri**: `~/.openclaw/openclaw.json` grup/dünya tarafından okunabiliyorsa uyarır ve `600` değerine sıkılaştırmayı önerir.
+ - **Uzak mod hatırlatıcısı**: `gateway.mode=remote` ise doctor, bunu uzak ana makinede çalıştırmanızı hatırlatır (durum orada bulunur).
+ - **Yapılandırma dosyası izinleri**: `~/.openclaw/openclaw.json` grup/herkes tarafından okunabilir durumdaysa uyarır ve `600` olarak sıkılaştırmayı teklif eder.
-
- Doctor, kimlik doğrulama deposundaki OAuth profillerini inceler, belirteçlerin süresi dolmak üzereyken/dolduğunda uyarır ve güvenli olduğunda bunları yenileyebilir. Anthropic OAuth/belirteç profili bayatsa, bir Anthropic API anahtarı veya Anthropic kurulum belirteci yolunu önerir. Yenileme istemleri yalnızca etkileşimli çalışırken (TTY) görünür; `--non-interactive` yenileme denemelerini atlar.
+
+ Doctor, kimlik doğrulama deposundaki OAuth profillerini inceler, tokenlerin süresi dolmak üzereyken/dolduğunda uyarır ve güvenli olduğunda yenileyebilir. Anthropic OAuth/token profili eskiyse, bir Anthropic API anahtarı veya Anthropic setup-token yolunu önerir. Yenileme istemleri yalnızca etkileşimli çalışırken (TTY) görünür; `--non-interactive` yenileme denemelerini atlar.
- Bir OAuth yenilemesi kalıcı olarak başarısız olduğunda (örneğin `refresh_token_reused`, `invalid_grant` veya bir sağlayıcının yeniden oturum açmanızı söylemesi), doctor yeniden kimlik doğrulamanın gerekli olduğunu bildirir ve çalıştırılacak tam `openclaw models auth login --provider ...` komutunu yazdırır.
+ OAuth yenilemesi kalıcı olarak başarısız olduğunda (örneğin `refresh_token_reused`, `invalid_grant` veya bir sağlayıcının yeniden oturum açmanızı söylemesi), doctor yeniden kimlik doğrulamanın gerekli olduğunu bildirir ve çalıştırılacak tam `openclaw models auth login --provider ...` komutunu yazdırır.
Doctor ayrıca şu nedenlerle geçici olarak kullanılamayan kimlik doğrulama profillerini bildirir:
- kısa bekleme süreleri (hız sınırları/zaman aşımları/kimlik doğrulama hataları)
- - daha uzun devre dışı bırakmalar (faturalandırma/kredi hataları)
+ - daha uzun devre dışı bırakmalar (faturalama/kredi hataları)
- `hooks.gmail.model` ayarlanmışsa doctor, model başvurusunu katalog ve allowlist'e göre doğrular ve çözümlenmeyeceğinde veya izin verilmediğinde uyarır.
+ `hooks.gmail.model` ayarlanmışsa doctor, model referansını katalog ve izin listesine göre doğrular ve çözümlenmeyeceğinde veya izin verilmediğinde uyarır.
-
- Sandbox kullanımı etkinleştirildiğinde doctor, Docker imajlarını denetler ve geçerli imaj eksikse oluşturmayı veya eski adlara geçmeyi önerir.
+
+ Korumalı alan etkinleştirildiğinde doctor, Docker görüntülerini denetler ve geçerli görüntü eksikse derlemeyi veya eski adlara geçmeyi teklif eder.
-
- Doctor, çalışma zamanı bağımlılıklarını yalnızca geçerli yapılandırmada etkin olan veya paketli manifest varsayılanı tarafından etkinleştirilen paketli pluginler için doğrular; örneğin `plugins.entries.discord.enabled: true`, eski `channels.discord.enabled: true`, yapılandırılmış `models.providers.*` / aracı model başvuruları veya sağlayıcı sahipliği olmayan varsayılan olarak etkin bir paketli plugin. Eksik olan varsa doctor paketleri bildirir ve bunları `openclaw doctor --fix` / `openclaw doctor --repair` modunda yükler. Harici pluginler hâlâ `openclaw plugins install` / `openclaw plugins update` kullanır; doctor rastgele plugin yolları için bağımlılık yüklemez.
+
+ Doctor, çalışma zamanı bağımlılıklarını yalnızca geçerli yapılandırmada etkin olan veya paketli manifest varsayılanıyla etkinleştirilen paketli Plugin'ler için doğrular; örneğin `plugins.entries.discord.enabled: true`, eski `channels.discord.enabled: true`, yapılandırılmış `models.providers.*` / aracı model referansları veya sağlayıcı sahipliği olmayan varsayılan olarak etkin bir paketli Plugin. Eksik olan varsa doctor paketleri bildirir ve bunları `openclaw doctor --fix` / `openclaw doctor --repair` modunda yükler. Harici Plugin'ler hâlâ `openclaw plugins install` / `openclaw plugins update` kullanır; doctor keyfi Plugin yolları için bağımlılık yüklemez.
- Doctor onarımı sırasında, paketli çalışma zamanı bağımlılığı npm yüklemeleri TTY oturumlarında dönen gösterge ilerlemesi, borulanmış/başsız çıktıda ise periyodik satır ilerlemesi bildirir. Gateway ve yerel CLI de paketli bir plugini içe aktarmadan önce etkin paketli plugin çalışma zamanı bağımlılıklarını isteğe bağlı olarak onarabilir. Bu yüklemeler plugin çalışma zamanı yükleme köküyle sınırlıdır, betikler devre dışıyken çalışır, paket kilidi yazmaz ve eşzamanlı CLI veya Gateway başlatmaları aynı `node_modules` ağacını aynı anda değiştirmesin diye yükleme kökü kilidiyle korunur.
+ Doctor onarımı sırasında, paketli çalışma zamanı bağımlılığı npm yüklemeleri TTY oturumlarında dönen ilerleme göstergesi, borulu/başsız çıktıda ise dönemsel satır ilerlemesi bildirir. Gateway başlatma ve yapılandırma yeniden yükleme, paketli Plugin çalışma zamanı modüllerini içe aktarmadan önce Plugin planı moduna girer; normal çalışma zamanı içe aktarmaları yalnızca doğrulama amaçlıdır ve paket yöneticisi onarımı başlatmaz. Bu yüklemeler Plugin çalışma zamanı yükleme köküyle sınırlıdır, betikler devre dışı çalıştırılır, paket kilidi yazmaz ve eşzamanlı CLI veya Gateway başlatmaları aynı `node_modules` ağacını aynı anda değiştirmesin diye bir yükleme kökü kilidiyle korunur. Öldürülmüş Docker/konteyner başlatmalarından kalan eski kilitler, sahip meta verileri geçerli bir süreç örneğini kanıtlayamadığında ve kilit dosyaları eski olduğunda geri alınır.
-
- Doctor eski gateway hizmetlerini (launchd/systemd/schtasks) algılar ve bunları kaldırıp geçerli gateway bağlantı noktasını kullanarak OpenClaw hizmetini yüklemeyi önerir. Ayrıca ek gateway benzeri hizmetleri tarayabilir ve temizleme ipuçları yazdırabilir. Profil adı verilmiş OpenClaw gateway hizmetleri birinci sınıf kabul edilir ve "ek" olarak işaretlenmez.
+
+ Doctor, eski Gateway hizmetlerini (launchd/systemd/schtasks) algılar ve bunları kaldırıp geçerli Gateway bağlantı noktasını kullanarak OpenClaw hizmetini yüklemeyi teklif eder. Ayrıca ek Gateway benzeri hizmetleri tarayıp temizlik ipuçları yazdırabilir. Profil adlandırmalı OpenClaw Gateway hizmetleri birinci sınıf kabul edilir ve "ek" olarak işaretlenmez.
- Linux'ta, kullanıcı düzeyi gateway hizmeti eksikse ancak sistem düzeyi bir OpenClaw gateway hizmeti varsa doctor otomatik olarak ikinci bir kullanıcı düzeyi hizmet yüklemez. `openclaw gateway status --deep` veya `openclaw doctor --deep` ile inceleyin, ardından yineleneni kaldırın veya sistem denetleyicisi gateway yaşam döngüsüne sahipse `OPENCLAW_SERVICE_REPAIR_POLICY=external` ayarlayın.
+ Linux'ta, kullanıcı düzeyi Gateway hizmeti eksikse ancak sistem düzeyi bir OpenClaw Gateway hizmeti varsa doctor otomatik olarak ikinci bir kullanıcı düzeyi hizmet yüklemez. `openclaw gateway status --deep` veya `openclaw doctor --deep` ile inceleyin, ardından yineleneni kaldırın ya da Gateway yaşam döngüsünü bir sistem gözetmeni yönetiyorsa `OPENCLAW_SERVICE_REPAIR_POLICY=external` ayarlayın.
- Bir Matrix kanal hesabında bekleyen veya işlem yapılabilir eski durum geçişi varsa doctor (`--fix` / `--repair` modunda) geçiş öncesi bir anlık görüntü oluşturur ve ardından en iyi çaba geçiş adımlarını çalıştırır: eski Matrix durum geçişi ve eski şifreli durum hazırlığı. Her iki adım da ölümcül değildir; hatalar günlüğe yazılır ve başlangıç devam eder. Salt okunur modda (`--fix` olmadan `openclaw doctor`) bu denetim tamamen atlanır.
+ Bir Matrix kanal hesabında bekleyen veya uygulanabilir bir eski durum geçişi olduğunda doctor (`--fix` / `--repair` modunda), geçiş öncesi bir anlık görüntü oluşturur ve ardından en iyi çaba geçiş adımlarını çalıştırır: eski Matrix durum geçişi ve eski şifreli durum hazırlığı. Her iki adım da ölümcül değildir; hatalar günlüğe yazılır ve başlatma devam eder. Salt okunur modda (`--fix` olmadan `openclaw doctor`) bu denetim tamamen atlanır.
- Doctor artık normal sağlık geçişinin bir parçası olarak cihaz eşleştirme durumunu inceler.
+ Doctor artık normal sağlık geçişinin parçası olarak cihaz eşleştirme durumunu inceler.
Bildirdikleri:
- bekleyen ilk kez eşleştirme istekleri
- zaten eşleştirilmiş cihazlar için bekleyen rol yükseltmeleri
- zaten eşleştirilmiş cihazlar için bekleyen kapsam yükseltmeleri
- - cihaz kimliği hâlâ eşleşirken cihaz kimliğinin artık onaylı kayıtla eşleşmediği public-key uyuşmazlığı onarımları
- - onaylı bir rol için etkin token'ı olmayan eşleştirilmiş kayıtlar
- - kapsamları onaylı eşleştirme temel çizgisinin dışına kayan eşleştirilmiş token'lar
- - geçerli makine için gateway tarafı token rotasyonundan önce gelen veya eski kapsam meta verisi taşıyan yerel önbelleğe alınmış cihaz token'ı girdileri
+ - cihaz kimliği hâlâ eşleşirken cihaz kimliğinin artık onaylı kayıtla eşleşmediği ortak anahtar uyuşmazlığı onarımları
+ - onaylı bir rol için etkin tokeni eksik eşleştirilmiş kayıtlar
+ - kapsamları onaylı eşleştirme taban çizgisinin dışına sapan eşleştirilmiş tokenler
+ - geçerli makine için Gateway tarafı token rotasyonundan daha eski olan veya eski kapsam meta verisi taşıyan yerel önbelleğe alınmış cihaz-token girdileri
- Doctor, eşleştirme isteklerini otomatik onaylamaz veya cihaz token'larını otomatik döndürmez. Bunun yerine kesin sonraki adımları yazdırır:
+ Doctor eşleştirme isteklerini otomatik onaylamaz veya cihaz tokenlerini otomatik döndürmez. Bunun yerine tam sonraki adımları yazdırır:
- bekleyen istekleri `openclaw devices list` ile inceleyin
- - kesin isteği `openclaw devices approve ` ile onaylayın
- - yeni bir token'ı `openclaw devices rotate --device --role ` ile döndürün
+ - tam isteği `openclaw devices approve ` ile onaylayın
+ - `openclaw devices rotate --device --role ` ile yeni bir token döndürün
- eski bir kaydı `openclaw devices remove ` ile kaldırıp yeniden onaylayın
- Bu, yaygın "zaten eşleştirilmiş ama hâlâ eşleştirme gerekiyor hatası alınıyor" boşluğunu kapatır: doctor artık ilk kez eşleştirmeyi bekleyen rol/kapsam yükseltmelerinden ve eski token/cihaz kimliği sapmasından ayırır.
+ Bu, yaygın "zaten eşleştirildi ama hâlâ eşleştirme gerekli alınıyor" boşluğunu kapatır: doctor artık ilk kez eşleştirmeyi bekleyen rol/kapsam yükseltmelerinden ve eski token/cihaz kimliği sapmasından ayırır.
- Doctor, bir sağlayıcı allowlist olmadan DM'lere açıksa veya bir ilke tehlikeli şekilde yapılandırılmışsa uyarılar yayımlar.
+ Doctor, bir sağlayıcı izin listesi olmadan DM'lere açık olduğunda veya bir ilke tehlikeli bir şekilde yapılandırıldığında uyarılar verir.
- systemd kullanıcı hizmeti olarak çalışıyorsa doctor, gateway'in oturum kapatıldıktan sonra canlı kalması için lingering'in etkin olmasını sağlar.
+ systemd kullanıcı hizmeti olarak çalışıyorsa doctor, Gateway oturum kapatma sonrasında canlı kalsın diye linger etkin olduğundan emin olur.
-
- Doctor, varsayılan aracı için çalışma alanı durumunun özetini yazdırır:
+
+ Doctor, varsayılan aracı için çalışma alanı durumunun bir özetini yazdırır:
- - **Skills durumu**: uygun, gereksinimleri eksik ve allowlist tarafından engellenmiş Skills sayılarını verir.
- - **Eski çalışma alanı dizinleri**: `~/openclaw` veya diğer eski çalışma alanı dizinleri geçerli çalışma alanıyla birlikte varsa uyarır.
- - **Plugin durumu**: etkin/devre dışı/hatalı pluginleri sayar; hatalar için plugin kimliklerini listeler; paket plugin yeteneklerini bildirir.
- - **Plugin uyumluluk uyarıları**: geçerli çalışma zamanıyla uyumluluk sorunları olan pluginleri işaretler.
- - **Plugin tanılamaları**: plugin kayıt defterinin yükleme zamanında yayımladığı uyarı veya hataları yüzeye çıkarır.
+ - **Skills durumu**: uygun, gereksinimleri eksik ve izin listesi tarafından engellenmiş Skills sayısını sayar.
+ - **Eski çalışma alanı dizinleri**: geçerli çalışma alanının yanında `~/openclaw` veya diğer eski çalışma alanı dizinleri bulunduğunda uyarır.
+ - **Plugin durumu**: etkin/devre dışı/hatalı Plugin'leri sayar; hatalar için Plugin kimliklerini listeler; paket Plugin yeteneklerini bildirir.
+ - **Plugin uyumluluk uyarıları**: geçerli çalışma zamanı ile uyumluluk sorunları olan Plugin'leri işaretler.
+ - **Plugin tanılamaları**: Plugin kayıt defteri tarafından yayımlanan yükleme zamanı uyarılarını veya hatalarını yüzeye çıkarır.
- Doctor, çalışma alanı bootstrap dosyalarının (örneğin `AGENTS.md`, `CLAUDE.md` veya diğer enjekte edilen bağlam dosyaları) yapılandırılmış karakter bütçesine yakın ya da bunun üzerinde olup olmadığını denetler. Dosya başına ham ve enjekte edilmiş karakter sayılarını, kısaltma yüzdesini, kısaltma nedenini (`max/file` veya `max/total`) ve toplam enjekte edilmiş karakterleri toplam bütçenin bir kesri olarak bildirir. Dosyalar kısaltıldığında veya sınıra yakın olduğunda doctor, `agents.defaults.bootstrapMaxChars` ve `agents.defaults.bootstrapTotalMaxChars` ayarlarını düzenlemek için ipuçları yazdırır.
+ Doctor, çalışma alanı bootstrap dosyalarının (örneğin `AGENTS.md`, `CLAUDE.md` veya diğer enjekte edilen bağlam dosyaları) yapılandırılmış karakter bütçesine yakın veya üzerinde olup olmadığını denetler. Dosya başına ham ve enjekte edilmiş karakter sayılarını, kesilme yüzdesini, kesilme nedenini (`max/file` veya `max/total`) ve toplam enjekte edilmiş karakterleri toplam bütçenin bir oranı olarak bildirir. Dosyalar kesildiğinde veya sınıra yaklaştığında doctor, `agents.defaults.bootstrapMaxChars` ve `agents.defaults.bootstrapTotalMaxChars` ayarlarını düzenlemek için ipuçları yazdırır.
-
- `openclaw doctor --fix` eksik bir kanal pluginini kaldırdığında, o plugine başvuran askıda kanal kapsamlı yapılandırmayı da kaldırır: `channels.` girdileri, kanalı adlandıran heartbeat hedefleri ve `agents.*.models["/*"]` geçersiz kılmaları. Bu, kanal çalışma zamanı yok olmuşken yapılandırmanın hâlâ gateway'den ona bağlanmasını istediği Gateway önyükleme döngülerini önler.
+
+ `openclaw doctor --fix` eksik bir kanal Plugin'ini kaldırdığında, o Plugin'e başvuran sarkan kanal kapsamlı yapılandırmayı da kaldırır: `channels.` girdileri, kanalı adlandıran Heartbeat hedefleri ve `agents.*.models["/*"]` geçersiz kılmaları. Bu, kanal çalışma zamanı yokken yapılandırmanın Gateway'den hâlâ ona bağlanmasını istediği Gateway başlatma döngülerini önler.
- Doctor, geçerli kabuk (zsh, bash, fish veya PowerShell) için sekmeyle tamamlamanın yüklü olup olmadığını denetler:
+ Doctor, geçerli kabuk (zsh, bash, fish veya PowerShell) için sekme tamamlamanın yüklü olup olmadığını denetler:
- Kabuk profili yavaş bir dinamik tamamlama kalıbı (`source <(openclaw completion ...)`) kullanıyorsa doctor bunu daha hızlı önbelleğe alınmış dosya varyantına yükseltir.
- Tamamlama profilde yapılandırılmışsa ancak önbellek dosyası eksikse doctor önbelleği otomatik olarak yeniden oluşturur.
- - Hiç tamamlama yapılandırılmamışsa doctor bunu yüklemeyi ister (yalnızca etkileşimli mod; `--non-interactive` ile atlanır).
+ - Hiç tamamlama yapılandırılmamışsa doctor yüklemeyi ister (yalnızca etkileşimli mod; `--non-interactive` ile atlanır).
Önbelleği elle yeniden oluşturmak için `openclaw completion --write-state` çalıştırın.
- Doctor, yerel gateway token kimlik doğrulama hazırlığını denetler.
+ Doctor, yerel Gateway token kimlik doğrulama hazır oluşunu denetler.
- - Token modu bir token gerektiriyorsa ve hiçbir token kaynağı yoksa doctor bir tane oluşturmayı önerir.
- - `gateway.auth.token` SecretRef tarafından yönetiliyor ancak kullanılamıyorsa doctor uyarır ve bunu düz metinle üzerine yazmaz.
- - `openclaw doctor --generate-gateway-token`, yalnızca hiçbir token SecretRef yapılandırılmadığında oluşturmayı zorlar.
+ - Token modunun bir tokene ihtiyacı varsa ve token kaynağı yoksa doctor bir tane oluşturmayı teklif eder.
+ - `gateway.auth.token` SecretRef tarafından yönetiliyorsa ancak kullanılamıyorsa doctor uyarır ve onu düz metinle üzerine yazmaz.
+ - `openclaw doctor --generate-gateway-token`, yalnızca yapılandırılmış bir token SecretRef yoksa oluşturmayı zorlar.
-
- Bazı onarım akışlarının, çalışma zamanı hızlı başarısız olma davranışını zayıflatmadan yapılandırılmış kimlik bilgilerini incelemesi gerekir.
+
+ Bazı onarım akışlarının, çalışma zamanı fail-fast davranışını zayıflatmadan yapılandırılmış kimlik bilgilerini incelemesi gerekir.
- `openclaw doctor --fix` artık hedefli yapılandırma onarımları için durum ailesi komutlarıyla aynı salt okunur SecretRef özet modelini kullanır.
- - Örnek: Telegram `allowFrom` / `groupAllowFrom` `@username` onarımı, kullanılabildiğinde yapılandırılmış bot kimlik bilgilerini kullanmaya çalışır.
- - Telegram bot token'ı SecretRef üzerinden yapılandırılmış ancak geçerli komut yolunda kullanılamıyorsa doctor, kimlik bilgisinin yapılandırılmış-ama-kullanılamaz olduğunu bildirir ve token'ı eksikmiş gibi yanlış bildirmek veya çökme yerine otomatik çözümlemeyi atlar.
+ - Örnek: Telegram `allowFrom` / `groupAllowFrom` `@username` onarımı, mevcut olduğunda yapılandırılmış bot kimlik bilgilerini kullanmayı dener.
+ - Telegram bot tokeni SecretRef üzerinden yapılandırılmışsa ancak geçerli komut yolunda kullanılamıyorsa doctor, kimlik bilgisinin yapılandırılmış-ama-kullanılamaz olduğunu bildirir ve çökme veya tokeni eksik bildirme yerine otomatik çözümlemeyi atlar.
- Doctor bir sağlık denetimi çalıştırır ve gateway sağlıksız görünüyorsa yeniden başlatmayı önerir.
+ Doctor bir sağlık denetimi çalıştırır ve sağlıksız göründüğünde Gateway'i yeniden başlatmayı teklif eder.
-
- Doctor, yapılandırılmış bellek arama embedding sağlayıcısının varsayılan aracı için hazır olup olmadığını denetler. Davranış, yapılandırılmış arka uca ve sağlayıcıya bağlıdır:
+
+ Doctor, yapılandırılmış bellek arama gömme sağlayıcısının varsayılan aracı için hazır olup olmadığını denetler. Davranış, yapılandırılmış arka uca ve sağlayıcıya bağlıdır:
- - **QMD arka ucu**: `qmd` ikilisinin mevcut ve başlatılabilir olup olmadığını yoklar. Değilse npm paketi ve elle ikili yolu seçeneği dahil düzeltme rehberliği yazdırır.
- - **Açık yerel sağlayıcı**: yerel model dosyası veya tanınan bir uzak/indirilebilir model URL'si olup olmadığını denetler. Eksikse uzak sağlayıcıya geçmeyi önerir.
- - **Açık uzak sağlayıcı** (`openai`, `voyage` vb.): ortamda veya auth deposunda bir API anahtarının bulunduğunu doğrular. Eksikse işlem yapılabilir düzeltme ipuçları yazdırır.
+ - **QMD arka ucu**: `qmd` ikilisinin kullanılabilir ve başlatılabilir olup olmadığını yoklar. Değilse npm paketi ve elle ikili yolu seçeneği dahil düzeltme kılavuzu yazdırır.
+ - **Açık yerel sağlayıcı**: yerel model dosyası veya tanınan bir uzak/indirilebilir model URL'si denetler. Eksikse uzak sağlayıcıya geçmeyi önerir.
+ - **Açık uzak sağlayıcı** (`openai`, `voyage`, vb.): ortamda veya kimlik doğrulama deposunda bir API anahtarı bulunduğunu doğrular. Eksikse uygulanabilir düzeltme ipuçları yazdırır.
- **Otomatik sağlayıcı**: önce yerel model kullanılabilirliğini denetler, ardından otomatik seçim sırasındaki her uzak sağlayıcıyı dener.
- Önbelleğe alınmış bir gateway yoklama sonucu mevcut olduğunda (denetim sırasında gateway sağlıklıydı), doctor sonucunu CLI tarafından görülebilen yapılandırmayla çapraz başvurur ve varsa tutarsızlığı belirtir. Doctor varsayılan yolda yeni bir embedding ping başlatmaz; canlı sağlayıcı denetimi istediğinizde derin bellek durumu komutunu kullanın.
+ Önbelleğe alınmış bir Gateway yoklama sonucu mevcut olduğunda (Gateway denetim sırasında sağlıklıydı), doctor sonucunu CLI tarafından görülebilen yapılandırmayla çapraz referanslar ve varsa tutarsızlıkları belirtir. Doctor, varsayılan yolda yeni bir embedding pingi başlatmaz; canlı sağlayıcı denetimi istediğinizde derin bellek durumu komutunu kullanın.
- Çalışma zamanında embedding hazırlığını doğrulamak için `openclaw memory status --deep` kullanın.
+ Çalışma zamanında embedding hazır olma durumunu doğrulamak için `openclaw memory status --deep` kullanın.
- Gateway sağlıklıysa doctor bir kanal durumu yoklaması çalıştırır ve önerilen düzeltmelerle uyarıları bildirir.
+ Gateway sağlıklıysa, doctor bir kanal durumu yoklaması çalıştırır ve önerilen düzeltmelerle birlikte uyarıları bildirir.
- Doctor, yüklü supervisor yapılandırmasında (launchd/systemd/schtasks) eksik veya güncel olmayan varsayılanları (ör. systemd network-online bağımlılıkları ve yeniden başlatma gecikmesi) denetler. Bir uyuşmazlık bulduğunda güncelleme önerir ve hizmet dosyasını/görevini geçerli varsayılanlara göre yeniden yazabilir.
+ Doctor, yüklü supervisor yapılandırmasını (launchd/systemd/schtasks) eksik veya güncel olmayan varsayılanlar açısından denetler (ör. systemd network-online bağımlılıkları ve yeniden başlatma gecikmesi). Bir uyumsuzluk bulduğunda güncelleme önerir ve servis dosyasını/görevi geçerli varsayılanlara göre yeniden yazabilir.
Notlar:
- - `openclaw doctor`, supervisor yapılandırmasını yeniden yazmadan önce istem gösterir.
+ - `openclaw doctor`, supervisor yapılandırmasını yeniden yazmadan önce onay ister.
- `openclaw doctor --yes`, varsayılan onarım istemlerini kabul eder.
- `openclaw doctor --repair`, önerilen düzeltmeleri istem göstermeden uygular.
- `openclaw doctor --repair --force`, özel supervisor yapılandırmalarının üzerine yazar.
- - `OPENCLAW_SERVICE_REPAIR_POLICY=external`, Gateway hizmet yaşam döngüsü için doctor aracını salt okunur tutar. Hizmet sağlığını yine raporlar ve hizmet dışı onarımları çalıştırır, ancak bu yaşam döngüsüne harici bir supervisor sahip olduğu için hizmet kurma/başlatma/yeniden başlatma/bootstrap, supervisor yapılandırması yeniden yazımları ve eski hizmet temizliğini atlar.
- - Linux'ta doctor, eşleşen systemd Gateway birimi etkinken komut/giriş noktası meta verilerini yeniden yazmaz. Ayrıca yinelenen hizmet taraması sırasında etkin olmayan eski olmayan ek Gateway benzeri birimleri yok sayar; böylece eşlikçi hizmet dosyaları temizlik gürültüsü oluşturmaz.
- - Jeton kimlik doğrulaması bir jeton gerektiriyorsa ve `gateway.auth.token` SecretRef tarafından yönetiliyorsa, doctor hizmet kurulumu/onarımı SecretRef'i doğrular ancak çözümlenmiş düz metin jeton değerlerini supervisor hizmet ortamı meta verilerine kalıcı olarak yazmaz.
- - Doctor, eski LaunchAgent, systemd veya Windows Scheduled Task kurulumlarının satır içine gömdüğü yönetilen `.env`/SecretRef destekli hizmet ortamı değerlerini algılar ve hizmet meta verilerini bu değerler supervisor tanımı yerine çalışma zamanı kaynağından yüklenecek şekilde yeniden yazar.
- - Doctor, `gateway.port` değiştikten sonra hizmet komutunun hâlâ eski bir `--port` değerini sabitlediğini algılar ve hizmet meta verilerini geçerli porta yeniden yazar.
- - Jeton kimlik doğrulaması bir jeton gerektiriyorsa ve yapılandırılmış jeton SecretRef'i çözümlenemiyorsa, doctor kurulum/onarım yolunu uygulanabilir rehberlikle engeller.
+ - `OPENCLAW_SERVICE_REPAIR_POLICY=external`, Gateway servis yaşam döngüsü için doctor'ı salt okunur tutar. Servis sağlığını bildirmeye ve servis dışı onarımları çalıştırmaya devam eder, ancak bu yaşam döngüsünün sahibi harici bir supervisor olduğu için servis kurulumunu/başlatmayı/yeniden başlatmayı/bootstrap işlemini, supervisor yapılandırması yeniden yazımlarını ve eski servis temizliğini atlar.
+ - Linux'ta doctor, eşleşen systemd Gateway birimi etkin durumdayken komut/giriş noktası meta verilerini yeniden yazmaz. Ayrıca, yinelenen servis taraması sırasında etkin olmayan eski olmayan ek Gateway benzeri birimleri yok sayar; böylece eşlikçi servis dosyaları temizleme gürültüsü oluşturmaz.
+ - Token kimlik doğrulaması bir token gerektiriyorsa ve `gateway.auth.token` SecretRef tarafından yönetiliyorsa, doctor servis kurulumu/onarımı SecretRef'i doğrular ancak çözümlenmiş düz metin token değerlerini supervisor servis ortamı meta verilerine kalıcı olarak yazmaz.
+ - Doctor, eski LaunchAgent, systemd veya Windows Scheduled Task kurulumlarının satır içine gömdüğü yönetilen `.env`/SecretRef destekli servis ortamı değerlerini algılar ve servis meta verilerini, bu değerler supervisor tanımı yerine çalışma zamanı kaynağından yüklenecek şekilde yeniden yazar.
+ - Doctor, `gateway.port` değiştikten sonra servis komutunun hâlâ eski bir `--port` sabitlediğini algılar ve servis meta verilerini geçerli porta göre yeniden yazar.
+ - Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılan token SecretRef çözümlenemiyorsa, doctor kurulum/onarım yolunu uygulanabilir yönlendirmeyle engeller.
- Hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa ve `gateway.auth.mode` ayarlanmamışsa, doctor mod açıkça ayarlanana kadar kurulum/onarımı engeller.
- - Linux kullanıcı systemd birimleri için doctor jeton sapması denetimleri artık hizmet kimlik doğrulama meta verilerini karşılaştırırken hem `Environment=` hem de `EnvironmentFile=` kaynaklarını içerir.
- - Doctor hizmet onarımları, yapılandırma en son daha yeni bir sürüm tarafından yazılmışsa eski bir OpenClaw ikilisinden gelen Gateway hizmetini yeniden yazmayı, durdurmayı veya yeniden başlatmayı reddeder. Bkz. [Gateway sorun giderme](/tr/gateway/troubleshooting#split-brain-installs-and-newer-config-guard).
- - `openclaw gateway install --force` ile her zaman tam yeniden yazımı zorlayabilirsiniz.
+ - Linux kullanıcı-systemd birimleri için doctor token sapması denetimleri artık servis kimlik doğrulama meta verilerini karşılaştırırken hem `Environment=` hem de `EnvironmentFile=` kaynaklarını içerir.
+ - Doctor servis onarımları, yapılandırma en son daha yeni bir sürüm tarafından yazılmışsa daha eski bir OpenClaw ikilisinden gelen Gateway servisini yeniden yazmayı, durdurmayı veya yeniden başlatmayı reddeder. Bkz. [Gateway sorun giderme](/tr/gateway/troubleshooting#split-brain-installs-and-newer-config-guard).
+ - `openclaw gateway install --force` ile her zaman tam yeniden yazmayı zorlayabilirsiniz.
-
- Doctor, hizmet çalışma zamanını (PID, son çıkış durumu) inceler ve hizmet kurulu olduğu halde gerçekten çalışmıyorsa uyarır. Ayrıca Gateway portunda (varsayılan `18789`) port çakışmalarını denetler ve olası nedenleri (Gateway zaten çalışıyor, SSH tüneli) raporlar.
+
+ Doctor, servis çalışma zamanını (PID, son çıkış durumu) inceler ve servis yüklü olduğu hâlde gerçekten çalışmıyorsa uyarır. Ayrıca Gateway portunda (varsayılan `18789`) port çakışmalarını denetler ve olası nedenleri bildirir (Gateway zaten çalışıyor, SSH tüneli).
- Doctor, Gateway hizmeti Bun üzerinde veya sürüm yönetimli bir Node yolunda (`nvm`, `fnm`, `volta`, `asdf` vb.) çalıştığında uyarır. WhatsApp + Telegram kanalları Node gerektirir ve sürüm yöneticisi yolları yükseltmelerden sonra bozulabilir çünkü hizmet kabuk başlatmanızı yüklemez. Doctor, mevcut olduğunda sistem Node kurulumuna (Homebrew/apt/choco) geçiş önermektedir.
+ Doctor, Gateway servisi Bun üzerinde veya sürüm yönetimli bir Node yolunda (`nvm`, `fnm`, `volta`, `asdf` vb.) çalıştığında uyarır. WhatsApp + Telegram kanalları Node gerektirir ve sürüm yöneticisi yolları yükseltmelerden sonra bozulabilir çünkü servis shell init dosyanızı yüklemez. Doctor, kullanılabilir olduğunda bir sistem Node kurulumuna geçiş yapmayı önerir (Homebrew/apt/choco).
- Yeni kurulan veya onarılan hizmetler açık ortam köklerini (`NVM_DIR`, `FNM_DIR`, `VOLTA_HOME`, `ASDF_DATA_DIR`, `BUN_INSTALL`, `PNPM_HOME`) ve kararlı kullanıcı ikili dizinlerini korur, ancak tahmin edilen sürüm yöneticisi yedek dizinleri yalnızca bu dizinler diskte mevcut olduğunda hizmet PATH'ine yazılır. Bu, oluşturulan supervisor PATH'inin doctor'ın daha sonra çalıştırdığı aynı minimal-PATH denetimiyle hizalı kalmasını sağlar.
+ Yeni yüklenen veya onarılan servisler açık ortam köklerini (`NVM_DIR`, `FNM_DIR`, `VOLTA_HOME`, `ASDF_DATA_DIR`, `BUN_INSTALL`, `PNPM_HOME`) ve kararlı kullanıcı-bin dizinlerini korur, ancak tahmin edilen sürüm yöneticisi geri dönüş dizinleri yalnızca bu dizinler diskte mevcutsa servis PATH'ine yazılır. Bu, oluşturulan supervisor PATH'inin doctor'ın daha sonra çalıştırdığı aynı minimal-PATH denetimiyle uyumlu kalmasını sağlar.
- Doctor, tüm yapılandırma değişikliklerini kalıcı hale getirir ve doctor çalıştırmasını kaydetmek için sihirbaz meta verilerini damgalar.
+ Doctor, yapılandırma değişikliklerini kalıcılaştırır ve doctor çalıştırmasını kaydetmek için sihirbaz meta verilerini damgalar.
- Doctor, eksik olduğunda bir çalışma alanı bellek sistemi önerir ve çalışma alanı zaten git altında değilse bir yedekleme ipucu yazdırır.
+ Doctor, eksik olduğunda bir çalışma alanı bellek sistemi önerir ve çalışma alanı hâlihazırda git altında değilse bir yedekleme ipucu yazdırır.
- Çalışma alanı yapısı ve git yedekleme (önerilen özel GitHub veya GitLab) için tam kılavuz olarak [/concepts/agent-workspace](/tr/concepts/agent-workspace) bölümüne bakın.
+ Çalışma alanı yapısı ve git yedekleme (önerilen özel GitHub veya GitLab) hakkında tam kılavuz için bkz. [/concepts/agent-workspace](/tr/concepts/agent-workspace).
## İlgili
-- [Gateway çalışma kitabı](/tr/gateway)
+- [Gateway runbook'u](/tr/gateway)
- [Gateway sorun giderme](/tr/gateway/troubleshooting)
diff --git a/docs/tr/gateway/logging.md b/docs/tr/gateway/logging.md
index 9436c9c52..839f53713 100644
--- a/docs/tr/gateway/logging.md
+++ b/docs/tr/gateway/logging.md
@@ -1,14 +1,14 @@
---
read_when:
- - Günlük çıktısını veya biçimlerini değiştirme
+ - Günlükleme çıktısını veya biçimlerini değiştirme
- CLI veya Gateway çıktısında hata ayıklama
summary: Günlükleme yüzeyleri, dosya günlükleri, WS günlük stilleri ve konsol biçimlendirmesi
title: Gateway günlük kaydı
x-i18n:
- generated_at: "2026-04-30T09:22:49Z"
+ generated_at: "2026-05-01T09:00:57Z"
model: gpt-5.5
provider: openai
- source_hash: 9ce9c78201d2e26760282b08eacb17826b1eac84e80b99d3a9d5cbff4078b5b3
+ source_hash: f843812a41c25f9ca1884543ad3a5663c8e0bc327027cbd2b58ea6557c466aa9
source_path: gateway/logging.md
workflow: 16
---
@@ -17,16 +17,16 @@ x-i18n:
Kullanıcıya yönelik genel bakış (CLI + Control UI + yapılandırma) için bkz. [/logging](/tr/logging).
-OpenClaw’ın iki günlük “yüzeyi” vardır:
+OpenClaw'ın iki günlük “yüzeyi” vardır:
-- **Konsol çıktısı** (terminalde / Debug UI’da gördüğünüz).
-- Gateway günlükleyicisi tarafından yazılan **dosya günlükleri** (JSON satırları).
+- **Konsol çıktısı** (terminalde / Debug UI'de gördüğünüz).
+- **Dosya günlükleri** (JSON satırları), Gateway günlükleyicisi tarafından yazılır.
## Dosya tabanlı günlükleyici
-- Varsayılan dönen günlük dosyası `/tmp/openclaw/` altındadır (günde bir dosya): `openclaw-YYYY-MM-DD.log`
+- Varsayılan dönen günlük dosyası `/tmp/openclaw/` altında bulunur (günde bir dosya): `openclaw-YYYY-MM-DD.log`
- Tarih, Gateway ana makinesinin yerel saat dilimini kullanır.
-- Etkin günlük dosyaları `logging.maxFileBytes` değerinde döndürülür (varsayılan: 100 MB); en fazla beş numaralı arşiv tutulur ve yeni bir etkin dosyaya yazmaya devam edilir.
+- Etkin günlük dosyaları `logging.maxFileBytes` değerinde döner (varsayılan: 100 MB); en fazla beş numaralı arşiv tutulur ve yeni bir etkin dosyaya yazmaya devam edilir.
- Günlük dosyası yolu ve seviyesi `~/.openclaw/openclaw.json` üzerinden yapılandırılabilir:
- `logging.file`
- `logging.level`
@@ -40,32 +40,32 @@ CLI da aynısını yapabilir:
openclaw logs --follow
```
-**Ayrıntılı çıktı ve günlük seviyeleri**
+**Ayrıntılı ve günlük seviyeleri**
- **Dosya günlükleri** yalnızca `logging.level` tarafından denetlenir.
- `--verbose` yalnızca **konsol ayrıntı düzeyini** (ve WS günlük stilini) etkiler; dosya günlük seviyesini **yükseltmez**.
-- Yalnızca ayrıntılı çıktıda görünen ayrıntıları dosya günlüklerinde yakalamak için `logging.level` değerini `debug` veya `trace` olarak ayarlayın.
+- Yalnızca ayrıntılı modda görünen ayrıntıları dosya günlüklerinde yakalamak için `logging.level` değerini `debug` veya `trace` olarak ayarlayın.
## Konsol yakalama
-CLI, `console.log/info/warn/error/debug/trace` çağrılarını yakalayıp dosya günlüklerine yazar, stdout/stderr’e yazdırmaya devam eder.
+CLI, `console.log/info/warn/error/debug/trace` çağrılarını yakalar ve stdout/stderr'ye yazdırmaya devam ederken bunları dosya günlüklerine yazar.
-Konsol ayrıntı düzeyini bağımsız olarak şu seçeneklerle ayarlayabilirsiniz:
+Konsol ayrıntı düzeyini bağımsız olarak şu ayarlarla düzenleyebilirsiniz:
- `logging.consoleLevel` (varsayılan `info`)
- `logging.consoleStyle` (`pretty` | `compact` | `json`)
-## Redaksiyon
+## Gizleme
-OpenClaw, günlük veya oturum dökümü çıktısı süreçten ayrılmadan önce hassas belirteçleri maskeleyebilir. Bu günlük redaksiyon ilkesi konsol, dosya günlüğü, OTLP günlük kaydı ve oturum dökümü metin hedeflerinde uygulanır; böylece eşleşen gizli değerler JSONL satırları veya iletiler diske yazılmadan önce maskelenir.
+OpenClaw, günlük veya transcript çıktısı süreçten ayrılmadan önce hassas token'ları maskeleyebilir. Bu günlük gizleme ilkesi konsol, dosya günlüğü, OTLP günlük kaydı ve oturum transcript metin çıkışlarına uygulanır; böylece eşleşen gizli değerler JSONL satırları veya iletiler diske yazılmadan önce maskelenir.
- `logging.redactSensitive`: `off` | `tools` (varsayılan: `tools`)
-- `logging.redactPatterns`: regex dizeleri dizisi (varsayılanları geçersiz kılar)
+- `logging.redactPatterns`: regex dizelerinden oluşan dizi (varsayılanları geçersiz kılar)
- Ham regex dizeleri (otomatik `gi`) kullanın veya özel bayraklara ihtiyacınız varsa `/pattern/flags` kullanın.
- - Eşleşmeler, ilk 6 + son 4 karakter korunarak maskelenir (uzunluk >= 18); aksi durumda `***`.
- - Varsayılanlar yaygın anahtar atamalarını, CLI bayraklarını, JSON alanlarını, bearer başlıklarını, PEM bloklarını ve popüler belirteç öneklerini kapsar.
+ - Eşleşmeler, ilk 6 + son 4 karakter korunarak maskelenir (uzunluk >= 18); aksi halde `***`.
+ - Varsayılanlar yaygın anahtar atamalarını, CLI bayraklarını, JSON alanlarını, bearer üstbilgilerini, PEM bloklarını, popüler token öneklerini ve kart numarası, CVC/CVV, paylaşılan ödeme token'ı ve ödeme kimlik bilgisi gibi ödeme kimlik bilgisi alan adlarını kapsar.
-Bazı güvenlik sınırları `logging.redactSensitive` değerinden bağımsız olarak her zaman redaksiyon uygular. Buna Control UI araç çağrısı olayları, `sessions_history` araç çıktısı, tanılama destek dışa aktarımları, sağlayıcı hata gözlemleri, exec onay komutu gösterimi ve Gateway WebSocket protokol günlükleri dahildir. Bu yüzeyler ek desenler olarak yine `logging.redactPatterns` kullanabilir, ancak `redactSensitive: "off"` ham gizli değerler yayımlamalarını sağlamaz.
+Bazı güvenlik sınırları, `logging.redactSensitive` değerinden bağımsız olarak her zaman gizleme uygular. Buna Control UI araç çağrısı olayları, `sessions_history` araç çıktısı, tanılama destek dışa aktarımları, sağlayıcı hata gözlemleri, exec onay komutu gösterimi ve Gateway WebSocket protokol günlükleri dahildir. Bu yüzeyler ek desenler olarak yine `logging.redactPatterns` kullanabilir, ancak `redactSensitive: "off"` bunların ham gizli değerleri yaymasına neden olmaz.
## Gateway WebSocket günlükleri
@@ -79,12 +79,12 @@ Gateway, WebSocket protokol günlüklerini iki modda yazdırır:
### WS günlük stili
-`openclaw gateway`, Gateway başına bir stil anahtarını destekler:
+`openclaw gateway`, Gateway başına stil anahtarını destekler:
-- `--ws-log auto` (varsayılan): normal mod iyileştirilmiştir; ayrıntılı mod kompakt çıktı kullanır
+- `--ws-log auto` (varsayılan): normal mod optimize edilmiştir; ayrıntılı mod kompakt çıktı kullanır
- `--ws-log compact`: ayrıntılı modda kompakt çıktı (eşleştirilmiş istek/yanıt)
-- `--ws-log full`: ayrıntılı modda kare başına tam çıktı
-- `--compact`: `--ws-log compact` için takma ad
+- `--ws-log full`: ayrıntılı modda tam kare başına çıktı
+- `--compact`: `--ws-log compact` için alias
Örnekler:
@@ -101,24 +101,24 @@ openclaw gateway --verbose --ws-log full
## Konsol biçimlendirme (alt sistem günlükleme)
-Konsol biçimlendirici **TTY duyarlıdır** ve tutarlı, önekli satırlar yazdırır. Alt sistem günlükleyicileri çıktıyı gruplanmış ve taranabilir tutar.
+Konsol biçimlendiricisi **TTY-aware** çalışır ve tutarlı, önekli satırlar yazdırır. Alt sistem günlükleyicileri çıktıyı gruplanmış ve kolay taranabilir tutar.
Davranış:
- Her satırda **alt sistem önekleri** (örn. `[gateway]`, `[canvas]`, `[tailscale]`)
- **Alt sistem renkleri** (alt sistem başına kararlı) ve seviye renklendirmesi
-- **Çıktı TTY olduğunda veya ortam zengin terminal gibi göründüğünde renk** (`TERM`/`COLORTERM`/`TERM_PROGRAM`), `NO_COLOR` değerine uyar
+- **Çıktı bir TTY olduğunda veya ortam zengin terminal gibi göründüğünde renk** (`TERM`/`COLORTERM`/`TERM_PROGRAM`), `NO_COLOR` değerine uyar
- **Kısaltılmış alt sistem önekleri**: baştaki `gateway/` + `channels/` bölümlerini düşürür, son 2 segmenti tutar (örn. `whatsapp/outbound`)
- **Alt sisteme göre alt günlükleyiciler** (otomatik önek + yapılandırılmış alan `{ subsystem }`)
- QR/UX çıktısı için **`logRaw()`** (önek yok, biçimlendirme yok)
- **Konsol stilleri** (örn. `pretty | compact | json`)
-- Dosya günlük seviyesinden ayrı **konsol günlük seviyesi** (`logging.level` `debug`/`trace` olarak ayarlandığında dosya tam ayrıntıyı korur)
-- **WhatsApp ileti gövdeleri** `debug` seviyesinde günlüğe kaydedilir (görmek için `--verbose` kullanın)
+- Dosya günlük seviyesinden ayrı **konsol günlük seviyesi** (`logging.level`, `debug`/`trace` olarak ayarlandığında dosya tam ayrıntıyı korur)
+- **WhatsApp ileti gövdeleri** `debug` seviyesinde günlüğe yazılır (görmek için `--verbose` kullanın)
-Bu, etkileşimli çıktıyı taranabilir hale getirirken mevcut dosya günlüklerini kararlı tutar.
+Bu, etkileşimli çıktıyı kolay taranabilir hale getirirken mevcut dosya günlüklerini kararlı tutar.
## İlgili
- [Günlükleme](/tr/logging)
-- [OpenTelemetry dışa aktarımı](/tr/gateway/opentelemetry)
-- [Tanılama dışa aktarımı](/tr/gateway/diagnostics)
+- [OpenTelemetry dışa aktarma](/tr/gateway/opentelemetry)
+- [Tanılama dışa aktarma](/tr/gateway/diagnostics)
diff --git a/docs/tr/gateway/protocol.md b/docs/tr/gateway/protocol.md
index 41275e753..426102ac8 100644
--- a/docs/tr/gateway/protocol.md
+++ b/docs/tr/gateway/protocol.md
@@ -1,30 +1,30 @@
---
read_when:
- - Gateway WS istemcilerini uygulamak veya güncellemek
+ - Gateway WS istemcilerini uygulama veya güncelleme
- Protokol uyuşmazlıklarında veya bağlantı hatalarında hata ayıklama
- Protokol şemasını/modellerini yeniden oluşturma
summary: 'Gateway WebSocket protokolü: el sıkışma, çerçeveler, sürümleme'
title: Gateway protokolü
x-i18n:
- generated_at: "2026-04-30T09:24:20Z"
+ generated_at: "2026-05-01T09:00:59Z"
model: gpt-5.5
provider: openai
- source_hash: c0d922e9b4b778c333873e551498b905461f30f944e809555b45669ae2f5c404
+ source_hash: 8ea0181fda62326ec835ff1f28ef6079e5afff5ffe3f06e08867bf16fb84f967
source_path: gateway/protocol.md
workflow: 16
---
-Gateway WS protokolü, OpenClaw için **tek denetim düzlemi + düğüm aktarımı**dır. Tüm istemciler (CLI, web UI, macOS uygulaması, iOS/Android düğümleri, başsız düğümler) WebSocket üzerinden bağlanır ve el sıkışma sırasında **rol** + **kapsam** bilgilerini bildirir.
+Gateway WS protokolü, OpenClaw için **tek kontrol düzlemi + Node taşımasıdır**. Tüm istemciler (CLI, web kullanıcı arayüzü, macOS uygulaması, iOS/Android Node'ları, başsız Node'lar) WebSocket üzerinden bağlanır ve el sıkışma sırasında **rol** + **kapsam** bilgilerini bildirir.
-## Aktarım
+## Taşıma
- WebSocket, JSON yükleri içeren metin çerçeveleri.
- İlk çerçeve **mutlaka** bir `connect` isteği olmalıdır.
-- Bağlantı öncesi çerçeveler 64 KiB ile sınırlıdır. Başarılı bir el sıkışmadan sonra istemciler `hello-ok.policy.maxPayload` ve `hello-ok.policy.maxBufferedBytes` sınırlarına uymalıdır. Tanılama etkinleştirildiğinde, aşırı büyük gelen çerçeveler ve yavaş giden tamponlar, Gateway etkilenen çerçeveyi kapatmadan veya düşürmeden önce `payload.large` olayları yayar. Bu olaylar boyutları, sınırları, yüzeyleri ve güvenli neden kodlarını tutar. Mesaj gövdesini, ek içeriklerini, ham çerçeve gövdesini, token’ları, çerezleri veya gizli değerleri tutmazlar.
+- Bağlantı öncesi çerçeveler 64 KiB ile sınırlandırılır. Başarılı bir el sıkışmadan sonra istemciler `hello-ok.policy.maxPayload` ve `hello-ok.policy.maxBufferedBytes` sınırlarını izlemelidir. Tanılama etkinleştirildiğinde, aşırı büyük gelen çerçeveler ve yavaş giden arabellekler, Gateway etkilenen çerçeveyi kapatmadan veya düşürmeden önce `payload.large` olayları yayar. Bu olaylar boyutları, sınırları, yüzeyleri ve güvenli neden kodlarını tutar. Mesaj gövdesini, ek içeriklerini, ham çerçeve gövdesini, belirteçleri, çerezleri veya gizli değerleri tutmaz.
-## El Sıkışma (connect)
+## El sıkışma (connect)
-Gateway → İstemci (bağlantı öncesi challenge):
+Gateway → İstemci (bağlantı öncesi sınama):
```json
{
@@ -95,11 +95,11 @@ Gateway → İstemci:
}
```
-Gateway başlangıç yan görevlerini hâlâ tamamlarken, `connect` isteği `details.reason` değeri `"startup-sidecars"` olarak ayarlanmış ve `retryAfterMs` içeren yeniden denenebilir bir `UNAVAILABLE` hatası döndürebilir. İstemciler bu yanıtı nihai bir el sıkışma hatası olarak göstermemeli, genel bağlantı bütçeleri içinde yeniden denemelidir.
+Gateway hâlâ başlangıç yardımcılarını tamamlıyorken, `connect` isteği `details.reason` değeri `"startup-sidecars"` olarak ayarlanmış ve `retryAfterMs` içeren yeniden denenebilir bir `UNAVAILABLE` hatası döndürebilir. İstemciler bu yanıtı nihai bir el sıkışma hatası olarak göstermek yerine genel bağlantı bütçeleri içinde yeniden denemelidir.
-`server`, `features`, `snapshot` ve `policy` şema tarafından zorunlu kılınır (`src/gateway/protocol/schema/frames.ts`). `auth` da zorunludur ve üzerinde uzlaşılan rol/kapsamları bildirir. `canvasHostUrl` isteğe bağlıdır.
+`server`, `features`, `snapshot` ve `policy` alanlarının tümü şema tarafından zorunludur (`src/gateway/protocol/schema/frames.ts`). `auth` de zorunludur ve uzlaşılan rol/kapsamları bildirir. `canvasHostUrl` isteğe bağlıdır.
-Cihaz token’ı verilmediğinde, `hello-ok.auth` token alanları olmadan üzerinde uzlaşılan izinleri bildirir:
+Cihaz belirteci verilmediğinde, `hello-ok.auth` belirteç alanları olmadan uzlaşılan izinleri bildirir:
```json
{
@@ -110,9 +110,9 @@ Cihaz token’ı verilmediğinde, `hello-ok.auth` token alanları olmadan üzeri
}
```
-Güvenilen aynı işlem backend istemcileri (`client.id: "gateway-client"`, `client.mode: "backend"`), paylaşılan Gateway token’ı/parolası ile kimlik doğruladıklarında doğrudan loopback bağlantılarında `device` alanını atlayabilir. Bu yol dahili denetim düzlemi RPC’leri için ayrılmıştır ve eski CLI/cihaz eşleştirme temel değerlerinin alt ajan oturum güncellemeleri gibi yerel backend çalışmalarını engellemesini önler. Uzak istemciler, tarayıcı kaynaklı istemciler, düğüm istemcileri ve açık cihaz-token’ı/cihaz-kimliği istemcileri normal eşleştirme ve kapsam yükseltme kontrollerini kullanmaya devam eder.
+Güvenilen aynı süreç arka uç istemcileri (`client.id: "gateway-client"`, `client.mode: "backend"`), paylaşılan Gateway belirteci/parolasıyla kimlik doğruladıklarında doğrudan local loopback bağlantılarında `device` alanını atlayabilir. Bu yol dahili kontrol düzlemi RPC'leri için ayrılmıştır ve eski CLI/cihaz eşleştirme taban çizgilerinin alt ajan oturum güncellemeleri gibi yerel arka uç çalışmalarını engellemesini önler. Uzak istemciler, tarayıcı kökenli istemciler, Node istemcileri ve açık cihaz belirteci/cihaz kimliği istemcileri normal eşleştirme ve kapsam yükseltme denetimlerini kullanmaya devam eder.
-Bir cihaz token’ı verildiğinde, `hello-ok` ayrıca şunu içerir:
+Cihaz belirteci verildiğinde, `hello-ok` ayrıca şunu içerir:
```json
{
@@ -124,7 +124,7 @@ Bir cihaz token’ı verildiğinde, `hello-ok` ayrıca şunu içerir:
}
```
-Güvenilen bootstrap devri sırasında, `hello-ok.auth` `deviceTokens` içinde ek sınırlı rol girdileri de içerebilir:
+Güvenilen bootstrap devir teslimi sırasında, `hello-ok.auth` `deviceTokens` içinde ek sınırlı rol girdileri de içerebilir:
```json
{
@@ -143,9 +143,9 @@ Güvenilen bootstrap devri sırasında, `hello-ok.auth` `deviceTokens` içinde e
}
```
-Yerleşik düğüm/operator bootstrap akışı için birincil düğüm token’ı `scopes: []` olarak kalır ve devredilen tüm operator token’ları bootstrap operator izin listesiyle sınırlı kalır (`operator.approvals`, `operator.read`, `operator.talk.secrets`, `operator.write`). Bootstrap kapsam kontrolleri rol önekli kalır: operator girdileri yalnızca operator isteklerini karşılar ve operator olmayan roller hâlâ kendi rol önekleri altında kapsam gerektirir.
+Yerleşik Node/operator bootstrap akışı için birincil Node belirteci `scopes: []` olarak kalır ve devredilen operator belirteci bootstrap operator izin listesiyle (`operator.approvals`, `operator.read`, `operator.talk.secrets`, `operator.write`) sınırlı kalır. Bootstrap kapsam denetimleri rol önekli kalır: operator girdileri yalnızca operator isteklerini karşılar ve operator olmayan rollerin hâlâ kendi rol önekleri altında kapsamları olması gerekir.
-### Düğüm örneği
+### Node örneği
```json
{
@@ -186,14 +186,14 @@ Yerleşik düğüm/operator bootstrap akışı için birincil düğüm token’
- **Yanıt**: `{type:"res", id, ok, payload|error}`
- **Olay**: `{type:"event", event, payload, seq?, stateVersion?}`
-Yan etki oluşturan yöntemler **idempotency anahtarları** gerektirir (şemaya bakın).
+Yan etkili yöntemler **idempotency anahtarları** gerektirir (şemaya bakın).
## Roller + kapsamlar
### Roller
-- `operator` = denetim düzlemi istemcisi (CLI/UI/otomasyon).
-- `node` = yetenek konağı (camera/screen/canvas/system.run).
+- `operator` = kontrol düzlemi istemcisi (CLI/kullanıcı arayüzü/otomasyon).
+- `node` = yetenek ana makinesi (camera/screen/canvas/system.run).
### Kapsamlar (operator)
@@ -208,35 +208,36 @@ Yaygın kapsamlar:
`includeSecrets: true` ile `talk.config`, `operator.talk.secrets` (veya `operator.admin`) gerektirir.
-Plugin tarafından kaydedilen Gateway RPC yöntemleri kendi operator kapsamlarını isteyebilir, ancak ayrılmış çekirdek yönetici önekleri (`config.*`, `exec.approvals.*`, `wizard.*`, `update.*`) her zaman `operator.admin` olarak çözülür.
+Plugin tarafından kaydedilmiş Gateway RPC yöntemleri kendi operator kapsamlarını isteyebilir, ancak ayrılmış çekirdek yönetici önekleri (`config.*`, `exec.approvals.*`, `wizard.*`, `update.*`) her zaman `operator.admin` olarak çözümlenir.
-Yöntem kapsamı yalnızca ilk kapıdır. `chat.send` üzerinden ulaşılan bazı slash komutları bunun üzerine daha sıkı komut düzeyi kontroller uygular. Örneğin, kalıcı `/config set` ve `/config unset` yazmaları `operator.admin` gerektirir.
+Yöntem kapsamı yalnızca ilk kapıdır. `chat.send` üzerinden erişilen bazı slash komutları bunun üzerine daha sıkı komut düzeyi denetimler uygular. Örneğin, kalıcı `/config set` ve `/config unset` yazmaları `operator.admin` gerektirir.
-`node.pair.approve`, temel yöntem kapsamının üzerine onay zamanında ek bir kapsam kontrolü de uygular:
+`node.pair.approve`, temel yöntem kapsamının üzerine onay zamanında ek bir kapsam denetimine de sahiptir:
- komutsuz istekler: `operator.pairing`
-- exec olmayan düğüm komutları içeren istekler: `operator.pairing` + `operator.write`
-- `system.run`, `system.run.prepare` veya `system.which` içeren istekler: `operator.pairing` + `operator.admin`
+- exec olmayan Node komutları içeren istekler: `operator.pairing` + `operator.write`
+- `system.run`, `system.run.prepare` veya `system.which` içeren istekler:
+ `operator.pairing` + `operator.admin`
-### Yetenekler/komutlar/izinler (düğüm)
+### Yetenekler/komutlar/izinler (Node)
-Düğümler bağlantı sırasında yetenek iddialarını bildirir:
+Node'lar bağlantı sırasında yetenek iddialarını bildirir:
- `caps`: üst düzey yetenek kategorileri.
- `commands`: çağırma için komut izin listesi.
- `permissions`: ayrıntılı anahtarlar (örn. `screen.record`, `camera.capture`).
-Gateway bunları **iddia** olarak ele alır ve sunucu tarafı izin listelerini uygular.
+Gateway bunları **iddialar** olarak değerlendirir ve sunucu tarafı izin listelerini uygular.
## Varlık
- `system-presence`, cihaz kimliğine göre anahtarlanmış girdiler döndürür.
-- Varlık girdileri `deviceId`, `roles` ve `scopes` içerir; böylece UI’lar bir cihaz hem **operator** hem de **node** olarak bağlandığında bile cihaz başına tek satır gösterebilir.
-- `node.list`, isteğe bağlı `lastSeenAtMs` ve `lastSeenReason` alanlarını içerir. Bağlı düğümler mevcut bağlantı zamanlarını `connect` nedeniyle `lastSeenAtMs` olarak bildirir; eşleştirilmiş düğümler, güvenilen bir düğüm olayı eşleştirme meta verilerini güncellediğinde kalıcı arka plan varlığı da bildirebilir.
+- Varlık girdileri `deviceId`, `roles` ve `scopes` içerir; böylece kullanıcı arayüzleri, bir cihaz hem **operator** hem de **node** olarak bağlandığında bile cihaz başına tek satır gösterebilir.
+- `node.list` isteğe bağlı `lastSeenAtMs` ve `lastSeenReason` alanlarını içerir. Bağlı Node'lar mevcut bağlantı zamanlarını `connect` nedeniyle `lastSeenAtMs` olarak bildirir; eşlenmiş Node'lar güvenilen bir Node olayı eşleştirme meta verilerini güncellediğinde kalıcı arka plan varlığı da bildirebilir.
-### Düğüm arka plan alive olayı
+### Node arka plan canlı olayı
-Düğümler, eşleştirilmiş bir düğümün arka plan uyanışı sırasında bağlı olarak işaretlenmeden canlı olduğunu kaydetmek için `event: "node.presence.alive"` ile `node.event` çağırabilir.
+Node'lar, eşlenmiş bir Node'un arka plan uyanması sırasında bağlı olarak işaretlenmeden canlı olduğunu kaydetmek için `event: "node.presence.alive"` ile `node.event` çağırabilir.
```json
{
@@ -245,9 +246,9 @@ Düğümler, eşleştirilmiş bir düğümün arka plan uyanışı sırasında b
}
```
-`trigger` kapalı bir enum’dur: `background`, `silent_push`, `bg_app_refresh`, `significant_location`, `manual` veya `connect`. Bilinmeyen trigger dizeleri kalıcılıktan önce Gateway tarafından `background` olarak normalleştirilir. Olay yalnızca kimliği doğrulanmış düğüm cihaz oturumları için kalıcıdır; cihazsız veya eşleştirilmemiş oturumlar `handled: false` döndürür.
+`trigger` kapalı bir enum'dur: `background`, `silent_push`, `bg_app_refresh`, `significant_location`, `manual` veya `connect`. Bilinmeyen trigger dizeleri kalıcılıktan önce Gateway tarafından `background` olarak normalleştirilir. Olay yalnızca kimliği doğrulanmış Node cihaz oturumları için kalıcıdır; cihazsız veya eşlenmemiş oturumlar `handled: false` döndürür.
-Başarılı gateway’ler yapılandırılmış bir sonuç döndürür:
+Başarılı Gateway'ler yapılandırılmış bir sonuç döndürür:
```json
{
@@ -258,42 +259,42 @@ Başarılı gateway’ler yapılandırılmış bir sonuç döndürür:
}
```
-Daha eski gateway’ler `node.event` için hâlâ `{ "ok": true }` döndürebilir; istemciler bunu kalıcı varlık saklama olarak değil, onaylanmış bir RPC olarak değerlendirmelidir.
+Eski Gateway'ler `node.event` için hâlâ `{ "ok": true }` döndürebilir; istemciler bunu kalıcı varlık saklama olarak değil, onaylanmış bir RPC olarak değerlendirmelidir.
## Yayın olayı kapsamlandırması
-Sunucu tarafından gönderilen WebSocket yayın olayları kapsam kapılıdır; böylece eşleştirme kapsamlı veya yalnızca düğüm oturumları oturum içeriğini pasif olarak almaz.
+Sunucu tarafından gönderilen WebSocket yayın olayları kapsamla sınırlandırılır; böylece eşleştirme kapsamlı veya yalnızca Node oturumları oturum içeriğini pasif olarak almaz.
- **Sohbet, ajan ve araç sonucu çerçeveleri** (akışlı `agent` olayları ve araç çağrısı sonuçları dahil) en az `operator.read` gerektirir. `operator.read` olmayan oturumlar bu çerçeveleri tamamen atlar.
-- **Plugin tanımlı `plugin.*` yayınları**, Plugin’in onları nasıl kaydettiğine bağlı olarak `operator.write` veya `operator.admin` ile kapılanır.
-- **Durum ve aktarım olayları** (`heartbeat`, `presence`, `tick`, bağlantı/bağlantı kesme yaşam döngüsü vb.) sınırsız kalır; böylece aktarım sağlığı her kimliği doğrulanmış oturum tarafından gözlemlenebilir kalır.
-- **Bilinmeyen yayın olayı aileleri**, kayıtlı bir işleyici açıkça gevşetmediği sürece varsayılan olarak kapsam kapılıdır (kapalı hata).
+- **Plugin tanımlı `plugin.*` yayınları**, Plugin'in bunları nasıl kaydettiğine bağlı olarak `operator.write` veya `operator.admin` ile sınırlandırılır.
+- **Durum ve taşıma olayları** (`heartbeat`, `presence`, `tick`, bağlanma/bağlantı kesme yaşam döngüsü vb.) taşıma sağlığının kimliği doğrulanmış her oturum tarafından gözlemlenebilir kalması için kısıtlanmadan kalır.
+- **Bilinmeyen yayın olayı aileleri**, kayıtlı bir işleyici bunları açıkça gevşetmedikçe varsayılan olarak kapsamla sınırlandırılır (kapalı hata davranışı).
-Her istemci bağlantısı kendi istemci başına sıra numarasını tutar; böylece farklı istemciler olay akışının farklı kapsam-filtreli alt kümelerini görse bile yayınlar o sokette monoton sıralamayı korur.
+Her istemci bağlantısı kendi istemci başına sıra numarasını tutar; böylece farklı istemciler olay akışının farklı kapsamla filtrelenmiş alt kümelerini görse bile yayınlar o sokette monoton sıralamayı korur.
## Yaygın RPC yöntem aileleri
-Genel WS yüzeyi yukarıdaki el sıkışma/kimlik doğrulama örneklerinden daha geniştir. Bu oluşturulmuş bir döküm değildir — `hello-ok.features.methods`, `src/gateway/server-methods-list.ts` ile yüklü Plugin/kanal yöntem dışa aktarımlarından oluşturulan muhafazakâr bir keşif listesidir. Bunu `src/gateway/server-methods/*.ts` için tam bir numaralandırma değil, özellik keşfi olarak değerlendirin.
+Herkese açık WS yüzeyi yukarıdaki el sıkışma/kimlik doğrulama örneklerinden daha geniştir. Bu, oluşturulmuş bir döküm değildir — `hello-ok.features.methods`, `src/gateway/server-methods-list.ts` ile yüklü Plugin/kanal yöntem dışa aktarımlarından oluşturulan tutucu bir keşif listesidir. Bunu `src/gateway/server-methods/*.ts` için tam bir numaralandırma olarak değil, özellik keşfi olarak değerlendirin.
-
+
- `health`, önbelleğe alınmış veya yeni yoklanmış Gateway sağlık anlık görüntüsünü döndürür.
- - `diagnostics.stability`, son sınırlı tanılama kararlılığı kaydedicisini döndürür. Olay adları, sayılar, bayt boyutları, bellek okumaları, kuyruk/oturum durumu, kanal/Plugin adları ve oturum kimlikleri gibi operasyonel meta verileri tutar. Sohbet metnini, webhook gövdelerini, araç çıktılarını, ham istek veya yanıt gövdelerini, token’ları, çerezleri veya gizli değerleri tutmaz. Operator okuma kapsamı gereklidir.
- - `status`, `/status` tarzı Gateway özetini döndürür; hassas alanlar yalnızca admin kapsamlı operator istemcileri için dahil edilir.
+ - `diagnostics.stability`, son sınırlı tanılama kararlılığı kaydedicisini döndürür. Olay adları, sayılar, bayt boyutları, bellek okumaları, kuyruk/oturum durumu, kanal/Plugin adları ve oturum kimlikleri gibi operasyonel meta verileri tutar. Sohbet metnini, Webhook gövdelerini, araç çıktılarını, ham istek veya yanıt gövdelerini, belirteçleri, çerezleri ya da gizli değerleri tutmaz. Operator okuma kapsamı gereklidir.
+ - `status`, `/status` tarzı Gateway özetini döndürür; hassas alanlar yalnızca admin kapsamlı operator istemcileri için eklenir.
- `gateway.identity.get`, relay ve eşleştirme akışları tarafından kullanılan Gateway cihaz kimliğini döndürür.
- - `system-presence`, bağlı operator/düğüm cihazları için mevcut varlık anlık görüntüsünü döndürür.
+ - `system-presence`, bağlı operator/Node cihazları için geçerli varlık anlık görüntüsünü döndürür.
- `system-event`, bir sistem olayı ekler ve varlık bağlamını güncelleyebilir/yayınlayabilir.
- - `last-heartbeat`, son kalıcı heartbeat olayını döndürür.
- - `set-heartbeats`, Gateway üzerinde heartbeat işlemeyi açıp kapatır.
+ - `last-heartbeat`, en son kalıcı Heartbeat olayını döndürür.
+ - `set-heartbeats`, Gateway üzerinde Heartbeat işlemeyi açar veya kapatır.
- - `models.list`, çalışma zamanında izin verilen model kataloğunu döndürür. Seçici boyutundaki yapılandırılmış modeller için `{ "view": "configured" }` iletin (`agents.defaults.models` önce, ardından `models.providers.*.models`), tam katalog için `{ "view": "all" }` iletin.
+ - `models.list`, çalışma zamanında izin verilen model kataloğunu döndürür. Seçici boyutundaki yapılandırılmış modeller için (`agents.defaults.models` önce, ardından `models.providers.*.models`) `{ "view": "configured" }`, tam katalog için `{ "view": "all" }` iletin.
- `usage.status`, sağlayıcı kullanım pencerelerini/kalan kota özetlerini döndürür.
- - `usage.cost`, bir tarih aralığı için toplulaştırılmış maliyet kullanım özetlerini döndürür.
- - `doctor.memory.status`, etkin varsayılan ajan çalışma alanı için vektör belleği / önbelleğe alınmış embedding hazır olma durumunu döndürür. Yalnızca çağıran açıkça canlı bir embedding sağlayıcı ping'i istediğinde `{ "probe": true }` veya `{ "deep": true }` iletin.
- - `doctor.memory.remHarness`, uzak kontrol düzlemi istemcileri için sınırlı, salt okunur bir REM harness önizlemesi döndürür. Çalışma alanı yollarını, bellek parçacıklarını, işlenmiş temellendirilmiş markdown'u ve derin yükseltme adaylarını içerebilir; bu nedenle çağıranların `operator.read` iznine ihtiyacı vardır.
+ - `usage.cost`, bir tarih aralığı için toplu maliyet kullanım özetlerini döndürür.
+ - `doctor.memory.status`, etkin varsayılan aracı çalışma alanı için vektör belleği / önbelleğe alınmış embedding hazır olma durumunu döndürür. Yalnızca çağıran açıkça canlı embedding sağlayıcısı ping'i istediğinde `{ "probe": true }` veya `{ "deep": true }` iletin.
+ - `doctor.memory.remHarness`, uzak kontrol düzlemi istemcileri için sınırlı, salt okunur bir REM harness önizlemesi döndürür. Çalışma alanı yollarını, bellek parçacıklarını, işlenmiş dayanaklı markdown'ı ve derin terfi adaylarını içerebilir; bu nedenle çağıranların `operator.read` yetkisine ihtiyacı vardır.
- `sessions.usage`, oturum başına kullanım özetlerini döndürür.
- `sessions.usage.timeseries`, bir oturum için zaman serisi kullanımını döndürür.
- `sessions.usage.logs`, bir oturum için kullanım günlüğü girdilerini döndürür.
@@ -302,71 +303,72 @@ Genel WS yüzeyi yukarıdaki el sıkışma/kimlik doğrulama örneklerinden daha
- `channels.status`, yerleşik + paketlenmiş kanal/plugin durum özetlerini döndürür.
- - `channels.logout`, kanal oturum kapatmayı destekliyorsa belirli bir kanaldan/hesaptan oturumu kapatır.
- - `web.login.start`, geçerli QR özellikli web kanal sağlayıcısı için QR/web oturum açma akışını başlatır.
+ - `channels.logout`, kanalın oturum kapatmayı desteklediği durumlarda belirli bir kanal/hesap için oturumu kapatır.
+ - `web.login.start`, geçerli QR destekli web kanalı sağlayıcısı için bir QR/web oturum açma akışı başlatır.
- `web.login.wait`, bu QR/web oturum açma akışının tamamlanmasını bekler ve başarılı olursa kanalı başlatır.
- - `push.test`, kayıtlı bir iOS Node'una test APNs push'u gönderir.
+ - `push.test`, kayıtlı bir iOS node'una test APNs push'u gönderir.
- `voicewake.get`, saklanan uyandırma sözcüğü tetikleyicilerini döndürür.
- `voicewake.set`, uyandırma sözcüğü tetikleyicilerini günceller ve değişikliği yayınlar.
- - `send`, sohbet çalıştırıcısı dışında kanal/hesap/ileti dizisi hedefli gönderimler için doğrudan giden teslimat RPC'sidir.
- - `logs.tail`, yapılandırılmış Gateway dosya günlüğü kuyruğunu imleç/sınır ve maksimum bayt kontrolleriyle döndürür.
+ - `send`, sohbet çalıştırıcısının dışındaki kanal/hesap/iş parçacığı hedefli gönderimler için doğrudan giden teslimat RPC'sidir.
+ - `logs.tail`, yapılandırılmış gateway dosya günlüğü kuyruğunu imleç/sınır ve maksimum bayt denetimleriyle döndürür.
- - `talk.config`, etkili Talk yapılandırma payload'unu döndürür; `includeSecrets`, `operator.talk.secrets` (veya `operator.admin`) gerektirir.
+ - `talk.config`, etkin Talk yapılandırma yükünü döndürür; `includeSecrets`, `operator.talk.secrets` (veya `operator.admin`) gerektirir.
- `talk.mode`, WebChat/Control UI istemcileri için geçerli Talk modu durumunu ayarlar/yayınlar.
- `talk.speak`, etkin Talk konuşma sağlayıcısı üzerinden konuşma sentezler.
- `tts.status`, TTS etkin durumunu, etkin sağlayıcıyı, yedek sağlayıcıları ve sağlayıcı yapılandırma durumunu döndürür.
- `tts.providers`, görünür TTS sağlayıcı envanterini döndürür.
- - `tts.enable` ve `tts.disable`, TTS tercih durumunu açıp kapatır.
+ - `tts.enable` ve `tts.disable`, TTS tercihleri durumunu açıp kapatır.
- `tts.setProvider`, tercih edilen TTS sağlayıcısını günceller.
- `tts.convert`, tek seferlik metinden konuşmaya dönüştürme çalıştırır.
-
- - `secrets.reload`, etkin SecretRef'leri yeniden çözer ve çalışma zamanı secret durumunu yalnızca tam başarıda değiştirir.
- - `secrets.resolve`, belirli bir komut/hedef kümesi için komut hedefli secret atamalarını çözer.
- - `config.get`, geçerli yapılandırma anlık görüntüsünü ve hash'i döndürür.
- - `config.set`, doğrulanmış bir yapılandırma payload'u yazar.
+
+ - `secrets.reload`, etkin SecretRef'leri yeniden çözer ve çalışma zamanı gizli bilgi durumunu yalnızca tam başarı durumunda değiştirir.
+ - `secrets.resolve`, belirli bir komut/hedef kümesi için komut hedefli gizli bilgi atamalarını çözer.
+ - `config.get`, geçerli yapılandırma anlık görüntüsünü ve karmasını döndürür.
+ - `config.set`, doğrulanmış bir yapılandırma yükü yazar.
- `config.patch`, kısmi bir yapılandırma güncellemesini birleştirir.
- - `config.apply`, tam yapılandırma payload'unu doğrular + değiştirir.
- - `config.schema`, Control UI ve CLI araçları tarafından kullanılan canlı yapılandırma şeması payload'unu döndürür: şema, `uiHints`, sürüm ve üretim metadatası; çalışma zamanı yükleyebildiğinde plugin + kanal şeması metadatası dahil. Şema, eşleşen alan dokümantasyonu bulunduğunda iç içe nesne, joker karakter, dizi öğesi ve `anyOf` / `oneOf` / `allOf` bileşim dalları dahil olmak üzere UI tarafından kullanılan aynı etiketlerden ve yardım metninden türetilen alan `title` / `description` metadatasını içerir.
- - `config.schema.lookup`, bir yapılandırma yolu için yol kapsamlı bir arama payload'u döndürür: normalize edilmiş yol, sığ bir şema düğümü, eşleşen ipucu + `hintPath` ve UI/CLI ayrıntıya inme için doğrudan alt özetler. Arama şeması düğümleri kullanıcıya yönelik dokümanları ve yaygın doğrulama alanlarını (`title`, `description`, `type`, `enum`, `const`, `format`, `pattern`, sayısal/dize/dizi/nesne sınırları ve `additionalProperties`, `deprecated`, `readOnly`, `writeOnly` gibi bayraklar) korur. Alt özetler `key`, normalize edilmiş `path`, `type`, `required`, `hasChildren` ile eşleşen `hint` / `hintPath` değerlerini sunar.
- - `update.run`, Gateway güncelleme akışını çalıştırır ve yalnızca güncellemenin kendisi başarılı olduğunda yeniden başlatma zamanlar.
- - `update.status`, mevcutsa yeniden başlatma sonrası çalışan sürüm dahil, en son önbelleğe alınmış güncelleme yeniden başlatma sentinel'ini döndürür.
- - `wizard.start`, `wizard.next`, `wizard.status` ve `wizard.cancel`, başlangıç sihirbazını WS RPC üzerinden sunar.
+ - `config.apply`, tam yapılandırma yükünü doğrular + değiştirir.
+ - `config.schema`, Control UI ve CLI araçları tarafından kullanılan canlı yapılandırma şeması yükünü döndürür: şema, `uiHints`, sürüm ve üretim meta verileri; çalışma zamanı bunları yükleyebildiğinde plugin + kanal şeması meta verileri dahil. Şema, eşleşen alan belgelendirmesi bulunduğunda iç içe nesne, joker karakter, dizi öğesi ve `anyOf` / `oneOf` / `allOf` bileşim dalları dahil olmak üzere UI tarafından kullanılan aynı etiketlerden ve yardım metninden türetilen alan `title` / `description` meta verilerini içerir.
+ - `config.schema.lookup`, bir yapılandırma yolu için yol kapsamlı bir arama yükü döndürür: normalize edilmiş yol, sığ bir şema düğümü, eşleşen ipucu + `hintPath` ve UI/CLI ayrıntı incelemesi için doğrudan alt özetler. Arama şeması düğümleri kullanıcıya yönelik belgeleri ve yaygın doğrulama alanlarını (`title`, `description`, `type`, `enum`, `const`, `format`, `pattern`, sayısal/dize/dizi/nesne sınırları ve `additionalProperties`, `deprecated`, `readOnly`, `writeOnly` gibi bayraklar) korur. Alt özetler `key`, normalize edilmiş `path`, `type`, `required`, `hasChildren` ile eşleşen `hint` / `hintPath` değerlerini gösterir.
+ - `update.run`, gateway güncelleme akışını çalıştırır ve yalnızca güncellemenin kendisi başarılı olduğunda yeniden başlatma zamanlar. Paket yöneticisi güncellemeleri, paket değişiminden sonra eski Gateway sürecinin değiştirilmiş bir `dist` ağacından tembel yükleme yapmayı sürdürmemesi için ertelenmeyen bir güncelleme yeniden başlatmasını zorunlu kılar.
+ - `update.status`, kullanılabilir olduğunda yeniden başlatma sonrası çalışan sürüm dahil olmak üzere en son önbelleğe alınmış güncelleme yeniden başlatma işaretçisini döndürür.
+ - `wizard.start`, `wizard.next`, `wizard.status` ve `wizard.cancel`, WS RPC üzerinden onboarding sihirbazını sunar.
-
- - `agents.list`, etkili model ve çalışma zamanı metadatası dahil yapılandırılmış ajan girdilerini döndürür.
- - `agents.create`, `agents.update` ve `agents.delete`, ajan kayıtlarını ve çalışma alanı bağlantılarını yönetir.
- - `agents.files.list`, `agents.files.get` ve `agents.files.set`, bir ajan için sunulan bootstrap çalışma alanı dosyalarını yönetir.
- - `agent.identity.get`, bir ajan veya oturum için etkili asistan kimliğini döndürür.
- - `agent.wait`, bir çalıştırmanın bitmesini bekler ve mevcutsa son anlık görüntüyü döndürür.
+
+ - `agents.list`, etkin model ve çalışma zamanı meta verileri dahil olmak üzere yapılandırılmış aracı girdilerini döndürür.
+ - `agents.create`, `agents.update` ve `agents.delete`, aracı kayıtlarını ve çalışma alanı bağlantılarını yönetir.
+ - `agents.files.list`, `agents.files.get` ve `agents.files.set`, bir aracı için sunulan bootstrap çalışma alanı dosyalarını yönetir.
+ - `artifacts.list`, `artifacts.get` ve `artifacts.download`, açık bir `sessionKey`, `runId` veya `taskId` kapsamı için transkriptten türetilmiş yapıt özetlerini ve indirmelerini sunar. Çalıştırma ve görev sorguları, sahip oturumu sunucu tarafında çözer ve yalnızca eşleşen kökene sahip transkript medyasını döndürür; güvenli olmayan veya yerel URL kaynakları, sunucu tarafında getirmek yerine desteklenmeyen indirmeler döndürür.
+ - `agent.identity.get`, bir aracı veya oturum için etkin asistan kimliğini döndürür.
+ - `agent.wait`, bir çalıştırmanın bitmesini bekler ve kullanılabilir olduğunda terminal anlık görüntüsünü döndürür.
-
- - `sessions.list`, bir ajan çalışma zamanı backend'i yapılandırıldığında satır başına `agentRuntime` metadatası dahil geçerli oturum dizinini döndürür.
- - `sessions.subscribe` ve `sessions.unsubscribe`, geçerli WS istemcisi için oturum değişikliği olayı aboneliklerini açıp kapatır.
+
+ - `sessions.list`, bir aracı çalışma zamanı arka ucu yapılandırıldığında satır başına `agentRuntime` meta verileri dahil olmak üzere geçerli oturum dizinini döndürür.
+ - `sessions.subscribe` ve `sessions.unsubscribe`, geçerli WS istemcisi için oturum değişikliği olay aboneliklerini açıp kapatır.
- `sessions.messages.subscribe` ve `sessions.messages.unsubscribe`, bir oturum için transkript/mesaj olayı aboneliklerini açıp kapatır.
- `sessions.preview`, belirli oturum anahtarları için sınırlı transkript önizlemeleri döndürür.
- `sessions.resolve`, bir oturum hedefini çözer veya kanonikleştirir.
- `sessions.create`, yeni bir oturum girdisi oluşturur.
- `sessions.send`, mevcut bir oturuma mesaj gönderir.
- - `sessions.steer`, etkin bir oturum için kesme-ve-yönlendirme varyantıdır.
- - `sessions.abort`, bir oturum için etkin işi iptal eder. Çağıran, `key` ile birlikte isteğe bağlı `runId` iletebilir veya Gateway'in bir oturuma çözebildiği etkin çalıştırmalar için yalnızca `runId` iletebilir.
- - `sessions.patch`, oturum metadatasını/geçersiz kılmalarını günceller ve çözümlenen kanonik modeli artı etkili `agentRuntime` değerini raporlar.
+ - `sessions.steer`, etkin bir oturum için kesme ve yönlendirme varyantıdır.
+ - `sessions.abort`, bir oturum için etkin işi iptal eder. Çağıran, `key` ile isteğe bağlı `runId` iletebilir veya Gateway'in bir oturuma çözebildiği etkin çalıştırmalar için yalnızca `runId` iletebilir.
+ - `sessions.patch`, oturum meta verilerini/geçersiz kılmalarını günceller ve çözümlenen kanonik modeli artı etkin `agentRuntime` değerini bildirir.
- `sessions.reset`, `sessions.delete` ve `sessions.compact`, oturum bakımını gerçekleştirir.
- - `sessions.get`, saklanan tam oturum satırını döndürür.
- - Sohbet yürütmesi hâlâ `chat.history`, `chat.send`, `chat.abort` ve `chat.inject` kullanır. `chat.history`, UI istemcileri için görüntüleme açısından normalize edilir: satır içi yönerge etiketleri görünür metinden çıkarılır, düz metin araç çağrısı XML payload'ları (`...`, `...`, `...`, `...` ve kesilmiş araç çağrısı blokları dahil) ve sızmış ASCII/tam genişlikli model kontrol token'ları çıkarılır, tam `NO_REPLY` / `no_reply` gibi saf sessiz-token asistan satırları atlanır ve çok büyük satırlar yer tutucularla değiştirilebilir.
+ - `sessions.get`, tam saklanan oturum satırını döndürür.
+ - Sohbet yürütmesi hâlâ `chat.history`, `chat.send`, `chat.abort` ve `chat.inject` kullanır. `chat.history`, UI istemcileri için görüntüleme açısından normalize edilir: satır içi yönerge etiketleri görünür metinden çıkarılır, düz metin araç çağrısı XML yükleri (`...`, `...`, `...`, `...` ve kesilmiş araç çağrısı blokları dahil) ve sızmış ASCII/tam genişlikli model denetim token'ları çıkarılır, tam `NO_REPLY` / `no_reply` gibi yalnızca sessiz token içeren asistan satırları atlanır ve aşırı büyük satırlar yer tutucularla değiştirilebilir.
@@ -379,214 +381,257 @@ Genel WS yüzeyi yukarıdaki el sıkışma/kimlik doğrulama örneklerinden daha
- - `node.pair.request`, `node.pair.list`, `node.pair.approve`, `node.pair.reject`, `node.pair.remove` ve `node.pair.verify`, Node eşleştirme ve bootstrap doğrulamasını kapsar.
- - `node.list` ve `node.describe`, bilinen/bağlı Node durumunu döndürür.
- - `node.rename`, eşleştirilmiş bir Node etiketini günceller.
- - `node.invoke`, bağlı bir Node'a komut iletir.
- - `node.invoke.result`, bir çağırma isteği için sonucu döndürür.
- - `node.event`, Node kaynaklı olayları Gateway'e geri taşır.
+ - `node.pair.request`, `node.pair.list`, `node.pair.approve`, `node.pair.reject`, `node.pair.remove` ve `node.pair.verify`, node eşleştirme ve bootstrap doğrulamasını kapsar.
+ - `node.list` ve `node.describe`, bilinen/bağlı node durumunu döndürür.
+ - `node.rename`, eşleştirilmiş bir node etiketini günceller.
+ - `node.invoke`, bağlı bir node'a komut iletir.
+ - `node.invoke.result`, bir invoke isteğinin sonucunu döndürür.
+ - `node.event`, node kaynaklı olayları gateway'e geri taşır.
- `node.canvas.capability.refresh`, kapsamlı canvas yeteneği token'larını yeniler.
- - `node.pending.pull` ve `node.pending.ack`, bağlı Node kuyruk API'leridir.
- - `node.pending.enqueue` ve `node.pending.drain`, çevrimdışı/bağlantısı kesilmiş Node'lar için kalıcı bekleyen işi yönetir.
+ - `node.pending.pull` ve `node.pending.ack`, bağlı node kuyruğu API'leridir.
+ - `node.pending.enqueue` ve `node.pending.drain`, çevrimdışı/bağlantısı kesilmiş node'lar için kalıcı bekleyen işi yönetir.
- - `exec.approval.request`, `exec.approval.get`, `exec.approval.list` ve `exec.approval.resolve`, tek seferlik exec onay isteklerini ve bekleyen onay arama/yeniden oynatmayı kapsar.
+ - `exec.approval.request`, `exec.approval.get`, `exec.approval.list` ve `exec.approval.resolve`, tek seferlik exec onayı isteklerini ve bekleyen onay arama/yeniden oynatmasını kapsar.
- `exec.approval.waitDecision`, bekleyen bir exec onayını bekler ve nihai kararı döndürür (veya zaman aşımında `null`).
- - `exec.approvals.get` ve `exec.approvals.set`, Gateway exec onay politikası anlık görüntülerini yönetir.
- - `exec.approvals.node.get` ve `exec.approvals.node.set`, Node aktarma komutları üzerinden Node yerel exec onay politikasını yönetir.
+ - `exec.approvals.get` ve `exec.approvals.set`, gateway exec onay ilkesi anlık görüntülerini yönetir.
+ - `exec.approvals.node.get` ve `exec.approvals.node.set`, node aktarma komutları aracılığıyla node yerel exec onay ilkesini yönetir.
- `plugin.approval.request`, `plugin.approval.list`, `plugin.approval.waitDecision` ve `plugin.approval.resolve`, plugin tanımlı onay akışlarını kapsar.
-
- - Otomasyon: `wake`, anlık veya sonraki heartbeat uyandırma metni enjeksiyonunu zamanlar; `cron.list`, `cron.status`, `cron.add`, `cron.update`, `cron.remove`, `cron.run`, `cron.runs` zamanlanmış işi yönetir.
- - Skills ve araçlar: `commands.list`, `skills.*`, `tools.catalog`, `tools.effective`.
+
+ - Otomasyon: `wake`, anlık veya sonraki heartbeat uyandırma metni enjeksiyonu zamanlar; `cron.list`, `cron.status`, `cron.add`, `cron.update`, `cron.remove`, `cron.run`, `cron.runs` zamanlanmış işi yönetir.
+ - Skills ve araçlar: `commands.list`, `skills.*`, `tools.catalog`, `tools.effective`, `tools.invoke`.
### Yaygın olay aileleri
-- `chat`: `chat.inject` gibi UI sohbet güncellemeleri ve diğer yalnızca transkript sohbet
+- `chat`: `chat.inject` gibi UI sohbet güncellemeleri ve yalnızca transkript içeren diğer sohbet
olayları.
-- `session.message` ve `session.tool`: abone olunan bir oturum için transkript/olay akışı
+- `session.message` ve `session.tool`: abone olunmuş bir oturum için transkript/olay akışı
güncellemeleri.
-- `sessions.changed`: oturum dizini veya metadatası değişti.
-- `presence`: sistem presence anlık görüntüsü güncellemeleri.
+- `sessions.changed`: oturum dizini veya meta verileri değişti.
+- `presence`: sistem varlık anlık görüntüsü güncellemeleri.
- `tick`: periyodik keepalive / canlılık olayı.
-- `health`: Gateway sağlık anlık görüntüsü güncellemesi.
+- `health`: gateway sağlık anlık görüntüsü güncellemesi.
- `heartbeat`: heartbeat olay akışı güncellemesi.
-- `cron`: cron çalıştırma/iş değişikliği olayı.
-- `shutdown`: Gateway kapatma bildirimi.
-- `node.pair.requested` / `node.pair.resolved`: Node eşleştirme yaşam döngüsü.
-- `node.invoke.request`: Node çağırma isteği yayını.
+- `cron`: cron çalıştırması/iş değişikliği olayı.
+- `shutdown`: gateway kapatma bildirimi.
+- `node.pair.requested` / `node.pair.resolved`: node eşleştirme yaşam döngüsü.
+- `node.invoke.request`: node invoke isteği yayını.
- `device.pair.requested` / `device.pair.resolved`: eşleştirilmiş cihaz yaşam döngüsü.
- `voicewake.changed`: uyandırma sözcüğü tetikleyici yapılandırması değişti.
-- `exec.approval.requested` / `exec.approval.resolved`: exec onay
+- `exec.approval.requested` / `exec.approval.resolved`: exec onayı
yaşam döngüsü.
-- `plugin.approval.requested` / `plugin.approval.resolved`: plugin onay
+- `plugin.approval.requested` / `plugin.approval.resolved`: plugin onayı
yaşam döngüsü.
### Node yardımcı yöntemleri
-- Node'lar, otomatik izin kontrolleri için geçerli skill yürütülebilirleri listesini almak üzere `skills.bins` çağırabilir.
+- Node'lar, otomatik izin denetimleri için güncel skill yürütülebilirleri listesini almak üzere `skills.bins` çağırabilir.
### Operatör yardımcı yöntemleri
- Operatörler, bir ajan için çalışma zamanı komut envanterini almak üzere `commands.list` (`operator.read`) çağırabilir.
- - `agentId` isteğe bağlıdır; varsayılan ajan çalışma alanını okumak için bunu atlayın.
- - `scope`, birincil `name` değerinin hangi yüzeyi hedeflediğini denetler:
- - `text`, baştaki `/` olmadan birincil metin komutu belirtecini döndürür
- - `native` ve varsayılan `both` yolu, varsa sağlayıcıya duyarlı yerel adları döndürür
- - `textAliases`, `/model` ve `/m` gibi tam slash takma adlarını taşır.
- - `nativeName`, varsa sağlayıcıya duyarlı yerel komut adını taşır.
- - `provider` isteğe bağlıdır ve yalnızca yerel adlandırmayı ve yerel plugin komutu kullanılabilirliğini etkiler.
- - `includeArgs=false`, yanıttan serileştirilmiş argüman meta verilerini çıkarır.
-- Operatörler, bir ajan için çalışma zamanı araç kataloğunu almak üzere `tools.catalog` (`operator.read`) çağırabilir. Yanıt, gruplanmış araçları ve köken meta verilerini içerir:
+ - `agentId` isteğe bağlıdır; varsayılan ajan çalışma alanını okumak için atlayın.
+ - `scope`, birincil `name` hedefinin hangi yüzeyi hedeflediğini kontrol eder:
+ - `text`, başındaki `/` olmadan birincil metin komutu belirtecini döndürür
+ - `native` ve varsayılan `both` yolu, mevcut olduğunda sağlayıcı farkındalığı olan yerel adları döndürür
+ - `textAliases`, `/model` ve `/m` gibi tam eğik çizgili takma adları taşır.
+ - `nativeName`, varsa sağlayıcı farkındalığı olan yerel komut adını taşır.
+ - `provider` isteğe bağlıdır ve yalnızca yerel adlandırmayı ve yerel Plugin komutu kullanılabilirliğini etkiler.
+ - `includeArgs=false`, serileştirilmiş argüman meta verilerini yanıttan çıkarır.
+- Operatörler, bir ajan için çalışma zamanı araç kataloğunu almak üzere `tools.catalog` (`operator.read`) çağırabilir. Yanıt, gruplanmış araçları ve kaynak meta verilerini içerir:
- `source`: `core` veya `plugin`
- - `pluginId`: `source="plugin"` olduğunda plugin sahibi
- - `optional`: bir plugin aracının isteğe bağlı olup olmadığı
+ - `pluginId`: `source="plugin"` olduğunda Plugin sahibi
+ - `optional`: bir Plugin aracının isteğe bağlı olup olmadığı
- Operatörler, bir oturum için çalışma zamanında etkin araç envanterini almak üzere `tools.effective` (`operator.read`) çağırabilir.
- `sessionKey` zorunludur.
- - Gateway, çağıranın sağladığı kimlik doğrulama veya teslimat bağlamını kabul etmek yerine güvenilir çalışma zamanı bağlamını sunucu tarafında oturumdan türetir.
- - Yanıt oturum kapsamındadır ve çekirdek, plugin ve kanal araçları dahil olmak üzere etkin konuşmanın şu anda kullanabileceklerini yansıtır.
-- Operatörler, bir ajan için görünür yetenek envanterini almak üzere `skills.status` (`operator.read`) çağırabilir.
- - `agentId` isteğe bağlıdır; varsayılan ajan çalışma alanını okumak için bunu atlayın.
- - Yanıt, ham gizli değerleri açığa çıkarmadan uygunluğu, eksik gereksinimleri, yapılandırma denetimlerini ve temizlenmiş kurulum seçeneklerini içerir.
+ - Gateway, çağıranın sağladığı kimlik doğrulama veya teslim bağlamını kabul etmek yerine, güvenilir çalışma zamanı bağlamını sunucu tarafında oturumdan türetir.
+ - Yanıt oturum kapsamlıdır ve etkin konuşmanın şu anda kullanabileceği core, Plugin ve kanal araçlarını yansıtır.
+- Operatörler, `/tools/invoke` ile aynı Gateway ilkesi yolundan kullanılabilir bir aracı çağırmak için `tools.invoke` (`operator.write`) çağırabilir.
+ - `name` zorunludur. `args`, `sessionKey`, `agentId`, `confirm` ve `idempotencyKey` isteğe bağlıdır.
+ - Hem `sessionKey` hem de `agentId` mevcutsa, çözümlenen oturum ajanı `agentId` ile eşleşmelidir.
+ - Yanıt, `ok`, `toolName`, isteğe bağlı `output` ve türlendirilmiş `error` alanlarıyla SDK'ya yönelik bir zarftır. Onay veya ilke retleri, Gateway araç ilkesi işlem hattını atlamak yerine yük içinde `ok:false` döndürür.
+- Operatörler, bir ajan için görünür Skills envanterini almak üzere `skills.status` (`operator.read`) çağırabilir.
+ - `agentId` isteğe bağlıdır; varsayılan ajan çalışma alanını okumak için atlayın.
+ - Yanıt, ham gizli değerleri açığa çıkarmadan uygunluğu, eksik gereksinimleri, yapılandırma kontrollerini ve temizlenmiş kurulum seçeneklerini içerir.
- Operatörler, ClawHub keşif meta verileri için `skills.search` ve `skills.detail` (`operator.read`) çağırabilir.
-- Operatörler, iki modda `skills.install` (`operator.admin`) çağırabilir:
- - ClawHub modu: `{ source: "clawhub", slug, version?, force? }`, varsayılan ajan çalışma alanındaki `skills/` dizinine bir yetenek klasörü kurar.
+- Operatörler, `skills.install` (`operator.admin`) komutunu iki modda çağırabilir:
+ - ClawHub modu: `{ source: "clawhub", slug, version?, force? }`, varsayılan ajan çalışma alanındaki `skills/` dizinine bir Skills klasörü kurar.
- Gateway kurucu modu: `{ name, installId, dangerouslyForceUnsafeInstall?, timeoutMs? }`, Gateway ana makinesinde bildirilmiş bir `metadata.openclaw.install` eylemi çalıştırır.
-- Operatörler, iki modda `skills.update` (`operator.admin`) çağırabilir:
- - ClawHub modu, izlenen tek bir slug'ı veya varsayılan ajan çalışma alanındaki tüm izlenen ClawHub kurulumlarını günceller.
+- Operatörler, `skills.update` (`operator.admin`) komutunu iki modda çağırabilir:
+ - ClawHub modu, varsayılan ajan çalışma alanında izlenen tek bir slug'ı veya izlenen tüm ClawHub kurulumlarını günceller.
- Yapılandırma modu, `enabled`, `apiKey` ve `env` gibi `skills.entries.` değerlerini yamalar.
### `models.list` görünümleri
-`models.list`, isteğe bağlı bir `view` parametresi kabul eder:
+`models.list`, isteğe bağlı bir `view` parametresini kabul eder:
- Atlanmış veya `"default"`: geçerli çalışma zamanı davranışı. `agents.defaults.models` yapılandırılmışsa yanıt izin verilen katalogdur; aksi halde yanıt tam Gateway kataloğudur.
-- `"configured"`: seçici boyutunda davranış. `agents.defaults.models` yapılandırılmışsa yine önceliklidir. Aksi halde yanıt, açık `models.providers.*.models` girişlerini kullanır ve yalnızca yapılandırılmış model satırları yoksa tam kataloğa geri döner.
-- `"all"`: `agents.defaults.models` değerini atlayarak tam Gateway kataloğu. Bunu normal model seçiciler için değil, tanılama ve keşif arayüzleri için kullanın.
+- `"configured"`: seçici boyutlu davranış. `agents.defaults.models` yapılandırılmışsa yine önceliklidir. Aksi halde yanıt açık `models.providers.*.models` girdilerini kullanır ve yalnızca yapılandırılmış model satırları yoksa tam kataloğa geri döner.
+- `"all"`: `agents.defaults.models` değerini atlayarak tam Gateway kataloğu. Bunu normal model seçicileri için değil, tanılama ve keşif kullanıcı arayüzleri için kullanın.
## Exec onayları
-- Bir exec isteği onay gerektirdiğinde Gateway `exec.approval.requested` yayınlar.
-- Operatör istemcileri, `exec.approval.resolve` çağırarak çözümler (`operator.approvals` kapsamı gerekir).
-- `host=node` için `exec.approval.request`, `systemRunPlan` içermelidir (kanonik `argv`/`cwd`/`rawCommand`/oturum meta verileri). `systemRunPlan` eksik istekler reddedilir.
-- Onaydan sonra iletilen `node.invoke system.run` çağrıları, yetkili komut/cwd/oturum bağlamı olarak bu kanonik `systemRunPlan` değerini yeniden kullanır.
-- Bir çağıran, prepare ile nihai onaylı `system.run` iletimi arasında `command`, `rawCommand`, `cwd`, `agentId` veya `sessionKey` değerini değiştirirse Gateway, değiştirilmiş yük verisine güvenmek yerine çalıştırmayı reddeder.
+- Bir exec isteğinin onaya ihtiyacı olduğunda Gateway `exec.approval.requested` yayınlar.
+- Operatör istemcileri `exec.approval.resolve` çağırarak çözer (`operator.approvals` kapsamı gerekir).
+- `host=node` için `exec.approval.request`, `systemRunPlan` (kanonik `argv`/`cwd`/`rawCommand`/oturum meta verileri) içermelidir. `systemRunPlan` eksik olan istekler reddedilir.
+- Onaydan sonra, iletilen `node.invoke system.run` çağrıları, yetkili komut/cwd/oturum bağlamı olarak bu kanonik `systemRunPlan` değerini yeniden kullanır.
+- Bir çağıran, hazırlama ile son onaylanmış `system.run` iletimi arasında `command`, `rawCommand`, `cwd`, `agentId` veya `sessionKey` değerlerini değiştirirse Gateway, değiştirilen yüke güvenmek yerine çalıştırmayı reddeder.
-## Ajan teslimat geri dönüşü
+## Ajan teslim geri dönüşü
-- `agent` istekleri, giden teslimat istemek için `deliver=true` içerebilir.
-- `bestEffortDeliver=false` katı davranışı korur: çözülemeyen veya yalnızca dahili teslimat hedefleri `INVALID_REQUEST` döndürür.
-- `bestEffortDeliver=true`, harici olarak teslim edilebilir bir rota çözülemediğinde oturumla sınırlı yürütmeye geri dönüşe izin verir (örneğin dahili/webchat oturumları veya belirsiz çok kanallı yapılandırmalar).
+- `agent` istekleri, giden teslim istemek için `deliver=true` içerebilir.
+- `bestEffortDeliver=false` katı davranışı korur: çözümlenemeyen veya yalnızca dahili teslim hedefleri `INVALID_REQUEST` döndürür.
+- `bestEffortDeliver=true`, harici olarak teslim edilebilir bir rota çözümlenemediğinde oturumla sınırlı yürütmeye geri dönüşe izin verir (örneğin dahili/webchat oturumları veya belirsiz çok kanallı yapılandırmalar).
## Sürümleme
- `PROTOCOL_VERSION`, `src/gateway/protocol/schema/protocol-schemas.ts` içinde bulunur.
-- İstemciler `minProtocol` + `maxProtocol` gönderir; sunucu uyuşmazlıkları reddeder.
-- Şemalar + modeller TypeBox tanımlarından üretilir:
+- İstemciler `minProtocol` + `maxProtocol` gönderir; sunucu uyumsuzlukları reddeder.
+- Şemalar + modeller TypeBox tanımlarından oluşturulur:
- `pnpm protocol:gen`
- `pnpm protocol:gen:swift`
- `pnpm protocol:check`
### İstemci sabitleri
-`src/gateway/client.ts` içindeki referans istemci bu varsayılanları kullanır. Değerler protocol v3 genelinde kararlıdır ve üçüncü taraf istemciler için beklenen başlangıç temelidir.
+`src/gateway/client.ts` içindeki referans istemci bu varsayılanları kullanır. Değerler protokol v3 boyunca kararlıdır ve üçüncü taraf istemciler için beklenen temel çizgidir.
-| Sabit | Varsayılan | Kaynak |
-| ---------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------ |
-| `PROTOCOL_VERSION` | `3` | `src/gateway/protocol/schema/protocol-schemas.ts` |
-| İstek zaman aşımı (RPC başına) | `30_000` ms | `src/gateway/client.ts` (`requestTimeoutMs`) |
-| Ön kimlik doğrulama / connect-challenge zaman aşımı | `15_000` ms | `src/gateway/handshake-timeouts.ts` (config/env eşleştirilmiş sunucu/istemci bütçesini artırabilir) |
-| İlk yeniden bağlanma backoff'u | `1_000` ms | `src/gateway/client.ts` (`backoffMs`) |
-| En yüksek yeniden bağlanma backoff'u | `30_000` ms | `src/gateway/client.ts` (`scheduleReconnect`) |
-| Device-token kapanışından sonra hızlı yeniden deneme sınırı | `250` ms | `src/gateway/client.ts` |
-| `terminate()` öncesi zorla durdurma ek süresi | `250` ms | `FORCE_STOP_TERMINATE_GRACE_MS` |
-| `stopAndWait()` varsayılan zaman aşımı | `1_000` ms | `STOP_AND_WAIT_TIMEOUT_MS` |
-| Varsayılan tick aralığı (`hello-ok` öncesi) | `30_000` ms | `src/gateway/client.ts` |
-| Tick zaman aşımı kapanışı | sessizlik `tickIntervalMs * 2` değerini aştığında kod `4000` | `src/gateway/client.ts` |
-| `MAX_PAYLOAD_BYTES` | `25 * 1024 * 1024` (25 MB) | `src/gateway/server-constants.ts` |
+| Sabit | Varsayılan | Kaynak |
+| ----------------------------------------- | ----------------------------------------------------- | ------------------------------------------------------------------------------------------ |
+| `PROTOCOL_VERSION` | `3` | `src/gateway/protocol/schema/protocol-schemas.ts` |
+| İstek zaman aşımı (RPC başına) | `30_000` ms | `src/gateway/client.ts` (`requestTimeoutMs`) |
+| Ön kimlik doğrulama / bağlantı-sınaması zaman aşımı | `15_000` ms | `src/gateway/handshake-timeouts.ts` (config/env eşleştirilmiş sunucu/istemci bütçesini artırabilir) |
+| İlk yeniden bağlanma geri çekilmesi | `1_000` ms | `src/gateway/client.ts` (`backoffMs`) |
+| En fazla yeniden bağlanma geri çekilmesi | `30_000` ms | `src/gateway/client.ts` (`scheduleReconnect`) |
+| Cihaz belirteci kapanışından sonra hızlı yeniden deneme sınırı | `250` ms | `src/gateway/client.ts` |
+| `terminate()` öncesi zorla durdurma ek süresi | `250` ms | `FORCE_STOP_TERMINATE_GRACE_MS` |
+| `stopAndWait()` varsayılan zaman aşımı | `1_000` ms | `STOP_AND_WAIT_TIMEOUT_MS` |
+| Varsayılan tick aralığı (`hello-ok` öncesi) | `30_000` ms | `src/gateway/client.ts` |
+| Tick zaman aşımı kapanışı | sessizlik `tickIntervalMs * 2` değerini aştığında kod `4000` | `src/gateway/client.ts` |
+| `MAX_PAYLOAD_BYTES` | `25 * 1024 * 1024` (25 MB) | `src/gateway/server-constants.ts` |
-Sunucu, etkin `policy.tickIntervalMs`, `policy.maxPayload` ve `policy.maxBufferedBytes` değerlerini `hello-ok` içinde duyurur; istemciler el sıkışma öncesi varsayılanlar yerine bu değerlere uymalıdır.
+Sunucu etkin `policy.tickIntervalMs`, `policy.maxPayload` ve
+`policy.maxBufferedBytes` değerlerini `hello-ok` içinde duyurur; istemciler
+el sıkışma öncesi varsayılanlar yerine bu değerlere uymalıdır.
## Kimlik doğrulama
-- Paylaşılan gizli Gateway kimlik doğrulaması, yapılandırılmış kimlik doğrulama moduna bağlı olarak `connect.params.auth.token` veya `connect.params.auth.password` kullanır.
-- Tailscale Serve (`gateway.auth.allowTailscale: true`) veya local loopback olmayan `gateway.auth.mode: "trusted-proxy"` gibi kimlik taşıyan modlar, connect kimlik doğrulama denetimini `connect.params.auth.*` yerine istek başlıklarından karşılar.
-- Özel giriş `gateway.auth.mode: "none"`, paylaşılan gizli connect kimlik doğrulamasını tamamen atlar; bu modu herkese açık/güvenilmeyen girişlerde açığa çıkarmayın.
-- Eşleştirmeden sonra Gateway, bağlantı rolü + kapsamlarıyla sınırlı bir **cihaz belirteci** verir. Bu belirteç `hello-ok.auth.deviceToken` içinde döndürülür ve istemci tarafından gelecekteki bağlantılar için kalıcı hale getirilmelidir.
-- İstemciler, başarılı her bağlantıdan sonra birincil `hello-ok.auth.deviceToken` değerini kalıcı hale getirmelidir.
-- Bu **saklanan** cihaz belirteciyle yeniden bağlanırken, o belirteç için saklanan onaylı kapsam kümesi de yeniden kullanılmalıdır. Bu, zaten verilmiş olan okuma/yoklama/durum erişimini korur ve yeniden bağlantıların sessizce daha dar bir örtük yalnızca yönetici kapsamına düşmesini önler.
-- İstemci tarafı connect kimlik doğrulaması derlemesi (`src/gateway/client.ts` içindeki `selectConnectAuth`):
- - `auth.password` ortogonaldir ve ayarlandığında her zaman iletilir.
- - `auth.token` öncelik sırasına göre doldurulur: önce açık paylaşılan belirteç, ardından açık bir `deviceToken`, ardından saklanan cihaz başına belirteç (`deviceId` + `role` ile anahtarlanır).
- - `auth.bootstrapToken`, yalnızca yukarıdakilerin hiçbiri bir `auth.token` çözmediğinde gönderilir. Paylaşılan belirteç veya çözülen herhangi bir cihaz belirteci bunu bastırır.
- - Tek seferlik `AUTH_TOKEN_MISMATCH` yeniden denemesinde saklanan cihaz belirtecinin otomatik yükseltilmesi yalnızca **güvenilir uç noktalarla** sınırlıdır: loopback veya sabitlenmiş `tlsFingerprint` içeren `wss://`. Sabitleme olmayan herkese açık `wss://` uygun değildir.
-- Ek `hello-ok.auth.deviceTokens` girişleri bootstrap devir belirteçleridir. Bunları yalnızca connect, `wss://` veya loopback/yerel eşleştirme gibi güvenilir bir aktarım üzerinde bootstrap kimlik doğrulaması kullandığında kalıcı hale getirin.
-- Bir istemci **açık** bir `deviceToken` veya açık `scopes` sağlarsa, çağıranın istediği kapsam kümesi yetkili kalır; önbelleğe alınmış kapsamlar yalnızca istemci saklanan cihaz başına belirteci yeniden kullandığında yeniden kullanılır.
-- Cihaz belirteçleri `device.token.rotate` ve `device.token.revoke` ile döndürülebilir/iptal edilebilir (`operator.pairing` kapsamı gerekir).
-- `device.token.rotate`, döndürme meta verilerini döndürür. Yedek taşıyıcı belirteci yalnızca aynı cihazdan, zaten o cihaz belirteciyle kimliği doğrulanmış çağrılar için yankılar; böylece yalnızca belirteç kullanan istemciler yeniden bağlanmadan önce yedeklerini kalıcı hale getirebilir. Paylaşılan/yönetici döndürmeleri taşıyıcı belirteci yankılamaz.
-- Belirteç verme, döndürme ve iptal etme, o cihazın eşleştirme girişinde kaydedilmiş onaylı rol kümesiyle sınırlı kalır; belirteç mutasyonu, eşleştirme onayının hiç vermediği bir cihaz rolünü genişletemez veya hedefleyemez.
-- Eşleştirilmiş cihaz belirteci oturumları için, çağıranda ayrıca `operator.admin` yoksa cihaz yönetimi kendi kapsamındadır: yönetici olmayan çağıranlar yalnızca **kendi** cihaz girişlerini kaldırabilir/iptal edebilir/döndürebilir.
-- `device.token.rotate` ve `device.token.revoke`, hedef operatör belirteci kapsam kümesini çağıranın geçerli oturum kapsamlarına göre de denetler. Yönetici olmayan çağıranlar, zaten sahip olduklarından daha geniş bir operatör belirtecini döndüremez veya iptal edemez.
-- Kimlik doğrulama hataları, `error.details.code` ve kurtarma ipuçlarını içerir:
+- Paylaşılan gizli Gateway kimlik doğrulaması, yapılandırılmış kimlik doğrulama moduna bağlı olarak `connect.params.auth.token` veya
+ `connect.params.auth.password` kullanır.
+- Tailscale Serve (`gateway.auth.allowTailscale: true`) veya geri döngü olmayan
+ `gateway.auth.mode: "trusted-proxy"` gibi kimlik taşıyan modlar, bağlantı kimlik doğrulaması denetimini
+ `connect.params.auth.*` yerine istek üstbilgilerinden karşılar.
+- Özel giriş `gateway.auth.mode: "none"`, paylaşılan gizli bağlantı kimlik doğrulamasını
+ tamamen atlar; bu modu herkese açık/güvenilmeyen girişlerde açığa çıkarmayın.
+- Eşleştirmeden sonra Gateway, bağlantı rolü + kapsamlarıyla sınırlı bir **cihaz belirteci** verir.
+ Bu belirteç `hello-ok.auth.deviceToken` içinde döndürülür ve istemci tarafından gelecekteki bağlantılar için
+ kalıcı olarak saklanmalıdır.
+- İstemciler, başarılı herhangi bir bağlantıdan sonra birincil `hello-ok.auth.deviceToken` değerini kalıcı olarak saklamalıdır.
+- Bu **saklanan** cihaz belirteciyle yeniden bağlanmak, o belirteç için saklanan
+ onaylanmış kapsam kümesini de yeniden kullanmalıdır. Bu, daha önce verilmiş
+ okuma/yoklama/durum erişimini korur ve yeniden bağlantıların sessizce daha dar
+ bir örtük yalnızca yönetici kapsamına daralmasını önler.
+- İstemci tarafı bağlantı kimlik doğrulaması derleme işlemi (`src/gateway/client.ts` içindeki
+ `selectConnectAuth`):
+ - `auth.password` bağımsızdır ve ayarlandığında her zaman iletilir.
+ - `auth.token` öncelik sırasına göre doldurulur: önce açık paylaşılan belirteç,
+ ardından açık bir `deviceToken`, ardından saklanan cihaz başına belirteç (`deviceId` + `role` ile anahtarlanır).
+ - `auth.bootstrapToken` yalnızca yukarıdakilerin hiçbiri bir `auth.token`
+ çözemediğinde gönderilir. Paylaşılan belirteç veya çözümlenen herhangi bir cihaz belirteci bunu bastırır.
+ - Tek seferlik `AUTH_TOKEN_MISMATCH` yeniden denemesinde saklanan bir cihaz belirtecinin
+ otomatik yükseltilmesi **yalnızca güvenilir uç noktalarla** sınırlıdır —
+ loopback veya sabitlenmiş bir `tlsFingerprint` ile `wss://`. Sabitleme olmadan herkese açık `wss://`
+ uygun değildir.
+- Ek `hello-ok.auth.deviceTokens` girdileri önyükleme devir belirteçleridir.
+ Bunları yalnızca bağlantı, `wss://` veya loopback/yerel eşleştirme gibi güvenilir bir taşıma üzerinde
+ önyükleme kimlik doğrulaması kullandığında kalıcı olarak saklayın.
+- Bir istemci **açık** bir `deviceToken` veya açık `scopes` sağlarsa, çağıranın istediği
+ kapsam kümesi yetkili kalır; önbelleğe alınmış kapsamlar yalnızca istemci saklanan cihaz başına belirteci
+ yeniden kullandığında yeniden kullanılır.
+- Cihaz belirteçleri `device.token.rotate` ve
+ `device.token.revoke` aracılığıyla döndürülebilir/iptal edilebilir (`operator.pairing` kapsamı gerekir).
+- `device.token.rotate` döndürme meta verisi döndürür. Yedek taşıyıcı belirteci yalnızca aynı cihazdan yapılan
+ ve zaten o cihaz belirteciyle kimliği doğrulanmış çağrılar için tekrarlar; böylece yalnızca belirteç kullanan
+ istemciler yeniden bağlanmadan önce yedeklerini kalıcı olarak saklayabilir. Paylaşılan/yönetici döndürmeleri
+ taşıyıcı belirteci tekrar etmez.
+- Belirteç verme, döndürme ve iptal işlemleri, ilgili cihazın eşleştirme girdisinde
+ kaydedilmiş onaylı rol kümesiyle sınırlı kalır; belirteç mutasyonu, eşleştirme onayının hiç vermediği
+ bir cihaz rolünü genişletemez veya hedefleyemez.
+- Eşleştirilmiş cihaz belirteci oturumlarında, çağıranda ayrıca `operator.admin` yoksa
+ cihaz yönetimi kendi kendine kapsamlıdır: yönetici olmayan çağıranlar yalnızca **kendi** cihaz girdilerini
+ kaldırabilir/iptal edebilir/döndürebilir.
+- `device.token.rotate` ve `device.token.revoke`, hedef operatör belirteci kapsam kümesini
+ çağıranın geçerli oturum kapsamlarına göre de denetler. Yönetici olmayan çağıranlar
+ halihazırda sahip olduklarından daha geniş bir operatör belirtecini döndüremez veya iptal edemez.
+- Kimlik doğrulama hataları `error.details.code` ve kurtarma ipuçlarını içerir:
- `error.details.canRetryWithDeviceToken` (boolean)
- `error.details.recommendedNextStep` (`retry_with_device_token`, `update_auth_configuration`, `update_auth_credentials`, `wait_then_retry`, `review_auth_configuration`)
- `AUTH_TOKEN_MISMATCH` için istemci davranışı:
- - Güvenilir istemciler, önbelleğe alınmış cihaz başına belirteçle sınırlı bir yeniden deneme girişiminde bulunabilir.
- - Bu yeniden deneme başarısız olursa istemciler otomatik yeniden bağlanma döngülerini durdurmalı ve operatör eylemi yönergesini göstermelidir.
+ - Güvenilir istemciler, önbelleğe alınmış cihaz başına belirteçle bir sınırlı yeniden deneme yapmayı deneyebilir.
+ - Bu yeniden deneme başarısız olursa, istemciler otomatik yeniden bağlanma döngülerini durdurmalı ve operatör eylemi rehberliğini göstermelidir.
## Cihaz kimliği + eşleştirme
- Node'lar, anahtar çifti parmak izinden türetilen kararlı bir cihaz kimliği (`device.id`) içermelidir.
-- Gateway'ler cihaz + rol başına token yayınlar.
+- Gateway'ler cihaz + rol başına belirteç verir.
- Yerel otomatik onay etkin değilse yeni cihaz kimlikleri için eşleştirme onayları gerekir.
-- Eşleştirme otomatik onayı, doğrudan local loopback bağlantılarına odaklanır.
-- OpenClaw ayrıca güvenilir paylaşılan gizli yardımcı akışları için dar bir backend/container-local kendi kendine bağlanma yoluna sahiptir.
-- Aynı ana bilgisayardaki tailnet veya LAN bağlantıları, eşleştirme için yine uzak olarak değerlendirilir ve onay gerektirir.
-- WS istemcileri normalde `connect` sırasında `device` kimliğini içerir (operatör + node). Cihazsız tek operatör istisnaları açık güven yollarıdır:
- - Yalnızca localhost'a yönelik güvensiz HTTP uyumluluğu için `gateway.controlUi.allowInsecureAuth=true`.
- - Başarılı `gateway.auth.mode: "trusted-proxy"` operatör Control UI kimlik doğrulaması.
- - `gateway.controlUi.dangerouslyDisableDeviceAuth=true` (son çare, ciddi güvenlik düşüşü).
- - Paylaşılan gateway token/parolasıyla kimliği doğrulanmış direct-loopback `gateway-client` backend RPC'leri.
+- Eşleştirme otomatik onayı, doğrudan local loopback bağlantıları etrafında merkezlenir.
+- OpenClaw ayrıca güvenilir paylaşılan gizli yardımcı akışları için dar bir arka uç/kapsayıcı yerel kendi kendine bağlantı yoluna sahiptir.
+- Aynı ana makine tailnet veya LAN bağlantıları eşleştirme açısından yine uzak kabul edilir ve
+ onay gerektirir.
+- WS istemcileri normalde `connect` sırasında `device` kimliğini içerir (operatör +
+ node). Cihazsız tek operatör istisnaları açık güven yollarıdır:
+ - localhost'a özel güvensiz HTTP uyumluluğu için `gateway.controlUi.allowInsecureAuth=true`.
+ - başarılı `gateway.auth.mode: "trusted-proxy"` operatör Control UI kimlik doğrulaması.
+ - `gateway.controlUi.dangerouslyDisableDeviceAuth=true` (acil durum, ciddi güvenlik düşürmesi).
+ - paylaşılan Gateway belirteci/parolasıyla kimliği doğrulanmış doğrudan loopback `gateway-client` arka uç RPC'leri.
- Tüm bağlantılar, sunucunun sağladığı `connect.challenge` nonce değerini imzalamalıdır.
### Cihaz kimlik doğrulaması geçiş tanıları
-Hala challenge öncesi imzalama davranışını kullanan eski istemciler için `connect` artık kararlı bir `error.details.reason` ile `error.details.code` altında `DEVICE_AUTH_*` ayrıntı kodları döndürür.
+Hâlâ zorluk öncesi imzalama davranışını kullanan eski istemciler için `connect` artık
+`error.details.code` altında kararlı bir `error.details.reason` ile `DEVICE_AUTH_*` ayrıntı kodları döndürür.
Yaygın geçiş hataları:
| Mesaj | details.code | details.reason | Anlam |
| --------------------------- | -------------------------------- | ------------------------ | -------------------------------------------------- |
| `device nonce required` | `DEVICE_AUTH_NONCE_REQUIRED` | `device-nonce-missing` | İstemci `device.nonce` değerini atladı (veya boş gönderdi). |
-| `device nonce mismatch` | `DEVICE_AUTH_NONCE_MISMATCH` | `device-nonce-mismatch` | İstemci eski/yanlış nonce ile imzaladı. |
+| `device nonce mismatch` | `DEVICE_AUTH_NONCE_MISMATCH` | `device-nonce-mismatch` | İstemci eski/yanlış bir nonce ile imzaladı. |
| `device signature invalid` | `DEVICE_AUTH_SIGNATURE_INVALID` | `device-signature` | İmza yükü v2 yüküyle eşleşmiyor. |
| `device signature expired` | `DEVICE_AUTH_SIGNATURE_EXPIRED` | `device-signature-stale` | İmzalı zaman damgası izin verilen sapmanın dışında. |
| `device identity mismatch` | `DEVICE_AUTH_DEVICE_ID_MISMATCH` | `device-id-mismatch` | `device.id`, açık anahtar parmak iziyle eşleşmiyor. |
-| `device public key invalid` | `DEVICE_AUTH_PUBLIC_KEY_INVALID` | `device-public-key` | Açık anahtar biçimi/standartlaştırması başarısız oldu. |
+| `device public key invalid` | `DEVICE_AUTH_PUBLIC_KEY_INVALID` | `device-public-key` | Açık anahtar biçimi/kanonikleştirme başarısız oldu. |
Geçiş hedefi:
- Her zaman `connect.challenge` değerini bekleyin.
- Sunucu nonce değerini içeren v2 yükünü imzalayın.
- Aynı nonce değerini `connect.params.device.nonce` içinde gönderin.
-- Tercih edilen imza yükü, cihaz/istemci/rol/kapsamlar/token/nonce alanlarına ek olarak `platform` ve `deviceFamily` değerlerini de bağlayan `v3` değeridir.
-- Eski `v2` imzaları uyumluluk için kabul edilmeye devam eder, ancak eşleştirilmiş cihaz metadata sabitlemesi yeniden bağlantıda komut politikasını denetlemeye devam eder.
+- Tercih edilen imza yükü `v3` değeridir; bu, cihaz/istemci/rol/kapsamlar/belirteç/nonce alanlarına ek olarak
+ `platform` ve `deviceFamily` değerlerini bağlar.
+- Eski `v2` imzaları uyumluluk için kabul edilmeye devam eder, ancak eşleştirilmiş cihaz
+ meta veri sabitlemesi yeniden bağlantıda komut ilkesini yine denetler.
## TLS + sabitleme
-- WS bağlantıları için TLS desteklenir.
-- İstemciler isteğe bağlı olarak gateway sertifika parmak izini sabitleyebilir (`gateway.tls` yapılandırmasına ve `gateway.remote.tlsFingerprint` veya CLI `--tls-fingerprint` değerine bakın).
+- TLS, WS bağlantıları için desteklenir.
+- İstemciler isteğe bağlı olarak Gateway sertifika parmak izini sabitleyebilir (`gateway.tls`
+ yapılandırmasına ek olarak `gateway.remote.tlsFingerprint` veya CLI `--tls-fingerprint` bölümüne bakın).
## Kapsam
-Bu protokol **tam gateway API**'sini (durum, kanallar, modeller, sohbet, ajan, oturumlar, node'lar, onaylar vb.) açığa çıkarır. Kesin yüzey, `src/gateway/protocol/schema.ts` içindeki TypeBox şemaları tarafından tanımlanır.
+Bu protokol **tam Gateway API'sini** açığa çıkarır (durum, kanallar, modeller, sohbet,
+aracı, oturumlar, node'lar, onaylar vb.). Tam yüzey
+`src/gateway/protocol/schema.ts` içindeki TypeBox şemaları tarafından tanımlanır.
## İlgili
diff --git a/docs/tr/gateway/troubleshooting.md b/docs/tr/gateway/troubleshooting.md
index 6e652d723..35d0183fe 100644
--- a/docs/tr/gateway/troubleshooting.md
+++ b/docs/tr/gateway/troubleshooting.md
@@ -1,24 +1,24 @@
---
read_when:
- Sorun giderme merkezi, daha ayrıntılı tanılama için sizi buraya yönlendirdi
- - Kesin komutlar içeren, semptom temelli kararlı operasyon kılavuzu bölümlerine ihtiyacınız var.
+ - Kesin komutlar içeren kararlı, belirti temelli runbook bölümlerine ihtiyacınız var
sidebarTitle: Troubleshooting
-summary: Gateway, kanallar, otomasyon, Node'lar ve tarayıcı için derinlemesine sorun giderme çalıştırma kitabı
+summary: Gateway, kanallar, otomasyon, düğümler ve tarayıcı için derinlemesine sorun giderme kılavuzu
title: Sorun giderme
x-i18n:
- generated_at: "2026-04-30T09:25:22Z"
+ generated_at: "2026-05-01T09:01:01Z"
model: gpt-5.5
provider: openai
- source_hash: 48735a68daa92678867a9cafb3ceeb37063bb91dee8c4c94e185f74eb0296fcb
+ source_hash: a808dcfd8527b041f629cff24308550f961e9eeb4d7d4ce6f1ce84dff6bbef89
source_path: gateway/troubleshooting.md
workflow: 16
---
-Bu sayfa ayrıntılı çalışma kılavuzudur. Önce hızlı triyaj akışını istiyorsanız [/help/troubleshooting](/tr/help/troubleshooting) ile başlayın.
+Bu sayfa derin çalıştırma kitabıdır. Önce hızlı triyaj akışını istiyorsanız [/help/troubleshooting](/tr/help/troubleshooting) sayfasından başlayın.
## Komut merdiveni
-Bunları önce, bu sırayla çalıştırın:
+Önce bunları, bu sırayla çalıştırın:
```bash
openclaw status
@@ -31,14 +31,14 @@ openclaw channels status --probe
Beklenen sağlıklı sinyaller:
- `openclaw gateway status`, `Runtime: running`, `Connectivity probe: ok` ve bir `Capability: ...` satırı gösterir.
-- `openclaw doctor` engelleyici yapılandırma/hizmet sorunu bildirmez.
+- `openclaw doctor`, engelleyici yapılandırma/hizmet sorunu bildirmez.
- `openclaw channels status --probe`, hesap başına canlı aktarım durumunu ve desteklendiği yerlerde `works` veya `audit ok` gibi yoklama/denetim sonuçlarını gösterir.
## Bölünmüş kurulumlar ve daha yeni yapılandırma koruması
-Bunu, bir güncellemeden sonra Gateway hizmeti beklenmedik şekilde durduğunda veya günlükler bir `openclaw` ikilisinin `openclaw.json` dosyasını en son yazan sürümden daha eski olduğunu gösterdiğinde kullanın.
+Bunu, bir Gateway hizmeti güncellemeden sonra beklenmedik şekilde durduğunda veya günlükler bir `openclaw` ikilisinin `openclaw.json` dosyasını en son yazan sürümden daha eski olduğunu gösterdiğinde kullanın.
-OpenClaw, yapılandırma yazma işlemlerini `meta.lastTouchedVersion` ile damgalar. Salt okunur komutlar daha yeni bir OpenClaw tarafından yazılmış yapılandırmayı yine de inceleyebilir, ancak işlem ve hizmet değişiklikleri daha eski bir ikiliyle devam etmeyi reddeder. Engellenen eylemler arasında Gateway hizmetini başlatma, durdurma, yeniden başlatma, kaldırma, zorunlu hizmet yeniden kurulumu, hizmet modu Gateway başlatma ve `gateway --force` bağlantı noktası temizliği bulunur.
+OpenClaw, yapılandırma yazımlarını `meta.lastTouchedVersion` ile damgalar. Salt okunur komutlar daha yeni bir OpenClaw tarafından yazılmış yapılandırmayı yine de inceleyebilir, ancak süreç ve hizmet değişiklikleri eski bir ikiliden devam etmeyi reddeder. Engellenen eylemler arasında Gateway hizmetini başlatma, durdurma, yeniden başlatma, kaldırma, zorunlu hizmet yeniden kurulumu, hizmet modunda Gateway başlatma ve `gateway --force` port temizliği bulunur.
```bash
which openclaw
@@ -49,10 +49,10 @@ openclaw config get meta.lastTouchedVersion
- `openclaw` daha yeni kuruluma çözümlenecek şekilde `PATH` değerini düzeltin, sonra eylemi yeniden çalıştırın.
+ `openclaw` daha yeni kuruluma çözümlenecek şekilde `PATH` değerini düzeltin, ardından eylemi yeniden çalıştırın.
- Hedeflenen Gateway hizmetini daha yeni kurulumdan yeniden kurun:
+ Amaçlanan Gateway hizmetini daha yeni kurulumdan yeniden kurun:
```bash
openclaw gateway install --force
@@ -66,12 +66,12 @@ openclaw config get meta.lastTouchedVersion
-Yalnızca kasıtlı sürüm düşürme veya acil kurtarma için, tek komutta `OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1` ayarlayın. Normal kullanımda ayarsız bırakın.
+Yalnızca kasıtlı sürüm düşürme veya acil kurtarma için, tek komutta `OPENCLAW_ALLOW_OLDER_BINARY_DESTRUCTIVE_ACTIONS=1` ayarını yapın. Normal işlem için ayarı boş bırakın.
-## Uzun bağlam için Anthropic 429 ek kullanım gerekli
+## Uzun bağlam için Anthropic 429 ek kullanım gerektirir
-Bunu günlükler/hatalar şunu içerdiğinde kullanın: `HTTP 429: rate_limit_error: Extra usage is required for long context requests`.
+Günlükler/hatalar şunu içerdiğinde bunu kullanın: `HTTP 429: rate_limit_error: Extra usage is required for long context requests`.
```bash
openclaw logs --follow
@@ -79,17 +79,17 @@ openclaw models status
openclaw config get agents.defaults.models
```
-Şunlara bakın:
+Şunları arayın:
- Seçili Anthropic Opus/Sonnet modelinde `params.context1m: true` var.
-- Geçerli Anthropic kimlik bilgisi uzun bağlam kullanımı için uygun değil.
-- İstekler yalnızca 1M beta yoluna ihtiyaç duyan uzun oturumlarda/model çalıştırmalarında başarısız oluyor.
+- Mevcut Anthropic kimlik bilgisi uzun bağlam kullanımına uygun değil.
+- İstekler yalnızca 1M beta yolunu gerektiren uzun oturumlarda/model çalıştırmalarında başarısız oluyor.
Düzeltme seçenekleri:
-
- Normal bağlam penceresine geri dönmek için o modelde `context1m` değerini devre dışı bırakın.
+
+ Normal bağlam penceresine geri dönmek için o modelde `context1m` ayarını devre dışı bırakın.
Uzun bağlam istekleri için uygun bir Anthropic kimlik bilgisi kullanın veya bir Anthropic API anahtarına geçin.
@@ -103,15 +103,15 @@ Düzeltme seçenekleri:
- [Anthropic](/tr/providers/anthropic)
- [Token kullanımı ve maliyetler](/tr/reference/token-use)
-- [Anthropic'ten neden HTTP 429 görüyorum?](/tr/help/faq-first-run#why-am-i-seeing-http-429-ratelimiterror-from-anthropic)
+- [Neden Anthropic'ten HTTP 429 görüyorum?](/tr/help/faq-first-run#why-am-i-seeing-http-429-ratelimiterror-from-anthropic)
-## Yerel OpenAI uyumlu backend doğrudan yoklamaları geçiyor ancak agent çalıştırmaları başarısız oluyor
+## Yerel OpenAI uyumlu arka uç doğrudan yoklamalardan geçiyor ancak ajan çalıştırmaları başarısız oluyor
Bunu şu durumlarda kullanın:
- `curl ... /v1/models` çalışıyor
- küçük doğrudan `/v1/chat/completions` çağrıları çalışıyor
-- OpenClaw model çalıştırmaları yalnızca normal agent turlarında başarısız oluyor
+- OpenClaw model çalıştırmaları yalnızca normal ajan turlarında başarısız oluyor
```bash
curl http://127.0.0.1:1234/v1/models
@@ -122,29 +122,29 @@ openclaw infer model run --model --prompt "hi" --json
openclaw logs --follow
```
-Şunlara bakın:
+Şunları arayın:
- doğrudan küçük çağrılar başarılı oluyor, ancak OpenClaw çalıştırmaları yalnızca daha büyük istemlerde başarısız oluyor
-- aynı çıplak model kimliğiyle doğrudan `/v1/chat/completions`
+- aynı yalın model kimliğiyle doğrudan `/v1/chat/completions`
çalışmasına rağmen `model_not_found` veya 404 hataları
-- `messages[].content` için dize bekleyen backend hataları
-- OpenAI uyumlu yerel backend ile aralıklı `incomplete turn detected ... stopReason=stop payloads=0` uyarıları
-- yalnızca daha büyük istem-token sayıları veya tam agent çalışma zamanı istemleriyle ortaya çıkan backend çökmeleri
+- `messages[].content` için dize beklediğini belirten arka uç hataları
+- OpenAI uyumlu yerel arka uçla aralıklı `incomplete turn detected ... stopReason=stop payloads=0` uyarıları
+- yalnızca daha büyük istem-token sayıları veya tam ajan çalışma zamanı istemleriyle ortaya çıkan arka uç çökmeleri
- - Yerel MLX/vLLM tarzı bir sunucuda `model_not_found` → `baseUrl` değerinin `/v1` içerdiğini, `/v1/chat/completions` backend'leri için `api` değerinin `"openai-completions"` olduğunu ve `models.providers..models[].id` değerinin çıplak sağlayıcı-yerel kimlik olduğunu doğrulayın. Bunu sağlayıcı önekiyle bir kez seçin, örneğin `mlx/mlx-community/Qwen3-30B-A3B-6bit`; katalog girdisini `mlx-community/Qwen3-30B-A3B-6bit` olarak tutun.
- - `messages[...].content: invalid type: sequence, expected a string` → backend yapılandırılmış Chat Completions içerik parçalarını reddediyor. Düzeltme: `models.providers..models[].compat.requiresStringContent: true` ayarlayın.
- - `incomplete turn detected ... stopReason=stop payloads=0` → backend Chat Completions isteğini tamamladı ancak o tur için kullanıcıya görünür asistan metni döndürmedi. OpenClaw, yeniden oynatması güvenli boş OpenAI uyumlu turları bir kez yeniden dener; kalıcı hatalar genellikle backend'in boş/metin dışı içerik yayımladığı veya son yanıt metnini bastırdığı anlamına gelir.
- - doğrudan küçük istekler başarılı oluyor, ancak OpenClaw agent çalıştırmaları backend/model çökmeleriyle başarısız oluyor (örneğin bazı `inferrs` derlemelerinde Gemma) → OpenClaw aktarımı büyük olasılıkla zaten doğru; backend daha büyük agent çalışma zamanı istem biçiminde başarısız oluyor.
- - araçları devre dışı bıraktıktan sonra hatalar azalıyor ama kaybolmuyor → araç şemaları baskının bir parçasıydı, ancak kalan sorun hâlâ upstream model/sunucu kapasitesi veya bir backend hatasıdır.
+ - Yerel MLX/vLLM tarzı sunucuda `model_not_found` → `baseUrl` değerinin `/v1` içerdiğini, `/v1/chat/completions` arka uçları için `api` değerinin `"openai-completions"` olduğunu ve `models.providers..models[].id` değerinin yalın sağlayıcı-yerel kimlik olduğunu doğrulayın. Örneğin `mlx/mlx-community/Qwen3-30B-A3B-6bit` gibi sağlayıcı önekiyle bir kez seçin; katalog girdisini `mlx-community/Qwen3-30B-A3B-6bit` olarak tutun.
+ - `messages[...].content: invalid type: sequence, expected a string` → arka uç yapılandırılmış Chat Completions içerik parçalarını reddediyor. Düzeltme: `models.providers..models[].compat.requiresStringContent: true` ayarlayın.
+ - `incomplete turn detected ... stopReason=stop payloads=0` → arka uç Chat Completions isteğini tamamladı ancak o tur için kullanıcıya görünür asistan metni döndürmedi. OpenClaw, yeniden oynatılması güvenli boş OpenAI uyumlu turları bir kez yeniden dener; kalıcı hatalar genellikle arka ucun boş/metin dışı içerik ürettiği veya son yanıt metnini bastırdığı anlamına gelir.
+ - doğrudan küçük istekler başarılı oluyor, ancak OpenClaw ajan çalıştırmaları arka uç/model çökmeleriyle başarısız oluyor (örneğin bazı `inferrs` derlemelerinde Gemma) → OpenClaw aktarımı büyük olasılıkla zaten doğru; arka uç daha büyük ajan çalışma zamanı istem biçiminde başarısız oluyor.
+ - araçları devre dışı bıraktıktan sonra hatalar azalıyor ancak kaybolmuyor → araç şemaları baskının bir parçasıydı, ancak kalan sorun hâlâ üst akış model/sunucu kapasitesi veya arka uç hatasıdır.
- 1. Yalnızca dize kabul eden Chat Completions backend'leri için `compat.requiresStringContent: true` ayarlayın.
- 2. OpenClaw'ın araç şeması yüzeyini güvenilir şekilde işleyemeyen modeller/backend'ler için `compat.supportsTools: false` ayarlayın.
- 3. Mümkün olduğunda istem baskısını azaltın: daha küçük çalışma alanı önyüklemesi, daha kısa oturum geçmişi, daha hafif yerel model veya daha güçlü uzun bağlam desteğine sahip bir backend.
- 4. Küçük doğrudan istekler geçmeye devam ederken OpenClaw agent turları backend içinde hâlâ çöküyorsa, bunu upstream sunucu/model sınırlaması olarak ele alın ve kabul edilen yük biçimiyle oraya bir yeniden üretim örneği gönderin.
+ 1. Yalnızca dize destekleyen Chat Completions arka uçları için `compat.requiresStringContent: true` ayarlayın.
+ 2. OpenClaw'ın araç şeması yüzeyini güvenilir şekilde işleyemeyen modeller/arka uçlar için `compat.supportsTools: false` ayarlayın.
+ 3. Mümkün olan yerlerde istem baskısını azaltın: daha küçük çalışma alanı başlangıcı, daha kısa oturum geçmişi, daha hafif yerel model veya daha güçlü uzun bağlam desteğine sahip bir arka uç.
+ 4. Küçük doğrudan istekler geçmeye devam ederken OpenClaw ajan turları hâlâ arka uç içinde çöküyorsa, bunu üst akış sunucu/model sınırlaması olarak ele alın ve kabul edilen yük biçimiyle birlikte oraya bir yeniden üretim kaydı açın.
@@ -152,11 +152,11 @@ openclaw logs --follow
- [Yapılandırma](/tr/gateway/configuration)
- [Yerel modeller](/tr/gateway/local-models)
-- [OpenAI uyumlu endpoint'ler](/tr/gateway/configuration-reference#openai-compatible-endpoints)
+- [OpenAI uyumlu uç noktalar](/tr/gateway/configuration-reference#openai-compatible-endpoints)
## Yanıt yok
-Kanallar ayakta ancak hiçbir şey yanıt vermiyorsa, herhangi bir şeyi yeniden bağlamadan önce yönlendirmeyi ve ilkeyi kontrol edin.
+Kanallar çalışır durumdaysa ancak hiçbir şey yanıt vermiyorsa, herhangi bir şeyi yeniden bağlamadan önce yönlendirme ve politikayı kontrol edin.
```bash
openclaw status
@@ -166,17 +166,17 @@ openclaw config get channels
openclaw logs --follow
```
-Şunlara bakın:
+Şunları arayın:
- DM gönderenleri için eşleştirme beklemede.
-- Grup bahsetme kapısı (`requireMention`, `mentionPatterns`).
+- Grup bahsetme geçidi (`requireMention`, `mentionPatterns`).
- Kanal/grup izin listesi uyumsuzlukları.
Yaygın imzalar:
-- `drop guild message (mention required` → grup mesajı bahsetme yapılana kadar yok sayılır.
+- `drop guild message (mention required` → grup mesajı bahsetme yapılana kadar yok sayıldı.
- `pairing request` → gönderenin onaya ihtiyacı var.
-- `blocked` / `allowlist` → gönderen/kanal ilke tarafından filtrelendi.
+- `blocked` / `allowlist` → gönderen/kanal politika tarafından filtrelendi.
İlgili:
@@ -184,9 +184,9 @@ Yaygın imzalar:
- [Gruplar](/tr/channels/groups)
- [Eşleştirme](/tr/channels/pairing)
-## Pano denetim arayüzü bağlantısı
+## Pano kontrol kullanıcı arayüzü bağlantısı
-Pano/denetim arayüzü bağlanmadığında URL, kimlik doğrulama modu ve güvenli bağlam varsayımlarını doğrulayın.
+Pano/kontrol kullanıcı arayüzü bağlanmadığında URL'yi, kimlik doğrulama modunu ve güvenli bağlam varsayımlarını doğrulayın.
```bash
openclaw gateway status
@@ -196,25 +196,25 @@ openclaw doctor
openclaw gateway status --json
```
-Şunlara bakın:
+Şunları arayın:
- Doğru yoklama URL'si ve pano URL'si.
-- İstemci ile Gateway arasında kimlik doğrulama modu/token uyumsuzluğu.
+- İstemci ve Gateway arasında kimlik doğrulama modu/token uyuşmazlığı.
- Cihaz kimliğinin gerekli olduğu yerde HTTP kullanımı.
- `device identity required` → güvenli olmayan bağlam veya eksik cihaz kimlik doğrulaması.
- `origin not allowed` → tarayıcı `Origin` değeri `gateway.controlUi.allowedOrigins` içinde değil (veya açık bir izin listesi olmadan local loopback olmayan bir tarayıcı kaynağından bağlanıyorsunuz).
- - `device nonce required` / `device nonce mismatch` → istemci, sınama tabanlı cihaz kimlik doğrulama akışını tamamlamıyor (`connect.challenge` + `device.nonce`).
- - `device signature invalid` / `device signature expired` → istemci geçerli el sıkışma için yanlış yükü (veya eski zaman damgasını) imzaladı.
- - `AUTH_TOKEN_MISMATCH` ve `canRetryWithDeviceToken=true` → istemci önbelleğe alınmış cihaz token'ıyla güvenilir bir yeniden deneme yapabilir.
- - Bu önbelleğe alınmış token yeniden denemesi, eşleştirilmiş cihaz token'ıyla depolanan önbelleğe alınmış kapsam kümesini yeniden kullanır. Açık `deviceToken` / açık `scopes` çağıranları bunun yerine istenen kapsam kümesini korur.
- - Bu yeniden deneme yolu dışında, bağlantı kimlik doğrulama önceliği önce açık paylaşılan token/parola, sonra açık `deviceToken`, sonra depolanmış cihaz token'ı, sonra önyükleme token'ıdır.
- - Zaman uyumsuz Tailscale Serve Control UI yolunda, aynı `{scope, ip}` için başarısız girişimler, sınırlayıcı hatayı kaydetmeden önce serileştirilir. Bu nedenle aynı istemciden iki kötü eşzamanlı yeniden deneme, iki düz uyumsuzluk yerine ikinci denemede `retry later` gösterebilir.
- - Tarayıcı kaynaklı bir local loopback istemcisinden `too many failed authentication attempts (retry later)` → aynı normalleştirilmiş `Origin` kaynaklı tekrarlanan hatalar geçici olarak kilitlenir; başka bir localhost kaynağı ayrı bir kova kullanır.
- - bu yeniden denemeden sonra tekrarlanan `unauthorized` → paylaşılan token/cihaz token'ı kayması; token yapılandırmasını yenileyin ve gerekirse cihaz token'ını yeniden onaylayın/döndürün.
- - `gateway connect failed:` → yanlış ana makine/bağlantı noktası/url hedefi.
+ - `device nonce required` / `device nonce mismatch` → istemci, sınamaya dayalı cihaz kimlik doğrulama akışını tamamlamıyor (`connect.challenge` + `device.nonce`).
+ - `device signature invalid` / `device signature expired` → istemci mevcut el sıkışma için yanlış yükü (veya eski zaman damgasını) imzaladı.
+ - `AUTH_TOKEN_MISMATCH` ile `canRetryWithDeviceToken=true` → istemci önbelleğe alınmış cihaz token'ı ile güvenilir bir yeniden deneme yapabilir.
+ - Bu önbelleğe alınmış token yeniden denemesi, eşleştirilmiş cihaz token'ıyla depolanan önbelleğe alınmış kapsam kümesini yeniden kullanır. Açık `deviceToken` / açık `scopes` çağırıcıları bunun yerine kendi istenen kapsam kümesini korur.
+ - Bu yeniden deneme yolunun dışında, bağlantı kimlik doğrulama önceliği önce açık paylaşılan token/parola, sonra açık `deviceToken`, sonra depolanmış cihaz token'ı, sonra başlangıç token'ıdır.
+ - Eşzamansız Tailscale Serve Control UI yolunda, aynı `{scope, ip}` için başarısız denemeler, sınırlayıcı başarısızlığı kaydetmeden önce serileştirilir. Bu nedenle aynı istemciden iki hatalı eşzamanlı yeniden deneme, iki düz uyuşmazlık yerine ikinci denemede `retry later` olarak görünebilir.
+ - Tarayıcı kaynaklı local loopback istemcisinden `too many failed authentication attempts (retry later)` → aynı normalleştirilmiş `Origin` üzerinden tekrarlanan hatalar geçici olarak kilitlenir; başka bir localhost kaynağı ayrı bir kova kullanır.
+ - bu yeniden denemeden sonra tekrarlanan `unauthorized` → paylaşılan token/cihaz token'ı sapması; token yapılandırmasını yenileyin ve gerekirse cihaz token'ını yeniden onaylayın/döndürün.
+ - `gateway connect failed:` → yanlış ana makine/port/url hedefi.
@@ -223,18 +223,18 @@ openclaw gateway status --json
Sonraki eylemi seçmek için başarısız `connect` yanıtındaki `error.details.code` değerini kullanın:
-| Ayrıntı kodu | Anlamı | Önerilen eylem |
-| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| `AUTH_TOKEN_MISSING` | İstemci, gerekli paylaşılan tokenı göndermedi. | İstemcide tokenı yapıştırın/ayarlayın ve yeniden deneyin. Pano yolları için: `openclaw config get gateway.auth.token`, ardından Control UI ayarlarına yapıştırın. |
-| `AUTH_TOKEN_MISMATCH` | Paylaşılan token, Gateway kimlik doğrulama tokenıyla eşleşmedi. | `canRetryWithDeviceToken=true` ise güvenilen tek bir yeniden denemeye izin verin. Önbelleğe alınmış token yeniden denemeleri, saklanan onaylı kapsamları yeniden kullanır; açık `deviceToken` / `scopes` çağıranları istenen kapsamları korur. Hâlâ başarısız oluyorsa [token kayması kurtarma kontrol listesini](/tr/cli/devices#token-drift-recovery-checklist) çalıştırın. |
-| `AUTH_DEVICE_TOKEN_MISMATCH` | Önbelleğe alınmış cihaz başına token eski veya iptal edilmiş. | [Cihazlar CLI](/tr/cli/devices) ile cihaz tokenını döndürün/yeniden onaylayın, ardından yeniden bağlanın. |
-| `PAIRING_REQUIRED` | Cihaz kimliğinin onaylanması gerekiyor. `not-paired`, `scope-upgrade`, `role-upgrade` veya `metadata-upgrade` için `error.details.reason` değerini kontrol edin ve varsa `requestId` / `remediationHint` kullanın. | Bekleyen isteği onaylayın: `openclaw devices list`, ardından `openclaw devices approve `. Kapsam/rol yükseltmeleri, istenen erişimi inceledikten sonra aynı akışı kullanır. |
+| Ayrıntı kodu | Anlamı | Önerilen eylem |
+| ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `AUTH_TOKEN_MISSING` | İstemci gerekli paylaşılan belirteci göndermedi. | İstemcide belirteci yapıştırın/ayarlayın ve yeniden deneyin. Pano yolları için: `openclaw config get gateway.auth.token`, ardından Control UI ayarlarına yapıştırın. |
+| `AUTH_TOKEN_MISMATCH` | Paylaşılan belirteç Gateway kimlik doğrulama belirteciyle eşleşmedi. | `canRetryWithDeviceToken=true` ise bir güvenilir yeniden denemeye izin verin. Önbelleğe alınmış belirteç yeniden denemeleri saklanan onaylı kapsamları yeniden kullanır; açık `deviceToken` / `scopes` çağıranları istenen kapsamları korur. Hâlâ başarısız oluyorsa [belirteç sapması kurtarma kontrol listesini](/tr/cli/devices#token-drift-recovery-checklist) çalıştırın. |
+| `AUTH_DEVICE_TOKEN_MISMATCH` | Önbelleğe alınmış cihaz başına belirteç eski veya iptal edilmiş. | [devices CLI](/tr/cli/devices) kullanarak cihaz belirtecini döndürün/yeniden onaylayın, ardından yeniden bağlanın. |
+| `PAIRING_REQUIRED` | Cihaz kimliğinin onaylanması gerekiyor. `not-paired`, `scope-upgrade`, `role-upgrade` veya `metadata-upgrade` için `error.details.reason` değerini kontrol edin ve varsa `requestId` / `remediationHint` kullanın. | Bekleyen isteği onaylayın: `openclaw devices list`, ardından `openclaw devices approve `. Kapsam/rol yükseltmeleri, istenen erişimi gözden geçirdikten sonra aynı akışı kullanır. |
-Paylaşılan Gateway tokenı/parolasıyla kimliği doğrulanan doğrudan loopback arka uç RPC'leri, CLI'ın eşleştirilmiş cihaz kapsam taban çizgisine bağlı olmamalıdır. Alt ajanlar veya diğer dahili çağrılar hâlâ `scope-upgrade` ile başarısız oluyorsa, çağıranın `client.id: "gateway-client"` ve `client.mode: "backend"` kullandığını ve açık bir `deviceIdentity` ya da cihaz tokenı zorlamadığını doğrulayın.
+Paylaşılan Gateway belirteci/parolasıyla kimliği doğrulanan doğrudan geri döngü arka uç RPC'leri, CLI'nin eşlenmiş cihaz kapsam temel çizgisine bağlı olmamalıdır. Alt ajanlar veya diğer dahili çağrılar hâlâ `scope-upgrade` ile başarısız oluyorsa, çağıranın `client.id: "gateway-client"` ve `client.mode: "backend"` kullandığını ve açık bir `deviceIdentity` veya cihaz belirteci zorlamadığını doğrulayın.
-Cihaz kimlik doğrulaması v2 geçiş kontrolü:
+Cihaz kimlik doğrulaması v2 geçiş denetimi:
```bash
openclaw --version
@@ -245,20 +245,20 @@ openclaw gateway status
Günlükler nonce/imza hataları gösteriyorsa, bağlanan istemciyi güncelleyin ve doğrulayın:
-
+
İstemci, Gateway tarafından verilen `connect.challenge` değerini bekler.
-
- İstemci, challenge'a bağlı payload'u imzalar.
+
+ İstemci, challenge'a bağlı yükü imzalar.
-
+
İstemci, aynı challenge nonce'u ile `connect.params.device.nonce` gönderir.
`openclaw devices rotate` / `revoke` / `remove` beklenmedik şekilde reddedilirse:
-- eşleştirilmiş cihaz token oturumları, çağıranda ayrıca `operator.admin` yoksa yalnızca **kendi** cihazını yönetebilir
+- eşlenmiş cihaz belirteci oturumları, çağıranın ayrıca `operator.admin` yetkisi yoksa yalnızca **kendi** cihazını yönetebilir
- `openclaw devices rotate --scope ...` yalnızca çağıran oturumun zaten sahip olduğu operatör kapsamlarını isteyebilir
İlgili:
@@ -267,36 +267,36 @@ Günlükler nonce/imza hataları gösteriyorsa, bağlanan istemciyi güncelleyin
- [Control UI](/tr/web/control-ui)
- [Cihazlar](/tr/cli/devices)
- [Uzaktan erişim](/tr/gateway/remote)
-- [Güvenilen proxy kimlik doğrulaması](/tr/gateway/trusted-proxy-auth)
+- [Güvenilir proxy kimlik doğrulaması](/tr/gateway/trusted-proxy-auth)
## Gateway hizmeti çalışmıyor
-Hizmet kuruluysa ancak süreç ayakta kalmıyorsa bunu kullanın.
+Hizmet kurulu olduğu halde süreç ayakta kalmıyorsa bunu kullanın.
```bash
openclaw gateway status
openclaw status
openclaw logs --follow
openclaw doctor
-openclaw gateway status --deep # sistem düzeyi hizmetleri de tara
+openclaw gateway status --deep # also scan system-level services
```
-Şunları arayın:
+Şunlara bakın:
- Çıkış ipuçlarıyla birlikte `Runtime: stopped`.
-- Hizmet yapılandırması uyumsuzluğu (`Config (cli)` ile `Config (service)`).
-- Port/dinleyici çakışmaları.
+- Hizmet yapılandırması uyuşmazlığı (`Config (cli)` ile `Config (service)`).
+- Bağlantı noktası/dinleyici çakışmaları.
- `--deep` kullanıldığında ek launchd/systemd/schtasks kurulumları.
- `Other gateway-like services detected (best effort)` temizleme ipuçları.
-
- - `Gateway start blocked: set gateway.mode=local` veya `existing config is missing gateway.mode` → yerel Gateway modu etkin değil ya da yapılandırma dosyasının üzerine yazılmış ve `gateway.mode` kaybolmuş. Düzeltme: yapılandırmanızda `gateway.mode="local"` ayarlayın veya beklenen yerel mod yapılandırmasını yeniden damgalamak için `openclaw onboard --mode local` / `openclaw setup` komutunu yeniden çalıştırın. OpenClaw'ı Podman ile çalıştırıyorsanız varsayılan yapılandırma yolu `~/.openclaw/openclaw.json` olur.
- - `refusing to bind gateway ... without auth` → geçerli bir Gateway kimlik doğrulama yolu olmadan loopback dışı bağlama (token/parola veya yapılandırılmışsa güvenilen proxy).
- - `another gateway instance is already listening` / `EADDRINUSE` → port çakışması.
- - `Other gateway-like services detected (best effort)` → eski veya paralel launchd/systemd/schtasks birimleri var. Çoğu kurulum makine başına tek Gateway tutmalıdır; birden fazlasına gerçekten ihtiyacınız varsa portları + yapılandırma/durum/çalışma alanını yalıtın. Bkz. [/gateway#multiple-gateways-same-host](/tr/gateway#multiple-gateways-same-host).
- - Doctor'dan `System-level OpenClaw gateway service detected` → kullanıcı düzeyi hizmet eksikken bir systemd sistem birimi var. Doctor'ın kullanıcı hizmeti kurmasına izin vermeden önce kopyayı kaldırın veya devre dışı bırakın ya da sistem birimi amaçlanan yönetici ise `OPENCLAW_SERVICE_REPAIR_POLICY=external` ayarlayın.
- - `Gateway service port does not match current gateway config` → kurulu yönetici hâlâ eski `--port` değerini sabitliyor. `openclaw doctor --fix` veya `openclaw gateway install --force` çalıştırın, ardından Gateway hizmetini yeniden başlatın.
+
+ - `Gateway start blocked: set gateway.mode=local` veya `existing config is missing gateway.mode` → yerel Gateway modu etkin değil ya da yapılandırma dosyasının üzerine yazılmış ve `gateway.mode` kaybolmuş. Düzeltme: yapılandırmanızda `gateway.mode="local"` ayarlayın veya beklenen yerel mod yapılandırmasını yeniden damgalamak için `openclaw onboard --mode local` / `openclaw setup` komutunu yeniden çalıştırın. OpenClaw'ı Podman üzerinden çalıştırıyorsanız varsayılan yapılandırma yolu `~/.openclaw/openclaw.json` olur.
+ - `refusing to bind gateway ... without auth` → geçerli bir Gateway kimlik doğrulama yolu (belirteç/parola veya yapılandırılmışsa güvenilir proxy) olmadan geri döngü dışı bağlama.
+ - `another gateway instance is already listening` / `EADDRINUSE` → bağlantı noktası çakışması.
+ - `Other gateway-like services detected (best effort)` → eski veya paralel launchd/systemd/schtasks birimleri var. Çoğu kurulum makine başına tek Gateway tutmalıdır; birden fazlasına gerçekten ihtiyacınız varsa bağlantı noktalarını + yapılandırmayı/durumu/çalışma alanını yalıtın. Bkz. [/gateway#multiple-gateways-same-host](/tr/gateway#multiple-gateways-same-host).
+ - Doctor'dan `System-level OpenClaw gateway service detected` → kullanıcı düzeyi hizmet yokken bir systemd sistem birimi var. Doctor'ın kullanıcı hizmeti kurmasına izin vermeden önce yinelenen birimi kaldırın veya devre dışı bırakın ya da sistem birimi amaçlanan denetleyiciyse `OPENCLAW_SERVICE_REPAIR_POLICY=external` ayarlayın.
+ - `Gateway service port does not match current gateway config` → kurulu denetleyici hâlâ eski `--port` değerini sabitliyor. `openclaw doctor --fix` veya `openclaw gateway install --force` çalıştırın, ardından Gateway hizmetini yeniden başlatın.
@@ -309,7 +309,7 @@ openclaw gateway status --deep # sistem düzeyi hizmetleri de tara
## Gateway bilinen son iyi yapılandırmayı geri yükledi
-Gateway başlıyorsa ancak günlükler `openclaw.json` dosyasını geri yüklediğini söylüyorsa bunu kullanın.
+Gateway başlıyor ancak günlükler `openclaw.json` dosyasının geri yüklendiğini söylüyorsa bunu kullanın.
```bash
openclaw logs --follow
@@ -318,7 +318,7 @@ openclaw config validate
openclaw doctor
```
-Şunları arayın:
+Şunlara bakın:
- `Config auto-restored from last-known-good`
- `gateway: invalid config was restored from last-known-good backup`
@@ -327,15 +327,15 @@ openclaw doctor
- `Config recovery warning` ile başlayan bir ana ajan sistem olayı
-
- - Reddedilen yapılandırma başlatma veya sıcak yeniden yükleme sırasında doğrulanmadı.
- - OpenClaw reddedilen payload'u `.clobbered.*` olarak korudu.
- - Etkin yapılandırma, son doğrulanmış bilinen son iyi kopyadan geri yüklendi.
- - Sonraki ana ajan turu, reddedilen yapılandırmayı körü körüne yeniden yazmaması için uyarılır.
- - Tüm doğrulama sorunları `plugins.entries....` altındaysa OpenClaw tüm dosyayı geri yüklemezdi. Plugin'e yerel hatalar görünür kalırken ilgisiz kullanıcı ayarları etkin yapılandırmada kalır.
+
+ - Reddedilen yapılandırma, başlatma veya sıcak yeniden yükleme sırasında doğrulanmadı.
+ - OpenClaw reddedilen yükü `.clobbered.*` olarak korudu.
+ - Etkin yapılandırma, doğrulanmış son bilinen iyi kopyadan geri yüklendi.
+ - Sonraki ana ajan turu, reddedilen yapılandırmayı körlemesine yeniden yazmaması için uyarılır.
+ - Tüm doğrulama sorunları `plugins.entries....` altında olsaydı OpenClaw dosyanın tamamını geri yüklemezdi. Plugin yerelindeki hatalar görünür kalırken ilgisiz kullanıcı ayarları etkin yapılandırmada kalır.
-
+
```bash
CONFIG="$(openclaw config file)"
ls -lt "$CONFIG".clobbered.* "$CONFIG".rejected.* 2>/dev/null | head
@@ -344,19 +344,20 @@ openclaw doctor
openclaw doctor
```
-
+
- `.clobbered.*` var → harici doğrudan düzenleme veya başlatma okuması geri yüklendi.
- - `.rejected.*` var → OpenClaw'a ait bir yapılandırma yazımı, commit öncesinde şema veya üzerine yazma denetimlerinde başarısız oldu.
- - `Config write rejected:` → yazma, gerekli şekli düşürmeye, dosyayı keskin biçimde küçültmeye veya geçersiz yapılandırmayı kalıcılaştırmaya çalıştı.
- - `missing-meta-vs-last-good`, `gateway-mode-missing-vs-last-good` veya `size-drop-vs-last-good:*` → başlatma, mevcut dosyayı son bilinen iyi yedeğe kıyasla alanları veya boyutu kaybettiği için üzerine yazılmış olarak ele aldı.
- - `Config last-known-good promotion skipped` → aday, `***` gibi sansürlenmiş gizli yer tutucular içeriyordu.
+ - `.rejected.*` var → OpenClaw'a ait bir yapılandırma yazımı, işleme alınmadan önce şema veya üzerine yazma denetimlerinde başarısız oldu.
+ - `Config write rejected:` → yazma işlemi gerekli şekli kaldırmaya, dosyayı keskin biçimde küçültmeye veya geçersiz yapılandırmayı kalıcılaştırmaya çalıştı.
+ - `Rejected validation details:` → kurtarma günlüğü veya ana ajan bildirimi, geri yüklemeye neden olan şema yolunu içerir; örneğin `agents.defaults.execution` veya `gateway.auth.password.source`.
+ - `missing-meta-vs-last-good`, `gateway-mode-missing-vs-last-good` veya `size-drop-vs-last-good:*` → başlatma, mevcut dosyayı son bilinen iyi yedeğe kıyasla alan veya boyut kaybettiği için üzerine yazılmış kabul etti.
+ - `Config last-known-good promotion skipped` → aday, `***` gibi maskelenmiş gizli yer tutucuları içeriyordu.
-
+
1. Doğruysa geri yüklenen etkin yapılandırmayı koruyun.
- 2. Yalnızca amaçlanan anahtarları `.clobbered.*` veya `.rejected.*` içinden kopyalayın, ardından `openclaw config set` ya da `config.patch` ile uygulayın.
+ 2. Yalnızca amaçlanan anahtarları `.clobbered.*` veya `.rejected.*` içinden kopyalayın, ardından bunları `openclaw config set` veya `config.patch` ile uygulayın.
3. Yeniden başlatmadan önce `openclaw config validate` çalıştırın.
- 4. Elle düzenliyorsanız yalnızca değiştirmek istediğiniz kısmi nesneyi değil, tam JSON5 yapılandırmasını koruyun.
+ 4. Elle düzenliyorsanız, değiştirmek istediğiniz kısmi nesneyi değil tam JSON5 yapılandırmasını koruyun.
@@ -377,29 +378,29 @@ openclaw gateway probe --json
openclaw gateway probe --ssh user@gateway-host
```
-Şunları arayın:
+Şunlara bakın:
- JSON çıktısında `warnings[].code` ve `primaryTargetId`.
-- Uyarının SSH geri dönüşü, birden çok Gateway, eksik kapsamlar veya çözümlenmemiş kimlik doğrulama başvuruları hakkında olup olmadığı.
+- Uyarının SSH geri dönüşü, birden fazla Gateway, eksik kapsamlar veya çözümlenmemiş kimlik doğrulama başvuruları hakkında olup olmadığı.
Yaygın imzalar:
-- `SSH tunnel failed to start; falling back to direct probes.` → SSH kurulumu başarısız oldu, ancak komut yine de doğrudan yapılandırılmış/loopback hedeflerini denedi.
-- `multiple reachable gateways detected` → birden fazla hedef yanıt verdi. Bu genellikle amaçlı bir çoklu Gateway kurulumu veya eski/kopya dinleyiciler anlamına gelir.
-- `Read-probe diagnostics are limited by gateway scopes (missing operator.read)` → bağlantı çalıştı, ancak ayrıntı RPC kapsamla sınırlı; cihaz kimliğini eşleştirin veya `operator.read` ile kimlik bilgileri kullanın.
-- `Gateway accepted the WebSocket connection, but follow-up read diagnostics failed` → bağlantı çalıştı, ancak tam tanılama RPC seti zaman aşımına uğradı veya başarısız oldu. Bunu zayıflamış tanılamalara sahip erişilebilir bir Gateway olarak ele alın; `--json` çıktısında `connect.ok` ve `connect.rpcOk` değerlerini karşılaştırın.
-- `Capability: pairing-pending` veya `gateway closed (1008): pairing required` → Gateway yanıt verdi, ancak bu istemcinin normal operatör erişiminden önce hâlâ eşleştirme/onaya ihtiyacı var.
+- `SSH tunnel failed to start; falling back to direct probes.` → SSH kurulumu başarısız oldu, ancak komut yine de doğrudan yapılandırılmış/geri döngü hedeflerini denedi.
+- `multiple reachable gateways detected` → birden fazla hedef yanıt verdi. Genellikle bu, kasıtlı bir çoklu Gateway kurulumu veya eski/yinelenen dinleyiciler anlamına gelir.
+- `Read-probe diagnostics are limited by gateway scopes (missing operator.read)` → bağlantı çalıştı, ancak ayrıntı RPC'si kapsamla sınırlı; cihaz kimliğini eşleyin veya `operator.read` içeren kimlik bilgileri kullanın.
+- `Gateway accepted the WebSocket connection, but follow-up read diagnostics failed` → bağlantı çalıştı, ancak tam tanılama RPC seti zaman aşımına uğradı veya başarısız oldu. Bunu, tanılamaları kısıtlı olan erişilebilir bir Gateway olarak değerlendirin; `--json` çıktısında `connect.ok` ve `connect.rpcOk` değerlerini karşılaştırın.
+- `Capability: pairing-pending` veya `gateway closed (1008): pairing required` → Gateway yanıt verdi, ancak bu istemcinin normal operatör erişiminden önce hâlâ eşleme/onay alması gerekiyor.
- çözümlenmemiş `gateway.auth.*` / `gateway.remote.*` SecretRef uyarı metni → başarısız hedef için bu komut yolunda kimlik doğrulama materyali kullanılamadı.
İlgili:
- [Gateway](/tr/cli/gateway)
-- [Aynı ana makinede birden çok Gateway](/tr/gateway#multiple-gateways-same-host)
+- [Aynı ana bilgisayarda birden fazla Gateway](/tr/gateway#multiple-gateways-same-host)
- [Uzaktan erişim](/tr/gateway/remote)
-## Kanal bağlı, mesajlar akmıyor
+## Kanal bağlı, iletiler akmıyor
-Kanal durumu bağlıysa ancak mesaj akışı durmuşsa, ilkeye, izinlere ve kanala özgü teslim kurallarına odaklanın.
+Kanal durumu bağlıysa ancak ileti akışı durmuşsa ilkeye, izinlere ve kanala özgü teslim kurallarına odaklanın.
```bash
openclaw channels status --probe
@@ -409,7 +410,7 @@ openclaw logs --follow
openclaw config get channels
```
-Şunları arayın:
+Şunlara bakın:
- DM ilkesi (`pairing`, `allowlist`, `open`, `disabled`).
- Grup izin listesi ve bahsetme gereksinimleri.
@@ -417,7 +418,7 @@ openclaw config get channels
Yaygın imzalar:
-- `mention required` → ileti grup bahsetme ilkesi nedeniyle yok sayıldı.
+- `mention required` → ileti, grup bahsetme ilkesi tarafından yok sayıldı.
- `pairing` / bekleyen onay izleri → gönderen onaylı değil.
- `missing_scope`, `not_in_channel`, `Forbidden`, `401/403` → kanal kimlik doğrulama/izin sorunu.
@@ -440,21 +441,21 @@ openclaw system heartbeat last
openclaw logs --follow
```
-Şunlara bakın:
+Şunları arayın:
- Cron etkin ve sonraki uyanma mevcut.
- İş çalıştırma geçmişi durumu (`ok`, `skipped`, `error`).
- Heartbeat atlama nedenleri (`quiet-hours`, `requests-in-flight`, `cron-in-progress`, `lanes-busy`, `alerts-disabled`, `empty-heartbeat-file`, `no-tasks-due`).
-
- - `cron: scheduler disabled; jobs will not run automatically` → Cron devre dışı.
- - `cron: timer tick failed` → zamanlayıcı tıkı başarısız oldu; dosya/günlük/çalışma zamanı hatalarını kontrol edin.
- - `heartbeat skipped` ve `reason=quiet-hours` → etkin saatler penceresinin dışında.
- - `heartbeat skipped` ve `reason=empty-heartbeat-file` → `HEARTBEAT.md` var ancak yalnızca boş satırlar / Markdown başlıkları içeriyor; bu yüzden OpenClaw model çağrısını atlar.
- - `heartbeat skipped` ve `reason=no-tasks-due` → `HEARTBEAT.md` bir `tasks:` bloğu içeriyor, ancak bu tıkta hiçbir görevin zamanı gelmemiş.
+
+ - `cron: scheduler disabled; jobs will not run automatically` → cron devre dışı.
+ - `cron: timer tick failed` → zamanlayıcı tik işlemi başarısız oldu; dosya/günlük/çalışma zamanı hatalarını denetleyin.
+ - `heartbeat skipped` with `reason=quiet-hours` → etkin saatler penceresinin dışında.
+ - `heartbeat skipped` with `reason=empty-heartbeat-file` → `HEARTBEAT.md` var ancak yalnızca boş satırlar / markdown başlıkları içeriyor, bu yüzden OpenClaw model çağrısını atlar.
+ - `heartbeat skipped` with `reason=no-tasks-due` → `HEARTBEAT.md` bir `tasks:` bloğu içeriyor, ancak bu tikte görevlerin hiçbiri gelmiş değil.
- `heartbeat: unknown accountId` → Heartbeat teslim hedefi için geçersiz hesap kimliği.
- - `heartbeat skipped` ve `reason=dm-blocked` → Heartbeat hedefi, `agents.defaults.heartbeat.directPolicy` (veya ajan bazında geçersiz kılma) `block` olarak ayarlanmışken DM tarzı bir hedefe çözümlendi.
+ - `heartbeat skipped` with `reason=dm-blocked` → Heartbeat hedefi, `agents.defaults.heartbeat.directPolicy` (veya aracı başına geçersiz kılma) `block` olarak ayarlıyken DM tarzı bir hedefe çözümlendi.
@@ -467,7 +468,7 @@ openclaw logs --follow
## Node eşleştirildi, araç başarısız oluyor
-Bir Node eşleştirilmişse ancak araçlar başarısız oluyorsa ön plan, izin ve onay durumunu yalıtın.
+Bir Node eşleştirilmişse ancak araçlar başarısız oluyorsa ön plan, izin ve onay durumunu izole edin.
```bash
openclaw nodes status
@@ -477,28 +478,28 @@ openclaw logs --follow
openclaw status
```
-Şunlara bakın:
+Şunları arayın:
-- Beklenen yeteneklere sahip çevrimiçi Node.
+- Beklenen yeteneklerle Node çevrimiçi.
- Kamera/mikrofon/konum/ekran için işletim sistemi izinleri.
- Exec onayları ve izin listesi durumu.
Yaygın imzalar:
-- `NODE_BACKGROUND_UNAVAILABLE` → Node uygulaması ön planda olmalı.
-- `*_PERMISSION_REQUIRED` / `LOCATION_PERMISSION_REQUIRED` → işletim sistemi izni eksik.
-- `SYSTEM_RUN_DENIED: approval required` → Exec onayı bekliyor.
+- `NODE_BACKGROUND_UNAVAILABLE` → Node uygulaması ön planda olmalıdır.
+- `*_PERMISSION_REQUIRED` / `LOCATION_PERMISSION_REQUIRED` → eksik işletim sistemi izni.
+- `SYSTEM_RUN_DENIED: approval required` → exec onayı bekliyor.
- `SYSTEM_RUN_DENIED: allowlist miss` → komut izin listesi tarafından engellendi.
İlgili:
- [Exec onayları](/tr/tools/exec-approvals)
- [Node sorun giderme](/tr/nodes/troubleshooting)
-- [Node'lar](/tr/nodes/index)
+- [Nodes](/tr/nodes/index)
## Tarayıcı aracı başarısız oluyor
-Gateway sağlıklı olmasına rağmen tarayıcı aracı eylemleri başarısız olduğunda bunu kullanın.
+Gateway'in kendisi sağlıklıyken tarayıcı aracı eylemleri başarısız olduğunda bunu kullanın.
```bash
openclaw browser status
@@ -508,41 +509,41 @@ openclaw logs --follow
openclaw doctor
```
-Şunlara bakın:
+Şunları arayın:
-- `plugins.allow` ayarlı mı ve `browser` içeriyor mu.
-- Geçerli tarayıcı yürütülebilir dosya yolu.
+- `plugins.allow` ayarlanmış mı ve `browser` içeriyor mu.
+- Geçerli tarayıcı çalıştırılabilir dosya yolu.
- CDP profil erişilebilirliği.
- `existing-session` / `user` profilleri için yerel Chrome kullanılabilirliği.
-
- - `unknown command "browser"` veya `unknown command 'browser'` → paketle gelen tarayıcı Plugin'i `plugins.allow` tarafından hariç tutulmuş.
- - `browser.enabled=true` iken tarayıcı aracı eksik / kullanılamıyor → `plugins.allow`, `browser` öğesini hariç tutuyor; bu yüzden Plugin hiç yüklenmedi.
- - `Failed to start Chrome CDP on port` → tarayıcı süreci başlatılamadı.
+
+ - `unknown command "browser"` or `unknown command 'browser'` → paketli tarayıcı Plugin'i `plugins.allow` tarafından dışlanmış.
+ - tarayıcı aracı eksik / kullanılamıyor, `browser.enabled=true` iken → `plugins.allow`, `browser` öğesini dışlıyor, bu yüzden Plugin hiç yüklenmedi.
+ - `Failed to start Chrome CDP on port` → tarayıcı işlemi başlatılamadı.
- `browser.executablePath not found` → yapılandırılmış yol geçersiz.
- `browser.cdpUrl must be http(s) or ws(s)` → yapılandırılmış CDP URL'si `file:` veya `ftp:` gibi desteklenmeyen bir şema kullanıyor.
- - `browser.cdpUrl has invalid port` → yapılandırılmış CDP URL'sinde hatalı veya aralık dışında bir port var.
- - `Playwright is not available in this gateway build; '' is unsupported.` → geçerli Gateway kurulumu, paketle gelen tarayıcı Plugin'inin `playwright-core` çalışma zamanı bağımlılığından yoksun; `openclaw doctor --fix` çalıştırın, ardından Gateway'i yeniden başlatın. ARIA anlık görüntüleri ve temel sayfa ekran görüntüleri çalışmaya devam edebilir, ancak gezinme, AI anlık görüntüleri, CSS seçici öğe ekran görüntüleri ve PDF dışa aktarma kullanılamaz kalır.
+ - `browser.cdpUrl has invalid port` → yapılandırılmış CDP URL'sinde hatalı veya aralık dışında bir bağlantı noktası var.
+ - `Playwright is not available in this gateway build; '' is unsupported.` → geçerli Gateway kurulumu, paketli tarayıcı Plugin'inin `playwright-core` çalışma zamanı bağımlılığından yoksun; `openclaw doctor --fix` çalıştırın, ardından Gateway'i yeniden başlatın. ARIA anlık görüntüleri ve temel sayfa ekran görüntüleri yine de çalışabilir, ancak gezinme, AI anlık görüntüleri, CSS seçici öğe ekran görüntüleri ve PDF dışa aktarma kullanılamaz kalır.
-
- - `Could not find DevToolsActivePort for chrome` → Chrome MCP mevcut oturumu, seçilen tarayıcı veri dizinine henüz bağlanamadı. Tarayıcı inceleme sayfasını açın, uzaktan hata ayıklamayı etkinleştirin, tarayıcıyı açık tutun, ilk bağlanma istemini onaylayın, ardından yeniden deneyin. Oturum açılmış durum gerekmiyorsa yönetilen `openclaw` profilini tercih edin.
+
+ - `Could not find DevToolsActivePort for chrome` → Chrome MCP existing-session henüz seçilen tarayıcı veri dizinine bağlanamadı. Tarayıcı inceleme sayfasını açın, uzaktan hata ayıklamayı etkinleştirin, tarayıcıyı açık tutun, ilk bağlanma istemini onaylayın, ardından yeniden deneyin. Oturum açılmış durum gerekli değilse yönetilen `openclaw` profilini tercih edin.
- `No Chrome tabs found for profile="user"` → Chrome MCP bağlanma profilinde açık yerel Chrome sekmesi yok.
- `Remote CDP for profile "" is not reachable` → yapılandırılmış uzak CDP uç noktasına Gateway ana makinesinden erişilemiyor.
- - `Browser attachOnly is enabled ... not reachable` veya `Browser attachOnly is enabled and CDP websocket ... is not reachable` → yalnızca bağlanma profilinin erişilebilir hedefi yok ya da HTTP uç noktası yanıt verdi ancak CDP WebSocket yine de açılamadı.
+ - `Browser attachOnly is enabled ... not reachable` or `Browser attachOnly is enabled and CDP websocket ... is not reachable` → yalnızca bağlanma profili için erişilebilir hedef yok veya HTTP uç noktası yanıt verdi ancak CDP WebSocket yine de açılamadı.
-
+
- `fullPage is not supported for element screenshots` → ekran görüntüsü isteği `--full-page` ile `--ref` veya `--element` öğesini birlikte kullandı.
- `element screenshots are not supported for existing-session profiles; use ref from snapshot.` → Chrome MCP / `existing-session` ekran görüntüsü çağrıları CSS `--element` değil, sayfa yakalama veya anlık görüntü `--ref` kullanmalıdır.
- - `existing-session file uploads do not support element selectors; use ref/inputRef.` → Chrome MCP yükleme kancaları CSS seçicileri değil, anlık görüntü ref'leri gerektirir.
+ - `existing-session file uploads do not support element selectors; use ref/inputRef.` → Chrome MCP yükleme kancaları CSS seçicileri değil, anlık görüntü referansları gerektirir.
- `existing-session file uploads currently support one file at a time.` → Chrome MCP profillerinde çağrı başına bir yükleme gönderin.
- `existing-session dialog handling does not support timeoutMs.` → Chrome MCP profillerindeki iletişim kutusu kancaları zaman aşımı geçersiz kılmalarını desteklemez.
- - `existing-session type does not support timeoutMs overrides.` → `profile="user"` / Chrome MCP mevcut oturum profillerinde `act:type` için `timeoutMs` değerini çıkarın veya özel zaman aşımı gerektiğinde yönetilen/CDP tarayıcı profili kullanın.
- - `existing-session evaluate does not support timeoutMs overrides.` → `profile="user"` / Chrome MCP mevcut oturum profillerinde `act:evaluate` için `timeoutMs` değerini çıkarın veya özel zaman aşımı gerektiğinde yönetilen/CDP tarayıcı profili kullanın.
- - `response body is not supported for existing-session profiles yet.` → `responsebody` hâlâ yönetilen bir tarayıcı veya ham CDP profili gerektirir.
- - yalnızca bağlanma veya uzak CDP profillerinde eski görüntü alanı / koyu mod / yerel ayar / çevrimdışı geçersiz kılmaları → etkin denetim oturumunu kapatmak ve tüm Gateway'i yeniden başlatmadan Playwright/CDP öykünme durumunu serbest bırakmak için `openclaw browser stop --browser-profile ` çalıştırın.
+ - `existing-session type does not support timeoutMs overrides.` → `profile="user"` / Chrome MCP existing-session profillerinde `act:type` için `timeoutMs` öğesini atlayın veya özel zaman aşımı gerekiyorsa yönetilen/CDP tarayıcı profili kullanın.
+ - `existing-session evaluate does not support timeoutMs overrides.` → `profile="user"` / Chrome MCP existing-session profillerinde `act:evaluate` için `timeoutMs` öğesini atlayın veya özel zaman aşımı gerekiyorsa yönetilen/CDP tarayıcı profili kullanın.
+ - `response body is not supported for existing-session profiles yet.` → `responsebody` hâlâ yönetilen tarayıcı veya ham CDP profili gerektirir.
+ - yalnızca bağlanma veya uzak CDP profillerinde eski viewport / koyu mod / yerel ayar / çevrimdışı geçersiz kılmaları → tüm Gateway'i yeniden başlatmadan etkin denetim oturumunu kapatmak ve Playwright/CDP öykünme durumunu serbest bırakmak için `openclaw browser stop --browser-profile ` çalıştırın.
@@ -552,12 +553,12 @@ openclaw doctor
- [Tarayıcı (OpenClaw tarafından yönetilen)](/tr/tools/browser)
- [Tarayıcı sorun giderme](/tr/tools/browser-linux-troubleshooting)
-## Yükseltme yaptıysanız ve bir şey aniden bozulduysa
+## Yükselttiyseniz ve bir şey aniden bozulduysa
-Yükseltme sonrası bozulmaların çoğu yapılandırma kayması veya artık zorunlu tutulan daha sıkı varsayılanlardır.
+Yükseltme sonrası bozulmaların çoğu yapılandırma sapması veya artık uygulanan daha katı varsayılanlardır.
-
+
```bash
openclaw gateway status
openclaw config get gateway.mode
@@ -565,18 +566,18 @@ Yükseltme sonrası bozulmaların çoğu yapılandırma kayması veya artık zor
openclaw config get gateway.auth.mode
```
- Kontrol edilecekler:
+ Denetlenecekler:
- - `gateway.mode=remote` ise yerel hizmetiniz sorunsuzken CLI çağrıları uzağı hedefliyor olabilir.
- - Açık `--url` çağrıları saklanan kimlik bilgilerine geri dönmez.
+ - `gateway.mode=remote` ise CLI çağrıları, yerel hizmetiniz sorunsuzken uzak hedefe gidiyor olabilir.
+ - Açık `--url` çağrıları kayıtlı kimlik bilgilerine geri dönmez.
Yaygın imzalar:
- `gateway connect failed:` → yanlış URL hedefi.
- - `unauthorized` → uç nokta erişilebilir ancak kimlik doğrulama yanlış.
+ - `unauthorized` → uç nokta erişilebilir ancak auth yanlış.
-
+
```bash
openclaw config get gateway.bind
openclaw config get gateway.auth.mode
@@ -585,18 +586,18 @@ Yükseltme sonrası bozulmaların çoğu yapılandırma kayması veya artık zor
openclaw logs --follow
```
- Kontrol edilecekler:
+ Denetlenecekler:
- - local loopback dışı bağlamalar (`lan`, `tailnet`, `custom`) geçerli bir Gateway kimlik doğrulama yolu gerektirir: paylaşılan belirteç/parola kimlik doğrulaması veya doğru yapılandırılmış local loopback dışı `trusted-proxy` dağıtımı.
+ - local loopback dışı bağlamalar (`lan`, `tailnet`, `custom`) geçerli bir Gateway auth yolu gerektirir: paylaşılan token/parola auth ya da doğru yapılandırılmış local loopback dışı `trusted-proxy` dağıtımı.
- `gateway.token` gibi eski anahtarlar `gateway.auth.token` yerine geçmez.
Yaygın imzalar:
- - `refusing to bind gateway ... without auth` → geçerli bir Gateway kimlik doğrulama yolu olmadan local loopback dışı bağlama.
- - çalışma zamanı çalışırken `Connectivity probe: failed` → Gateway çalışıyor ancak geçerli kimlik doğrulama/URL ile erişilemiyor.
+ - `refusing to bind gateway ... without auth` → geçerli Gateway auth yolu olmadan local loopback dışı bağlama.
+ - `Connectivity probe: failed` çalışma zamanı çalışırken → Gateway canlı ancak geçerli auth/url ile erişilemez.
-
+
```bash
openclaw devices list
openclaw pairing list --channel [--account ]
@@ -604,20 +605,20 @@ Yükseltme sonrası bozulmaların çoğu yapılandırma kayması veya artık zor
openclaw doctor
```
- Kontrol edilecekler:
+ Denetlenecekler:
- - Pano/Node'lar için bekleyen cihaz onayları.
+ - pano/Node'lar için bekleyen cihaz onayları.
- İlke veya kimlik değişikliklerinden sonra bekleyen DM eşleştirme onayları.
Yaygın imzalar:
- - `device identity required` → cihaz kimlik doğrulaması karşılanmadı.
- - `pairing required` → gönderen/cihaz onaylanmalı.
+ - `device identity required` → cihaz auth karşılanmadı.
+ - `pairing required` → gönderen/cihaz onaylanmalıdır.
-Kontrollerden sonra hizmet yapılandırması ve çalışma zamanı hâlâ uyuşmuyorsa hizmet meta verilerini aynı profil/durum dizininden yeniden yükleyin:
+Denetimlerden sonra hizmet yapılandırması ve çalışma zamanı hâlâ uyuşmuyorsa hizmet meta verilerini aynı profil/durum dizininden yeniden kurun:
```bash
openclaw gateway install --force
@@ -626,12 +627,12 @@ openclaw gateway restart
İlgili:
-- [Kimlik doğrulama](/tr/gateway/authentication)
-- [Arka plan Exec ve süreç aracı](/tr/gateway/background-process)
-- [Gateway'in sahip olduğu eşleştirme](/tr/gateway/pairing)
+- [Authentication](/tr/gateway/authentication)
+- [Arka plan exec ve işlem aracı](/tr/gateway/background-process)
+- [Gateway sahipli eşleştirme](/tr/gateway/pairing)
## İlgili
- [Doctor](/tr/gateway/doctor)
- [SSS](/tr/help/faq)
-- [Gateway çalışma kılavuzu](/tr/gateway)
+- [Gateway runbook](/tr/gateway)
diff --git a/docs/tr/help/testing.md b/docs/tr/help/testing.md
index c09fc7614..68f37044a 100644
--- a/docs/tr/help/testing.md
+++ b/docs/tr/help/testing.md
@@ -2,197 +2,192 @@
read_when:
- Testleri yerel olarak veya CI'da çalıştırma
- Model/sağlayıcı hataları için regresyon testleri ekleme
- - Gateway + aracı davranışında hata ayıklama
-summary: 'Test kiti: birim/e2e/canlı test takımları, Docker çalıştırıcıları ve her testin neleri kapsadığı'
+ - Gateway + ajan davranışında hata ayıklama
+summary: 'Test araç seti: birim/e2e/canlı test takımları, Docker çalıştırıcıları ve her testin neleri kapsadığı'
title: Test Etme
x-i18n:
- generated_at: "2026-04-30T18:38:49Z"
+ generated_at: "2026-05-01T09:01:22Z"
model: gpt-5.5
provider: openai
- source_hash: 470a96c6b47c2708950d05adc4a4efba5fe290f0675a131e2888d2d0032d5953
+ source_hash: 7b0414138f708ca43e47a0d91bc565186d9dda1d487a6813191a383d169b8ae3
source_path: help/testing.md
workflow: 16
---
-OpenClaw'ın üç Vitest paketi (birim/entegrasyon, e2e, canlı) ve küçük bir
-Docker çalıştırıcıları kümesi vardır. Bu belge bir "nasıl test ediyoruz" rehberidir:
+OpenClaw'ın üç Vitest paketi (birim/entegrasyon, e2e, canlı) ve küçük bir Docker çalıştırıcı kümesi vardır. Bu belge bir "nasıl test ediyoruz" rehberidir:
-- Her paketin neleri kapsadığı (ve bilinçli olarak neleri _kapsamadığı_).
+- Her paketin neleri kapsadığı (ve bilinçli olarak neleri kapsamadığı).
- Yaygın iş akışları için hangi komutların çalıştırılacağı (yerel, push öncesi, hata ayıklama).
-- Canlı testlerin kimlik bilgilerini nasıl keşfettiği ve modelleri/sağlayıcıları nasıl seçtiği.
+- Canlı testlerin kimlik bilgilerini nasıl keşfettiği ve model/sağlayıcıları nasıl seçtiği.
- Gerçek dünyadaki model/sağlayıcı sorunları için regresyonların nasıl ekleneceği.
-**QA yığını (qa-lab, qa-channel, canlı aktarım şeritleri)** ayrı olarak belgelenmiştir:
+**QA yığını (qa-lab, qa-channel, canlı taşıma hatları)** ayrı olarak belgelenmiştir:
- [QA genel bakışı](/tr/concepts/qa-e2e-automation) — mimari, komut yüzeyi, senaryo yazımı.
-- [Matrix QA](/tr/concepts/qa-matrix) — `pnpm openclaw qa matrix` için referans.
-- [QA kanalı](/tr/channels/qa-channel) — depo destekli senaryolar tarafından kullanılan sentetik aktarım Plugin'i.
+- [Matrix QA](/tr/concepts/qa-matrix) — `pnpm openclaw qa matrix` için başvuru.
+- [QA kanalı](/tr/channels/qa-channel) — repo destekli senaryolar tarafından kullanılan sentetik taşıma Plugin'i.
-Bu sayfa normal test paketlerini ve Docker/Parallels çalıştırıcılarını çalıştırmayı kapsar. Aşağıdaki QA'ya özgü çalıştırıcılar bölümü ([QA'ya özgü çalıştırıcılar](#qa-specific-runners)) somut `qa` çağrılarını listeler ve yukarıdaki referanslara geri yönlendirir.
+Bu sayfa, normal test paketlerini ve Docker/Parallels çalıştırıcılarını çalıştırmayı kapsar. Aşağıdaki QA'ya özgü çalıştırıcılar bölümü ([QA'ya özgü çalıştırıcılar](#qa-specific-runners)) somut `qa` çağrılarını listeler ve yukarıdaki referanslara geri yönlendirir.
## Hızlı başlangıç
Çoğu gün:
-- Tam geçit (push öncesinde beklenir): `pnpm build && pnpm check && pnpm check:test-types && pnpm test`
+- Tam geçit (push öncesi beklenir): `pnpm build && pnpm check && pnpm check:test-types && pnpm test`
- Geniş kaynaklı bir makinede daha hızlı yerel tam paket çalıştırması: `pnpm test:max`
- Doğrudan Vitest izleme döngüsü: `pnpm test:watch`
- Doğrudan dosya hedefleme artık uzantı/kanal yollarını da yönlendirir: `pnpm test extensions/discord/src/monitor/message-handler.preflight.test.ts`
- Tek bir hata üzerinde yineleme yaparken önce hedefli çalıştırmaları tercih edin.
- Docker destekli QA sitesi: `pnpm qa:lab:up`
-- Linux VM destekli QA şeridi: `pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline`
+- Linux VM destekli QA hattı: `pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline`
-Testlere dokunduğunuzda veya ek güven istediğinizde:
+Testlere dokunduğunuzda veya ek güvence istediğinizde:
- Kapsam geçidi: `pnpm test:coverage`
- E2E paketi: `pnpm test:e2e`
-Gerçek sağlayıcılar/modeller üzerinde hata ayıklarken (gerçek kimlik bilgileri gerektirir):
+Gerçek sağlayıcılar/modeller için hata ayıklarken (gerçek kimlik bilgileri gerekir):
- Canlı paket (modeller + Gateway araç/görüntü yoklamaları): `pnpm test:live`
-- Bir canlı dosyayı sessizce hedefle: `pnpm test:live -- src/agents/models.profiles.live.test.ts`
+- Bir canlı dosyayı sessizce hedefleyin: `pnpm test:live -- src/agents/models.profiles.live.test.ts`
- Docker canlı model taraması: `pnpm test:docker:live-models`
- - Seçilen her model artık bir metin turu ve küçük bir dosya-okuma tarzı yoklama çalıştırır.
- Metadata'sı `image` girişini duyuran modeller ayrıca küçük bir görüntü turu çalıştırır.
- Sağlayıcı hatalarını izole ederken ek yoklamaları `OPENCLAW_LIVE_MODEL_FILE_PROBE=0` veya
+ - Seçilen her model artık bir metin turu ve küçük bir dosya okuma tarzı yoklama çalıştırır.
+ Meta verileri `image` girdisi duyuran modeller ayrıca küçük bir görüntü turu çalıştırır.
+ Sağlayıcı hatalarını yalıtırken ek yoklamaları `OPENCLAW_LIVE_MODEL_FILE_PROBE=0` veya
`OPENCLAW_LIVE_MODEL_IMAGE_PROBE=0` ile devre dışı bırakın.
- - CI kapsamı: günlük `OpenClaw Scheduled Live And E2E Checks` ve manuel
- `OpenClaw Release Checks`, ayrı Docker canlı model
- matris işlerini sağlayıcıya göre parçalanmış halde içeren yeniden kullanılabilir canlı/E2E iş akışını
- `include_live_suites: true` ile çağırır.
+ - CI kapsamı: günlük `OpenClaw Scheduled Live And E2E Checks` ve elle çalıştırılan
+ `OpenClaw Release Checks`, ikisi de yeniden kullanılabilir canlı/E2E iş akışını
+ `include_live_suites: true` ile çağırır; buna sağlayıcıya göre parçalanmış ayrı Docker canlı model
+ matrix işleri dahildir.
- Odaklı CI yeniden çalıştırmaları için `OpenClaw Live And E2E Checks (Reusable)` iş akışını
`include_live_suites: true` ve `live_models_only: true` ile tetikleyin.
- - Yeni yüksek sinyalli sağlayıcı gizlerini `scripts/ci-hydrate-live-auth.sh`
- ile `.github/workflows/openclaw-live-and-e2e-checks-reusable.yml` dosyasına ve onun
+ - Yeni yüksek sinyalli sağlayıcı sırlarını `scripts/ci-hydrate-live-auth.sh`
+ ile `.github/workflows/openclaw-live-and-e2e-checks-reusable.yml` ve onun
zamanlanmış/sürüm çağırıcılarına ekleyin.
-- Yerel Codex bağlı sohbet smoke testi: `pnpm test:docker:live-codex-bind`
- - Codex app-server yolu üzerinde Docker canlı şeridi çalıştırır, sentetik bir
- Slack DM'yi `/codex bind` ile bağlar, `/codex fast` ve
- `/codex permissions` komutlarını uygular, ardından düz bir yanıtın ve bir görüntü ekinin
+- Yerel Codex bağlı sohbet duman testi: `pnpm test:docker:live-codex-bind`
+ - Codex uygulama sunucusu yolu üzerinde bir Docker canlı hattı çalıştırır, sentetik bir
+ Slack DM'ini `/codex bind` ile bağlar, `/codex fast` ve
+ `/codex permissions` komutlarını çalıştırır, ardından düz bir yanıtın ve bir görüntü ekinin
ACP yerine yerel Plugin bağlaması üzerinden yönlendirildiğini doğrular.
-- Codex app-server koşum smoke testi: `pnpm test:docker:live-codex-harness`
- - Gateway ajan turlarını Plugin'e ait Codex app-server koşumu üzerinden çalıştırır,
- `/codex status` ve `/codex models` öğelerini doğrular ve varsayılan olarak görüntü,
- cron MCP, alt ajan ve Guardian yoklamalarını uygular. Diğer Codex
- app-server hatalarını izole ederken alt ajan yoklamasını
- `OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=0` ile devre dışı bırakın. Odaklı bir alt ajan denetimi için diğer yoklamaları devre dışı bırakın:
+- Codex uygulama sunucusu harness duman testi: `pnpm test:docker:live-codex-harness`
+ - Gateway agent turlarını Plugin'e ait Codex uygulama sunucusu harness'i üzerinden çalıştırır,
+ `/codex status` ve `/codex models` komutlarını doğrular ve varsayılan olarak görüntü,
+ Cron MCP, alt agent ve Guardian yoklamalarını çalıştırır. Diğer Codex
+ uygulama sunucusu hatalarını yalıtırken alt agent yoklamasını
+ `OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=0` ile devre dışı bırakın. Odaklı bir alt agent kontrolü için diğer yoklamaları devre dışı bırakın:
`OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0 OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_PROBE=1 pnpm test:docker:live-codex-harness`.
- `OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_ONLY=0` ayarlanmadıkça bu, alt ajan yoklamasından sonra çıkar.
-- Crestodian kurtarma komutu smoke testi: `pnpm test:live:crestodian-rescue-channel`
- - Mesaj-kanalı kurtarma komutu yüzeyi için isteğe bağlı, ekstra güvence denetimi.
- `/crestodian status` komutunu uygular, kalıcı bir model değişikliğini sıraya alır,
+ `OPENCLAW_LIVE_CODEX_HARNESS_SUBAGENT_ONLY=0` ayarlanmadığı sürece bu, alt agent yoklamasından sonra çıkar.
+- Crestodian kurtarma komutu duman testi: `pnpm test:live:crestodian-rescue-channel`
+ - Mesaj kanalı kurtarma komutu yüzeyi için isteğe bağlı ekstra güvence kontrolü.
+ `/crestodian status` komutunu çalıştırır, kalıcı bir model değişikliğini kuyruğa alır,
`/crestodian yes` yanıtını verir ve denetim/yapılandırma yazma yolunu doğrular.
-- Crestodian planlayıcı Docker smoke testi: `pnpm test:docker:crestodian-planner`
- - Crestodian'ı `PATH` üzerinde sahte bir Claude CLI bulunan yapılandırmasız bir konteynerde çalıştırır
- ve bulanık planlayıcı geri dönüşünün denetlenmiş tipli bir
- yapılandırma yazımına çevrildiğini doğrular.
-- Crestodian ilk çalıştırma Docker smoke testi: `pnpm test:docker:crestodian-first-run`
+- Crestodian planlayıcı Docker duman testi: `pnpm test:docker:crestodian-planner`
+ - Crestodian'ı `PATH` üzerinde sahte bir Claude CLI ile yapılandırmasız bir konteynerde çalıştırır
+ ve bulanık planlayıcı geri dönüşünün denetlenmiş, türlendirilmiş bir yapılandırma yazımına çevrildiğini doğrular.
+- Crestodian ilk çalıştırma Docker duman testi: `pnpm test:docker:crestodian-first-run`
- Boş bir OpenClaw durum dizininden başlar, yalın `openclaw` komutunu
- Crestodian'a yönlendirir, kurulum/model/ajan/Discord Plugin + SecretRef yazımlarını uygular,
+ Crestodian'a yönlendirir, kurulum/model/agent/Discord Plugin + SecretRef yazımlarını uygular,
yapılandırmayı doğrular ve denetim girdilerini doğrular. Aynı Ring 0 kurulum yolu
QA Lab'de de
`pnpm openclaw qa suite --scenario crestodian-ring-zero-setup` ile kapsanır.
-- Moonshot/Kimi maliyet smoke testi: `MOONSHOT_API_KEY` ayarlıyken
- `openclaw models list --provider moonshot --json` çalıştırın, ardından `moonshot/kimi-k2.6` üzerinde izole bir
+- Moonshot/Kimi maliyet duman testi: `MOONSHOT_API_KEY` ayarlıyken
+ `openclaw models list --provider moonshot --json` komutunu çalıştırın, ardından yalıtılmış bir
`openclaw agent --local --session-id live-kimi-cost --message 'Reply exactly: KIMI_LIVE_OK' --thinking off --json`
- çalıştırın. JSON'un Moonshot/K2.6 bildirdiğini ve asistan transkriptinin normalize edilmiş `usage.cost` sakladığını doğrulayın.
+ komutunu `moonshot/kimi-k2.6` üzerinde çalıştırın. JSON'un Moonshot/K2.6 bildirdiğini ve
+ assistant transkriptinin normalleştirilmiş `usage.cost` sakladığını doğrulayın.
-Yalnızca bir başarısız vakaya ihtiyacınız olduğunda, canlı testleri aşağıda açıklanan izin listesi env var'larıyla daraltmayı tercih edin.
+Yalnızca tek bir başarısız vakaya ihtiyacınız olduğunda, aşağıda açıklanan izin listesi ortam değişkenleriyle canlı testleri daraltmayı tercih edin.
## QA'ya özgü çalıştırıcılar
-Bu komutlar, QA-lab gerçekçiliğine ihtiyaç duyduğunuzda ana test paketlerinin yanında yer alır:
+QA-lab gerçekçiliğine ihtiyaç duyduğunuzda bu komutlar ana test paketlerinin yanında bulunur:
-CI, QA Lab'i özel iş akışlarında çalıştırır. `Parity gate`, eşleşen PR'larda ve
-sahte sağlayıcılarla manuel tetiklemeden çalışır. `QA-Lab - All Lanes`, `main` üzerinde
-gece çalışır ve sahte eşlik geçidi, canlı Matrix şeridi,
-Convex tarafından yönetilen canlı Telegram şeridi ve Convex tarafından yönetilen canlı Discord şeridi ile
-manuel tetiklemeden paralel işler olarak çalışır. Zamanlanmış QA ve sürüm denetimleri Matrix `--profile fast`
-seçeneğini açıkça geçirirken, Matrix CLI ve manuel iş akışı girdisi varsayılanı
-`all` olarak kalır; manuel tetikleme `all` öğesini `transport`, `media`, `e2ee-smoke`,
-`e2ee-deep` ve `e2ee-cli` işlerine parçalayabilir. `OpenClaw Release Checks`, sürüm onayından önce
-eşliği ve hızlı Matrix ile Telegram şeritlerini çalıştırır; sürüm aktarım denetimleri için
+CI, QA Lab'i ayrılmış iş akışlarında çalıştırır. `Parity gate`, eşleşen PR'larda ve
+mock sağlayıcılarla elle tetiklemeden çalışır. `QA-Lab - All Lanes`, her gece
+`main` üzerinde ve mock parity geçidi, canlı Matrix hattı,
+Convex yönetimli canlı Telegram hattı ve Convex yönetimli canlı Discord hattı ile elle tetiklemeden
+paralel işler olarak çalışır. Zamanlanmış QA ve sürüm kontrolleri Matrix `--profile fast`
+seçeneğini açıkça geçirirken, Matrix CLI ve elle iş akışı girdisinin varsayılanı
+`all` kalır; elle tetikleme `all` değerini `transport`, `media`, `e2ee-smoke`,
+`e2ee-deep` ve `e2ee-cli` işlerine parçalayabilir. `OpenClaw Release Checks`, sürüm onayından önce parity ile
+hızlı Matrix ve Telegram hatlarını çalıştırır; sürüm taşıma kontrolleri için
`mock-openai/gpt-5.5` kullanır, böylece bunlar deterministik kalır
-ve normal sağlayıcı-Plugin başlatmasını atlar. Bu canlı aktarım Gateway'leri
-bellek aramasını devre dışı bırakır; bellek davranışı QA eşlik paketleri tarafından kapsanmaya devam eder.
+ve normal sağlayıcı Plugin başlangıcından kaçınır. Bu canlı taşıma Gateway'leri
+bellek aramasını devre dışı bırakır; bellek davranışı QA parity paketleri tarafından kapsanmaya devam eder.
Tam sürüm canlı medya parçaları
`ghcr.io/openclaw/openclaw-live-media-runner:ubuntu-24.04` kullanır; bu imajda zaten
-`ffmpeg` ve `ffprobe` bulunur. Docker canlı model/arka uç parçaları, seçilen
-commit başına bir kez oluşturulan ortak
-`ghcr.io/openclaw/openclaw-live-test:` imajını kullanır, ardından her parça içinde yeniden oluşturmak yerine
-`OPENCLAW_SKIP_DOCKER_BUILD=1` ile onu çeker.
+`ffmpeg` ve `ffprobe` bulunur. Docker canlı model/backend parçaları, seçilen
+commit başına bir kez oluşturulan paylaşılan
+`ghcr.io/openclaw/openclaw-live-test:` imajını kullanır, ardından her parçada
+yeniden derlemek yerine `OPENCLAW_SKIP_DOCKER_BUILD=1` ile çeker.
- `pnpm openclaw qa suite`
- - Depo destekli QA senaryolarını doğrudan ana makinede çalıştırır.
- - Seçilen birden çok senaryoyu varsayılan olarak izole
- Gateway çalışanlarıyla paralel çalıştırır. `qa-channel`, concurrency 4 değerini varsayar (seçilen
- senaryo sayısıyla sınırlıdır). Çalışan sayısını ayarlamak için
- `--concurrency ` kullanın veya eski seri şerit için `--concurrency 1` kullanın.
- - Herhangi bir senaryo başarısız olursa sıfır olmayan kodla çıkar. Başarısız çıkış kodu olmadan
- artifact istediğinizde `--allow-failures` kullanın.
+ - Repo destekli QA senaryolarını doğrudan ana makinede çalıştırır.
+ - Seçilen birden fazla senaryoyu varsayılan olarak yalıtılmış
+ Gateway worker'larıyla paralel çalıştırır. `qa-channel` varsayılan olarak eşzamanlılığı 4 yapar (seçilen
+ senaryo sayısıyla sınırlı). Worker sayısını ayarlamak için `--concurrency `
+ veya eski seri hat için `--concurrency 1` kullanın.
+ - Herhangi bir senaryo başarısız olduğunda sıfır olmayan kodla çıkar. Başarısız çıkış kodu olmadan
+ artefakt istediğinizde `--allow-failures` kullanın.
- `live-frontier`, `mock-openai` ve `aimock` sağlayıcı modlarını destekler.
- `aimock`, senaryo farkındalıklı
- `mock-openai` şeridinin yerine geçmeden deneysel fixture ve protokol-sahte kapsamı için yerel bir AIMock destekli sağlayıcı sunucusu başlatır.
+ `aimock`, senaryo farkında olan `mock-openai` hattının yerini almadan deneysel
+ fixture ve protokol mock kapsamı için yerel AIMock destekli bir sağlayıcı sunucusu başlatır.
- `pnpm test:gateway:cpu-scenarios`
- - Gateway başlatma bench'i ile küçük bir sahte QA Lab senaryo paketini
+ - Gateway başlangıç kıyaslamasını ve küçük bir mock QA Lab senaryo paketini
(`channel-chat-baseline`, `memory-failure-fallback`,
- `gateway-restart-inflight-run`) çalıştırır ve birleşik CPU gözlem
- özetini `.artifacts/gateway-cpu-scenarios/` altında yazar.
- - Varsayılan olarak yalnızca sürekli sıcak CPU gözlemlerini işaretler (`--cpu-core-warn`
- artı `--hot-wall-warn-ms`), böylece kısa başlatma patlamaları,
- dakikalar süren Gateway kilitlenme regresyonu gibi görünmeden metrik olarak kaydedilir.
- - Oluşturulmuş `dist` artifact'larını kullanır; checkout'ta zaten taze runtime çıktısı yoksa önce build çalıştırın.
+ `gateway-restart-inflight-run`) çalıştırır ve `.artifacts/gateway-cpu-scenarios/` altında birleşik bir CPU gözlem
+ özeti yazar.
+ - Varsayılan olarak yalnızca sürdürülebilir sıcak CPU gözlemlerini işaretler (`--cpu-core-warn`
+ artı `--hot-wall-warn-ms`), böylece kısa başlangıç sıçramaları dakikalar süren Gateway yoğun kullanım regresyonu gibi görünmeden metrik olarak kaydedilir.
+ - Derlenmiş `dist` artefaktlarını kullanır; checkout zaten taze çalışma zamanı çıktısı içermiyorsa önce build çalıştırın.
- `pnpm openclaw qa suite --runner multipass`
- - Aynı QA paketini atılabilir bir Multipass Linux VM içinde çalıştırır.
- - Ana makinedeki `qa suite` ile aynı senaryo-seçim davranışını korur.
+ - Aynı QA paketini tek kullanımlık bir Multipass Linux VM içinde çalıştırır.
+ - Ana makinedeki `qa suite` ile aynı senaryo seçim davranışını korur.
- `qa suite` ile aynı sağlayıcı/model seçim bayraklarını yeniden kullanır.
- - Canlı çalıştırmalar, konuk için pratik olan desteklenen QA auth girdilerini iletir:
- env tabanlı sağlayıcı anahtarları, QA canlı sağlayıcı yapılandırma yolu ve mevcut olduğunda `CODEX_HOME`.
- - Çıkış dizinleri depo kökünün altında kalmalıdır ki konuk, bağlanmış çalışma alanı üzerinden geri yazabilsin.
+ - Canlı çalıştırmalar, guest için pratik olan desteklenen QA kimlik doğrulama girdilerini iletir:
+ ortam tabanlı sağlayıcı anahtarları, QA canlı sağlayıcı yapılandırma yolu ve varsa `CODEX_HOME`.
+ - Çıktı dizinleri repo kökü altında kalmalıdır ki guest, bağlı çalışma alanı üzerinden geri yazabilsin.
- Normal QA raporu + özeti ve Multipass günlüklerini
- `.artifacts/qa-e2e/...` altında yazar.
+ `.artifacts/qa-e2e/...` altına yazar.
- `pnpm qa:lab:up`
- Operatör tarzı QA çalışması için Docker destekli QA sitesini başlatır.
- `pnpm test:docker:npm-onboard-channel-agent`
- - Geçerli checkout'tan bir npm tarball oluşturur, bunu Docker içinde global olarak yükler,
- etkileşimsiz OpenAI API anahtarı onboarding'i çalıştırır, varsayılan olarak Telegram'ı yapılandırır,
- Plugin'i etkinleştirmenin runtime bağımlılıklarını gerektiğinde yüklediğini doğrular,
- doctor çalıştırır ve sahte bir OpenAI endpoint'ine karşı bir yerel ajan turu çalıştırır.
- - Aynı paketlenmiş-kurulum şeridini Discord ile çalıştırmak için `OPENCLAW_NPM_ONBOARD_CHANNEL=discord` kullanın.
+ - Geçerli checkout'tan bir npm tarball oluşturur, Docker içinde global olarak kurar,
+ etkileşimsiz OpenAI API anahtarı ilk kurulumunu çalıştırır, varsayılan olarak Telegram'ı
+ yapılandırır, Plugin'i etkinleştirmenin çalışma zamanı bağımlılıklarını ihtiyaç anında kurduğunu doğrular,
+ doctor çalıştırır ve mock bir OpenAI endpoint'ine karşı bir yerel agent turu çalıştırır.
+ - Aynı paketlenmiş kurulum hattını Discord ile çalıştırmak için `OPENCLAW_NPM_ONBOARD_CHANNEL=discord` kullanın.
- `pnpm test:docker:session-runtime-context`
- - Gömülü runtime context transkriptleri için deterministik oluşturulmuş-uygulama Docker smoke testi çalıştırır.
- Gizli OpenClaw runtime context'inin görünür kullanıcı turuna sızmak yerine
- görüntülenmeyen özel mesaj olarak kalıcılaştırıldığını doğrular,
- ardından etkilenmiş bozuk bir oturum JSONL dosyası tohumlar ve
- `openclaw doctor --fix` komutunun bunu yedekle birlikte aktif dala yeniden yazdığını doğrular.
+ - Gömülü çalışma zamanı bağlamı transkriptleri için deterministik bir derlenmiş uygulama Docker duman testi çalıştırır. Gizli OpenClaw çalışma zamanı bağlamının görünür kullanıcı turuna sızmak yerine
+ gösterilmeyen özel bir mesaj olarak kalıcılaştırıldığını doğrular,
+ ardından etkilenmiş bozuk bir oturum JSONL'si tohumlar ve
+ `openclaw doctor --fix` komutunun bunu bir yedekle etkin dala yeniden yazdığını doğrular.
- `pnpm test:docker:npm-telegram-live`
- - Docker içinde bir OpenClaw paket adayını yükler, yüklü-paket
- onboarding'i çalıştırır, Telegram'ı yüklü CLI üzerinden yapılandırır, ardından
- canlı Telegram QA şeridini SUT Gateway olarak bu yüklü paketle yeniden kullanır.
- - Varsayılan `OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC=openclaw@beta` değeridir; registry'den yüklemek yerine
- çözümlenmiş yerel bir tarball test etmek için
+ - Docker içinde bir OpenClaw paket adayını kurar, kurulu paket ilk kurulumunu çalıştırır,
+ Telegram'ı kurulu CLI üzerinden yapılandırır, ardından canlı Telegram QA hattını
+ SUT Gateway olarak bu kurulu paketle yeniden kullanır.
+ - Varsayılan değer `OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC=openclaw@beta` olur; kayıt defterinden kurmak yerine çözülmüş yerel bir tarball test etmek için
`OPENCLAW_NPM_TELEGRAM_PACKAGE_TGZ=/path/to/openclaw-current.tgz` veya
`OPENCLAW_CURRENT_PACKAGE_TGZ` ayarlayın.
- - `pnpm openclaw qa telegram` ile aynı Telegram env kimlik bilgilerini veya Convex kimlik bilgisi kaynağını kullanır.
- CI/sürüm otomasyonu için `OPENCLAW_NPM_TELEGRAM_CREDENTIAL_SOURCE=convex` ile
- `OPENCLAW_QA_CONVEX_SITE_URL` ve rol gizini ayarlayın. CI içinde
- `OPENCLAW_QA_CONVEX_SITE_URL` ve bir Convex rol gizi mevcutsa,
- Docker sarmalayıcısı Convex'i otomatik olarak seçer.
- - `OPENCLAW_NPM_TELEGRAM_CREDENTIAL_ROLE=ci|maintainer`, yalnızca bu şerit için ortak
+ - `pnpm openclaw qa telegram` ile aynı Telegram ortam kimlik bilgilerini veya Convex kimlik bilgisi kaynağını kullanır. CI/sürüm otomasyonu için
+ `OPENCLAW_NPM_TELEGRAM_CREDENTIAL_SOURCE=convex` artı
+ `OPENCLAW_QA_CONVEX_SITE_URL` ve rol sırrını ayarlayın. CI'da
+ `OPENCLAW_QA_CONVEX_SITE_URL` ve bir Convex rol sırrı varsa
+ Docker sarmalayıcısı Convex'i otomatik seçer.
+ - `OPENCLAW_NPM_TELEGRAM_CREDENTIAL_ROLE=ci|maintainer`, yalnızca bu hat için paylaşılan
`OPENCLAW_QA_CREDENTIAL_ROLE` değerini geçersiz kılar.
- - GitHub Actions bu şeridi manuel bakımcı iş akışı
+ - GitHub Actions bu hattı elle çalıştırılan maintainer iş akışı
`NPM Telegram Beta E2E` olarak sunar. Merge sırasında çalışmaz. İş akışı
- `qa-live-shared` environment'ını ve Convex CI kimlik bilgisi kiralamalarını kullanır.
-- GitHub Actions ayrıca bir aday pakete karşı yan çalıştırma ürün kanıtı için
- `Package Acceptance` sunar. Güvenilir bir ref, yayımlanmış npm spec,
- HTTPS tarball URL'si artı SHA-256 veya başka bir çalıştırmadan tarball artifact'ı kabul eder,
- normalize edilmiş `openclaw-current.tgz` dosyasını `package-under-test` olarak yükler, ardından mevcut Docker E2E scheduler'ını smoke, package, product, full veya custom
- şerit profilleriyle çalıştırır. Telegram QA iş akışını aynı `package-under-test` artifact'ına karşı çalıştırmak için `telegram_mode=mock-openai` veya `live-frontier` ayarlayın.
+ `qa-live-shared` ortamını ve Convex CI kimlik bilgisi kiralamalarını kullanır.
+- GitHub Actions ayrıca tek bir aday pakete karşı yan çalışma ürün kanıtı için `Package Acceptance` sunar.
+ Güvenilir bir ref, yayımlanmış npm spec, SHA-256 ile HTTPS tarball URL'si veya başka bir çalıştırmadan tarball artefaktı kabul eder,
+ normalleştirilmiş `openclaw-current.tgz` dosyasını `package-under-test` olarak yükler, ardından mevcut Docker E2E zamanlayıcısını smoke, package, product, full veya custom
+ hat profilleriyle çalıştırır. Telegram QA iş akışını aynı `package-under-test` artefaktına karşı çalıştırmak için `telegram_mode=mock-openai` veya `live-frontier` ayarlayın.
- En son beta ürün kanıtı:
```bash
@@ -203,7 +198,7 @@ gh workflow run package-acceptance.yml --ref main \
-f telegram_mode=mock-openai
```
-- Tam tarball URL kanıtı bir digest gerektirir:
+- Kesin tarball URL kanıtı bir digest gerektirir:
```bash
gh workflow run package-acceptance.yml --ref main \
@@ -224,40 +219,64 @@ gh workflow run package-acceptance.yml --ref main \
```
- `pnpm test:docker:bundled-channel-deps`
- - Geçerli OpenClaw derlemesini Docker içinde paketler ve kurar, OpenAI yapılandırılmış olarak Gateway'i başlatır, ardından yapılandırma düzenlemeleriyle paketli kanal/Plugin'leri etkinleştirir.
- - Kurulum keşfinin yapılandırılmamış Plugin çalışma zamanı bağımlılıklarını mevcut bırakmadığını, ilk yapılandırılmış Gateway veya doctor çalıştırmasının her paketli Plugin'in çalışma zamanı bağımlılıklarını gerektiğinde kurduğunu ve ikinci yeniden başlatmanın zaten etkinleştirilmiş bağımlılıkları yeniden kurmadığını doğrular.
- - Ayrıca bilinen eski bir npm temel sürümünü kurar, `openclaw update --tag ` çalıştırmadan önce Telegram'ı etkinleştirir ve adayın güncelleme sonrası doctor onarımının paketli kanal çalışma zamanı bağımlılıklarını harness tarafında postinstall onarımı olmadan düzelttiğini doğrular.
+ - Geçerli OpenClaw derlemesini Docker içinde paketler ve kurar, Gateway’i
+ OpenAI yapılandırılmış şekilde başlatır, ardından yapılandırma
+ düzenlemeleriyle paketlenmiş kanal/Plugin’leri etkinleştirir.
+ - Kurulum keşfinin yapılandırılmamış Plugin çalışma zamanı bağımlılıklarını
+ yok bıraktığını, ilk yapılandırılmış Gateway veya doctor çalıştırmasının her
+ paketlenmiş Plugin’in çalışma zamanı bağımlılıklarını gerektiğinde
+ kurduğunu ve ikinci bir yeniden başlatmanın zaten etkinleştirilmiş
+ bağımlılıkları yeniden kurmadığını doğrular.
+ - Ayrıca bilinen daha eski bir npm temel sürümünü kurar, `openclaw update --tag `
+ çalıştırmadan önce Telegram’ı etkinleştirir ve adayın güncelleme sonrası
+ doctor işleminin paketlenmiş kanal çalışma zamanı bağımlılıklarını harness
+ tarafı postinstall onarımı olmadan onardığını doğrular.
- `pnpm test:parallels:npm-update`
- - Parallels konukları genelinde yerel paketli kurulum güncelleme smoke testini çalıştırır. Seçilen her platform önce istenen temel paketi kurar, ardından aynı konukta kurulu `openclaw update` komutunu çalıştırır ve kurulu sürümü, güncelleme durumunu, gateway hazır olma durumunu ve bir yerel ajan turunu doğrular.
- - Tek bir konuk üzerinde yineleme yaparken `--platform macos`, `--platform windows` veya `--platform linux` kullanın. Özet artifact yolu ve her lane durumu için `--json` kullanın.
- - OpenAI lane'i varsayılan olarak canlı ajan turu kanıtı için `openai/gpt-5.5` kullanır. Başka bir OpenAI modelini bilinçli olarak doğrularken `--model ` geçirin veya `OPENCLAW_PARALLELS_OPENAI_MODEL` ayarlayın.
- - Parallels aktarım takılmalarının test penceresinin geri kalanını tüketmemesi için uzun yerel çalıştırmaları bir ana makine zaman aşımıyla sarın:
+ - Yerel paketli kurulum güncelleme smoke testini Parallels konukları boyunca çalıştırır. Seçilen her
+ platform önce istenen temel paketi kurar, ardından aynı konukta kurulu
+ `openclaw update` komutunu çalıştırır ve kurulu sürümü, güncelleme durumunu,
+ gateway hazırlığını ve bir yerel ajan turunu doğrular.
+ - Tek bir konuk üzerinde yineleme yaparken `--platform macos`, `--platform windows` veya `--platform linux` kullanın. Özet artifact yolu ve
+ lane başına durum için `--json` kullanın.
+ - OpenAI lane’i, canlı ajan turu kanıtı için varsayılan olarak `openai/gpt-5.5` kullanır.
+ Bilerek başka bir OpenAI modelini doğrularken `--model ` geçirin veya
+ `OPENCLAW_PARALLELS_OPENAI_MODEL` ayarlayın.
+ - Parallels aktarım takılmalarının test penceresinin kalanını tüketmemesi için uzun yerel çalıştırmaları bir host timeout içine alın:
```bash
timeout --foreground 150m pnpm test:parallels:npm-update -- --json
timeout --foreground 90m pnpm test:parallels:npm-update -- --platform windows --json
```
- - Betik, iç içe lane günlüklerini `/tmp/openclaw-parallels-npm-update.*` altında yazar. Dış sarmalayıcının takıldığını varsaymadan önce `windows-update.log`, `macos-update.log` veya `linux-update.log` dosyasını inceleyin.
- - Windows güncellemesi, soğuk bir konukta güncelleme sonrası doctor/çalışma zamanı bağımlılığı onarımında 10 ila 15 dakika harcayabilir; iç içe npm hata ayıklama günlüğü ilerliyorsa bu hâlâ sağlıklıdır.
- - Bu toplu sarmalayıcıyı tekil Parallels macOS, Windows veya Linux smoke lane'leriyle paralel çalıştırmayın. Bunlar VM durumunu paylaşır ve snapshot geri yükleme, paket sunma veya konuk gateway durumu üzerinde çakışabilir.
- - Güncelleme sonrası kanıt normal paketli Plugin yüzeyini çalıştırır çünkü konuşma, görüntü oluşturma ve medya anlama gibi capability facade'ları, ajan turunun kendisi yalnızca basit bir metin yanıtını kontrol etse bile paketli çalışma zamanı API'leri üzerinden yüklenir.
+ - Betik, `/tmp/openclaw-parallels-npm-update.*` altında iç içe lane günlükleri yazar.
+ Dış sarmalayıcının takıldığını varsaymadan önce `windows-update.log`, `macos-update.log` veya `linux-update.log`
+ dosyasını inceleyin.
+ - Windows güncellemesi, soğuk bir konukta güncelleme sonrası doctor/çalışma zamanı
+ bağımlılığı onarımında 10 ila 15 dakika harcayabilir; iç içe npm debug günlüğü
+ ilerliyorsa bu hâlâ sağlıklıdır.
+ - Bu toplu sarmalayıcıyı tekil Parallels macOS, Windows veya Linux smoke lane’leriyle paralel
+ çalıştırmayın. Bunlar VM durumunu paylaşır ve snapshot geri yükleme, paket sunumu
+ veya konuk gateway durumu üzerinde çakışabilir.
+ - Güncelleme sonrası kanıt, normal paketlenmiş Plugin yüzeyini çalıştırır çünkü
+ konuşma, görüntü üretimi ve medya anlama gibi yetenek facade’ları, ajan
+ turunun kendisi yalnızca basit bir metin yanıtını denetlese bile paketlenmiş
+ çalışma zamanı API’leri üzerinden yüklenir.
- `pnpm openclaw qa aimock`
- Doğrudan protokol smoke testi için yalnızca yerel AIMock sağlayıcı sunucusunu başlatır.
- `pnpm openclaw qa matrix`
- - Matrix canlı QA lane'ini, tek kullanımlık Docker destekli bir Tuwunel homeserver'a karşı çalıştırır. Yalnızca kaynak checkout'u — paketli kurulumlar `qa-lab` içermez.
- - Tam CLI, profil/senaryo kataloğu, env var'ları ve artifact düzeni: [Matrix QA](/tr/concepts/qa-matrix).
+ - Matrix canlı QA lane’ini, tek kullanımlık Docker destekli bir Tuwunel homeserver’a karşı çalıştırır. Yalnızca kaynak-checkout — paketli kurulumlar `qa-lab` göndermez.
+ - Tam CLI, profil/senaryo kataloğu, env vars ve artifact yerleşimi: [Matrix QA](/tr/concepts/qa-matrix).
- `pnpm openclaw qa telegram`
- - Telegram canlı QA lane'ini, env'den gelen sürücü ve SUT bot token'ları kullanarak gerçek bir özel gruba karşı çalıştırır.
- - `OPENCLAW_QA_TELEGRAM_GROUP_ID`, `OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN` ve `OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN` gerektirir. Grup id'si sayısal Telegram sohbet id'si olmalıdır.
- - Paylaşılan havuz kimlik bilgileri için `--credential-source convex` destekler. Varsayılan olarak env modunu kullanın veya havuzlanmış kiralamalara katılmak için `OPENCLAW_QA_CREDENTIAL_SOURCE=convex` ayarlayın.
- - Herhangi bir senaryo başarısız olduğunda sıfır olmayan kodla çıkar. Başarısız çıkış kodu olmadan artifact istediğinizde `--allow-failures` kullanın.
- - Aynı özel grupta iki ayrı bot gerektirir; SUT botunun bir Telegram kullanıcı adı sunması gerekir.
- - Kararlı botlar arası gözlem için her iki botta da `@BotFather` içinde Bot-to-Bot Communication Mode'u etkinleştirin ve sürücü botun grup bot trafiğini gözlemleyebildiğinden emin olun.
- - `.artifacts/qa-e2e/...` altında bir Telegram QA raporu, özet ve gözlemlenen mesajlar artifact'i yazar. Yanıtlama senaryoları, sürücü gönderme isteğinden gözlemlenen SUT yanıtına kadar RTT içerir.
+ - Telegram canlı QA lane’ini, env’den alınan sürücü ve SUT bot token’larıyla gerçek bir özel gruba karşı çalıştırır.
+ - `OPENCLAW_QA_TELEGRAM_GROUP_ID`, `OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN` ve `OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN` gerektirir. Grup kimliği sayısal Telegram sohbet kimliği olmalıdır.
+ - Paylaşılan havuzlanmış kimlik bilgileri için `--credential-source convex` destekler. Varsayılan olarak env modunu kullanın veya havuzlanmış kiralamalara katılmak için `OPENCLAW_QA_CREDENTIAL_SOURCE=convex` ayarlayın.
+ - Herhangi bir senaryo başarısız olduğunda sıfır olmayan çıkış yapar. Başarısız bir çıkış kodu olmadan artifact istediğinizde `--allow-failures` kullanın.
+ - Aynı özel grupta iki ayrı bot gerektirir ve SUT botunun bir Telegram kullanıcı adı sunması gerekir.
+ - Kararlı botlar arası gözlem için her iki botta da `@BotFather` içinde Bot-to-Bot Communication Mode’u etkinleştirin ve sürücü botun grup bot trafiğini gözlemleyebildiğinden emin olun.
+ - `.artifacts/qa-e2e/...` altında bir Telegram QA raporu, özet ve observed-messages artifact yazar. Yanıtlama senaryoları, sürücü gönderim isteğinden gözlenen SUT yanıtına kadar RTT içerir.
-Canlı aktarım lane'leri tek bir standart sözleşmeyi paylaşır, böylece yeni aktarımlar sapmaz; lane başına kapsama matrisi [QA genel bakış → Canlı aktarım kapsamı](/tr/concepts/qa-e2e-automation#live-transport-coverage) içinde yer alır. `qa-channel` geniş sentetik süittir ve bu matrisin parçası değildir.
+Canlı aktarım lane’leri tek bir standart sözleşme paylaşır, böylece yeni aktarımlar sapmaz; lane başına kapsam matrisi [QA genel bakış → Canlı aktarım kapsamı](/tr/concepts/qa-e2e-automation#live-transport-coverage) içinde bulunur. `qa-channel` geniş sentetik pakettir ve bu matrisin parçası değildir.
### Convex üzerinden paylaşılan Telegram kimlik bilgileri (v1)
@@ -267,31 +286,32 @@ Referans Convex proje iskeleti:
- `qa/convex-credential-broker/`
-Gerekli env var'ları:
+Gerekli env vars:
- `OPENCLAW_QA_CONVEX_SITE_URL` (örneğin `https://your-deployment.convex.site`)
- Seçilen rol için bir secret:
- `maintainer` için `OPENCLAW_QA_CONVEX_SECRET_MAINTAINER`
- `ci` için `OPENCLAW_QA_CONVEX_SECRET_CI`
-- Kimlik bilgisi rol seçimi:
+- Kimlik bilgisi rolü seçimi:
- CLI: `--credential-role maintainer|ci`
- - Env varsayılanı: `OPENCLAW_QA_CREDENTIAL_ROLE` (CI'da varsayılan `ci`, aksi halde `maintainer`)
+ - Env varsayılanı: `OPENCLAW_QA_CREDENTIAL_ROLE` (CI içinde varsayılan `ci`, aksi halde `maintainer`)
-İsteğe bağlı env var'ları:
+İsteğe bağlı env vars:
- `OPENCLAW_QA_CREDENTIAL_LEASE_TTL_MS` (varsayılan `1200000`)
- `OPENCLAW_QA_CREDENTIAL_HEARTBEAT_INTERVAL_MS` (varsayılan `30000`)
- `OPENCLAW_QA_CREDENTIAL_ACQUIRE_TIMEOUT_MS` (varsayılan `90000`)
- `OPENCLAW_QA_CREDENTIAL_HTTP_TIMEOUT_MS` (varsayılan `15000`)
- `OPENCLAW_QA_CONVEX_ENDPOINT_PREFIX` (varsayılan `/qa-credentials/v1`)
-- `OPENCLAW_QA_CREDENTIAL_OWNER_ID` (isteğe bağlı izleme id'si)
-- `OPENCLAW_QA_ALLOW_INSECURE_HTTP=1`, yalnızca yerel geliştirme için loopback `http://` Convex URL'lerine izin verir.
+- `OPENCLAW_QA_CREDENTIAL_OWNER_ID` (isteğe bağlı izleme kimliği)
+- `OPENCLAW_QA_ALLOW_INSECURE_HTTP=1`, yalnızca yerel geliştirme için local loopback `http://` Convex URL’lerine izin verir.
`OPENCLAW_QA_CONVEX_SITE_URL` normal çalışmada `https://` kullanmalıdır.
-Maintainer yönetici komutları (havuz ekleme/kaldırma/listeleme) özellikle `OPENCLAW_QA_CONVEX_SECRET_MAINTAINER` gerektirir.
+Maintainer yönetici komutları (havuz ekleme/kaldırma/listeleme) özellikle
+`OPENCLAW_QA_CONVEX_SECRET_MAINTAINER` gerektirir.
-Maintainer'lar için CLI yardımcıları:
+Maintainer’lar için CLI yardımcıları:
```bash
pnpm openclaw qa credentials doctor
@@ -300,7 +320,10 @@ pnpm openclaw qa credentials list --kind telegram
pnpm openclaw qa credentials remove --credential-id
```
-Canlı çalıştırmalardan önce Convex site URL'sini, broker secret'larını, endpoint önekini, HTTP zaman aşımını ve admin/liste erişilebilirliğini secret değerlerini yazdırmadan kontrol etmek için `doctor` kullanın. Betikler ve CI yardımcı araçlarında makine tarafından okunabilir çıktı için `--json` kullanın.
+Canlı çalıştırmalardan önce Convex site URL’sini, broker secret’larını,
+endpoint prefix’i, HTTP timeout’u ve admin/list erişilebilirliğini secret
+değerlerini yazdırmadan denetlemek için `doctor` kullanın. Betikler ve CI
+yardımcıları içinde makine tarafından okunabilir çıktı için `--json` kullanın.
Varsayılan endpoint sözleşmesi (`OPENCLAW_QA_CONVEX_SITE_URL` + `/qa-credentials/v1`):
@@ -314,144 +337,146 @@ Varsayılan endpoint sözleşmesi (`OPENCLAW_QA_CONVEX_SITE_URL` + `/qa-credenti
- `POST /release`
- İstek: `{ kind, ownerId, actorRole, credentialId, leaseToken }`
- Başarı: `{ status: "ok" }` (veya boş `2xx`)
-- `POST /admin/add` (yalnızca maintainer secret'ı)
+- `POST /admin/add` (yalnızca maintainer secret)
- İstek: `{ kind, actorId, payload, note?, status? }`
- Başarı: `{ status: "ok", credential }`
-- `POST /admin/remove` (yalnızca maintainer secret'ı)
+- `POST /admin/remove` (yalnızca maintainer secret)
- İstek: `{ credentialId, actorId }`
- Başarı: `{ status: "ok", changed, credential }`
- Etkin kiralama koruması: `{ status: "error", code: "LEASE_ACTIVE", ... }`
-- `POST /admin/list` (yalnızca maintainer secret'ı)
+- `POST /admin/list` (yalnızca maintainer secret)
- İstek: `{ kind?, status?, includePayload?, limit? }`
- Başarı: `{ status: "ok", credentials, count }`
-Telegram türü için payload biçimi:
+Telegram kind için payload şekli:
- `{ groupId: string, driverToken: string, sutToken: string }`
-- `groupId` sayısal Telegram sohbet id'si dizesi olmalıdır.
-- `admin/add`, `kind: "telegram"` için bu biçimi doğrular ve hatalı biçimlendirilmiş payload'ları reddeder.
+- `groupId`, sayısal bir Telegram sohbet kimliği dizesi olmalıdır.
+- `admin/add`, `kind: "telegram"` için bu şekli doğrular ve hatalı biçimlendirilmiş payload’ları reddeder.
-### QA'ya kanal ekleme
+### QA’ya kanal ekleme
-Yeni kanal adaptörleri için mimari ve senaryo yardımcı adları [QA genel bakış → Kanal ekleme](/tr/concepts/qa-e2e-automation#adding-a-channel) içinde yer alır. Asgari gereksinim: aktarım çalıştırıcısını paylaşılan `qa-lab` ana makine seam'i üzerinde uygulamak, Plugin manifest'inde `qaRunners` bildirmek, `openclaw qa ` olarak bağlamak ve `qa/scenarios/` altında senaryolar yazmaktır.
+Yeni kanal bağdaştırıcıları için mimari ve senaryo yardımcı adları [QA genel bakış → Kanal ekleme](/tr/concepts/qa-e2e-automation#adding-a-channel) içinde bulunur. Asgari eşik: transport runner’ı paylaşılan `qa-lab` host seam üzerinde uygulayın, Plugin manifestinde `qaRunners` bildirin, `openclaw qa ` olarak bağlayın ve senaryoları `qa/scenarios/` altında yazın.
-## Test süitleri (nerede ne çalışır)
+## Test paketleri (nerede ne çalışır)
-Süitleri “artan gerçekçilik” (ve artan kırılganlık/maliyet) olarak düşünün:
+Paketleri “artan gerçekçilik” (ve artan kırılganlık/maliyet) olarak düşünün:
-### Birim / entegrasyon (varsayılan)
+### Unit / integration (varsayılan)
- Komut: `pnpm test`
-- Yapılandırma: hedeflenmemiş çalıştırmalar `vitest.full-*.config.ts` shard kümesini kullanır ve paralel zamanlama için çok projeli shard'ları proje başına yapılandırmalara genişletebilir
-- Dosyalar: `src/**/*.test.ts`, `packages/**/*.test.ts` ve `test/**/*.test.ts` altındaki core/birim envanterleri; UI birim testleri ayrılmış `unit-ui` shard'ında çalışır
+- Yapılandırma: hedeflenmemiş çalıştırmalar `vitest.full-*.config.ts` shard kümesini kullanır ve paralel zamanlama için çok projeli shard’ları proje başına yapılandırmalara genişletebilir
+- Dosyalar: `src/**/*.test.ts`, `packages/**/*.test.ts` ve `test/**/*.test.ts` altındaki core/unit envanterleri; UI unit testleri özel `unit-ui` shard’ında çalışır
- Kapsam:
- - Saf birim testleri
- - Süreç içi entegrasyon testleri (gateway kimlik doğrulama, yönlendirme, araçlar, ayrıştırma, yapılandırma)
+ - Saf unit testleri
+ - Süreç içi integration testleri (gateway auth, yönlendirme, araç kullanımı, ayrıştırma, yapılandırma)
- Bilinen hatalar için deterministik regresyonlar
- Beklentiler:
- - CI'da çalışır
+ - CI içinde çalışır
- Gerçek anahtar gerektirmez
- Hızlı ve kararlı olmalıdır
- - Resolver ve public-surface loader testleri, gerçek paketli Plugin kaynak API'leriyle değil, oluşturulmuş küçük Plugin fixture'larıyla geniş `api.js` ve `runtime-api.js` fallback davranışını kanıtlamalıdır. Gerçek Plugin API yüklemeleri Plugin'e ait contract/entegrasyon süitlerine aittir.
+ - Çözücü ve public-surface loader testleri, geniş `api.js` ve
+ `runtime-api.js` fallback davranışını gerçek paketlenmiş Plugin kaynak API’leriyle değil,
+ üretilmiş küçük Plugin fixture’larıyla kanıtlamalıdır. Gerçek Plugin API yüklemeleri,
+ Plugin sahipli contract/integration paketlerine aittir.
-
+
- - Hedef belirtilmemiş `pnpm test`, tek bir dev yerel kök proje işlemi yerine on iki daha küçük parça yapılandırması (`core-unit-fast`, `core-unit-src`, `core-unit-security`, `core-unit-ui`, `core-unit-support`, `core-support-boundary`, `core-contracts`, `core-bundled`, `core-runtime`, `agentic`, `auto-reply`, `extensions`) çalıştırır. Bu, yüklü makinelerde tepe RSS değerini düşürür ve auto-reply/uzantı işinin ilgisiz paketleri kaynak açısından aç bırakmasını önler.
- - `pnpm test --watch` hâlâ yerel kök `vitest.config.ts` proje grafiğini kullanır, çünkü çok parçalı bir watch döngüsü pratik değildir.
+ - Hedef belirtilmeden çalıştırılan `pnpm test`, tek bir dev yerel kök-proje süreci yerine on iki daha küçük shard yapılandırmasını (`core-unit-fast`, `core-unit-src`, `core-unit-security`, `core-unit-ui`, `core-unit-support`, `core-support-boundary`, `core-contracts`, `core-bundled`, `core-runtime`, `agentic`, `auto-reply`, `extensions`) çalıştırır. Bu, yüklü makinelerde tepe RSS değerini düşürür ve auto-reply/extension işlerinin ilgisiz paketleri aç bırakmasını önler.
+ - `pnpm test --watch` hâlâ yerel kök `vitest.config.ts` proje grafiğini kullanır, çünkü çok shard'lı bir watch döngüsü pratik değildir.
- `pnpm test`, `pnpm test:watch` ve `pnpm test:perf:imports`, açık dosya/dizin hedeflerini önce kapsamlı hatlar üzerinden yönlendirir; böylece `pnpm test extensions/discord/src/monitor/message-handler.preflight.test.ts` tam kök proje başlatma maliyetini ödemez.
- - `pnpm test:changed`, değişen git yollarını varsayılan olarak ucuz kapsamlı hatlara genişletir: doğrudan test düzenlemeleri, kardeş `*.test.ts` dosyaları, açık kaynak eşlemeleri ve yerel içe aktarma grafiği bağımlıları. Yapılandırma/kurulum/paket düzenlemeleri, açıkça `OPENCLAW_TEST_CHANGED_BROAD=1 pnpm test:changed` kullanmadığınız sürece testleri geniş kapsamlı çalıştırmaz.
- - `pnpm check:changed`, dar işler için normal akıllı yerel kontrol kapısıdır. Diff'i core, core testleri, uzantılar, uzantı testleri, uygulamalar, dokümanlar, yayın meta verisi, canlı Docker araçları ve araçlar olarak sınıflandırır; ardından eşleşen typecheck, lint ve guard komutlarını çalıştırır. Vitest testlerini çalıştırmaz; test kanıtı için `pnpm test:changed` veya açık `pnpm test ` çağırın. Yalnızca yayın meta verisi içeren sürüm artırımları, üst düzey version alanı dışındaki paket değişikliklerini reddeden bir guard ile hedefli sürüm/yapılandırma/kök bağımlılık kontrolleri çalıştırır.
- - Canlı Docker ACP harness düzenlemeleri odaklı kontroller çalıştırır: canlı Docker auth betikleri için kabuk sözdizimi ve canlı Docker zamanlayıcı dry-run. `package.json` değişiklikleri yalnızca diff `scripts["test:docker:live-*"]` ile sınırlı olduğunda dahil edilir; bağımlılık, export, version ve diğer paket yüzeyi düzenlemeleri hâlâ daha geniş guard'ları kullanır.
- - Agents, commands, Plugin'ler, auto-reply yardımcıları, `plugin-sdk` ve benzer saf yardımcı alanlardan içe aktarma yükü hafif birim testleri, `test/setup-openclaw-runtime.ts` dosyasını atlayan `unit-fast` hattı üzerinden yönlendirilir; durum tutan/çalışma zamanı ağır dosyalar mevcut hatlarda kalır.
- - Seçili `plugin-sdk` ve `commands` yardımcı kaynak dosyaları da değişiklik modundaki çalıştırmaları bu hafif hatlardaki açık kardeş testlere eşler; böylece yardımcı düzenlemeleri o dizin için tam ağır paketi yeniden çalıştırmaktan kaçınır.
- - `auto-reply`, üst düzey core yardımcıları, üst düzey `reply.*` entegrasyon testleri ve `src/auto-reply/reply/**` alt ağacı için ayrılmış gruplara sahiptir. CI ayrıca reply alt ağacını agent-runner, dispatch ve commands/state-routing parçalarına böler; böylece içe aktarma yükü ağır tek bir grup tüm Node kuyruğunu sahiplenmez.
- - Normal PR/main CI, uzantı toplu taramasını ve yalnızca yayın için olan `agentic-plugins` parçasını bilerek atlar. Tam Yayın Doğrulama, yayın adaylarında bu Plugin/uzantı ağırlıklı paketler için ayrı Plugin Ön Yayın alt iş akışını başlatır.
+ - `pnpm test:changed`, değişen git yollarını varsayılan olarak ucuz kapsamlı hatlara genişletir: doğrudan test düzenlemeleri, kardeş `*.test.ts` dosyaları, açık kaynak eşlemeleri ve yerel import-grafiği bağımlıları. Config/setup/package düzenlemeleri, açıkça `OPENCLAW_TEST_CHANGED_BROAD=1 pnpm test:changed` kullanmadığınız sürece testleri geniş kapsamda çalıştırmaz.
+ - `pnpm check:changed`, dar kapsamlı işler için normal akıllı yerel kontrol kapısıdır. Farkı core, core testleri, extensions, extension testleri, apps, docs, release metadata, canlı Docker araçları ve tooling olarak sınıflandırır; ardından eşleşen typecheck, lint ve guard komutlarını çalıştırır. Vitest testlerini çalıştırmaz; test kanıtı için `pnpm test:changed` veya açık `pnpm test ` çağırın. Yalnızca release metadata sürüm artırımları, üst düzey version alanı dışındaki package değişikliklerini reddeden bir guard ile hedefli sürüm/config/kök-bağımlılık kontrollerini çalıştırır.
+ - Canlı Docker ACP harness düzenlemeleri odaklı kontroller çalıştırır: canlı Docker auth betikleri için shell söz dizimi ve canlı Docker scheduler dry-run. `package.json` değişiklikleri yalnızca fark `scripts["test:docker:live-*"]` ile sınırlıysa dahil edilir; bağımlılık, export, sürüm ve diğer package-yüzeyi düzenlemeleri hâlâ daha geniş guard'ları kullanır.
+ - Agents, commands, plugins, auto-reply yardımcıları, `plugin-sdk` ve benzeri saf utility alanlarından import-hafif unit testleri, `test/setup-openclaw-runtime.ts` dosyasını atlayan `unit-fast` hattından yönlendirilir; durum bilgili/runtime-ağır dosyalar mevcut hatlarda kalır.
+ - Seçili `plugin-sdk` ve `commands` yardımcı kaynak dosyaları da changed-mode çalıştırmalarını bu hafif hatlardaki açık kardeş testlere eşler; böylece yardımcı düzenlemeleri o dizin için tüm ağır paketi yeniden çalıştırmaktan kaçınır.
+ - `auto-reply`; üst düzey core yardımcıları, üst düzey `reply.*` entegrasyon testleri ve `src/auto-reply/reply/**` alt ağacı için ayrılmış bucket'lara sahiptir. CI ayrıca reply alt ağacını agent-runner, dispatch ve commands/state-routing shard'larına böler; böylece import-ağır tek bir bucket tüm Node kuyruğunu sahiplenmez.
+ - Normal PR/main CI, extension batch sweep'i ve yalnızca release için olan `agentic-plugins` shard'ını bilinçli olarak atlar. Tam Release Validation, release candidate'larında bu plugin/extension-ağır paketler için ayrı `Plugin Prerelease` alt workflow'unu dispatch eder.
-
+
- - İleti aracı keşif girdilerini veya Compaction çalışma zamanı
- bağlamını değiştirdiğinizde, her iki kapsam düzeyini de koruyun.
- - Saf yönlendirme ve normalleştirme sınırları için odaklı yardımcı
- regresyon testleri ekleyin.
- - Yerleşik çalıştırıcı entegrasyon paketlerini sağlıklı tutun:
+ - Message-tool discovery girdilerini veya compaction runtime
+ bağlamını değiştirdiğinizde, iki kapsam düzeyini de koruyun.
+ - Saf yönlendirme ve normalleştirme sınırları için odaklı yardımcı regresyonları
+ ekleyin.
+ - Gömülü runner entegrasyon paketlerini sağlıklı tutun:
`src/agents/pi-embedded-runner/compact.hooks.test.ts`,
`src/agents/pi-embedded-runner/run.overflow-compaction.test.ts` ve
`src/agents/pi-embedded-runner/run.overflow-compaction.loop.test.ts`.
- - Bu paketler, kapsamlı kimliklerin ve Compaction davranışının gerçek
- `run.ts` / `compact.ts` yollarından akmaya devam ettiğini doğrular;
- yalnızca yardımcı testleri, bu entegrasyon yollarının yeterli bir
- alternatifi değildir.
+ - Bu paketler, kapsamlı id'lerin ve compaction davranışının gerçek
+ `run.ts` / `compact.ts` yollarından hâlâ aktığını doğrular; yalnızca yardımcı testleri,
+ bu entegrasyon yolları için yeterli bir ikame değildir.
-
+
- - Temel Vitest yapılandırması varsayılan olarak `threads` kullanır.
- - Paylaşılan Vitest yapılandırması `isolate: false` değerini sabitler ve
- kök projeler, e2e ve canlı yapılandırmalar genelinde yalıtılmamış
- çalıştırıcıyı kullanır.
- - Kök UI hattı `jsdom` kurulumunu ve iyileştiricisini korur, ancak o da
- paylaşılan yalıtılmamış çalıştırıcıda çalışır.
- - Her `pnpm test` parçası, paylaşılan Vitest yapılandırmasından aynı
- `threads` + `isolate: false` varsayılanlarını devralır.
- - `scripts/run-vitest.mjs`, büyük yerel çalıştırmalar sırasında V8 derleme
- yükünü azaltmak için Vitest alt Node işlemlerine varsayılan olarak
- `--no-maglev` ekler. Standart V8 davranışıyla karşılaştırmak için
+ - Temel Vitest config varsayılanı `threads` olur.
+ - Paylaşılan Vitest config `isolate: false` değerini sabitler ve
+ kök projeler, e2e ve canlı config'ler genelinde yalıtımsız runner'ı kullanır.
+ - Kök UI hattı kendi `jsdom` kurulumunu ve optimizer'ını korur, ancak
+ paylaşılan yalıtımsız runner üzerinde de çalışır.
+ - Her `pnpm test` shard'ı, paylaşılan Vitest config'ten aynı `threads` + `isolate: false`
+ varsayılanlarını devralır.
+ - `scripts/run-vitest.mjs`, büyük yerel çalıştırmalarda V8 compile churn'ünü
+ azaltmak için Vitest alt Node süreçlerine varsayılan olarak `--no-maglev`
+ ekler. Standart V8 davranışıyla karşılaştırmak için
`OPENCLAW_VITEST_ENABLE_MAGLEV=1` ayarlayın.
- - `pnpm changed:lanes`, bir diff'in hangi mimari hatları tetiklediğini gösterir.
- - Pre-commit kancası yalnızca biçimlendirme yapar. Biçimlendirilmiş dosyaları
- yeniden hazırlama alanına alır ve lint, typecheck veya test çalıştırmaz.
- - Akıllı yerel kontrol kapısına ihtiyacınız olduğunda devretmeden veya uzak
- depoya göndermeden önce `pnpm check:changed` komutunu açıkça çalıştırın.
- - `pnpm test:changed` varsayılan olarak ucuz kapsamlı hatlardan yönlendirilir. Ajan
- bir harness, yapılandırma, paket veya sözleşme düzenlemesinin gerçekten daha geniş
- Vitest kapsamına ihtiyaç duyduğuna karar verdiğinde yalnızca
+ - `pnpm changed:lanes`, bir farkın hangi mimari hatları tetiklediğini gösterir.
+ - Pre-commit hook yalnızca biçimlendirme içindir. Biçimlendirilmiş dosyaları yeniden stage eder ve
+ lint, typecheck veya test çalıştırmaz.
+ - Akıllı yerel kontrol kapısına ihtiyacınız olduğunda handoff veya push öncesinde
+ `pnpm check:changed` komutunu açıkça çalıştırın.
+ - `pnpm test:changed`, varsayılan olarak ucuz kapsamlı hatlardan yönlendirir. Yalnızca agent
+ bir harness, config, package veya contract düzenlemesinin gerçekten daha geniş
+ Vitest kapsamına ihtiyaç duyduğuna karar verdiğinde
`OPENCLAW_TEST_CHANGED_BROAD=1 pnpm test:changed` kullanın.
- `pnpm test:max` ve `pnpm test:changed:max` aynı yönlendirme
- davranışını korur, yalnızca daha yüksek bir işçi sınırıyla.
- - Yerel işçi otomatik ölçeklendirmesi bilerek tutucudur ve ana makine yük
- ortalaması zaten yüksek olduğunda geri çekilir; böylece birden çok eşzamanlı
+ davranışını korur, yalnızca daha yüksek worker sınırıyla.
+ - Yerel worker otomatik ölçeklendirmesi bilinçli olarak muhafazakârdır ve
+ host load average zaten yüksek olduğunda geri çekilir; böylece birden çok eşzamanlı
Vitest çalıştırması varsayılan olarak daha az zarar verir.
- - Temel Vitest yapılandırması, test bağlantıları değiştiğinde değişiklik
- modundaki yeniden çalıştırmalar doğru kalsın diye projeleri/yapılandırma
- dosyalarını `forceRerunTriggers` olarak işaretler.
- - Yapılandırma, desteklenen ana makinelerde `OPENCLAW_VITEST_FS_MODULE_CACHE`
- etkin tutar; doğrudan profil oluşturma için tek bir açık önbellek konumu
- istiyorsanız `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/abs/path` ayarlayın.
+ - Temel Vitest config, projects/config dosyalarını
+ `forceRerunTriggers` olarak işaretler; böylece test wiring değiştiğinde changed-mode
+ yeniden çalıştırmaları doğru kalır.
+ - Config, desteklenen host'larda `OPENCLAW_VITEST_FS_MODULE_CACHE` etkin tutar;
+ doğrudan profiling için tek bir açık cache konumu istiyorsanız
+ `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/abs/path` ayarlayın.
-
+
- - `pnpm test:perf:imports`, Vitest içe aktarma süresi raporlamasını ve
- içe aktarma dökümü çıktısını etkinleştirir.
- - `pnpm test:perf:imports:changed`, aynı profil oluşturma görünümünü
- `origin/main` sonrasında değişen dosyalarla sınırlar.
- - Parça zamanlama verileri `.artifacts/vitest-shard-timings.json` dosyasına yazılır.
- Tam yapılandırma çalıştırmaları anahtar olarak yapılandırma yolunu kullanır; dahil etme deseni CI
- parçaları, filtrelenmiş parçalar ayrı izlenebilsin diye parça adını sona ekler.
- - Yoğun bir test hâlâ zamanının çoğunu başlatma içe aktarmalarında harcadığında,
- ağır bağımlılıkları dar bir yerel `*.runtime.ts` aralığının arkasında tutun ve
- onları yalnızca `vi.mock(...)` üzerinden geçirmek için çalışma zamanı yardımcılarını
- derinden içe aktarmak yerine bu aralığı doğrudan mock edin.
+ - `pnpm test:perf:imports`, Vitest import-duration raporlamasını ve
+ import-breakdown çıktısını etkinleştirir.
+ - `pnpm test:perf:imports:changed`, aynı profiling görünümünü
+ `origin/main` sonrasında değişen dosyalara kapsamlar.
+ - Shard zamanlama verileri `.artifacts/vitest-shard-timings.json` dosyasına yazılır.
+ Tüm-config çalıştırmaları anahtar olarak config yolunu kullanır; include-pattern CI
+ shard'ları shard adını ekler, böylece filtrelenmiş shard'lar ayrı
+ izlenebilir.
+ - Sıcak bir test hâlâ zamanının çoğunu başlatma import'larında harcadığında,
+ ağır bağımlılıkları dar bir yerel `*.runtime.ts` sınırının arkasında tutun ve
+ yalnızca `vi.mock(...)` içinden geçirmek için runtime yardımcılarını deep-import etmek yerine
+ bu sınırı doğrudan mock'layın.
- `pnpm test:perf:changed:bench -- --ref `, yönlendirilmiş
- `test:changed` ile o işlenmiş diff için yerel kök proje yolunu karşılaştırır
- ve duvar saati süresini artı macOS maks. RSS değerini yazdırır.
+ `test:changed` ile o commit'lenmiş fark için yerel kök-proje yolunu karşılaştırır
+ ve wall time ile macOS max RSS değerini yazdırır.
- `pnpm test:perf:changed:bench -- --worktree`, değişen dosya listesini
- `scripts/test-projects.mjs` ve kök Vitest yapılandırması üzerinden yönlendirerek
- geçerli kirli ağacı benchmark eder.
- - `pnpm test:perf:profile:main`, Vitest/Vite başlatma ve dönüştürme ek yükü için
- ana iş parçacığı CPU profili yazar.
- - `pnpm test:perf:profile:runner`, dosya paralelliği devre dışı bırakılmış
- birim paketi için çalıştırıcı CPU+heap profilleri yazar.
+ `scripts/test-projects.mjs` ve kök Vitest config üzerinden yönlendirerek geçerli
+ dirty tree'yi benchmark eder.
+ - `pnpm test:perf:profile:main`, Vitest/Vite başlatma ve transform overhead'i için
+ main-thread CPU profili yazar.
+ - `pnpm test:perf:profile:runner`, dosya paralelliği devre dışı bırakılmış unit paketi için
+ runner CPU+heap profilleri yazar.
@@ -459,324 +484,321 @@ Süitleri “artan gerçekçilik” (ve artan kırılganlık/maliyet) olarak dü
### Kararlılık (Gateway)
- Komut: `pnpm test:stability:gateway`
-- Yapılandırma: `vitest.gateway.config.ts`, bir işçiye zorlanmış
+- Config: `vitest.gateway.config.ts`, tek worker'a zorlanır
- Kapsam:
- - Tanılamalar varsayılan olarak etkin olacak şekilde gerçek bir geri döngü Gateway'i başlatır
- - Sentetik Gateway iletisi, bellek ve büyük yük hareketliliğini tanılama olay yolu üzerinden sürer
+ - Varsayılan olarak diagnostics etkin gerçek bir loopback Gateway başlatır
+ - Sentetik gateway message, memory ve large-payload churn'ünü diagnostic event yolu üzerinden yürütür
- Gateway WS RPC üzerinden `diagnostics.stability` sorgular
- - Tanılama kararlılığı paketi kalıcılık yardımcılarını kapsar
- - Kaydedicinin sınırlı kaldığını, sentetik RSS örneklerinin baskı bütçesinin altında kaldığını ve oturum başına kuyruk derinliklerinin yeniden sıfıra boşaldığını doğrular
+ - Diagnostic stability bundle kalıcılık yardımcılarını kapsar
+ - Recorder'ın sınırlı kaldığını, sentetik RSS örneklerinin pressure budget altında kaldığını ve session başına queue depth değerlerinin yeniden sıfıra boşaldığını doğrular
- Beklentiler:
- - CI için güvenli ve anahtarsız
- - Kararlılık regresyonu takibi için dar hat; tam Gateway paketinin yerine geçmez
+ - CI-safe ve anahtarsız
+ - Stability-regression takibi için dar hat; tam Gateway paketinin ikamesi değildir
-### E2E (Gateway duman testi)
+### E2E (Gateway smoke)
- Komut: `pnpm test:e2e`
-- Yapılandırma: `vitest.e2e.config.ts`
-- Dosyalar: `src/**/*.e2e.test.ts`, `test/**/*.e2e.test.ts` ve `extensions/` altındaki paketlenmiş Plugin E2E testleri
-- Çalışma zamanı varsayılanları:
- - Deponun geri kalanıyla eşleşecek şekilde Vitest `threads` değerini `isolate: false` ile kullanır.
- - Uyarlanabilir işçiler kullanır (CI: en fazla 2, yerel: varsayılan olarak 1).
- - Konsol G/Ç ek yükünü azaltmak için varsayılan olarak sessiz modda çalışır.
-- Yararlı geçersiz kılmalar:
- - İşçi sayısını zorlamak için `OPENCLAW_E2E_WORKERS=` (16 ile sınırlandırılır).
- - Ayrıntılı konsol çıktısını yeniden etkinleştirmek için `OPENCLAW_E2E_VERBOSE=1`.
+- Config: `vitest.e2e.config.ts`
+- Dosyalar: `src/**/*.e2e.test.ts`, `test/**/*.e2e.test.ts` ve `extensions/` altındaki bundled-plugin E2E testleri
+- Runtime varsayılanları:
+ - Deponun geri kalanıyla eşleşerek Vitest `threads` ile `isolate: false` kullanır.
+ - Uyarlanabilir worker'lar kullanır (CI: en fazla 2, yerel: varsayılan olarak 1).
+ - Console I/O overhead'ini azaltmak için varsayılan olarak silent modda çalışır.
+- Yararlı override'lar:
+ - Worker sayısını zorlamak için `OPENCLAW_E2E_WORKERS=` (16 ile sınırlıdır).
+ - Ayrıntılı console çıktısını yeniden etkinleştirmek için `OPENCLAW_E2E_VERBOSE=1`.
- Kapsam:
- - Çok örnekli Gateway uçtan uca davranışı
- - WebSocket/HTTP yüzeyleri, Node eşleştirme ve daha ağır ağ iletişimi
+ - Çok örnekli gateway uçtan uca davranışı
+ - WebSocket/HTTP yüzeyleri, node eşleştirme ve daha ağır networking
- Beklentiler:
- - CI'da çalışır (pipeline içinde etkinleştirildiğinde)
+ - CI'da çalışır (pipeline'da etkinleştirildiğinde)
- Gerçek anahtar gerekmez
- - Birim testlerinden daha fazla hareketli parça içerir (daha yavaş olabilir)
+ - Unit testlerinden daha fazla hareketli parça içerir (daha yavaş olabilir)
-### E2E: OpenShell arka uç duman testi
+### E2E: OpenShell backend smoke
- Komut: `pnpm test:e2e:openshell`
- Dosya: `extensions/openshell/src/backend.e2e.test.ts`
- Kapsam:
- - Docker üzerinden ana makinede yalıtılmış bir OpenShell Gateway'i başlatır
- - Geçici bir yerel Dockerfile'dan korumalı alan oluşturur
- - OpenClaw'ın OpenShell arka ucunu gerçek `sandbox ssh-config` + SSH yürütmesi üzerinden çalıştırır
- - Uzak-kanonik dosya sistemi davranışını korumalı alan fs köprüsü üzerinden doğrular
+ - Docker üzerinden host üzerinde yalıtılmış bir OpenShell gateway başlatır
+ - Geçici yerel Dockerfile'dan bir sandbox oluşturur
+ - Gerçek `sandbox ssh-config` + SSH exec üzerinden OpenClaw'ın OpenShell backend'ini çalıştırır
+ - Sandbox fs bridge üzerinden remote-canonical dosya sistemi davranışını doğrular
- Beklentiler:
- - Yalnızca isteğe bağlı; varsayılan `pnpm test:e2e` çalıştırmasının parçası değildir
- - Yerel `openshell` CLI ve çalışan bir Docker artalan süreci gerektirir
- - Yalıtılmış `HOME` / `XDG_CONFIG_HOME` kullanır, ardından test Gateway'ini ve korumalı alanı yok eder
-- Yararlı geçersiz kılmalar:
+ - Yalnızca opt-in; varsayılan `pnpm test:e2e` çalıştırmasının parçası değildir
+ - Yerel `openshell` CLI ve çalışan bir Docker daemon gerektirir
+ - Yalıtılmış `HOME` / `XDG_CONFIG_HOME` kullanır, ardından test gateway'ini ve sandbox'ı yok eder
+- Yararlı override'lar:
- Daha geniş e2e paketini elle çalıştırırken testi etkinleştirmek için `OPENCLAW_E2E_OPENSHELL=1`
- - Varsayılan olmayan bir CLI ikilisine veya sarmalayıcı betiğe işaret etmek için `OPENCLAW_E2E_OPENSHELL_COMMAND=/path/to/openshell`
+ - Varsayılan olmayan CLI binary'sine veya wrapper betiğine işaret etmek için `OPENCLAW_E2E_OPENSHELL_COMMAND=/path/to/openshell`
### Canlı (gerçek sağlayıcılar + gerçek modeller)
- Komut: `pnpm test:live`
-- Yapılandırma: `vitest.live.config.ts`
-- Dosyalar: `src/**/*.live.test.ts`, `test/**/*.live.test.ts` ve `extensions/` altındaki paketlenmiş Plugin canlı testleri
-- Varsayılan: `pnpm test:live` tarafından **etkinleştirilir** (`OPENCLAW_LIVE_TEST=1` ayarlar)
+- Config: `vitest.live.config.ts`
+- Dosyalar: `src/**/*.live.test.ts`, `test/**/*.live.test.ts` ve `extensions/` altındaki bundled-plugin live testleri
+- Varsayılan: `pnpm test:live` ile **etkin** (`OPENCLAW_LIVE_TEST=1` ayarlar)
- Kapsam:
- - “Bu sağlayıcı/model gerçek kimlik bilgileriyle _bugün_ gerçekten çalışıyor mu?”
- - Sağlayıcı biçim değişikliklerini, araç çağırma tuhaflıklarını, kimlik doğrulama sorunlarını ve hız sınırı davranışını yakalar
+ - “Bu provider/model gerçek kimlik bilgileriyle _bugün_ gerçekten çalışıyor mu?”
+ - Provider format değişikliklerini, tool-calling tuhaflıklarını, auth sorunlarını ve rate limit davranışını yakalar
- Beklentiler:
- - Tasarımı gereği CI-kararlı değildir (gerçek ağlar, gerçek sağlayıcı politikaları, kotalar, kesintiler)
- - Para maliyeti vardır / hız sınırlarını kullanır
- - “Her şey” yerine daraltılmış alt kümeleri çalıştırmayı tercih edin
-- Canlı çalıştırmalar, eksik API anahtarlarını almak için `~/.profile` dosyasını kaynak olarak okur.
-- Varsayılan olarak canlı çalıştırmalar hâlâ `HOME` öğesini yalıtır ve yapılandırma/auth malzemesini geçici bir test home dizinine kopyalar; böylece birim fixture'ları gerçek `~/.openclaw` dizininizi değiştiremez.
-- `OPENCLAW_LIVE_USE_REAL_HOME=1` değerini yalnızca canlı testlerin kasıtlı olarak gerçek home dizininizi kullanmasına ihtiyaç duyduğunuzda ayarlayın.
-- `pnpm test:live` artık varsayılan olarak daha sessiz bir moda geçer: `[live] ...` ilerleme çıktısını korur, ancak ek `~/.profile` bildirimini bastırır ve Gateway başlatma günlüklerini/Bonjour gürültüsünü sessize alır. Tam başlatma günlüklerini geri istiyorsanız `OPENCLAW_LIVE_TEST_QUIET=0` ayarlayın.
-- API anahtarı rotasyonu (sağlayıcıya özel): virgül/noktalı virgül biçimiyle `*_API_KEYS` veya `*_API_KEY_1`, `*_API_KEY_2` ayarlayın (örneğin `OPENAI_API_KEYS`, `ANTHROPIC_API_KEYS`, `GEMINI_API_KEYS`) ya da `OPENCLAW_LIVE_*_KEY` üzerinden canlı test başına geçersiz kılma kullanın; testler hız sınırı yanıtlarında yeniden dener.
-- İlerleme/Heartbeat çıktısı:
- - Canlı paketler artık ilerleme satırlarını stderr'ye yazar; böylece uzun sağlayıcı çağrıları Vitest konsol yakalaması sessizken bile görünür biçimde etkindir.
- - `vitest.live.config.ts`, canlı çalıştırmalar sırasında sağlayıcı/Gateway ilerleme satırlarının hemen akması için Vitest konsol müdahalesini devre dışı bırakır.
- - Doğrudan model Heartbeat'lerini `OPENCLAW_LIVE_HEARTBEAT_MS` ile ayarlayın.
- - Gateway/sonda Heartbeat'lerini `OPENCLAW_LIVE_GATEWAY_HEARTBEAT_MS` ile ayarlayın.
+ - Tasarım gereği CI-stable değildir (gerçek ağlar, gerçek provider politikaları, kotalar, kesintiler)
+ - Para harcar / rate limit kullanır
+ - “Her şeyi” çalıştırmak yerine daraltılmış alt kümeleri çalıştırmayı tercih edin
+- Canlı çalıştırmalar, eksik API anahtarlarını almak için `~/.profile` dosyasını source eder.
+- Varsayılan olarak, canlı çalıştırmalar hâlâ `HOME` dizinini yalıtır ve unit fixture'larının gerçek `~/.openclaw` dizininizi değiştirememesi için config/auth materyalini geçici bir test home'una kopyalar.
+- `OPENCLAW_LIVE_USE_REAL_HOME=1` değerini yalnızca canlı testlerin gerçek home dizininizi kullanmasını bilinçli olarak istediğinizde ayarlayın.
+- `pnpm test:live` artık varsayılan olarak daha sessiz bir moda geçer: `[live] ...` ilerleme çıktısını korur, ancak ekstra `~/.profile` bildirimini bastırır ve gateway bootstrap log'larını/Bonjour chatter'ını susturur. Tam başlatma log'larını geri istiyorsanız `OPENCLAW_LIVE_TEST_QUIET=0` ayarlayın.
+- API key rotation (provider'a özgü): `*_API_KEYS` değerini virgül/noktalı virgül formatıyla veya `*_API_KEY_1`, `*_API_KEY_2` olarak ayarlayın (örneğin `OPENAI_API_KEYS`, `ANTHROPIC_API_KEYS`, `GEMINI_API_KEYS`) ya da `OPENCLAW_LIVE_*_KEY` üzerinden live başına override kullanın; testler rate limit yanıtlarında yeniden dener.
+- Progress/heartbeat çıktısı:
+ - Canlı paketler artık stderr'e progress satırları yayar; böylece uzun provider çağrıları, Vitest console capture sessizken bile görünür şekilde aktiftir.
+ - `vitest.live.config.ts`, Vitest console interception'ı devre dışı bırakır; böylece provider/gateway progress satırları canlı çalıştırmalar sırasında hemen stream edilir.
+ - Doğrudan-model heartbeat'lerini `OPENCLAW_LIVE_HEARTBEAT_MS` ile ayarlayın.
+ - Gateway/probe heartbeat'lerini `OPENCLAW_LIVE_GATEWAY_HEARTBEAT_MS` ile ayarlayın.
## Hangi paketi çalıştırmalıyım?
Bu karar tablosunu kullanın:
-- Düzenleme mantığı/testleri: `pnpm test` komutunu çalıştırın (çok şey değiştirdiyseniz `pnpm test:coverage` da çalıştırın)
-- Gateway ağı / WS protokolü / eşleştirme üzerinde değişiklik yapıyorsanız: `pnpm test:e2e` ekleyin
-- “botum kapalı” / sağlayıcıya özgü hatalar / araç çağırma hata ayıklaması yapıyorsanız: daraltılmış bir `pnpm test:live` çalıştırın
+- Düzenleme mantığı/testleri: `pnpm test` çalıştırın (çok fazla değişiklik yaptıysanız `pnpm test:coverage` da)
+- Gateway ağ iletişimine / WS protokolüne / eşlemeye dokunuyorsanız: `pnpm test:e2e` ekleyin
+- “botum çalışmıyor” / sağlayıcıya özgü hatalar / araç çağırma hata ayıklaması: daraltılmış bir `pnpm test:live` çalıştırın
## Canlı (ağa dokunan) testler
-Canlı model matrisi, CLI arka uç smoke testleri, ACP smoke testleri, Codex uygulama sunucusu
-koşumu ve tüm medya sağlayıcı canlı testleri (Deepgram, BytePlus, ComfyUI, image,
-music, video, media harness) ve canlı çalıştırmalar için kimlik bilgisi işleme hakkında bilgi için bkz.
-[Testing — live suites](/tr/help/testing-live).
+Canlı model matrisi, CLI backend smoke testleri, ACP smoke testleri, Codex app-server
+harness'ı ve tüm medya sağlayıcısı canlı testleri (Deepgram, BytePlus, ComfyUI, görüntü,
+müzik, video, medya harness'ı) — ayrıca canlı çalıştırmalar için kimlik bilgisi yönetimi — için
+bkz. [Testing — canlı paketler](/tr/help/testing-live).
## Docker çalıştırıcıları (isteğe bağlı "Linux'ta çalışıyor" kontrolleri)
Bu Docker çalıştırıcıları iki gruba ayrılır:
-- Canlı model çalıştırıcıları: `test:docker:live-models` ve `test:docker:live-gateway`, repo Docker imajı içinde yalnızca eşleşen profil anahtarlı canlı dosyalarını (`src/agents/models.profiles.live.test.ts` ve `src/gateway/gateway-models.profiles.live.test.ts`) çalıştırır; yerel yapılandırma dizininizi ve çalışma alanınızı bağlar (bağlanmışsa `~/.profile` dosyasını da kaynak alır). Eşleşen yerel giriş noktaları `test:live:models-profiles` ve `test:live:gateway-profiles` şeklindedir.
-- Docker canlı çalıştırıcıları varsayılan olarak daha küçük bir smoke sınırı kullanır; böylece tam bir Docker taraması pratik kalır:
- `test:docker:live-models` varsayılan olarak `OPENCLAW_LIVE_MAX_MODELS=12` kullanır; ayrıca
+- Canlı model çalıştırıcıları: `test:docker:live-models` ve `test:docker:live-gateway`, repo Docker imajı içinde yalnızca eşleşen profil anahtarlı canlı dosyalarını (`src/agents/models.profiles.live.test.ts` ve `src/gateway/gateway-models.profiles.live.test.ts`) çalıştırır; yerel config dizininizi ve çalışma alanınızı bağlar (ve bağlandıysa `~/.profile` dosyasını kaynak olarak alır). Eşleşen yerel giriş noktaları `test:live:models-profiles` ve `test:live:gateway-profiles` şeklindedir.
+- Docker canlı çalıştırıcıları varsayılan olarak daha küçük bir smoke sınırı kullanır, böylece tam Docker taraması pratik kalır:
+ `test:docker:live-models` varsayılan olarak `OPENCLAW_LIVE_MAX_MODELS=12` kullanır ve
`test:docker:live-gateway` varsayılan olarak `OPENCLAW_LIVE_GATEWAY_SMOKE=1`,
`OPENCLAW_LIVE_GATEWAY_MAX_MODELS=8`,
`OPENCLAW_LIVE_GATEWAY_STEP_TIMEOUT_MS=45000` ve
- `OPENCLAW_LIVE_GATEWAY_MODEL_TIMEOUT_MS=90000` kullanır. Açıkça daha büyük ve kapsamlı taramayı
- istediğinizde bu env değişkenlerini geçersiz kılın.
-- `test:docker:all`, canlı Docker imajını `test:docker:live-build` aracılığıyla bir kez oluşturur, OpenClaw'ı `scripts/package-openclaw-for-docker.mjs` üzerinden bir npm tarball olarak bir kez paketler, ardından iki `scripts/e2e/Dockerfile` imajı oluşturur/yeniden kullanır. Yalın imaj, install/update/plugin-dependency hatları için yalnızca Node/Git çalıştırıcısıdır; bu hatlar önceden oluşturulmuş tarball'ı bağlar. İşlevsel imaj, derlenmiş uygulama işlevselliği hatları için aynı tarball'ı `/app` içine kurar. Docker hat tanımları `scripts/lib/docker-e2e-scenarios.mjs` içinde bulunur; planlayıcı mantığı `scripts/lib/docker-e2e-plan.mjs` içindedir; `scripts/test-docker-all.mjs` seçilen planı yürütür. Toplam çalıştırma ağırlıklı bir yerel zamanlayıcı kullanır: `OPENCLAW_DOCKER_ALL_PARALLELISM` işlem yuvalarını denetlerken, kaynak sınırları ağır canlı, npm-install ve çok hizmetli hatların hepsinin aynı anda başlamasını engeller. Tek bir hat etkin sınırlardan daha ağırsa, zamanlayıcı havuz boşken yine de onu başlatabilir ve kapasite yeniden kullanılabilir olana kadar tek başına çalıştırmaya devam eder. Varsayılanlar 10 yuva, `OPENCLAW_DOCKER_ALL_LIVE_LIMIT=9`, `OPENCLAW_DOCKER_ALL_NPM_LIMIT=10` ve `OPENCLAW_DOCKER_ALL_SERVICE_LIMIT=7` şeklindedir; `OPENCLAW_DOCKER_ALL_WEIGHT_LIMIT` veya `OPENCLAW_DOCKER_ALL_DOCKER_LIMIT` değerlerini yalnızca Docker ana makinesinde daha fazla kapasite varsa ayarlayın. Çalıştırıcı varsayılan olarak bir Docker ön kontrolü yapar, eski OpenClaw E2E container'larını kaldırır, her 30 saniyede bir durum yazdırır, başarılı hat sürelerini `.artifacts/docker-tests/lane-timings.json` içinde saklar ve sonraki çalıştırmalarda daha uzun hatları önce başlatmak için bu süreleri kullanır. Docker oluşturmadan veya çalıştırmadan ağırlıklı hat manifestini yazdırmak için `OPENCLAW_DOCKER_ALL_DRY_RUN=1` kullanın ya da seçilen hatlar, paket/imaj gereksinimleri ve kimlik bilgileri için CI planını yazdırmak üzere `node scripts/test-docker-all.mjs --plan-json` çalıştırın.
-- `Package Acceptance`, "bu kurulabilir tarball ürün olarak çalışıyor mu?" sorusu için GitHub yerel paket kapısıdır. `source=npm`, `source=ref`, `source=url` veya `source=artifact` içinden bir aday paket çözümler, bunu `package-under-test` olarak yükler, ardından yeniden kullanılabilir Docker E2E hatlarını seçilen ref'i yeniden paketlemek yerine tam olarak bu tarball'a karşı çalıştırır. `workflow_ref` güvenilir workflow/koşum betiklerini seçerken, `package_ref` `source=ref` olduğunda paketlenecek kaynak commit/branch/tag değerini seçer; bu, güncel kabul mantığının eski güvenilir commit'leri doğrulamasını sağlar. Profiller kapsam genişliğine göre sıralanır: `smoke` hızlı kurulum/kanal/agent artı Gateway/config içerir, `package` paket/update/Plugin sözleşmesini, anahtarsız upgrade-survivor fixture'ını ve çoğu Parallels package/update kapsamı için varsayılan yerel değişimi içerir, `product` MCP kanalları, cron/subagent temizliği, OpenAI web araması ve OpenWebUI ekler, `full` ise release-path Docker parçalarını OpenWebUI ile çalıştırır. Yayın doğrulaması, release-path Docker parçaları zaten örtüşen package/update/Plugin hatlarını kapsadığı için özel bir paket deltası (`bundled-channel-deps-compat plugins-offline`) artı Telegram paket QA çalıştırır. Artifact'lerden üretilen hedefli GitHub Docker yeniden çalıştırma komutları, varsa önceki paket artifact'ini ve hazırlanmış imaj girdilerini içerir; böylece başarısız hatlar paketi ve imajları yeniden oluşturmaktan kaçınabilir.
-- Derleme ve yayın kontrolleri, tsdown sonrasında `scripts/check-cli-bootstrap-imports.mjs` çalıştırır. Koruma, statik derlenmiş grafiği `dist/entry.js` ve `dist/cli/run-main.js` üzerinden yürür ve komut yönlendirmesinden önce başlatma öncesi import'lar Commander, prompt UI, undici veya logging gibi paket bağımlılıklarını içe aktarırsa başarısız olur; ayrıca paketlenmiş Gateway çalıştırma parçasını bütçe altında tutar ve bilinen soğuk Gateway yollarının statik import'larını reddeder. Paketlenmiş CLI smoke testi ayrıca kök yardımını, onboard yardımını, doctor yardımını, durumu, yapılandırma şemasını ve bir model-list komutunu kapsar.
-- Package Acceptance eski uyumluluğu `2026.4.25` ile sınırlandırılmıştır (`2026.4.25-beta.*` dahil). Bu son tarihe kadar koşum yalnızca gönderilmiş paket metadata boşluklarını tolere eder: atlanan özel QA envanteri girdileri, eksik `gateway install --wrapper`, tarball'dan türetilmiş git fixture'ında eksik patch dosyaları, eksik kalıcı `update.channel`, eski Plugin install-record konumları, eksik marketplace install-record kalıcılığı ve `plugins update` sırasında yapılandırma metadata migration'ı. `2026.4.25` sonrasındaki paketler için bu yollar kesin hatadır.
-- Container smoke çalıştırıcıları: `test:docker:openwebui`, `test:docker:onboard`, `test:docker:npm-onboard-channel-agent`, `test:docker:update-channel-switch`, `test:docker:upgrade-survivor`, `test:docker:session-runtime-context`, `test:docker:agents-delete-shared-workspace`, `test:docker:gateway-network`, `test:docker:browser-cdp-snapshot`, `test:docker:mcp-channels`, `test:docker:pi-bundle-mcp-tools`, `test:docker:cron-mcp-cleanup`, `test:docker:plugins`, `test:docker:plugin-update` ve `test:docker:config-reload` bir veya daha fazla gerçek container başlatır ve daha üst düzey entegrasyon yollarını doğrular.
+ `OPENCLAW_LIVE_GATEWAY_MODEL_TIMEOUT_MS=90000` kullanır. Özellikle daha büyük kapsamlı taramayı
+ istediğinizde bu ortam değişkenlerini geçersiz kılın.
+- `test:docker:all`, canlı Docker imajını `test:docker:live-build` üzerinden bir kez derler, OpenClaw'u `scripts/package-openclaw-for-docker.mjs` aracılığıyla bir npm tarball olarak bir kez paketler, ardından iki `scripts/e2e/Dockerfile` imajı derler/yeniden kullanır. Yalın imaj, install/update/plugin-dependency hatları için yalnızca Node/Git çalıştırıcısıdır; bu hatlar önceden derlenmiş tarball'u bağlar. İşlevsel imaj, derlenmiş uygulama işlevselliği hatları için aynı tarball'u `/app` içine kurar. Docker hat tanımları `scripts/lib/docker-e2e-scenarios.mjs` içindedir; planlayıcı mantığı `scripts/lib/docker-e2e-plan.mjs` içindedir; `scripts/test-docker-all.mjs` seçilen planı yürütür. Toplu çalıştırma ağırlıklı bir yerel zamanlayıcı kullanır: `OPENCLAW_DOCKER_ALL_PARALLELISM` işlem slotlarını kontrol ederken, kaynak sınırları ağır canlı, npm-install ve çok hizmetli hatların aynı anda başlamasını engeller. Tek bir hat etkin sınırlardan daha ağırsa, zamanlayıcı havuz boşken yine de onu başlatabilir ve kapasite yeniden kullanılabilir olana kadar tek başına çalıştırır. Varsayılanlar 10 slot, `OPENCLAW_DOCKER_ALL_LIVE_LIMIT=9`, `OPENCLAW_DOCKER_ALL_NPM_LIMIT=10` ve `OPENCLAW_DOCKER_ALL_SERVICE_LIMIT=7` şeklindedir; `OPENCLAW_DOCKER_ALL_WEIGHT_LIMIT` veya `OPENCLAW_DOCKER_ALL_DOCKER_LIMIT` değerlerini yalnızca Docker host daha fazla kapasiteye sahipse ayarlayın. Çalıştırıcı varsayılan olarak bir Docker ön kontrolü yapar, eski OpenClaw E2E container'larını kaldırır, her 30 saniyede bir durum yazdırır, başarılı hat sürelerini `.artifacts/docker-tests/lane-timings.json` içinde saklar ve sonraki çalıştırmalarda daha uzun hatları önce başlatmak için bu süreleri kullanır. Docker derlemeden veya çalıştırmadan ağırlıklı hat manifestini yazdırmak için `OPENCLAW_DOCKER_ALL_DRY_RUN=1` kullanın ya da seçili hatlar, paket/imaj gereksinimleri ve kimlik bilgileri için CI planını yazdırmak üzere `node scripts/test-docker-all.mjs --plan-json` çalıştırın.
+- `Package Acceptance`, "bu kurulabilir tarball ürün olarak çalışıyor mu?" sorusu için GitHub'a özgü paket kapısıdır. `source=npm`, `source=ref`, `source=url` veya `source=artifact` içinden bir aday paketi çözümler, bunu `package-under-test` olarak yükler, ardından seçilen ref'i yeniden paketlemek yerine yeniden kullanılabilir Docker E2E hatlarını tam olarak bu tarball'a karşı çalıştırır. `workflow_ref` güvenilir workflow/harness betiklerini seçerken, `package_ref` `source=ref` olduğunda paketlenecek kaynak commit/branch/tag değerini seçer; bu, geçerli kabul mantığının daha eski güvenilir commit'leri doğrulamasını sağlar. Profiller kapsama göre sıralanır: `smoke` hızlı install/channel/agent artı Gateway/config'tir, `package` paket/update/Plugin sözleşmesi artı anahtarsız upgrade-survivor fixture'ı, yayımlanmış baseline upgrade survivor hattı ve çoğu Parallels paket/update kapsamının varsayılan yerel ikamesidir, `product` MCP kanalları, cron/subagent temizliği, OpenAI web araması ve OpenWebUI ekler, `full` ise OpenWebUI ile release-path Docker parçalarını çalıştırır. `published-upgrade-survivor` için Package Acceptance her zaman adayı `package-under-test` olarak ve fallback yayımlanmış baseline'ı `published_upgrade_survivor_baseline` olarak kullanır; varsayılan `openclaw@latest` olur; hattı en son altı kararlı sürüm, `2026.4.23` ve `2026-03-15` öncesindeki en son kararlı sürümden oluşan tekilleştirilmiş bir matrise bölmek için `published_upgrade_survivor_baselines=release-history` ayarlayın. Yayımlanmış hat, baseline'ını yerleşik bir `openclaw config set` komut tarifiyle yapılandırır, ardından tarif adımlarını hat özetine kaydeder. Sürüm doğrulaması, özel bir paket deltası (`bundled-channel-deps-compat plugins-offline`) artı Telegram paket QA çalıştırır; çünkü release-path Docker parçaları çakışan paket/update/Plugin hatlarını zaten kapsar. Artifact'lerden üretilen hedefli GitHub Docker yeniden çalıştırma komutları, önceki paket artifact'ini, hazırlanmış imaj girdilerini ve mevcut olduğunda yayımlanmış upgrade-survivor baseline listesini içerir; böylece başarısız hatlar paketi ve imajları yeniden derlemekten kaçınabilir.
+- Derleme ve sürüm kontrolleri tsdown sonrasında `scripts/check-cli-bootstrap-imports.mjs` çalıştırır. Koruma, `dist/entry.js` ve `dist/cli/run-main.js` üzerinden statik derlenmiş grafiği gezer ve komut dispatch öncesi başlatmanın Commander, prompt UI, undici veya logging gibi paket bağımlılıklarını içe aktarması durumunda başarısız olur; ayrıca paketlenmiş Gateway run parçasını bütçe altında tutar ve bilinen soğuk Gateway yollarının statik import'larını reddeder. Paketlenmiş CLI smoke testi ayrıca kök help, onboard help, doctor help, status, config schema ve bir model-list komutunu kapsar.
+- Package Acceptance eski uyumluluğu `2026.4.25` ile sınırlıdır (`2026.4.25-beta.*` dahil). Bu kesme noktasına kadar harness yalnızca gönderilmiş paket metadata boşluklarını tolere eder: atlanmış özel QA envanter girdileri, eksik `gateway install --wrapper`, tarball'dan türetilmiş git fixture içinde eksik patch dosyaları, eksik kalıcı `update.channel`, eski Plugin install-record konumları, eksik marketplace install-record kalıcılığı ve `plugins update` sırasında config metadata migration. `2026.4.25` sonrası paketlerde bu yollar katı hata sayılır.
+- Container smoke çalıştırıcıları: `test:docker:openwebui`, `test:docker:onboard`, `test:docker:npm-onboard-channel-agent`, `test:docker:update-channel-switch`, `test:docker:upgrade-survivor`, `test:docker:published-upgrade-survivor`, `test:docker:session-runtime-context`, `test:docker:agents-delete-shared-workspace`, `test:docker:gateway-network`, `test:docker:browser-cdp-snapshot`, `test:docker:mcp-channels`, `test:docker:pi-bundle-mcp-tools`, `test:docker:cron-mcp-cleanup`, `test:docker:plugins`, `test:docker:plugin-update` ve `test:docker:config-reload` bir veya daha fazla gerçek container başlatır ve daha üst düzey entegrasyon yollarını doğrular.
-Canlı model Docker çalıştırıcıları ayrıca yalnızca gereken CLI auth home'larını (veya çalıştırma daraltılmamışsa desteklenenlerin tümünü) bind-mount eder, ardından çalıştırmadan önce bunları container home'una kopyalar; böylece harici CLI OAuth token'ları ana makine auth deposunu değiştirmeden yenileyebilir:
+Canlı model Docker çalıştırıcıları ayrıca yalnızca gereken CLI auth home'larını (veya çalışma daraltılmamışsa desteklenenlerin tümünü) bind-mount eder, ardından çalışma öncesinde bunları container home'a kopyalar; böylece external-CLI OAuth, host auth deposunu değiştirmeden token'ları yenileyebilir:
- Doğrudan modeller: `pnpm test:docker:live-models` (betik: `scripts/test-live-models-docker.sh`)
-- ACP bağlama duman testi: `pnpm test:docker:live-acp-bind` (betik: `scripts/test-live-acp-bind-docker.sh`; varsayılan olarak Claude, Codex ve Gemini’yi kapsar, Droid/OpenCode için sıkı kapsam `pnpm test:docker:live-acp-bind:droid` ve `pnpm test:docker:live-acp-bind:opencode` ile sağlanır)
-- CLI arka uç duman testi: `pnpm test:docker:live-cli-backend` (betik: `scripts/test-live-cli-backend-docker.sh`)
-- Codex uygulama-sunucusu harness duman testi: `pnpm test:docker:live-codex-harness` (betik: `scripts/test-live-codex-harness-docker.sh`)
+- ACP bağlama smoke testi: `pnpm test:docker:live-acp-bind` (betik: `scripts/test-live-acp-bind-docker.sh`; varsayılan olarak Claude, Codex ve Gemini'yi kapsar, `pnpm test:docker:live-acp-bind:droid` ve `pnpm test:docker:live-acp-bind:opencode` ile katı Droid/OpenCode kapsamı sağlar)
+- CLI arka uç smoke testi: `pnpm test:docker:live-cli-backend` (betik: `scripts/test-live-cli-backend-docker.sh`)
+- Codex app-server harness smoke testi: `pnpm test:docker:live-codex-harness` (betik: `scripts/test-live-codex-harness-docker.sh`)
- Gateway + geliştirme ajanı: `pnpm test:docker:live-gateway` (betik: `scripts/test-live-gateway-models-docker.sh`)
-- Gözlemlenebilirlik duman testi: `pnpm qa:otel:smoke`, özel bir QA kaynak-checkout hattıdır. npm tarball’ı QA Lab’i içermediği için paket Docker yayın hatlarının bilerek bir parçası değildir.
-- Open WebUI canlı duman testi: `pnpm test:docker:openwebui` (betik: `scripts/e2e/openwebui-docker.sh`)
-- Onboarding sihirbazı (TTY, tam scaffolding): `pnpm test:docker:onboard` (betik: `scripts/e2e/onboard-docker.sh`)
-- Npm tarball onboarding/kanal/ajan duman testi: `pnpm test:docker:npm-onboard-channel-agent`, paketlenmiş OpenClaw tarball’ını Docker içinde global olarak kurar, env-ref onboarding üzerinden OpenAI’ı ve varsayılan olarak Telegram’ı yapılandırır, doctor onarımlarının etkinleştirilmiş plugin çalışma zamanı bağımlılıklarını etkinleştirdiğini doğrular ve bir taklit OpenAI ajan turu çalıştırır. Önceden oluşturulmuş bir tarball’ı `OPENCLAW_CURRENT_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile yeniden kullanın, ana makine yeniden derlemesini `OPENCLAW_NPM_ONBOARD_HOST_BUILD=0` ile atlayın veya kanalı `OPENCLAW_NPM_ONBOARD_CHANNEL=discord` ile değiştirin.
-- Güncelleme kanalı değiştirme duman testi: `pnpm test:docker:update-channel-switch`, paketlenmiş OpenClaw tarball’ını Docker içinde global olarak kurar, paket `stable` kanalından git `dev` kanalına geçer, kalıcı kanalın ve plugin güncelleme sonrası çalışmasının doğrulandığını kontrol eder, ardından tekrar paket `stable` kanalına döner ve güncelleme durumunu denetler.
-- Yükseltme sağ kalım duman testi: `pnpm test:docker:upgrade-survivor`, paketlenmiş OpenClaw tarball’ını ajanlar, kanal yapılandırması, plugin izin listeleri, eski plugin çalışma zamanı bağımlılıkları durumu ve mevcut çalışma alanı/oturum dosyaları bulunan kirli bir eski-kullanıcı fixture’ının üzerine kurar. Canlı sağlayıcı veya kanal anahtarları olmadan paket güncellemesini ve etkileşimsiz doctor’ı çalıştırır, ardından bir loopback Gateway başlatır ve yapılandırma/durum korunmasını ve başlangıç/durum bütçelerini denetler.
-- Oturum çalışma zamanı bağlamı duman testi: `pnpm test:docker:session-runtime-context`, gizli çalışma zamanı bağlamı transcript kalıcılığını ve etkilenen yinelenmiş prompt-rewrite dallarının doctor ile onarılmasını doğrular.
-- Bun global kurulum duman testi: `bash scripts/e2e/bun-global-install-smoke.sh`, mevcut ağacı paketler, yalıtılmış bir home içinde `bun install -g` ile kurar ve `openclaw infer image providers --json` komutunun takılmak yerine paketlenmiş görüntü sağlayıcılarını döndürdüğünü doğrular. Önceden oluşturulmuş bir tarball’ı `OPENCLAW_BUN_GLOBAL_SMOKE_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile yeniden kullanın, ana makine derlemesini `OPENCLAW_BUN_GLOBAL_SMOKE_HOST_BUILD=0` ile atlayın veya oluşturulmuş bir Docker imajından `dist/` dizinini `OPENCLAW_BUN_GLOBAL_SMOKE_DIST_IMAGE=openclaw-dockerfile-smoke:local` ile kopyalayın.
-- Yükleyici Docker duman testi: `bash scripts/test-install-sh-docker.sh`, root, güncelleme ve doğrudan-npm container’ları arasında tek bir npm önbelleği paylaşır. Güncelleme duman testi, aday tarball’a yükseltmeden önce kararlı taban çizgisi olarak varsayılan şekilde npm `latest` kullanır. Yerelde `OPENCLAW_INSTALL_SMOKE_UPDATE_BASELINE=2026.4.22` ile veya GitHub’daki Install Smoke iş akışının `update_baseline_version` girdisiyle geçersiz kılın. Root olmayan yükleyici kontrolleri, root tarafından sahiplenilmiş önbellek girdilerinin kullanıcı-yerel kurulum davranışını maskelememesi için yalıtılmış bir npm önbelleği kullanır. Yerel yeniden çalıştırmalarda root/güncelleme/doğrudan-npm önbelleğini yeniden kullanmak için `OPENCLAW_INSTALL_SMOKE_NPM_CACHE_DIR=/path/to/cache` ayarlayın.
-- Install Smoke CI, yinelenen doğrudan-npm global güncellemeyi `OPENCLAW_INSTALL_SMOKE_SKIP_NPM_GLOBAL=1` ile atlar; doğrudan `npm install -g` kapsamı gerektiğinde betiği yerelde bu env olmadan çalıştırın.
-- Ajanlar paylaşılan çalışma alanını siler CLI duman testi: `pnpm test:docker:agents-delete-shared-workspace` (betik: `scripts/e2e/agents-delete-shared-workspace-docker.sh`) varsayılan olarak kök Dockerfile imajını derler, yalıtılmış bir container home içinde tek bir çalışma alanına sahip iki ajanı seed eder, `agents delete --json` çalıştırır ve geçerli JSON ile korunmuş çalışma alanı davranışını doğrular. Install-smoke imajını `OPENCLAW_AGENTS_DELETE_SHARED_WORKSPACE_E2E_IMAGE=openclaw-dockerfile-smoke:local OPENCLAW_AGENTS_DELETE_SHARED_WORKSPACE_E2E_SKIP_BUILD=1` ile yeniden kullanın.
-- Gateway ağ iletişimi (iki container, WS auth + health): `pnpm test:docker:gateway-network` (betik: `scripts/e2e/gateway-network-docker.sh`)
-- Tarayıcı CDP snapshot duman testi: `pnpm test:docker:browser-cdp-snapshot` (betik: `scripts/e2e/browser-cdp-snapshot-docker.sh`) kaynak E2E imajını ve bir Chromium katmanını derler, Chromium’u ham CDP ile başlatır, `browser doctor --deep` çalıştırır ve CDP rol snapshot’larının bağlantı URL’lerini, cursor ile yükseltilmiş tıklanabilirleri, iframe refs’lerini ve frame metadatasını kapsadığını doğrular.
-- OpenAI Responses `web_search` minimal reasoning regresyonu: `pnpm test:docker:openai-web-search-minimal` (betik: `scripts/e2e/openai-web-search-minimal-docker.sh`) taklit bir OpenAI sunucusunu Gateway üzerinden çalıştırır, `web_search` öğesinin `reasoning.effort` değerini `minimal` seviyesinden `low` seviyesine yükselttiğini doğrular, ardından sağlayıcı şemasını reddetmeye zorlar ve ham detayın Gateway günlüklerinde göründüğünü denetler.
-- MCP kanal köprüsü (seed edilmiş Gateway + stdio köprüsü + ham Claude notification-frame duman testi): `pnpm test:docker:mcp-channels` (betik: `scripts/e2e/mcp-channels-docker.sh`)
-- Pi paket MCP araçları (gerçek stdio MCP sunucusu + gömülü Pi profili izin/reddet duman testi): `pnpm test:docker:pi-bundle-mcp-tools` (betik: `scripts/e2e/pi-bundle-mcp-tools-docker.sh`)
-- Cron/subagent MCP temizliği (gerçek Gateway + yalıtılmış cron ve tek seferlik subagent çalıştırmalarından sonra stdio MCP child kapatma): `pnpm test:docker:cron-mcp-cleanup` (betik: `scripts/e2e/cron-mcp-cleanup-docker.sh`)
-- Plugins (kurulum duman testi, ClawHub kitchen-sink kurulum/kaldırma, marketplace güncellemeleri ve Claude-bundle etkinleştirme/inceleme): `pnpm test:docker:plugins` (betik: `scripts/e2e/plugins-docker.sh`)
- ClawHub bloğunu atlamak için `OPENCLAW_PLUGINS_E2E_CLAWHUB=0` ayarlayın veya varsayılan kitchen-sink paket/çalışma zamanı çiftini `OPENCLAW_PLUGINS_E2E_CLAWHUB_SPEC` ve `OPENCLAW_PLUGINS_E2E_CLAWHUB_ID` ile geçersiz kılın. `OPENCLAW_CLAWHUB_URL`/`CLAWHUB_URL` olmadan test, hermetik bir yerel ClawHub fixture sunucusu kullanır.
-- Plugin güncelleme değişmedi duman testi: `pnpm test:docker:plugin-update` (betik: `scripts/e2e/plugin-update-unchanged-docker.sh`)
-- Yapılandırma yeniden yükleme metadata duman testi: `pnpm test:docker:config-reload` (betik: `scripts/e2e/config-reload-source-docker.sh`)
-- Paketlenmiş plugin çalışma zamanı bağımlılıkları: `pnpm test:docker:bundled-channel-deps` varsayılan olarak küçük bir Docker runner imajı derler, OpenClaw’ı ana makinede bir kez derleyip paketler ve ardından bu tarball’ı her Linux kurulum senaryosuna mount eder. İmajı `OPENCLAW_SKIP_DOCKER_BUILD=1` ile yeniden kullanın, yeni bir yerel derlemeden sonra ana makine yeniden derlemesini `OPENCLAW_BUNDLED_CHANNEL_HOST_BUILD=0` ile atlayın veya `OPENCLAW_CURRENT_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile mevcut bir tarball’a işaret edin. Tam Docker toplamı ve yayın-yolu paketlenmiş-kanal parçaları bu tarball’ı bir kez önceden paketler, ardından paketlenmiş kanal kontrollerini Telegram, Discord, Slack, Feishu, memory-lancedb ve ACPX için ayrı güncelleme hatları dahil bağımsız hatlara böler. Yayın parçaları kanal duman testlerini, güncelleme hedeflerini ve kurulum/çalışma zamanı sözleşmelerini `bundled-channels-core`, `bundled-channels-update-a`, `bundled-channels-update-b` ve `bundled-channels-contracts` olarak böler; toplam `bundled-channels` parçası manuel yeniden çalıştırmalar için kullanılabilir kalır. Yayın iş akışı ayrıca sağlayıcı yükleyici parçalarını ve paketlenmiş plugin kurulum/kaldırma parçalarını böler; eski `package-update`, `plugins-runtime` ve `plugins-integrations` parçaları manuel yeniden çalıştırmalar için toplam alias’lar olarak kalır. Paketlenmiş hattı doğrudan çalıştırırken kanal matrisini daraltmak için `OPENCLAW_BUNDLED_CHANNELS=telegram,slack` veya güncelleme senaryosunu daraltmak için `OPENCLAW_BUNDLED_CHANNEL_UPDATE_TARGETS=telegram,acpx` kullanın. Senaryo başına Docker çalıştırmaları varsayılan olarak `OPENCLAW_BUNDLED_CHANNEL_DOCKER_RUN_TIMEOUT=900s` kullanır; çok hedefli güncelleme senaryosu varsayılan olarak `OPENCLAW_BUNDLED_CHANNEL_UPDATE_DOCKER_RUN_TIMEOUT=2400s` kullanır. Hat ayrıca `channels..enabled=false` ve `plugins.entries..enabled=false` değerlerinin doctor/çalışma zamanı bağımlılığı onarımını bastırdığını doğrular.
-- İlgisiz senaryoları devre dışı bırakarak yineleme sırasında paketlenmiş plugin çalışma zamanı bağımlılıklarını daraltın, örneğin:
+- Gözlemlenebilirlik smoke testi: `pnpm qa:otel:smoke` özel bir QA kaynak-checkout hattıdır. npm tarball'ı QA Lab'i içermediği için kasıtlı olarak paket Docker yayın hatlarının parçası değildir.
+- Open WebUI canlı smoke testi: `pnpm test:docker:openwebui` (betik: `scripts/e2e/openwebui-docker.sh`)
+- Onboarding sihirbazı (TTY, tam iskele oluşturma): `pnpm test:docker:onboard` (betik: `scripts/e2e/onboard-docker.sh`)
+- Npm tarball onboarding/kanal/ajan smoke testi: `pnpm test:docker:npm-onboard-channel-agent`, paketlenmiş OpenClaw tarball'ını Docker içinde global olarak kurar, OpenAI'ı env-ref onboarding ve varsayılan olarak Telegram ile yapılandırır, doctor onarımlarının etkinleştirilmiş Plugin runtime bağımlılıklarını doğrular ve bir taklit OpenAI ajan turu çalıştırır. Önceden oluşturulmuş bir tarball'ı `OPENCLAW_CURRENT_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile yeniden kullanın, ana makine yeniden derlemesini `OPENCLAW_NPM_ONBOARD_HOST_BUILD=0` ile atlayın veya kanalı `OPENCLAW_NPM_ONBOARD_CHANNEL=discord` ile değiştirin.
+- Güncelleme kanalı değiştirme smoke testi: `pnpm test:docker:update-channel-switch`, paketlenmiş OpenClaw tarball'ını Docker içinde global olarak kurar, paket `stable` kanalından git `dev` kanalına geçer, kalıcı kanalın ve güncelleme sonrası Plugin çalışmasının doğru olduğunu doğrular, ardından paket `stable` kanalına geri döner ve güncelleme durumunu kontrol eder.
+- Yükseltme survivor smoke testi: `pnpm test:docker:upgrade-survivor`, paketlenmiş OpenClaw tarball'ını ajanlar, kanal yapılandırması, Plugin izin listeleri, eski Plugin runtime-deps durumu ve mevcut çalışma alanı/oturum dosyaları içeren kirli bir eski kullanıcı fixture'ı üzerine kurar. Canlı sağlayıcı veya kanal anahtarları olmadan paket güncellemesini ve etkileşimsiz doctor'ı çalıştırır, ardından bir loopback Gateway başlatır ve yapılandırma/durum korunumu ile başlatma/durum bütçelerini kontrol eder.
+- Yayınlanmış yükseltme survivor smoke testi: `pnpm test:docker:published-upgrade-survivor`, varsayılan olarak `openclaw@latest` kurar, gerçekçi mevcut kullanıcı dosyalarını tohumlar, bu temel sürümü gömülü bir komut tarifiyle yapılandırır, oluşan yapılandırmayı doğrular, yayınlanmış kurulumu aday tarball'a günceller, etkileşimsiz doctor çalıştırır, `.artifacts/upgrade-survivor/summary.json` yazar, ardından bir loopback Gateway başlatır ve yapılandırılmış intent'leri, durum korunumunu, başlatmayı, `/healthz`, `/readyz` ve RPC durum bütçelerini kontrol eder. Tek bir temel sürümü `OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPEC` ile geçersiz kılın, toplu zamanlayıcıdan tam temel sürümleri `OPENCLAW_UPGRADE_SURVIVOR_BASELINE_SPECS` ile genişletmesini isteyin ve issue biçimli fixture'ları `reported-issues` gibi `OPENCLAW_UPGRADE_SURVIVOR_SCENARIOS` ile genişletin; Package Acceptance bunları `published_upgrade_survivor_baseline`, `published_upgrade_survivor_baselines` ve `published_upgrade_survivor_scenarios` olarak sunar.
+- Oturum runtime context smoke testi: `pnpm test:docker:session-runtime-context`, gizli runtime context transcript kalıcılığını ve etkilenen yinelenmiş prompt-yeniden-yazma dallarının doctor onarımını doğrular.
+- Bun global kurulum smoke testi: `bash scripts/e2e/bun-global-install-smoke.sh`, mevcut ağacı paketler, yalıtılmış bir home içinde `bun install -g` ile kurar ve `openclaw infer image providers --json` komutunun takılmak yerine paketlenmiş görüntü sağlayıcılarını döndürdüğünü doğrular. Önceden oluşturulmuş bir tarball'ı `OPENCLAW_BUN_GLOBAL_SMOKE_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile yeniden kullanın, ana makine derlemesini `OPENCLAW_BUN_GLOBAL_SMOKE_HOST_BUILD=0` ile atlayın veya derlenmiş bir Docker imajından `dist/` dizinini `OPENCLAW_BUN_GLOBAL_SMOKE_DIST_IMAGE=openclaw-dockerfile-smoke:local` ile kopyalayın.
+- Kurulum Docker smoke testi: `bash scripts/test-install-sh-docker.sh`, root, update ve direct-npm container'ları arasında tek bir npm önbelleği paylaşır. Güncelleme smoke testi, aday tarball'a yükseltmeden önce kararlı temel sürüm olarak varsayılan şekilde npm `latest` kullanır. Yerelde `OPENCLAW_INSTALL_SMOKE_UPDATE_BASELINE=2026.4.22` ile veya GitHub'da Install Smoke workflow'unun `update_baseline_version` girdisiyle geçersiz kılın. Root olmayan kurulum kontrolleri, root sahipli önbellek girdilerinin kullanıcı-yerel kurulum davranışını maskelememesi için yalıtılmış bir npm önbelleği tutar. Yerel yeniden çalıştırmalarda root/update/direct-npm önbelleğini yeniden kullanmak için `OPENCLAW_INSTALL_SMOKE_NPM_CACHE_DIR=/path/to/cache` ayarlayın.
+- Install Smoke CI, yinelenen direct-npm global güncellemeyi `OPENCLAW_INSTALL_SMOKE_SKIP_NPM_GLOBAL=1` ile atlar; doğrudan `npm install -g` kapsamı gerektiğinde betiği bu env olmadan yerelde çalıştırın.
+- Ajanlar paylaşılan çalışma alanı silme CLI smoke testi: `pnpm test:docker:agents-delete-shared-workspace` (betik: `scripts/e2e/agents-delete-shared-workspace-docker.sh`) varsayılan olarak kök Dockerfile imajını derler, yalıtılmış bir container home içinde tek çalışma alanına sahip iki ajanı tohumlar, `agents delete --json` çalıştırır ve geçerli JSON ile korunan çalışma alanı davranışını doğrular. Install-smoke imajını `OPENCLAW_AGENTS_DELETE_SHARED_WORKSPACE_E2E_IMAGE=openclaw-dockerfile-smoke:local OPENCLAW_AGENTS_DELETE_SHARED_WORKSPACE_E2E_SKIP_BUILD=1` ile yeniden kullanın.
+- Gateway ağ iletişimi (iki container, WS auth + sağlık): `pnpm test:docker:gateway-network` (betik: `scripts/e2e/gateway-network-docker.sh`)
+- Tarayıcı CDP snapshot smoke testi: `pnpm test:docker:browser-cdp-snapshot` (betik: `scripts/e2e/browser-cdp-snapshot-docker.sh`) kaynak E2E imajını ve bir Chromium katmanını derler, Chromium'u ham CDP ile başlatır, `browser doctor --deep` çalıştırır ve CDP rol snapshot'larının bağlantı URL'lerini, imleçle yükseltilmiş tıklanabilirleri, iframe referanslarını ve frame meta verilerini kapsadığını doğrular.
+- OpenAI Responses web_search minimal reasoning regresyonu: `pnpm test:docker:openai-web-search-minimal` (betik: `scripts/e2e/openai-web-search-minimal-docker.sh`) taklit bir OpenAI sunucusunu Gateway üzerinden çalıştırır, `web_search` öğesinin `reasoning.effort` değerini `minimal` değerinden `low` değerine yükselttiğini doğrular, ardından sağlayıcı şema reddini zorlar ve ham ayrıntının Gateway günlüklerinde göründüğünü kontrol eder.
+- MCP kanal köprüsü (tohumlanmış Gateway + stdio köprüsü + ham Claude notification-frame smoke testi): `pnpm test:docker:mcp-channels` (betik: `scripts/e2e/mcp-channels-docker.sh`)
+- Pi paket MCP araçları (gerçek stdio MCP sunucusu + gömülü Pi profili izin/verme smoke testi): `pnpm test:docker:pi-bundle-mcp-tools` (betik: `scripts/e2e/pi-bundle-mcp-tools-docker.sh`)
+- Cron/subagent MCP temizliği (gerçek Gateway + yalıtılmış cron ve tek seferlik subagent çalıştırmalarından sonra stdio MCP child teardown): `pnpm test:docker:cron-mcp-cleanup` (betik: `scripts/e2e/cron-mcp-cleanup-docker.sh`)
+- Plugin'ler (kurulum smoke testi, ClawHub kitchen-sink kurulum/kaldırma, marketplace güncellemeleri ve Claude-bundle etkinleştirme/inceleme): `pnpm test:docker:plugins` (betik: `scripts/e2e/plugins-docker.sh`)
+ ClawHub bloğunu atlamak için `OPENCLAW_PLUGINS_E2E_CLAWHUB=0` ayarlayın veya varsayılan kitchen-sink paket/runtime çiftini `OPENCLAW_PLUGINS_E2E_CLAWHUB_SPEC` ve `OPENCLAW_PLUGINS_E2E_CLAWHUB_ID` ile geçersiz kılın. `OPENCLAW_CLAWHUB_URL`/`CLAWHUB_URL` olmadan test hermetik yerel ClawHub fixture sunucusu kullanır.
+- Plugin güncelleme değişmedi smoke testi: `pnpm test:docker:plugin-update` (betik: `scripts/e2e/plugin-update-unchanged-docker.sh`)
+- Yapılandırma yeniden yükleme meta verisi smoke testi: `pnpm test:docker:config-reload` (betik: `scripts/e2e/config-reload-source-docker.sh`)
+- Paketlenmiş Plugin runtime bağımlılıkları: `pnpm test:docker:bundled-channel-deps` varsayılan olarak küçük bir Docker runner imajı derler, OpenClaw'ı ana makinede bir kez derleyip paketler, ardından bu tarball'ı her Linux kurulum senaryosuna bağlar. İmajı `OPENCLAW_SKIP_DOCKER_BUILD=1` ile yeniden kullanın, yeni bir yerel derlemeden sonra ana makine yeniden derlemesini `OPENCLAW_BUNDLED_CHANNEL_HOST_BUILD=0` ile atlayın veya mevcut bir tarball'ı `OPENCLAW_CURRENT_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile gösterin. Tam Docker toplamı ve release-path paketlenmiş-kanal parçaları bu tarball'ı bir kez önceden paketler, ardından paketlenmiş kanal kontrollerini Telegram, Discord, Slack, Feishu, memory-lancedb ve ACPX için ayrı güncelleme hatları dahil bağımsız hatlara böler. Yayın parçaları kanal smoke testlerini, güncelleme hedeflerini ve kurulum/runtime sözleşmelerini `bundled-channels-core`, `bundled-channels-update-a`, `bundled-channels-update-b` ve `bundled-channels-contracts` olarak böler; toplu `bundled-channels` parçası manuel yeniden çalıştırmalar için kullanılabilir kalır. Yayın workflow'u ayrıca sağlayıcı kurulum parçalarını ve paketlenmiş Plugin kurulum/kaldırma parçalarını böler; eski `package-update`, `plugins-runtime` ve `plugins-integrations` parçaları manuel yeniden çalıştırmalar için toplu takma adlar olarak kalır. Paketlenmiş hattı doğrudan çalıştırırken kanal matrisini daraltmak için `OPENCLAW_BUNDLED_CHANNELS=telegram,slack` kullanın veya güncelleme senaryosunu daraltmak için `OPENCLAW_BUNDLED_CHANNEL_UPDATE_TARGETS=telegram,acpx` kullanın. Senaryo başına Docker çalıştırmaları varsayılan olarak `OPENCLAW_BUNDLED_CHANNEL_DOCKER_RUN_TIMEOUT=900s` kullanır; çok hedefli güncelleme senaryosu varsayılan olarak `OPENCLAW_BUNDLED_CHANNEL_UPDATE_DOCKER_RUN_TIMEOUT=2400s` kullanır. Hat ayrıca `channels..enabled=false` ve `plugins.entries..enabled=false` değerlerinin doctor/runtime-bağımlılığı onarımını bastırdığını doğrular.
+- Yineleme sırasında ilgisiz senaryoları devre dışı bırakarak paketlenmiş Plugin runtime bağımlılıklarını daraltın, örneğin:
`OPENCLAW_BUNDLED_CHANNEL_SCENARIOS=0 OPENCLAW_BUNDLED_CHANNEL_UPDATE_SCENARIO=0 OPENCLAW_BUNDLED_CHANNEL_ROOT_OWNED_SCENARIO=0 OPENCLAW_BUNDLED_CHANNEL_SETUP_ENTRY_SCENARIO=0 pnpm test:docker:bundled-channel-deps`.
-Paylaşılan işlevsel imajı manuel olarak önceden derleyip yeniden kullanmak için:
+Paylaşılan işlevsel imajı elle önceden derleyip yeniden kullanmak için:
```bash
OPENCLAW_DOCKER_E2E_IMAGE=openclaw-docker-e2e-functional:local pnpm test:docker:e2e-build
OPENCLAW_DOCKER_E2E_IMAGE=openclaw-docker-e2e-functional:local OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:mcp-channels
```
-`OPENCLAW_GATEWAY_NETWORK_E2E_IMAGE` gibi suite’e özgü imaj geçersiz kılmaları ayarlandığında yine önceliklidir. `OPENCLAW_SKIP_DOCKER_BUILD=1` uzak bir paylaşılan imaja işaret ettiğinde, betikler imaj zaten yerel değilse onu çeker. QR ve yükleyici Docker testleri, paylaşılan derlenmiş-uygulama çalışma zamanı yerine paket/kurulum davranışını doğruladıkları için kendi Dockerfile’larını korur.
+`OPENCLAW_GATEWAY_NETWORK_E2E_IMAGE` gibi suite'e özel imaj geçersiz kılmaları ayarlandığında yine önceliklidir. `OPENCLAW_SKIP_DOCKER_BUILD=1` uzak bir paylaşılan imajı gösterdiğinde, betikler imaj zaten yerelde değilse onu çeker. QR ve kurulum Docker testleri kendi Dockerfile'larını korur, çünkü paylaşılan derlenmiş uygulama runtime'ı yerine paket/kurulum davranışını doğrularlar.
-Canlı model Docker çalıştırıcıları ayrıca geçerli checkout’u salt okunur olarak bind-mount eder ve
-konteynerin içinde geçici bir workdir’e aşamalandırır. Bu, Vitest’i tam olarak
-yerel source/config’inize karşı çalıştırmaya devam ederken runtime imajını ince
-tutar. Aşamalandırma adımı, Docker canlı çalıştırmalarının makineye özgü
-artifact’ları kopyalamak için dakikalar harcamaması için `.pnpm-store`,
-`.worktrees`, `__openclaw_vitest__` ve app’e yerel `.build` ya da Gradle çıktı
-dizinleri gibi büyük, yalnızca yerel cache’leri ve app build çıktılarını atlar.
-Ayrıca Gateway canlı probe’larının konteyner içinde gerçek Telegram/Discord/vb.
-kanal worker’larını başlatmaması için `OPENCLAW_SKIP_CHANNELS=1` ayarlarlar.
-`test:docker:live-models` yine de `pnpm test:live` çalıştırır; bu nedenle o
-Docker lane’inde Gateway canlı kapsamını daraltmanız veya hariç tutmanız
-gerektiğinde `OPENCLAW_LIVE_GATEWAY_*` değerlerini de aktarın.
-`test:docker:openwebui` daha üst düzey bir compatibility smoke’tur: OpenAI uyumlu
-HTTP endpoint’leri etkin olan bir OpenClaw Gateway konteyneri başlatır, o
-Gateway’e karşı pinlenmiş bir Open WebUI konteyneri başlatır, Open WebUI üzerinden
-oturum açar, `/api/models` çıktısının `openclaw/default` sunduğunu doğrular,
-ardından Open WebUI’nin `/api/chat/completions` proxy’si üzerinden gerçek bir
-chat isteği gönderir.
-İlk çalıştırma belirgin şekilde daha yavaş olabilir çünkü Docker’ın Open WebUI
-imajını çekmesi ve Open WebUI’nin kendi soğuk başlatma kurulumunu bitirmesi
-gerekebilir.
-Bu lane kullanılabilir bir canlı model anahtarı bekler ve Dockerize
-çalıştırmalarda bunu sağlamanın birincil yolu `OPENCLAW_PROFILE_FILE`
-(varsayılan olarak `~/.profile`) kullanmaktır.
+Canlı model Docker çalıştırıcıları ayrıca geçerli checkout'u salt okunur olarak bind-mount eder ve
+konteyner içinde geçici bir çalışma dizinine hazırlar. Bu, çalışma zamanı
+imajını küçük tutarken Vitest'i yine de tam yerel kaynak/yapılandırmanız üzerinde çalıştırır.
+Hazırlama adımı, Docker canlı çalıştırmalarının makineye özgü artefaktları
+kopyalamak için dakikalar harcamaması adına `.pnpm-store`, `.worktrees`,
+`__openclaw_vitest__` ve uygulamaya yerel `.build` ya da Gradle çıktı dizinleri gibi
+büyük, yalnızca yerel önbellekleri ve uygulama derleme çıktılarını atlar.
+Ayrıca `OPENCLAW_SKIP_CHANNELS=1` ayarlarlar; böylece Gateway canlı yoklamaları,
+konteyner içinde gerçek Telegram/Discord/vb. kanal işçilerini başlatmaz.
+`test:docker:live-models` yine de `pnpm test:live` çalıştırır; bu yüzden bu Docker
+hattından Gateway canlı kapsamını daraltmanız veya hariç tutmanız gerektiğinde
+`OPENCLAW_LIVE_GATEWAY_*` değerlerini de iletin.
+`test:docker:openwebui` daha üst düzey bir uyumluluk duman testidir: OpenAI uyumlu
+HTTP uç noktaları etkinleştirilmiş bir OpenClaw Gateway konteyneri başlatır,
+bu Gateway'e karşı sabitlenmiş bir Open WebUI konteyneri başlatır, Open WebUI
+üzerinden oturum açar, `/api/models` öğesinin `openclaw/default` değerini sunduğunu
+doğrular, ardından Open WebUI'nin `/api/chat/completions` proxy'si üzerinden
+gerçek bir sohbet isteği gönderir.
+İlk çalıştırma belirgin şekilde daha yavaş olabilir çünkü Docker'ın Open WebUI
+imajını çekmesi ve Open WebUI'nin kendi soğuk başlangıç kurulumunu tamamlaması gerekebilir.
+Bu hat kullanılabilir bir canlı model anahtarı bekler ve `OPENCLAW_PROFILE_FILE`
+(Docker ile çalıştırmalarda varsayılan olarak `~/.profile`) bunu sağlamanın birincil yoludur.
Başarılı çalıştırmalar `{ "ok": true, "model":
-"openclaw/default", ... }` gibi küçük bir JSON payload yazdırır.
-`test:docker:mcp-channels` kasıtlı olarak deterministiktir ve gerçek bir
-Telegram, Discord veya iMessage hesabına ihtiyaç duymaz. Seed edilmiş bir Gateway
-konteynerini boot eder, `openclaw mcp serve` başlatan ikinci bir konteyner
-başlatır, ardından routed conversation discovery, transcript okumaları, attachment metadata’sı,
-canlı event queue davranışı, outbound send routing ve gerçek stdio MCP bridge
-üzerinden Claude tarzı kanal + permission notification’larını doğrular. Notification kontrolü,
-raw stdio MCP frame’lerini doğrudan inceler; böylece smoke, yalnızca belirli bir
-client SDK’nin yüzeye çıkardıklarını değil, bridge’in gerçekten ne yaydığını
-doğrular.
-`test:docker:pi-bundle-mcp-tools` deterministiktir ve canlı model anahtarına
-ihtiyaç duymaz. Repo Docker imajını build eder, konteyner içinde gerçek bir stdio
-MCP probe server başlatır, bu server’ı gömülü Pi bundle MCP runtime üzerinden
-materialize eder, tool’u çalıştırır, ardından `coding` ve `messaging` değerlerinin
-`bundle-mcp` tool’larını koruduğunu; `minimal` ve `tools.deny: ["bundle-mcp"]`
-değerlerinin ise bunları filtrelediğini doğrular.
-`test:docker:cron-mcp-cleanup` deterministiktir ve canlı model anahtarına ihtiyaç
-duymaz. Gerçek bir stdio MCP probe server ile seed edilmiş bir Gateway başlatır,
-izole bir cron turn ve bir `/subagents spawn` tek seferlik child turn çalıştırır,
-ardından MCP child process’inin her çalıştırmadan sonra çıktığını doğrular.
+"openclaw/default", ... }` gibi küçük bir JSON yükü yazdırır.
+`test:docker:mcp-channels` bilinçli olarak deterministiktir ve gerçek bir
+Telegram, Discord ya da iMessage hesabına ihtiyaç duymaz. Tohumlanmış bir Gateway
+konteyneri başlatır, `openclaw mcp serve` çalıştıran ikinci bir konteyner başlatır,
+ardından yönlendirilmiş konuşma keşfini, transkript okumalarını, ek metadata'sını,
+canlı olay kuyruğu davranışını, giden gönderim yönlendirmesini ve gerçek stdio MCP
+köprüsü üzerinden Claude tarzı kanal + izin bildirimlerini doğrular. Bildirim kontrolü,
+ham stdio MCP çerçevelerini doğrudan inceler; böylece duman testi yalnızca belirli
+bir istemci SDK'sının yüzeye çıkardığını değil, köprünün gerçekten yaydığını doğrular.
+`test:docker:pi-bundle-mcp-tools` deterministiktir ve canlı model anahtarına ihtiyaç duymaz.
+Repo Docker imajını derler, konteyner içinde gerçek bir stdio MCP yoklama sunucusu başlatır,
+bu sunucuyu gömülü Pi bundle MCP çalışma zamanı üzerinden somutlaştırır,
+aracı yürütür, ardından `coding` ve `messaging` öğelerinin `bundle-mcp` araçlarını koruduğunu,
+`minimal` ve `tools.deny: ["bundle-mcp"]` öğelerinin ise bunları filtrelediğini doğrular.
+`test:docker:cron-mcp-cleanup` deterministiktir ve canlı model anahtarına ihtiyaç duymaz.
+Gerçek bir stdio MCP yoklama sunucusuyla tohumlanmış bir Gateway başlatır, yalıtılmış
+bir cron turu ve bir `/subagents spawn` tek seferlik alt turu çalıştırır, ardından
+MCP alt sürecinin her çalıştırmadan sonra çıktığını doğrular.
-Manuel ACP sade dil thread smoke’u (CI değil):
+Manuel ACP düz dilli thread duman testi (CI değil):
- `bun scripts/dev/discord-acp-plain-language-smoke.ts --channel ...`
-- Bu script’i regression/debug workflow’ları için saklayın. ACP thread routing doğrulaması için tekrar gerekebilir, bu yüzden silmeyin.
+- Bu betiği regresyon/hata ayıklama iş akışları için koruyun. ACP thread yönlendirme doğrulaması için yeniden gerekebilir, bu yüzden silmeyin.
-Yararlı env var’ları:
+Yararlı env var'ları:
- `OPENCLAW_CONFIG_DIR=...` (varsayılan: `~/.openclaw`) `/home/node/.openclaw` konumuna mount edilir
- `OPENCLAW_WORKSPACE_DIR=...` (varsayılan: `~/.openclaw/workspace`) `/home/node/.openclaw/workspace` konumuna mount edilir
- `OPENCLAW_PROFILE_FILE=...` (varsayılan: `~/.profile`) `/home/node/.profile` konumuna mount edilir ve testler çalıştırılmadan önce source edilir
-- `OPENCLAW_DOCKER_PROFILE_ENV_ONLY=1`, yalnızca `OPENCLAW_PROFILE_FILE` içinden source edilen env var’larını, geçici config/workspace dizinleri kullanarak ve harici CLI auth mount’ları olmadan doğrulamak için
-- `OPENCLAW_DOCKER_CLI_TOOLS_DIR=...` (varsayılan: `~/.cache/openclaw/docker-cli-tools`) Docker içindeki cache’lenmiş CLI kurulumları için `/home/node/.npm-global` konumuna mount edilir
-- `$HOME` altındaki harici CLI auth dizinleri/dosyaları `/host-auth...` altında salt okunur olarak mount edilir, ardından testler başlamadan önce `/home/node/...` altına kopyalanır
+- Yalnızca `OPENCLAW_PROFILE_FILE` dosyasından source edilen env var'larını, geçici yapılandırma/çalışma alanı dizinleri kullanarak ve harici CLI auth mount'ları olmadan doğrulamak için `OPENCLAW_DOCKER_PROFILE_ENV_ONLY=1`
+- `OPENCLAW_DOCKER_CLI_TOOLS_DIR=...` (varsayılan: `~/.cache/openclaw/docker-cli-tools`) Docker içinde önbelleğe alınmış CLI kurulumları için `/home/node/.npm-global` konumuna mount edilir
+- `$HOME` altındaki harici CLI auth dizinleri/dosyaları `/host-auth...` altında salt okunur olarak mount edilir, ardından testler başlamadan önce `/home/node/...` içine kopyalanır
- Varsayılan dizinler: `.minimax`
- Varsayılan dosyalar: `~/.codex/auth.json`, `~/.codex/config.toml`, `.claude.json`, `~/.claude/.credentials.json`, `~/.claude/settings.json`, `~/.claude/settings.local.json`
- - Daraltılmış provider çalıştırmaları yalnızca `OPENCLAW_LIVE_PROVIDERS` / `OPENCLAW_LIVE_GATEWAY_PROVIDERS` değerlerinden çıkarılan gerekli dizinleri/dosyaları mount eder
- - `OPENCLAW_DOCKER_AUTH_DIRS=all`, `OPENCLAW_DOCKER_AUTH_DIRS=none` veya `OPENCLAW_DOCKER_AUTH_DIRS=.claude,.codex` gibi virgülle ayrılmış bir listeyle elle override edin
-- `OPENCLAW_LIVE_GATEWAY_MODELS=...` / `OPENCLAW_LIVE_MODELS=...`, çalıştırmayı daraltmak için
-- `OPENCLAW_LIVE_GATEWAY_PROVIDERS=...` / `OPENCLAW_LIVE_PROVIDERS=...`, konteyner içinde provider’ları filtrelemek için
-- `OPENCLAW_SKIP_DOCKER_BUILD=1`, rebuild gerektirmeyen yeniden çalıştırmalarda mevcut bir `openclaw:local-live` imajını yeniden kullanmak için
-- `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`, credentials’ın env’den değil profile store’dan geldiğinden emin olmak için
-- `OPENCLAW_OPENWEBUI_MODEL=...`, Open WebUI smoke’u için Gateway tarafından sunulan modeli seçmek için
-- `OPENCLAW_OPENWEBUI_PROMPT=...`, Open WebUI smoke’u tarafından kullanılan nonce-check prompt’unu override etmek için
-- `OPENWEBUI_IMAGE=...`, pinlenmiş Open WebUI imaj etiketini override etmek için
+ - Daraltılmış provider çalıştırmaları, yalnızca `OPENCLAW_LIVE_PROVIDERS` / `OPENCLAW_LIVE_GATEWAY_PROVIDERS` değerlerinden çıkarılan gerekli dizinleri/dosyaları mount eder
+ - `OPENCLAW_DOCKER_AUTH_DIRS=all`, `OPENCLAW_DOCKER_AUTH_DIRS=none` veya `OPENCLAW_DOCKER_AUTH_DIRS=.claude,.codex` gibi virgülle ayrılmış bir listeyle elle geçersiz kılın
+- Çalıştırmayı daraltmak için `OPENCLAW_LIVE_GATEWAY_MODELS=...` / `OPENCLAW_LIVE_MODELS=...`
+- Konteyner içindeki provider'ları filtrelemek için `OPENCLAW_LIVE_GATEWAY_PROVIDERS=...` / `OPENCLAW_LIVE_PROVIDERS=...`
+- Yeniden derleme gerektirmeyen tekrar çalıştırmalarda mevcut bir `openclaw:local-live` imajını yeniden kullanmak için `OPENCLAW_SKIP_DOCKER_BUILD=1`
+- Kimlik bilgilerinin env'den değil profil deposundan geldiğinden emin olmak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1`
+- Open WebUI duman testi için Gateway tarafından sunulan modeli seçmek üzere `OPENCLAW_OPENWEBUI_MODEL=...`
+- Open WebUI duman testinin kullandığı nonce kontrol istemini geçersiz kılmak için `OPENCLAW_OPENWEBUI_PROMPT=...`
+- Sabitlenmiş Open WebUI imaj etiketini geçersiz kılmak için `OPENWEBUI_IMAGE=...`
-## Docs sanity
+## Doküman doğrulaması
-Doc düzenlemelerinden sonra docs kontrollerini çalıştırın: `pnpm check:docs`.
-Sayfa içi heading kontrolleri de gerektiğinde tam Mintlify anchor doğrulamasını çalıştırın: `pnpm docs:check-links:anchors`.
+Doküman düzenlemelerinden sonra doküman kontrollerini çalıştırın: `pnpm check:docs`.
+Sayfa içi başlık kontrolleri de gerektiğinde tam Mintlify anchor doğrulamasını çalıştırın: `pnpm docs:check-links:anchors`.
-## Çevrimdışı regression (CI-safe)
+## Çevrimdışı regresyon (CI güvenli)
-Bunlar gerçek provider’lar olmadan “gerçek pipeline” regression’larıdır:
+Bunlar gerçek provider'lar olmadan “gerçek pipeline” regresyonlarıdır:
-- Gateway tool calling (mock OpenAI, gerçek Gateway + agent loop): `src/gateway/gateway.test.ts` (case: "runs a mock OpenAI tool call end-to-end via gateway agent loop")
-- Gateway wizard (WS `wizard.start`/`wizard.next`, config yazar + auth zorunlu kılınır): `src/gateway/gateway.test.ts` (case: "runs wizard over ws and writes auth token config")
+- Gateway araç çağırma (sahte OpenAI, gerçek Gateway + agent döngüsü): `src/gateway/gateway.test.ts` (vaka: "runs a mock OpenAI tool call end-to-end via gateway agent loop")
+- Gateway sihirbazı (WS `wizard.start`/`wizard.next`, yapılandırmayı yazar + auth zorunlu): `src/gateway/gateway.test.ts` (vaka: "runs wizard over ws and writes auth token config")
-## Agent güvenilirlik eval’leri (skills)
+## Agent güvenilirlik değerlendirmeleri (skills)
-Zaten “agent güvenilirlik eval’leri” gibi davranan birkaç CI-safe testimiz var:
+Zaten “agent güvenilirlik değerlendirmeleri” gibi davranan birkaç CI güvenli testimiz var:
-- Gerçek Gateway + agent loop üzerinden mock tool-calling (`src/gateway/gateway.test.ts`).
-- Session wiring ve config etkilerini doğrulayan end-to-end wizard flow’ları (`src/gateway/gateway.test.ts`).
+- Gerçek Gateway + agent döngüsü üzerinden sahte araç çağırma (`src/gateway/gateway.test.ts`).
+- Oturum kablolamasını ve yapılandırma etkilerini doğrulayan uçtan uca sihirbaz akışları (`src/gateway/gateway.test.ts`).
Skills için hâlâ eksik olanlar (bkz. [Skills](/tr/tools/skills)):
-- **Karar verme:** prompt’ta skills listelendiğinde agent doğru skill’i seçiyor mu (veya alakasız olanlardan kaçınıyor mu)?
-- **Uyumluluk:** agent kullanımdan önce `SKILL.md` dosyasını okuyup gerekli adımları/argümanları izliyor mu?
-- **Workflow contract’ları:** tool sırası, session history carryover ve sandbox sınırlarını assert eden multi-turn senaryolar.
+- **Karar verme:** Skills prompt'ta listelendiğinde agent doğru skill'i seçiyor mu (veya alakasız olanlardan kaçınıyor mu)?
+- **Uyumluluk:** agent kullanmadan önce `SKILL.md` dosyasını okuyor ve gerekli adımları/argümanları izliyor mu?
+- **İş akışı sözleşmeleri:** araç sırasını, oturum geçmişi taşınmasını ve sandbox sınırlarını doğrulayan çok turlu senaryolar.
-Gelecekteki eval’ler önce deterministik kalmalı:
+Gelecekteki değerlendirmeler önce deterministik kalmalıdır:
-- Tool çağrılarını + sıralamayı, skill dosyası okumalarını ve session wiring’i assert etmek için mock provider’lar kullanan bir scenario runner.
-- Skill odaklı küçük bir senaryo paketi (kullanma vs kaçınma, gating, prompt injection).
-- İsteğe bağlı canlı eval’ler (opt-in, env-gated), yalnızca CI-safe paket hazır olduktan sonra.
+- Araç çağrılarını + sırasını, skill dosyası okumalarını ve oturum kablolamasını doğrulamak için sahte provider'lar kullanan bir senaryo çalıştırıcısı.
+- Skill odaklı küçük bir senaryo paketi (kullanma ve kaçınma, gating, prompt injection).
+- İsteğe bağlı canlı değerlendirmeler (opt-in, env-gated), yalnızca CI güvenli paket hazır olduktan sonra.
-## Contract testleri (Plugin ve kanal şekli)
+## Sözleşme testleri (plugin ve kanal şekli)
-Contract testleri, kayıtlı her Plugin ve kanalın kendi interface contract’ına uyduğunu
-doğrular. Keşfedilen tüm Plugin’ler üzerinde iterasyon yapar ve shape ile behavior
-assertion’larından oluşan bir suite çalıştırırlar. Varsayılan `pnpm test` unit lane’i
-bu paylaşılan seam ve smoke dosyalarını kasıtlı olarak atlar; paylaşılan kanal
-veya provider yüzeylerine dokunduğunuzda contract komutlarını açıkça çalıştırın.
+Sözleşme testleri, kayıtlı her Plugin ve kanalın kendi arayüz sözleşmesine uyduğunu
+doğrular. Keşfedilen tüm Plugin'ler üzerinde yineleme yapar ve şekil ile davranış
+assertion'larından oluşan bir paket çalıştırırlar. Varsayılan `pnpm test` birim hattı
+bu paylaşılan seam ve duman dosyalarını bilinçli olarak atlar; paylaşılan kanal
+veya provider yüzeylerine dokunduğunuzda sözleşme komutlarını açıkça çalıştırın.
### Komutlar
-- Tüm contract’lar: `pnpm test:contracts`
-- Yalnızca kanal contract’ları: `pnpm test:contracts:channels`
-- Yalnızca provider contract’ları: `pnpm test:contracts:plugins`
+- Tüm sözleşmeler: `pnpm test:contracts`
+- Yalnızca kanal sözleşmeleri: `pnpm test:contracts:channels`
+- Yalnızca provider sözleşmeleri: `pnpm test:contracts:plugins`
-### Kanal contract’ları
+### Kanal sözleşmeleri
-`src/channels/plugins/contracts/*.contract.test.ts` içinde yer alır:
+`src/channels/plugins/contracts/*.contract.test.ts` içinde bulunur:
-- **plugin** - Temel Plugin şekli (id, name, capabilities)
-- **setup** - Setup wizard contract’ı
-- **session-binding** - Session binding davranışı
-- **outbound-payload** - Message payload yapısı
-- **inbound** - Inbound message handling
-- **actions** - Kanal action handler’ları
-- **threading** - Thread ID handling
-- **directory** - Directory/roster API
-- **group-policy** - Group policy enforcement
+- **plugin** - Temel Plugin şekli (id, ad, yetenekler)
+- **setup** - Kurulum sihirbazı sözleşmesi
+- **session-binding** - Oturum bağlama davranışı
+- **outbound-payload** - İleti yükü yapısı
+- **inbound** - Gelen ileti işleme
+- **actions** - Kanal eylem işleyicileri
+- **threading** - Thread ID işleme
+- **directory** - Dizin/kadro API'si
+- **group-policy** - Grup ilkesi zorlaması
-### Provider status contract’ları
+### Provider durum sözleşmeleri
-`src/plugins/contracts/*.contract.test.ts` içinde yer alır.
+`src/plugins/contracts/*.contract.test.ts` içinde bulunur.
-- **status** - Kanal status probe’ları
+- **status** - Kanal durum yoklamaları
- **registry** - Plugin registry şekli
-### Provider contract’ları
+### Provider sözleşmeleri
-`src/plugins/contracts/*.contract.test.ts` içinde yer alır:
+`src/plugins/contracts/*.contract.test.ts` içinde bulunur:
-- **auth** - Auth flow contract’ı
-- **auth-choice** - Auth choice/selection
-- **catalog** - Model catalog API
-- **discovery** - Plugin discovery
-- **loader** - Plugin loading
-- **runtime** - Provider runtime
-- **shape** - Plugin shape/interface
-- **wizard** - Setup wizard
+- **auth** - Auth akışı sözleşmesi
+- **auth-choice** - Auth seçimi/seçme
+- **catalog** - Model katalog API'si
+- **discovery** - Plugin keşfi
+- **loader** - Plugin yükleme
+- **runtime** - Provider çalışma zamanı
+- **shape** - Plugin şekli/arayüzü
+- **wizard** - Kurulum sihirbazı
-### Ne zaman çalıştırılmalı
+### Ne zaman çalıştırılır
-- plugin-sdk export’ları veya subpath’leri değiştirildikten sonra
-- Bir kanal veya provider Plugin’i eklendikten ya da değiştirildikten sonra
-- Plugin registration veya discovery refactor edildikten sonra
+- plugin-sdk dışa aktarımları veya alt yolları değiştirildikten sonra
+- Bir kanal veya provider Plugin'i eklendikten ya da değiştirildikten sonra
+- Plugin kaydı veya keşfi refactor edildikten sonra
-Contract testleri CI’da çalışır ve gerçek API anahtarları gerektirmez.
+Sözleşme testleri CI'da çalışır ve gerçek API anahtarları gerektirmez.
-## Regression ekleme (rehberlik)
+## Regresyon ekleme (rehberlik)
Canlıda keşfedilen bir provider/model sorununu düzelttiğinizde:
-- Mümkünse CI-safe bir regression ekleyin (mock/stub provider veya tam request-shape transformation’ını yakalayın)
-- Sorun doğası gereği yalnızca canlıysa (rate limit’ler, auth policy’leri), canlı testi dar ve env var’ları üzerinden opt-in tutun
-- Bug’ı yakalayan en küçük katmanı hedeflemeyi tercih edin:
- - provider request conversion/replay bug’ı → doğrudan models testi
- - gateway session/history/tool pipeline bug’ı → Gateway live smoke veya CI-safe Gateway mock testi
-- SecretRef traversal guardrail:
- - `src/secrets/exec-secret-ref-id-parity.test.ts`, registry metadata’sından (`listSecretTargetRegistryEntries()`) SecretRef sınıfı başına örneklenmiş bir hedef türetir, ardından traversal-segment exec id’lerinin reddedildiğini assert eder.
- - `src/secrets/target-registry-data.ts` içinde yeni bir `includeInPlan` SecretRef hedef ailesi eklerseniz, o testteki `classifyTargetClass` değerini güncelleyin. Test, sınıflandırılmamış hedef id’lerinde kasıtlı olarak fail eder; böylece yeni sınıflar sessizce atlanamaz.
+- Mümkünse CI güvenli bir regresyon ekleyin (sahte/stub provider veya tam istek şekli dönüşümünü yakalayın)
+- Sorun doğası gereği yalnızca canlıysa (rate limit'ler, auth ilkeleri), canlı testi dar ve env var'ları üzerinden opt-in tutun
+- Hatayı yakalayan en küçük katmanı hedeflemeyi tercih edin:
+ - provider istek dönüştürme/yeniden oynatma hatası → doğrudan modeller testi
+ - Gateway oturum/geçmiş/araç pipeline hatası → Gateway canlı duman testi veya CI güvenli Gateway mock testi
+- SecretRef dolaşım koruma kuralı:
+ - `src/secrets/exec-secret-ref-id-parity.test.ts`, registry metadata'sından (`listSecretTargetRegistryEntries()`) her SecretRef sınıfı için örneklenmiş bir hedef türetir, ardından traversal-segment exec id'lerinin reddedildiğini doğrular.
+ - `src/secrets/target-registry-data.ts` içinde yeni bir `includeInPlan` SecretRef hedef ailesi eklerseniz, bu testteki `classifyTargetClass` öğesini güncelleyin. Test, yeni sınıfların sessizce atlanamaması için sınıflandırılmamış hedef id'lerinde bilinçli olarak başarısız olur.
## İlgili
-- [Canlı test etme](/tr/help/testing-live)
+- [Canlı test](/tr/help/testing-live)
- [CI](/tr/ci)
diff --git a/docs/tr/install/updating.md b/docs/tr/install/updating.md
index b531e5409..30b6bc005 100644
--- a/docs/tr/install/updating.md
+++ b/docs/tr/install/updating.md
@@ -1,14 +1,14 @@
---
read_when:
- OpenClaw'ı Güncelleme
- - Güncellemeden sonra bir şey bozuluyor
-summary: OpenClaw'ı güvenli şekilde güncelleme (global kurulum veya kaynak), ayrıca geri alma stratejisi
+ - Bir güncellemeden sonra bir şey bozuluyor
+summary: OpenClaw'u güvenli şekilde güncelleme (sistem geneli kurulum veya kaynak koddan) ve geri alma stratejisi
title: Güncelleme
x-i18n:
- generated_at: "2026-04-30T09:30:46Z"
+ generated_at: "2026-05-01T09:01:33Z"
model: gpt-5.5
provider: openai
- source_hash: 17d4839002b153976e014e0eefcb44f92dcb9bb45b81bf30efb1e8e8c0f30ec3
+ source_hash: 98631ce432a28af244ec22ce0cf4a23ded356dd93e9c154f502347683eef52d1
source_path: install/updating.md
workflow: 16
---
@@ -29,41 +29,41 @@ Kanalları değiştirmek veya belirli bir sürümü hedeflemek için:
openclaw update --channel beta
openclaw update --channel dev
openclaw update --tag main
-openclaw update --dry-run # preview without applying
+openclaw update --dry-run # uygulamadan önizle
```
-`--channel beta` beta sürümü tercih eder, ancak beta etiketi eksikse veya en son kararlı sürümden daha eskiyse çalışma zamanı stable/latest sürümüne geri döner. Tek seferlik paket güncellemesi için ham npm beta dist-tag değerini istiyorsanız `--tag beta` kullanın.
+`--channel beta` beta sürümü tercih eder, ancak beta etiketi eksikse veya en son kararlı sürümden eskiyse çalışma zamanı stable/latest sürümüne geri döner. Tek seferlik bir paket güncellemesi için ham npm beta dist-tag değerini istiyorsanız `--tag beta` kullanın.
Kanal semantiği için [Geliştirme kanalları](/tr/install/development-channels) bölümüne bakın.
-## npm ve git kurulumları arasında geçiş yapma
+## npm ve git kurulumları arasında geçiş yapın
-Kurulum türünü değiştirmek istediğinizde kanalları kullanın. Güncelleyici `~/.openclaw` içindeki durumunuzu, yapılandırmanızı, kimlik bilgilerinizi ve çalışma alanınızı korur; yalnızca CLI ve Gateway'in hangi OpenClaw kod kurulumunu kullandığını değiştirir.
+Kurulum türünü değiştirmek istediğinizde kanalları kullanın. Güncelleyici `~/.openclaw` içindeki durumunuzu, yapılandırmanızı, kimlik bilgilerinizi ve çalışma alanınızı korur; yalnızca CLI ve Gateway'in hangi OpenClaw kod kurulumunu kullanacağını değiştirir.
```bash
-# npm package install -> editable git checkout
+# npm paket kurulumu -> düzenlenebilir git checkout
openclaw update --channel dev
-# git checkout -> npm package install
+# git checkout -> npm paket kurulumu
openclaw update --channel stable
```
-Tam kurulum modu geçişini önizlemek için önce `--dry-run` ile çalıştırın:
+Kesin kurulum modu geçişini önizlemek için önce `--dry-run` ile çalıştırın:
```bash
openclaw update --channel dev --dry-run
openclaw update --channel stable --dry-run
```
-`dev` kanalı bir git checkout olmasını sağlar, onu derler ve global CLI'ı bu checkout'tan kurar. `stable` ve `beta` kanalları paket kurulumlarını kullanır. Gateway zaten kuruluysa, `openclaw update` servis meta verilerini yeniler ve `--no-restart` geçmediğiniz sürece yeniden başlatır.
+`dev` kanalı bir git checkout olmasını sağlar, bunu derler ve global CLI'ı bu checkout'tan kurar. `stable` ve `beta` kanalları paket kurulumlarını kullanır. Gateway zaten kuruluysa, `openclaw update` servis meta verilerini yeniler ve `--no-restart` iletmediğiniz sürece yeniden başlatır.
-## Alternatif: yükleyiciyi yeniden çalıştırma
+## Alternatif: yükleyiciyi yeniden çalıştırın
```bash
curl -fsSL https://openclaw.ai/install.sh | bash
```
-İlk kurulumu atlamak için `--no-onboard` ekleyin. Yükleyici üzerinden belirli bir kurulum türünü zorlamak için `--install-method git --no-onboard` veya `--install-method npm --no-onboard` geçin.
+Onboarding'i atlamak için `--no-onboard` ekleyin. Yükleyici aracılığıyla belirli bir kurulum türünü zorlamak için `--install-method git --no-onboard` veya `--install-method npm --no-onboard` iletin.
`openclaw update`, npm paket kurulum aşamasından sonra başarısız olursa yükleyiciyi yeniden çalıştırın. Yükleyici eski güncelleyiciyi çağırmaz; global paket kurulumunu doğrudan çalıştırır ve kısmen güncellenmiş bir npm kurulumunu kurtarabilir.
@@ -83,7 +83,7 @@ curl -fsSL https://openclaw.ai/install.sh | bash -s -- --install-method npm --ve
npm i -g openclaw@latest
```
-`openclaw update` global bir npm kurulumunu yönettiğinde, hedefi önce geçici bir npm prefix içine kurar, paketlenmiş `dist` envanterini doğrular, ardından temiz paket ağacını gerçek global prefix içine taşır. Bu, npm'in yeni paketi eski paketten kalan bayat dosyaların üzerine bindirmesini önler. Kurulum komutu başarısız olursa, OpenClaw `--omit=optional` ile bir kez daha dener. Bu yeniden deneme, yerel optional bağımlılıkların derlenemediği host'larda yardımcı olurken, geri dönüş de başarısız olursa özgün hatayı görünür tutar.
+`openclaw update` global bir npm kurulumunu yönettiğinde, hedefi önce geçici bir npm prefix içine kurar, paketlenmiş `dist` envanterini doğrular, ardından temiz paket ağacını gerçek global prefix içine değiştirir. Bu, npm'in yeni bir paketi eski paketten kalan bayat dosyaların üzerine bindirmesini önler. Kurulum komutu başarısız olursa OpenClaw `--omit=optional` ile bir kez yeniden dener. Bu yeniden deneme, yerel optional bağımlılıkların derlenemediği ana makinelerde yardımcı olurken, geri dönüş de başarısız olursa özgün hatayı görünür tutar.
```bash
pnpm add -g openclaw@latest
@@ -97,9 +97,9 @@ bun add -g openclaw@latest
- OpenClaw, global paket dizini geçerli kullanıcı tarafından yazılabilir olsa bile, paketlenmiş global kurulumları çalışma zamanında salt okunur kabul eder. Paketle birlikte gelen Plugin çalışma zamanı bağımlılıkları, paket ağacını değiştirmek yerine yazılabilir bir çalışma zamanı dizinine hazırlanır. Bu, `openclaw update` işleminin aynı kurulum sırasında Plugin bağımlılıklarını onaran çalışan bir Gateway veya yerel agent ile yarışmasını önler.
+ OpenClaw, paketlenmiş global kurulumları, global paket dizini geçerli kullanıcı tarafından yazılabilir olsa bile çalışma zamanında salt okunur olarak ele alır. Paketle birlikte gelen Plugin çalışma zamanı bağımlılıkları, paket ağacını değiştirmek yerine yazılabilir bir çalışma zamanı dizinine hazırlanır. Bu, `openclaw update` komutunun aynı kurulum sırasında Plugin bağımlılıklarını onaran çalışan bir Gateway veya yerel ajanla yarışmasını önler.
- Bazı Linux npm kurulumları global paketleri `/usr/lib/node_modules/openclaw` gibi root sahipli dizinlerin altına kurar. OpenClaw bu düzeni aynı dış hazırlama yolu üzerinden destekler.
+ Bazı Linux npm kurulumları global paketleri `/usr/lib/node_modules/openclaw` gibi root'a ait dizinlerin altına kurar. OpenClaw bu düzeni aynı harici hazırlama yolu üzerinden destekler.
@@ -110,23 +110,23 @@ bun add -g openclaw@latest
ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmp
```
- `OPENCLAW_PLUGIN_STAGE_DIR` bir yol listesini de kabul eder. OpenClaw, paketle gelen Plugin çalışma zamanı bağımlılıklarını listelenen kökler boyunca soldan sağa çözer, önceki kökleri salt okunur önceden kurulmuş katmanlar olarak kabul eder ve yalnızca son yazılabilir köke kurar veya onarır:
+ `OPENCLAW_PLUGIN_STAGE_DIR` bir yol listesini de kabul eder. OpenClaw, paketle gelen Plugin çalışma zamanı bağımlılıklarını listelenen kökler boyunca soldan sağa çözer, önceki kökleri salt okunur önceden kurulmuş katmanlar olarak ele alır ve yalnızca son yazılabilir köke kurar veya orada onarır:
```ini
Environment=OPENCLAW_PLUGIN_STAGE_DIR=/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps
ReadWritePaths=/var/lib/openclaw /home/openclaw/.openclaw /tmp
```
- `OPENCLAW_PLUGIN_STAGE_DIR` ayarlanmamışsa, OpenClaw systemd sağladığında `$STATE_DIRECTORY` kullanır, ardından `~/.openclaw/plugin-runtime-deps` konumuna geri döner. Onarım adımı bu hazırlama alanını OpenClaw'a ait yerel paket kökü olarak kabul eder ve kullanıcı npm prefix ile global ayarlarını yok sayar; böylece global kurulum npm yapılandırması, paketle gelen Plugin bağımlılıklarını `~/node_modules` içine veya global paket ağacına yönlendirmez.
+ `OPENCLAW_PLUGIN_STAGE_DIR` ayarlanmadıysa, OpenClaw systemd sağladığında `$STATE_DIRECTORY` kullanır, ardından `~/.openclaw/plugin-runtime-deps` konumuna geri döner. Onarım adımı bu hazırlama alanını OpenClaw'a ait yerel bir paket kökü olarak ele alır ve kullanıcı npm prefix ve global ayarlarını yok sayar; böylece global kurulum npm yapılandırması, paketle gelen Plugin bağımlılıklarını `~/node_modules` veya global paket ağacına yönlendirmez.
-
- Paket güncellemelerinden ve paketle gelen çalışma zamanı bağımlılığı onarımlarından önce OpenClaw, hedef birim için en iyi çabayla disk alanı denetimi yapmayı dener. Düşük alan, denetlenen yolu içeren bir uyarı üretir ancak güncellemeyi engellemez; çünkü dosya sistemi kotaları, snapshot'lar ve ağ birimleri denetimden sonra değişebilir. Gerçek npm kurulumu, kopyalama ve kurulum sonrası doğrulama yetkili kaynak olmaya devam eder.
+
+ Paket güncellemelerinden ve paketle gelen çalışma zamanı bağımlılığı onarımlarından önce OpenClaw, hedef birim için en iyi çabayla bir disk alanı denetimi yapmayı dener. Düşük alan, denetlenen yolu içeren bir uyarı üretir, ancak dosya sistemi kotaları, anlık görüntüler ve ağ birimleri denetimden sonra değişebileceği için güncellemeyi engellemez. Asıl npm kurulumu, kopyalama ve kurulum sonrası doğrulama yetkili kaynak olmaya devam eder.
- Paketlenmiş kurulumlar, paketle gelen Plugin çalışma zamanı bağımlılıklarını salt okunur paket ağacının dışında tutar. Başlatma sırasında ve `openclaw doctor --fix` çalışırken OpenClaw, çalışma zamanı bağımlılıklarını yalnızca yapılandırmada aktif olan, eski kanal yapılandırması üzerinden aktif olan veya paketle gelen manifest varsayılanı tarafından etkinleştirilen paketli Plugin'ler için onarır. Kalıcı kanal kimlik doğrulama durumu tek başına Gateway başlatma çalışma zamanı bağımlılığı onarımını tetiklemez.
+ Paketlenmiş kurulumlar, paketle gelen Plugin çalışma zamanı bağımlılıklarını salt okunur paket ağacının dışında tutar. Başlangıçta ve `openclaw doctor --fix` sırasında OpenClaw, çalışma zamanı bağımlılıklarını yalnızca yapılandırmada etkin olan, eski kanal yapılandırması üzerinden etkin olan veya paketle gelen manifest varsayılanı tarafından etkinleştirilen paketle gelen Plugin'ler için onarır. Kalıcı kanal kimlik doğrulama durumu tek başına Gateway başlangıç çalışma zamanı bağımlılığı onarımını tetiklemez.
- Açık devre dışı bırakma önceliklidir. Devre dışı bırakılmış bir Plugin veya kanal, yalnızca pakette bulunduğu için çalışma zamanı bağımlılıklarını onartmaz. Harici Plugin'ler ve özel yükleme yolları yine `openclaw plugins install` veya `openclaw plugins update` kullanır.
+ Açık devre dışı bırakma önceliklidir. Devre dışı bırakılmış bir Plugin veya kanal, yalnızca pakette bulunduğu için çalışma zamanı bağımlılıklarının onarılmasını sağlamaz. Harici Plugin'ler ve özel yükleme yolları hâlâ `openclaw plugins install` veya `openclaw plugins update` kullanır.
@@ -151,12 +151,14 @@ Otomatik güncelleyici varsayılan olarak kapalıdır. `~/.openclaw/openclaw.jso
| Kanal | Davranış |
| -------- | ------------------------------------------------------------------------------------------------------------- |
-| `stable` | `stableDelayHours` kadar bekler, ardından `stableJitterHours` boyunca deterministik jitter ile uygular (yayılmış dağıtım). |
-| `beta` | Her `betaCheckIntervalHours` aralığında denetler (varsayılan: saatlik) ve hemen uygular. |
-| `dev` | Otomatik uygulama yoktur. `openclaw update` komutunu manuel kullanın. |
+| `stable` | `stableDelayHours` kadar bekler, ardından `stableJitterHours` boyunca belirleyici jitter ile uygular (yayılmış dağıtım). |
+| `beta` | Her `betaCheckIntervalHours` değerinde denetler (varsayılan: saatlik) ve hemen uygular. |
+| `dev` | Otomatik uygulama yoktur. `openclaw update` komutunu elle kullanın. |
Gateway ayrıca başlangıçta bir güncelleme ipucu günlüğe yazar (`update.checkOnStart: false` ile devre dışı bırakın).
-Sürüm düşürme veya olay kurtarma için, `update.auto.enabled` yapılandırılmış olsa bile otomatik uygulamaları engellemek üzere Gateway ortamında `OPENCLAW_NO_AUTO_UPDATE=1` ayarlayın. `update.checkOnStart` da devre dışı bırakılmadıkça başlangıç güncelleme ipuçları yine çalışabilir.
+Sürüm düşürme veya olay kurtarma için, `update.auto.enabled` yapılandırılmış olsa bile otomatik uygulamaları engellemek üzere Gateway ortamında `OPENCLAW_NO_AUTO_UPDATE=1` ayarlayın. Başlangıç güncelleme ipuçları, `update.checkOnStart` de devre dışı bırakılmadıkça çalışmaya devam edebilir.
+
+Canlı Gateway kontrol düzlemi işleyicisi aracılığıyla istenen paket yöneticisi güncellemeleri, paket değişiminden sonra ertelenmemiş bir güncelleme yeniden başlatmasını zorunlu kılar. Bu, eski bir bellek içi sürecin zaten değiştirilmiş bir paket ağacından chunk'ları lazy-load edecek kadar uzun süre ortada kalmasını önler. Shell `openclaw update`, servisi güncelleme etrafında durdurup yeniden başlatabildiği için denetimli kurulumlar için tercih edilen yol olmaya devam eder.
## Güncellemeden sonra
@@ -168,7 +170,7 @@ Sürüm düşürme veya olay kurtarma için, `update.auto.enabled` yapılandır
openclaw doctor
```
-Yapılandırmayı taşır, DM politikalarını denetler ve Gateway sağlığını kontrol eder. Ayrıntılar: [Doctor](/tr/gateway/doctor)
+Yapılandırmayı migrate eder, DM ilkelerini denetler ve Gateway sağlığını kontrol eder. Ayrıntılar: [Doctor](/tr/gateway/doctor)
### Gateway'i yeniden başlatın
@@ -186,7 +188,7 @@ openclaw health
## Geri alma
-### Bir sürümü sabitleme (npm)
+### Bir sürümü sabitleyin (npm)
```bash
npm i -g openclaw@
@@ -198,7 +200,7 @@ openclaw gateway restart
`npm view openclaw version` geçerli yayımlanmış sürümü gösterir.
-### Bir commit'i sabitleme (kaynak)
+### Bir commit'i sabitleyin (kaynak)
```bash
git fetch origin
@@ -211,13 +213,13 @@ En son sürüme dönmek için: `git checkout main && git pull`.
## Takılırsanız
-- `openclaw doctor` komutunu yeniden çalıştırın ve çıktıyı dikkatle okuyun.
-- Kaynak checkout'larda `openclaw update --channel dev` için güncelleyici gerektiğinde `pnpm` için otomatik bootstrap yapar. Bir pnpm/corepack bootstrap hatası görürseniz, `pnpm`'i manuel kurun (veya `corepack`'i yeniden etkinleştirin) ve güncellemeyi tekrar çalıştırın.
+- `openclaw doctor` komutunu yeniden çalıştırın ve çıktıyı dikkatlice okuyun.
+- Kaynak checkout'larında `openclaw update --channel dev` için güncelleyici gerektiğinde `pnpm` önyüklemesini otomatik yapar. Bir pnpm/corepack önyükleme hatası görürseniz `pnpm` öğesini elle kurun (veya `corepack` öğesini yeniden etkinleştirin) ve güncellemeyi yeniden çalıştırın.
- Kontrol edin: [Sorun giderme](/tr/gateway/troubleshooting)
- Discord'da sorun: [https://discord.gg/clawd](https://discord.gg/clawd)
## İlgili
-- [Kurulum özeti](/tr/install): tüm kurulum yöntemleri.
-- [Doctor](/tr/gateway/doctor): güncellemelerden sonra sağlık denetimleri.
-- [Geçiş](/tr/install/migrating): ana sürüm geçiş kılavuzları.
+- [Kurulum genel bakışı](/tr/install): tüm kurulum yöntemleri.
+- [Doctor](/tr/gateway/doctor): güncellemelerden sonra sağlık kontrolleri.
+- [Migrating](/tr/install/migrating): büyük sürüm migration kılavuzları.
diff --git a/docs/tr/logging.md b/docs/tr/logging.md
index 901fe9c2a..7613c84b5 100644
--- a/docs/tr/logging.md
+++ b/docs/tr/logging.md
@@ -1,35 +1,35 @@
---
read_when:
- - OpenClaw günlükleme hakkında başlangıç seviyesindekiler için anlaşılır bir genel bakışa ihtiyacınız var
- - Günlük düzeylerini, biçimlerini veya maskelemeyi yapılandırmak istiyorsunuz
+ - OpenClaw günlük kaydı hakkında başlangıç düzeyine uygun bir genel bakışa ihtiyacınız var
+ - Günlük seviyelerini, biçimlerini veya gizlemeyi yapılandırmak istiyorsunuz
- Sorun gideriyorsunuz ve günlükleri hızlıca bulmanız gerekiyor
-summary: Dosya günlükleri, konsol çıktısı, CLI kuyruk takibi ve Control UI Günlükler sekmesi
+summary: Dosya günlükleri, konsol çıktısı, CLI ile günlük izleme ve Control UI Günlükler sekmesi
title: Günlükleme
x-i18n:
- generated_at: "2026-04-30T09:31:08Z"
+ generated_at: "2026-05-01T09:01:46Z"
model: gpt-5.5
provider: openai
- source_hash: 916fb03219d571f0302560a4cb6755940575c92fff0b4eab024b9dad53f841ce
+ source_hash: d41ce5b1ae30fe1ca65577abe387fc266bd281686acb10098f82b8e78dfaa357
source_path: logging.md
workflow: 16
---
-OpenClaw'ın iki ana günlük yüzeyi vardır:
+OpenClaw’ın iki ana günlük yüzeyi vardır:
- Gateway tarafından yazılan **dosya günlükleri** (JSON satırları).
-- Terminallerde ve Gateway Debug UI'da gösterilen **konsol çıktısı**.
+- Terminallerde ve Gateway Hata Ayıklama Kullanıcı Arayüzü’nde gösterilen **konsol çıktısı**.
-Control UI **Logs** sekmesi gateway dosya günlüğünü takip eder. Bu sayfa günlüklerin nerede bulunduğunu, nasıl okunacağını ve günlük seviyeleri ile biçimlerinin nasıl yapılandırılacağını açıklar.
+Kontrol Kullanıcı Arayüzü’nün **Günlükler** sekmesi gateway dosya günlüğünü canlı izler. Bu sayfa günlüklerin nerede bulunduğunu, nasıl okunacağını ve günlük düzeyleri ile biçimlerinin nasıl yapılandırılacağını açıklar.
## Günlüklerin bulunduğu yer
-Varsayılan olarak Gateway, dönen bir günlük dosyasını şuraya yazar:
+Varsayılan olarak Gateway, şunun altında dönen bir günlük dosyası yazar:
`/tmp/openclaw/openclaw-YYYY-MM-DD.log`
Tarih, gateway ana makinesinin yerel saat dilimini kullanır.
-Her dosya `logging.maxFileBytes` değerine ulaştığında döner (varsayılan: 100 MB). OpenClaw, etkin dosyanın yanında en fazla beş numaralı arşiv tutar, örneğin `openclaw-YYYY-MM-DD.1.log`, ve tanılamaları bastırmak yerine yeni bir etkin günlüğe yazmaya devam eder.
+Her dosya `logging.maxFileBytes` değerine ulaştığında döndürülür (varsayılan: 100 MB). OpenClaw etkin dosyanın yanında `openclaw-YYYY-MM-DD.1.log` gibi en fazla beş numaralı arşiv tutar ve tanılamaları bastırmak yerine yeni bir etkin günlüğe yazmaya devam eder.
Bunu `~/.openclaw/openclaw.json` içinde geçersiz kılabilirsiniz:
@@ -43,52 +43,52 @@ Bunu `~/.openclaw/openclaw.json` içinde geçersiz kılabilirsiniz:
## Günlükler nasıl okunur
-### CLI: canlı takip (önerilir)
+### CLI: canlı izleme (önerilir)
-Gateway günlük dosyasını RPC üzerinden takip etmek için CLI'ı kullanın:
+Gateway günlük dosyasını RPC üzerinden canlı izlemek için CLI’yi kullanın:
```bash
openclaw logs --follow
```
-Kullanışlı mevcut seçenekler:
+Yararlı güncel seçenekler:
- `--local-time`: zaman damgalarını yerel saat diliminizde işler
- `--url ` / `--token ` / `--timeout `: standart Gateway RPC bayrakları
-- `--expect-final`: agent destekli RPC son yanıt bekleme bayrağı (paylaşılan istemci katmanı üzerinden burada kabul edilir)
+- `--expect-final`: ajan destekli RPC son yanıt bekleme bayrağı (paylaşılan istemci katmanı üzerinden burada kabul edilir)
Çıktı modları:
-- **TTY oturumları**: güzel biçimlendirilmiş, renklendirilmiş, yapılandırılmış günlük satırları.
+- **TTY oturumları**: okunaklı, renklendirilmiş, yapılandırılmış günlük satırları.
- **TTY olmayan oturumlar**: düz metin.
-- `--json`: satırla ayrılmış JSON (satır başına bir günlük olayı).
-- `--plain`: TTY oturumlarında düz metni zorunlu kılar.
-- `--no-color`: ANSI renklerini devre dışı bırakır.
+- `--json`: satırlarla ayrılmış JSON (satır başına bir günlük olayı).
+- `--plain`: TTY oturumlarında düz metni zorla.
+- `--no-color`: ANSI renklerini devre dışı bırak.
-Açık bir `--url` ilettiğinizde CLI, yapılandırma veya ortam kimlik bilgilerini otomatik olarak uygulamaz; hedef Gateway kimlik doğrulaması gerektiriyorsa `--token` değerini kendiniz ekleyin.
+Açık bir `--url` verdiğinizde CLI yapılandırma veya ortam kimlik bilgilerini otomatik uygulamaz; hedef Gateway kimlik doğrulaması gerektiriyorsa `--token` seçeneğini kendiniz ekleyin.
-JSON modunda CLI, `type` etiketli nesneler üretir:
+JSON modunda CLI, `type` etiketi taşıyan nesneler yayar:
- `meta`: akış meta verileri (dosya, imleç, boyut)
- `log`: ayrıştırılmış günlük girdisi
-- `notice`: kesilme / döndürme ipuçları
+- `notice`: kısaltma / döndürme ipuçları
- `raw`: ayrıştırılmamış günlük satırı
-Örtük local loopback Gateway eşleştirme isterse, bağlantı sırasında kapanırsa veya `logs.tail` yanıt vermeden önce zaman aşımına uğrarsa `openclaw logs`, yapılandırılmış Gateway dosya günlüğüne otomatik olarak geri döner. Açık `--url` hedefleri bu geri dönüşü kullanmaz.
+Örtük local loopback Gateway eşleştirme isterse, bağlantı sırasında kapanırsa veya `logs.tail` yanıt vermeden önce zaman aşımına uğrarsa, `openclaw logs` otomatik olarak yapılandırılmış Gateway dosya günlüğüne geri döner. Açık `--url` hedefleri bu geri dönüşü kullanmaz.
-Gateway erişilemezse CLI, şunu çalıştırmak için kısa bir ipucu yazdırır:
+Gateway’e ulaşılamıyorsa CLI şu komutu çalıştırmanız için kısa bir ipucu yazdırır:
```bash
openclaw doctor
```
-### Control UI (web)
+### Kontrol Kullanıcı Arayüzü (web)
-Control UI'nin **Logs** sekmesi aynı dosyayı `logs.tail` kullanarak takip eder. Nasıl açılacağını görmek için [/web/control-ui](/tr/web/control-ui) sayfasına bakın.
+Kontrol Kullanıcı Arayüzü’nün **Günlükler** sekmesi aynı dosyayı `logs.tail` kullanarak canlı izler. Nasıl açılacağını görmek için [/web/control-ui](/tr/web/control-ui) bölümüne bakın.
### Yalnızca kanal günlükleri
-Kanal etkinliğini filtrelemek için (WhatsApp/Telegram/vb) şunu kullanın:
+Kanal etkinliğini (WhatsApp/Telegram/vb.) filtrelemek için şunu kullanın:
```bash
openclaw channels logs --channel whatsapp
@@ -98,36 +98,36 @@ openclaw channels logs --channel whatsapp
### Dosya günlükleri (JSONL)
-Günlük dosyasındaki her satır bir JSON nesnesidir. CLI ve Control UI, yapılandırılmış çıktıyı (saat, seviye, alt sistem, ileti) işlemek için bu girdileri ayrıştırır.
+Günlük dosyasındaki her satır bir JSON nesnesidir. CLI ve Kontrol Kullanıcı Arayüzü bu girdileri ayrıştırarak yapılandırılmış çıktı (zaman, düzey, alt sistem, ileti) işler.
-Dosya günlüğü JSONL kayıtları, kullanılabilir olduğunda makine tarafından filtrelenebilir üst düzey alanlar da içerir:
+Dosya günlüğü JSONL kayıtları, kullanılabildiğinde makine tarafından filtrelenebilir üst düzey alanlar da içerir:
- `hostname`: gateway ana makine adı.
-- `message`: tam metin arama için düzleştirilmiş günlük iletisi metni.
-- `agent_id`: günlük çağrısı agent bağlamı taşıdığında etkin agent kimliği.
+- `message`: tam metin araması için düzleştirilmiş günlük iletisi metni.
+- `agent_id`: günlük çağrısı ajan bağlamı taşıdığında etkin ajan kimliği.
- `session_id`: günlük çağrısı oturum bağlamı taşıdığında etkin oturum kimliği/anahtarı.
- `channel`: günlük çağrısı kanal bağlamı taşıdığında etkin kanal.
-OpenClaw, özgün yapılandırılmış günlük argümanlarını bu alanların yanında korur; böylece numaralı tslog argüman anahtarlarını okuyan mevcut ayrıştırıcılar çalışmaya devam eder.
+OpenClaw, bu alanların yanında özgün yapılandırılmış günlük argümanlarını korur; böylece numaralı tslog argüman anahtarlarını okuyan mevcut ayrıştırıcılar çalışmaya devam eder.
### Konsol çıktısı
-Konsol günlükleri **TTY uyumludur** ve okunabilirlik için biçimlendirilir:
+Konsol günlükleri **TTY’ye duyarlıdır** ve okunabilirlik için biçimlendirilir:
-- Alt sistem önekleri (ör. `gateway/channels/whatsapp`)
-- Seviye renklendirme (info/warn/error)
+- Alt sistem önekleri (örn. `gateway/channels/whatsapp`)
+- Düzey renklendirmesi (info/warn/error)
- İsteğe bağlı kompakt veya JSON modu
Konsol biçimlendirmesi `logging.consoleStyle` tarafından denetlenir.
### Gateway WebSocket günlükleri
-`openclaw gateway`, RPC trafiği için WebSocket protokol günlüğüne de sahiptir:
+`openclaw gateway`, RPC trafiği için WebSocket protokol günlüğü de tutar:
- normal mod: yalnızca ilginç sonuçlar (hatalar, ayrıştırma hataları, yavaş çağrılar)
- `--verbose`: tüm istek/yanıt trafiği
-- `--ws-log auto|compact|full`: ayrıntılı işleme stilini seçer
-- `--compact`: `--ws-log compact` için takma ad
+- `--ws-log auto|compact|full`: ayrıntılı gösterim stilini seçer
+- `--compact`: `--ws-log compact` için diğer ad
Örnekler:
@@ -137,9 +137,9 @@ openclaw gateway --verbose --ws-log compact
openclaw gateway --verbose --ws-log full
```
-## Günlüğe kaydetmeyi yapılandırma
+## Günlük kaydını yapılandırma
-Tüm günlük yapılandırması `~/.openclaw/openclaw.json` içinde `logging` altında bulunur.
+Tüm günlük yapılandırması, `~/.openclaw/openclaw.json` içindeki `logging` altında bulunur.
```json
{
@@ -154,31 +154,42 @@ Tüm günlük yapılandırması `~/.openclaw/openclaw.json` içinde `logging` al
}
```
-### Günlük seviyeleri
+### Günlük düzeyleri
-- `logging.level`: **dosya günlükleri** (JSONL) seviyesi.
-- `logging.consoleLevel`: **konsol** ayrıntı seviyesi.
+- `logging.level`: **dosya günlükleri** (JSONL) düzeyi.
+- `logging.consoleLevel`: **konsol** ayrıntı düzeyi.
-İkisini de **`OPENCLAW_LOG_LEVEL`** ortam değişkeniyle geçersiz kılabilirsiniz (ör. `OPENCLAW_LOG_LEVEL=debug`). Ortam değişkeni yapılandırma dosyasına göre önceliklidir, böylece `openclaw.json` dosyasını düzenlemeden tek bir çalıştırma için ayrıntı seviyesini artırabilirsiniz. Ayrıca genel CLI seçeneği **`--log-level `** değerini de iletebilirsiniz (örneğin, `openclaw --log-level debug gateway run`); bu, ilgili komut için ortam değişkenini geçersiz kılar.
+Her ikisini de **`OPENCLAW_LOG_LEVEL`** ortam değişkeniyle geçersiz kılabilirsiniz (örn. `OPENCLAW_LOG_LEVEL=debug`). Ortam değişkeni yapılandırma dosyasına göre önceliklidir; böylece `openclaw.json` dosyasını düzenlemeden tek bir çalıştırma için ayrıntı düzeyini artırabilirsiniz. Ayrıca genel CLI seçeneği **`--log-level `** değerini de geçirebilirsiniz (örneğin, `openclaw --log-level debug gateway run`); bu, ilgili komut için ortam değişkenini geçersiz kılar.
-`--verbose` yalnızca konsol çıktısını ve WS günlük ayrıntı düzeyini etkiler; dosya günlük seviyelerini değiştirmez.
+`--verbose` yalnızca konsol çıktısını ve WS günlük ayrıntı düzeyini etkiler; dosya
+günlük düzeylerini değiştirmez.
### İz korelasyonu
-Dosya günlükleri JSONL'dir. Bir günlük çağrısı geçerli bir tanılama iz bağlamı taşıdığında OpenClaw, iz alanlarını üst düzey JSON anahtarları olarak yazar (`traceId`, `spanId`, `parentSpanId`, `traceFlags`); böylece harici günlük işleyiciler satırı OTEL span'leri ve sağlayıcı `traceparent` yayılımıyla ilişkilendirebilir.
+Dosya günlükleri JSONL biçimindedir. Bir günlük çağrısı geçerli bir tanılama iz bağlamı taşıdığında,
+OpenClaw iz alanlarını üst düzey JSON anahtarları (`traceId`, `spanId`,
+`parentSpanId`, `traceFlags`) olarak yazar; böylece harici günlük işleyiciler satırı
+OTEL span'leri ve sağlayıcı `traceparent` yayılımıyla ilişkilendirebilir.
-Gateway HTTP istekleri ve Gateway WebSocket çerçeveleri dahili bir istek iz kapsamı oluşturur. Bu async kapsam içinde yayımlanan günlükler ve tanılama olayları, açık bir iz bağlamı iletmediklerinde istek izini devralır. Agent çalıştırma ve model çağrısı izleri etkin istek izinin çocukları olur; böylece yerel günlükler, tanılama anlık görüntüleri, OTEL span'leri ve güvenilir sağlayıcı `traceparent` başlıkları ham istek veya model içeriği günlüğe kaydedilmeden `traceId` ile birleştirilebilir.
+Gateway HTTP istekleri ve Gateway WebSocket çerçeveleri dahili bir istek
+iz kapsamı oluşturur. Bu async kapsam içinde yayımlanan günlükler ve tanılama olayları,
+açık bir iz bağlamı geçirmediklerinde istek izini devralır. Ajan çalıştırma ve
+model çağrısı izleri etkin istek izinin alt öğeleri haline gelir; böylece yerel günlükler,
+tanılama anlık görüntüleri, OTEL span'leri ve güvenilir sağlayıcı `traceparent` başlıkları,
+ham istek veya model içeriğini günlüğe yazmadan `traceId` ile birleştirilebilir.
### Model çağrısı boyutu ve zamanlaması
-Model çağrısı tanılamaları, ham istem veya yanıt içeriğini yakalamadan sınırlı istek/yanıt ölçümleri kaydeder:
+Model çağrısı tanılamaları, ham prompt veya yanıt içeriğini yakalamadan
+sınırlı istek/yanıt ölçümlerini kaydeder:
- `requestPayloadBytes`: son model istek yükünün UTF-8 bayt boyutu
-- `responseStreamBytes`: akışa alınan model yanıt olaylarının UTF-8 bayt boyutu
-- `timeToFirstByteMs`: ilk akışa alınan yanıt olayından önce geçen süre
+- `responseStreamBytes`: akışla gelen model yanıt olaylarının UTF-8 bayt boyutu
+- `timeToFirstByteMs`: akışla gelen ilk yanıt olayından önce geçen süre
- `durationMs`: toplam model çağrısı süresi
-Tanılama dışa aktarımı etkinleştirildiğinde bu alanlar tanılama anlık görüntüleri, model çağrısı Plugin kancaları ve OTEL model çağrısı span'leri/metrikleri için kullanılabilir.
+Bu alanlar, tanılama dışa aktarımı etkinleştirildiğinde tanılama anlık görüntüleri,
+model çağrısı Plugin hook'ları ve OTEL model çağrısı span'leri/metrikleri için kullanılabilir.
### Konsol stilleri
@@ -190,25 +201,52 @@ Tanılama dışa aktarımı etkinleştirildiğinde bu alanlar tanılama anlık g
### Redaksiyon
-OpenClaw, hassas token'ları konsol çıktısına, dosya günlüklerine, OTLP günlük kayıtlarına, kalıcı oturum transkript metnine veya Control UI araç olayı yüklerine (araç başlangıç argümanları, kısmi/son sonuç yükleri, türetilmiş exec çıktısı ve yama özetleri) ulaşmadan önce redakte edebilir:
+OpenClaw, hassas belirteçler konsol çıktısına, dosya günlüklerine,
+OTLP günlük kayıtlarına, kalıcı oturum transkript metnine veya Control UI araç
+olay yüklerine (araç başlangıç argümanları, kısmi/nihai sonuç yükleri, türetilmiş
+exec çıktısı ve yama özetleri) ulaşmadan önce bunları redakte edebilir:
- `logging.redactSensitive`: `off` | `tools` (varsayılan: `tools`)
-- `logging.redactPatterns`: varsayılan kümeyi geçersiz kılacak regex dizeleri listesi. Özel desenler, Control UI araç yükleri için yerleşik varsayılanların üzerine uygulanır; bu nedenle desen eklemek, varsayılanların zaten yakaladığı değerlerin redaksiyonunu asla zayıflatmaz.
+- `logging.redactPatterns`: varsayılan kümeyi geçersiz kılacak regex dizeleri listesi. Özel desenler, Control UI araç yükleri için yerleşik varsayılanların üzerine uygulanır; bu nedenle bir desen eklemek, varsayılanlar tarafından zaten yakalanan değerlerin redaksiyonunu asla zayıflatmaz.
-Dosya günlükleri ve oturum transkriptleri JSONL olarak kalır, ancak eşleşen gizli değerler satır veya ileti diske yazılmadan önce maskelenir. Redaksiyon en iyi çaba ilkesine dayanır: metin içeren ileti içeriğine ve günlük dizelerine uygulanır, her tanımlayıcıya veya ikili yük alanına değil.
+Dosya günlükleri ve oturum transkriptleri JSONL olarak kalır, ancak eşleşen gizli değerler
+satır veya ileti diske yazılmadan önce maskelenir. Redaksiyon en iyi çaba esasına dayanır:
+her tanımlayıcıya veya ikili yük alanına değil, metin taşıyan ileti içeriğine ve günlük dizelerine
+uygulanır.
-`logging.redactSensitive: "off"` yalnızca bu genel günlük/transkript politikasını devre dışı bırakır. OpenClaw, UI istemcilerine, destek paketlerine, tanılama gözlemcilerine, onay istemlerine veya agent araçlarına gösterilebilecek güvenlik sınırı yüklerini yine de redakte eder. Örnekler arasında Control UI araç çağrısı olayları, `sessions_history` çıktısı, tanılama destek dışa aktarımları, sağlayıcı hata gözlemleri, exec onay komutu gösterimi ve Gateway WebSocket protokol günlükleri bulunur. Özel `logging.redactPatterns`, bu yüzeylerde projeye özgü desenler eklemeye devam edebilir.
+Yerleşik varsayılanlar; kart numarası, CVC/CVV, paylaşılan ödeme belirteci ve ödeme kimlik bilgisi
+gibi yaygın API kimlik bilgilerini ve ödeme kimlik bilgisi alan adlarını,
+JSON alanları, URL parametreleri, CLI bayrakları veya atamalar olarak göründüklerinde kapsar.
+
+`logging.redactSensitive: "off"` yalnızca bu genel günlük/transkript
+ilkesini devre dışı bırakır. OpenClaw, UI istemcilerine, destek paketlerine, tanılama gözlemcilerine,
+onay istemlerine veya ajan araçlarına gösterilebilecek güvenlik sınırı yüklerini
+redakte etmeye devam eder. Örnekler arasında Control UI araç çağrısı olayları, `sessions_history` çıktısı,
+tanılama destek dışa aktarımları, sağlayıcı hata gözlemleri, exec onay komutu
+gösterimi ve Gateway WebSocket protokol günlükleri bulunur. Özel `logging.redactPatterns`
+bu yüzeylere proje özelinde desenler eklemeye devam edebilir.
## Tanılamalar ve OpenTelemetry
-Tanılamalar, model çalıştırmaları ve ileti akışı telemetrisi (Webhook'lar, kuyruğa alma, oturum durumu) için yapılandırılmış, makine tarafından okunabilir olaylardır. Günlüklerin yerini **almazlar**; metrikleri, izleri ve dışa aktarıcıları beslerler. Olaylar, dışa aktarılıp aktarılmadıklarına bakılmaksızın işlem içinde yayımlanır.
+Tanılamalar; model çalıştırmaları ve ileti akışı telemetrisi (Webhook'lar, kuyruğa alma, oturum durumu) için
+yapılandırılmış, makine tarafından okunabilir olaylardır. Günlüklerin yerini **almazlar** —
+metrikleri, izleri ve dışa aktarıcıları beslerler. Olaylar, dışa aktarılıp aktarılmadıklarından bağımsız olarak
+süreç içinde yayımlanır.
İki bitişik yüzey:
-- **OpenTelemetry dışa aktarımı** — metrikleri, izleri ve günlükleri OTLP/HTTP üzerinden herhangi bir OpenTelemetry uyumlu toplayıcıya veya arka uca (Grafana, Datadog, Honeycomb, New Relic, Tempo, vb.) gönderin. Tam yapılandırma, sinyal kataloğu, metrik/span adları, ortam değişkenleri ve gizlilik modeli ayrılmış bir sayfada bulunur: [OpenTelemetry dışa aktarımı](/tr/gateway/opentelemetry).
-- **Tanılama bayrakları** — `logging.level` yükseltilmeden ek günlükleri `logging.file` konumuna yönlendiren hedefli debug günlük bayrakları. Bayraklar büyük/küçük harfe duyarsızdır ve joker karakterleri destekler (`telegram.*`, `*`). `diagnostics.flags` altında veya `OPENCLAW_DIAGNOSTICS=...` ortam geçersiz kılmasıyla yapılandırın. Tam kılavuz: [Tanılama bayrakları](/tr/diagnostics/flags).
+- **OpenTelemetry dışa aktarımı** — metrikleri, izleri ve günlükleri OTLP/HTTP üzerinden
+ herhangi bir OpenTelemetry uyumlu toplayıcıya veya arka uca (Grafana, Datadog,
+ Honeycomb, New Relic, Tempo vb.) gönderin. Tam yapılandırma, sinyal kataloğu,
+ metrik/span adları, ortam değişkenleri ve gizlilik modeli özel bir sayfada bulunur:
+ [OpenTelemetry dışa aktarımı](/tr/gateway/opentelemetry).
+- **Tanılama bayrakları** — `logging.level` değerini yükseltmeden ek günlükleri
+ `logging.file` konumuna yönlendiren hedefli hata ayıklama günlüğü bayrakları. Bayraklar büyük/küçük harfe duyarsızdır
+ ve joker karakterleri (`telegram.*`, `*`) destekler. `diagnostics.flags` altında
+ veya `OPENCLAW_DIAGNOSTICS=...` ortam geçersiz kılmasıyla yapılandırın. Tam kılavuz:
+ [Tanılama bayrakları](/tr/diagnostics/flags).
-OTLP dışa aktarımı olmadan Plugin'ler veya özel hedefler için tanılama olaylarını etkinleştirmek üzere:
+OTLP dışa aktarımı olmadan Plugin'ler veya özel alıcılar için tanılama olaylarını etkinleştirmek için:
```json5
{
@@ -216,17 +254,18 @@ OTLP dışa aktarımı olmadan Plugin'ler veya özel hedefler için tanılama ol
}
```
-Bir toplayıcıya OTLP dışa aktarımı için [OpenTelemetry dışa aktarımı](/tr/gateway/opentelemetry) sayfasına bakın.
+Bir toplayıcıya OTLP dışa aktarımı için bkz. [OpenTelemetry dışa aktarımı](/tr/gateway/opentelemetry).
## Sorun giderme ipuçları
- **Gateway erişilebilir değil mi?** Önce `openclaw doctor` çalıştırın.
-- **Günlükler boş mu?** Gateway'in çalıştığını ve `logging.file` içindeki dosya yoluna yazdığını kontrol edin.
+- **Günlükler boş mu?** Gateway'in çalıştığını ve `logging.file` içindeki dosya yoluna
+ yazdığını kontrol edin.
- **Daha fazla ayrıntı mı gerekiyor?** `logging.level` değerini `debug` veya `trace` olarak ayarlayın ve yeniden deneyin.
## İlgili
- [OpenTelemetry dışa aktarımı](/tr/gateway/opentelemetry) — OTLP/HTTP dışa aktarımı, metrik/span kataloğu, gizlilik modeli
-- [Tanılama bayrakları](/tr/diagnostics/flags) — hedefli debug günlük bayrakları
-- [Gateway günlükleme iç yapısı](/tr/gateway/logging) — WS günlük stilleri, alt sistem önekleri ve konsol yakalama
+- [Tanılama bayrakları](/tr/diagnostics/flags) — hedefli hata ayıklama günlüğü bayrakları
+- [Gateway günlük kaydı iç ayrıntıları](/tr/gateway/logging) — WS günlük stilleri, alt sistem önekleri ve konsol yakalama
- [Yapılandırma referansı](/tr/gateway/configuration-reference#diagnostics) — tam `diagnostics.*` alan referansı
diff --git a/docs/tr/platforms/mac/menu-bar.md b/docs/tr/platforms/mac/menu-bar.md
index 6e5d18587..8d1334d4d 100644
--- a/docs/tr/platforms/mac/menu-bar.md
+++ b/docs/tr/platforms/mac/menu-bar.md
@@ -1,30 +1,31 @@
---
read_when:
- - mac menü UI'ını veya durum mantığını ayarlama
-summary: Menü çubuğu durum mantığı ve kullanıcılara nelerin gösterildiği
+ - Mac menüsü arayüzünde veya durum mantığında ince ayar yapma
+summary: Menü çubuğu durum mantığı ve kullanıcılara gösterilenler
title: Menü çubuğu
x-i18n:
- generated_at: "2026-04-24T09:19:53Z"
- model: gpt-5.4
+ generated_at: "2026-05-01T09:02:18Z"
+ model: gpt-5.5
provider: openai
- source_hash: 89b03f3b0f9e56057d4cbf10bd1252372c65a2b2ae5e0405a844e9a59b51405d
+ source_hash: 340b86a2e222fb1fe7fda4f0f0434127af1393a64348ea033ea284ba52866beb
source_path: platforms/mac/menu-bar.md
- workflow: 15
+ workflow: 16
---
# Menü Çubuğu Durum Mantığı
-## Ne gösterilir
+## Gösterilenler
-- Geçerli aracı iş durumunu menü çubuğu simgesinde ve menünün ilk durum satırında gösteriyoruz.
-- Sağlık durumu, iş etkin olduğunda gizlenir; tüm oturumlar boştayken geri gelir.
-- Menüdeki “Nodes” bloğu, istemci/presence girdilerini değil, yalnızca **cihazları** ( `node.list` üzerinden eşleştirilmiş Node'lar) listeler.
-- Sağlayıcı kullanım anlık görüntüleri mevcut olduğunda Context altında bir “Usage” bölümü görünür.
+- Mevcut ajan çalışma durumunu menü çubuğu simgesinde ve menünün ilk durum satırında gösteririz.
+- Çalışma etkinken sağlık durumu gizlenir; tüm oturumlar boştayken geri döner.
+- Kök “Bağlam” alt menüsü, son oturumları doğrudan kök menüde genişletmek yerine içerir.
+- Kök menüdeki “Node'lar” bloğu yalnızca **cihazları** listeler (`node.list` üzerinden eşleştirilmiş Node'lar); istemci/varlık girdilerini listelemez.
+- Sağlayıcı kullanım anlık görüntüleri mevcut olduğunda Bağlam'ın altında kök “Kullanım” bölümü görünür; mevcutsa bunu kullanım maliyeti ayrıntıları izler.
## Durum modeli
-- Oturumlar: olaylar `runId` (çalıştırma başına) ile birlikte payload içinde `sessionKey` ile gelir. “main” oturumu `main` anahtarıdır; yoksa en son güncellenen oturuma fallback yaparız.
-- Öncelik: main her zaman kazanır. Main etkinse durumu hemen gösterilir. Main boşta ise en son etkin olan main olmayan oturum gösterilir. Etkinliğin ortasında flip-flop yapmayız; yalnızca geçerli oturum boşa geçtiğinde veya main etkin olduğunda değiştiririz.
+- Oturumlar: olaylar yük içinde `runId` (çalıştırma başına) ve `sessionKey` ile gelir. “Ana” oturum `main` anahtarıdır; yoksa en son güncellenen oturuma geri döneriz.
+- Öncelik: ana her zaman kazanır. Ana etkinse durumu hemen gösterilir. Ana boştaysa en son etkin olan ana olmayan oturum gösterilir. Etkinlik ortasında sürekli gidip gelmeyiz; yalnızca geçerli oturum boşa geçtiğinde veya ana etkin olduğunda geçiş yaparız.
- Etkinlik türleri:
- `job`: üst düzey komut yürütme (`state: started|streaming|done|error`).
- `tool`: `toolName` ve `meta/args` ile `phase: start|result`.
@@ -36,7 +37,7 @@ x-i18n:
- `workingOther(ActivityKind)`
- `overridden(ActivityKind)` (hata ayıklama geçersiz kılması)
-### `ActivityKind` → glif
+### ActivityKind → glif
- `exec` → 💻
- `read` → 📄
@@ -47,47 +48,55 @@ x-i18n:
### Görsel eşleme
-- `idle`: normal yaratık.
-- `workingMain`: glifli rozet, tam tonlama, bacak “çalışıyor” animasyonu.
-- `workingOther`: glifli rozet, sönük tonlama, koşturma yok.
-- `overridden`: etkinlikten bağımsız olarak seçilen glifi/tonlamayı kullanır.
+- `idle`: normal karakter.
+- `workingMain`: glifli rozet, tam renk tonu, bacak “çalışıyor” animasyonu.
+- `workingOther`: glifli rozet, soluk renk tonu, koşuşturma yok.
+- `overridden`: etkinlikten bağımsız olarak seçilen glifi/renk tonunu kullanır.
+
+## Bağlam alt menüsü
+
+- Kök menü, oturum sayısı/durumuyla birlikte tek bir “Bağlam” satırı gösterir ve bir alt menü açar.
+- Bağlam alt menüsü başlığı, son 24 saatin etkin oturum sayısını gösterir.
+- Her oturum satırı kendi token çubuğunu, yaşını, önizlemesini, düşünme/ayrıntılı modunu, sıfırlama, compact ve silme eylemlerini korur.
+- Yükleme, bağlantı kesildi ve oturum yükleme hatası mesajları Bağlam alt menüsünde görünür.
+- Sağlayıcı kullanımı ve kullanım maliyeti ayrıntıları, alt menüyü açmadan hızlıca görülebilmeleri için Bağlam'ın altında kök düzeyinde kalır.
## Durum satırı metni (menü)
-- İş etkin olduğunda: ` · `
+- Çalışma etkinken: ` · `
- Örnekler: `Main · exec: pnpm test`, `Other · read: apps/macos/Sources/OpenClaw/AppState.swift`.
-- Boştayken: sağlık özetine fallback yapar.
+- Boştayken: sağlık özetine geri döner.
-## Olay alma
+## Olay alımı
-- Kaynak: denetim kanalı `agent` olayları (`ControlChannel.handleAgentEvent`).
+- Kaynak: control-channel `agent` olayları (`ControlChannel.handleAgentEvent`).
- Ayrıştırılan alanlar:
- - başlat/durdur için `data.state` ile `stream: "job"`.
+ - Başlatma/durdurma için `data.state` ile `stream: "job"`.
- `data.phase`, `name`, isteğe bağlı `meta`/`args` ile `stream: "tool"`.
- Etiketler:
- `exec`: `args.command` öğesinin ilk satırı.
- `read`/`write`: kısaltılmış yol.
- - `edit`: yol artı `meta`/diff sayılarından çıkarılan değişiklik türü.
- - fallback: araç adı.
+ - `edit`: yol artı `meta`/diff sayımlarından çıkarılan değişiklik türü.
+ - geri dönüş: araç adı.
## Hata ayıklama geçersiz kılması
-- Ayarlar ▸ Hata Ayıklama ▸ “Icon override” seçici:
+- Ayarlar ▸ Hata Ayıklama ▸ “Simge geçersiz kılması” seçici:
- `System (auto)` (varsayılan)
- `Working: main` (araç türü başına)
- `Working: other` (araç türü başına)
- `Idle`
-- `@AppStorage("iconOverride")` ile saklanır; `IconState.overridden` içine eşlenir.
+- `@AppStorage("iconOverride")` üzerinden saklanır; `IconState.overridden` değerine eşlenir.
## Test kontrol listesi
-- Main oturumunda bir iş tetikleyin: simgenin hemen değiştiğini ve durum satırının main etiketini gösterdiğini doğrulayın.
-- Main boştayken main olmayan bir oturum işi tetikleyin: simge/durum main olmayanı gösterir; bitene kadar kararlı kalır.
-- Diğeri etkinken main'i başlatın: simge anında main'e döner.
-- Hızlı araç patlamaları: rozetin titremediğinden emin olun (araç sonuçlarında TTL geçiş süresi).
+- Ana oturum işini tetikleyin: simgenin hemen değiştiğini ve durum satırının ana etiketi gösterdiğini doğrulayın.
+- Ana boştayken ana olmayan oturum işini tetikleyin: simge/durum ana olmayanı gösterir; bitene kadar kararlı kalır.
+- Diğeri etkinken anayı başlatın: simge anında anaya döner.
+- Hızlı araç patlamaları: rozetin titremediğinden emin olun (araç sonuçlarında TTL ek süresi).
- Tüm oturumlar boşa geçtiğinde sağlık satırı yeniden görünür.
## İlgili
-- [macOS app](/tr/platforms/macos)
-- [Menu bar icon](/tr/platforms/mac/icon)
+- [macOS uygulaması](/tr/platforms/macos)
+- [Menü çubuğu simgesi](/tr/platforms/mac/icon)
diff --git a/docs/tr/plugins/codex-harness.md b/docs/tr/plugins/codex-harness.md
index 8432a79cf..4e6015098 100644
--- a/docs/tr/plugins/codex-harness.md
+++ b/docs/tr/plugins/codex-harness.md
@@ -1,143 +1,32 @@
---
read_when:
- - Birlikte gelen Codex app-server test düzeneğini kullanmak istiyorsunuz
- - Codex çalıştırma ortamı yapılandırma örneklerine ihtiyacınız var
+ - Paketle birlikte gelen Codex app-server düzeneğini kullanmak istiyorsunuz
+ - Codex çalıştırma düzeneği yapılandırma örneklerine ihtiyacınız var
- Yalnızca Codex dağıtımlarının PI'ye geri dönmek yerine başarısız olmasını istiyorsunuz
-summary: OpenClaw gömülü ajan turlarını birlikte gelen Codex app-server düzeneği üzerinden çalıştırın
-title: Codex çalışma düzeneği
+summary: Paketle birlikte gelen Codex app-server çalışma düzeneği üzerinden OpenClaw gömülü ajan turlarını çalıştırın
+title: Codex düzeneği
x-i18n:
- generated_at: "2026-04-30T20:05:58Z"
+ generated_at: "2026-05-01T09:02:52Z"
model: gpt-5.5
provider: openai
- source_hash: 335ec60cbdb76579db833eccb5151ffc5bcd28b370ca2e99587abdb578eeee4f
+ source_hash: 740e8fa9e6f4a737dfd250fe26b85865a7f7e40839b41e879e9224a45cbe8d72
source_path: plugins/codex-harness.md
workflow: 16
---
-Birlikte gelen `codex` Plugin'i, OpenClaw'ın gömülü ajan turlarını yerleşik PI çalıştırıcısı yerine Codex uygulama sunucusu üzerinden çalıştırmasını sağlar.
+Birlikte verilen `codex` Plugin’i, OpenClaw’ın gömülü aracı turlarını yerleşik PI düzeneği yerine Codex app-server üzerinden çalıştırmasına izin verir.
-Bunu, düşük seviyeli ajan oturumunu Codex'in yönetmesini istediğinizde kullanın: model keşfi, yerel iş parçacığı sürdürme, yerel Compaction ve uygulama sunucusu yürütmesi. OpenClaw hâlâ sohbet kanallarını, oturum dosyalarını, model seçimini, araçları, onayları, medya teslimini ve görünür döküm yansısını yönetir.
+Bunu, düşük seviyeli aracı oturumunun Codex tarafından yönetilmesini istediğinizde kullanın: model keşfi, yerel iş parçacığına devam etme, yerel Compaction ve app-server yürütmesi. OpenClaw sohbet kanallarını, oturum dosyalarını, model seçimini, araçları, onayları, medya teslimini ve görünür transkript aynasını yönetmeye devam eder.
Kendinizi konumlandırmaya çalışıyorsanız
-[Ajan çalışma zamanları](/tr/concepts/agent-runtimes) ile başlayın. Kısa sürüm şudur:
-`openai/gpt-5.5` model referansıdır, `codex` çalışma zamanıdır ve Telegram,
-Discord, Slack veya başka bir kanal iletişim yüzeyi olarak kalır.
+[Aracı çalışma zamanları](/tr/concepts/agent-runtimes) ile başlayın. Kısa sürüm şudur:
+`openai/gpt-5.5` model ref’idir, `codex` çalışma zamanıdır ve Telegram, Discord, Slack veya başka bir kanal iletişim yüzeyi olarak kalır.
-## Bu Plugin neyi değiştirir
+## Hızlı yapılandırma
-Birlikte gelen `codex` Plugin'i birkaç ayrı yetenek sağlar:
-
-| Yetenek | Nasıl kullanırsınız | Ne yapar |
-| --------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------ |
-| Yerel gömülü çalışma zamanı | `agentRuntime.id: "codex"` | OpenClaw gömülü ajan turlarını Codex uygulama sunucusu üzerinden çalıştırır. |
-| Yerel sohbet denetim komutları | `/codex bind`, `/codex resume`, `/codex steer`, ... | Mesajlaşma konuşmasından Codex uygulama sunucusu iş parçacıklarını bağlar ve denetler. |
-| Codex uygulama sunucusu sağlayıcısı/kataloğu | `codex` iç bileşenleri, çalıştırıcı üzerinden sunulur | Çalışma zamanının uygulama sunucusu modellerini keşfetmesini ve doğrulamasını sağlar. |
-| Codex medya anlama yolu | `codex/*` görüntü modeli uyumluluk yolları | Desteklenen görüntü anlama modelleri için sınırlı Codex uygulama sunucusu turları çalıştırır. |
-| Yerel hook aktarıcısı | Codex'e yerel olaylar etrafındaki Plugin hook'ları | OpenClaw'ın desteklenen Codex'e yerel araç/sonlandırma olaylarını gözlemlemesini/engellemesini sağlar. |
-
-Plugin'i etkinleştirmek bu yetenekleri kullanılabilir kılar. Şunları **yapmaz**:
-
-- her OpenAI modeli için Codex kullanmaya başlamak
-- `openai-codex/*` model referanslarını yerel çalışma zamanına dönüştürmek
-- ACP/acpx'i varsayılan Codex yolu yapmak
-- zaten bir PI çalışma zamanı kaydetmiş mevcut oturumları anında değiştirmek
-- OpenClaw kanal teslimini, oturum dosyalarını, auth-profile depolamasını veya
- ileti yönlendirmesini değiştirmek
-
-Aynı Plugin, yerel `/codex` sohbet denetim komut yüzeyini de yönetir. Plugin etkinse ve kullanıcı sohbetten Codex iş parçacıklarını bağlamayı, sürdürmeyi, yönlendirmeyi, durdurmayı veya incelemeyi isterse, ajanlar ACP yerine `/codex ...` tercih etmelidir. ACP, kullanıcı ACP/acpx istediğinde veya ACP Codex bağdaştırıcısını test ettiğinde açık geri dönüş olarak kalır.
-
-Yerel Codex turları, OpenClaw Plugin hook'larını genel uyumluluk katmanı olarak tutar. Bunlar süreç içi OpenClaw hook'larıdır, Codex `hooks.json` komut hook'ları değildir:
-
-- `before_prompt_build`
-- `before_compaction`, `after_compaction`
-- `llm_input`, `llm_output`
-- `before_tool_call`, `after_tool_call`
-- `before_message_write` yansıtılmış döküm kayıtları için
-- Codex `Stop` aktarıcısı üzerinden `before_agent_finalize`
-- `agent_end`
-
-Plugin'ler, OpenClaw aracı yürüttükten sonra ve sonuç Codex'e döndürülmeden önce OpenClaw dinamik araç sonuçlarını yeniden yazmak için çalışma zamanından bağımsız araç sonucu ara katman yazılımı da kaydedebilir. Bu, OpenClaw'ın sahip olduğu döküm araç sonucu yazımlarını dönüştüren genel `tool_result_persist` Plugin hook'undan ayrıdır.
-
-Plugin hook semantiğinin kendisi için [Plugin hook'ları](/tr/plugins/hooks) ve [Plugin koruma davranışı](/tr/tools/plugin) bölümlerine bakın.
-
-Çalıştırıcı varsayılan olarak kapalıdır. Yeni yapılandırmalar OpenAI model referanslarını `openai/gpt-*` olarak kurallı tutmalı ve yerel uygulama sunucusu yürütmesi istediklerinde açıkça `agentRuntime.id: "codex"` veya `OPENCLAW_AGENT_RUNTIME=codex` zorlamalıdır. Eski `codex/*` model referansları uyumluluk için çalıştırıcıyı hâlâ otomatik seçer, ancak çalışma zamanı destekli eski sağlayıcı önekleri normal model/sağlayıcı seçenekleri olarak gösterilmez.
-
-`codex` Plugin'i etkinse ancak birincil model hâlâ `openai-codex/*` ise, `openclaw doctor` rotayı değiştirmek yerine uyarır. Bu bilinçlidir: `openai-codex/*` PI Codex OAuth/abonelik yolu olarak kalır ve yerel uygulama sunucusu yürütmesi açık bir çalışma zamanı seçimi olarak kalır.
-
-## Rota haritası
-
-Yapılandırmayı değiştirmeden önce bu tabloyu kullanın:
-
-| İstenen davranış | Model referansı | Çalışma zamanı yapılandırması | Plugin gereksinimi | Beklenen durum etiketi |
-| ----------------------------------------- | ------------------------- | --------------------------------------- | --------------------------- | ------------------------------- |
-| Normal OpenClaw çalıştırıcısı üzerinden OpenAI API | `openai/gpt-*` | atlanmış veya `runtime: "pi"` | OpenAI sağlayıcısı | `Runtime: OpenClaw Pi Default` |
-| PI üzerinden Codex OAuth/abonelik | `openai-codex/gpt-*` | atlanmış veya `runtime: "pi"` | OpenAI Codex OAuth sağlayıcısı | `Runtime: OpenClaw Pi Default` |
-| Yerel Codex uygulama sunucusu gömülü turları | `openai/gpt-*` | `agentRuntime.id: "codex"` | `codex` Plugin'i | `Runtime: OpenAI Codex` |
-| Koruyucu otomatik modla karışık sağlayıcılar | sağlayıcıya özgü referanslar | `agentRuntime.id: "auto"` | İsteğe bağlı Plugin çalışma zamanları | Seçilen çalışma zamanına bağlı |
-| Açık Codex ACP bağdaştırıcısı oturumu | ACP prompt/model bağımlı | `sessions_spawn` ile `runtime: "acp"` | sağlıklı `acpx` arka ucu | ACP görev/oturum durumu |
-
-Önemli ayrım sağlayıcı ile çalışma zamanı arasındadır:
-
-- `openai-codex/*` "PI hangi sağlayıcı/auth rotasını kullanmalı?" sorusunu yanıtlar
-- `agentRuntime.id: "codex"` "bu gömülü turu hangi döngü yürütmeli?"
- sorusunu yanıtlar
-- `/codex ...` "bu sohbet hangi yerel Codex konuşmasına bağlanmalı
- veya onu denetlemeli?" sorusunu yanıtlar
-- ACP "acpx hangi dış çalıştırıcı sürecini başlatmalı?" sorusunu yanıtlar
-
-## Doğru model önekini seçin
-
-OpenAI ailesi rotaları öneke özgüdür. PI üzerinden Codex OAuth istediğinizde `openai-codex/*` kullanın; doğrudan OpenAI API erişimi istediğinizde veya yerel Codex uygulama sunucusu çalıştırıcısını zorladığınızda `openai/*` kullanın:
-
-| Model referansı | Çalışma zamanı yolu | Ne zaman kullanılır |
-| -------------------------------------------- | ----------------------------------------- | ------------------------------------------------------------------------- |
-| `openai/gpt-5.4` | OpenClaw/PI tesisatı üzerinden OpenAI sağlayıcısı | `OPENAI_API_KEY` ile güncel doğrudan OpenAI Platform API erişimi istediğinizde. |
-| `openai-codex/gpt-5.5` | OpenClaw/PI üzerinden OpenAI Codex OAuth | Varsayılan PI çalıştırıcısıyla ChatGPT/Codex abonelik auth istediğinizde. |
-| `openai/gpt-5.5` + `agentRuntime.id: "codex"` | Codex uygulama sunucusu çalıştırıcısı | Gömülü ajan turu için yerel Codex uygulama sunucusu yürütmesi istediğinizde. |
-
-GPT-5.5 şu anda OpenClaw'da yalnızca abonelik/OAuth ile kullanılabilir. PI OAuth için `openai-codex/gpt-5.5` kullanın veya Codex uygulama sunucusu çalıştırıcısıyla `openai/gpt-5.5` kullanın. `openai/gpt-5.5` için doğrudan API anahtarı erişimi, OpenAI GPT-5.5'i genel API'de etkinleştirdiğinde desteklenir.
-
-Eski `codex/gpt-*` referansları uyumluluk diğer adları olarak kabul edilmeye devam eder. Doctor uyumluluk geçişi, eski birincil çalışma zamanı referanslarını kurallı model referanslarına yeniden yazar ve çalışma zamanı ilkesini ayrı kaydeder; yalnızca geri dönüşte kullanılan eski referanslar ise değişmeden bırakılır, çünkü çalışma zamanı tüm ajan kapsayıcısı için yapılandırılır. Yeni PI Codex OAuth yapılandırmaları `openai-codex/gpt-*` kullanmalıdır; yeni yerel uygulama sunucusu çalıştırıcısı yapılandırmaları `openai/gpt-*` ile birlikte `agentRuntime.id: "codex"` kullanmalıdır.
-
-`agents.defaults.imageModel` aynı önek ayrımını izler. Görüntü anlama OpenAI Codex OAuth sağlayıcı yolu üzerinden çalışmalıysa `openai-codex/gpt-*` kullanın. Görüntü anlama sınırlı bir Codex uygulama sunucusu turu üzerinden çalışmalıysa `codex/gpt-*` kullanın. Codex uygulama sunucusu modeli görüntü girdi desteğini ilan etmelidir; yalnızca metin Codex modelleri medya turu başlamadan önce başarısız olur.
-
-Geçerli oturum için etkili çalıştırıcıyı doğrulamak üzere `/status` kullanın. Seçim şaşırtıcıysa, `agents/harness` alt sistemi için hata ayıklama günlüklerini etkinleştirin ve Gateway'in yapılandırılmış `agent harness selected` kaydını inceleyin. Bu kayıt seçilen çalıştırıcı kimliğini, seçim nedenini, çalışma zamanı/geri dönüş ilkesini ve `auto` modunda her Plugin adayının destek sonucunu içerir.
-
-### Doctor uyarıları ne anlama gelir
-
-`openclaw doctor`, şu koşulların tümü doğru olduğunda uyarır:
-
-- birlikte gelen `codex` Plugin'i etkin veya izinlidir
-- bir ajanın birincil modeli `openai-codex/*` şeklindedir
-- o ajanın etkili çalışma zamanı `codex` değildir
-
-Bu uyarı, kullanıcıların sık sık "Codex Plugin etkin" ifadesinin "yerel Codex uygulama sunucusu çalışma zamanı" anlamına gelmesini beklemesi nedeniyle vardır. OpenClaw bu sıçramayı yapmaz. Uyarı şu anlama gelir:
-
-- PI üzerinden ChatGPT/Codex OAuth amaçladıysanız **hiçbir değişiklik gerekmez**.
-- Yerel uygulama sunucusu yürütmesi amaçladıysanız modeli `openai/` olarak değiştirin ve
- `agentRuntime.id: "codex"` ayarlayın.
-- Çalışma zamanı değişikliğinden sonra mevcut oturumlar hâlâ `/new` veya `/reset` gerektirir,
- çünkü oturum çalışma zamanı sabitlemeleri yapışkandır.
-
-Çalıştırıcı seçimi canlı oturum denetimi değildir. Gömülü bir tur çalıştığında OpenClaw seçilen çalıştırıcı kimliğini o oturuma kaydeder ve aynı oturum kimliğindeki sonraki turlarda kullanmaya devam eder. Gelecekteki oturumların başka bir çalıştırıcı kullanmasını istediğinizde `agentRuntime` yapılandırmasını veya `OPENCLAW_AGENT_RUNTIME` değerini değiştirin; mevcut bir konuşmayı PI ile Codex arasında geçirmeden önce yeni bir oturum başlatmak için `/new` veya `/reset` kullanın. Bu, bir dökümün iki uyumsuz yerel oturum sistemi üzerinden yeniden oynatılmasını önler.
-
-Çalıştırıcı sabitlemelerinden önce oluşturulan eski oturumlar, döküm geçmişleri olduğunda PI'ye sabitlenmiş olarak ele alınır. Yapılandırmayı değiştirdikten sonra bu konuşmayı Codex'e geçirmek için `/new` veya `/reset` kullanın.
-
-`/status` etkili model çalışma zamanını gösterir. Varsayılan PI çalıştırıcısı `Runtime: OpenClaw Pi Default` olarak, Codex uygulama sunucusu çalıştırıcısı ise `Runtime: OpenAI Codex` olarak görünür.
-
-## Gereksinimler
-
-- Birlikte gelen `codex` Plugin'i kullanılabilir olan OpenClaw.
-- Codex uygulama sunucusu `0.125.0` veya daha yenisi. Birlikte gelen Plugin varsayılan olarak uyumlu bir Codex uygulama sunucusu ikilisini yönetir; bu nedenle `PATH` üzerindeki yerel `codex` komutları normal çalıştırıcı başlangıcını etkilemez.
-- Uygulama sunucusu süreci veya OpenClaw'ın Codex auth köprüsü için Codex auth kullanılabilir olmalıdır. Yerel stdio uygulama sunucusu başlatmaları her ajan için OpenClaw tarafından yönetilen bir Codex home ve yalıtılmış bir alt `HOME` kullanır; bu nedenle varsayılan olarak kişisel `~/.codex` hesabınızı, skills, plugin'leri, yapılandırmayı, iş parçacığı durumunu veya yerel `$HOME/.agents/skills` öğelerini okumazlar.
-
-Plugin, daha eski veya sürümsüz uygulama sunucusu el sıkışmalarını engeller. Bu, OpenClaw'ı test edildiği protokol yüzeyinde tutar.
-
-Canlı ve Docker duman testleri için auth genellikle Codex CLI hesabından veya bir OpenClaw `openai-codex` auth profilinden gelir. Yerel stdio uygulama sunucusu başlatmaları, hesap yoksa `CODEX_API_KEY` / `OPENAI_API_KEY` değerlerine de geri dönebilir.
-
-## En küçük yapılandırma
-
-`openai/gpt-5.5` kullanın, birlikte gelen Plugin'i etkinleştirin ve `codex` çalıştırıcısını zorlayın:
+GPT aracı turları için Codex düzeneğini kullanmak üzere model ref’ini
+`openai/gpt-*` olarak kanonik tutun, birlikte verilen `codex` Plugin’ini etkinleştirin ve
+`agentRuntime.id: "codex"` ayarlayın:
```json5
{
@@ -153,13 +42,14 @@ Canlı ve Docker duman testleri için auth genellikle Codex CLI hesabından veya
model: "openai/gpt-5.5",
agentRuntime: {
id: "codex",
+ fallback: "none",
},
},
},
}
```
-Yapılandırmanız `plugins.allow` kullanıyorsa, `codex` değerini oraya da ekleyin:
+Yapılandırmanız `plugins.allow` kullanıyorsa, `codex` öğesini oraya da ekleyin:
```json5
{
@@ -174,25 +64,130 @@ Yapılandırmanız `plugins.allow` kullanıyorsa, `codex` değerini oraya da ekl
}
```
-`agents.defaults.model` veya bir ajan modelini `codex/` olarak ayarlayan eski yapılandırmalar, birlikte gelen `codex` Plugin'ini hâlâ otomatik etkinleştirir. Yeni yapılandırmalar yukarıdaki açık `agentRuntime` girdisiyle birlikte `openai/` tercih etmelidir.
+Bu yol için `openai-codex/gpt-*` kullanmayın. Bu, ayrıca bir çalışma zamanını zorlamadığınız sürece normal PI çalıştırıcısı üzerinden Codex OAuth’u seçer. Yapılandırma değişiklikleri yeni veya sıfırlanmış oturumlara uygulanır; mevcut oturumlar kaydedilmiş çalışma zamanlarını korur.
-## Codex'i diğer modellerin yanına ekleyin
+## Bu Plugin’in değiştirdikleri
-Aynı aracı Codex ve Codex olmayan sağlayıcı modelleri arasında serbestçe geçiş
-yapacaksa `agentRuntime.id: "codex"` değerini küresel olarak ayarlamayın. Zorunlu bir çalışma zamanı,
-o aracı veya oturumu için her gömülü dönüşe uygulanır. Bu çalışma zamanı zorunluyken
-bir Anthropic modeli seçerseniz OpenClaw yine Codex harness'ını dener ve bu dönüşü
-sessizce PI üzerinden yönlendirmek yerine kapalı şekilde başarısız olur.
+Birlikte verilen `codex` Plugin’i birkaç ayrı yetenek sağlar:
-Bunun yerine şu biçimlerden birini kullanın:
+| Yetenek | Nasıl kullanırsınız | Ne yapar |
+| --------------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------- |
+| Yerel gömülü çalışma zamanı | `agentRuntime.id: "codex"` | OpenClaw gömülü aracı turlarını Codex app-server üzerinden çalıştırır. |
+| Yerel sohbet denetim komutları | `/codex bind`, `/codex resume`, `/codex steer`, ... | Bir mesajlaşma konuşmasından Codex app-server iş parçacıklarını bağlar ve denetler. |
+| Codex app-server sağlayıcı/katalog | `codex` iç işleyişleri, düzenek üzerinden sunulur | Çalışma zamanının app-server modellerini keşfetmesini ve doğrulamasını sağlar. |
+| Codex medya anlama yolu | `codex/*` görüntü modeli uyumluluk yolları | Desteklenen görüntü anlama modelleri için sınırlı Codex app-server turları çalıştırır. |
+| Yerel kanca aktarıcısı | Codex’e özgü olayların çevresindeki Plugin kancaları | OpenClaw’ın desteklenen Codex’e özgü araç/sonlandırma olaylarını gözlemlemesini/engellemesini sağlar. |
-- Codex'i `agentRuntime.id: "codex"` ile ayrılmış bir araca koyun.
-- Varsayılan aracı normal karma sağlayıcı kullanımı için `agentRuntime.id: "auto"` ve PI fallback ile tutun.
-- Eski `codex/*` başvurularını yalnızca uyumluluk için kullanın. Yeni yapılandırmalar
- `openai/*` ile birlikte açık bir Codex çalışma zamanı politikasını tercih etmelidir.
+Plugin’i etkinleştirmek bu yetenekleri kullanılabilir kılar. Şunları **yapmaz**:
-Örneğin bu, varsayılan aracı normal otomatik seçimde tutar ve
-ayrı bir Codex aracı ekler:
+- her OpenAI modeli için Codex kullanmaya başlama
+- `openai-codex/*` model ref’lerini yerel çalışma zamanına dönüştürme
+- ACP/acpx’i varsayılan Codex yolu yapma
+- zaten PI çalışma zamanı kaydetmiş mevcut oturumları anında değiştirme
+- OpenClaw kanal teslimini, oturum dosyalarını, kimlik doğrulama profili depolamasını veya ileti yönlendirmeyi değiştirme
+
+Aynı Plugin yerel `/codex` sohbet denetim komut yüzeyini de yönetir. Plugin etkinse ve kullanıcı sohbetten Codex iş parçacıklarını bağlamayı, sürdürmeyi, yönlendirmeyi, durdurmayı veya incelemeyi isterse aracılar ACP yerine `/codex ...` tercih etmelidir. ACP, kullanıcı ACP/acpx istediğinde veya ACP Codex bağdaştırıcısını test ettiğinde açık yedek olarak kalır.
+
+Yerel Codex turları, OpenClaw Plugin kancalarını genel uyumluluk katmanı olarak korur. Bunlar süreç içi OpenClaw kancalarıdır, Codex `hooks.json` komut kancaları değildir:
+
+- `before_prompt_build`
+- `before_compaction`, `after_compaction`
+- `llm_input`, `llm_output`
+- `before_tool_call`, `after_tool_call`
+- `before_message_write` yansıtılmış transkript kayıtları için
+- Codex `Stop` aktarıcısı üzerinden `before_agent_finalize`
+- `agent_end`
+
+Plugin’ler, OpenClaw aracı yürüttükten sonra ve sonuç Codex’e döndürülmeden önce OpenClaw dinamik araç sonuçlarını yeniden yazmak için çalışma zamanı nötr araç sonucu ara yazılımı da kaydedebilir. Bu, OpenClaw’a ait transkript araç sonucu yazımlarını dönüştüren genel `tool_result_persist` Plugin kancasından ayrıdır.
+
+Plugin kancası semantiğinin kendisi için [Plugin kancaları](/tr/plugins/hooks) ve [Plugin koruma davranışı](/tr/tools/plugin) sayfalarına bakın.
+
+Düzenek varsayılan olarak kapalıdır. Yeni yapılandırmalar OpenAI model ref’lerini
+`openai/gpt-*` olarak kanonik tutmalı ve yerel app-server yürütmesi istediklerinde
+`agentRuntime.id: "codex"` veya `OPENCLAW_AGENT_RUNTIME=codex` değerini açıkça zorlamalıdır. Eski `codex/*` model ref’leri uyumluluk için düzeneği hâlâ otomatik seçer, ancak çalışma zamanı destekli eski sağlayıcı önekleri normal model/sağlayıcı seçenekleri olarak gösterilmez.
+
+`codex` Plugin’i etkinse ancak birincil model hâlâ `openai-codex/*` ise, `openclaw doctor` rotayı değiştirmek yerine uyarı verir. Bu kasıtlıdır: `openai-codex/*` PI Codex OAuth/abonelik yolu olarak kalır ve yerel app-server yürütmesi açık bir çalışma zamanı seçimi olarak kalır.
+
+## Rota haritası
+
+Yapılandırmayı değiştirmeden önce bu tabloyu kullanın:
+
+| İstenen davranış | Model ref | Çalışma zamanı yapılandırması | Plugin gereksinimi | Beklenen durum etiketi |
+| ---------------------------------------- | -------------------------- | --------------------------------------- | --------------------------- | ------------------------------ |
+| Normal OpenClaw çalıştırıcısı üzerinden OpenAI API | `openai/gpt-*` | atlanmış veya `runtime: "pi"` | OpenAI sağlayıcısı | `Runtime: OpenClaw Pi Default` |
+| PI üzerinden Codex OAuth/abonelik | `openai-codex/gpt-*` | atlanmış veya `runtime: "pi"` | OpenAI Codex OAuth sağlayıcısı | `Runtime: OpenClaw Pi Default` |
+| Yerel Codex app-server gömülü turları | `openai/gpt-*` | `agentRuntime.id: "codex"` | `codex` Plugin’i | `Runtime: OpenAI Codex` |
+| Temkinli otomatik modla karışık sağlayıcılar | sağlayıcıya özgü ref’ler | `agentRuntime.id: "auto"` | İsteğe bağlı Plugin çalışma zamanları | Seçilen çalışma zamanına bağlı |
+| Açık Codex ACP bağdaştırıcı oturumu | ACP istem/model bağımlı | `runtime: "acp"` ile `sessions_spawn` | sağlıklı `acpx` arka ucu | ACP görev/oturum durumu |
+
+Önemli ayrım sağlayıcı ile çalışma zamanı arasındadır:
+
+- `openai-codex/*` "PI hangi sağlayıcı/kimlik doğrulama rotasını kullanmalı?" sorusunu yanıtlar
+- `agentRuntime.id: "codex"` "bu gömülü turu hangi döngü yürütmeli?" sorusunu yanıtlar
+- `/codex ...` "bu sohbet hangi yerel Codex konuşmasını bağlamalı veya denetlemeli?" sorusunu yanıtlar
+- ACP "acpx hangi harici düzenek sürecini başlatmalı?" sorusunu yanıtlar
+
+## Doğru model önekini seçin
+
+OpenAI ailesi rotaları öneke özeldir. PI üzerinden Codex OAuth istediğinizde `openai-codex/*` kullanın; doğrudan OpenAI API erişimi istediğinizde veya yerel Codex app-server düzeneğini zorlarken `openai/*` kullanın:
+
+| Model ref | Çalışma zamanı yolu | Ne zaman kullanılır |
+| --------------------------------------------- | ------------------------------------------- | -------------------------------------------------------------------------- |
+| `openai/gpt-5.4` | OpenClaw/PI tesisatı üzerinden OpenAI sağlayıcısı | `OPENAI_API_KEY` ile güncel doğrudan OpenAI Platform API erişimi istediğinizde. |
+| `openai-codex/gpt-5.5` | OpenClaw/PI üzerinden OpenAI Codex OAuth | Varsayılan PI çalıştırıcısıyla ChatGPT/Codex abonelik kimlik doğrulaması istediğinizde. |
+| `openai/gpt-5.5` + `agentRuntime.id: "codex"` | Codex app-server düzeneği | Gömülü aracı turu için yerel Codex app-server yürütmesi istediğinizde. |
+
+GPT-5.5 şu anda OpenClaw’da yalnızca abonelik/OAuth ile kullanılabilir. PI OAuth için `openai-codex/gpt-5.5` veya Codex app-server düzeneğiyle `openai/gpt-5.5` kullanın. `openai/gpt-5.5` için doğrudan API anahtarı erişimi, OpenAI GPT-5.5’i genel API’de etkinleştirdiğinde desteklenir.
+
+Eski `codex/gpt-*` ref’leri uyumluluk takma adları olarak kabul edilmeye devam eder. Doctor uyumluluk migrasyonu eski birincil çalışma zamanı ref’lerini kanonik model ref’lerine yeniden yazar ve çalışma zamanı politikasını ayrı kaydeder; yalnızca yedek olan eski ref’ler ise değiştirilmeden bırakılır çünkü çalışma zamanı tüm aracı kapsayıcısı için yapılandırılır. Yeni PI Codex OAuth yapılandırmaları `openai-codex/gpt-*` kullanmalıdır; yeni yerel app-server düzeneği yapılandırmaları `openai/gpt-*` artı `agentRuntime.id: "codex"` kullanmalıdır.
+
+`agents.defaults.imageModel` aynı önek ayrımını izler. Görüntü anlama OpenAI Codex OAuth sağlayıcı yolu üzerinden çalışmalıysa `openai-codex/gpt-*` kullanın. Görüntü anlama sınırlı bir Codex app-server turu üzerinden çalışmalıysa `codex/gpt-*` kullanın. Codex app-server modeli görüntü girişi desteği ilan etmelidir; yalnızca metin Codex modelleri medya turu başlamadan önce başarısız olur.
+
+Geçerli oturum için etkin düzeneği doğrulamak üzere `/status` kullanın. Seçim şaşırtıcıysa `agents/harness` alt sistemi için hata ayıklama günlüğünü etkinleştirin ve Gateway’in yapılandırılmış `agent harness selected` kaydını inceleyin. Bu kayıt seçilen düzenek kimliğini, seçim nedenini, çalışma zamanı/yedek politikasını ve `auto` modunda her Plugin adayının destek sonucunu içerir.
+
+### Doctor uyarıları ne anlama gelir
+
+`openclaw doctor`, bunların tümü doğru olduğunda uyarı verir:
+
+- birlikte verilen `codex` Plugin’i etkin veya izinli
+- bir aracının birincil modeli `openai-codex/*`
+- o aracının etkin çalışma zamanı `codex` değil
+
+Bu uyarı vardır çünkü kullanıcılar genellikle "Codex Plugin etkin" ifadesinin "yerel Codex app-server çalışma zamanı" anlamına gelmesini bekler. OpenClaw bu sıçramayı yapmaz. Uyarı şu anlama gelir:
+
+- PI üzerinden ChatGPT/Codex OAuth amaçladıysanız **değişiklik gerekmez**.
+- Yerel app-server yürütmesi amaçladıysanız modeli `openai/` olarak değiştirin ve
+ `agentRuntime.id: "codex"` ayarlayın.
+- Mevcut oturumlar, çalışma zamanı değişikliğinden sonra hâlâ `/new` veya `/reset` gerektirir,
+ çünkü oturum çalışma zamanı sabitlemeleri yapışkandır.
+
+Düzenek seçimi canlı oturum denetimi değildir. Gömülü bir tur çalıştığında OpenClaw, seçilen düzenek kimliğini o oturuma kaydeder ve aynı oturum kimliğindeki sonraki turlar için onu kullanmaya devam eder. Gelecekteki oturumların başka bir düzenek kullanmasını istediğinizde `agentRuntime` yapılandırmasını veya `OPENCLAW_AGENT_RUNTIME` değerini değiştirin; mevcut bir konuşmayı PI ile Codex arasında değiştirmeden önce yeni bir oturum başlatmak için `/new` veya `/reset` kullanın. Bu, bir transkriptin iki uyumsuz yerel oturum sistemi üzerinden yeniden oynatılmasını önler.
+
+Düzenek sabitlemelerinden önce oluşturulan eski oturumlar, transkript geçmişleri olduğunda PI’ye sabitlenmiş kabul edilir. Yapılandırmayı değiştirdikten sonra o konuşmayı Codex’e almak için `/new` veya `/reset` kullanın.
+
+`/status` etkin model çalışma zamanını gösterir. Varsayılan PI düzeneği `Runtime: OpenClaw Pi Default` olarak, Codex app-server düzeneği ise `Runtime: OpenAI Codex` olarak görünür.
+
+## Gereksinimler
+
+- Birlikte verilen `codex` Plugin’i kullanılabilir olan OpenClaw.
+- Codex app-server `0.125.0` veya daha yenisi. Birlikte verilen Plugin varsayılan olarak uyumlu bir Codex app-server ikilisini yönetir, bu nedenle `PATH` üzerindeki yerel `codex` komutları normal düzenek başlatmasını etkilemez.
+- app-server süreci veya OpenClaw’ın Codex kimlik doğrulama köprüsü için kullanılabilir Codex kimlik doğrulaması. Yerel app-server başlatmaları her aracı için OpenClaw tarafından yönetilen bir Codex home ve yalıtılmış bir alt `HOME` kullanır, bu nedenle varsayılan olarak kişisel `~/.codex` hesabınızı, Skills öğelerinizi, Plugin’lerinizi, yapılandırmanızı, iş parçacığı durumunuzu veya yerel `$HOME/.agents/skills` öğelerini okumaz.
+
+Plugin, daha eski veya sürümlenmemiş app-server el sıkışmalarını engeller. Bu, OpenClaw’ın test edildiği protokol yüzeyinde kalmasını sağlar.
+
+Canlı ve Docker smoke testleri için kimlik doğrulama genellikle Codex CLI hesabından veya bir OpenClaw `openai-codex` kimlik doğrulama profilinden gelir. Yerel stdio app-server başlatmaları, hesap yoksa `CODEX_API_KEY` / `OPENAI_API_KEY` değerlerine de geri dönebilir.
+
+## Diğer modellerin yanına Codex ekleyin
+
+Aynı ajanın Codex ve Codex dışı sağlayıcı modelleri arasında serbestçe geçiş yapması gerekiyorsa `agentRuntime.id: "codex"` değerini genel olarak ayarlamayın. Zorunlu runtime, o ajan veya oturum için her gömülü dönüşe uygulanır. Bu runtime zorunluyken bir Anthropic modeli seçerseniz OpenClaw yine Codex çalıştırma düzeneğini dener ve o dönüşü sessizce PI üzerinden yönlendirmek yerine kapalı şekilde başarısız olur.
+
+Bunun yerine şu yapılardan birini kullanın:
+
+- Codex'i `agentRuntime.id: "codex"` ile ayrılmış bir ajana koyun.
+- Normal karma sağlayıcı kullanımı için varsayılan ajanı `agentRuntime.id: "auto"` üzerinde ve PI yedeğiyle tutun.
+- Eski `codex/*` başvurularını yalnızca uyumluluk için kullanın. Yeni yapılandırmalar `openai/*` ile açık bir Codex runtime ilkesini tercih etmelidir.
+
+Örneğin bu yapı, varsayılan ajanı normal otomatik seçimde tutar ve ayrı bir Codex ajanı ekler:
```json5
{
@@ -229,39 +224,33 @@ ayrı bir Codex aracı ekler:
}
```
-Bu biçimle:
+Bu yapıyla:
-- Varsayılan `main` aracı normal sağlayıcı yolunu ve PI uyumluluk fallback'ini kullanır.
-- `codex` aracı Codex uygulama sunucusu harness'ını kullanır.
-- Codex `codex` aracı için eksik veya desteklenmiyorsa dönüş, sessizce PI kullanmak
- yerine başarısız olur.
+- Varsayılan `main` ajanı normal sağlayıcı yolunu ve PI uyumluluk yedeğini kullanır.
+- `codex` ajanı Codex uygulama sunucusu çalıştırma düzeneğini kullanır.
+- Codex, `codex` ajanı için eksik veya desteklenmiyorsa dönüş sessizce PI kullanmak yerine başarısız olur.
-## Araç komutu yönlendirme
+## Ajan komutu yönlendirme
-Araçlar kullanıcı isteklerini yalnızca "Codex" sözcüğüne göre değil, amaca göre yönlendirmelidir:
+Ajanlar kullanıcı isteklerini yalnızca "Codex" sözcüğüne göre değil, niyete göre yönlendirmelidir:
-| Kullanıcı şunu ister... | Araç şunu kullanmalıdır... |
+| Kullanıcı şunu ister... | Ajan şunu kullanmalıdır... |
| -------------------------------------------------------- | ------------------------------------------------ |
| "Bu sohbeti Codex'e bağla" | `/codex bind` |
-| "Codex iş parçacığı `` burada sürdürülsün" | `/codex resume ` |
-| "Codex iş parçacıklarını göster" | `/codex threads` |
-| "Kötü bir Codex çalışması için destek raporu oluştur" | `/diagnostics [note]` |
-| "Yalnızca bu ekli iş parçacığı için Codex geri bildirimi gönder" | `/codex diagnostics [note]` |
-| "Bu araç için çalışma zamanı olarak Codex kullan" | `agentRuntime.id` için yapılandırma değişikliği |
-| "Normal OpenClaw ile ChatGPT/Codex aboneliğimi kullan" | `openai-codex/*` model başvuruları |
+| "Codex dizisi `` burada sürdür" | `/codex resume ` |
+| "Codex dizilerini göster" | `/codex threads` |
+| "Kötü bir Codex çalıştırması için destek raporu oluştur" | `/diagnostics [note]` |
+| "Yalnızca bu ekli dizi için Codex geri bildirimi gönder" | `/codex diagnostics [note]` |
+| "Bu ajan için runtime olarak Codex kullan" | `agentRuntime.id` için yapılandırma değişikliği |
+| "Normal OpenClaw ile ChatGPT/Codex aboneliğimi kullan" | `openai-codex/*` model başvuruları |
| "Codex'i ACP/acpx üzerinden çalıştır" | ACP `sessions_spawn({ runtime: "acp", ... })` |
-| "Claude Code/Gemini/OpenCode/Cursor'ı bir iş parçacığında başlat" | ACP/acpx, `/codex` değil ve yerel alt araçlar değil |
+| "Bir dizide Claude Code/Gemini/OpenCode/Cursor başlat" | ACP/acpx, `/codex` değil ve yerel alt ajanlar değil |
-OpenClaw, ACP spawn kılavuzunu araçlara yalnızca ACP etkin,
-gönderilebilir ve yüklü bir çalışma zamanı arka ucu tarafından destekleniyorsa duyurur.
-ACP kullanılabilir değilse, sistem prompt'u ve Plugin Skills araca ACP
-yönlendirmesini öğretmemelidir.
+OpenClaw, ACP oluşturma rehberliğini ajanlara yalnızca ACP etkinse, dağıtılabiliyorsa ve yüklenmiş bir runtime arka ucu tarafından destekleniyorsa duyurur. ACP kullanılamıyorsa sistem istemi ve Plugin Skills ajana ACP yönlendirmesi öğretmemelidir.
## Yalnızca Codex dağıtımları
-Her gömülü araç dönüşünün Codex kullandığını kanıtlamanız gerektiğinde Codex harness'ını
-zorunlu kılın. Açık Plugin çalışma zamanları varsayılan olarak PI fallback olmadan gelir, bu yüzden
-`fallback: "none"` isteğe bağlıdır ancak çoğu zaman belgelendirme açısından yararlıdır:
+Her gömülü ajan dönüşünün Codex kullandığını kanıtlamanız gerektiğinde Codex çalıştırma düzeneğini zorunlu kılın. Açık Plugin runtime'ları varsayılan olarak PI yedeği kullanmaz, bu yüzden `fallback: "none"` isteğe bağlıdır ama çoğu zaman belgelendirme için yararlıdır:
```json5
{
@@ -283,14 +272,11 @@ Ortam geçersiz kılması:
OPENCLAW_AGENT_RUNTIME=codex openclaw gateway run
```
-Codex zorunlu kılındığında, Codex Plugin devre dışıysa, uygulama sunucusu
-çok eskiyse veya uygulama sunucusu başlatılamıyorsa OpenClaw erken başarısız olur.
-`OPENCLAW_AGENT_HARNESS_FALLBACK=pi` değerini yalnızca eksik harness seçimini
-bilerek PI'ın işlemesini istiyorsanız ayarlayın.
+Codex zorunlu olduğunda, Codex Plugin'i devre dışıysa, uygulama sunucusu çok eskiyse veya uygulama sunucusu başlatılamıyorsa OpenClaw erken başarısız olur. `OPENCLAW_AGENT_HARNESS_FALLBACK=pi` değerini yalnızca eksik çalıştırma düzeneği seçimini PI'ın işlemesini bilerek istiyorsanız ayarlayın.
-## Araç bazında Codex
+## Ajan başına Codex
-Varsayılan araç normal otomatik seçimi korurken bir aracı yalnızca Codex yapabilirsiniz:
+Varsayılan ajan normal otomatik seçimi korurken bir ajanı yalnızca Codex yapabilirsiniz:
```json5
{
@@ -321,16 +307,11 @@ Varsayılan araç normal otomatik seçimi korurken bir aracı yalnızca Codex ya
}
```
-Araçlar ve modeller arasında geçiş yapmak için normal oturum komutlarını kullanın.
-`/new` yeni bir OpenClaw oturumu oluşturur ve Codex harness'ı gerektiğinde kendi
-sidecar uygulama sunucusu iş parçacığını oluşturur veya sürdürür. `/reset`, o iş parçacığı için
-OpenClaw oturum bağlamasını temizler ve bir sonraki dönüşün harness'ı geçerli
-yapılandırmadan yeniden çözmesine izin verir.
+Ajanlar ve modeller arasında geçiş yapmak için normal oturum komutlarını kullanın. `/new` yeni bir OpenClaw oturumu oluşturur ve Codex çalıştırma düzeneği gerektiğinde kendi yardımcı uygulama sunucusu dizisini oluşturur veya sürdürür. `/reset`, o dizi için OpenClaw oturumu bağını temizler ve sonraki dönüşün çalıştırma düzeneğini geçerli yapılandırmadan yeniden çözmesine izin verir.
## Model keşfi
-Varsayılan olarak Codex Plugin, mevcut modelleri uygulama sunucusundan ister. Keşif
-başarısız olur veya zaman aşımına uğrarsa şu modeller için paketlenmiş fallback kataloğunu kullanır:
+Varsayılan olarak Codex Plugin'i kullanılabilir modeller için uygulama sunucusuna sorar. Keşif başarısız olursa veya zaman aşımına uğrarsa şu modeller için paketlenmiş yedek kataloğu kullanır:
- GPT-5.5
- GPT-5.4 mini
@@ -356,8 +337,7 @@ Keşfi `plugins.entries.codex.config.discovery` altında ayarlayabilirsiniz:
}
```
-Başlangıcın Codex'i yoklamasını önlemek ve fallback kataloğuna bağlı kalmak
-istediğinizde keşfi devre dışı bırakın:
+Başlatmanın Codex'i yoklamasından kaçınmasını ve yedek kataloğa bağlı kalmasını istediğinizde keşfi devre dışı bırakın:
```json5
{
@@ -376,7 +356,7 @@ istediğinizde keşfi devre dışı bırakın:
}
```
-## Uygulama sunucusu bağlantısı ve politika
+## Uygulama sunucusu bağlantısı ve ilkesi
Varsayılan olarak Plugin, OpenClaw'ın yönetilen Codex ikilisini yerel olarak şununla başlatır:
@@ -384,20 +364,12 @@ Varsayılan olarak Plugin, OpenClaw'ın yönetilen Codex ikilisini yerel olarak
codex app-server --listen stdio://
```
-Yönetilen ikili, paketlenmiş bir Plugin çalışma zamanı bağımlılığı olarak bildirilir ve
-diğer `codex` Plugin bağımlılıklarıyla birlikte hazırlanır. Bu, uygulama sunucusu
-sürümünü yerel olarak kurulu olabilecek ayrı Codex CLI yerine paketlenmiş Plugin'e
-bağlı tutar. `appServer.command` değerini yalnızca bilerek farklı bir çalıştırılabilir
-dosya çalıştırmak istediğinizde ayarlayın.
+Yönetilen ikili, paketlenmiş Plugin runtime bağımlılığı olarak bildirilir ve diğer `codex` Plugin bağımlılıklarıyla birlikte hazırlanır. Bu, uygulama sunucusu sürümünü yerelde ayrı olarak kurulu olan herhangi bir Codex CLI yerine paketlenmiş Plugin'e bağlı tutar. `appServer.command` değerini yalnızca farklı bir yürütülebilir dosyayı bilerek çalıştırmak istediğinizde ayarlayın.
-Varsayılan olarak OpenClaw, yerel Codex harness oturumlarını YOLO modunda başlatır:
-`approvalPolicy: "never"`, `approvalsReviewer: "user"` ve
-`sandbox: "danger-full-access"`. Bu, otonom Heartbeat'ler için kullanılan güvenilir
-yerel operatör duruşudur: Codex, yanıtlayacak kimse yokken yerel onay prompt'larında
-durmadan shell ve ağ araçlarını kullanabilir.
+Varsayılan olarak OpenClaw yerel Codex çalıştırma düzeneği oturumlarını YOLO modunda başlatır: `approvalPolicy: "never"`, `approvalsReviewer: "user"` ve `sandbox: "danger-full-access"`. Bu, özerk Heartbeat'ler için kullanılan güvenilir yerel operatör duruşudur: Codex, yanıtlayacak kimse yokken yerel onay istemlerinde durmadan kabuk ve ağ araçlarını kullanabilir.
-Codex guardian tarafından incelenen onaylara katılmak için `appServer.mode:
-"guardian"` değerini ayarlayın:
+Codex koruyucu tarafından incelenen onayları etkinleştirmek için `appServer.mode:
+"guardian"` ayarlayın:
```json5
{
@@ -417,19 +389,9 @@ Codex guardian tarafından incelenen onaylara katılmak için `appServer.mode:
}
```
-Guardian modu, Codex'in yerel otomatik inceleme onay yolunu kullanır. Codex
-sandbox dışına çıkmayı, çalışma alanı dışına yazmayı veya ağ erişimi gibi izinler
-eklemeyi istediğinde, Codex bu onay isteğini insan prompt'u yerine yerel inceleyiciye
-yönlendirir. İnceleyici Codex'in risk çerçevesini uygular ve belirli isteği onaylar
-veya reddeder. YOLO modundan daha fazla koruma istediğiniz ancak yine de gözetimsiz
-araçların ilerlemesini sağlamak zorunda olduğunuzda Guardian kullanın.
+Koruyucu modu Codex'in yerel otomatik inceleme onay yolunu kullanır. Codex sanal alandan çıkmayı, çalışma alanı dışına yazmayı veya ağ erişimi gibi izinler eklemeyi istediğinde Codex bu onay isteğini insan istemi yerine yerel inceleyiciye yönlendirir. İnceleyici Codex'in risk çerçevesini uygular ve belirli isteği onaylar veya reddeder. YOLO modundan daha fazla koruma istediğiniz ama yine de gözetimsiz ajanların ilerleme kaydetmesi gerektiği durumlarda Koruyucu'yu kullanın.
-`guardian` hazır ayarı `approvalPolicy: "on-request"`,
-`approvalsReviewer: "auto_review"` ve `sandbox: "workspace-write"` olarak genişler.
-Tek tek politika alanları yine de `mode` değerini geçersiz kılar, böylece ileri düzey
-dağıtımlar hazır ayarı açık seçimlerle karıştırabilir. Eski `guardian_subagent`
-inceleyici değeri uyumluluk takma adı olarak hâlâ kabul edilir, ancak yeni yapılandırmalar
-`auto_review` kullanmalıdır.
+`guardian` ön ayarı `approvalPolicy: "on-request"`, `approvalsReviewer: "auto_review"` ve `sandbox: "workspace-write"` olarak genişler. Tek tek ilke alanları yine de `mode` değerini geçersiz kılar, bu yüzden gelişmiş dağıtımlar ön ayarı açık seçimlerle karıştırabilir. Daha eski `guardian_subagent` inceleyici değeri uyumluluk takma adı olarak hâlâ kabul edilir, ancak yeni yapılandırmalar `auto_review` kullanmalıdır.
Zaten çalışan bir uygulama sunucusu için WebSocket aktarımını kullanın:
@@ -453,49 +415,26 @@ Zaten çalışan bir uygulama sunucusu için WebSocket aktarımını kullanın:
}
```
-Stdio uygulama sunucusu başlatmaları varsayılan olarak OpenClaw'ın süreç ortamını devralır,
-ancak OpenClaw Codex uygulama sunucusu hesap köprüsünü sahiplenir ve hem
-`CODEX_HOME` hem de `HOME` değerlerini o aracın OpenClaw durumu altındaki araç bazlı
-dizinlere ayarlar. Codex'in kendi Skills yükleyicisi `$CODEX_HOME/skills` ve
-`$HOME/.agents/skills` dizinlerini okur, bu nedenle her iki değer de yerel uygulama sunucusu
-başlatmaları için yalıtılır. Bu, Codex'e yerel Skills, Plugins, yapılandırma, hesaplar
-ve iş parçacığı durumunun operatörün kişisel Codex CLI ana dizininden sızmak yerine
-OpenClaw aracına kapsamlanmasını sağlar.
+Stdio uygulama sunucusu başlatmaları varsayılan olarak OpenClaw'ın süreç ortamını devralır, ancak OpenClaw Codex uygulama sunucusu hesap köprüsüne sahiptir ve hem `CODEX_HOME` hem de `HOME` değerlerini o ajanın OpenClaw durumu altında ajan başına dizinlere ayarlar. Codex'in kendi skill yükleyicisi `$CODEX_HOME/skills` ve `$HOME/.agents/skills` konumlarını okur, bu yüzden yerel uygulama sunucusu başlatmaları için iki değer de yalıtılır. Bu, Codex'e özgü Skills, Plugin'ler, yapılandırma, hesaplar ve dizi durumunun operatörün kişisel Codex CLI ana dizininden sızmak yerine OpenClaw ajanı kapsamında kalmasını sağlar.
-OpenClaw Plugins ve OpenClaw Skills anlık görüntüleri yine OpenClaw'ın kendi
-Plugin kayıt defteri ve Skills yükleyicisi üzerinden akar. Kişisel Codex CLI varlıkları
-akmaz. Bir OpenClaw aracının parçası olması gereken yararlı Codex CLI Skills veya
-Plugins öğeleriniz varsa bunların envanterini açıkça çıkarın:
+OpenClaw Plugin'leri ve OpenClaw skill anlık görüntüleri yine de OpenClaw'ın kendi Plugin kayıt defteri ve skill yükleyicisinden geçer. Kişisel Codex CLI varlıkları geçmez. Bir OpenClaw ajanının parçası olması gereken yararlı Codex CLI Skills veya Plugin'leriniz varsa bunların envanterini açıkça çıkarın:
```bash
openclaw migrate codex --dry-run
openclaw migrate apply codex --yes
```
-Codex geçiş sağlayıcısı Skills öğelerini geçerli OpenClaw aracı çalışma alanına
-kopyalar. Codex yerel Plugins, hook'lar ve yapılandırma dosyaları otomatik olarak
-etkinleştirilmek yerine manuel inceleme için raporlanır veya arşivlenir, çünkü bunlar
-komut çalıştırabilir, MCP sunucuları açığa çıkarabilir veya kimlik bilgileri taşıyabilir.
+Codex geçiş sağlayıcısı Skills'i geçerli OpenClaw ajan çalışma alanına kopyalar. Codex yerel Plugin'leri, hook'ları ve yapılandırma dosyaları komut çalıştırabildikleri, MCP sunucuları açığa çıkarabildikleri veya kimlik bilgileri taşıyabildikleri için otomatik olarak etkinleştirilmek yerine manuel inceleme için raporlanır veya arşivlenir.
Kimlik doğrulama şu sırayla seçilir:
-1. Araç için açık bir OpenClaw Codex kimlik doğrulama profili.
-2. Uygulama sunucusunun o aracın Codex ana dizinindeki mevcut hesabı.
-3. Yalnızca yerel stdio uygulama sunucusu başlatmaları için, uygulama sunucusu hesabı
- yoksa ve OpenAI kimlik doğrulaması hâlâ gerekiyorsa `CODEX_API_KEY`, ardından
- `OPENAI_API_KEY`.
+1. Ajan için açık bir OpenClaw Codex kimlik doğrulama profili.
+2. Uygulama sunucusunun o ajanın Codex ana dizinindeki mevcut hesabı.
+3. Yalnızca yerel stdio uygulama sunucusu başlatmaları için, uygulama sunucusu hesabı yoksa ve OpenAI kimlik doğrulaması hâlâ gerekiyorsa `CODEX_API_KEY`, ardından `OPENAI_API_KEY`.
-OpenClaw, ChatGPT aboneliği tarzı bir Codex kimlik doğrulama profili gördüğünde
-oluşturulan Codex alt sürecinden `CODEX_API_KEY` ve `OPENAI_API_KEY` değerlerini kaldırır.
-Bu, Gateway düzeyindeki API anahtarlarını embeddings veya doğrudan OpenAI modelleri için
-kullanılabilir tutarken yerel Codex uygulama sunucusu dönüşlerinin yanlışlıkla API üzerinden
-faturalandırılmasını engeller. Açık Codex API anahtarı profilleri ve yerel stdio ortam anahtarı
-fallback'i, devralınmış alt süreç ortamı yerine uygulama sunucusu oturum açmasını kullanır.
-WebSocket uygulama sunucusu bağlantıları Gateway ortam API anahtarı fallback'i almaz;
-açık bir kimlik doğrulama profili veya uzak uygulama sunucusunun kendi hesabını kullanın.
+OpenClaw ChatGPT aboneliği tarzı bir Codex kimlik doğrulama profili gördüğünde, oluşturulan Codex alt sürecinden `CODEX_API_KEY` ve `OPENAI_API_KEY` değerlerini kaldırır. Bu, Gateway düzeyi API anahtarlarını gömmeler veya doğrudan OpenAI modelleri için kullanılabilir tutarken yerel Codex uygulama sunucusu dönüşlerinin yanlışlıkla API üzerinden faturalandırılmasını engeller. Açık Codex API anahtarı profilleri ve yerel stdio ortam anahtarı yedeği, devralınan alt süreç ortamı yerine uygulama sunucusu oturum açmasını kullanır. WebSocket uygulama sunucusu bağlantıları Gateway ortam API anahtarı yedeği almaz; açık bir kimlik doğrulama profili veya uzak uygulama sunucusunun kendi hesabını kullanın.
-Bir dağıtım ek ortam yalıtımına ihtiyaç duyuyorsa bu değişkenleri
-`appServer.clearEnv` değerine ekleyin:
+Bir dağıtım ek ortam yalıtımı gerektiriyorsa bu değişkenleri `appServer.clearEnv` değerine ekleyin:
```json5
{
@@ -518,35 +457,35 @@ Bir dağıtım ek ortam yalıtımına ihtiyaç duyuyorsa bu değişkenleri
Desteklenen `appServer` alanları:
-| Alan | Varsayılan | Anlam |
+| Alan | Varsayılan | Anlam |
| ------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
-| `transport` | `"stdio"` | `"stdio"` Codex'i başlatır; `"websocket"` `url`'ye bağlanır. |
-| `command` | yönetilen Codex ikilisi | stdio taşıması için yürütülebilir dosya. Yönetilen ikiliyi kullanmak için ayarlanmamış bırakın; yalnızca açık bir geçersiz kılma için ayarlayın. |
-| `args` | `["app-server", "--listen", "stdio://"]` | stdio taşıması için bağımsız değişkenler. |
-| `url` | ayarlanmamış | WebSocket app-server URL'si. |
-| `authToken` | ayarlanmamış | WebSocket taşıması için Bearer token. |
-| `headers` | `{}` | Ek WebSocket üstbilgileri. |
-| `clearEnv` | `[]` | OpenClaw devralınan ortamını oluşturduktan sonra başlatılan stdio app-server sürecinden kaldırılan ek ortam değişkeni adları. `CODEX_HOME` ve `HOME`, yerel başlatmalarda OpenClaw'ın aracı başına Codex yalıtımı için ayrılmıştır. |
-| `requestTimeoutMs` | `60000` | app-server denetim düzlemi çağrıları için zaman aşımı. |
-| `mode` | `"yolo"` | YOLO veya guardian incelemeli yürütme için ön ayar. |
-| `approvalPolicy` | `"never"` | İş parçacığı başlatma/sürdürme/turn işlemine gönderilen yerel Codex onay politikası. |
-| `sandbox` | `"danger-full-access"` | İş parçacığı başlatma/sürdürme işlemine gönderilen yerel Codex sandbox modu. |
-| `approvalsReviewer` | `"user"` | Codex'in yerel onay istemlerini incelemesine izin vermek için `"auto_review"` kullanın. `guardian_subagent` eski bir takma ad olarak kalır. |
-| `serviceTier` | ayarlanmamış | İsteğe bağlı Codex app-server hizmet katmanı: `"fast"`, `"flex"` veya `null`. Geçersiz eski değerler yok sayılır. |
+| `transport` | `"stdio"` | `"stdio"` Codex'i başlatır; `"websocket"` `url` adresine bağlanır. |
+| `command` | yönetilen Codex ikili dosyası | stdio aktarımı için çalıştırılabilir dosya. Yönetilen ikili dosyayı kullanmak için ayarlanmamış bırakın; yalnızca açık bir geçersiz kılma için ayarlayın. |
+| `args` | `["app-server", "--listen", "stdio://"]` | stdio aktarımı için argümanlar. |
+| `url` | ayarlanmamış | WebSocket app-server URL'si. |
+| `authToken` | ayarlanmamış | WebSocket aktarımı için Bearer token. |
+| `headers` | `{}` | Ek WebSocket üstbilgileri. |
+| `clearEnv` | `[]` | OpenClaw devralınan ortamını oluşturduktan sonra başlatılan stdio app-server işleminden kaldırılan ek ortam değişkeni adları. `CODEX_HOME` ve `HOME`, yerel başlatmalarda OpenClaw'ın ajan başına Codex izolasyonu için ayrılmıştır. |
+| `requestTimeoutMs` | `60000` | app-server kontrol düzlemi çağrıları için zaman aşımı. |
+| `mode` | `"yolo"` | YOLO veya koruyucu incelemeli yürütme için ön ayar. |
+| `approvalPolicy` | `"never"` | İplik başlatma/sürdürme/tur işlemlerine gönderilen yerel Codex onay ilkesi. |
+| `sandbox` | `"danger-full-access"` | İplik başlatma/sürdürme işlemlerine gönderilen yerel Codex sandbox modu. |
+| `approvalsReviewer` | `"user"` | Codex'in yerel onay istemlerini incelemesine izin vermek için `"auto_review"` kullanın. `guardian_subagent` eski bir diğer ad olarak kalır. |
+| `serviceTier` | ayarlanmamış | İsteğe bağlı Codex app-server hizmet katmanı: `"fast"`, `"flex"` veya `null`. Geçersiz eski değerler yok sayılır. |
OpenClaw'a ait dinamik araç çağrıları `appServer.requestTimeoutMs` değerinden
bağımsız olarak sınırlandırılır: her Codex `item/tool/call` isteği 30 saniye
-içinde bir OpenClaw yanıtı almalıdır. Zaman aşımında OpenClaw, desteklendiği
+içinde bir OpenClaw yanıtı almalıdır. Zaman aşımında OpenClaw, desteklenen
yerlerde araç sinyalini iptal eder ve Codex'e başarısız bir dinamik araç yanıtı
-döndürür; böylece oturumu `processing` durumunda bırakmak yerine turn devam
+döndürür; böylece oturum `processing` durumunda bırakılmak yerine tur devam
edebilir.
-OpenClaw, Codex turn kapsamlı bir app-server isteğine yanıt verdikten sonra,
-harness ayrıca Codex'in yerel turn işlemini `turn/completed` ile bitirmesini
-bekler. app-server bu yanıttan sonra 60 saniye sessiz kalırsa, OpenClaw en iyi
-çabayla Codex turn işlemini keser, tanısal bir zaman aşımı kaydeder ve OpenClaw
-oturum şeridini serbest bırakır; böylece takip sohbet mesajları bayat bir yerel
-turn arkasında kuyruğa alınmaz.
+OpenClaw bir Codex tur kapsamlı app-server isteğine yanıt verdikten sonra,
+test düzeneği Codex'in yerel turu `turn/completed` ile bitirmesini de bekler.
+app-server bu yanıttan sonra 60 saniye sessiz kalırsa OpenClaw en iyi çabayla
+Codex turunu keser, tanılama zaman aşımını kaydeder ve OpenClaw oturum hattını
+serbest bırakır; böylece takip eden sohbet iletileri eskimiş bir yerel turun
+arkasında kuyruğa alınmaz.
Yerel test için ortam geçersiz kılmaları kullanılabilir kalır:
@@ -556,34 +495,33 @@ Yerel test için ortam geçersiz kılmaları kullanılabilir kalır:
- `OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY`
- `OPENCLAW_CODEX_APP_SERVER_SANDBOX`
-`OPENCLAW_CODEX_APP_SERVER_BIN`, `appServer.command` ayarlanmamışken yönetilen
-ikiliyi atlar.
+`appServer.command` ayarlanmamışsa `OPENCLAW_CODEX_APP_SERVER_BIN` yönetilen
+ikili dosyayı atlar.
`OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1` kaldırıldı. Bunun yerine
`plugins.entries.codex.config.appServer.mode: "guardian"` kullanın veya tek
seferlik yerel test için `OPENCLAW_CODEX_APP_SERVER_MODE=guardian` kullanın.
-Tekrarlanabilir dağıtımlar için yapılandırma tercih edilir; çünkü Plugin
-davranışını Codex harness kurulumunun geri kalanıyla aynı incelenmiş dosyada
-tutar.
+Yinelenebilir dağıtımlar için yapılandırma tercih edilir; çünkü Plugin
+davranışını Codex test düzeneği kurulumunun geri kalanıyla aynı incelenen
+dosyada tutar.
## Bilgisayar kullanımı
-Computer Use kendi kurulum kılavuzunda ele alınır:
-[Codex Computer Use](/tr/plugins/codex-computer-use).
+Bilgisayar Kullanımı kendi kurulum kılavuzunda ele alınır:
+[Codex Bilgisayar Kullanımı](/tr/plugins/codex-computer-use).
-Kısa sürüm: OpenClaw masaüstü denetim uygulamasını vendor olarak içermez veya
-masaüstü eylemlerini kendisi yürütmez. Codex app-server'ı hazırlar,
-`computer-use` MCP sunucusunun kullanılabilir olduğunu doğrular ve ardından
-Codex modu turn işlemleri sırasında yerel MCP araç çağrılarını Codex'in
-yönetmesine izin verir.
+Kısa sürüm: OpenClaw masaüstü denetim uygulamasını dahil etmez veya masaüstü
+eylemlerini kendisi yürütmez. Codex app-server'ı hazırlar, `computer-use` MCP
+sunucusunun kullanılabilir olduğunu doğrular ve ardından Codex modu turlarında
+yerel MCP araç çağrılarını Codex'in işlemesine izin verir.
Codex marketplace akışı dışında doğrudan TryCua sürücü erişimi için
`openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'` ile
-`cua-driver mcp` kaydedin. Codex'e ait Computer Use ile doğrudan MCP kaydı
-arasındaki ayrım için [Codex Computer Use](/tr/plugins/codex-computer-use)
-sayfasına bakın.
+`cua-driver mcp` kaydedin. Codex'e ait Bilgisayar Kullanımı ile doğrudan MCP
+kaydı arasındaki ayrım için [Codex Bilgisayar Kullanımı](/tr/plugins/codex-computer-use)
+bölümüne bakın.
-En küçük yapılandırma:
+En düşük yapılandırma:
```json5
{
@@ -618,24 +556,24 @@ Kurulum komut yüzeyinden denetlenebilir veya kurulabilir:
- `/codex computer-use install --source `
- `/codex computer-use install --marketplace-path `
-Computer Use macOS'a özeldir ve Codex MCP sunucusu uygulamaları denetleyebilmeden
-önce yerel işletim sistemi izinleri gerektirebilir. `computerUse.enabled` true
-ise ve MCP sunucusu kullanılamıyorsa, Codex modu turn işlemleri yerel Computer
-Use araçları olmadan sessizce çalışmak yerine iş parçacığı başlamadan önce
-başarısız olur. Marketplace seçenekleri, uzak katalog sınırları, durum
-nedenleri ve sorun giderme için
-[Codex Computer Use](/tr/plugins/codex-computer-use) sayfasına bakın.
+Bilgisayar Kullanımı macOS'a özeldir ve Codex MCP sunucusu uygulamaları
+denetleyebilmeden önce yerel işletim sistemi izinleri gerektirebilir.
+`computerUse.enabled` true ise ve MCP sunucusu kullanılamıyorsa Codex modu
+turları, yerel Bilgisayar Kullanımı araçları olmadan sessizce çalışmak yerine
+iplik başlamadan önce başarısız olur. Marketplace seçenekleri, uzak katalog
+sınırları, durum nedenleri ve sorun giderme için
+[Codex Bilgisayar Kullanımı](/tr/plugins/codex-computer-use) bölümüne bakın.
-`computerUse.autoInstall` true olduğunda, Codex henüz yerel bir marketplace
-keşfetmediyse OpenClaw standart paketli Codex Desktop marketplace'ini
+`computerUse.autoInstall` true olduğunda OpenClaw, Codex henüz yerel bir
+marketplace keşfetmediyse standart paketli Codex Desktop marketplace'i
`/Applications/Codex.app/Contents/Resources/plugins/openai-bundled` konumundan
-kaydedebilir. Mevcut oturumların eski bir PI veya Codex iş parçacığı bağını
-korumaması için runtime veya Computer Use yapılandırmasını değiştirdikten sonra
-`/new` veya `/reset` kullanın.
+kaydedebilir. Çalışma zamanı veya Bilgisayar Kullanımı yapılandırmasını
+değiştirdikten sonra `/new` veya `/reset` kullanın; böylece mevcut oturumlar
+eski bir PI ya da Codex iplik bağını tutmaz.
## Yaygın tarifler
-Varsayılan stdio taşımasıyla yerel Codex:
+Varsayılan stdio aktarımıyla yerel Codex:
```json5
{
@@ -649,7 +587,7 @@ Varsayılan stdio taşımasıyla yerel Codex:
}
```
-Yalnızca Codex harness doğrulaması:
+Yalnızca Codex test düzeneği doğrulaması:
```json5
{
@@ -671,7 +609,7 @@ Yalnızca Codex harness doğrulaması:
}
```
-Guardian incelemeli Codex onayları:
+Koruyucu incelemeli Codex onayları:
```json5
{
@@ -693,7 +631,7 @@ Guardian incelemeli Codex onayları:
}
```
-Açık üstbilgilere sahip uzak app-server:
+Açık üstbilgilerle uzak app-server:
```json5
{
@@ -717,11 +655,10 @@ Açık üstbilgilere sahip uzak app-server:
```
Model değiştirme OpenClaw denetiminde kalır. Bir OpenClaw oturumu mevcut bir
-Codex iş parçacığına bağlı olduğunda, sonraki turn seçili OpenAI modelini,
-sağlayıcıyı, onay politikasını, sandbox'ı ve hizmet katmanını app-server'a
-yeniden gönderir. `openai/gpt-5.5` modelinden `openai/gpt-5.2` modeline geçmek
-iş parçacığı bağını korur ancak Codex'ten yeni seçilen modelle devam etmesini
-ister.
+Codex ipliğine eklendiğinde, sonraki tur o anda seçili OpenAI modelini,
+sağlayıcıyı, onay ilkesini, sandbox'ı ve hizmet katmanını app-server'a yeniden
+gönderir. `openai/gpt-5.5` modelinden `openai/gpt-5.2` modeline geçmek iplik
+bağını korur ancak Codex'ten yeni seçilen modelle devam etmesini ister.
## Codex komutu
@@ -730,50 +667,50 @@ Geneldir ve OpenClaw metin komutlarını destekleyen herhangi bir kanalda çalı
Yaygın biçimler:
-- `/codex status` canlı app-server bağlantısını, modelleri, hesabı, hız sınırlarını, MCP sunucularını ve skills öğelerini gösterir.
+- `/codex status` canlı app-server bağlantısını, modelleri, hesabı, hız sınırlarını, MCP sunucularını ve skills'i gösterir.
- `/codex models` canlı Codex app-server modellerini listeler.
-- `/codex threads [filter]` son Codex iş parçacıklarını listeler.
-- `/codex resume ` mevcut OpenClaw oturumunu var olan bir Codex iş parçacığına bağlar.
-- `/codex compact` Codex app-server'dan bağlı iş parçacığını sıkıştırmasını ister.
-- `/codex review` bağlı iş parçacığı için Codex yerel incelemesini başlatır.
-- `/codex diagnostics [note]` bağlı iş parçacığı için Codex tanılama geri bildirimi göndermeden önce sorar.
-- `/codex computer-use status` yapılandırılmış Computer Use Plugin'ini ve MCP sunucusunu denetler.
-- `/codex computer-use install` yapılandırılmış Computer Use Plugin'ini kurar ve MCP sunucularını yeniden yükler.
+- `/codex threads [filter]` son Codex ipliklerini listeler.
+- `/codex resume ` mevcut OpenClaw oturumunu var olan bir Codex ipliğine ekler.
+- `/codex compact` Codex app-server'dan ekli ipliği sıkıştırmasını ister.
+- `/codex review` ekli iplik için Codex yerel incelemesini başlatır.
+- `/codex diagnostics [note]` ekli iplik için Codex tanılama geri bildirimi göndermeden önce sorar.
+- `/codex computer-use status` yapılandırılmış Bilgisayar Kullanımı Plugin'ini ve MCP sunucusunu denetler.
+- `/codex computer-use install` yapılandırılmış Bilgisayar Kullanımı Plugin'ini kurar ve MCP sunucularını yeniden yükler.
- `/codex account` hesap ve hız sınırı durumunu gösterir.
- `/codex mcp` Codex app-server MCP sunucusu durumunu listeler.
-- `/codex skills` Codex app-server skills öğelerini listeler.
+- `/codex skills` Codex app-server skills'ini listeler.
### Yaygın hata ayıklama iş akışı
-Codex destekli bir aracı Telegram, Discord, Slack veya başka bir kanalda
-şaşırtıcı bir şey yaptığında, sorunun yaşandığı konuşmayla başlayın:
+Codex destekli bir ajan Telegram, Discord, Slack veya başka bir kanalda
+beklenmedik bir şey yaptığında, sorunun gerçekleştiği konuşmadan başlayın:
-1. Gördüğünüzü açıklayan `/diagnostics bad tool choice after image upload` veya
- başka bir kısa not çalıştırın.
-2. Tanılama isteğini bir kez onaylayın. Onay, yerel Gateway tanılama zip
- dosyasını oluşturur ve oturum Codex harness kullandığı için ilgili Codex geri
- bildirim paketini de OpenAI sunucularına gönderir.
-3. Tamamlanan tanılama yanıtını hata raporuna veya destek iş parçacığına
- kopyalayın. Yerel paket yolunu, gizlilik özetini, OpenClaw oturum
- kimliklerini, Codex iş parçacığı kimliklerini ve her Codex iş parçacığı için
- bir `Inspect locally` satırını içerir.
-4. Çalıştırmayı kendiniz hata ayıklamak istiyorsanız, yazdırılan
- `Inspect locally` komutunu bir terminalde çalıştırın. `codex resume `
- gibi görünür ve konuşmayı inceleyebilmeniz, yerel olarak sürdürebilmeniz veya
- Codex'e belirli bir aracı ya da planı neden seçtiğini sorabilmeniz için yerel
- Codex iş parçacığını açar.
+1. Gördüğünüz şeyi açıklayan `/diagnostics bad tool choice after image upload`
+ veya başka bir kısa not çalıştırın.
+2. Tanılama isteğini bir kez onaylayın. Onay yerel Gateway tanılama zip'ini
+ oluşturur ve oturum Codex test düzeneğini kullandığı için ilgili Codex geri
+ bildirim paketini OpenAI sunucularına da gönderir.
+3. Tamamlanan tanılama yanıtını hata raporuna veya destek ipliğine kopyalayın.
+ Yerel paket yolunu, gizlilik özetini, OpenClaw oturum kimliklerini, Codex
+ iplik kimliklerini ve her Codex ipliği için bir `Inspect locally` satırını
+ içerir.
+4. Çalıştırmayı kendiniz hata ayıklamak istiyorsanız yazdırılan `Inspect locally`
+ komutunu bir terminalde çalıştırın. `codex resume ` gibi görünür
+ ve yerel Codex ipliğini açar; böylece konuşmayı inceleyebilir, yerel olarak
+ sürdürebilir veya Codex'e belirli bir aracı ya da planı neden seçtiğini
+ sorabilirsiniz.
-`/codex diagnostics [note]` komutunu yalnızca tam OpenClaw Gateway tanılama paketi olmadan, o anda bağlı iş parçacığı için özel olarak Codex geri bildirim yüklemesini istediğinizde kullanın. Çoğu destek raporu için `/diagnostics [note]` daha iyi bir başlangıç noktasıdır çünkü yerel Gateway durumunu ve Codex iş parçacığı kimliklerini tek yanıtta bir araya getirir. Tam gizlilik modeli ve grup sohbeti davranışı için [Tanılama dışa aktarımı](/tr/gateway/diagnostics) bölümüne bakın.
+`/codex diagnostics [note]` komutunu yalnızca tam OpenClaw Gateway tanılama paketi olmadan, o anda ekli olan iş parçacığı için özellikle Codex geri bildirim yüklemesini istediğinizde kullanın. Çoğu destek raporu için `/diagnostics [note]` daha iyi bir başlangıç noktasıdır, çünkü yerel Gateway durumunu ve Codex iş parçacığı kimliklerini tek bir yanıtta ilişkilendirir. Tam gizlilik modeli ve grup sohbeti davranışı için [Tanılama dışa aktarımı](/tr/gateway/diagnostics) bölümüne bakın.
-Çekirdek OpenClaw ayrıca genel Gateway tanılama komutu olarak yalnızca sahiplerin kullanabildiği `/diagnostics [note]` komutunu sunar. Onay istemi hassas veri önsözünü gösterir, [Tanılama Dışa Aktarımı](/tr/gateway/diagnostics) bağlantısını verir ve her seferinde açık exec onayı yoluyla `openclaw gateway diagnostics export --json` ister. Tanılamaları tümüne izin veren bir kuralla onaylamayın. Onaydan sonra OpenClaw, yerel paket yolu ve manifest özetiyle birlikte yapıştırılabilir bir rapor gönderir. Etkin OpenClaw oturumu Codex harness'ını kullanıyorsa, aynı onay ilgili Codex geri bildirim paketlerinin OpenAI sunucularına gönderilmesine de izin verir. Onay istemi Codex geri bildiriminin gönderileceğini söyler, ancak onaydan önce Codex oturumu veya iş parçacığı kimliklerini listelemez.
+Çekirdek OpenClaw ayrıca genel Gateway tanılama komutu olarak yalnızca sahiplerin kullanabildiği `/diagnostics [note]` komutunu da sunar. Onay istemi hassas veri ön açıklamasını gösterir, [Tanılama Dışa Aktarımı](/tr/gateway/diagnostics) bağlantısını verir ve her seferinde açık exec onayıyla `openclaw gateway diagnostics export --json` isteğinde bulunur. Tanılamayı tümüne izin veren bir kuralla onaylamayın. Onaydan sonra OpenClaw, yerel paket yolunu ve manifest özetini içeren yapıştırılabilir bir rapor gönderir. Etkin OpenClaw oturumu Codex koşumunu kullandığında, aynı onay ilgili Codex geri bildirim paketlerinin OpenAI sunucularına gönderilmesine de yetki verir. Onay istemi Codex geri bildiriminin gönderileceğini söyler, ancak onaydan önce Codex oturum veya iş parçacığı kimliklerini listelemez.
-`/diagnostics` bir grup sohbetinde bir sahip tarafından çağrılırsa, OpenClaw paylaşılan kanalı temiz tutar: grup yalnızca kısa bir bildirim alırken tanılama önsözü, onay istemleri ve Codex oturum/iş parçacığı kimlikleri özel onay rotası üzerinden sahibe gönderilir. Özel sahip rotası yoksa OpenClaw grup isteğini reddeder ve sahibin bunu bir DM'den çalıştırmasını ister.
+Bir sahip grup sohbetinde `/diagnostics` komutunu çağırırsa OpenClaw paylaşılan kanalı temiz tutar: grup yalnızca kısa bir bildirim alırken, tanılama ön açıklaması, onay istemleri ve Codex oturum/iş parçacığı kimlikleri özel onay rotası üzerinden sahibine gönderilir. Özel sahip rotası yoksa OpenClaw grup isteğini reddeder ve sahibinden bunu bir DM üzerinden çalıştırmasını ister.
-Onaylanan Codex yüklemesi Codex app-server `feedback/upload` çağrısı yapar ve app-server'dan, mümkün olduğunda listelenen her iş parçacığı ve oluşturulmuş Codex alt iş parçacıkları için günlükleri dahil etmesini ister. Yükleme, Codex'in normal geri bildirim yolu üzerinden OpenAI sunucularına gider; bu app-server'da Codex geri bildirimi devre dışıysa komut app-server hatasını döndürür. Tamamlanan tanılama yanıtı, gönderilen iş parçacıkları için kanalları, OpenClaw oturum kimliklerini, Codex iş parçacığı kimliklerini ve yerel `codex resume ` komutlarını listeler. Onayı reddeder veya yok sayarsanız OpenClaw bu Codex kimliklerini yazdırmaz. Bu yükleme yerel Gateway tanılama dışa aktarımının yerini almaz.
+Onaylanan Codex yüklemesi Codex app-server `feedback/upload` çağrısını yapar ve app-server'dan, kullanılabilir olduğunda listelenen her iş parçacığı ve oluşturulmuş Codex alt iş parçacıkları için günlükleri dahil etmesini ister. Yükleme, Codex'in normal geri bildirim yolu üzerinden OpenAI sunucularına gider; o app-server'da Codex geri bildirimi devre dışıysa komut app-server hatasını döndürür. Tamamlanan tanılama yanıtı, gönderilen iş parçacıkları için kanalları, OpenClaw oturum kimliklerini, Codex iş parçacığı kimliklerini ve yerel `codex resume ` komutlarını listeler. Onayı reddeder veya yok sayarsanız OpenClaw bu Codex kimliklerini yazdırmaz. Bu yükleme yerel Gateway tanılama dışa aktarımının yerine geçmez.
-`/codex resume`, harness'ın normal turlarda kullandığı aynı yan dosya bağlama dosyasını yazar. Bir sonraki mesajda OpenClaw bu Codex iş parçacığını sürdürür, o anda seçili OpenClaw modelini app-server'a geçirir ve genişletilmiş geçmişi etkin tutar.
+`/codex resume`, koşumun normal turlarda kullandığı aynı sidecar bağlama dosyasını yazar. Sonraki iletide OpenClaw o Codex iş parçacığını sürdürür, seçili OpenClaw modelini app-server'a geçirir ve genişletilmiş geçmişi etkin tutar.
-### CLI'dan bir Codex iş parçacığını inceleme
+### CLI'dan bir Codex iş parçacığını inceleyin
Kötü bir Codex çalıştırmasını anlamanın en hızlı yolu çoğu zaman yerel Codex iş parçacığını doğrudan açmaktır:
@@ -781,156 +718,162 @@ Kötü bir Codex çalıştırmasını anlamanın en hızlı yolu çoğu zaman ye
codex resume
```
-Bunu bir kanal konuşmasında hata fark ettiğinizde ve sorunlu Codex oturumunu incelemek, yerelde devam ettirmek veya Codex'e neden belirli bir araç ya da akıl yürütme seçimi yaptığını sormak istediğinizde kullanın. En kolay yol genellikle önce `/diagnostics [note]` çalıştırmaktır: onayladıktan sonra tamamlanan rapor her Codex iş parçacığını listeler ve örneğin `codex resume ` gibi bir `Yerelde incele` komutu yazdırır. Bu komutu doğrudan bir terminale kopyalayabilirsiniz.
+Bunu, bir kanal konuşmasında hata fark ettiğinizde ve sorunlu Codex oturumunu incelemek, yerelde sürdürmek veya Codex'e neden belirli bir araç ya da akıl yürütme seçimi yaptığını sormak istediğinizde kullanın. En kolay yol genellikle önce `/diagnostics [note]` çalıştırmaktır: onayladıktan sonra tamamlanan rapor her Codex iş parçacığını listeler ve örneğin `codex resume ` gibi bir `Inspect locally` komutu yazdırır. Bu komutu doğrudan bir terminale kopyalayabilirsiniz.
Geçerli sohbet için `/codex binding` komutundan veya son Codex app-server iş parçacıkları için `/codex threads [filter]` komutundan da bir iş parçacığı kimliği alabilir, ardından kabuğunuzda aynı `codex resume` komutunu çalıştırabilirsiniz.
-Komut yüzeyi Codex app-server `0.125.0` veya daha yenisini gerektirir. Gelecekteki ya da özel bir app-server ilgili JSON-RPC yöntemini sunmuyorsa, tekil kontrol yöntemleri `unsupported by this Codex app-server` olarak bildirilir.
+Komut yüzeyi Codex app-server `0.125.0` veya daha yenisini gerektirir. Gelecekteki veya özel bir app-server bu JSON-RPC yöntemini sunmuyorsa, tekil denetim yöntemleri `unsupported by this Codex app-server` olarak raporlanır.
-## Hook sınırları
+## Kanca sınırları
-Codex harness'ında üç hook katmanı vardır:
+Codex koşumunda üç kanca katmanı vardır:
-| Katman | Sahip | Amaç |
-| ------------------------------------- | ------------------------ | ------------------------------------------------------------------- |
-| OpenClaw Plugin hook'ları | OpenClaw | PI ve Codex harness'ları genelinde ürün/Plugin uyumluluğu. |
-| Codex app-server uzantı middleware'i | OpenClaw paketli Plugin'ler | OpenClaw dinamik araçları çevresinde tur başına adaptör davranışı. |
-| Codex yerel hook'ları | Codex | Codex yapılandırmasından düşük seviyeli Codex yaşam döngüsü ve yerel araç ilkesi. |
+| Katman | Sahip | Amaç |
+| ------------------------------------- | ------------------------ | --------------------------------------------------------------------- |
+| OpenClaw Plugin kancaları | OpenClaw | PI ve Codex koşumları genelinde ürün/Plugin uyumluluğu. |
+| Codex app-server uzantı ara katmanı | OpenClaw paketli Plugin'ler | OpenClaw dinamik araçları etrafında tur başına bağdaştırıcı davranışı. |
+| Codex yerel kancaları | Codex | Codex yapılandırmasından düşük düzey Codex yaşam döngüsü ve yerel araç ilkesi. |
-OpenClaw, OpenClaw Plugin davranışını yönlendirmek için proje veya global Codex `hooks.json` dosyalarını kullanmaz. Desteklenen yerel araç ve izin köprüsü için OpenClaw, `PreToolUse`, `PostToolUse`, `PermissionRequest` ve `Stop` için iş parçacığı başına Codex yapılandırması enjekte eder. `SessionStart` ve `UserPromptSubmit` gibi diğer Codex hook'ları Codex düzeyi kontroller olarak kalır; v1 sözleşmesinde OpenClaw Plugin hook'ları olarak sunulmazlar.
+OpenClaw, OpenClaw Plugin davranışını yönlendirmek için proje veya genel Codex `hooks.json` dosyalarını kullanmaz. Desteklenen yerel araç ve izin köprüsü için OpenClaw, `PreToolUse`, `PostToolUse`, `PermissionRequest` ve `Stop` için iş parçacığı başına Codex yapılandırması enjekte eder. `SessionStart` ve `UserPromptSubmit` gibi diğer Codex kancaları Codex düzeyi denetimler olarak kalır; v1 sözleşmesinde OpenClaw Plugin kancaları olarak sunulmazlar.
-OpenClaw dinamik araçları için OpenClaw, Codex çağrıyı istedikten sonra aracı çalıştırır; bu nedenle OpenClaw, harness adaptöründe kendisine ait Plugin ve middleware davranışını tetikler. Codex'e yerel araçlar için kanonik araç kaydının sahibi Codex'tir. OpenClaw seçili olayları yansıtabilir, ancak Codex bu işlemi app-server veya yerel hook geri çağrıları üzerinden sunmadıkça yerel Codex iş parçacığını yeniden yazamaz.
+OpenClaw dinamik araçları için OpenClaw, Codex çağrıyı istedikten sonra aracı yürütür; bu nedenle OpenClaw, koşum bağdaştırıcısında sahibi olduğu Plugin ve ara katman davranışını tetikler. Codex'e özgü yerel araçlar için kanonik araç kaydının sahibi Codex'tir. OpenClaw seçili olayları yansıtabilir, ancak Codex bu işlemi app-server veya yerel kanca geri çağrıları üzerinden sunmadıkça yerel Codex iş parçacığını yeniden yazamaz.
-Compaction ve LLM yaşam döngüsü projeksiyonları yerel Codex hook komutlarından değil, Codex app-server bildirimlerinden ve OpenClaw adaptör durumundan gelir. OpenClaw'ın `before_compaction`, `after_compaction`, `llm_input` ve `llm_output` olayları adaptör düzeyi gözlemlerdir; Codex'in dahili istek veya compaction yüklerinin bayt bayt yakalanmış halleri değildir.
+Compaction ve LLM yaşam döngüsü izdüşümleri, yerel Codex kanca komutlarından değil Codex app-server bildirimlerinden ve OpenClaw bağdaştırıcı durumundan gelir. OpenClaw'ın `before_compaction`, `after_compaction`, `llm_input` ve `llm_output` olayları bağdaştırıcı düzeyi gözlemlerdir; Codex'in iç isteğinin veya Compaction yüklerinin bayt bayt yakalamaları değildir.
-Codex yerel `hook/started` ve `hook/completed` app-server bildirimleri, izlek ve hata ayıklama için `codex_app_server.hook` ajan olayları olarak projekte edilir. Bunlar OpenClaw Plugin hook'larını çağırmaz.
+Codex yerel `hook/started` ve `hook/completed` app-server bildirimleri, yörünge ve hata ayıklama için `codex_app_server.hook` ajan olayları olarak yansıtılır. Bunlar OpenClaw Plugin kancalarını çağırmaz.
## V1 destek sözleşmesi
-Codex modu, altında farklı bir model çağrısı olan PI değildir. Codex yerel model döngüsünün daha büyük kısmına sahiptir ve OpenClaw Plugin ile oturum yüzeylerini bu sınır çevresinde uyarlar.
+Codex modu, altında farklı bir model çağrısı olan PI değildir. Codex yerel model döngüsünün daha büyük bir bölümünün sahibidir ve OpenClaw Plugin ve oturum yüzeylerini bu sınıra göre uyarlar.
-Codex runtime v1'de desteklenenler:
+Codex runtime v1'de desteklenir:
-| Yüzey | Destek | Neden |
-| -------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
-| Codex üzerinden OpenAI model döngüsü | Desteklenir | Codex app-server OpenAI turuna, yerel iş parçacığı sürdürmeye ve yerel araç devamına sahiptir. |
-| OpenClaw kanal yönlendirme ve teslim | Desteklenir | Telegram, Discord, Slack, WhatsApp, iMessage ve diğer kanallar model runtime'ının dışında kalır. |
-| OpenClaw dinamik araçları | Desteklenir | Codex, OpenClaw'dan bu araçları çalıştırmasını ister; bu nedenle OpenClaw yürütme yolunda kalır. |
-| İstem ve bağlam Plugin'leri | Desteklenir | OpenClaw, iş parçacığını başlatmadan veya sürdürmeden önce istem katmanları oluşturur ve bağlamı Codex turuna projekte eder. |
-| Bağlam motoru yaşam döngüsü | Desteklenir | Derleme, alma veya tur sonrası bakım ve bağlam motoru compaction koordinasyonu Codex turları için çalışır. |
-| Dinamik araç hook'ları | Desteklenir | `before_tool_call`, `after_tool_call` ve araç sonucu middleware'i OpenClaw'a ait dinamik araçların çevresinde çalışır. |
-| Yaşam döngüsü hook'ları | Adaptör gözlemleri olarak desteklenir | `llm_input`, `llm_output`, `agent_end`, `before_compaction` ve `after_compaction` dürüst Codex modu yükleriyle tetiklenir. |
-| Nihai yanıt revizyon kapısı | Yerel hook aktarımı üzerinden desteklenir | Codex `Stop`, `before_agent_finalize` olayına aktarılır; `revise`, sonlandırmadan önce Codex'ten bir model geçişi daha ister. |
-| Yerel shell, patch ve MCP engelleme veya gözlem | Yerel hook aktarımı üzerinden desteklenir | Codex `PreToolUse` ve `PostToolUse`, Codex app-server `0.125.0` veya daha yenisindeki MCP yükleri dahil olmak üzere taahhüt edilmiş yerel araç yüzeyleri için aktarılır. Engelleme desteklenir; argüman yeniden yazma desteklenmez. |
-| Yerel izin ilkesi | Yerel hook aktarımı üzerinden desteklenir | Codex `PermissionRequest`, runtime'ın sunduğu yerlerde OpenClaw ilkesi üzerinden yönlendirilebilir. OpenClaw karar döndürmezse Codex normal guardian veya kullanıcı onayı yolundan devam eder. |
-| App-server izlek yakalama | Desteklenir | OpenClaw, app-server'a gönderdiği isteği ve aldığı app-server bildirimlerini kaydeder. |
+| Yüzey | Destek | Neden |
+| --------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Codex üzerinden OpenAI model döngüsü | Desteklenir | Codex app-server OpenAI turunun, yerel iş parçacığı sürdürmenin ve yerel araç devamının sahibidir. |
+| OpenClaw kanal yönlendirme ve teslimi | Desteklenir | Telegram, Discord, Slack, WhatsApp, iMessage ve diğer kanallar model runtime'ının dışında kalır. |
+| OpenClaw dinamik araçları | Desteklenir | Codex, OpenClaw'dan bu araçları yürütmesini ister; bu nedenle OpenClaw yürütme yolunda kalır. |
+| İstem ve bağlam Plugin'leri | Desteklenir | OpenClaw, iş parçacığını başlatmadan veya sürdürmeden önce istem örtülerini oluşturur ve bağlamı Codex turuna yansıtır. |
+| Bağlam motoru yaşam döngüsü | Desteklenir | Birleştirme, içe alma veya tur sonrası bakım ve bağlam motoru Compaction koordinasyonu Codex turları için çalışır. |
+| Dinamik araç kancaları | Desteklenir | `before_tool_call`, `after_tool_call` ve araç sonucu ara katmanı, OpenClaw'ın sahibi olduğu dinamik araçların etrafında çalışır. |
+| Yaşam döngüsü kancaları | Bağdaştırıcı gözlemleri olarak desteklenir | `llm_input`, `llm_output`, `agent_end`, `before_compaction` ve `after_compaction` dürüst Codex modu yükleriyle tetiklenir. |
+| Son yanıt revizyon kapısı | Yerel kanca aktarıcısı üzerinden desteklenir | Codex `Stop`, `before_agent_finalize` öğesine aktarılır; `revise`, sonlandırmadan önce Codex'ten bir model geçişi daha ister. |
+| Yerel kabuk, yama ve MCP engelleme veya gözlemleme | Yerel kanca aktarıcısı üzerinden desteklenir | Codex `PreToolUse` ve `PostToolUse`, Codex app-server `0.125.0` veya daha yenisindeki MCP yükleri dahil olmak üzere işlenmiş yerel araç yüzeyleri için aktarılır. Engelleme desteklenir; argüman yeniden yazma desteklenmez. |
+| Yerel izin ilkesi | Yerel kanca aktarıcısı üzerinden desteklenir | Codex `PermissionRequest`, runtime bunu sunduğunda OpenClaw ilkesi üzerinden yönlendirilebilir. OpenClaw karar döndürmezse Codex normal koruyucu veya kullanıcı onay yolundan devam eder. |
+| App-server yörünge yakalama | Desteklenir | OpenClaw, app-server'a gönderdiği isteği ve aldığı app-server bildirimlerini kaydeder. |
-Codex runtime v1'de desteklenmeyenler:
+Codex runtime v1'de desteklenmez:
| Yüzey | V1 sınırı | Gelecek yol |
| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- |
-| Yerel araç bağımsız değişken mutasyonu | Codex yerel araç öncesi kancaları engelleyebilir, ancak OpenClaw Codex'e özgü yerel araç bağımsız değişkenlerini yeniden yazmaz. | Değiştirilecek araç girdisi için Codex kanca/şema desteği gerektirir. |
-| Düzenlenebilir Codex'e özgü yerel transkript geçmişi | Kanonik yerel iş parçacığı geçmişinin sahibi Codex'tir. OpenClaw bir aynaya sahiptir ve gelecekteki bağlamı yansıtabilir, ancak desteklenmeyen iç yapıları değiştirmemelidir. | Yerel iş parçacığı cerrahisi gerekiyorsa açık Codex app-server API'leri ekleyin. |
-| Codex'e özgü yerel araç kayıtları için `tool_result_persist` | Bu kanca, Codex'e özgü yerel araç kayıtlarını değil, OpenClaw'ın sahip olduğu transkript yazmalarını dönüştürür. | Dönüştürülmüş kayıtları aynalayabilir, ancak kanonik yeniden yazma Codex desteği gerektirir. |
-| Zengin yerel compaction meta verisi | OpenClaw compaction başlangıcını ve tamamlanmasını gözlemler, ancak kararlı bir tutuldu/çıkarıldı listesi, token farkı veya özet yükü almaz. | Daha zengin Codex compaction olayları gerekir. |
-| Compaction müdahalesi | Geçerli OpenClaw compaction kancaları Codex modunda bildirim düzeyindedir. | Plugin'lerin yerel compaction'ı veto etmesi veya yeniden yazması gerekiyorsa Codex compaction öncesi/sonrası kancaları ekleyin. |
-| Model API isteğinin bayt bayt yakalanması | OpenClaw app-server isteklerini ve bildirimlerini yakalayabilir, ancak Codex çekirdeği nihai OpenAI API isteğini dahili olarak oluşturur. | Bir Codex model isteği izleme olayı veya hata ayıklama API'si gerekir. |
+| Yerel araç argümanı mutasyonu | Codex yerel araç öncesi kancaları engelleyebilir, ancak OpenClaw Codex'e özgü yerel araç argümanlarını yeniden yazmaz. | Değiştirilecek araç girdisi için Codex kanca/şema desteği gerektirir. |
+| Düzenlenebilir Codex'e özgü yerel transkript geçmişi | Codex, kanonik yerel iş parçacığı geçmişine sahiptir. OpenClaw bir aynaya sahiptir ve gelecekteki bağlamı yansıtabilir, ancak desteklenmeyen dahili yapıları değiştirmemelidir. | Yerel iş parçacığı cerrahisi gerekiyorsa açık Codex app-server API'leri ekleyin. |
+| Codex'e özgü yerel araç kayıtları için `tool_result_persist` | Bu kanca, Codex'e özgü yerel araç kayıtlarını değil, OpenClaw'a ait transkript yazımlarını dönüştürür. | Dönüştürülmüş kayıtları aynalayabilir, ancak kanonik yeniden yazım Codex desteği gerektirir. |
+| Zengin yerel Compaction meta verisi | OpenClaw Compaction başlangıcını ve tamamlanmasını gözlemler, ancak kararlı bir tutuldu/bırakıldı listesi, token farkı veya özet yükü almaz. | Daha zengin Codex Compaction olayları gerekir. |
+| Compaction müdahalesi | Mevcut OpenClaw Compaction kancaları Codex modunda bildirim düzeyindedir. | Plugin'lerin yerel Compaction'ı veto etmesi veya yeniden yazması gerekiyorsa Codex ön/son Compaction kancaları ekleyin. |
+| Bayt bayt model API isteği yakalama | OpenClaw app-server isteklerini ve bildirimlerini yakalayabilir, ancak Codex çekirdeği nihai OpenAI API isteğini dahili olarak oluşturur. | Bir Codex model isteği izleme olayı veya hata ayıklama API'si gerekir. |
-## Araçlar, medya ve compaction
+## Araçlar, medya ve Compaction
Codex harness yalnızca düşük düzeyli gömülü ajan yürütücüsünü değiştirir.
-OpenClaw araç listesini oluşturmaya ve harness'tan dinamik araç sonuçları almaya
-devam eder. Metin, görseller, video, müzik, TTS, onaylar ve mesajlaşma aracı çıktısı
-normal OpenClaw teslimat yolu üzerinden devam eder.
+OpenClaw yine de araç listesini oluşturur ve harness'ten dinamik araç sonuçlarını
+alır. Metin, görüntüler, video, müzik, TTS, onaylar ve mesajlaşma aracı çıktısı
+normal OpenClaw teslim yolundan geçmeye devam eder.
Yerel kanca aktarıcısı kasıtlı olarak geneldir, ancak v1 destek sözleşmesi
-OpenClaw'ın test ettiği Codex'e özgü yerel araç ve izin yollarıyla sınırlıdır. Codex
-runtime'ında buna shell, patch ve MCP `PreToolUse`,
-`PostToolUse` ve `PermissionRequest` yükleri dahildir. Runtime sözleşmesi adını
-verene kadar gelecekteki her Codex kanca olayının bir OpenClaw Plugin yüzeyi
+OpenClaw'ın test ettiği Codex'e özgü yerel araç ve izin yollarıyla sınırlıdır.
+Codex çalışma zamanında buna shell, patch ve MCP `PreToolUse`,
+`PostToolUse` ve `PermissionRequest` yükleri dahildir. Çalışma zamanı sözleşmesi
+adını verene kadar gelecekteki her Codex kanca olayının bir OpenClaw Plugin yüzeyi
olduğunu varsaymayın.
-`PermissionRequest` için OpenClaw yalnızca ilke karar verdiğinde açık izin verme
-veya reddetme kararları döndürür. Kararsız sonuç izin verme değildir. Codex bunu
-kanca kararı yok olarak ele alır ve kendi guardian veya kullanıcı onayı yoluna düşer.
+`PermissionRequest` için OpenClaw yalnızca politika karar verdiğinde açık izin
+veya ret kararları döndürür. Kararsız sonuç bir izin değildir. Codex bunu kanca
+kararı yok olarak değerlendirir ve kendi koruyucusuna veya kullanıcı onayı yoluna
+devreder.
Codex MCP araç onayı istemleri, Codex `_meta.codex_approval_kind` değerini
`"mcp_tool_call"` olarak işaretlediğinde OpenClaw'ın Plugin onay akışı üzerinden
yönlendirilir. Codex `request_user_input` istemleri kaynak sohbete geri gönderilir
ve sıradaki bir sonraki takip mesajı, ek bağlam olarak yönlendirilmek yerine bu
-yerel sunucu isteğini yanıtlar. Diğer MCP istem istekleri yine kapalı başarısız olur.
+yerel sunucu isteğini yanıtlar. Diğer MCP isteme istekleri yine kapalı şekilde
+başarısız olur.
-Etkin çalışma kuyruğu yönlendirmesi Codex app-server `turn/steer` üzerine eşlenir.
-Varsayılan `messages.queue.mode: "steer"` ile OpenClaw sıraya alınmış sohbet mesajlarını
-yapılandırılmış sessizlik penceresi boyunca toplar ve bunları varış sırasıyla tek bir
-`turn/steer` isteği olarak gönderir. Eski `queue` modu ayrı `turn/steer` istekleri
-gönderir. Codex inceleme ve manuel compaction turları aynı tur yönlendirmesini reddedebilir;
-bu durumda OpenClaw, seçili mod geri dönüşe izin verdiğinde takip kuyruğunu kullanır. Bkz.
+Etkin çalışma kuyruğu yönlendirmesi Codex app-server `turn/steer` ile eşlenir.
+Varsayılan `messages.queue.mode: "steer"` ile OpenClaw, yapılandırılmış sessiz
+pencere boyunca kuyruktaki sohbet mesajlarını toplar ve bunları geliş sırasına
+göre tek bir `turn/steer` isteği olarak gönderir. Eski `queue` modu ayrı
+`turn/steer` istekleri gönderir. Codex inceleme ve manuel Compaction turları aynı
+tur yönlendirmesini reddedebilir; bu durumda seçilen mod geri dönüşe izin
+veriyorsa OpenClaw takip kuyruğunu kullanır. Bkz.
[Yönlendirme kuyruğu](/tr/concepts/queue-steering).
-Seçili model Codex harness kullandığında, yerel iş parçacığı compaction'ı
-Codex app-server'a devredilir. OpenClaw kanal geçmişi, arama, `/new`, `/reset` ve
-gelecekteki model veya harness değişimleri için bir transkript aynası tutar. Ayna,
-app-server bunları yaydığında kullanıcı istemini, son asistan metnini ve hafif
+Seçilen model Codex harness kullandığında, yerel iş parçacığı Compaction'ı
+Codex app-server'a devredilir. OpenClaw kanal geçmişi, arama, `/new`, `/reset`
+ve gelecekteki model veya harness geçişi için bir transkript aynası tutar. Ayna,
+kullanıcı istemini, son asistan metnini ve app-server bunları yaydığında hafif
Codex akıl yürütme veya plan kayıtlarını içerir. Bugün OpenClaw yalnızca yerel
-compaction başlangıç ve tamamlanma sinyallerini kaydeder. Henüz insan tarafından
-okunabilir bir compaction özeti veya Codex'in compaction sonrasında hangi girdileri
-tuttuğuna dair denetlenebilir bir liste sunmaz.
+Compaction başlangıç ve tamamlanma sinyallerini kaydeder. Henüz insan tarafından
+okunabilir bir Compaction özeti veya Codex'in Compaction sonrasında hangi
+girdileri tuttuğuna dair denetlenebilir bir liste sunmaz.
-Kanonik yerel iş parçacığının sahibi Codex olduğundan, `tool_result_persist` şu anda
-Codex'e özgü yerel araç sonucu kayıtlarını yeniden yazmaz. Yalnızca OpenClaw,
+Kanonik yerel iş parçacığı Codex'e ait olduğundan, `tool_result_persist` şu anda
+Codex'e özgü yerel araç sonuç kayıtlarını yeniden yazmaz. Yalnızca OpenClaw,
OpenClaw'a ait bir oturum transkripti araç sonucu yazarken uygulanır.
-Medya üretimi PI gerektirmez. Görsel, video, müzik, PDF, TTS ve medya anlama
+Medya üretimi PI gerektirmez. Görüntü, video, müzik, PDF, TTS ve medya anlama
`agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` ve
`messages.tts` gibi eşleşen sağlayıcı/model ayarlarını kullanmaya devam eder.
## Sorun giderme
-**Codex normal bir `/model` sağlayıcısı olarak görünmüyor:** bu, yeni
-yapılandırmalar için beklenen durumdur. `agentRuntime.id: "codex"` ile bir
-`openai/gpt-*` modeli (veya eski bir `codex/*` başvurusu) seçin,
-`plugins.entries.codex.enabled` değerini etkinleştirin ve `plugins.allow` değerinin
-`codex` öğesini hariç tutup tutmadığını kontrol edin.
+**Codex normal bir `/model` sağlayıcısı olarak görünmüyor:** yeni yapılandırmalar
+için bu beklenir. `agentRuntime.id: "codex"` ile bir `openai/gpt-*` modeli
+(veya eski bir `codex/*` referansı) seçin, `plugins.entries.codex.enabled`
+öğesini etkinleştirin ve `plugins.allow` öğesinin `codex` değerini dışlayıp
+dışlamadığını kontrol edin.
-**OpenClaw Codex yerine PI kullanıyor:** `agentRuntime.id: "auto"`, çalışmayı hiçbir
-Codex harness sahiplenmediğinde uyumluluk arka ucu olarak PI kullanmaya devam edebilir.
-Test sırasında Codex seçimini zorlamak için `agentRuntime.id: "codex"` olarak ayarlayın.
-Zorlanmış Codex runtime artık PI'ya geri dönmek yerine başarısız olur; bunu yalnızca
-açıkça `agentRuntime.fallback: "pi"` ayarlarsanız yapar. Codex app-server seçildikten
-sonra, hataları ek geri dönüş yapılandırması olmadan doğrudan yüzeye çıkar.
+**OpenClaw Codex yerine PI kullanıyor:** `agentRuntime.id: "auto"` hiçbir Codex
+harness çalışmayı üstlenmediğinde uyumluluk arka ucu olarak hâlâ PI kullanabilir.
+Test sırasında Codex seçimini zorlamak için `agentRuntime.id: "codex"` ayarlayın.
+Zorlanan bir Codex çalışma zamanı artık, açıkça `agentRuntime.fallback: "pi"`
+ayarlamadığınız sürece PI'ye geri dönmek yerine başarısız olur. Codex app-server
+seçildikten sonra hataları ek geri dönüş yapılandırması olmadan doğrudan görünür.
-**app-server reddediliyor:** Codex'i yükseltin; app-server el sıkışması
-`0.125.0` veya daha yeni sürümü bildirmelidir. Aynı sürümlü ön sürümler veya
+**app-server reddediliyor:** app-server el sıkışmasının `0.125.0` veya daha yeni
+sürüm bildirmesi için Codex'i yükseltin. Aynı sürümün ön sürümleri veya
`0.125.0-alpha.2` ya da `0.125.0+custom` gibi derleme sonekli sürümler reddedilir,
çünkü OpenClaw'ın test ettiği kararlı protokol tabanı `0.125.0` sürümüdür.
**Model keşfi yavaş:** `plugins.entries.codex.config.discovery.timeoutMs` değerini
düşürün veya keşfi devre dışı bırakın.
-**WebSocket aktarımı hemen başarısız oluyor:** `appServer.url`, `authToken` ve
-uzak app-server'ın aynı Codex app-server protokol sürümünü konuştuğunu kontrol edin.
+**WebSocket taşıması hemen başarısız oluyor:** `appServer.url`, `authToken` ve
+uzak app-server'ın aynı Codex app-server protokol sürümünü konuştuğunu kontrol
+edin.
-**Codex olmayan bir model PI kullanıyor:** bu, o ajan için
-`agentRuntime.id: "codex"` değerini zorlamadıysanız veya eski bir `codex/*` başvurusu
-seçmediyseniz beklenen durumdur. Düz `openai/gpt-*` ve diğer sağlayıcı başvuruları
-`auto` modunda normal sağlayıcı yolunda kalır. `agentRuntime.id: "codex"` değerini
-zorlarsanız, o ajan için her gömülü turun Codex destekli bir OpenAI modeli olması gerekir.
+**Codex olmayan bir model PI kullanıyor:** bu, söz konusu ajan için
+`agentRuntime.id: "codex"` zorlamadığınız veya eski bir `codex/*` referansı
+seçmediğiniz sürece beklenir. Düz `openai/gpt-*` ve diğer sağlayıcı referansları
+`auto` modunda normal sağlayıcı yollarında kalır. `agentRuntime.id: "codex"`
+zorlarsanız, o ajan için her gömülü turun Codex tarafından desteklenen bir OpenAI
+modeli olması gerekir.
-**Computer Use kurulu ancak araçlar çalışmıyor:** yeni bir oturumdan
-`/codex computer-use status` komutunu kontrol edin. Bir araç
-`Native hook relay unavailable` bildirirse `/new` veya `/reset` kullanın; devam ederse,
-eski yerel kanca kayıtlarını temizlemek için gateway'i yeniden başlatın. `computer-use.list_apps`
-zaman aşımına uğrarsa Codex Computer Use veya Codex Desktop'ı yeniden başlatıp tekrar deneyin.
+**Computer Use yüklü ancak araçlar çalışmıyor:** yeni bir oturumdan
+`/codex computer-use status` öğesini kontrol edin. Bir araç
+`Native hook relay unavailable` bildirirse `/new` veya `/reset` kullanın; devam
+ederse eski yerel kanca kayıtlarını temizlemek için Gateway'i yeniden başlatın.
+`computer-use.list_apps` zaman aşımına uğrarsa Codex Computer Use veya Codex
+Desktop'ı yeniden başlatıp tekrar deneyin.
## İlgili
- [Ajan harness Plugin'leri](/tr/plugins/sdk-agent-harness)
-- [Ajan runtime'ları](/tr/concepts/agent-runtimes)
+- [Ajan çalışma zamanları](/tr/concepts/agent-runtimes)
- [Model sağlayıcıları](/tr/concepts/model-providers)
- [OpenAI sağlayıcısı](/tr/providers/openai)
- [Durum](/tr/cli/status)
- [Plugin kancaları](/tr/plugins/hooks)
-- [Yapılandırma başvurusu](/tr/gateway/configuration-reference)
+- [Yapılandırma referansı](/tr/gateway/configuration-reference)
- [Test etme](/tr/help/testing-live#live-codex-app-server-harness-smoke)
diff --git a/docs/tr/plugins/dependency-resolution.md b/docs/tr/plugins/dependency-resolution.md
new file mode 100644
index 000000000..f386304f3
--- /dev/null
+++ b/docs/tr/plugins/dependency-resolution.md
@@ -0,0 +1,152 @@
+---
+read_when:
+ - Birlikte gelen Plugin çalışma zamanı bağımlılığı onarımında hata ayıklıyorsunuz
+ - Plugin başlatma, doctor veya paket yöneticisi kurulum davranışını değiştiriyorsunuz
+ - Paketlenmiş OpenClaw kurulumlarının veya birlikte gelen Plugin manifestlerinin bakımını yapıyorsunuz
+sidebarTitle: Dependencies
+summary: OpenClaw, paketle birlikte gelen Plugin çalışma zamanı bağımlılıklarını nasıl planlar, hazırlar ve onarır
+title: Plugin bağımlılık çözümlemesi
+x-i18n:
+ generated_at: "2026-05-01T09:03:01Z"
+ model: gpt-5.5
+ provider: openai
+ source_hash: e09245c2b7e2f1fb2a61d64f0f9dc77e7df7da58fd71608c391e3865345b7bc9
+ source_path: plugins/dependency-resolution.md
+ workflow: 16
+---
+
+OpenClaw, paket kurulum zamanında her birlikte gelen Plugin bağımlılık ağacını kurmaz. Önce yapılandırma ve Plugin meta verilerinden etkili bir Plugin planı çıkarır, ardından yalnızca planın gerçekten yükleyebileceği, birlikte gelen OpenClaw’a ait Pluginler için çalışma zamanı bağımlılıklarını hazırlar.
+
+Bu sayfa, birlikte gelen OpenClaw Pluginleri için paketlenmiş çalışma zamanı bağımlılıklarını kapsar. Üçüncü taraf Pluginler ve özel Plugin yolları yine `openclaw plugins install` ve `openclaw plugins update` gibi açık Plugin kurulum komutlarını kullanır.
+
+## Sorumluluk ayrımı
+
+OpenClaw planın ve politikanın sahibidir:
+
+- bu yapılandırma için hangi Pluginlerin etkin olduğu
+- hangi bağımlılık köklerinin yazılabilir veya salt okunur olduğu
+- onarıma ne zaman izin verildiği
+- başlangıç için hangi Plugin kimliklerinin hazırlandığı
+- Plugin çalışma zamanı modüllerini içe aktarmadan önceki son kontroller
+
+Paket yöneticisi bağımlılık yakınsamasının sahibidir:
+
+- paket grafiği çözümlemesi
+- üretim, isteğe bağlı ve eş bağımlılık işleme
+- `node_modules` düzeni
+- paket bütünlüğü
+- kilit ve kurulum meta verileri
+
+Pratikte OpenClaw neyin var olması gerektiğine karar vermelidir. `pnpm` veya `npm` dosya sistemini bu kararla eşleştirmelidir.
+
+OpenClaw ayrıca kurulum kökü başına koordinasyon kilidinin sahibidir. Paket yöneticileri kendi kurulum işlemlerini korur, ancak OpenClaw’ın manifest yazımlarını, yalıtılmış hazırlama kopyalama/yeniden adlandırma işlemini, son doğrulamayı veya Plugin içe aktarmayı aynı çalışma zamanı bağımlılık köküne dokunan başka bir Gateway, doctor ya da CLI sürecine karşı sıraya koymaz.
+
+## Etkili Plugin planı
+
+Etkili Plugin planı, yapılandırma ve keşfedilen Plugin meta verilerinden türetilir. Bu girdiler birlikte gelen Plugin çalışma zamanı bağımlılıklarını etkinleştirebilir:
+
+- `plugins.entries..enabled`
+- `plugins.allow`, `plugins.deny` ve `plugins.enabled`
+- `channels.telegram.enabled` gibi eski kanal yapılandırması
+- bir Plugin gerektiren yapılandırılmış sağlayıcılar, modeller veya CLI arka uç referansları
+- `enabledByDefault` gibi birlikte gelen manifest varsayılanları
+- kurulu Plugin dizini ve birlikte gelen manifest meta verileri
+
+Açık devre dışı bırakma önceliklidir. Devre dışı bırakılmış bir Plugin, reddedilmiş Plugin kimliği, devre dışı bırakılmış Plugin sistemi veya devre dışı bırakılmış kanal çalışma zamanı bağımlılığı onarımını tetiklemez. Kalıcı kimlik doğrulama durumu tek başına birlikte gelen bir kanalı veya sağlayıcıyı da etkinleştirmez.
+
+Plugin planı kararlı girdidir. Oluşturulan bağımlılık somutlaştırması bu planın çıktısıdır.
+
+## Başlangıç akışı
+
+Gateway başlangıcı, Plugin çalışma zamanı modülleri yüklenmeden önce yapılandırmayı ayrıştırır ve başlangıç Plugin arama tablosunu oluşturur. Ardından başlangıç, yalnızca bu plan tarafından seçilen `startupPluginIds` için çalışma zamanı bağımlılıklarını hazırlar.
+
+Paketlenmiş kurulumlarda, bağımlılık hazırlamaya Plugin içe aktarmadan önce izin verilir. Hazırlamadan sonra çalışma zamanı yükleyicisi, kurulum onarımı devre dışı olacak şekilde başlangıç Pluginlerini içe aktarır; bu noktada eksik bağımlılık somutlaştırması başka bir onarım döngüsü değil, yükleme hatası olarak ele alınır.
+
+Başlangıç bağımlılığı hazırlama HTTP bağlamasının arkasına ertelendiğinde, seçilen başlangıç Plugin bağımlılıkları somutlaştırılana ve başlangıç Plugin çalışma zamanı yüklenene kadar Gateway hazır olma durumu `plugin-runtime-deps` nedeni üzerinde engelli kalır.
+
+## Onarım ne zaman çalışır
+
+Çalışma zamanı bağımlılığı onarımı şunlardan biri doğru olduğunda çalışmalıdır:
+
+- etkili Plugin planı değişmiş ve çalışma zamanı bağımlılıklarına ihtiyaç duyan birlikte gelen Pluginler eklemiştir
+- oluşturulan bağımlılık manifesti artık etkili planla eşleşmiyordur
+- beklenen kurulu paket sentinel’leri eksik veya tamamlanmamıştır
+- `openclaw doctor --fix` veya `openclaw plugins deps --repair` istenmiştir
+
+Çalışma zamanı bağımlılığı onarımı yalnızca OpenClaw başladı diye çalışmamalıdır. Değişmemiş planı ve eksiksiz bağımlılık somutlaştırması olan normal bir başlangıç, paket yöneticisi işini atlamalıdır.
+
+Yapılandırmayı düzenleyen, Pluginleri etkinleştiren veya doctor bulgularını onaran komutlar Plugin plan moduna bir kez girebilir, yeni gerekli birlikte gelen bağımlılıkları somutlaştırabilir ve ardından normal komut akışına dönebilir. Yerel `openclaw onboard` ve `openclaw configure`, yapılandırmayı başarıyla yazdıktan sonra bunu otomatik olarak yapar; böylece bir sonraki Gateway çalıştırması, başlangıç zaten başladıktan sonra eksik birlikte gelen Plugin paketlerini keşfetmez. Uzak onboarding/yapılandırma, yerel çalışma zamanı bağımlılıkları için salt okunur kalır.
+
+## Sıcak yeniden yükleme kuralı
+
+Etkin Pluginleri değiştirebilen sıcak yeniden yükleme yolları, Plugin çalışma zamanını yüklemeden önce yeniden Plugin plan modundan geçmelidir. Yeniden yükleme, yeni etkili Plugin planını önceki planla karşılaştırmalı, yeni etkin hale gelen birlikte gelen Pluginler için eksik bağımlılıkları hazırlamalı, ardından etkilenen çalışma zamanını yüklemeli veya yeniden başlatmalıdır.
+
+Bir yapılandırma yeniden yüklemesi etkili Plugin planını değiştirmiyorsa, birlikte gelen çalışma zamanı bağımlılıklarını onarmamalıdır.
+
+## Paket yöneticisi yürütmesi
+
+OpenClaw, seçilen birlikte gelen çalışma zamanı bağımlılıkları için oluşturulmuş bir kurulum manifesti yazar ve paket yöneticisini çalışma zamanı bağımlılığı kurulum kökünde çalıştırır. Mevcut olduğunda `pnpm` tercih eder ve Node ile birlikte gelen `npm` çalıştırıcısına geri döner.
+
+`pnpm` yolu üretim bağımlılıklarını kullanır, yaşam döngüsü betiklerini devre dışı bırakır, çalışma alanını yok sayar ve depoyu kurulum kökü içinde tutar:
+
+```bash
+pnpm install \
+ --prod \
+ --ignore-scripts \
+ --ignore-workspace \
+ --config.frozen-lockfile=false \
+ --config.minimum-release-age=0 \
+ --config.store-dir=/.openclaw-pnpm-store \
+ --config.node-linker=hoisted \
+ --config.virtual-store-dir=.pnpm
+```
+
+`npm` geri dönüşü; üretim bağımlılıkları, yaşam döngüsü betikleri devre dışı, çalışma alanı modu devre dışı, denetim devre dışı, fon çıktısı devre dışı, eski eş bağımlılık davranışı ve oluşturulan kurulum kökü için package-lock çıktısı etkin olacak şekilde güvenli npm kurulum sarmalayıcısını kullanır.
+
+Kurulumdan sonra OpenClaw, çalışma zamanı bağımlılık kökü tarafından görünür hale getirmeden önce hazırlanmış bağımlılık ağacını doğrular. Yalıtılmış hazırlama çalışma zamanı bağımlılık köküne kopyalanır ve yeniden doğrulanır.
+
+Tüm onarım/somutlaştırma bölümü bir kurulum kökü kilidiyle korunur. Geçerli kilit sahipleri PID’yi, mevcut olduğunda süreç başlangıç zamanını ve oluşturma zamanını kaydeder. Süreç başlangıç zamanı veya oluşturma zamanı kanıtı olmayan eski kilitler yalnızca dosya sistemi yaşına göre geri alınır; böylece yeniden kullanılan Docker PID 1 kilitleri, normal uzun süren geçerli kurulumları yalnızca yaşa göre süresi dolmuş saymadan toparlanır.
+
+## Kurulum kökleri
+
+Paketlenmiş kurulumlar salt okunur paket dizinlerini değiştirmemelidir. OpenClaw paketlenmiş katmanlardan bağımlılık köklerini okuyabilir, ancak oluşturulan çalışma zamanı bağımlılıklarını şu gibi yazılabilir bir hazırlama alanına yazar:
+
+- `OPENCLAW_PLUGIN_STAGE_DIR`
+- `$STATE_DIRECTORY`
+- `~/.openclaw/plugin-runtime-deps`
+- kapsayıcı tarzı kurulumlarda `/var/lib/openclaw/plugin-runtime-deps`
+
+Yazılabilir kök, son somutlaştırma hedefidir. Daha eski salt okunur kökler yalnızca gerektiğinde uyumluluk katmanları olarak tutulur.
+
+Paketlenmiş bir OpenClaw güncellemesi sürümlü yazılabilir kökü değiştirdiğinde, ancak seçilen birlikte gelen Plugin bağımlılık planı önceki bir hazırlanmış kök tarafından hâlâ karşılanıyorsa, onarım paket yöneticisini yeniden çalıştırmak yerine önceki `node_modules` ağacını yeniden kullanır. Yeni sürümlü kök yine kendi geçerli paket çalışma zamanı aynasına sahip olur; böylece Plugin kodu geçerli OpenClaw paketinden gelirken değişmemiş bağımlılık ağaçları güncellemeler arasında paylaşılır. Yeniden kullanım, etkin OpenClaw çalışma zamanı bağımlılık kilidi olan önceki kökleri atlar; böylece yeni bir kök, başka bir Gateway, doctor veya CLI sürecinin o anda onardığı bir bağımlılık ağacına bağlanmaz.
+
+## Doctor ve CLI komutları
+
+Birlikte gelen Plugin çalışma zamanı bağımlılığı somutlaştırmasını incelemek veya onarmak için `plugins deps` kullanın:
+
+```bash
+openclaw plugins deps
+openclaw plugins deps --json
+openclaw plugins deps --repair
+openclaw plugins deps --prune
+```
+
+Bağımlılık durumu daha geniş kurulum sağlığının bir parçası olduğunda doctor kullanın:
+
+```bash
+openclaw doctor
+openclaw doctor --fix
+```
+
+`plugins deps` ve doctor, etkili Plugin planı tarafından seçilen OpenClaw’a ait birlikte gelen Plugin çalışma zamanı bağımlılıkları üzerinde çalışır. Bunlar üçüncü taraf Plugin kurulum veya güncelleme komutları değildir.
+
+## Sorun giderme
+
+Paketlenmiş bir kurulum eksik birlikte gelen çalışma zamanı bağımlılıkları bildirirse:
+
+1. Seçilen planı ve eksik paketleri incelemek için `openclaw plugins deps --json` çalıştırın.
+2. Yazılabilir bağımlılık hazırlamasını onarmak için `openclaw plugins deps --repair` veya `openclaw doctor --fix` çalıştırın.
+3. Kurulum kökü salt okunursa, `OPENCLAW_PLUGIN_STAGE_DIR` değerini yazılabilir bir yola ayarlayın ve onarımı yeniden çalıştırın.
+4. Eksik bağımlılık başlangıç Plugin yüklemesini engellediyse onarımdan sonra Gateway’i yeniden başlatın.
+
+Kaynak checkout’larında çalışma alanı kurulumu genellikle birlikte gelen Plugin bağımlılıklarını sağlar. İlk adım olarak paketlenmiş çalışma zamanı bağımlılığı onarımını kullanmak yerine kaynak bağımlılığı onarımı için `pnpm install` çalıştırın.
diff --git a/docs/tr/plugins/google-meet.md b/docs/tr/plugins/google-meet.md
index 544c58629..9a9589ff0 100644
--- a/docs/tr/plugins/google-meet.md
+++ b/docs/tr/plugins/google-meet.md
@@ -1,36 +1,36 @@
---
read_when:
- - Bir OpenClaw ajanının bir Google Meet görüşmesine katılmasını istiyorsunuz
- - Bir OpenClaw ajanının yeni bir Google Meet araması oluşturmasını istiyorsunuz
- - Chrome, Chrome düğümü veya Twilio'yu Google Meet taşıması olarak yapılandırıyorsunuz
-summary: 'Google Meet Plugin: belirtilen Meet URL''lerine Chrome veya Twilio üzerinden gerçek zamanlı ses varsayılanlarıyla katıl'
+ - Bir OpenClaw agent’ının bir Google Meet çağrısına katılmasını istiyorsunuz
+ - Bir OpenClaw ajanının yeni bir Google Meet görüşmesi oluşturmasını istiyorsunuz
+ - Google Meet taşıyıcısı olarak Chrome'u, Chrome node'u veya Twilio'yu yapılandırıyorsunuz
+summary: 'Google Meet Plugin''i: Chrome veya Twilio üzerinden açıkça belirtilen Meet URL''lerine gerçek zamanlı ses varsayılanlarıyla katılın'
title: Google Meet Plugin
x-i18n:
- generated_at: "2026-04-30T09:34:35Z"
+ generated_at: "2026-05-01T09:03:08Z"
model: gpt-5.5
provider: openai
- source_hash: 7b989c872fee0dca31680f67559cd26b715303f7c6f4eeda51fc63889bb0383c
+ source_hash: a9d0d195fc709e487ef1bf5603fdb32fade1b6a0a13aa9bed5110979490f92ff
source_path: plugins/google-meet.md
workflow: 16
---
-OpenClaw için Google Meet katılımcı desteği — Plugin tasarım gereği açıktır:
+OpenClaw için Google Meet katılımcı desteği tasarım gereği açıktır:
-- Yalnızca açık bir `https://meet.google.com/...` URL'sine katılır.
+- Yalnızca açıkça belirtilmiş bir `https://meet.google.com/...` URL'sine katılır.
- Google Meet API üzerinden yeni bir Meet alanı oluşturabilir, ardından döndürülen URL'ye katılabilir.
-- `realtime` ses varsayılan moddur.
-- Gerçek zamanlı ses, daha derin akıl yürütme veya araçlar gerektiğinde tam OpenClaw ajanına geri çağrı yapabilir.
-- Ajanlar katılma davranışını `mode` ile seçer: canlı dinleme/yanıt verme için `realtime`, tarayıcıyı gerçek zamanlı ses köprüsü olmadan katmak/kontrol etmek için `transcribe` kullanın.
+- Varsayılan mod `realtime` sestir.
+- Realtime ses, daha derin akıl yürütme veya araçlar gerektiğinde tam OpenClaw agent'ına geri çağrı yapabilir.
+- Agent'lar katılma davranışını `mode` ile seçer: canlı dinleme/konuşarak yanıt verme için `realtime` kullanın veya realtime ses köprüsü olmadan tarayıcıya katılmak/kontrol etmek için `transcribe` kullanın.
- Kimlik doğrulama kişisel Google OAuth veya zaten oturum açılmış bir Chrome profili olarak başlar.
-- Otomatik onay duyurusu yoktur.
+- Otomatik bir onay duyurusu yoktur.
- Varsayılan Chrome ses arka ucu `BlackHole 2ch`'dir.
-- Chrome yerel olarak veya eşleştirilmiş bir Node ana bilgisayarında çalışabilir.
-- Twilio, isteğe bağlı PIN veya DTMF dizisiyle birlikte bir arama numarasını kabul eder.
-- CLI komutu `googlemeet`'tir; `meet` daha geniş ajan telekonferans iş akışları için ayrılmıştır.
+- Chrome yerel olarak veya eşleştirilmiş bir node host üzerinde çalışabilir.
+- Twilio, bir arama numarasını ve isteğe bağlı PIN veya DTMF dizisini kabul eder.
+- CLI komutu `googlemeet`'tir; `meet` daha geniş agent telekonferans iş akışları için ayrılmıştır.
## Hızlı başlangıç
-Yerel ses bağımlılıklarını yükleyin ve bir arka uç gerçek zamanlı ses sağlayıcısı yapılandırın. OpenAI varsayılandır; Google Gemini Live da `realtime.provider: "google"` ile çalışır:
+Yerel ses bağımlılıklarını kurun ve bir arka uç realtime ses sağlayıcısı yapılandırın. Varsayılan OpenAI'dır; Google Gemini Live da `realtime.provider: "google"` ile çalışır:
```bash
brew install blackhole-2ch sox
@@ -39,7 +39,7 @@ export OPENAI_API_KEY=sk-...
export GEMINI_API_KEY=...
```
-`blackhole-2ch`, `BlackHole 2ch` sanal ses aygıtını yükler. Homebrew yükleyicisi, macOS aygıtı görünür hale getirmeden önce yeniden başlatma gerektirir:
+`blackhole-2ch`, `BlackHole 2ch` sanal ses aygıtını kurar. Homebrew'ün yükleyicisi, macOS aygıtı göstermeden önce yeniden başlatma gerektirir:
```bash
sudo reboot
@@ -73,13 +73,21 @@ Kurulumu kontrol edin:
openclaw googlemeet setup
```
-Kurulum çıktısı ajan tarafından okunabilir ve moda duyarlı olacak şekilde tasarlanmıştır. Chrome profilini, Node sabitlemesini ve gerçek zamanlı Chrome katılımları için BlackHole/SoX ses köprüsünü ve gecikmeli gerçek zamanlı giriş kontrollerini bildirir. Yalnızca gözlem katılımları için aynı aktarımı `--mode transcribe` ile kontrol edin; bu mod gerçek zamanlı ses önkoşullarını atlar çünkü köprü üzerinden dinlemez veya konuşmaz:
+Kurulum çıktısı agent tarafından okunabilir ve moda duyarlı olacak şekilde tasarlanmıştır. Chrome profilini, node sabitlemesini ve realtime Chrome katılımları için BlackHole/SoX ses köprüsünü ve gecikmeli realtime giriş kontrollerini raporlar. Yalnızca gözlem katılımları için aynı aktarımı `--mode transcribe` ile kontrol edin; bu mod, köprü üzerinden dinlemediği veya konuşmadığı için realtime ses ön koşullarını atlar:
```bash
openclaw googlemeet setup --transport chrome-node --mode transcribe
```
-Twilio yetkilendirmesi yapılandırıldığında kurulum ayrıca `voice-call` Plugin'inin ve Twilio kimlik bilgilerinin hazır olup olmadığını bildirir. Bir ajandan katılmasını istemeden önce herhangi bir `ok: false` kontrolünü, kontrol edilen aktarım ve mod için engelleyici olarak değerlendirin. Betikler veya makine tarafından okunabilir çıktı için `openclaw googlemeet setup --json` kullanın. Ajan denemeden önce belirli bir aktarımı önceden denetlemek için `--transport chrome`, `--transport chrome-node` veya `--transport twilio` kullanın.
+Twilio devri yapılandırıldığında kurulum, `voice-call` Plugin'inin, Twilio kimlik bilgilerinin ve herkese açık webhook erişiminin hazır olup olmadığını da raporlar. Herhangi bir `ok: false` kontrolünü, bir agent'tan katılmasını istemeden önce kontrol edilen aktarım ve mod için engelleyici olarak değerlendirin. Betikler veya makine tarafından okunabilir çıktı için `openclaw googlemeet setup --json` kullanın. Bir agent denemeden önce belirli bir aktarımı önceden kontrol etmek için `--transport chrome`, `--transport chrome-node` veya `--transport twilio` kullanın.
+
+Twilio için varsayılan aktarım Chrome olduğunda aktarımı her zaman açıkça önceden kontrol edin:
+
+```bash
+openclaw googlemeet setup --transport twilio
+```
+
+Bu, agent toplantıyı aramayı denemeden önce eksik `voice-call` bağlantılarını, Twilio kimlik bilgilerini veya erişilemeyen webhook yayınımını yakalar.
Bir toplantıya katılın:
@@ -87,7 +95,7 @@ Bir toplantıya katılın:
openclaw googlemeet join https://meet.google.com/abc-defg-hij
```
-Veya bir ajanın `google_meet` aracı üzerinden katılmasına izin verin:
+Veya bir agent'ın `google_meet` aracı üzerinden katılmasına izin verin:
```json
{
@@ -98,7 +106,7 @@ Veya bir ajanın `google_meet` aracı üzerinden katılmasına izin verin:
}
```
-Yeni bir toplantı oluşturun ve katılın:
+Yeni bir toplantı oluşturup ona katılın:
```bash
openclaw googlemeet create --transport chrome-node --mode realtime
@@ -112,13 +120,13 @@ openclaw googlemeet create --no-join
`googlemeet create` iki yola sahiptir:
-- API oluşturma: Google Meet OAuth kimlik bilgileri yapılandırıldığında kullanılır. Bu en belirleyici yoldur ve tarayıcı arayüz durumuna bağlı değildir.
-- Tarayıcı geri dönüşü: OAuth kimlik bilgileri yokken kullanılır. OpenClaw sabitlenmiş Chrome Node'unu kullanır, `https://meet.google.com/new` adresini açar, Google'ın gerçek bir toplantı kodu URL'sine yönlendirmesini bekler, ardından bu URL'yi döndürür. Bu yol, Node üzerindeki OpenClaw Chrome profilinin Google'da zaten oturum açmış olmasını gerektirir. Tarayıcı otomasyonu Meet'in kendi ilk çalıştırma mikrofon istemini işler; bu istem Google oturum açma hatası olarak değerlendirilmez.
- Katılma ve oluşturma akışları ayrıca yeni bir sekme açmadan önce mevcut bir Meet sekmesini yeniden kullanmayı dener. Eşleştirme `authuser` gibi zararsız URL sorgu dizelerini yok sayar, bu nedenle bir ajan yeniden denemesi ikinci bir Chrome sekmesi oluşturmak yerine zaten açık olan toplantıya odaklanmalıdır.
+- API oluşturma: Google Meet OAuth kimlik bilgileri yapılandırıldığında kullanılır. Bu en deterministik yoldur ve tarayıcı UI durumuna bağlı değildir.
+- Tarayıcı yedeği: OAuth kimlik bilgileri olmadığında kullanılır. OpenClaw sabitlenmiş Chrome node'unu kullanır, `https://meet.google.com/new` adresini açar, Google'ın gerçek bir toplantı kodu URL'sine yönlendirmesini bekler ve ardından bu URL'yi döndürür. Bu yol, node üzerindeki OpenClaw Chrome profilinin Google'da zaten oturum açmış olmasını gerektirir. Tarayıcı otomasyonu Meet'in kendi ilk çalıştırma mikrofon istemini işler; bu istem bir Google oturum açma hatası olarak değerlendirilmez.
+ Katılma ve oluşturma akışları ayrıca yeni bir sekme açmadan önce mevcut bir Meet sekmesini yeniden kullanmayı dener. Eşleştirme, `authuser` gibi zararsız URL sorgu dizelerini yok sayar; bu nedenle bir agent yeniden denemesi, ikinci bir Chrome sekmesi oluşturmak yerine zaten açık olan toplantıya odaklanmalıdır.
-Komut/araç çıktısı bir `source` alanı (`api` veya `browser`) içerir, böylece ajanlar hangi yolun kullanıldığını açıklayabilir. `create` varsayılan olarak yeni toplantıya katılır ve `joined: true` ile katılım oturumunu döndürür. Yalnızca URL üretmek için CLI'da `create --no-join` kullanın veya araca `"join": false` geçirin.
+Komut/araç çıktısı, agent'ların hangi yolun kullanıldığını açıklayabilmesi için bir `source` alanı (`api` veya `browser`) içerir. `create` varsayılan olarak yeni toplantıya katılır ve `joined: true` ile katılım oturumunu döndürür. Yalnızca URL oluşturmak için CLI'da `create --no-join` kullanın veya araca `"join": false` geçin.
-Veya bir ajana şunu söyleyin: "Bir Google Meet oluştur, gerçek zamanlı sesle katıl ve bağlantıyı bana gönder." Ajan `action: "create"` ile `google_meet` çağırmalı ve ardından döndürülen `meetingUri` değerini paylaşmalıdır.
+Veya bir agent'a şunu söyleyin: "Bir Google Meet oluştur, realtime sesle katıl ve bağlantıyı bana gönder." Agent, `action: "create"` ile `google_meet` çağırmalı ve ardından döndürülen `meetingUri` değerini paylaşmalıdır.
```json
{
@@ -128,29 +136,29 @@ Veya bir ajana şunu söyleyin: "Bir Google Meet oluştur, gerçek zamanlı sesl
}
```
-Yalnızca gözlem/tarayıcı kontrolü katılımı için `"mode": "transcribe"` ayarlayın. Bu, çift yönlü gerçek zamanlı model köprüsünü başlatmaz, BlackHole veya SoX gerektirmez ve toplantıya yanıt olarak konuşmaz. Bu moddaki Chrome katılımları ayrıca OpenClaw'ın mikrofon/kamera izin verme işlemini ve Meet **Mikrofonu kullan** yolunu önler. Meet bir ses seçimi ara ekranı gösterirse otomasyon mikrofonsuz yolu dener ve aksi durumda yerel mikrofonu açmak yerine manuel bir eylem bildirir.
+Yalnızca gözlem/tarayıcı kontrolü katılımı için `"mode": "transcribe"` ayarlayın. Bu, çift yönlü realtime model köprüsünü başlatmaz, BlackHole veya SoX gerektirmez ve toplantıya konuşarak yanıt vermez. Bu moddaki Chrome katılımları ayrıca OpenClaw'ın mikrofon/kamera izin verme işlemini ve Meet **Mikrofonu kullan** yolunu atlar. Meet bir ses seçimi ara ekranı gösterirse otomasyon mikrofon olmayan yolu dener ve aksi halde yerel mikrofonu açmak yerine manuel bir işlem raporlar.
-Gerçek zamanlı oturumlar sırasında `google_meet` durumu `inCall`, `manualActionRequired`, `providerConnected`, `realtimeReady`, `audioInputActive`, `audioOutputActive`, son giriş/çıkış zaman damgaları, bayt sayaçları ve köprü kapalı durumu gibi tarayıcı ve ses köprüsü sağlığını içerir. Güvenli bir Meet sayfa istemi görünürse tarayıcı otomasyonu mümkün olduğunda bunu işler. Oturum açma, ev sahibi kabulü ve tarayıcı/OS izin istemleri, ajanın iletmesi için bir neden ve mesajla manuel eylem olarak bildirilir. Yönetilen Chrome oturumları, giriş veya test ifadesini yalnızca tarayıcı sağlığı `inCall: true` bildirdikten sonra yayar; aksi durumda durum `speechReady: false` bildirir ve konuşma denemesi, ajanın toplantıda konuşmuş gibi davranmak yerine engellenir.
+Realtime oturumlar sırasında `google_meet` durumu, `inCall`, `manualActionRequired`, `providerConnected`, `realtimeReady`, `audioInputActive`, `audioOutputActive`, son giriş/çıkış zaman damgaları, bayt sayaçları ve köprü kapalı durumu gibi tarayıcı ve ses köprüsü sağlığını içerir. Güvenli bir Meet sayfası istemi görünürse tarayıcı otomasyonu mümkün olduğunda bunu işler. Oturum açma, host kabulü ve tarayıcı/OS izin istemleri, agent'ın iletmesi için bir neden ve mesajla manuel işlem olarak raporlanır. Yönetilen Chrome oturumları, giriş veya test ifadesini yalnızca tarayıcı sağlığı `inCall: true` raporladıktan sonra yayar; aksi halde durum `speechReady: false` raporlar ve konuşma denemesi, agent toplantıya konuşmuş gibi davranmak yerine engellenir.
-Yerel Chrome, oturum açılmış OpenClaw tarayıcı profili üzerinden katılır. Gerçek zamanlı mod, OpenClaw tarafından kullanılan mikrofon/hoparlör yolu için `BlackHole 2ch` gerektirir. Temiz çift yönlü ses için ayrı sanal aygıtlar veya Loopback tarzı bir grafik kullanın; tek bir BlackHole aygıtı ilk duman testi için yeterlidir ancak yankı yapabilir.
+Yerel Chrome katılımları, oturum açılmış OpenClaw tarayıcı profili üzerinden yapılır. Realtime mod, OpenClaw tarafından kullanılan mikrofon/hoparlör yolu için `BlackHole 2ch` gerektirir. Temiz çift yönlü ses için ayrı sanal aygıtlar veya Loopback tarzı bir grafik kullanın; tek bir BlackHole aygıtı ilk duman testi için yeterlidir ancak yankı yapabilir.
### Yerel Gateway + Parallels Chrome
-VM'nin Chrome'a sahip olması için macOS VM içinde tam bir OpenClaw Gateway veya model API anahtarı gerekmez. Gateway'i ve ajanı yerel olarak çalıştırın, ardından VM'de bir Node ana bilgisayarı çalıştırın. Node'un Chrome komutunu duyurması için paketle gelen Plugin'i VM'de bir kez etkinleştirin:
+Yalnızca VM'nin Chrome'a sahip olmasını sağlamak için bir macOS VM içinde tam bir OpenClaw Gateway'e veya model API anahtarına ihtiyacınız **yoktur**. Gateway'i ve agent'ı yerel olarak çalıştırın, ardından VM'de bir node host çalıştırın. Node'un Chrome komutunu ilan etmesi için VM'de paketlenmiş Plugin'i bir kez etkinleştirin:
Nerede ne çalışır:
-- Gateway ana bilgisayarı: OpenClaw Gateway, ajan çalışma alanı, model/API anahtarları, gerçek zamanlı sağlayıcı ve Google Meet Plugin yapılandırması.
-- Parallels macOS VM: OpenClaw CLI/Node ana bilgisayarı, Google Chrome, SoX, BlackHole 2ch ve Google'da oturum açmış bir Chrome profili.
-- VM'de gerekli olmayanlar: Gateway hizmeti, ajan yapılandırması, OpenAI/GPT anahtarı veya model sağlayıcı kurulumu.
+- Gateway host: OpenClaw Gateway, agent çalışma alanı, model/API anahtarları, realtime sağlayıcı ve Google Meet Plugin yapılandırması.
+- Parallels macOS VM: OpenClaw CLI/node host, Google Chrome, SoX, BlackHole 2ch ve Google'da oturum açmış bir Chrome profili.
+- VM'de gerekli olmayanlar: Gateway hizmeti, agent yapılandırması, OpenAI/GPT anahtarı veya model sağlayıcı kurulumu.
-VM bağımlılıklarını yükleyin:
+VM bağımlılıklarını kurun:
```bash
brew install blackhole-2ch sox
```
-BlackHole'u yükledikten sonra macOS'in `BlackHole 2ch` aygıtını görünür hale getirmesi için VM'yi yeniden başlatın:
+BlackHole'u kurduktan sonra macOS'in `BlackHole 2ch` aygıtını göstermesi için VM'yi yeniden başlatın:
```bash
sudo reboot
@@ -163,26 +171,26 @@ system_profiler SPAudioDataType | grep -i BlackHole
command -v sox
```
-VM'de OpenClaw'ı yükleyin veya güncelleyin, ardından paketle gelen Plugin'i orada etkinleştirin:
+VM'de OpenClaw'ı kurun veya güncelleyin, ardından paketlenmiş Plugin'i orada etkinleştirin:
```bash
openclaw plugins enable google-meet
```
-VM'de Node ana bilgisayarını başlatın:
+VM'de node host'u başlatın:
```bash
openclaw node run --host --port 18789 --display-name parallels-macos
```
-`` bir LAN IP'siyse ve TLS kullanmıyorsanız, Node bu güvenilen özel ağ için açıkça izin vermediğiniz sürece düz metin WebSocket'i reddeder:
+`` bir LAN IP'siyse ve TLS kullanmıyorsanız, node bu güvenilir özel ağ için açıkça izin vermediğiniz sürece düz metin WebSocket'i reddeder:
```bash
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
openclaw node run --host --port 18789 --display-name parallels-macos
```
-Node'u LaunchAgent olarak yüklerken aynı ortam değişkenini kullanın:
+Node'u LaunchAgent olarak kurarken aynı ortam değişkenini kullanın:
```bash
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
@@ -190,22 +198,22 @@ OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
openclaw node restart
```
-`OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` süreç ortamıdır, bir `openclaw.json` ayarı değildir. `openclaw node install`, yükleme komutunda mevcut olduğunda bunu LaunchAgent ortamında saklar.
+`OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` bir süreç ortamıdır, `openclaw.json` ayarı değildir. `openclaw node install`, kurulum komutunda mevcut olduğunda bunu LaunchAgent ortamında saklar.
-Node'u Gateway ana bilgisayarından onaylayın:
+Node'u Gateway host'tan onaylayın:
```bash
openclaw devices list
openclaw devices approve
```
-Gateway'in Node'u gördüğünü ve hem `googlemeet.chrome` hem de tarayıcı yeteneği/`browser.proxy` duyurduğunu doğrulayın:
+Gateway'in node'u gördüğünü ve hem `googlemeet.chrome` hem de tarayıcı yeteneği/`browser.proxy` ilan ettiğini doğrulayın:
```bash
openclaw nodes status
```
-Meet'i Gateway ana bilgisayarında bu Node üzerinden yönlendirin:
+Meet'i Gateway host üzerinde bu node üzerinden yönlendirin:
```json5
{
@@ -235,105 +243,105 @@ Meet'i Gateway ana bilgisayarında bu Node üzerinden yönlendirin:
}
```
-Şimdi Gateway ana bilgisayarından normal şekilde katılın:
+Şimdi Gateway host'tan normal şekilde katılın:
```bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij
```
-veya ajandan `transport: "chrome-node"` ile `google_meet` aracını kullanmasını isteyin.
+veya agent'tan `google_meet` aracını `transport: "chrome-node"` ile kullanmasını isteyin.
-Bir oturum oluşturan veya yeniden kullanan, bilinen bir ifadeyi söyleyen ve oturum sağlığını yazdıran tek komutluk duman testi için:
+Bir oturum oluşturan veya yeniden kullanan, bilinen bir ifade söyleyen ve oturum sağlığını yazdıran tek komutluk duman testi için:
```bash
openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij
```
-Gerçek zamanlı katılım sırasında OpenClaw tarayıcı otomasyonu konuk adını doldurur, Katıl/Katılmayı iste'ye tıklar ve bu istem göründüğünde Meet'in ilk çalıştırma "Mikrofonu kullan" seçimini kabul eder. Yalnızca gözlem katılımı veya yalnızca tarayıcıyla toplantı oluşturma sırasında, bu seçenek mevcut olduğunda aynı istemden mikrofonsuz devam eder. Tarayıcı profili oturum açmamışsa, Meet ev sahibi kabulünü bekliyorsa, Chrome gerçek zamanlı katılım için mikrofon/kamera iznine ihtiyaç duyuyorsa veya Meet otomasyonun çözemediği bir istemde takılmışsa, katılma/test-speech sonucu `manualActionRequired: true` ile `manualActionReason` ve `manualActionMessage` bildirir. Ajanlar katılmayı yeniden denemeyi bırakmalı, tam olarak bu mesajı mevcut `browserUrl`/`browserTitle` ile birlikte bildirmeli ve yalnızca manuel tarayıcı eylemi tamamlandıktan sonra yeniden denemelidir.
+Realtime katılım sırasında OpenClaw tarayıcı otomasyonu konuk adını doldurur, Katıl/Katılmayı iste seçeneklerine tıklar ve bu istem göründüğünde Meet'in ilk çalıştırma "Mikrofonu kullan" seçimini kabul eder. Yalnızca gözlem katılımı veya yalnızca tarayıcı üzerinden toplantı oluşturma sırasında, mevcut olduğunda mikrofon olmadan aynı istemi geçer. Tarayıcı profili oturum açmamışsa, Meet host kabulünü bekliyorsa, Chrome realtime katılım için mikrofon/kamera iznine ihtiyaç duyuyorsa veya Meet otomasyonun çözemediği bir istemde takılmışsa, join/test-speech sonucu `manualActionRequired: true` değerini `manualActionReason` ve `manualActionMessage` ile raporlar. Agent'lar katılımı yeniden denemeyi bırakmalı, bu tam mesajı mevcut `browserUrl`/`browserTitle` ile birlikte raporlamalı ve yalnızca manuel tarayıcı işlemi tamamlandıktan sonra yeniden denemelidir.
-`chromeNode.node` atlanırsa OpenClaw yalnızca tam olarak bir bağlı Node hem `googlemeet.chrome` hem de tarayıcı kontrolünü duyurduğunda otomatik seçim yapar. Birkaç uygun Node bağlıysa `chromeNode.node` değerini Node kimliğine, görünen ada veya uzak IP'ye ayarlayın.
+`chromeNode.node` atlanırsa OpenClaw otomatik seçimi yalnızca tam olarak bir bağlı node hem `googlemeet.chrome` hem de tarayıcı kontrolü ilan ettiğinde yapar. Birden çok yetenekli node bağlıysa `chromeNode.node` değerini node kimliği, görüntü adı veya uzak IP olarak ayarlayın.
Yaygın hata kontrolleri:
-- `Configured Google Meet node ... is not usable: offline`: sabitlenmiş Node,
- Gateway tarafından biliniyor ancak kullanılamıyor. Agent’lar bu Node’u
- kullanılabilir bir Chrome ana makinesi olarak değil tanılama durumu olarak ele
- almalı ve kullanıcı bunu istemedikçe başka bir taşıma yöntemine geri dönmek
+- `Configured Google Meet node ... is not usable: offline`: sabitlenen Node,
+ Gateway tarafından biliniyor ama kullanılamıyor. Agents, bu Node'u
+ kullanılabilir bir Chrome ana makinesi olarak değil tanı amaçlı durum olarak
+ ele almalı ve kullanıcı bunu istemedikçe başka bir aktarıma geri dönmek
yerine kurulum engelleyicisini bildirmelidir.
- `No connected Google Meet-capable node`: VM içinde `openclaw node run`
- başlatın, eşleştirmeyi onaylayın ve VM içinde `openclaw plugins enable google-meet`
- ile `openclaw plugins enable browser` komutlarının çalıştırıldığından emin
- olun. Ayrıca Gateway ana makinesinin her iki Node komutuna şu ayarla izin
- verdiğini doğrulayın:
- `gateway.nodes.allowCommands: ["googlemeet.chrome", "browser.proxy"]`.
+ başlatın, eşleştirmeyi onaylayın ve VM içinde `openclaw plugins enable
+ google-meet` ile `openclaw plugins enable browser` komutlarının
+ çalıştırıldığından emin olun. Ayrıca Gateway ana makinesinin iki Node
+ komutuna da `gateway.nodes.allowCommands: ["googlemeet.chrome",
+ "browser.proxy"]` ile izin verdiğini doğrulayın.
- `BlackHole 2ch audio device not found`: denetlenen ana makineye
- `blackhole-2ch` yükleyin ve yerel Chrome sesi kullanmadan önce yeniden
+ `blackhole-2ch` kurun ve yerel Chrome sesini kullanmadan önce yeniden
başlatın.
- `BlackHole 2ch audio device not found on the node`: VM içine
- `blackhole-2ch` yükleyin ve VM’i yeniden başlatın.
-- Chrome açılıyor ancak katılamıyorsa: VM içindeki tarayıcı profiline giriş
- yapın veya konuk katılımı için `chrome.guestName` ayarını koruyun. Konuk
- otomatik katılımı, Node tarayıcı proxy’si üzerinden OpenClaw tarayıcı
- otomasyonunu kullanır; Node tarayıcı yapılandırmasının istediğiniz profili
- gösterdiğinden emin olun, örneğin `browser.defaultProfile: "user"` veya adlı
- bir mevcut oturum profili.
-- Yinelenen Meet sekmeleri: `chrome.reuseExistingTab: true` etkin bırakın.
- OpenClaw, yeni bir sekme açmadan önce aynı Meet URL’si için mevcut bir sekmeyi
- etkinleştirir ve tarayıcı toplantı oluşturma, başka bir sekme açmadan önce
- devam eden bir `https://meet.google.com/new` veya Google hesabı istemi
- sekmesini yeniden kullanır.
-- Ses yok: Meet’te mikrofon/hoparlör yönlendirmesini OpenClaw tarafından
- kullanılan sanal ses aygıtı yolu üzerinden yapın; temiz çift yönlü ses için
- ayrı sanal aygıtlar veya Loopback tarzı yönlendirme kullanın.
+ `blackhole-2ch` kurun ve VM'i yeniden başlatın.
+- Chrome açılıyor ama katılamıyor: VM içindeki tarayıcı profiline giriş yapın
+ veya konuk katılımı için `chrome.guestName` ayarını koruyun. Konuk otomatik
+ katılımı, Node tarayıcı proxy'si üzerinden OpenClaw tarayıcı otomasyonunu
+ kullanır; Node tarayıcı yapılandırmasının istediğiniz profili gösterdiğinden
+ emin olun, örneğin `browser.defaultProfile: "user"` veya adlandırılmış mevcut
+ oturum profili.
+- Yinelenen Meet sekmeleri: `chrome.reuseExistingTab: true` etkin kalsın.
+ OpenClaw, yeni bir sekme açmadan önce aynı Meet URL'si için var olan bir
+ sekmeyi etkinleştirir ve tarayıcı toplantı oluşturma işlemi, başka bir tane
+ açmadan önce sürmekte olan bir `https://meet.google.com/new` veya Google
+ hesabı istemi sekmesini yeniden kullanır.
+- Ses yok: Meet içinde mikrofon/hoparlör yönlendirmesini OpenClaw tarafından
+ kullanılan sanal ses aygıtı yolundan geçirin; temiz çift yönlü ses için ayrı
+ sanal aygıtlar veya Loopback tarzı yönlendirme kullanın.
## Kurulum notları
Chrome gerçek zamanlı varsayılanı iki harici araç kullanır:
-- `sox`: komut satırı ses yardımcı aracı. Plugin, varsayılan 24 kHz PCM16 ses
- köprüsü için açık CoreAudio aygıt komutları kullanır.
-- `blackhole-2ch`: macOS sanal ses sürücüsü. Chrome/Meet’in üzerinden
- yönlendirebileceği `BlackHole 2ch` ses aygıtını oluşturur.
+- `sox`: komut satırı ses aracı. Plugin, varsayılan 24 kHz PCM16 ses köprüsü
+ için açık CoreAudio aygıt komutları kullanır.
+- `blackhole-2ch`: macOS sanal ses sürücüsü. Chrome/Meet'in yönlendirebileceği
+ `BlackHole 2ch` ses aygıtını oluşturur.
-OpenClaw bu paketlerden hiçbirini paketlemez veya yeniden dağıtmaz. Belgeler,
-kullanıcılardan bunları Homebrew üzerinden ana makine bağımlılıkları olarak
-yüklemelerini ister. SoX lisansı `LGPL-2.0-only AND GPL-2.0-only`; BlackHole ise
-GPL-3.0 lisanslıdır. BlackHole’u OpenClaw ile paketleyen bir yükleyici veya
-appliance oluşturursanız, BlackHole’un yukarı akış lisans koşullarını inceleyin
-veya Existential Audio’dan ayrı bir lisans alın.
+OpenClaw iki paketi de paketlemez veya yeniden dağıtmaz. Belgeler, kullanıcılara
+bunları Homebrew üzerinden ana makine bağımlılıkları olarak kurmalarını söyler.
+SoX `LGPL-2.0-only AND GPL-2.0-only` lisanslıdır; BlackHole GPL-3.0
+lisanslıdır. BlackHole'u OpenClaw ile birlikte paketleyen bir yükleyici veya
+cihaz imajı oluşturursanız BlackHole'un üst kaynak lisans koşullarını inceleyin
+veya Existential Audio'dan ayrı bir lisans alın.
-## Taşımalar
+## Aktarımlar
### Chrome
-Chrome taşıması, OpenClaw tarayıcı denetimi üzerinden Meet URL’sini açar ve
-oturum açmış OpenClaw tarayıcı profili olarak katılır. macOS’ta Plugin,
-başlatmadan önce `BlackHole 2ch` denetimi yapar. Yapılandırılmışsa, Chrome’u
-açmadan önce bir ses köprüsü sağlık komutu ve başlangıç komutu da çalıştırır.
-Chrome/ses Gateway ana makinesinde çalışıyorsa `chrome`; Chrome/ses Parallels
-macOS VM gibi eşleştirilmiş bir Node üzerinde çalışıyorsa `chrome-node`
+Chrome aktarımı, Meet URL'sini OpenClaw tarayıcı denetimi üzerinden açar ve
+giriş yapılmış OpenClaw tarayıcı profili olarak katılır. macOS'te Plugin,
+başlatmadan önce `BlackHole 2ch` denetimi yapar. Yapılandırılmışsa, Chrome'u
+açmadan önce bir ses köprüsü sağlık komutu ve başlatma komutu da çalıştırır.
+Chrome/ses Gateway ana makinesinde yaşadığında `chrome` kullanın; Chrome/ses,
+Parallels macOS VM gibi eşleştirilmiş bir Node'da yaşadığında `chrome-node`
kullanın. Yerel Chrome için profili `browser.defaultProfile` ile seçin;
-`chrome.browserProfile`, `chrome-node` ana makinelerine aktarılır.
+`chrome.browserProfile`, `chrome-node` ana makinelerine geçirilir.
```bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij --transport chrome
openclaw googlemeet join https://meet.google.com/abc-defg-hij --transport chrome-node
```
-Chrome mikrofon ve hoparlör sesini yerel OpenClaw ses köprüsü üzerinden
-yönlendirin. `BlackHole 2ch` yüklü değilse katılım, ses yolu olmadan sessizce
-katılmak yerine bir kurulum hatasıyla başarısız olur.
+Chrome mikrofon ve hoparlör sesini yerel OpenClaw ses köprüsünden geçirin.
+`BlackHole 2ch` kurulu değilse katılım, ses yolu olmadan sessizce katılmak
+yerine bir kurulum hatasıyla başarısız olur.
### Twilio
-Twilio taşıması, Voice Call Plugin’e devredilen katı bir arama planıdır. Telefon
-numaraları için Meet sayfalarını ayrıştırmaz.
+Twilio aktarımı, Voice Call Plugin'e devredilen katı bir arama planıdır. Meet
+sayfalarını telefon numaraları için ayrıştırmaz.
-Bunu, Chrome katılımı kullanılamadığında veya telefonla arama yedek yolu
-istediğinizde kullanın. Google Meet, toplantı için telefonla arama numarası ve
-PIN sunmalıdır; OpenClaw bunları Meet sayfasından keşfetmez.
+Chrome katılımı kullanılamadığında veya telefonla arama yedeği istediğinizde
+bunu kullanın. Google Meet, toplantı için telefonla arama numarası ve PIN
+sunmalıdır; OpenClaw bunları Meet sayfasından keşfetmez.
-Voice Call Plugin’i Chrome Node üzerinde değil, Gateway ana makinesinde
+Voice Call Plugin'i Chrome Node'unda değil, Gateway ana makinesinde
etkinleştirin:
```json5
@@ -368,11 +376,11 @@ export TWILIO_AUTH_TOKEN=...
export TWILIO_FROM_NUMBER=+15550001234
```
-`voice-call` etkinleştirildikten sonra Gateway’i yeniden başlatın veya yeniden
+`voice-call` etkinleştirildikten sonra Gateway'i yeniden başlatın veya yeniden
yükleyin; Plugin yapılandırma değişiklikleri, yeniden yüklenene kadar zaten
çalışan bir Gateway sürecinde görünmez.
-Ardından doğrulayın:
+Sonra doğrulayın:
```bash
openclaw config validate
@@ -380,9 +388,9 @@ openclaw plugins list | grep -E 'google-meet|voice-call'
openclaw googlemeet setup
```
-Twilio devri bağlandığında, `googlemeet setup` başarılı
-`twilio-voice-call-plugin` ve `twilio-voice-call-credentials` denetimlerini
-içerir.
+Twilio devri bağlandığında `googlemeet setup`, başarılı
+`twilio-voice-call-plugin`, `twilio-voice-call-credentials` ve
+`twilio-voice-call-webhook` denetimlerini içerir.
```bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij \
@@ -391,7 +399,7 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \
--pin 123456
```
-Toplantı özel bir dizi gerektirdiğinde `--dtmf-sequence` kullanın:
+Toplantı özel bir sıra gerektirdiğinde `--dtmf-sequence` kullanın:
```bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij \
@@ -400,57 +408,57 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \
--dtmf-sequence ww123456#
```
-## OAuth ve ön uç denetim
+## OAuth ve ön denetim
OAuth, Meet bağlantısı oluşturmak için isteğe bağlıdır çünkü `googlemeet create`
tarayıcı otomasyonuna geri dönebilir. Resmi API ile oluşturma, alan çözümleme
-veya Meet Media API ön uç denetimleri istediğinizde OAuth yapılandırın.
+veya Meet Media API ön denetimleri istediğinizde OAuth'u yapılandırın.
-Google Meet API erişimi kullanıcı OAuth’u kullanır: bir Google Cloud OAuth
+Google Meet API erişimi kullanıcı OAuth'u kullanır: bir Google Cloud OAuth
istemcisi oluşturun, gerekli kapsamları isteyin, bir Google hesabını
-yetkilendirin, ardından ortaya çıkan yenileme token’ını Google Meet Plugin
+yetkilendirin, ardından ortaya çıkan yenileme belirtecini Google Meet Plugin
yapılandırmasında saklayın veya `OPENCLAW_GOOGLE_MEET_*` ortam değişkenlerini
sağlayın.
-OAuth, Chrome katılım yolunun yerini almaz. Chrome ve Chrome-node taşımaları,
-tarayıcı katılımı kullandığınızda hâlâ oturum açmış bir Chrome profili,
+OAuth, Chrome katılım yolunun yerine geçmez. Chrome ve Chrome-node aktarımları,
+tarayıcı katılımı kullandığınızda hâlâ giriş yapılmış bir Chrome profili,
BlackHole/SoX ve bağlı bir Node üzerinden katılır. OAuth yalnızca resmi Google
Meet API yolu içindir: toplantı alanları oluşturma, alanları çözümleme ve Meet
-Media API ön uç denetimlerini çalıştırma.
+Media API ön denetimleri çalıştırma.
-### Google kimlik bilgileri oluşturma
+### Google kimlik bilgileri oluşturun
-Google Cloud Console’da:
+Google Cloud Console içinde:
1. Bir Google Cloud projesi oluşturun veya seçin.
-2. Bu proje için **Google Meet REST API**’yi etkinleştirin.
+2. Bu proje için **Google Meet REST API**'yi etkinleştirin.
3. OAuth izin ekranını yapılandırın.
- - **Internal**, bir Google Workspace kuruluşu için en basit seçenektir.
- - **External**, kişisel/test kurulumları için çalışır; uygulama Testing
+ - Bir Google Workspace kuruluşu için **Internal** en basit seçenektir.
+ - **External** kişisel/test kurulumları için çalışır; uygulama Testing
durumundayken, uygulamayı yetkilendirecek her Google hesabını test
kullanıcısı olarak ekleyin.
-4. OpenClaw’un istediği kapsamları ekleyin:
+4. OpenClaw'un istediği kapsamları ekleyin:
- `https://www.googleapis.com/auth/meetings.space.created`
- `https://www.googleapis.com/auth/meetings.space.readonly`
- `https://www.googleapis.com/auth/meetings.conference.media.readonly`
5. Bir OAuth istemci kimliği oluşturun.
- Uygulama türü: **Web application**.
- - Yetkilendirilmiş yönlendirme URI’si:
+ - Yetkili yönlendirme URI'si:
```text
http://localhost:8085/oauth2callback
```
-6. İstemci kimliğini ve istemci gizli anahtarını kopyalayın.
+6. İstemci kimliğini ve istemci gizli bilgisini kopyalayın.
`meetings.space.created`, Google Meet `spaces.create` tarafından gereklidir.
-`meetings.space.readonly`, OpenClaw’un Meet URL’lerini/kodlarını alanlara
+`meetings.space.readonly`, OpenClaw'un Meet URL'lerini/kodlarını alanlara
çözümlemesini sağlar. `meetings.conference.media.readonly`, Meet Media API ön
-uç denetimi ve medya çalışmaları içindir; Google, gerçek Media API kullanımı
-için Developer Preview kaydı gerektirebilir. Yalnızca tarayıcı tabanlı Chrome
-katılımlarına ihtiyacınız varsa OAuth’u tamamen atlayın.
+denetimi ve medya işleri içindir; Google gerçek Media API kullanımı için
+Developer Preview kaydı gerektirebilir. Yalnızca tarayıcı tabanlı Chrome
+katılımlarına ihtiyacınız varsa OAuth'u tamamen atlayın.
-### Yenileme token’ını üretme
+### Yenileme belirtecini üretin
`oauth.clientId` ve isteğe bağlı olarak `oauth.clientSecret` yapılandırın veya
bunları ortam değişkenleri olarak geçirin, ardından şunu çalıştırın:
@@ -459,8 +467,8 @@ bunları ortam değişkenleri olarak geçirin, ardından şunu çalıştırın:
openclaw googlemeet auth login --json
```
-Komut, yenileme token’ı içeren bir `oauth` yapılandırma bloğu yazdırır. PKCE,
-`http://localhost:8085/oauth2callback` üzerinde localhost callback’i ve
+Komut, yenileme belirteci içeren bir `oauth` yapılandırma bloğu yazdırır. PKCE,
+`http://localhost:8085/oauth2callback` üzerinde localhost geri çağırması ve
`--manual` ile manuel kopyala/yapıştır akışı kullanır.
Örnekler:
@@ -471,7 +479,7 @@ OPENCLAW_GOOGLE_MEET_CLIENT_SECRET="your-client-secret" \
openclaw googlemeet auth login --json
```
-Tarayıcı yerel callback’e ulaşamadığında manuel modu kullanın:
+Tarayıcı yerel geri çağırmaya ulaşamadığında manuel modu kullanın:
```bash
OPENCLAW_GOOGLE_MEET_CLIENT_ID="your-client-id" \
@@ -515,37 +523,37 @@ JSON çıktısı şunları içerir:
}
```
-Yenileme token’ını yapılandırmada istemiyorsanız ortam değişkenlerini tercih
-edin. Hem yapılandırma hem de ortam değerleri varsa, Plugin önce
-yapılandırmayı, ardından ortam yedeğini çözümler.
+Yenileme belirtecini yapılandırmada istemediğinizde ortam değişkenlerini tercih
+edin. Hem yapılandırma hem de ortam değerleri varsa Plugin önce yapılandırmayı,
+ardından ortam yedeğini çözümler.
OAuth izni Meet alanı oluşturma, Meet alanı okuma erişimi ve Meet konferans
medyası okuma erişimini içerir. Toplantı oluşturma desteği var olmadan önce
-kimlik doğrulaması yaptıysanız, yenileme token’ının `meetings.space.created`
-kapsamına sahip olması için `openclaw googlemeet auth login --json` komutunu
-yeniden çalıştırın.
+kimlik doğruladıysanız yenileme belirtecinin `meetings.space.created` kapsamına
+sahip olması için `openclaw googlemeet auth login --json` komutunu yeniden
+çalıştırın.
-### OAuth’u doctor ile doğrulama
+### OAuth'u doctor ile doğrulayın
-Hızlı, gizli bilgi içermeyen bir sağlık denetimi istediğinizde OAuth doctor’ı
+Hızlı, gizli bilgi içermeyen bir sağlık denetimi istediğinizde OAuth doctor'ı
çalıştırın:
```bash
openclaw googlemeet doctor --oauth --json
```
-Bu, Chrome runtime’ını yüklemez veya bağlı bir Chrome Node gerektirmez. OAuth
-yapılandırmasının var olduğunu ve yenileme token’ının bir erişim token’ı
+Bu, Chrome çalışma zamanını yüklemez veya bağlı bir Chrome Node'u gerektirmez.
+OAuth yapılandırmasının var olduğunu ve yenileme belirtecinin erişim belirteci
üretebildiğini denetler. JSON raporu yalnızca `ok`, `configured`,
-`tokenSource`, `expiresAt` ve denetim iletileri gibi durum alanlarını içerir;
-erişim token’ını, yenileme token’ını veya istemci gizli anahtarını yazdırmaz.
+`tokenSource`, `expiresAt` ve denetim mesajları gibi durum alanlarını içerir;
+erişim belirtecini, yenileme belirtecini veya istemci gizli bilgisini yazdırmaz.
Yaygın sonuçlar:
-| Denetim | Anlamı |
-| ------------------- | ---------------------------------------------------------------------------------------- |
-| `oauth-config` | `oauth.clientId` ile `oauth.refreshToken` veya önbelleğe alınmış erişim token’ı mevcut. |
-| `oauth-token` | Önbelleğe alınmış erişim token’ı hâlâ geçerli veya yenileme token’ı yeni bir erişim token’ı üretti. |
+| Denetim | Anlam |
+| ------------------- | --------------------------------------------------------------------------------------- |
+| `oauth-config` | `oauth.clientId` ile `oauth.refreshToken` veya önbelleğe alınmış bir erişim belirteci mevcut. |
+| `oauth-token` | Önbelleğe alınmış erişim belirteci hâlâ geçerli veya yenileme belirteci yeni bir erişim belirteci üretti. |
| `meet-spaces-get` | İsteğe bağlı `--meeting` denetimi mevcut bir Meet alanını çözümledi. |
| `meet-spaces-create` | İsteğe bağlı `--create-space` denetimi yeni bir Meet alanı oluşturdu. |
@@ -557,12 +565,12 @@ openclaw googlemeet doctor --oauth --create-space --json
openclaw googlemeet create --no-join --json
```
-`--create-space`, atılabilir bir Meet URL’si oluşturur. Bunu, Google Cloud
-projesinde Meet API’nin etkin olduğunu ve yetkilendirilmiş hesabın
-`meetings.space.created` kapsamına sahip olduğunu doğrulamanız gerektiğinde
+`--create-space` tek kullanımlık bir Meet URL'si oluşturur. Google Cloud
+projesinde Meet API'nin etkin olduğunu ve yetkilendirilmiş hesabın
+`meetings.space.created` kapsamına sahip olduğunu doğrulamanız gerektiğinde bunu
kullanın.
-Mevcut bir toplantı alanı için okuma erişimini kanıtlamak için:
+Mevcut bir toplantı alanı için okuma erişimini kanıtlamak üzere:
```bash
openclaw googlemeet doctor --oauth --meeting https://meet.google.com/abc-defg-hij --json
@@ -571,15 +579,15 @@ openclaw googlemeet resolve-space --meeting https://meet.google.com/abc-defg-hij
`doctor --oauth --meeting` ve `resolve-space`, yetkilendirilmiş Google hesabının
erişebildiği mevcut bir alana okuma erişimini kanıtlar. Bu denetimlerden gelen
-bir `403` genellikle Google Meet REST API’nin devre dışı olduğu, izin verilen
-yenileme token’ında gerekli kapsamın eksik olduğu veya Google hesabının ilgili
-Meet alanına erişemediği anlamına gelir. Yenileme token’ı hatası, `openclaw
+bir `403` genellikle Google Meet REST API'nin devre dışı olduğu, izin verilmiş
+yenileme belirtecinin gerekli kapsamı eksik olduğu veya Google hesabının o Meet
+alanına erişemediği anlamına gelir. Yenileme belirteci hatası, `openclaw
googlemeet auth login --json` komutunu yeniden çalıştırmanız ve yeni `oauth`
bloğunu saklamanız gerektiği anlamına gelir.
Tarayıcı yedeği için OAuth kimlik bilgileri gerekmez. Bu modda Google kimlik
-doğrulaması OpenClaw yapılandırmasından değil, seçilen Node üzerindeki oturum
-açmış Chrome profilinden gelir.
+doğrulaması OpenClaw yapılandırmasından değil, seçilen Node üzerindeki giriş
+yapılmış Chrome profilinden gelir.
Bu ortam değişkenleri yedek olarak kabul edilir:
@@ -598,7 +606,7 @@ Bir Meet URL'sini, kodunu veya `spaces/{id}` değerini `spaces.get` üzerinden
openclaw googlemeet resolve-space --meeting https://meet.google.com/abc-defg-hij
```
-Medya çalışmasından önce ön denetimi çalıştırın:
+Medya işinden önce ön kontrol çalıştırın:
```bash
openclaw googlemeet preflight --meeting https://meet.google.com/abc-defg-hij
@@ -613,11 +621,10 @@ openclaw googlemeet export --meeting https://meet.google.com/abc-defg-hij --outp
```
`--meeting` ile `artifacts` ve `attendance` varsayılan olarak en son konferans kaydını
-kullanır. Bu toplantı için saklanan her kaydı istediğinizde `--all-conference-records`
+kullanır. Bu toplantı için tutulan her kaydı istediğinizde `--all-conference-records`
iletin.
-Takvim araması, Meet yapıtlarını okumadan önce toplantı URL'sini Google Calendar üzerinden
-çözümleyebilir:
+Calendar araması, Meet yapıtlarını okumadan önce toplantı URL'sini Google Calendar'dan çözümleyebilir:
```bash
openclaw googlemeet latest --today
@@ -626,14 +633,14 @@ openclaw googlemeet artifacts --event "Weekly sync"
openclaw googlemeet attendance --today --format csv --output attendance.csv
```
-`--today`, Google Meet bağlantısı olan bir Calendar etkinliği için bugünün `primary`
-takviminde arama yapar. Eşleşen etkinlik metnini aramak için `--event `,
-birincil olmayan bir takvim için `--calendar ` kullanın. Takvim araması, Calendar
-events readonly kapsamını içeren yeni bir OAuth oturumu gerektirir.
-`calendar-events`, eşleşen Meet etkinliklerinin önizlemesini gösterir ve `latest`,
-`artifacts`, `attendance` veya `export` komutunun seçeceği etkinliği işaretler.
+`--today`, bugünün `primary` takviminde Google Meet bağlantısı olan bir Calendar
+etkinliği arar. Eşleşen etkinlik metnini aramak için `--event `, birincil
+olmayan bir takvim için `--calendar ` kullanın. Calendar araması, Calendar
+etkinlikleri salt okunur kapsamını içeren yeni bir OAuth oturumu gerektirir.
+`calendar-events`, eşleşen Meet etkinliklerini önizler ve `latest`, `artifacts`,
+`attendance` veya `export` komutunun seçeceği etkinliği işaretler.
-Konferans kayıt kimliğini zaten biliyorsanız doğrudan adresleyin:
+Konferans kaydı kimliğini zaten biliyorsanız, doğrudan adresleyin:
```bash
openclaw googlemeet latest --meeting https://meet.google.com/abc-defg-hij
@@ -656,33 +663,35 @@ openclaw googlemeet export --conference-record conferenceRecords/abc123 \
--include-doc-bodies --dry-run
```
-`artifacts`, Google toplantı için açığa çıkardığında konferans kaydı meta verilerini ve
+`artifacts`, Google toplantı için sunduğunda konferans kaydı meta verilerini ve
katılımcı, kayıt, döküm, yapılandırılmış döküm girdisi ve akıllı not kaynak meta
verilerini döndürür. Büyük toplantılarda girdi aramasını atlamak için
`--no-transcript-entries` kullanın. `attendance`, katılımcıları ilk/son görülme
zamanları, toplam oturum süresi, geç/erken ayrılma bayrakları ve oturum açmış
-kullanıcıya veya görünen ada göre birleştirilmiş yinelenen katılımcı kaynaklarıyla
-katılımcı-oturum satırlarına genişletir. Ham katılımcı kaynaklarını ayrı tutmak için
-`--no-merge-duplicates`, geç algılamayı ayarlamak için `--late-after-minutes` ve
-erken ayrılma algılamasını ayarlamak için `--early-before-minutes` iletin.
+kullanıcıya veya görünen ada göre birleştirilmiş yinelenen katılımcı kaynakları
+içeren katılımcı oturumu satırlarına genişletir. Ham katılımcı kaynaklarını ayrı
+tutmak için `--no-merge-duplicates`, geç algılamasını ayarlamak için
+`--late-after-minutes` ve erken ayrılma algılamasını ayarlamak için
+`--early-before-minutes` iletin.
`export`, `summary.md`, `attendance.csv`, `transcript.md`, `artifacts.json`,
-`attendance.json` ve `manifest.json` içeren bir klasör yazar. `manifest.json` seçilen
-girdiyi, dışa aktarma seçeneklerini, konferans kayıtlarını, çıktı dosyalarını,
-sayımları, token kaynağını, kullanıldıysa Calendar etkinliğini ve kısmi alma
-uyarılarını kaydeder. Klasörün yanına taşınabilir bir arşiv de yazmak için `--zip`
-iletin. Bağlantılı döküm ve akıllı not Google Docs metnini Google Drive
-`files.export` üzerinden dışa aktarmak için `--include-doc-bodies` iletin; bu, Drive
-Meet readonly kapsamını içeren yeni bir OAuth oturumu gerektirir. `--include-doc-bodies`
-olmadan dışa aktarmalar yalnızca Meet meta verilerini ve yapılandırılmış döküm
-girdilerini içerir. Google akıllı not listeleme, döküm girdisi veya Drive belge gövdesi
-hatası gibi kısmi bir yapıt hatası döndürürse, özet ve manifest tüm dışa aktarmayı
-başarısız kılmak yerine uyarıyı korur. Aynı yapıt/katılım verilerini getirmek ve klasör
-veya ZIP oluşturmadan manifest JSON'unu yazdırmak için `--dry-run` kullanın. Bu, büyük
-bir dışa aktarma yazmadan önce veya bir ajanın yalnızca sayımlara, seçilen kayıtlara ve
-uyarılara ihtiyaç duyduğunda kullanışlıdır.
+`attendance.json` ve `manifest.json` içeren bir klasör yazar. `manifest.json`,
+seçilen girdiyi, dışa aktarma seçeneklerini, konferans kayıtlarını, çıktı
+dosyalarını, sayıları, belirteç kaynağını, kullanıldıysa Calendar etkinliğini ve
+kısmi alma uyarılarını kaydeder. Klasörün yanına taşınabilir bir arşiv de yazmak
+için `--zip` iletin. Bağlı döküm ve akıllı not Google Docs metnini Google Drive
+`files.export` üzerinden dışa aktarmak için `--include-doc-bodies` iletin; bu,
+Drive Meet salt okunur kapsamını içeren yeni bir OAuth oturumu gerektirir.
+`--include-doc-bodies` olmadan dışa aktarmalar yalnızca Meet meta verilerini ve
+yapılandırılmış döküm girdilerini içerir. Google akıllı not listeleme, döküm
+girdisi veya Drive belge gövdesi hatası gibi kısmi bir yapıt hatası döndürürse,
+özet ve manifest tüm dışa aktarmayı başarısız yapmak yerine uyarıyı saklar.
+Klasörü veya ZIP'i oluşturmadan aynı yapıt/katılım verilerini getirmek ve
+manifest JSON'unu yazdırmak için `--dry-run` kullanın. Bu, büyük bir dışa
+aktarma yazmadan önce veya bir aracının yalnızca sayılara, seçilen kayıtlara ve
+uyarılara ihtiyaç duyduğu durumlarda kullanışlıdır.
-Ajanlar aynı paketi `google_meet` aracı üzerinden de oluşturabilir:
+Aracılar aynı paketi `google_meet` aracı üzerinden de oluşturabilir:
```json
{
@@ -696,7 +705,7 @@ Ajanlar aynı paketi `google_meet` aracı üzerinden de oluşturabilir:
Yalnızca dışa aktarma manifestini döndürmek ve dosya yazımlarını atlamak için `"dryRun": true` ayarlayın.
-Korunan canlı smoke testini gerçek bir saklanan toplantıya karşı çalıştırın:
+Korunan canlı duman testini gerçek bir tutulmuş toplantıya karşı çalıştırın:
```bash
OPENCLAW_LIVE_TEST=1 \
@@ -704,25 +713,25 @@ OPENCLAW_GOOGLE_MEET_LIVE_MEETING=https://meet.google.com/abc-defg-hij \
pnpm test:live -- extensions/google-meet/google-meet.live.test.ts
```
-Canlı smoke ortamı:
+Canlı duman testi ortamı:
-- `OPENCLAW_LIVE_TEST=1` korunan canlı testleri etkinleştirir.
-- `OPENCLAW_GOOGLE_MEET_LIVE_MEETING`, saklanan bir Meet URL'sine, koduna veya
+- `OPENCLAW_LIVE_TEST=1` korumalı canlı testleri etkinleştirir.
+- `OPENCLAW_GOOGLE_MEET_LIVE_MEETING`, tutulan bir Meet URL'sine, koduna veya
`spaces/{id}` değerine işaret eder.
-- `OPENCLAW_GOOGLE_MEET_CLIENT_ID` veya `GOOGLE_MEET_CLIENT_ID` OAuth istemci kimliğini
- sağlar.
-- `OPENCLAW_GOOGLE_MEET_REFRESH_TOKEN` veya `GOOGLE_MEET_REFRESH_TOKEN` yenileme
- token'ını sağlar.
+- `OPENCLAW_GOOGLE_MEET_CLIENT_ID` veya `GOOGLE_MEET_CLIENT_ID`, OAuth istemci
+ kimliğini sağlar.
+- `OPENCLAW_GOOGLE_MEET_REFRESH_TOKEN` veya `GOOGLE_MEET_REFRESH_TOKEN`, yenileme
+ belirtecini sağlar.
- İsteğe bağlı: `OPENCLAW_GOOGLE_MEET_CLIENT_SECRET`,
`OPENCLAW_GOOGLE_MEET_ACCESS_TOKEN` ve
- `OPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AT`, `OPENCLAW_` ön eki olmadan aynı
+ `OPENCLAW_GOOGLE_MEET_ACCESS_TOKEN_EXPIRES_AT`, `OPENCLAW_` öneki olmadan aynı
yedek adları kullanır.
-Temel yapıt/katılım canlı smoke testi
+Temel yapıt/katılım canlı duman testi
`https://www.googleapis.com/auth/meetings.space.readonly` ve
`https://www.googleapis.com/auth/meetings.conference.media.readonly` gerektirir.
-Takvim araması `https://www.googleapis.com/auth/calendar.events.readonly` gerektirir.
-Drive belge gövdesi dışa aktarması
+Calendar araması `https://www.googleapis.com/auth/calendar.events.readonly`
+gerektirir. Drive belge gövdesi dışa aktarması
`https://www.googleapis.com/auth/drive.meet.readonly` gerektirir.
Yeni bir Meet alanı oluşturun:
@@ -731,11 +740,12 @@ Yeni bir Meet alanı oluşturun:
openclaw googlemeet create
```
-Komut yeni `meeting uri`, kaynağı ve katılma oturumunu yazdırır. OAuth kimlik
-bilgileriyle resmi Google Meet API'sini kullanır. OAuth kimlik bilgileri olmadan, yedek
-olarak sabitlenmiş Chrome node'unun oturum açmış tarayıcı profilini kullanır. Ajanlar,
-tek adımda oluşturmak ve katılmak için `google_meet` aracını `action: "create"` ile
-kullanabilir. Yalnızca URL oluşturma için `"join": false` iletin.
+Komut yeni `meeting uri` değerini, kaynağı ve katılma oturumunu yazdırır. OAuth
+kimlik bilgileriyle resmi Google Meet API'sini kullanır. OAuth kimlik bilgileri
+olmadan, yedek olarak sabitlenmiş Chrome Node'un oturum açmış tarayıcı profilini
+kullanır. Aracılar tek adımda oluşturmak ve katılmak için `google_meet` aracını
+`action: "create"` ile kullanabilir. Yalnızca URL oluşturma için `"join": false`
+iletin.
Tarayıcı yedeğinden örnek JSON çıktısı:
@@ -757,9 +767,9 @@ Tarayıcı yedeğinden örnek JSON çıktısı:
}
```
-Tarayıcı yedeği URL'yi oluşturamadan önce Google oturum açma veya Meet izin engeline
-takılırsa, Gateway yöntemi başarısız bir yanıt döndürür ve `google_meet` aracı düz bir
-dize yerine yapılandırılmış ayrıntılar döndürür:
+Tarayıcı yedeği URL'yi oluşturamadan Google oturum açma veya Meet izin engeline
+takılırsa, Gateway yöntemi başarısız bir yanıt döndürür ve `google_meet` aracı
+düz bir dize yerine yapılandırılmış ayrıntılar döndürür:
```json
{
@@ -777,9 +787,9 @@ dize yerine yapılandırılmış ayrıntılar döndürür:
}
```
-Bir ajan `manualActionRequired: true` gördüğünde, `manualActionMessage` ile birlikte
-tarayıcı node/sekme bağlamını bildirmeli ve operatör tarayıcı adımını tamamlayana kadar
-yeni Meet sekmeleri açmayı durdurmalıdır.
+Bir aracı `manualActionRequired: true` gördüğünde, `manualActionMessage` değerini
+tarayıcı Node/sekme bağlamıyla birlikte bildirmeli ve operatör tarayıcı adımını
+tamamlayana kadar yeni Meet sekmeleri açmayı durdurmalıdır.
API oluşturmasından örnek JSON çıktısı:
@@ -802,21 +812,22 @@ API oluşturmasından örnek JSON çıktısı:
}
```
-Meet oluşturma varsayılan olarak katılır. Chrome veya Chrome-node aktarımı, tarayıcı
-üzerinden katılmak için yine de oturum açmış bir Google Chrome profiline ihtiyaç duyar.
-Profilin oturumu kapalıysa OpenClaw `manualActionRequired: true` veya bir tarayıcı
-yedek hatası bildirir ve yeniden denemeden önce operatörden Google oturum açma işlemini
-tamamlamasını ister.
+Meet oluşturma varsayılan olarak katılır. Chrome veya Chrome Node taşıması,
+tarayıcı üzerinden katılmak için yine de oturum açmış bir Google Chrome profiline
+ihtiyaç duyar. Profilin oturumu kapalıysa, OpenClaw `manualActionRequired: true`
+veya bir tarayıcı yedeği hatası bildirir ve yeniden denemeden önce operatörden
+Google oturum açma işlemini tamamlamasını ister.
`preview.enrollmentAcknowledged: true` değerini yalnızca Cloud projenizin, OAuth
-sorumlusunun ve toplantı katılımcılarının Meet medya API'leri için Google Workspace
-Developer Preview Program'a kayıtlı olduğunu doğruladıktan sonra ayarlayın.
+sorumlusunun ve toplantı katılımcılarının Meet medya API'leri için Google
+Workspace Developer Preview Program'a kaydolduğunu doğruladıktan sonra ayarlayın.
## Yapılandırma
-Yaygın Chrome gerçek zamanlı yolu yalnızca Plugin'in etkin olmasına, BlackHole'a, SoX'a
-ve bir arka uç gerçek zamanlı ses sağlayıcısı anahtarına ihtiyaç duyar. Varsayılan
-OpenAI'dır; Google Gemini Live kullanmak için `realtime.provider: "google"` ayarlayın:
+Ortak Chrome gerçek zamanlı yolu yalnızca Plugin'in etkin olmasını, BlackHole,
+SoX ve bir arka uç gerçek zamanlı ses sağlayıcı anahtarını gerektirir. OpenAI
+varsayılandır; Google Gemini Live kullanmak için `realtime.provider: "google"`
+ayarlayın:
```bash
brew install blackhole-2ch sox
@@ -844,29 +855,40 @@ Varsayılanlar:
- `defaultTransport: "chrome"`
- `defaultMode: "realtime"`
-- `chromeNode.node`: `chrome-node` için isteğe bağlı node kimliği/adı/IP'si
+- `chromeNode.node`: `chrome-node` için isteğe bağlı Node kimliği/adı/IP'si
- `chrome.audioBackend: "blackhole-2ch"`
-- `chrome.guestName: "OpenClaw Agent"`: oturumu kapalı Meet konuk ekranında kullanılan ad
-- `chrome.autoJoin: true`: OpenClaw tarayıcı otomasyonu üzerinden `chrome-node` üzerinde
- en iyi çabayla konuk adı doldurma ve Join Now tıklaması
-- `chrome.reuseExistingTab: true`: yinelenenleri açmak yerine mevcut bir Meet sekmesini
- etkinleştir
-- `chrome.waitForInCallMs: 20000`: gerçek zamanlı giriş tetiklenmeden önce Meet sekmesinin
- aramada olduğunu bildirmesini bekle
-- `chrome.audioFormat: "pcm16-24khz"`: komut çifti ses biçimi. `"g711-ulaw-8khz"`
- değerini yalnızca hâlâ telefon sesleri yayan eski/özel komut çiftleri için kullanın.
-- `chrome.audioInputCommand`: CoreAudio `BlackHole 2ch` üzerinden okuyan ve
- `chrome.audioFormat` biçiminde ses yazan SoX komutu
-- `chrome.audioOutputCommand`: `chrome.audioFormat` biçiminde ses okuyan ve CoreAudio
- `BlackHole 2ch` üzerine yazan SoX komutu
+- `chrome.guestName: "OpenClaw Agent"`: oturumu kapalı Meet misafir ekranında
+ kullanılan ad
+- `chrome.autoJoin: true`: `chrome-node` üzerinde OpenClaw tarayıcı otomasyonu
+ aracılığıyla en iyi çabayla misafir adı doldurma ve Join Now tıklaması
+- `chrome.reuseExistingTab: true`: yinelenenleri açmak yerine mevcut bir Meet
+ sekmesini etkinleştir
+- `chrome.waitForInCallMs: 20000`: gerçek zamanlı giriş tetiklenmeden önce Meet
+ sekmesinin çağrıda olduğunu bildirmesini bekle
+- `chrome.audioFormat: "pcm16-24khz"`: komut çifti ses biçimi. Yalnızca hâlâ
+ telefon sesi yayan eski/özel komut çiftleri için `"g711-ulaw-8khz"` kullanın.
+- `chrome.audioInputCommand`: CoreAudio `BlackHole 2ch` üzerinden okuyup
+ `chrome.audioFormat` içinde ses yazan SoX komutu
+- `chrome.audioOutputCommand`: `chrome.audioFormat` içinde ses okuyup CoreAudio
+ `BlackHole 2ch` öğesine yazan SoX komutu
+- `chrome.bargeInInputCommand`: yardımcı oynatımı etkinken insan araya girme
+ algılaması için imzalı 16 bit küçük uçlu mono PCM yazan isteğe bağlı yerel
+ mikrofon komutu. Bu şu anda Gateway barındırmalı `chrome` komut çifti
+ köprüsü için geçerlidir.
+- `chrome.bargeInRmsThreshold: 650`: `chrome.bargeInInputCommand` üzerinde insan
+ kesintisi sayılan RMS seviyesi
+- `chrome.bargeInPeakThreshold: 2500`: `chrome.bargeInInputCommand` üzerinde
+ insan kesintisi sayılan tepe seviyesi
+- `chrome.bargeInCooldownMs: 900`: tekrarlanan insan kesintisi temizlemeleri
+ arasındaki minimum gecikme
- `realtime.provider: "openai"`
- `realtime.toolPolicy: "safe-read-only"`
-- `realtime.instructions`: daha derin yanıtlar için `openclaw_agent_consult` ile kısa
- sözlü yanıtlar
-- `realtime.introMessage`: gerçek zamanlı köprü bağlandığında kısa sözlü hazır olma
- kontrolü; sessiz katılmak için `""` olarak ayarlayın
-- `realtime.agentId`: `openclaw_agent_consult` için isteğe bağlı OpenClaw ajan kimliği;
- varsayılanı `main`
+- `realtime.instructions`: daha derin yanıtlar için `openclaw_agent_consult`
+ ile kısa sözlü yanıtlar
+- `realtime.introMessage`: gerçek zamanlı köprü bağlandığında kısa sözlü
+ hazır olma kontrolü; sessizce katılmak için bunu `""` olarak ayarlayın
+- `realtime.agentId`: `openclaw_agent_consult` için isteğe bağlı OpenClaw aracı
+ kimliği; varsayılan `main`
İsteğe bağlı geçersiz kılmalar:
@@ -881,6 +903,24 @@ Varsayılanlar:
chrome: {
guestName: "OpenClaw Agent",
waitForInCallMs: 30000,
+ bargeInInputCommand: [
+ "sox",
+ "-q",
+ "-t",
+ "coreaudio",
+ "External Microphone",
+ "-r",
+ "24000",
+ "-c",
+ "1",
+ "-b",
+ "16",
+ "-e",
+ "signed-integer",
+ "-t",
+ "raw",
+ "-",
+ ],
},
chromeNode: {
node: "parallels-macos",
@@ -915,10 +955,7 @@ Yalnızca Twilio yapılandırması:
}
```
-`voiceCall.enabled` varsayılan olarak `true` değerindedir; Twilio aktarımıyla gerçek
-PSTN çağrısını ve DTMF'yi Voice Call Plugin'e devreder. `voice-call` etkin değilse,
-Google Meet arama planını yine de doğrulayabilir ve kaydedebilir, ancak Twilio çağrısını
-başlatamaz.
+`voiceCall.enabled` varsayılan olarak `true` değerindedir; Twilio taşımasıyla gerçek PSTN çağrısını, DTMF'yi ve giriş selamlamasını Voice Call Plugin'e devreder. Voice Call, gerçek zamanlı medya akışını açmadan önce DTMF dizisini çalar, ardından kaydedilmiş giriş metnini ilk gerçek zamanlı selamlama olarak kullanır. `voice-call` etkin değilse Google Meet arama planını yine de doğrulayabilir ve kaydedebilir, ancak Twilio çağrısını yapamaz.
## Araç
@@ -933,18 +970,19 @@ Ajanlar `google_meet` aracını kullanabilir:
}
```
-Chrome Gateway ana makinesinde çalıştığında `transport: "chrome"` kullanın. Chrome, Parallels VM gibi eşleştirilmiş bir node üzerinde çalıştığında `transport: "chrome-node"` kullanın. Her iki durumda da gerçek zamanlı model ve `openclaw_agent_consult` Gateway ana makinesinde çalışır; bu nedenle model kimlik bilgileri orada kalır.
+Chrome Gateway ana makinesinde çalıştığında `transport: "chrome"` kullanın. Chrome, Parallels VM gibi eşleştirilmiş bir Node üzerinde çalıştığında `transport: "chrome-node"` kullanın. Her iki durumda da gerçek zamanlı model ve `openclaw_agent_consult` Gateway ana makinesinde çalışır, böylece model kimlik bilgileri orada kalır.
-Etkin oturumları listelemek veya bir oturum kimliğini incelemek için `action: "status"` kullanın. Gerçek zamanlı ajanın hemen konuşmasını sağlamak için `sessionId` ve `message` ile `action: "speak"` kullanın. Oturumu oluşturmak veya yeniden kullanmak, bilinen bir ifadeyi tetiklemek ve Chrome ana makinesi bunu raporlayabiliyorsa `inCall` sağlık bilgisini döndürmek için `action: "test_speech"` kullanın. `test_speech` her zaman `mode: "realtime"` değerini zorunlu kılar ve `mode: "transcribe"` içinde çalıştırılması istenirse başarısız olur; çünkü yalnızca gözlem amaçlı oturumlar bilerek konuşma yayamaz. `speechOutputVerified` sonucu, bu test çağrısı sırasında gerçek zamanlı ses çıkışı baytlarının artmasına dayanır; bu yüzden daha eski ses içeren yeniden kullanılan bir oturum yeni ve başarılı bir konuşma denetimi sayılmaz. Bir oturumu sona ermiş olarak işaretlemek için `action: "leave"` kullanın.
+Etkin oturumları listelemek veya bir oturum kimliğini incelemek için `action: "status"` kullanın. Gerçek zamanlı ajanın hemen konuşmasını sağlamak için `sessionId` ve `message` ile `action: "speak"` kullanın. Oturumu oluşturmak veya yeniden kullanmak, bilinen bir ifadeyi tetiklemek ve Chrome ana makinesi raporlayabildiğinde `inCall` sağlığını döndürmek için `action: "test_speech"` kullanın. `test_speech` her zaman `mode: "realtime"` zorlar ve `mode: "transcribe"` ile çalıştırılması istenirse başarısız olur; çünkü yalnızca gözlem oturumları kasıtlı olarak konuşma yayımlayamaz. `speechOutputVerified` sonucu, bu test çağrısı sırasında gerçek zamanlı ses çıkışı baytlarının artmasına dayanır; bu yüzden eski sese sahip yeniden kullanılan bir oturum yeni ve başarılı bir konuşma denetimi sayılmaz. Bir oturumu sona ermiş olarak işaretlemek için `action: "leave"` kullanın.
-`status`, mevcut olduğunda Chrome sağlık bilgisini içerir:
+`status`, kullanılabilir olduğunda Chrome sağlığını içerir:
- `inCall`: Chrome Meet çağrısının içinde görünüyor
-- `micMuted`: en iyi çaba ile belirlenen Meet mikrofon durumu
-- `manualActionRequired` / `manualActionReason` / `manualActionMessage`: konuşmanın çalışabilmesi için tarayıcı profilinde manuel oturum açma, Meet sahibi kabulü, izinler veya tarayıcı denetimi onarımı gerekiyor
-- `speechReady` / `speechBlockedReason` / `speechBlockedMessage`: yönetilen Chrome konuşmasına şu anda izin verilip verilmediği. `speechReady: false`, OpenClaw'un giriş/test ifadesini ses köprüsüne göndermediği anlamına gelir.
+- `micMuted`: en iyi çabayla belirlenen Meet mikrofon durumu
+- `manualActionRequired` / `manualActionReason` / `manualActionMessage`: konuşmanın çalışabilmesi için tarayıcı profilinde elle oturum açma, Meet sahibi tarafından kabul, izinler veya tarayıcı denetimi onarımı gerekir
+- `speechReady` / `speechBlockedReason` / `speechBlockedMessage`: yönetilen Chrome konuşmasına şu anda izin verilip verilmediği. `speechReady: false`, OpenClaw'ın giriş/test ifadesini ses köprüsüne göndermediği anlamına gelir.
- `providerConnected` / `realtimeReady`: gerçek zamanlı ses köprüsü durumu
- `lastInputAt` / `lastOutputAt`: köprüden görülen veya köprüye gönderilen son ses
+- `lastSuppressedInputAt` / `suppressedInputBytes`: asistan oynatımı etkinken yok sayılan loopback girişi
```json
{
@@ -954,29 +992,29 @@ Etkin oturumları listelemek veya bir oturum kimliğini incelemek için `action:
}
```
-## Gerçek zamanlı ajan danışması
+## Gerçek Zamanlı Ajan Danışması
-Chrome gerçek zamanlı modu, canlı bir ses döngüsü için optimize edilmiştir. Gerçek zamanlı ses sağlayıcısı toplantı sesini duyar ve yapılandırılmış ses köprüsü üzerinden konuşur. Gerçek zamanlı model daha derin akıl yürütmeye, güncel bilgiye veya normal OpenClaw araçlarına ihtiyaç duyduğunda `openclaw_agent_consult` çağırabilir.
+Chrome gerçek zamanlı modu canlı bir ses döngüsü için optimize edilmiştir. Gerçek zamanlı ses sağlayıcısı toplantı sesini duyar ve yapılandırılmış ses köprüsü üzerinden konuşur. Gerçek zamanlı model daha derin akıl yürütmeye, güncel bilgiye veya normal OpenClaw araçlarına ihtiyaç duyduğunda `openclaw_agent_consult` çağırabilir.
-Danışma aracı, arka planda son toplantı dökümü bağlamıyla normal OpenClaw ajanını çalıştırır ve gerçek zamanlı ses oturumuna kısa, konuşmaya uygun bir yanıt döndürür. Ses modeli daha sonra bu yanıtı toplantıya konuşarak aktarabilir. Voice Call ile aynı paylaşılan gerçek zamanlı danışma aracını kullanır.
+Danışma aracı, son toplantı transkripti bağlamıyla birlikte arka planda normal OpenClaw ajanını çalıştırır ve gerçek zamanlı ses oturumuna kısa, sözlü bir yanıt döndürür. Ses modeli daha sonra bu yanıtı toplantıya konuşabilir. Voice Call ile aynı paylaşılan gerçek zamanlı danışma aracını kullanır.
-Varsayılan olarak danışmalar `main` ajanına karşı çalışır. Bir Meet hattının özel bir OpenClaw ajan çalışma alanına, model varsayılanlarına, araç politikasına, belleğe ve oturum geçmişine danışması gerektiğinde `realtime.agentId` ayarlayın.
+Varsayılan olarak danışmalar `main` ajanına karşı çalışır. Bir Meet hattı özel bir OpenClaw ajan çalışma alanına, model varsayılanlarına, araç politikasına, belleğe ve oturum geçmişine danışmalıysa `realtime.agentId` ayarlayın.
`realtime.toolPolicy` danışma çalıştırmasını denetler:
- `safe-read-only`: danışma aracını açığa çıkarır ve normal ajanı `read`, `web_search`, `web_fetch`, `x_search`, `memory_search` ve `memory_get` ile sınırlar.
-- `owner`: danışma aracını açığa çıkarır ve normal ajanın olağan ajan araç politikasını kullanmasına izin verir.
+- `owner`: danışma aracını açığa çıkarır ve normal ajanın normal ajan araç politikasını kullanmasına izin verir.
- `none`: danışma aracını gerçek zamanlı ses modeline açığa çıkarmaz.
-Danışma oturum anahtarı her Meet oturumu için kapsamlandırılır; böylece takip danışma çağrıları aynı toplantı sırasında önceki danışma bağlamını yeniden kullanabilir.
+Danışma oturumu anahtarı her Meet oturumu için kapsamlanır, böylece takip danışma çağrıları aynı toplantı sırasında önceki danışma bağlamını yeniden kullanabilir.
-Chrome çağrıya tamamen katıldıktan sonra konuşmalı bir hazırlık denetimini zorlamak için:
+Chrome çağrıya tamamen katıldıktan sonra sözlü bir hazır olma denetimini zorlamak için:
```bash
openclaw googlemeet speak meet_... "Say exactly: I'm here and listening."
```
-Tam katıl-ve-konuş smoke testi için:
+Tam katılma-ve-konuşma smoke testi için:
```bash
openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij \
@@ -984,9 +1022,9 @@ openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij \
--message "Say exactly: I'm here and listening."
```
-## Canlı test kontrol listesi
+## Canlı Test Kontrol Listesi
-Bir toplantıyı gözetimsiz bir ajana devretmeden önce bu sıralamayı kullanın:
+Bir toplantıyı gözetimsiz bir ajana devretmeden önce şu sırayı kullanın:
```bash
openclaw googlemeet setup
@@ -999,12 +1037,12 @@ openclaw googlemeet test-speech https://meet.google.com/abc-defg-hij \
Beklenen Chrome-node durumu:
- `googlemeet setup` tamamen yeşildir.
-- Varsayılan aktarım Chrome-node olduğunda veya bir node sabitlendiğinde `googlemeet setup`, `chrome-node-connected` içerir.
-- `nodes status` seçilen node'un bağlı olduğunu gösterir.
-- Seçilen node hem `googlemeet.chrome` hem de `browser.proxy` duyurur.
-- Meet sekmesi çağrıya katılır ve `test-speech`, `inCall: true` ile Chrome sağlık bilgisini döndürür.
+- Varsayılan taşıma Chrome-node olduğunda veya bir Node sabitlendiğinde `googlemeet setup` `chrome-node-connected` içerir.
+- `nodes status` seçili Node'un bağlı olduğunu gösterir.
+- Seçili Node hem `googlemeet.chrome` hem de `browser.proxy` duyurur.
+- Meet sekmesi çağrıya katılır ve `test-speech`, `inCall: true` ile Chrome sağlığını döndürür.
-Parallels macOS VM gibi uzak bir Chrome ana makinesi için, Gateway veya VM güncellendikten sonraki en kısa güvenli denetim şudur:
+Parallels macOS VM gibi uzak bir Chrome ana makinesi için Gateway veya VM güncellendikten sonraki en kısa güvenli denetim şudur:
```bash
openclaw googlemeet setup
@@ -1015,9 +1053,9 @@ openclaw nodes invoke \
--params '{"action":"setup"}'
```
-Bu, bir ajanın gerçek bir toplantı sekmesi açmasından önce Gateway Plugin'inin yüklendiğini, VM node'unun geçerli token ile bağlı olduğunu ve Meet ses köprüsünün kullanılabilir olduğunu kanıtlar.
+Bu, bir ajan gerçek bir toplantı sekmesi açmadan önce Gateway Plugin'in yüklendiğini, VM Node'unun geçerli belirteçle bağlı olduğunu ve Meet ses köprüsünün kullanılabilir olduğunu kanıtlar.
-Twilio smoke testi için telefonla katılım ayrıntılarını sunan bir toplantı kullanın:
+Twilio smoke testi için telefonla arama ayrıntılarını gösteren bir toplantı kullanın:
```bash
openclaw googlemeet setup
@@ -1029,27 +1067,28 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \
Beklenen Twilio durumu:
-- `googlemeet setup`, yeşil `twilio-voice-call-plugin` ve `twilio-voice-call-credentials` denetimlerini içerir.
-- Gateway yeniden yüklendikten sonra `voicecall` CLI içinde kullanılabilir.
+- `googlemeet setup` yeşil `twilio-voice-call-plugin`, `twilio-voice-call-credentials` ve `twilio-voice-call-webhook` denetimlerini içerir.
+- Gateway yeniden yüklendikten sonra CLI'da `voicecall` kullanılabilir.
- Döndürülen oturumda `transport: "twilio"` ve bir `twilio.voiceCallId` vardır.
+- `openclaw logs --follow`, gerçek zamanlı TwiML'den önce sunulan DTMF TwiML'i ve ardından ilk selamlamanın kuyruğa alındığı bir gerçek zamanlı köprüyü gösterir.
- `googlemeet leave ` devredilen sesli çağrıyı kapatır.
-## Sorun giderme
+## Sorun Giderme
-### Ajan Google Meet aracını göremiyor
+### Ajan Google Meet Aracını Göremiyor
-Plugin'in Gateway yapılandırmasında etkinleştirildiğini doğrulayın ve Gateway'i yeniden yükleyin:
+Plugin'in Gateway yapılandırmasında etkin olduğunu doğrulayın ve Gateway'i yeniden yükleyin:
```bash
openclaw plugins list | grep google-meet
openclaw googlemeet setup
```
-`plugins.entries.google-meet` değerini yeni düzenlediyseniz Gateway'i yeniden başlatın veya yeniden yükleyin. Çalışan ajan yalnızca geçerli Gateway işlemi tarafından kaydedilen Plugin araçlarını görür.
+`plugins.entries.google-meet` öğesini yeni düzenlediyseniz Gateway'i yeniden başlatın veya yeniden yükleyin. Çalışan ajan yalnızca geçerli Gateway işlemi tarafından kaydedilen Plugin araçlarını görür.
-### Bağlı Google Meet uyumlu node yok
+### Bağlı Google Meet Yeteneğine Sahip Node Yok
-Node ana makinesinde şunu çalıştırın:
+Node ana makinesinde çalıştırın:
```bash
openclaw plugins enable google-meet
@@ -1058,7 +1097,7 @@ OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
openclaw node run --host --port 18789 --display-name parallels-macos
```
-Gateway ana makinesinde node'u onaylayın ve komutları doğrulayın:
+Gateway ana makinesinde Node'u onaylayın ve komutları doğrulayın:
```bash
openclaw devices list
@@ -1066,7 +1105,7 @@ openclaw devices approve
openclaw nodes status
```
-Node bağlı olmalı ve `googlemeet.chrome` ile `browser.proxy` listelemelidir. Gateway yapılandırması bu node komutlarına izin vermelidir:
+Node bağlı olmalı ve `googlemeet.chrome` ile `browser.proxy` öğelerini listelemelidir. Gateway yapılandırması bu Node komutlarına izin vermelidir:
```json5
{
@@ -1078,7 +1117,7 @@ Node bağlı olmalı ve `googlemeet.chrome` ile `browser.proxy` listelemelidir.
}
```
-`googlemeet setup`, `chrome-node-connected` aşamasında başarısız olursa veya Gateway günlüğü `gateway token mismatch` bildirirse node'u geçerli Gateway token ile yeniden kurun veya yeniden başlatın. Bir LAN Gateway için bu genellikle şu anlama gelir:
+`googlemeet setup` `chrome-node-connected` denetiminde başarısız olursa veya Gateway günlüğü `gateway token mismatch` bildirirse Node'u geçerli Gateway belirteciyle yeniden kurun veya yeniden başlatın. Bir LAN Gateway için bu genellikle şu anlama gelir:
```bash
OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
@@ -1089,39 +1128,39 @@ OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1 \
--force
```
-Ardından node hizmetini yeniden yükleyin ve yeniden çalıştırın:
+Ardından Node hizmetini yeniden yükleyin ve tekrar çalıştırın:
```bash
openclaw googlemeet setup
openclaw nodes status --connected
```
-### Tarayıcı açılıyor ancak ajan katılamıyor
+### Tarayıcı Açılıyor Ama Ajan Katılamıyor
-`googlemeet test-speech` çalıştırın ve döndürülen Chrome sağlık bilgisini inceleyin. `manualActionRequired: true` bildirirse `manualActionMessage` değerini operatöre gösterin ve tarayıcı eylemi tamamlanana kadar yeniden denemeyi bırakın.
+`googlemeet test-speech` çalıştırın ve döndürülen Chrome sağlığını inceleyin. `manualActionRequired: true` bildirirse operatöre `manualActionMessage` gösterin ve tarayıcı işlemi tamamlanana kadar yeniden denemeyi durdurun.
-Yaygın manuel eylemler:
+Yaygın elle yapılacak işlemler:
- Chrome profilinde oturum açın.
- Konuğu Meet sahibi hesabından kabul edin.
- Chrome'un yerel izin istemi göründüğünde Chrome mikrofon/kamera izinlerini verin.
- Takılı kalmış bir Meet izin iletişim kutusunu kapatın veya onarın.
-Meet yalnızca "Do you want people to hear you in the meeting?" gösteriyor diye "oturum açılmamış" raporu vermeyin. Bu, Meet'in ses seçimi ara ekranıdır; OpenClaw, mevcut olduğunda tarayıcı otomasyonu üzerinden **Use microphone** seçeneğine tıklar ve gerçek toplantı durumunu beklemeye devam eder. Yalnızca oluşturma amaçlı tarayıcı geri dönüşü için OpenClaw, URL oluşturmak gerçek zamanlı ses yolunu gerektirmediğinden **Continue without microphone** seçeneğine tıklayabilir.
+Meet yalnızca "Do you want people to hear you in the meeting?" gösterdiği için "oturum açılmamış" bildirmeyin. Bu, Meet'in ses seçimi ara ekranıdır; OpenClaw uygun olduğunda tarayıcı otomasyonuyla **Use microphone** seçeneğine tıklar ve gerçek toplantı durumunu beklemeye devam eder. Yalnızca oluşturma tarayıcı geri dönüşü için OpenClaw **Continue without microphone** seçeneğine tıklayabilir, çünkü URL oluşturmak gerçek zamanlı ses yoluna ihtiyaç duymaz.
-### Toplantı oluşturma başarısız oluyor
+### Toplantı Oluşturma Başarısız Oluyor
-`googlemeet create`, OAuth kimlik bilgileri yapılandırıldığında önce Google Meet API `spaces.create` uç noktasını kullanır. OAuth kimlik bilgileri olmadan sabitlenmiş Chrome node tarayıcısına geri döner. Şunları doğrulayın:
+`googlemeet create`, OAuth kimlik bilgileri yapılandırıldığında önce Google Meet API `spaces.create` uç noktasını kullanır. OAuth kimlik bilgileri olmadan sabitlenmiş Chrome Node tarayıcısına geri döner. Doğrulayın:
-- API ile oluşturma için: `oauth.clientId` ve `oauth.refreshToken` yapılandırılmıştır veya eşleşen `OPENCLAW_GOOGLE_MEET_*` ortam değişkenleri mevcuttur.
-- API ile oluşturma için: yenileme token'ı, oluşturma desteği eklendikten sonra üretilmiştir. Daha eski token'larda `meetings.space.created` kapsamı eksik olabilir; `openclaw googlemeet auth login --json` komutunu yeniden çalıştırın ve Plugin yapılandırmasını güncelleyin.
-- Tarayıcı geri dönüşü için: `defaultTransport: "chrome-node"` ve `chromeNode.node`, `browser.proxy` ve `googlemeet.chrome` içeren bağlı bir node'u gösterir.
-- Tarayıcı geri dönüşü için: o node üzerindeki OpenClaw Chrome profili Google'da oturum açmıştır ve `https://meet.google.com/new` adresini açabilir.
-- Tarayıcı geri dönüşü için: yeniden denemeler yeni bir sekme açmadan önce mevcut bir `https://meet.google.com/new` veya Google hesabı istemi sekmesini yeniden kullanır. Bir ajan zaman aşımına uğrarsa manuel olarak başka bir Meet sekmesi açmak yerine araç çağrısını yeniden deneyin.
-- Tarayıcı geri dönüşü için: araç `manualActionRequired: true` döndürürse operatörü yönlendirmek için döndürülen `browser.nodeId`, `browser.targetId`, `browserUrl` ve `manualActionMessage` değerlerini kullanın. Bu eylem tamamlanana kadar döngü içinde yeniden denemeyin.
-- Tarayıcı geri dönüşü için: Meet "Do you want people to hear you in the meeting?" gösterirse sekmeyi açık bırakın. OpenClaw, tarayıcı otomasyonu aracılığıyla **Use microphone** veya yalnızca oluşturma geri dönüşü için **Continue without microphone** seçeneğine tıklamalı ve oluşturulan Meet URL'sini beklemeye devam etmelidir. Bunu yapamazsa hata `google-login-required` değil, `meet-audio-choice-required` belirtmelidir.
+- API oluşturma için: `oauth.clientId` ve `oauth.refreshToken` yapılandırılmıştır veya eşleşen `OPENCLAW_GOOGLE_MEET_*` ortam değişkenleri vardır.
+- API oluşturma için: yenileme belirteci, oluşturma desteği eklendikten sonra üretilmiştir. Eski belirteçlerde `meetings.space.created` kapsamı eksik olabilir; `openclaw googlemeet auth login --json` komutunu yeniden çalıştırın ve Plugin yapılandırmasını güncelleyin.
+- Tarayıcı geri dönüşü için: `defaultTransport: "chrome-node"` ve `chromeNode.node`, `browser.proxy` ve `googlemeet.chrome` özelliklerine sahip bağlı bir Node'u gösterir.
+- Tarayıcı geri dönüşü için: o Node üzerindeki OpenClaw Chrome profili Google'da oturum açmıştır ve `https://meet.google.com/new` adresini açabilir.
+- Tarayıcı geri dönüşü için: yeniden denemeler yeni bir sekme açmadan önce mevcut bir `https://meet.google.com/new` veya Google hesabı istem sekmesini yeniden kullanır. Bir ajan zaman aşımına uğrarsa başka bir Meet sekmesini elle açmak yerine araç çağrısını yeniden deneyin.
+- Tarayıcı geri dönüşü için: araç `manualActionRequired: true` döndürürse operatörü yönlendirmek için döndürülen `browser.nodeId`, `browser.targetId`, `browserUrl` ve `manualActionMessage` değerlerini kullanın. Bu işlem tamamlanana kadar döngü içinde yeniden denemeyin.
+- Tarayıcı geri dönüşü için: Meet "Do you want people to hear you in the meeting?" gösterirse sekmeyi açık bırakın. OpenClaw, tarayıcı otomasyonu üzerinden **Use microphone** seçeneğine veya yalnızca oluşturma geri dönüşü için **Continue without microphone** seçeneğine tıklamalı ve oluşturulan Meet URL'sini beklemeye devam etmelidir. Bunu yapamazsa hata `google-login-required` değil, `meet-audio-choice-required` belirtmelidir.
-### Ajan katılıyor ancak konuşmuyor
+### Ajan Katılıyor Ama Konuşmuyor
Gerçek zamanlı yolu denetleyin:
@@ -1130,34 +1169,31 @@ openclaw googlemeet setup
openclaw googlemeet doctor
```
-Dinleme/yanıt verme için `mode: "realtime"` kullanın. `mode: "transcribe"` bilerek çift yönlü gerçek zamanlı ses köprüsünü başlatmaz. `googlemeet test-speech` her zaman gerçek zamanlı yolu denetler ve o çağrı için köprü çıkışı baytlarının gözlemlenip gözlemlenmediğini bildirir. `speechOutputVerified` false ve `speechOutputTimedOut` true ise gerçek zamanlı sağlayıcı ifadeyi kabul etmiş olabilir, ancak OpenClaw yeni çıkış baytlarının Chrome ses köprüsüne ulaştığını görmemiştir.
+Listen/talk-back için `mode: "realtime"` kullanın. `mode: "transcribe"` bilerek duplex realtime ses köprüsünü başlatmaz. `googlemeet test-speech` her zaman realtime yolunu denetler ve o çağrı için köprü çıkış baytlarının gözlemlenip gözlemlenmediğini bildirir. `speechOutputVerified` false ve `speechOutputTimedOut` true ise realtime sağlayıcı utterance'ı kabul etmiş olabilir, ancak OpenClaw yeni çıkış baytlarının Chrome ses köprüsüne ulaştığını görmemiştir.
Ayrıca şunları doğrulayın:
-- Gateway ana makinesinde `OPENAI_API_KEY` veya `GEMINI_API_KEY` gibi bir gerçek zamanlı sağlayıcı anahtarı kullanılabilir.
-- `BlackHole 2ch` Chrome ana makinesinde görünür.
-- `sox` Chrome ana makinesinde vardır.
-- Meet mikrofonu ve hoparlörü OpenClaw tarafından kullanılan sanal ses yolu üzerinden yönlendirilir.
+- Gateway host'unda `OPENAI_API_KEY` veya `GEMINI_API_KEY` gibi bir realtime sağlayıcı anahtarı kullanılabilir durumda.
+- `BlackHole 2ch` Chrome host'unda görünür durumda.
+- `sox` Chrome host'unda mevcut.
+- Meet mikrofonu ve hoparlörü OpenClaw tarafından kullanılan sanal ses yolu üzerinden yönlendiriliyor.
-`googlemeet doctor [session-id]` oturumu, node'u, çağrı içi durumu, manuel eylem nedenini, gerçek zamanlı sağlayıcı bağlantısını, `realtimeReady` durumunu, ses giriş/çıkış etkinliğini, son ses zaman damgalarını, bayt sayaçlarını ve tarayıcı URL'sini yazdırır. Ham JSON gerektiğinde `googlemeet status [session-id]` kullanın. Token'ları açığa çıkarmadan Google Meet OAuth yenilemeyi doğrulamanız gerektiğinde `googlemeet doctor --oauth` kullanın; Google Meet API kanıtı da gerektiğinde `--meeting` veya `--create-space` ekleyin.
+`googlemeet doctor [session-id]` oturumu, node'u, görüşme içi durumu, manuel işlem nedenini, realtime sağlayıcı bağlantısını, `realtimeReady`, ses giriş/çıkış etkinliğini, son ses zaman damgalarını, bayt sayaçlarını ve tarayıcı URL'sini yazdırır. Ham JSON'a ihtiyaç duyduğunuzda `googlemeet status [session-id] --json` kullanın. Token'ları açığa çıkarmadan Google Meet OAuth yenilemeyi doğrulamanız gerektiğinde `googlemeet doctor --oauth` kullanın; ayrıca Google Meet API kanıtına ihtiyaç duyduğunuzda `--meeting` veya `--create-space` ekleyin.
-Bir ajan zaman aşımına uğradıysa ve zaten açık bir Meet sekmesi görebiliyorsanız başka bir sekme açmadan o sekmeyi inceleyin:
+Bir agent zaman aşımına uğradıysa ve zaten açık bir Meet sekmesi görüyorsanız, başka bir sekme açmadan o sekmeyi inceleyin:
```bash
openclaw googlemeet recover-tab
openclaw googlemeet recover-tab https://meet.google.com/abc-defg-hij
```
-Eşdeğer araç eylemi `recover_current_tab` değeridir. Seçilen aktarım için mevcut bir Meet sekmesine odaklanır ve onu inceler. `chrome` ile Gateway üzerinden yerel tarayıcı denetimini kullanır; `chrome-node` ile yapılandırılmış Chrome node'unu kullanır. Yeni sekme açmaz veya yeni oturum oluşturmaz; oturum açma, kabul, izinler veya ses seçimi durumu gibi geçerli engelleyiciyi bildirir. CLI komutu yapılandırılmış Gateway ile konuşur, bu nedenle Gateway çalışıyor olmalıdır; `chrome-node` ayrıca Chrome node'unun bağlı olmasını gerektirir.
+Eşdeğer araç eylemi `recover_current_tab` şeklindedir. Seçili taşıma için mevcut bir Meet sekmesine odaklanır ve onu inceler. `chrome` ile Gateway üzerinden local tarayıcı kontrolünü kullanır; `chrome-node` ile yapılandırılmış Chrome node'unu kullanır. Yeni bir sekme açmaz veya yeni bir oturum oluşturmaz; oturum açma, kabul, izinler ya da ses seçimi durumu gibi mevcut engelleyiciyi bildirir. CLI komutu yapılandırılmış Gateway ile konuşur, bu yüzden Gateway çalışıyor olmalıdır; `chrome-node` ayrıca Chrome node'unun bağlı olmasını gerektirir.
### Twilio kurulum denetimleri başarısız oluyor
-`twilio-voice-call-plugin`, `voice-call` izinli olmadığında veya etkinleştirilmediğinde başarısız olur.
-Bunu `plugins.allow` içine ekleyin, `plugins.entries.voice-call` etkinleştirin ve
-Gateway'i yeniden yükleyin.
+`voice-call` izinli veya etkin olmadığında `twilio-voice-call-plugin` başarısız olur. Bunu `plugins.allow` içine ekleyin, `plugins.entries.voice-call` öğesini etkinleştirin ve Gateway'i yeniden yükleyin.
-`twilio-voice-call-credentials`, Twilio arka ucunda hesap SID'si, kimlik doğrulama
-token'ı veya arayan numarası eksik olduğunda başarısız olur. Bunları Gateway ana makinesinde ayarlayın:
+Twilio arka ucunda account SID, auth token veya arayan numara eksik olduğunda `twilio-voice-call-credentials` başarısız olur. Bunları Gateway host'unda ayarlayın:
```bash
export TWILIO_ACCOUNT_SID=AC...
@@ -1165,22 +1201,62 @@ export TWILIO_AUTH_TOKEN=...
export TWILIO_FROM_NUMBER=+15550001234
```
+`voice-call` için herkese açık Webhook açığa çıkarma olmadığında veya `publicUrl` loopback ya da özel ağ alanını gösterdiğinde `twilio-voice-call-webhook` başarısız olur. `plugins.entries.voice-call.config.publicUrl` değerini herkese açık sağlayıcı URL'sine ayarlayın veya bir `voice-call` tüneli/Tailscale açığa çıkarması yapılandırın.
+
+Loopback ve özel URL'ler taşıyıcı callback'leri için geçerli değildir. `publicUrl` olarak `localhost`, `127.0.0.1`, `0.0.0.0`, `10.x`, `172.16.x`-`172.31.x`, `192.168.x`, `169.254.x`, `fc00::/7` veya `fd00::/8` kullanmayın.
+
+Kararlı bir herkese açık URL için:
+
+```json5
+{
+ plugins: {
+ entries: {
+ "voice-call": {
+ enabled: true,
+ config: {
+ provider: "twilio",
+ fromNumber: "+15550001234",
+ publicUrl: "https://voice.example.com/voice/webhook",
+ },
+ },
+ },
+ },
+}
+```
+
+Local geliştirme için özel host URL'si yerine bir tünel veya Tailscale açığa çıkarması kullanın:
+
+```json5
+{
+ plugins: {
+ entries: {
+ "voice-call": {
+ config: {
+ tunnel: { provider: "ngrok" },
+ // or
+ tailscale: { mode: "funnel", path: "/voice/webhook" },
+ },
+ },
+ },
+ },
+}
+```
+
Ardından Gateway'i yeniden başlatın veya yeniden yükleyin ve şunu çalıştırın:
```bash
-openclaw googlemeet setup
+openclaw googlemeet setup --transport twilio
openclaw voicecall setup
openclaw voicecall smoke
```
-`voicecall smoke` varsayılan olarak yalnızca hazırlık denetimi yapar. Belirli bir numarayla dry-run yapmak için:
+`voicecall smoke` varsayılan olarak yalnızca hazırlık denetimidir. Belirli bir numara için dry-run yapmak üzere:
```bash
openclaw voicecall smoke --to "+15555550123"
```
-Yalnızca bilerek canlı bir giden bildirim araması yapmak istediğinizde `--yes`
-ekleyin:
+`--yes` bayrağını yalnızca bilerek canlı bir giden bildirim araması yapmak istediğinizde ekleyin:
```bash
openclaw voicecall smoke --to "+15555550123" --yes
@@ -1188,8 +1264,7 @@ openclaw voicecall smoke --to "+15555550123" --yes
### Twilio araması başlıyor ancak toplantıya hiç girmiyor
-Meet etkinliğinin telefonla katılma ayrıntılarını sunduğunu doğrulayın. Tam telefonla katılma
-numarasını ve PIN'i ya da özel bir DTMF dizisini iletin:
+Meet etkinliğinin telefonla arama ayrıntılarını sunduğunu doğrulayın. Tam dial-in numarasını ve PIN'i veya özel bir DTMF dizisini iletin:
```bash
openclaw googlemeet join https://meet.google.com/abc-defg-hij \
@@ -1198,35 +1273,37 @@ openclaw googlemeet join https://meet.google.com/abc-defg-hij \
--dtmf-sequence ww123456#
```
-Sağlayıcının PIN girilmeden önce duraklamaya ihtiyacı varsa `--dtmf-sequence`
-içinde başta `w` veya virgüller kullanın.
+Sağlayıcının PIN girilmeden önce bir duraklamaya ihtiyacı varsa `--dtmf-sequence` içinde başta `w` veya virgüller kullanın.
+
+Telefon araması oluşturuluyor ancak Meet katılımcı listesi dial-in katılımcısını hiç göstermiyorsa:
+
+- `openclaw voicecall status --call-id ` çalıştırın ve aramanın hâlâ aktif olduğunu doğrulayın.
+- `openclaw voicecall tail` çalıştırın ve Twilio Webhook'larının Gateway'e ulaştığını kontrol edin.
+- `openclaw logs --follow` çalıştırın ve Twilio Meet sırasını arayın: Google Meet katılımı devreder, Voice Call ön bağlantı DTMF TwiML'ini depolar, bu ilk TwiML'i sunar, ardından realtime TwiML sunar ve realtime köprüsünü `initialGreeting=queued` ile başlatır.
+- `openclaw googlemeet setup --transport twilio` komutunu yeniden çalıştırın; yeşil bir kurulum denetimi gereklidir ancak toplantı PIN sırasının doğru olduğunu kanıtlamaz.
+- Dial-in numarasının PIN ile aynı Meet davetine ve bölgesine ait olduğunu doğrulayın.
+- Meet yavaş yanıt veriyorsa `--dtmf-sequence` içindeki baştaki duraklamaları artırın, örneğin `wwww123456#`.
+- Katılımcı katılıyor ama greeting'i duymuyorsanız realtime TwiML, realtime köprü başlangıcı ve `initialGreeting=queued` için `openclaw logs --follow` çıktısını kontrol edin. Greeting, realtime köprüsü bağlandıktan sonra ilk `voicecall.start` mesajından üretilir.
+
+Webhook'lar ulaşmıyorsa önce Voice Call Plugin'inde hata ayıklayın: sağlayıcı `plugins.entries.voice-call.config.publicUrl` değerine veya yapılandırılmış tünele ulaşmalıdır. Bkz. [Sesli arama sorunlarını giderme](/tr/plugins/voice-call#troubleshooting).
## Notlar
-Google Meet'in resmi medya API'si alma odaklıdır, bu yüzden bir Meet
-aramasında konuşmak hâlâ bir katılımcı yolu gerektirir. Bu Plugin bu sınırı görünür tutar:
-Chrome tarayıcı katılımını ve yerel ses yönlendirmesini yönetir; Twilio ise
-telefonla katılma katılımını yönetir.
+Google Meet'in resmi medya API'si alma odaklıdır, bu yüzden bir Meet aramasında konuşmak hâlâ bir katılımcı yolu gerektirir. Bu Plugin bu sınırı görünür tutar: Chrome tarayıcı katılımını ve local ses yönlendirmesini yönetir; Twilio telefonla dial-in katılımını yönetir.
-Chrome gerçek zamanlı modu `BlackHole 2ch` ve ayrıca şunlardan birini gerektirir:
+Chrome realtime modu `BlackHole 2ch` ve ayrıca şunlardan birini gerektirir:
-- `chrome.audioInputCommand` ile `chrome.audioOutputCommand`: OpenClaw
- gerçek zamanlı model köprüsünün sahibidir ve bu komutlar ile seçili gerçek zamanlı ses sağlayıcısı arasında
- `chrome.audioFormat` içindeki sesi aktarır. Varsayılan Chrome yolu
- 24 kHz PCM16'dır; 8 kHz G.711 mu-law eski komut çiftleri için kullanılabilir kalır.
-- `chrome.audioBridgeCommand`: harici bir köprü komutu tüm yerel
- ses yolunun sahibidir ve daemon'unu başlattıktan veya doğruladıktan sonra çıkmalıdır.
+- `chrome.audioInputCommand` artı `chrome.audioOutputCommand`: OpenClaw realtime model köprüsüne sahip olur ve bu komutlar ile seçili realtime ses sağlayıcı arasında sesi `chrome.audioFormat` biçiminde pipe eder. Varsayılan Chrome yolu 24 kHz PCM16'dır; 8 kHz G.711 mu-law eski komut çiftleri için kullanılabilir kalır.
+- `chrome.audioBridgeCommand`: harici bir köprü komutu tüm local ses yoluna sahip olur ve daemon'unu başlattıktan veya doğruladıktan sonra çıkmalıdır.
-Temiz çift yönlü ses için Meet çıkışını ve Meet mikrofonunu ayrı
-sanal cihazlar veya Loopback tarzı bir sanal cihaz grafiği üzerinden yönlendirin. Tek bir paylaşılan
-BlackHole cihazı, diğer katılımcıları aramaya geri yankılayabilir.
+Temiz duplex ses için Meet çıkışını ve Meet mikrofonunu ayrı sanal cihazlar ya da Loopback tarzı bir sanal cihaz grafiği üzerinden yönlendirin. Tek bir paylaşımlı BlackHole cihazı diğer katılımcıları aramaya geri yankılayabilir.
-`googlemeet speak`, bir Chrome oturumu için etkin gerçek zamanlı ses köprüsünü tetikler.
-`googlemeet leave` bu köprüyü durdurur. Voice Call Plugin üzerinden devredilen
-Twilio oturumlarında `leave`, alttaki sesli aramayı da kapatır.
+Komut çifti Chrome köprüsüyle `chrome.bargeInInputCommand` ayrı bir local mikrofonu dinleyebilir ve insan konuşmaya başladığında assistant oynatmasını temizleyebilir. Bu, paylaşımlı BlackHole loopback girişi assistant oynatması sırasında geçici olarak bastırıldığında bile insan konuşmasını assistant çıkışının önünde tutar. `chrome.audioInputCommand` ve `chrome.audioOutputCommand` gibi bu da operatör tarafından yapılandırılan bir local komuttur. Açık bir güvenilir komut yolu veya bağımsız değişken listesi kullanın ve bunu güvenilmeyen konumlardaki script'lere yönlendirmeyin.
+
+`googlemeet speak` bir Chrome oturumu için aktif realtime ses köprüsünü tetikler. `googlemeet leave` bu köprüyü durdurur. Voice Call Plugin'i üzerinden devredilen Twilio oturumlarında `leave` alttaki sesli aramayı da kapatır.
## İlgili
-- [Sesli arama Plugin'i](/tr/plugins/voice-call)
+- [Voice call Plugin'i](/tr/plugins/voice-call)
- [Konuşma modu](/tr/nodes/talk)
- [Plugin oluşturma](/tr/plugins/building-plugins)
diff --git a/docs/tr/plugins/sdk-provider-plugins.md b/docs/tr/plugins/sdk-provider-plugins.md
index 787b2454e..05fb801b9 100644
--- a/docs/tr/plugins/sdk-provider-plugins.md
+++ b/docs/tr/plugins/sdk-provider-plugins.md
@@ -1,32 +1,36 @@
---
read_when:
- - Yeni bir model sağlayıcı Plugin oluşturuyorsunuz
- - OpenClaw'a OpenAI uyumlu bir proxy veya özel LLM eklemek istiyorsunuz
+ - Yeni bir model sağlayıcı Plugin'i oluşturuyorsunuz
+ - OpenClaw'a OpenAI uyumlu bir proxy veya özel bir LLM eklemek istiyorsunuz
- Sağlayıcı kimlik doğrulamasını, katalogları ve çalışma zamanı kancalarını anlamanız gerekir
sidebarTitle: Provider plugins
summary: OpenClaw için model sağlayıcı Plugin oluşturmaya yönelik adım adım kılavuz
title: Sağlayıcı Plugin'leri oluşturma
x-i18n:
- generated_at: "2026-04-30T09:37:06Z"
+ generated_at: "2026-05-01T09:03:08Z"
model: gpt-5.5
provider: openai
- source_hash: 1404594fe1d1e11a612f903512c1002c8f3a804dee53d4204457b534eae93381
+ source_hash: 3f9d721673bdfef0b9c1979b4b8b4c86f19d114374d6b941facb928c3574cd1b
source_path: plugins/sdk-provider-plugins.md
workflow: 16
---
-Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plugin oluşturmayı adım adım gösterir. Sonunda model kataloğu, API anahtarı kimlik doğrulaması ve dinamik model çözümlemesi olan bir sağlayıcınız olacak.
+Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir sağlayıcı Plugin'i oluşturmayı anlatır. Sonunda bir model kataloğu, API anahtarı kimlik doğrulaması ve dinamik model çözümlemesi olan bir sağlayıcınız olacak.
- Daha önce hiç OpenClaw Plugin oluşturmadıysanız, temel paket yapısı ve manifest kurulumu için önce
+ Daha önce hiç OpenClaw Plugin'i oluşturmadıysanız, temel paket
+ yapısı ve manifest kurulumu için önce
[Başlarken](/tr/plugins/building-plugins) bölümünü okuyun.
- Provider Plugin'ler, OpenClaw'ın normal çıkarım döngüsüne modeller ekler. Modelin iş parçacıklarını, Compaction'ı veya araç olaylarını sahiplenen yerel bir agent daemon üzerinden çalışması gerekiyorsa, daemon protokolü ayrıntılarını core'a koymak yerine sağlayıcıyı bir [agent harness](/tr/plugins/sdk-agent-harness) ile eşleştirin.
+ Sağlayıcı Plugin'leri, OpenClaw'ın normal çıkarım döngüsüne modeller ekler. Model,
+ iş parçacıklarını, compaction'ı veya araç olaylarını sahiplenen yerel bir agent daemon üzerinden
+ çalışmak zorundaysa, daemon protokol ayrıntılarını core'a koymak yerine sağlayıcıyı bir [ajan koşumuyla](/tr/plugins/sdk-agent-harness)
+ eşleştirin.
-## İzlenecek yol
+## İzlenecek Yol
@@ -87,11 +91,16 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
```
- Manifest, OpenClaw'ın Plugin çalışma zamanınızı yüklemeden kimlik bilgilerini algılayabilmesi için `providerAuthEnvVars` bildirir. Bir sağlayıcı varyantı başka bir sağlayıcı kimliğinin kimlik doğrulamasını yeniden kullanmalıysa `providerAuthAliases` ekleyin. `modelSupport` isteğe bağlıdır ve çalışma zamanı hook'ları var olmadan önce OpenClaw'ın sağlayıcı Plugin'inizi `acme-large` gibi kısa model kimliklerinden otomatik yüklemesini sağlar. Sağlayıcıyı ClawHub üzerinde yayımlarsanız, bu `openclaw.compat` ve `openclaw.build` alanları `package.json` içinde zorunludur.
+ Manifest, OpenClaw'ın Plugin çalışma zamanınızı yüklemeden
+ kimlik bilgilerini algılayabilmesi için `providerAuthEnvVars` bildirir. Bir sağlayıcı varyantı başka bir sağlayıcı kimliğinin kimlik doğrulamasını yeniden kullanmalıysa `providerAuthAliases`
+ ekleyin. `modelSupport` isteğe bağlıdır ve OpenClaw'ın çalışma zamanı hook'ları var olmadan önce `acme-large` gibi kısaltılmış
+ model kimliklerinden sağlayıcı Plugin'inizi otomatik yüklemesini sağlar. Sağlayıcıyı
+ ClawHub'da yayımlarsanız, bu `openclaw.compat` ve `openclaw.build` alanları
+ `package.json` içinde zorunludur.
-
+
Minimal bir sağlayıcının `id`, `label`, `auth` ve `catalog` alanlarına ihtiyacı vardır:
```typescript index.ts
@@ -164,10 +173,11 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
```
Bu, çalışan bir sağlayıcıdır. Kullanıcılar artık
- `openclaw onboard --acme-ai-api-key ` çalıştırabilir ve modelleri olarak
+ `openclaw onboard --acme-ai-api-key ` çalıştırabilir ve model olarak
`acme-ai/acme-large` seçebilir.
- Upstream sağlayıcı OpenClaw'dan farklı denetim token'ları kullanıyorsa, akış yolunu değiştirmek yerine küçük bir çift yönlü metin dönüşümü ekleyin:
+ Upstream sağlayıcı OpenClaw'dan farklı kontrol token'ları kullanıyorsa, stream yolunu değiştirmek yerine
+ küçük bir çift yönlü metin dönüşümü ekleyin:
```typescript
api.registerTextTransforms({
@@ -184,9 +194,10 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
});
```
- `input`, taşıma öncesinde nihai sistem istemini ve metin mesajı içeriğini yeniden yazar. `output`, OpenClaw kendi denetim işaretleyicilerini veya kanal teslimini ayrıştırmadan önce asistan metin deltalarını ve nihai metni yeniden yazar.
+ `input`, taşıma öncesinde nihai system prompt'u ve metin mesajı içeriğini yeniden yazar.
+ `output`, OpenClaw kendi kontrol işaretleyicilerini veya kanal teslimini ayrıştırmadan önce assistant metin deltalarını ve nihai metni yeniden yazar.
- Yalnızca API anahtarı kimlik doğrulaması ve tek bir katalog destekli çalışma zamanı ile bir metin sağlayıcısı kaydeden paketli sağlayıcılar için daha dar kapsamlı
+ Yalnızca API anahtarlı kimlik doğrulamasına sahip tek bir metin sağlayıcısı ve katalog destekli tek bir çalışma zamanı kaydeden paketli sağlayıcılar için, daha dar kapsamlı
`defineSingleProviderPluginEntry(...)` yardımcısını tercih edin:
```typescript
@@ -227,20 +238,29 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
});
```
- `buildProvider`, OpenClaw gerçek sağlayıcı kimlik doğrulamasını çözümleyebildiğinde kullanılan canlı katalog yoludur. Sağlayıcıya özel keşif yapabilir. `buildStaticProvider` öğesini yalnızca kimlik doğrulama yapılandırılmadan önce gösterilmesi güvenli olan çevrimdışı satırlar için kullanın; kimlik bilgileri gerektirmemeli veya ağ isteği yapmamalıdır. OpenClaw'ın `models list --all` görünümü şu anda statik katalogları yalnızca paketli provider Plugin'ler için, boş yapılandırma, boş env ve agent/çalışma alanı yolları olmadan çalıştırır.
+ `buildProvider`, OpenClaw gerçek sağlayıcı kimlik doğrulamasını çözümleyebildiğinde kullanılan canlı katalog yoludur.
+ Sağlayıcıya özgü keşif gerçekleştirebilir. `buildStaticProvider` yalnızca kimlik doğrulaması yapılandırılmadan önce gösterilmesi güvenli olan çevrimdışı satırlar için kullanın;
+ kimlik bilgileri gerektirmemeli veya ağ istekleri yapmamalıdır.
+ OpenClaw'ın `models list --all` görünümü şu anda statik katalogları
+ yalnızca paketli sağlayıcı Plugin'leri için, boş config, boş env ve agent/workspace yolları olmadan çalıştırır.
- Kimlik doğrulama akışınızın onboarding sırasında `models.providers.*`, takma adlar ve agent varsayılan modelini de yamaması gerekiyorsa, `openclaw/plugin-sdk/provider-onboard` içindeki preset yardımcılarını kullanın. En dar yardımcılar
+ Kimlik doğrulama akışınızın onboarding sırasında `models.providers.*`, aliases ve
+ agent varsayılan modelini de yamaması gerekiyorsa,
+ `openclaw/plugin-sdk/provider-onboard` içindeki preset yardımcılarını kullanın. En dar kapsamlı yardımcılar
`createDefaultModelPresetAppliers(...)`,
`createDefaultModelsPresetAppliers(...)` ve
`createModelCatalogPresetAppliers(...)` öğeleridir.
- Bir sağlayıcının yerel endpoint'i normal `openai-completions` taşıması üzerinde akışlı kullanım bloklarını destekliyorsa, sağlayıcı kimliği denetimlerini sabit kodlamak yerine `openclaw/plugin-sdk/provider-catalog-shared` içindeki paylaşılan katalog yardımcılarını tercih edin. `supportsNativeStreamingUsageCompat(...)` ve
- `applyProviderNativeStreamingUsageCompat(...)`, desteği endpoint yetenek haritasından algılar; bu nedenle yerel Moonshot/DashScope tarzı endpoint'ler, bir Plugin özel bir sağlayıcı kimliği kullansa bile yine de etkinleştirilir.
+ Bir sağlayıcının yerel endpoint'i normal `openai-completions` taşıması üzerinde stream edilen kullanım bloklarını destekliyorsa, provider-id kontrollerini hardcode etmek yerine
+ `openclaw/plugin-sdk/provider-catalog-shared` içindeki paylaşılan katalog yardımcılarını tercih edin.
+ `supportsNativeStreamingUsageCompat(...)` ve
+ `applyProviderNativeStreamingUsageCompat(...)`, desteği endpoint capability map'ten algılar; böylece yerel Moonshot/DashScope tarzı endpoint'ler,
+ bir Plugin özel sağlayıcı kimliği kullansa bile yine de opt in olur.
-
- Sağlayıcınız rastgele model kimliklerini kabul ediyorsa (proxy veya router gibi),
+
+ Sağlayıcınız keyfi model kimliklerini kabul ediyorsa (proxy veya router gibi),
`resolveDynamicModel` ekleyin:
```typescript
@@ -262,14 +282,17 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
});
```
- Çözümleme bir ağ çağrısı gerektiriyorsa, async warm-up için `prepareDynamicModel` kullanın — tamamlandıktan sonra `resolveDynamicModel` yeniden çalışır.
+ Çözümleme ağ çağrısı gerektiriyorsa, async ısıtma için `prepareDynamicModel` kullanın —
+ `resolveDynamicModel` tamamlandıktan sonra tekrar çalışır.
-
- Çoğu sağlayıcının yalnızca `catalog` + `resolveDynamicModel` öğelerine ihtiyacı vardır. Sağlayıcınız gerektirdikçe hook'ları kademeli olarak ekleyin.
+
+ Çoğu sağlayıcının yalnızca `catalog` + `resolveDynamicModel` öğelerine ihtiyacı vardır. Sağlayıcınız gerektirdikçe hook'ları
+ kademeli olarak ekleyin.
- Paylaşılan yardımcı oluşturucular artık en yaygın replay/tool-compat ailelerini kapsar; bu nedenle Plugin'lerin genellikle her hook'u tek tek elle bağlaması gerekmez:
+ Paylaşılan yardımcı builder'lar artık en yaygın replay/tool-compat
+ ailelerini kapsar, bu nedenle Plugin'lerin genellikle her hook'u tek tek elle bağlamasına gerek yoktur:
```typescript
import { buildProviderReplayFamilyHooks } from "openclaw/plugin-sdk/provider-model-shared";
@@ -289,43 +312,43 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
});
```
- Bugün kullanılabilen replay aileleri:
+ Bugün kullanılabilir replay aileleri:
- | Aile | Neyi bağlar | Paketli örnekler |
+ | Aile | Neleri bağlar | Paketli örnekler |
| --- | --- | --- |
- | `openai-compatible` | OpenAI uyumlu taşımalar için, tool-call-id temizliği, assistant-first sıralama düzeltmeleri ve taşımanın ihtiyaç duyduğu yerlerde genel Gemini-turn doğrulaması dahil paylaşılan OpenAI tarzı replay policy | `moonshot`, `ollama`, `xai`, `zai` |
- | `anthropic-by-model` | `modelId` tarafından seçilen Claude farkındalıklı replay policy; böylece Anthropic-message taşımaları, yalnızca çözümlenen model gerçekten bir Claude kimliği olduğunda Claude'a özel thinking-block temizliği alır | `amazon-bedrock`, `anthropic-vertex` |
- | `google-gemini` | Yerel Gemini replay policy ile bootstrap replay temizliği ve etiketli reasoning-output modu | `google`, `google-gemini-cli` |
+ | `openai-compatible` | OpenAI uyumlu taşımalar için paylaşılan OpenAI tarzı replay ilkesi; tool-call-id temizleme, assistant-first sıralama düzeltmeleri ve taşımanın ihtiyaç duyduğu yerlerde genel Gemini-turn doğrulaması dahil | `moonshot`, `ollama`, `xai`, `zai` |
+ | `anthropic-by-model` | `modelId` tarafından seçilen Claude-aware replay ilkesi; böylece Anthropic-message taşımaları, yalnızca çözümlenen model gerçekten bir Claude kimliği olduğunda Claude'a özgü thinking-block temizliği alır | `amazon-bedrock`, `anthropic-vertex` |
+ | `google-gemini` | Yerel Gemini replay ilkesi, bootstrap replay temizliği ve etiketli reasoning-output modu | `google`, `google-gemini-cli` |
| `passthrough-gemini` | OpenAI uyumlu proxy taşımaları üzerinden çalışan Gemini modelleri için Gemini thought-signature temizliği; yerel Gemini replay doğrulamasını veya bootstrap yeniden yazımlarını etkinleştirmez | `openrouter`, `kilocode`, `opencode`, `opencode-go` |
- | `hybrid-anthropic-openai` | Tek bir Plugin içinde Anthropic-message ve OpenAI uyumlu model yüzeylerini karıştıran sağlayıcılar için hibrit policy; isteğe bağlı Claude-only thinking-block bırakma, Anthropic tarafıyla sınırlı kalır | `minimax` |
+ | `hybrid-anthropic-openai` | Tek bir Plugin içinde Anthropic-message ve OpenAI uyumlu model yüzeylerini karıştıran sağlayıcılar için hibrit ilke; isteğe bağlı yalnızca-Claude thinking-block düşürme Anthropic tarafıyla sınırlı kalır | `minimax` |
- Bugün kullanılabilen stream aileleri:
+ Bugün kullanılabilir stream aileleri:
- | Aile | Neyi bağlar | Birlikte gelen örnekler |
+ | Aile | Bağladığı şey | Birlikte gelen örnekler |
| --- | --- | --- |
- | `google-thinking` | Paylaşılan akış yolunda Gemini düşünme yükü normalleştirmesi | `google`, `google-gemini-cli` |
- | `kilocode-thinking` | Paylaşılan proxy akış yolunda Kilo akıl yürütme sarmalayıcısı; `kilo/auto` ve desteklenmeyen proxy akıl yürütme kimlikleri enjekte edilen düşünmeyi atlar | `kilocode` |
- | `moonshot-thinking` | Yapılandırmadan + `/think` düzeyinden Moonshot ikili yerel düşünme yükü eşlemesi | `moonshot` |
+ | `google-thinking` | Paylaşılan akış yolunda Gemini thinking yük normalizasyonu | `google`, `google-gemini-cli` |
+ | `kilocode-thinking` | Paylaşılan proxy akış yolunda Kilo akıl yürütme sarmalayıcısı; `kilo/auto` ve desteklenmeyen proxy akıl yürütme kimlikleri enjekte edilen thinking’i atlar | `kilocode` |
+ | `moonshot-thinking` | Yapılandırma + `/think` düzeyinden Moonshot ikili yerel thinking yük eşlemesi | `moonshot` |
| `minimax-fast-mode` | Paylaşılan akış yolunda MiniMax hızlı mod model yeniden yazımı | `minimax`, `minimax-portal` |
- | `openai-responses-defaults` | Paylaşılan yerel OpenAI/Codex Responses sarmalayıcıları: ilişkilendirme üstbilgileri, `/fast`/`serviceTier`, metin ayrıntı düzeyi, yerel Codex web araması, akıl yürütme uyumluluğu yük şekillendirmesi ve Responses bağlam yönetimi | `openai`, `openai-codex` |
+ | `openai-responses-defaults` | Paylaşılan yerel OpenAI/Codex Responses sarmalayıcıları: atıf üstbilgileri, `/fast`/`serviceTier`, metin ayrıntı düzeyi, yerel Codex web araması, akıl yürütme uyumluluğu yük şekillendirmesi ve Responses bağlam yönetimi | `openai`, `openai-codex` |
| `openrouter-thinking` | Proxy rotaları için OpenRouter akıl yürütme sarmalayıcısı; desteklenmeyen model/`auto` atlamaları merkezi olarak işlenir | `openrouter` |
- | `tool-stream-default-on` | Açıkça devre dışı bırakılmadığı sürece araç akışı isteyen Z.AI gibi sağlayıcılar için varsayılan olarak açık `tool_stream` sarmalayıcısı | `zai` |
+ | `tool-stream-default-on` | Açıkça devre dışı bırakılmadıkça araç akışını isteyen Z.AI gibi sağlayıcılar için varsayılan açık `tool_stream` sarmalayıcısı | `zai` |
-
+
Her aile oluşturucu, aynı paketten dışa aktarılan daha düşük düzeyli herkese açık yardımcılarla oluşturulur; bir sağlayıcının ortak kalıbın dışına çıkması gerektiğinde bunları kullanabilirsiniz:
- `openclaw/plugin-sdk/provider-model-shared` — `ProviderReplayFamily`, `buildProviderReplayFamilyHooks(...)` ve ham yeniden oynatma oluşturucuları (`buildOpenAICompatibleReplayPolicy`, `buildAnthropicReplayPolicyForModel`, `buildGoogleGeminiReplayPolicy`, `buildHybridAnthropicOrOpenAIReplayPolicy`). Ayrıca Gemini yeniden oynatma yardımcılarını (`sanitizeGoogleGeminiReplayHistory`, `resolveTaggedReasoningOutputMode`) ve uç nokta/model yardımcılarını (`resolveProviderEndpoint`, `normalizeProviderId`, `normalizeGooglePreviewModelId`, `normalizeNativeXaiModelId`) dışa aktarır.
- - `openclaw/plugin-sdk/provider-stream` — `ProviderStreamFamily`, `buildProviderStreamFamilyHooks(...)`, `composeProviderStreamWrappers(...)`; ayrıca paylaşılan OpenAI/Codex sarmalayıcıları (`createOpenAIAttributionHeadersWrapper`, `createOpenAIFastModeWrapper`, `createOpenAIServiceTierWrapper`, `createOpenAIResponsesContextManagementWrapper`, `createCodexNativeWebSearchWrapper`), DeepSeek V4 OpenAI uyumlu sarmalayıcısı (`createDeepSeekV4OpenAICompatibleThinkingWrapper`), Anthropic Messages düşünme ön doldurma temizliği (`createAnthropicThinkingPrefillPayloadWrapper`) ve paylaşılan proxy/sağlayıcı sarmalayıcıları (`createOpenRouterWrapper`, `createToolStreamWrapper`, `createMinimaxFastModeWrapper`).
- - `openclaw/plugin-sdk/provider-tools` — `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks("gemini")`, temel Gemini şema yardımcıları (`normalizeGeminiToolSchemas`, `inspectGeminiToolSchemas`) ve xAI uyumluluk yardımcıları (`resolveXaiModelCompatPatch()`, `applyXaiModelCompat(model)`). Birlikte gelen xAI Plugin'i, xAI kurallarını sağlayıcıya ait tutmak için bunlarla birlikte `normalizeResolvedModel` + `contributeResolvedModelCompat` kullanır.
+ - `openclaw/plugin-sdk/provider-stream` — `ProviderStreamFamily`, `buildProviderStreamFamilyHooks(...)`, `composeProviderStreamWrappers(...)`, ayrıca paylaşılan OpenAI/Codex sarmalayıcıları (`createOpenAIAttributionHeadersWrapper`, `createOpenAIFastModeWrapper`, `createOpenAIServiceTierWrapper`, `createOpenAIResponsesContextManagementWrapper`, `createCodexNativeWebSearchWrapper`), DeepSeek V4 OpenAI uyumlu sarmalayıcı (`createDeepSeekV4OpenAICompatibleThinkingWrapper`), Anthropic Messages thinking ön doldurma temizliği (`createAnthropicThinkingPrefillPayloadWrapper`) ve paylaşılan proxy/sağlayıcı sarmalayıcıları (`createOpenRouterWrapper`, `createToolStreamWrapper`, `createMinimaxFastModeWrapper`).
+ - `openclaw/plugin-sdk/provider-tools` — `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks("gemini")`, alttaki Gemini şema yardımcıları (`normalizeGeminiToolSchemas`, `inspectGeminiToolSchemas`) ve xAI uyumluluk yardımcıları (`resolveXaiModelCompatPatch()`, `applyXaiModelCompat(model)`). Birlikte gelen xAI Plugin’i, xAI kurallarının sağlayıcıya ait kalmasını sağlamak için bunlarla birlikte `normalizeResolvedModel` + `contributeResolvedModelCompat` kullanır.
- Bazı akış yardımcıları özellikle sağlayıcı yerelinde kalır. `@openclaw/anthropic-provider`, Claude OAuth beta işlemeyi ve `context1m` kapısını kodladıkları için `wrapAnthropicProviderStream`, `resolveAnthropicBetas`, `resolveAnthropicFastMode`, `resolveAnthropicServiceTier` ve daha düşük düzeyli Anthropic sarmalayıcı oluşturucularını kendi herkese açık `api.ts` / `contract-api.ts` sınırında tutar. Benzer şekilde xAI Plugin'i, yerel xAI Responses şekillendirmesini kendi `wrapStreamFn` içinde tutar (`/fast` takma adları, varsayılan `tool_stream`, desteklenmeyen katı araç temizliği, xAI'ye özgü akıl yürütme yükü kaldırma).
+ Bazı akış yardımcıları bilinçli olarak sağlayıcıya yerel kalır. `@openclaw/anthropic-provider`, Claude OAuth beta işleme ve `context1m` geçitlemesini kodladıkları için `wrapAnthropicProviderStream`, `resolveAnthropicBetas`, `resolveAnthropicFastMode`, `resolveAnthropicServiceTier` ve daha düşük düzeyli Anthropic sarmalayıcı oluşturucularını kendi herkese açık `api.ts` / `contract-api.ts` temas noktasında tutar. xAI Plugin’i de yerel xAI Responses şekillendirmesini kendi `wrapStreamFn` içinde tutar (`/fast` takma adları, varsayılan `tool_stream`, desteklenmeyen katı araç temizliği, xAI’ye özgü akıl yürütme yükü kaldırma).
- Aynı paket kökü kalıbı `@openclaw/openai-provider` (sağlayıcı oluşturucuları, varsayılan model yardımcıları, gerçek zamanlı sağlayıcı oluşturucuları) ve `@openclaw/openrouter-provider` (sağlayıcı oluşturucu ve işe başlatma/yapılandırma yardımcıları) için de temel sağlar.
+ Aynı paket kökü kalıbı `@openclaw/openai-provider` (sağlayıcı oluşturucuları, varsayılan model yardımcıları, gerçek zamanlı sağlayıcı oluşturucuları) ve `@openclaw/openrouter-provider` (sağlayıcı oluşturucu ve onboarding/yapılandırma yardımcıları) için de temel sağlar.
-
- Her çıkarım çağrısından önce belirteç değişimi gerektiren sağlayıcılar için:
+
+ Her çıkarım çağrısından önce token değişimi gerektiren sağlayıcılar için:
```typescript
prepareRuntimeAuth: async (ctx) => {
@@ -338,7 +361,7 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
},
```
-
+
Özel istek üstbilgileri veya gövde değişiklikleri gerektiren sağlayıcılar için:
```typescript
@@ -356,9 +379,8 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
},
```
-
- Genel HTTP veya WebSocket aktarımlarında yerel istek/oturum üstbilgileri
- ya da meta veriler gerektiren sağlayıcılar için:
+
+ Genel HTTP veya WebSocket taşımalarında yerel istek/oturum üstbilgileri ya da meta veri gerektiren sağlayıcılar için:
```typescript
resolveTransportTurnState: (ctx) => ({
@@ -378,8 +400,8 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
}),
```
-
- Kullanım/faturalama verisi sunan sağlayıcılar için:
+
+ Kullanım/faturalandırma verisi sunan sağlayıcılar için:
```typescript
resolveUsageAuth: async (ctx) => {
@@ -393,77 +415,76 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
-
- OpenClaw hook'ları bu sırayla çağırır. Çoğu sağlayıcı yalnızca 2-3 tanesini kullanır:
- OpenClaw'ın artık çağırmadığı, `ProviderPlugin.capabilities` ve
- `suppressBuiltInModel` gibi yalnızca uyumluluk amaçlı sağlayıcı alanları
- burada listelenmez.
+
+ OpenClaw hook’ları bu sırayla çağırır. Çoğu sağlayıcı yalnızca 2-3 tanesini kullanır:
+ OpenClaw’ın artık çağırmadığı, yalnızca uyumluluk amaçlı sağlayıcı alanları; örneğin
+ `ProviderPlugin.capabilities` ve `suppressBuiltInModel`, burada listelenmez.
| # | Hook | Ne zaman kullanılır |
| --- | --- | --- |
| 1 | `catalog` | Model kataloğu veya temel URL varsayılanları |
- | 2 | `applyConfigDefaults` | Yapılandırma somutlaştırması sırasında sağlayıcıya ait küresel varsayılanlar |
+ | 2 | `applyConfigDefaults` | Yapılandırma somutlaştırması sırasında sağlayıcıya ait genel varsayılanlar |
| 3 | `normalizeModelId` | Aramadan önce eski/önizleme model kimliği takma adı temizliği |
- | 4 | `normalizeTransport` | Genel model montajından önce sağlayıcı ailesi `api` / `baseUrl` temizliği |
- | 5 | `normalizeConfig` | `models.providers.` yapılandırmasını normalleştir |
- | 6 | `applyNativeStreamingUsageCompat` | Yapılandırma sağlayıcıları için yerel akış kullanımı uyumluluk yeniden yazımları |
+ | 4 | `normalizeTransport` | Genel model derlemesinden önce sağlayıcı ailesi `api` / `baseUrl` temizliği |
+ | 5 | `normalizeConfig` | `models.providers.` yapılandırmasını normalleştirir |
+ | 6 | `applyNativeStreamingUsageCompat` | Yapılandırma sağlayıcıları için yerel akış kullanım uyumluluğu yeniden yazımları |
| 7 | `resolveConfigApiKey` | Sağlayıcıya ait env işaretçisi kimlik doğrulama çözümlemesi |
| 8 | `resolveSyntheticAuth` | Yerel/kendi barındırılan veya yapılandırma destekli sentetik kimlik doğrulama |
- | 9 | `shouldDeferSyntheticProfileAuth` | Env/yapılandırma kimlik doğrulamasının arkasında sentetik depolanmış profil yer tutucularını düşür |
- | 10 | `resolveDynamicModel` | Rastgele upstream model kimliklerini kabul et |
- | 11 | `prepareDynamicModel` | Çözümlemeden önce eşzamansız meta veri getirme |
- | 12 | `normalizeResolvedModel` | Çalıştırıcıdan önce aktarım yeniden yazımları |
- | 13 | `contributeResolvedModelCompat` | Başka bir uyumlu aktarımın arkasındaki satıcı modelleri için uyumluluk bayrakları |
+ | 9 | `shouldDeferSyntheticProfileAuth` | Sentetik saklanan profil yer tutucularını env/yapılandırma kimlik doğrulamasının arkasına indirir |
+ | 10 | `resolveDynamicModel` | Rastgele yukarı akış model kimliklerini kabul eder |
+ | 11 | `prepareDynamicModel` | Çözümlemeden önce asenkron meta veri alma |
+ | 12 | `normalizeResolvedModel` | Çalıştırıcıdan önce taşıma yeniden yazımları |
+ | 13 | `contributeResolvedModelCompat` | Başka bir uyumlu taşımanın arkasındaki satıcı modelleri için uyumluluk bayrakları |
| 14 | `normalizeToolSchemas` | Kayıttan önce sağlayıcıya ait araç şeması temizliği |
- | 15 | `inspectToolSchemas` | Sağlayıcıya ait araç şeması tanıları |
+ | 15 | `inspectToolSchemas` | Sağlayıcıya ait araç şeması tanılamaları |
| 16 | `resolveReasoningOutputMode` | Etiketli ve yerel akıl yürütme çıktısı sözleşmesi |
| 17 | `prepareExtraParams` | Varsayılan istek parametreleri |
- | 18 | `createStreamFn` | Tamamen özel StreamFn aktarımı |
+ | 18 | `createStreamFn` | Tamamen özel StreamFn taşıması |
| 19 | `wrapStreamFn` | Normal akış yolunda özel üstbilgi/gövde sarmalayıcıları |
- | 20 | `resolveTransportTurnState` | Yerel dönüş başına üstbilgiler/meta veriler |
- | 21 | `resolveWebSocketSessionPolicy` | Yerel WS oturum üstbilgileri/soğuma süresi |
- | 22 | `formatApiKey` | Özel çalışma zamanı belirteç şekli |
+ | 20 | `resolveTransportTurnState` | Yerel tur başına üstbilgiler/meta veri |
+ | 21 | `resolveWebSocketSessionPolicy` | Yerel WS oturum üstbilgileri/bekleme süresi |
+ | 22 | `formatApiKey` | Özel çalışma zamanı token şekli |
| 23 | `refreshOAuth` | Özel OAuth yenileme |
| 24 | `buildAuthDoctorHint` | Kimlik doğrulama onarım rehberliği |
| 25 | `matchesContextOverflowError` | Sağlayıcıya ait taşma algılama |
| 26 | `classifyFailoverReason` | Sağlayıcıya ait hız sınırı/aşırı yük sınıflandırması |
- | 27 | `isCacheTtlEligible` | İstem önbelleği TTL kapısı |
+ | 27 | `isCacheTtlEligible` | İstem önbelleği TTL geçitlemesi |
| 28 | `buildMissingAuthMessage` | Özel eksik kimlik doğrulama ipucu |
- | 29 | `augmentModelCatalog` | Sentetik ileri uyumluluk satırları |
+ | 29 | `augmentModelCatalog` | Sentetik ileriye uyumluluk satırları |
| 30 | `resolveThinkingProfile` | Modele özgü `/think` seçenek kümesi |
- | 31 | `isBinaryThinking` | İkili düşünme açık/kapalı uyumluluğu |
+ | 31 | `isBinaryThinking` | İkili thinking açık/kapalı uyumluluğu |
| 32 | `supportsXHighThinking` | `xhigh` akıl yürütme desteği uyumluluğu |
| 33 | `resolveDefaultThinkingLevel` | Varsayılan `/think` ilkesi uyumluluğu |
| 34 | `isModernModelRef` | Canlı/smoke model eşleştirme |
- | 35 | `prepareRuntimeAuth` | Çıkarımdan önce belirteç değişimi |
+ | 35 | `prepareRuntimeAuth` | Çıkarımdan önce token değişimi |
| 36 | `resolveUsageAuth` | Özel kullanım kimlik bilgisi ayrıştırma |
| 37 | `fetchUsageSnapshot` | Özel kullanım uç noktası |
- | 38 | `createEmbeddingProvider` | Bellek/arama için sağlayıcıya ait embedding bağdaştırıcısı |
- | 39 | `buildReplayPolicy` | Özel konuşma metni yeniden oynatma/Compaction ilkesi |
+ | 38 | `createEmbeddingProvider` | Bellek/arama için sağlayıcıya ait embedding adaptörü |
+ | 39 | `buildReplayPolicy` | Özel transkript yeniden oynatma/Compaction ilkesi |
| 40 | `sanitizeReplayHistory` | Genel temizlikten sonra sağlayıcıya özgü yeniden oynatma yeniden yazımları |
- | 41 | `validateReplayTurns` | Gömülü çalıştırıcıdan önce katı yeniden oynatma dönüşü doğrulaması |
- | 42 | `onModelSelected` | Seçim sonrası geri çağırma (örn. telemetri) |
+ | 41 | `validateReplayTurns` | Gömülü çalıştırıcıdan önce katı yeniden oynatma turu doğrulaması |
+ | 42 | `onModelSelected` | Seçim sonrası geri çağrı (ör. telemetri) |
- Çalışma zamanı geri dönüş notları:
+ Çalışma zamanı yedek davranış notları:
- - `normalizeConfig` önce eşleşen sağlayıcıyı, ardından yapılandırmayı gerçekten değiştirene kadar hook destekli diğer sağlayıcı Plugin'lerini kontrol eder. Hiçbir sağlayıcı hook'u desteklenen bir Google ailesi yapılandırma girdisini yeniden yazmazsa, birlikte gelen Google yapılandırma normalleştiricisi yine de uygulanır.
- - `resolveConfigApiKey`, sunulduğunda sağlayıcı hook'unu kullanır. Birlikte gelen `amazon-bedrock` yolunda burada yerleşik bir AWS env işaretçisi çözümleyicisi de vardır; Bedrock çalışma zamanı kimlik doğrulamasının kendisi hâlâ AWS SDK varsayılan zincirini kullansa bile.
- - `resolveSystemPromptContribution`, bir sağlayıcının bir model ailesi için önbellek duyarlı sistem istemi rehberliği enjekte etmesine olanak tanır. Davranış tek bir sağlayıcı/model ailesine ait olduğunda ve kararlı/dinamik önbellek ayrımını koruması gerektiğinde bunu `before_prompt_build` yerine tercih edin.
+ - `normalizeConfig`, önce eşleşen sağlayıcıyı, ardından yapılandırmayı gerçekten değiştirene kadar diğer hook destekli sağlayıcı Plugin’lerini kontrol eder. Hiçbir sağlayıcı hook’u desteklenen bir Google ailesi yapılandırma girdisini yeniden yazmazsa, birlikte gelen Google yapılandırma normalleştiricisi yine de uygulanır.
+ - `resolveConfigApiKey`, sunulduğunda sağlayıcı hook’unu kullanır. Birlikte gelen `amazon-bedrock` yolu burada yerleşik bir AWS env işaretçisi çözümleyicisine de sahiptir; ancak Bedrock çalışma zamanı kimlik doğrulamasının kendisi hâlâ AWS SDK varsayılan zincirini kullanır.
+ - `resolveSystemPromptContribution`, bir sağlayıcının model ailesi için önbellek farkındalığı olan sistem istemi rehberliği enjekte etmesini sağlar. Davranış tek bir sağlayıcı/model ailesine ait olduğunda ve kararlı/dinamik önbellek ayrımını koruması gerektiğinde bunu `before_prompt_build` yerine tercih edin.
- Ayrıntılı açıklamalar ve gerçek dünya örnekleri için bkz. [İç Yapı: Sağlayıcı Çalışma Zamanı Hook'ları](/tr/plugins/architecture-internals#provider-runtime-hooks).
+ Ayrıntılı açıklamalar ve gerçek dünya örnekleri için bkz. [İç Yapı: Sağlayıcı Çalışma Zamanı Hook’ları](/tr/plugins/architecture-internals#provider-runtime-hooks).
-
- Bir sağlayıcı Plugin'i, metin çıkarımının yanı sıra konuşma, gerçek zamanlı transkripsiyon, gerçek zamanlı
+
+ Bir sağlayıcı Plugin’i metin çıkarımının yanında konuşma, gerçek zamanlı transkripsiyon, gerçek zamanlı
ses, medya anlama, görüntü oluşturma, video oluşturma, web getirme
- ve web araması kaydedebilir. OpenClaw bunu bir
- **hibrit yetenek** Plugin'i olarak sınıflandırır; şirket Plugin'leri
- için önerilen kalıp budur (satıcı başına bir Plugin). Bkz.
+ ve web araması kaydedebilir. OpenClaw bunu
+ **hibrit yetenekli** Plugin olarak sınıflandırır — şirket Plugin’leri için önerilen kalıp
+ budur (satıcı başına bir Plugin). Bkz.
[İç Yapı: Yetenek Sahipliği](/tr/plugins/architecture#capability-ownership-model).
- Her yeteneği mevcut `api.registerProvider(...)` çağrınızla birlikte `register(api)` içinde kaydedin. Yalnızca ihtiyacınız olan sekmeleri seçin:
+ Her yeteneği mevcut `api.registerProvider(...)` çağrınızın yanında `register(api)` içinde kaydedin. Yalnızca ihtiyacınız olan sekmeleri seçin:
@@ -502,14 +523,14 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
```
Sağlayıcı HTTP hataları için `assertOkOrThrowProviderError(...)` kullanın; böylece
- plugin’ler sınırlı hata gövdesi okumalarını, JSON hata ayrıştırmayı ve
+ plugin'ler sınırlandırılmış hata gövdesi okumalarını, JSON hata ayrıştırmasını ve
istek kimliği soneklerini paylaşır.
- `createRealtimeTranscriptionWebSocketSession(...)` tercih edin — paylaşılan
- yardımcı proxy yakalamayı, yeniden bağlanma geri çekilmesini, kapanış boşaltmayı, hazır
- el sıkışmalarını, ses kuyruğa almayı ve kapanış olayı tanılamalarını yönetir. Plugin’iniz
- yalnızca yukarı akış olaylarını eşler.
+ `createRealtimeTranscriptionWebSocketSession(...)` tercih edin; paylaşılan
+ yardımcı proxy yakalamayı, yeniden bağlanma geri çekilmesini, kapatma temizlemesini, hazır
+ el sıkışmalarını, ses kuyruğa almayı ve kapatma olayı tanılamalarını yönetir. Plugin'iniz
+ yalnızca üst akış olaylarını eşler.
```typescript
api.registerRealtimeTranscriptionProvider({
@@ -549,9 +570,9 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
Çok parçalı ses POST eden toplu STT sağlayıcıları,
`openclaw/plugin-sdk/provider-http` içindeki
- `buildAudioTranscriptionFormData(...)` işlevini kullanmalıdır. Yardımcı,
- uyumlu transkripsiyon API’leri için M4A tarzı dosya adına ihtiyaç duyan
- AAC yüklemeleri de dahil olmak üzere yükleme dosya adlarını normalleştirir.
+ `buildAudioTranscriptionFormData(...)` işlevini kullanmalıdır. Yardımcı, uyumlu
+ transkripsiyon API'leri için M4A tarzı bir dosya adına ihtiyaç duyan AAC yüklemeleri dahil
+ yükleme dosya adlarını normalleştirir.
```typescript
@@ -567,6 +588,7 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
connect: async () => {},
sendAudio: () => {},
setMediaTimestamp: () => {},
+ handleBargeIn: () => {},
submitToolResult: () => {},
acknowledgeMark: () => {},
close: () => {},
@@ -574,6 +596,10 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
}),
});
```
+
+ Bir taşıma katmanı bir insanın asistan oynatmasını böldüğünü algılayabiliyor
+ ve sağlayıcı etkin ses yanıtını kırpmayı veya temizlemeyi destekliyorsa
+ `handleBargeIn` uygulayın.
```typescript
@@ -586,11 +612,12 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
```
- Video yetenekleri **mod farkında** bir şekil kullanır: `generate`,
+ Video yetenekleri **mod farkındalıklı** bir yapı kullanır: `generate`,
`imageToVideo` ve `videoToVideo`. `maxInputImages` / `maxInputVideos` /
- `maxDurationSeconds` gibi düz toplu alanlar, dönüştürme modu desteğini
- veya devre dışı modları temiz biçimde duyurmak için yeterli değildir.
- Müzik üretimi de açık `generate` / `edit` bloklarıyla aynı örüntüyü izler.
+ `maxDurationSeconds` gibi düz toplu alanlar, dönüştürme modu desteğini veya devre dışı
+ modları temiz biçimde duyurmak için yeterli değildir.
+ Müzik üretimi de açık `generate` /
+ `edit` bloklarıyla aynı kalıbı izler.
```typescript
api.registerImageGenerationProvider({
@@ -684,9 +711,9 @@ Bu kılavuz, OpenClaw'a bir model sağlayıcısı (LLM) ekleyen bir provider Plu
-## ClawHub’a yayımlama
+## ClawHub'da yayımlama
-Sağlayıcı plugin’leri, diğer tüm harici kod plugin’leriyle aynı şekilde yayımlanır:
+Sağlayıcı plugin'leri, diğer tüm harici kod plugin'leriyle aynı şekilde yayımlanır:
```bash
clawhub package publish your-org/your-plugin --dry-run
@@ -708,27 +735,27 @@ Burada eski yalnızca skill yayımlama takma adını kullanmayın; plugin paketl
└── usage.ts # Usage endpoint (optional)
```
-## Katalog sırası referansı
+## Katalog sırası başvurusu
`catalog.order`, kataloğunuzun yerleşik sağlayıcılara göre ne zaman birleştirileceğini
denetler:
-| Sıra | Ne zaman | Kullanım durumu |
-| --------- | ------------- | ----------------------------------------------- |
-| `simple` | İlk geçiş | Düz API anahtarı sağlayıcıları |
-| `profile` | simple sonrası | Kimlik doğrulama profillerine bağlı sağlayıcılar |
-| `paired` | profile sonrası | Birden fazla ilişkili girdiyi sentezleme |
-| `late` | Son geçiş | Mevcut sağlayıcıları geçersiz kılma (çakışmada kazanır) |
+| Sıra | Zaman | Kullanım durumu |
+| --------- | ------------- | --------------------------------------------- |
+| `simple` | İlk geçiş | Düz API anahtarlı sağlayıcılar |
+| `profile` | simple sonrası| Kimlik doğrulama profillerine bağlı sağlayıcılar |
+| `paired` | profile sonrası | Birden çok ilişkili girdiyi sentezle |
+| `late` | Son geçiş | Mevcut sağlayıcıları geçersiz kıl (çakışmada kazanır) |
## Sonraki adımlar
-- [Kanal Plugin’leri](/tr/plugins/sdk-channel-plugins) — plugin’iniz ayrıca bir kanal sağlıyorsa
-- [SDK Runtime](/tr/plugins/sdk-runtime) — `api.runtime` yardımcıları (TTS, arama, alt aracı)
-- [SDK Genel Bakış](/tr/plugins/sdk-overview) — tam alt yol içe aktarma referansı
-- [Plugin İç Yapısı](/tr/plugins/architecture-internals#provider-runtime-hooks) — hook ayrıntıları ve paketli örnekler
+- [Kanal Plugin'leri](/tr/plugins/sdk-channel-plugins) — plugin'iniz ayrıca bir kanal sağlıyorsa
+- [SDK Çalışma Zamanı](/tr/plugins/sdk-runtime) — `api.runtime` yardımcıları (TTS, arama, alt ajan)
+- [SDK Genel Bakış](/tr/plugins/sdk-overview) — tam alt yol içe aktarma başvurusu
+- [Plugin İç Yapısı](/tr/plugins/architecture-internals#provider-runtime-hooks) — hook ayrıntıları ve paketlenmiş örnekler
## İlgili
- [Plugin SDK kurulumu](/tr/plugins/sdk-setup)
- [Plugin oluşturma](/tr/plugins/building-plugins)
-- [Kanal plugin’leri oluşturma](/tr/plugins/sdk-channel-plugins)
+- [Kanal plugin'leri oluşturma](/tr/plugins/sdk-channel-plugins)
diff --git a/docs/tr/plugins/voice-call.md b/docs/tr/plugins/voice-call.md
index 3e0fa1164..6d323d2fe 100644
--- a/docs/tr/plugins/voice-call.md
+++ b/docs/tr/plugins/voice-call.md
@@ -1,27 +1,27 @@
---
read_when:
- - OpenClaw üzerinden giden bir sesli arama yapmak istiyorsunuz
- - voice-call Plugin'ini yapılandırıyor veya geliştiriyorsunuz
- - Telefon sistemlerinde gerçek zamanlı sese veya akışlı transkripsiyona ihtiyacınız var
+ - OpenClaw'dan giden bir sesli arama yapmak istiyorsunuz
+ - Sesli arama Plugin'ini yapılandırıyor veya geliştiriyorsunuz
+ - Telefon altyapısında gerçek zamanlı sese veya akış halinde transkripsiyona ihtiyacınız var
sidebarTitle: Voice call
-summary: Twilio, Telnyx veya Plivo aracılığıyla giden sesli aramalar yapın ve gelen sesli aramaları kabul edin; isteğe bağlı gerçek zamanlı ses ve akış transkripsiyonu desteğiyle
-title: Sesli arama Plugin'i
+summary: Twilio, Telnyx veya Plivo üzerinden giden sesli aramalar yapın ve gelen sesli aramaları kabul edin; isteğe bağlı gerçek zamanlı ses ve akışlı transkripsiyon desteğiyle
+title: Sesli arama Plugin
x-i18n:
- generated_at: "2026-04-30T09:38:46Z"
+ generated_at: "2026-05-01T09:03:07Z"
model: gpt-5.5
provider: openai
- source_hash: 7976b84ce1ee6e29706e595a4a25337632b34a9bb8f7cecdee1d6f833a8ce932
+ source_hash: 6334e5418e0fb530fc5d372ee1ada06ba987ce86bbf70746ee4ffe4c3ed4844e
source_path: plugins/voice-call.md
workflow: 16
---
-Bir Plugin aracılığıyla OpenClaw için sesli aramalar. Giden bildirimleri,
-çok turlu konuşmaları, tam çift yönlü gerçek zamanlı sesi, akışlı
-transkripsiyonu ve izin listesi politikalarıyla gelen aramaları destekler.
+OpenClaw için bir Plugin aracılığıyla sesli aramalar. Giden bildirimleri,
+çok turlu konuşmaları, tam çift yönlü gerçek zamanlı sesi, akış
+transkripsiyonunu ve izin listesi politikalarıyla gelen aramaları destekler.
-**Geçerli sağlayıcılar:** `twilio` (Programmable Voice + Media Streams),
-`telnyx` (Call Control v2), `plivo` (Voice API + XML transfer + GetInput
-speech), `mock` (dev/ağ yok).
+**Mevcut sağlayıcılar:** `twilio` (Programmable Voice + Media Streams),
+`telnyx` (Call Control v2), `plivo` (Voice API + XML aktarımı + GetInput
+konuşma), `mock` (geliştirme/ağ yok).
Voice Call Plugin'i **Gateway sürecinin içinde** çalışır. Uzak bir
@@ -32,14 +32,14 @@ yapılandırın, ardından yüklenmesi için Gateway'i yeniden başlatın.
## Hızlı başlangıç
-
+
```bash
openclaw plugins install @openclaw/voice-call
```
-
+
```bash
PLUGIN_SRC=./path/to/local/voice-call-plugin
openclaw plugins install "$PLUGIN_SRC"
@@ -48,18 +48,18 @@ yapılandırın, ardından yüklenmesi için Gateway'i yeniden başlatın.
- npm, OpenClaw'a ait paketi kullanımdan kaldırılmış olarak bildirirse bu paket sürümü
+ npm, OpenClaw'a ait paketi kullanımdan kaldırılmış olarak bildirirse, bu paket sürümü
daha eski bir harici paket serisindendir; daha yeni bir npm paketi yayımlanana kadar
- güncel paketlenmiş bir OpenClaw derlemesi veya yerel klasör yolunu kullanın.
+ güncel paketlenmiş bir OpenClaw derlemesi veya yerel klasör yolu kullanın.
Ardından Plugin'in yüklenmesi için Gateway'i yeniden başlatın.
-
+
Yapılandırmayı `plugins.entries.voice-call.config` altında ayarlayın (tam yapı için
aşağıdaki [Yapılandırma](#configuration) bölümüne bakın). En az şunlar gerekir:
- `provider`, sağlayıcı kimlik bilgileri, `fromNumber` ve herkesçe erişilebilir
- bir webhook URL'si.
+ `provider`, sağlayıcı kimlik bilgileri, `fromNumber` ve herkese açık olarak
+ erişilebilen bir Webhook URL'si.
```bash
@@ -67,19 +67,19 @@ yapılandırın, ardından yüklenmesi için Gateway'i yeniden başlatın.
```
Varsayılan çıktı sohbet günlüklerinde ve terminallerde okunabilir. Plugin'in
- etkinleştirilmesini, sağlayıcı kimlik bilgilerini, webhook erişimini ve yalnızca
+ etkinleştirilmesini, sağlayıcı kimlik bilgilerini, Webhook erişimini ve yalnızca
bir ses modunun (`streaming` veya `realtime`) etkin olduğunu denetler. Betikler için
`--json` kullanın.
-
+
```bash
openclaw voicecall smoke
openclaw voicecall smoke --to "+15555550123"
```
İkisi de varsayılan olarak deneme çalıştırmasıdır. Kısa bir giden bildirim
- aramasını gerçekten başlatmak için `--yes` ekleyin:
+ araması gerçekten başlatmak için `--yes` ekleyin:
```bash
openclaw voicecall smoke --to "+15555550123" --yes
@@ -89,21 +89,21 @@ yapılandırın, ardından yüklenmesi için Gateway'i yeniden başlatın.
-Twilio, Telnyx ve Plivo için kurulumun **herkesçe erişilebilir bir webhook URL'sine**
-çözülmesi gerekir. `publicUrl`, tünel URL'si, Tailscale URL'si veya sunma geri dönüşü
-loopback ya da özel ağ alanına çözümlenirse kurulum, taşıyıcı webhook'larını alamayacak
-bir sağlayıcı başlatmak yerine başarısız olur.
+Twilio, Telnyx ve Plivo için kurulumun **herkese açık bir Webhook URL'sine**
+çözümlenmesi gerekir. `publicUrl`, tünel URL'si, Tailscale URL'si veya sunum
+geri dönüşü loopback ya da özel ağ alanına çözümlenirse kurulum, operatör
+Webhook'larını alamayacak bir sağlayıcıyı başlatmak yerine başarısız olur.
## Yapılandırma
-`enabled: true` ise ancak seçilen sağlayıcının kimlik bilgileri eksikse,
-Gateway başlangıcı eksik anahtarlarla birlikte kurulum eksik uyarısı günlüğe yazar ve
-çalışma zamanını başlatmayı atlar. Komutlar, RPC çağrıları ve ajan araçları
-kullanıldığında yine de eksik sağlayıcı yapılandırmasını aynen döndürür.
+`enabled: true` ise ancak seçili sağlayıcıda kimlik bilgileri eksikse,
+Gateway başlangıcı eksik anahtarlarla birlikte setup-incomplete uyarısı günlüğe yazar ve
+çalışma zamanını başlatmayı atlar. Komutlar, RPC çağrıları ve agent araçları
+kullanıldığında eksik sağlayıcı yapılandırmasını yine tam olarak döndürür.
-Voice-call kimlik bilgileri SecretRefs kabul eder. `plugins.entries.voice-call.config.twilio.authToken` ve `plugins.entries.voice-call.config.tts.providers.*.apiKey`, standart SecretRef yüzeyi üzerinden çözümlenir; bkz. [SecretRef kimlik bilgisi yüzeyi](/tr/reference/secretref-credential-surface).
+Voice-call kimlik bilgileri SecretRef kabul eder. `plugins.entries.voice-call.config.twilio.authToken`, `plugins.entries.voice-call.config.realtime.providers.*.apiKey`, `plugins.entries.voice-call.config.streaming.providers.*.apiKey` ve `plugins.entries.voice-call.config.tts.providers.*.apiKey` standart SecretRef yüzeyi üzerinden çözümlenir; bkz. [SecretRef kimlik bilgisi yüzeyi](/tr/reference/secretref-credential-surface).
```json5
@@ -165,30 +165,30 @@ Voice-call kimlik bilgileri SecretRefs kabul eder. `plugins.entries.voice-call.c
- - Twilio, Telnyx ve Plivo'nun tümü **herkesçe erişilebilir** bir webhook URL'si gerektirir.
- - `mock`, yerel dev sağlayıcısıdır (ağ çağrısı yoktur).
- - Telnyx, `skipSignatureVerification` true olmadığı sürece `telnyx.publicKey` (veya `TELNYX_PUBLIC_KEY`) gerektirir.
+ - Twilio, Telnyx ve Plivo'nun tamamı **herkese açık olarak erişilebilen** bir Webhook URL'si gerektirir.
+ - `mock` yerel bir geliştirme sağlayıcısıdır (ağ çağrısı yok).
+ - `skipSignatureVerification` true değilse Telnyx `telnyx.publicKey` (veya `TELNYX_PUBLIC_KEY`) gerektirir.
- `skipSignatureVerification` yalnızca yerel test içindir.
- - ngrok ücretsiz katmanında `publicUrl` değerini tam ngrok URL'sine ayarlayın; imza doğrulama her zaman zorunlu tutulur.
- - `tunnel.allowNgrokFreeTierLoopbackBypass: true`, geçersiz imzalı Twilio webhook'larına **yalnızca** `tunnel.provider="ngrok"` ve `serve.bind` loopback olduğunda izin verir (ngrok yerel ajanı). Yalnızca yerel dev.
- - Ngrok ücretsiz katman URL'leri değişebilir veya ara sayfa davranışı ekleyebilir; `publicUrl` kayarsa Twilio imzaları başarısız olur. Üretim: kararlı bir alan adı veya Tailscale funnel tercih edin.
+ - ngrok ücretsiz katmanında `publicUrl` değerini tam ngrok URL'sine ayarlayın; imza doğrulaması her zaman uygulanır.
+ - `tunnel.allowNgrokFreeTierLoopbackBypass: true`, Twilio Webhook'larına geçersiz imzalarla **yalnızca** `tunnel.provider="ngrok"` olduğunda ve `serve.bind` loopback olduğunda (ngrok yerel aracısı) izin verir. Yalnızca yerel geliştirme içindir.
+ - Ngrok ücretsiz katman URL'leri değişebilir veya ara sayfa davranışı ekleyebilir; `publicUrl` saparsa Twilio imzaları başarısız olur. Üretim: kararlı bir etki alanı veya Tailscale funnel tercih edin.
- - `streaming.preStartTimeoutMs`, hiçbir zaman geçerli bir `start` karesi göndermeyen soketleri kapatır.
- - `streaming.maxPendingConnections`, kimliği doğrulanmamış başlatma öncesi soketlerin toplamını sınırlar.
+ - `streaming.preStartTimeoutMs`, hiçbir zaman geçerli bir `start` çerçevesi göndermeyen soketleri kapatır.
+ - `streaming.maxPendingConnections`, toplam kimliği doğrulanmamış başlatma öncesi soket sayısını sınırlar.
- `streaming.maxPendingConnectionsPerIp`, kaynak IP başına kimliği doğrulanmamış başlatma öncesi soketleri sınırlar.
- - `streaming.maxConnections`, toplam açık medya akışı soketlerini sınırlar (bekleyen + etkin).
+ - `streaming.maxConnections`, toplam açık medya akışı soketlerini (bekleyen + etkin) sınırlar.
`provider: "log"`, `twilio.from` veya eski
`streaming.*` OpenAI anahtarlarını kullanan eski yapılandırmalar `openclaw doctor --fix`
- tarafından yeniden yazılır. Çalışma zamanı geri dönüşü eski voice-call anahtarlarını
- şimdilik hâlâ kabul eder, ancak yeniden yazma yolu `openclaw doctor --fix` ve
- uyumluluk shim'i geçicidir.
+ tarafından yeniden yazılır. Çalışma zamanı geri dönüşü şimdilik eski voice-call anahtarlarını
+ kabul etmeye devam eder, ancak yeniden yazma yolu `openclaw doctor --fix` komutudur ve uyumluluk katmanı
+ geçicidir.
- Otomatik geçirilen akış anahtarları:
+ Otomatik geçirilmiş akış anahtarları:
- `streaming.sttProvider` → `streaming.provider`
- `streaming.openaiApiKey` → `streaming.providers.openai.apiKey`
@@ -201,23 +201,24 @@ Voice-call kimlik bilgileri SecretRefs kabul eder. `plugins.entries.voice-call.c
## Gerçek zamanlı sesli konuşmalar
-`realtime`, canlı arama sesi için tam çift yönlü bir gerçek zamanlı ses sağlayıcısı seçer.
-Bu, sesi yalnızca gerçek zamanlı transkripsiyon sağlayıcılarına ileten `streaming`den ayrıdır.
+`realtime`, canlı arama sesi için tam çift yönlü gerçek zamanlı bir ses sağlayıcısı seçer.
+Yalnızca sesi gerçek zamanlı transkripsiyon sağlayıcılarına ileten `streaming`den ayrıdır.
-`realtime.enabled`, `streaming.enabled` ile birleştirilemez. Arama başına bir
+`realtime.enabled`, `streaming.enabled` ile birlikte kullanılamaz. Arama başına bir
ses modu seçin.
-Geçerli çalışma zamanı davranışı:
+Mevcut çalışma zamanı davranışı:
- `realtime.enabled`, Twilio Media Streams için desteklenir.
-- `realtime.provider` isteğe bağlıdır. Ayarlanmazsa Voice Call, kayıtlı ilk gerçek zamanlı ses sağlayıcısını kullanır.
-- Birlikte gelen gerçek zamanlı ses sağlayıcıları: Google Gemini Live (`google`) ve OpenAI (`openai`), kendi sağlayıcı Plugin'leri tarafından kaydedilir.
+- `realtime.provider` isteğe bağlıdır. Ayarlanmazsa Voice Call, ilk kayıtlı gerçek zamanlı ses sağlayıcısını kullanır.
+- Paketle gelen gerçek zamanlı ses sağlayıcıları: Google Gemini Live (`google`) ve OpenAI (`openai`), kendi sağlayıcı Plugin'leri tarafından kaydedilir.
- Sağlayıcıya ait ham yapılandırma `realtime.providers.` altında bulunur.
-- Voice Call, paylaşılan `openclaw_agent_consult` gerçek zamanlı aracını varsayılan olarak sunar. Arayan daha derin akıl yürütme, güncel bilgi veya normal OpenClaw araçları istediğinde gerçek zamanlı model bunu çağırabilir.
-- `realtime.provider` kayıtlı olmayan bir sağlayıcıyı gösterirse veya hiç gerçek zamanlı ses sağlayıcısı kayıtlı değilse Voice Call, tüm Plugin'i başarısız kılmak yerine bir uyarı günlüğe yazar ve gerçek zamanlı medyayı atlar.
-- Danışma oturumu anahtarları, mevcut olduğunda var olan ses oturumunu yeniden kullanır; ardından arama sırasında takip danışma çağrılarının bağlamı koruması için arayan/aranan telefon numarasına geri döner.
+- Voice Call, paylaşılan `openclaw_agent_consult` gerçek zamanlı aracını varsayılan olarak kullanıma sunar. Gerçek zamanlı model, arayan daha derin akıl yürütme, güncel bilgi veya normal OpenClaw araçları istediğinde bunu çağırabilir.
+- `realtime.fastContext.enabled` varsayılan olarak kapalıdır. Etkinleştirildiğinde Voice Call önce danışma sorusu için indekslenmiş bellek/oturum bağlamında arama yapar ve tam danışma agent'ına yalnızca `realtime.fastContext.fallbackToConsult` true ise geri dönmeden önce bu parçaları `realtime.fastContext.timeoutMs` içinde gerçek zamanlı modele döndürür.
+- `realtime.provider` kayıtlı olmayan bir sağlayıcıyı gösteriyorsa veya hiçbir gerçek zamanlı ses sağlayıcısı kayıtlı değilse Voice Call, tüm Plugin'i başarısız yapmak yerine bir uyarı günlüğe yazar ve gerçek zamanlı medyayı atlar.
+- Danışma oturumu anahtarları mevcut olduğunda var olan ses oturumunu yeniden kullanır, ardından takip danışma çağrılarının arama sırasında bağlamı koruması için arayan/aranan telefon numarasına geri döner.
### Araç politikası
@@ -225,16 +226,16 @@ Geçerli çalışma zamanı davranışı:
| Politika | Davranış |
| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
-| `safe-read-only` | Danışma aracını sunar ve normal ajanı `read`, `web_search`, `web_fetch`, `x_search`, `memory_search` ve `memory_get` ile sınırlar. |
-| `owner` | Danışma aracını sunar ve normal ajanın normal ajan araç politikasını kullanmasına izin verir. |
-| `none` | Danışma aracını sunmaz. Özel `realtime.tools` yine de gerçek zamanlı sağlayıcıya geçirilir. |
+| `safe-read-only` | Danışma aracını kullanıma sunar ve normal agent'ı `read`, `web_search`, `web_fetch`, `x_search`, `memory_search` ve `memory_get` ile sınırlar. |
+| `owner` | Danışma aracını kullanıma sunar ve normal agent'ın normal agent araç politikasını kullanmasına izin verir. |
+| `none` | Danışma aracını kullanıma sunmaz. Özel `realtime.tools` yine de gerçek zamanlı sağlayıcıya geçirilir. |
### Gerçek zamanlı sağlayıcı örnekleri
- Varsayılanlar: `realtime.providers.google.apiKey`,
- `GEMINI_API_KEY` veya `GOOGLE_GENERATIVE_AI_API_KEY` üzerinden API anahtarı; model
+ Varsayılanlar: API anahtarı `realtime.providers.google.apiKey`,
+ `GEMINI_API_KEY` veya `GOOGLE_GENERATIVE_AI_API_KEY` içinden; model
`gemini-2.5-flash-native-audio-preview-12-2025`; ses `Kore`.
```json5
@@ -290,21 +291,23 @@ Geçerli çalışma zamanı davranışı:
-Sağlayıcıya özgü gerçek zamanlı ses seçenekleri için [Google sağlayıcısı](/tr/providers/google) ve
+Sağlayıcıya özgü gerçek zamanlı ses seçenekleri için
+[Google sağlayıcısı](/tr/providers/google) ve
[OpenAI sağlayıcısı](/tr/providers/openai) bölümlerine bakın.
-## Akışlı transkripsiyon
+## Akış transkripsiyonu
`streaming`, canlı arama sesi için gerçek zamanlı bir transkripsiyon sağlayıcısı seçer.
-Geçerli çalışma zamanı davranışı:
+Mevcut çalışma zamanı davranışı:
- `streaming.provider` isteğe bağlıdır. Ayarlanmazsa Voice Call, kayıtlı ilk gerçek zamanlı transkripsiyon sağlayıcısını kullanır.
-- Birlikte gelen gerçek zamanlı transkripsiyon sağlayıcıları: Deepgram (`deepgram`), ElevenLabs (`elevenlabs`), Mistral (`mistral`), OpenAI (`openai`) ve xAI (`xai`), kendi sağlayıcı Plugin'leri tarafından kaydedilir.
-- Sağlayıcıya ait ham yapılandırma `streaming.providers.` altında bulunur.
-- `streaming.provider` kayıtlı olmayan bir sağlayıcıyı gösterirse veya hiçbiri kayıtlı değilse Voice Call, tüm Plugin'i başarısız kılmak yerine bir uyarı günlüğe yazar ve medya akışını atlar.
+- Paketle gelen gerçek zamanlı transkripsiyon sağlayıcıları: Deepgram (`deepgram`), ElevenLabs (`elevenlabs`), Mistral (`mistral`), OpenAI (`openai`) ve xAI (`xai`); bunlar kendi sağlayıcı Plugin'leri tarafından kaydedilir.
+- Sağlayıcının sahibi olduğu ham yapılandırma `streaming.providers.` altında bulunur.
+- Twilio kabul edilen bir akış `start` mesajı gönderdikten sonra Voice Call akışı hemen kaydeder, sağlayıcı bağlanırken gelen medyayı transkripsiyon sağlayıcısı üzerinden kuyruğa alır ve ilk selamlamayı yalnızca gerçek zamanlı transkripsiyon hazır olduktan sonra başlatır.
+- `streaming.provider` kayıtlı olmayan bir sağlayıcıyı gösteriyorsa veya hiç sağlayıcı kayıtlı değilse Voice Call bir uyarı günlüğe yazar ve tüm Plugin'i başarısız yapmak yerine medya akışını atlar.
-### Akış sağlayıcı örnekleri
+### Akış sağlayıcısı örnekleri
@@ -372,9 +375,11 @@ Geçerli çalışma zamanı davranışı:
-## Çağrılar için TTS
+## Aramalar için TTS
-Voice Call, çağrılarda akış konuşması için çekirdek `messages.tts` yapılandırmasını kullanır. Bunu Plugin yapılandırmasının altında **aynı şekille** geçersiz kılabilirsiniz; `messages.tts` ile derin birleştirme yapılır.
+Voice Call, aramalarda akış konuşması için çekirdek `messages.tts`
+yapılandırmasını kullanır. Bunu Plugin yapılandırması altında **aynı şekille**
+geçersiz kılabilirsiniz; `messages.tts` ile derin birleştirme yapılır.
```json5
{
@@ -391,22 +396,22 @@ Voice Call, çağrılarda akış konuşması için çekirdek `messages.tts` yap
```
-**Microsoft konuşma, sesli çağrılar için yoksayılır.** Telefon sesi PCM gerektirir;
-mevcut Microsoft aktarımı telefon PCM çıktısını sunmaz.
+**Microsoft speech, sesli aramalar için yok sayılır.** Telefon sesinin PCM'ye ihtiyacı vardır;
+mevcut Microsoft taşıması telefon PCM çıktısını sunmaz.
Davranış notları:
-- Plugin yapılandırması içindeki eski `tts.` anahtarları (`openai`, `elevenlabs`, `microsoft`, `edge`) `openclaw doctor --fix` tarafından onarılır; commit edilen yapılandırma `tts.providers.` kullanmalıdır.
-- Çekirdek TTS, Twilio medya akışı etkinleştirildiğinde kullanılır; aksi halde çağrılar sağlayıcıya özgü seslere geri döner.
-- Bir Twilio medya akışı zaten etkinse, Voice Call TwiML `` kullanımına geri dönmez. Bu durumda telefon TTS kullanılamıyorsa, oynatma isteği iki oynatma yolunu karıştırmak yerine başarısız olur.
-- Telefon TTS ikincil bir sağlayıcıya geri döndüğünde, Voice Call hata ayıklama için sağlayıcı zinciriyle (`from`, `to`, `attempts`) bir uyarı günlüğe yazar.
-- Twilio araya girme veya akış sonlandırma bekleyen TTS kuyruğunu temizlediğinde, kuyruktaki oynatma istekleri oynatma tamamlanmasını bekleyen arayanları askıda bırakmak yerine sonuçlanır.
+- Plugin yapılandırması içindeki eski `tts.` anahtarları (`openai`, `elevenlabs`, `microsoft`, `edge`) `openclaw doctor --fix` tarafından onarılır; commit edilmiş yapılandırma `tts.providers.` kullanmalıdır.
+- Twilio medya akışı etkinleştirildiğinde çekirdek TTS kullanılır; aksi halde aramalar sağlayıcıya özgü seslere geri döner.
+- Bir Twilio medya akışı zaten etkinse Voice Call, TwiML `` seçeneğine geri dönmez. Bu durumda telefon TTS kullanılamıyorsa oynatma isteği iki oynatma yolunu karıştırmak yerine başarısız olur.
+- Telefon TTS ikincil bir sağlayıcıya geri döndüğünde Voice Call, hata ayıklama için sağlayıcı zinciriyle (`from`, `to`, `attempts`) birlikte bir uyarı günlüğe yazar.
+- Twilio araya girme veya akış sökümü bekleyen TTS kuyruğunu temizlediğinde, kuyruğa alınmış oynatma istekleri arayanları oynatma tamamlanmasını bekler durumda bırakmak yerine sonuçlanır.
### TTS örnekleri
-
+
```json5
{
messages: {
@@ -420,7 +425,7 @@ Davranış notları:
}
```
-
+
```json5
{
plugins: {
@@ -444,7 +449,7 @@ Davranış notları:
}
```
-
+
```json5
{
plugins: {
@@ -468,9 +473,9 @@ Davranış notları:
-## Gelen çağrılar
+## Gelen aramalar
-Gelen ilke varsayılan olarak `disabled` değerindedir. Gelen çağrıları etkinleştirmek için şunu ayarlayın:
+Gelen arama ilkesi varsayılan olarak `disabled` değerindedir. Gelen aramaları etkinleştirmek için şunu ayarlayın:
```json5
{
@@ -481,15 +486,21 @@ Gelen ilke varsayılan olarak `disabled` değerindedir. Gelen çağrıları etki
```
-`inboundPolicy: "allowlist"` düşük güvence sağlayan bir arayan kimliği filtresidir. Plugin, sağlayıcı tarafından sağlanan `From` değerini normalleştirir ve `allowFrom` ile karşılaştırır. Webhook doğrulaması sağlayıcı teslimini ve yük bütünlüğünü doğrular, ancak PSTN/VoIP arayan numarası sahipliğini **kanıtlamaz**. `allowFrom` değerini güçlü arayan kimliği olarak değil, arayan kimliği filtreleme olarak ele alın.
+`inboundPolicy: "allowlist"` düşük güvenceli bir arayan kimliği filtresidir.
+Plugin, sağlayıcı tarafından sağlanan `From` değerini normalleştirir ve bunu
+`allowFrom` ile karşılaştırır. Webhook doğrulaması sağlayıcı teslimini ve
+yük bütünlüğünü doğrular, ancak PSTN/VoIP arayan numarası sahipliğini
+**kanıtlamaz**. `allowFrom` değerini güçlü arayan kimliği olarak değil,
+arayan kimliği filtrelemesi olarak değerlendirin.
-Otomatik yanıtlar ajan sistemini kullanır. `responseModel`,
+Otomatik yanıtlar aracı sistemini kullanır. `responseModel`,
`responseSystemPrompt` ve `responseTimeoutMs` ile ayarlayın.
-### Sözlü çıktı sözleşmesi
+### Konuşulan çıktı sözleşmesi
-Otomatik yanıtlar için Voice Call, sistem istemine katı bir sözlü çıktı sözleşmesi ekler:
+Otomatik yanıtlar için Voice Call, sistem istemine katı bir konuşulan çıktı
+sözleşmesi ekler:
```text
{"spoken":"..."}
@@ -497,37 +508,41 @@ Otomatik yanıtlar için Voice Call, sistem istemine katı bir sözlü çıktı
Voice Call konuşma metnini savunmalı biçimde çıkarır:
-- Akıl yürütme/hata içeriği olarak işaretlenen yükleri yoksayar.
-- Doğrudan JSON, çit içine alınmış JSON veya satır içi `"spoken"` anahtarlarını ayrıştırır.
-- Düz metne geri döner ve olası planlama/meta giriş paragraflarını kaldırır.
+- Akıl yürütme/hata içeriği olarak işaretlenmiş yükleri yok sayar.
+- Doğrudan JSON'u, çit içine alınmış JSON'u veya satır içi `"spoken"` anahtarlarını ayrıştırır.
+- Düz metne geri döner ve muhtemel planlama/meta giriş paragraflarını kaldırır.
-Bu, sözlü oynatmanın arayana yönelik metne odaklanmasını sağlar ve planlama metninin sese sızmasını önler.
+Bu, konuşulan oynatmanın arayana dönük metne odaklanmasını sağlar ve
+planlama metninin sese sızmasını önler.
### Konuşma başlatma davranışı
-Giden `conversation` çağrıları için ilk mesaj işleme canlı oynatma durumuna bağlıdır:
+Giden `conversation` aramaları için ilk mesaj işleme canlı oynatma durumuna bağlıdır:
-- Araya girme kuyruğu temizleme ve otomatik yanıt yalnızca ilk karşılama etkin olarak konuşulurken bastırılır.
-- İlk oynatma başarısız olursa, çağrı `listening` durumuna döner ve ilk mesaj yeniden deneme için kuyrukta kalır.
+- Araya girme kuyruğu temizleme ve otomatik yanıt yalnızca ilk selamlama aktif olarak konuşulurken bastırılır.
+- İlk oynatma başarısız olursa arama `listening` durumuna döner ve ilk mesaj yeniden deneme için kuyrukta kalır.
- Twilio akışı için ilk oynatma, akış bağlantısında ek gecikme olmadan başlar.
-- Araya girme etkin oynatmayı iptal eder ve kuyrukta olan ancak henüz oynatılmayan Twilio TTS girişlerini temizler. Temizlenen girişler atlanmış olarak çözülür, böylece takip yanıt mantığı hiç oynatılmayacak sesi beklemeden devam edebilir.
-- Gerçek zamanlı sesli konuşmalar, gerçek zamanlı akışın kendi açılış sırasını kullanır. Voice Call, bu ilk mesaj için eski bir `` TwiML güncellemesi göndermez, bu nedenle giden `` oturumları bağlı kalır.
+- Araya girme aktif oynatmayı iptal eder ve kuyruğa alınmış ancak henüz oynatılmayan Twilio TTS girişlerini temizler. Temizlenen girişler atlanmış olarak çözümlenir; böylece takip yanıt mantığı, hiç oynatılmayacak sesi beklemeden devam edebilir.
+- Gerçek zamanlı sesli konuşmalar, gerçek zamanlı akışın kendi açılış sırasını kullanır. Voice Call bu ilk mesaj için eski bir `` TwiML güncellemesi göndermez; bu nedenle giden `` oturumları bağlı kalır.
-### Twilio akış bağlantı kesme toleransı
+### Twilio akış bağlantısı kesilme ek süresi
-Bir Twilio medya akışının bağlantısı kesildiğinde, Voice Call çağrıyı otomatik sonlandırmadan önce **2000 ms** bekler:
+Bir Twilio medya akışının bağlantısı kesildiğinde Voice Call, aramayı
+otomatik sonlandırmadan önce **2000 ms** bekler:
-- Akış bu süre içinde yeniden bağlanırsa, otomatik sonlandırma iptal edilir.
-- Tolerans süresinden sonra hiçbir akış yeniden kaydolmazsa, takılı kalmış etkin çağrıları önlemek için çağrı sonlandırılır.
+- Akış bu pencere sırasında yeniden bağlanırsa otomatik sonlandırma iptal edilir.
+- Ek süreden sonra hiçbir akış yeniden kaydolmazsa takılı kalan aktif aramaları önlemek için arama sonlandırılır.
-## Eski çağrı temizleyici
+## Bayat arama temizleyici
-Hiçbir zaman terminal Webhook almayan çağrıları sonlandırmak için `staleCallReaperSeconds` kullanın (örneğin, hiç tamamlanmayan bildirim modu çağrıları). Varsayılan değer `0` (devre dışı) şeklindedir.
+Hiçbir terminal Webhook almayan aramaları (örneğin hiç tamamlanmayan bildirim modu
+aramaları) sonlandırmak için `staleCallReaperSeconds` kullanın. Varsayılan
+`0` değeridir (devre dışı).
Önerilen aralıklar:
-- **Üretim:** Bildirim tarzı akışlar için `120`–`300` saniye.
-- Normal çağrıların tamamlanabilmesi için bu değeri **`maxDurationSeconds` değerinden yüksek** tutun. İyi bir başlangıç noktası `maxDurationSeconds + 30–60` saniyedir.
+- **Production:** Bildirim tarzı akışlar için `120`-`300` saniye.
+- Normal aramaların tamamlanabilmesi için bu değeri **`maxDurationSeconds` değerinden yüksek** tutun. İyi bir başlangıç noktası `maxDurationSeconds + 30-60` saniyedir.
```json5
{
@@ -546,26 +561,28 @@ Hiçbir zaman terminal Webhook almayan çağrıları sonlandırmak için `staleC
## Webhook güvenliği
-Gateway önünde bir proxy veya tünel bulunduğunda, Plugin imza doğrulaması için genel URL'yi yeniden oluşturur. Bu seçenekler hangi iletilen başlıklara güvenileceğini denetler:
+Gateway'in önünde bir proxy veya tünel bulunduğunda Plugin, imza doğrulaması
+için genel URL'yi yeniden oluşturur. Bu seçenekler hangi yönlendirilmiş
+başlıkların güvenilir olduğunu denetler:
- İletme başlıklarından gelen ana makineleri izin listesine alır.
+ Yönlendirme başlıklarından gelen konaklara izin listesi uygula.
- İzin listesi olmadan iletilen başlıklara güvenir.
+ Yönlendirilmiş başlıklara izin listesi olmadan güven.
- Yalnızca istek uzak IP'si listeyle eşleştiğinde iletilen başlıklara güvenir.
+ Yalnızca isteğin uzak IP'si listeyle eşleştiğinde yönlendirilmiş başlıklara güven.
Ek korumalar:
- Webhook **yeniden oynatma koruması** Twilio ve Plivo için etkindir. Yeniden oynatılan geçerli Webhook istekleri onaylanır ancak yan etkiler için atlanır.
-- Twilio konuşma sıraları `` geri çağrılarında sıra başına bir belirteç içerir, böylece eski/yeniden oynatılan konuşma geri çağrıları daha yeni bekleyen bir transkript sırasını karşılayamaz.
-- Kimliği doğrulanmamış Webhook istekleri, sağlayıcının gerekli imza başlıkları eksik olduğunda gövde okumalarından önce reddedilir.
-- voice-call Webhook'u, imza doğrulamasından önce paylaşılan ön kimlik doğrulama gövde profilini (64 KB / 5 saniye) ve IP başına eşzamanlı sınırı kullanır.
+- Twilio konuşma turları, `` geri çağrılarında tur başına bir belirteç içerir; böylece bayat/yeniden oynatılmış konuşma geri çağrıları daha yeni bekleyen bir transkript turunu karşılayamaz.
+- Sağlayıcının gerekli imza başlıkları eksik olduğunda kimliği doğrulanmamış Webhook istekleri gövde okumalarından önce reddedilir.
+- voice-call Webhook'u, imza doğrulamasından önce paylaşılan ön kimlik doğrulama gövde profilini (64 KB / 5 saniye) ve IP başına uçuşta sınırını kullanır.
-Kararlı bir genel ana makineyle örnek:
+Kararlı bir genel konakla örnek:
```json5
{
@@ -599,34 +616,201 @@ openclaw voicecall latency # summarize turn latency from lo
openclaw voicecall expose --mode funnel
```
-`latency`, varsayılan voice-call depolama yolundan `calls.jsonl` dosyasını okur.
-Farklı bir günlüğü göstermek için `--file `, analizi son N kayıtla sınırlamak için `--last ` kullanın (varsayılan 200). Çıktı, sıra gecikmesi ve dinleme-bekleme süreleri için p50/p90/p99 içerir.
+Gateway zaten çalışırken operasyonel `voicecall` komutları, CLI'ın ikinci bir
+Webhook sunucusu bağlamaması için Gateway'in sahibi olduğu voice-call çalışma
+zamanına devreder. Erişilebilir bir Gateway yoksa komutlar bağımsız CLI çalışma
+zamanına geri döner.
-## Ajan aracı
+`latency`, varsayılan voice-call depolama yolundan `calls.jsonl` dosyasını okur.
+Farklı bir günlüğü işaret etmek için `--file `, analizi son N kayıtla
+(varsayılan 200) sınırlamak için `--last ` kullanın. Çıktı, tur gecikmesi ve
+dinleme-bekleme süreleri için p50/p90/p99 içerir.
+
+## Aracı aracı
Araç adı: `voice_call`.
-| Eylem | Bağımsız değişkenler |
-| --------------- | ------------------------- |
-| `initiate_call` | `message`, `to?`, `mode?` |
-| `continue_call` | `callId`, `message` |
-| `speak_to_user` | `callId`, `message` |
-| `send_dtmf` | `callId`, `digits` |
-| `end_call` | `callId` |
-| `get_status` | `callId` |
+| Eylem | Argümanlar |
+| --------------- | ------------------------------------------ |
+| `initiate_call` | `message`, `to?`, `mode?`, `dtmfSequence?` |
+| `continue_call` | `callId`, `message` |
+| `speak_to_user` | `callId`, `message` |
+| `send_dtmf` | `callId`, `digits` |
+| `end_call` | `callId` |
+| `get_status` | `callId` |
-Bu repo `skills/voice-call/SKILL.md` konumunda eşleşen bir Skills belgesi sunar.
+Bu repo `skills/voice-call/SKILL.md` konumunda eşleşen bir skill dokümanı gönderir.
## Gateway RPC
-| Yöntem | Bağımsız değişkenler |
-| ------------------- | ------------------------- |
-| `voicecall.initiate` | `to?`, `message`, `mode?` |
-| `voicecall.continue` | `callId`, `message` |
-| `voicecall.speak` | `callId`, `message` |
-| `voicecall.dtmf` | `callId`, `digits` |
-| `voicecall.end` | `callId` |
-| `voicecall.status` | `callId` |
+| Yöntem | Argümanlar |
+| -------------------- | ------------------------------------------ |
+| `voicecall.initiate` | `to?`, `message`, `mode?`, `dtmfSequence?` |
+| `voicecall.continue` | `callId`, `message` |
+| `voicecall.speak` | `callId`, `message` |
+| `voicecall.dtmf` | `callId`, `digits` |
+| `voicecall.end` | `callId` |
+| `voicecall.status` | `callId` |
+
+`dtmfSequence` yalnızca `mode: "conversation"` ile geçerlidir. Bildirim modu aramaları
+bağlantı sonrası rakamlara ihtiyaç duyuyorsa arama oluştuktan sonra
+`voicecall.dtmf` kullanmalıdır.
+
+## Sorun giderme
+
+### Kurulum Webhook yayınını başarısız yapıyor
+
+Kurulumu Gateway'i çalıştıran aynı ortamdan çalıştırın:
+
+```bash
+openclaw voicecall setup
+openclaw voicecall setup --json
+```
+
+`twilio`, `telnyx` ve `plivo` için `webhook-exposure` yeşil olmalıdır.
+Yapılandırılmış bir `publicUrl`, yerel veya özel ağ alanını işaret ettiğinde
+yine de başarısız olur, çünkü taşıyıcı bu adreslere geri çağrı yapamaz.
+`publicUrl` olarak `localhost`, `127.0.0.1`, `0.0.0.0`, `10.x`,
+`172.16.x`-`172.31.x`, `192.168.x`, `169.254.x`, `fc00::/7` veya
+`fd00::/8` kullanmayın.
+
+Bir genel erişim yolu kullanın:
+
+```json5
+{
+ plugins: {
+ entries: {
+ "voice-call": {
+ config: {
+ publicUrl: "https://voice.example.com/voice/webhook",
+ // or
+ tunnel: { provider: "ngrok" },
+ // or
+ tailscale: { mode: "funnel", path: "/voice/webhook" },
+ },
+ },
+ },
+ },
+}
+```
+
+Yapılandırmayı değiştirdikten sonra Gateway'i yeniden başlatın veya yeniden
+yükleyin, ardından şunu çalıştırın:
+
+```bash
+openclaw voicecall setup
+openclaw voicecall smoke
+```
+
+`voicecall smoke`, `--yes` iletmediğiniz sürece bir deneme çalıştırmasıdır.
+
+### Sağlayıcı kimlik bilgileri başarısız oluyor
+
+Seçili sağlayıcıyı ve gerekli kimlik bilgisi alanlarını kontrol edin:
+
+- Twilio: `twilio.accountSid`, `twilio.authToken` ve `fromNumber`, veya
+ `TWILIO_ACCOUNT_SID`, `TWILIO_AUTH_TOKEN` ve `TWILIO_FROM_NUMBER`.
+- Telnyx: `telnyx.apiKey`, `telnyx.connectionId`, `telnyx.publicKey` ve
+ `fromNumber`.
+- Plivo: `plivo.authId`, `plivo.authToken` ve `fromNumber`.
+
+Kimlik bilgileri Gateway ana makinesinde bulunmalıdır. Yerel bir kabuk profilini
+düzenlemek, halihazırda çalışan bir Gateway yeniden başlatılana veya ortamını
+yeniden yükleyene kadar onu etkilemez.
+
+### Çağrılar başlıyor ancak sağlayıcı Webhook'ları ulaşmıyor
+
+Sağlayıcı konsolunun tam genel Webhook URL'sini işaret ettiğini doğrulayın:
+
+```text
+https://voice.example.com/voice/webhook
+```
+
+Ardından çalışma zamanı durumunu inceleyin:
+
+```bash
+openclaw voicecall status --call-id
+openclaw voicecall tail
+openclaw logs --follow
+```
+
+Yaygın nedenler:
+
+- `publicUrl`, `serve.path` değerinden farklı bir yolu işaret eder.
+- Gateway başladıktan sonra tünel URL'si değişmiştir.
+- Bir proxy isteği iletir ancak host/proto üst bilgilerini kaldırır veya yeniden yazar.
+- Güvenlik duvarı veya DNS, genel ana makine adını Gateway dışında bir yere yönlendirir.
+- Gateway, Voice Call Plugin etkinleştirilmeden yeniden başlatılmıştır.
+
+Gateway'in önünde bir ters proxy veya tünel olduğunda,
+`webhookSecurity.allowedHosts` değerini genel ana makine adına ayarlayın veya
+bilinen bir proxy adresi için `webhookSecurity.trustedProxyIPs` kullanın.
+`webhookSecurity.trustForwardingHeaders` değerini yalnızca proxy sınırı sizin
+kontrolünüz altındaysa kullanın.
+
+### İmza doğrulaması başarısız oluyor
+
+Sağlayıcı imzaları, OpenClaw'ın gelen istekten yeniden oluşturduğu genel URL'ye
+göre kontrol edilir. İmzalar başarısız olursa:
+
+- Sağlayıcı Webhook URL'sinin şema, ana makine ve yol dahil olmak üzere
+ `publicUrl` ile tam olarak eşleştiğini doğrulayın.
+- Ücretsiz ngrok katmanı URL'leri için tünel ana makine adı değiştiğinde
+ `publicUrl` değerini güncelleyin.
+- Proxy'nin özgün host ve proto üst bilgilerini koruduğundan emin olun veya
+ `webhookSecurity.allowedHosts` yapılandırın.
+- Yerel test dışında `skipSignatureVerification` etkinleştirmeyin.
+
+### Google Meet Twilio katılımları başarısız oluyor
+
+Google Meet, Twilio aramayla katılımlar için bu Plugin'i kullanır. Önce Voice Call'u doğrulayın:
+
+```bash
+openclaw voicecall setup
+openclaw voicecall smoke --to "+15555550123"
+```
+
+Ardından Google Meet taşımasını açıkça doğrulayın:
+
+```bash
+openclaw googlemeet setup --transport twilio
+```
+
+Voice Call yeşilse ancak Meet katılımcısı hiç katılmıyorsa Meet aramayla katılım
+numarasını, PIN'i ve `--dtmf-sequence` değerini kontrol edin. Telefon çağrısı
+sağlıklı olabilir, ancak toplantı hatalı bir DTMF dizisini reddedebilir veya
+yok sayabilir.
+
+Google Meet, Meet DTMF dizisini ve giriş metnini `voicecall.start` öğesine
+iletir. Twilio çağrıları için Voice Call önce DTMF TwiML'i sunar, Webhook'a
+geri yönlendirir, ardından gerçek zamanlı medya akışını açar; böylece kaydedilen
+giriş, telefon katılımcısı toplantıya katıldıktan sonra oluşturulur.
+
+Canlı aşama izi için `openclaw logs --follow` kullanın. Sağlıklı bir Twilio Meet
+katılımı bu sırayı günlüğe kaydeder:
+
+- Google Meet, Twilio katılımını Voice Call'a devreder.
+- Voice Call, bağlantı öncesi DTMF TwiML'ini depolar.
+- Twilio başlangıç TwiML'i gerçek zamanlı işlemden önce tüketilir ve sunulur.
+- Voice Call, Twilio çağrısı için gerçek zamanlı TwiML sunar.
+- Gerçek zamanlı köprü, ilk selamlama kuyruğa alınmış şekilde başlar.
+
+`openclaw voicecall tail` kalıcı çağrı kayıtlarını yine de gösterir; çağrı
+durumu ve transkriptler için kullanışlıdır, ancak her Webhook/gerçek zamanlı
+geçiş orada görünmez.
+
+### Gerçek zamanlı çağrıda konuşma yok
+
+Yalnızca bir ses modunun etkin olduğunu doğrulayın. `realtime.enabled` ve
+`streaming.enabled` aynı anda true olamaz.
+
+Gerçek zamanlı Twilio çağrıları için ayrıca şunları doğrulayın:
+
+- Bir gerçek zamanlı sağlayıcı Plugin yüklü ve kaydedilmiş.
+- `realtime.provider` ayarlanmamış ya da kayıtlı bir sağlayıcının adını veriyor.
+- Sağlayıcı API anahtarı Gateway süreci için kullanılabilir.
+- `openclaw logs --follow`, gerçek zamanlı TwiML'in sunulduğunu, gerçek zamanlı
+ köprünün başladığını ve ilk selamlamanın kuyruğa alındığını gösteriyor.
## İlgili
diff --git a/docs/tr/reference/RELEASING.md b/docs/tr/reference/RELEASING.md
index 16884cb1c..4732418ef 100644
--- a/docs/tr/reference/RELEASING.md
+++ b/docs/tr/reference/RELEASING.md
@@ -1,24 +1,24 @@
---
read_when:
- - Genel kullanıma açık sürüm kanalı tanımları aranıyor
+ - Herkese açık sürüm kanalı tanımları aranıyor
- Sürüm doğrulamasını veya paket kabulünü çalıştırma
- - Sürüm adlandırması ve yayın temposunu arama
-summary: Sürüm hatları, operatör kontrol listesi, doğrulama kutuları, sürüm adlandırması ve tempo
+ - Sürüm adlandırması ve yayın temposu aranıyor
+summary: Sürüm hatları, operatör kontrol listesi, doğrulama kutuları, sürüm adlandırması ve yayın temposu
title: Sürüm politikası
x-i18n:
- generated_at: "2026-04-30T09:43:24Z"
+ generated_at: "2026-05-01T09:03:18Z"
model: gpt-5.5
provider: openai
- source_hash: 54dc9ad7918ac95ec535a0404bbcbc04461a2b977151db0c2039b91e7e69c15c
+ source_hash: dfe579099a9580e2d0400cd0b24f26d3fa3ee917899423604ebc13aa2519b4ee
source_path: reference/RELEASING.md
workflow: 16
---
-OpenClaw'ın üç herkese açık yayın hattı vardır:
+OpenClaw'ın üç herkese açık yayın kanalı vardır:
-- kararlı: varsayılan olarak npm `beta`'ya veya açıkça istendiğinde npm `latest`'a yayımlanan etiketli yayınlar
-- beta: npm `beta`'ya yayımlanan ön yayın etiketleri
-- geliştirme: `main` dalının hareketli başı
+- kararlı: varsayılan olarak npm `beta` üzerinde, açıkça istendiğinde ise npm `latest` üzerinde yayımlanan etiketli yayınlar
+- beta: npm `beta` üzerinde yayımlanan ön yayın etiketleri
+- geliştirme: `main` dalının hareketli son noktası
## Sürüm adlandırma
@@ -28,138 +28,139 @@ OpenClaw'ın üç herkese açık yayın hattı vardır:
- Git etiketi: `vYYYY.M.D-N`
- Beta ön yayın sürümü: `YYYY.M.D-beta.N`
- Git etiketi: `vYYYY.M.D-beta.N`
-- Ayı veya günü sıfırla doldurmayın
-- `latest`, güncel yükseltilmiş kararlı npm yayını anlamına gelir
-- `beta`, güncel beta kurulum hedefi anlamına gelir
-- Kararlı ve kararlı düzeltme yayınları varsayılan olarak npm `beta`'ya yayımlanır; yayın operatörleri açıkça `latest`'ı hedefleyebilir veya incelenmiş bir beta derlemesini daha sonra yükseltebilir
-- Her kararlı OpenClaw yayını, npm paketini ve macOS uygulamasını birlikte sunar;
+- Ay veya günü sıfırla doldurmayın
+- `latest`, mevcut yükseltilmiş kararlı npm yayını anlamına gelir
+- `beta`, mevcut beta kurulum hedefi anlamına gelir
+- Kararlı ve kararlı düzeltme yayınları varsayılan olarak npm `beta` üzerinde yayımlanır; yayın operatörleri açıkça `latest` hedefleyebilir veya incelenmiş bir beta derlemesini daha sonra yükseltebilir
+- Her kararlı OpenClaw yayını npm paketini ve macOS uygulamasını birlikte sunar;
beta yayınları normalde önce npm/paket yolunu doğrular ve yayımlar; mac
- uygulaması derleme/imzalama/noter onayı, açıkça istenmedikçe kararlı yayınlara ayrılır
+ uygulama derleme/imzalama/noter onayı, açıkça istenmediği sürece kararlı yayınlara ayrılır
-## Yayın sıklığı
+## Yayın temposu
- Yayınlar önce beta olarak ilerler
- Kararlı yayın, yalnızca en son beta doğrulandıktan sonra gelir
-- Bakımcılar yayınları normalde güncel `main`'den oluşturulan bir
- `release/YYYY.M.D` dalından çıkarır; böylece yayın doğrulaması ve düzeltmeler
- `main` üzerindeki yeni geliştirmeyi engellemez
-- Bir beta etiketi gönderilmiş veya yayımlanmışsa ve düzeltme gerekiyorsa,
- bakımcılar eski beta etiketini silmek veya yeniden oluşturmak yerine sonraki
- `-beta.N` etiketini çıkarır
+- Bakımcılar yayınları normalde mevcut `main` üzerinden oluşturulan bir `release/YYYY.M.D` dalından çıkarır;
+ böylece yayın doğrulaması ve düzeltmeler `main` üzerindeki yeni geliştirmeyi
+ engellemez
+- Bir beta etiketi itilmiş veya yayımlanmışsa ve düzeltme gerekiyorsa, bakımcılar
+ eski beta etiketini silmek veya yeniden oluşturmak yerine sonraki `-beta.N` etiketini çıkarır
- Ayrıntılı yayın prosedürü, onaylar, kimlik bilgileri ve kurtarma notları
yalnızca bakımcılara özeldir
## Yayın operatörü kontrol listesi
-Bu kontrol listesi, yayın akışının herkese açık biçimidir. Özel kimlik bilgileri,
+Bu kontrol listesi yayın akışının herkese açık biçimidir. Özel kimlik bilgileri,
imzalama, noter onayı, dist-tag kurtarma ve acil geri alma ayrıntıları
-yalnızca bakımcılara özel yayın çalıştırma kitabında kalır.
+yalnızca bakımcılara özel yayın çalışma kitabında kalır.
-1. Güncel `main`'den başlayın: en son değişiklikleri çekin, hedef commit'in gönderildiğini
- doğrulayın ve güncel `main` CI durumunun dal oluşturmak için yeterince yeşil olduğunu doğrulayın.
-2. Üstteki `CHANGELOG.md` bölümünü gerçek commit geçmişinden `/changelog` ile
- yeniden yazın, girdileri kullanıcı odaklı tutun, commit edin, gönderin ve dal oluşturmadan
- önce bir kez daha rebase/pull yapın.
+1. Mevcut `main` üzerinden başlayın: en son değişiklikleri çekin, hedef commit'in itilmiş olduğunu
+ doğrulayın ve mevcut `main` CI durumunun dal almak için yeterince yeşil olduğunu doğrulayın.
+2. Üstteki `CHANGELOG.md` bölümünü gerçek commit geçmişinden `/changelog` ile yeniden yazın,
+ girdileri kullanıcıya dönük tutun, bunu commit'leyin, itin ve dallanmadan önce bir kez daha rebase/pull
+ yapın.
3. Yayın uyumluluk kayıtlarını
`src/plugins/compat/registry.ts` ve
- `src/commands/doctor/shared/deprecation-compat.ts` içinde inceleyin. Süresi dolmuş
- uyumluluğu yalnızca yükseltme yolu kapsanmaya devam ettiğinde kaldırın veya neden
+ `src/commands/doctor/shared/deprecation-compat.ts` içinde gözden geçirin. Süresi dolmuş
+ uyumluluğu yalnızca yükseltme yolu kapsanmaya devam ediyorsa kaldırın veya neden
bilerek taşındığını kaydedin.
-4. Güncel `main`'den `release/YYYY.M.D` oluşturun; normal yayın işini doğrudan
- `main` üzerinde yapmayın.
-5. Amaçlanan etiket için gereken her sürüm konumunu yükseltin, ardından
+4. Mevcut `main` üzerinden `release/YYYY.M.D` oluşturun; normal yayın çalışmasını
+ doğrudan `main` üzerinde yapmayın.
+5. Amaçlanan etiket için gerekli her sürüm konumunu yükseltin, ardından
yerel deterministik ön kontrolü çalıştırın:
`pnpm check:test-types`, `pnpm check:architecture`,
`pnpm build && pnpm ui:build` ve `pnpm release:check`.
6. `OpenClaw NPM Release` işini `preflight_only=true` ile çalıştırın. Etiket oluşmadan önce,
yalnızca doğrulama amaçlı ön kontrol için tam 40 karakterlik yayın dalı SHA'sına izin verilir.
Başarılı `preflight_run_id` değerini kaydedin.
-7. Yayın dalı, etiket veya tam commit SHA'sı için `Full Release Validation` ile
- tüm yayın öncesi testleri başlatın. Bu, dört büyük yayın test kutusu için tek manuel
- giriş noktasıdır: Vitest, Docker, QA Lab ve Package.
-8. Doğrulama başarısız olursa yayın dalında düzeltin ve düzeltmeyi kanıtlayan en küçük başarısız
- dosyayı, hattı, workflow işini, paket profilini, sağlayıcıyı veya model allowlist'ini yeniden çalıştırın.
- Tam kapsamlı şemsiyeyi yalnızca değişen yüzey önceki kanıtı bayatlattığında yeniden çalıştırın.
+7. Yayın dalı, etiket veya tam commit SHA'sı için `Full Release Validation` ile tüm
+ yayın öncesi testleri başlatın. Bu, dört büyük yayın test kutusu için tek manuel giriş noktasıdır:
+ Vitest, Docker, QA Lab ve Package.
+8. Doğrulama başarısız olursa, yayın dalında düzeltin ve düzeltmeyi kanıtlayan en küçük başarısız
+ dosyayı, kanalı, iş akışı işini, paket profilini, sağlayıcıyı veya model izin listesini yeniden çalıştırın.
+ Tam şemsiyeyi yalnızca değişen yüzey önceki kanıtı geçersiz kıldığında yeniden çalıştırın.
9. Beta için `vYYYY.M.D-beta.N` etiketini oluşturun, npm dist-tag `beta` ile yayımlayın, ardından
- yayımlanan `openclaw@YYYY.M.D-beta.N` veya `openclaw@beta` paketine karşı yayımlama sonrası
- paket kabulünü çalıştırın. Gönderilmiş veya yayımlanmış bir beta düzeltme gerektirirse
- sonraki `-beta.N` etiketini çıkarın; eski betayı silmeyin veya yeniden yazmayın.
-10. Kararlı yayın için yalnızca incelenmiş beta veya yayın adayında gerekli doğrulama kanıtı olduktan sonra devam edin.
- Kararlı npm yayını, başarılı ön kontrol yapıtını `preflight_run_id` üzerinden yeniden kullanır;
- kararlı macOS yayın hazırlığı ayrıca paketlenmiş `.zip`, `.dmg`, `.dSYM.zip` ve güncellenmiş
+ yayımlanan `openclaw@YYYY.M.D-beta.N` veya `openclaw@beta` paketi üzerinde
+ yayın sonrası paket kabulünü çalıştırın. İtilmiş veya yayımlanmış bir betada düzeltme gerekiyorsa,
+ sonraki `-beta.N` sürümünü çıkarın; eski betayı silmeyin veya yeniden yazmayın.
+10. Kararlı yayın için yalnızca incelenmiş beta veya yayın adayı gerekli doğrulama kanıtına sahipse
+ devam edin. Kararlı npm yayını, başarılı ön kontrol yapıtını
+ `preflight_run_id` üzerinden yeniden kullanır; kararlı macOS yayın hazırlığı ayrıca paketlenmiş
+ `.zip`, `.dmg`, `.dSYM.zip` ve güncellenmiş
`appcast.xml` dosyasının `main` üzerinde olmasını gerektirir.
-11. Yayımdan sonra npm yayımlama sonrası doğrulayıcısını, yayımlama sonrası kanal kanıtı gerektiğinde isteğe bağlı
- bağımsız yayımlanmış-npm Telegram E2E'yi, gerektiğinde dist-tag yükseltmesini, eksiksiz eşleşen
- `CHANGELOG.md` bölümünden GitHub release/prerelease notlarını ve yayın duyurusu
- adımlarını çalıştırın.
+11. Yayından sonra npm yayın sonrası doğrulayıcısını, yayın sonrası kanal kanıtına ihtiyacınız olduğunda
+ isteğe bağlı bağımsız yayımlanmış npm Telegram E2E'yi,
+ gerektiğinde dist-tag yükseltmesini, eksiksiz eşleşen `CHANGELOG.md` bölümünden GitHub yayın/ön yayın notlarını
+ ve yayın duyurusu adımlarını çalıştırın.
## Yayın ön kontrolü
-- Sürüm ön kontrolünden önce `pnpm check:test-types` çalıştırın; böylece test TypeScript kapsamı daha hızlı yerel `pnpm check` geçidinin dışında kalmaya devam eder
-- Sürüm ön kontrolünden önce `pnpm check:architecture` çalıştırın; böylece daha geniş içe aktarma döngüsü ve mimari sınır denetimleri daha hızlı yerel geçidin dışında yeşil kalır
-- `pnpm release:check` öncesinde `pnpm build && pnpm ui:build` çalıştırın; böylece beklenen `dist/*` sürüm yapıtları ve Control UI paketi, paket doğrulama adımı için mevcut olur
-- Sürüm onayından önce manuel `Full Release Validation` iş akışını çalıştırarak tüm sürüm öncesi test kutularını tek giriş noktasından başlatın. Bir dal, etiket veya tam commit SHA kabul eder, manuel `CI` başlatır ve yükleme smoke, paket kabulü, Docker sürüm yolu paketleri, canlı/E2E, OpenWebUI, QA Lab paritesi, Matrix ve Telegram hatları için `OpenClaw Release Checks` başlatır. `npm_telegram_package_spec` değerini yalnızca bir paket yayımlandıktan ve yayın sonrası Telegram E2E de çalıştırılacaksa sağlayın. Özel kanıt raporunun doğrulamanın yayımlanmış bir npm paketiyle eşleştiğini Telegram E2E’yi zorlamadan kanıtlaması gerektiğinde `evidence_package_spec` sağlayın.
+- Yayın ön uçuşundan önce `pnpm check:test-types` çalıştırın; böylece test TypeScript kapsamı daha hızlı yerel `pnpm check` kapısının dışında da korunur
+- Yayın ön uçuşundan önce `pnpm check:architecture` çalıştırın; böylece daha geniş import döngüsü ve mimari sınır denetimleri daha hızlı yerel kapının dışında yeşil olur
+- `pnpm release:check` öncesinde `pnpm build && pnpm ui:build` çalıştırın; böylece beklenen `dist/*` yayın yapıları ve Control UI paketi paket doğrulama adımı için mevcut olur
+- Yayın onayından önce manuel `Full Release Validation` iş akışını çalıştırarak tüm yayın öncesi test kutularını tek bir giriş noktasından başlatın. Bir branch, etiket veya tam commit SHA kabul eder, manuel `CI` başlatır ve kurulum smoke, paket kabulü, Docker yayın yolu paketleri, canlı/E2E, OpenWebUI, QA Lab paritesi, Matrix ve Telegram hatları için `OpenClaw Release Checks` başlatır. `npm_telegram_package_spec` değerini yalnızca bir paket yayımlandıktan ve yayımlama sonrası Telegram E2E de çalıştırılacaksa sağlayın. Özel kanıt raporunun, doğrulamanın Telegram E2E çalıştırmayı zorunlu kılmadan yayımlanmış bir npm paketiyle eşleştiğini kanıtlaması gerektiğinde `evidence_package_spec` sağlayın.
Örnek:
`gh workflow run full-release-validation.yml --ref main -f ref=release/YYYY.M.D`
-- Sürüm çalışması devam ederken bir paket adayı için yan kanal kanıtı istediğinizde manuel `Package Acceptance` iş akışını çalıştırın. `openclaw@beta`, `openclaw@latest` veya tam bir sürüm versiyonu için `source=npm`; mevcut `workflow_ref` test düzeneğiyle güvenilir bir `package_ref` dalını/etiketini/SHA’sını paketlemek için `source=ref`; zorunlu SHA-256 içeren bir HTTPS tarball için `source=url`; ya da başka bir GitHub Actions çalıştırması tarafından yüklenen tarball için `source=artifact` kullanın. İş akışı adayı `package-under-test` olarak çözer, Docker E2E sürüm zamanlayıcısını bu tarball’a karşı yeniden kullanır ve aynı tarball’a karşı `telegram_mode=mock-openai` veya `telegram_mode=live-frontier` ile Telegram QA çalıştırabilir.
- Örnek: `gh workflow run package-acceptance.yml --ref main -f workflow_ref=main -f source=npm -f package_spec=openclaw@beta -f suite_profile=product -f telegram_mode=mock-openai`
+- Yayın çalışması devam ederken bir paket adayı için yan kanal kanıtı istediğinizde manuel `Package Acceptance` iş akışını çalıştırın. `openclaw@beta`, `openclaw@latest` veya tam bir yayın sürümü için `source=npm`; geçerli `workflow_ref` test düzeneğiyle güvenilir bir `package_ref` branch/etiket/SHA paketlemek için `source=ref`; zorunlu SHA-256 içeren bir HTTPS tarball için `source=url`; ya da başka bir GitHub Actions çalıştırması tarafından yüklenen bir tarball için `source=artifact` kullanın. İş akışı adayı `package-under-test` olarak çözümler, Docker E2E yayın zamanlayıcısını bu tarball üzerinde yeniden kullanır ve aynı tarball üzerinde `telegram_mode=mock-openai` veya `telegram_mode=live-frontier` ile Telegram QA çalıştırabilir. Seçilen Docker hatları `published-upgrade-survivor` içerdiğinde paket yapısı adaydır ve `published_upgrade_survivor_baseline` yayımlanmış tabanı seçer.
+ Örnek: `gh workflow run package-acceptance.yml --ref main -f workflow_ref=main -f source=npm -f package_spec=openclaw@beta -f suite_profile=product -f published_upgrade_survivor_baseline=openclaw@2026.4.26 -f telegram_mode=mock-openai`
Yaygın profiller:
- - `smoke`: yükleme/kanal/ajan, Gateway ağı ve yapılandırma yeniden yükleme hatları
- - `package`: OpenWebUI veya canlı ClawHub olmadan yapıt yerel paket/güncelleme/Plugin hatları
- - `product`: paket profiline ek olarak MCP kanalları, cron/alt ajan temizliği, OpenAI web araması ve OpenWebUI
- - `full`: OpenWebUI ile Docker sürüm yolu parçaları
+ - `smoke`: kurulum/kanal/ajan, Gateway ağı ve yapılandırma yeniden yükleme hatları
+ - `package`: OpenWebUI veya canlı ClawHub olmadan yapıya özgü paket/güncelleme/Plugin hatları
+ - `product`: paket profiline ek olarak MCP kanalları, cron/alt ajan temizliği,
+ OpenAI web araması ve OpenWebUI
+ - `full`: OpenWebUI ile Docker yayın yolu parçaları
- `custom`: odaklı yeniden çalıştırma için tam `docker_lanes` seçimi
-- Sürüm adayı için yalnızca tam normal CI kapsamına ihtiyacınız olduğunda manuel `CI` iş akışını doğrudan çalıştırın. Manuel CI başlatmaları değişiklik kapsamlandırmasını atlar ve Linux Node parçalarını, paketlenmiş Plugin parçalarını, kanal sözleşmelerini, Node 22 uyumluluğunu, `check`, `check-additional`, derleme smoke, doküman denetimlerini, Python skills, Windows, macOS, Android ve Control UI i18n hatlarını zorlar.
+- Yayın adayı için yalnızca tam normal CI kapsamına ihtiyacınız olduğunda manuel `CI` iş akışını doğrudan çalıştırın. Manuel CI başlatmaları değişiklik kapsamını atlar ve Linux Node parçalarını, paketlenmiş Plugin parçalarını, kanal sözleşmelerini, Node 22 uyumluluğunu, `check`, `check-additional`, build smoke, dokümantasyon denetimlerini, Python skills, Windows, macOS, Android ve Control UI i18n hatlarını zorlar.
Örnek: `gh workflow run ci.yml --ref release/YYYY.M.D`
-- Sürüm telemetrisini doğrularken `pnpm qa:otel:smoke` çalıştırın. QA-lab’i yerel bir OTLP/HTTP alıcısı üzerinden çalıştırır ve dışa aktarılan iz span adlarını, sınırlı öznitelikleri ve içerik/tanımlayıcı redaksiyonunu Opik, Langfuse veya başka bir harici toplayıcı gerektirmeden doğrular.
-- Her etiketli sürümden önce `pnpm release:check` çalıştırın
-- Sürüm denetimleri artık ayrı bir manuel iş akışında çalışır:
+- Yayın telemetrisini doğrularken `pnpm qa:otel:smoke` çalıştırın. QA-lab’i yerel bir OTLP/HTTP alıcısı üzerinden çalıştırır ve dışa aktarılan trace span adlarını, sınırlı öznitelikleri ve içerik/tanımlayıcı redaksiyonunu Opik, Langfuse veya başka bir dış toplayıcı gerektirmeden doğrular.
+- Her etiketli yayından önce `pnpm release:check` çalıştırın
+- Yayın denetimleri artık ayrı bir manuel iş akışında çalışır:
`OpenClaw Release Checks`
-- `OpenClaw Release Checks`, sürüm onayından önce QA Lab mock parite geçidini, hızlı canlı Matrix profilini ve Telegram QA hattını da çalıştırır. Canlı hatlar `qa-live-shared` ortamını kullanır; Telegram ayrıca Convex CI kimlik bilgisi kiralarını kullanır. Tam Matrix taşıma, medya ve E2EE envanterini paralel istediğinizde manuel `QA-Lab - All Lanes` iş akışını `matrix_profile=all` ve `matrix_shards=true` ile çalıştırın.
-- Platformlar arası yükleme ve yükseltme çalışma zamanı doğrulaması, yeniden kullanılabilir iş akışını doğrudan çağıran herkese açık `OpenClaw Release Checks` ve `Full Release Validation` parçalarının bir parçasıdır
+- `OpenClaw Release Checks`, yayın onayından önce QA Lab mock parite kapısını, hızlı canlı Matrix profilini ve Telegram QA hattını da çalıştırır. Canlı hatlar `qa-live-shared` ortamını kullanır; Telegram ayrıca Convex CI kimlik bilgisi kiralamalarını kullanır. Tam Matrix taşıma, medya ve E2EE envanterini paralel istediğinizde manuel `QA-Lab - All Lanes` iş akışını `matrix_profile=all` ve `matrix_shards=true` ile çalıştırın.
+- Çapraz işletim sistemi kurulum ve yükseltme çalışma zamanı doğrulaması, yeniden kullanılabilir iş akışını doğrudan çağıran herkese açık `OpenClaw Release Checks` ve `Full Release Validation` parçalarının bir parçasıdır:
`.github/workflows/openclaw-cross-os-release-checks-reusable.yml`
-- Bu ayrım kasıtlıdır: gerçek npm sürüm yolunu kısa, deterministik ve yapıt odaklı tutarken daha yavaş canlı denetimler, yayımlamayı durdurmamak veya engellememek için kendi hatlarında kalır
-- Gizli bilgi içeren sürüm denetimleri `Full Release Validation` üzerinden veya `main`/sürüm iş akışı ref’inden başlatılmalıdır; böylece iş akışı mantığı ve gizli bilgiler denetim altında kalır
-- `OpenClaw Release Checks`, çözümlenen commit bir OpenClaw dalından veya sürüm etiketinden erişilebilir olduğu sürece dal, etiket veya tam commit SHA kabul eder
-- `OpenClaw NPM Release` yalnızca doğrulama ön kontrolü, itilmiş bir etiket gerektirmeden mevcut tam 40 karakterli iş akışı dalı commit SHA’sını da kabul eder
-- Bu SHA yolu yalnızca doğrulama amaçlıdır ve gerçek bir yayıma yükseltilemez
-- SHA modunda iş akışı yalnızca paket meta verisi denetimi için `v` üretir; gerçek yayımlama hâlâ gerçek bir sürüm etiketi gerektirir
-- Her iki iş akışı da gerçek yayımlama ve yükseltme yolunu GitHub tarafından barındırılan çalıştırıcılarda tutarken, değiştirme yapmayan doğrulama yolu daha büyük Blacksmith Linux çalıştırıcılarını kullanabilir
-- Bu iş akışı
+- Bu ayrım kasıtlıdır: gerçek npm yayın yolunu kısa, deterministik ve yapı odaklı tutarken daha yavaş canlı denetimler kendi hattında kalır; böylece yayımlamayı geciktirmez veya engellemezler
+- Gizli içeren yayın denetimleri `Full Release Validation` üzerinden ya da `main`/yayın iş akışı ref’inden başlatılmalıdır; böylece iş akışı mantığı ve gizliler kontrollü kalır
+- `OpenClaw Release Checks`, çözümlenen commit bir OpenClaw branch’inden veya yayın etiketinden erişilebilir olduğu sürece branch, etiket veya tam commit SHA kabul eder
+- `OpenClaw NPM Release` yalnızca doğrulama ön uçuşu, itilmiş bir etiket gerektirmeden geçerli tam 40 karakterli iş akışı branch commit SHA’sını da kabul eder
+- Bu SHA yolu yalnızca doğrulama içindir ve gerçek yayımlamaya yükseltilemez
+- SHA modunda iş akışı yalnızca paket meta veri denetimi için `v` üretir; gerçek yayımlama yine de gerçek bir yayın etiketi gerektirir
+- Her iki iş akışı da gerçek yayımlama ve yükseltme yolunu GitHub-hosted runner’larda tutar; değişiklik yapmayan doğrulama yolu ise daha büyük Blacksmith Linux runner’ları kullanabilir
+- Bu iş akışı hem `OPENAI_API_KEY` hem de `ANTHROPIC_API_KEY` iş akışı gizlilerini kullanarak
`OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_CACHE_TEST=1 pnpm test:live:cache`
- komutunu hem `OPENAI_API_KEY` hem de `ANTHROPIC_API_KEY` iş akışı gizli bilgilerini kullanarak çalıştırır
-- npm sürüm ön kontrolü artık ayrı sürüm denetimleri hattını beklemez
+ çalıştırır
+- npm yayın ön uçuşu artık ayrı yayın denetimleri hattını beklemez
- Onaydan önce `RELEASE_TAG=vYYYY.M.D node --import tsx scripts/openclaw-npm-release-check.ts`
(veya eşleşen beta/düzeltme etiketi) çalıştırın
-- npm yayımlandıktan sonra, yayımlanmış registry yükleme yolunu temiz bir geçici prefix içinde doğrulamak için
+- npm yayımlamasından sonra, yayımlanmış registry kurulum yolunu taze bir geçici prefix içinde doğrulamak için
`node --import tsx scripts/openclaw-npm-postpublish-verify.ts YYYY.M.D`
- (veya eşleşen beta/düzeltme versiyonu) çalıştırın
-- Bir beta yayımlamadan sonra, paylaşılan kiralanmış Telegram kimlik bilgisi havuzunu kullanarak yayımlanmış npm paketine karşı yüklenmiş paket onboarding’ini, Telegram kurulumunu ve gerçek Telegram E2E’yi doğrulamak için `OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC=openclaw@YYYY.M.D-beta.N OPENCLAW_NPM_TELEGRAM_CREDENTIAL_SOURCE=convex OPENCLAW_NPM_TELEGRAM_CREDENTIAL_ROLE=ci pnpm test:docker:npm-telegram-live` çalıştırın. Yerel bakımcı tek seferlik çalıştırmaları Convex değişkenlerini atlayabilir ve üç `OPENCLAW_QA_TELEGRAM_*` ortam kimlik bilgisini doğrudan geçebilir.
-- Bakımcılar aynı yayın sonrası denetimi GitHub Actions üzerinden manuel `NPM Telegram Beta E2E` iş akışıyla çalıştırabilir. Bu bilinçli olarak yalnızca manueldir ve her birleştirmede çalışmaz.
-- Bakımcı sürüm otomasyonu artık önce ön kontrol, sonra yükseltme kullanır:
- - gerçek npm yayımlama başarılı bir npm `preflight_run_id` değerini geçmelidir
- - gerçek npm yayımlama, başarılı ön kontrol çalıştırmasıyla aynı `main` veya `release/YYYY.M.D` dalından başlatılmalıdır
- - kararlı npm sürümleri varsayılan olarak `beta` kullanır
- - kararlı npm yayımlama, iş akışı girdisiyle açıkça `latest` hedefleyebilir
+ (veya eşleşen beta/düzeltme sürümü) çalıştırın
+- Beta yayımlamasından sonra, yayımlanmış npm paketine karşı paylaşılan kiralık Telegram kimlik bilgisi havuzunu kullanarak kurulu paket onboarding’i, Telegram kurulumunu ve gerçek Telegram E2E’yi doğrulamak için `OPENCLAW_NPM_TELEGRAM_PACKAGE_SPEC=openclaw@YYYY.M.D-beta.N OPENCLAW_NPM_TELEGRAM_CREDENTIAL_SOURCE=convex OPENCLAW_NPM_TELEGRAM_CREDENTIAL_ROLE=ci pnpm test:docker:npm-telegram-live` çalıştırın. Yerel bakımcı tek seferlik çalıştırmaları Convex değişkenlerini atlayabilir ve üç `OPENCLAW_QA_TELEGRAM_*` env kimlik bilgisini doğrudan geçebilir.
+- Bakımcılar aynı yayımlama sonrası denetimi GitHub Actions üzerinden manuel `NPM Telegram Beta E2E` iş akışıyla çalıştırabilir. Bu bilerek yalnızca manueldir ve her merge’de çalışmaz.
+- Bakımcı yayın otomasyonu artık ön uçuş-sonra-yükselt modelini kullanır:
+ - gerçek npm yayımlaması başarılı bir npm `preflight_run_id` geçmelidir
+ - gerçek npm yayımlaması, başarılı ön uçuş çalıştırmasıyla aynı `main` veya `release/YYYY.M.D` branch’inden başlatılmalıdır
+ - kararlı npm yayınları varsayılan olarak `beta` kullanır
+ - kararlı npm yayımlaması iş akışı girdisiyle açıkça `latest` hedefleyebilir
- token tabanlı npm dist-tag mutasyonu artık güvenlik için
`openclaw/releases-private/.github/workflows/openclaw-npm-dist-tags.yml`
- içinde yaşar, çünkü `npm dist-tag add` hâlâ `NPM_TOKEN` gerektirirken herkese açık repo yalnızca OIDC yayımlamayı korur
- - herkese açık `macOS Release` yalnızca doğrulamadır
- - gerçek özel mac yayımlama başarılı özel mac `preflight_run_id` ve `validate_run_id` değerlerini geçmelidir
- - gerçek yayımlama yolları, hazırlanmış yapıtları yeniden derlemek yerine yükseltir
-- `YYYY.M.D-N` gibi kararlı düzeltme sürümleri için yayın sonrası doğrulayıcı, aynı geçici prefix yükseltme yolunu `YYYY.M.D` versiyonundan `YYYY.M.D-N` versiyonuna da denetler; böylece sürüm düzeltmeleri eski global yüklemeleri sessizce temel kararlı yükte bırakamaz
-- npm sürüm ön kontrolü, tarball hem `dist/control-ui/index.html` hem de boş olmayan `dist/control-ui/assets/` yükünü içermedikçe kapalı şekilde başarısız olur; böylece bir daha boş tarayıcı panosu göndermeyiz
-- Yayın sonrası doğrulama, yayımlanmış registry yüklemesinin kök `dist/*` düzeni altında boş olmayan paketlenmiş Plugin çalışma zamanı bağımlılıkları içerdiğini de denetler. Eksik veya boş paketlenmiş Plugin bağımlılık yükleriyle gelen bir sürüm, yayın sonrası doğrulayıcıda başarısız olur ve `latest` değerine yükseltilemez.
-- `pnpm test:install:smoke`, aday güncelleme tarball’ı üzerinde npm pack `unpackedSize` bütçesini de zorunlu kılar; böylece yükleyici e2e, yanlışlıkla oluşan paket şişmesini sürüm yayımlama yolundan önce yakalar
-- Sürüm çalışması CI planlamasına, Plugin zamanlama manifestlerine veya Plugin test matrislerine dokunduysa, onaydan önce `.github/workflows/plugin-prerelease.yml` içindeki planlayıcı sahipli `plugin-prerelease-extension-shard` matris çıktılarını yeniden oluşturup gözden geçirin; böylece sürüm notları bayat bir CI düzenini tarif etmez
-- Kararlı macOS sürüm hazırlığı güncelleyici yüzeylerini de içerir:
- - GitHub sürümü paketlenmiş `.zip`, `.dmg` ve `.dSYM.zip` ile sonuçlanmalıdır
- - `main` üzerindeki `appcast.xml`, yayımlamadan sonra yeni kararlı zip’e işaret etmelidir
- - paketlenmiş uygulama hata ayıklama olmayan bir bundle id, boş olmayan bir Sparkle feed URL’si ve o sürüm versiyonu için kanonik Sparkle derleme tabanına eşit veya üzerinde bir `CFBundleVersion` korumalıdır
+ içinde yaşar; çünkü herkese açık repo OIDC-only yayımlamayı korurken `npm dist-tag add` hâlâ `NPM_TOKEN` gerektirir
+ - herkese açık `macOS Release` yalnızca doğrulamadır; bir etiket yalnızca yayın branch’inde bulunuyor ancak iş akışı `main` üzerinden başlatılıyorsa `public_release_branch=release/YYYY.M.D` ayarlayın
+ - gerçek özel mac yayımlaması başarılı özel mac `preflight_run_id` ve `validate_run_id` geçmelidir
+ - gerçek yayımlama yolları, yapıları yeniden inşa etmek yerine hazırlanmış yapıları yükseltir
+- `YYYY.M.D-N` gibi kararlı düzeltme yayınları için yayımlama sonrası doğrulayıcı aynı geçici prefix yükseltme yolunu `YYYY.M.D` sürümünden `YYYY.M.D-N` sürümüne de denetler; böylece yayın düzeltmeleri eski global kurulumları sessizce temel kararlı yükte bırakamaz
+- Tarball hem `dist/control-ui/index.html` hem de boş olmayan bir `dist/control-ui/assets/` yükü içermedikçe npm yayın ön uçuşu kapalı başarısız olur; böylece yeniden boş bir tarayıcı panosu göndermeyiz
+- Yayımlama sonrası doğrulama, yayımlanmış registry kurulumunun kök `dist/*` düzeni altında boş olmayan paketlenmiş Plugin çalışma zamanı bağımlılıkları içerdiğini de denetler. Eksik veya boş paketlenmiş Plugin bağımlılık yükleriyle gönderilen bir yayın, postpublish doğrulayıcısında başarısız olur ve `latest` konumuna yükseltilemez.
+- `pnpm test:install:smoke`, aday güncelleme tarball’ında npm pack `unpackedSize` bütçesini de zorunlu kılar; böylece installer e2e, yayın yayımlama yolundan önce yanlışlıkla oluşan paket şişmesini yakalar
+- Yayın çalışması CI planlamasına, Plugin zamanlama manifestlerine veya Plugin test matrislerine dokunduysa, onaydan önce `.github/workflows/plugin-prerelease.yml` içindeki planlayıcı sahipli `plugin-prerelease-extension-shard` matris çıktılarını yeniden üretin ve gözden geçirin; böylece yayın notları eski bir CI düzenini tarif etmez
+- Kararlı macOS yayın hazırlığı güncelleyici yüzeylerini de içerir:
+ - GitHub yayını paketlenmiş `.zip`, `.dmg` ve `.dSYM.zip` ile sonuçlanmalıdır
+ - `main` üzerindeki `appcast.xml` yayımlamadan sonra yeni kararlı zip’i göstermelidir
+ - paketlenmiş uygulama debug olmayan bir bundle id, boş olmayan bir Sparkle feed URL’si ve o yayın sürümü için kanonik Sparkle build tabanına eşit veya daha yüksek bir `CFBundleVersion` korumalıdır
-## Sürüm test kutuları
+## Yayın test kutuları
-`Full Release Validation`, operatörlerin tüm sürüm öncesi testleri tek giriş noktasından başlatma yoludur. Bunu güvenilir `main` iş akışı ref’inden çalıştırın ve sürüm dalını, etiketini veya tam commit SHA’sını `ref` olarak geçin:
+`Full Release Validation`, operatörlerin tüm yayın öncesi testleri tek bir giriş noktasından başlatma yoludur. Güvenilir `main` iş akışı ref’inden çalıştırın ve yayın branch’ini, etiketini veya tam commit SHA’sını `ref` olarak geçin:
```bash
gh workflow run full-release-validation.yml \
@@ -167,23 +168,23 @@ gh workflow run full-release-validation.yml \
-f ref=release/YYYY.M.D \
-f provider=openai \
-f mode=both \
- -f release_profile=full \
+ -f release_profile=stable \
-f evidence_package_spec=openclaw@YYYY.M.D-beta.N
```
-İş akışı hedef ref’i çözer, `target_ref=` ile manuel `CI` başlatır, `OpenClaw Release Checks` başlatır ve `npm_telegram_package_spec` ayarlandığında isteğe bağlı olarak bağımsız yayın sonrası Telegram E2E başlatır. `OpenClaw Release Checks` daha sonra yükleme smoke, platformlar arası sürüm denetimleri, canlı/E2E Docker sürüm yolu kapsamı, Telegram paket QA ile Package Acceptance, QA Lab paritesi, canlı Matrix ve canlı Telegram hatlarına dallanır. Tam bir çalıştırma yalnızca `Full Release Validation` özeti `normal_ci` ve `release_checks` öğelerini başarılı gösterdiğinde ve isteğe bağlı herhangi bir `npm_telegram` alt çalıştırması başarılı ya da bilinçli olarak atlanmış olduğunda kabul edilebilir. Son doğrulayıcı özeti, her alt çalıştırma için en yavaş iş tablolarını içerir; böylece sürüm yöneticisi günlükleri indirmeden mevcut kritik yolu görebilir.
-Alt iş akışları, hedef `ref` daha eski bir sürüm dalını veya etiketi işaret etse bile `Full Release Validation` çalıştıran güvenilir ref’ten, normalde `--ref main` üzerinden başlatılır. Ayrı bir Full Release Validation workflow-ref girdisi yoktur; güvenilir test düzeneğini iş akışı çalıştırma ref’ini seçerek seçin.
+İş akışı hedef ref’i çözümler, `target_ref=` ile manuel `CI` başlatır, `OpenClaw Release Checks` başlatır ve `npm_telegram_package_spec` ayarlandığında isteğe bağlı olarak bağımsız yayımlama sonrası Telegram E2E başlatır. Ardından `OpenClaw Release Checks` kurulum smoke, çapraz işletim sistemi yayın denetimleri, canlı/E2E Docker yayın yolu kapsamı, Telegram paket QA ile Package Acceptance, QA Lab paritesi, canlı Matrix ve canlı Telegram hatlarına yayılır. Tam bir çalıştırma yalnızca `Full Release Validation` özetinde `normal_ci` ve `release_checks` başarılı görünüyorsa ve isteğe bağlı `npm_telegram` alt çalıştırması başarılı ya da bilerek atlanmışsa kabul edilebilir. Son doğrulayıcı özeti, her alt çalıştırma için en yavaş iş tablolarını içerir; böylece yayın yöneticisi günlükleri indirmeden geçerli kritik yolu görebilir.
+Tam aşama matrisi, kesin iş akışı job adları, kararlı ve tam profil farkları, yapılar ve odaklı yeniden çalıştırma tutamaçları için [Tam yayın doğrulaması](/tr/reference/full-release-validation) bölümüne bakın.
+Alt iş akışları, hedef `ref` daha eski bir yayın branch’ine veya etikete işaret etse bile `Full Release Validation` çalıştıran güvenilir ref’ten, normalde `--ref main` üzerinden başlatılır. Ayrı bir Full Release Validation workflow-ref girdisi yoktur; güvenilir test düzeneğini iş akışı çalıştırma ref’ini seçerek belirleyin.
-Canlı/sağlayıcı genişliğini seçmek için `release_profile` kullanın:
+Canlı/provider genişliğini seçmek için `release_profile` kullanın:
-- `minimum`: en hızlı sürüm açısından kritik OpenAI/çekirdek canlı ve Docker yolu
-- `stable`: sürüm onayı için minimuma ek olarak kararlı sağlayıcı/backend kapsamı
-- `full`: kararlıya ek olarak geniş danışma sağlayıcısı/medya kapsamı
+- `minimum`: en hızlı yayın açısından kritik OpenAI/core canlı ve Docker yolu
+- `stable`: minimuma ek olarak yayın onayı için kararlı provider/backend kapsamı
+- `full`: kararlı profile ek olarak geniş advisory provider/medya kapsamı
-`OpenClaw Release Checks`, hedef ref’i bir kez `release-package-under-test` olarak çözmek için güvenilir iş akışı ref’ini kullanır ve bu yapıtı hem sürüm yolu Docker denetimlerinde hem de Package Acceptance içinde yeniden kullanır. Bu, paketle yüzleşen tüm kutuları aynı baytlar üzerinde tutar ve tekrarlı paket derlemelerini önler.
-Platformlar arası OpenAI yükleme smoke, repo/org değişkeni ayarlandığında `OPENCLAW_CROSS_OS_OPENAI_MODEL` kullanır, aksi halde `openai/gpt-5.4-mini` kullanır; çünkü bu hat en yavaş varsayılan modeli kıyaslamak yerine paket yüklemeyi, onboarding’i, Gateway başlatmayı ve bir canlı ajan turunu kanıtlar. Daha geniş canlı sağlayıcı matrisi, modele özgü kapsam için yer olmaya devam eder.
+`OpenClaw Release Checks`, hedef ref'i bir kez `release-package-under-test` olarak çözmek ve bu artifact'i hem release-path Docker kontrollerinde hem de Package Acceptance'ta yeniden kullanmak için güvenilir workflow ref'ini kullanır. Bu, paketle ilgili tüm kutuları aynı baytlar üzerinde tutar ve tekrarlanan paket derlemelerini önler. Cross-OS OpenAI kurulum duman testi, repo/org değişkeni ayarlandığında `OPENCLAW_CROSS_OS_OPENAI_MODEL` değerini, aksi halde `openai/gpt-5.4-mini` değerini kullanır; çünkü bu hat en yavaş varsayılan modeli kıyaslamak yerine paket kurulumunu, onboarding'i, gateway başlangıcını ve bir canlı ajan turunu kanıtlar. Daha geniş canlı sağlayıcı matrisi, modele özgü kapsamın yeri olmaya devam eder.
-Sürüm aşamasına bağlı olarak bu varyantları kullanın:
+Release aşamasına bağlı olarak bu varyantları kullanın:
```bash
# Validate an unpublished release candidate branch.
@@ -212,38 +213,22 @@ gh workflow run full-release-validation.yml \
-f npm_telegram_provider_mode=mock-openai
```
-Odaklanmış bir düzeltmeden sonraki ilk yeniden çalıştırma olarak tam şemsiyeyi kullanmayın. Bir kutu
-başarısız olursa, bir sonraki kanıt için başarısız alt iş akışını, işi, Docker hattını, paket profilini, model
-sağlayıcısını veya QA hattını kullanın. Tam şemsiyeyi yalnızca düzeltme paylaşılan sürüm orkestrasyonunu
-değiştirdiyse veya önceki tüm kutu kanıtlarını bayat hale getirdiyse yeniden çalıştırın. Şemsiyenin son doğrulayıcısı kaydedilen alt iş akışı çalıştırma
-kimliklerini yeniden kontrol eder; bu nedenle bir alt iş akışı başarıyla yeniden çalıştırıldıktan sonra yalnızca başarısız
-`Verify full validation` üst işini yeniden çalıştırın.
+Odaklı bir düzeltmeden sonraki ilk yeniden çalıştırma olarak tam şemsiyeyi kullanmayın. Bir kutu başarısız olursa, sonraki kanıt için başarısız alt workflow'u, işi, Docker hattını, paket profilini, model sağlayıcısını veya QA hattını kullanın. Tam şemsiyeyi yeniden yalnızca düzeltme paylaşılan release orkestrasyonunu değiştirdiyse veya önceki tüm-kutu kanıtını bayatlattıysa çalıştırın. Şemsiyenin son doğrulayıcısı kaydedilen alt workflow çalıştırma kimliklerini yeniden kontrol eder; bu yüzden bir alt workflow başarıyla yeniden çalıştırıldıktan sonra yalnızca başarısız `Verify full validation` üst işini yeniden çalıştırın.
-Sınırlı kurtarma için şemsiyeye `rerun_group` geçin. `all` gerçek
-sürüm adayı çalıştırmasıdır, `ci` yalnızca normal CI altını çalıştırır, `plugin-prerelease`
-yalnızca sürüme özel Plugin altını çalıştırır, `release-checks` her sürüm
-kutusunu çalıştırır ve daha dar sürüm grupları bağımsız paket Telegram hattı sağlandığında
-`install-smoke`, `cross-os`,
-`live-e2e`, `package`, `qa`, `qa-parity`, `qa-live` ve `npm-telegram` olur.
+Sınırlı kurtarma için şemsiyeye `rerun_group` geçirin. `all` gerçek release-candidate çalıştırmasıdır, `ci` yalnızca normal CI altını çalıştırır, `plugin-prerelease` yalnızca release'e özel Plugin altını çalıştırır, `release-checks` her release kutusunu çalıştırır ve daha dar release grupları, bağımsız paket Telegram hattı sağlandığında `install-smoke`, `cross-os`, `live-e2e`, `package`, `qa`, `qa-parity`, `qa-live` ve `npm-telegram` olur.
### Vitest
-Vitest kutusu manuel `CI` alt iş akışıdır. Manuel CI bilinçli olarak
-değişiklik kapsamını atlar ve sürüm adayı için normal test grafiğini zorlar:
-Linux Node shard'ları, paketlenmiş Plugin shard'ları, kanal sözleşmeleri, Node 22
-uyumluluğu, `check`, `check-additional`, derleme smoke testi, doküman kontrolleri, Python
-Skills, Windows, macOS, Android ve Control UI i18n.
+Vitest kutusu manuel `CI` alt workflow'udur. Manuel CI, changed scoping'i bilerek atlar ve release candidate için normal test grafiğini zorlar: Linux Node shard'ları, paketlenmiş Plugin shard'ları, kanal sözleşmeleri, Node 22 uyumluluğu, `check`, `check-additional`, build duman testi, doküman kontrolleri, Python Skills, Windows, macOS, Android ve Control UI i18n.
-Bu kutuyu "kaynak ağacı tam normal test paketinden geçti mi?" sorusunu yanıtlamak için kullanın.
-Bu, sürüm yolu ürün doğrulamasıyla aynı değildir. Saklanacak kanıtlar:
+Bu kutuyu "kaynak ağacı tam normal test paketinden geçti mi?" sorusunu yanıtlamak için kullanın. Release-path ürün doğrulamasıyla aynı şey değildir. Saklanacak kanıtlar:
- Gönderilen `CI` çalıştırma URL'sini gösteren `Full Release Validation` özeti
-- Kesin hedef SHA üzerinde yeşil `CI` çalıştırması
+- Tam hedef SHA üzerinde yeşil `CI` çalıştırması
- Regresyonları araştırırken CI işlerindeki başarısız veya yavaş shard adları
-- Bir çalıştırmanın performans analizi gerektirdiği durumlarda `.artifacts/vitest-shard-timings.json` gibi Vitest zamanlama yapıtları
+- Bir çalıştırmanın performans analizi gerektiğinde `.artifacts/vitest-shard-timings.json` gibi Vitest zamanlama artifact'leri
-Manuel CI'ı doğrudan yalnızca sürümün belirleyici normal CI'a ihtiyacı olduğunda, ancak
-Docker, QA Lab, canlı, cross-OS veya paket kutularına ihtiyacı olmadığında çalıştırın:
+Manuel CI'ı doğrudan yalnızca release deterministik normal CI gerektiriyor ama Docker, QA Lab, canlı, cross-OS veya paket kutularını gerektirmiyorsa çalıştırın:
```bash
gh workflow run ci.yml --ref main -f target_ref=release/YYYY.M.D
@@ -251,19 +236,14 @@ gh workflow run ci.yml --ref main -f target_ref=release/YYYY.M.D
### Docker
-Docker kutusu `OpenClaw Release Checks` içinde
-`openclaw-live-and-e2e-checks-reusable.yml` aracılığıyla ve sürüm modu
-`install-smoke` iş akışında bulunur. Sürüm adayını yalnızca kaynak düzeyi testler yerine paketlenmiş
-Docker ortamları üzerinden doğrular.
+Docker kutusu, `openclaw-live-and-e2e-checks-reusable.yml` üzerinden `OpenClaw Release Checks` içinde ve release modu `install-smoke` workflow'unda yaşar. Release candidate'ı yalnızca kaynak seviyesindeki testler yerine paketlenmiş Docker ortamları üzerinden doğrular.
-Sürüm Docker kapsamı şunları içerir:
+Release Docker kapsamı şunları içerir:
-- yavaş Bun global kurulum smoke testi etkinleştirilmiş tam kurulum smoke testi
-- hedef SHA'ya göre kök Dockerfile smoke imajı hazırlama/yeniden kullanımı; QR,
- kök/gateway ve installer/Bun smoke işleri ayrı install-smoke
- shard'ları olarak çalışır
+- yavaş Bun global kurulum duman testi etkinleştirilmiş tam kurulum duman testi
+- QR, root/gateway ve installer/Bun duman işlerinin ayrı install-smoke shard'ları olarak çalıştığı, hedef SHA'ya göre kök Dockerfile duman imajı hazırlama/yeniden kullanma
- depo E2E hatları
-- sürüm yolu Docker parçaları: `core`, `package-update-openai`,
+- release-path Docker parçaları: `core`, `package-update-openai`,
`package-update-anthropic`, `package-update-core`, `plugins-runtime-plugins`,
`plugins-runtime-services`,
`plugins-runtime-install-a`, `plugins-runtime-install-b`,
@@ -274,76 +254,43 @@ Sürüm Docker kapsamı şunları içerir:
`bundled-channels-update-discord`, `bundled-channels-update-b` ve
`bundled-channels-contracts`
- istendiğinde `plugins-runtime-services` parçası içinde OpenWebUI kapsamı
-- paketlenmiş kanal bağımlılığı hatlarının tek büyük bir paketlenmiş kanal işi yerine channel-smoke, update-target
- ve setup/runtime sözleşme parçalarına bölünmesi
-- paketlenmiş Plugin kurulum/kaldırma hatlarının
+- büyük tek bir paketlenmiş kanal işi yerine kanal-smoke, update-target ve setup/runtime sözleşme parçaları arasında bölünmüş paketlenmiş-kanal bağımlılık hatları
+- bölünmüş paketlenmiş Plugin kurulum/kaldırma hatları
`bundled-plugin-install-uninstall-0` ile
- `bundled-plugin-install-uninstall-23` arasında bölünmesi
-- sürüm kontrolleri canlı paketleri içerdiğinde canlı/E2E sağlayıcı paketleri ve Docker canlı model kapsamı
+ `bundled-plugin-install-uninstall-23` arası
+- release kontrolleri canlı paketleri içerdiğinde canlı/E2E sağlayıcı paketleri ve Docker canlı model kapsamı
-Yeniden çalıştırmadan önce Docker yapıtlarını kullanın. Sürüm yolu zamanlayıcısı
-hat günlükleri, `summary.json`, `failures.json`,
-aşama zamanlamaları, zamanlayıcı planı JSON'u ve yeniden çalıştırma komutlarıyla `.artifacts/docker-tests/` yükler. Odaklanmış kurtarma için
-tüm sürüm parçalarını yeniden çalıştırmak yerine yeniden kullanılabilir canlı/E2E iş akışında
-`docker_lanes=` kullanın. Oluşturulan yeniden çalıştırma komutları, mevcut olduğunda önceki
-`package_artifact_run_id` ve hazırlanmış Docker imajı girdilerini içerir; böylece
-başarısız bir hat aynı tarball ve GHCR imajlarını yeniden kullanabilir.
+Yeniden çalıştırmadan önce Docker artifact'lerini kullanın. Release-path zamanlayıcısı, hat logları, `summary.json`, `failures.json`, aşama zamanlamaları, zamanlayıcı plan JSON'u ve yeniden çalıştırma komutlarıyla `.artifacts/docker-tests/` yükler. Odaklı kurtarma için tüm release parçalarını yeniden çalıştırmak yerine yeniden kullanılabilir canlı/E2E workflow'unda `docker_lanes=` kullanın. Üretilen yeniden çalıştırma komutları, mevcut olduğunda önceki `package_artifact_run_id` ve hazırlanmış Docker imajı girdilerini içerir; böylece başarısız bir hat aynı tarball'u ve GHCR imajlarını yeniden kullanabilir.
### QA Lab
-QA Lab kutusu da `OpenClaw Release Checks` parçasıdır. Bu, Vitest ve Docker
-paket mekaniklerinden ayrı, ajan davranışı ve kanal düzeyi sürüm kapısıdır.
+QA Lab kutusu da `OpenClaw Release Checks` kapsamındadır. Vitest ve Docker paket mekaniklerinden ayrı olarak ajan davranışı ve kanal seviyesi release kapısıdır.
-Sürüm QA Lab kapsamı şunları içerir:
+Release QA Lab kapsamı şunları içerir:
-- ajan parity paketi kullanarak OpenAI aday hattını Opus 4.6
- taban çizgisiyle karşılaştıran mock parity kapısı
+- ajan parity paketi kullanılarak OpenAI candidate hattını Opus 4.6 baseline'ı ile karşılaştıran mock parity kapısı
- `qa-live-shared` ortamını kullanan hızlı canlı Matrix QA profili
-- Convex CI kimlik bilgisi kiralamalarını kullanan canlı Telegram QA hattı
-- sürüm telemetrisinin açık yerel kanıt gerektirdiği durumlarda `pnpm qa:otel:smoke`
+- Convex CI credential lease'lerini kullanan canlı Telegram QA hattı
+- release telemetry açık yerel kanıt gerektirdiğinde `pnpm qa:otel:smoke`
-Bu kutuyu "sürüm QA senaryolarında ve canlı kanal akışlarında doğru davranıyor mu?"
-sorusunu yanıtlamak için kullanın. Sürümü onaylarken parity, Matrix ve Telegram
-hatları için yapıt URL'lerini saklayın. Tam Matrix kapsamı, varsayılan sürüm açısından kritik hat yerine
-manuel shard'lı QA-Lab çalıştırması olarak kullanılabilir kalır.
+Bu kutuyu "release, QA senaryolarında ve canlı kanal akışlarında doğru davranıyor mu?" sorusunu yanıtlamak için kullanın. Release onaylanırken parity, Matrix ve Telegram hatları için artifact URL'lerini saklayın. Tam Matrix kapsamı, varsayılan release açısından kritik hat yerine manuel shard'lı QA-Lab çalıştırması olarak kullanılabilir kalır.
### Paket
-Paket kutusu kurulabilir ürün kapısıdır. Bu kapı
-`Package Acceptance` ve çözümleyici
-`scripts/resolve-openclaw-package-candidate.mjs` tarafından desteklenir. Çözümleyici bir adayı Docker E2E tarafından tüketilen
-`package-under-test` tarball'una normalleştirir, paket envanterini doğrular,
-paket sürümünü ve SHA-256'yı kaydeder ve iş akışı yürütme ref'ini paket kaynak ref'inden ayrı tutar.
+Paket kutusu kurulabilir-ürün kapısıdır. `Package Acceptance` ve `scripts/resolve-openclaw-package-candidate.mjs` çözücüsüyle desteklenir. Çözücü bir candidate'ı Docker E2E tarafından tüketilen `package-under-test` tarball'una normalleştirir, paket envanterini doğrular, paket sürümünü ve SHA-256 değerini kaydeder ve workflow harness ref'ini paket kaynak ref'inden ayrı tutar.
-Desteklenen aday kaynakları:
+Desteklenen candidate kaynakları:
-- `source=npm`: `openclaw@beta`, `openclaw@latest` veya kesin bir OpenClaw sürüm
- sürümü
-- `source=ref`: seçili `workflow_ref` yürütmesiyle güvenilir bir `package_ref` dalını, etiketini veya tam commit SHA'sını paketle
-- `source=url`: gerekli `package_sha256` ile HTTPS `.tgz` indir
-- `source=artifact`: başka bir GitHub Actions çalıştırması tarafından yüklenen `.tgz` dosyasını yeniden kullan
+- `source=npm`: `openclaw@beta`, `openclaw@latest` veya tam bir OpenClaw release sürümü
+- `source=ref`: seçilen `workflow_ref` harness'iyle güvenilir bir `package_ref` dalını, etiketini veya tam commit SHA'sını paketle
+- `source=url`: gerekli `package_sha256` ile bir HTTPS `.tgz` indir
+- `source=artifact`: başka bir GitHub Actions çalıştırması tarafından yüklenen bir `.tgz` dosyasını yeniden kullan
-`OpenClaw Release Checks`, Package Acceptance'ı `source=ref`,
-`package_ref=`, `suite_profile=custom`,
-`docker_lanes=bundled-channel-deps-compat plugins-offline` ve
-`telegram_mode=mock-openai` ile çalıştırır. Sürüm yolu Docker parçaları örtüşen
-kurulum, güncelleme ve Plugin güncelleme hatlarını kapsar; Package Acceptance aynı çözümlenmiş tarball'a karşı
-yapıt yerel paketlenmiş kanal uyumluluğunu, çevrimdışı Plugin fixture'larını ve Telegram
-paket QA'yı korur. Daha önce
-Parallels gerektiren paket/güncelleme kapsamının çoğu için GitHub yerel
-yerine geçendir. Cross-OS sürüm kontrolleri OS'e özel onboarding,
-installer ve platform davranışı için hâlâ önemlidir, ancak paket/güncelleme ürün doğrulaması
-Package Acceptance'ı tercih etmelidir.
+`OpenClaw Release Checks`, Package Acceptance'ı `source=ref`, `package_ref=`, `suite_profile=custom`, `docker_lanes=bundled-channel-deps-compat plugins-offline` ve `telegram_mode=mock-openai` ile çalıştırır. Release-path Docker parçaları çakışan kurulum, güncelleme ve Plugin güncelleme hatlarını kapsar; Package Acceptance artifact-native paketlenmiş-kanal uyumluluğunu, çevrimdışı Plugin fixture'larını ve aynı çözümlenmiş tarball'a karşı Telegram paket QA'sını korur. Daha önce Parallels gerektiren paket/güncelleme kapsamının çoğu için GitHub-native alternatiftir. Cross-OS release kontrolleri OS'ye özgü onboarding, installer ve platform davranışı için hâlâ önemlidir; ancak paket/güncelleme ürün doğrulaması Package Acceptance'ı tercih etmelidir.
-Eski package-acceptance esnekliği bilinçli olarak zamanla sınırlandırılmıştır. `2026.4.25` dahil paketler, npm'e zaten yayımlanmış metadata boşlukları için uyumluluk yolunu kullanabilir: tarball'da eksik private QA envanter girdileri, eksik
-`gateway install --wrapper`, tarball'dan türetilmiş git
-fixture'ında eksik yama dosyaları, eksik kalıcı `update.channel`, eski Plugin install-record
-konumları, eksik marketplace install-record kalıcılığı ve `plugins update` sırasında config metadata
-migration. Yayımlanan `2026.4.26` paketi, zaten gönderilmiş yerel derleme metadata damga dosyaları için uyarı verebilir. Daha sonraki paketler
-modern paket sözleşmelerini karşılamalıdır; aynı boşluklar sürüm
-doğrulamasını başarısız kılar.
+Eski package-acceptance esnekliği bilerek zaman sınırlıdır. `2026.4.25` dahil paketler, npm'e zaten yayımlanmış metadata eksikleri için uyumluluk yolunu kullanabilir: tarball'da eksik private QA inventory girdileri, eksik `gateway install --wrapper`, tarball'dan türetilmiş git fixture'ında eksik patch dosyaları, eksik kalıcı `update.channel`, eski Plugin kurulum kaydı konumları, eksik marketplace kurulum kaydı kalıcılığı ve `plugins update` sırasında config metadata migration. Yayımlanmış `2026.4.26` paketi, zaten gönderilmiş yerel build metadata stamp dosyaları için uyarı verebilir. Daha sonraki paketler modern paket sözleşmelerini karşılamalıdır; aynı eksikler release doğrulamasını başarısız kılar.
-Sürüm sorusu gerçek bir kurulabilir paketle ilgili olduğunda daha geniş Package Acceptance profillerini kullanın:
+Release sorusu gerçek bir kurulabilir paketle ilgili olduğunda daha geniş Package Acceptance profillerini kullanın:
```bash
gh workflow run package-acceptance.yml \
@@ -351,89 +298,82 @@ gh workflow run package-acceptance.yml \
-f workflow_ref=main \
-f source=npm \
-f package_spec=openclaw@beta \
- -f suite_profile=product
+ -f suite_profile=product \
+ -f published_upgrade_survivor_baseline=openclaw@2026.4.26
```
Yaygın paket profilleri:
-- `smoke`: hızlı paket kurulum/kanal/ajan, gateway ağı ve config
- yeniden yükleme hatları
-- `package`: canlı ClawHub olmadan kurulum/güncelleme/Plugin paket sözleşmeleri; bu, release-check
- varsayılanıdır
-- `product`: `package` artı MCP kanalları, cron/subagent temizliği, OpenAI web
- araması ve OpenWebUI
-- `full`: OpenWebUI ile Docker sürüm yolu parçaları
-- `custom`: odaklanmış yeniden çalıştırmalar için kesin `docker_lanes` listesi
+- `smoke`: hızlı paket kurulum/kanal/ajan, Gateway ağı ve config yeniden yükleme hatları
+- `package`: canlı ClawHub olmadan kurulum/güncelleme/Plugin paket sözleşmeleri; release-check varsayılanı budur
+- `product`: `package` artı MCP kanalları, cron/subagent cleanup, OpenAI web araması ve OpenWebUI
+- `full`: OpenWebUI ile Docker release-path parçaları
+- `custom`: odaklı yeniden çalıştırmalar için tam `docker_lanes` listesi
-Paket adayı Telegram kanıtı için Package Acceptance üzerinde `telegram_mode=mock-openai` veya
-`telegram_mode=live-frontier` etkinleştirin. İş akışı çözümlenmiş
-`package-under-test` tarball'unu Telegram hattına geçirir; bağımsız
-Telegram iş akışı yayın sonrası kontroller için yayımlanmış bir npm spec'ini hâlâ kabul eder.
+Paket-candidate Telegram kanıtı için Package Acceptance üzerinde `telegram_mode=mock-openai` veya `telegram_mode=live-frontier` etkinleştirin. Workflow çözümlenmiş `package-under-test` tarball'unu Telegram hattına geçirir; bağımsız Telegram workflow'u, publish sonrası kontroller için hâlâ yayımlanmış bir npm spec kabul eder.
-## NPM iş akışı girdileri
+## NPM workflow girdileri
`OpenClaw NPM Release` şu operatör kontrollü girdileri kabul eder:
-- `tag`: `v2026.4.2`, `v2026.4.2-1` veya
- `v2026.4.2-beta.1` gibi gerekli sürüm etiketi; `preflight_only=true` olduğunda, yalnızca doğrulama amaçlı preflight için mevcut
- tam 40 karakterlik iş akışı dalı commit SHA'sı da olabilir
-- `preflight_only`: yalnızca doğrulama/derleme/paket için `true`, gerçek yayımlama yolu için `false`
-- `preflight_run_id`: gerçek yayımlama yolunda gereklidir; böylece iş akışı başarılı preflight çalıştırmasından hazırlanan tarball'u yeniden kullanır
-- `npm_dist_tag`: yayımlama yolu için npm hedef etiketi; varsayılan `beta`
+- `tag`: `v2026.4.2`, `v2026.4.2-1` veya `v2026.4.2-beta.1` gibi gerekli release etiketi; `preflight_only=true` olduğunda, yalnızca doğrulama preflight'ı için geçerli tam 40 karakterlik workflow-branch commit SHA'sı da olabilir
+- `preflight_only`: yalnızca doğrulama/build/paket için `true`, gerçek publish yolu için `false`
+- `preflight_run_id`: workflow'un başarılı preflight çalıştırmasından hazırlanmış tarball'u yeniden kullanması için gerçek publish yolunda gereklidir
+- `npm_dist_tag`: publish yolu için npm hedef etiketi; varsayılan `beta`
`OpenClaw Release Checks` şu operatör kontrollü girdileri kabul eder:
-- `ref`: doğrulanacak dal, etiket veya tam commit SHA'sı. Secret taşıyan kontroller
- çözümlenen commit'in bir OpenClaw dalından veya
- sürüm etiketinden erişilebilir olmasını gerektirir.
+- `ref`: doğrulanacak dal, etiket veya tam commit SHA. Secret içeren kontroller, çözümlenmiş commit'in bir OpenClaw dalından veya release etiketinden erişilebilir olmasını gerektirir.
Kurallar:
-- Stabil ve düzeltme etiketleri `beta` veya `latest` etiketlerinden herhangi birine yayımlanabilir
-- Beta ön sürüm etiketleri yalnızca `beta` etiketine yayımlanabilir
-- `OpenClaw NPM Release` için tam commit SHA girdisine yalnızca
- `preflight_only=true` olduğunda izin verilir
-- `OpenClaw Release Checks` ve `Full Release Validation` her zaman
- yalnızca doğrulama içindir
-- Gerçek yayımlama yolu preflight sırasında kullanılan aynı `npm_dist_tag` değerini kullanmalıdır;
- iş akışı yayımlamadan önce metadata'nın devam ettiğini doğrular
+- Stable ve correction etiketleri `beta` veya `latest` değerine publish edilebilir
+- Beta prerelease etiketleri yalnızca `beta` değerine publish edilebilir
+- `OpenClaw NPM Release` için tam commit SHA girdisine yalnızca `preflight_only=true` olduğunda izin verilir
+- `OpenClaw Release Checks` ve `Full Release Validation` her zaman yalnızca doğrulama içindir
+- Gerçek publish yolu, preflight sırasında kullanılan aynı `npm_dist_tag` değerini kullanmalıdır; workflow publish öncesinde metadata'nın devam ettiğini doğrular
-## Stabil npm sürüm sırası
+## Stable npm release sırası
-Stabil bir npm sürümü çıkarırken:
+Stable bir npm release çıkarırken:
1. `OpenClaw NPM Release` iş akışını `preflight_only=true` ile çalıştırın
- - Etiket henüz yoksa, preflight iş akışının yalnızca doğrulama amaçlı kuru çalıştırması için mevcut tam iş akışı dalı commit
+ - Etiket oluşmadan önce, preflight iş akışının yalnızca doğrulama amaçlı
+ deneme çalıştırması için geçerli tam iş akışı dalı commit
SHA'sını kullanabilirsiniz
-2. Normal beta-öncelikli akış için `npm_dist_tag=beta` seçin veya yalnızca
- bilinçli olarak doğrudan stabil yayımlama istediğinizde `latest` seçin
-3. Tek bir manuel iş akışından normal CI artı canlı prompt cache, Docker, QA Lab,
- Matrix ve Telegram kapsamı istediğinizde `Full Release Validation` iş akışını sürüm dalı, sürüm etiketi veya tam
- commit SHA üzerinde çalıştırın
-4. Bilinçli olarak yalnızca belirleyici normal test grafiğine ihtiyacınız varsa,
- bunun yerine sürüm ref'i üzerinde manuel `CI` iş akışını çalıştırın
+2. Normal önce beta akışı için `npm_dist_tag=beta` seçin; doğrudan kararlı
+ yayınlamayı bilinçli olarak istediğinizde yalnızca `latest` seçin
+3. Normal CI ile canlı prompt önbelleği, Docker, QA Lab, Matrix ve Telegram
+ kapsamını tek bir manuel iş akışından istediğinizde yayın dalında, yayın
+ etiketinde veya tam commit SHA'sında `Full Release Validation` çalıştırın
+4. Bilinçli olarak yalnızca deterministik normal test grafiğine ihtiyacınız
+ varsa, bunun yerine yayın ref'i üzerinde manuel `CI` iş akışını çalıştırın
5. Başarılı `preflight_run_id` değerini kaydedin
-6. `OpenClaw NPM Release` iş akışını `preflight_only=false`, aynı
- `tag`, aynı `npm_dist_tag` ve kaydedilen `preflight_run_id` ile yeniden çalıştırın
-7. Sürüm `beta` üzerine indiyse, bu stabil sürümü `beta` etiketinden `latest` etiketine yükseltmek için private
+6. `OpenClaw NPM Release` iş akışını aynı `tag`, aynı `npm_dist_tag` ve
+ kaydedilmiş `preflight_run_id` ile, bu kez `preflight_only=false` olarak
+ tekrar çalıştırın
+7. Yayın `beta` üzerine indiyse, bu kararlı sürümü `beta`'dan `latest`'e
+ yükseltmek için özel
`openclaw/releases-private/.github/workflows/openclaw-npm-dist-tags.yml`
iş akışını kullanın
-8. Sürüm bilinçli olarak doğrudan `latest` üzerine yayımlandıysa ve `beta`
- aynı stabil derlemeyi hemen izlemeliyse, her iki dist-tag'i stabil sürüme yönlendirmek için aynı private
- iş akışını kullanın veya zamanlanmış kendi kendini iyileştiren sync işleminin `beta` etiketini daha sonra taşımasına izin verin
+8. Yayın bilinçli olarak doğrudan `latest` üzerine yapıldıysa ve `beta`
+ hemen aynı kararlı derlemeyi izlemeliyse, iki dist-tag'i de kararlı sürüme
+ yönlendirmek için aynı özel iş akışını kullanın veya zamanlanmış kendi
+ kendini iyileştiren eşitlemenin `beta`'yı daha sonra taşımasına izin verin
-Dist-tag mutasyonu güvenlik nedeniyle private depoda bulunur; çünkü hâlâ
-`NPM_TOKEN` gerektirir, public depo ise yalnızca OIDC yayımlamayı korur.
+dist-tag değişikliği güvenlik nedeniyle özel repoda bulunur, çünkü hâlâ
+`NPM_TOKEN` gerektirir; public repo ise yalnızca OIDC ile yayınlamayı korur.
-Bu, doğrudan yayımlama yolunu ve beta-öncelikli yükseltme yolunu hem
-dokümante edilmiş hem de operatörün görebileceği durumda tutar.
+Bu, doğrudan yayın yolunu ve önce beta yükseltme yolunu hem belgelenmiş hem de
+operatör tarafından görülebilir tutar.
-Bir bakımcının yerel npm kimlik doğrulamasına geri dönmesi gerekirse, 1Password
-CLI (`op`) komutlarını yalnızca ayrılmış bir tmux oturumu içinde çalıştırın. `op`
-komutunu ana agent kabuğundan doğrudan çağırmayın; bunu tmux içinde tutmak istemleri,
-uyarıları ve OTP işlemeyi gözlemlenebilir kılar ve yinelenen ana makine uyarılarını önler.
+Bir maintainer yerel npm kimlik doğrulamasına geri dönmek zorunda kalırsa,
+1Password CLI (`op`) komutlarını yalnızca ayrılmış bir tmux oturumu içinde
+çalıştırın. `op` komutunu doğrudan ana agent shell içinden çağırmayın; onu
+tmux içinde tutmak prompt'ları, uyarıları ve OTP işlemeyi gözlemlenebilir kılar
+ve tekrarlanan host uyarılarını önler.
-## Genel başvuru kaynakları
+## Public referanslar
- [`.github/workflows/full-release-validation.yml`](https://github.com/openclaw/openclaw/blob/main/.github/workflows/full-release-validation.yml)
- [`.github/workflows/package-acceptance.yml`](https://github.com/openclaw/openclaw/blob/main/.github/workflows/package-acceptance.yml)
@@ -445,10 +385,10 @@ uyarıları ve OTP işlemeyi gözlemlenebilir kılar ve yinelenen ana makine uya
- [`scripts/package-mac-dist.sh`](https://github.com/openclaw/openclaw/blob/main/scripts/package-mac-dist.sh)
- [`scripts/make_appcast.sh`](https://github.com/openclaw/openclaw/blob/main/scripts/make_appcast.sh)
-Bakımcılar, gerçek çalışma kılavuzu için
+Maintainer'lar gerçek runbook için
[`openclaw/maintainers/release/README.md`](https://github.com/openclaw/maintainers/blob/main/release/README.md)
-konumundaki özel sürüm belgelerini kullanır.
+içindeki özel yayın belgelerini kullanır.
## İlgili
-- [Sürüm kanalları](/tr/install/development-channels)
+- [Yayın kanalları](/tr/install/development-channels)
diff --git a/docs/tr/reference/full-release-validation.md b/docs/tr/reference/full-release-validation.md
new file mode 100644
index 000000000..4a430597b
--- /dev/null
+++ b/docs/tr/reference/full-release-validation.md
@@ -0,0 +1,156 @@
+---
+read_when:
+ - Tam Sürüm Doğrulamasını çalıştırma veya yeniden çalıştırma
+ - Kararlı ve tam sürüm doğrulama profillerini karşılaştırma
+ - Sürüm doğrulama aşaması hatalarında hata ayıklama
+summary: Tam Sürüm Doğrulama aşamaları, alt iş akışları, sürüm profilleri, yeniden çalıştırma tanıtıcıları ve kanıtlar
+title: Tam sürüm doğrulaması
+x-i18n:
+ generated_at: "2026-05-01T09:03:30Z"
+ model: gpt-5.5
+ provider: openai
+ source_hash: dcbfafd744437c160c09a9c508a639781549193669b300e5249023f9f5dd4afe
+ source_path: reference/full-release-validation.md
+ workflow: 16
+---
+
+`Full Release Validation`, sürüm doğrulama şemsiyesidir. Yayın öncesi kanıt için tek manuel
+giriş noktasıdır, ancak işlerin çoğu alt workflow'larda gerçekleşir; böylece
+başarısız olan bir kutu tüm sürümü yeniden başlatmadan tekrar çalıştırılabilir.
+
+Bunu güvenilir bir workflow ref'inden, normalde `main` üzerinden çalıştırın ve sürüm branch'ini,
+tag'ini veya tam commit SHA'sını `ref` olarak iletin:
+
+```bash
+gh workflow run full-release-validation.yml \
+ --ref main \
+ -f ref=release/YYYY.M.D \
+ -f provider=openai \
+ -f mode=both \
+ -f release_profile=stable
+```
+
+Alt workflow'lar, harness için güvenilir workflow ref'ini ve test edilen aday için
+`ref` girdisini kullanır. Bu, daha eski bir sürüm branch'i veya tag'i doğrulanırken
+yeni doğrulama mantığının kullanılabilir kalmasını sağlar.
+
+## Üst düzey aşamalar
+
+| Aşama | Ayrıntılar |
+| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Hedef çözümleme | **Job:** `Resolve target ref` **Alt workflow:** yok **Kanıtlar:** sürüm branch'ini, tag'ini veya tam commit SHA'sını çözümler ve seçilen girdileri kaydeder. **Tekrar çalıştırma:** bu başarısız olursa şemsiyeyi tekrar çalıştırın. |
+| Vitest ve normal CI | **Job:** `Run normal full CI` **Alt workflow:** `CI` **Kanıtlar:** Linux Node hatları, bundled plugin shard'ları, kanal sözleşmeleri, Node 22 uyumluluğu, `check`, `check-additional`, build smoke, doküman kontrolleri, Python skills, Windows, macOS, Control UI i18n ve şemsiye üzerinden Android dahil hedef ref'e karşı manuel tam CI grafiği. **Tekrar çalıştırma:** `rerun_group=ci`. |
+| Plugin ön sürümü | **Job:** `Run plugin prerelease validation` **Alt workflow:** `Plugin Prerelease` **Kanıtlar:** yalnızca sürüme ait Plugin statik kontrolleri, agentic Plugin kapsamı, tam extension batch shard'ları ve Plugin ön sürüm Docker hatları. **Tekrar çalıştırma:** `rerun_group=plugin-prerelease`. |
+| Sürüm kontrolleri | **Job:** `Run release/live/Docker/QA validation` **Alt workflow:** `OpenClaw Release Checks` **Kanıtlar:** install smoke, çapraz işletim sistemi paket kontrolleri, live/E2E paketleri, Docker sürüm yolu parçaları, Package Acceptance, QA Lab parity, live Matrix ve live Telegram. **Tekrar çalıştırma:** `rerun_group=release-checks` veya daha dar bir release-checks tanıtıcısı. |
+| Yayın sonrası Telegram | **Job:** `Run post-publish Telegram E2E` **Alt workflow:** `NPM Telegram Beta E2E` **Kanıtlar:** `npm_telegram_package_spec` ayarlandığında isteğe bağlı yayımlanmış paket Telegram kanıtı. **Tekrar çalıştırma:** `rerun_group=npm-telegram`. |
+| Şemsiye doğrulayıcı | **Job:** `Verify full validation` **Alt workflow:** yok **Kanıtlar:** kaydedilmiş alt çalıştırma sonuçlarını yeniden kontrol eder ve alt workflow'lardan en yavaş job tablolarını ekler. **Tekrar çalıştırma:** başarısız bir alt workflow'u yeşile getirmek için yeniden çalıştırdıktan sonra yalnızca bu job'ı tekrar çalıştırın. |
+
+`ref=main` ve `rerun_group=all` için daha yeni bir şemsiye daha eski olanın yerini alır.
+Üst öğe iptal edildiğinde, monitörü zaten başlattığı tüm alt workflow'ları iptal eder.
+Sürüm branch'i ve tag doğrulama çalıştırmaları varsayılan olarak birbirini iptal etmez.
+
+## Sürüm kontrolleri aşamaları
+
+`OpenClaw Release Checks` en büyük alt workflow'dur. Hedefi bir kez çözümler
+ve paket ya da Docker odaklı aşamalar gerektiğinde paylaşılan bir `release-package-under-test`
+artifact'ı hazırlar.
+
+| Aşama | Ayrıntılar |
+| ------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Sürüm hedefi | **Job:** `Resolve target ref` **Destekleyen workflow:** yok **Testler:** seçilen ref, isteğe bağlı beklenen SHA, profil, tekrar çalıştırma grubu ve odaklanmış live paket filtresi. **Tekrar çalıştırma:** `rerun_group=release-checks`. |
+| Paket artifact'ı | **Job:** `Prepare release package artifact` **Destekleyen workflow:** yok **Testler:** tek bir aday tarball'ı paketler veya çözümler ve downstream paket odaklı kontroller için `release-package-under-test` yükler. **Tekrar çalıştırma:** etkilenen paket, çapraz işletim sistemi veya live/E2E grubu. |
+| Install smoke | **Job:** `Run install smoke` **Destekleyen workflow:** `Install Smoke` **Testler:** root Dockerfile smoke image yeniden kullanımı, QR paket kurulumu, root ve Gateway Docker smoke'ları, installer Docker testleri, Bun global install image-provider smoke ve hızlı bundled-plugin Docker E2E ile tam kurulum yolu. **Tekrar çalıştırma:** `rerun_group=install-smoke`. |
+| Çapraz işletim sistemi | **Job:** `cross_os_release_checks` **Destekleyen workflow:** `OpenClaw Cross-OS Release Checks (Reusable)` **Testler:** aday tarball ve bir baseline paket kullanarak seçilen sağlayıcı ve mod için Linux, Windows ve macOS üzerinde yeni kurulum ve yükseltme hatları. **Tekrar çalıştırma:** `rerun_group=cross-os`. |
+| Repo ve live E2E | **Job:** `Run repo/live E2E validation` **Destekleyen workflow:** `OpenClaw Live And E2E Checks (Reusable)` **Testler:** depo E2E, live cache, OpenAI websocket streaming, native live provider ve Plugin shard'ları ve `release_profile` tarafından seçilen Docker-backed live model/backend/Gateway harness'ları. **Tekrar çalıştırma:** `rerun_group=live-e2e`, isteğe bağlı olarak `live_suite_filter` ile. |
+| Docker sürüm yolu | **Job:** `Run Docker release-path validation` **Destekleyen workflow:** `OpenClaw Live And E2E Checks (Reusable)` **Testler:** paylaşılan paket artifact'ına karşı release-path Docker parçaları. **Tekrar çalıştırma:** `rerun_group=live-e2e`. |
+| Package Acceptance | **Job:** `Run package acceptance` **Destekleyen workflow:** `Package Acceptance` **Testler:** artifact-native bundled-channel bağımlılık uyumluluğu, offline Plugin paket fixture'ları ve aynı tarball'a karşı mock-OpenAI Telegram paket kabulü. **Tekrar çalıştırma:** `rerun_group=package`. |
+| QA parity | **Job:** `Run QA Lab parity lane` ve `Run QA Lab parity report` **Destekleyen workflow:** doğrudan job'lar **Testler:** aday ve baseline agentic parity paketleri, ardından parity raporu. **Tekrar çalıştırma:** `rerun_group=qa-parity` veya `rerun_group=qa`. |
+| QA live Matrix | **Job:** `Run QA Lab live Matrix lane` **Destekleyen workflow:** doğrudan job **Testler:** `qa-live-shared` ortamında hızlı live Matrix QA profili. **Tekrar çalıştırma:** `rerun_group=qa-live` veya `rerun_group=qa`. |
+| QA live Telegram | **Job:** `Run QA Lab live Telegram lane` **Destekleyen workflow:** doğrudan job **Testler:** Convex CI credential lease'leriyle live Telegram QA. **Tekrar çalıştırma:** `rerun_group=qa-live` veya `rerun_group=qa`. |
+| Sürüm doğrulayıcı | **Job:** `Verify release checks` **Destekleyen workflow:** yok **Testler:** seçilen tekrar çalıştırma grubu için gerekli release-check job'ları. **Tekrar çalıştırma:** odaklanmış alt job'lar geçtikten sonra tekrar çalıştırın. |
+
+## Docker sürüm yolu parçaları
+
+Docker sürüm yolu aşaması, `live_suite_filter` boş olduğunda şu parçaları çalıştırır:
+
+| Parça | Kapsam |
+| ------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
+| `core` | Core Docker release-path smoke hatları. |
+| `package-update-openai` | OpenAI paket kurulumu ve güncelleme davranışı. |
+| `package-update-anthropic` | Anthropic paket kurulumu ve güncelleme davranışı. |
+| `package-update-core` | Sağlayıcıdan bağımsız paket ve güncelleme davranışı. |
+| `plugins-runtime-plugins` | Plugin davranışını çalıştıran Plugin runtime hatları. |
+| `plugins-runtime-services` | Hizmet destekli Plugin runtime hatları; istendiğinde OpenWebUI içerir. |
+| `plugins-runtime-install-a` ile `plugins-runtime-install-h` arası | Paralel sürüm doğrulaması için bölünmüş Plugin install/runtime batch'leri. |
+| `bundled-channels-core` | Bundled channel Docker davranışı. |
+| `bundled-channels-update-a`, `bundled-channels-update-discord`, `bundled-channels-update-b` | Bundled channel güncelleme davranışı. |
+| `bundled-channels-contracts` | Docker sürüm yolunda bundled channel sözleşme kontrolleri. |
+
+Yalnızca bir Docker yolu başarısız olduğunda yeniden kullanılabilir canlı/E2E iş akışında hedefli `docker_lanes=` kullanın. Sürüm yapıtları, mevcut olduğunda paket yapıtı ve imaj yeniden kullanım girdileriyle birlikte yol başına yeniden çalıştırma komutları içerir.
+
+## Sürüm profilleri
+
+`release_profile` yalnızca sürüm kontrolleri içindeki canlı/sağlayıcı kapsamını denetler. Normal tam CI, Plugin Prerelease, kurulum duman testi, paket kabulü, QA Lab veya Docker sürüm yolu parçalarını kaldırmaz.
+
+| Profil | Amaçlanan kullanım | Dahil edilen canlı/sağlayıcı kapsamı |
+| --------- | ------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| `minimum` | En hızlı sürüm açısından kritik duman testi. | OpenAI/çekirdek canlı yolu, OpenAI için Docker canlı modelleri, yerel Gateway çekirdeği, yerel OpenAI Gateway profili, yerel OpenAI Plugin ve Docker canlı Gateway OpenAI. |
+| `stable` | Varsayılan sürüm onay profili. | `minimum` artı Anthropic, Google, MiniMax, arka uç, yerel canlı test düzeneği, Docker canlı CLI arka ucu, Docker ACP bağlama, Docker Codex düzeneği ve bir OpenCode Go duman parçası. |
+| `full` | Geniş danışma taraması. | `stable` artı danışma sağlayıcıları, Plugin canlı parçaları ve medya canlı parçaları. |
+
+## Yalnızca tam profile eklenenler
+
+Bu paketler `stable` tarafından atlanır ve `full` tarafından dahil edilir:
+
+| Alan | Yalnızca tam profil kapsamı |
+| -------------------------------- | ------------------------------------------------------------------------------- |
+| Docker canlı modelleri | OpenCode Go, OpenRouter, xAI, Z.ai ve Fireworks. |
+| Docker canlı Gateway | DeepSeek, Fireworks, OpenCode Go, OpenRouter, xAI ve Z.ai için danışma parçası. |
+| Yerel Gateway sağlayıcı profilleri | Fireworks, DeepSeek, tam OpenCode Go model parçaları, OpenRouter, xAI ve Z.ai. |
+| Yerel Plugin canlı parçaları | Pluginler A-K, L-N, O-Z diğer, Moonshot ve xAI. |
+| Yerel medya canlı parçaları | Ses, Google müzik, MiniMax müzik ve video grupları A-D. |
+
+`stable`, `native-live-src-gateway-profiles-opencode-go-smoke` içerir; `full` bunun yerine daha geniş OpenCode Go model parçalarını kullanır.
+
+## Odaklı yeniden çalıştırmalar
+
+İlgisiz sürüm kutularını yinelemekten kaçınmak için `rerun_group` kullanın:
+
+| Tanıtıcı | Kapsam |
+| ------------------- | ------------------------------------------------- |
+| `all` | Tüm Full Release Validation aşamaları. |
+| `ci` | Yalnızca manuel tam CI alt işi. |
+| `plugin-prerelease` | Yalnızca Plugin Prerelease alt işi. |
+| `release-checks` | Tüm OpenClaw Release Checks aşamaları. |
+| `install-smoke` | Sürüm kontrolleri üzerinden Install Smoke. |
+| `cross-os` | Çapraz işletim sistemi sürüm kontrolleri. |
+| `live-e2e` | Repo/canlı E2E ve Docker sürüm yolu doğrulaması. |
+| `package` | Package Acceptance. |
+| `qa` | QA paritesi artı QA canlı yolları. |
+| `qa-parity` | Yalnızca QA parite yolları ve raporu. |
+| `qa-live` | Yalnızca QA canlı Matrix ve Telegram. |
+| `npm-telegram` | Yalnızca isteğe bağlı yayın sonrası Telegram E2E. |
+
+Bir canlı paket başarısız olduğunda `rerun_group=live-e2e` ile `live_suite_filter` kullanın. Geçerli filtre kimlikleri, yeniden kullanılabilir canlı/E2E iş akışında tanımlanır ve şunları içerir: `docker-live-models`, `live-gateway-docker`, `live-gateway-anthropic-docker`, `live-gateway-google-docker`, `live-gateway-minimax-docker`, `live-gateway-advisory-docker`, `live-cli-backend-docker`, `live-acp-bind-docker` ve `live-codex-harness-docker`.
+
+## Saklanacak kanıtlar
+
+Sürüm düzeyi dizin olarak `Full Release Validation` özetini saklayın. Bu özet alt çalışma kimliklerine bağlantı verir ve en yavaş iş tablolarını içerir. Hatalar için önce alt iş akışını inceleyin, ardından yukarıdaki en küçük eşleşen tanıtıcıyı yeniden çalıştırın.
+
+Yararlı yapıtlar:
+
+- `OpenClaw Release Checks` içinden `release-package-under-test`
+- `.artifacts/docker-tests/` altındaki Docker sürüm yolu yapıtları
+- Package Acceptance `package-under-test` ve Docker kabul yapıtları
+- Her işletim sistemi ve paket için Cross-OS sürüm kontrolü yapıtları
+- QA paritesi, Matrix ve Telegram yapıtları
+
+## İş akışı dosyaları
+
+- `.github/workflows/full-release-validation.yml`
+- `.github/workflows/openclaw-release-checks.yml`
+- `.github/workflows/openclaw-live-and-e2e-checks-reusable.yml`
+- `.github/workflows/plugin-prerelease.yml`
+- `.github/workflows/install-smoke.yml`
+- `.github/workflows/openclaw-cross-os-release-checks-reusable.yml`
+- `.github/workflows/package-acceptance.yml`
diff --git a/docs/tr/reference/secretref-credential-surface.md b/docs/tr/reference/secretref-credential-surface.md
index d46760799..6148a957d 100644
--- a/docs/tr/reference/secretref-credential-surface.md
+++ b/docs/tr/reference/secretref-credential-surface.md
@@ -1,15 +1,15 @@
---
read_when:
- - SecretRef kimlik bilgisi kapsamını doğrulama
+ - SecretRef kimlik bilgileri kapsamını doğrulama
- Bir kimlik bilgisinin `secrets configure` veya `secrets apply` için uygun olup olmadığını denetleme
- - Bir kimlik bilgisinin neden desteklenen kapsamın dışında olduğunu doğrulama
-summary: Kanonik desteklenen ve desteklenmeyen SecretRef kimlik bilgisi yüzeyi
-title: SecretRef kimlik bilgileri yüzeyi
+ - Bir kimlik bilgisinin neden desteklenen yüzeyin dışında olduğunu doğrulama
+summary: Desteklenen ve desteklenmeyen SecretRef kimlik bilgisi yüzeyinin kanonik kapsamı
+title: SecretRef kimlik bilgisi yüzeyi
x-i18n:
- generated_at: "2026-04-30T09:44:18Z"
+ generated_at: "2026-05-01T09:04:03Z"
model: gpt-5.5
provider: openai
- source_hash: b04902427e9851cc36c1dfd07ed44b46b55450c251075e9955af6696f08bc334
+ source_hash: 41111ac82142c906005e0f585c86f2ff0b454afdaec07343c295e6b83571718e
source_path: reference/secretref-credential-surface.md
workflow: 16
---
@@ -18,8 +18,8 @@ Bu sayfa kanonik SecretRef kimlik bilgisi yüzeyini tanımlar.
Kapsam amacı:
-- Kapsam içinde: yalnızca kullanıcı tarafından sağlanan ve OpenClaw'ın üretmediği veya döndürmediği kimlik bilgileri.
-- Kapsam dışında: çalışma zamanında üretilen veya dönen kimlik bilgileri, OAuth yenileme materyali ve oturum benzeri yapılar.
+- Kapsam içinde: OpenClaw tarafından oluşturulmayan veya döndürülmeyen, kesinlikle kullanıcı tarafından sağlanan kimlik bilgileri.
+- Kapsam dışında: çalışma zamanında oluşturulan veya dönen kimlik bilgileri, OAuth yenileme materyali ve oturum benzeri yapılar.
## Desteklenen kimlik bilgileri
@@ -57,6 +57,8 @@ Kapsam amacı:
- `plugins.entries.firecrawl.config.webSearch.apiKey`
- `plugins.entries.minimax.config.webSearch.apiKey`
- `plugins.entries.tavily.config.webSearch.apiKey`
+- `plugins.entries.voice-call.config.realtime.providers.*.apiKey`
+- `plugins.entries.voice-call.config.streaming.providers.*.apiKey`
- `plugins.entries.voice-call.config.tts.providers.*.apiKey`
- `plugins.entries.voice-call.config.twilio.authToken`
- `tools.web.search.apiKey`
@@ -123,17 +125,17 @@ Kapsam amacı:
Notlar:
- Auth-profile plan hedefleri `agentId` gerektirir.
-- Plan girdileri `profiles.*.key` / `profiles.*.token` hedefler ve kardeş ref'leri (`keyRef` / `tokenRef`) yazar.
-- Auth-profile ref'leri çalışma zamanı çözümlemesine ve denetim kapsamına dahildir.
-- `openclaw.json` içinde SecretRef'ler `{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}` gibi yapılandırılmış nesneler kullanmalıdır. Eski `secretref-env:` işaretleyici dizeleri SecretRef kimlik bilgisi yollarında reddedilir; geçerli işaretleyicileri taşımak için `openclaw doctor --fix` çalıştırın.
-- OAuth ilke koruması: `auth.profiles..mode = "oauth"` bu profil için SecretRef girdileriyle birleştirilemez. Bu ilke ihlal edildiğinde başlatma/yeniden yükleme ve auth-profile çözümlemesi hızla başarısız olur.
-- SecretRef ile yönetilen model sağlayıcıları için oluşturulan `agents/*/agent/models.json` girdileri, `apiKey`/başlık yüzeyleri için gizli olmayan işaretleyicileri (çözümlenmiş gizli değerleri değil) kalıcı hale getirir.
-- İşaretleyici kalıcılığında kaynak yetkilidir: OpenClaw işaretleyicileri çözümlenmiş çalışma zamanı gizli değerlerinden değil, etkin kaynak yapılandırma anlık görüntüsünden (çözümleme öncesi) yazar.
+- Plan girdileri `profiles.*.key` / `profiles.*.token` hedefler ve kardeş referansları (`keyRef` / `tokenRef`) yazar.
+- Auth-profile referansları çalışma zamanı çözümlemesine ve denetim kapsamına dahildir.
+- `openclaw.json` içinde SecretRef'ler `{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}` gibi yapılandırılmış nesneler kullanmalıdır. Eski `secretref-env:` işaretçi dizeleri SecretRef kimlik bilgisi yollarında reddedilir; geçerli işaretçileri taşımak için `openclaw doctor --fix` komutunu çalıştırın.
+- OAuth ilke koruması: `auth.profiles..mode = "oauth"` bu profil için SecretRef girdileriyle birleştirilemez. Bu ilke ihlal edildiğinde başlatma/yeniden yükleme ve auth-profile çözümlemesi hızlı şekilde başarısız olur.
+- SecretRef tarafından yönetilen model sağlayıcıları için oluşturulan `agents/*/agent/models.json` girdileri, `apiKey`/üst bilgi yüzeyleri için gizli olmayan işaretçileri (çözümlenmiş gizli değerleri değil) kalıcı hale getirir.
+- İşaretçi kalıcılığı kaynak açısından yetkilidir: OpenClaw işaretçileri çözümlenmiş çalışma zamanı gizli değerlerinden değil, etkin kaynak yapılandırma anlık görüntüsünden (çözümleme öncesi) yazar.
- Web araması için:
- - Açık sağlayıcı modunda (`tools.web.search.provider` ayarlı), yalnızca seçili sağlayıcı anahtarı etkindir.
- - Otomatik modda (`tools.web.search.provider` ayarlı değil), yalnızca önceliğe göre çözümlenen ilk sağlayıcı anahtarı etkindir.
- - Otomatik modda, seçilmeyen sağlayıcı ref'leri seçilene kadar etkin değil olarak değerlendirilir.
- - Eski `tools.web.search.*` sağlayıcı yolları uyumluluk penceresi boyunca çözümlenmeye devam eder, ancak kanonik SecretRef yüzeyi `plugins.entries..config.webSearch.*` şeklindedir.
+ - Açık sağlayıcı modunda (`tools.web.search.provider` ayarlı), yalnızca seçilen sağlayıcı anahtarı etkindir.
+ - Otomatik modda (`tools.web.search.provider` ayarsız), önceliğe göre çözümlenen yalnızca ilk sağlayıcı anahtarı etkindir.
+ - Otomatik modda, seçilmeyen sağlayıcı referansları seçilene kadar etkin değil kabul edilir.
+ - Eski `tools.web.search.*` sağlayıcı yolları uyumluluk penceresi sırasında hâlâ çözümlenir, ancak kanonik SecretRef yüzeyi `plugins.entries..config.webSearch.*` şeklindedir.
## Desteklenmeyen kimlik bilgileri
@@ -155,7 +157,7 @@ Kapsam dışı kimlik bilgileri şunları içerir:
Gerekçe:
-- Bu kimlik bilgileri; üretilen, döndürülen, oturum taşıyan veya OAuth ile kalıcı sınıflardır ve salt okunur harici SecretRef çözümlemesine uymaz.
+- Bu kimlik bilgileri salt okunur harici SecretRef çözümlemesine uymayan, oluşturulan, döndürülen, oturum taşıyan veya OAuth açısından kalıcı sınıflardır.
## İlgili
diff --git a/docs/tr/reference/test.md b/docs/tr/reference/test.md
index 67b1474fc..e3ffe78ff 100644
--- a/docs/tr/reference/test.md
+++ b/docs/tr/reference/test.md
@@ -1,59 +1,60 @@
---
read_when:
- Testleri çalıştırma veya düzeltme
-summary: Testleri yerel olarak nasıl çalıştırırsınız (vitest) ve force/coverage modlarını ne zaman kullanmalısınız
+summary: Testleri yerel olarak (vitest) çalıştırma ve force/coverage modlarını ne zaman kullanma
title: Testler
x-i18n:
- generated_at: "2026-04-30T18:38:35Z"
+ generated_at: "2026-05-01T09:04:24Z"
model: gpt-5.5
provider: openai
- source_hash: 131f2bad3b2806d28394213cec38d632d106ddbf8ff04d06345ab8046fb8bcf2
+ source_hash: 07ca45e6c21016ad403ea010bd2e5460acc059c004138e04a714a3506f0e5cda
source_path: reference/test.md
workflow: 16
---
-- Tam test kiti (test takımları, canlı, Docker): [Test](/tr/help/testing)
+- Tam test kiti (paketler, canlı, Docker): [Test Etme](/tr/help/testing)
-- `pnpm test:force`: Varsayılan kontrol portunu tutan kalmış Gateway işlemlerini sonlandırır, ardından sunucu testlerinin çalışan bir örnekle çakışmaması için tam Vitest paketini yalıtılmış bir Gateway portuyla çalıştırır. Önceki bir Gateway çalıştırması 18789 portunu dolu bıraktığında bunu kullanın.
-- `pnpm test:coverage`: Birim paketini V8 kapsamıyla (`vitest.unit.config.ts` üzerinden) çalıştırır. Bu, tüm depo ve tüm dosyalar için kapsam değil, yüklenen dosyalara yönelik birim kapsam geçididir. Eşikler satırlar/işlevler/ifadeler için %70 ve dallar için %55’tir. `coverage.all` false olduğundan geçit, her bölünmüş şerit kaynak dosyasını kapsanmamış saymak yerine birim kapsam paketi tarafından yüklenen dosyaları ölçer.
-- `pnpm test:coverage:changed`: Yalnızca `origin/main` sonrasında değişen dosyalar için birim kapsamını çalıştırır.
+- `pnpm test:force`: Varsayılan kontrol bağlantı noktasını tutan kalıcı Gateway süreçlerini sonlandırır, ardından sunucu testlerinin çalışan bir örnekle çakışmaması için tam Vitest paketini yalıtılmış bir Gateway bağlantı noktasıyla çalıştırır. Önceki bir Gateway çalıştırması 18789 bağlantı noktasını dolu bıraktığında bunu kullanın.
+- `pnpm test:coverage`: Birim paketini V8 kapsamıyla (`vitest.unit.config.ts` üzerinden) çalıştırır. Bu, tüm depo tüm dosya kapsamı değil, yüklenmiş dosya birim kapsamı kapısıdır. Eşikler satırlar/fonksiyonlar/ifadeler için %70 ve dallar için %55'tir. `coverage.all` false olduğundan, kapı her bölünmüş kulvar kaynak dosyasını kapsanmamış saymak yerine birim kapsam paketi tarafından yüklenen dosyaları ölçer.
+- `pnpm test:coverage:changed`: Birim kapsamını yalnızca `origin/main` sonrasında değişen dosyalar için çalıştırır.
- `pnpm test:changed`: ucuz akıllı değişen test çalıştırması. Doğrudan test düzenlemelerinden, kardeş `*.test.ts` dosyalarından, açık kaynak eşlemelerinden ve yerel içe aktarma grafiğinden kesin hedefleri çalıştırır. Geniş/config/paket değişiklikleri, kesin testlere eşlenmedikçe atlanır.
-- `OPENCLAW_TEST_CHANGED_BROAD=1 pnpm test:changed`: açık geniş değişen test çalıştırması. Bir test altyapısı/config/paket düzenlemesinin Vitest’in daha geniş değişen test davranışına geri dönmesi gerektiğinde bunu kullanın.
-- `pnpm changed:lanes`: `origin/main` ile diff tarafından tetiklenen mimari şeritleri gösterir.
-- `pnpm check:changed`: `origin/main` ile diff için akıllı değişen kontrol geçidini çalıştırır. Etkilenen mimari şeritler için typecheck, lint ve guard komutlarını çalıştırır, ancak Vitest testlerini çalıştırmaz. Test kanıtı için `pnpm test:changed` veya açık `pnpm test ` kullanın.
-- `pnpm test`: açık dosya/dizin hedeflerini kapsamlı Vitest şeritleri üzerinden yönlendirir. Hedefsiz çalıştırmalar sabit shard gruplarını kullanır ve yerel paralel yürütme için yaprak config’lere genişler; extension grubu her zaman tek bir dev kök-proje işlemi yerine extension başına shard config’lerine genişler.
-- Test wrapper çalıştırmaları kısa bir `[test] passed|failed|skipped ... in ...` özetiyle biter. Vitest’in kendi süre satırı shard başına ayrıntı olarak kalır.
-- Paylaşılan OpenClaw test durumu: bir test yalıtılmış `HOME`, `OPENCLAW_STATE_DIR`, `OPENCLAW_CONFIG_PATH`, config fikstürü, çalışma alanı, ajan dizini veya auth-profile deposu gerektirdiğinde Vitest’ten `src/test-utils/openclaw-test-state.ts` kullanın.
-- İşlem E2E yardımcıları: bir Vitest işlem düzeyi E2E testi tek yerde çalışan bir Gateway, CLI env, log yakalama ve cleanup gerektirdiğinde `test/helpers/openclaw-test-instance.ts` kullanın.
-- Docker/Bash E2E yardımcıları: `scripts/lib/docker-e2e-image.sh` kaynaklayan şeritler, container içine `docker_e2e_test_state_shell_b64