From 07cbfee8c60d0a3b02c5e21334840c262cca2306 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Wed, 15 Apr 2026 14:50:05 +0000 Subject: [PATCH] chore(i18n): refresh tr translations --- docs/tr/concepts/dreaming.md | 166 +-- docs/tr/concepts/experimental-features.md | 54 + docs/tr/concepts/memory-search.md | 67 +- docs/tr/concepts/memory.md | 95 +- docs/tr/gateway/configuration-reference.md | 1525 ++++++++++---------- docs/tr/gateway/local-models.md | 60 +- docs/tr/help/testing.md | 735 +++++----- docs/tr/providers/github-copilot.md | 105 +- docs/tr/providers/ollama.md | 204 +-- docs/tr/reference/memory-config.md | 428 +++--- docs/tr/reference/wizard.md | 203 ++- docs/tr/start/wizard-cli-reference.md | 214 +-- 12 files changed, 1979 insertions(+), 1877 deletions(-) create mode 100644 docs/tr/concepts/experimental-features.md diff --git a/docs/tr/concepts/dreaming.md b/docs/tr/concepts/dreaming.md index a82966a65..f7fd46c73 100644 --- a/docs/tr/concepts/dreaming.md +++ b/docs/tr/concepts/dreaming.md @@ -1,33 +1,33 @@ --- read_when: - Bellek yükseltmenin otomatik olarak çalışmasını istiyorsunuz - - Her bir rüya görme evresinin ne yaptığını anlamak istiyorsunuz - - Pekiştirmeyi `MEMORY.md` dosyasını kirletmeden ayarlamak istiyorsunuz -summary: Hafif, derin ve REM evreleri ile rüya günlüğü içeren arka plan bellek pekiştirmesi -title: Dreaming (deneysel) + - Her Dreaming evresinin ne yaptığını anlamak istiyorsunuz + - Pekiştirmeyi, `MEMORY.md` dosyasını kirletmeden ayarlamak istiyorsunuz +summary: Hafif, derin ve REM evreleri ile bir Rüya Günlüğü eşliğinde arka plan bellek pekiştirme +title: Dreaming x-i18n: - generated_at: "2026-04-15T08:53:15Z" + generated_at: "2026-04-15T14:40:31Z" model: gpt-5.4 provider: openai - source_hash: 5882a5068f2eabe54ca9893184e5385330a432b921870c38626399ce11c31e25 + source_hash: a5bcaec80f62e7611ed533094ef1917bd72c885f57252824db910e1f0496adc6 source_path: concepts/dreaming.md workflow: 15 --- -# Dreaming (deneysel) +# Dreaming Dreaming, `memory-core` içindeki arka plan bellek pekiştirme sistemidir. OpenClaw’un güçlü kısa süreli sinyalleri kalıcı belleğe taşımasına yardımcı olurken -süreci açıklanabilir ve incelenebilir halde tutar. +süreci açıklanabilir ve gözden geçirilebilir tutar. Dreaming **isteğe bağlıdır** ve varsayılan olarak devre dışıdır. -## Dreaming’in yazdıkları +## Dreaming ne yazar Dreaming iki tür çıktı tutar: -- `memory/.dreams/` içinde **makine durumu** (geri çağırma deposu, evre sinyalleri, alım denetim noktaları, kilitler). -- `DREAMS.md` (veya mevcut `dreams.md`) içinde **insan tarafından okunabilir çıktı** ve isteğe bağlı olarak `memory/dreaming//YYYY-MM-DD.md` altındaki evre raporu dosyaları. +- `memory/.dreams/` içinde **makine durumu** (geri çağırma deposu, evre sinyalleri, içe aktarma denetim noktaları, kilitler). +- `DREAMS.md` (veya mevcut `dreams.md`) içinde **insan tarafından okunabilir çıktı** ve `memory/dreaming//YYYY-MM-DD.md` altında isteğe bağlı evre raporu dosyaları. Uzun vadeli yükseltme yine yalnızca `MEMORY.md` dosyasına yazar. @@ -35,101 +35,99 @@ Uzun vadeli yükseltme yine yalnızca `MEMORY.md` dosyasına yazar. Dreaming üç işbirlikçi evre kullanır: -| Evre | Amaç | Kalıcı yazma | -| ----- | ---- | ------------ | -| Light | Son kısa süreli materyali sıralamak ve hazırlamak | Hayır | -| Deep | Kalıcı adayları puanlamak ve yükseltmek | Evet (`MEMORY.md`) | -| REM | Temalar ve yinelenen fikirler üzerine düşünmek | Hayır | +| Evre | Amaç | Kalıcı yazım | +| ----- | ---------------------------------------- | ----------------- | +| Hafif | Son kısa süreli materyali sıralamak ve hazırlamak | Hayır | +| Derin | Kalıcı adayları puanlamak ve yükseltmek | Evet (`MEMORY.md`) | +| REM | Temalar ve tekrar eden fikirler üzerine düşünmek | Hayır | -Bu evreler, kullanıcı tarafından ayrı ayrı yapılandırılan "modlar" değil, -dahili uygulama ayrıntılarıdır. +Bu evreler, kullanıcı tarafından ayrı ayrı yapılandırılan +"modlar" değil, dahili uygulama ayrıntılarıdır. -### Light evresi +### Hafif evre -Light evresi son günlük bellek sinyallerini ve geri çağırma izlerini alır, -yinelenenleri ayıklar ve aday satırları hazırlar. +Hafif evre, son günlük bellek sinyallerini ve geri çağırma izlerini içe aktarır, +bunları tekilleştirir ve aday satırları hazırlar. -- Uygun olduğunda kısa süreli geri çağırma durumundan, son günlük bellek dosyalarından ve sansürlenmiş oturum dökümlerinden okur. +- Kısa süreli geri çağırma durumundan, son günlük bellek dosyalarından ve mevcut olduğunda sansürlenmiş oturum dökümlerinden okur. - Depolama satır içi çıktı içerdiğinde yönetilen bir `## Light Sleep` bloğu yazar. -- Daha sonraki deep sıralaması için pekiştirme sinyalleri kaydeder. -- `MEMORY.md` dosyasına asla yazmaz. +- Daha sonra derin sıralama için pekiştirme sinyallerini kaydeder. +- Asla `MEMORY.md` dosyasına yazmaz. -### Deep evresi +### Derin evre -Deep evresi, neyin uzun vadeli belleğe dönüşeceğine karar verir. +Derin evre, neyin uzun vadeli belleğe dönüşeceğine karar verir. - Adayları ağırlıklı puanlama ve eşik geçitleri kullanarak sıralar. -- `minScore`, `minRecallCount` ve `minUniqueQueries` koşullarının geçilmesini gerektirir. -- Yazmadan önce parçacıkları canlı günlük dosyalardan yeniden alır; böylece eski/silinmiş parçacıklar atlanır. +- `minScore`, `minRecallCount` ve `minUniqueQueries` değerlerinin geçilmesini gerektirir. +- Yazmadan önce parçaları canlı günlük dosyalardan yeniden yükler; böylece eski/silinmiş parçalar atlanır. - Yükseltilen girdileri `MEMORY.md` dosyasına ekler. -- `DREAMS.md` içine bir `## Deep Sleep` özeti yazar ve isteğe bağlı olarak `memory/dreaming/deep/YYYY-MM-DD.md` dosyasına yazar. +- `DREAMS.md` içine bir `## Deep Sleep` özeti yazar ve isteğe bağlı olarak `memory/dreaming/deep/YYYY-MM-DD.md` dosyasını yazar. ### REM evresi -REM evresi örüntüleri ve yansıtıcı sinyalleri çıkarır. +REM evresi, örüntüleri ve yansıtıcı sinyalleri çıkarır. - Son kısa süreli izlerden tema ve yansıma özetleri oluşturur. - Depolama satır içi çıktı içerdiğinde yönetilen bir `## REM Sleep` bloğu yazar. -- Deep sıralamasında kullanılan REM pekiştirme sinyallerini kaydeder. -- `MEMORY.md` dosyasına asla yazmaz. +- Derin sıralamada kullanılan REM pekiştirme sinyallerini kaydeder. +- Asla `MEMORY.md` dosyasına yazmaz. -## Oturum dökümü alımı +## Oturum dökümü içe aktarma -Dreaming, sansürlenmiş oturum dökümlerini Dreaming derlemine alabilir. Dökümler -mevcut olduğunda, günlük bellek sinyalleri ve geri çağırma izleriyle birlikte -light evresine beslenir. Kişisel ve hassas içerik alımdan önce sansürlenir. +Dreaming, sansürlenmiş oturum dökümlerini dreaming külliyatına içe aktarabilir. Dökümler +mevcut olduğunda, günlük bellek sinyalleri ve geri çağırma izlerinin yanında hafif evreye +beslenir. Kişisel ve hassas içerikler içe aktarmadan önce sansürlenir. -## Dream Diary +## Rüya Günlüğü -Dreaming ayrıca `DREAMS.md` içinde anlatı biçiminde bir **Dream Diary** tutar. -Her evrede yeterli materyal oluştuğunda, `memory-core` en iyi çaba esaslı bir arka plan -alt ajan turu çalıştırır (varsayılan çalışma zamanı modeli kullanılarak) ve kısa -bir günlük girdisi ekler. +Dreaming ayrıca `DREAMS.md` içinde anlatı niteliğinde bir **Rüya Günlüğü** tutar. +Her evre yeterli malzemeye sahip olduktan sonra `memory-core`, en iyi çaba esaslı bir arka plan +alt aracı dönüşü çalıştırır (varsayılan çalışma zamanı modelini kullanarak) ve kısa bir günlük girdisi ekler. -Bu günlük, yükseltme kaynağı değil, Dreams UI içinde insanlar tarafından okunmak içindir. +Bu günlük, yükseltme kaynağı değil, Dreams UI içinde insan tarafından okunmak içindir. Dreaming tarafından üretilen günlük/rapor yapıtları kısa süreli -yükseltmeden hariç tutulur. Yalnızca temellendirilmiş bellek parçacıkları -`MEMORY.md` içine yükseltilebilir. +yükseltmeden hariç tutulur. `MEMORY.md` içine yükseltme için yalnızca temellendirilmiş +bellek parçaları uygundur. -İnceleme ve kurtarma işleri için temellendirilmiş bir geçmiş doldurma hattı da vardır: +İnceleme ve kurtarma çalışmaları için ayrıca temellendirilmiş bir geçmişi doldurma hattı vardır: - `memory rem-harness --path ... --grounded`, geçmiş `YYYY-MM-DD.md` notlarından temellendirilmiş günlük çıktısını önizler. -- `memory rem-backfill --path ...`, geri alınabilir temellendirilmiş günlük girdilerini `DREAMS.md` dosyasına yazar. -- `memory rem-backfill --path ... --stage-short-term`, temellendirilmiş kalıcı adayları normal deep evresinin zaten kullandığı aynı kısa süreli kanıt deposuna hazırlık olarak koyar. +- `memory rem-backfill --path ...`, geri alınabilir temellendirilmiş günlük girdilerini `DREAMS.md` içine yazar. +- `memory rem-backfill --path ... --stage-short-term`, temellendirilmiş kalıcı adayları normal derin evrenin zaten kullandığı aynı kısa süreli kanıt deposuna hazırlar. - `memory rem-backfill --rollback` ve `--rollback-short-term`, sıradan günlük girdilerine veya canlı kısa süreli geri çağırmaya dokunmadan bu hazırlanmış geçmiş doldurma yapıtlarını kaldırır. -Control UI, aynı günlük geçmiş doldurma/sıfırlama akışını sunar; böylece sonuçları, -temellendirilmiş adayların yükseltilmeyi hak edip etmediğine karar vermeden önce -Dreams sahnesinde inceleyebilirsiniz. Sahne ayrıca belirgin bir temellendirilmiş hat da gösterir; böylece -hangi hazırlanmış kısa süreli girdilerin geçmiş tekrar oynatmadan geldiğini, -hangi yükseltilmiş öğelerin temellendirme kaynaklı olduğunu görebilir ve sıradan canlı kısa süreli duruma -dokunmadan yalnızca temellendirilmiş hazırlanmış girdileri temizleyebilirsiniz. +Control UI aynı günlük geçmiş doldurma/sıfırlama akışını sunar; böylece temellendirilmiş adayların +yükseltmeyi hak edip etmediğine karar vermeden önce sonuçları Dreams sahnesinde inceleyebilirsiniz. +Sahne ayrıca ayrı bir temellendirilmiş hat gösterir; böylece hangi hazırlanmış kısa süreli girdilerin +geçmiş tekrar oynatımından geldiğini, hangi yükseltilmiş öğelerin temellendirilmiş odaklı olduğunu +görebilir ve sıradan canlı kısa süreli duruma dokunmadan yalnızca temellendirilmiş hazırlanmış girdileri temizleyebilirsiniz. -## Deep sıralama sinyalleri +## Derin sıralama sinyalleri -Deep sıralaması altı ağırlıklı temel sinyal ile evre pekiştirmesini kullanır: +Derin sıralama, evre pekiştirmesine ek olarak altı ağırlıklı temel sinyal kullanır: -| Sinyal | Ağırlık | Açıklama | -| ------ | ------- | -------- | -| Sıklık | 0.24 | Girdinin kaç kısa süreli sinyal biriktirdiği | -| İlgililik | 0.30 | Girdi için ortalama geri getirme kalitesi | -| Sorgu çeşitliliği | 0.15 | Onu ortaya çıkaran farklı sorgu/gün bağlamları | -| Yakınlık | 0.15 | Zamana bağlı olarak azalan tazelik puanı | -| Pekiştirme | 0.10 | Çok günlük yineleme gücü | -| Kavramsal zenginlik | 0.06 | Parçacık/yol üzerindeki kavram etiketi yoğunluğu | +| Sinyal | Ağırlık | Açıklama | +| ------------------ | ------- | ------------------------------------------------- | +| Sıklık | 0.24 | Girdinin biriktirdiği kısa süreli sinyal sayısı | +| İlgililik | 0.30 | Girdi için ortalama geri getirme kalitesi | +| Sorgu çeşitliliği | 0.15 | Onu ortaya çıkaran farklı sorgu/gün bağlamları | +| Güncellik | 0.15 | Zamana bağlı azalan tazelik puanı | +| Pekiştirme | 0.10 | Çok günlü tekrar gücü | +| Kavramsal zenginlik| 0.06 | Parça/yoldan kavram etiketi yoğunluğu | -Light ve REM evresi isabetleri, -`memory/.dreams/phase-signals.json` dosyasından gelen zamana bağlı olarak azalan küçük bir artış ekler. +Hafif ve REM evresi isabetleri, +`memory/.dreams/phase-signals.json` dosyasından güncelliğe bağlı küçük bir azalan artış ekler. ## Zamanlama -Etkinleştirildiğinde `memory-core`, tam bir Dreaming taraması için tek bir Cron -işini otomatik olarak yönetir. Her tarama evreleri sırayla çalıştırır: light -> REM -> deep. +Etkinleştirildiğinde `memory-core`, tam bir dreaming +taraması için tek bir Cron işi otomatik olarak yönetir. Her tarama evreleri sırayla çalıştırır: hafif -> REM -> derin. Varsayılan sıklık davranışı: -| Ayar | Varsayılan | -| ---- | ---------- | +| Ayar | Varsayılan | +| -------------------- | ---------- | | `dreaming.frequency` | `0 3 * * *` | ## Hızlı başlangıç @@ -152,7 +150,7 @@ Dreaming’i etkinleştirin: } ``` -Özel bir tarama sıklığıyla Dreaming’i etkinleştirin: +Özel bir tarama sıklığı ile Dreaming’i etkinleştirin: ```json { @@ -192,8 +190,8 @@ openclaw memory promote --limit 5 openclaw memory status --deep ``` -Elle çalıştırılan `memory promote`, CLI bayraklarıyla geçersiz kılınmadıkça -varsayılan olarak deep evresi eşiklerini kullanır. +Elle `memory promote`, CLI bayraklarıyla geçersiz kılınmadığı sürece varsayılan olarak +derin evre eşiklerini kullanır. Belirli bir adayın neden yükseltileceğini veya yükseltilmeyeceğini açıklayın: @@ -202,7 +200,7 @@ openclaw memory promote-explain "router vlan" openclaw memory promote-explain "router vlan" --json ``` -Herhangi bir şey yazmadan REM yansımalarını, aday gerçekleri ve deep yükseltme çıktısını önizleyin: +Hiçbir şey yazmadan REM yansımalarını, aday gerçekleri ve derin yükseltme çıktısını önizleyin: ```bash openclaw memory rem-harness @@ -213,30 +211,32 @@ openclaw memory rem-harness --json Tüm ayarlar `plugins.entries.memory-core.config.dreaming` altında bulunur. -| Anahtar | Varsayılan | -| ------- | ---------- | -| `enabled` | `false` | +| Anahtar | Varsayılan | +| ----------- | ---------- | +| `enabled` | `false` | | `frequency` | `0 3 * * *` | Evre politikası, eşikler ve depolama davranışı dahili uygulama ayrıntılarıdır (kullanıcıya dönük yapılandırma değildir). -Tam anahtar listesi için bkz. [Bellek yapılandırma başvurusu](/tr/reference/memory-config#dreaming-experimental). +Tam anahtar listesi için +[Bellek yapılandırma başvurusu](/tr/reference/memory-config#dreaming) +sayfasına bakın. ## Dreams UI Etkinleştirildiğinde Gateway **Dreams** sekmesi şunları gösterir: -- geçerli Dreaming etkin durumunu -- evre düzeyinde durumu ve yönetilen tarama varlığını +- dreaming’in mevcut etkinlik durumu +- evre düzeyinde durum ve yönetilen tarama varlığı - kısa süreli, temellendirilmiş, sinyal ve bugün yükseltilen sayıları -- bir sonraki zamanlanmış çalıştırmanın zamanlamasını -- hazırlık aşamasındaki geçmiş tekrar oynatma girdileri için ayrı bir temellendirilmiş Sahne hattını -- `doctor.memory.dreamDiary` tarafından desteklenen genişletilebilir bir Dream Diary okuyucusunu +- bir sonraki zamanlanmış çalıştırmanın zamanı +- hazırlanmış geçmiş tekrar oynatım girdileri için ayrı bir temellendirilmiş Sahne hattı +- `doctor.memory.dreamDiary` tarafından desteklenen genişletilebilir bir Rüya Günlüğü okuyucusu ## İlgili - [Bellek](/tr/concepts/memory) -- [Bellek Araması](/tr/concepts/memory-search) +- [Bellek Arama](/tr/concepts/memory-search) - [memory CLI](/cli/memory) - [Bellek yapılandırma başvurusu](/tr/reference/memory-config) diff --git a/docs/tr/concepts/experimental-features.md b/docs/tr/concepts/experimental-features.md new file mode 100644 index 000000000..41ecc2906 --- /dev/null +++ b/docs/tr/concepts/experimental-features.md @@ -0,0 +1,54 @@ +--- +read_when: + - Bir ``.experimental`` yapılandırma anahtarı görüyorsunuz ve bunun kararlı olup olmadığını öğrenmek istiyorsunuz + - Önizleme çalışma zamanı özelliklerini, bunları normal varsayılanlarla karıştırmadan denemek istiyorsunuz + - Şu anda belgelenmiş deneysel bayrakları bulmak için tek bir yer istiyorsunuz +summary: OpenClaw'da deneysel bayraklar ne anlama gelir ve hangileri şu anda belgelenmiştir +title: Deneysel Özellikler +x-i18n: + generated_at: "2026-04-15T14:40:39Z" + model: gpt-5.4 + provider: openai + source_hash: 2d1c7b3d4cd56ef8a0bdab1deb9918e9b2c9a33f956d63193246087f8633dcf3 + source_path: concepts/experimental-features.md + workflow: 15 +--- + +# Deneysel özellikler + +OpenClaw'daki deneysel özellikler **isteğe bağlı önizleme yüzeyleridir**. Bunlar +açık bayrakların arkasındadır çünkü kararlı bir varsayılanı ya da uzun ömürlü bir +genel sözleşmeyi hak etmeden önce hâlâ gerçek dünyada yeterince denenmeleri gerekir. + +Bunlara normal yapılandırmadan farklı yaklaşın: + +- İlgili belgede birini denemeniz söylenmedikçe bunları varsayılan olarak **kapalı tutun**. +- Kararlı yapılandırmaya göre **biçim ve davranışın** daha hızlı değişmesini bekleyin. +- Zaten mevcutsa önce kararlı yolu tercih edin. +- OpenClaw'ı geniş ölçekte devreye alıyorsanız, deneysel bayrakları paylaşılan bir + temele yerleştirmeden önce daha küçük bir ortamda test edin. + +## Şu anda belgelenmiş bayraklar + +| Yüzey | Anahtar | Bunu şu durumda kullanın | Daha fazla | +| ------------------------ | --------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | +| Yerel model çalışma zamanı | `agents.defaults.experimental.localModelLean` | Daha küçük veya daha katı bir yerel arka uç, OpenClaw'ın tam varsayılan araç yüzeyini kaldıramıyorsa | [Yerel Modeller](/tr/gateway/local-models) | +| Bellek araması | `agents.defaults.memorySearch.experimental.sessionMemory` | `memory_search`'ün önceki oturum dökümlerini dizine eklemesini istiyorsanız ve ek depolama/dizinleme maliyetini kabul ediyorsanız | [Bellek yapılandırma başvurusu](/tr/reference/memory-config#session-memory-search-experimental) | +| Yapılandırılmış planlama aracı | `tools.experimental.planTool` | Uyumlu çalışma zamanlarında ve kullanıcı arayüzlerinde, çok adımlı iş takibi için yapılandırılmış `update_plan` aracının sunulmasını istiyorsanız | [Gateway yapılandırma başvurusu](/tr/gateway/configuration-reference#toolsexperimental) | + +## Yerel model yalın modu + +`agents.defaults.experimental.localModelLean: true`, daha zayıf yerel model kurulumları için +bir rahatlatma supabıdır. `browser`, `cron` ve `message` gibi ağır varsayılan araçları +budar; böylece istem biçimi daha küçük olur ve küçük bağlamlı veya daha katı +OpenAI uyumlu arka uçlar için daha az kırılgan hale gelir. + +Bu kasıtlı olarak normal yol **değildir**. Arka ucunuz tam çalışma zamanını sorunsuz +şekilde yönetiyorsa bunu kapalı bırakın. + +## Deneysel, gizli demek değildir + +Bir özellik deneysel ise, OpenClaw bunu belgelerde ve yapılandırma yolunun kendisinde +açıkça belirtmelidir. Yapmaması gereken şey ise önizleme davranışını kararlı gibi +görünen bir varsayılan düğmenin içine gizlice sokup bunun normalmiş gibi davranmaktır. +Yapılandırma yüzeyleri böyle karmaşık hale gelir. diff --git a/docs/tr/concepts/memory-search.md b/docs/tr/concepts/memory-search.md index 719e116f4..907385330 100644 --- a/docs/tr/concepts/memory-search.md +++ b/docs/tr/concepts/memory-search.md @@ -1,26 +1,26 @@ --- read_when: - - '`memory_search` öğesinin nasıl çalıştığını anlamak istiyorsunuz' - - Bir gömü sağlayıcısı seçmek istiyorsunuz + - '`memory_search`''ün nasıl çalıştığını anlamak istiyorsunuz' + - Bir gömme sağlayıcısı seçmek istiyorsunuz - Arama kalitesini ayarlamak istiyorsunuz -summary: Bellek araması, gömüler ve hibrit erişim kullanarak ilgili notları nasıl bulur +summary: Bellek araması, gömmeler ve hibrit erişim kullanarak ilgili notları nasıl bulur title: Bellek Araması x-i18n: - generated_at: "2026-04-12T23:28:05Z" + generated_at: "2026-04-15T14:40:33Z" model: gpt-5.4 provider: openai - source_hash: 71fde251b7d2dc455574aa458e7e09136f30613609ad8dafeafd53b2729a0310 + source_hash: f5757aa8fe8f7fec30ef5c826f72230f591ce4cad591d81a091189d50d4262ed source_path: concepts/memory-search.md workflow: 15 --- # Bellek Araması -`memory_search`, ifade biçimi özgün metinden farklı olsa bile bellek dosyalarınızdan ilgili notları bulur. Bunu, belleği küçük parçalara ayırarak dizinleyip gömüler, anahtar sözcükler veya her ikisini kullanarak arayarak yapar. +`memory_search`, ifade biçimi özgün metinden farklı olsa bile bellek dosyalarınızdan ilgili notları bulur. Bunu, belleği küçük parçalara ayırıp dizinleyerek ve bu parçaları gömmeler, anahtar kelimeler ya da her ikisini kullanarak arayarak yapar. ## Hızlı başlangıç -Yapılandırılmış bir OpenAI, Gemini, Voyage veya Mistral API anahtarınız varsa, bellek araması otomatik olarak çalışır. Bir sağlayıcıyı açıkça ayarlamak için: +GitHub Copilot aboneliğiniz ya da yapılandırılmış bir OpenAI, Gemini, Voyage veya Mistral API anahtarınız varsa, bellek araması otomatik olarak çalışır. Bir sağlayıcıyı açıkça ayarlamak için: ```json5 { @@ -34,23 +34,24 @@ Yapılandırılmış bir OpenAI, Gemini, Voyage veya Mistral API anahtarınız v } ``` -API anahtarı olmadan yerel gömüler için `provider: "local"` kullanın (`node-llama-cpp` gerektirir). +API anahtarı olmadan yerel gömmeler için `provider: "local"` kullanın (`node-llama-cpp` gerektirir). ## Desteklenen sağlayıcılar -| Sağlayıcı | ID | API anahtarı gerekir | Notlar | -| --------- | --------- | -------------------- | ---------------------------------------------------- | -| OpenAI | `openai` | Evet | Otomatik algılanır, hızlı | -| Gemini | `gemini` | Evet | Görüntü/ses dizinlemeyi destekler | -| Voyage | `voyage` | Evet | Otomatik algılanır | -| Mistral | `mistral` | Evet | Otomatik algılanır | -| Bedrock | `bedrock` | Hayır | AWS kimlik bilgisi zinciri çözümlendiğinde otomatik algılanır | -| Ollama | `ollama` | Hayır | Yerel, açıkça ayarlanmalıdır | -| Local | `local` | Hayır | GGUF modeli, ~0.6 GB indirme | +| Sağlayıcı | Kimlik | API anahtarı gerekir | Notlar | +| --------------- | ---------------- | -------------------- | ---------------------------------------------------- | +| Bedrock | `bedrock` | Hayır | AWS kimlik bilgisi zinciri çözüldüğünde otomatik algılanır | +| Gemini | `gemini` | Evet | Görüntü/ses dizinlemeyi destekler | +| GitHub Copilot | `github-copilot` | Hayır | Otomatik algılanır, Copilot aboneliğini kullanır | +| Local | `local` | Hayır | GGUF modeli, ~0.6 GB indirme | +| Mistral | `mistral` | Evet | Otomatik algılanır | +| Ollama | `ollama` | Hayır | Yerel, açıkça ayarlanmalıdır | +| OpenAI | `openai` | Evet | Otomatik algılanır, hızlıdır | +| Voyage | `voyage` | Evet | Otomatik algılanır | ## Arama nasıl çalışır -OpenClaw iki erişim yolunu paralel olarak çalıştırır ve sonuçları birleştirir: +OpenClaw, iki erişim yolunu paralel olarak çalıştırır ve sonuçları birleştirir: ```mermaid flowchart LR @@ -63,31 +64,31 @@ flowchart LR M --> R["Top Results"] ``` -- **Vektör araması**, anlam olarak benzer notları bulur (`"gateway host"`, `"the machine running OpenClaw"` ile eşleşir). -- **BM25 anahtar sözcük araması**, tam eşleşmeleri bulur (kimlikler, hata dizeleri, yapılandırma anahtarları). +- **Vektör araması**, benzer anlama sahip notları bulur ("gateway host", "OpenClaw'ı çalıştıran makine" ile eşleşir). +- **BM25 anahtar kelime araması**, tam eşleşmeleri bulur (kimlikler, hata dizeleri, yapılandırma anahtarları). -Yalnızca bir yol kullanılabiliyorsa (gömü yoksa veya FTS yoksa), yalnızca diğeri çalışır. +Yalnızca bir yol kullanılabiliyorsa (gömme yoksa veya FTS yoksa), diğeri tek başına çalışır. -Gömüler kullanılamadığında, OpenClaw yalnızca ham tam eşleşme sıralamasına geri dönmek yerine yine de FTS sonuçları üzerinde sözcüksel sıralama kullanır. Bu düşük özellikli kip, sorgu terimlerini daha güçlü kapsayan ve ilgili dosya yollarına sahip parçaları öne çıkarır; bu da `sqlite-vec` veya bir gömü sağlayıcısı olmadan da geri çağırmayı kullanışlı tutar. +Gömmeler kullanılamadığında, OpenClaw yalnızca ham tam eşleşme sıralamasına geri dönmek yerine yine de FTS sonuçları üzerinde sözcüksel sıralama kullanır. Bu düşük özellikli mod, sorgu terimlerini daha güçlü kapsayan ve ilgili dosya yollarına sahip parçaları öne çıkarır; bu da `sqlite-vec` veya bir gömme sağlayıcısı olmadan bile geri çağırmayı kullanışlı tutar. ## Arama kalitesini iyileştirme -Not geçmişiniz büyük olduğunda iki isteğe bağlı özellik yardımcı olur: +Büyük bir not geçmişiniz varsa, iki isteğe bağlı özellik yardımcı olur: ### Zamansal azalma -Eski notlar sıralama ağırlığını zamanla kademeli olarak kaybeder, böylece güncel bilgiler önce görünür. Varsayılan 30 günlük yarı ömürle, geçen aydan bir not özgün ağırlığının %50'siyle puanlanır. `MEMORY.md` gibi kalıcı dosyalara hiçbir zaman azalma uygulanmaz. +Eski notlar zamanla sıralama ağırlığını kademeli olarak kaybeder; böylece yeni bilgiler önce görünür. Varsayılan 30 günlük yarı ömürle, geçen aydan bir not özgün ağırlığının %50'si kadar puan alır. `MEMORY.md` gibi kalıcı dosyalara hiçbir zaman azalma uygulanmaz. -Aracınızın aylarca günlük notları varsa ve eski bilgiler sürekli daha yeni bağlamın önüne geçiyorsa zamansal azalmayı etkinleştirin. +Ajanınızın aylarca birikmiş günlük notları varsa ve eski bilgiler sürekli daha yeni bağlamın önüne geçiyorsa zamansal azalmayı etkinleştirin. ### MMR (çeşitlilik) -Tekrarlayan sonuçları azaltır. Beş notun da aynı yönlendirici yapılandırmasından bahsetmesi durumunda MMR, en üstteki sonuçların tekrar etmek yerine farklı konuları kapsamasını sağlar. +Yinelenen sonuçları azaltır. Beş notun da aynı yönlendirici yapılandırmasından bahsetmesi durumunda, MMR en üstteki sonuçların tekrar etmek yerine farklı konuları kapsamasını sağlar. -`memory_search` farklı günlük notlardan birbirine çok benzeyen parçaları döndürmeye devam ediyorsa MMR'yi etkinleştirin. +`memory_search` farklı günlük notlardan birbirine çok benzeyen parçaları sürekli döndürüyorsa MMR'yi etkinleştirin. ### Her ikisini de etkinleştirme @@ -111,22 +112,22 @@ Tekrarlayan sonuçları azaltır. Beş notun da aynı yönlendirici yapılandır ## Çok modlu bellek -Gemini Embedding 2 ile görüntüleri ve ses dosyalarını Markdown ile birlikte dizinleyebilirsiniz. Arama sorguları metin olarak kalır, ancak görsel ve ses içeriğiyle eşleşir. Kurulum için [Bellek yapılandırma başvurusu](/tr/reference/memory-config) bölümüne bakın. +Gemini Embedding 2 ile, Markdown'un yanında görüntüleri ve ses dosyalarını da dizinleyebilirsiniz. Arama sorguları metin olarak kalır, ancak görsel ve ses içeriğiyle eşleşir. Kurulum için [Bellek yapılandırma başvurusu](/tr/reference/memory-config) bölümüne bakın. ## Oturum belleği araması -`memory_search` öğesinin önceki konuşmaları hatırlayabilmesi için oturum dökümlerini isteğe bağlı olarak dizinleyebilirsiniz. Bu, `memorySearch.experimental.sessionMemory` üzerinden isteğe bağlı olarak etkinleştirilir. Ayrıntılar için [yapılandırma başvurusu](/tr/reference/memory-config) bölümüne bakın. +İsterseniz oturum dökümlerini dizinleyebilirsiniz; böylece `memory_search` önceki konuşmaları hatırlayabilir. Bu özellik `memorySearch.experimental.sessionMemory` üzerinden isteğe bağlı olarak etkinleştirilir. Ayrıntılar için [yapılandırma başvurusu](/tr/reference/memory-config) bölümüne bakın. ## Sorun giderme **Sonuç yok mu?** Dizini kontrol etmek için `openclaw memory status` çalıştırın. Boşsa `openclaw memory index --force` çalıştırın. -**Yalnızca anahtar sözcük eşleşmeleri mi var?** Gömü sağlayıcınız yapılandırılmamış olabilir. `openclaw memory status --deep` ile kontrol edin. +**Yalnızca anahtar kelime eşleşmeleri mi var?** Gömme sağlayıcınız yapılandırılmamış olabilir. `openclaw memory status --deep` ile kontrol edin. **CJK metni bulunamıyor mu?** FTS dizinini `openclaw memory index --force` ile yeniden oluşturun. -## Ek okuma +## Daha fazla bilgi -- [Active Memory](/tr/concepts/active-memory) -- etkileşimli sohbet oturumları için alt aracı belleği +- [Active Memory](/tr/concepts/active-memory) -- etkileşimli sohbet oturumları için alt ajan belleği - [Bellek](/tr/concepts/memory) -- dosya düzeni, arka uçlar, araçlar -- [Bellek yapılandırma başvurusu](/tr/reference/memory-config) -- tüm yapılandırma ayarları +- [Bellek yapılandırma başvurusu](/tr/reference/memory-config) -- tüm yapılandırma seçenekleri diff --git a/docs/tr/concepts/memory.md b/docs/tr/concepts/memory.md index 32796a0b2..b4160f05c 100644 --- a/docs/tr/concepts/memory.md +++ b/docs/tr/concepts/memory.md @@ -1,83 +1,85 @@ --- read_when: - Belleğin nasıl çalıştığını anlamak istiyorsunuz - - Hangi bellek dosyalarına yazılması gerektiğini bilmek istiyorsunuz + - Hangi bellek dosyalarını yazmanız gerektiğini bilmek istiyorsunuz summary: OpenClaw'ın oturumlar arasında şeyleri nasıl hatırladığı title: Belleğe Genel Bakış x-i18n: - generated_at: "2026-04-09T01:27:49Z" + generated_at: "2026-04-15T14:40:29Z" model: gpt-5.4 provider: openai - source_hash: 2fe47910f5bf1c44be379e971c605f1cb3a29befcf2a7ee11fb3833cbe3b9059 + source_hash: ad1adafe1d81f1703d24f48a9c9da2b25a0ebbd4aad4f65d8bde5df78195d55b source_path: concepts/memory.md workflow: 15 --- # Belleğe Genel Bakış -OpenClaw, ajanınızın çalışma alanında **düz Markdown dosyaları** yazarak bir şeyleri hatırlar. Model yalnızca diske kaydedilenleri "hatırlar" -- gizli bir durum yoktur. +OpenClaw, ajanınızın çalışma alanına **düz Markdown dosyaları** yazarak şeyleri hatırlar. Model yalnızca diske kaydedilenleri "hatırlar" -- gizli bir durum yoktur. ## Nasıl çalışır Ajanınızın bellekle ilgili üç dosyası vardır: - **`MEMORY.md`** -- uzun vadeli bellek. Kalıcı gerçekler, tercihler ve kararlar. Her DM oturumunun başında yüklenir. -- **`memory/YYYY-MM-DD.md`** -- günlük notlar. Süreğen bağlam ve gözlemler. Bugünün ve dünün notları otomatik olarak yüklenir. -- **`DREAMS.md`** (deneysel, isteğe bağlı) -- insan incelemesi için Düş Günlüğü ve rüya taraması özetleri; buna temellendirilmiş geçmişe dönük doldurma girdileri de dahildir. +- **`memory/YYYY-MM-DD.md`** -- günlük notlar. Devam eden bağlam ve gözlemler. Bugünün ve dünün notları otomatik olarak yüklenir. +- **`DREAMS.md`** (isteğe bağlı) -- insan incelemesi için Rüya Günlüğü ve Dreaming taraması özetleri; buna temellendirilmiş geçmişe dönük doldurma girdileri de dahildir. Bu dosyalar ajan çalışma alanında bulunur (varsayılan `~/.openclaw/workspace`). -Ajanınızın bir şeyi hatırlamasını istiyorsanız, ona söylemeniz yeterlidir: "TypeScript tercih ettiğimi hatırla." Uygun dosyaya bunu yazacaktır. +Ajanınızın bir şeyi hatırlamasını istiyorsanız, ona söylemeniz yeterlidir: "Remember that I +prefer TypeScript." Uygun dosyaya yazacaktır. ## Bellek araçları Ajanın bellekle çalışmak için iki aracı vardır: -- **`memory_search`** -- ifade biçimi asıldan farklı olsa bile, anlamsal aramayı kullanarak ilgili notları bulur. +- **`memory_search`** -- ifade biçimi özgün metinden farklı olsa bile anlamsal aramayı kullanarak ilgili notları bulur. - **`memory_get`** -- belirli bir bellek dosyasını veya satır aralığını okur. -Her iki araç da etkin bellek plugin'i tarafından sağlanır (varsayılan: `memory-core`). +Her iki araç da etkin bellek Plugin'i tarafından sağlanır (varsayılan: `memory-core`). -## Memory Wiki yardımcı plugin'i +## Memory Wiki yardımcı Plugin'i -Kalıcı belleğin yalnızca ham notlar gibi değil, bakımı yapılan bir bilgi tabanı gibi davranmasını istiyorsanız, birlikte gelen `memory-wiki` plugin'ini kullanın. +Kalıcı belleğin yalnızca ham notlar yerine bakımı yapılan bir bilgi tabanı gibi davranmasını istiyorsanız, paketle gelen `memory-wiki` Plugin'ini kullanın. -`memory-wiki`, kalıcı bilgiyi şu özelliklere sahip bir wiki kasasına derler: +`memory-wiki`, kalıcı bilgileri şu özelliklere sahip bir wiki kasasına derler: - deterministik sayfa yapısı - yapılandırılmış iddialar ve kanıtlar - çelişki ve güncellik takibi - oluşturulmuş panolar - ajan/çalışma zamanı tüketicileri için derlenmiş özetler -- `wiki_search`, `wiki_get`, `wiki_apply` ve `wiki_lint` gibi wiki'ye özgü araçlar +- `wiki_search`, `wiki_get`, `wiki_apply` ve `wiki_lint` gibi wiki-yerel araçlar -Etkin bellek plugin'inin yerini almaz. Geri çağırma, yükseltme ve rüya görme süreçlerinin sahibi olmaya etkin bellek plugin'i devam eder. `memory-wiki`, bunun yanına kaynak geçmişi açısından zengin bir bilgi katmanı ekler. +Etkin bellek Plugin'inin yerini almaz. Geri çağırma, yükseltme ve Dreaming süreçlerinin sahibi olmaya etkin bellek Plugin'i devam eder. `memory-wiki`, bunun yanına kaynak geçmişi açısından zengin bir bilgi katmanı ekler. Bkz. [Memory Wiki](/tr/plugins/memory-wiki). ## Bellek araması -Bir embedding sağlayıcısı yapılandırıldığında, `memory_search` **hibrit arama** kullanır -- vektör benzerliğini (anlamsal anlam) anahtar sözcük eşleştirmeyle (kimlikler ve kod sembolleri gibi tam terimler) birleştirir. Desteklenen herhangi bir sağlayıcı için bir API anahtarınız olduğunda bu ek yapılandırma olmadan çalışır. +Bir embedding sağlayıcısı yapılandırıldığında, `memory_search` **hibrit arama** kullanır -- vektör benzerliğini (anlamsal anlam) anahtar sözcük eşleştirmesiyle (kimlikler ve kod sembolleri gibi tam terimler) birleştirir. Desteklenen herhangi bir sağlayıcı için bir API anahtarınız olduğunda bu özellik kutudan çıktığı gibi çalışır. -OpenClaw, mevcut API anahtarlarından embedding sağlayıcınızı otomatik olarak algılar. OpenAI, Gemini, Voyage veya Mistral anahtarınız yapılandırılmışsa bellek araması otomatik olarak etkinleştirilir. +OpenClaw, kullanılabilir API anahtarlarından embedding sağlayıcınızı otomatik olarak algılar. OpenAI, Gemini, Voyage veya Mistral anahtarınız yapılandırılmışsa bellek araması otomatik olarak etkinleştirilir. -Aramanın nasıl çalıştığı, ayarlama seçenekleri ve sağlayıcı kurulumu hakkında ayrıntılar için bkz. [Memory Search](/tr/concepts/memory-search). +Aramanın nasıl çalıştığı, ayar seçenekleri ve sağlayıcı kurulumu hakkında ayrıntılar için bkz. +[Memory Search](/tr/concepts/memory-search). ## Bellek arka uçları -SQLite tabanlıdır. Anahtar sözcük araması, vektör benzerliği ve hibrit arama ile ek yapılandırma olmadan çalışır. Ek bağımlılık yoktur. +SQLite tabanlıdır. Anahtar sözcük araması, vektör benzerliği ve hibrit arama ile kutudan çıktığı gibi çalışır. Ek bağımlılık gerekmez. -Yeniden sıralama, sorgu genişletme ve çalışma alanı dışındaki dizinleri indeksleme yeteneğine sahip yerel öncelikli yan hizmet. +Yeniden sıralama, sorgu genişletme ve çalışma alanı dışındaki dizinleri dizine ekleme yeteneğine sahip local loopback öncelikli yardımcı süreç. -Kullanıcı modelleme, anlamsal arama ve çoklu ajan farkındalığı ile AI-native oturumlar arası bellek. Plugin kurulumu gerekir. +Kullanıcı modelleme, anlamsal arama ve çoklu ajan farkındalığına sahip yapay zeka yerel oturumlar arası bellek. Plugin kurulumu. @@ -85,39 +87,40 @@ Kullanıcı modelleme, anlamsal arama ve çoklu ajan farkındalığı ile AI-nat -Kalıcı belleği iddialar, panolar, köprü modu ve Obsidian dostu iş akışlarıyla kaynak geçmişi açısından zengin bir wiki kasasına derler. +Kalıcı belleği; iddialar, panolar, köprü modu ve Obsidian dostu iş akışları içeren, kaynak geçmişi açısından zengin bir wiki kasasına derler. ## Otomatik bellek boşaltma -[Compaction](/tr/concepts/compaction) konuşmanızı özetlemeden önce OpenClaw, ajana önemli bağlamı bellek dosyalarına kaydetmesini hatırlatan sessiz bir tur çalıştırır. Bu varsayılan olarak açıktır -- herhangi bir şeyi yapılandırmanız gerekmez. +[Compaction](/tr/concepts/compaction), konuşmanızı özetlemeden önce OpenClaw, ajana önemli bağlamı bellek dosyalarına kaydetmesini hatırlatan sessiz bir tur çalıştırır. Bu varsayılan olarak açıktır -- herhangi bir şey yapılandırmanız gerekmez. -Bellek boşaltma, compaction sırasında bağlam kaybını önler. Ajanınızın konuşmada bulunan ancak henüz bir dosyaya yazılmamış önemli bilgileri varsa, özetleme gerçekleşmeden önce bunlar otomatik olarak kaydedilir. +Bellek boşaltma, Compaction sırasında bağlam kaybını önler. Ajanınızın konuşmada bulunan ancak henüz bir dosyaya yazılmamış önemli gerçekleri varsa, özetleme gerçekleşmeden önce bunlar otomatik olarak kaydedilir. -## Rüya görme (deneysel) +## Dreaming -Rüya görme, bellek için isteğe bağlı bir arka plan pekiştirme geçişidir. Kısa vadeli sinyalleri toplar, adayları puanlar ve yalnızca uygun öğeleri uzun vadeli belleğe (`MEMORY.md`) yükseltir. +Dreaming, bellek için isteğe bağlı bir arka plan pekiştirme geçişidir. Kısa vadeli sinyalleri toplar, adayları puanlar ve yalnızca uygun öğeleri uzun vadeli belleğe (`MEMORY.md`) yükseltir. -Uzun vadeli belleği yüksek sinyalli tutacak şekilde tasarlanmıştır: +Uzun vadeli belleği yüksek sinyal düzeyinde tutmak için tasarlanmıştır: -- **İsteğe bağlı**: varsayılan olarak devre dışıdır. -- **Zamanlanmış**: etkinleştirildiğinde `memory-core`, tam bir rüya taraması için yinelenen tek bir cron işini otomatik olarak yönetir. -- **Eşikli**: yükseltmeler puan, geri çağırma sıklığı ve sorgu çeşitliliği geçitlerini geçmelidir. +- **İsteğe bağlı katılım**: varsayılan olarak devre dışıdır. +- **Zamanlanmış**: etkinleştirildiğinde `memory-core`, tam bir Dreaming taraması için yinelenen tek bir Cron işini otomatik olarak yönetir. +- **Eşikli**: yükseltmelerin puan, geri çağırma sıklığı ve sorgu çeşitliliği kapılarından geçmesi gerekir. - **İncelenebilir**: aşama özetleri ve günlük girdileri, insan incelemesi için `DREAMS.md` dosyasına yazılır. -Aşama davranışı, puanlama sinyalleri ve Düş Günlüğü ayrıntıları için bkz. [Dreaming (experimental)](/tr/concepts/dreaming). +Aşama davranışı, puanlama sinyalleri ve Rüya Günlüğü ayrıntıları için bkz. +[Dreaming](/tr/concepts/dreaming). ## Temellendirilmiş geçmişe dönük doldurma ve canlı yükseltme -Rüya görme sisteminin artık birbirine yakın iki inceleme hattı vardır: +Dreaming sistemi artık birbiriyle yakından ilişkili iki inceleme hattına sahiptir: -- **Canlı rüya görme**, `memory/.dreams/` altındaki kısa vadeli rüya görme deposundan çalışır ve bir şeyin `MEMORY.md` içine yükselip yükselemeyeceğine karar verirken normal derin aşamanın kullandığı şeydir. -- **Temellendirilmiş geçmişe dönük doldurma**, geçmiş `memory/YYYY-MM-DD.md` notlarını bağımsız günlük dosyaları olarak okur ve yapılandırılmış inceleme çıktısını `DREAMS.md` dosyasına yazar. +- **Canlı Dreaming**, `memory/.dreams/` altındaki kısa vadeli Dreaming deposundan çalışır ve bir şeyin `MEMORY.md` içine yükselip yükselemeyeceğine karar verirken normal derin aşamanın kullandığı şeydir. +- **Temellendirilmiş geçmişe dönük doldurma**, geçmiş `memory/YYYY-MM-DD.md` notlarını bağımsız gün dosyaları olarak okur ve yapılandırılmış inceleme çıktısını `DREAMS.md` dosyasına yazar. -Temellendirilmiş geçmişe dönük doldurma, eski notları yeniden oynatmak ve sistemin `MEMORY.md` dosyasını elle düzenlemeden neyin kalıcı olduğunu düşündüğünü incelemek istediğinizde kullanışlıdır. +Temellendirilmiş geçmişe dönük doldurma, eski notları yeniden oynatmak ve sistemin dayanıklı olarak gördüğü şeyleri `MEMORY.md` dosyasını elle düzenlemeden incelemek istediğinizde yararlıdır. Şunu kullandığınızda: @@ -125,13 +128,13 @@ Temellendirilmiş geçmişe dönük doldurma, eski notları yeniden oynatmak ve openclaw memory rem-backfill --path ./memory --stage-short-term ``` -temellendirilmiş kalıcı adaylar doğrudan yükseltilmez. Bunun yerine, normal derin aşamanın zaten kullandığı aynı kısa vadeli rüya görme deposuna hazırlanırlar. Bu şu anlama gelir: +temellendirilmiş kalıcı adaylar doğrudan yükseltilmez. Bunun yerine, normal derin aşamanın zaten kullandığı aynı kısa vadeli Dreaming deposuna aşamalı olarak alınırlar. Bu şu anlama gelir: -- `DREAMS.md`, insan inceleme yüzeyi olarak kalır. -- kısa vadeli depo, makineye dönük sıralama yüzeyi olarak kalır. +- `DREAMS.md` insan inceleme yüzeyi olarak kalır. +- kısa vadeli depo makineye yönelik sıralama yüzeyi olarak kalır. - `MEMORY.md` hâlâ yalnızca derin yükseltme tarafından yazılır. -Yeniden oynatmanın yararlı olmadığına karar verirseniz, hazırlanan yapıtları sıradan günlük girdilerine veya normal geri çağırma durumuna dokunmadan kaldırabilirsiniz: +Yeniden oynatmanın yararlı olmadığına karar verirseniz, sıradan günlük girdilerine veya normal geri çağırma durumuna dokunmadan aşamalı olarak alınmış yapıtları kaldırabilirsiniz: ```bash openclaw memory rem-backfill --rollback @@ -146,13 +149,13 @@ openclaw memory search "query" # Komut satırından ara openclaw memory index --force # Dizini yeniden oluştur ``` -## Daha fazla okuma +## Daha fazla bilgi - [Builtin Memory Engine](/tr/concepts/memory-builtin) -- varsayılan SQLite arka ucu -- [QMD Memory Engine](/tr/concepts/memory-qmd) -- gelişmiş yerel öncelikli yan hizmet -- [Honcho Memory](/tr/concepts/memory-honcho) -- AI-native oturumlar arası bellek -- [Memory Wiki](/tr/plugins/memory-wiki) -- derlenmiş bilgi kasası ve wiki'ye özgü araçlar -- [Memory Search](/tr/concepts/memory-search) -- arama hattı, sağlayıcılar ve ayarlama -- [Dreaming (experimental)](/tr/concepts/dreaming) -- kısa vadeli geri çağırmadan uzun vadeli belleğe arka plan yükseltmesi -- [Memory configuration reference](/tr/reference/memory-config) -- tüm yapılandırma ayarları -- [Compaction](/tr/concepts/compaction) -- compaction'ın bellekle nasıl etkileştiği +- [QMD Memory Engine](/tr/concepts/memory-qmd) -- gelişmiş local loopback öncelikli yardımcı süreç +- [Honcho Memory](/tr/concepts/memory-honcho) -- yapay zeka yerel oturumlar arası bellek +- [Memory Wiki](/tr/plugins/memory-wiki) -- derlenmiş bilgi kasası ve wiki-yerel araçlar +- [Memory Search](/tr/concepts/memory-search) -- arama ardışık düzeni, sağlayıcılar ve ayarlama +- [Dreaming](/tr/concepts/dreaming) -- kısa vadeli geri çağırmadan uzun vadeli belleğe arka plan yükseltmesi +- [Memory configuration reference](/tr/reference/memory-config) -- tüm yapılandırma seçenekleri +- [Compaction](/tr/concepts/compaction) -- Compaction'ın bellekle nasıl etkileşime girdiği diff --git a/docs/tr/gateway/configuration-reference.md b/docs/tr/gateway/configuration-reference.md index 6170e2912..b059d7cf2 100644 --- a/docs/tr/gateway/configuration-reference.md +++ b/docs/tr/gateway/configuration-reference.md @@ -1,65 +1,65 @@ --- read_when: - - Tam alan düzeyinde yapılandırma anlamları veya varsayılanları gerekir - - Kanal, model, gateway veya araç yapılandırma bloklarını doğruluyorsunuz -summary: Temel OpenClaw anahtarları, varsayılanlar ve özel alt sistem referanslarına bağlantılar için Gateway yapılandırma başvurusu + - Tam alan düzeyinde yapılandırma anlamlarına veya varsayılanlarına ihtiyacınız var + - Kanal, model, Gateway veya araç yapılandırma bloklarını doğruluyorsunuz +summary: Çekirdek OpenClaw anahtarları, varsayılanlar ve özel alt sistem referanslarına bağlantılar için Gateway yapılandırma referansı title: Yapılandırma Referansı x-i18n: - generated_at: "2026-04-11T15:15:56Z" + generated_at: "2026-04-15T14:40:31Z" model: gpt-5.4 provider: openai - source_hash: 351a245bed59d852ea8582e4e9fec5017a5c623cd6f0034766cdea1b5330be3c + source_hash: 7a4da3b41d0304389bd6359aac1185c231e529781b607656ab352f8a8104bdba source_path: gateway/configuration-reference.md workflow: 15 --- # Yapılandırma Referansı -`~/.openclaw/openclaw.json` için temel yapılandırma başvurusu. Görev odaklı genel bakış için bkz. [Yapılandırma](/tr/gateway/configuration). +`~/.openclaw/openclaw.json` için çekirdek yapılandırma referansı. Görev odaklı bir genel bakış için bkz. [Yapılandırma](/tr/gateway/configuration). -Bu sayfa ana OpenClaw yapılandırma yüzeylerini kapsar ve bir alt sistemin kendine ait daha ayrıntılı bir başvurusu olduğunda ona bağlantı verir. Her kanala/eklentiye ait komut kataloğunu veya her ayrıntılı bellek/QMD ayarını tek bir sayfada satır içine almaya **çalışmaz**. +Bu sayfa, ana OpenClaw yapılandırma yüzeylerini kapsar ve bir alt sistemin kendi daha derin referansı olduğunda ilgili bağlantılara yönlendirir. Her kanalın/plugin sahipli komut kataloğunu veya her derin bellek/QMD ayarını tek bir sayfada satır içine almaya çalışmaz. -Kod tarafındaki gerçek kaynak: +Kod gerçekliği: -- `openclaw config schema`, doğrulama ve Kontrol Arayüzü için kullanılan canlı JSON Şemasını yazdırır; mevcut olduğunda paketlenmiş/eklenti/kanal meta verileri birleştirilmiş olarak gelir -- `config.schema.lookup`, ayrıntı inceleme araçları için tek bir yol kapsamlı şema düğümü döndürür -- `pnpm config:docs:check` / `pnpm config:docs:gen`, yapılandırma-belge temel karma değerini mevcut şema yüzeyine göre doğrular +- `openclaw config schema`, doğrulama ve Control UI için kullanılan canlı JSON Şemasını yazdırır; kullanılabilir olduğunda bundled/plugin/channel meta verileri bununla birleştirilir +- `config.schema.lookup`, ayrıntılı inceleme araçları için yol kapsamlı tek bir şema düğümü döndürür +- `pnpm config:docs:check` / `pnpm config:docs:gen`, yapılandırma belge temel hash’ini mevcut şema yüzeyine karşı doğrular -Özel ayrıntılı başvurular: +Ayrılmış derin referanslar: -- `agents.defaults.memorySearch.*`, `memory.qmd.*`, `memory.citations` ve `plugins.entries.memory-core.config.dreaming` altındaki dreaming yapılandırması için [Bellek yapılandırma başvurusu](/tr/reference/memory-config) -- Geçerli yerleşik + paketlenmiş komut kataloğu için [Slash Commands](/tr/tools/slash-commands) -- kanala/eklentiye sahip olan sayfalar, kanala özgü komut yüzeyleri için +- `agents.defaults.memorySearch.*`, `memory.qmd.*`, `memory.citations` ve `plugins.entries.memory-core.config.dreaming` altındaki dreaming yapılandırması için [Bellek yapılandırma referansı](/tr/reference/memory-config) +- Güncel yerleşik + bundled komut kataloğu için [Slash Komutları](/tr/tools/slash-commands) +- kanala özgü komut yüzeyleri için ilgili kanal/plugin sayfaları -Yapılandırma biçimi **JSON5**'tir (yorumlara + sondaki virgüllere izin verilir). Tüm alanlar isteğe bağlıdır — atlandığında OpenClaw güvenli varsayılanlar kullanır. +Yapılandırma biçimi **JSON5**’tir (yorumlara + sondaki virgüllere izin verilir). Tüm alanlar isteğe bağlıdır — OpenClaw, atlandıklarında güvenli varsayılanlar kullanır. --- ## Kanallar -Yapılandırma bölümü mevcut olduğunda her kanal otomatik olarak başlar (`enabled: false` olmadığı sürece). +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 bir 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 (şunu gerektirir: `allowFrom: ["*"]`) | -| `disabled` | Tüm gelen DM'leri yok say | +| DM ilkesi | Davranış | +| ------------------- | ------------------------------------------------------------- | +| `pairing` (varsayılan) | Bilinmeyen göndericiler tek kullanımlık bir eşleştirme kodu alır; sahibin onaylaması gerekir | +| `allowlist` | Yalnızca `allowFrom` içindeki (veya eşleştirilmiş izin deposundaki) göndericiler | +| `open` | Tüm gelen DM’lere izin ver ( `allowFrom: ["*"]` gerektirir ) | +| `disabled` | Tüm gelen DM’leri yok say | -| Grup ilkesi | Davranış | -| ---------------------- | ---------------------------------------------------- | +| Grup ilkesi | Davranış | +| --------------------- | ---------------------------------------------------- | | `allowlist` (varsayılan) | Yalnızca yapılandırılmış izin listesiyle eşleşen gruplar | -| `open` | Grup izin listelerini atla (mention-gating yine de uygulanır) | -| `disabled` | Tüm grup/oda mesajlarını engelle | +| `open` | Grup izin listelerini atla (mention-gating yine de uygulanır) | +| `disabled` | Tüm grup/oda mesajlarını engelle | -`channels.defaults.groupPolicy`, bir sağlayıcının `groupPolicy` değeri ayarlanmamışsa varsayılanı belirler. -Eşleştirme kodları 1 saat sonra sona erer. Bekleyen DM eşleştirme istekleri **kanal başına 3** ile sınırlandırılmıştır. -Bir sağlayıcı bloğu tamamen eksikse (`channels.` yoksa), çalışma zamanındaki grup ilkesi başlatma uyarısıyla birlikte `allowlist` (fail-closed) değerine geri döner. +`channels.defaults.groupPolicy`, bir sağlayıcının `groupPolicy` değeri ayarlanmamış olduğunda 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ırlandırılır. +Bir sağlayıcı bloğu tamamen eksikse (`channels.` yoksa), çalışma zamanı grup ilkesi başlangıçta bir uyarıyla birlikte `allowlist` (başarısız olduğunda kapalı) değerine geri döner. ### Kanal model geçersiz kılmaları @@ -85,9 +85,9 @@ Belirli kanal kimliklerini bir modele sabitlemek için `channels.modelByChannel` } ``` -### Kanal varsayılanları ve heartbeat +### Kanal varsayılanları ve Heartbeat -Sağlayıcılar arasında paylaşılan grup ilkesi ve heartbeat davranışı için `channels.defaults` kullanın: +Sağlayıcılar arasında paylaşılan grup ilkesi ve Heartbeat davranışı için `channels.defaults` kullanın: ```json5 { @@ -105,15 +105,15 @@ Sağlayıcılar arasında paylaşılan grup ilkesi ve heartbeat davranışı iç } ``` -- `channels.defaults.groupPolicy`: bir sağlayıcı düzeyindeki `groupPolicy` ayarlanmamışsa kullanılan yedek 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/dizi/geçmiş bağlamının tamamını dahil eder), `allowlist` (yalnızca izin verilen gönderenlerden gelen bağlamı dahil eder), `allowlist_quote` (allowlist ile aynı, ancak açık alıntı/yanıt bağlamını korur). Kanal başına geçersiz kılma: `channels..contextVisibility`. -- `channels.defaults.heartbeat.showOk`: sağlıklı kanal durumlarını heartbeat çıktısına dahil eder. -- `channels.defaults.heartbeat.showAlerts`: bozulmuş/hata durumlarını heartbeat çıktısına dahil eder. -- `channels.defaults.heartbeat.useIndicator`: kompakt gösterge tarzı heartbeat çıktısı oluşturur. +- `channels.defaults.groupPolicy`: sağlayıcı düzeyindeki `groupPolicy` ayarlanmamış olduğunda 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/iş parçacığı/geçmiş bağlamının tümünü içerir), `allowlist` (yalnızca izin verilen göndericilerden gelen bağlamı içerir), `allowlist_quote` (allowlist ile aynıdır ancak açık alıntı/yanıt bağlamını korur). 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 bozulmuş/hata durumlarını dahil et. +- `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ı (Baileys Web) üzerinden çalışır. Bağlı bir oturum mevcut olduğunda otomatik olarak başlar. ```json5 { @@ -164,8 +164,8 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b } ``` -- Giden komutlar, varsa 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 yedek varsayılan hesap seçimini geçersiz kılar. +- Giden komutlar, varsa varsayılan olarak `default` hesabını; aksi halde yapılandırılmış ilk hesap kimliğini (sıralı) 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 taşınır. - Hesap başına geçersiz kılmalar: `channels.whatsapp.accounts..sendReadReceipts`, `channels.whatsapp.accounts..dmPolicy`, `channels.whatsapp.accounts..allowFrom`. @@ -202,7 +202,7 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b historyLimit: 50, replyToMode: "first", // off | first | all | batched linkPreview: true, - streaming: "partial", // off | partial | block | progress (varsayılan: off; önizleme-düzenleme oran sınırlarından kaçınmak için açıkça etkinleştirin) + streaming: "partial", // off | partial | block | progress (varsayılan: off; önizleme-düzenleme hız sınırlarından kaçınmak için açıkça etkinleştirin) actions: { reactions: true, sendMessage: true }, reactionNotifications: "own", // off | own | all mediaMaxMb: 100, @@ -225,11 +225,11 @@ 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; symlink'ler reddedilir), varsayılan hesap için yedek olarak `TELEGRAM_BOT_TOKEN` kullanı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`. - İ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), yedek yönlendirmeden kaçınmak için açık bir varsayılan ayarlayın (`channels.telegram.defaultAccount` veya `channels.telegram.accounts.default`); bu eksik veya geçersiz olduğunda `openclaw doctor` uyarı verir. -- `configWrites: false`, Telegram tarafından başlatılan yapılandırma yazmalarını engeller (supergroup ID geçişleri, `/config set|unset`). -- `type: "acp"` olan üst düzey `bindings[]` girdileri, forum konuları için kalıcı ACP bağlarını yapılandırır (`match.peer.id` içinde standart `chatId:topic:topicId` kullanın). Alan anlamları [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde ortaktır. +- Çok hesaplı kurulumlarda (2+ hesap kimliği), geri dönüş yönlendirmesini önlemek için açık bir varsayılan ayarlayın (`channels.telegram.defaultAccount` veya `channels.telegram.accounts.default`); bu eksik veya geçersiz olduğunda `openclaw doctor` uyarı verir. +- `configWrites: false`, Telegram tarafından başlatılan yapılandırma yazımlarını engeller (supergroup ID geçişleri, `/config set|unset`). +- `type: "acp"` içeren üst düzey `bindings[]` girdileri, forum konuları için kalıcı ACP bağlarını yapılandırır (`match.peer.id` içinde kurallı `chatId:topic:topicId` kullanın). Alan anlamları [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde ortaktı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). @@ -286,7 +286,7 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b historyLimit: 20, textChunkLimit: 2000, chunkMode: "length", // length | newline - streaming: "off", // off | partial | block | progress (progress Discord'da partial olarak eşlenir) + streaming: "off", // off | partial | block | progress (progress, Discord’da partial’a eşlenir) maxLinesPerMessage: 17, ui: { components: { @@ -333,36 +333,36 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b } ``` -- Token: `channels.discord.token`, varsayılan hesap için yedek olarak `DISCORD_BOT_TOKEN` ile birlikte. -- Açık bir Discord `token` sağlayan doğrudan giden çağrılar, çağrı için o tokenı kullanır; hesap yeniden deneme/ilke ayarları yine de etkin çalışma zamanı anlık görüntüsünde seçilen hesaptan gelir. +- Token: `channels.discord.token`; varsayılan hesap için geri dönüş olarak `DISCORD_BOT_TOKEN` kullanılır. +- 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ı ise etkin çalışma zamanı anlık görüntüsünde seçilen hesaptan gelmeye devam eder. - İ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:` (sunucu kanalı) kullanın; yalın sayısal kimlikler reddedilir. -- Sunucu slug'ları küçük harflidir ve boşluklar `-` ile değiştirilir; kanal anahtarları slug biçimindeki adı kullanır (`#` olmadan). Sunucu kimliklerini tercih edin. +- Sunucu slug’ları küçük harflidir ve boşluklar `-` ile değiştirilir; kanal anahtarları sluglaştırılmış adı kullanır (`#` yoktur). Sunucu kimliklerini tercih edin. - Bot tarafından yazılan mesajlar varsayılan olarak yok sayılır. `allowBots: true` bunları etkinleştirir; yalnızca botu mention eden bot mesajlarını kabul etmek için `allowBots: "mentions"` kullanın (botun kendi mesajları yine filtrelenir). - `channels.discord.guilds..ignoreOtherMentions` (ve kanal geçersiz kılmaları), botu değil başka bir kullanıcıyı veya rolü mention eden mesajları düşürür (`@everyone`/`@here` hariç). -- `maxLinesPerMessage` (varsayılan 17), 2000 karakterin altında olsa bile uzun mesajları böler. +- `maxLinesPerMessage` (varsayılan 17), 2000 karakterin altında olsalar bile uzun mesajları böler. - `channels.discord.threadBindings`, Discord iş parçacığına bağlı yönlendirmeyi kontrol eder: - `enabled`: iş parçacığına 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`: etkinliksizlik nedeniyle otomatik odak kaldırma için saat cinsinden Discord geçersiz kılması (`0` devre dışı bırakır) - - `maxAgeHours`: saat cinsinden kesin azami yaş için Discord geçersiz kılması (`0` devre dışı bırakır) - - `spawnSubagentSessions`: `sessions_spawn({ thread: true })` otomatik iş parçacığı oluşturma/bağlama için isteğe bağlı anahtar -- `type: "acp"` olan üst düzey `bindings[]` girdileri, kanallar ve iş parçacıkları için kalıcı ACP bağlarını yapılandırır (`match.peer.id` içinde kanal/iş parçacığı kimliğini kullanın). Alan anlamları [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde ortaktır. + - `idleHours`: hareketsizlik nedeniyle otomatik odak kaldırma için saat cinsinden Discord geçersiz kılması (`0` devre dışı bırakır) + - `maxAgeHours`: sert maksimum yaş için saat cinsinden Discord geçersiz kılması (`0` devre dışı bırakır) + - `spawnSubagentSessions`: `sessions_spawn({ thread: true })` otomatik iş parçacığı oluşturma/bağlama için isteğe bağlı etkinleştirme anahtarı +- `type: "acp"` içeren üst düzey `bindings[]` girdileri, kanallar ve iş parçacıkları için kalıcı ACP bağlarını yapılandırır (`match.peer.id` içinde kanal/iş parçacığı kimliğini kullanın). Alan anlamları [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde ortaktı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ılma + TTS geçersiz kılmalarını etkinleştirir. -- `channels.discord.voice.daveEncryption` ve `channels.discord.voice.decryptionFailureTolerance`, `@discordjs/voice` DAVE seçeneklerine aynen aktarılır (varsayılan olarak `true` ve `24`). -- OpenClaw ayrıca, art arda şifre çözme hatalarından sonra bir ses oturumundan ayrılıp yeniden katılarak ses alımı kurtarmayı dener. -- `channels.discord.streaming` standart akış modu anahtarıdır. Eski `streamMode` ve boolean `streaming` değerleri otomatik olarak taşınır. +- `channels.discord.voice.daveEncryption` ve `channels.discord.voice.decryptionFailureTolerance`, `@discordjs/voice` DAVE seçeneklerine doğrudan aktarılır (varsayılan olarak `true` ve `24`). +- OpenClaw ayrıca tekrarlanan şifre çözme hatalarından sonra bir ses oturumundan ayrılıp yeniden katılarak ses alımını kurtarmayı dener. +- `channels.discord.streaming`, kurallı akış modu anahtarıdır. Eski `streamMode` ve boole `streaming` değerleri otomatik olarak taşınır. - `channels.discord.autoPresence`, çalışma zamanı kullanılabilirliğini bot varlığına eşler (sağlıklı => online, bozulmuş => idle, tükenmiş => 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ştirmeyi yeniden etkinleştirir (acil durum uyumluluk modu). -- `channels.discord.execApprovals`: Discord'a özgü exec onay teslimi ve onaylayıcı yetkilendirmesi. - - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda exec onayları, onaylayıcılar `approvers` veya `commands.ownerAllowFrom` üzerinden çözümlenebildiğinde etkinleşir. +- `channels.discord.dangerouslyAllowNameMatching`, değiştirilebilir ad/etiket eşleştirmesini yeniden etkinleştirir (acil durum uyumluluk modu). +- `channels.discord.execApprovals`: Discord’a özgü exec onay teslimi ve onaylayıcı yetkilendirmesi. + - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda, exec onayları `approvers` veya `commands.ownerAllowFrom` üzerinden onaylayıcılar çözümlenebildiğinde etkinleşir. - `approvers`: exec isteklerini onaylamasına izin verilen Discord kullanıcı kimlikleri. Atlandığında `commands.ownerAllowFrom` değerine geri döner. - - `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 nereye gönderileceği. `"dm"` (varsayılan) onaylayıcı DM'lerine gönderir, `"channel"` kaynak kanala gönderir, `"both"` her ikisine 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ı sonrasında onay DM'lerini siler. + - `agentFilter`: isteğe bağlı agent ID izin listesi. Tüm agent’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) onaylayıcı DM’lerine gönderir, `"channel"` kaynak kanala gönderir, `"both"` her ikisine de gönderir. Hedef `"channel"` içerdiğinde, düğmeler yalnızca çözümlenen onaylayıcılar tarafından kullanılabilir. + - `cleanupAfterResolve`: `true` olduğunda, onaylama, reddetme veya zaman aşımından sonra onay DM’lerini siler. -**Tepki bildirimi modları:** `off` (yok), `own` (botun mesajları, varsayılan), `all` (tüm mesajlar), `allowlist` (`guilds..users` içinden, tüm mesajlarda). +**Tepki bildirim modları:** `off` (yok), `own` (botun mesajları, varsayılan), `all` (tüm mesajlar), `allowlist` (`guilds..users` içinden, tüm mesajlarda). ### Google Chat @@ -393,11 +393,11 @@ 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 yedekleri: `GOOGLE_CHAT_SERVICE_ACCOUNT` veya `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`. +- Ortam geri dönüşleri: `GOOGLE_CHAT_SERVICE_ACCOUNT` veya `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`. - Teslim hedefleri için `spaces/` veya `users/` kullanın. -- `channels.googlechat.dangerouslyAllowNameMatching`, değiştirilebilir e-posta principal eşleştirmeyi yeniden etkinleştirir (acil durum uyumluluk modu). +- `channels.googlechat.dangerouslyAllowNameMatching`, değiştirilebilir e-posta principal eşleştirmesini yeniden etkinleştirir (acil durum uyumluluk modu). ### Slack @@ -449,7 +449,7 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b chunkMode: "length", streaming: { mode: "partial", // off | partial | block | progress - nativeTransport: true, // mode=partial olduğunda Slack yerel akış API'sini kullan + nativeTransport: true, // mode=partial olduğunda Slack’in yerel akış API’sini kullan }, mediaMaxMb: 20, execApprovals: { @@ -464,35 +464,39 @@ WhatsApp, gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b } ``` -- **Socket mode** hem `botToken` hem de `appToken` gerektirir (varsayılan hesap ortam yedeği için `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`). -- **HTTP mode** `botToken` ile birlikte `signingSecret` gerektirir (kökte veya hesap başına). +- **Socket mode**, hem `botToken` hem de `appToken` gerektirir (varsayılan hesap ortam geri dönüşü için `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`). +- **HTTP mode**, `botToken` ile birlikte `signingSecret` gerektirir (kök düzeyde veya hesap başına). - `botToken`, `appToken`, `signingSecret` ve `userToken`, düz metin dizeleri 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ığını ancak mevcut komut/çalışma zamanı yolunun gizli değeri çözemediğini ifade eder. -- `configWrites: false`, Slack tarafından başlatılan yapılandırma yazmalarını engeller. +- Slack hesap anlık görüntüleri, hesap başına kimlik bilgisi kaynağı/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 mevcut komut/çalışma zamanı yolunun + gizli değerini çözemediği anlamına gelir. +- `configWrites: false`, Slack tarafından başlatılan yapılandırma yazımları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` standart Slack akış modu anahtarıdır. `channels.slack.streaming.nativeTransport`, Slack'in yerel akış aktarımını kontrol eder. Eski `streamMode`, boolean `streaming` ve `nativeStreaming` değerleri otomatik olarak taşınır. +- `channels.slack.streaming.mode`, kurallı Slack akış modu anahtarıdır. `channels.slack.streaming.nativeTransport`, Slack’in yerel akış taşımasını kontrol eder. Eski `streamMode`, boole `streaming` ve `nativeStreaming` değerleri otomatik olarak taşınır. - Teslim hedefleri için `user:` (DM) veya `channel:` kullanın. -**Tepki bildirimi modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden). +**Tepki bildirim modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden). -**İş parçacığı oturumu yalıtımı:** `thread.historyScope` iş parçacığı başına (varsayılan) veya kanal genelinde paylaşılır. `thread.inheritParent`, yeni iş parçacıklarına üst kanal dökümünü kopyalar. +**İş parçacığı oturum yalıtımı:** `thread.historyScope` iş parçacığı başına (varsayılan) veya kanal genelinde paylaşılır. `thread.inheritParent`, üst kanal dökümünü yeni iş parçacıklarına kopyalar. -- Slack yerel akışı ve Slack yardımcı tarzı "is typing..." iş parçacığı durumu, bir yanıt iş parçacığı hedefi gerektirir. Üst düzey DM'ler varsayılan olarak iş parçacığı dışında kalır, bu nedenle iş parçacığı tarzı önizleme yerine `typingReaction` veya normal teslim kullanırlar. +- Slack’in yerel akışı ve Slack assistant tarzı "is typing..." iş parçacığı durumu, yanıt için iş parçacığı hedefi gerektirir. Üst düzey DM’ler varsayılan olarak iş parçacığı dışında kaldığından, iş parçacığı tarzı önizleme yerine `typingReaction` veya normal teslim kullanırlar. - `typingReaction`, bir yanıt çalışırken gelen Slack mesajına 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 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"`). +- `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"`). -| Eylem grubu | Varsayılan | Notlar | -| ----------- | ---------- | ------------------------ | +| Eylem grubu | Varsayılan | Notlar | +| ----------- | ---------- | --------------------- | | reactions | etkin | Tepki ver + tepkileri listele | -| messages | etkin | Oku/gönder/düzenle/sil | +| messages | etkin | Oku/gönder/düzenle/sil | | pins | etkin | Sabitle/sabitlemeyi kaldır/listele | -| memberInfo | etkin | Üye bilgisi | -| emojiList | etkin | Özel emoji listesi | +| memberInfo | etkin | Üye bilgisi | +| emojiList | etkin | Özel emoji listesi | ### Mattermost -Mattermost bir eklenti olarak gelir: `openclaw plugins install @openclaw/mattermost`. +Mattermost bir Plugin olarak dağıtılır: `openclaw plugins install @openclaw/mattermost`. ```json5 { @@ -512,7 +516,7 @@ Mattermost bir eklenti olarak gelir: `openclaw plugins install @openclaw/matterm native: true, // isteğe bağlı etkinleştirme nativeSkills: true, callbackPath: "/api/channels/mattermost/command", - // Ters proxy/herkese açık dağıtımlar için isteğe bağlı açık URL + // Ters proxy/genel dağıtımlar için isteğe bağlı açık URL callbackUrl: "https://gateway.example.com/api/channels/mattermost/command", }, textChunkLimit: 4000, @@ -522,19 +526,19 @@ Mattermost bir eklenti olarak gelir: `openclaw plugins install @openclaw/matterm } ``` -Sohbet modları: `oncall` (@-mention ile yanıt ver, varsayılan), `onmessage` (her mesaj), `onchar` (tetikleyici önekle başlayan mesajlar). +Sohbet modları: `oncall` (@-mention olduğunda yanıt ver, varsayılan), `onmessage` (her mesaj), `onchar` (tetikleyici önek ile başlayan mesajlar). Mattermost yerel komutları etkinleştirildiğinde: -- `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 callback'leri, slash komut kaydı sırasında Mattermost tarafından döndürülen komut başına tokenlarla doğrulanır. Kayıt başarısız olursa veya hiçbir komut etkinleştirilmezse, OpenClaw callback'leri şu hata ile reddeder: +- `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ülmeli ve Mattermost sunucusundan erişilebilir olmalıdır. +- Yerel slash callback’leri, Mattermost tarafından slash komut kaydı sırasında döndürülen komut başına token’larla kimlik doğrulaması yapar. Kayıt başarısız olursa veya hiç komut etkinleştirilmezse, OpenClaw callback’leri şu hatayla reddeder: `Unauthorized: invalid command token.` -- Özel/tailnet/dahili callback ana makineleri için Mattermost, - `ServiceSettings.AllowedUntrustedInternalConnections` ayarının callback ana makinesini/alan adını içermesini gerektirebilir. +- Özel/tailnet/iç callback ana makineleri için Mattermost, + `ServiceSettings.AllowedUntrustedInternalConnections` içine callback ana makinesinin/alan adının eklenmesini gerektirebilir. Tam URL değil, ana makine/alan adı değerleri kullanın. -- `channels.mattermost.configWrites`: Mattermost tarafından başlatılan yapılandırma yazmalarına izin verin veya engelleyin. -- `channels.mattermost.requireMention`: kanallarda yanıt vermeden önce `@mention` gerektirir. +- `channels.mattermost.configWrites`: Mattermost tarafından başlatılan yapılandırma yazımlarına izin ver veya reddet. +- `channels.mattermost.requireMention`: kanallarda yanıt vermeden önce `@mention` gerektir. - `channels.mattermost.groups..requireMention`: kanal başına mention-gating 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. @@ -557,15 +561,15 @@ Mattermost yerel komutları etkinleştirildiğinde: } ``` -**Tepki bildirimi modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden). +**Tepki bildirim 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 yazmalarına izin verin veya engelleyin. +- `channels.signal.account`: kanal başlatmayı belirli bir Signal hesap kimliğine sabitle. +- `channels.signal.configWrites`: Signal tarafından başlatılan yapılandırma yazımlarına izin ver veya reddet. - İ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 (eklenti desteklidir, `channels.bluebubbles` altında yapılandırılır). +BlueBubbles, önerilen iMessage yoludur (Plugin desteklidir, `channels.bluebubbles` altında yapılandırılır). ```json5 { @@ -573,21 +577,21 @@ BlueBubbles, önerilen iMessage yoludur (eklenti desteklidir, `channels.bluebubb bluebubbles: { enabled: true, dmPolicy: "pairing", - // serverUrl, password, webhookPath, group controls, and advanced actions: - // see /channels/bluebubbles + // serverUrl, password, webhookPath, group controls ve advanced actions: + // bkz. /channels/bluebubbles }, }, } ``` -- Burada kapsanan temel anahtar yolları: `channels.bluebubbles`, `channels.bluebubbles.dmPolicy`. +- Burada kapsanan çekirdek 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"` olan üst düzey `bindings[]` girdileri, BlueBubbles konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde bir BlueBubbles handle veya hedef dizesi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan anlamları: [ACP Agents](/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 handle veya hedef dizesi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan anlamları: [ACP Agents](/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` sürecini başlatır (stdio üzerinden JSON-RPC). Daemon veya port gerekmez. +OpenClaw, `imsg rpc` işlemini başlatır (stdio üzerinden JSON-RPC). Daemon veya port gerekmez. ```json5 { @@ -613,13 +617,13 @@ OpenClaw, `imsg rpc` sürecini başlatır (stdio üzerinden JSON-RPC). Daemon ve - İ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 veritabanına Full Disk Access gerektirir. +- Messages veritabanı için Full Disk Access gerekir. - `chat_id:` hedeflerini tercih edin. Sohbetleri listelemek için `imsg chats --limit 20` kullanın. -- `cliPath`, bir SSH sarmalayıcısını işaret edebilir; SCP ek indirmesi 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 makinesi anahtarının zaten `~/.ssh/known_hosts` içinde bulunduğundan emin olun. -- `channels.imessage.configWrites`: iMessage tarafından başlatılan yapılandırma yazmalarına izin verin veya engelleyin. -- `type: "acp"` olan üst düzey `bindings[]` girdileri, iMessage konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde normalize edilmiş bir handle veya açık sohbet hedefi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan anlamları: [ACP Agents](/tr/tools/acp-agents#channel-specific-settings). +- `cliPath`, bir SSH sarmalayıcısını işaret edebilir; SCP ek dosyası alma için `remoteHost` (`host` veya `user@host`) ayarlayın. +- `attachmentRoots` ve `remoteAttachmentRoots`, gelen ek dosya yollarını sınırlar (varsayılan: `/Users/*/Library/Messages/Attachments`). +- SCP, katı host-key denetimi kullanır; bu yüzden aktarma ana makinesi anahtarının zaten `~/.ssh/known_hosts` içinde bulunduğundan emin olun. +- `channels.imessage.configWrites`: iMessage tarafından başlatılan yapılandırma yazımlarına izin ver veya reddet. +- `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 normalize edilmiş bir handle veya açık sohbet hedefi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan anlamları: [ACP Agents](/tr/tools/acp-agents#channel-specific-settings). @@ -632,7 +636,7 @@ exec ssh -T gateway-host imsg "$@" ### Matrix -Matrix uzantı desteklidir ve `channels.matrix` altında yapılandırılır. +Matrix, eklenti desteklidir ve `channels.matrix` altında yapılandırılır. ```json5 { @@ -664,23 +668,23 @@ Matrix uzantı 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` ile bu ağ etkinleştirme seçeneği birbirinden bağımsız denetimlerdir. +- `channels.matrix.network.dangerouslyAllowPrivateNetwork`, özel/dahili homeserver’lara izin verir. `proxy` ve bu ağ için isteğe bağlı etkinleştirme birbirinden bağımsız denetimlerdir. - `channels.matrix.defaultAccount`, çok hesaplı kurulumlarda tercih edilen hesabı seçer. -- `channels.matrix.autoJoin` varsayılan olarak `off` durumundadır; bu nedenle davet edilen odalar ve yeni DM tarzı davetler, `autoJoin: "allowlist"` ile `autoJoinAllowlist` ayarlanana veya `autoJoin: "always"` seçilene kadar yok sayılır. -- `channels.matrix.execApprovals`: Matrix'e özgü exec onay teslimi ve onaylayıcı yetkilendirmesi. - - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda exec onayları, onaylayıcılar `approvers` veya `commands.ownerAllowFrom` üzerinden çözümlenebildiğinde etkinleşir. +- `channels.matrix.autoJoin` varsayılan olarak `off` değerindedir; bu nedenle davet edilen odalar ve yeni DM tarzı davetler, `autoJoin: "allowlist"` ile `autoJoinAllowlist` ayarlayana veya `autoJoin: "always"` yapana kadar yok sayılır. +- `channels.matrix.execApprovals`: Matrix’e özgü exec onay teslimi ve onaylayıcı yetkilendirmesi. + - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda, exec onayları `approvers` veya `commands.ownerAllowFrom` üzerinden onaylayıcılar çözümlenebildiğinde 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). + - `agentFilter`: isteğe bağlı agent ID izin listesi. Tüm agent’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 gruplanacağını kontrol eder: `per-user` (varsayılan) yönlendirilen eşe göre paylaşır, `per-room` ise her DM odasını yalıtır. -- Matrix durum probları ve canlı dizin aramaları, çalışma zamanı trafiğiyle aynı proxy ilkesini kullanır. +- `channels.matrix.dm.sessionScope`, Matrix DM’lerinin oturumlar içinde nasıl gruplanacağını kontrol eder: `per-user` (varsayılan) yönlendirilen eşe göre paylaşır, `per-room` ise her DM odasını izole eder. +- Matrix durum probları ve canlı dizin aramaları, çalışma zamanı trafiği ile 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 uzantı desteklidir ve `channels.msteams` altında yapılandırılır. +Microsoft Teams, eklenti desteklidir ve `channels.msteams` altında yapılandırılır. ```json5 { @@ -689,18 +693,18 @@ Microsoft Teams uzantı desteklidir ve `channels.msteams` altında yapılandır enabled: true, configWrites: true, // appId, appPassword, tenantId, webhook, team/channel policies: - // see /channels/msteams + // bkz. /channels/msteams }, }, } ``` -- Burada kapsanan temel anahtar yolları: `channels.msteams`, `channels.msteams.configWrites`. -- Tam Teams yapılandırması (kimlik bilgileri, webhook, DM/grup ilkesi, takım/kanal başına geçersiz kılmalar) [Microsoft Teams](/tr/channels/msteams) içinde belgelenmiştir. +- Burada kapsanan çekirdek 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 uzantı desteklidir ve `channels.irc` altında yapılandırılır. +IRC, eklenti desteklidir ve `channels.irc` altında yapılandırılır. ```json5 { @@ -721,13 +725,13 @@ IRC uzantı desteklidir ve `channels.irc` altında yapılandırılır. } ``` -- Burada kapsanan temel anahtar yolları: `channels.irc`, `channels.irc.dmPolicy`, `channels.irc.configWrites`, `channels.irc.nickserv.*`. +- Burada kapsanan çekirdek 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/mention gating) [IRC](/tr/channels/irc) içinde belgelenmiştir. +- Tam IRC kanal yapılandırması (host/port/TLS/channels/allowlists/mention gating) [IRC](/tr/channels/irc) içinde belgelenmiştir. -### Çok hesaplı kullanım (tüm kanallar) +### Çok hesaplı (tüm kanallar) -Kanal başına birden fazla hesap çalıştırın (her biri kendi `accountId` değerine sahip olur): +Kanal başına birden fazla hesap çalıştırın (her biri kendi `accountId` değeriyle): ```json5 { @@ -749,27 +753,27 @@ Kanal başına birden fazla hesap çalıştırın (her biri kendi `accountId` de ``` - `accountId` atlandığında `default` kullanılır (CLI + yönlendirme). -- Ortam tokenları yalnızca **default** hesap için geçerlidir. +- Ortam token’ları yalnızca **default** hesap için geçerlidir. - Temel kanal ayarları, hesap başına geçersiz kılınmadıkça tüm hesaplara uygulanır. -- Her hesabı farklı bir ajana yönlendirmek için `bindings[].match.accountId` kullanın. -- `openclaw channels add` (veya kanal onboarding) ile varsayılan olmayan bir hesap eklediğinizde ve hâlâ tek hesaplı üst düzey kanal yapılandırmasındaysanız, OpenClaw önce hesap kapsamlı üst düzey tek hesap değerlerini kanal hesap eşlemesine taşır, 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ış/default hedefi koruyabilir. -- Mevcut yalnızca kanala ait bağlar (`accountId` olmadan) varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlar isteğe bağlı olmaya devam eder. -- `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ış/default hedefi koruyabilir. +- Her hesabı farklı bir agente yönlendirmek için `bindings[].match.accountId` kullanın. +- Tek hesaplı üst düzey kanal yapılandırmasındayken `openclaw channels add` (veya kanal onboarding) ile 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 ise bunun yerine mevcut eşleşen bir named/default hedefi koruyabilir. +- Mevcut yalnızca kanal kapsamlı bağlar (`accountId` yok) varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlar isteğe bağlı olmaya devam eder. +- `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 ise bunun yerine mevcut eşleşen bir named/default hedefi koruyabilir. -### Diğer uzantı kanalları +### Diğer eklenti kanalları -Birçok uzantı kanalı `channels.` olarak yapılandırılır ve özel kanal sayfalarında belgelenir (örneğin Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat ve Twitch). +Birçok eklenti kanalı `channels.` olarak yapılandırılır ve özel kanal sayfalarında belgelenir (örneğin Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat ve Twitch). Tam kanal dizini için bkz.: [Kanallar](/tr/channels). -### Grup sohbetinde mention gating +### Grup sohbeti mention-gating -Grup mesajlarında varsayılan olarak **mention gerekir** (meta veri mention'ı veya güvenli regex kalıpları). WhatsApp, Telegram, Discord, Google Chat ve iMessage grup sohbetlerine uygulanır. +Grup mesajları varsayılan olarak **mention gerektirir** (meta veri mention’ı veya güvenli regex desenleri). WhatsApp, Telegram, Discord, Google Chat ve iMessage grup sohbetleri için geçerlidir. **Mention türleri:** -- **Meta veri mention'ları**: Yerel platform @-mention'ları. WhatsApp self-chat 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üvensiz iç içe tekrarlar yok sayılır. -- Mention gating yalnızca algılama mümkün olduğunda uygulanır (yerel mention'lar veya en az bir kalıp). +- **Meta veri mention’ları**: Yerel platform @-mention’ları. WhatsApp self-chat 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. +- Mention-gating yalnızca algılama mümkün olduğunda uygulanır (yerel mention’lar veya en az bir desen). ```json5 { @@ -782,7 +786,7 @@ Grup mesajlarında varsayılan olarak **mention gerekir** (meta veri mention'ı } ``` -`messages.groupChat.historyLimit`, genel varsayılanı ayarlar. Kanallar bunu `channels..historyLimit` ile geçersiz kılabilir (veya hesap başına). Devre dışı bırakmak için `0` ayarlayın. +`messages.groupChat.historyLimit`, genel varsayılanı ayarlar. Kanallar bunu `channels..historyLimit` ile (veya hesap başına) geçersiz kılabilir. Devre dışı bırakmak için `0` ayarlayın. #### DM geçmiş sınırları @@ -805,7 +809,7 @@ Desteklenenler: `telegram`, `whatsapp`, `discord`, `slack`, `signal`, `imessage` #### Self-chat modu -Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekleyin (yerel @-mention'ları yok sayar, yalnızca metin kalıplarına yanıt verir): +Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekleyin (yerel @-mention’ları yok sayar, yalnızca metin desenlerine yanıt verir): ```json5 { @@ -832,15 +836,15 @@ Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekl { commands: { native: "auto", // desteklendiğinde yerel komutları kaydet - nativeSkills: "auto", // desteklendiğinde yerel Skills komutlarını kaydet + nativeSkills: "auto", // desteklendiğinde yerel skill komutlarını kaydet text: true, // sohbet mesajlarında /commands ayrıştır bash: false, // ! kullanımına izin ver (takma ad: /bash) bashForegroundMs: 2000, - config: false, // /config izni ver - mcp: false, // /mcp izni ver - plugins: false, // /plugins izni ver - debug: false, // /debug izni ver - restart: true, // /restart + gateway yeniden başlatma aracına izin ver + config: false, // /config kullanımına izin ver + mcp: false, // /mcp kullanımına izin ver + plugins: false, // /plugins kullanımına izin ver + debug: false, // /debug kullanımına izin ver + restart: true, // /restart + Gateway yeniden başlatma aracına izin ver ownerAllowFrom: ["discord:123456789012345678"], ownerDisplay: "raw", // raw | hash ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}", @@ -855,27 +859,27 @@ Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekl -- Bu blok komut yüzeylerini yapılandırır. Geçerli yerleşik + paketlenmiş komut kataloğu için bkz. [Slash Commands](/tr/tools/slash-commands). -- Bu sayfa **yapılandırma anahtarı başvurusu**dur, tam komut kataloğu değildir. QQ Bot `/bot-ping` `/bot-help` `/bot-logs`, LINE `/card`, device-pair `/pair`, memory `/dreaming`, phone-control `/phone` ve Talk `/voice` gibi kanala/eklentiye ait komutlar, kendi kanal/eklenti sayfalarında ve [Slash Commands](/tr/tools/slash-commands) içinde belgelenmiştir. +- Bu blok, komut yüzeylerini yapılandırır. Güncel yerleşik + bundled komut kataloğu için bkz. [Slash Komutları](/tr/tools/slash-commands). +- Bu sayfa bir **yapılandırma anahtarı referansıdır**, tam komut kataloğu değildir. QQ Bot `/bot-ping` `/bot-help` `/bot-logs`, LINE `/card`, device-pair `/pair`, memory `/dreaming`, phone-control `/phone` ve Talk `/voice` gibi kanal/plugin sahipli komutlar, kendi kanal/plugin sayfalarında ve [Slash Komutları](/tr/tools/slash-commands) içinde belgelenmiştir. - Metin komutları, başında `/` bulunan **bağımsız** mesajlar 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. +- `native: "auto"`, Discord/Telegram için yerel komutları açar, Slack’i kapalı bırakır. +- `nativeSkills: "auto"`, Discord/Telegram için yerel skill 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. -- Yerel skill kaydını kanal başına `channels..commands.nativeSkills` ile geçersiz kılın. -- `channels.telegram.customCommands`, Telegram bot menüsüne ek girdiler ekler. -- `bash: true`, ana makine kabuğu için `! ` kullanımını etkinleştirir. `tools.elevated.enabled` gerekir ve gönderenin `tools.elevated.allowFrom.` içinde olması gerekir. -- `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 istemcilerine sunulmaya devam eder. +- Kanal başına yerel skill kaydını `channels..commands.nativeSkills` ile geçersiz kılın. +- `channels.telegram.customCommands`, ek Telegram bot menü girdileri ekler. +- `bash: true`, host kabuğu için `! ` kullanımını etkinleştirir. `tools.elevated.enabled` gerekir ve gönderici `tools.elevated.allowFrom.` içinde olmalıdır. +- `config: true`, `/config` komutunu etkinleştirir (`openclaw.json` dosyasını okur/yazar). Gateway `chat.send` istemcileri için kalıcı `/config set|unset` yazımları ayrıca `operator.admin` gerektirir; salt okunur `/config show`, normal yazma kapsamlı operatör istemcileri için 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`, eklenti 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 denetler (varsayılan: true). -- Çok hesaplı kanallarda `channels..accounts..configWrites`, o hesabı hedefleyen yazmaları da denetler (ö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`. -- `ownerAllowFrom`, yalnızca sahip için olan komutlar/araçlar için açık sahip izin listesidir. `allowFrom` değerinden ayrıdır. -- `ownerDisplay: "hash"`, sistem isteminde sahip kimliklerini hash'ler. Hash'lemeyi 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` ayarlanmamışsa komutların erişim grubu ilkelerini atlamasına izin verir. -- Komut belge eşlemesi: - - yerleşik + paketlenmiş katalog: [Slash Commands](/tr/tools/slash-commands) +- `plugins: true`, Plugin keşfi, yükleme 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 sınırlar (varsayılan: true). +- Çok hesaplı kanallar için `channels..accounts..configWrites`, o hesabı hedefleyen yazımları da sınırlar (ö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`. +- `ownerAllowFrom`, yalnızca sahip için olan komutlar/araçlar için açık sahip izin listesidir. `allowFrom`’dan ayrıdır. +- `ownerDisplay: "hash"`, sistem isteminde sahip kimliklerini hash’ler. Hash’lemeyi denetlemek için `ownerDisplaySecret` ayarlayın. +- `allowFrom`, sağlayıcı başınadır. Ayarlandığında, **tek** yetkilendirme kaynağı olur (kanal izin listeleri/eşleştirme ve `useAccessGroups` yok sayılır). +- `useAccessGroups: false`, `allowFrom` ayarlanmamışken komutların erişim grubu ilkelerini atlamasına izin verir. +- Komut belgeleri eşlemesi: + - yerleşik + bundled katalog: [Slash 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) @@ -886,7 +890,7 @@ Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekl --- -## Ajan varsayılanları +## Agent varsayılanları ### `agents.defaults.workspace` @@ -900,7 +904,7 @@ Varsayılan: `~/.openclaw/workspace`. ### `agents.defaults.repoRoot` -Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ayarlanmamışsa OpenClaw, çalışma alanından yukarı doğru yürüyerek otomatik algılar. +Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ayarlanmamışsa OpenClaw, workspace’den yukarı doğru yürüyerek otomatik algılar. ```json5 { @@ -910,14 +914,14 @@ Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ay ### `agents.defaults.skills` -`agents.list[].skills` ayarlamayan ajanlar için isteğe bağlı varsayılan skill izin listesi. +`agents.list[].skills` ayarlamayan agent’lar için isteğe bağlı varsayılan skill izin listesi. ```json5 { agents: { defaults: { skills: ["github", "weather"] }, list: [ - { id: "writer" }, // github, weather değerlerini devralır + { id: "writer" }, // github, weather'ı devralır { id: "docs", skills: ["docs-search"] }, // varsayılanların yerine geçer { id: "locked-down", skills: [] }, // skill yok ], @@ -927,12 +931,13 @@ Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ay - Varsayılan olarak sınırsız skill için `agents.defaults.skills` alanını atlayın. - Varsayılanları devralmak için `agents.list[].skills` alanını atlayın. -- Skill olmaması için `agents.list[].skills: []` ayarlayın. -- Boş olmayan bir `agents.list[].skills` listesi, o ajan için son kümedir; varsayılanlarla birleştirilmez. +- Hiç skill olmaması için `agents.list[].skills: []` ayarlayın. +- Boş olmayan bir `agents.list[].skills` listesi, o agent için son kümedir; + varsayılanlarla birleştirilmez. ### `agents.defaults.skipBootstrap` -Çalışma alanı bootstrap dosyalarının (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md`) otomatik oluşturulmasını devre dışı bırakır. +Workspace bootstrap dosyalarının (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md`) otomatik oluşturulmasını devre dışı bırakır. ```json5 { @@ -942,9 +947,9 @@ Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ay ### `agents.defaults.contextInjection` -Çalışma alanı bootstrap dosyalarının sistem istemine ne zaman enjekte edileceğini denetler. Varsayılan: `"always"`. +Workspace bootstrap dosyalarının sistem istemine ne zaman ekleneceğini kontrol eder. Varsayılan: `"always"`. -- `"continuation-skip"`: güvenli devam turlarında (tamamlanmış bir asistan yanıtından sonra) çalışma alanı bootstrap yeniden enjeksiyonu atlanır ve istem boyutu azaltılır. Heartbeat çalıştırmaları ve sıkıştırma sonrası yeniden denemeler yine bağlamı yeniden oluşturur. +- `"continuation-skip"`: güvenli devam dönüşleri (tamamlanmış bir asistan yanıtından sonra), workspace bootstrap yeniden eklemeyi atlar ve istem boyutunu azaltır. Heartbeat çalıştırmaları ve Compaction sonrası yeniden denemeler yine de bağlamı yeniden oluşturur. ```json5 { @@ -954,7 +959,7 @@ Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ay ### `agents.defaults.bootstrapMaxChars` -Kesmeden önce çalışma alanı bootstrap dosyası başına azami karakter sayısı. Varsayılan: `20000`. +Kırpmadan önce workspace bootstrap dosyası başına en fazla karakter. Varsayılan: `20000`. ```json5 { @@ -964,7 +969,7 @@ Kesmeden önce çalışma alanı bootstrap dosyası başına azami karakter say ### `agents.defaults.bootstrapTotalMaxChars` -Tüm çalışma alanı bootstrap dosyalarına enjekte edilen toplam azami karakter sayısı. Varsayılan: `150000`. +Tüm workspace bootstrap dosyalarında eklenen toplam en fazla karakter. Varsayılan: `150000`. ```json5 { @@ -974,12 +979,12 @@ Tüm çalışma alanı bootstrap dosyalarına enjekte edilen toplam azami karakt ### `agents.defaults.bootstrapPromptTruncationWarning` -Bootstrap bağlamı kesildiğinde ajan tarafından görülebilen uyarı metnini denetler. +Bootstrap bağlamı kırpıldığında agent’ın görebileceği uyarı metnini kontrol eder. Varsayılan: `"once"`. -- `"off"`: sistem istemine hiçbir zaman uyarı metni enjekte etmez. -- `"once"`: her benzersiz kesilme imzası için bir kez uyarı enjekte eder (önerilir). -- `"always"`: kesilme olduğunda her çalıştırmada uyarı enjekte eder. +- `"off"`: sistem istemine hiçbir zaman uyarı metni ekleme. +- `"once"`: her benzersiz kırpma imzası için uyarıyı bir kez ekle (önerilir). +- `"always"`: kırpma mevcut olduğunda her çalıştırmada uyarı ekle. ```json5 { @@ -989,10 +994,10 @@ Varsayılan: `"once"`. ### `agents.defaults.imageMaxDimensionPx` -Sağlayıcı çağrılarından önce transcript/araç görsel bloklarında görselin en uzun kenarı için azami piksel boyutu. +Sağlayıcı çağrılarından önce transcript/tool görsel bloklarında görselin en uzun kenarı için en yüksek piksel boyutu. Varsayılan: `1200`. -Daha düşük değerler genellikle ekran görüntüsü ağırlıklı çalıştırmalarda vision token kullanımını ve istek yükü boyutunu azaltır. +Daha düşük değerler genellikle ekran görüntüsü ağırlıklı çalıştırmalarda vision token kullanımını ve istek yük boyutunu azaltır. Daha yüksek değerler daha fazla görsel ayrıntıyı korur. ```json5 @@ -1003,7 +1008,7 @@ Daha yüksek değerler daha fazla görsel ayrıntıyı korur. ### `agents.defaults.userTimezone` -Sistem istemi bağlamı için saat dilimi (mesaj zaman damgaları için değil). Ana makine saat dilimine geri döner. +Sistem istemi bağlamı için saat dilimi (mesaj zaman damgaları için değil). Host saat dilimine geri döner. ```json5 { @@ -1013,7 +1018,7 @@ Sistem istemi bağlamı için saat dilimi (mesaj zaman damgaları için değil). ### `agents.defaults.timeFormat` -Sistem istemindeki saat biçimi. Varsayılan: `auto` (işletim sistemi tercihi). +Sistem istemindeki saat biçimi. Varsayılan: `auto` (OS tercihi). ```json5 { @@ -1053,7 +1058,7 @@ Sistem istemindeki saat biçimi. Varsayılan: `auto` (işletim sistemi tercihi). }, params: { cacheRetention: "long" }, // genel varsayılan sağlayıcı parametreleri embeddedHarness: { - runtime: "auto", // auto | pi | kayıtlı harness kimliği, ör. codex + runtime: "auto", // auto | pi | kayıtlı harness id, ör. codex fallback: "pi", // pi | none }, pdfMaxBytesMb: 10, @@ -1070,48 +1075,49 @@ Sistem istemindeki saat biçimi. Varsayılan: `auto` (işletim sistemi tercihi). } ``` -- `model`: bir dizeyi (`"provider/model"`) veya bir nesneyi (`{ primary, fallbacks }`) kabul eder. +- `model`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. - Dize biçimi yalnızca birincil modeli ayarlar. - - Nesne biçimi birincil modeli ve sıralı failover modellerini ayarlar. -- `imageModel`: bir dizeyi (`"provider/model"`) veya bir nesneyi (`{ primary, fallbacks }`) kabul eder. - - `image` araç yolunda, vision model yapılandırması olarak kullanılır. - - Ayrıca seçilen/varsayılan model görsel girdiyi kabul edemediğinde yedek yönlendirme için de kullanılır. -- `imageGenerationModel`: bir dizeyi (`"provider/model"`) veya bir nesneyi (`{ primary, fallbacks }`) kabul eder. - - Paylaşılan görsel üretim yeteneği ve görsel üreten gelecekteki tüm araç/eklenti yüzeyleri tarafından kullanılır. + - Nesne biçimi, birincil modeli ve sıralı yedek modelleri ayarlar. +- `imageModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. + - Vision model yapılandırması olarak `image` araç yolunda kullanılır. + - Ayrıca seçili/varsayılan model görsel girişi kabul edemediğinde yedek yönlendirme için kullanılır. +- `imageGenerationModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. + - Paylaşılan görsel oluşturma yeteneği ve görsel üreten gelecekteki tüm araç/Plugin yüzeyleri tarafından kullanılır. - Tipik değerler: yerel Gemini görsel üretimi için `google/gemini-3.1-flash-image-preview`, fal için `fal/fal-ai/flux/dev` veya OpenAI Images için `openai/gpt-image-1`. - - Bir sağlayıcı/modeli doğrudan seçerseniz, eşleşen sağlayıcı auth/API anahtarını da yapılandırın (örneğin `google/*` için `GEMINI_API_KEY` veya `GOOGLE_API_KEY`, `openai/*` için `OPENAI_API_KEY`, `fal/*` için `FAL_KEY`). - - Atlanırsa `image_generate` yine de auth destekli bir sağlayıcı varsayılanını çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından kalan kayıtlı görsel üretim sağlayıcılarını sağlayıcı kimliği sırasıyla dener. -- `musicGenerationModel`: bir dizeyi (`"provider/model"`) veya bir nesneyi (`{ primary, fallbacks }`) kabul eder. - - Paylaşılan müzik üretim yeteneği ve yerleşik `music_generate` aracı tarafından kullanılır. + - Doğrudan bir sağlayıcı/model seçerseniz, eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın (örneğin `google/*` için `GEMINI_API_KEY` veya `GOOGLE_API_KEY`, `openai/*` için `OPENAI_API_KEY`, `fal/*` için `FAL_KEY`). + - Atlanırsa `image_generate`, yine de kimlik doğrulamalı bir varsayılan sağlayıcı çıkarımı yapabilir. Önce geçerli varsayılan sağlayıcıyı, ardından provider-id sırasıyla kayıtlı kalan görsel oluşturma sağlayıcılarını dener. +- `musicGenerationModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. + - Paylaşılan müzik oluşturma yeteneği ve yerleşik `music_generate` aracı tarafından kullanılır. - Tipik değerler: `google/lyria-3-clip-preview`, `google/lyria-3-pro-preview` veya `minimax/music-2.5+`. - - Atlanırsa `music_generate` yine de auth destekli bir sağlayıcı varsayılanını çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından kalan kayıtlı müzik üretim sağlayıcılarını sağlayıcı kimliği sırasıyla dener. - - Bir sağlayıcı/modeli doğrudan seçerseniz, eşleşen sağlayıcı auth/API anahtarını da yapılandırın. -- `videoGenerationModel`: bir dizeyi (`"provider/model"`) veya bir nesneyi (`{ primary, fallbacks }`) kabul eder. - - Paylaşılan video üretim yeteneği ve yerleşik `video_generate` aracı tarafından kullanılır. + - Atlanırsa `music_generate`, yine de kimlik doğrulamalı bir varsayılan sağlayıcı çıkarımı yapabilir. Önce geçerli varsayılan sağlayıcıyı, ardından provider-id sırasıyla kayıtlı kalan müzik oluşturma sağlayıcılarını dener. + - Doğrudan bir sağlayıcı/model seçerseniz, eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın. +- `videoGenerationModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. + - Paylaşılan video oluşturma yeteneği ve yerleşik `video_generate` aracı tarafından kullanılır. - Tipik değerler: `qwen/wan2.6-t2v`, `qwen/wan2.6-i2v`, `qwen/wan2.6-r2v`, `qwen/wan2.6-r2v-flash` veya `qwen/wan2.7-r2v`. - - Atlanırsa `video_generate` yine de auth destekli bir sağlayıcı varsayılanını çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından kalan kayıtlı video üretim sağlayıcılarını sağlayıcı kimliği sırasıyla dener. - - Bir sağlayıcı/modeli doğrudan seçerseniz, eşleşen sağlayıcı auth/API anahtarını da yapılandırın. - - Paketlenmiş Qwen video üretim sağlayıcısı en fazla 1 çıktı videosu, 1 girdi görseli, 4 girdi videosu, 10 saniye süre ve sağlayıcı düzeyinde `size`, `aspectRatio`, `resolution`, `audio` ve `watermark` seçeneklerini destekler. -- `pdfModel`: bir dizeyi (`"provider/model"`) veya bir nesneyi (`{ primary, fallbacks }`) kabul eder. - - `pdf` aracı tarafından model yönlendirmesi için kullanılır. - - Atlanırsa PDF aracı önce `imageModel` değerine, ardından çözümlenen oturum/varsayılan modele geri döner. -- `pdfMaxBytesMb`: çağrı zamanında `maxBytesMb` geçirilmediğinde `pdf` aracı için varsayılan PDF boyut sınırı. -- `pdfMaxPages`: `pdf` aracında çıkarım yedek modunun dikkate aldığı varsayılan azami sayfa sayısı. -- `verboseDefault`: ajanlar için varsayılan verbose düzeyi. Değerler: `"off"`, `"on"`, `"full"`. Varsayılan: `"off"`. -- `elevatedDefault`: ajanlar için varsayılan elevated-output düzeyi. Değerler: `"off"`, `"on"`, `"ask"`, `"full"`. Varsayılan: `"on"`. -- `model.primary`: `provider/model` biçimi (ör. `openai/gpt-5.4`). Sağlayıcıyı atlarsanız OpenClaw önce bir takma adı, sonra bu tam model kimliği için benzersiz yapılandırılmış sağlayıcı eşleşmesini dener ve ancak bundan sonra yapılandırılmış varsayılan sağlayıcıya geri döner (eski uyumluluk davranışı, bu yüzden açık `provider/model` tercih edin). Bu sağlayıcı artık yapılandırılmış varsayılan modeli sunmuyorsa, OpenClaw eski ve kaldırılmış bir sağlayıcı varsayılanını göstermeye devam etmek yerine ilk yapılandırılmış sağlayıcı/modele geri döner. + - Atlanırsa `video_generate`, yine de kimlik doğrulamalı bir varsayılan sağlayıcı çıkarımı yapabilir. Önce geçerli varsayılan sağlayıcıyı, ardından provider-id sırasıyla kayıtlı kalan video oluşturma sağlayıcılarını dener. + - Doğrudan bir sağlayıcı/model seçerseniz, eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın. + - Bundled Qwen video oluşturma sağlayıcısı en fazla 1 çıktı videosu, 1 girdi görseli, 4 girdi videosu, 10 saniye süre ve sağlayıcı düzeyinde `size`, `aspectRatio`, `resolution`, `audio` ve `watermark` seçeneklerini destekler. +- `pdfModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. + - Model yönlendirmesi için `pdf` aracı tarafından kullanılır. + - Atlanırsa PDF aracı önce `imageModel`, sonra çözümlenen oturum/varsayılan modele geri döner. +- `pdfMaxBytesMb`: çağrı sırasında `maxBytesMb` geçirilmediğinde `pdf` aracı için varsayılan PDF boyut sınırı. +- `pdfMaxPages`: `pdf` aracında çıkarım geri dönüş modu tarafından dikkate alınan varsayılan en yüksek sayfa sayısı. +- `verboseDefault`: agent’lar için varsayılan ayrıntı düzeyi. Değerler: `"off"`, `"on"`, `"full"`. Varsayılan: `"off"`. +- `elevatedDefault`: agent’lar için varsayılan elevated-output düzeyi. Değerler: `"off"`, `"on"`, `"ask"`, `"full"`. Varsayılan: `"on"`. +- `model.primary`: `provider/model` biçimi (ör. `openai/gpt-5.4`). Sağlayıcıyı atlarsanız OpenClaw önce bir takma adı, sonra tam bu model kimliği için benzersiz yapılandırılmış sağlayıcı eşleşmesini dener ve ancak ondan sonra yapılandırılmış varsayılan sağlayıcıya geri döner (kullanımdan kalkmış uyumluluk davranışı; bu yüzden açık `provider/model` tercih edin). 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östermemek için ilk yapılandırılmış sağlayıcı/modele geri döner. - `models`: `/model` için yapılandırılmış model kataloğu ve izin listesi. Her girdi `alias` (kısayol) ve `params` (sağlayıcıya özgü; örneğin `temperature`, `maxTokens`, `cacheRetention`, `context1m`) içerebilir. -- `params`: tüm modellere uygulanan genel varsayılan sağlayıcı parametreleri. `agents.defaults.params` altında ayarlanır (ör. `{ cacheRetention: "long" }`). -- `params` birleştirme önceliği (yapılandırma): `agents.defaults.params` (genel taban), `agents.defaults.models["provider/model"].params` (model başına) tarafından geçersiz kılınır, ardından `agents.list[].params` (eşleşen ajan kimliği) anahtar bazında geçersiz kılar. Ayrıntılar için bkz. [Prompt Caching](/tr/reference/prompt-caching). -- `embeddedHarness`: varsayılan alt düzey gömülü ajan çalışma zamanı ilkesi. Kayıtlı eklenti harness'lerinin desteklenen modelleri sahiplenmesine izin vermek için `runtime: "auto"`, yerleşik PI harness'ini zorlamak için `runtime: "pi"` veya `runtime: "codex"` gibi kayıtlı bir harness kimliği kullanın. Otomatik PI yedeğini devre dışı bırakmak için `fallback: "none"` ayarlayın. -- Bu alanları değiştiren yapılandırma yazarları (örneğin `/models set`, `/models set-image` ve fallback ekle/kaldır komutları), standart nesne biçimini kaydeder ve mümkün olduğunda mevcut fallback listelerini korur. -- `maxConcurrent`: oturumlar genelinde azami paralel ajan çalıştırması (her oturum yine de serileştirilir). Varsayılan: 4. +- `params`: tüm modellere uygulanan genel varsayılan sağlayıcı parametreleri. `agents.defaults.params` altında ayarlanır (örn. `{ cacheRetention: "long" }`). +- `params` birleştirme önceliği (yapılandırma): `agents.defaults.params` (genel temel), `agents.defaults.models["provider/model"].params` (model başına) tarafından geçersiz kılınır; ardından `agents.list[].params` (eşleşen agent id) anahtar bazında geçersiz kılar. Ayrıntılar için bkz. [Prompt Caching](/tr/reference/prompt-caching). +- `embeddedHarness`: varsayılan düşük seviyeli gömülü agent çalışma zamanı ilkesi. Kayıtlı Plugin harness’lerinin desteklenen modelleri talep etmesine izin vermek için `runtime: "auto"`, yerleşik PI harness’i zorlamak için `runtime: "pi"` veya `runtime: "codex"` gibi kayıtlı bir harness id kullanın. Otomatik PI geri dönüşünü devre dışı bırakmak için `fallback: "none"` ayarlayın. +- Bu alanları değiştiren yapılandırma yazıcıları (örneğin `/models set`, `/models set-image` ve yedek ekleme/kaldırma komutları), kurallı nesne biçimini kaydeder ve mümkün olduğunda mevcut yedek listelerini korur. +- `maxConcurrent`: oturumlar arasında paralel agent çalıştırma üst sınırı (her oturum yine de serileştirilir). Varsayılan: 4. ### `agents.defaults.embeddedHarness` -`embeddedHarness`, gömülü ajan turlarını hangi alt düzey yürütücünün çalıştıracağını denetler. +`embeddedHarness`, gömülü agent dönüşlerini hangi düşük seviyeli yürütücünün çalıştıracağını kontrol eder. Çoğu dağıtım varsayılan `{ runtime: "auto", fallback: "pi" }` değerini korumalıdır. -Paketlenmiş Codex app-server harness'i gibi güvenilir bir eklenti yerel bir harness sağladığında bunu kullanın. +Bundled +Codex uygulama sunucusu harness’i gibi güvenilir bir Plugin yerel harness sağladığında bunu kullanın. ```json5 { @@ -1127,34 +1133,34 @@ Paketlenmiş Codex app-server harness'i gibi güvenilir bir eklenti yerel bir ha } ``` -- `runtime`: `"auto"`, `"pi"` veya kayıtlı bir eklenti harness kimliği. Paketlenmiş Codex eklentisi `codex` değerini kaydeder. -- `fallback`: `"pi"` veya `"none"`. `"pi"`, yerleşik PI harness'ini uyumluluk yedeği olarak korur. `"none"`, eksik veya desteklenmeyen eklenti harness seçiminin PI'yi sessizce kullanmak yerine başarısız olmasını sağlar. -- Ortam geçersiz kılmaları: `OPENCLAW_AGENT_RUNTIME=`, `runtime` değerini geçersiz kılar; `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, o süreç için PI yedeğini devre dışı bırakır. +- `runtime`: `"auto"`, `"pi"` veya kayıtlı bir Plugin harness id. Bundled Codex Plugin’i `codex` kaydeder. +- `fallback`: `"pi"` veya `"none"`. `"pi"`, yerleşik PI harness’ini uyumluluk geri dönüşü olarak korur. `"none"`, eksik veya desteklenmeyen Plugin harness seçiminin PI’yi sessizce kullanmak yerine başarısız olmasını sağlar. +- Ortam geçersiz kılmaları: `OPENCLAW_AGENT_RUNTIME=`, `runtime` değerini geçersiz kılar; `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, bu süreç için PI geri dönüşünü devre dışı bırakır. - Yalnızca Codex dağıtımları için `model: "codex/gpt-5.4"`, `embeddedHarness.runtime: "codex"` ve `embeddedHarness.fallback: "none"` ayarlayın. -- Bu yalnızca gömülü sohbet harness'ini denetler. Medya üretimi, vision, PDF, müzik, video ve TTS yine kendi sağlayıcı/model ayarlarını kullanır. +- Bu yalnızca gömülü sohbet harness’ini kontrol eder. Medya üretimi, vision, PDF, müzik, video ve TTS yine kendi sağlayıcı/model ayarlarını kullanır. -**Yerleşik takma ad kısayolları** (yalnızca model `agents.defaults.models` içinde olduğunda uygulanır): +**Yerleşik takma ad kısayolları** (yalnızca model `agents.defaults.models` içinde olduğunda geçerlidir): -| Takma ad | Model | -| ------------------ | -------------------------------------- | -| `opus` | `anthropic/claude-opus-4-6` | -| `sonnet` | `anthropic/claude-sonnet-4-6` | -| `gpt` | `openai/gpt-5.4` | -| `gpt-mini` | `openai/gpt-5.4-mini` | -| `gpt-nano` | `openai/gpt-5.4-nano` | -| `gemini` | `google/gemini-3.1-pro-preview` | -| `gemini-flash` | `google/gemini-3-flash-preview` | -| `gemini-flash-lite`| `google/gemini-3.1-flash-lite-preview` | +| Takma ad | Model | +| ------------------- | -------------------------------------- | +| `opus` | `anthropic/claude-opus-4-6` | +| `sonnet` | `anthropic/claude-sonnet-4-6` | +| `gpt` | `openai/gpt-5.4` | +| `gpt-mini` | `openai/gpt-5.4-mini` | +| `gpt-nano` | `openai/gpt-5.4-nano` | +| `gemini` | `google/gemini-3.1-pro-preview` | +| `gemini-flash` | `google/gemini-3-flash-preview` | +| `gemini-flash-lite` | `google/gemini-3.1-flash-lite-preview` | -Yapılandırdığınız takma adlar her zaman varsayılanlardan önce gelir. +Yapılandırdığınız takma adlar her zaman varsayılanlara üstün gelir. -Z.AI GLM-4.x modelleri, `--thinking off` ayarlamazsanız veya `agents.defaults.models["zai/"].params.thinking` değerini kendiniz tanımlamazsanız otomatik olarak thinking modunu etkinleştirir. +Z.AI GLM-4.x modelleri, `--thinking off` ayarlamadığınız veya `agents.defaults.models["zai/"].params.thinking` değerini kendiniz tanımlamadığınız sürece thinking modunu otomatik olarak etkinleştirir. Z.AI modelleri, araç çağrısı akışı için varsayılan olarak `tool_stream` etkinleştirir. Devre dışı bırakmak için `agents.defaults.models["zai/"].params.tool_stream` değerini `false` yapın. Anthropic Claude 4.6 modelleri, açık bir thinking düzeyi ayarlanmadığında varsayılan olarak `adaptive` thinking kullanır. ### `agents.defaults.cliBackends` -Salt metin yedek çalıştırmaları için isteğe bağlı CLI arka uçlarıdır (araç çağrısı yok). API sağlayıcıları başarısız olduğunda yedek olarak kullanışlıdır. +Salt metin geri dönüş çalıştırmaları için isteğe bağlı CLI arka uçları (araç çağrısı yok). API sağlayıcıları başarısız olduğunda yedek olarak kullanışlıdır. ```json5 { @@ -1188,13 +1194,13 @@ Salt metin yedek çalıştırmaları için isteğe bağlı CLI arka uçlarıdır ### `agents.defaults.systemPromptOverride` -OpenClaw tarafından oluşturulan sistem isteminin tamamını sabit bir dizeyle değiştirin. Varsayılan düzeyde (`agents.defaults.systemPromptOverride`) veya ajan başına (`agents.list[].systemPromptOverride`) ayarlanır. Ajan başına değerler önceliklidir; boş veya yalnızca boşluk içeren değer yok sayılır. Kontrollü istem deneyleri için kullanışlıdır. +OpenClaw tarafından oluşturulan sistem isteminin tamamını sabit bir dizeyle değiştirin. Varsayılan düzeyinde (`agents.defaults.systemPromptOverride`) veya agent başına (`agents.list[].systemPromptOverride`) ayarlayın. Agent başına değerler önceliklidir; boş veya yalnızca boşluk içeren bir değer yok sayılır. Denetimli istem deneyleri için kullanışlıdır. ```json5 { agents: { defaults: { - systemPromptOverride: "You are a helpful assistant.", + systemPromptOverride: "Yardımsever bir asistansın.", }, }, } @@ -1202,7 +1208,7 @@ OpenClaw tarafından oluşturulan sistem isteminin tamamını sabit bir dizeyle ### `agents.defaults.heartbeat` -Periyodik heartbeat çalıştırmaları. +Düzenli Heartbeat çalıştırmaları. ```json5 { @@ -1212,14 +1218,14 @@ Periyodik heartbeat çalıştırmaları. every: "30m", // 0m devre dışı bırakır model: "openai/gpt-5.4-mini", includeReasoning: false, - includeSystemPromptSection: true, // varsayılan: true; false, sistem isteminden Heartbeat bölümünü çıkarır - lightContext: false, // varsayılan: false; true, çalışma alanı bootstrap dosyalarından yalnızca HEARTBEAT.md dosyasını tutar - isolatedSession: false, // varsayılan: false; true, her heartbeat'i yeni bir oturumda çalıştırır (konuşma geçmişi yok) + includeSystemPromptSection: true, // varsayılan: true; false, Heartbeat bölümünü sistem isteminden çıkarır + lightContext: false, // varsayılan: false; true, workspace bootstrap dosyalarından yalnızca HEARTBEAT.md dosyasını tutar + isolatedSession: false, // varsayılan: false; true, her Heartbeat'i yeni bir oturumda çalıştırır (konuşma geçmişi yok) session: "main", to: "+15555550123", directPolicy: "allow", // allow (varsayılan) | block target: "none", // varsayılan: none | seçenekler: last | whatsapp | telegram | discord | ... - prompt: "Read HEARTBEAT.md if it exists...", + prompt: "Varsa HEARTBEAT.md dosyasını okuyun...", ackMaxChars: 300, suppressToolErrorWarnings: false, timeoutSeconds: 45, @@ -1229,15 +1235,15 @@ Periyodik heartbeat çalıştırmaları. } ``` -- `every`: süre dizesi (ms/s/m/h). Varsayılan: `30m` (API anahtarı auth) veya `1h` (OAuth auth). Devre dışı bırakmak için `0m` ayarlayın. -- `includeSystemPromptSection`: false olduğunda, sistem isteminden Heartbeat bölümünü çıkarır ve `HEARTBEAT.md` enjeksiyonunu bootstrap bağlamına atlar. Varsayılan: `true`. -- `suppressToolErrorWarnings`: true olduğunda heartbeat çalıştırmaları sırasında araç hata uyarısı yüklerini bastırır. -- `timeoutSeconds`: iptal edilmeden önce bir heartbeat ajan turu için izin verilen azami süre (saniye). Ayarlamazsanız `agents.defaults.timeoutSeconds` kullanılır. -- `directPolicy`: doğrudan/DM teslim ilkesi. `allow` (varsayılan) doğrudan hedef teslimine izin verir. `block`, doğrudan hedef teslimini bastırır ve `reason=dm-blocked` üretir. -- `lightContext`: true olduğunda heartbeat çalıştırmaları hafif bootstrap bağlamı kullanır ve çalışma alanı bootstrap dosyalarından yalnızca `HEARTBEAT.md` dosyasını tutar. -- `isolatedSession`: true olduğunda her heartbeat, önceki konuşma geçmişi olmayan yeni bir oturumda çalışır. Cron `sessionTarget: "isolated"` ile aynı yalıtım düzeni. Heartbeat başına token maliyetini yaklaşık 100K'den yaklaşık 2-5K token'a düşürür. -- Ajan başına: `agents.list[].heartbeat` ayarlayın. Herhangi bir ajan `heartbeat` tanımlarsa heartbeat yalnızca **o ajanlar** için çalışır. -- Heartbeat'ler tam ajan turları çalıştırır — daha kısa aralıklar daha fazla token harcar. +- `every`: süre dizesi (ms/s/m/h). Varsayılan: `30m` (API anahtarı kimlik doğrulaması) veya `1h` (OAuth kimlik doğrulaması). Devre dışı bırakmak için `0m` ayarlayın. +- `includeSystemPromptSection`: false olduğunda, Heartbeat bölümünü sistem isteminden çıkarır ve bootstrap bağlamına `HEARTBEAT.md` eklenmesini atlar. Varsayılan: `true`. +- `suppressToolErrorWarnings`: true olduğunda, Heartbeat çalıştırmaları sırasında araç hata uyarısı yüklerini bastırır. +- `timeoutSeconds`: iptal edilmeden önce bir Heartbeat agent dönüşü için izin verilen en yüksek saniye sayısı. `agents.defaults.timeoutSeconds` kullanılsın isterseniz ayarlamadan bırakın. +- `directPolicy`: doğrudan/DM teslim ilkesi. `allow` (varsayılan), doğrudan hedefe teslimata izin verir. `block`, doğrudan hedefe teslimatı bastırır ve `reason=dm-blocked` üretir. +- `lightContext`: true olduğunda, Heartbeat çalıştırmaları hafif bootstrap bağlamı kullanır ve workspace bootstrap dosyalarından yalnızca `HEARTBEAT.md` dosyasını tutar. +- `isolatedSession`: true olduğunda, her Heartbeat önceki konuşma geçmişi olmadan yeni bir oturumda çalışır. Cron `sessionTarget: "isolated"` ile aynı yalıtım deseni. Heartbeat başına token maliyetini ~100K’den ~2-5K token’a düşürür. +- Agent başına: `agents.list[].heartbeat` ayarlayın. Herhangi bir agent `heartbeat` tanımlarsa, **yalnızca bu agent’lar** Heartbeat çalıştırır. +- Heartbeat’ler tam agent dönüşleri çalıştırır — daha kısa aralıklar daha fazla token tüketir. ### `agents.defaults.compaction` @@ -1247,19 +1253,19 @@ Periyodik heartbeat çalıştırmaları. defaults: { compaction: { mode: "safeguard", // default | safeguard - provider: "my-provider", // kayıtlı bir compaction sağlayıcı eklentisinin kimliği (isteğe bağlı) + provider: "my-provider", // kayıtlı bir Compaction sağlayıcı Plugin'inin id'si (isteğe bağlı) timeoutSeconds: 900, reserveTokensFloor: 24000, identifierPolicy: "strict", // strict | off | custom - identifierInstructions: "Preserve deployment IDs, ticket IDs, and host:port pairs exactly.", // identifierPolicy=custom olduğunda kullanılır - postCompactionSections: ["Session Startup", "Red Lines"], // [] yeniden enjeksiyonu devre dışı bırakır - model: "openrouter/anthropic/claude-sonnet-4-6", // yalnızca compaction için isteğe bağlı model geçersiz kılması - notifyUser: true, // compaction başladığında kullanıcıya kısa bir bildirim gönder (varsayılan: false) + identifierInstructions: "Dağıtım kimliklerini, bilet kimliklerini ve host:port çiftlerini aynen koruyun.", // identifierPolicy=custom olduğunda kullanılır + postCompactionSections: ["Session Startup", "Red Lines"], // [] yeniden eklemeyi devre dışı bırakır + model: "openrouter/anthropic/claude-sonnet-4-6", // yalnızca Compaction için isteğe bağlı model geçersiz kılması + notifyUser: true, // Compaction başladığında kullanıcıya kısa bir bildirim gönder (varsayılan: false) memoryFlush: { enabled: true, softThresholdTokens: 6000, - systemPrompt: "Session nearing compaction. Store durable memories now.", - prompt: "Write any lasting notes to memory/YYYY-MM-DD.md; reply with the exact silent token NO_REPLY if nothing to store.", + systemPrompt: "Oturum Compaction sınırına yaklaşıyor. Kalıcı anıları şimdi saklayın.", + prompt: "Kalıcı notları memory/YYYY-MM-DD.md dosyasına yazın; saklanacak bir şey yoksa tam olarak sessiz NO_REPLY token'ı ile yanıt verin.", }, }, }, @@ -1267,19 +1273,19 @@ Periyodik heartbeat çalıştırmaları. } ``` -- `mode`: `default` veya `safeguard` (uzun geçmişler için parçalı özetleme). Bkz. [Compaction](/tr/concepts/compaction). -- `provider`: kayıtlı bir compaction sağlayıcı eklentisinin kimliği. Ayarlandığında, yerleşik LLM özetlemesi yerine sağlayıcının `summarize()` yöntemi çağrılır. Başarısızlıkta yerleşik davranışa geri döner. Bir sağlayıcı ayarlamak `mode: "safeguard"` değerini zorunlu kılar. Bkz. [Compaction](/tr/concepts/compaction). -- `timeoutSeconds`: OpenClaw'un iptal etmeden önce tek bir compaction işlemi için izin verdiği azami saniye sayısı. Varsayılan: `900`. -- `identifierPolicy`: `strict` (varsayılan), `off` veya `custom`. `strict`, compaction özetlemesi sırasında yerleşik opak tanımlayıcı koruma yönergelerini başa ekler. +- `mode`: `default` veya `safeguard` (uzun geçmişler için parçalara ayrılmış özetleme). Bkz. [Compaction](/tr/concepts/compaction). +- `provider`: kayıtlı bir Compaction sağlayıcı Plugin'inin id'si. Ayarlandığında, yerleşik LLM özetleme yerine sağlayıcının `summarize()` yöntemi çağrılır. Başarısızlıkta yerleşik olana geri döner. Bir sağlayıcı ayarlamak `mode: "safeguard"` değerini zorunlu kılar. Bkz. [Compaction](/tr/concepts/compaction). +- `timeoutSeconds`: OpenClaw bunu iptal etmeden önce tek bir Compaction işlemi için izin verilen en yüksek saniye sayısı. Varsayılan: `900`. +- `identifierPolicy`: `strict` (varsayılan), `off` veya `custom`. `strict`, Compaction özetlemesi sırasında yerleşik opak tanımlayıcı koruma yönergelerini başa ekler. - `identifierInstructions`: `identifierPolicy=custom` olduğunda kullanılan isteğe bağlı özel tanımlayıcı koruma metni. -- `postCompactionSections`: compaction sonrasında yeniden enjekte edilecek isteğe bağlı AGENTS.md H2/H3 bölüm adları. Varsayılan olarak `["Session Startup", "Red Lines"]`; yeniden enjeksiyonu devre dışı bırakmak için `[]` ayarlayın. Ayarlanmamışsa veya açıkça bu varsayılan çift olarak ayarlanmışsa, eski `Every Session`/`Safety` başlıkları da eski uyumluluk için yedek olarak kabul edilir. -- `model`: yalnızca compaction özetlemesi için isteğe bağlı `provider/model-id` geçersiz kılması. Ana oturum bir modeli kullanmaya devam ederken compaction özetleri başka bir modelde çalışsın istiyorsanız bunu kullanın; ayarlanmadığında compaction oturumun birincil modelini kullanır. -- `notifyUser`: `true` olduğunda, compaction başladığında kullanıcıya kısa bir bildirim gönderir (örneğin, "Compacting context..."). Compaction'ın sessiz kalması için varsayılan olarak devre dışıdır. -- `memoryFlush`: dayanıklı anıları saklamak için otomatik compaction öncesinde sessiz ajan turu. Çalışma alanı salt okunursa atlanır. +- `postCompactionSections`: Compaction sonrası yeniden eklenecek isteğe bağlı AGENTS.md H2/H3 bölüm adları. Varsayılan `["Session Startup", "Red Lines"]`; yeniden eklemeyi devre dışı bırakmak için `[]` ayarlayın. Ayarlanmamışsa veya açıkça bu varsayılan çift olarak ayarlanmışsa, eski `Every Session`/`Safety` başlıkları da eski uyumluluk geri dönüşü olarak kabul edilir. +- `model`: yalnızca Compaction özetlemesi için isteğe bağlı `provider/model-id` geçersiz kılması. Ana oturum bir modeli kullanmaya devam ederken Compaction özetlerinin başka bir modelde çalışmasını istediğinizde bunu kullanın; ayarlanmadığında Compaction, oturumun birincil modelini kullanır. +- `notifyUser`: `true` olduğunda, Compaction başladığında kullanıcıya kısa bir bildirim gönderir (örneğin "Bağlam sıkıştırılıyor..."). Compaction'ı sessiz tutmak için varsayılan olarak devre dışıdır. +- `memoryFlush`: otomatik Compaction öncesinde kalıcı anıları saklamak için sessiz agent dönüşü. Workspace salt okunursa atlanır. ### `agents.defaults.contextPruning` -LLM'e göndermeden önce bellek içi bağlamdan **eski araç sonuçlarını** budar. Diskteki oturum geçmişini **değiştirmez**. +LLM'ye göndermeden önce bellek içi bağlamdan **eski araç sonuçlarını** budar. Diskteki oturum geçmişini **değiştirmez**. ```json5 { @@ -1293,7 +1299,7 @@ LLM'e göndermeden önce bellek içi bağlamdan **eski araç sonuçlarını** bu hardClearRatio: 0.5, minPrunableToolChars: 50000, softTrim: { maxChars: 4000, headChars: 1500, tailChars: 1500 }, - hardClear: { enabled: true, placeholder: "[Old tool result content cleared]" }, + hardClear: { enabled: true, placeholder: "[Eski araç sonucu içeriği temizlendi]" }, tools: { deny: ["browser", "canvas"] }, }, }, @@ -1304,22 +1310,22 @@ LLM'e göndermeden önce bellek içi bağlamdan **eski araç sonuçlarını** bu - `mode: "cache-ttl"` budama geçişlerini etkinleştirir. -- `ttl`, budamanın ne sıklıkla yeniden çalışabileceğini denetler (son önbellek dokunuşundan sonra). -- Budama, önce aşırı büyük araç sonuçlarını yumuşak şekilde kırpar, sonra gerekirse daha eski araç sonuçlarını tamamen temizler. +- `ttl`, budamanın ne sıklıkla tekrar çalışabileceğini kontrol eder (son önbellek dokunuşundan sonra). +- Budama önce büyük araç sonuçlarını yumuşak şekilde kırpar, gerekirse daha eski araç sonuçlarını tamamen temizler. -**Soft-trim**, başlangıcı + sonu korur ve ortaya `...` ekler. +**Yumuşak kırpma**, başlangıcı + sonu korur ve ortaya `...` ekler. -**Hard-clear**, tüm araç sonucunu yer tutucuyla değiştirir. +**Tam temizleme**, tüm araç sonucunu yer tutucu ile değiştirir. Notlar: -- Görsel blokları asla kırpılmaz/temizlenmez. +- Görsel blokları hiçbir zaman kırpılmaz/temizlenmez. - Oranlar tam token sayıları değil, karakter tabanlıdır (yaklaşık). -- `keepLastAssistants` değerinden daha az asistan mesajı varsa budama atlanır. +- `keepLastAssistants` sayısından daha az asistan mesajı varsa budama atlanır. -Davranış ayrıntıları için bkz. [Session Pruning](/tr/concepts/session-pruning). +Davranış ayrıntıları için bkz. [Oturum Budama](/tr/concepts/session-pruning). ### Blok akışı @@ -1338,10 +1344,10 @@ Davranış ayrıntıları için bkz. [Session Pruning](/tr/concepts/session-prun ``` - Telegram dışındaki kanallarda blok yanıtlarını etkinleştirmek için açık `*.blockStreaming: true` gerekir. -- Kanal geçersiz kılmaları: `channels..blockStreamingCoalesce` (ve hesap başına varyantları). Signal/Slack/Discord/Google Chat varsayılanı `minChars: 1500` kullanır. -- `humanDelay`: blok yanıtları arasında rastgele duraklama. `natural` = 800–2500 ms. Ajan başına geçersiz kılma: `agents.list[].humanDelay`. +- Kanal geçersiz kılmaları: `channels..blockStreamingCoalesce` (ve hesap başına varyantları). Signal/Slack/Discord/Google Chat varsayılanı `minChars: 1500`. +- `humanDelay`: blok yanıtlar arasındaki rastgele duraklama. `natural` = 800–2500ms. Agent başına geçersiz kılma: `agents.list[].humanDelay`. -Davranış + parçalama ayrıntıları için bkz. [Streaming](/tr/concepts/streaming). +Davranış + parçalama ayrıntıları için bkz. [Akış](/tr/concepts/streaming). ### Yazıyor göstergeleri @@ -1359,13 +1365,13 @@ Davranış + parçalama ayrıntıları için bkz. [Streaming](/tr/concepts/strea - Varsayılanlar: doğrudan sohbetler/mention'lar için `instant`, mention içermeyen grup sohbetleri için `message`. - Oturum başına geçersiz kılmalar: `session.typingMode`, `session.typingIntervalSeconds`. -Bkz. [Typing Indicators](/tr/concepts/typing-indicators). +Bkz. [Yazıyor Göstergeleri](/tr/concepts/typing-indicators). ### `agents.defaults.sandbox` -Gömülü ajan için isteğe bağlı sandbox kullanımı. Tam kılavuz için bkz. [Sandboxing](/tr/gateway/sandboxing). +Gömülü agent için isteğe bağlı sandbox kullanımı. Tam kılavuz için bkz. [Sandboxing](/tr/gateway/sandboxing). ```json5 { @@ -1411,7 +1417,7 @@ Gömülü ajan için isteğe bağlı sandbox kullanımı. Tam kılavuz için bkz identityFile: "~/.ssh/id_ed25519", certificateFile: "~/.ssh/id_ed25519-cert.pub", knownHostsFile: "~/.ssh/known_hosts", - // SecretRef / satır içi içerikler de desteklenir: + // SecretRef'ler / satır içi içerikler de desteklenir: // identityData: { source: "env", provider: "default", id: "SSH_IDENTITY" }, // certificateData: { source: "env", provider: "default", id: "SSH_CERTIFICATE" }, // knownHostsData: { source: "env", provider: "default", id: "SSH_KNOWN_HOSTS" }, @@ -1475,39 +1481,39 @@ Gömülü ajan için isteğe bağlı sandbox kullanımı. Tam kılavuz için bkz - `target`: `user@host[:port]` biçiminde SSH hedefi - `command`: SSH istemci komutu (varsayılan: `ssh`) -- `workspaceRoot`: kapsam başına çalışma alanları için kullanılan mutlak uzak kök +- `workspaceRoot`: kapsam başına workspace'ler için kullanılan mutlak uzak kök - `identityFile` / `certificateFile` / `knownHostsFile`: OpenSSH'ye geçirilen mevcut yerel dosyalar -- `identityData` / `certificateData` / `knownHostsData`: çalışma zamanında OpenClaw'un geçici dosyalara dönüştürdüğü satır içi içerikler veya SecretRef'ler -- `strictHostKeyChecking` / `updateHostKeys`: OpenSSH ana makine anahtarı ilkesi ayarları +- `identityData` / `certificateData` / `knownHostsData`: OpenClaw'ın çalışma zamanında geçici dosyalara dönüştürdüğü satır içi içerikler veya SecretRef'ler +- `strictHostKeyChecking` / `updateHostKeys`: OpenSSH host-key ilkesi ayarları **SSH kimlik doğrulama önceliği:** -- `identityData`, `identityFile` değerini geçersiz kılar -- `certificateData`, `certificateFile` değerini geçersiz kılar -- `knownHostsData`, `knownHostsFile` değerini geçersiz kılar -- SecretRef destekli `*Data` değerleri, sandbox oturumu başlamadan önce etkin gizli bilgiler çalışma zamanı anlık görüntüsünden çözülür +- `identityData`, `identityFile` değerine üstün gelir +- `certificateData`, `certificateFile` değerine üstün gelir +- `knownHostsData`, `knownHostsFile` değerine üstün gelir +- SecretRef destekli `*Data` değerleri, sandbox oturumu başlamadan önce etkin secrets çalışma zamanı anlık görüntüsünden çözülür **SSH arka uç davranışı:** -- oluşturma veya yeniden oluşturma sonrasında uzak çalışma alanını bir kez tohumlar -- ardından uzak SSH çalışma alanını standart kaynak olarak tutar +- uzak workspace'i oluşturma veya yeniden oluşturma sonrasında bir kez tohumlar +- ardından uzak SSH workspace'ini kurallı tutar - `exec`, dosya araçları ve medya yollarını SSH üzerinden yönlendirir -- uzak değişiklikleri otomatik olarak ana makineye geri eşitlemez +- uzak değişiklikleri otomatik olarak host'a geri eşitlemez - sandbox tarayıcı kapsayıcılarını desteklemez -**Çalışma alanı erişimi:** +**Workspace erişimi:** -- `none`: `~/.openclaw/sandboxes` altında kapsam başına sandbox çalışma alanı -- `ro`: `/workspace` konumunda sandbox çalışma alanı, `/agent` konumunda salt okunur bağlanmış ajan çalışma alanı -- `rw`: ajan çalışma alanı `/workspace` konumuna okuma/yazma olarak bağlanır +- `none`: `~/.openclaw/sandboxes` altında kapsam başına sandbox workspace +- `ro`: sandbox workspace `/workspace` altında, agent workspace ise salt okunur olarak `/agent` altında bağlanır +- `rw`: agent workspace okuma/yazma olarak `/workspace` altında bağlanır **Kapsam:** -- `session`: oturum başına kapsayıcı + çalışma alanı -- `agent`: ajan başına bir kapsayıcı + çalışma alanı (varsayılan) -- `shared`: paylaşılan kapsayıcı ve çalışma alanı (oturumlar arası yalıtım yok) +- `session`: oturum başına kapsayıcı + workspace +- `agent`: agent başına bir kapsayıcı + workspace (varsayılan) +- `shared`: paylaşılan kapsayıcı ve workspace (oturumlar arası yalıtım yok) -**OpenShell eklenti yapılandırması:** +**OpenShell Plugin yapılandırması:** ```json5 { @@ -1522,7 +1528,7 @@ Gömülü ajan için isteğe bağlı sandbox kullanımı. Tam kılavuz için bkz remoteAgentWorkspaceDir: "/agent", gateway: "lab", // isteğe bağlı gatewayEndpoint: "https://lab.example", // isteğe bağlı - policy: "strict", // isteğe bağlı OpenShell ilke kimliği + policy: "strict", // isteğe bağlı OpenShell politika id'si providers: ["openai"], // isteğe bağlı autoProviders: true, timeoutSeconds: 120, @@ -1535,32 +1541,32 @@ Gömülü ajan için isteğe bağlı sandbox kullanımı. Tam kılavuz için bkz **OpenShell modu:** -- `mirror`: `exec` öncesinde uzağı yerelden tohumlar, `exec` sonrasında geri eşitler; yerel çalışma alanı standart kaynak olarak kalır -- `remote`: sandbox oluşturulduğunda uzağı bir kez tohumlar, ardından uzak çalışma alanını standart kaynak olarak tutar +- `mirror`: exec öncesinde uzağı yerelden tohumla, exec sonrasında geri eşitle; yerel workspace kurallı kalır +- `remote`: sandbox oluşturulduğunda uzağı bir kez tohumla, ardından uzak workspace'i kurallı tut -`remote` modunda, OpenClaw dışında ana makinede yapılan yerel düzenlemeler tohumlama adımından sonra otomatik olarak sandbox'a eşitlenmez. -Taşıma katmanı OpenShell sandbox'ına SSH'dir, ancak sandbox yaşam döngüsüne ve isteğe bağlı mirror eşitlemeye eklenti sahip olur. +`remote` modunda, tohumlama adımından sonra OpenClaw dışında yapılan host-yerel düzenlemeler sandbox içine otomatik olarak eşitlenmez. +Taşıma SSH üzerinden OpenShell sandbox'ına yapılır, ancak sandbox yaşam döngüsü ve isteğe bağlı yansıtma eşitlemesi Plugin tarafından yönetilir. **`setupCommand`**, kapsayıcı oluşturulduktan sonra bir kez çalışır (`sh -lc` ile). Ağ çıkışı, yazılabilir kök ve root kullanıcı gerekir. -**Kapsayıcılar varsayılan olarak `network: "none"` kullanır** — ajanın dış erişime ihtiyacı varsa `"bridge"` (veya özel bir bridge ağı) olarak ayarlayın. +**Kapsayıcıların varsayılanı `network: "none"`** — agent'ın dış erişime ihtiyacı varsa `"bridge"` (veya özel bir bridge ağı) olarak ayarlayın. `"host"` engellenir. `"container:"` varsayılan olarak engellenir; ancak açıkça -`sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true` ayarlarsanız izin verilir (acil durum). +`sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true` ayarlarsanız izin verilir (acil durum modu). -**Gelen ekler**, etkin çalışma alanındaki `media/inbound/*` içine hazırlanır. +**Gelen ekler**, etkin workspace içinde `media/inbound/*` altına hazırlanır. -**`docker.binds`**, ek ana makine dizinlerini bağlar; genel ve ajan başına bağlar birleştirilir. +**`docker.binds`**, ek host dizinlerini bağlar; genel ve agent başına bind'ler birleştirilir. -**Sandbox tarayıcısı** (`sandbox.browser.enabled`): kapsayıcı içinde Chromium + CDP. noVNC URL'si sistem istemine enjekte edilir. `openclaw.json` içinde `browser.enabled` gerektirmez. -noVNC gözlemci erişimi varsayılan olarak VNC kimlik doğrulamasını kullanır ve OpenClaw, paylaşılan URL içinde parolayı açığa çıkarmak yerine kısa ömürlü bir token URL'si üretir. +**Sandbox tarayıcı** (`sandbox.browser.enabled`): kapsayıcı içinde Chromium + CDP. noVNC URL'si sistem istemine eklenir. `openclaw.json` içinde `browser.enabled` gerektirmez. +noVNC gözlemci erişimi varsayılan olarak VNC kimlik doğrulamasını kullanır ve OpenClaw, parolayı paylaşılan URL'de açığa çıkarmak yerine kısa ömürlü bir token URL'si üretir. -- `allowHostControl: false` (varsayılan), sandbox'lı oturumların ana makine tarayıcısını hedeflemesini engeller. -- `network` varsayılan olarak `openclaw-sandbox-browser` kullanır (özel bridge ağı). Yalnızca açıkça genel bridge bağlantısı istediğinizde `bridge` olarak ayarlayın. -- `cdpSourceRange`, kapsayıcı kenarında CDP girişini isteğe bağlı olarak bir CIDR aralığıyla sınırlar (örneğin `172.21.0.1/32`). -- `sandbox.browser.binds`, ek ana makine dizinlerini yalnızca sandbox tarayıcı kapsayıcısına bağlar. Ayarlandığında (`[]` dahil), tarayıcı kapsayıcısı için `docker.binds` değerinin yerini alır. -- Başlatma varsayılanları `scripts/sandbox-browser-entrypoint.sh` içinde tanımlanır ve kapsayıcı ana makineleri için ayarlanmıştır: +- `allowHostControl: false` (varsayılan), sandbox oturumlarının host tarayıcıyı hedeflemesini engeller. +- `network` varsayılan olarak `openclaw-sandbox-browser` değerini kullanır (özel bridge ağı). Yalnızca genel bridge bağlantısını açıkça istediğinizde `bridge` olarak ayarlayın. +- `cdpSourceRange`, isteğe bağlı olarak kapsayıcı kenarında CDP girişini bir CIDR aralığıyla sınırlar (örneğin `172.21.0.1/32`). +- `sandbox.browser.binds`, ek host dizinlerini yalnızca sandbox tarayıcı kapsayıcısına bağlar. Ayarlandığında (`[]` dahil), tarayıcı kapsayıcısı için `docker.binds` değerinin yerine geçer. +- Başlatma varsayılanları `scripts/sandbox-browser-entrypoint.sh` içinde tanımlanır ve kapsayıcı host'ları için ayarlanmıştır: - `--remote-debugging-address=127.0.0.1` - - `--remote-debugging-port=` + - `--remote-debugging-port=` - `--user-data-dir=${HOME}/.chrome` - `--no-first-run` - `--no-default-browser-check` @@ -1577,29 +1583,29 @@ noVNC gözlemci erişimi varsayılan olarak VNC kimlik doğrulamasını kullanı - `--metrics-recording-only` - `--disable-extensions` (varsayılan olarak etkin) - `--disable-3d-apis`, `--disable-software-rasterizer` ve `--disable-gpu` - varsayılan olarak etkindir ve WebGL/3D kullanımı bunu gerektiriyorsa + varsayılan olarak etkindir; WebGL/3D kullanımı gerektiriyorsa `OPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0` ile devre dışı bırakılabilir. - - `OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0`, iş akışınız - bunlara bağlıysa uzantıları yeniden etkinleştirir. + - İş akışınız buna bağlıysa uzantıları yeniden etkinleştirmek için + `OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0` kullanın. - `--renderer-process-limit=2`, `OPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=` ile değiştirilebilir; Chromium'un - varsayılan süreç sınırını kullanmak için `0` ayarlayın. - - ayrıca `noSandbox` etkinse `--no-sandbox` ve `--disable-setuid-sandbox`. - - Varsayılanlar kapsayıcı görselinin temel ayarlarıdır; kapsayıcı varsayılanlarını değiştirmek için özel - bir entrypoint içeren özel bir tarayıcı görseli kullanın. + varsayılan işlem sınırını kullanmak için `0` ayarlayın. + - ayrıca `noSandbox` etkin olduğunda `--no-sandbox` ve `--disable-setuid-sandbox`. + - Varsayılanlar kapsayıcı imajı temel çizgisidir; kapsayıcı varsayılanlarını değiştirmek için + özel bir entrypoint'e sahip özel bir tarayıcı imajı kullanın. Tarayıcı sandbox kullanımı ve `sandbox.docker.binds` yalnızca Docker içindir. -İmajları oluşturun: +İmajları derleyin: ```bash scripts/sandbox-setup.sh # ana sandbox imajı scripts/sandbox-browser-setup.sh # isteğe bağlı tarayıcı imajı ``` -### `agents.list` (ajan başına geçersiz kılmalar) +### `agents.list` (agent başına geçersiz kılmalar) ```json5 { @@ -1612,9 +1618,9 @@ scripts/sandbox-browser-setup.sh # isteğe bağlı tarayıcı imajı workspace: "~/.openclaw/workspace", agentDir: "~/.openclaw/agents/main/agent", model: "anthropic/claude-opus-4-6", // veya { primary, fallbacks } - thinkingDefault: "high", // ajan başına thinking düzeyi geçersiz kılması - reasoningDefault: "on", // ajan başına reasoning görünürlüğü geçersiz kılması - fastModeDefault: false, // ajan başına fast mode geçersiz kılması + thinkingDefault: "high", // agent başına thinking düzeyi geçersiz kılması + reasoningDefault: "on", // agent başına reasoning görünürlüğü geçersiz kılması + fastModeDefault: false, // agent başına hızlı mod geçersiz kılması embeddedHarness: { runtime: "auto", fallback: "pi" }, params: { cacheRetention: "none" }, // eşleşen defaults.models params değerlerini anahtar bazında geçersiz kılar skills: ["docs-search"], // ayarlandığında agents.defaults.skills değerinin yerine geçer @@ -1648,27 +1654,27 @@ scripts/sandbox-browser-setup.sh # isteğe bağlı tarayıcı imajı } ``` -- `id`: sabit ajan kimliği (zorunlu). -- `default`: birden fazla ayarlanırsa ilki kazanır (uyarı günlüğe kaydedilir). Hiçbiri ayarlanmazsa listedeki ilk giriş varsayılan olur. -- `model`: dize biçimi yalnızca `primary` değerini geçersiz kılar; nesne biçimi `{ primary, fallbacks }` her ikisini de geçersiz kılar (`[]`, genel fallback'leri devre dışı bırakır). Yalnızca `primary` değerini geçersiz kılan cron işleri, siz `fallbacks: []` ayarlamadığınız sürece varsayılan fallback'leri yine de devralır. -- `params`: `agents.defaults.models` içindeki seçili model girdisinin üzerine birleştirilen ajan başına akış parametreleri. Tüm model kataloğunu çoğaltmadan `cacheRetention`, `temperature` veya `maxTokens` gibi ajana özgü geçersiz kılmalar için bunu kullanın. -- `skills`: isteğe bağlı ajan başına skill izin listesi. Atlanırsa ajan, ayarlıysa `agents.defaults.skills` değerini devralır; açık bir liste varsayılanlarla birleşmek yerine onların yerini alır ve `[]` skill olmadığı anlamına gelir. -- `thinkingDefault`: isteğe bağlı ajan başına varsayılan thinking düzeyi (`off | minimal | low | medium | high | xhigh | adaptive`). Mesaj başına veya oturum düzeyinde bir geçersiz kılma ayarlanmadığında bu ajan için `agents.defaults.thinkingDefault` değerini geçersiz kılar. -- `reasoningDefault`: isteğe bağlı ajan başına varsayılan reasoning görünürlüğü (`on | off | stream`). Mesaj başına veya oturum düzeyinde bir reasoning geçersiz kılması ayarlanmadığında uygulanır. -- `fastModeDefault`: isteğe bağlı ajan başına fast mode varsayılanı (`true | false`). Mesaj başına veya oturum düzeyinde bir fast-mode geçersiz kılması ayarlanmadığında uygulanır. -- `embeddedHarness`: isteğe bağlı ajan başına alt düzey harness ilkesi geçersiz kılması. Bir ajanı yalnızca Codex yaparken diğer ajanların varsayılan PI fallback'ini koruması için `{ runtime: "codex", fallback: "none" }` kullanın. -- `runtime`: isteğe bağlı ajan başına çalışma zamanı tanımlayıcısı. Ajanın varsayılan olarak ACP harness oturumları kullanması gerekiyorsa `runtime.acp` varsayılanlarıyla (`agent`, `backend`, `mode`, `cwd`) birlikte `type: "acp"` kullanın. -- `identity.avatar`: çalışma alanına göreli yol, `http(s)` URL'si veya `data:` URI'si. -- `identity`, varsayılanları türetir: `ackReaction` değerini `emoji` üzerinden, `mentionPatterns` değerini `name`/`emoji` üzerinden. -- `subagents.allowAgents`: `sessions_spawn` için ajan kimliği izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı ajan). -- Sandbox devralma koruması: istekte bulunan oturum sandbox'lıysa `sessions_spawn`, sandbox olmadan çalışacak hedefleri reddeder. -- `subagents.requireAgentId`: true olduğunda `agentId` atlayan `sessions_spawn` çağrılarını engeller (açık profil seçimini zorunlu kılar; varsayılan: false). +- `id`: kararlı agent kimliği (zorunlu). +- `default`: birden fazla ayarlandığında ilki kazanır (uyarı günlüğe yazılır). Hiçbiri ayarlanmamışsa ilk liste girdisi varsayılandır. +- `model`: dize biçimi yalnızca `primary` değerini geçersiz kılar; nesne biçimi `{ primary, fallbacks }` her ikisini de geçersiz kılar (`[]`, genel yedekleri devre dışı bırakır). Yalnızca `primary` geçersiz kılan Cron işleri, `fallbacks: []` ayarlamadığınız sürece varsayılan yedekleri devralmaya devam eder. +- `params`: `agents.defaults.models` içindeki seçili model girdisinin üzerine birleştirilen agent başına akış parametreleri. Tüm model kataloğunu çoğaltmadan `cacheRetention`, `temperature` veya `maxTokens` gibi agent'a özgü geçersiz kılmalar için bunu kullanın. +- `skills`: isteğe bağlı agent başına skill izin listesi. Atlanırsa agent, ayarlı olduğunda `agents.defaults.skills` değerini devralır; açık bir liste varsayılanlarla birleştirilmek yerine onların yerini alır ve `[]` skill olmadığı anlamına gelir. +- `thinkingDefault`: isteğe bağlı agent başına varsayılan thinking düzeyi (`off | minimal | low | medium | high | xhigh | adaptive`). Mesaj başına veya oturum geçersiz kılması ayarlanmadığında bu agent için `agents.defaults.thinkingDefault` değerini geçersiz kılar. +- `reasoningDefault`: isteğe bağlı agent başına varsayılan reasoning görünürlüğü (`on | off | stream`). Mesaj başına veya oturum reasoning geçersiz kılması ayarlanmadığında uygulanır. +- `fastModeDefault`: isteğe bağlı agent başına hızlı mod varsayılanı (`true | false`). Mesaj başına veya oturum hızlı mod geçersiz kılması ayarlanmadığında uygulanır. +- `embeddedHarness`: isteğe bağlı agent başına düşük seviyeli harness ilkesi geçersiz kılması. Bir agent'ı yalnızca Codex yaparken diğer agent'ların varsayılan PI geri dönüşünü koruması için `{ runtime: "codex", fallback: "none" }` kullanın. +- `runtime`: isteğe bağlı agent başına çalışma zamanı tanımlayıcısı. Agent varsayılan olarak ACP harness oturumları kullanacaksa `runtime.acp` varsayılanları (`agent`, `backend`, `mode`, `cwd`) ile `type: "acp"` kullanın. +- `identity.avatar`: workspace'e göreli yol, `http(s)` URL'si veya `data:` URI. +- `identity`, varsayılanları türetir: `emoji` değerinden `ackReaction`, `name`/`emoji` değerlerinden `mentionPatterns`. +- `subagents.allowAgents`: `sessions_spawn` için agent kimlikleri izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı agent). +- Sandbox devralma koruması: istekte bulunan oturum sandbox içindeyse `sessions_spawn`, sandbox olmadan çalışacak hedefleri reddeder. +- `subagents.requireAgentId`: true olduğunda `agentId` belirtilmeyen `sessions_spawn` çağrılarını engeller (açık profil seçimini zorlar; varsayılan: false). --- -## Çoklu ajan yönlendirmesi +## Çok agent'lı yönlendirme -Tek bir Gateway içinde birden fazla yalıtılmış ajan çalıştırın. Bkz. [Multi-Agent](/tr/concepts/multi-agent). +Tek bir Gateway içinde birden fazla yalıtılmış agent çalıştırın. Bkz. [Çoklu Agent](/tr/concepts/multi-agent). ```json5 { @@ -1685,11 +1691,11 @@ Tek bir Gateway içinde birden fazla yalıtılmış ajan çalıştırın. Bkz. [ } ``` -### Bağlama eşleşme alanları +### Binding eşleşme alanları -- `type` (isteğe bağlı): normal yönlendirme için `route` (tip eksikse varsayılan `route` olur), kalıcı ACP konuşma bağları için `acp`. +- `type` (isteğe bağlı): normal yönlendirme için `route` (eksik type varsayılan olarak route olur), kalıcı ACP konuşma bağları için `acp`. - `match.channel` (zorunlu) -- `match.accountId` (isteğe bağlı; `*` = herhangi bir hesap; atlanırsa = varsayılan hesap) +- `match.accountId` (isteğe bağlı; `*` = herhangi hesap; atlanırsa = varsayılan hesap) - `match.peer` (isteğe bağlı; `{ kind: direct|group|channel, id }`) - `match.guildId` / `match.teamId` (isteğe bağlı; kanala özgü) - `acp` (isteğe bağlı; yalnızca `type: "acp"` için): `{ mode, label, cwd, backend }` @@ -1701,13 +1707,13 @@ Tek bir Gateway içinde birden fazla yalıtılmış ajan çalıştırın. Bkz. [ 3. `match.teamId` 4. `match.accountId` (tam eşleşme, peer/guild/team olmadan) 5. `match.accountId: "*"` (kanal genelinde) -6. Varsayılan ajan +6. Varsayılan agent -Her katmanda, eşleşen ilk `bindings` girdisi kazanır. +Her katmanda ilk eşleşen `bindings` girdisi kazanır. -`type: "acp"` girdileri için OpenClaw, tam konuşma kimliğine göre çözümler (`match.channel` + hesap + `match.peer.id`) ve yukarıdaki route bağlama katman sırasını kullanmaz. +`type: "acp"` girdileri için OpenClaw, tam konuşma kimliğine göre çözümler (`match.channel` + hesap + `match.peer.id`) ve yukarıdaki route binding katman sırasını kullanmaz. -### Ajan başına erişim profilleri +### Agent başına erişim profilleri @@ -1727,7 +1733,7 @@ Her katmanda, eşleşen ilk `bindings` girdisi kazanır. - + ```json5 { @@ -1802,7 +1808,7 @@ Her katmanda, eşleşen ilk `bindings` girdisi kazanır. -Öncelik ayrıntıları için bkz. [Multi-Agent Sandbox & Tools](/tr/tools/multi-agent-sandbox-tools). +Öncelik ayrıntıları için bkz. [Çoklu Agent Sandbox & Araçlar](/tr/tools/multi-agent-sandbox-tools). --- @@ -1828,22 +1834,22 @@ Her katmanda, eşleşen ilk `bindings` girdisi kazanır. }, resetTriggers: ["/new", "/reset"], store: "~/.openclaw/agents/{agentId}/sessions/sessions.json", - parentForkMaxTokens: 100000, // bu token sayısının üzerinde üst iş parçacığı fork'u atlanır (0 devre dışı bırakır) + parentForkMaxTokens: 100000, // bu token sayısının üzerinde parent-thread fork işlemini atla (0 devre dışı bırakır) maintenance: { mode: "warn", // warn | enforce pruneAfter: "30d", maxEntries: 500, rotateBytes: "10mb", resetArchiveRetention: "30d", // süre veya false - maxDiskBytes: "500mb", // isteğe bağlı kesin bütçe - highWaterBytes: "400mb", // isteğe bağlı temizleme hedefi + maxDiskBytes: "500mb", // isteğe bağlı katı bütçe + highWaterBytes: "400mb", // isteğe bağlı temizlik hedefi }, threadBindings: { enabled: true, - idleHours: 24, // etkinliksizlik nedeniyle varsayılan otomatik odak kaldırma saati (`0` devre dışı bırakır) - maxAgeHours: 0, // varsayılan kesin azami yaş saati (`0` devre dışı bırakır) + idleHours: 24, // varsayılan hareketsizlik nedeniyle otomatik odak kaldırma süresi, saat cinsinden (`0` devre dışı bırakır) + maxAgeHours: 0, // varsayılan sert maksimum yaş, saat cinsinden (`0` devre dışı bırakır) }, - mainKey: "main", // eski kullanım (çalışma zamanı her zaman "main" kullanır) + mainKey: "main", // eski (çalışma zamanı her zaman "main" kullanır) agentToAgent: { maxPingPongTurns: 5 }, sendPolicy: { rules: [{ action: "deny", match: { channel: "discord", chatType: "group" } }], @@ -1856,34 +1862,34 @@ Her katmanda, eşleşen ilk `bindings` girdisi kazanır. - **`scope`**: grup sohbeti bağlamları için temel oturum gruplama stratejisi. - - `per-sender` (varsayılan): her gönderen, bir kanal bağlamı içinde yalıtılmış bir oturum alır. - - `global`: bir kanal bağlamındaki tüm katılımcılar tek bir oturumu paylaşır (yalnızca paylaşılan bağlam amaçlandığında kullanın). -- **`dmScope`**: DM'lerin nasıl gruplandığı. + - `per-sender` (varsayılan): her gönderici, kanal bağlamı içinde yalıtılmış bir oturum alır. + - `global`: kanal bağlamındaki tüm katılımcılar tek bir oturumu paylaşır (yalnızca paylaşılan bağlam amaçlandığında kullanın). +- **`dmScope`**: DM'lerin nasıl gruplanacağı. - `main`: tüm DM'ler ana oturumu paylaşır. - - `per-peer`: kanallar arasında gönderen kimliğine göre yalıtır. - - `per-channel-peer`: kanal + gönderen başına yalıtır (çok kullanıcılı gelen kutuları için önerilir). - - `per-account-channel-peer`: hesap + kanal + gönderen başına yalıtır (çok hesaplı kullanım için önerilir). -- **`identityLinks`**: kanallar arası oturum paylaşımı için standart kimlikleri sağlayıcı önekli eşlere eşler. -- **`reset`**: birincil sıfırlama ilkesi. `daily`, yerel saatte `atHour` zamanında sıfırlar; `idle`, `idleMinutes` sonrasında sıfırlar. Her ikisi de yapılandırılmışsa önce süresi dolan kazanır. -- **`resetByType`**: türe göre geçersiz kılmalar (`direct`, `group`, `thread`). Eski `dm`, `direct` için takma ad olarak kabul edilir. -- **`parentForkMaxTokens`**: çatallı bir iş parçacığı oturumu oluştururken izin verilen azami üst oturum `totalTokens` değeri (varsayılan `100000`). + - `per-peer`: kanallar genelinde gönderici kimliğine göre yalıtır. + - `per-channel-peer`: kanal + gönderici başına yalıtır (çok kullanıcılı gelen kutuları için önerilir). + - `per-account-channel-peer`: hesap + kanal + gönderici başına yalıtır (çok hesaplı kullanım için önerilir). +- **`identityLinks`**: kanallar arası oturum paylaşımı için kurallı kimlikleri sağlayıcı önekli eşlere eşler. +- **`reset`**: birincil sıfırlama ilkesi. `daily`, yerel saatte `atHour` anında sıfırlar; `idle`, `idleMinutes` sonrasında sıfırlar. Her ikisi de yapılandırıldığında, hangisinin süresi önce dolarsa o kazanır. +- **`resetByType`**: tür başına geçersiz kılmalar (`direct`, `group`, `thread`). Eski `dm`, `direct` için takma ad olarak kabul edilir. +- **`parentForkMaxTokens`**: çatallanmış iş parçacığı oturumu oluştururken izin verilen en yüksek üst oturum `totalTokens` değeri (varsayılan `100000`). - Üst `totalTokens` bu değerin üzerindeyse OpenClaw, üst transcript geçmişini devralmak yerine yeni bir iş parçacığı oturumu başlatır. - Bu korumayı devre dışı bırakmak ve üst çatallamaya her zaman izin vermek için `0` ayarlayın. -- **`mainKey`**: eski alan. Çalışma zamanı, ana doğrudan sohbet bölmesi için her zaman `"main"` kullanır. -- **`agentToAgent.maxPingPongTurns`**: ajandan ajana değişimlerde ajanlar arasındaki azami geri yanıt turu sayısı (tamsayı, aralık: `0`–`5`). `0`, ping-pong zincirlemeyi devre dışı bırakır. -- **`sendPolicy`**: `channel`, `chatType` (`direct|group|channel`, eski `dm` takma adıyla birlikte), `keyPrefix` veya `rawKeyPrefix` ile eşleştirir. İlk ret kazanır. -- **`maintenance`**: oturum deposu temizleme + saklama denetimleri. +- **`mainKey`**: eski alan. Çalışma zamanı, ana doğrudan sohbet kovası için her zaman `"main"` kullanır. +- **`agentToAgent.maxPingPongTurns`**: agent'tan agent'a alışverişlerde agent'lar arasındaki en fazla geri yanıt dönüşü (tam sayı, aralık: `0`–`5`). `0`, ping-pong zincirlemeyi devre dışı bırakır. +- **`sendPolicy`**: `channel`, `chatType` (`direct|group|channel`, eski `dm` takma adıyla), `keyPrefix` veya `rawKeyPrefix` ile eşleştirin. İlk deny kazanır. +- **`maintenance`**: oturum deposu temizliği + saklama denetimleri. - `mode`: `warn` yalnızca uyarı üretir; `enforce` temizliği uygular. - - `pruneAfter`: eski girdiler için yaş kesme noktası (varsayılan `30d`). - - `maxEntries`: `sessions.json` içindeki azami girdi sayısı (varsayılan `500`). - - `rotateBytes`: `sessions.json` bu boyutu aştığında döndürür (varsayılan `10mb`). - - `resetArchiveRetention`: `*.reset.` transcript arşivleri için saklama süresi. Varsayılan olarak `pruneAfter`; devre dışı bırakmak için `false` ayarlayın. - - `maxDiskBytes`: oturumlar dizini için isteğe bağlı disk bütçesi. `warn` modunda uyarı günlüğe kaydeder; `enforce` modunda önce en eski yapıtları/oturumları kaldırır. + - `pruneAfter`: bayat girdiler için yaş kesimi (varsayılan `30d`). + - `maxEntries`: `sessions.json` içindeki en yüksek girdi sayısı (varsayılan `500`). + - `rotateBytes`: `sessions.json` bu boyutu aştığında döndürülür (varsayılan `10mb`). + - `resetArchiveRetention`: `*.reset.` transcript arşivleri için saklama süresi. Varsayılan olarak `pruneAfter` kullanılır; devre dışı bırakmak için `false` ayarlayın. + - `maxDiskBytes`: isteğe bağlı oturumlar dizini disk bütçesi. `warn` modunda uyarı yazar; `enforce` modunda en eski artifaktları/oturumları önce kaldırır. - `highWaterBytes`: bütçe temizliğinden sonraki isteğe bağlı hedef. Varsayılan olarak `maxDiskBytes` değerinin `%80`'idir. - **`threadBindings`**: iş parçacığına bağlı oturum özellikleri için genel varsayılanlar. - `enabled`: ana varsayılan anahtar (sağlayıcılar geçersiz kılabilir; Discord `channels.discord.threadBindings.enabled` kullanır) - - `idleHours`: etkinliksizlik nedeniyle otomatik odak kaldırma için saat cinsinden varsayılan süre (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) - - `maxAgeHours`: saat cinsinden varsayılan kesin azami yaş (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) + - `idleHours`: hareketsizlik nedeniyle otomatik odak kaldırma için varsayılan saat değeri (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) + - `maxAgeHours`: sert maksimum yaş için varsayılan saat değeri (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) @@ -1923,34 +1929,34 @@ Her katmanda, eşleşen ilk `bindings` girdisi kazanır. Kanal/hesap başına geçersiz kılmalar: `channels..responsePrefix`, `channels..accounts..responsePrefix`. -Çözümleme (en özel olan kazanır): hesap → kanal → genel. `""` devre dışı bırakır ve zincirlemeyi durdurur. `"auto"`, `[{identity.name}]` üretir. +Çözümleme (en özeli kazanır): hesap → kanal → genel. `""` devre dışı bırakır ve zincirlemeyi durdurur. `"auto"` değeri `[{identity.name}]` türetir. **Şablon değişkenleri:** -| Değişken | Açıklama | Örnek | -| ---------------- | --------------------- | -------------------------- | -| `{model}` | Kısa model adı | `claude-opus-4-6` | -| `{modelFull}` | Tam model tanımlayıcısı | `anthropic/claude-opus-4-6` | -| `{provider}` | Sağlayıcı adı | `anthropic` | -| `{thinkingLevel}`| Geçerli thinking düzeyi | `high`, `low`, `off` | -| `{identity.name}`| Ajan kimlik adı | (`"auto"` ile aynı) | +| Değişken | Açıklama | Örnek | +| ---------------- | ---------------------- | --------------------------- | +| `{model}` | Kısa model adı | `claude-opus-4-6` | +| `{modelFull}` | Tam model tanımlayıcısı| `anthropic/claude-opus-4-6` | +| `{provider}` | Sağlayıcı adı | `anthropic` | +| `{thinkingLevel}`| Geçerli thinking düzeyi| `high`, `low`, `off` | +| `{identity.name}`| Agent kimlik adı | (`"auto"` ile aynı) | Değişkenler büyük/küçük harfe duyarsızdır. `{think}`, `{thinkingLevel}` için bir takma addır. -### Ack tepkisi +### Onay tepkisi -- Varsayılan olarak etkin ajanın `identity.emoji` değerini kullanır, yoksa `"👀"` kullanılır. Devre dışı bırakmak için `""` ayarlayın. +- Varsayılan olarak etkin agent'ın `identity.emoji` değeri, aksi halde `"👀"` kullanılır. Devre dışı bırakmak için `""` ayarlayın. - Kanal başına geçersiz kılmalar: `channels..ackReaction`, `channels..accounts..ackReaction`. -- Çözümleme sırası: hesap → kanal → `messages.ackReaction` → kimlik yedeği. +- Çözümleme sırası: hesap → kanal → `messages.ackReaction` → kimlik geri dönüşü. - Kapsam: `group-mentions` (varsayılan), `group-all`, `direct`, `all`. -- `removeAckAfterReply`, Slack, Discord ve Telegram'da yanıttan sonra ack'i kaldırır. -- `messages.statusReactions.enabled`, Slack, Discord ve Telegram'da yaşam döngüsü durum tepkilerini etkinleştirir. - Slack ve Discord'da ayarlanmamış olması, ack tepkileri etkin olduğunda durum tepkilerini etkin tutar. - Telegram'da yaşam döngüsü durum tepkilerini etkinleştirmek için bunu açıkça `true` yapın. +- `removeAckAfterReply`: Slack, Discord ve Telegram'da yanıttan sonra onayı kaldırır. +- `messages.statusReactions.enabled`: Slack, Discord ve Telegram'da yaşam döngüsü durum tepkilerini etkinleştirir. + Slack ve Discord'da ayarlanmamış olması, onay tepkileri etkin olduğunda durum tepkilerini etkin tutar. + Telegram'da yaşam döngüsü durum tepkilerini etkinleştirmek için bunu açıkça `true` olarak ayarlayın. ### Gelen debounce -Aynı gönderenden gelen hızlı, yalnızca metin içeren mesajları tek bir ajan turunda toplar. Medya/ekler hemen flush edilir. Kontrol komutları debounce mekanizmasını atlar. +Aynı göndericiden gelen hızlı, yalnızca metin içeren mesajları tek bir agent dönüşünde toplar. Medya/ekler hemen boşaltılır. Kontrol komutları debounce'u atlar. ### TTS (metinden konuşmaya) @@ -1993,12 +1999,12 @@ Aynı gönderenden gelen hızlı, yalnızca metin içeren mesajları tek bir aja } ``` -- `auto`, varsayılan otomatik TTS modunu denetler: `off`, `always`, `inbound` veya `tagged`. `/tts on|off` yerel tercihleri geçersiz kılabilir ve `/tts status` etkin durumu gösterir. -- `summaryModel`, otomatik özetleme için `agents.defaults.model.primary` değerini geçersiz kılar. -- `modelOverrides` varsayılan olarak etkindir; `modelOverrides.allowProvider` varsayılan olarak `false` değerindedir (isteğe bağlı etkinleştirme gerekir). -- API anahtarları yedek olarak `ELEVENLABS_API_KEY`/`XI_API_KEY` ve `OPENAI_API_KEY` kullanır. -- `openai.baseUrl`, OpenAI TTS uç noktasını geçersiz kılar. Çözümleme sırası yapılandırma, ardından `OPENAI_TTS_BASE_URL`, ardından `https://api.openai.com/v1` şeklindedir. -- `openai.baseUrl`, OpenAI dışı bir uç noktayı işaret ettiğinde OpenClaw bunu OpenAI uyumlu bir TTS sunucusu olarak ele alır ve model/ses doğrulamasını gevşetir. +- `auto`, varsayılan otomatik TTS modunu kontrol eder: `off`, `always`, `inbound` veya `tagged`. `/tts on|off` yerel tercihleri geçersiz kılabilir ve `/tts status` etkin durumu gösterir. +- `summaryModel`, otomatik özet için `agents.defaults.model.primary` değerini geçersiz kılar. +- `modelOverrides` varsayılan olarak etkindir; `modelOverrides.allowProvider` varsayılan olarak `false` değerindedir (isteğe bağlı etkinleştirme). +- API anahtarları için geri dönüşler `ELEVENLABS_API_KEY`/`XI_API_KEY` ve `OPENAI_API_KEY`'dir. +- `openai.baseUrl`, OpenAI TTS uç noktasını geçersiz kılar. Çözümleme sırası: yapılandırma, ardından `OPENAI_TTS_BASE_URL`, ardından `https://api.openai.com/v1`. +- `openai.baseUrl` OpenAI dışı bir uç noktayı işaret ettiğinde OpenClaw bunu OpenAI uyumlu bir TTS sunucusu olarak değerlendirir ve model/ses doğrulamasını gevşetir. --- @@ -2030,11 +2036,11 @@ Talk modu için varsayılanlar (macOS/iOS/Android). - Birden fazla Talk sağlayıcısı yapılandırıldığında `talk.provider`, `talk.providers` içindeki bir anahtarla eşleşmelidir. - Eski düz Talk anahtarları (`talk.voiceId`, `talk.voiceAliases`, `talk.modelId`, `talk.outputFormat`, `talk.apiKey`) yalnızca uyumluluk içindir ve otomatik olarak `talk.providers.` içine taşınır. -- Ses kimlikleri yedek olarak `ELEVENLABS_VOICE_ID` veya `SAG_VOICE_ID` kullanır. +- Ses kimlikleri için geri dönüşler `ELEVENLABS_VOICE_ID` veya `SAG_VOICE_ID` değerleridir. - `providers.*.apiKey`, düz metin dizeleri veya SecretRef nesnelerini kabul eder. -- `ELEVENLABS_API_KEY` yedeği yalnızca hiçbir Talk API anahtarı yapılandırılmadığında uygulanır. +- `ELEVENLABS_API_KEY` geri dönüşü yalnızca hiçbir Talk API anahtarı yapılandırılmadığında uygulanır. - `providers.*.voiceAliases`, Talk yönergelerinin kolay adlar kullanmasına izin verir. -- `silenceTimeoutMs`, Talk modunun transcript'i göndermeden önce kullanıcı sessizliğinden sonra ne kadar bekleyeceğini denetler. Ayarlanmamışsa platform varsayılan duraklama penceresi korunur (`macOS ve Android'de 700 ms, iOS'ta 900 ms`). +- `silenceTimeoutMs`, Talk modunun transcript'i göndermeden önce kullanıcı sessizliğinden sonra ne kadar bekleyeceğini kontrol eder. Ayarlanmamışsa platform varsayılan duraklama penceresi korunur (`macOS ve Android'de 700 ms, iOS'ta 900 ms`). --- @@ -2044,35 +2050,35 @@ Talk modu için varsayılanlar (macOS/iOS/Android). `tools.profile`, `tools.allow`/`tools.deny` öncesinde temel bir izin listesi ayarlar: -Yerel onboarding, ayarlanmamış yeni yerel yapılandırmalarda varsayılan olarak `tools.profile: "coding"` kullanır (mevcut açık profiller korunur). +Yerel onboarding, ayarlanmamış yeni yerel yapılandırmaları varsayılan olarak `tools.profile: "coding"` ile oluşturur (mevcut açık profiller korunur). | Profil | İçerir | | ----------- | ------------------------------------------------------------------------------------------------------------------------------- | | `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 yoktur (ayarlanmamış ile aynıdır) | +| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` | +| `full` | Kısıtlama yok (ayarlanmamış ile aynı) | ### Araç grupları -| Grup | Araçlar | -| ------------------ | ---------------------------------------------------------------------------------------------------------------------- | -| `group:runtime` | `exec`, `process`, `code_execution` (`bash`, `exec` için takma ad olarak kabul edilir) | -| `group:fs` | `read`, `write`, `edit`, `apply_patch` | +| Grup | Araçlar | +| ------------------ | ----------------------------------------------------------------------------------------------------------------------- | +| `group:runtime` | `exec`, `process`, `code_execution` (`bash`, `exec` için takma ad olarak kabul edilir) | +| `group:fs` | `read`, `write`, `edit`, `apply_patch` | | `group:sessions` | `sessions_list`, `sessions_history`, `sessions_send`, `sessions_spawn`, `sessions_yield`, `subagents`, `session_status` | -| `group:memory` | `memory_search`, `memory_get` | -| `group:web` | `web_search`, `x_search`, `web_fetch` | -| `group:ui` | `browser`, `canvas` | -| `group:automation` | `cron`, `gateway` | -| `group:messaging` | `message` | -| `group:nodes` | `nodes` | -| `group:agents` | `agents_list` | -| `group:media` | `image`, `image_generate`, `video_generate`, `tts` | -| `group:openclaw` | Tüm yerleşik araçlar (sağlayıcı eklentileri hariç) | +| `group:memory` | `memory_search`, `memory_get` | +| `group:web` | `web_search`, `x_search`, `web_fetch` | +| `group:ui` | `browser`, `canvas` | +| `group:automation` | `cron`, `gateway` | +| `group:messaging` | `message` | +| `group:nodes` | `nodes` | +| `group:agents` | `agents_list` | +| `group:media` | `image`, `image_generate`, `video_generate`, `tts` | +| `group:openclaw` | Tüm yerleşik araçlar (sağlayıcı Plugin'leri hariç) | ### `tools.allow` / `tools.deny` -Genel araç izin/verme politikası (ret kazanır). Büyük/küçük harfe duyarsızdır, `*` joker karakterlerini destekler. Docker sandbox kapalı olduğunda bile uygulanır. +Genel araç izin/verme engelleme ilkesi (deny kazanır). Büyük/küçük harfe duyarsızdır, `*` joker karakterlerini destekler. Docker sandbox kapalıyken bile uygulanır. ```json5 { @@ -2082,7 +2088,7 @@ Genel araç izin/verme politikası (ret kazanır). Büyük/küçük harfe duyars ### `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 → allow/deny. +Belirli sağlayıcılar veya modeller için araçları daha da kısıtlayın. Sıra: temel profil → sağlayıcı profili → allow/deny. ```json5 { @@ -2098,7 +2104,7 @@ Belirli sağlayıcılar veya modeller için araçları daha da kısıtlar. Sıra ### `tools.elevated` -Sandbox dışındaki elevated exec erişimini denetler: +Sandbox dışındaki elevated exec erişimini kontrol eder: ```json5 { @@ -2114,9 +2120,9 @@ Sandbox dışındaki elevated exec erişimini denetler: } ``` -- Ajan başına geçersiz kılma (`agents.list[].tools.elevated`) yalnızca daha fazla kısıtlama getirebilir. +- Agent 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 yönergeler tek mesaja uygulanır. -- Elevated `exec`, sandbox kullanımını atlar ve yapılandırılmış kaçış yolunu kullanır (varsayılan olarak `gateway`, `exec` hedefi `node` olduğunda ise `node`). +- Elevated `exec`, sandbox kullanımını atlar ve yapılandırılmış kaçış yolunu kullanır (varsayılan olarak `gateway` veya exec hedefi `node` olduğunda `node`). ### `tools.exec` @@ -2140,8 +2146,8 @@ Sandbox dışındaki elevated exec erişimini denetler: ### `tools.loopDetection` -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` altında tanımlanabilir ve ajan başına `agents.list[].tools.loopDetection` altında geçersiz kılınabilir. +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` altında tanımlanabilir ve agent başına `agents.list[].tools.loopDetection` ile geçersiz kılınabilir. ```json5 { @@ -2162,13 +2168,13 @@ Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve ajan baş } ``` -- `historySize`: döngü analizi için tutulan azami araç çağrısı geçmişi. -- `warningThreshold`: uyarılar için tekrarlayan ilerleme yok kalıbı eşiği. -- `criticalThreshold`: kritik döngüleri engellemek için daha yüksek tekrar eşiği. -- `globalCircuitBreakerThreshold`: ilerleme olmayan herhangi bir çalıştırma için kesin durdurma eşiği. -- `detectors.genericRepeat`: aynı araç/aynı argüman çağrılarında uyarır. -- `detectors.knownPollNoProgress`: bilinen yoklama araçlarında (`process.poll`, `command_status` vb.) uyarır/engeller. -- `detectors.pingPong`: dönüşümlü ilerleme olmayan ikili kalıplarda uyarır/engeller. +- `historySize`: döngü analizi için tutulan en yüksek araç çağrısı geçmişi. +- `warningThreshold`: uyarılar için tekrarlanan ilerleme olmayan desen eşiği. +- `criticalThreshold`: kritik döngüleri engellemek için daha yüksek tekrarlama eşiği. +- `globalCircuitBreakerThreshold`: herhangi bir ilerleme olmayan çalışma için katı durdurma eşiği. +- `detectors.genericRepeat`: aynı araç/aynı argüman çağrılarının tekrarına karşı uyarı verir. +- `detectors.knownPollNoProgress`: bilinen poll araçlarında (`process.poll`, `command_status` vb.) ilerleme olmaması durumunda uyarır/engeller. +- `detectors.pingPong`: dönüşümlü ilerleme olmayan çift desenlerinde uyarır/engeller. - `warningThreshold >= criticalThreshold` veya `criticalThreshold >= globalCircuitBreakerThreshold` ise doğrulama başarısız olur. ### `tools.web` @@ -2179,7 +2185,7 @@ Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve ajan baş web: { search: { enabled: true, - apiKey: "brave_api_key", // veya BRAVE_API_KEY ortam değişkeni + apiKey: "brave_api_key", // veya BRAVE_API_KEY env maxResults: 5, timeoutSeconds: 30, cacheTtlMinutes: 15, @@ -2203,7 +2209,7 @@ Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve ajan baş ### `tools.media` -Gelen medya anlamayı yapılandırır (görsel/ses/video): +Gelen medya anlama işlemini yapılandırır (görsel/ses/video): ```json5 { @@ -2239,8 +2245,8 @@ Gelen medya anlamayı yapılandırır (görsel/ses/video): **Sağlayıcı girdisi** (`type: "provider"` veya atlanmış): -- `provider`: API sağlayıcı kimliği (`openai`, `anthropic`, `google`/`gemini`, `groq` vb.) -- `model`: model kimliği geçersiz kılması +- `provider`: API sağlayıcı id'si (`openai`, `anthropic`, `google`/`gemini`, `groq` vb.) +- `model`: model id geçersiz kılması - `profile` / `preferredProfile`: `auth-profiles.json` profil seçimi **CLI girdisi** (`type: "cli"`): @@ -2252,15 +2258,15 @@ Gelen medya anlamayı yapılandırır (görsel/ses/video): - `capabilities`: isteğe bağlı liste (`image`, `audio`, `video`). Varsayılanlar: `openai`/`anthropic`/`minimax` → image, `google` → image+audio+video, `groq` → audio. - `prompt`, `maxChars`, `maxBytes`, `timeoutSeconds`, `language`: girdi başına geçersiz kılmalar. -- Hatalar bir sonraki girdiye geri döner. +- Başarısızlıklar bir sonraki girdiye geri döner. -Sağlayıcı auth, 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 değişkenleri → `models.providers.*.apiKey`. **Eşzamansız tamamlama alanları:** -- `asyncCompletion.directSend`: `true` olduğunda, tamamlanan eşzamansız `music_generate` +- `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 istek yapan oturum uyandırma/model teslim yolu). + (eski istekçi-oturumu uyandırma/model-teslim yolu). @@ -2279,9 +2285,9 @@ Sağlayıcı auth, standart sırayı izler: `auth-profiles.json` → ortam deği ### `tools.sessions` -Oturum araçları (`sessions_list`, `sessions_history`, `sessions_send`) tarafından hangi oturumların hedeflenebileceğini denetler. +Hangi oturumların session araçları (`sessions_list`, `sessions_history`, `sessions_send`) tarafından hedeflenebileceğini kontrol eder. -Varsayılan: `tree` (geçerli oturum + onun tarafından oluşturulan oturumlar, örneğin alt ajanlar). +Varsayılan: `tree` (geçerli oturum + onun tarafından başlatılan oturumlar, örneğin subagent'lar). ```json5 { @@ -2297,14 +2303,14 @@ Varsayılan: `tree` (geçerli oturum + onun tarafından oluşturulan oturumlar, Notlar: - `self`: yalnızca geçerli oturum anahtarı. -- `tree`: geçerli oturum + geçerli oturum tarafından oluşturulan oturumlar (alt ajanlar). -- `agent`: geçerli ajan kimliğine ait herhangi bir oturum (aynı ajan kimliği altında gönderici başına oturum çalıştırıyorsanız başka kullanıcıları da içerebilir). -- `all`: herhangi bir oturum. Ajanlar arası hedefleme yine de `tools.agentToAgent` gerektirir. -- Sandbox sıkılaştırması: geçerli oturum sandbox'lıysa ve `agents.defaults.sandbox.sessionToolsVisibility="spawned"` ise, `tools.sessions.visibility="all"` olsa bile görünürlük `tree` olmaya zorlanır. +- `tree`: geçerli oturum + geçerli oturum tarafından başlatılan oturumlar (subagent'lar). +- `agent`: geçerli agent id'sine ait herhangi bir oturum (aynı agent id altında gönderici başına oturumlar çalıştırıyorsanız başka kullanıcıları da içerebilir). +- `all`: herhangi bir oturum. Agent'lar arası hedefleme için yine de `tools.agentToAgent` gerekir. +- 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 `tree` olmaya zorlanır. ### `tools.sessions_spawn` -`sessions_spawn` için satır içi ek desteğini denetler. +`sessions_spawn` için satır içi ek desteğini kontrol eder. ```json5 { @@ -2312,7 +2318,7 @@ Notlar: sessions_spawn: { attachments: { enabled: false, // isteğe bağlı etkinleştirme: satır içi dosya eklerine izin vermek için true yapın - maxTotalBytes: 5242880, // tüm dosyalar toplamı için 5 MB + maxTotalBytes: 5242880, // tüm dosyalarda toplam 5 MB maxFiles: 50, maxFileBytes: 1048576, // dosya başına 1 MB retainOnSessionKeep: false, // cleanup="keep" olduğunda ekleri koru @@ -2325,21 +2331,21 @@ Notlar: Notlar: - Ekler yalnızca `runtime: "subagent"` için desteklenir. ACP çalışma zamanı bunları reddeder. -- Dosyalar alt çalışma alanında `.openclaw/attachments//` içine bir `.manifest.json` ile birlikte somutlaştırılır. -- Ek içeriği, transcript kalıcılığından otomatik olarak sansürlenir. -- Base64 girdileri, katı alfabe/dolgu denetimleri ve çözme öncesi boyut korumasıyla doğrulanır. -- Dosya izinleri dizinler için `0700`, dosyalar için `0600`'dür. -- Temizleme, `cleanup` ilkesini izler: `delete` ekleri her zaman kaldırır; `keep`, bunları yalnızca `retainOnSessionKeep: true` olduğunda tutar. +- Dosyalar, `.manifest.json` ile birlikte alt çalışma alanında `.openclaw/attachments//` içine dönüştürülür. +- Ek içeriği transcript kalıcılığından otomatik olarak sansürlenir. +- Base64 girdileri katı alfabe/dolgu denetimleri ve çözme öncesi boyut koruması ile doğrulanır. +- Dosya izinleri dizinler için `0700`, dosyalar için `0600` olur. +- Temizleme, `cleanup` ilkesini izler: `delete` her zaman ekleri kaldırır; `keep`, yalnızca `retainOnSessionKeep: true` olduğunda korur. ### `tools.experimental` -Deneysel yerleşik araç bayrakları. Sıkı agentic GPT-5 otomatik etkinleştirme kuralı uygulanmadıkça varsayılan olarak kapalıdır. +Deneysel yerleşik araç bayrakları. Katı agentic GPT-5 otomatik etkinleştirme kuralı uygulanmadıkça varsayılan olarak kapalıdır. ```json5 { tools: { experimental: { - planTool: true, // deneysel update_plan etkinleştir + planTool: true, // deneysel update_plan aracını etkinleştir }, }, } @@ -2347,9 +2353,9 @@ Deneysel yerleşik araç bayrakları. Sıkı agentic GPT-5 otomatik etkinleştir Notlar: -- `planTool`: trivial olmayan çok adımlı iş takibi için yapılandırılmış `update_plan` aracını etkinleştirir. -- Varsayılan: `false`; ancak `agents.defaults.embeddedPi.executionContract` (veya ajan başına bir geçersiz kılma) bir OpenAI veya OpenAI Codex GPT-5 ailesi çalıştırması için `"strict-agentic"` olarak ayarlanmışsa farklıdır. Bu kapsam dışında aracı zorla açmak için `true`, sıkı agentic GPT-5 çalıştırmalarında bile kapalı tutmak için `false` ayarlayın. -- Etkinleştirildiğinde, sistem istemi de kullanım yönergeleri ekler; böylece model bunu yalnızca önemli işler için kullanır ve en fazla bir adımı `in_progress` durumunda tutar. +- `planTool`: önemsiz olmayan çok adımlı iş takibi için yapılandırılmış `update_plan` aracını etkinleştirir. +- Varsayılan: `false`; ancak `agents.defaults.embeddedPi.executionContract` (veya agent başına geçersiz kılma) OpenAI veya OpenAI Codex GPT-5 ailesi çalıştırmasında `"strict-agentic"` olarak ayarlanmışsa hariç. Bu kapsam dışında aracı zorla açmak için `true`, strict-agentic GPT-5 çalıştırmaları için bile kapalı tutmak için `false` ayarlayın. +- Etkinleştirildiğinde sistem istemi de kullanım yönergeleri ekler; böylece model bunu yalnızca önemli işler için kullanır ve en fazla bir adımı `in_progress` olarak tutar. ### `agents.defaults.subagents` @@ -2369,16 +2375,16 @@ Notlar: } ``` -- `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ı olmadığı anlamına gelir. -- Alt ajan başına araç ilkesi: `tools.subagents.tools.allow` / `tools.subagents.tools.deny`. +- `model`: başlatılan sub-agent'lar için varsayılan model. Atlanırsa sub-agent'lar çağıranın modelini devralır. +- `allowAgents`: istekte bulunan agent kendi `subagents.allowAgents` değerini ayarlamadığında `sessions_spawn` için hedef agent id'lerinin varsayılan izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı agent). +- `runTimeoutSeconds`: araç çağrısı `runTimeoutSeconds` belirtmediğinde `sessions_spawn` için varsayılan zaman aşımı (saniye). `0`, zaman aşımı olmadığı anlamına gelir. +- Sub-agent başına araç ilkesi: `tools.subagents.tools.allow` / `tools.subagents.tools.deny`. --- -## Özel sağlayıcılar ve base URL'ler +## Özel sağlayıcılar ve temel URL'ler -OpenClaw, yerleşik model kataloğunu kullanır. `models.providers` altında veya `~/.openclaw/agents//agent/models.json` içinde özel sağlayıcılar ekleyin. +OpenClaw yerleşik model kataloğunu kullanır. Özel sağlayıcıları yapılandırmada `models.providers` veya `~/.openclaw/agents//agent/models.json` aracılığıyla ekleyin. ```json5 { @@ -2407,48 +2413,48 @@ OpenClaw, yerleşik model kataloğunu kullanır. `models.providers` altında vey } ``` -- Özel auth gereksinimleri için `authHeader: true` + `headers` kullanın. -- Ajan yapılandırma kökünü `OPENCLAW_AGENT_DIR` ile geçersiz kılın (veya eski ortam değişkeni takma adı olan `PI_CODING_AGENT_DIR` ile). -- 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 sağlayıcı mevcut yapılandırma/auth-profile bağlamında SecretRef yönetimli değilse kazanır. - - SecretRef yönetimli sağlayıcı `apiKey` değerleri, çözümlenmiş gizli anahtarları kalıcılaştırmak yerine kaynak işaretçilerden (`ENV_VAR_NAME` ortam referansları için, `secretref-managed` dosya/exec referansları için) yenilenir. - - SecretRef yönetimli sağlayıcı header değerleri, kaynak işaretçilerden (`secretref-env:ENV_VAR_NAME` ortam referansları için, `secretref-managed` dosya/exec referansları için) yenilenir. - - Boş veya eksik ajan `apiKey`/`baseUrl` değerleri yapılandırmadaki `models.providers` değerlerine geri döner. - - Eşleşen model `contextWindow`/`maxTokens` değerleri, 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`, mevcutsa açık çalışma zamanı sınırını korur; doğal model meta verisini değiştirmeden etkili bağlamı sınırlamak için bunu kullanın. +- Özel kimlik doğrulama gereksinimleri için `authHeader: true` + `headers` kullanın. +- Agent yapılandırma kökünü `OPENCLAW_AGENT_DIR` ile geçersiz kılın (veya eski ortam değişkeni takma adı olan `PI_CODING_AGENT_DIR` ile). +- Eşleşen sağlayıcı id'leri için birleştirme önceliği: + - Boş olmayan agent `models.json` `baseUrl` değerleri kazanır. + - Boş olmayan agent `apiKey` değerleri, yalnızca o sağlayıcı mevcut yapılandırma/auth-profile 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şaretleyicilerinden (`env` başvuruları için `ENV_VAR_NAME`, dosya/exec başvuruları için `secretref-managed`) yenilenir. + - SecretRef tarafından yönetilen sağlayıcı başlık değerleri, kaynak işaretleyicilerinden (`env` başvuruları için `secretref-env:ENV_VAR_NAME`, dosya/exec başvuruları için `secretref-managed`) yenilenir. + - Boş veya eksik agent `apiKey`/`baseUrl` değerleri, yapılandırmadaki `models.providers` değerlerine geri döner. + - Eşleşen model `contextWindow`/`maxTokens`, açık yapılandırma ile örtük katalog değerleri arasından daha yüksek olanı kullanır. + - Eşleşen model `contextTokens`, mevcut olduğunda açık çalışma zamanı sınırını korur; yerel model meta 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 için yetkili olandır: 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. + - İşaretleyici kalıcılığı kaynak açısından yetkilidir: işaretleyiciler, çö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. ### Sağlayıcı alanı ayrıntıları - `models.mode`: sağlayıcı katalog davranışı (`merge` veya `replace`). -- `models.providers`: sağlayıcı kimliğine göre anahtarlanmış özel sağlayıcı eşlemesi. +- `models.providers`: sağlayıcı id'sine göre anahtarlanan özel sağlayıcı eşlemesi. - `models.providers.*.api`: istek bağdaştırıcısı (`openai-completions`, `openai-responses`, `anthropic-messages`, `google-generative-ai` vb.). -- `models.providers.*.apiKey`: sağlayıcı kimlik bilgisi (SecretRef/ortam değişkeni yerleştirmesi tercih edilir). +- `models.providers.*.apiKey`: sağlayıcı kimlik bilgisi (SecretRef/env substitution tercih edilir). - `models.providers.*.auth`: kimlik doğrulama stratejisi (`api-key`, `token`, `oauth`, `aws-sdk`). -- `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` üstbilgisinde taşınmasını zorlar. -- `models.providers.*.baseUrl`: yukarı akış API base URL'si. -- `models.providers.*.headers`: proxy/kiracı yönlendirmesi için ek statik üstbilgiler. +- `models.providers.*.injectNumCtxForOpenAICompat`: Ollama + `openai-completions` için isteklere `options.num_ctx` ekler (varsayılan: `true`). +- `models.providers.*.authHeader`: gerektiğinde kimlik bilgisinin `Authorization` başlığında taşınmasını zorlar. +- `models.providers.*.baseUrl`: upstream API temel URL'si. +- `models.providers.*.headers`: proxy/tenant yönlendirme için ek statik başlıklar. - `models.providers.*.request`: model-sağlayıcı HTTP istekleri için taşıma geçersiz kılmaları. - - `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 auth'unu 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` ortam değişkenlerini kullan), `"explicit-proxy"` (`url` ile). Her iki mod da isteğe bağlı bir `tls` alt nesnesini kabul eder. - - `request.tls`: doğrudan bağlantılar için TLS geçersiz kılması. Alanlar: `ca`, `cert`, `key`, `passphrase` (tamamı SecretRef kabul eder), `serverName`, `insecureSkipVerify`. - - `request.allowPrivateNetwork`: `true` olduğunda, DNS özel, CGNAT veya benzeri aralıklara çözümlendiğinde `baseUrl` adresine HTTPS erişimine sağlayıcı HTTP fetch koruması üzerinden izin verir (güvenilir, kendi barındırılan OpenAI uyumlu uç noktalar için operatör isteğe bağlı etkinleştirmesi). WebSocket, üstbilgiler/TLS için aynı `request` ayarını kullanır ancak bu fetch SSRF korumasını kullanmaz. Varsayılan `false`. -- `models.providers.*.models`: açık sağlayıcı model kataloğu girdileri. -- `models.providers.*.models.*.contextWindow`: doğal model bağlam penceresi meta verisi. -- `models.providers.*.models.*.contextTokens`: isteğe bağlı çalışma zamanı bağlam sınırı. Modelin doğal `contextWindow` değerinden daha küçük etkin bağlam bütçesi istediğinizde bunu kullanın. -- `models.providers.*.models.*.compat.supportsDeveloperRole`: isteğe bağlı uyumluluk ipucu. `api: "openai-completions"` ve boş olmayan doğal olmayan bir `baseUrl` için (`api.openai.com` dışında bir ana makine), OpenClaw bunu çalışma zamanında `false` olarak zorlar. Boş/atlanmış `baseUrl`, varsayılan OpenAI davranışını korur. -- `models.providers.*.models.*.compat.requiresStringContent`: yalnızca dize kabul eden OpenAI uyumlu sohbet uç noktaları için isteğe bağlı uyumluluk ipucu. `true` olduğunda OpenClaw, isteği göndermeden önce yalnızca metin içeren `messages[].content` dizilerini düz dizelere indirger. + - `request.headers`: ek başlıklar (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.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, DNS özel, CGNAT veya benzeri aralıklara çözüldüğünde `baseUrl` için HTTPS'e izin verir; bu işlem sağlayıcı HTTP fetch koruması üzerinden yapılır (güvenilir, kendinden host edilen OpenAI uyumlu uç noktalar için operatör isteğe bağlı etkinleştirmesi). WebSocket başlıklar/TLS için aynı `request` nesnesini kullanır, ancak bu fetch SSRF korumasını kullanmaz. Varsayılan `false`. +- `models.providers.*.models`: açık sağlayıcı model katalog girdileri. +- `models.providers.*.models.*.contextWindow`: yerel model bağlam penceresi meta verisi. +- `models.providers.*.models.*.contextTokens`: isteğe bağlı çalışma zamanı bağlam sınırı. Modelin yerel `contextWindow` değerinden daha küçük etkili bir bağlam bütçesi istiyorsanız bunu kullanın. +- `models.providers.*.models.*.compat.supportsDeveloperRole`: isteğe bağlı uyumluluk ipucu. Yerel olmayan boş olmayan bir `baseUrl` (host `api.openai.com` değil) ile `api: "openai-completions"` kullanıldığında 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 kabul eden OpenAI uyumlu sohbet uç noktaları için isteğe bağlı uyumluluk ipucu. `true` olduğunda OpenClaw, istek göndermeden önce yalnızca metin içeren `messages[].content` dizilerini düz dizelere indirger. - `plugins.entries.amazon-bedrock.config.discovery`: Bedrock otomatik keşif ayarlarının 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 yedek bağlam penceresi. -- `plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens`: keşfedilen modeller için yedek azami çıktı tokenı. +- `plugins.entries.amazon-bedrock.config.discovery.providerFilter`: hedefli keşif için isteğe bağlı provider-id filtresi. +- `plugins.entries.amazon-bedrock.config.discovery.refreshInterval`: keşif yenileme 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üş en yüksek çıktı token sayısı. ### Sağlayıcı örnekleri @@ -2503,7 +2509,7 @@ Cerebras için `cerebras/zai-glm-4.7`; doğrudan Z.AI için `zai/glm-4.7` kullan } ``` -`OPENCODE_API_KEY` (veya `OPENCODE_ZEN_API_KEY`) ayarlayın. Zen kataloğu için `opencode/...`, Go kataloğu için `opencode-go/...` referanslarını kullanın. Kısayol: `openclaw onboard --auth-choice opencode-zen` veya `openclaw onboard --auth-choice opencode-go`. +`OPENCODE_API_KEY` (veya `OPENCODE_ZEN_API_KEY`) ayarlayın. Zen kataloğu için `opencode/...`, Go kataloğu için `opencode-go/...` başvurularını kullanın. Kısayol: `openclaw onboard --auth-choice opencode-zen` veya `openclaw onboard --auth-choice opencode-go`. @@ -2524,7 +2530,7 @@ Cerebras için `cerebras/zai-glm-4.7`; doğrudan Z.AI için `zai/glm-4.7` kullan - Genel uç nokta: `https://api.z.ai/api/paas/v4` - Kodlama uç noktası (varsayılan): `https://api.z.ai/api/coding/paas/v4` -- Genel uç nokta için base URL geçersiz kılmalı özel bir sağlayıcı tanımlayın. +- Genel uç nokta için, temel URL geçersiz kılmasıyla özel bir sağlayıcı tanımlayın. @@ -2566,7 +2572,8 @@ Cerebras için `cerebras/zai-glm-4.7`; doğrudan Z.AI için `zai/glm-4.7` kullan Ç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` taşıması üzerinde akış kullanımı uyumluluğunu bildirir ve OpenClaw bunu yalnızca yerleşik sağlayıcı kimliğine değil, uç nokta yeteneklerine göre anahtarlar. +`openai-completions` taşımasında akış kullanımı uyumluluğu bildirir ve OpenClaw bunu yalnızca yerleşik sağlayıcı id'sine değil +uç nokta yeteneklerine göre anahtarlar. @@ -2588,7 +2595,7 @@ Anthropic uyumlu, yerleşik sağlayıcı. Kısayol: `openclaw onboard --auth-cho - + ```json5 { @@ -2623,7 +2630,7 @@ Anthropic uyumlu, yerleşik sağlayıcı. Kısayol: `openclaw onboard --auth-cho } ``` -Base URL, `/v1` içermemelidir (Anthropic istemcisi bunu ekler). Kısayol: `openclaw onboard --auth-choice synthetic-api-key`. +Temel URL `/v1` içermemelidir (Anthropic istemcisi bunu ekler). Kısayol: `openclaw onboard --auth-choice synthetic-api-key`. @@ -2666,15 +2673,17 @@ Base URL, `/v1` içermemelidir (Anthropic istemcisi bunu ekler). Kısayol: `open `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 OpenClaw, siz açıkça `thinking` ayarlamadıkça MiniMax thinking özelliğini varsayılan olarak devre dışı bırakır. `/fast on` veya `params.fastMode: true`, `MiniMax-M2.7` değerini +Model kataloğu varsayılan olarak yalnızca M2.7'dir. +Anthropic uyumlu akış yolunda OpenClaw, siz açıkça `thinking` ayarlamadığınız sürece +MiniMax thinking özelliğini 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. -Bkz. [Local Models](/tr/gateway/local-models). Kısaca: güçlü donanım üzerinde LM Studio Responses API ile büyük bir yerel model çalıştırın; yedek için barındırılan modelleri birleştirilmiş halde tutun. +Bkz. [Yerel Modeller](/tr/gateway/local-models). Kısacası: güçlü donanımda LM Studio Responses API üzerinden büyük bir yerel model çalıştırın; geri dönüş için host edilen modellerin birleştirilmiş kalmasını sağlayın. @@ -2695,7 +2704,7 @@ Bkz. [Local Models](/tr/gateway/local-models). Kısaca: güçlü donanım üzeri }, entries: { "image-lab": { - apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, // veya düz metin dizesi + apiKey: { source: "env", provider: "default", id: "GEMINI_API_KEY" }, // veya düz metin dize env: { GEMINI_API_KEY: "GEMINI_KEY_HERE" }, }, peekaboo: { enabled: true }, @@ -2705,16 +2714,18 @@ Bkz. [Local Models](/tr/gateway/local-models). Kısaca: güçlü donanım üzeri } ``` -- `allowBundled`: yalnızca paketlenmiş Skills için isteğe bağlı izin listesi (yönetilen/çalışma alanı Skills etkilenmez). -- `load.extraDirs`: ek paylaşılan skill kökleri (en düşük öncelik). -- `install.preferBrew`: `true` olduğunda ve `brew` kullanılabiliyorsa, diğer yükleyici türlerine geri dönmeden önce Homebrew yükleyicilerini tercih eder. -- `install.nodeManager`: `metadata.openclaw.install` özellikleri için node yükleyici tercihi (`npm` | `pnpm` | `yarn` | `bun`). -- `entries..enabled: false`, paketlenmiş/kurulu olsa bile bir skill'i devre dışı bırakır. -- `entries..apiKey`: birincil ortam değişkeni tanımlayan Skills için kolaylık alanı (düz metin dizesi veya SecretRef nesnesi). +- `allowBundled`: yalnızca bundled Skills için isteğe bağlı izin listesi (managed/workspace Skills etkilenmez). +- `load.extraDirs`: ek paylaşılan Skill kökleri (en düşük öncelik). +- `install.preferBrew`: `true` olduğunda ve `brew` + kullanılabilir olduğunda, diğer yükleyici türlerine geri dönmeden önce Homebrew yükleyicilerini tercih eder. +- `install.nodeManager`: `metadata.openclaw.install` + özellikleri için node yükleyici tercihi (`npm` | `pnpm` | `yarn` | `bun`). +- `entries..enabled: false`, bundled/yüklü olsa bile bir Skill'i devre dışı bırakır. +- `entries..apiKey`: birincil env değişkeni bildiren Skills için kolaylık alanı (düz metin dize veya SecretRef nesnesi). --- -## Eklentiler +## Plugins ```json5 { @@ -2739,40 +2750,40 @@ Bkz. [Local Models](/tr/gateway/local-models). Kısaca: güçlü donanım üzeri ``` - `~/.openclaw/extensions`, `/.openclaw/extensions` ve `plugins.load.paths` içinden yüklenir. -- Keşif, yerel OpenClaw eklentilerinin yanı sıra uyumlu Codex paketlerini ve Claude paketlerini de kabul eder; buna manifest içermeyen Claude varsayılan düzen paketleri de dahildir. -- **Yapılandırma değişiklikleri bir gateway yeniden başlatması gerektirir.** -- `allow`: isteğe bağlı izin listesi (yalnızca listelenen eklentiler yüklenir). `deny` kazanır. -- `plugins.entries..apiKey`: eklenti düzeyinde API anahtarı kolaylık alanı (eklenti destekliyorsa). -- `plugins.entries..env`: eklenti kapsamlı ortam değişkeni eşlemesi. -- `plugins.entries..hooks.allowPromptInjection`: `false` olduğunda çekirdek, `before_prompt_build` işlemini engeller ve eski `before_agent_start` içindeki istem değiştirici alanları yok sayar; eski `modelOverride` ve `providerOverride` korunur. Yerel eklenti hook'larına ve desteklenen paket kaynaklı hook dizinlerine uygulanır. -- `plugins.entries..subagent.allowModelOverride`: bu eklentiye arka plan alt ajan çalıştırmaları için çalışma başına `provider` ve `model` geçersiz kılmaları isteme konusunda açıkça güvenilir olduğunu belirtir. -- `plugins.entries..subagent.allowedModels`: güvenilen alt ajan geçersiz kılmaları için isteğe bağlı standart `provider/model` hedefleri izin listesi. Yalnızca bilerek herhangi bir modele izin vermek istediğinizde `"*"` kullanın. -- `plugins.entries..config`: eklenti tarafından tanımlanan yapılandırma nesnesi (mevcutsa yerel OpenClaw eklenti şemasıyla doğrulanır). +- Keşif; yerel OpenClaw Plugin'lerini, uyumlu Codex bundle'larını ve Claude bundle'larını, ayrıca manifest'siz Claude varsayılan düzen bundle'larını kabul eder. +- **Yapılandırma değişiklikleri Gateway yeniden başlatması gerektirir.** +- `allow`: isteğe bağlı izin listesi (yalnızca listelenen Plugin'ler yüklenir). `deny` kazanır. +- `plugins.entries..apiKey`: Plugin düzeyinde API anahtarı kolaylık alanı (Plugin destekliyorsa). +- `plugins.entries..env`: Plugin kapsamlı env değişkeni eşlemesi. +- `plugins.entries..hooks.allowPromptInjection`: `false` olduğunda çekirdek, `before_prompt_build` işlemini engeller ve eski `before_agent_start` içindeki istemi değiştiren alanları yok sayar; eski `modelOverride` ve `providerOverride` korunur. Yerel Plugin hook'larına ve desteklenen bundle kaynaklı hook dizinlerine uygulanır. +- `plugins.entries..subagent.allowModelOverride`: bu Plugin'e, arka plan subagent çalıştırmaları için çalışma başına `provider` ve `model` geçersiz kılmaları isteme konusunda açık güven verir. +- `plugins.entries..subagent.allowedModels`: güvenilen subagent geçersiz kılmaları için isteğe bağlı kurallı `provider/model` hedef izin listesi. Herhangi bir modele izin vermek istediğinizden eminseniz yalnızca `"*"` kullanın. +- `plugins.entries..config`: Plugin tanımlı yapılandırma nesnesi (kullanılabilir olduğunda yerel OpenClaw Plugin şemasıyla doğrulanır). - `plugins.entries.firecrawl.config.webFetch`: Firecrawl web-fetch sağlayıcı ayarları. - - `apiKey`: Firecrawl API anahtarı (SecretRef kabul eder). Yedek olarak `plugins.entries.firecrawl.config.webSearch.apiKey`, eski `tools.web.fetch.firecrawl.apiKey` veya `FIRECRAWL_API_KEY` ortam değişkenini kullanır. - - `baseUrl`: Firecrawl API base URL'si (varsayılan: `https://api.firecrawl.dev`). - - `onlyMainContent`: sayfalardan yalnızca ana içeriği çıkarır (varsayılan: `true`). - - `maxAgeMs`: önbellek için milisaniye cinsinden azami yaş (varsayılan: `172800000` / 2 gün). - - `timeoutSeconds`: scrape isteği zaman aşımı süresi (saniye) (varsayılan: `60`). + - `apiKey`: Firecrawl API anahtarı (SecretRef kabul eder). `plugins.entries.firecrawl.config.webSearch.apiKey`, eski `tools.web.fetch.firecrawl.apiKey` veya `FIRECRAWL_API_KEY` env değişkenine geri döner. + - `baseUrl`: Firecrawl API temel URL'si (varsayılan: `https://api.firecrawl.dev`). + - `onlyMainContent`: sayfalardan yalnızca ana içeriği çıkar (varsayılan: `true`). + - `maxAgeMs`: milisaniye cinsinden en yüksek önbellek yaşı (varsayılan: `172800000` / 2 gün). + - `timeoutSeconds`: scrape isteği zaman aşımı, saniye cinsinden (varsayılan: `60`). - `plugins.entries.xai.config.xSearch`: xAI X Search (Grok web araması) ayarları. - - `enabled`: X Search sağlayıcısını etkinleştirir. + - `enabled`: X Search sağlayıcısını etkinleştir. - `model`: arama için kullanılacak Grok modeli (ör. `"grok-4-1-fast"`). -- `plugins.entries.memory-core.config.dreaming`: memory dreaming (deneysel) ayarları. Aşamalar ve eşikler için bkz. [Dreaming](/tr/concepts/dreaming). +- `plugins.entries.memory-core.config.dreaming`: memory dreaming ayarları. Aşamalar ve eşikler için bkz. [Dreaming](/tr/concepts/dreaming). - `enabled`: ana dreaming anahtarı (varsayılan `false`). - - `frequency`: her tam dreaming taraması için cron aralığı (varsayılan `"0 3 * * *"`). - - aşama ilkesi ve eşikler uygulama ayrıntılarıdır (kullanıcıya açık yapılandırma anahtarları değildir). -- Tam bellek yapılandırması [Bellek yapılandırma başvurusu](/tr/reference/memory-config) içinde yer alır: + - `frequency`: her tam dreaming taraması için Cron sıklığı (varsayılan `"0 3 * * *"`). + - aşama ilkesi ve eşikler uygulama ayrıntılarıdır (kullanıcıya dönük yapılandırma anahtarları değildir). +- Tam memory yapılandırması [Bellek yapılandırma referansı](/tr/reference/memory-config) içinde bulunur: - `agents.defaults.memorySearch.*` - `memory.backend` - `memory.citations` - `memory.qmd.*` - `plugins.entries.memory-core.config.dreaming` -- Etkin Claude paket eklentileri `settings.json` içinden gömülü Pi varsayılanlarına da katkıda bulunabilir; OpenClaw bunları ham OpenClaw yapılandırma yamaları olarak değil, temizlenmiş ajan ayarları olarak uygular. -- `plugins.slots.memory`: etkin bellek eklentisi kimliğini seçin veya bellek eklentilerini devre dışı bırakmak için `"none"` kullanın. -- `plugins.slots.contextEngine`: etkin bağlam motoru eklentisi kimliğini seçin; başka bir motor kurup seçmediğiniz sürece varsayılan `"legacy"` olur. +- Etkin Claude bundle Plugin'leri ayrıca `settings.json` içinden gömülü Pi varsayılanları sağlayabilir; OpenClaw bunları ham OpenClaw yapılandırma yamaları olarak değil, temizlenmiş agent ayarları olarak uygular. +- `plugins.slots.memory`: etkin memory Plugin id'sini seçin veya memory Plugin'lerini devre dışı bırakmak için `"none"` kullanın. +- `plugins.slots.contextEngine`: etkin context engine Plugin id'sini seçin; başka bir engine kurup seçmediğiniz sürece varsayılan `"legacy"` olur. - `plugins.installs`: `openclaw plugins update` tarafından kullanılan CLI yönetimli kurulum meta verisi. - `source`, `spec`, `sourcePath`, `installPath`, `version`, `resolvedName`, `resolvedVersion`, `resolvedSpec`, `integrity`, `shasum`, `resolvedAt`, `installedAt` içerir. - - `plugins.installs.*` alanlarını yönetilen durum olarak ele alın; el ile düzenleme yerine CLI komutlarını tercih edin. + - `plugins.installs.*` alanlarını yönetilen durum olarak değerlendirin; el ile düzenleme yerine CLI komutlarını tercih edin. Bkz. [Plugins](/tr/tools/plugin). @@ -2787,7 +2798,7 @@ Bkz. [Plugins](/tr/tools/plugin). evaluateEnabled: true, defaultProfile: "user", ssrfPolicy: { - // dangerouslyAllowPrivateNetwork: true, // yalnızca güvenilen özel ağ erişimi için isteğe bağlı etkinleştirin + // dangerouslyAllowPrivateNetwork: true, // yalnızca güvenilir özel ağ erişimi için isteğe bağlı etkinleştirin // allowPrivateNetwork: true, // eski takma ad // hostnameAllowlist: ["*.example.com", "example.com"], // allowedHostnames: ["localhost"], @@ -2814,23 +2825,29 @@ Bkz. [Plugins](/tr/tools/plugin). } ``` -- `evaluateEnabled: false`, `act:evaluate` ve `wait --fn` komutlarını devre dışı bırakır. -- `ssrfPolicy.dangerouslyAllowPrivateNetwork` ayarlanmamışsa devre dışıdır; böylece tarayıcı gezinmesi varsayılan olarak sıkı kalır. -- `ssrfPolicy.dangerouslyAllowPrivateNetwork: true` değerini yalnızca özel ağ tarayıcı gezinmesine bilerek güvendiğinizde ayarlayın. -- Sıkı modda uzak CDP profil uç noktaları (`profiles.*.cdpUrl`), erişilebilirlik/keşif denetimleri sırasında aynı özel ağ engellemesine tabidir. +- `evaluateEnabled: false`, `act:evaluate` ve `wait --fn` işlemlerini devre dışı bırakır. +- `ssrfPolicy.dangerouslyAllowPrivateNetwork`, ayarlanmamış olduğunda devre dışıdır; bu yüzden tarayıcı gezinmesi varsayılan olarak katı kalır. +- Yalnızca özel ağ tarayıcı gezinmesine bilinçli olarak güvendiğinizde `ssrfPolicy.dangerouslyAllowPrivateNetwork: true` ayarlayın. +- Katı modda uzak CDP profil uç noktaları (`profiles.*.cdpUrl`), erişilebilirlik/keşif denetimleri sırasında aynı özel ağ engellemesine tabidir. - `ssrfPolicy.allowPrivateNetwork`, eski takma ad olarak desteklenmeye devam eder. -- Sıkı modda açık istisnalar için `ssrfPolicy.hostnameAllowlist` ve `ssrfPolicy.allowedHostnames` kullanın. -- Uzak profiller yalnızca bağlanmalıdır (başlat/durdur/sıfırla devre dışı). +- Katı modda açık istisnalar için `ssrfPolicy.hostnameAllowlist` ve `ssrfPolicy.allowedHostnames` kullanın. +- Uzak profiller yalnızca ekleme modundadır (başlat/durdur/sıfırla devre dışı). - `profiles.*.cdpUrl`, `http://`, `https://`, `ws://` ve `wss://` kabul eder. - OpenClaw'un `/json/version` keşfi yapmasını istediğinizde HTTP(S) kullanın; sağlayıcınız size doğrudan bir DevTools WebSocket URL'si veriyorsa WS(S) kullanın. -- `existing-session` profilleri yalnızca ana makine içindir ve CDP yerine Chrome MCP kullanır. -- `existing-session` profilleri, Brave veya Edge gibi belirli bir Chromium tabanlı tarayıcı profilini hedeflemek için `userDataDir` ayarlayabilir. + OpenClaw'ın `/json/version` keşfetmesini istediğinizde HTTP(S) kullanın; doğrudan bir DevTools WebSocket URL'si sağlayıcınız varsa WS(S) + kullanın. +- `existing-session` profilleri yalnızca host içindir ve CDP yerine Chrome MCP kullanır. +- `existing-session` profilleri, Brave veya Edge gibi belirli bir + Chromium tabanlı tarayıcı profilini hedeflemek için `userDataDir` ayarlayabilir. - `existing-session` profilleri mevcut Chrome MCP rota sınırlarını korur: - CSS seçici hedefleme yerine snapshot/ref tabanlı eylemler, tek dosya yükleme hook'ları, iletişim kutusu zaman aşımı geçersiz kılmaları yok, `wait --load networkidle` yok ve `responsebody`, PDF dışa aktarma, indirme yakalama veya toplu eylemler yok. -- Yerel yönetilen `openclaw` profilleri `cdpPort` ve `cdpUrl` değerlerini otomatik atar; yalnızca uzak CDP için `cdpUrl` değerini açıkça ayarlayın. -- Otomatik algılama sırası: Chromium tabanlıysa varsayılan tarayıcı → Chrome → Brave → Edge → Chromium → Chrome Canary. -- Kontrol servisi: yalnızca loopback (port, `gateway.port` üzerinden türetilir; varsayılan `18791`). -- `extraArgs`, yerel Chromium başlangıcına ek başlatma bayrakları ekler (örneğin `--disable-gpu`, pencere boyutu veya hata ayıklama bayrakları). + CSS seçici hedefleme yerine snapshot/ref tabanlı eylemler, tek dosya yükleme + hook'ları, iletişim kutusu zaman aşımı geçersiz kılmaları yok, `wait --load networkidle` yok ve + `responsebody`, PDF dışa aktarma, indirme yakalama veya toplu eylemler yok. +- Yerel yönetilen `openclaw` profilleri otomatik olarak `cdpPort` ve `cdpUrl` atar; yalnızca + uzak CDP için `cdpUrl` açıkça ayarlayın. +- Otomatik algılama sırası: varsayılan tarayıcı Chromium tabanlıysa → Chrome → Brave → Edge → Chromium → Chrome Canary. +- Denetim hizmeti: yalnızca loopback (port `gateway.port` değerinden türetilir, varsayılan `18791`). +- `extraArgs`, yerel Chromium başlatmasına ek bayraklar ekler (örneğin + `--disable-gpu`, pencere boyutlandırma veya hata ayıklama bayrakları). --- @@ -2848,8 +2865,8 @@ Bkz. [Plugins](/tr/tools/plugin). } ``` -- `seamColor`: yerel uygulama UI chrome için vurgu rengi (Talk Mode balon tonu vb.). -- `assistant`: Control UI kimlik geçersiz kılması. Etkin ajan kimliğine geri döner. +- `seamColor`: yerel uygulama UI çerçevesi için vurgu rengi (Talk Mode balon tonu vb.). +- `assistant`: Control UI kimlik geçersiz kılması. Etkin agent kimliğine geri döner. --- @@ -2884,8 +2901,8 @@ Bkz. [Plugins](/tr/tools/plugin). // root: "dist/control-ui", // embedSandbox: "scripts", // strict | scripts | trusted // allowExternalEmbedUrls: false, // tehlikeli: mutlak harici http(s) embed URL'lerine izin ver - // allowedOrigins: ["https://control.example.com"], // loopback olmayan Control UI için zorunlu - // dangerouslyAllowHostHeaderOriginFallback: false, // tehlikeli Host-header origin fallback modu + // allowedOrigins: ["https://control.example.com"], // loopback olmayan Control UI için gerekli + // dangerouslyAllowHostHeaderOriginFallback: false, // tehlikeli Host-header origin geri dönüş modu // allowInsecureAuth: false, // dangerouslyDisableDeviceAuth: false, }, @@ -2899,9 +2916,9 @@ Bkz. [Plugins](/tr/tools/plugin). // İsteğe bağlı. Varsayılan false. allowRealIpFallback: false, tools: { - // Ek /tools/invoke HTTP retleri + // Ek /tools/invoke HTTP deny'leri deny: ["browser"], - // Varsayılan HTTP ret listesinden araçları kaldır + // Varsayılan HTTP deny listesinden araçları kaldır allow: ["gateway"], }, push: { @@ -2918,45 +2935,45 @@ Bkz. [Plugins](/tr/tools/plugin). -- `mode`: `local` (gateway'i çalıştır) veya `remote` (uzak gateway'e bağlan). Gateway, `local` olmadığı sürece başlamayı reddeder. -- `port`: WS + HTTP için tek çoklanmış port. Öncelik: `--port` > `OPENCLAW_GATEWAY_PORT` > `gateway.port` > `18789`. +- `mode`: `local` (gateway'i çalıştır) veya `remote` (uzak Gateway'e bağlan). Gateway, `local` olmadıkça başlatmayı reddeder. +- `port`: WS + HTTP için tek çoklamalı port. Öncelik: `--port` > `OPENCLAW_GATEWAY_PORT` > `gateway.port` > `18789`. - `bind`: `auto`, `loopback` (varsayılan), `lan` (`0.0.0.0`), `tailnet` (yalnızca Tailscale IP'si) veya `custom`. -- **Eski bind takma adları**: `gateway.bind` içinde ana makine takma adlarını (`0.0.0.0`, `127.0.0.1`, `localhost`, `::`, `::1`) değil, bind modu değerlerini (`auto`, `loopback`, `lan`, `tailnet`, `custom`) kullanın. -- **Docker notu**: varsayılan `loopback` bind, kapsayıcı içinde `127.0.0.1` üzerinde dinler. Docker bridge ağıyla (`-p 18789:18789`) trafik `eth0` üzerinden gelir, bu yüzden gateway'e erişilemez. `--network host` kullanın veya tüm arayüzlerde dinlemek için `bind: "lan"` (veya `customBindHost: "0.0.0.0"` ile `bind: "custom"`) ayarlayın. -- **Auth**: varsayılan olarak zorunludur. Loopback dışı bind'ler gateway auth gerektirir. Pratikte bu, paylaşılan bir token/parola veya `gateway.auth.mode: "trusted-proxy"` kullanan kimlik farkındalıklı bir reverse proxy anlamına gelir. Onboarding sihirbazı varsayılan olarak bir token üretir. -- Hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa (SecretRef'ler dahil), `gateway.auth.mode` değerini açıkça `token` veya `password` olarak ayarlayın. Her ikisi de yapılandırılmış ve mod ayarlanmamışsa başlangıç ile servis kurulum/onarma akışları başarısız olur. -- `gateway.auth.mode: "none"`: açıkça auth'suz mod. Bunu yalnızca güvenilen yerel loopback kurulumları için kullanın; onboarding istemlerinde kasıtlı olarak sunulmaz. -- `gateway.auth.mode: "trusted-proxy"`: auth işini kimlik farkındalıklı bir reverse proxy'ye devredin ve kimlik üstbilgileri için `gateway.trustedProxies` değerine güvenin (bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth)). Bu mod **loopback olmayan** bir proxy kaynağı bekler; aynı ana makinedeki loopback reverse proxy'ler trusted-proxy auth gereksinimini karşılamaz. -- `gateway.auth.allowTailscale`: `true` olduğunda Tailscale Serve kimlik üstbilgileri, Control UI/WebSocket auth gereksinimini karşılayabilir (`tailscale whois` ile doğrulanır). HTTP API uç noktaları bu Tailscale üstbilgi auth yöntemini kullanmaz; bunun yerine gateway'in normal HTTP auth modunu izler. Bu tokensız akış gateway ana makinesine güvenildiğini varsayar. `tailscale.mode = "serve"` olduğunda varsayılan `true` olur. -- `gateway.auth.rateLimit`: isteğe bağlı başarısız auth sınırlayıcısı. İstemci IP'si ve auth kapsamı başına uygulanır (paylaşılan gizli anahtar ve cihaz tokenı ayrı ayrı izlenir). Engellenen denemeler `429` + `Retry-After` döndürür. - - Eşzamansız Tailscale Serve Control UI yolunda aynı `{scope, clientIp}` için başarısız denemeler, başarısızlık yazımından önce serileştirilir. Bu nedenle aynı istemciden gelen eşzamanlı kötü denemeler, ikisinin de düz uyuşmazlık olarak geçmesi yerine ikinci istekte sınıra takılabilir. - - `gateway.auth.rateLimit.exemptLoopback` varsayılan olarak `true` değerindedir; localhost trafiğinin de hız sınırına tabi olmasını özellikle istediğinizde (`test` kurulumları veya sıkı proxy dağıtımları için) `false` yapın. -- Tarayıcı kaynaklı WS auth denemeleri, loopback muafiyeti devre dışı bırakılmış şekilde her zaman sınırlanır (tarayıcı tabanlı localhost brute force saldırılarına karşı ek savunma). -- Loopback üzerinde bu tarayıcı kaynaklı kilitlemeler, normalize edilmiş `Origin` - değeri başına yalıtılır; bu nedenle bir localhost origin'inden gelen tekrarlanan hatalar, - farklı bir origin'i otomatik olarak kilitlemez. -- `tailscale.mode`: `serve` (yalnızca tailnet, loopback bind) veya `funnel` (herkese açık, auth gerekir). -- `controlUi.allowedOrigins`: Gateway WebSocket bağlantıları için açık tarayıcı origin izin listesi. Tarayıcı istemcilerinin loopback dışı origin'lerden gelmesi beklendiğinde zorunludur. -- `controlUi.dangerouslyAllowHostHeaderOriginFallback`: bilerek Host-header origin ilkesine dayanan dağıtımlar için Host-header origin fallback'ini etkinleştiren tehlikeli mod. +- **Eski bind takma adları**: `gateway.bind` içinde host takma adlarını (`0.0.0.0`, `127.0.0.1`, `localhost`, `::`, `::1`) değil, bind modu değerlerini (`auto`, `loopback`, `lan`, `tailnet`, `custom`) kullanın. +- **Docker notu**: varsayılan `loopback` bind'i kapsayıcı içinde `127.0.0.1` üzerinde dinler. Docker bridge ağı kullanıldığında (`-p 18789:18789`), trafik `eth0` üzerinden gelir; bu nedenle Gateway'e erişilemez. `--network host` kullanın veya tüm arayüzlerde dinlemek için `bind: "lan"` (ya da `customBindHost: "0.0.0.0"` ile `bind: "custom"`) ayarlayın. +- **Auth**: varsayılan olarak gereklidir. Loopback dışındaki bind'ler Gateway kimlik doğrulaması gerektirir. Pratikte bu, paylaşılan bir token/parola veya `gateway.auth.mode: "trusted-proxy"` kullanan kimlik farkındalığı olan bir reverse proxy anlamına gelir. Onboarding sihirbazı varsayılan olarak bir token üretir. +- Hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa (SecretRef'ler dahil), `gateway.auth.mode` değerini açıkça `token` veya `password` olarak ayarlayın. Her ikisi de yapılandırılmış ve mode ayarlanmamışsa başlatma ve hizmet yükleme/onarma akışları başarısız olur. +- `gateway.auth.mode: "none"`: açık no-auth modu. Yalnızca güvenilir local loopback kurulumlarında kullanın; bu seçenek bilinçli olarak onboarding istemlerinde sunulmaz. +- `gateway.auth.mode: "trusted-proxy"`: kimlik doğrulamayı kimlik farkındalığı olan bir reverse proxy'ye devredin ve `gateway.trustedProxies` içinden gelen kimlik başlıklarına güvenin (bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth)). Bu mod bir **loopback dışı** proxy kaynağı bekler; aynı host üzerindeki loopback reverse proxy'ler trusted-proxy auth gereksinimini karşılamaz. +- `gateway.auth.allowTailscale`: `true` olduğunda, Tailscale Serve kimlik başlıkları Control UI/WebSocket auth için yeterli olabilir (`tailscale whois` ile doğrulanır). HTTP API uç noktaları bu Tailscale başlık kimlik doğrulamasını kullanmaz; bunun yerine Gateway'in normal HTTP auth modunu izler. Bu tokensız akış Gateway host'unun güvenilir olduğunu varsayar. `tailscale.mode = "serve"` olduğunda varsayılan `true` olur. +- `gateway.auth.rateLimit`: isteğe bağlı başarısız auth sınırlayıcısı. İstemci IP'si ve auth kapsamı başına uygulanır (paylaşılan gizli anahtar ve device-token bağımsız izlenir). Engellenen denemeler `429` + `Retry-After` döndürür. + - Eşzamansız Tailscale Serve Control UI yolunda aynı `{scope, clientIp}` için başarısız denemeler, başarısızlık yazımından önce serileştirilir. Bu nedenle aynı istemciden eşzamanlı hatalı denemeler düz uyuşmazlıklar olarak birlikte geçmek yerine ikinci istekte sınırlayıcıyı tetikleyebilir. + - `gateway.auth.rateLimit.exemptLoopback` varsayılan olarak `true` değerindedir; localhost trafiğinin de sınırlanmasını bilinçli olarak istiyorsanız (`test` kurulumları veya katı proxy dağıtımları için) `false` ayarlayın. +- Tarayıcı kökenli WS auth denemeleri, loopback muafiyeti devre dışı olacak şekilde her zaman sınırlanır (tarayıcı tabanlı localhost brute force'a karşı ek savunma). +- Loopback üzerinde bu tarayıcı kökenli kilitlemeler, normalize edilmiş `Origin` + değerine göre yalıtılır; böylece bir localhost origin'inden tekrarlanan başarısızlıklar + başka bir origin'i otomatik olarak kilitlemez. +- `tailscale.mode`: `serve` (yalnızca tailnet, loopback bind) veya `funnel` (genel erişim, auth gerektirir). +- `controlUi.allowedOrigins`: Gateway WebSocket bağlantıları için açık tarayıcı origin izin listesi. Tarayıcı istemcilerinin loopback dışı origin'lerden gelmesi bekleniyorsa gereklidir. +- `controlUi.dangerouslyAllowHostHeaderOriginFallback`: Host-header origin ilkesine bilinçli olarak dayanan dağıtımlar için Host-header origin geri dönüşünü etkinleştiren tehlikeli mod. - `remote.transport`: `ssh` (varsayılan) veya `direct` (ws/wss). `direct` için `remote.url`, `ws://` veya `wss://` olmalıdır. -- `OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1`: güvenilen özel ağ IP'lerine düz metin `ws://` erişimine izin veren istemci tarafı acil durum geçersiz kılması; varsayılan olarak düz metin için yalnızca loopback'e izin verilir. -- `gateway.remote.token` / `.password`, uzak istemci kimlik bilgisi alanlarıdır. Tek başlarına gateway auth yapılandırmazlar. -- `gateway.push.apns.relay.baseUrl`: resmi/TestFlight iOS derlemeleri relay destekli kayıtları gateway'e yayımladıktan sonra kullanılan harici APNs relay için temel HTTPS URL'si. Bu URL, iOS derlemesine derlenmiş relay URL'siyle eşleşmelidir. -- `gateway.push.apns.relay.timeoutMs`: gateway'den relay'e gönderim zaman aşımı süresi (milisaniye). Varsayılan: `10000`. -- Relay destekli kayıtlar belirli bir gateway kimliğine devredilir. Eşleştirilmiş iOS uygulaması `gateway.identity.get` çağrısını alır, bu kimliği relay kaydına dahil eder ve kayıt kapsamlı bir gönderim iznini gateway'e iletir. Başka bir gateway bu saklanan kaydı yeniden kullanamaz. -- `OPENCLAW_APNS_RELAY_BASE_URL` / `OPENCLAW_APNS_RELAY_TIMEOUT_MS`: yukarıdaki relay yapılandırması için geçici ortam değişkeni geçersiz kılmaları. -- `OPENCLAW_APNS_RELAY_ALLOW_HTTP=true`: loopback HTTP relay URL'leri için yalnızca geliştirme amaçlı kaçış kapısı. Üretim relay URL'leri HTTPS üzerinde kalmalıdır. -- `gateway.channelHealthCheckMinutes`: kanal sağlık izleme aralığı, dakika cinsinden. Sağlık izleme yeniden başlatmalarını genel olarak devre dışı bırakmak için `0` ayarlayın. Varsayılan: `5`. +- `OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1`: güvenilir özel ağ IP'lerine düz metin `ws://` izni veren istemci tarafı acil durum geçersiz kılması; varsayılan olarak düz metin yalnızca loopback için açık kalır. +- `gateway.remote.token` / `.password`, uzak istemci kimlik bilgisi alanlarıdır. Bunlar tek başlarına Gateway auth yapılandırmaz. +- `gateway.push.apns.relay.baseUrl`: resmi/TestFlight iOS sürümleri relay destekli kayıtları Gateway'e yayımladıktan sonra kullanılan harici APNs relay için temel HTTPS URL'si. Bu URL, iOS derlemesine gömülen relay URL'si ile eşleşmelidir. +- `gateway.push.apns.relay.timeoutMs`: Gateway'den relay'e gönderim zaman aşımı, milisaniye cinsinden. Varsayılan `10000`. +- Relay destekli kayıtlar belirli bir Gateway kimliğine devredilir. Eşlenen iOS uygulaması `gateway.identity.get` çağırır, bu kimliği relay kaydına ekler ve kayıt kapsamlı bir gönderim iznini Gateway'e iletir. Başka bir Gateway bu saklanan kaydı yeniden kullanamaz. +- `OPENCLAW_APNS_RELAY_BASE_URL` / `OPENCLAW_APNS_RELAY_TIMEOUT_MS`: yukarıdaki relay yapılandırması için geçici env geçersiz kılmaları. +- `OPENCLAW_APNS_RELAY_ALLOW_HTTP=true`: loopback HTTP relay URL'leri için yalnızca geliştirme amaçlı kaçış kapağı. Üretim relay URL'leri HTTPS üzerinde kalmalıdır. +- `gateway.channelHealthCheckMinutes`: kanal sağlık izleyici aralığı, dakika cinsinden. Sağlık izleyici yeniden başlatmalarını genel olarak devre dışı bırakmak için `0` ayarlayın. Varsayılan: `5`. - `gateway.channelStaleEventThresholdMinutes`: bayat soket eşiği, dakika cinsinden. Bunu `gateway.channelHealthCheckMinutes` değerinden büyük veya ona eşit tutun. Varsayılan: `30`. -- `gateway.channelMaxRestartsPerHour`: kayan bir saat içinde kanal/hesap başına azami sağlık izleme yeniden başlatması. Varsayılan: `10`. -- `channels..healthMonitor.enabled`: genel izleyiciyi etkin tutarken sağlık izleme yeniden başlatmalarından kanal başına çıkış seçeneği. -- `channels..accounts..healthMonitor.enabled`: çok hesaplı kanallar için hesap başına geçersiz kılma. Ayarlandığında kanal düzeyi geçersiz kılmanın önüne geçer. -- Yerel gateway çağrı yolları, yalnızca `gateway.auth.*` ayarlanmamışsa yedek olarak `gateway.remote.*` kullanabilir. -- `gateway.auth.token` / `gateway.auth.password`, SecretRef ile açıkça yapılandırılmış ancak çözümlenmemişse çözümleme fail-closed olur (uzak yedek bu durumu maskelemez). -- `trustedProxies`: TLS sonlandıran veya yönlendirilmiş istemci üstbilgileri ekleyen reverse proxy IP'leri. Yalnızca kontrol ettiğiniz proxy'leri listeleyin. Loopback girdileri, aynı ana makine proxy/yerel algılama kurulumları için yine geçerlidir (örneğin Tailscale Serve veya yerel reverse proxy), ancak loopback isteklerini `gateway.auth.mode: "trusted-proxy"` için uygun hale getirmezler. -- `allowRealIpFallback`: `true` olduğunda, `X-Forwarded-For` eksikse gateway `X-Real-IP` kabul eder. Fail-closed davranış için varsayılan `false`. -- `gateway.tools.deny`: HTTP `POST /tools/invoke` için engellenen ek araç adlarıdır (varsayılan ret listesini genişletir). -- `gateway.tools.allow`: varsayılan HTTP ret listesinden araç adlarını kaldırır. +- `gateway.channelMaxRestartsPerHour`: kayan bir saat içinde kanal/hesap başına en yüksek sağlık izleyici yeniden başlatma sayısı. Varsayılan: `10`. +- `channels..healthMonitor.enabled`: genel izleyiciyi etkin tutarken sağlık izleyici yeniden başlatmaları için kanal başına devre dışı bırakma. +- `channels..accounts..healthMonitor.enabled`: çok hesaplı kanallar için hesap başına geçersiz kılma. Ayarlandığında kanal düzeyindeki geçersiz kılmaya üstün gelir. +- Yerel Gateway çağrı yolları, yalnızca `gateway.auth.*` ayarlanmamışsa geri dönüş olarak `gateway.remote.*` kullanabilir. +- `gateway.auth.token` / `gateway.auth.password`, SecretRef aracılığıyla açıkça yapılandırılmışsa ve çözümlenmemişse çözümleme kapalı başarısız olur (uzak geri dönüş bunu maskeleyemez). +- `trustedProxies`: TLS'i sonlandıran veya yönlendirilmiş istemci başlıkları ekleyen reverse proxy IP'leri. Yalnızca sizin denetlediğiniz proxy'leri listeleyin. Loopback girdileri, aynı host proxy/yerel algılama kurulumları için hâlâ geçerlidir (örneğin Tailscale Serve veya yerel reverse proxy), ancak loopback isteklerini `gateway.auth.mode: "trusted-proxy"` için uygun hâle getirmez. +- `allowRealIpFallback`: `true` olduğunda, `X-Forwarded-For` eksikse Gateway `X-Real-IP` kabul eder. Kapalı varsayılan davranış için varsayılan `false`. +- `gateway.tools.deny`: HTTP `POST /tools/invoke` için engellenen ek araç adları (varsayılan deny listesini genişletir). +- `gateway.tools.allow`: araç adlarını varsayılan HTTP deny listesinden kaldırır. @@ -2964,18 +2981,18 @@ Bkz. [Plugins](/tr/tools/plugin). - Chat Completions: varsayılan olarak devre dışıdır. `gateway.http.endpoints.chatCompletions.enabled: true` ile etkinleştirin. - Responses API: `gateway.http.endpoints.responses.enabled`. -- Responses URL girdi sağlamlaştırması: +- Responses URL girdisi güçlendirmesi: - `gateway.http.endpoints.responses.maxUrlParts` - `gateway.http.endpoints.responses.files.urlAllowlist` - `gateway.http.endpoints.responses.images.urlAllowlist` - Boş izin listeleri ayarlanmamış sayılır; URL getirmeyi devre dışı bırakmak için `gateway.http.endpoints.responses.files.allowUrl=false` + Boş izin listeleri ayarlanmamış kabul edilir; URL getirmeyi devre dışı bırakmak için `gateway.http.endpoints.responses.files.allowUrl=false` ve/veya `gateway.http.endpoints.responses.images.allowUrl=false` kullanın. -- İsteğe bağlı yanıt sağlamlaştırma üstbilgisi: - - `gateway.http.securityHeaders.strictTransportSecurity` (yalnızca kontrol ettiğiniz HTTPS origin'ler için ayarlayın; bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth#tls-termination-and-hsts)) +- İsteğe bağlı yanıt güçlendirme başlığı: + - `gateway.http.securityHeaders.strictTransportSecurity` (yalnızca denetlediğiniz HTTPS origin'ler için ayarlayın; bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth#tls-termination-and-hsts)) -### Çoklu örnek yalıtımı +### Çok örnekli yalıtım -Benzersiz portlar ve durum dizinleriyle bir ana makinede birden fazla gateway çalıştırın: +Tek bir host üzerinde benzersiz portlar ve durum dizinleriyle birden fazla Gateway çalıştırın: ```bash OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \ @@ -2983,9 +3000,9 @@ OPENCLAW_STATE_DIR=~/.openclaw-a \ openclaw gateway --port 19001 ``` -Kolaylık bayrakları: `--dev` (`~/.openclaw-dev` + `19001` portunu kullanır), `--profile ` (`~/.openclaw-` kullanır). +Kolaylık bayrakları: `--dev` (`~/.openclaw-dev` + port `19001` kullanır), `--profile ` (`~/.openclaw-` kullanır). -Bkz. [Multiple Gateways](/tr/gateway/multiple-gateways). +Bkz. [Birden Fazla Gateway](/tr/gateway/multiple-gateways). ### `gateway.tls` @@ -3003,11 +3020,11 @@ Bkz. [Multiple Gateways](/tr/gateway/multiple-gateways). } ``` -- `enabled`: gateway dinleyicisinde TLS sonlandırmayı etkinleştirir (HTTPS/WSS) (varsayılan: `false`). -- `autoGenerate`: açık dosyalar yapılandırılmadığında yerel, self-signed bir sertifika/anahtar çifti otomatik oluşturur; yalnızca yerel/geliştirme kullanımı içindir. +- `enabled`: Gateway dinleyicisinde TLS sonlandırmasını etkinleştirir (HTTPS/WSS) (varsayılan: `false`). +- `autoGenerate`: açık dosyalar yapılandırılmamışsa yerel, kendinden imzalı bir sertifika/anahtar çifti üretir; yalnızca yerel/geliştirme kullanımı içindir. - `certPath`: TLS sertifika dosyasının dosya sistemi yolu. - `keyPath`: TLS özel anahtar dosyasının dosya sistemi yolu; izinleri kısıtlı tutun. -- `caPath`: istemci doğrulaması veya özel güven zincirleri için isteğe bağlı CA bundle yolu. +- `caPath`: istemci doğrulaması veya özel güven zincirleri için isteğe bağlı CA paketi yolu. ### `gateway.reload` @@ -3023,13 +3040,13 @@ Bkz. [Multiple Gateways](/tr/gateway/multiple-gateways). } ``` -- `mode`: yapılandırma düzenlemelerinin çalışma zamanında nasıl uygulanacağını denetler. - - `"off"`: canlı düzenlemeleri yok sayar; değişiklikler açık bir yeniden başlatma gerektirir. - - `"restart"`: yapılandırma değişikliğinde gateway sürecini her zaman yeniden başlatır. - - `"hot"`: yeniden başlatmadan, süreç içinde uygular. - - `"hybrid"` (varsayılan): önce hot reload dener; gerekirse yeniden başlatmaya geri döner. -- `debounceMs`: yapılandırma değişiklikleri uygulanmadan önce milisaniye cinsinden debounce penceresi (negatif olmayan tamsayı). -- `deferralTimeoutMs`: devam eden işlemleri beklerken yeniden başlatmayı zorlamadan önce beklenecek azami süre, milisaniye cinsinden (varsayılan: `300000` = 5 dakika). +- `mode`: yapılandırma düzenlemelerinin çalışma zamanında nasıl uygulanacağını kontrol eder. + - `"off"`: canlı düzenlemeleri yok say; değişiklikler açık yeniden başlatma gerektirir. + - `"restart"`: yapılandırma değiştiğinde her zaman Gateway sürecini yeniden başlat. + - `"hot"`: değişiklikleri yeniden başlatmadan süreç içinde uygula. + - `"hybrid"` (varsayılan): önce hot reload dene; gerekirse yeniden başlatmaya geri dön. +- `debounceMs`: yapılandırma değişiklikleri uygulanmadan önce ms cinsinden debounce penceresi (negatif olmayan tam sayı). +- `deferralTimeoutMs`: yeniden başlatmayı zorlamadan önce devam eden işlemleri beklemek için en yüksek süre, ms cinsinden (varsayılan: `300000` = 5 dakika). --- @@ -3056,7 +3073,7 @@ Bkz. [Multiple Gateways](/tr/gateway/multiple-gateways). wakeMode: "now", name: "Gmail", sessionKey: "hook:gmail:{{messages[0].id}}", - messageTemplate: "From: {{messages[0].from}}\nSubject: {{messages[0].subject}}\n{{messages[0].snippet}}", + messageTemplate: "Kimden: {{messages[0].from}}\nKonu: {{messages[0].subject}}\n{{messages[0].snippet}}", deliver: true, channel: "last", model: "openai/gpt-5.4-mini", @@ -3066,13 +3083,13 @@ Bkz. [Multiple Gateways](/tr/gateway/multiple-gateways). } ``` -Kimlik doğrulama: `Authorization: Bearer ` veya `x-openclaw-token: `. -Sorgu dizesi hook tokenları reddedilir. +Auth: `Authorization: Bearer ` veya `x-openclaw-token: `. +Sorgu dizesi hook token'ları reddedilir. Doğrulama ve güvenlik notları: -- `hooks.enabled=true`, boş olmayan bir `hooks.token` gerektirir. -- `hooks.token`, `gateway.auth.token` değerinden **farklı** olmalıdır; Gateway tokenını yeniden kullanmak reddedilir. +- `hooks.enabled=true` için boş olmayan bir `hooks.token` gerekir. +- `hooks.token`, `gateway.auth.token` değerinden **farklı** olmalıdır; Gateway token'ını yeniden kullanmak reddedilir. - `hooks.path`, `/` olamaz; `/hooks` gibi özel bir alt yol kullanın. - `hooks.allowRequestSessionKey=true` ise `hooks.allowedSessionKeyPrefixes` değerini sınırlandırın (örneğin `["hook:"]`). @@ -3081,20 +3098,20 @@ Doğrulama ve güvenlik notları: - `POST /hooks/wake` → `{ text, mode?: "now"|"next-heartbeat" }` - `POST /hooks/agent` → `{ message, name?, agentId?, sessionKey?, wakeMode?, deliver?, channel?, to?, model?, thinking?, timeoutSeconds? }` - İstek yükündeki `sessionKey`, yalnızca `hooks.allowRequestSessionKey=true` olduğunda kabul edilir (varsayılan: `false`). -- `POST /hooks/` → `hooks.mappings` üzerinden çözülür +- `POST /hooks/` → `hooks.mappings` üzerinden çözümlenir - `match.path`, `/hooks` sonrasındaki alt yolu eşleştirir (ör. `/hooks/gmail` → `gmail`). - `match.source`, genel yollar için bir yük alanını eşleştirir. -- `{{messages[0].subject}}` gibi şablonlar yükten okur. +- `{{messages[0].subject}}` gibi şablonlar yükten okunur. - `transform`, bir hook eylemi döndüren JS/TS modülünü işaret edebilir. - - `transform.module` göreli bir yol olmalı ve `hooks.transformsDir` içinde kalmalıdır (mutlak yollar ve yol geçişleri reddedilir). -- `agentId`, belirli bir ajana yönlendirir; bilinmeyen kimlikler varsayılan ajana geri döner. + - `transform.module` göreli bir yol olmalıdır ve `hooks.transformsDir` içinde kalır (mutlak yollar ve yol geçişi reddedilir). +- `agentId`, belirli bir agent'a yönlendirir; bilinmeyen kimlikler varsayılan agente geri döner. - `allowedAgentIds`: açık yönlendirmeyi kısıtlar (`*` veya atlanmış = tümüne izin ver, `[]` = tümünü reddet). -- `defaultSessionKey`: açık `sessionKey` olmadan hook ajan çalıştırmaları için isteğe bağlı sabit oturum anahtarı. +- `defaultSessionKey`: açık `sessionKey` olmadan yapılan hook agent çalıştırmaları için isteğe bağlı sabit oturum anahtarı. - `allowRequestSessionKey`: `/hooks/agent` çağıranlarının `sessionKey` ayarlamasına izin verir (varsayılan: `false`). -- `allowedSessionKeyPrefixes`: açık `sessionKey` değerleri için isteğe bağlı önek izin listesi (istek + eşleme), ör. `["hook:"]`. +- `allowedSessionKeyPrefixes`: açık `sessionKey` değerleri (istek + eşleme) için isteğe bağlı önek izin listesi, ör. `["hook:"]`. - `deliver: true`, son yanıtı bir kanala gönderir; `channel` varsayılan olarak `last` olur. - `model`, bu hook çalıştırması için LLM'i geçersiz kılar (model kataloğu ayarlıysa izinli olmalıdır). @@ -3123,7 +3140,7 @@ Doğrulama ve güvenlik notları: } ``` -- Gateway yapılandırıldığında önyüklemede `gog gmail watch serve` işlemini otomatik başlatır. Devre dışı bırakmak için `OPENCLAW_SKIP_GMAIL_WATCHER=1` ayarlayın. +- Yapılandırıldığında Gateway, açılışta `gog gmail watch serve` işlemini otomatik başlatır. Devre dışı bırakmak için `OPENCLAW_SKIP_GMAIL_WATCHER=1` ayarlayın. - Gateway ile birlikte ayrı bir `gog gmail watch serve` çalıştırmayın. --- @@ -3140,18 +3157,18 @@ Doğrulama ve güvenlik notları: } ``` -- Gateway portu altında HTTP üzerinden ajan tarafından düzenlenebilir HTML/CSS/JS ve A2UI sunar: +- Agent tarafından düzenlenebilir HTML/CSS/JS ve A2UI öğelerini Gateway portu altında HTTP üzerinden sunar: - `http://:/__openclaw__/canvas/` - `http://:/__openclaw__/a2ui/` -- Yalnızca yerel kullanım: `gateway.bind: "loopback"` (varsayılan) olarak bırakın. -- Loopback dışı bind'lerde canvas rotaları, diğer Gateway HTTP yüzeyleriyle aynı şekilde Gateway auth (token/password/trusted-proxy) gerektirir. -- Node WebView'lar genellikle auth üstbilgisi göndermez; bir node eşleştirilip bağlandıktan sonra Gateway, canvas/A2UI erişimi için node kapsamlı yetenek URL'leri duyurur. -- Yetenek URL'leri etkin node WS oturumuna bağlıdır ve hızlıca sona erer. IP tabanlı yedek kullanılmaz. -- Sunulan HTML içine live-reload istemcisi enjekte eder. +- Yalnızca yerel: `gateway.bind: "loopback"` (varsayılan) olarak bırakın. +- Loopback dışı bind'ler: canvas yolları, diğer Gateway HTTP yüzeylerinde olduğu gibi Gateway auth (token/password/trusted-proxy) gerektirir. +- Node WebView'lar genellikle auth başlıkları göndermez; bir node eşleştirildikten ve bağlandıktan sonra Gateway, canvas/A2UI erişimi için node kapsamlı yetenek URL'leri duyurur. +- Yetenek URL'leri etkin node WS oturumuna bağlıdır ve hızla sona erer. IP tabanlı geri dönüş kullanılmaz. +- Sunulan HTML içine live-reload istemcisi ekler. - Boş olduğunda başlangıç `index.html` dosyasını otomatik oluşturur. - A2UI'yi ayrıca `/__openclaw__/a2ui/` altında sunar. -- Değişiklikler bir gateway yeniden başlatması gerektirir. -- Büyük dizinler veya `EMFILE` hataları için live reload'u devre dışı bırakın. +- Değişiklikler Gateway yeniden başlatması gerektirir. +- Büyük dizinlerde veya `EMFILE` hatalarında live reload'u devre dışı bırakın. --- @@ -3171,7 +3188,7 @@ Doğrulama ve güvenlik notları: - `minimal` (varsayılan): TXT kayıtlarından `cliPath` + `sshPort` alanlarını çıkarır. - `full`: `cliPath` + `sshPort` alanlarını içerir. -- Ana makine adı varsayılan olarak `openclaw` olur. `OPENCLAW_MDNS_HOSTNAME` ile geçersiz kılın. +- Hostname varsayılan olarak `openclaw` olur. `OPENCLAW_MDNS_HOSTNAME` ile geçersiz kılın. ### Geniş alan (DNS-SD) @@ -3183,7 +3200,7 @@ Doğrulama ve güvenlik notları: } ``` -`~/.openclaw/dns/` altında bir unicast DNS-SD bölgesi yazar. Ağlar arası keşif için bunu bir DNS sunucusu (CoreDNS önerilir) + Tailscale split DNS ile eşleştirin. +`~/.openclaw/dns/` altında tek yönlü bir DNS-SD bölgesi yazar. Ağlar arası keşif için bunu bir DNS sunucusuyla (CoreDNS önerilir) + Tailscale split DNS ile eşleştirin. Kurulum: `openclaw dns setup --apply`. @@ -3191,7 +3208,7 @@ Kurulum: `openclaw dns setup --apply`. ## Ortam -### `env` (satır içi ortam değişkenleri) +### `env` (satır içi env değişkenleri) ```json5 { @@ -3208,14 +3225,14 @@ Kurulum: `openclaw dns setup --apply`. } ``` -- Satır içi ortam değişkenleri yalnızca süreç ortamında anahtar eksikse uygulanır. -- `.env` dosyaları: geçerli çalışma dizini `.env` + `~/.openclaw/.env` (hiçbiri mevcut değişkenlerin üzerine yazmaz). -- `shellEnv`: eksik beklenen anahtarları giriş kabuğu profilinizden içe aktarır. -- Tam öncelik için bkz. [Environment](/tr/help/environment). +- Satır içi env değişkenleri yalnızca süreç env'sinde anahtar eksikse uygulanır. +- `.env` dosyaları: CWD `.env` + `~/.openclaw/.env` (hiçbiri mevcut değişkenleri geçersiz kılmaz). +- `shellEnv`: beklenen eksik anahtarları oturum açma kabuğu profilinizden içe aktarır. +- Tam öncelik için bkz. [Ortam](/tr/help/environment). -### Ortam değişkeni yerleştirme +### Env değişkeni yer değiştirmesi -Herhangi bir yapılandırma dizesinde `${VAR_NAME}` ile ortam değişkenlerine başvurun: +Herhangi bir yapılandırma dizesinde env değişkenlerine `${VAR_NAME}` ile başvurun: ```json5 { @@ -3225,16 +3242,16 @@ Herhangi bir yapılandırma dizesinde `${VAR_NAME}` ile ortam değişkenlerine b } ``` -- Yalnızca büyük harfli adlar eşleşir: `[A-Z_][A-Z0-9_]*`. -- Eksik/boş değişkenler yapılandırma yüklemede hata oluşturur. -- Düz `${VAR}` kullanmak için `$${VAR}` ile kaçış yapın. +- Yalnızca büyük harfli adlar eşleştirilir: `[A-Z_][A-Z0-9_]*`. +- Eksik/boş değişkenler yapılandırma yüklenirken hata üretir. +- Gerçek bir `${VAR}` için `$${VAR}` ile kaçış yapın. - `$include` ile çalışır. --- -## Secrets +## Gizli bilgiler -SecretRef'ler ekleyicidir: düz metin değerler çalışmaya devam eder. +SecretRef'ler toplamsaldır: düz metin değerler yine çalışır. ### `SecretRef` @@ -3248,17 +3265,17 @@ Doğrulama: - `provider` deseni: `^[a-z][a-z0-9_-]{0,63}$` - `source: "env"` id deseni: `^[A-Z][A-Z0-9_]{0,127}$` -- `source: "file"` id: mutlak JSON işaretçisi (örneğin `"/providers/openai/apiKey"`) +- `source: "file"` id: mutlak JSON pointer (örneğin `"/providers/openai/apiKey"`) - `source: "exec"` id deseni: `^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$` -- `source: "exec"` kimlikleri `.` veya `..` eğik çizgiyle ayrılmış yol bölümleri içermemelidir (örneğin `a/../b` reddedilir) +- `source: "exec"` id'leri `.` veya `..` eğik çizgiyle ayrılmış yol segmentleri içermemelidir (örneğin `a/../b` reddedilir) ### Desteklenen kimlik bilgisi yüzeyi -- Kanonik matris: [SecretRef Credential Surface](/tr/reference/secretref-credential-surface) +- Kurallı matris: [SecretRef Kimlik Bilgisi Yüzeyi](/tr/reference/secretref-credential-surface) - `secrets apply`, desteklenen `openclaw.json` kimlik bilgisi yollarını hedefler. -- `auth-profiles.json` referansları çalışma zamanı çözümlemesine ve denetim kapsamına dahildir. +- `auth-profiles.json` başvuruları çalışma zamanı çözümlemesine ve denetim kapsamına dahildir. -### Secret sağlayıcıları yapılandırması +### Secret sağlayıcı yapılandırması ```json5 { @@ -3288,13 +3305,13 @@ Doğrulama: Notlar: -- `file` sağlayıcısı `mode: "json"` ve `mode: "singleValue"` destekler (`singleValue` modunda `id` değeri `"value"` olmalıdır). -- `exec` sağlayıcısı mutlak `command` yolu gerektirir ve stdin/stdout üzerinde protokol yükleri kullanır. -- Varsayılan olarak symlink komut yolları reddedilir. Çözümlenen hedef yol doğrulanırken symlink yollarına izin vermek için `allowSymlinkCommand: true` ayarlayın. -- `trustedDirs` yapılandırılmışsa güvenilen dizin denetimi çözümlenen hedef yola uygulanır. -- `exec` alt süreç ortamı varsayılan olarak minimaldir; gerekli değişkenleri `passEnv` ile açıkça geçin. -- SecretRef'ler etkinleştirme sırasında bellek içi bir anlık görüntüye çözülür; ardından istek yolları yalnızca bu anlık görüntüyü okur. -- Etkin yüzey filtrelemesi etkinleştirme sırasında uygulanır: etkin yüzeylerde çözümlenmemiş referanslar başlangıç/yeniden yüklemeyi başarısız kılar, etkin olmayan yüzeyler ise tanılamayla atlanır. +- `file` sağlayıcısı `mode: "json"` ve `mode: "singleValue"` destekler (`singleValue` modunda `id`, `"value"` olmalıdır). +- `exec` sağlayıcısı mutlak bir `command` yolu gerektirir ve stdin/stdout üzerinde protokol yükleri kullanır. +- Varsayılan olarak symlink komut yolları reddedilir. Symlink yollarına izin verirken çözümlenen hedef yolu doğrulamak için `allowSymlinkCommand: true` ayarlayın. +- `trustedDirs` yapılandırılmışsa güvenilir dizin denetimi çözümlenen hedef yola uygulanır. +- `exec` alt süreç ortamı varsayılan olarak asgaridir; gerekli değişkenleri `passEnv` ile açıkça iletin. +- Secret başvuruları etkinleştirme sırasında bellek içi bir anlık görüntüye çözümlenir, ardından istek yolları yalnızca bu anlık görüntüyü okur. +- Etkin yüzey filtrelemesi etkinleştirme sırasında uygulanır: etkin yüzeylerdeki çözümlenmemiş başvurular başlatma/yeniden yüklemeyi başarısız kılar; etkin olmayan yüzeyler ise tanılama ile atlanır. --- @@ -3316,13 +3333,13 @@ Notlar: } ``` -- Ajan başına profiller `/auth-profiles.json` içinde saklanır. -- `auth-profiles.json`, statik kimlik bilgisi modları için değer düzeyinde referansları (`api_key` için `keyRef`, `token` için `tokenRef`) destekler. +- Agent başına profiller `/auth-profiles.json` içinde saklanır. +- `auth-profiles.json`, statik kimlik bilgisi modları için değer düzeyinde başvuruları destekler (`api_key` için `keyRef`, `token` için `tokenRef`). - OAuth modlu profiller (`auth.profiles..mode = "oauth"`), SecretRef destekli auth-profile kimlik bilgilerini desteklemez. -- Statik çalışma zamanı kimlik bilgileri, çözülmüş bellek içi anlık görüntülerden gelir; eski statik `auth.json` girdileri bulunduğunda temizlenir. -- Eski OAuth aktarımları `~/.openclaw/credentials/oauth.json` içinden alınır. +- Statik çalışma zamanı kimlik bilgileri, bellek içi çözümlenmiş anlık görüntülerden gelir; bulunan eski statik `auth.json` girdileri temizlenir. +- Eski OAuth içe aktarmaları `~/.openclaw/credentials/oauth.json` içinden yapılır. - Bkz. [OAuth](/tr/concepts/oauth). -- Secrets çalışma zamanı davranışı ile `audit/configure/apply` araçları: [Secrets Management](/tr/gateway/secrets). +- Secrets çalışma zamanı davranışı ve `audit/configure/apply` araçları: [Secrets Management](/tr/gateway/secrets). ### `auth.cooldowns` @@ -3344,15 +3361,21 @@ Notlar: } ``` -- `billingBackoffHours`: bir profil gerçek faturalandırma/yetersiz kredi hataları nedeniyle başarısız olduğunda temel geri çekilme süresi, saat cinsinden (varsayılan: `5`). Açık faturalandırma metni `401`/`403` yanıtlarında bile yine bu yola düşebilir, ancak sağlayıcıya özgü metin eşleştiriciler onları sahiplenen sağlayıcıyla sınırlı kalır (örneğin OpenRouter `Key limit exceeded`). Yeniden denenebilir HTTP `402` kullanım penceresi veya organizasyon/çalışma alanı harcama sınırı mesajları bunun yerine `rate_limit` yolunda kalır. -- `billingBackoffHoursByProvider`: faturalandırma geri çekilme süresi için sağlayıcı başına isteğe bağlı geçersiz kılmalar. -- `billingMaxHours`: faturalandırma geri çekilme süresi üstel büyümesi için üst sınır, saat cinsinden (varsayılan: `24`). -- `authPermanentBackoffMinutes`: yüksek güvenli `auth_permanent` hataları için temel geri çekilme süresi, dakika cinsinden (varsayılan: `10`). -- `authPermanentMaxMinutes`: `auth_permanent` geri çekilme büyümesi için üst sınır, dakika cinsinden (varsayılan: `60`). +- `billingBackoffHours`: bir profil gerçek + faturalama/yetersiz kredi hataları nedeniyle başarısız olduğunda saat cinsinden temel geri çekilme süresi (varsayılan: `5`). Açık faturalama metni + `401`/`403` yanıtlarında bile buraya düşebilir, ancak sağlayıcıya özgü metin + eşleyicileri bunların sahibi olan sağlayıcı ile sınırlı kalır (örneğin OpenRouter + `Key limit exceeded`). Yeniden denenebilir HTTP `402` kullanım penceresi veya + kuruluş/workspace harcama sınırı mesajları bunun yerine `rate_limit` yolunda + kalır. +- `billingBackoffHoursByProvider`: faturalama geri çekilme süresi için isteğe bağlı sağlayıcı başına geçersiz kılmalar. +- `billingMaxHours`: faturalama geri çekilme üstel büyümesi için saat cinsinden üst sınır (varsayılan: `24`). +- `authPermanentBackoffMinutes`: yüksek güvenli `auth_permanent` hataları için dakika cinsinden temel geri çekilme süresi (varsayılan: `10`). +- `authPermanentMaxMinutes`: `auth_permanent` geri çekilme büyümesi için dakika cinsinden üst sınır (varsayılan: `60`). - `failureWindowHours`: geri çekilme sayaçları için kullanılan kayan pencere, saat cinsinden (varsayılan: `24`). -- `overloadedProfileRotations`: model fallback'ine geçmeden önce aşırı yük hataları için aynı sağlayıcı auth-profile döndürme sayısının üst sınırı (varsayılan: `1`). `ModelNotReadyException` gibi sağlayıcı meşgul şekilleri buraya düşer. -- `overloadedBackoffMs`: aşırı yüklü bir sağlayıcı/profil döndürmesini yeniden denemeden önce sabit gecikme, milisaniye cinsinden (varsayılan: `0`). -- `rateLimitedProfileRotations`: model fallback'ine geçmeden önce rate-limit hataları için aynı sağlayıcı auth-profile döndürme sayısının üst sınırı (varsayılan: `1`). Bu rate-limit kovası; `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded` ve `resource exhausted` gibi sağlayıcı biçimli metinleri de içerir. +- `overloadedProfileRotations`: model geri dönüşüne geçmeden önce overloaded hataları için aynı sağlayıcı auth-profile döndürmelerinin en yüksek sayısı (varsayılan: `1`). `ModelNotReadyException` gibi sağlayıcı meşgul şekilleri buraya düşer. +- `overloadedBackoffMs`: overloaded sağlayıcı/profil döndürmesini yeniden denemeden önce sabit gecikme (varsayılan: `0`). +- `rateLimitedProfileRotations`: model geri dönüşüne geçmeden önce rate-limit hataları için aynı sağlayıcı auth-profile döndürmelerinin en yüksek sayısı (varsayılan: `1`). Bu rate-limit kovası `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded` ve `resource exhausted` gibi sağlayıcı biçimli metinleri içerir. --- @@ -3373,8 +3396,8 @@ Notlar: - Varsayılan günlük dosyası: `/tmp/openclaw/openclaw-YYYY-MM-DD.log`. - Kararlı bir yol için `logging.file` ayarlayın. -- `consoleLevel`, `--verbose` ile `debug` düzeyine çıkar. -- `maxFileBytes`: yazmalar bastırılmadan önce azami günlük dosyası boyutu, bayt cinsinden (pozitif tamsayı; varsayılan: `524288000` = 500 MB). Üretim dağıtımları için harici günlük döndürme kullanın. +- `consoleLevel`, `--verbose` olduğunda `debug` düzeyine yükselir. +- `maxFileBytes`: yazmalar bastırılmadan önce günlük dosyası için en yüksek bayt boyutu (pozitif tam sayı; varsayılan: `524288000` = 500 MB). Üretim dağıtımları için harici günlük döndürme kullanın. --- @@ -3411,20 +3434,20 @@ Notlar: } ``` -- `enabled`: araçsal çıktı için ana anahtar (varsayılan: `true`). -- `flags`: hedefli günlük çıktısını etkinleştiren bayrak dizeleri dizisi ( `"telegram.*"` veya `"*"` gibi joker karakterleri destekler). -- `stuckSessionWarnMs`: bir oturum işleme durumunda kalırken takılmış oturum uyarıları üretmek için milisaniye cinsinden yaş eşiği. +- `enabled`: instrumentation çıktısı için ana anahtar (varsayılan: `true`). +- `flags`: hedefli günlük çıktısını etkinleştiren bayrak dizeleri dizisi (`"telegram.*"` veya `"*"` gibi joker karakterleri destekler). +- `stuckSessionWarnMs`: bir oturum işleniyor durumunda kalırken takılı oturum uyarıları üretmek için ms cinsinden yaş eşiği. - `otel.enabled`: OpenTelemetry dışa aktarma hattını etkinleştirir (varsayılan: `false`). -- `otel.endpoint`: OTel dışa aktarımı için toplayıcı URL'si. +- `otel.endpoint`: OTel dışa aktarma için toplayıcı URL'si. - `otel.protocol`: `"http/protobuf"` (varsayılan) veya `"grpc"`. -- `otel.headers`: OTel dışa aktarma istekleriyle gönderilen ek HTTP/gRPC meta veri üstbilgileri. +- `otel.headers`: OTel dışa aktarma istekleriyle gönderilen ek HTTP/gRPC meta veri başlıkları. - `otel.serviceName`: kaynak öznitelikleri için hizmet adı. -- `otel.traces` / `otel.metrics` / `otel.logs`: iz, metrik veya günlük dışa aktarımını etkinleştirir. -- `otel.sampleRate`: `0`–`1` aralığında iz örnekleme oranı. -- `otel.flushIntervalMs`: milisaniye cinsinden periyodik telemetri flush aralığı. -- `cacheTrace.enabled`: gömülü çalıştırmalar için önbellek iz anlık görüntülerini günlüğe kaydeder (varsayılan: `false`). -- `cacheTrace.filePath`: önbellek iz JSONL'si için çıktı yolu (varsayılan: `$OPENCLAW_STATE_DIR/logs/cache-trace.jsonl`). -- `cacheTrace.includeMessages` / `includePrompt` / `includeSystem`: önbellek iz çıktısına nelerin dahil edileceğini denetler (tamamının varsayılanı: `true`). +- `otel.traces` / `otel.metrics` / `otel.logs`: izleme, metrik veya günlük dışa aktarmasını etkinleştirir. +- `otel.sampleRate`: iz örnekleme oranı `0`–`1`. +- `otel.flushIntervalMs`: ms cinsinden düzenli telemetri boşaltma aralığı. +- `cacheTrace.enabled`: gömülü çalıştırmalar için önbellek izleme anlık görüntülerini günlüğe kaydeder (varsayılan: `false`). +- `cacheTrace.filePath`: önbellek izleme JSONL çıktısı yolu (varsayılan: `$OPENCLAW_STATE_DIR/logs/cache-trace.jsonl`). +- `cacheTrace.includeMessages` / `includePrompt` / `includeSystem`: önbellek izleme çıktısına nelerin dahil edileceğini kontrol eder (tümü için varsayılan: `true`). --- @@ -3447,11 +3470,11 @@ Notlar: ``` - `channel`: npm/git kurulumları için sürüm kanalı — `"stable"`, `"beta"` veya `"dev"`. -- `checkOnStart`: gateway başladığında npm güncellemelerini denetler (varsayılan: `true`). +- `checkOnStart`: Gateway başladığında npm güncellemelerini denetler (varsayılan: `true`). - `auto.enabled`: paket kurulumları için arka planda otomatik güncellemeyi etkinleştirir (varsayılan: `false`). -- `auto.stableDelayHours`: stable kanalında otomatik uygulama öncesindeki asgari gecikme, saat cinsinden (varsayılan: `6`; azami: `168`). -- `auto.stableJitterHours`: stable kanalında ek dağıtım yayılım penceresi, saat cinsinden (varsayılan: `12`; azami: `168`). -- `auto.betaCheckIntervalHours`: beta kanalı denetimlerinin kaç saatte bir çalışacağı (varsayılan: `1`; azami: `24`). +- `auto.stableDelayHours`: stable kanalında otomatik uygulama öncesi saat cinsinden en düşük gecikme (varsayılan: `6`; en fazla: `168`). +- `auto.stableJitterHours`: stable kanalındaki yayılım penceresi için saat cinsinden ek dağıtım aralığı (varsayılan: `12`; en fazla: `168`). +- `auto.betaCheckIntervalHours`: beta kanal denetimlerinin saat cinsinden sıklığı (varsayılan: `1`; en fazla: `24`). --- @@ -3485,21 +3508,21 @@ Notlar: ``` - `enabled`: genel ACP özellik kapısı (varsayılan: `false`). -- `dispatch.enabled`: ACP oturum turu dispatch için bağımsız kapı (varsayılan: `true`). ACP komutlarını kullanılabilir tutarken yürütmeyi engellemek için `false` ayarlayın. -- `backend`: varsayılan ACP çalışma zamanı arka uç kimliği (kayıtlı bir ACP çalışma zamanı eklentisiyle eşleşmelidir). -- `defaultAgent`: oluşturmalarda açık bir hedef belirtilmediğinde kullanılan yedek ACP hedef ajan kimliği. -- `allowedAgents`: ACP çalışma zamanı oturumları için izin verilen ajan kimliklerinin izin listesi; boş olması ek kısıtlama olmadığı anlamına gelir. -- `maxConcurrentSessions`: eşzamanlı etkin ACP oturumlarının azami sayısı. -- `stream.coalesceIdleMs`: akışlı metin için milisaniye cinsinden boşta flush penceresi. -- `stream.maxChunkChars`: akışlı blok projeksiyonu bölünmeden önceki azami parça boyutu. -- `stream.repeatSuppression`: tur başına tekrar eden durum/araç satırlarını bastırır (varsayılan: `true`). -- `stream.deliveryMode`: `"live"` artımlı olarak akıtır; `"final_only"` turun son olaylarına kadar tamponlar. -- `stream.hiddenBoundarySeparator`: gizli araç olaylarından sonra görünür metinden önceki ayırıcı (varsayılan: `"paragraph"`). -- `stream.maxOutputChars`: ACP turu başına yansıtılan azami asistan çıktı karakteri. -- `stream.maxSessionUpdateChars`: yansıtılan ACP durum/güncelleme satırları için azami karakter sayısı. -- `stream.tagVisibility`: akışlı olaylar için etiket adlarını boolean görünürlük geçersiz kılmalarına eşleyen kayıt. -- `runtime.ttlMinutes`: ACP oturum çalışanlarının temizlenmeye uygun hale gelmeden önceki boşta TTL süresi, dakika cinsinden. -- `runtime.installCommand`: ACP çalışma zamanı ortamını bootstrap ederken çalıştırılacak isteğe bağlı kurulum komutu. +- `dispatch.enabled`: ACP oturum dönüşü dağıtımı için bağımsız kapı (varsayılan: `true`). ACP komutlarını kullanılabilir tutarken yürütmeyi engellemek için `false` ayarlayın. +- `backend`: varsayılan ACP çalışma zamanı arka uç id'si (kayıtlı bir ACP çalışma zamanı Plugin'iyle eşleşmelidir). +- `defaultAgent`: başlatmalar açık bir hedef belirtmediğinde geri dönüş ACP hedef agent id'si. +- `allowedAgents`: ACP çalışma zamanı oturumları için izin verilen agent kimliklerinin izin listesi; boş olması ek kısıtlama olmadığı anlamına gelir. +- `maxConcurrentSessions`: eşzamanlı etkin ACP oturumlarının en yüksek sayısı. +- `stream.coalesceIdleMs`: akışlı metin için ms cinsinden boşta birleştirme penceresi. +- `stream.maxChunkChars`: akışlı blok izdüşümü bölünmeden önce en yüksek parça boyutu. +- `stream.repeatSuppression`: dönüş başına tekrarlanan durum/araç satırlarını bastırır (varsayılan: `true`). +- `stream.deliveryMode`: `"live"` artımlı akış yapar; `"final_only"` dönüş son olaylarına kadar tamponlar. +- `stream.hiddenBoundarySeparator`: gizli araç olaylarından sonra görünür metinden önce kullanılacak ayırıcı (varsayılan: `"paragraph"`). +- `stream.maxOutputChars`: ACP dönüşü başına yansıtılan en yüksek asistan çıktı karakteri. +- `stream.maxSessionUpdateChars`: yansıtılan ACP durum/güncelleme satırları için en yüksek karakter sayısı. +- `stream.tagVisibility`: akışlı olaylar için etiket adlarını boole görünürlük geçersiz kılmalarına eşleyen kayıt. +- `runtime.ttlMinutes`: ACP oturum çalışanları için temizlik uygunluğundan önceki boşta TTL, dakika cinsinden. +- `runtime.installCommand`: ACP çalışma zamanı ortamı önyüklenirken çalıştırılacak isteğe bağlı kurulum komutu. --- @@ -3515,17 +3538,17 @@ Notlar: } ``` -- `cli.banner.taglineMode`, banner slogan stilini denetler: - - `"random"` (varsayılan): dönen eğlenceli/mevsimsel sloganlar. - - `"default"`: sabit nötr slogan (`All your chats, one OpenClaw.`). - - `"off"`: slogan metni yoktur (banner başlığı/sürümü yine gösterilir). -- Banner'ın tamamını gizlemek için (yalnızca sloganları değil), `OPENCLAW_HIDE_BANNER=1` ortam değişkenini ayarlayın. +- `cli.banner.taglineMode`, banner slogan stilini kontrol eder: + - `"random"` (varsayılan): dönüşümlü komik/mevsimsel sloganlar. + - `"default"`: sabit nötr slogan (`Tüm sohbetleriniz, tek bir OpenClaw.`). + - `"off"`: slogan metni yok (banner başlığı/sürüm yine gösterilir). +- Banner'ın tamamını gizlemek için (yalnızca sloganları değil) env `OPENCLAW_HIDE_BANNER=1` ayarlayın. --- -## Wizard +## Sihirbaz -CLI rehberli kurulum akışları (`onboard`, `configure`, `doctor`) tarafından yazılan meta veriler: +CLI yönlendirmeli kurulum akışları tarafından yazılan meta veri (`onboard`, `configure`, `doctor`): ```json5 { @@ -3543,15 +3566,15 @@ CLI rehberli kurulum akışları (`onboard`, `configure`, `doctor`) tarafından ## Kimlik -[Agent defaults](#agent-defaults) altındaki `agents.list` kimlik alanlarına bakın. +[Agent varsayılanları](#agent-defaults) altında `agents.list` kimlik alanlarına bakın. --- ## Bridge (eski, kaldırıldı) -Geçerli derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzerinden bağlanır. `bridge.*` anahtarları artık yapılandırma şemasının parçası değildir (kaldırılana kadar doğrulama başarısız olur; `openclaw doctor --fix` bilinmeyen anahtarları temizleyebilir). +Güncel derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzerinden bağlanır. `bridge.*` anahtarları artık yapılandırma şemasının parçası değildir (kaldırılana kadar doğrulama başarısız olur; `openclaw doctor --fix` bilinmeyen anahtarları temizleyebilir). - + ```json { @@ -3578,7 +3601,7 @@ Geçerli derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzer cron: { enabled: true, maxConcurrentRuns: 2, - webhook: "https://example.invalid/legacy", // saklanan notify:true işler için kullanım dışı yedek + webhook: "https://example.invalid/legacy", // saklanan notify:true işler için kullanımdan kalkmış geri dönüş webhookToken: "replace-with-dedicated-token", // giden webhook auth için isteğe bağlı bearer token sessionRetention: "24h", // süre dizesi veya false runLog: { @@ -3589,11 +3612,11 @@ Geçerli derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzer } ``` -- `sessionRetention`: tamamlanan yalıtılmış cron çalıştırma oturumlarının `sessions.json` içinden budanmadan önce ne kadar süre tutulacağını belirler. Ayrıca arşivlenmiş silinmiş cron transcript'lerinin temizliğini de denetler. Varsayılan: `24h`; devre dışı bırakmak için `false` ayarlayın. -- `runLog.maxBytes`: budamadan önce çalıştırma günlük dosyası başına azami boyut (`cron/runs/.jsonl`). Varsayılan: `2_000_000` bayt. -- `runLog.keepLines`: çalıştırma günlüğü budaması tetiklendiğinde tutulan en yeni satırlar. Varsayılan: `2000`. -- `webhookToken`: cron webhook POST teslimi için kullanılan bearer token (`delivery.mode = "webhook"`); atlanırsa auth üstbilgisi gönderilmez. -- `webhook`: yalnızca hâlâ `notify: true` kullanan saklanmış işler için kullanılan, kullanımdan kalkmış eski yedek webhook URL'si (http/https). +- `sessionRetention`: tamamlanan yalıtılmış Cron çalıştırma oturumlarını `sessions.json` içinden budamadan önce ne kadar süre saklayacağını belirler. Ayrıca arşivlenmiş silinmiş Cron transcript'lerinin temizliğini de kontrol eder. Varsayılan: `24h`; devre dışı bırakmak için `false` ayarlayın. +- `runLog.maxBytes`: budamadan önce çalıştırma günlüğü dosyası başına en yüksek boyut (`cron/runs/.jsonl`). Varsayılan: `2_000_000` bayt. +- `runLog.keepLines`: çalıştırma günlüğü budaması tetiklendiğinde saklanan en yeni satırlar. Varsayılan: `2000`. +- `webhookToken`: Cron webhook POST teslimi için kullanılan bearer token (`delivery.mode = "webhook"`); atlanırsa auth başlığı gönderilmez. +- `webhook`: yalnızca hâlâ `notify: true` olan saklanan işler için kullanılan, kullanımdan kalkmış eski geri dönüş webhook URL'si (http/https). ### `cron.retry` @@ -3609,11 +3632,11 @@ Geçerli derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzer } ``` -- `maxAttempts`: geçici hatalarda tek seferlik işler için azami yeniden deneme sayısı (varsayılan: `3`; aralık: `0`–`10`). -- `backoffMs`: her yeniden deneme girişimi için milisaniye cinsinden geri çekilme gecikmeleri dizisi (varsayılan: `[30000, 60000, 300000]`; 1–10 giriş). +- `maxAttempts`: geçici hatalarda tek seferlik işler için en yüksek yeniden deneme sayısı (varsayılan: `3`; aralık: `0`–`10`). +- `backoffMs`: her yeniden deneme girişimi için ms cinsinden backoff gecikmeleri dizisi (varsayılan: `[30000, 60000, 300000]`; 1–10 girdi). - `retryOn`: yeniden denemeyi tetikleyen hata türleri — `"rate_limit"`, `"overloaded"`, `"network"`, `"timeout"`, `"server_error"`. Tüm geçici türleri yeniden denemek için atlayın. -Yalnızca tek seferlik cron işlerine uygulanır. Yinelenen işler ayrı hata işleme kullanır. +Yalnızca tek seferlik Cron işleri için geçerlidir. Yineleyen işler ayrı hata işleme kullanır. ### `cron.failureAlert` @@ -3631,11 +3654,11 @@ Yalnızca tek seferlik cron işlerine uygulanır. Yinelenen işler ayrı hata i } ``` -- `enabled`: cron işleri için hata uyarılarını etkinleştirir (varsayılan: `false`). -- `after`: bir uyarı tetiklenmeden önceki ardışık hata sayısı (pozitif tamsayı, min: `1`). -- `cooldownMs`: aynı iş için yinelenen uyarılar arasındaki asgari milisaniye sayısı (negatif olmayan tamsayı). +- `enabled`: Cron işleri için hata uyarılarını etkinleştirir (varsayılan: `false`). +- `after`: bir uyarı tetiklenmeden önceki art arda hata sayısı (pozitif tam sayı, en az: `1`). +- `cooldownMs`: aynı iş için yinelenen uyarılar arasında en az milisaniye sayısı (negatif olmayan tam sayı). - `mode`: teslim modu — `"announce"` bir kanal mesajı üzerinden gönderir; `"webhook"` yapılandırılmış webhook'a POST eder. -- `accountId`: uyarı teslimini kapsamlamak için isteğe bağlı hesap veya kanal kimliği. +- `accountId`: uyarı teslimini kapsamlandırmak için isteğe bağlı hesap veya kanal id'si. ### `cron.failureDestination` @@ -3652,16 +3675,16 @@ Yalnızca tek seferlik cron işlerine uygulanır. Yinelenen işler ayrı hata i } ``` -- Tüm işler genelinde cron hata bildirimleri için varsayılan hedef. -- `mode`: `"announce"` veya `"webhook"`; yeterli hedef verisi mevcut olduğunda varsayılan `"announce"` olur. +- Tüm işler genelinde Cron hata bildirimleri için varsayılan hedef. +- `mode`: `"announce"` veya `"webhook"`; yeterli hedef verisi varsa varsayılan olarak `"announce"` olur. - `channel`: announce teslimi için kanal geçersiz kılması. `"last"`, bilinen son teslim kanalını yeniden kullanır. -- `to`: açık announce hedefi veya webhook URL'si. Webhook modu için zorunludur. +- `to`: açık announce hedefi veya webhook URL'si. Webhook modu için gereklidir. - `accountId`: teslim için isteğe bağlı hesap geçersiz kılması. - İş başına `delivery.failureDestination`, bu genel varsayılanı geçersiz kılar. -- Genel veya iş başına hiçbir hata hedefi ayarlanmamışsa, zaten `announce` ile teslim eden işler hata durumunda o birincil announce hedefine geri döner. -- `delivery.failureDestination`, işin birincil `delivery.mode` değeri `"webhook"` olmadığı sürece yalnızca `sessionTarget="isolated"` işleri için desteklenir. +- Genel veya iş başına hata hedefi ayarlanmadığında, zaten `announce` ile teslim edilen işler hata durumunda bu birincil announce hedefine geri döner. +- `delivery.failureDestination` yalnızca `sessionTarget="isolated"` işleri için desteklenir; işin birincil `delivery.mode` değeri `"webhook"` ise bu kural uygulanmaz. -Bkz. [Cron Jobs](/tr/automation/cron-jobs). Yalıtılmış cron yürütmeleri [background tasks](/tr/automation/tasks) olarak izlenir. +Bkz. [Cron İşleri](/tr/automation/cron-jobs). Yalıtılmış Cron yürütmeleri [arka plan görevleri](/tr/automation/tasks) olarak izlenir. --- @@ -3672,25 +3695,25 @@ Bkz. [Cron Jobs](/tr/automation/cron-jobs). Yalıtılmış cron yürütmeleri [b | Değişken | Açıklama | | ----------------- | --------------------------------------------- | | `{{Body}}` | Tam gelen mesaj gövdesi | -| `{{RawBody}}` | Ham gövde (geçmiş/gönderen sarmalayıcıları yok) | +| `{{RawBody}}` | Ham gövde (geçmiş/gönderici sarmalayıcıları yok) | | `{{BodyStripped}}`| Grup mention'ları çıkarılmış gövde | -| `{{From}}` | Gönderen tanımlayıcısı | +| `{{From}}` | Gönderici tanımlayıcısı | | `{{To}}` | Hedef tanımlayıcısı | -| `{{MessageSid}}` | Kanal mesaj kimliği | +| `{{MessageSid}}` | Kanal mesaj id'si | | `{{SessionId}}` | Geçerli oturum UUID'si | | `{{IsNewSession}}`| Yeni oturum oluşturulduğunda `"true"` | -| `{{MediaUrl}}` | Gelen medya pseudo-URL'si | +| `{{MediaUrl}}` | Gelen medya sahte URL'si | | `{{MediaPath}}` | Yerel medya yolu | | `{{MediaType}}` | Medya türü (image/audio/document/…) | | `{{Transcript}}` | Ses transcript'i | -| `{{Prompt}}` | CLI girdileri için çözümlenmiş medya istemi | -| `{{MaxChars}}` | CLI girdileri için çözümlenmiş azami çıktı karakteri | +| `{{Prompt}}` | CLI girdileri için çözümlenen medya istemi | +| `{{MaxChars}}` | CLI girdileri için çözümlenen en yüksek çıktı karakteri | | `{{ChatType}}` | `"direct"` veya `"group"` | -| `{{GroupSubject}}`| Grup konusu (best effort) | -| `{{GroupMembers}}`| Grup üyeleri önizlemesi (best effort) | -| `{{SenderName}}` | Gönderen görünen adı (best effort) | -| `{{SenderE164}}` | Gönderen telefon numarası (best effort) | -| `{{Provider}}` | Sağlayıcı ipucu (whatsapp, telegram, discord, vb.) | +| `{{GroupSubject}}`| Grup konusu (mümkün olduğunca) | +| `{{GroupMembers}}`| Grup üyeleri önizlemesi (mümkün olduğunca) | +| `{{SenderName}}` | Gönderici görünen adı (mümkün olduğunca) | +| `{{SenderE164}}` | Gönderici telefon numarası (mümkün olduğunca) | +| `{{Provider}}` | Sağlayıcı ipucu (whatsapp, telegram, discord vb.) | --- @@ -3711,12 +3734,12 @@ Yapılandırmayı birden çok dosyaya bölün: **Birleştirme davranışı:** -- Tek dosya: içeren nesnenin yerini alır. -- Dosya dizisi: sırayla derin birleştirilir (sonraki, öncekini geçersiz kılar). -- Komşu anahtarlar: include'lardan sonra birleştirilir (include edilen değerleri geçersiz kılar). -- İç içe include'lar: en fazla 10 düzey derinlik. -- Yollar: include eden dosyaya göre çözülür, ancak üst düzey yapılandırma dizini içinde kalmalıdır (`openclaw.json` dosyasının `dirname` değeri). Mutlak/`../` biçimlerine yalnızca bu sınır içinde çözülmeye devam ettiklerinde izin verilir. -- Hatalar: eksik dosyalar, ayrıştırma hataları ve dairesel include'lar için açık iletiler. +- Tek dosya: kapsayan nesnenin yerini alır. +- Dosya dizisi: sırayla derin birleştirilir (sonraki öncekini geçersiz kılar). +- Kardeş anahtarlar: include'lardan sonra birleştirilir (include edilen değerleri geçersiz kılar). +- İç içe include'lar: en fazla 10 seviye derinlik. +- Yollar: include eden dosyaya göre çözülür, ancak üst düzey yapılandırma dizini sınırı içinde kalmalıdır (`openclaw.json` için `dirname`). Mutlak/`../` biçimlerine yalnızca yine bu sınır içinde çözülüyorlarsa izin verilir. +- Hatalar: eksik dosyalar, ayrıştırma hataları ve döngüsel include'lar için açık iletiler. --- diff --git a/docs/tr/gateway/local-models.md b/docs/tr/gateway/local-models.md index dd49097b4..68f2a3fe5 100644 --- a/docs/tr/gateway/local-models.md +++ b/docs/tr/gateway/local-models.md @@ -1,28 +1,28 @@ --- read_when: - Modelleri kendi GPU makinenizden sunmak istiyorsunuz - - LM Studio’yu veya OpenAI uyumlu bir proxy’yi yapılandırıyorsunuz - - En güvenli yerel model rehberliğine ihtiyacınız var -summary: OpenClaw’ı yerel LLM’lerde çalıştırın (LM Studio, vLLM, LiteLLM, özel OpenAI uç noktaları) + - LM Studio'yu veya OpenAI uyumlu bir proxy'yi yapılandırıyorsunuz + - En güvenli yerel model yönlendirmesine ihtiyacınız var +summary: OpenClaw'ı yerel LLM'lerde çalıştırın (LM Studio, vLLM, LiteLLM, özel OpenAI uç noktaları) title: Yerel Modeller x-i18n: - generated_at: "2026-04-15T08:53:16Z" + generated_at: "2026-04-15T14:40:33Z" model: gpt-5.4 provider: openai - source_hash: 8778cc1c623a356ff3cf306c494c046887f9417a70ec71e659e4a8aae912a780 + source_hash: 7a506ff83e4c2870d3878339f646c906584454a156ecd618c360f592cf3b0011 source_path: gateway/local-models.md workflow: 15 --- # Yerel modeller -Yerelde kullanım mümkündür, ancak OpenClaw geniş bağlam + prompt injection’a karşı güçlü savunmalar bekler. Küçük kartlar bağlamı kırpar ve güvenliği sızdırır. Yüksek hedefleyin: **en az 2 tam donanımlı Mac Studio veya eşdeğer GPU sistemi (~30 bin $+)**. Tek bir **24 GB** GPU yalnızca daha hafif prompt’larda ve daha yüksek gecikmeyle işe yarar. Çalıştırabildiğiniz **en büyük / tam boyutlu model varyantını kullanın**; agresif biçimde quantize edilmiş veya “small” checkpoint’ler prompt injection riskini artırır ([Güvenlik](/tr/gateway/security) bölümüne bakın). +Yerel kullanım mümkün, ancak OpenClaw büyük bağlam + istem enjeksiyonuna karşı güçlü savunmalar bekler. Küçük kartlar bağlamı kısaltır ve güvenliği zayıflatır. Hedefi yüksek tutun: **en az 2 tam donanımlı Mac Studio veya eşdeğer GPU sistemi (~30 bin $+)**. Tek bir **24 GB** GPU yalnızca daha hafif istemlerde ve daha yüksek gecikmeyle çalışır. Çalıştırabildiğiniz **en büyük / tam boyutlu model varyantını kullanın**; agresif şekilde kuantize edilmiş veya “küçük” checkpoint'ler istem enjeksiyonu riskini artırır (bkz. [Güvenlik](/tr/gateway/security)). -En az sürtünmeli yerel kurulumu istiyorsanız [LM Studio](/tr/providers/lmstudio) veya [Ollama](/tr/providers/ollama) ile başlayın ve `openclaw onboard` çalıştırın. Bu sayfa, daha üst düzey yerel yığınlar ve özel OpenAI uyumlu yerel sunucular için görüş odaklı rehberdir. +En az sürtünmeli yerel kurulum istiyorsanız, [LM Studio](/tr/providers/lmstudio) veya [Ollama](/tr/providers/ollama) ile başlayın ve `openclaw onboard` çalıştırın. Bu sayfa, daha üst düzey yerel yığınlar ve özel OpenAI uyumlu yerel sunucular için görüş odaklı kılavuzdur. ## Önerilen: LM Studio + büyük yerel model (Responses API) -Şu anda en iyi yerel yığın. LM Studio’da büyük bir model yükleyin (örneğin tam boyutlu bir Qwen, DeepSeek veya Llama derlemesi), yerel sunucuyu etkinleştirin (varsayılan `http://127.0.0.1:1234`) ve muhakemeyi nihai metinden ayrı tutmak için Responses API kullanın. +Şu anda en iyi yerel yığın. LM Studio'da büyük bir model yükleyin (örneğin tam boyutlu bir Qwen, DeepSeek veya Llama derlemesi), yerel sunucuyu etkinleştirin (varsayılan `http://127.0.0.1:1234`) ve akıl yürütmeyi nihai metinden ayrı tutmak için Responses API kullanın. ```json5 { @@ -61,14 +61,14 @@ En az sürtünmeli yerel kurulumu istiyorsanız [LM Studio](/tr/providers/lmstud **Kurulum kontrol listesi** -- LM Studio’yu yükleyin: [https://lmstudio.ai](https://lmstudio.ai) -- LM Studio’da mevcut **en büyük model derlemesini** indirin (“small”/ağır quantize edilmiş varyantlardan kaçının), sunucuyu başlatın, `http://127.0.0.1:1234/v1/models` adresinin modeli listelediğini doğrulayın. -- `my-local-model` değerini, LM Studio’da gösterilen gerçek model kimliğiyle değiştirin. +- LM Studio'yu yükleyin: [https://lmstudio.ai](https://lmstudio.ai) +- LM Studio'da, **mevcut en büyük model derlemesini** indirin (“small”/yoğun şekilde kuantize edilmiş varyantlardan kaçının), sunucuyu başlatın, `http://127.0.0.1:1234/v1/models` çıktısında listelendiğini doğrulayın. +- `my-local-model` değerini, LM Studio'da görünen gerçek model kimliğiyle değiştirin. - Modeli yüklü tutun; soğuk yükleme başlangıç gecikmesi ekler. - LM Studio derlemeniz farklıysa `contextWindow`/`maxTokens` değerlerini ayarlayın. - WhatsApp için yalnızca nihai metnin gönderilmesi amacıyla Responses API kullanın. -Yerelde çalıştırıyor olsanız bile barındırılan modelleri yapılandırılmış halde tutun; yedeklerin kullanılabilir kalması için `models.mode: "merge"` kullanın. +Yerelde çalışırken bile barındırılan modelleri yapılandırılmış halde tutun; yedekler kullanılabilir kalsın diye `models.mode: "merge"` kullanın. ### Hibrit yapılandırma: barındırılan birincil, yerel yedek @@ -113,16 +113,16 @@ Yerelde çalıştırıyor olsanız bile barındırılan modelleri yapılandırı ### Önce yerel, barındırılan güvenlik ağıyla -Birincil ve yedek sırasını değiştirin; yerel makine kapalıyken Sonnet veya Opus’a geri düşebilmek için aynı provider bloğunu ve `models.mode: "merge"` ayarını koruyun. +Birincil ve yedek sırasını değiştirin; yerel makine kapalıyken Sonnet veya Opus'a geri dönebilmek için aynı provider bloğunu ve `models.mode: "merge"` ayarını koruyun. ### Bölgesel barındırma / veri yönlendirme -- Barındırılan MiniMax/Kimi/GLM varyantları, bölgeye sabitlenmiş uç noktalarla OpenRouter üzerinde de bulunur (örneğin ABD’de barındırılan). Trafiği seçtiğiniz yargı alanında tutmak için oradaki bölgesel varyantı seçin ve yine Anthropic/OpenAI yedekleri için `models.mode: "merge"` kullanın. -- Yalnızca yerel kullanım en güçlü gizlilik yoludur; barındırılan bölgesel yönlendirme ise sağlayıcı özelliklerine ihtiyaç duyduğunuz ama veri akışı üzerinde denetim istediğiniz durumda orta yoldur. +- Barındırılan MiniMax/Kimi/GLM varyantları OpenRouter üzerinde de bölgeye sabitlenmiş uç noktalarla bulunur (ör. ABD'de barındırılan). Trafiği seçtiğiniz yargı alanında tutarken Anthropic/OpenAI yedeklerini kullanmaya devam etmek için oradaki bölgesel varyantı seçin ve yine `models.mode: "merge"` kullanın. +- Yalnızca yerel kullanım en güçlü gizlilik yoludur; provider özelliklerine ihtiyaç duyup veri akışı üzerinde kontrol istediğinizde barındırılan bölgesel yönlendirme orta yoldur. -## Diğer OpenAI uyumlu yerel proxy’ler +## Diğer OpenAI uyumlu yerel proxy'ler -vLLM, LiteLLM, OAI-proxy veya özel Gateway’ler, OpenAI tarzı bir `/v1` uç noktası sundukları sürece çalışır. Yukarıdaki provider bloğunu kendi uç noktanız ve model kimliğinizle değiştirin: +vLLM, LiteLLM, OAI-proxy veya özel Gateway'ler, OpenAI tarzı bir `/v1` uç noktası sundukları sürece çalışır. Yukarıdaki provider bloğunu kendi uç noktanız ve model kimliğinizle değiştirin: ```json5 { @@ -150,26 +150,26 @@ vLLM, LiteLLM, OAI-proxy veya özel Gateway’ler, OpenAI tarzı bir `/v1` uç n } ``` -Barındırılan modellerin yedek olarak kullanılabilir kalması için `models.mode: "merge"` kullanın. +Barındırılan modeller yedek olarak kullanılabilir kalsın diye `models.mode: "merge"` kullanın. -Yerel/proxy’lenmiş `/v1` arka uçları için davranış notu: +Yerel/proxy'lenmiş `/v1` arka uçları için davranış notu: -- OpenClaw bunları yerel OpenAI uç noktaları olarak değil, proxy tarzı OpenAI uyumlu yollar olarak ele alır -- yerel OpenAI’ye özgü istek şekillendirme burada uygulanmaz: `service_tier` yoktur, Responses `store` yoktur, OpenAI reasoning uyumluluk payload şekillendirmesi yoktur ve prompt-cache ipuçları yoktur -- gizli OpenClaw atıf başlıkları (`originator`, `version`, `User-Agent`) bu özel proxy URL’lerine eklenmez +- OpenClaw bunları yerel OpenAI uç noktaları değil, proxy tarzı OpenAI uyumlu rotalar olarak ele alır +- buraya yerel OpenAI'ye özgü istek şekillendirmesi uygulanmaz: `service_tier` yok, Responses `store` yok, OpenAI akıl yürütme uyumluluğu yük şekillendirmesi yok ve istem önbelleği ipuçları yok +- gizli OpenClaw ilişkilendirme üstbilgileri (`originator`, `version`, `User-Agent`) bu özel proxy URL'lerine eklenmez Daha katı OpenAI uyumlu arka uçlar için uyumluluk notları: -- Bazı sunucular Chat Completions için yapılandırılmış içerik-parçası dizileri yerine yalnızca string `messages[].content` kabul eder. Bu uç noktalar için `models.providers..models[].compat.requiresStringContent: true` ayarlayın. -- Bazı daha küçük veya daha katı yerel arka uçlar, özellikle araç şemaları dahil edildiğinde, OpenClaw’ın tam agent-runtime prompt yapısıyla kararsız çalışır. Arka uç küçük doğrudan `/v1/chat/completions` çağrılarında çalışıyor ama normal OpenClaw agent dönüşlerinde başarısız oluyorsa önce `browser`, `cron` ve `message` gibi ağır varsayılan araçları bırakmak için `agents.defaults.localModelMode: "lean"` deneyin; bu da işe yaramazsa `models.providers..models[].compat.supportsTools: false` deneyin. -- Arka uç yalnızca daha büyük OpenClaw çalıştırmalarında hâlâ başarısız oluyorsa, kalan sorun genellikle OpenClaw’ın taşıma katmanı değil, yukarı akış model/sunucu kapasitesi veya bir arka uç hatasıdır. +- Bazı sunucular Chat Completions içinde yapılandırılmış içerik bölümü dizileri yerine yalnızca dize `messages[].content` kabul eder. Bu uç noktalar için `models.providers..models[].compat.requiresStringContent: true` ayarlayın. +- Daha küçük veya daha katı bazı yerel arka uçlar, özellikle araç şemaları dahil edildiğinde, OpenClaw'ın tam agent-runtime istem biçimiyle kararsız çalışır. Arka uç küçük doğrudan `/v1/chat/completions` çağrılarında çalışıyor ama normal OpenClaw agent dönüşlerinde başarısız oluyorsa, önce `browser`, `cron` ve `message` gibi ağır varsayılan araçları kaldırmak için `agents.defaults.experimental.localModelLean: true` deneyin; bu deneysel bir işarettir, kararlı varsayılan mod ayarı değildir. Bkz. [Deneysel Özellikler](/tr/concepts/experimental-features). Bu da işe yaramazsa `models.providers..models[].compat.supportsTools: false` deneyin. +- Arka uç yine yalnızca daha büyük OpenClaw çalıştırmalarında başarısız oluyorsa, kalan sorun genellikle OpenClaw'ın taşıma katmanı değil, yukarı akış model/sunucu kapasitesi veya bir arka uç hatasıdır. ## Sorun giderme -- Gateway proxy’ye ulaşabiliyor mu? `curl http://127.0.0.1:1234/v1/models`. -- LM Studio modeli yüklenmemiş mi? Yeniden yükleyin; soğuk başlangıç yaygın bir “takılı kalma” nedenidir. -- OpenClaw, algılanan bağlam penceresi **32k**’nin altındaysa uyarır ve **16k**’nin altındaysa engeller. Bu ön kontrolde takılırsanız, sunucu/model bağlam sınırını yükseltin veya daha büyük bir model seçin. +- Gateway proxy'ye ulaşabiliyor mu? `curl http://127.0.0.1:1234/v1/models`. +- LM Studio modeli yükten çıkarılmış mı? Yeniden yükleyin; soğuk başlangıç yaygın bir “takılma” nedenidir. +- OpenClaw, algılanan bağlam penceresi **32k**'nin altındaysa uyarır ve **16k**'nin altında engeller. Bu ön kontrolde takılırsanız, sunucu/model bağlam sınırını yükseltin veya daha büyük bir model seçin. - Bağlam hataları mı alıyorsunuz? `contextWindow` değerini düşürün veya sunucu sınırınızı yükseltin. - OpenAI uyumlu sunucu `messages[].content ... expected a string` döndürüyor mu? O model girdisine `compat.requiresStringContent: true` ekleyin. -- Doğrudan küçük `/v1/chat/completions` çağrıları çalışıyor ama `openclaw infer model run` Gemma’da veya başka bir yerel modelde başarısız mı oluyor? Önce `compat.supportsTools: false` ile araç şemalarını kapatın, sonra yeniden test edin. Sunucu yalnızca daha büyük OpenClaw prompt’larında hâlâ çöküyorsa, bunu yukarı akış sunucu/model sınırlaması olarak değerlendirin. -- Güvenlik: yerel modeller sağlayıcı tarafı filtreleri atlar; prompt injection etki alanını sınırlamak için agent’ları dar tutun ve Compaction’ı açık tutun. +- Doğrudan küçük `/v1/chat/completions` çağrıları çalışıyor ama `openclaw infer model run` Gemma'da veya başka bir yerel modelde başarısız mı oluyor? Önce `compat.supportsTools: false` ile araç şemalarını devre dışı bırakın, sonra yeniden test edin. Sunucu yine yalnızca daha büyük OpenClaw istemlerinde çöküyorsa, bunu yukarı akış sunucu/model sınırlaması olarak değerlendirin. +- Güvenlik: yerel modeller provider tarafı filtreleri atlar; istem enjeksiyonu etki alanını sınırlamak için agent'ları dar tutun ve Compaction açık olsun. diff --git a/docs/tr/help/testing.md b/docs/tr/help/testing.md index 8ab768d0c..2468d6d91 100644 --- a/docs/tr/help/testing.md +++ b/docs/tr/help/testing.md @@ -2,38 +2,38 @@ read_when: - Testleri yerel olarak veya CI içinde çalıştırma - Model/sağlayıcı hataları için regresyonlar ekleme - - Gateway + aracı davranışında hata ayıklama -summary: 'Test kiti: unit/e2e/canlı paketleri, Docker çalıştırıcıları ve her testin neleri kapsadığı' + - Gateway + agent davranışında hata ayıklama +summary: 'Test kiti: birim/e2e/canlı paketleri, Docker çalıştırıcıları ve her testin neleri kapsadığı' title: Test etme x-i18n: - generated_at: "2026-04-15T08:53:14Z" + generated_at: "2026-04-15T14:40:38Z" model: gpt-5.4 provider: openai - source_hash: fbf647a5cf13b5861a3ba0cb367dc816c57f0e9c60d3cd6320da193bfadf5609 + source_hash: ec3632cafa1f38b27510372391b84af744266df96c58f7fac98aa03763465db8 source_path: help/testing.md workflow: 15 --- # Test etme -OpenClaw’ın üç Vitest paketi vardır (unit/integration, e2e, canlı) ve küçük bir Docker çalıştırıcı kümesi bulunur. +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” kılavuzudur: +Bu belge, “nasıl test ettiğimizi” anlatan bir kılavuzdur: -- Her paketin neleri kapsadığı (ve özellikle neleri _kapsamadığı_) +- Her paketin neleri kapsadığı (ve bilerek 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 model/sağlayıcıları nasıl seçtiği +- Canlı testlerin kimlik bilgilerini nasıl bulduğu ve model/sağlayıcıları nasıl seçtiği - Gerçek dünya model/sağlayıcı sorunları için regresyonların nasıl ekleneceği ## Hızlı başlangıç Çoğu gün: -- Tam geçit (push öncesinde beklenen): `pnpm build && pnpm check && pnpm test` -- Geniş kaynaklı bir makinede daha hızlı yerel tam paket çalıştırması: `pnpm test:max` +- Tam geçit (push öncesinde beklenir): `pnpm build && pnpm check && pnpm test` +- Kaynakları geniş 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 hatayı iteratif olarak düzeltirken önce hedefli çalıştırmaları tercih edin. +- Doğrudan dosya hedefleme artık eklenti/kanal yollarını da yönlendirir: `pnpm test extensions/discord/src/monitor/message-handler.preflight.test.ts` +- Tek bir hata üzerinde yineleme yapıyorsanız önce hedefli çalıştırmaları tercih edin. - Docker destekli QA sitesi: `pnpm qa:lab:up` - Linux VM destekli QA hattı: `pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline` @@ -42,60 +42,60 @@ Testlere dokunduğunuzda veya ek güven istediğinizde: - Kapsam geçidi: `pnpm test:coverage` - E2E paketi: `pnpm test:e2e` -Gerçek sağlayıcıları/modelleri hata ayıklarken (gerçek kimlik bilgileri gerektirir): +Gerçek sağlayıcıları/modelleri hata ayıklarken (gerçek kimlik bilgileri gerekir): -- Canlı paket (modeller + Gateway araç/görsel probları): `pnpm test:live` -- Tek bir canlı dosyayı sessizce hedefleyin: `pnpm test:live -- src/agents/models.profiles.live.test.ts` +- Canlı paket (modeller + gateway araç/görüntü yoklamaları): `pnpm test:live` +- Tek bir canlı dosyayı sessizce hedefleme: `pnpm test:live -- src/agents/models.profiles.live.test.ts` -İpucu: yalnızca tek bir başarısız duruma ihtiyacınız olduğunda, aşağıda açıklanan allowlist ortam değişkenleriyle canlı testleri daraltmayı tercih edin. +İpucu: yalnızca tek bir başarısız duruma ihtiyacınız olduğunda, canlı testleri aşağıda açıklanan allowlist ortam değişkenleriyle daraltmayı tercih edin. ## QA’ye özgü çalıştırıcılar QA-lab gerçekçiliğine ihtiyaç duyduğunuzda bu komutlar ana test paketlerinin yanında yer alır: - `pnpm openclaw qa suite` - - Depo destekli QA senaryolarını doğrudan ana makinede çalıştırır. - - Varsayılan olarak, yalıtılmış Gateway işçileriyle birden çok seçili senaryoyu paralel çalıştırır; en fazla 64 işçi veya seçili senaryo sayısı kullanılır. İşçi sayısını ayarlamak için `--concurrency `, eski seri hat içinse `--concurrency 1` kullanın. + - Depo destekli QA senaryolarını doğrudan host üzerinde çalıştırır. + - Varsayılan olarak seçilen birden çok senaryoyu, yalıtılmış gateway worker’larıyla paralel çalıştırır; en fazla 64 worker ya da seçilen senaryo sayısı kadar. Worker sayısını ayarlamak için `--concurrency `, eski seri hat için ise `--concurrency 1` kullanın. - `pnpm openclaw qa suite --runner multipass` - 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çme davranışını korur. + - Host üzerindeki `qa suite` ile aynı senaryo seçimi 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 kimlik doğrulama girdilerini iletir: - ortam tabanlı sağlayıcı anahtarları, QA canlı sağlayıcı yapılandırma yolu ve mevcutsa `CODEX_HOME`. - - Çıktı dizinleri depo kökü altında kalmalıdır; böylece konuk, bağlanmış çalışma alanı üzerinden geri yazabilir. - - Normal QA raporu + özetin yanı sıra Multipass günlüklerini `.artifacts/qa-e2e/...` altına yazar. + - Canlı çalıştırmalar, misafir 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 depo kökü altında kalmalıdır; böylece misafir, bağlanan çalışma alanı üzerinden geri yazabilir. + - Normal QA raporu + özeti ve Multipass günlüklerini `.artifacts/qa-e2e/...` altına yazar. - `pnpm qa:lab:up` - Operatör tarzı QA çalışmaları için Docker destekli QA sitesini başlatır. - `pnpm openclaw qa matrix` - - Matrix canlı QA hattını tek kullanımlık Docker destekli bir Tuwunel homeserver’a karşı çalıştırır. - - Bu QA ana makinesi şu anda yalnızca repo/geliştirme içindir. Paketlenmiş OpenClaw kurulumları `qa-lab` göndermez, bu nedenle `openclaw qa` sunmazlar. - - Depo checkout’ları paketli çalıştırıcıyı doğrudan yükler; ayrı bir plugin kurulum adımı gerekmez. - - Üç geçici Matrix kullanıcısı (`driver`, `sut`, `observer`) ile bir özel oda oluşturur, ardından gerçek Matrix plugin’i SUT taşıması olarak kullanılarak bir QA Gateway alt süreci başlatır. - - Varsayılan olarak sabitlenmiş kararlı Tuwunel imajı `ghcr.io/matrix-construct/tuwunel:v1.5.1` kullanılır. Farklı bir imajı test etmeniz gerektiğinde `OPENCLAW_QA_MATRIX_TUWUNEL_IMAGE` ile geçersiz kılın. - - Matrix, hattın yerel olarak tek kullanımlık kullanıcılar oluşturması nedeniyle paylaşılan kimlik bilgisi kaynağı bayraklarını sunmaz. - - Matrix QA raporunu, özetini ve gözlemlenen olaylar yapıtını `.artifacts/qa-e2e/...` altına yazar. + - Matrix canlı QA hattını, tek kullanımlık Docker destekli bir Tuwunel homeserver’a karşı çalıştırır. + - Bu QA hostu bugün yalnızca repo/geliştirme içindir. Paketlenmiş OpenClaw kurulumları `qa-lab` göndermez; bu yüzden `openclaw qa` sunmazlar. + - Depo checkout’ları paketlenmiş çalıştırıcıyı doğrudan yükler; ayrı bir eklenti kurulum adımı gerekmez. + - Üç geçici Matrix kullanıcısı (`driver`, `sut`, `observer`) ve bir özel oda hazırlar, ardından gerçek Matrix eklentisi SUT taşıması olarak kullanılarak bir QA gateway alt süreci başlatır. + - Varsayılan olarak sabitlenmiş kararlı Tuwunel görüntüsü `ghcr.io/matrix-construct/tuwunel:v1.5.1` kullanılır. Farklı bir görüntüyü test etmeniz gerekiyorsa `OPENCLAW_QA_MATRIX_TUWUNEL_IMAGE` ile geçersiz kılın. + - Matrix, hattın yerel olarak tek kullanımlık kullanıcılar hazırlaması nedeniyle paylaşılan kimlik bilgisi kaynağı bayraklarını sunmaz. + - Bir Matrix QA raporu, özeti ve gözlemlenen olaylar artifact’ını `.artifacts/qa-e2e/...` altına yazar. - `pnpm openclaw qa telegram` - - Telegram canlı QA hattını, ortamdaki sürücü ve SUT bot belirteçlerini 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 kimliği, sayısal Telegram sohbet kimliği olmalıdır. - - Paylaşılan havuz kimlik bilgileri için `--credential-source convex` destekler. Varsayılan olarak env modunu kullanın veya havuzlanmış kiralamalara geçmek için `OPENCLAW_QA_CREDENTIAL_SOURCE=convex` ayarlayın. - - Aynı özel grupta iki farklı bot gerektirir; ayrıca SUT botunun bir Telegram kullanıcı adını göstermesi 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ü botunun grup bot trafiğini gözlemleyebildiğinden emin olun. - - Telegram QA raporunu, özetini ve gözlemlenen mesajlar yapıtını `.artifacts/qa-e2e/...` altına yazar. + - Telegram canlı QA hattını, ortamdaki driver ve SUT bot belirteçlerini 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 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 ya da havuzlanmış kiralamaları etkinleştirmek için `OPENCLAW_QA_CREDENTIAL_SOURCE=convex` ayarlayın. + - Aynı özel grupta bulunan iki farklı bot gerektirir; SUT botunun bir Telegram kullanıcı adını açığa çıkarması gerekir. + - Kararlı bottan-bota gözlem için `@BotFather` içinde her iki bot için de Bot-to-Bot Communication Mode’u etkinleştirin ve driver botunun grup bot trafiğini gözlemleyebildiğinden emin olun. + - Bir Telegram QA raporu, özeti ve gözlemlenen iletiler artifact’ını `.artifacts/qa-e2e/...` altına yazar. -Canlı taşıma hatları tek bir standart sözleşmeyi paylaşır; böylece yeni taşımalar sapmaz: +Canlı taşıma hatları, yeni taşıma türlerinin sapmaması için tek bir standart sözleşmeyi paylaşır: -`qa-channel`, geniş sentetik QA paketi olmaya devam eder ve canlı taşıma kapsam matrisi parçası değildir. +`qa-channel`, geniş sentetik QA paketi olmaya devam eder ve canlı taşıma kapsama matrisinin parçası değildir. -| Hat | Canary | Mention gating | Allowlist block | Üst düzey yanıt | Yeniden başlatma sonrası sürdürme | İş parçacığı takibi | İş parçacığı yalıtımı | Tepki gözlemi | Yardım komutu | -| -------- | ------ | -------------- | --------------- | --------------- | --------------------------------- | ------------------- | --------------------- | ------------- | ------------- | -| Matrix | x | x | x | x | x | x | x | x | | -| Telegram | x | | | | | | | | x | +| Hat | Canary | Mention gating | Allowlist block | Üst düzey yanıt | Yeniden başlatma sonrası sürdürme | Thread takibi | Thread yalıtımı | Tepki gözlemi | Yardım komutu | +| -------- | ------ | -------------- | --------------- | --------------- | --------------------------------- | ------------- | --------------- | -------------- | ------------- | +| Matrix | x | x | x | x | x | x | x | x | | +| Telegram | x | | | | | | | | x | -### Convex üzerinden paylaşılan Telegram kimlik bilgileri (v1) +### Convex aracılığıyla paylaşılan Telegram kimlik bilgileri (v1) `openclaw qa telegram` için `--credential-source convex` (veya `OPENCLAW_QA_CREDENTIAL_SOURCE=convex`) etkinleştirildiğinde, QA lab Convex destekli bir havuzdan özel bir kiralama alır, hat çalışırken bu kiralamaya Heartbeat gönderir ve kapanışta kiralamayı serbest bırakır. -Başvuru Convex proje iskeleti: +Referans Convex proje iskeleti: - `qa/convex-credential-broker/` @@ -107,7 +107,7 @@ Gerekli ortam değişkenleri: - `ci` için `OPENCLAW_QA_CONVEX_SECRET_CI` - Kimlik bilgisi rol seçimi: - CLI: `--credential-role maintainer|ci` - - Varsayılan ortam: `OPENCLAW_QA_CREDENTIAL_ROLE` (varsayılan `maintainer`) + - Ortam varsayılanı: `OPENCLAW_QA_CREDENTIAL_ROLE` (varsayılan `maintainer`) İsteğe bağlı ortam değişkenleri: @@ -121,9 +121,10 @@ Gerekli ortam değişkenleri: Normal çalışmada `OPENCLAW_QA_CONVEX_SITE_URL`, `https://` kullanmalıdır. -Maintainer yönetici komutları (havuz ekleme/kaldırma/listeleme) özellikle `OPENCLAW_QA_CONVEX_SECRET_MAINTAINER` gerektirir. +Bakımcı yönetici komutları (havuz ekleme/kaldırma/listeleme) özellikle +`OPENCLAW_QA_CONVEX_SECRET_MAINTAINER` gerektirir. -Maintainer’lar için CLI yardımcıları: +Bakımcılar için CLI yardımcıları: ```bash pnpm openclaw qa credentials add --kind telegram --payload-file qa/telegram-credential.json @@ -131,7 +132,7 @@ pnpm openclaw qa credentials list --kind telegram pnpm openclaw qa credentials remove --credential-id ``` -Betiklerde ve CI yardımcı programlarında makine tarafından okunabilir çıktı için `--json` kullanın. +Betikler ve CI yardımcı programlarında makine tarafından okunabilir çıktı için `--json` kullanın. Varsayılan uç nokta sözleşmesi (`OPENCLAW_QA_CONVEX_SITE_URL` + `/qa-credentials/v1`): @@ -145,14 +146,14 @@ Varsayılan uç nokta sözleşmesi (`OPENCLAW_QA_CONVEX_SITE_URL` + `/qa-credent - `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 gizli anahtarı) - İstek: `{ kind, actorId, payload, note?, status? }` - Başarı: `{ status: "ok", credential }` -- `POST /admin/remove` (yalnızca maintainer secret) +- `POST /admin/remove` (yalnızca maintainer gizli anahtarı) - İ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 gizli anahtarı) - İstek: `{ kind?, status?, includePayload?, limit? }` - Başarı: `{ status: "ok", credentials, count }` @@ -160,56 +161,56 @@ Telegram türü için yük şekli: - `{ groupId: string, driverToken: string, sutToken: string }` - `groupId`, sayısal bir Telegram sohbet kimliği dizgesi olmalıdır. -- `admin/add`, `kind: "telegram"` için bu şekli doğrular ve hatalı yükleri reddeder. +- `admin/add`, `kind: "telegram"` için bu şekli doğrular ve hatalı biçimlendirilmiş yükleri reddeder. ### QA’ye kanal ekleme -Bir kanalı markdown QA sistemine eklemek tam olarak iki şey gerektirir: +Markdown QA sistemine kanal eklemek tam olarak iki şey gerektirir: -1. Kanal için bir taşıma bağdaştırıcısı. -2. Kanal sözleşmesini uygulayan bir senaryo paketi. +1. Kanal için bir taşıma adaptörü. +2. Kanal sözleşmesini çalıştıran bir senaryo paketi. -Paylaşılan `qa-lab` ana makinesi akışı sahiplenebiliyorken yeni bir üst düzey QA komut kökü eklemeyin. +Paylaşılan `qa-lab` host akışı sahiplenebiliyorsa yeni bir üst düzey QA komut kökü eklemeyin. -`qa-lab`, paylaşılan ana makine mekaniklerinin sahibidir: +`qa-lab`, paylaşılan host mekaniklerine sahiptir: - `openclaw qa` komut kökü - paket başlatma ve kapatma -- işçi eşzamanlılığı -- yapıt yazımı +- worker eşzamanlılığı +- artifact yazımı - rapor oluşturma - senaryo yürütme - eski `qa-channel` senaryoları için uyumluluk takma adları -Çalıştırıcı plugin’leri taşıma sözleşmesinin sahibidir: +Çalıştırıcı eklentileri taşıma sözleşmesine sahiptir: -- `openclaw qa ` komutunun paylaşılan `qa` kökü altına nasıl bağlandığı -- Gateway’in bu taşıma için nasıl yapılandırıldığı +- `openclaw qa ` öğesinin paylaşılan `qa` kökü altına nasıl bağlandığı +- gateway’in bu taşıma için nasıl yapılandırıldığı - hazır olma durumunun nasıl denetlendiği - gelen olayların nasıl enjekte edildiği -- giden mesajların nasıl gözlemlendiği -- kayıt dökümlerinin ve normalleştirilmiş taşıma durumunun nasıl sunulduğu +- giden iletilerin nasıl gözlemlendiği +- dökümlerin ve normalize edilmiş taşıma durumunun nasıl açığa çıkarıldığı - taşıma destekli eylemlerin nasıl yürütüldüğü -- taşıma-özel sıfırlama veya temizleme işlemlerinin nasıl ele alındığı +- taşıma türüne özgü sıfırlama veya temizliğin nasıl ele alındığı -Yeni bir kanal için minimum benimseme eşiği şöyledir: +Yeni bir kanal için asgari benimseme eşiği şudur: -1. Paylaşılan `qa` kökünün sahibi olarak `qa-lab` kalsın. -2. Taşıma çalıştırıcısını paylaşılan `qa-lab` ana makine dikişinde uygulayın. -3. Taşıma-özel mekanikleri çalıştırıcı plugin veya kanal harness’i içinde tutun. -4. Çalıştırıcıyı, rakip bir kök komut kaydetmek yerine `openclaw qa ` olarak bağlayın. - Çalıştırıcı plugin’leri `openclaw.plugin.json` içinde `qaRunners` tanımlamalı ve `runtime-api.ts` içinden eşleşen bir `qaRunnerCliRegistrations` dizisi dışa aktarmalıdır. - `runtime-api.ts` hafif kalmalıdır; tembel CLI ve çalıştırıcı yürütmesi ayrı giriş noktalarının arkasında kalmalıdır. +1. Paylaşılan `qa` kökünün sahibi olarak `qa-lab`’ı koruyun. +2. Taşıma çalıştırıcısını paylaşılan `qa-lab` host dikişinde uygulayın. +3. Taşıma türüne özgü mekanikleri çalıştırıcı eklentisi veya kanal harness’i içinde tutun. +4. Çalıştırıcıyı rakip bir kök komut kaydetmek yerine `openclaw qa ` olarak bağlayın. + Çalıştırıcı eklentileri `openclaw.plugin.json` içinde `qaRunners` bildirmeli ve `runtime-api.ts` içinden eşleşen bir `qaRunnerCliRegistrations` dizisi dışa aktarmalıdır. + `runtime-api.ts` dosyasını hafif tutun; lazy CLI ve çalıştırıcı yürütmesi ayrı giriş noktalarının arkasında kalmalıdır. 5. `qa/scenarios/` altında markdown senaryoları yazın veya uyarlayın. 6. Yeni senaryolar için genel senaryo yardımcılarını kullanın. 7. Depo kasıtlı bir geçiş yapmıyorsa mevcut uyumluluk takma adlarını çalışır durumda tutun. Karar kuralı katıdır: -- Bir davranış `qa-lab` içinde tek seferde ifade edilebiliyorsa, onu `qa-lab` içine koyun. -- Davranış tek bir kanal taşımasına bağlıysa, onu o çalıştırıcı plugin veya plugin harness’i içinde tutun. -- Bir senaryonun birden fazla kanalın kullanabileceği yeni bir yeteneğe ihtiyacı varsa, `suite.ts` içinde kanala özgü bir dal eklemek yerine genel bir yardımcı ekleyin. -- Bir davranış yalnızca tek bir taşıma için anlamlıysa, senaryoyu taşıma-özel tutun ve bunu senaryo sözleşmesinde açıkça belirtin. +- Davranış `qa-lab` içinde bir kez ifade edilebiliyorsa, onu `qa-lab` içine koyun. +- Davranış tek bir kanal taşımasına bağlıysa, onu ilgili çalıştırıcı eklentisi veya eklenti harness’i içinde tutun. +- Bir senaryo, birden fazla kanalın kullanabileceği yeni bir yetenek gerektiriyorsa, `suite.ts` içinde kanala özgü bir dal yerine genel bir yardımcı ekleyin. +- Bir davranış yalnızca tek bir taşıma için anlamlıysa, senaryoyu taşıma türüne özgü tutun ve bunu senaryo sözleşmesinde açıkça belirtin. Yeni senaryolar için tercih edilen genel yardımcı adları şunlardır: @@ -226,7 +227,7 @@ Yeni senaryolar için tercih edilen genel yardımcı adları şunlardır: - `formatTransportTranscript` - `resetTransport` -Mevcut senaryolar için uyumluluk takma adları kullanılabilir olmaya devam eder, bunlar arasında şunlar vardır: +Mevcut senaryolar için uyumluluk takma adları kullanılabilir olmaya devam eder; bunlar arasında şunlar bulunur: - `waitForQaChannelReady` - `waitForOutboundMessage` @@ -235,98 +236,97 @@ Mevcut senaryolar için uyumluluk takma adları kullanılabilir olmaya devam ede - `resetBus` Yeni kanal çalışmaları genel yardımcı adlarını kullanmalıdır. -Uyumluluk takma adları, bayrak günü tarzı bir geçişten kaçınmak için vardır; yeni senaryo yazımı için model olarak değil. +Uyumluluk takma adları, tek seferlik bir geçiş gününü önlemek için vardır; yeni senaryo yazımı için model olarak değil. ## Test paketleri (ne nerede çalışır) -Paketleri “artan gerçekçilik” (ve artan kararsızlık/maliyet) olarak düşünün: +Paketleri “artan gerçekçilik” (ve artan oynaklık/maliyet) olarak düşünün: -### Unit / integration (varsayılan) +### Birim / entegrasyon (varsayılan) - Komut: `pnpm test` -- Yapılandırma: mevcut kapsamlı Vitest projeleri üzerinde on adet sıralı shard çalıştırması (`vitest.full-*.config.ts`) -- Dosyalar: `src/**/*.test.ts`, `packages/**/*.test.ts`, `test/**/*.test.ts` altındaki çekirdek/unit envanterleri ve `vitest.unit.config.ts` tarafından kapsanan allowlist’e alınmış `ui` node testleri +- Yapılandırma: mevcut kapsamlı Vitest projeleri üzerinde on sıralı shard çalıştırması (`vitest.full-*.config.ts`) +- Dosyalar: `src/**/*.test.ts`, `packages/**/*.test.ts`, `test/**/*.test.ts` altındaki çekirdek/birim envanterleri ve `vitest.unit.config.ts` kapsamındaki allowlist’e alınmış `ui` node testleri - Kapsam: - - Saf unit testleri - - Süreç içi entegrasyon testleri (Gateway kimlik doğrulama, yönlendirme, araçlar, ayrıştırma, yapılandırma) + - Saf birim testleri + - Süreç içi entegrasyon testleri (gateway kimlik doğrulama, yönlendirme, araçlar, ayrıştırma, yapılandırma) - Bilinen hatalar için deterministik regresyonlar - Beklentiler: - CI’da çalışır - Gerçek anahtarlar gerekmez - Hızlı ve kararlı olmalıdır - Projeler notu: - - Hedeflenmemiş `pnpm test` artık tek bir devasa yerel root-project süreci yerine on bir küçük shard yapılandırması (`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’yi azaltır ve auto-reply/uzantı işlerinin ilgisiz paketleri aç bırakmasını önler. - - `pnpm test --watch` hâlâ yerel root `vitest.config.ts` proje grafiğini kullanır, çünkü çok shard’lı bir izleme 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 root proje başlatma maliyetini ödemez. - - `pnpm test:changed`, fark yalnızca yönlendirilebilir kaynak/test dosyalarına dokunduğunda değişen git yollarını aynı kapsamlı hatlara genişletir; config/setup düzenlemeleri ise yine geniş root-project yeniden çalıştırmasına düşer. - - Agents, commands, plugins, auto-reply yardımcıları, `plugin-sdk` ve benzeri saf yardımcı alanlardan import açısından hafif unit testleri, `test/setup-openclaw-runtime.ts` dosyasını atlayan `unit-fast` hattı üzerinden yönlendirilir; durumlu/çalışma zamanı açısından ağır dosyalar mevcut hatlarda kalır. - - Seçilmiş `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 tam ağır paketin yeniden çalıştırılmasını önler. - - `auto-reply` artık üç özel kovaya sahiptir: üst düzey çekirdek yardımcılar, üst düzey `reply.*` entegrasyon testleri ve `src/auto-reply/reply/**` alt ağacı. Bu, en ağır yanıt harness işlerini ucuz status/chunk/token testlerinden uzak tutar. + - Hedeflenmemiş `pnpm test` artık tek büyük bir doğal kök-proje süreci yerine on bir küçük shard yapılandırması (`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’yi azaltır ve auto-reply/extension çalışmalarının ilgisiz paketleri aç bırakmasını önler. + - `pnpm test --watch`, çok shard’lı bir izleme döngüsü pratik olmadığından, hâlâ doğal kök `vitest.config.ts` proje grafiğini kullanır. + - `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`, fark yalnızca yönlendirilebilir kaynak/test dosyalarına dokunduğunda değişen git yollarını aynı kapsamlı hatlara genişletir; yapılandırma/kurulum düzenlemeleri ise yine geniş kök-proje yeniden çalıştırmasına geri döner. + - Agent’lar, komutlar, eklentiler, auto-reply yardımcıları, `plugin-sdk` ve benzeri saf yardımcı alanlardaki import bakımından hafif birim testleri, `test/setup-openclaw-runtime.ts` dosyasını atlayan `unit-fast` hattı üzerinden yönlendirilir; durum bilgili/çalışma zamanı ağır dosyalar mevcut hatlarda kalır. + - Seçilmiş `plugin-sdk` ve `commands` yardımcı kaynak dosyaları da, changed modundaki çalıştırmaları bu hafif hatlardaki açık kardeş testlere eşler; böylece yardımcı düzenlemeleri, ilgili dizin için tüm ağır paketi yeniden çalıştırmaktan kaçınır. + - `auto-reply` artık üç özel kovaya sahiptir: üst düzey çekirdek yardımcılar, üst düzey `reply.*` entegrasyon testleri ve `src/auto-reply/reply/**` alt ağacı. Bu, en ağır yanıt harness çalışmasını ucuz durum/parça/token testlerinden uzak tutar. - Gömülü çalıştırıcı notu: - - Mesaj-aracı keşif girdilerini veya Compaction çalışma zamanı bağlamını değiştirdiğinizde, - kapsamanın her iki düzeyini de koruyun. + - Mesaj-aracı keşfi girdilerini veya Compaction çalışma zamanı bağlamını değiştirdiğinizde, her iki kapsama düzeyini de koruyun. - Saf yönlendirme/normalleştirme sınırları için odaklı yardımcı regresyonları ekleyin. - Ayrıca gömülü çalıştırıcı entegrasyon paketlerini de 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 hâlâ gerçek `run.ts` / `compact.ts` yollarından geçtiğini doğrular; yalnızca yardımcı testleri bu entegrasyon yolları için yeterli bir ikame değildir. + - Bu paketler, kapsamlı kimliklerin ve Compaction davranışının hâlâ gerçek `run.ts` / `compact.ts` yolları üzerinden aktığını doğrular; yalnızca yardımcı testleri bu entegrasyon yolları için yeterli bir ikame değildir. - Havuz notu: - Temel Vitest yapılandırması artık varsayılan olarak `threads` kullanır. - - Paylaşılan Vitest yapılandırması ayrıca `isolate: false` değerini sabitler ve root projeleri, e2e ve canlı yapılandırmalar genelinde izole olmayan çalıştırıcıyı kullanır. - - Root UI hattı `jsdom` kurulumunu ve optimizer’ını korur, ancak artık paylaşılan izole olmayan çalıştırıcı üzerinde çalışır. + - Paylaşılan Vitest yapılandırması ayrıca `isolate: false` sabitler ve yalıtımsız çalıştırıcıyı kök projeler, e2e ve canlı yapılandırmalar genelinde kullanır. + - Kök UI hattı `jsdom` kurulumunu ve optimizer’ını korur, ancak artık paylaşılan yalıtımsız çalıştırıcı üzerinde çalışır. - Her `pnpm test` shard’ı, paylaşılan Vitest yapılandırmasından aynı `threads` + `isolate: false` varsayılanlarını devralır. - - Paylaşılan `scripts/run-vitest.mjs` başlatıcısı artık büyük yerel çalıştırmalarda V8 derleme churn’ünü azaltmak için varsayılan olarak Vitest alt Node süreçlerine `--no-maglev` de ekler. Stok V8 davranışıyla karşılaştırmanız gerekiyorsa `OPENCLAW_VITEST_ENABLE_MAGLEV=1` ayarlayın. -- Hızlı yerel iterasyon notu: - - `pnpm test:changed`, değişen yollar daha küçük bir pakete temiz şekilde eşleniyorsa kapsamlı hatlar üzerinden yönlendirilir. - - `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 artık kasıtlı olarak daha muhafazakârdır ve ana makinenin yük ortalaması zaten yüksek olduğunda da geri çekilir; böylece birden fazla eşzamanlı Vitest çalıştırması varsayılan olarak daha az zarar verir. - - Temel Vitest yapılandırması, changed-mode yeniden çalıştırmalarının test kablolaması değiştiğinde doğru kalması için projeleri/yapılandırma dosyalarını `forceRerunTriggers` olarak işaretler. - - Yapılandırma, desteklenen ana makinelerde `OPENCLAW_VITEST_FS_MODULE_CACHE` seçeneğini etkin tutar; doğrudan profilleme için tek bir açık önbellek konumu istiyorsanız `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/abs/path` ayarlayın. -- Perf-debug notu: - - `pnpm test:perf:imports`, Vitest import süresi raporlamasını ve import döküm çıktısını etkinleştirir. - - `pnpm test:perf:imports:changed`, aynı profilleme görünümünü `origin/main` sonrasındaki değişen dosyalarla sınırlar. -- `pnpm test:perf:changed:bench -- --ref `, bu commit edilmiş fark için yönlendirilmiş `test:changed` ile yerel root-project yolunu karşılaştırır ve duvar süresi ile macOS maksimum RSS’yi yazdırır. -- `pnpm test:perf:changed:bench -- --worktree`, değişen dosya listesini `scripts/test-projects.mjs` ve root Vitest yapılandırması üzerinden yönlendirerek mevcut kirli ağacı kıyaslar. - - `pnpm test:perf:profile:main`, Vitest/Vite başlatma ve transform yükü için ana iş parçacığı CPU profilini yazar. - - `pnpm test:perf:profile:runner`, dosya paralelliği devre dışıyken unit paketi için çalıştırıcı CPU+heap profilleri yazar. + - Paylaşılan `scripts/run-vitest.mjs` başlatıcısı artık büyük yerel çalıştırmalar sırasında V8 derleme çalkantısını azaltmak için Vitest alt Node süreçlerine varsayılan olarak `--no-maglev` de ekler. Stok V8 davranışıyla karşılaştırma yapmanız gerekiyorsa `OPENCLAW_VITEST_ENABLE_MAGLEV=1` ayarlayın. +- Hızlı yerel yineleme notu: + - `pnpm test:changed`, değişen yollar daha küçük bir pakete temizce eşleniyorsa kapsamlı hatlar üzerinden yönlendirme yapar. + - `pnpm test:max` ve `pnpm test:changed:max`, yalnızca daha yüksek worker sınırıyla aynı yönlendirme davranışını korur. + - Yerel worker otomatik ölçeklendirmesi artık kasıtlı olarak daha tutucudur ve host yük ortalaması zaten yüksekken de 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 kablolaması değiştiğinde changed modundaki yeniden çalıştırmaların doğru kalması için projeleri/yapılandırma dosyalarını `forceRerunTriggers` olarak işaretler. + - Yapılandırma, desteklenen host’larda `OPENCLAW_VITEST_FS_MODULE_CACHE` özelliğini etkin tutar; doğrudan profil oluşturma için açık bir önbellek konumu istiyorsanız `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/abs/path` ayarlayın. +- Performans hata ayıklama notu: + - `pnpm test:perf:imports`, Vitest import süresi raporlamasını ve import dökümü çıktısını etkinleştirir. + - `pnpm test:perf:imports:changed`, aynı profil görünümünü `origin/main` sonrasındaki değişen dosyalarla sınırlar. +- `pnpm test:perf:changed:bench -- --ref `, yönlendirilmiş `test:changed` çalışmasını o commit edilmiş fark için doğal kök-proje yoluyla karşılaştırır ve duvar saati süresi ile macOS azami RSS’yi 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 mevcut kirli ağacı kıyaslar. + - `pnpm test:perf:profile:main`, Vitest/Vite başlangıcı ve dönüştürme yükü için ana iş parçacığı CPU profili yazar. + - `pnpm test:perf:profile:runner`, dosya paralelliği devre dışıyken birim paketi için çalıştırıcı CPU+heap profilleri yazar. -### E2E (Gateway smoke) +### E2E (gateway smoke) - Komut: `pnpm test:e2e` - Yapılandırma: `vitest.e2e.config.ts` - Dosyalar: `src/**/*.e2e.test.ts`, `test/**/*.e2e.test.ts` - Çalışma zamanı varsayılanları: - Deponun geri kalanıyla eşleşecek şekilde Vitest `threads` ve `isolate: false` kullanır. - - Uyarlanabilir işçiler kullanır (CI: en fazla 2, yerel: varsayılan 1). + - Uyarlanabilir worker’lar kullanır (CI: en fazla 2, yerel: varsayılan 1). - Konsol G/Ç 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=` (üst sınır 16). + - Worker sayısını zorlamak için `OPENCLAW_E2E_WORKERS=` (üst sınır 16). - Ayrıntılı konsol çıktısını yeniden etkinleştirmek için `OPENCLAW_E2E_VERBOSE=1`. - Kapsam: - - Çok örnekli Gateway uçtan uca davranışı + - Çok örnekli gateway uçtan uca davranışı - WebSocket/HTTP yüzeyleri, Node eşleştirme ve daha ağır ağ iletişimi - Beklentiler: - - CI’da çalışır (boru hattında etkinleştirildiğinde) + - CI’da çalışır (iş hattında etkinleştirildiğinde) - Gerçek anahtarlar gerekmez - - Unit testlerden daha fazla hareketli parçaya sahiptir (daha yavaş olabilir) + - Birim testlerinden daha fazla hareketli parça içerir (daha yavaş olabilir) ### E2E: OpenShell backend smoke - Komut: `pnpm test:e2e:openshell` - Dosya: `test/openshell-sandbox.e2e.test.ts` - Kapsam: - - Docker üzerinden ana makinede yalıtılmış bir OpenShell Gateway başlatır - - Geçici yerel bir Dockerfile’dan bir sandbox oluşturur + - Host üzerinde Docker aracılığıyla yalıtılmış bir OpenShell gateway başlatır + - Geçici yerel bir Dockerfile’dan sandbox oluşturur - OpenClaw’ın OpenShell backend’ini gerçek `sandbox ssh-config` + SSH exec üzerinden çalıştırır - - Uzak kanonik dosya sistemi davranışını sandbox fs köprüsü üzerinden doğrular + - Sandbox fs bridge üzerinden uzak-kanonik dosya sistemi davranışını doğrular - Beklentiler: - Yalnızca isteğe bağlıdır; varsayılan `pnpm test:e2e` çalıştırmasının parçası değildir - - Yerel bir `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 + - Yerel bir `openshell` CLI ve çalışan bir Docker daemon’u gerektirir + - Yalıtılmış `HOME` / `XDG_CONFIG_HOME` kullanır, ardından test gateway’ini ve sandbox’ı yok eder - Yararlı geçersiz kılmalar: - Daha geniş e2e paketini elle çalıştırırken testi etkinleştirmek için `OPENCLAW_E2E_OPENSHELL=1` - - Varsayılan olmayan bir CLI binary’si veya wrapper betiğine işaret etmek için `OPENCLAW_E2E_OPENSHELL_COMMAND=/path/to/openshell` + - Varsayılan olmayan bir CLI ikilisine 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) @@ -336,111 +336,111 @@ Paketleri “artan gerçekçilik” (ve artan kararsızlık/maliyet) olarak dü - Varsayılan: `pnpm test:live` tarafından **etkinleştirilir** (`OPENCLAW_LIVE_TEST=1` ayarlar) - Kapsam: - “Bu sağlayıcı/model bugün gerçek kimlik bilgileriyle 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 oran sınırı davranışını yakalar + - Sağlayıcı biçim değişikliklerini, araç çağırma tuhaflıklarını, kimlik doğrulama sorunlarını ve rate limit davranışını yakalar - Beklentiler: - - Tasarım gereği CI’da kararlı değildir (gerçek ağlar, gerçek sağlayıcı politikaları, kotalar, kesintiler) - - Paraya mal olur / oran sınırlarını kullanır + - Tasarım gereği CI-kararlı değildir (gerçek ağlar, gerçek sağlayıcı politikaları, kotalar, kesintiler) + - Maliyetlidir / rate limit kullanır - “Her şeyi” çalıştırmak yerine daraltılmış alt kümeleri çalıştırmak tercih edilir -- Canlı çalıştırmalar, eksik API anahtarlarını almak için `~/.profile` dosyasını kaynak olarak yükler. -- Varsayılan olarak canlı çalıştırmalar yine de `HOME` dizinini yalıtır ve config/auth materyalini geçici bir test home dizinine kopyalar; böylece unit fixture’ları gerçek `~/.openclaw` dizininizi değiştiremez. -- Canlı testlerin gerçek home dizininizi kullanmasını bilerek istediğinizde yalnızca `OPENCLAW_LIVE_USE_REAL_HOME=1` ayarlayın. -- `pnpm test:live` artık varsayılan olarak daha sessiz bir mod kullanır: `[live] ...` ilerleme çıktısını korur, ancak ek `~/.profile` bildirimini bastırır ve Gateway bootstrap günlükleri/Bonjour gürültüsünü susturur. Tam başlatma günlüklerini geri istiyorsanız `OPENCLAW_LIVE_TEST_QUIET=0` ayarlayın. -- API anahtarı rotasyonu (sağlayıcıya özgü): 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 canlıya özgü geçersiz kılma için `OPENCLAW_LIVE_*_KEY`; testler oran sınırı yanıtlarında yeniden dener. +- Canlı çalıştırmalar, eksik API anahtarlarını almak için `~/.profile` kaynağını kullanır. +- Varsayılan olarak canlı çalıştırmalar yine de `HOME` dizinini yalıtır ve yapılandırma/kimlik doğrulama materyalini geçici bir test home dizinine kopyalar; böylece birim fixture’ları gerçek `~/.openclaw` dizininizi değiştiremez. +- Canlı testlerin gerçek home dizininizi kullanmasını özellikle istediğinizde yalnızca `OPENCLAW_LIVE_USE_REAL_HOME=1` ayarlayın. +- `pnpm test:live` artık varsayılan olarak daha sessiz bir mod kullanır: `[live] ...` ilerleme çıktısını korur, ancak ek `~/.profile` bildirimini bastırır ve gateway bootstrap günlükleri/Bonjour gürültüsünü susturur. Tüm başlangıç günlüklerini geri istiyorsanız `OPENCLAW_LIVE_TEST_QUIET=0` ayarlayın. +- API anahtarı rotasyonu (sağlayıcıya özgü): 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 canlıya özgü geçersiz kılma olarak `OPENCLAW_LIVE_*_KEY`; testler rate limit yanıtlarında yeniden dener. - İlerleme/Heartbeat çıktısı: - - Canlı paketler artık ilerleme satırlarını stderr’e gönderir; böylece Vitest konsol yakalaması sessiz olduğunda bile uzun sağlayıcı çağrılarının etkin olduğu görünür. - - `vitest.live.config.ts`, canlı çalıştırmalarda sağlayıcı/Gateway ilerleme satırlarının anında akması için Vitest konsol engellemesini devre dışı bırakır. + - Canlı paketler artık ilerleme satırlarını stderr’e yazar; böylece uzun sağlayıcı çağrıları, Vitest konsol yakalaması sessizken bile görünür biçimde etkin kalır. + - `vitest.live.config.ts`, sağlayıcı/gateway ilerleme satırlarının canlı çalıştırmalar sırasında hemen akması için Vitest konsol yakalamasını devre dışı bırakır. - Doğrudan model Heartbeat’lerini `OPENCLAW_LIVE_HEARTBEAT_MS` ile ayarlayın. - - Gateway/probe Heartbeat’lerini `OPENCLAW_LIVE_GATEWAY_HEARTBEAT_MS` ile ayarlayın. + - Gateway/yoklama Heartbeat’lerini `OPENCLAW_LIVE_GATEWAY_HEARTBEAT_MS` ile ayarlayın. ## Hangi paketi çalıştırmalıyım? Bu karar tablosunu kullanın: -- Mantık/test düzenliyorsanız: `pnpm test` çalıştırın (çok şey değiştirdiyseniz ayrıca `pnpm test:coverage`) -- Gateway ağı / WS protokolü / eşleştirme alanına dokunuyorsanız: `pnpm test:e2e` ekleyin +- Mantık/test düzenliyorsanız: `pnpm test` çalıştırın (çok şey değiştirdiyseniz `pnpm test:coverage` da) +- Gateway ağ iletişimi / WS protokolü / eşleştirmeye dokunuyorsanız: `pnpm test:e2e` ekleyin - “Botum çalışmıyor” / sağlayıcıya özgü arızalar / araç çağırma sorunlarını hata ayıklıyorsanız: daraltılmış bir `pnpm test:live` çalıştırın ## Canlı: Android Node yetenek taraması - Test: `src/gateway/android-node.capabilities.live.test.ts` - Betik: `pnpm android:test:integration` -- Amaç: bağlı bir Android Node tarafından şu anda duyurulan **her komutu** çağırmak ve komut sözleşmesi davranışını doğrulamak. +- Amaç: bağlı bir Android Node tarafından şu anda **reklamı yapılan her komutu** çağırmak ve komut sözleşmesi davranışını doğrulamak. - Kapsam: - - Önkoşullandırılmış/manuel kurulum (paket uygulamayı kurmaz/çalıştırmaz/eşleştirmez). - - Seçilen Android Node için komut bazında Gateway `node.invoke` doğrulaması. + - Önkoşullu/manuel kurulum (paket uygulamayı kurmaz/çalıştırmaz/eşleştirmez). + - Seçilen Android Node için komut bazında gateway `node.invoke` doğrulaması. - Gerekli ön kurulum: - - Android uygulaması zaten bağlı ve Gateway ile eşleştirilmiş olmalı. + - Android uygulaması zaten bağlı ve gateway ile eşleştirilmiş olmalı. - Uygulama ön planda tutulmalı. - - Başarılı olmasını beklediğiniz yetenekler için izinler/yakalama onayı verilmiş olmalı. + - Geçmesini beklediğiniz yetenekler için izinler/yakalama onayı verilmiş olmalı. - İsteğe bağlı hedef geçersiz kılmaları: - `OPENCLAW_ANDROID_NODE_ID` veya `OPENCLAW_ANDROID_NODE_NAME`. - `OPENCLAW_ANDROID_GATEWAY_URL` / `OPENCLAW_ANDROID_GATEWAY_TOKEN` / `OPENCLAW_ANDROID_GATEWAY_PASSWORD`. -- Android için tam kurulum ayrıntıları: [Android App](/tr/platforms/android) +- Tüm Android kurulum ayrıntıları: [Android Uygulaması](/tr/platforms/android) ## Canlı: model smoke (profil anahtarları) -Canlı testler, hataları izole edebilmek için iki katmana ayrılmıştır: +Canlı testler, arızaları yalıtabilmek için iki katmana ayrılmıştır: -- “Doğrudan model”, sağlayıcı/modelin verilen anahtarla en azından yanıt verip veremediğini söyler. -- “Gateway smoke”, tam Gateway+agent hattının bu model için çalıştığını söyler (oturumlar, geçmiş, araçlar, sandbox politikası vb.). +- “Doğrudan model”, sağlayıcının/modelin verilen anahtarla en azından yanıt verebildiğini söyler. +- “Gateway smoke”, tam gateway+agent işlem hattının bu model için çalıştığını söyler (oturumlar, geçmiş, araçlar, sandbox ilkesi vb.). -### Katman 1: Doğrudan model tamamlama (Gateway yok) +### Katman 1: Doğrudan model tamamlama (gateway yok) - Test: `src/agents/models.profiles.live.test.ts` - Amaç: - Keşfedilen modelleri numaralandırmak - - Kimlik bilgisine sahip olduğunuz modelleri seçmek için `getApiKeyForModel` kullanmak + - Kimlik bilgilerinizin olduğu modelleri seçmek için `getApiKeyForModel` kullanmak - Model başına küçük bir tamamlama çalıştırmak (ve gerektiğinde hedefli regresyonlar) - Nasıl etkinleştirilir: - - `pnpm test:live` (veya Vitest’i doğrudan çağırıyorsanız `OPENCLAW_LIVE_TEST=1`) -- Bu paketi gerçekten çalıştırmak için `OPENCLAW_LIVE_MODELS=modern` (veya `all`, modern için takma ad) ayarlayın; aksi halde `pnpm test:live` odağını Gateway smoke üzerinde tutmak için atlanır + - `pnpm test:live` (veya Vitest doğrudan çağrılıyorsa `OPENCLAW_LIVE_TEST=1`) +- Bu paketi gerçekten çalıştırmak için `OPENCLAW_LIVE_MODELS=modern` (veya `all`, `modern` takma adı) ayarlayın; aksi takdirde `pnpm test:live` odağını gateway smoke üzerinde tutmak için atlanır - Modeller nasıl seçilir: - Modern allowlist’i çalıştırmak için `OPENCLAW_LIVE_MODELS=modern` (Opus/Sonnet 4.6+, GPT-5.x + Codex, Gemini 3, GLM 4.7, MiniMax M2.7, Grok 4) - `OPENCLAW_LIVE_MODELS=all`, modern allowlist için bir takma addır - veya `OPENCLAW_LIVE_MODELS="openai/gpt-5.4,anthropic/claude-opus-4-6,..."` (virgülle ayrılmış allowlist) - - Modern/all taramaları varsayılan olarak özenle seçilmiş, yüksek sinyalli bir üst sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_MAX_MODELS=0`, daha küçük bir sınır için ise pozitif bir sayı ayarlayın. + - Modern/tüm taramalar varsayılan olarak seçilmiş yüksek sinyalli bir üst sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_MAX_MODELS=0`, daha küçük bir üst sınır için pozitif bir sayı ayarlayın. - Sağlayıcılar nasıl seçilir: - `OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"` (virgülle ayrılmış allowlist) - Anahtarlar nereden gelir: - - Varsayılan olarak: profil deposu ve env fallback’leri + - Varsayılan olarak: profil deposu ve env geri dönüşleri - Yalnızca **profil deposunu** zorunlu kılmak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` ayarlayın - Bunun var olma nedeni: - - “Sağlayıcı API’si bozuk / anahtar geçersiz” ile “Gateway agent hattı bozuk” durumlarını ayırır - - Küçük, yalıtılmış regresyonlar içerir (örnek: OpenAI Responses/Codex Responses reasoning replay + araç çağrısı akışları) + - “Sağlayıcı API’si bozuk / anahtar geçersiz” ile “gateway agent işlem hattı bozuk” durumlarını ayırır + - Küçük, yalıtılmış regresyonları içerir (örnek: OpenAI Responses/Codex Responses reasoning replay + tool-call akışları) -### Katman 2: Gateway + geliştirme agent smoke (`@openclaw` gerçekte ne yapar) +### Katman 2: Gateway + geliştirme agent smoke (`@openclaw`’ın gerçekten yaptığı şey) - Test: `src/gateway/gateway-models.profiles.live.test.ts` - Amaç: - - Süreç içinde bir Gateway başlatmak + - Süreç içi bir gateway başlatmak - Bir `agent:dev:*` oturumu oluşturmak/yamalamak (çalıştırma başına model geçersiz kılma) - Anahtarlı modeller üzerinde yinelemek ve şunları doğrulamak: - “anlamlı” yanıt (araç yok) - gerçek bir araç çağrısının çalışması (`read` probe) - - isteğe bağlı ek araç probları (`exec+read` probe) - - OpenAI regresyon yollarının (yalnızca araç çağrısı → takip) çalışmaya devam etmesi -- Probe ayrıntıları (hataları hızlı açıklayabilmeniz için): + - isteğe bağlı ek araç probe’ları (`exec+read` probe) + - OpenAI regresyon yollarının (yalnızca tool-call → follow-up) çalışmaya devam etmesi +- Probe ayrıntıları (böylece arızaları hızlıca açıklayabilirsiniz): - `read` probe: test, çalışma alanına bir nonce dosyası yazar ve agent’tan bunu `read` etmesini ve nonce’u geri yankılamasını ister. - - `exec+read` probe: test, agent’tan bir nonce’u geçici bir dosyaya `exec` ile yazmasını, ardından bunu geri `read` etmesini ister. - - image probe: test, oluşturulmuş bir PNG (kedi + rastgeleleştirilmiş kod) ekler ve modelin `cat ` döndürmesini bekler. + - `exec+read` probe: test, agent’tan nonce’u geçici bir dosyaya `exec` ile yazmasını, ardından geri `read` etmesini ister. + - image probe: test, oluşturulmuş bir PNG’yi (kedi + rastgeleleştirilmiş kod) ekler ve modelin `cat ` döndürmesini bekler. - Uygulama başvurusu: `src/gateway/gateway-models.profiles.live.test.ts` ve `src/gateway/live-image-probe.ts`. - Nasıl etkinleştirilir: - - `pnpm test:live` (veya Vitest’i doğrudan çağırıyorsanız `OPENCLAW_LIVE_TEST=1`) + - `pnpm test:live` (veya Vitest doğrudan çağrılıyorsa `OPENCLAW_LIVE_TEST=1`) - Modeller nasıl seçilir: - Varsayılan: modern allowlist (Opus/Sonnet 4.6+, GPT-5.x + Codex, Gemini 3, GLM 4.7, MiniMax M2.7, Grok 4) - `OPENCLAW_LIVE_GATEWAY_MODELS=all`, modern allowlist için bir takma addır - Ya da daraltmak için `OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"` (veya virgüllü liste) ayarlayın - - Modern/all Gateway taramaları varsayılan olarak özenle seçilmiş, yüksek sinyalli bir üst sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0`, daha küçük bir sınır için ise pozitif bir sayı ayarlayın. -- Sağlayıcılar nasıl seçilir (“OpenRouter her şey” yaklaşımından kaçının): + - Modern/tüm gateway taramaları varsayılan olarak seçilmiş yüksek sinyalli bir üst sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0`, daha küçük bir üst sınır için pozitif bir sayı ayarlayın. +- Sağlayıcılar nasıl seçilir (“OpenRouter her şey” yaklaşımından kaçınmak için): - `OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"` (virgülle ayrılmış allowlist) -- Araç + image probe’ları bu canlı testte her zaman açıktır: +- Tool + image probe’ları bu canlı testte her zaman açıktır: - `read` probe + `exec+read` probe (araç stresi) - - image probe, model image girişi desteğini duyurduğunda çalışır + - image probe, model image input desteğini ilan ettiğinde çalışır - Akış (üst düzey): - - Test, “CAT” + rastgele kod içeren küçük bir PNG üretir (`src/gateway/live-image-probe.ts`) + - Test, “CAT” + rastgele kod içeren küçük bir PNG oluşturur (`src/gateway/live-image-probe.ts`) - Bunu `agent` üzerinden `attachments: [{ mimeType: "image/png", content: "" }]` ile gönderir - Gateway, ekleri `images[]` içine ayrıştırır (`src/gateway/server-methods/agent.ts` + `src/gateway/chat-attachments.ts`) - - Gömülü agent, modele çok kipli bir kullanıcı mesajı iletir + - Gömülü agent, modele çok modlu bir kullanıcı mesajı iletir - Doğrulama: yanıt `cat` + kodu içerir (OCR toleransı: küçük hatalara izin verilir) İpucu: makinenizde neyi test edebileceğinizi (ve tam `provider/model` kimliklerini) görmek için şunu çalıştırın: @@ -453,23 +453,23 @@ openclaw models list --json ## Canlı: CLI backend smoke (Claude, Codex, Gemini veya diğer yerel CLI’lar) - Test: `src/gateway/gateway-cli-backend.live.test.ts` -- Amaç: varsayılan config’inize dokunmadan, yerel bir CLI backend kullanarak Gateway + agent hattını doğrulamak. -- Backend’e özgü smoke varsayılanları, sahibi olan uzantının `cli-backend.ts` tanımıyla birlikte yaşar. +- Amaç: varsayılan yapılandırmanıza dokunmadan yerel bir CLI backend kullanarak Gateway + agent işlem hattını doğrulamak. +- Backend’e özgü smoke varsayılanları, sahibi olan eklentinin `cli-backend.ts` tanımıyla birlikte bulunur. - Etkinleştirme: - - `pnpm test:live` (veya Vitest’i doğrudan çağırıyorsanız `OPENCLAW_LIVE_TEST=1`) + - `pnpm test:live` (veya Vitest doğrudan çağrılıyorsa `OPENCLAW_LIVE_TEST=1`) - `OPENCLAW_LIVE_CLI_BACKEND=1` - Varsayılanlar: - Varsayılan sağlayıcı/model: `claude-cli/claude-sonnet-4-6` - - Komut/argüman/image davranışı, sahibi olan CLI backend plugin meta verisinden gelir. + - Komut/argüman/image davranışı, sahibi olan CLI backend eklentisi meta verilerinden gelir. - Geçersiz kılmalar (isteğe bağlı): - `OPENCLAW_LIVE_CLI_BACKEND_MODEL="codex-cli/gpt-5.4"` - `OPENCLAW_LIVE_CLI_BACKEND_COMMAND="/full/path/to/codex"` - `OPENCLAW_LIVE_CLI_BACKEND_ARGS='["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]'` - Gerçek bir image eki göndermek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1` (yollar prompt içine enjekte edilir). - Image dosya yollarını prompt enjeksiyonu yerine CLI argümanları olarak geçirmek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image"`. - - `IMAGE_ARG` ayarlandığında image argümanlarının nasıl geçirileceğini denetlemek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"` (veya `"list"`). + - `IMAGE_ARG` ayarlandığında image argümanlarının nasıl geçirileceğini kontrol etmek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"` (veya `"list"`). - İkinci bir tur göndermek ve resume akışını doğrulamak için `OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1`. - - Varsayılan Claude Sonnet -> Opus aynı oturum sürekliliği probe’unu devre dışı bırakmak için `OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0` (seçilen model bir geçiş hedefini desteklediğinde bunu zorla açmak için `1` ayarlayın). + - Varsayılan Claude Sonnet -> Opus aynı-oturum sürekliliği probe’unu devre dışı bırakmak için `OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0` (seçilen model bir geçiş hedefini desteklediğinde zorla açmak için `1` ayarlayın). Örnek: @@ -496,27 +496,27 @@ pnpm test:docker:live-cli-backend:gemini Notlar: -- Docker çalıştırıcısı `scripts/test-live-cli-backend-docker.sh` konumunda bulunur. -- Canlı CLI-backend smoke testini depo Docker imajı içinde root olmayan `node` kullanıcısı olarak çalıştırır. -- Sahibi olan uzantıdan CLI smoke meta verisini çözer, ardından eşleşen Linux CLI paketini (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) `OPENCLAW_DOCKER_CLI_TOOLS_DIR` içindeki önbelleğe alınmış yazılabilir bir öneke kurar (varsayılan: `~/.cache/openclaw/docker-cli-tools`). -- `pnpm test:docker:live-cli-backend:claude-subscription`, taşınabilir Claude Code abonelik OAuth’u gerektirir; bu ya `claudeAiOauth.subscriptionType` içeren `~/.claude/.credentials.json` üzerinden ya da `claude setup-token` komutundan gelen `CLAUDE_CODE_OAUTH_TOKEN` ile sağlanır. Önce Docker içinde doğrudan `claude -p` çalışmasını doğrular, ardından Anthropic API anahtarı ortam değişkenlerini korumadan iki Gateway CLI-backend turu çalıştırır. Bu abonelik hattı, Claude şu anda üçüncü taraf uygulama kullanımını normal abonelik planı sınırları yerine ek kullanım faturalandırması üzerinden yönlendirdiği için varsayılan olarak Claude MCP/tool ve image probe’larını devre dışı bırakır. -- Canlı CLI-backend smoke artık Claude, Codex ve Gemini için aynı uçtan uca akışı uygular: metin turu, image sınıflandırma turu, ardından Gateway CLI üzerinden doğrulanan MCP `cron` araç çağrısı. -- Claude’un varsayılan smoke testi ayrıca oturumu Sonnet’ten Opus’a yamalar ve yeniden başlatılan oturumun önceki bir notu hâlâ hatırladığını doğrular. +- Docker çalıştırıcısı `scripts/test-live-cli-backend-docker.sh` konumundadır. +- Canlı CLI-backend smoke testini depo Docker image’ı içinde root olmayan `node` kullanıcısı olarak çalıştırır. +- CLI smoke meta verilerini sahibi olan eklentiden çözer, ardından eşleşen Linux CLI paketini (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) `OPENCLAW_DOCKER_CLI_TOOLS_DIR` (varsayılan: `~/.cache/openclaw/docker-cli-tools`) içindeki önbelleklenmiş yazılabilir bir prefix’e kurar. +- `pnpm test:docker:live-cli-backend:claude-subscription`, taşınabilir Claude Code abonelik OAuth’u gerektirir; bunun için ya `claudeAiOauth.subscriptionType` içeren `~/.claude/.credentials.json` ya da `claude setup-token` içinden `CLAUDE_CODE_OAUTH_TOKEN` kullanılmalıdır. Önce Docker içinde doğrudan `claude -p` çalıştığını kanıtlar, ardından Anthropic API anahtarı env değişkenlerini korumadan iki Gateway CLI-backend turu çalıştırır. Bu abonelik hattı, Claude şu anda üçüncü taraf uygulama kullanımını normal abonelik planı limitleri yerine ek kullanım ücretlendirmesi üzerinden yönlendirdiği için varsayılan olarak Claude MCP/araç ve image probe’larını devre dışı bırakır. +- Canlı CLI-backend smoke artık Claude, Codex ve Gemini için aynı uçtan uca akışı uygular: metin turu, image sınıflandırma turu, ardından gateway CLI üzerinden doğrulanan MCP `cron` araç çağrısı. +- Claude’un varsayılan smoke testi ayrıca oturumu Sonnet’ten Opus’a yamalar ve sürdürülen oturumun önceki bir notu hâlâ hatırladığını doğrular. ## Canlı: ACP bind smoke (`/acp spawn ... --bind here`) - Test: `src/gateway/gateway-acp-bind.live.test.ts` -- Amaç: canlı bir ACP agent ile gerçek ACP konuşma bağlama akışını doğrulamak: +- Amaç: gerçek ACP konuşma-bind akışını canlı bir ACP agent ile doğrulamak: - `/acp spawn --bind here` göndermek - - sentetik bir mesaj-kanalı konuşmasını yerinde bağlamak - - aynı konuşmada normal bir takip mesajı göndermek - - takibin bağlı ACP oturum kaydına düştüğünü doğrulamak + - sentetik bir message-channel konuşmasını yerinde bağlamak + - aynı konuşma üzerinde normal bir follow-up göndermek + - follow-up’ın bağlı ACP oturum dökümüne düştüğünü doğrulamak - Etkinleştirme: - `pnpm test:live src/gateway/gateway-acp-bind.live.test.ts` - `OPENCLAW_LIVE_ACP_BIND=1` - Varsayılanlar: - Docker içindeki ACP agent’ları: `claude,codex,gemini` - - Doğrudan `pnpm test:live ...` için ACP agent: `claude` + - Doğrudan `pnpm test:live ...` için ACP agent’ı: `claude` - Sentetik kanal: Slack DM tarzı konuşma bağlamı - ACP backend: `acpx` - Geçersiz kılmalar: @@ -526,8 +526,8 @@ Notlar: - `OPENCLAW_LIVE_ACP_BIND_AGENTS=claude,codex,gemini` - `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND='npx -y @agentclientprotocol/claude-agent-acp@'` - Notlar: - - Bu hat, testlerin harici teslim ediyormuş gibi davranmadan mesaj-kanalı bağlamı ekleyebilmesi için yöneticiye özel sentetik originating-route alanlarıyla Gateway `chat.send` yüzeyini kullanır. - - `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND` ayarlanmamışsa test, seçilen ACP harness agent için gömülü `acpx` plugin’inin yerleşik agent kayıt defterini kullanır. + - Bu hat, testlerin harici teslimatı taklit etmeden message-channel bağlamını ekleyebilmesi için yöneticiye özel sentetik originating-route alanlarıyla gateway `chat.send` yüzeyini kullanır. + - `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND` ayarlanmadığında test, seçilen ACP harness agent için gömülü `acpx` eklentisinin yerleşik agent kayıt defterini kullanır. Örnek: @@ -553,31 +553,31 @@ pnpm test:docker:live-acp-bind:gemini Docker notları: -- Docker çalıştırıcısı `scripts/test-live-acp-bind-docker.sh` konumunda bulunur. -- Varsayılan olarak ACP bind smoke testini desteklenen tüm canlı CLI agent’larına sırayla karşı çalıştırır: `claude`, `codex`, ardından `gemini`. +- Docker çalıştırıcısı `scripts/test-live-acp-bind-docker.sh` konumundadır. +- Varsayılan olarak ACP bind smoke testini tüm desteklenen canlı CLI agent’larına karşı sırayla çalıştırır: `claude`, `codex`, ardından `gemini`. - Matrisi daraltmak için `OPENCLAW_LIVE_ACP_BIND_AGENTS=claude`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=codex` veya `OPENCLAW_LIVE_ACP_BIND_AGENTS=gemini` kullanın. -- `~/.profile` dosyasını kaynak olarak yükler, eşleşen CLI kimlik doğrulama materyalini konteynıra hazırlar, `acpx`’i yazılabilir bir npm önekine kurar, ardından istenen canlı CLI’ı (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) eksikse kurar. -- Docker içinde çalıştırıcı `OPENCLAW_LIVE_ACP_BIND_ACPX_COMMAND=$HOME/.npm-global/bin/acpx` ayarlar; böylece acpx, kaynak olarak yüklenen profildeki sağlayıcı ortam değişkenlerini alt harness CLI için kullanılabilir tutar. +- `~/.profile` kaynağını alır, eşleşen CLI kimlik doğrulama materyalini container içine hazırlar, `acpx`’i yazılabilir bir npm prefix’ine kurar, ardından eksikse istenen canlı CLI’ı (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) kurar. +- Docker içinde çalıştırıcı, kaynak alınan profilden gelen sağlayıcı env değişkenlerini alt harness CLI için kullanılabilir tutmak amacıyla `OPENCLAW_LIVE_ACP_BIND_ACPX_COMMAND=$HOME/.npm-global/bin/acpx` ayarlar. ## Canlı: Codex app-server harness smoke -- Amaç: plugin’e ait Codex harness’ini normal Gateway +- Amaç: eklentiye ait Codex harness’ini normal gateway `agent` yöntemi üzerinden doğrulamak: - - paketli `codex` plugin’ini yüklemek + - paketlenmiş `codex` eklentisini yüklemek - `OPENCLAW_AGENT_RUNTIME=codex` seçmek - - `codex/gpt-5.4` için ilk bir Gateway agent turu göndermek + - `codex/gpt-5.4` için ilk gateway agent turunu göndermek - aynı OpenClaw oturumuna ikinci bir tur göndermek ve app-server - thread’inin resume yapabildiğini doğrulamak - - aynı Gateway komut + thread’inin resume edebildiğini doğrulamak + - aynı gateway komut yolu üzerinden `/codex status` ve `/codex models` çalıştırmak - Test: `src/gateway/gateway-codex-harness.live.test.ts` - Etkinleştirme: `OPENCLAW_LIVE_CODEX_HARNESS=1` - Varsayılan model: `codex/gpt-5.4` - İsteğe bağlı image probe: `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1` -- İsteğe bağlı MCP/tool probe: `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1` +- İsteğe bağlı MCP/araç probe: `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1` - Smoke testi `OPENCLAW_AGENT_HARNESS_FALLBACK=none` ayarlar; böylece bozuk bir Codex - harness’i sessizce PI’ya geri düşerek testi geçemez. -- Kimlik doğrulama: shell/profile içinden `OPENAI_API_KEY`, ayrıca isteğe bağlı olarak kopyalanan + harness’i sessizce PI’ya geri dönerek başarılı olamaz. +- Kimlik doğrulama: shell/profilden `OPENAI_API_KEY`, ayrıca isteğe bağlı olarak kopyalanmış `~/.codex/auth.json` ve `~/.codex/config.toml` Yerel tarif: @@ -600,28 +600,28 @@ pnpm test:docker:live-codex-harness Docker notları: -- Docker çalıştırıcısı `scripts/test-live-codex-harness-docker.sh` konumunda bulunur. -- Bağlanan `~/.profile` dosyasını kaynak olarak yükler, `OPENAI_API_KEY` geçirir, varsa Codex CLI - kimlik doğrulama dosyalarını kopyalar, `@openai/codex` paketini yazılabilir, bağlanmış bir npm - önekine kurar, kaynak ağacını hazırlar ve ardından yalnızca Codex-harness canlı testini çalıştırır. -- Docker, image ve MCP/tool probe’larını varsayılan olarak etkinleştirir. Daha dar bir hata ayıklama çalıştırmasına ihtiyaç duyduğunuzda +- Docker çalıştırıcısı `scripts/test-live-codex-harness-docker.sh` konumundadır. +- Bağlanan `~/.profile` dosyasının kaynağını alır, `OPENAI_API_KEY` geçirir, varsa Codex CLI + kimlik doğrulama dosyalarını kopyalar, `@openai/codex` paketini yazılabilir ve bağlanmış bir npm + prefix’ine kurar, kaynak ağacı hazırlar, ardından yalnızca Codex-harness canlı testini çalıştırır. +- Docker varsayılan olarak image ve MCP/araç probe’larını etkinleştirir. Daha dar bir hata ayıklama çalıştırması gerektiğinde `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0` veya `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0` ayarlayın. - Docker ayrıca `OPENCLAW_AGENT_HARNESS_FALLBACK=none` dışa aktarır; bu, canlı - test yapılandırmasıyla eşleşir; böylece `openai-codex/*` veya PI fallback bir Codex harness + test yapılandırmasıyla eşleşir; böylece `openai-codex/*` veya PI geri dönüşü bir Codex harness regresyonunu gizleyemez. ### Önerilen canlı tarifler -Dar, açık allowlist’ler en hızlı ve en az kararsız olanlardır: +Dar, açık allowlist’ler en hızlı ve en az oynak olanlardır: -- Tek model, doğrudan (Gateway yok): +- Tek model, doğrudan (gateway yok): - `OPENCLAW_LIVE_MODELS="openai/gpt-5.4" pnpm test:live src/agents/models.profiles.live.test.ts` -- Tek model, Gateway smoke: +- Tek model, gateway smoke: - `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.4" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` -- Birden çok sağlayıcıda araç çağırma: +- Birkaç sağlayıcıda araç çağırma: - `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.4,anthropic/claude-opus-4-6,google/gemini-3-flash-preview,zai/glm-4.7,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` - Google odağı (Gemini API anahtarı + Antigravity): @@ -632,18 +632,18 @@ Notlar: - `google/...`, Gemini API’yi kullanır (API anahtarı). - `google-antigravity/...`, Antigravity OAuth köprüsünü kullanır (Cloud Code Assist tarzı agent uç noktası). -- `google-gemini-cli/...`, makinenizdeki yerel Gemini CLI’ı kullanır (ayrı kimlik doğrulama + araç farklılıkları). -- Gemini API ile Gemini CLI karşılaştırması: +- `google-gemini-cli/...`, makinenizdeki yerel Gemini CLI’ı kullanır (ayrı kimlik doğrulama + araç davranışı farklılıkları). +- Gemini API ile Gemini CLI: - API: OpenClaw, Google’ın barındırılan Gemini API’sini HTTP üzerinden çağırır (API anahtarı / profil kimlik doğrulaması); çoğu kullanıcının “Gemini” derken kastettiği budur. - - CLI: OpenClaw, yerel bir `gemini` binary’sini shell üzerinden çağırır; kendi kimlik doğrulamasına sahiptir ve farklı davranabilir (streaming/araç desteği/sürüm kayması). + - CLI: OpenClaw, yerel bir `gemini` ikilisini shell üzerinden çağırır; bunun kendi kimlik doğrulaması vardır ve davranışı farklı olabilir (streaming/araç desteği/sürüm uyumsuzluğu). ## Canlı: model matrisi (neleri kapsıyoruz) -Sabit bir “CI model listesi” yoktur (canlı testler isteğe bağlıdır), ancak anahtarlara sahip bir geliştirme makinesinde düzenli olarak kapsanması **önerilen** modeller bunlardır. +Sabit bir “CI model listesi” yoktur (canlı testler isteğe bağlıdır), ancak bunlar anahtarlara sahip bir geliştirme makinesinde düzenli olarak kapsanması **önerilen** modellerdir. -### Modern smoke seti (araç çağırma + image) +### Modern smoke kümesi (araç çağırma + image) -Çalışmaya devam etmesini beklediğimiz “yaygın modeller” çalıştırması budur: +Bu, çalışır durumda tutmayı beklediğimiz “yaygın modeller” çalıştırmasıdır: - OpenAI (Codex dışı): `openai/gpt-5.4` (isteğe bağlı: `openai/gpt-5.4-mini`) - OpenAI Codex: `openai-codex/gpt-5.4` @@ -653,12 +653,12 @@ Sabit bir “CI model listesi” yoktur (canlı testler isteğe bağlıdır), an - Z.AI (GLM): `zai/glm-4.7` - MiniMax: `minimax/MiniMax-M2.7` -Araçlar + image ile Gateway smoke çalıştırması: +Araçlar + image ile gateway smoke çalıştırması: `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.4,openai-codex/gpt-5.4,anthropic/claude-opus-4-6,google/gemini-3.1-pro-preview,google/gemini-3-flash-preview,google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-flash,zai/glm-4.7,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` ### Temel seviye: araç çağırma (Read + isteğe bağlı Exec) -Her sağlayıcı ailesi için en az bir tane seçin: +Her sağlayıcı ailesinden en az birini seçin: - OpenAI: `openai/gpt-5.4` (veya `openai/gpt-5.4-mini`) - Anthropic: `anthropic/claude-opus-4-6` (veya `anthropic/claude-sonnet-4-6`) @@ -666,44 +666,44 @@ Her sağlayıcı ailesi için en az bir tane seçin: - Z.AI (GLM): `zai/glm-4.7` - MiniMax: `minimax/MiniMax-M2.7` -İsteğe bağlı ek kapsam (olması iyi olur): +İsteğe bağlı ek kapsama (olsa iyi olur): - xAI: `xai/grok-4` (veya mevcut en son sürüm) -- Mistral: `mistral/`… (etkinleştirdiğiniz “tools” yetenekli bir model seçin) -- Cerebras: `cerebras/`… (erişiminiz varsa) +- Mistral: `mistral/`… (etkinleştirdiğiniz “tools” yetenekli bir modeli seçin) +- Cerebras: `cerebras/`… (`erişiminiz varsa`) - LM Studio: `lmstudio/`… (yerel; araç çağırma API moduna bağlıdır) -### Vision: image gönderme (ek → çok kipli mesaj) +### Vision: image gönderimi (ek → çok modlu mesaj) -Image probe’unu çalıştırmak için `OPENCLAW_LIVE_GATEWAY_MODELS` içine en az bir image yetenekli model ekleyin (Claude/Gemini/OpenAI vision yetenekli varyantları vb.). +Image probe’unu çalıştırmak için `OPENCLAW_LIVE_GATEWAY_MODELS` içine image yetenekli en az bir model ekleyin (Claude/Gemini/OpenAI’nin vision destekli varyantları vb.). -### Toplayıcılar / alternatif Gateway’ler +### Toplayıcılar / alternatif gateway’ler -Anahtarlarınız etkinse, şu yollar üzerinden de test desteklenir: +Anahtarlarınız etkinse, şunlar üzerinden test etmeyi de destekliyoruz: -- OpenRouter: `openrouter/...` (yüzlerce model; araç+image yetenekli adayları bulmak için `openclaw models scan` kullanın) -- OpenCode: Zen için `opencode/...` ve Go için `opencode-go/...` (`OPENCODE_API_KEY` / `OPENCODE_ZEN_API_KEY` ile kimlik doğrulama) +- OpenRouter: `openrouter/...` (yüzlerce model; tool+image yetenekli adayları bulmak için `openclaw models scan` kullanın) +- OpenCode: Zen için `opencode/...`, Go için `opencode-go/...` (`OPENCODE_API_KEY` / `OPENCODE_ZEN_API_KEY` ile kimlik doğrulama) -Canlı matrise ekleyebileceğiniz daha fazla sağlayıcı (kimlik bilgileriniz/config’iniz varsa): +Canlı matrise dahil edebileceğiniz daha fazla sağlayıcı (kimlik bilgileriniz/yapılandırmanız varsa): - Yerleşik: `openai`, `openai-codex`, `anthropic`, `google`, `google-vertex`, `google-antigravity`, `google-gemini-cli`, `zai`, `openrouter`, `opencode`, `opencode-go`, `xai`, `groq`, `cerebras`, `mistral`, `github-copilot` -- `models.providers` üzerinden (özel uç noktalar): `minimax` (bulut/API), ayrıca OpenAI/Anthropic uyumlu herhangi bir proxy (LM Studio, vLLM, LiteLLM vb.) +- `models.providers` aracılığıyla (özel uç noktalar): `minimax` (bulut/API), ayrıca OpenAI/Anthropic uyumlu herhangi bir proxy (LM Studio, vLLM, LiteLLM vb.) -İpucu: belgelerde “tüm modelleri” sabitlemeye çalışmayın. Yetkili liste, makinenizde `discoverModels(...)` ne döndürüyorsa ve hangi anahtarlar mevcutsa odur. +İpucu: belgelerde “tüm modelleri” sabit kodlamaya çalışmayın. Yetkili liste, makinenizde `discoverModels(...)` ne döndürüyorsa ve hangi anahtarlar mevcutsa odur. ## Kimlik bilgileri (asla commit etmeyin) -Canlı testler, kimlik bilgilerini CLI ile aynı şekilde keşfeder. Pratik sonuçları: +Canlı testler, kimlik bilgilerini CLI ile aynı şekilde keşfeder. Pratik sonuçlar: - CLI çalışıyorsa, canlı testler de aynı anahtarları bulmalıdır. -- Canlı bir test “kimlik bilgisi yok” diyorsa, bunu `openclaw models list` / model seçimini hata ayıklar gibi hata ayıklayın. +- Bir canlı test “kimlik bilgisi yok” diyorsa, bunu `openclaw models list` / model seçimini nasıl hata ayıklıyorsanız aynı şekilde hata ayıklayın. - Agent başına kimlik doğrulama profilleri: `~/.openclaw/agents//agent/auth-profiles.json` (canlı testlerde “profil anahtarları” denince kastedilen budur) -- Config: `~/.openclaw/openclaw.json` (veya `OPENCLAW_CONFIG_PATH`) -- Eski durum dizini: `~/.openclaw/credentials/` (mevcutsa hazırlanan canlı home dizinine kopyalanır, ancak ana profil-anahtar deposu değildir) -- Yerel canlı çalıştırmalar varsayılan olarak etkin config’i, agent başına `auth-profiles.json` dosyalarını, eski `credentials/` dizinini ve desteklenen harici CLI kimlik doğrulama dizinlerini geçici bir test home dizinine kopyalar; hazırlanan canlı home dizinleri `workspace/` ve `sandboxes/` dizinlerini atlar, ayrıca probe’ların gerçek ana makine çalışma alanınıza dokunmaması için `agents.*.workspace` / `agentDir` yol geçersiz kılmaları kaldırılır. +- Yapılandırma: `~/.openclaw/openclaw.json` (veya `OPENCLAW_CONFIG_PATH`) +- Eski durum dizini: `~/.openclaw/credentials/` (varsa hazırlanan canlı home içine kopyalanır, ancak ana profil-anahtar deposu değildir) +- Canlı yerel çalıştırmalar, varsayılan olarak etkin yapılandırmayı, agent başına `auth-profiles.json` dosyalarını, eski `credentials/` dizinini ve desteklenen harici CLI kimlik doğrulama dizinlerini geçici bir test home dizinine kopyalar; hazırlanan canlı home’lar `workspace/` ve `sandboxes/` dizinlerini atlar, ayrıca `agents.*.workspace` / `agentDir` yol geçersiz kılmaları çıkarılır; böylece probe’lar gerçek host çalışma alanınızdan uzak kalır. -Ortam anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde dışa aktarılmışsa), yerel testleri `source ~/.profile` sonrasında çalıştırın veya aşağıdaki Docker çalıştırıcılarını kullanın (`~/.profile` dosyasını konteynıra bağlayabilirler). +Env anahtarlarına güvenmek istiyorsanız (`~/.profile` dosyanızda dışa aktarılmış olanlar gibi), yerel testleri `source ~/.profile` sonrasında çalıştırın ya da aşağıdaki Docker çalıştırıcılarını kullanın (`~/.profile` dosyanızı container içine bağlayabilirler). ## Deepgram canlı (ses transkripsiyonu) @@ -714,7 +714,7 @@ Ortam anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde dı - Test: `src/agents/byteplus.live.test.ts` - Etkinleştirme: `BYTEPLUS_API_KEY=... BYTEPLUS_LIVE_TEST=1 pnpm test:live src/agents/byteplus.live.test.ts` -- İsteğe bağlı model geçersiz kılma: `BYTEPLUS_CODING_MODEL=ark-code-latest` +- İsteğe bağlı model geçersiz kılması: `BYTEPLUS_CODING_MODEL=ark-code-latest` ## ComfyUI workflow media canlı @@ -722,8 +722,8 @@ Ortam anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde dı - Etkinleştirme: `OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts` - Kapsam: - Paketlenmiş comfy image, video ve `music_generate` yollarını çalıştırır - - `models.providers.comfy.` yapılandırılmadıysa her yeteneği atlar - - Comfy workflow gönderimi, yoklama, indirmeler veya plugin kaydı değiştirildikten sonra kullanışlıdır + - `models.providers.comfy.` yapılandırılmadıkça her yeteneği atlar + - Comfy workflow gönderimi, polling, indirmeler veya eklenti kaydı değiştirildikten sonra yararlıdır ## Image generation canlı @@ -731,16 +731,16 @@ Ortam anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde dı - Komut: `pnpm test:live src/image-generation/runtime.live.test.ts` - Harness: `pnpm test:live:media image` - Kapsam: - - Kayıtlı her image-generation sağlayıcı plugin’ini numaralandırır - - Probe yapmadan önce eksik sağlayıcı ortam değişkenlerini giriş shell’inizden (`~/.profile`) yükler - - Varsayılan olarak canlı/env API anahtarlarını kayıtlı kimlik doğrulama profillerinin önünde kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez + - Kaydedilmiş her image-generation sağlayıcı eklentisini numaralandırır + - Probe yapmadan önce eksik sağlayıcı env değişkenlerini oturum açma shell’inizden (`~/.profile`) yükler + - Varsayılan olarak saklanan kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez - Kullanılabilir kimlik doğrulama/profil/modeli olmayan sağlayıcıları atlar - - Stok image-generation varyantlarını paylaşılan çalışma zamanı yeteneği üzerinden çalıştırır: + - Standart image-generation varyantlarını paylaşılan çalışma zamanı yeteneği üzerinden çalıştırır: - `google:flash-generate` - `google:pro-generate` - `google:pro-edit` - `openai:default-generate` -- Şu anda kapsanan paketli sağlayıcılar: +- Şu anda kapsanan paketlenmiş sağlayıcılar: - `openai` - `google` - İsteğe bağlı daraltma: @@ -748,7 +748,7 @@ Ortam anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde dı - `OPENCLAW_LIVE_IMAGE_GENERATION_MODELS="openai/gpt-image-1,google/gemini-3.1-flash-image-preview"` - `OPENCLAW_LIVE_IMAGE_GENERATION_CASES="google:flash-generate,google:pro-edit"` - İsteğe bağlı kimlik doğrulama davranışı: - - Profil deposu kimlik doğrulamasını zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` + - Yalnızca profil deposu kimlik doğrulamasını zorlamak ve yalnızca env olan geçersiz kılmaları yoksaymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` ## Music generation canlı @@ -756,15 +756,15 @@ Ortam anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde dı - Etkinleştirme: `OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts` - Harness: `pnpm test:live:media music` - Kapsam: - - Paylaşılan paketli music-generation sağlayıcı yolunu çalıştırır - - Şu anda Google ve MiniMax’i kapsar - - Probe yapmadan önce sağlayıcı ortam değişkenlerini giriş shell’inizden (`~/.profile`) yükler - - Varsayılan olarak canlı/env API anahtarlarını kayıtlı kimlik doğrulama profillerinin önünde kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez + - Paylaşılan paketlenmiş music-generation sağlayıcı yolunu çalıştırır + - Şu anda Google ve MiniMax’ı kapsar + - Probe yapmadan önce sağlayıcı env değişkenlerini oturum açma shell’inizden (`~/.profile`) yükler + - Varsayılan olarak saklanan kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez - Kullanılabilir kimlik doğrulama/profil/modeli olmayan sağlayıcıları atlar - - Kullanılabilir olduğunda bildirilen her iki çalışma zamanı modunu da çalıştırır: - - Yalnızca prompt girdisiyle `generate` - - Sağlayıcı `capabilities.edit.enabled` bildiriyorsa `edit` - - Mevcut paylaşılan hat kapsamı: + - Mevcut olduğunda bildirilen iki çalışma zamanı modunu da çalıştırır: + - yalnızca prompt girdisiyle `generate` + - sağlayıcı `capabilities.edit.enabled` bildirdiğinde `edit` + - Geçerli paylaşılan hat kapsaması: - `google`: `generate`, `edit` - `minimax`: `generate` - `comfy`: ayrı Comfy canlı dosyası, bu paylaşılan tarama değil @@ -772,7 +772,7 @@ Ortam anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde dı - `OPENCLAW_LIVE_MUSIC_GENERATION_PROVIDERS="google,minimax"` - `OPENCLAW_LIVE_MUSIC_GENERATION_MODELS="google/lyria-3-clip-preview,minimax/music-2.5+"` - İsteğe bağlı kimlik doğrulama davranışı: - - Profil deposu kimlik doğrulamasını zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` + - Yalnızca profil deposu kimlik doğrulamasını zorlamak ve yalnızca env olan geçersiz kılmaları yoksaymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` ## Video generation canlı @@ -780,42 +780,42 @@ Ortam anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde dı - Etkinleştirme: `OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts` - Harness: `pnpm test:live:media video` - Kapsam: - - Paylaşılan paketli video-generation sağlayıcı yolunu çalıştırır - - Varsayılan olarak release-safe smoke yolunu kullanır: FAL dışı sağlayıcılar, sağlayıcı başına bir text-to-video isteği, bir saniyelik lobster prompt’u ve `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS` içinden gelen sağlayıcı başına işlem sınırı (varsayılan `180000`) - - Sağlayıcı tarafı kuyruk gecikmesi release süresine baskın gelebileceği için varsayılan olarak FAL’i atlar; açıkça çalıştırmak için `--video-providers fal` veya `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"` verin - - Probe yapmadan önce sağlayıcı ortam değişkenlerini giriş shell’inizden (`~/.profile`) yükler - - Varsayılan olarak canlı/env API anahtarlarını kayıtlı kimlik doğrulama profillerinin önünde kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez + - Paylaşılan paketlenmiş video-generation sağlayıcı yolunu çalıştırır + - Varsayılan olarak sürüm için güvenli smoke yolunu kullanır: FAL dışı sağlayıcılar, sağlayıcı başına bir text-to-video isteği, bir saniyelik lobster prompt ve sağlayıcı başına `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS` (`180000` varsayılan) değerinden gelen işlem üst sınırı + - Sağlayıcı tarafı kuyruk gecikmesi sürüm süresine baskın gelebileceği için FAL varsayılan olarak atlanır; açıkça çalıştırmak için `--video-providers fal` veya `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"` verin + - Probe yapmadan önce sağlayıcı env değişkenlerini oturum açma shell’inizden (`~/.profile`) yükler + - Varsayılan olarak saklanan kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez - Kullanılabilir kimlik doğrulama/profil/modeli olmayan sağlayıcıları atlar - Varsayılan olarak yalnızca `generate` çalıştırır - - Kullanılabilir olduğunda bildirilen dönüşüm modlarını da çalıştırmak için `OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1` ayarlayın: - - Sağlayıcı `capabilities.imageToVideo.enabled` bildiriyorsa ve seçilen sağlayıcı/model paylaşılan taramada tampon destekli yerel image girdisini kabul ediyorsa `imageToVideo` - - Sağlayıcı `capabilities.videoToVideo.enabled` bildiriyorsa ve seçilen sağlayıcı/model paylaşılan taramada tampon destekli yerel video girdisini kabul ediyorsa `videoToVideo` - - Paylaşılan taramada şu anda bildirilen ancak atlanan `imageToVideo` sağlayıcıları: - - `vydra`; çünkü paketlenmiş `veo3` yalnızca metindir ve paketlenmiş `kling` uzak bir image URL’si gerektirir - - Sağlayıcıya özgü Vydra kapsamı: + - Bildirilen dönüşüm modlarını da çalıştırmak için `OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1` ayarlayın: + - sağlayıcı `capabilities.imageToVideo.enabled` bildirdiğinde ve seçilen sağlayıcı/model paylaşılan taramada buffer destekli yerel image girdisini kabul ettiğinde `imageToVideo` + - sağlayıcı `capabilities.videoToVideo.enabled` bildirdiğinde ve seçilen sağlayıcı/model paylaşılan taramada buffer destekli yerel video girdisini kabul ettiğinde `videoToVideo` + - Paylaşılan taramada şu anda bildirilmiş ama atlanmış `imageToVideo` sağlayıcıları: + - `vydra`, çünkü paketlenmiş `veo3` yalnızca metindir ve paketlenmiş `kling` uzak bir image URL’si gerektirir + - Sağlayıcıya özgü Vydra kapsaması: - `OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_VYDRA_VIDEO=1 pnpm test:live -- extensions/vydra/vydra.live.test.ts` - - bu dosya varsayılan olarak uzak image URL fixture’ı kullanan bir `kling` hattının yanı sıra `veo3` text-to-video çalıştırır - - Şu anki `videoToVideo` canlı kapsamı: + - bu dosya varsayılan olarak `veo3` text-to-video artı uzak bir image URL fixture’ı kullanan bir `kling` hattı çalıştırır + - Geçerli `videoToVideo` canlı kapsaması: - yalnızca seçilen model `runway/gen4_aleph` olduğunda `runway` - - Paylaşılan taramada şu anda bildirilen ancak atlanan `videoToVideo` sağlayıcıları: - - `alibaba`, `qwen`, `xai`; çünkü bu yollar şu anda uzak `http(s)` / MP4 referans URL’leri gerektiriyor - - `google`; çünkü mevcut paylaşılan Gemini/Veo hattı yerel tampon destekli girdi kullanıyor ve bu yol paylaşılan taramada kabul edilmiyor - - `openai`; çünkü mevcut paylaşılan hat, kuruma özgü video inpaint/remix erişim garantilerine sahip değil + - Paylaşılan taramada şu anda bildirilmiş ama atlanmış `videoToVideo` sağlayıcıları: + - `alibaba`, `qwen`, `xai`, çünkü bu yollar şu anda uzak `http(s)` / MP4 referans URL’leri gerektiriyor + - `google`, çünkü mevcut paylaşılan Gemini/Veo hattı yerel buffer destekli girdi kullanıyor ve bu yol paylaşılan taramada kabul edilmiyor + - `openai`, çünkü mevcut paylaşılan hat org’a özgü video inpaint/remix erişim garantilerinden yoksun - İsteğe bağlı daraltma: - `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="google,openai,runway"` - `OPENCLAW_LIVE_VIDEO_GENERATION_MODELS="google/veo-3.1-fast-generate-preview,openai/sora-2,runway/gen4_aleph"` - - Varsayılan taramadaki FAL dâhil her sağlayıcıyı eklemek için `OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""` - - Agresif bir smoke çalıştırması için sağlayıcı başına işlem sınırını azaltmak üzere `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000` + - Varsayılan taramaya FAL dahil her sağlayıcıyı eklemek için `OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""` + - Daha agresif bir smoke çalıştırması için sağlayıcı başına işlem üst sınırını azaltmak üzere `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000` - İsteğe bağlı kimlik doğrulama davranışı: - - Profil deposu kimlik doğrulamasını zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` + - Yalnızca profil deposu kimlik doğrulamasını zorlamak ve yalnızca env olan geçersiz kılmaları yoksaymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` -## Medya canlı harness’i +## Media canlı harness - Komut: `pnpm test:live:media` - Amaç: - Paylaşılan image, music ve video canlı paketlerini depo yerel tek bir giriş noktası üzerinden çalıştırır - - Eksik sağlayıcı ortam değişkenlerini `~/.profile` içinden otomatik yükler - - Varsayılan olarak her paketi şu anda kullanılabilir kimlik doğrulamaya sahip sağlayıcılara otomatik olarak daraltır + - Eksik sağlayıcı env değişkenlerini `~/.profile` dosyasından otomatik yükler + - Varsayılan olarak her paketi, şu anda kullanılabilir kimlik doğrulamaya sahip sağlayıcılara otomatik olarak daraltır - `scripts/test-live.mjs` dosyasını yeniden kullanır; böylece Heartbeat ve sessiz mod davranışı tutarlı kalır - Örnekler: - `pnpm test:live:media` @@ -825,19 +825,20 @@ Ortam anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde dı ## Docker çalıştırıcıları (isteğe bağlı “Linux’ta çalışıyor” kontrolleri) -Bu Docker çalıştırıcıları iki kovaya ayrılır: +Bu Docker çalıştırıcıları iki kümeye ayrılır: -- Canlı model çalıştırıcıları: `test:docker:live-models` ve `test:docker:live-gateway`, depo Docker imajı içinde yalnızca eşleşen profil-anahtarı canlı dosyalarını çalıştırır (`src/agents/models.profiles.live.test.ts` ve `src/gateway/gateway-models.profiles.live.test.ts`); yerel config dizininizi ve çalışma alanınızı bağlar (ve bağlanmışsa `~/.profile` dosyasını kaynak olarak yükler). Eşleşen yerel giriş noktaları `test:live:models-profiles` ve `test:live:gateway-profiles` komutlarıdır. -- 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`, ve - `test:docker:live-gateway` varsayılan olarak `OPENCLAW_LIVE_GATEWAY_SMOKE=1`, +- Canlı model çalıştırıcıları: `test:docker:live-models` ve `test:docker:live-gateway`, yalnızca eşleşen profil anahtarı canlı dosyalarını depo Docker image’ı içinde çalıştırır (`src/agents/models.profiles.live.test.ts` ve `src/gateway/gateway-models.profiles.live.test.ts`); yerel yapılandırma dizininizi ve çalışma alanınızı bağlar (ve bağlanmışsa `~/.profile` kaynağını alır). Eşleşen yerel giriş noktaları `test:live:models-profiles` ve `test:live:gateway-profiles`’tır. +- Docker canlı çalıştırıcıları, tam bir Docker taramasının pratik kalması için varsayılan olarak daha küçük bir smoke üst sınırı kullanı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` ayarlarını kullanır. Daha büyük kapsamlı taramayı açıkça istediğinizde bu ortam değişkenlerini geçersiz kılın. -- `test:docker:all`, canlı Docker imajını bir kez `test:docker:live-build` ile oluşturur, ardından bunu iki canlı Docker hattı için yeniden kullanır. -- Konteyner smoke çalıştırıcıları: `test:docker:openwebui`, `test:docker:onboard`, `test:docker:gateway-network`, `test:docker:mcp-channels` ve `test:docker:plugins`; bir veya daha fazla gerçek konteyner başlatır ve daha üst düzey entegrasyon yollarını doğrular. + `OPENCLAW_LIVE_GATEWAY_MODEL_TIMEOUT_MS=90000` kullanır. Daha büyük kapsamlı taramayı + özellikle istediğinizde bu env değişkenlerini geçersiz kılın. +- `test:docker:all`, önce `test:docker:live-build` aracılığıyla canlı Docker image’ını bir kez oluşturur, ardından bunu iki canlı Docker hattı için yeniden kullanır. +- Container smoke çalıştırıcıları: `test:docker:openwebui`, `test:docker:onboard`, `test:docker:gateway-network`, `test:docker:mcp-channels` ve `test:docker:plugins`, 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 gerekli CLI kimlik doğrulama home dizinlerini (veya çalıştırma daraltılmamışsa desteklenenlerin tümünü) bind-mount eder, ardından harici CLI OAuth’un ana makine kimlik doğrulama deposunu değiştirmeden belirteçleri yenileyebilmesi için bunları çalıştırma öncesinde konteyner home dizinine kopyalar: +Canlı model Docker çalıştırıcıları ayrıca yalnızca gereken CLI kimlik doğrulama home dizinlerini (veya çalıştırma daraltılmamışsa desteklenenlerin tümünü) bind-mount eder, ardından çalıştırma öncesinde bunları container home dizinine kopyalar; böylece harici CLI OAuth, host kimlik doğrulama deposunu değiştirmeden token’ları yenileyebilir: - Doğrudan modeller: `pnpm test:docker:live-models` (betik: `scripts/test-live-models-docker.sh`) - ACP bind smoke: `pnpm test:docker:live-acp-bind` (betik: `scripts/test-live-acp-bind-docker.sh`) @@ -845,103 +846,105 @@ Canlı model Docker çalıştırıcıları ayrıca yalnızca gerekli CLI kimlik - Codex app-server harness smoke: `pnpm test:docker:live-codex-harness` (betik: `scripts/test-live-codex-harness-docker.sh`) - Gateway + geliştirme agent’ı: `pnpm test:docker:live-gateway` (betik: `scripts/test-live-gateway-models-docker.sh`) - Open WebUI canlı smoke: `pnpm test:docker:openwebui` (betik: `scripts/e2e/openwebui-docker.sh`) -- Onboarding sihirbazı (TTY, tam iskelet): `pnpm test:docker:onboard` (betik: `scripts/e2e/onboard-docker.sh`) -- Gateway ağı (iki konteyner, WS kimlik doğrulama + sağlık): `pnpm test:docker:gateway-network` (betik: `scripts/e2e/gateway-network-docker.sh`) -- MCP kanal köprüsü (seed edilmiş Gateway + stdio bridge + ham Claude bildirim-çerçevesi smoke): `pnpm test:docker:mcp-channels` (betik: `scripts/e2e/mcp-channels-docker.sh`) -- Plugins (kurulum smoke + `/plugin` takma adı + Claude bundle yeniden başlatma semantiği): `pnpm test:docker:plugins` (betik: `scripts/e2e/plugins-docker.sh`) +- Onboarding sihirbazı (TTY, tam iskele): `pnpm test:docker:onboard` (betik: `scripts/e2e/onboard-docker.sh`) +- Gateway ağ iletişimi (iki container, WS kimlik doğrulama + sağlık): `pnpm test:docker:gateway-network` (betik: `scripts/e2e/gateway-network-docker.sh`) +- MCP kanal köprüsü (seed edilmiş Gateway + stdio köprüsü + ham Claude bildirim-frame smoke): `pnpm test:docker:mcp-channels` (betik: `scripts/e2e/mcp-channels-docker.sh`) +- Eklentiler (kurulum smoke + `/plugin` takma adı + Claude paketi yeniden başlatma semantiği): `pnpm test:docker:plugins` (betik: `scripts/e2e/plugins-docker.sh`) -Canlı model Docker çalıştırıcıları ayrıca mevcut checkout’u yalnızca okunur olarak bind-mount eder ve -konteyner içinde geçici bir çalışma dizinine hazırlar. Bu, çalışma zamanı -imajını ince tutarken yine de Vitest’i tam olarak yerel kaynak/config’inize karşı çalıştırır. -Hazırlama adımı `.pnpm-store`, `.worktrees`, `__openclaw_vitest__` ve uygulamaya özel `.build` veya -Gradle çıktı dizinleri gibi büyük yalnızca yerel önbellekleri ve uygulama derleme çıktılarını atlar; böylece Docker canlı çalıştırmaları makineye özgü yapıtları -dakikalarca kopyalamaz. -Ayrıca `OPENCLAW_SKIP_CHANNELS=1` ayarlarlar; böylece Gateway canlı probe’ları -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 nedenle bu Docker hattında Gateway canlı kapsamını daraltmanız veya hariç tutmanız gerektiğinde +Canlı model Docker çalıştırıcıları ayrıca mevcut checkout’u salt okunur olarak bind-mount eder ve +bunu container içinde geçici bir workdir’e hazırlar. Bu, çalışma zamanı +image’ını ince tutarken yine de Vitest’i tam olarak yerel kaynak/yapılandırmanızla çalıştırır. +Hazırlama adımı, büyük yerel önbellekleri ve uygulama derleme çıktıları gibi +yalnızca makineye özgü artifact’ları kopyalayarak Docker canlı çalıştırmalarının dakikalar +harcamasını önlemek için `.pnpm-store`, `.worktrees`, `__openclaw_vitest__` ve uygulamaya özgü `.build` veya +Gradle çıktı dizinleri gibi büyük yerel-only önbellekleri ve uygulama derleme çıktıları atlar. +Ayrıca `OPENCLAW_SKIP_CHANNELS=1` ayarlar; böylece gateway canlı probe’ları +container içinde gerçek Telegram/Discord/vb. kanal worker’larını başlatmaz. +`test:docker:live-models` yine de `pnpm test:live` çalıştırır; bu nedenle +bu Docker hattından gateway canlı kapsamını daraltmanız veya hariç tutmanız gerektiğinde `OPENCLAW_LIVE_GATEWAY_*` değişkenlerini de iletin. -`test:docker:openwebui`, daha üst düzey bir uyumluluk smoke testidir: OpenAI uyumlu HTTP uç noktaları etkin olan 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` yolunun `openclaw/default` değerini sunduğunu doğrular, ardından +`test:docker:openwebui`, daha üst düzey bir uyumluluk smoke testidir: OpenAI uyumlu HTTP uç noktaları etkin bir +OpenClaw gateway container’ı başlatır, bu gateway’e karşı sabitlenmiş bir Open WebUI container’ı başlatır, Open WebUI üzerinden +oturum açar, `/api/models` uç noktasının `openclaw/default` öğesini 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 gerekebilir ve Open WebUI’nin de kendi soğuk başlatma kurulumunu tamamlaması gerekebilir. -Bu hat kullanılabilir bir canlı model anahtarı bekler ve Docker’laştırılmış çalıştırmalarda bunu sağlamak için birincil yol -`OPENCLAW_PROFILE_FILE` (`varsayılan olarak ~/.profile`) değeridir. +İlk çalıştırma belirgin biçimde daha yavaş olabilir; çünkü Docker’ın +Open WebUI image’ını çekmesi gerekebilir ve Open WebUI’nin kendi cold-start kurulumunu tamamlaması gerekebilir. +Bu hat kullanılabilir bir canlı model anahtarı bekler ve `OPENCLAW_PROFILE_FILE` +(Docker içinde çalıştırmalarda varsayılan olarak `~/.profile`) bunu sağlamak için birincil yoldur. Başarılı çalıştırmalar `{ "ok": true, "model": "openclaw/default", ... }` gibi küçük bir JSON yükü 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 -konteyneri başlatır, `openclaw mcp serve` oluşturan ikinci bir konteyner başlatır, ardından -yönlendirilmiş konuşma keşfini, kayıt dökümü okumalarını, ek meta verilerini, +Telegram, Discord veya iMessage hesabı gerektirmez. Seed edilmiş bir Gateway +container’ı başlatır, `openclaw mcp serve` başlatan ikinci bir container çalıştırır, ardından +gerçek stdio MCP köprüsü üzerinden yönlendirilmiş konuşma keşfini, döküm okumalarını, ek meta verilerini, canlı olay kuyruğu davranışını, giden gönderim yönlendirmesini ve Claude tarzı kanal + -izin bildirimlerini gerçek stdio MCP köprüsü üzerinden doğrular. Bildirim denetimi -ham stdio MCP çerçevelerini doğrudan inceler; böylece smoke testi belirli bir istemci SDK’sının tesadüfen ortaya çıkardığını değil, +izin bildirimlerini doğrular. Bildirim denetimi ham stdio MCP frame’lerini doğrudan +inceler; böylece smoke testi, belirli bir istemci SDK’sının tesadüfen yüzeye çıkardığını değil, köprünün gerçekten ne yaydığını doğrular. -Manuel ACP sade dil thread smoke testi (CI değil): +Elle ACP düz dil thread smoke testi (CI değil): - `bun scripts/dev/discord-acp-plain-language-smoke.ts --channel ...` -- Bu betiği regresyon/hata ayıklama iş akışları için saklayın. ACP thread yönlendirme doğrulaması için tekrar gerekebilir, bu yüzden silmeyin. +- Bu betiği regresyon/hata ayıklama iş akışları için saklayın. ACP thread yönlendirme doğrulaması için yeniden gerekebilir, bu yüzden silmeyin. -Yararlı ortam değişkenleri: +Yararlı env değişkenleri: -- `OPENCLAW_CONFIG_DIR=...` (varsayılan: `~/.openclaw`) `/home/node/.openclaw` dizinine bağlanır -- `OPENCLAW_WORKSPACE_DIR=...` (varsayılan: `~/.openclaw/workspace`) `/home/node/.openclaw/workspace` dizinine bağlanır -- `OPENCLAW_PROFILE_FILE=...` (varsayılan: `~/.profile`) `/home/node/.profile` dosyasına bağlanır ve testler çalıştırılmadan önce kaynak olarak yüklenir -- `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` dizinine bağlanır -- `$HOME` altındaki harici CLI kimlik doğrulama dizinleri/dosyaları `/host-auth...` altına salt okunur olarak bağlanır, ardından testler başlamadan önce `/home/node/...` içine kopyalanır +- `OPENCLAW_CONFIG_DIR=...` (varsayılan: `~/.openclaw`), `/home/node/.openclaw` konumuna bağlanır +- `OPENCLAW_WORKSPACE_DIR=...` (varsayılan: `~/.openclaw/workspace`), `/home/node/.openclaw/workspace` konumuna bağlanır +- `OPENCLAW_PROFILE_FILE=...` (varsayılan: `~/.profile`), `/home/node/.profile` konumuna bağlanır ve testler çalıştırılmadan önce kaynağı alınır +- Yalnızca `OPENCLAW_PROFILE_FILE` içinden kaynak alınan env değişkenlerini doğrulamak için `OPENCLAW_DOCKER_PROFILE_ENV_ONLY=1`; geçici yapılandırma/çalışma alanı dizinleri ve harici CLI kimlik doğrulama bağlamaları kullanılmaz +- `OPENCLAW_DOCKER_CLI_TOOLS_DIR=...` (varsayılan: `~/.cache/openclaw/docker-cli-tools`), Docker içindeki önbelleklenmiş CLI kurulumları için `/home/node/.npm-global` konumuna bağlanır +- `$HOME` altındaki harici CLI kimlik doğrulama dizinleri/dosyaları, `/host-auth...` altında salt okunur bağlanır, sonra 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ış sağlayıcı çalıştırmaları yalnızca `OPENCLAW_LIVE_PROVIDERS` / `OPENCLAW_LIVE_GATEWAY_PROVIDERS` üzerinden çıkarılan gerekli dizinleri/dosyaları bağlar + - Daraltılmış sağlayıcı çalıştırmaları yalnızca `OPENCLAW_LIVE_PROVIDERS` / `OPENCLAW_LIVE_GATEWAY_PROVIDERS` değerlerinden çıkarılan gerekli dizinleri/dosyaları bağlar - Elle geçersiz kılmak için `OPENCLAW_DOCKER_AUTH_DIRS=all`, `OPENCLAW_DOCKER_AUTH_DIRS=none` veya `OPENCLAW_DOCKER_AUTH_DIRS=.claude,.codex` gibi virgüllü bir liste kullanın - Çalıştırmayı daraltmak için `OPENCLAW_LIVE_GATEWAY_MODELS=...` / `OPENCLAW_LIVE_MODELS=...` -- Konteyner içinde sağlayıcıları filtrelemek için `OPENCLAW_LIVE_GATEWAY_PROVIDERS=...` / `OPENCLAW_LIVE_PROVIDERS=...` -- Yeniden derleme gerektirmeyen tekrar çalıştırmalar için mevcut `openclaw:local-live` imajını yeniden kullanmak amacıyla `OPENCLAW_SKIP_DOCKER_BUILD=1` +- Container içinde sağlayıcıları filtrelemek için `OPENCLAW_LIVE_GATEWAY_PROVIDERS=...` / `OPENCLAW_LIVE_PROVIDERS=...` +- Yeniden derleme gerektirmeyen tekrar çalıştırmalarda mevcut `openclaw:local-live` image’ı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 smoke testi için Gateway tarafından sunulan modeli seçmek amacıyla `OPENCLAW_OPENWEBUI_MODEL=...` -- Open WebUI smoke testinin kullandığı nonce denetim prompt’unu geçersiz kılmak için `OPENCLAW_OPENWEBUI_PROMPT=...` -- Sabitlenmiş Open WebUI imaj etiketini geçersiz kılmak için `OPENWEBUI_IMAGE=...` +- Open WebUI smoke için gateway tarafından sunulan modeli seçmek üzere `OPENCLAW_OPENWEBUI_MODEL=...` +- Open WebUI smoke tarafından kullanılan nonce denetim prompt’unu geçersiz kılmak için `OPENCLAW_OPENWEBUI_PROMPT=...` +- Sabitlenmiş Open WebUI image etiketini geçersiz kılmak için `OPENWEBUI_IMAGE=...` -## Doküman tutarlılığı +## Belgeler için sağlık kontrolü -Belge düzenlemelerinden sonra docs denetimlerini çalıştırın: `pnpm check:docs`. +Belge düzenlemelerinden sonra belge denetimlerini çalıştırın: `pnpm check:docs`. Sayfa içi başlık denetimlerine de ihtiyaç duyduğunuzda tam Mintlify anchor doğrulamasını çalıştırın: `pnpm docs:check-links:anchors`. -## Çevrimdışı regresyon (CI-safe) +## Çevrimdışı regresyon (CI güvenli) -Bunlar gerçek sağlayıcılar olmadan “gerçek hat” regresyonlarıdır: +Bunlar gerçek sağlayıcılar olmadan “gerçek işlem hattı” regresyonlarıdır: -- Gateway araç çağırma (sahte OpenAI, gerçek Gateway + agent döngüsü): `src/gateway/gateway.test.ts` (durum: "runs a mock OpenAI tool call end-to-end via gateway agent loop") -- Gateway sihirbazı (WS `wizard.start`/`wizard.next`, config + auth yazımı zorunlu): `src/gateway/gateway.test.ts` (durum: "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` (durum: "runs a mock OpenAI tool call end-to-end via gateway agent loop") +- Gateway sihirbazı (WS `wizard.start`/`wizard.next`, yapılandırma + kimlik doğrulama zorunlu olarak yazar): `src/gateway/gateway.test.ts` (durum: "runs wizard over ws and writes auth token config") -## Agent güvenilirliği değerlendirmeleri (Skills) +## Agent güvenilirlik değerlendirmeleri (Skills) -Zaten “agent güvenilirliği değerlendirmeleri” gibi davranan birkaç CI-safe testimiz var: +CI açısından güvenli ve “agent güvenilirlik değerlendirmeleri” gibi davranan birkaç testimiz zaten var: -- Gerçek Gateway + agent döngüsü üzerinden sahte araç çağırma (`src/gateway/gateway.test.ts`). -- Oturum kablolamasını ve config etkilerini doğrulayan uçtan uca sihirbaz akış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 ([Skills](/tr/tools/skills) bölümüne bakın): +Skills için hâlâ eksik olanlar (bkz. [Skills](/tr/tools/skills)): -- **Karar verme:** Skills prompt içinde listelendiğinde, agent doğru Skill’i seçiyor mu (veya ilgisiz olanlardan kaçınıyor mu)? -- **Uyumluluk:** agent kullanımdan önce `SKILL.md` dosyasını okuyor mu ve gerekli adımları/argümanları izliyor mu? -- **İş akışı sözleşmeleri:** araç sırasını, oturum geçmişi devralımını ve sandbox sınırlarını doğrulayan çok turlu senaryolar. +- **Karar verme:** prompt içinde 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ı okuyor ve gerekli adımları/argümanları takip ediyor mu? +- **İş akışı sözleşmeleri:** araç sırasını, oturum geçmişi devrini ve sandbox sınırlarını doğrulayan çok turlu senaryolar. Gelecekteki değerlendirmeler önce deterministik kalmalıdır: - Araç çağrılarını + sırasını, Skill dosyası okumalarını ve oturum kablolamasını doğrulamak için sahte sağlayıcılar kullanan bir senaryo çalıştırıcısı. - Skill odaklı küçük bir senaryo paketi (kullan vs kaçın, geçitleme, prompt injection). -- İsteğe bağlı canlı değerlendirmeler (env ile geçitlenen), yalnızca CI-safe paket yerleştirildikten sonra. +- Yalnızca CI güvenli paket yerleştiğinde isteğe bağlı canlı değerlendirmeler (opt-in, env ile geçitlenen). -## Sözleşme testleri (plugin ve kanal şekli) +## Sözleşme testleri (eklenti ve kanal şekli) -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ış doğrulamalarından oluşan bir paket çalıştırır. Varsayılan `pnpm test` unit hattı bu paylaşılan dikiş ve smoke dosyalarını -özellikle atlar; paylaşılan kanal veya sağlayıcı yüzeylerine dokunduğunuzda sözleşme komutlarını -açıkça çalıştırın. +Sözleşme testleri, kaydedilmiş her eklenti ve kanalın kendi +arayüz sözleşmesine uyduğunu doğrular. Keşfedilen tüm eklentiler üzerinde yineleme yapar +ve bir dizi şekil ile davranış doğrulaması çalıştırır. Varsayılan `pnpm test` birim hattı +bu paylaşılan dikiş ve smoke dosyalarını bilerek atlar; paylaşılan kanal veya sağlayıcı yüzeylerine +dokunduğunuzda sözleşme komutlarını açıkça çalıştırın. ### Komutlar @@ -951,55 +954,55 @@ açıkça çalıştırın. ### Kanal sözleşmeleri -`src/channels/plugins/contracts/*.contract.test.ts` konumunda bulunur: +`src/channels/plugins/contracts/*.contract.test.ts` konumundadır: -- **plugin** - Temel plugin şekli (id, name, capabilities) +- **plugin** - Temel eklenti şekli (id, name, capabilities) - **setup** - Kurulum sihirbazı sözleşmesi - **session-binding** - Oturum bağlama davranışı - **outbound-payload** - Mesaj yükü yapısı - **inbound** - Gelen mesaj işleme - **actions** - Kanal eylem işleyicileri -- **threading** - Thread ID işleme +- **threading** - Thread kimliği işleme - **directory** - Dizin/roster API -- **group-policy** - Grup politikası zorlaması +- **group-policy** - Grup ilkesi uygulaması ### Sağlayıcı durum sözleşmeleri -`src/plugins/contracts/*.contract.test.ts` konumunda bulunur. +`src/plugins/contracts/*.contract.test.ts` konumundadır. -- **status** - Kanal durum probe’ları -- **registry** - Plugin kayıt defteri şekli +- **status** - Kanal durum yoklamaları +- **registry** - Eklenti kayıt defteri şekli ### Sağlayıcı sözleşmeleri -`src/plugins/contracts/*.contract.test.ts` konumunda bulunur: +`src/plugins/contracts/*.contract.test.ts` konumundadır: - **auth** - Kimlik doğrulama akışı sözleşmesi -- **auth-choice** - Kimlik doğrulama seçimi/tercihi +- **auth-choice** - Kimlik doğrulama seçimi/seçim mantığı - **catalog** - Model katalog API’si -- **discovery** - Plugin keşfi -- **loader** - Plugin yükleme +- **discovery** - Eklenti keşfi +- **loader** - Eklenti yükleme - **runtime** - Sağlayıcı çalışma zamanı -- **shape** - Plugin şekli/arayüzü +- **shape** - Eklenti şekli/arayüzü - **wizard** - Kurulum sihirbazı ### Ne zaman çalıştırılmalı -- `plugin-sdk` dışa aktarımlarını veya alt yollarını değiştirdikten sonra -- Bir kanal veya sağlayıcı plugin’i ekledikten ya da değiştirdikten sonra -- Plugin kaydı veya keşfini yeniden düzenledikten sonra +- plugin-sdk dışa aktarımlarını veya alt yollarını değiştirdikten sonra +- Bir kanal veya sağlayıcı eklentisi ekledikten ya da değiştirdikten sonra +- Eklenti kaydı veya keşfini yeniden düzenledikten sonra Sözleşme testleri CI’da çalışır ve gerçek API anahtarları gerektirmez. ## Regresyon ekleme (rehber) -Canlı testlerde keşfedilen bir sağlayıcı/model sorununu düzelttiğinizde: +Canlıda keşfedilen bir sağlayıcı/model sorununu düzelttiğinizde: -- Mümkünse CI-safe bir regresyon ekleyin (sahte/stub sağlayıcı ya da tam istek-şekli dönüşümünü yakalayın) -- Sorun doğası gereği yalnızca canlıysa (oran sınırları, kimlik doğrulama politikaları), canlı testi dar ve env değişkenleriyle isteğe bağlı tutun +- Mümkünse CI güvenli bir regresyon ekleyin (sahte/stub sağlayıcı veya tam istek-şekli dönüşümünü yakalayın) +- Doğası gereği yalnızca canlıda yeniden üretilebiliyorsa (rate limit’ler, kimlik doğrulama ilkeleri), canlı testi dar ve env değişkenleriyle opt-in tutun - Hatayı yakalayan en küçük katmanı hedeflemeyi tercih edin: - sağlayıcı istek dönüştürme/replay hatası → doğrudan modeller testi - - Gateway oturum/geçmiş/araç hattı hatası → Gateway canlı smoke veya CI-safe Gateway mock testi -- SecretRef traversal guardrail: - - `src/secrets/exec-secret-ref-id-parity.test.ts`, kayıt defteri meta verisinden (`listSecretTargetRegistryEntries()`) SecretRef sınıfı başına örneklenmiş bir hedef türetir, ardından traversal segment exec kimliklerinin reddedildiğini doğrular. - - `src/secrets/target-registry-data.ts` içine yeni bir `includeInPlan` SecretRef hedef ailesi eklerseniz, bu testte `classifyTargetClass` işlevini güncelleyin. Test, sınıflandırılmamış hedef kimliklerinde kasıtlı olarak başarısız olur; böylece yeni sınıflar sessizce atlanamaz. + - gateway oturum/geçmiş/araç işlem hattı hatası → gateway canlı smoke veya CI güvenli gateway sahte testi +- SecretRef gezinme koruma kuralı: + - `src/secrets/exec-secret-ref-id-parity.test.ts`, kayıt defteri meta verilerinden (`listSecretTargetRegistryEntries()`) SecretRef sınıfı başına örneklenmiş bir hedef türetir, ardından gezinme bölümü exec kimliklerinin reddedildiğini doğrular. + - `src/secrets/target-registry-data.ts` içine 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 kimliklerinde kasıtlı olarak başarısız olur. diff --git a/docs/tr/providers/github-copilot.md b/docs/tr/providers/github-copilot.md index 94d0aeb4f..f14fca89e 100644 --- a/docs/tr/providers/github-copilot.md +++ b/docs/tr/providers/github-copilot.md @@ -1,40 +1,35 @@ --- read_when: - - GitHub Copilot'u model sağlayıcısı olarak kullanmak istiyorsunuz + - GitHub Copilot’u bir model sağlayıcısı olarak kullanmak istiyorsunuz - '`openclaw models auth login-github-copilot` akışına ihtiyacınız var' summary: Cihaz akışını kullanarak OpenClaw içinden GitHub Copilot'ta oturum açın title: GitHub Copilot x-i18n: - generated_at: "2026-04-12T23:30:37Z" + generated_at: "2026-04-15T14:40:31Z" model: gpt-5.4 provider: openai - source_hash: 51fee006e7d4e78e37b0c29356b0090b132de727d99b603441767d3fb642140b + source_hash: b8258fecff22fb73b057de878462941f6eb86d0c5f775c5eac4840e95ba5eccf source_path: providers/github-copilot.md workflow: 15 --- # GitHub Copilot -GitHub Copilot, GitHub'ın AI kodlama yardımcısıdır. GitHub hesabınız ve planınız için Copilot -modellerine erişim sağlar. OpenClaw, Copilot'u iki farklı şekilde model -sağlayıcısı olarak kullanabilir. +GitHub Copilot, GitHub'ın yapay zeka destekli kodlama yardımcısıdır. GitHub hesabınız ve planınız için Copilot modellerine erişim sağlar. OpenClaw, Copilot’u iki farklı şekilde bir model sağlayıcısı olarak kullanabilir. ## OpenClaw içinde Copilot kullanmanın iki yolu - Yerel cihaz giriş akışını kullanarak bir GitHub token alın, ardından OpenClaw çalışırken bunu - Copilot API token'larıyla değiş tokuş edin. Bu, **varsayılan** ve en basit yoldur - çünkü VS Code gerektirmez. + Bir GitHub token’ı almak için yerel cihaz oturum açma akışını kullanın, ardından OpenClaw çalıştığında bunu Copilot API token’larıyla değiştirin. Bu **varsayılan** ve en basit yoldur çünkü VS Code gerektirmez. - + ```bash openclaw models auth login-github-copilot ``` - Sizden bir URL'yi ziyaret etmeniz ve tek kullanımlık bir kod girmeniz istenir. Tamamlanana kadar - terminali açık tutun. + Bir URL’yi ziyaret etmeniz ve tek kullanımlık bir kod girmeniz istenir. İşlem tamamlanana kadar terminali açık tutun. ```bash @@ -54,12 +49,10 @@ sağlayıcısı olarak kullanabilir. - **Copilot Proxy** VS Code uzantısını yerel bir köprü olarak kullanın. OpenClaw, - proxy'nin `/v1` uç noktasıyla konuşur ve orada yapılandırdığınız model listesini kullanır. + Yerel bir köprü olarak **Copilot Proxy** VS Code uzantısını kullanın. OpenClaw, proxy’nin `/v1` uç noktasıyla konuşur ve orada yapılandırdığınız model listesini kullanır. - Bunu, VS Code içinde zaten Copilot Proxy çalıştırıyorsanız veya trafiği onun - üzerinden yönlendirmeniz gerekiyorsa seçin. Plugin'i etkinleştirmeniz ve VS Code uzantısını çalışır durumda tutmanız gerekir. + Bunu, VS Code içinde zaten Copilot Proxy çalıştırıyorsanız veya trafiği onun üzerinden yönlendirmeniz gerekiyorsa seçin. Plugin’i etkinleştirmeniz ve VS Code uzantısını çalışır durumda tutmanız gerekir. @@ -67,72 +60,96 @@ sağlayıcısı olarak kullanabilir. ## İsteğe bağlı bayraklar -| Bayrak | Açıklama | -| -------------- | ---------------------------------------------------- | -| `--yes` | Onay istemini atlar | -| `--set-default` | Sağlayıcının önerilen varsayılan modelini de uygular | +| Bayrak | Açıklama | +| --------------- | ------------------------------------------------- | +| `--yes` | Onay istemini atla | +| `--set-default` | Sağlayıcının önerilen varsayılan modelini de uygula | ```bash # Onayı atla openclaw models auth login-github-copilot --yes -# Tek adımda giriş yap ve varsayılan modeli ayarla +# Oturum aç ve varsayılan modeli tek adımda ayarla openclaw models auth login --provider github-copilot --method device --set-default ``` - - Cihaz giriş akışı etkileşimli bir TTY gerektirir. Bunu etkileşimsiz bir betikte veya CI işlem hattında değil, - doğrudan bir terminalde çalıştırın. + + Cihazla oturum açma akışı etkileşimli bir TTY gerektirir. Bunu etkileşimsiz bir betikte veya CI işlem hattında değil, doğrudan bir terminalde çalıştırın. - Copilot model kullanılabilirliği GitHub planınıza bağlıdır. Bir model - reddedilirse başka bir kimlik deneyin (örneğin `github-copilot/gpt-4.1`). + Copilot model kullanılabilirliği GitHub planınıza bağlıdır. Bir model reddedilirse başka bir kimlik deneyin (örneğin `github-copilot/gpt-4.1`). - Claude model kimlikleri Anthropic Messages taşımasını otomatik olarak kullanır. GPT, - o-serisi ve Gemini modelleri OpenAI Responses taşımasını korur. OpenClaw, - model başvurusuna göre doğru taşımayı seçer. + Claude model kimlikleri Anthropic Messages taşımasını otomatik olarak kullanır. GPT, o-series ve Gemini modelleri OpenAI Responses taşımasını kullanmaya devam eder. OpenClaw, model başvurusuna göre doğru taşıma türünü seçer. - OpenClaw, Copilot kimlik doğrulamasını ortam değişkenlerinden şu - öncelik sırasıyla çözümler: + OpenClaw, Copilot kimlik doğrulamasını aşağıdaki öncelik sırasına göre ortam değişkenlerinden çözümler: | Öncelik | Değişken | Notlar | | -------- | --------------------- | ---------------------------------- | - | 1 | `COPILOT_GITHUB_TOKEN` | En yüksek öncelik, Copilot'a özgü | - | 2 | `GH_TOKEN` | GitHub CLI token'ı (yedek) | - | 3 | `GITHUB_TOKEN` | Standart GitHub token'ı (en düşük) | + | 1 | `COPILOT_GITHUB_TOKEN` | En yüksek öncelik, Copilot’a özel | + | 2 | `GH_TOKEN` | GitHub CLI token’ı (yedek) | + | 3 | `GITHUB_TOKEN` | Standart GitHub token’ı (en düşük) | Birden fazla değişken ayarlandığında OpenClaw en yüksek öncelikli olanı kullanır. - Cihaz giriş akışı (`openclaw models auth login-github-copilot`), - token'ını kimlik doğrulama profil deposunda saklar ve tüm ortam - değişkenlerinden önceliklidir. + Cihazla oturum açma akışı (`openclaw models auth login-github-copilot`), token’ını auth profil deposunda saklar ve tüm ortam değişkenlerinden önceliklidir. - Giriş, bir GitHub token'ını kimlik doğrulama profil deposunda saklar ve OpenClaw çalışırken bunu - bir Copilot API token'ıyla değiş tokuş eder. Token'ı - elle yönetmeniz gerekmez. + Oturum açma işlemi bir GitHub token’ını auth profil deposunda saklar ve OpenClaw çalıştığında bunu bir Copilot API token’ı ile değiştirir. Token’ı elle yönetmeniz gerekmez. -Etkileşimli bir TTY gerektirir. Giriş komutunu __OC_I18N_900000__ doğrudan bir terminalde çalıştırın, -headless bir betik veya CI işi içinde değil. +Etkileşimli bir TTY gerekir. Oturum açma komutunu headless bir betik veya CI işi içinde değil, doğrudan bir terminalde çalıştırın. +## Bellek arama gömmeleri + +GitHub Copilot, [bellek araması](/tr/concepts/memory-search) için bir gömme sağlayıcısı olarak da kullanılabilir. Bir Copilot aboneliğiniz varsa ve oturum açtıysanız OpenClaw, ayrı bir API anahtarı olmadan bunu gömmeler için kullanabilir. + +### Otomatik algılama + +`memorySearch.provider` değeri `"auto"` olduğunda (varsayılan), GitHub Copilot öncelik 15 ile denenir -- yerel gömmelerden sonra, ancak OpenAI ve diğer ücretli sağlayıcılardan önce. Bir GitHub token’ı mevcutsa OpenClaw, Copilot API’sinden kullanılabilir gömme modellerini keşfeder ve en iyisini otomatik olarak seçer. + +### Açık yapılandırma + +```json5 +{ + agents: { + defaults: { + memorySearch: { + provider: "github-copilot", + // İsteğe bağlı: otomatik keşfedilen modeli geçersiz kıl + model: "text-embedding-3-small", + }, + }, + }, +} +``` + +### Nasıl çalışır + +1. OpenClaw GitHub token’ınızı çözümler (ortam değişkenlerinden veya auth profilinden). +2. Bunu kısa ömürlü bir Copilot API token’ı ile değiştirir. +3. Kullanılabilir gömme modellerini keşfetmek için Copilot `/models` uç noktasını sorgular. +4. En iyi modeli seçer (`text-embedding-3-small` tercih edilir). +5. Gömme isteklerini Copilot `/embeddings` uç noktasına gönderir. + +Model kullanılabilirliği GitHub planınıza bağlıdır. Hiç gömme modeli yoksa OpenClaw, Copilot’u atlar ve bir sonraki sağlayıcıyı dener. + ## İlgili - Sağlayıcıları, model başvurularını ve devralma davranışını seçme. + Sağlayıcıları, model başvurularını ve yük devretme davranışını seçme. - Kimlik doğrulama ayrıntıları ve kimlik bilgisi yeniden kullanma kuralları. + Kimlik doğrulama ayrıntıları ve kimlik bilgisi yeniden kullanım kuralları. diff --git a/docs/tr/providers/ollama.md b/docs/tr/providers/ollama.md index 6da8d4af1..716465025 100644 --- a/docs/tr/providers/ollama.md +++ b/docs/tr/providers/ollama.md @@ -1,24 +1,24 @@ --- read_when: - - OpenClaw’ı Ollama üzerinden cloud veya yerel modellerle çalıştırmak istiyorsunuz - - Ollama kurulumu ve yapılandırma rehberine ihtiyacınız var -summary: OpenClaw’ı Ollama ile çalıştırın (cloud ve yerel modeller) + - OpenClaw’ı Ollama üzerinden bulut veya yerel modellerle çalıştırmak istiyorsunuz + - Ollama kurulum ve yapılandırma rehberine ihtiyacınız var +summary: OpenClaw’ı Ollama ile çalıştırın (bulut ve yerel modeller) title: Ollama x-i18n: - generated_at: "2026-04-12T23:31:57Z" + generated_at: "2026-04-15T14:40:56Z" model: gpt-5.4 provider: openai - source_hash: ec796241b884ca16ec7077df4f3f1910e2850487bb3ea94f8fdb37c77e02b219 + source_hash: 098e083e0fc484bddb5270eb630c55d7832039b462d1710372b6afece5cefcdf source_path: providers/ollama.md workflow: 15 --- # Ollama -Ollama, makinenizde açık kaynak modelleri çalıştırmayı kolaylaştıran yerel bir LLM çalışma zamanıdır. OpenClaw, Ollama’nın yerel API’siyle (`/api/chat`) bütünleşir, akışı ve araç çağırmayı destekler ve `OLLAMA_API_KEY` (veya bir kimlik doğrulama profili) ile açıkça bir `models.providers.ollama` girdisi tanımlamadığınızda yerel Ollama modellerini otomatik keşfedebilir. +OpenClaw, barındırılan bulut modelleri ve yerel/kendi barındırdığınız Ollama sunucuları için Ollama’nın yerel API’si (`/api/chat`) ile entegre olur. Ollama’yı üç modda kullanabilirsiniz: erişilebilir bir Ollama ana makinesi üzerinden `Bulut + Yerel`, `https://ollama.com` karşısında `Yalnızca Bulut` veya erişilebilir bir Ollama ana makinesi karşısında `Yalnızca Yerel`. -**Uzak Ollama kullanıcıları**: OpenClaw ile `/v1` OpenAI uyumlu URL’yi (`http://host:11434/v1`) kullanmayın. Bu, araç çağırmayı bozar ve modeller düz metin olarak ham araç JSON’u üretebilir. Bunun yerine yerel Ollama API URL’sini kullanın: `baseUrl: "http://host:11434"` (`/v1` olmadan). +**Uzak Ollama kullanıcıları**: OpenClaw ile `/v1` OpenAI uyumlu URL’yi (`http://host:11434/v1`) kullanmayın. Bu, araç çağırmayı bozar ve modeller ham araç JSON’unu düz metin olarak çıkarabilir. Bunun yerine yerel Ollama API URL’sini kullanın: `baseUrl: "http://host:11434"` (`/v1` olmadan). ## Başlarken @@ -26,27 +26,26 @@ Ollama, makinenizde açık kaynak modelleri çalıştırmayı kolaylaştıran ye Tercih ettiğiniz kurulum yöntemini ve modu seçin. - - **En uygunu:** otomatik model keşfiyle çalışan bir Ollama kurulumu için en hızlı yol. + + **Şunun için en iyisi:** çalışan bir Ollama bulut veya yerel kurulumuna en hızlı yol. - + ```bash openclaw onboard ``` - Provider listesinden **Ollama** seçin. + Sağlayıcı listesinden **Ollama** seçin. - - **Cloud + Local** — cloud barındırılan modeller ve yerel modeller birlikte - - **Local** — yalnızca yerel modeller - - **Cloud + Local** seçerseniz ve ollama.com üzerinde oturum açmamışsanız, onboarding tarayıcıda bir oturum açma akışı açar. + - **Bulut + Yerel** — yerel Ollama ana makinesi artı bu ana makine üzerinden yönlendirilen bulut modelleri + - **Yalnızca Bulut** — `https://ollama.com` üzerinden barındırılan Ollama modelleri + - **Yalnızca Yerel** — yalnızca yerel modeller - Onboarding, kullanılabilir modelleri keşfeder ve varsayılanlar önerir. Seçilen model yerelde mevcut değilse otomatik olarak çeker. + `Yalnızca Bulut`, `OLLAMA_API_KEY` ister ve barındırılan bulut varsayılanlarını önerir. `Bulut + Yerel` ve `Yalnızca Yerel`, bir Ollama temel URL’si ister, kullanılabilir modelleri keşfeder ve seçilen yerel model henüz mevcut değilse bunu otomatik olarak çeker. `Bulut + Yerel`, ayrıca o Ollama ana makinesinin bulut erişimi için oturum açıp açmadığını da denetler. - + ```bash openclaw models list --provider ollama ``` @@ -61,7 +60,7 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. --accept-risk ``` - İsteğe bağlı olarak özel bir base URL veya model belirtebilirsiniz: + İsteğe bağlı olarak özel bir temel URL veya model belirtebilirsiniz: ```bash openclaw onboard --non-interactive \ @@ -74,13 +73,15 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. - **En uygunu:** kurulum, model çekme ve yapılandırma üzerinde tam kontrol. + **Şunun için en iyisi:** bulut veya yerel kurulum üzerinde tam denetim. - - [ollama.com/download](https://ollama.com/download) adresinden indirin. + + - **Bulut + Yerel**: Ollama’yı kurun, `ollama signin` ile oturum açın ve bulut isteklerini bu ana makine üzerinden yönlendirin + - **Yalnızca Bulut**: `https://ollama.com` adresini bir `OLLAMA_API_KEY` ile kullanın + - **Yalnızca Yerel**: Ollama’yı [ollama.com/download](https://ollama.com/download) adresinden kurun - + ```bash ollama pull gemma4 # veya @@ -89,22 +90,18 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. ollama pull llama3.3 ``` - - Cloud modelleri de istiyorsanız: + + `Yalnızca Bulut` için gerçek `OLLAMA_API_KEY` değerinizi kullanın. Ana makine destekli kurulumlarda herhangi bir yer tutucu değer işe yarar: ```bash - ollama signin - ``` - - - API anahtarı için herhangi bir değer ayarlayın (Ollama gerçek bir anahtar gerektirmez): + # Bulut + export OLLAMA_API_KEY="your-ollama-api-key" - ```bash - # Ortam değişkeni ayarlayın + # Yalnızca yerel export OLLAMA_API_KEY="ollama-local" - # Veya yapılandırma dosyanızda ayarlayın - openclaw config set models.providers.ollama.apiKey "ollama-local" + # Veya yapılandırma dosyanızda yapılandırın + openclaw config set models.providers.ollama.apiKey "OLLAMA_API_KEY" ``` @@ -130,56 +127,61 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. -## Cloud modeller +## Bulut modelleri - - Cloud modeller, yerel modellerinizin yanında cloud barındırılan modelleri çalıştırmanıza olanak tanır. Örnekler arasında `kimi-k2.5:cloud`, `minimax-m2.7:cloud` ve `glm-5.1:cloud` bulunur -- bunlar yerel bir `ollama pull` gerektirmez. + + `Bulut + Yerel`, hem yerel hem de bulut modelleri için denetim noktası olarak erişilebilir bir Ollama ana makinesi kullanır. Bu, Ollama’nın tercih ettiği hibrit akıştır. - Kurulum sırasında **Cloud + Local** modunu seçin. Sihirbaz, oturum açıp açmadığınızı denetler ve gerektiğinde tarayıcıda bir oturum açma akışı açar. Kimlik doğrulama doğrulanamazsa sihirbaz yerel model varsayılanlarına geri döner. + Kurulum sırasında **Bulut + Yerel** seçeneğini kullanın. OpenClaw, Ollama temel URL’sini ister, o ana makineden yerel modelleri keşfeder ve ana makinenin `ollama signin` ile bulut erişimi için oturum açıp açmadığını denetler. Ana makine oturum açmışsa OpenClaw ayrıca `kimi-k2.5:cloud`, `minimax-m2.7:cloud` ve `glm-5.1:cloud` gibi barındırılan bulut varsayılanlarını da önerir. - Doğrudan [ollama.com/signin](https://ollama.com/signin) adresinden de oturum açabilirsiniz. - - OpenClaw şu anda şu cloud varsayılanlarını önerir: `kimi-k2.5:cloud`, `minimax-m2.7:cloud`, `glm-5.1:cloud`. + Ana makine henüz oturum açmadıysa OpenClaw, siz `ollama signin` çalıştırana kadar kurulumu yalnızca yerel olarak tutar. - - Yalnızca yerel modda OpenClaw, modelleri yerel Ollama örneğinden keşfeder. Cloud oturum açma gerekmez. + + `Yalnızca Bulut`, Ollama’nın `https://ollama.com` adresindeki barındırılan API’sine karşı çalışır. + + Kurulum sırasında **Yalnızca Bulut** seçeneğini kullanın. OpenClaw, `OLLAMA_API_KEY` ister, `baseUrl: "https://ollama.com"` ayarlar ve barındırılan bulut model listesini tohumlar. Bu yol, yerel bir Ollama sunucusu veya `ollama signin` gerektirmez. + + + + + Yalnızca yerel modda OpenClaw, yapılandırılmış Ollama örneğinden modelleri keşfeder. Bu yol, yerel veya kendi barındırdığınız Ollama sunucuları içindir. OpenClaw şu anda yerel varsayılan olarak `gemma4` önerir. -## Model keşfi (örtük provider) +## Model keşfi (örtük sağlayıcı) -`OLLAMA_API_KEY` (veya bir kimlik doğrulama profili) ayarladığınızda ve **`models.providers.ollama` tanımlamadığınızda**, OpenClaw modelleri `http://127.0.0.1:11434` adresindeki yerel Ollama örneğinden keşfeder. +`OLLAMA_API_KEY` (veya bir auth profili) ayarladığınızda ve `models.providers.ollama` tanımlamadığınızda, OpenClaw modelleri `http://127.0.0.1:11434` adresindeki yerel Ollama örneğinden keşfeder. -| Davranış | Ayrıntı | -| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| Katalog sorgusu | `/api/tags` sorgular | -| Yetenek algılama | `contextWindow` değerini okumak ve yetenekleri (görsel dahil) algılamak için en iyi çaba ile `/api/show` aramaları kullanır | -| Görsel modeller | `/api/show` tarafından bildirilen `vision` yeteneğine sahip modeller, görsel destekli (`input: ["text", "image"]`) olarak işaretlenir; böylece OpenClaw görselleri prompt’a otomatik enjekte eder | -| Akıl yürütme algılama | `reasoning` özelliğini bir model adı sezgisiyle (`r1`, `reasoning`, `think`) işaretler | -| Token sınırları | `maxTokens` değerini, OpenClaw’ın kullandığı varsayılan Ollama maksimum token sınırına ayarlar | -| Maliyetler | Tüm maliyetleri `0` olarak ayarlar | +| Davranış | Ayrıntı | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Katalog sorgusu | `/api/tags` sorgulanır | +| Yetenek algılama | `contextWindow` değerini okumak ve yetenekleri (vision dahil) algılamak için en iyi çabayla `/api/show` aramaları kullanır | +| Vision modelleri | `/api/show` tarafından bildirilen `vision` yeteneğine sahip modeller görüntü destekli olarak işaretlenir (`input: ["text", "image"]`), böylece OpenClaw görüntüleri isteme otomatik ekler | +| Akıl yürütme algılama | Model adı kestirimiyle `reasoning` işaretlenir (`r1`, `reasoning`, `think`) | +| Token sınırları | `maxTokens`, OpenClaw tarafından kullanılan varsayılan Ollama en yüksek token sınırına ayarlanır | +| Maliyetler | Tüm maliyetler `0` olarak ayarlanır | -Bu, kataloğu yerel Ollama örneğiyle uyumlu tutarken manuel model girdilerinden kaçınmanızı sağlar. +Bu, kataloğu yerel Ollama örneğiyle uyumlu tutarken elle model girişi yapmaktan kaçınır. ```bash -# Hangi modellerin kullanılabildiğini görün +# Hangi modellerin kullanılabilir olduğunu görün ollama list openclaw models list ``` -Yeni bir model eklemek için onu Ollama ile çekmeniz yeterlidir: +Yeni bir model eklemek için bunu Ollama ile çekmeniz yeterlidir: ```bash ollama pull mistral ``` -Yeni model otomatik olarak keşfedilecek ve kullanılabilir olacaktır. +Yeni model otomatik olarak keşfedilir ve kullanıma sunulur. `models.providers.ollama` değerini açıkça ayarlarsanız otomatik keşif atlanır ve modelleri elle tanımlamanız gerekir. Aşağıdaki açık yapılandırma bölümüne bakın. @@ -189,38 +191,38 @@ Yeni model otomatik olarak keşfedilecek ve kullanılabilir olacaktır. - Ollama’yı etkinleştirmenin en basit yolu ortam değişkenidir: + En basit yalnızca yerel etkinleştirme yolu ortam değişkeni kullanmaktır: ```bash export OLLAMA_API_KEY="ollama-local" ``` - `OLLAMA_API_KEY` ayarlanmışsa provider girdisinde `apiKey` alanını atlayabilirsiniz; OpenClaw bunu kullanılabilirlik kontrolleri için doldurur. + `OLLAMA_API_KEY` ayarlıysa, sağlayıcı girişinde `apiKey` değerini atlayabilirsiniz ve OpenClaw bunu kullanılabilirlik denetimleri için doldurur. - Ollama başka bir host/port üzerinde çalışıyorsa, belirli bağlam pencerelerini veya model listelerini zorlamak istiyorsanız ya da tamamen manuel model tanımları istiyorsanız açık yapılandırma kullanın. + Barındırılan bulut kurulumu istediğinizde, Ollama başka bir ana makinede/bağlantı noktasında çalıştığında, belirli bağlam pencerelerini veya model listelerini zorlamak istediğinizde ya da tamamen elle model tanımları istediğinizde açık yapılandırmayı kullanın. ```json5 { models: { providers: { ollama: { - baseUrl: "http://ollama-host:11434", - apiKey: "ollama-local", + baseUrl: "https://ollama.com", + apiKey: "OLLAMA_API_KEY", api: "ollama", models: [ { - id: "gpt-oss:20b", - name: "GPT-OSS 20B", + id: "kimi-k2.5:cloud", + name: "kimi-k2.5:cloud", reasoning: false, - input: ["text"], + input: ["text", "image"], cost: { input: 0, output: 0, cacheRead: 0, cacheWrite: 0 }, - contextWindow: 8192, - maxTokens: 8192 * 10 + contextWindow: 128000, + maxTokens: 8192 } ] } @@ -231,8 +233,8 @@ Yeni model otomatik olarak keşfedilecek ve kullanılabilir olacaktır. - - Ollama farklı bir host veya portta çalışıyorsa (açık yapılandırma otomatik keşfi devre dışı bırakır, bu nedenle modelleri elle tanımlayın): + + Ollama farklı bir ana makinede veya bağlantı noktasında çalışıyorsa (açık yapılandırma otomatik keşfi devre dışı bırakır, bu yüzden modelleri elle tanımlayın): ```json5 { @@ -240,7 +242,7 @@ Yeni model otomatik olarak keşfedilecek ve kullanılabilir olacaktır. providers: { ollama: { apiKey: "ollama-local", - baseUrl: "http://ollama-host:11434", // /v1 yok - yerel Ollama API URL'sini kullanın + baseUrl: "http://ollama-host:11434", // /v1 yok - yerel Ollama API URL’sini kullanın api: "ollama", // Yerel araç çağırma davranışını garanti etmek için açıkça ayarlayın }, }, @@ -249,7 +251,7 @@ Yeni model otomatik olarak keşfedilecek ve kullanılabilir olacaktır. ``` - URL’ye `/v1` eklemeyin. `/v1` yolu, araç çağırmanın güvenilir olmadığı OpenAI uyumlu modu kullanır. Yol son eki olmayan temel Ollama URL’sini kullanın. + URL’ye `/v1` eklemeyin. `/v1` yolu, araç çağırmanın güvenilir olmadığı OpenAI uyumlu modu kullanır. Yol son eki olmadan temel Ollama URL’sini kullanın. @@ -274,13 +276,13 @@ Yapılandırıldıktan sonra tüm Ollama modelleriniz kullanılabilir olur: ## Ollama Web Search -OpenClaw, paketli bir `web_search` provider olarak **Ollama Web Search** destekler. +OpenClaw, paketlenmiş bir `web_search` sağlayıcısı olarak **Ollama Web Search** destekler. -| Özellik | Ayrıntı | -| ----------- | ------------------------------------------------------------------------------------------------------------------ | -| Host | Yapılandırılmış Ollama host’unuzu kullanır (`models.providers.ollama.baseUrl` ayarlıysa onu, aksi halde `http://127.0.0.1:11434`) | -| Kimlik doğrulama | Anahtarsız | -| Gereksinim | Ollama çalışıyor olmalı ve `ollama signin` ile oturum açılmış olmalı | +| Özellik | Ayrıntı | +| ----------- | ----------------------------------------------------------------------------------------------------------------- | +| Ana makine | Yapılandırılmış Ollama ana makinenizi kullanır (`models.providers.ollama.baseUrl` ayarlıysa o, aksi takdirde `http://127.0.0.1:11434`) | +| Kimlik doğrulama | Anahtarsız | +| Gereksinim | Ollama çalışıyor olmalı ve `ollama signin` ile oturum açılmış olmalı | `openclaw onboard` veya `openclaw configure --section web` sırasında **Ollama Web Search** seçin ya da şunu ayarlayın: @@ -297,7 +299,7 @@ OpenClaw, paketli bir `web_search` provider olarak **Ollama Web Search** destekl ``` -Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tools/ollama-search). +Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/ollama-search) bölümüne bakın. ## Gelişmiş yapılandırma @@ -305,10 +307,10 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool - **Araç çağırma, OpenAI uyumlu modda güvenilir değildir.** Bu modu yalnızca bir proxy için OpenAI biçimine ihtiyacınız varsa ve yerel araç çağırma davranışına bağımlı değilseniz kullanın. + **Araç çağırma, OpenAI uyumlu modda güvenilir değildir.** Bu modu yalnızca bir proxy için OpenAI biçimine ihtiyaç duyuyorsanız ve yerel araç çağırma davranışına bağımlı değilseniz kullanın. - Bunun yerine OpenAI uyumlu uç noktayı kullanmanız gerekiyorsa (örneğin yalnızca OpenAI biçimini destekleyen bir proxy arkasında), `api: "openai-completions"` değerini açıkça ayarlayın: + Bunun yerine OpenAI uyumlu uç noktayı kullanmanız gerekiyorsa (örneğin yalnızca OpenAI biçimini destekleyen bir proxy’nin arkasında), `api: "openai-completions"` değerini açıkça ayarlayın: ```json5 { @@ -326,9 +328,9 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool } ``` - Bu mod, akışı ve araç çağırmayı aynı anda desteklemeyebilir. Model yapılandırmasında `params: { streaming: false }` ile akışı devre dışı bırakmanız gerekebilir. + Bu mod akış ve araç çağırmayı aynı anda desteklemeyebilir. Model yapılandırmasında `params: { streaming: false }` ile akışı devre dışı bırakmanız gerekebilir. - `api: "openai-completions"` Ollama ile kullanıldığında OpenClaw varsayılan olarak `options.num_ctx` enjekte eder; böylece Ollama sessizce 4096 bağlam penceresine geri dönmez. Proxy/yukarı akış bilinmeyen `options` alanlarını reddediyorsa bu davranışı devre dışı bırakın: + `api: "openai-completions"` Ollama ile kullanıldığında OpenClaw, Ollama’nın sessizce 4096 bağlam penceresine geri dönmemesi için varsayılan olarak `options.num_ctx` ekler. Proxy’niz/yukarı akışınız bilinmeyen `options` alanlarını reddediyorsa bu davranışı devre dışı bırakın: ```json5 { @@ -349,9 +351,9 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool - Otomatik keşfedilen modeller için OpenClaw, mevcutsa Ollama tarafından bildirilen bağlam penceresini kullanır; aksi halde OpenClaw’ın kullandığı varsayılan Ollama bağlam penceresine geri döner. + Otomatik olarak keşfedilen modeller için OpenClaw, varsa Ollama tarafından bildirilen bağlam penceresini kullanır; aksi takdirde OpenClaw tarafından kullanılan varsayılan Ollama bağlam penceresine geri döner. - Açık provider yapılandırmasında `contextWindow` ve `maxTokens` değerlerini geçersiz kılabilirsiniz: + `contextWindow` ve `maxTokens` değerlerini açık sağlayıcı yapılandırmasında geçersiz kılabilirsiniz: ```json5 { @@ -374,7 +376,7 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool - OpenClaw, `deepseek-r1`, `reasoning` veya `think` gibi adlara sahip modelleri varsayılan olarak akıl yürütme yetenekli kabul eder. + OpenClaw, varsayılan olarak `deepseek-r1`, `reasoning` veya `think` gibi adlara sahip modelleri akıl yürütme yetenekli olarak kabul eder. ```bash ollama pull deepseek-r1:32b @@ -385,20 +387,18 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool - Ollama ücretsizdir ve yerelde çalışır; bu nedenle tüm model maliyetleri $0 olarak ayarlanır. Bu hem otomatik keşfedilen hem de elle tanımlanan modeller için geçerlidir. + Ollama ücretsizdir ve yerelde çalışır, bu nedenle tüm model maliyetleri $0 olarak ayarlanır. Bu, hem otomatik olarak keşfedilen hem de elle tanımlanan modeller için geçerlidir. - - Paketli Ollama Plugin’i, - [memory search](/tr/concepts/memory) için bir bellek embedding provider’ı kaydeder. Yapılandırılmış Ollama base URL’sini - ve API anahtarını kullanır. + + Paketlenmiş Ollama Plugin, [bellek araması](/tr/concepts/memory) için bir bellek gömme sağlayıcısı kaydeder. Yapılandırılmış Ollama temel URL’sini ve API anahtarını kullanır. | Özellik | Değer | | ------------- | ------------------- | | Varsayılan model | `nomic-embed-text` | - | Otomatik çekme | Evet — embedding modeli yerelde yoksa otomatik olarak çekilir | + | Otomatik çekme | Evet — gömme modeli yerelde mevcut değilse otomatik olarak çekilir | - Ollama’yı memory search embedding provider’ı olarak seçmek için: + Ollama’yı bellek arama gömme sağlayıcısı olarak seçmek için: ```json5 { @@ -413,7 +413,7 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool - OpenClaw’ın Ollama bütünleşmesi varsayılan olarak **yerel Ollama API’sini** (`/api/chat`) kullanır; bu API aynı anda hem akışı hem de araç çağırmayı tam olarak destekler. Özel bir yapılandırma gerekmez. + OpenClaw’ın Ollama entegrasyonu varsayılan olarak **yerel Ollama API’sini** (`/api/chat`) kullanır; bu, akış ve araç çağırmayı aynı anda tam olarak destekler. Özel bir yapılandırma gerekmez. OpenAI uyumlu uç noktayı kullanmanız gerekiyorsa yukarıdaki "Eski OpenAI uyumlu mod" bölümüne bakın. Bu modda akış ve araç çağırma aynı anda çalışmayabilir. @@ -426,7 +426,7 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool - Ollama’nın çalıştığından, `OLLAMA_API_KEY` (veya bir kimlik doğrulama profili) ayarladığınızdan ve açık bir `models.providers.ollama` girdisi tanımlamadığınızdan **emin olun**: + Ollama’nın çalıştığından, `OLLAMA_API_KEY` (veya bir auth profili) ayarladığınızdan ve açık bir `models.providers.ollama` girdisi tanımlamadığınızdan emin olun: ```bash ollama serve @@ -441,10 +441,10 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool - Modeliniz listelenmiyorsa, modeli ya yerelde çekin ya da `models.providers.ollama` içinde açıkça tanımlayın. + Modeliniz listelenmiyorsa modeli ya yerelde çekin ya da `models.providers.ollama` içinde açıkça tanımlayın. ```bash - ollama list # Nelerin kurulu olduğunu görün + ollama list # Kurulu olanları görün ollama pull gemma4 ollama pull gpt-oss:20b ollama pull llama3.3 # Veya başka bir model @@ -453,13 +453,13 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool - Ollama’nın doğru portta çalıştığını kontrol edin: + Ollama’nın doğru bağlantı noktasında çalıştığını denetleyin: ```bash - # Ollama'nın çalışıp çalışmadığını kontrol edin + # Ollama’nın çalışıp çalışmadığını denetleyin ps aux | grep ollama - # Veya Ollama'yı yeniden başlatın + # Veya Ollama’yı yeniden başlatın ollama serve ``` @@ -467,17 +467,17 @@ Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tool -Daha fazla yardım: [Sorun Giderme](/tr/help/troubleshooting) ve [SSS](/tr/help/faq). +Daha fazla yardım: [Sorun giderme](/tr/help/troubleshooting) ve [SSS](/tr/help/faq). ## İlgili - - Tüm provider’lara, model başvurularına ve failover davranışına genel bakış. + + Tüm sağlayıcılara, model başvurularına ve yük devretme davranışına genel bakış. - Modelleri nasıl seçeceğiniz ve yapılandıracağınız. + Modellerin nasıl seçileceği ve yapılandırılacağı. Ollama destekli web araması için tam kurulum ve davranış ayrıntıları. diff --git a/docs/tr/reference/memory-config.md b/docs/tr/reference/memory-config.md index 543999c98..8598aa4cc 100644 --- a/docs/tr/reference/memory-config.md +++ b/docs/tr/reference/memory-config.md @@ -1,97 +1,98 @@ --- read_when: - - Bellek arama sağlayıcılarını veya embedding modellerini yapılandırmak istiyorsunuz - - QMD backend'ini kurmak istiyorsunuz - - Hibrit aramayı, MMR'yi veya zamansal çürümeyi ayarlamak istiyorsunuz - - Çok modlu bellek indekslemeyi etkinleştirmek istiyorsunuz -summary: Bellek arama, embedding sağlayıcıları, QMD, hibrit arama ve çok modlu indeksleme için tüm yapılandırma ayarları -title: Bellek yapılandırma referansı + - Bellek arama sağlayıcılarını veya gömme modellerini yapılandırmak istiyorsunuz + - QMD arka ucunu kurmak istiyorsunuz + - Hibrit aramayı, MMR'yi veya zamansal azalmayı ayarlamak istiyorsunuz + - Çok modlu bellek dizinlemeyi etkinleştirmek istiyorsunuz +summary: Bellek araması, gömme sağlayıcıları, QMD, hibrit arama ve çok modlu dizinleme için tüm yapılandırma seçenekleri +title: Bellek yapılandırma başvurusu x-i18n: - generated_at: "2026-04-12T23:33:58Z" + generated_at: "2026-04-15T14:41:01Z" model: gpt-5.4 provider: openai - source_hash: 299ca9b69eea292ea557a2841232c637f5c1daf2bc0f73c0a42f7c0d8d566ce2 + source_hash: 334c3c4dac08e864487047d3822c75f96e9e7a97c38be4b4e0cd9e63c4489a53 source_path: reference/memory-config.md workflow: 15 --- -# Bellek yapılandırma referansı +# Bellek yapılandırma başvurusu -Bu sayfa, OpenClaw bellek araması için tüm yapılandırma ayarlarını listeler. Kavramsal genel bakışlar için bkz.: +Bu sayfa, OpenClaw bellek araması için her yapılandırma seçeneğini listeler. Kavramsal genel bakışlar için şunlara bakın: -- [Belleğe genel bakış](/tr/concepts/memory) -- belleğin nasıl çalıştığı -- [Yerleşik motor](/tr/concepts/memory-builtin) -- varsayılan SQLite backend -- [QMD motoru](/tr/concepts/memory-qmd) -- yerel öncelikli sidecar -- [Bellek arama](/tr/concepts/memory-search) -- arama hattı ve ayarlama -- [Active Memory](/tr/concepts/active-memory) -- etkileşimli oturumlar için bellek alt-agent'ını etkinleştirme +- [Belleğe Genel Bakış](/tr/concepts/memory) -- belleğin nasıl çalıştığı +- [Yerleşik Motor](/tr/concepts/memory-builtin) -- varsayılan SQLite arka ucu +- [QMD Motoru](/tr/concepts/memory-qmd) -- önce yerel çalışan sidecar +- [Bellek Araması](/tr/concepts/memory-search) -- arama hattı ve ayarlama +- [Active Memory](/tr/concepts/active-memory) -- etkileşimli oturumlar için bellek alt ajanını etkinleştirme -Aksi belirtilmedikçe tüm bellek arama ayarları, `openclaw.json` içinde +Aksi belirtilmedikçe tüm bellek araması ayarları `openclaw.json` içindeki `agents.defaults.memorySearch` altında bulunur. -**Active Memory** özellik anahtarını ve alt-agent yapılandırmasını arıyorsanız, -bu ayarlar `memorySearch` yerine `plugins.entries.active-memory` altında bulunur. +**Active Memory** özellik anahtarını ve alt ajan yapılandırmasını arıyorsanız, +bu ayar `memorySearch` yerine `plugins.entries.active-memory` altında bulunur. Active Memory iki kapılı bir model kullanır: -1. Plugin etkin olmalı ve geçerli agent kimliğini hedeflemelidir +1. Plugin etkin olmalı ve geçerli ajan kimliğini hedeflemelidir 2. İstek, uygun bir etkileşimli kalıcı sohbet oturumu olmalıdır -Etkinleştirme modeli, -Plugin sahipliğindeki yapılandırma, transkript kalıcılığı ve güvenli devreye alma deseni için -bkz. [Active Memory](/tr/concepts/active-memory). +Etkinleştirme modeli, Plugin'e ait yapılandırma, döküm kalıcılığı ve güvenli +yaygınlaştırma deseni için [Active Memory](/tr/concepts/active-memory) bölümüne bakın. --- ## Sağlayıcı seçimi -| Anahtar | Tür | Varsayılan | Açıklama | -| --------- | ---------- | --------------- | ------------------------------------------------------------------------------------------ | -| `provider` | `string` | otomatik algılanır | Embedding adaptör kimliği: `openai`, `gemini`, `voyage`, `mistral`, `bedrock`, `ollama`, `local` | -| `model` | `string` | sağlayıcı varsayılanı | Embedding model adı | -| `fallback` | `string` | `"none"` | Birincil sağlayıcı başarısız olduğunda kullanılacak fallback adaptör kimliği | -| `enabled` | `boolean` | `true` | Bellek aramayı etkinleştirir veya devre dışı bırakır | +| Anahtar | Tür | Varsayılan | Açıklama | +| --------- | --------- | --------------- | ------------------------------------------------------------------------------------------------------------- | +| `provider` | `string` | otomatik algılanır | Gömme bağdaştırıcısı kimliği: `bedrock`, `gemini`, `github-copilot`, `local`, `mistral`, `ollama`, `openai`, `voyage` | +| `model` | `string` | sağlayıcı varsayılanı | Gömme modeli adı | +| `fallback` | `string` | `"none"` | Birincil başarısız olduğunda geri dönüş bağdaştırıcısı kimliği | +| `enabled` | `boolean` | `true` | Bellek aramasını etkinleştirir veya devre dışı bırakır | ### Otomatik algılama sırası -`provider` ayarlanmadığında OpenClaw, kullanılabilir ilk seçeneği seçer: +`provider` ayarlanmadığında, OpenClaw kullanılabilir ilk seçeneği seçer: 1. `local` -- `memorySearch.local.modelPath` yapılandırılmışsa ve dosya mevcutsa. -2. `openai` -- bir OpenAI anahtarı çözümlenebiliyorsa. -3. `gemini` -- bir Gemini anahtarı çözümlenebiliyorsa. -4. `voyage` -- bir Voyage anahtarı çözümlenebiliyorsa. -5. `mistral` -- bir Mistral anahtarı çözümlenebiliyorsa. -6. `bedrock` -- AWS SDK kimlik bilgisi zinciri çözümlenebiliyorsa (instance rolü, erişim anahtarları, profil, SSO, web kimliği veya paylaşılan yapılandırma). +2. `github-copilot` -- bir GitHub Copilot belirteci çözümlenebiliyorsa (ortam değişkeni veya kimlik doğrulama profili). +3. `openai` -- bir OpenAI anahtarı çözümlenebiliyorsa. +4. `gemini` -- bir Gemini anahtarı çözümlenebiliyorsa. +5. `voyage` -- bir Voyage anahtarı çözümlenebiliyorsa. +6. `mistral` -- bir Mistral anahtarı çözümlenebiliyorsa. +7. `bedrock` -- AWS SDK kimlik bilgisi zinciri çözümlenebiliyorsa (örnek rolü, erişim anahtarları, profil, SSO, web kimliği veya paylaşılan yapılandırma). `ollama` desteklenir ancak otomatik algılanmaz (açıkça ayarlayın). ### API anahtarı çözümleme -Uzak embedding'ler bir API anahtarı gerektirir. Bedrock bunun yerine AWS SDK varsayılan -kimlik bilgisi zincirini kullanır (instance rolleri, SSO, erişim anahtarları). +Uzak gömmeler bir API anahtarı gerektirir. Bunun yerine Bedrock, AWS SDK’nin +varsayılan kimlik bilgisi zincirini kullanır (örnek rolleri, SSO, erişim anahtarları). -| Sağlayıcı | Env değişkeni | Yapılandırma anahtarı | -| --------- | ---------------------------- | -------------------------------- | -| OpenAI | `OPENAI_API_KEY` | `models.providers.openai.apiKey` | -| Gemini | `GEMINI_API_KEY` | `models.providers.google.apiKey` | -| Voyage | `VOYAGE_API_KEY` | `models.providers.voyage.apiKey` | -| Mistral | `MISTRAL_API_KEY` | `models.providers.mistral.apiKey` | -| Bedrock | AWS kimlik bilgisi zinciri | API anahtarı gerekmez | -| Ollama | `OLLAMA_API_KEY` (yer tutucu) | -- | +| Sağlayıcı | Ortam değişkeni | Yapılandırma anahtarı | +| -------------- | ------------------------------------------------ | -------------------------------- | +| Bedrock | AWS kimlik bilgisi zinciri | API anahtarı gerekmez | +| Gemini | `GEMINI_API_KEY` | `models.providers.google.apiKey` | +| GitHub Copilot | `COPILOT_GITHUB_TOKEN`, `GH_TOKEN`, `GITHUB_TOKEN` | Cihaz oturumu açma yoluyla kimlik doğrulama profili | +| Mistral | `MISTRAL_API_KEY` | `models.providers.mistral.apiKey` | +| Ollama | `OLLAMA_API_KEY` (yer tutucu) | -- | +| OpenAI | `OPENAI_API_KEY` | `models.providers.openai.apiKey` | +| Voyage | `VOYAGE_API_KEY` | `models.providers.voyage.apiKey` | -Codex OAuth yalnızca chat/completions için geçerlidir ve embedding +Codex OAuth yalnızca sohbet/completions isteklerini kapsar ve gömme isteklerini karşılamaz. --- ## Uzak uç nokta yapılandırması -Özel OpenAI uyumlu uç noktalar için veya sağlayıcı varsayılanlarını geçersiz kılmak için: +Özel OpenAI uyumlu uç noktalar veya sağlayıcı varsayılanlarını geçersiz kılmak için: -| Anahtar | Tür | Açıklama | -| ---------------- | -------- | ----------------------------------------------- | -| `remote.baseUrl` | `string` | Özel API base URL | -| `remote.apiKey` | `string` | API anahtarını geçersiz kılar | -| `remote.headers` | `object` | Ek HTTP header'ları (sağlayıcı varsayılanlarıyla birleştirilir) | +| Anahtar | Tür | Açıklama | +| ----------------- | -------- | --------------------------------------- | +| `remote.baseUrl` | `string` | Özel API temel URL’si | +| `remote.apiKey` | `string` | API anahtarını geçersiz kılar | +| `remote.headers` | `object` | Ek HTTP üstbilgileri (sağlayıcı varsayılanlarıyla birleştirilir) | ```json5 { @@ -114,22 +115,22 @@ isteklerini karşılamaz. ## Gemini'ye özgü yapılandırma -| Anahtar | Tür | Varsayılan | Açıklama | -| ---------------------- | -------- | ---------------------- | ---------------------------------------- | -| `model` | `string` | `gemini-embedding-001` | `gemini-embedding-2-preview` de desteklenir | -| `outputDimensionality` | `number` | `3072` | Embedding 2 için: 768, 1536 veya 3072 | +| Anahtar | Tür | Varsayılan | Açıklama | +| ---------------------- | -------- | ---------------------- | ------------------------------------------ | +| `model` | `string` | `gemini-embedding-001` | Ayrıca `gemini-embedding-2-preview` desteklenir | +| `outputDimensionality` | `number` | `3072` | Embedding 2 için: 768, 1536 veya 3072 | -`model` veya `outputDimensionality` değiştirilmesi otomatik tam yeniden indeksleme tetikler. +`model` veya `outputDimensionality` değerini değiştirmek otomatik olarak tam bir yeniden dizinlemeyi tetikler. --- -## Bedrock embedding yapılandırması +## Bedrock gömme yapılandırması -Bedrock, AWS SDK varsayılan kimlik bilgisi zincirini kullanır -- API anahtarı gerekmez. -OpenClaw, Bedrock etkin bir instance rolüyle EC2 üzerinde çalışıyorsa yalnızca -sağlayıcıyı ve modeli ayarlayın: +Bedrock, AWS SDK’nin varsayılan kimlik bilgisi zincirini kullanır -- API anahtarı gerekmez. +OpenClaw, Bedrock etkin örnek rolüne sahip bir EC2 üzerinde çalışıyorsa, yalnızca +sağlayıcıyı ve modeli ayarlamanız yeterlidir: ```json5 { @@ -144,47 +145,47 @@ sağlayıcıyı ve modeli ayarlayın: } ``` -| Anahtar | Tür | Varsayılan | Açıklama | -| ---------------------- | -------- | ------------------------------ | --------------------------------- | -| `model` | `string` | `amazon.titan-embed-text-v2:0` | Herhangi bir Bedrock embedding model kimliği | -| `outputDimensionality` | `number` | model varsayılanı | Titan V2 için: 256, 512 veya 1024 | +| Anahtar | Tür | Varsayılan | Açıklama | +| ---------------------- | -------- | ---------------------------- | -------------------------------- | +| `model` | `string` | `amazon.titan-embed-text-v2:0` | Herhangi bir Bedrock gömme model kimliği | +| `outputDimensionality` | `number` | model varsayılanı | Titan V2 için: 256, 512 veya 1024 | ### Desteklenen modeller -Aşağıdaki modeller desteklenir (aile algılama ve boyut -varsayılanlarıyla birlikte): +Aşağıdaki modeller desteklenir (aile algılama ve boyut varsayılanlarıyla birlikte): -| Model kimliği | Sağlayıcı | Varsayılan boyut | Yapılandırılabilir boyutlar | -| ------------------------------------------- | ---------- | ---------------- | --------------------------- | -| `amazon.titan-embed-text-v2:0` | Amazon | 1024 | 256, 512, 1024 | -| `amazon.titan-embed-text-v1` | Amazon | 1536 | -- | -| `amazon.titan-embed-g1-text-02` | Amazon | 1536 | -- | -| `amazon.titan-embed-image-v1` | Amazon | 1024 | -- | -| `amazon.nova-2-multimodal-embeddings-v1:0` | Amazon | 1024 | 256, 384, 1024, 3072 | -| `cohere.embed-english-v3` | Cohere | 1024 | -- | -| `cohere.embed-multilingual-v3` | Cohere | 1024 | -- | -| `cohere.embed-v4:0` | Cohere | 1536 | 256-1536 | -| `twelvelabs.marengo-embed-3-0-v1:0` | TwelveLabs | 512 | -- | -| `twelvelabs.marengo-embed-2-7-v1:0` | TwelveLabs | 1024 | -- | +| Model Kimliği | Sağlayıcı | Varsayılan Boyut | Yapılandırılabilir Boyut | +| ------------------------------------------- | ---------- | ---------------- | ------------------------ | +| `amazon.titan-embed-text-v2:0` | Amazon | 1024 | 256, 512, 1024 | +| `amazon.titan-embed-text-v1` | Amazon | 1536 | -- | +| `amazon.titan-embed-g1-text-02` | Amazon | 1536 | -- | +| `amazon.titan-embed-image-v1` | Amazon | 1024 | -- | +| `amazon.nova-2-multimodal-embeddings-v1:0` | Amazon | 1024 | 256, 384, 1024, 3072 | +| `cohere.embed-english-v3` | Cohere | 1024 | -- | +| `cohere.embed-multilingual-v3` | Cohere | 1024 | -- | +| `cohere.embed-v4:0` | Cohere | 1536 | 256-1536 | +| `twelvelabs.marengo-embed-3-0-v1:0` | TwelveLabs | 512 | -- | +| `twelvelabs.marengo-embed-2-7-v1:0` | TwelveLabs | 1024 | -- | -İş hacmi son ekli varyantlar (örneğin `amazon.titan-embed-text-v1:2:8k`), temel modelin yapılandırmasını devralır. +Verim eki alan varyantlar (ör. `amazon.titan-embed-text-v1:2:8k`) temel modelin +yapılandırmasını devralır. ### Kimlik doğrulama -Bedrock auth, standart AWS SDK kimlik bilgisi çözümleme sırasını kullanır: +Bedrock kimlik doğrulaması, standart AWS SDK kimlik bilgisi çözümleme sırasını kullanır: 1. Ortam değişkenleri (`AWS_ACCESS_KEY_ID` + `AWS_SECRET_ACCESS_KEY`) -2. SSO token önbelleği -3. Web kimliği token kimlik bilgileri -4. Paylaşılan kimlik bilgisi ve yapılandırma dosyaları +2. SSO belirteç önbelleği +3. Web kimliği belirteci kimlik bilgileri +4. Paylaşılan kimlik bilgileri ve yapılandırma dosyaları 5. ECS veya EC2 meta veri kimlik bilgileri -Bölge, `AWS_REGION`, `AWS_DEFAULT_REGION`, -`amazon-bedrock` sağlayıcısının `baseUrl` değeri üzerinden çözülür veya varsayılan olarak `us-east-1` kullanılır. +Bölge, `AWS_REGION`, `AWS_DEFAULT_REGION`, `amazon-bedrock` +sağlayıcısının `baseUrl` değeri üzerinden çözümlenir veya varsayılan olarak `us-east-1` kullanılır. ### IAM izinleri -IAM rolü veya kullanıcısının şuna ihtiyacı vardır: +IAM rolü veya kullanıcısı şuna ihtiyaç duyar: ```json { @@ -194,7 +195,7 @@ IAM rolü veya kullanıcısının şuna ihtiyacı vardır: } ``` -En az ayrıcalık için `InvokeModel` iznini belirli modele sınırlayın: +En az ayrıcalık için `InvokeModel` yetkisini belirli modele daraltın: ``` arn:aws:bedrock:*::foundation-model/amazon.titan-embed-text-v2:0 @@ -202,11 +203,11 @@ arn:aws:bedrock:*::foundation-model/amazon.titan-embed-text-v2:0 --- -## Yerel embedding yapılandırması +## Yerel gömme yapılandırması -| Anahtar | Tür | Varsayılan | Açıklama | -| -------------------- | -------- | ----------------------- | -------------------------------- | -| `local.modelPath` | `string` | otomatik indirilir | GGUF model dosyasının yolu | +| Anahtar | Tür | Varsayılan | Açıklama | +| --------------------- | -------- | ----------------------- | -------------------------------- | +| `local.modelPath` | `string` | otomatik indirilir | GGUF model dosyasının yolu | | `local.modelCacheDir` | `string` | node-llama-cpp varsayılanı | İndirilen modeller için önbellek dizini | Varsayılan model: `embeddinggemma-300m-qat-Q8_0.gguf` (~0.6 GB, otomatik indirilir). @@ -216,30 +217,30 @@ Yerel derleme gerektirir: `pnpm approve-builds` ardından `pnpm rebuild node-lla ## Hibrit arama yapılandırması -Tümü `memorySearch.query.hybrid` altındadır: +Tümü `memorySearch.query.hybrid` altında bulunur: -| Anahtar | Tür | Varsayılan | Açıklama | -| -------------------- | --------- | ---------- | --------------------------------- | -| `enabled` | `boolean` | `true` | Hibrit BM25 + vektör aramayı etkinleştirir | -| `vectorWeight` | `number` | `0.7` | Vektör skorları için ağırlık (0-1) | -| `textWeight` | `number` | `0.3` | BM25 skorları için ağırlık (0-1) | +| Anahtar | Tür | Varsayılan | Açıklama | +| -------------------- | --------- | ---------- | ---------------------------------- | +| `enabled` | `boolean` | `true` | Hibrit BM25 + vektör aramasını etkinleştirir | +| `vectorWeight` | `number` | `0.7` | Vektör puanları için ağırlık (0-1) | +| `textWeight` | `number` | `0.3` | BM25 puanları için ağırlık (0-1) | | `candidateMultiplier` | `number` | `4` | Aday havuzu boyutu çarpanı | ### MMR (çeşitlilik) -| Anahtar | Tür | Varsayılan | Açıklama | -| ------------- | --------- | ---------- | -------------------------------------- | -| `mmr.enabled` | `boolean` | `false` | MMR yeniden sıralamasını etkinleştirir | -| `mmr.lambda` | `number` | `0.7` | 0 = maksimum çeşitlilik, 1 = maksimum alaka | +| Anahtar | Tür | Varsayılan | Açıklama | +| ------------- | --------- | ---------- | ----------------------------------------- | +| `mmr.enabled` | `boolean` | `false` | MMR yeniden sıralamasını etkinleştirir | +| `mmr.lambda` | `number` | `0.7` | 0 = en yüksek çeşitlilik, 1 = en yüksek alaka | -### Zamansal çürüme (güncellik) +### Zamansal azalma (güncellik) -| Anahtar | Tür | Varsayılan | Açıklama | -| --------------------------- | --------- | ---------- | --------------------------- | -| `temporalDecay.enabled` | `boolean` | `false` | Güncellik artırmasını etkinleştirir | -| `temporalDecay.halfLifeDays` | `number` | `30` | Skor her N günde yarıya iner | +| Anahtar | Tür | Varsayılan | Açıklama | +| --------------------------- | --------- | ---------- | ---------------------------- | +| `temporalDecay.enabled` | `boolean` | `false` | Güncellik artışını etkinleştirir | +| `temporalDecay.halfLifeDays` | `number` | `30` | Puan her N günde yarıya iner | -Evergreen dosyalar (`MEMORY.md`, `memory/` içindeki tarih içermeyen dosyalar) asla çürütülmez. +Kalıcı dosyalara (`MEMORY.md`, `memory/` içindeki tarihsiz dosyalar) hiçbir zaman azalma uygulanmaz. ### Tam örnek @@ -266,9 +267,9 @@ Evergreen dosyalar (`MEMORY.md`, `memory/` içindeki tarih içermeyen dosyalar) ## Ek bellek yolları -| Anahtar | Tür | Açıklama | -| ----------- | ---------- | --------------------------------------- | -| `extraPaths` | `string[]` | İndekslenecek ek dizinler veya dosyalar | +| Anahtar | Tür | Açıklama | +| ------------ | ---------- | ---------------------------------------- | +| `extraPaths` | `string[]` | Dizinlenecek ek dizinler veya dosyalar | ```json5 { @@ -282,15 +283,15 @@ Evergreen dosyalar (`MEMORY.md`, `memory/` içindeki tarih içermeyen dosyalar) } ``` -Yollar mutlak veya çalışma alanına göreli olabilir. Dizinler, -`.md` dosyaları için özyinelemeli olarak taranır. Symlink işleme etkin backend'e bağlıdır: -yerleşik motor symlink'leri yok sayar, QMD ise alttaki QMD -tarayıcı davranışını izler. +Yollar mutlak veya çalışma alanına göreli olabilir. Dizinler, `.md` dosyaları için +özyinelemeli olarak taranır. Sembolik bağlantı işleme etkin arka uca bağlıdır: +yerleşik motor sembolik bağlantıları yok sayar, QMD ise alttaki QMD +tarayıcısının davranışını izler. -Agent kapsamlı agent'lar arası transkript araması için -`memory.qmd.paths` yerine `agents.list[].memorySearch.qmd.extraCollections` kullanın. -Bu ek koleksiyonlar da aynı `{ path, name, pattern? }` biçimini izler, ancak -agent başına birleştirilir ve yol geçerli çalışma alanının dışına işaret ettiğinde +Ajan kapsamlı, ajanlar arası döküm araması için +`memory.qmd.paths` yerine `agents.list[].memorySearch.qmd.extraCollections` +kullanın. Bu ek koleksiyonlar aynı `{ path, name, pattern? }` biçimini izler, +ancak ajan başına birleştirilir ve yol geçerli çalışma alanının dışını gösterdiğinde açık paylaşılan adları koruyabilir. Aynı çözümlenmiş yol hem `memory.qmd.paths` hem de `memorySearch.qmd.extraCollections` içinde görünürse, QMD ilk girdiyi korur ve @@ -300,136 +301,135 @@ yineleneni atlar. ## Çok modlu bellek (Gemini) -Gemini Embedding 2 kullanarak Markdown ile birlikte görselleri ve sesi indeksleyin: +Gemini Embedding 2 kullanarak Markdown ile birlikte görüntüleri ve sesi dizinleyin: -| Anahtar | Tür | Varsayılan | Açıklama | -| ------------------------ | ---------- | ---------- | -------------------------------------- | -| `multimodal.enabled` | `boolean` | `false` | Çok modlu indekslemeyi etkinleştirir | -| `multimodal.modalities` | `string[]` | -- | `["image"]`, `["audio"]` veya `["all"]` | -| `multimodal.maxFileBytes` | `number` | `10000000` | İndeksleme için maksimum dosya boyutu | +| Anahtar | Tür | Varsayılan | Açıklama | +| ------------------------- | ---------- | ---------- | -------------------------------------- | +| `multimodal.enabled` | `boolean` | `false` | Çok modlu dizinlemeyi etkinleştirir | +| `multimodal.modalities` | `string[]` | -- | `["image"]`, `["audio"]` veya `["all"]` | +| `multimodal.maxFileBytes` | `number` | `10000000` | Dizinleme için en büyük dosya boyutu | -Yalnızca `extraPaths` içindeki dosyalar için geçerlidir. Varsayılan bellek kökleri yalnızca Markdown'dur. -`gemini-embedding-2-preview` gerektirir. `fallback`, `"none"` olmalıdır. +Yalnızca `extraPaths` içindeki dosyalara uygulanır. Varsayılan bellek kökleri yalnızca Markdown olarak kalır. +`gemini-embedding-2-preview` gerektirir. `fallback` değeri `"none"` olmalıdır. Desteklenen biçimler: `.jpg`, `.jpeg`, `.png`, `.webp`, `.gif`, `.heic`, `.heif` -(görseller); `.mp3`, `.wav`, `.ogg`, `.opus`, `.m4a`, `.aac`, `.flac` (ses). +(görüntüler); `.mp3`, `.wav`, `.ogg`, `.opus`, `.m4a`, `.aac`, `.flac` (ses). --- -## Embedding önbelleği +## Gömme önbelleği -| Anahtar | Tür | Varsayılan | Açıklama | -| ----------------- | --------- | ---------- | ------------------------------------- | -| `cache.enabled` | `boolean` | `false` | SQLite içinde chunk embedding'lerini önbelleğe alır | -| `cache.maxEntries` | `number` | `50000` | Maksimum önbelleğe alınmış embedding sayısı | +| Anahtar | Tür | Varsayılan | Açıklama | +| ----------------- | --------- | ---------- | -------------------------------------- | +| `cache.enabled` | `boolean` | `false` | Parça gömmelerini SQLite içinde önbelleğe alır | +| `cache.maxEntries` | `number` | `50000` | En fazla önbelleğe alınan gömme sayısı | -Yeniden indeksleme veya transkript güncellemeleri sırasında değişmemiş metnin yeniden embedding işleminden geçmesini önler. +Yeniden dizinleme veya döküm güncellemeleri sırasında değişmemiş metnin yeniden gömülmesini önler. --- -## Toplu indeksleme +## Toplu dizinleme -| Anahtar | Tür | Varsayılan | Açıklama | -| ---------------------------- | --------- | ---------- | ------------------------- | -| `remote.batch.enabled` | `boolean` | `false` | Toplu embedding API'sini etkinleştirir | -| `remote.batch.concurrency` | `number` | `2` | Paralel toplu işler | +| Anahtar | Tür | Varsayılan | Açıklama | +| ---------------------------- | --------- | ---------- | --------------------------- | +| `remote.batch.enabled` | `boolean` | `false` | Toplu gömme API'sini etkinleştirir | +| `remote.batch.concurrency` | `number` | `2` | Paralel toplu işler | | `remote.batch.wait` | `boolean` | `true` | Toplu işlemin tamamlanmasını bekler | -| `remote.batch.pollIntervalMs` | `number` | -- | Yoklama aralığı | -| `remote.batch.timeoutMinutes` | `number` | -- | Toplu işlem zaman aşımı | +| `remote.batch.pollIntervalMs` | `number` | -- | Yoklama aralığı | +| `remote.batch.timeoutMinutes` | `number` | -- | Toplu işlem zaman aşımı | -`openai`, `gemini` ve `voyage` için kullanılabilir. OpenAI toplu işlem genellikle -büyük geri doldurmalar için en hızlı ve en ucuz seçenektir. +`openai`, `gemini` ve `voyage` için kullanılabilir. OpenAI toplu işlem, büyük geriye dönük doldurmalarda genellikle +en hızlı ve en ucuz seçenektir. --- -## Oturum bellek araması (deneysel) +## Oturum belleği araması (deneysel) -Oturum transkriptlerini indeksleyin ve bunları `memory_search` üzerinden sunun: +Oturum dökümlerini dizinleyin ve bunları `memory_search` üzerinden gösterin: -| Anahtar | Tür | Varsayılan | Açıklama | -| ---------------------------- | ---------- | ------------ | ------------------------------------- | -| `experimental.sessionMemory` | `boolean` | `false` | Oturum indekslemeyi etkinleştirir | -| `sources` | `string[]` | `["memory"]` | Transkriptleri dahil etmek için `"sessions"` ekleyin | -| `sync.sessions.deltaBytes` | `number` | `100000` | Yeniden indeksleme için bayt eşiği | -| `sync.sessions.deltaMessages` | `number` | `50` | Yeniden indeksleme için mesaj eşiği | +| Anahtar | Tür | Varsayılan | Açıklama | +| --------------------------- | ---------- | ------------ | ---------------------------------------- | +| `experimental.sessionMemory` | `boolean` | `false` | Oturum dizinlemeyi etkinleştirir | +| `sources` | `string[]` | `["memory"]` | Dökümleri dahil etmek için `"sessions"` ekleyin | +| `sync.sessions.deltaBytes` | `number` | `100000` | Yeniden dizinleme için bayt eşiği | +| `sync.sessions.deltaMessages` | `number` | `50` | Yeniden dizinleme için ileti eşiği | -Oturum indeksleme opt-in'dir ve async çalışır. Sonuçlar biraz eski -olabilir. Oturum log'ları diskte tutulur, bu nedenle güven sınırı olarak -dosya sistemi erişimini değerlendirin. +Oturum dizinleme isteğe bağlıdır ve eşzamansız çalışır. Sonuçlar bir miktar eski olabilir. +Oturum günlükleri diskte bulunduğundan, dosya sistemi erişimini güven +sınırı olarak değerlendirin. --- ## SQLite vektör hızlandırma (`sqlite-vec`) -| Anahtar | Tür | Varsayılan | Açıklama | -| --------------------------- | --------- | ---------- | ------------------------------- | -| `store.vector.enabled` | `boolean` | `true` | Vektör sorguları için `sqlite-vec` kullanır | -| `store.vector.extensionPath` | `string` | paketlenmiş | `sqlite-vec` yolunu geçersiz kılar | +| Anahtar | Tür | Varsayılan | Açıklama | +| -------------------------- | --------- | ---------- | ------------------------------------- | +| `store.vector.enabled` | `boolean` | `true` | Vektör sorguları için `sqlite-vec` kullanır | +| `store.vector.extensionPath` | `string` | bundled | `sqlite-vec` yolunu geçersiz kılar | -`sqlite-vec` kullanılamadığında OpenClaw otomatik olarak süreç içi cosine -similarity yöntemine geri döner. +`sqlite-vec` kullanılamadığında OpenClaw otomatik olarak süreç içi kosinüs +benzerliğine geri döner. --- -## İndeks depolama +## Dizin depolama -| Anahtar | Tür | Varsayılan | Açıklama | -| -------------------- | -------- | ------------------------------------- | ---------------------------------------- | -| `store.path` | `string` | `~/.openclaw/memory/{agentId}.sqlite` | İndeks konumu (`{agentId}` token'ını destekler) | -| `store.fts.tokenizer` | `string` | `unicode61` | FTS5 tokenizer (`unicode61` veya `trigram`) | +| Anahtar | Tür | Varsayılan | Açıklama | +| -------------------- | -------- | ------------------------------------- | --------------------------------------------- | +| `store.path` | `string` | `~/.openclaw/memory/{agentId}.sqlite` | Dizin konumu (`{agentId}` belirtecini destekler) | +| `store.fts.tokenizer` | `string` | `unicode61` | FTS5 tokenizer'ı (`unicode61` veya `trigram`) | --- -## QMD backend yapılandırması +## QMD arka uç yapılandırması Etkinleştirmek için `memory.backend = "qmd"` ayarlayın. Tüm QMD ayarları `memory.qmd` altında bulunur: -| Anahtar | Tür | Varsayılan | Açıklama | -| ----------------------- | --------- | ---------- | ------------------------------------------ | -| `command` | `string` | `qmd` | QMD çalıştırılabilir dosya yolu | -| `searchMode` | `string` | `search` | Arama komutu: `search`, `vsearch`, `query` | -| `includeDefaultMemory` | `boolean` | `true` | `MEMORY.md` + `memory/**/*.md` dosyalarını otomatik indeksler | -| `paths[]` | `array` | -- | Ek yollar: `{ name, path, pattern? }` | -| `sessions.enabled` | `boolean` | `false` | Oturum transkriptlerini indeksler | -| `sessions.retentionDays` | `number` | -- | Transkript saklama süresi | -| `sessions.exportDir` | `string` | -- | Dışa aktarma dizini | +| Anahtar | Tür | Varsayılan | Açıklama | +| ----------------------- | --------- | ---------- | --------------------------------------------- | +| `command` | `string` | `qmd` | QMD çalıştırılabilir dosya yolu | +| `searchMode` | `string` | `search` | Arama komutu: `search`, `vsearch`, `query` | +| `includeDefaultMemory` | `boolean` | `true` | `MEMORY.md` + `memory/**/*.md` otomatik dizinler | +| `paths[]` | `array` | -- | Ek yollar: `{ name, path, pattern? }` | +| `sessions.enabled` | `boolean` | `false` | Oturum dökümlerini dizinler | +| `sessions.retentionDays` | `number` | -- | Döküm saklama süresi | +| `sessions.exportDir` | `string` | -- | Dışa aktarma dizini | -OpenClaw, güncel QMD koleksiyonu ve MCP sorgu biçimlerini tercih eder, ancak -gerektiğinde eski `--mask` koleksiyon bayraklarına -ve eski MCP araç adlarına geri dönerek eski QMD sürümlerini de çalışır durumda tutar. +OpenClaw, geçerli QMD koleksiyonu ve MCP sorgu biçimlerini tercih eder, ancak +gerektiğinde eski `--mask` koleksiyon bayraklarına ve daha eski MCP araç adlarına geri dönerek +eski QMD sürümlerini de çalışır durumda tutar. -QMD model geçersiz kılmaları OpenClaw yapılandırmasında değil, QMD tarafında kalır. QMD'nin -modellerini genel olarak geçersiz kılmanız gerekiyorsa, -Gateway çalışma zamanı ortamında `QMD_EMBED_MODEL`, `QMD_RERANK_MODEL` ve `QMD_GENERATE_MODEL` -gibi ortam değişkenlerini ayarlayın. +QMD model geçersiz kılmaları OpenClaw yapılandırmasında değil, QMD tarafında kalır. QMD'nin modellerini +genel olarak geçersiz kılmanız gerekiyorsa, ağ geçidi çalışma zamanı ortamında +`QMD_EMBED_MODEL`, `QMD_RERANK_MODEL` ve `QMD_GENERATE_MODEL` gibi ortam değişkenlerini ayarlayın. ### Güncelleme zamanlaması -| Anahtar | Tür | Varsayılan | Açıklama | -| ------------------------ | --------- | ---------- | ---------------------------------- | -| `update.interval` | `string` | `5m` | Yenileme aralığı | +| Anahtar | Tür | Varsayılan | Açıklama | +| ------------------------ | --------- | ---------- | ------------------------------------ | +| `update.interval` | `string` | `5m` | Yenileme aralığı | | `update.debounceMs` | `number` | `15000` | Dosya değişikliklerini debounce eder | -| `update.onBoot` | `boolean` | `true` | Başlangıçta yeniler | +| `update.onBoot` | `boolean` | `true` | Başlangıçta yeniler | | `update.waitForBootSync` | `boolean` | `false` | Yenileme tamamlanana kadar başlangıcı engeller | -| `update.embedInterval` | `string` | -- | Ayrı embedding sıklığı | -| `update.commandTimeoutMs` | `number` | -- | QMD komutları için zaman aşımı | +| `update.embedInterval` | `string` | -- | Ayrı gömme sıklığı | +| `update.commandTimeoutMs` | `number` | -- | QMD komutları için zaman aşımı | | `update.updateTimeoutMs` | `number` | -- | QMD güncelleme işlemleri için zaman aşımı | -| `update.embedTimeoutMs` | `number` | -- | QMD embedding işlemleri için zaman aşımı | +| `update.embedTimeoutMs` | `number` | -- | QMD gömme işlemleri için zaman aşımı | ### Sınırlar -| Anahtar | Tür | Varsayılan | Açıklama | -| ------------------------ | -------- | ---------- | ---------------------------- | -| `limits.maxResults` | `number` | `6` | Maksimum arama sonucu | -| `limits.maxSnippetChars` | `number` | -- | Snippet uzunluğunu sınırlar | -| `limits.maxInjectedChars` | `number` | -- | Toplam enjekte edilen karakterleri sınırlar | -| `limits.timeoutMs` | `number` | `4000` | Arama zaman aşımı | +| Anahtar | Tür | Varsayılan | Açıklama | +| ------------------------ | -------- | ---------- | -------------------------------- | +| `limits.maxResults` | `number` | `6` | En fazla arama sonucu | +| `limits.maxSnippetChars` | `number` | -- | Parça uzunluğunu sınırlar | +| `limits.maxInjectedChars` | `number` | -- | Enjekte edilen toplam karakteri sınırlar | +| `limits.timeoutMs` | `number` | `4000` | Arama zaman aşımı | ### Kapsam -Hangi oturumların QMD arama sonuçları alabileceğini denetler. Şema, -[`session.sendPolicy`](/tr/gateway/configuration-reference#session) ile aynıdır: +Hangi oturumların QMD arama sonuçları alabileceğini denetler. Şununla aynı şemayı kullanır: +[`session.sendPolicy`](/tr/gateway/configuration-reference#session): ```json5 { @@ -444,20 +444,20 @@ Hangi oturumların QMD arama sonuçları alabileceğini denetler. Şema, } ``` -Gönderilen varsayılan yapılandırma, grupları yine reddederken doğrudan ve kanal oturumlarına izin verir. +Yayınlanan varsayılan, grupları yine reddederken doğrudan ve kanal oturumlarına izin verir. -Varsayılan yalnızca DM'dir. `match.keyPrefix`, normalize edilmiş session key ile eşleşir; -`match.rawKeyPrefix`, `agent::` dahil ham anahtarla eşleşir. +Varsayılan DM-only'dir. `match.keyPrefix` normalize edilmiş oturum anahtarıyla eşleşir; +`match.rawKeyPrefix` ise `agent::` dahil ham anahtarla eşleşir. -### Atıflar +### Alıntılar -`memory.citations` tüm backend'lere uygulanır: +`memory.citations` tüm arka uçlara uygulanır: -| Değer | Davranış | -| ---------------- | ------------------------------------------------ | -| `auto` (varsayılan) | Snippet'lara `Source: ` alt bilgisini ekler | -| `on` | Alt bilgiyi her zaman ekler | -| `off` | Alt bilgiyi çıkarır (yol yine de dahili olarak agent'a aktarılır) | +| Değer | Davranış | +| ---------------- | ----------------------------------------------- | +| `auto` (varsayılan) | Parçalara `Source: ` altbilgisini ekler | +| `on` | Altbilgiyi her zaman ekler | +| `off` | Altbilgiyi çıkarır (yol yine de içten içe ajana iletilir) | ### Tam QMD örneği @@ -482,20 +482,20 @@ Varsayılan yalnızca DM'dir. `match.keyPrefix`, normalize edilmiş session key --- -## Dreaming (deneysel) +## Dreaming Dreaming, `agents.defaults.memorySearch` altında değil, `plugins.entries.memory-core.config.dreaming` altında yapılandırılır. -Dreaming, tek bir zamanlanmış tarama olarak çalışır ve dahili light/deep/REM aşamalarını +Dreaming, zamanlanmış tek bir tarama olarak çalışır ve dahili light/deep/REM aşamalarını uygulama ayrıntısı olarak kullanır. -Kavramsal davranış ve slash komutlar için bkz. [Dreaming](/tr/concepts/dreaming). +Kavramsal davranış ve eğik çizgi komutları için [Dreaming](/tr/concepts/dreaming) bölümüne bakın. ### Kullanıcı ayarları -| Anahtar | Tür | Varsayılan | Açıklama | -| ---------- | --------- | ----------- | ---------------------------------------------- | +| Anahtar | Tür | Varsayılan | Açıklama | +| ---------- | --------- | ----------- | --------------------------------------------- | | `enabled` | `boolean` | `false` | Dreaming'i tamamen etkinleştirir veya devre dışı bırakır | | `frequency` | `string` | `0 3 * * *` | Tam Dreaming taraması için isteğe bağlı Cron sıklığı | @@ -520,6 +520,6 @@ Kavramsal davranış ve slash komutlar için bkz. [Dreaming](/tr/concepts/dreami Notlar: -- Dreaming, makine durumunu `memory/.dreams/` içine yazar. -- Dreaming, insan tarafından okunabilir anlatı çıktısını `DREAMS.md` (veya mevcut `dreams.md`) içine yazar. -- Light/deep/REM aşama politikası ve eşikleri dahili davranıştır, kullanıcıya dönük yapılandırma değildir. +- Dreaming makine durumunu `memory/.dreams/` içine yazar. +- Dreaming insan tarafından okunabilir anlatı çıktısını `DREAMS.md` (veya mevcut `dreams.md`) dosyasına yazar. +- light/deep/REM aşama politikası ve eşikler, kullanıcıya dönük yapılandırma değil, dahili davranıştır. diff --git a/docs/tr/reference/wizard.md b/docs/tr/reference/wizard.md index 610c10a0f..ded5a2b21 100644 --- a/docs/tr/reference/wizard.md +++ b/docs/tr/reference/wizard.md @@ -1,155 +1,155 @@ --- read_when: - - Belirli bir onboarding adımını veya işaretini arıyorsanız - - Onboarding'i etkileşimsiz modla otomatikleştiriyorsanız - - Onboarding davranışında hata ayıklıyorsanız + - Belirli bir ilk kurulum adımını veya bayrağını arıyorsunuz + - Etkileşimsiz mod ile ilk kurulumu otomatikleştirme + - İlk kurulum davranışında hata ayıklama sidebarTitle: Onboarding Reference -summary: 'CLI onboarding için tam başvuru: her adım, işaret ve yapılandırma alanı' -title: Onboarding Başvurusu +summary: 'CLI ile ilk kurulum için tam başvuru: her adım, bayrak ve yapılandırma alanı' +title: İlk Kurulum Başvurusu x-i18n: - generated_at: "2026-04-07T08:50:13Z" + generated_at: "2026-04-15T14:41:02Z" model: gpt-5.4 provider: openai - source_hash: a142b9ec4323fabb9982d05b64375d2b4a4007dffc910acbee3a38ff871a7236 + source_hash: 1db3ff789422617634e6624f9d12c18b6a6c573721226b9c0fa6f6b7956ef33d source_path: reference/wizard.md workflow: 15 --- -# Onboarding Başvurusu +# İlk Kurulum Başvurusu -Bu, `openclaw onboard` için tam başvurudur. -Üst düzey bir genel bakış için bkz. [Onboarding (CLI)](/tr/start/wizard). +Bu, `openclaw onboard` için tam başvuru kılavuzudur. +Yüksek seviyeli bir genel bakış için bkz. [Onboarding (CLI)](/tr/start/wizard). ## Akış ayrıntıları (yerel mod) - - `~/.openclaw/openclaw.json` varsa **Keep / Modify / Reset** seçeneklerinden birini seçin. - - Onboarding'i yeniden çalıştırmak, açıkça **Reset** seçmediğiniz sürece - (veya `--reset` geçmediğiniz sürece) hiçbir şeyi silmez. + - `~/.openclaw/openclaw.json` varsa **Koru / Değiştir / Sıfırla** seçeneklerinden birini seçin. + - İlk kurulumu yeniden çalıştırmak, açıkça **Sıfırla** seçmediğiniz sürece hiçbir şeyi silmez + (veya `--reset` geçmediğiniz sürece). - CLI `--reset` varsayılan olarak `config+creds+sessions` kullanır; çalışma alanını da kaldırmak için `--reset-scope full` kullanın. - - Yapılandırma geçersizse veya eski anahtarlar içeriyorsa wizard durur ve + - Yapılandırma geçersizse veya eski anahtarlar içeriyorsa, sihirbaz durur ve devam etmeden önce `openclaw doctor` çalıştırmanızı ister. - - Reset, `trash` kullanır (`rm` asla kullanılmaz) ve şu kapsamları sunar: + - Sıfırlama, `trash` kullanır (`rm` asla kullanılmaz) ve şu kapsamları sunar: - Yalnızca yapılandırma - Yapılandırma + kimlik bilgileri + oturumlar - Tam sıfırlama (çalışma alanını da kaldırır) - - - **Anthropic API key**: varsa `ANTHROPIC_API_KEY` kullanır veya bir anahtar ister, ardından daemon kullanımı için kaydeder. - - **Anthropic API key**: onboarding/configure içinde tercih edilen Anthropic asistan seçimi. - - **Anthropic setup-token**: onboarding/configure içinde hâlâ kullanılabilir, ancak OpenClaw artık mümkün olduğunda Claude CLI yeniden kullanımını tercih eder. - - **OpenAI Code (Codex) subscription (Codex CLI)**: `~/.codex/auth.json` varsa onboarding bunu yeniden kullanabilir. Yeniden kullanılan Codex CLI kimlik bilgileri Codex CLI tarafından yönetilmeye devam eder; süreleri dolduğunda OpenClaw önce bu kaynağı yeniden okur ve provider bunu yenileyebiliyorsa, sahipliğini almak yerine yenilenmiş kimlik bilgisini tekrar Codex depolamasına yazar. - - **OpenAI Code (Codex) subscription (OAuth)**: tarayıcı akışı; `code#state` değerini yapıştırın. - - Model ayarlanmamışsa veya `openai/*` ise `agents.defaults.model` değerini `openai-codex/gpt-5.4` olarak ayarlar. - - **OpenAI API key**: varsa `OPENAI_API_KEY` kullanır veya bir anahtar ister, ardından bunu auth profillerinde saklar. - - Model ayarlanmamışsa, `openai/*` veya `openai-codex/*` ise `agents.defaults.model` değerini `openai/gpt-5.4` olarak ayarlar. - - **xAI (Grok) API key**: `XAI_API_KEY` ister ve xAI'ı model provider olarak yapılandırır. - - **OpenCode**: `OPENCODE_API_KEY` (veya `OPENCODE_ZEN_API_KEY`, bunu https://opencode.ai/auth adresinden alın) ister ve Zen veya Go kataloğunu seçmenize izin verir. - - **Ollama**: Ollama temel URL'sini ister, **Cloud + Local** veya **Local** modu sunar, kullanılabilir modelleri keşfeder ve gerektiğinde seçilen yerel modeli otomatik olarak çeker. + + - **Anthropic API anahtarı**: varsa `ANTHROPIC_API_KEY` kullanır veya bir anahtar ister, ardından daemon kullanımı için kaydeder. + - **Anthropic API anahtarı**: ilk kurulum/yapılandırmada tercih edilen Anthropic asistan seçimidir. + - **Anthropic setup-token**: ilk kurulum/yapılandırmada hâlâ kullanılabilir, ancak OpenClaw artık mevcut olduğunda Claude CLI yeniden kullanımını tercih eder. + - **OpenAI Code (Codex) aboneliği (Codex CLI)**: `~/.codex/auth.json` varsa ilk kurulum bunu yeniden kullanabilir. Yeniden kullanılan Codex CLI kimlik bilgileri Codex CLI tarafından yönetilmeye devam eder; süresi dolduğunda OpenClaw önce bu kaynağı yeniden okur ve sağlayıcı bunu yenileyebiliyorsa, yenilenen kimlik bilgisini kendisi sahiplenmek yerine tekrar Codex depolamasına yazar. + - **OpenAI Code (Codex) aboneliği (OAuth)**: tarayıcı akışı; `code#state` değerini yapıştırın. + - Model ayarlanmamışsa veya `openai/*` ise `agents.defaults.model` alanını `openai-codex/gpt-5.4` olarak ayarlar. + - **OpenAI API anahtarı**: varsa `OPENAI_API_KEY` kullanır veya bir anahtar ister, ardından bunu auth profillerinde saklar. + - Model ayarlanmamışsa, `openai/*` ise veya `openai-codex/*` ise `agents.defaults.model` alanını `openai/gpt-5.4` olarak ayarlar. + - **xAI (Grok) API anahtarı**: `XAI_API_KEY` ister ve xAI'ı model sağlayıcısı olarak yapılandırır. + - **OpenCode**: `OPENCODE_API_KEY` (veya `OPENCODE_ZEN_API_KEY`, almak için https://opencode.ai/auth adresine gidin) ister ve Zen veya Go kataloğunu seçmenize olanak tanır. + - **Ollama**: önce **Cloud + Local**, **Yalnızca Cloud** veya **Yalnızca Local** seçeneklerini sunar. `Yalnızca Cloud`, `OLLAMA_API_KEY` ister ve `https://ollama.com` kullanır; host destekli modlar Ollama temel URL'sini ister, kullanılabilir modelleri keşfeder ve gerektiğinde seçilen yerel modeli otomatik olarak çeker; `Cloud + Local` ayrıca bu Ollama hostunun Cloud erişimi için oturum açıp açmadığını da kontrol eder. - Daha fazla ayrıntı: [Ollama](/tr/providers/ollama) - - **API key**: anahtarı sizin için saklar. + - **API anahtarı**: anahtarı sizin için saklar. - **Vercel AI Gateway (çok modelli proxy)**: `AI_GATEWAY_API_KEY` ister. - Daha fazla ayrıntı: [Vercel AI Gateway](/tr/providers/vercel-ai-gateway) - **Cloudflare AI Gateway**: Account ID, Gateway ID ve `CLOUDFLARE_AI_GATEWAY_API_KEY` ister. - Daha fazla ayrıntı: [Cloudflare AI Gateway](/tr/providers/cloudflare-ai-gateway) - - **MiniMax**: yapılandırma otomatik olarak yazılır; barındırılan varsayılan `MiniMax-M2.7` olur. - API anahtarı kurulumu `minimax/...` kullanır, OAuth kurulumu ise + - **MiniMax**: yapılandırma otomatik yazılır; barındırılan varsayılan `MiniMax-M2.7`'dir. + API anahtarı kurulumu `minimax/...`, OAuth kurulumu ise `minimax-portal/...` kullanır. - Daha fazla ayrıntı: [MiniMax](/tr/providers/minimax) - - **StepFun**: yapılandırma, Çin veya küresel uç noktalarda StepFun standard veya Step Plan için otomatik yazılır. - - Standard şu anda `step-3.5-flash` içerir ve Step Plan ayrıca `step-3.5-flash-2603` içerir. + - **StepFun**: yapılandırma, Çin veya küresel uç noktalardaki standart StepFun veya Step Plan için otomatik yazılır. + - Standart şu anda `step-3.5-flash` içerir ve Step Plan ayrıca `step-3.5-flash-2603` içerir. - Daha fazla ayrıntı: [StepFun](/tr/providers/stepfun) - - **Synthetic (Anthropic-compatible)**: `SYNTHETIC_API_KEY` ister. + - **Synthetic (Anthropic uyumlu)**: `SYNTHETIC_API_KEY` ister. - Daha fazla ayrıntı: [Synthetic](/tr/providers/synthetic) - - **Moonshot (Kimi K2)**: yapılandırma otomatik olarak yazılır. - - **Kimi Coding**: yapılandırma otomatik olarak yazılır. + - **Moonshot (Kimi K2)**: yapılandırma otomatik yazılır. + - **Kimi Coding**: yapılandırma otomatik yazılır. - Daha fazla ayrıntı: [Moonshot AI (Kimi + Kimi Coding)](/tr/providers/moonshot) - - **Skip**: henüz auth yapılandırılmaz. - - Algılanan seçeneklerden varsayılan bir model seçin (veya provider/model'i elle girin). En iyi kalite ve daha düşük prompt injection riski için provider yığınınızda bulunan en güçlü yeni nesil modeli seçin. - - Onboarding bir model denetimi çalıştırır ve yapılandırılan model bilinmiyorsa veya auth eksikse uyarı verir. - - API anahtarı depolama modu varsayılan olarak düz metin auth-profile değerleri kullanır. Bunun yerine env destekli başvurular saklamak için `--secret-input-mode ref` kullanın (örneğin `keyRef: { source: "env", provider: "default", id: "OPENAI_API_KEY" }`). - - Auth profilleri `~/.openclaw/agents//agent/auth-profiles.json` içinde bulunur (API anahtarları + OAuth). `~/.openclaw/credentials/oauth.json` eski ve yalnızca içe aktarma içindir. + - **Atla**: henüz kimlik doğrulama yapılandırılmaz. + - Algılanan seçeneklerden varsayılan bir model seçin (veya sağlayıcı/model bilgisini elle girin). En iyi kalite ve daha düşük istem enjeksiyonu riski için, sağlayıcı yığınınızda bulunan en güçlü yeni nesil modeli seçin. + - İlk kurulum bir model denetimi çalıştırır ve yapılandırılan model bilinmiyorsa veya kimlik doğrulama eksikse uyarı verir. + - API anahtarı depolama modu varsayılan olarak düz metin auth-profile değerlerini kullanır. Bunun yerine env destekli referanslar depolamak için `--secret-input-mode ref` kullanın (örneğin `keyRef: { source: "env", provider: "default", id: "OPENAI_API_KEY" }`). + - Auth profilleri `~/.openclaw/agents//agent/auth-profiles.json` içinde bulunur (API anahtarları + OAuth). `~/.openclaw/credentials/oauth.json` yalnızca eski içe aktarma için kullanılır. - Daha fazla ayrıntı: [/concepts/oauth](/tr/concepts/oauth) - Headless/sunucu ipucu: OAuth'u tarayıcısı olan bir makinede tamamlayın, sonra - o ajanın `auth-profiles.json` dosyasını (örneğin + Başsız/sunucu ipucu: OAuth'u tarayıcısı olan bir makinede tamamlayın, sonra + bu ajanın `auth-profiles.json` dosyasını (örneğin `~/.openclaw/agents//agent/auth-profiles.json` veya eşleşen - `$OPENCLAW_STATE_DIR/...` yolu) gateway ana makinesine kopyalayın. `credentials/oauth.json` + `$OPENCLAW_STATE_DIR/...` yolu) Gateway hostuna kopyalayın. `credentials/oauth.json` yalnızca eski bir içe aktarma kaynağıdır. - Varsayılan `~/.openclaw/workspace` (yapılandırılabilir). - - Ajan bootstrap ritüeli için gereken çalışma alanı dosyalarını yerleştirir. + - Ajan önyükleme ritüeli için gereken çalışma alanı dosyalarını tohumlar. - Tam çalışma alanı düzeni + yedekleme kılavuzu: [Agent workspace](/tr/concepts/agent-workspace) - - Port, bind, auth modu, Tailscale yayını. - - Auth önerisi: yerel WS istemcilerinin kimlik doğrulaması yapması için loopback üzerinde bile **Token** kullanın. + - Port, bind, auth modu, Tailscale görünürlüğü. + - Kimlik doğrulama önerisi: yerel WS istemcilerinin kimlik doğrulaması yapması gereksin diye loopback için bile **Token** kullanın. - Token modunda etkileşimli kurulum şunları sunar: - - **Generate/store plaintext token** (varsayılan) - - **Use SecretRef** (isteğe bağlı) - - Hızlı başlangıç, onboarding probe/dashboard bootstrap için `env`, `file` ve `exec` provider'ları genelinde mevcut `gateway.auth.token` SecretRef'lerini yeniden kullanır. - - Bu SecretRef yapılandırılmışsa ancak çözümlenemiyorsa onboarding, çalışma zamanı auth'unu sessizce zayıflatmak yerine net bir düzeltme iletisiyle erken başarısız olur. - - Parola modunda etkileşimli kurulum, düz metin veya SecretRef depolamayı da destekler. + - **Düz metin token oluştur/sakla** (varsayılan) + - **SecretRef kullan** (isteğe bağlı) + - Hızlı başlangıç, ilk kurulum yoklaması/pano önyüklemesi için `env`, `file` ve `exec` sağlayıcıları genelinde mevcut `gateway.auth.token` SecretRef'lerini yeniden kullanır. + - Bu SecretRef yapılandırılmışsa ancak çözümlenemiyorsa, ilk kurulum çalışma zamanı kimlik doğrulamasını sessizce zayıflatmak yerine açık bir düzeltme mesajıyla erkenden başarısız olur. + - Parola modunda etkileşimli kurulum da düz metin veya SecretRef depolamayı destekler. - Etkileşimsiz token SecretRef yolu: `--gateway-token-ref-env `. - - Onboarding süreç ortamında boş olmayan bir env değişkeni gerektirir. + - İlk kurulum işlem ortamında boş olmayan bir ortam değişkeni gerektirir. - `--gateway-token` ile birlikte kullanılamaz. - - Auth'u yalnızca tüm yerel süreçlere tamamen güveniyorsanız devre dışı bırakın. - - Loopback olmayan bind'ler yine de auth gerektirir. + - Yalnızca her yerel sürece tamamen güveniyorsanız kimlik doğrulamayı devre dışı bırakın. + - Loopback dışı bind'ler yine de kimlik doğrulama gerektirir. - - [WhatsApp](/tr/channels/whatsapp): isteğe bağlı QR oturumu açma. - - [Telegram](/tr/channels/telegram): bot token. - - [Discord](/tr/channels/discord): bot token. - - [Google Chat](/tr/channels/googlechat): service account JSON + webhook audience. - - [Mattermost](/tr/channels/mattermost) (plugin): bot token + temel URL. + - [WhatsApp](/tr/channels/whatsapp): isteğe bağlı QR girişi. + - [Telegram](/tr/channels/telegram): bot token'ı. + - [Discord](/tr/channels/discord): bot token'ı. + - [Google Chat](/tr/channels/googlechat): hizmet hesabı JSON'u + webhook audience. + - [Mattermost](/tr/channels/mattermost) (Plugin): bot token'ı + temel URL. - [Signal](/tr/channels/signal): isteğe bağlı `signal-cli` kurulumu + hesap yapılandırması. - [BlueBubbles](/tr/channels/bluebubbles): **iMessage için önerilir**; sunucu URL'si + parola + webhook. - - [iMessage](/tr/channels/imessage): eski `imsg` CLI yolu + DB erişimi. - - DM güvenliği: varsayılan eşleştirmedir. İlk DM bir kod gönderir; bunu `openclaw pairing approve ` ile onaylayın veya izin listeleri kullanın. + - [iMessage](/tr/channels/imessage): eski `imsg` CLI yolu + VT erişimi. + - DM güvenliği: varsayılan eşleştirmedir. İlk DM bir kod gönderir; `openclaw pairing approve ` ile onaylayın veya izin listeleri kullanın. - - - Brave, DuckDuckGo, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Ollama Web Search, Perplexity, SearXNG veya Tavily gibi desteklenen bir provider seçin (veya atlayın). - - API destekli provider'lar hızlı kurulum için env değişkenleri veya mevcut yapılandırmayı kullanabilir; anahtarsız provider'lar bunun yerine provider'a özgü ön koşullarını kullanır. + + - Brave, DuckDuckGo, Exa, Firecrawl, Gemini, Grok, Kimi, MiniMax Search, Ollama Web Search, Perplexity, SearXNG veya Tavily gibi desteklenen bir sağlayıcı seçin (veya atlayın). + - API destekli sağlayıcılar hızlı kurulum için ortam değişkenlerini veya mevcut yapılandırmayı kullanabilir; anahtarsız sağlayıcılar bunun yerine sağlayıcıya özgü önkoşullarını kullanır. - `--skip-search` ile atlayın. - Daha sonra yapılandırın: `openclaw configure --section web`. - macOS: LaunchAgent - - Oturum açılmış bir kullanıcı oturumu gerektirir; headless için özel bir LaunchDaemon kullanın (gönderilmez). - - Linux (ve Windows üzerinden WSL2): systemd user unit - - Onboarding, Gateway'in oturum kapatıldıktan sonra da çalışmaya devam etmesi için `loginctl enable-linger ` komutuyla lingering'i etkinleştirmeye çalışır. - - sudo isteyebilir (`/var/lib/systemd/linger` yazar); önce sudo olmadan dener. + - Oturum açılmış bir kullanıcı oturumu gerektirir; başsız kullanım için özel bir LaunchDaemon gerekir (paketlenmez). + - Linux (ve Windows üzerinden WSL2): systemd kullanıcı birimi + - İlk kurulum, çıkış yaptıktan sonra da Gateway çalışmaya devam etsin diye `loginctl enable-linger ` komutunu etkinleştirmeyi dener. + - Sudo isteyebilir (`/var/lib/systemd/linger` yazar); önce sudo olmadan dener. - **Çalışma zamanı seçimi:** Node (önerilir; WhatsApp/Telegram için gereklidir). Bun **önerilmez**. - - Token auth bir token gerektiriyorsa ve `gateway.auth.token` SecretRef ile yönetiliyorsa daemon kurulumu bunu doğrular ancak çözümlenmiş düz metin token değerlerini supervisor hizmet ortam meta verisine kalıcı olarak yazmaz. - - Token auth bir token gerektiriyorsa ve yapılandırılmış token SecretRef çözümlenmemişse daemon kurulumu eyleme geçirilebilir yönlendirmeyle engellenir. - - Hem `gateway.auth.token` hem `gateway.auth.password` yapılandırılmışsa ve `gateway.auth.mode` ayarlanmamışsa, mod açıkça ayarlanana kadar daemon kurulumu engellenir. + - Token kimlik doğrulaması bir token gerektiriyorsa ve `gateway.auth.token` SecretRef ile yönetiliyorsa, daemon kurulumu bunu doğrular ancak çözümlenen düz metin token değerlerini supervisor hizmet ortamı meta verisine kalıcı olarak yazmaz. + - Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılmış token SecretRef çözümlenmemişse, daemon kurulumu eyleme geçirilebilir yönlendirme ile engellenir. + - 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 daemon kurulumu engellenir. - - Gateway'i başlatır (gerekiyorsa) ve `openclaw health` çalıştırır. - - İpucu: `openclaw status --deep`, desteklendiğinde kanal probları dahil olmak üzere canlı gateway sağlık probunu durum çıktısına ekler (erişilebilir bir gateway gerektirir). + - Gateway'i başlatır (gerekirse) ve `openclaw health` çalıştırır. + - İpucu: `openclaw status --deep`, desteklendiğinde kanal yoklamaları da dahil olmak üzere canlı Gateway sağlık yoklamasını durum çıktısına ekler (erişilebilir bir Gateway gerektirir). - - Kullanılabilir skill'leri okur ve gereksinimleri denetler. - - Bir node manager seçmenize izin verir: **npm / pnpm** (bun önerilmez). - - İsteğe bağlı bağımlılıkları yükler (bazıları macOS'ta Homebrew kullanır). + - Kullanılabilir Skills öğelerini okur ve gereksinimleri denetler. + - Bir Node yöneticisi seçmenize olanak tanır: **npm / pnpm** (bun önerilmez). + - İsteğe bağlı bağımlılıkları kurar (bazıları macOS'ta Homebrew kullanır). - - Ek özellikler için iOS/Android/macOS uygulamaları dahil özet + sonraki adımlar. + - Ek özellikler için iOS/Android/macOS uygulamaları da dahil olmak üzere özet + sonraki adımlar. -GUI algılanmazsa onboarding, tarayıcı açmak yerine Control UI için SSH port-forward yönergeleri yazdırır. -Control UI varlıkları eksikse onboarding bunları derlemeye çalışır; geri dönüş komutu `pnpm ui:build` olur (UI bağımlılıklarını otomatik kurar). +GUI algılanmazsa, ilk kurulum tarayıcı açmak yerine Control UI için SSH port yönlendirme talimatlarını yazdırır. +Control UI varlıkları eksikse, ilk kurulum bunları oluşturmayı dener; geri dönüş komutu `pnpm ui:build` olur (UI bağımlılıklarını otomatik kurar). ## Etkileşimsiz mod -Onboarding'i otomatikleştirmek veya betiklemek için `--non-interactive` kullanın: +İlk kurulumu otomatikleştirmek veya betik haline getirmek için `--non-interactive` kullanın: ```bash openclaw onboard --non-interactive \ @@ -165,7 +165,7 @@ openclaw onboard --non-interactive \ Makine tarafından okunabilir bir özet için `--json` ekleyin. -Etkileşimsiz modda gateway token SecretRef: +Etkileşimsiz modda Gateway token SecretRef: ```bash export OPENCLAW_GATEWAY_TOKEN="your-token" @@ -182,8 +182,8 @@ openclaw onboard --non-interactive \ `--json`, etkileşimsiz modu **ima etmez**. Betikler için `--non-interactive` (ve `--workspace`) kullanın. -Provider'a özgü komut örnekleri [CLI Automation](/tr/start/wizard-cli-automation#provider-specific-examples) içinde bulunur. -İşaret semantiği ve adım sıralaması için bu başvuru sayfasını kullanın. +Sağlayıcıya özgü komut örnekleri [CLI Automation](/tr/start/wizard-cli-automation#provider-specific-examples) içinde bulunur. +Bayrak anlamları ve adım sıralaması için bu başvuru sayfasını kullanın. ### Ajan ekle (etkileşimsiz) @@ -196,39 +196,39 @@ openclaw agents add work \ --json ``` -## Gateway wizard RPC +## Gateway sihirbazı RPC -Gateway, onboarding akışını RPC üzerinden sunar (`wizard.start`, `wizard.next`, `wizard.cancel`, `wizard.status`). -İstemciler (macOS uygulaması, Control UI), onboarding mantığını yeniden uygulamadan adımları işleyebilir. +Gateway, ilk kurulum akışını RPC üzerinden sunar (`wizard.start`, `wizard.next`, `wizard.cancel`, `wizard.status`). +İstemciler (macOS uygulaması, Control UI), ilk kurulum mantığını yeniden uygulamadan adımları işleyebilir. -## Signal kurulumu (`signal-cli`) +## Signal kurulumu (signal-cli) -Onboarding, `signal-cli` uygulamasını GitHub sürümlerinden kurabilir: +İlk kurulum, `signal-cli` aracını GitHub sürümlerinden kurabilir: - Uygun sürüm varlığını indirir. -- Bunu `~/.openclaw/tools/signal-cli//` altında saklar. -- Yapılandırmanıza `channels.signal.cliPath` yazar. +- Bunu `~/.openclaw/tools/signal-cli//` altına kaydeder. +- `channels.signal.cliPath` alanını yapılandırmanıza yazar. Notlar: -- JVM derlemeleri **Java 21** gerektirir. -- Mümkün olduğunda yerel derlemeler kullanılır. -- Windows, WSL2 kullanır; `signal-cli` kurulumu WSL içindeki Linux akışını izler. +- JVM yapıları **Java 21** gerektirir. +- Mümkün olduğunda yerel yapılar kullanılır. +- Windows WSL2 kullanır; signal-cli kurulumu WSL içindeki Linux akışını izler. -## Wizard'ın yazdığı şeyler +## Sihirbazın yazdığı şeyler `~/.openclaw/openclaw.json` içindeki tipik alanlar: - `agents.defaults.workspace` - `agents.defaults.model` / `models.providers` (MiniMax seçildiyse) -- `tools.profile` (yerel onboarding, ayarlanmamışsa varsayılan olarak `"coding"` kullanır; mevcut açık değerler korunur) +- `tools.profile` (yerel ilk kurulum, ayarlanmamışsa varsayılan olarak `"coding"` kullanır; mevcut açık değerler korunur) - `gateway.*` (mod, bind, auth, tailscale) - `session.dmScope` (davranış ayrıntıları: [CLI Setup Reference](/tr/start/wizard-cli-reference#outputs-and-internals)) - `channels.telegram.botToken`, `channels.discord.token`, `channels.matrix.*`, `channels.signal.*`, `channels.imessage.*` -- İstemlerde katıldığınızda kanal izin listeleri (Slack/Discord/Matrix/Microsoft Teams) mümkün olduğunda adlardan kimliklere çözülür. +- İstemler sırasında seçerek etkinleştirdiğinizde kanal izin listeleri (Slack/Discord/Matrix/Microsoft Teams) (adlar mümkün olduğunda kimliklere çözülür). - `skills.install.nodeManager` - `setup --node-manager`, `npm`, `pnpm` veya `bun` kabul eder. - - El ile yapılandırma, `skills.install.nodeManager` doğrudan ayarlanarak yine de `yarn` kullanabilir. + - Elle yapılandırma, `skills.install.nodeManager` alanını doğrudan ayarlayarak hâlâ `yarn` kullanabilir. - `wizard.lastRunAt` - `wizard.lastRunVersion` - `wizard.lastRunCommit` @@ -240,13 +240,12 @@ Notlar: WhatsApp kimlik bilgileri `~/.openclaw/credentials/whatsapp//` altında bulunur. Oturumlar `~/.openclaw/agents//sessions/` altında saklanır. -Bazı kanallar plugin olarak sunulur. Kurulum sırasında birini seçtiğinizde onboarding, -yapılandırılmadan önce onu kurmanızı ister (npm veya yerel bir yol). +Bazı kanallar Plugin olarak sunulur. Kurulum sırasında bunlardan birini seçtiğinizde, yapılandırılabilmeden önce ilk kurulum onu yüklemenizi ister (npm veya yerel bir yol ile). ## İlgili belgeler -- Onboarding genel bakışı: [Onboarding (CLI)](/tr/start/wizard) -- macOS uygulaması onboarding'i: [Onboarding](/tr/start/onboarding) +- İlk kurulum genel bakışı: [Onboarding (CLI)](/tr/start/wizard) +- macOS uygulamasıyla ilk kurulum: [Onboarding](/tr/start/onboarding) - Yapılandırma başvurusu: [Gateway configuration](/tr/gateway/configuration) -- Provider'lar: [WhatsApp](/tr/channels/whatsapp), [Telegram](/tr/channels/telegram), [Discord](/tr/channels/discord), [Google Chat](/tr/channels/googlechat), [Signal](/tr/channels/signal), [BlueBubbles](/tr/channels/bluebubbles) (iMessage), [iMessage](/tr/channels/imessage) (eski) +- Sağlayıcılar: [WhatsApp](/tr/channels/whatsapp), [Telegram](/tr/channels/telegram), [Discord](/tr/channels/discord), [Google Chat](/tr/channels/googlechat), [Signal](/tr/channels/signal), [BlueBubbles](/tr/channels/bluebubbles) (iMessage), [iMessage](/tr/channels/imessage) (eski) - Skills: [Skills](/tr/tools/skills), [Skills config](/tr/tools/skills-config) diff --git a/docs/tr/start/wizard-cli-reference.md b/docs/tr/start/wizard-cli-reference.md index 92af6d245..e93851018 100644 --- a/docs/tr/start/wizard-cli-reference.md +++ b/docs/tr/start/wizard-cli-reference.md @@ -6,42 +6,42 @@ sidebarTitle: CLI reference summary: CLI kurulum akışı, kimlik doğrulama/model kurulumu, çıktılar ve iç yapılar için eksiksiz başvuru title: CLI Kurulum Başvurusu x-i18n: - generated_at: "2026-04-06T03:13:27Z" + generated_at: "2026-04-15T14:41:05Z" model: gpt-5.4 provider: openai - source_hash: 92f379b34a2b48c68335dae4f759117c770f018ec51b275f4f40421c6b3abb23 + source_hash: 61ca679caca3b43fa02388294007f89db22d343e49e10b61d8d118cd8fbb7369 source_path: start/wizard-cli-reference.md workflow: 15 --- # CLI Kurulum Başvurusu -Bu sayfa, `openclaw onboard` için tam başvurudur. +Bu sayfa, `openclaw onboard` için eksiksiz başvurudur. Kısa kılavuz için bkz. [Onboarding (CLI)](/tr/start/wizard). ## Sihirbaz ne yapar -Yerel kip (varsayılan) sizi şu adımlardan geçirir: +Yerel mod (varsayılan) size şu adımlarda rehberlik eder: -- Model ve kimlik doğrulama kurulumu (OpenAI Code abonelik OAuth, Anthropic Claude CLI veya API anahtarı, ayrıca MiniMax, GLM, Ollama, Moonshot, StepFun ve AI Gateway seçenekleri) -- Çalışma alanı konumu ve bootstrap dosyaları +- Model ve kimlik doğrulama kurulumu (OpenAI Code aboneliği OAuth’u, Anthropic Claude CLI veya API anahtarı, ayrıca MiniMax, GLM, Ollama, Moonshot, StepFun ve AI Gateway seçenekleri) +- Çalışma alanı konumu ve önyükleme dosyaları - Gateway ayarları (port, bind, auth, tailscale) -- Kanallar ve sağlayıcılar (Telegram, WhatsApp, Discord, Google Chat, Mattermost, Signal, BlueBubbles ve diğer paketlenmiş kanal plugin'leri) -- Daemon kurulumu (LaunchAgent, systemd kullanıcı birimi veya Startup-folder geri dönüşü olan yerel Windows Scheduled Task) -- Sağlık denetimi +- Kanallar ve sağlayıcılar (Telegram, WhatsApp, Discord, Google Chat, Mattermost, Signal, BlueBubbles ve diğer paketlenmiş kanal Plugin’leri) +- Artalan süreci kurulumu (LaunchAgent, systemd kullanıcı birimi veya Başlangıç klasörü geri dönüş seçeneği olan yerel Windows Scheduled Task) +- Durum denetimi - Skills kurulumu -Uzak kip, bu makineyi başka bir yerdeki gateway'e bağlanacak şekilde yapılandırır. -Uzak host üzerinde hiçbir şeyi kurmaz veya değiştirmez. +Uzak mod, bu makineyi başka bir yerdeki bir Gateway’e bağlanacak şekilde yapılandırır. +Uzak ana makinede hiçbir şey kurmaz veya değiştirmez. ## Yerel akış ayrıntıları - - `~/.openclaw/openclaw.json` mevcutsa Keep, Modify veya Reset seçeneklerinden birini seçin. - - Sihirbazı yeniden çalıştırmak, siz açıkça Reset seçmedikçe (veya `--reset` geçmedikçe) hiçbir şeyi silmez. + - `~/.openclaw/openclaw.json` mevcutsa Keep, Modify veya Reset seçeneklerinden birini belirleyin. + - Sihirbazı yeniden çalıştırmak, siz açıkça Reset seçmediğiniz sürece (veya `--reset` geçmediğiniz sürece) hiçbir şeyi silmez. - CLI `--reset` varsayılan olarak `config+creds+sessions` kullanır; çalışma alanını da kaldırmak için `--reset-scope full` kullanın. - - Yapılandırma geçersizse veya eski anahtarlar içeriyorsa, sihirbaz devam etmeden önce `openclaw doctor` çalıştırmanızı isteyerek durur. + - Yapılandırma geçersizse veya eski anahtarlar içeriyorsa, sihirbaz durur ve devam etmeden önce `openclaw doctor` çalıştırmanızı ister. - Reset, `trash` kullanır ve şu kapsamları sunar: - Yalnızca yapılandırma - Yapılandırma + kimlik bilgileri + oturumlar @@ -52,53 +52,52 @@ Uzak host üzerinde hiçbir şeyi kurmaz veya değiştirmez. - Varsayılan `~/.openclaw/workspace` (yapılandırılabilir). - - İlk çalıştırma bootstrap ritüeli için gereken çalışma alanı dosyalarını tohumlar. - - Çalışma alanı düzeni: [Agent çalışma alanı](/tr/concepts/agent-workspace). + - İlk çalıştırma önyükleme ritüeli için gereken çalışma alanı dosyalarını oluşturur. + - Çalışma alanı düzeni: [Ajan çalışma alanı](/tr/concepts/agent-workspace). - - Port, bind, auth kipi ve tailscale erişimi için istemde bulunur. - - Önerilen: loopback için bile belirteç kimlik doğrulamasını etkin tutun; böylece yerel WS istemcileri kimlik doğrulaması yapmak zorunda kalır. - - Belirteç kipinde, etkileşimli kurulum şunları sunar: - - **Düz metin belirteç oluştur/depola** (varsayılan) + - Port, bind, auth modu ve tailscale erişimi için istemde bulunur. + - Önerilen: yerel WS istemcilerinin kimlik doğrulaması yapmasını zorunlu kılmak için loopback üzerinde bile token auth etkin kalsın. + - Token modunda, etkileşimli kurulum şunları sunar: + - **Düz metin token oluştur/sakla** (varsayılan) - **SecretRef kullan** (isteğe bağlı) - - Parola kipinde, etkileşimli kurulum ayrıca düz metin veya SecretRef depolamayı destekler. - - Etkileşimsiz belirteç SecretRef yolu: `--gateway-token-ref-env `. - - Onboarding süreci ortamında boş olmayan bir ortam değişkeni gerektirir. + - Parola modunda, etkileşimli kurulum düz metin veya SecretRef depolamayı da destekler. + - Etkileşimsiz token SecretRef yolu: `--gateway-token-ref-env `. + - Onboarding işlem ortamında boş olmayan bir ortam değişkeni gerektirir. - `--gateway-token` ile birlikte kullanılamaz. - - Yalnızca tüm yerel süreçlere tamamen güveniyorsanız kimlik doğrulamayı devre dışı bırakın. - - Loopback dışı bind işlemleri hâlâ kimlik doğrulama gerektirir. + - Auth’u yalnızca her yerel sürece tamamen güveniyorsanız devre dışı bırakın. + - Loopback dışı bind’lerde de auth gereklidir. - - [WhatsApp](/tr/channels/whatsapp): isteğe bağlı QR oturum açma - - [Telegram](/tr/channels/telegram): bot belirteci - - [Discord](/tr/channels/discord): bot belirteci - - [Google Chat](/tr/channels/googlechat): hizmet hesabı JSON'u + webhook audience - - [Mattermost](/tr/channels/mattermost): bot belirteci + temel URL + - [WhatsApp](/tr/channels/whatsapp): isteğe bağlı QR girişi + - [Telegram](/tr/channels/telegram): bot token’ı + - [Discord](/tr/channels/discord): bot token’ı + - [Google Chat](/tr/channels/googlechat): hizmet hesabı JSON’u + Webhook audience + - [Mattermost](/tr/channels/mattermost): bot token’ı + temel URL - [Signal](/tr/channels/signal): isteğe bağlı `signal-cli` kurulumu + hesap yapılandırması - - [BlueBubbles](/tr/channels/bluebubbles): iMessage için önerilir; sunucu URL'si + parola + webhook + - [BlueBubbles](/tr/channels/bluebubbles): iMessage için önerilir; sunucu URL’si + parola + Webhook - [iMessage](/tr/channels/imessage): eski `imsg` CLI yolu + DB erişimi - - DM güvenliği: varsayılan eşleştirmedir. İlk DM bir kod gönderir; bunu - `openclaw pairing approve ` ile onaylayın veya allowlist kullanın. + - DM güvenliği: varsayılan pairing’dir. İlk DM bir kod gönderir; `openclaw pairing approve ` ile onaylayın veya allowlist kullanın. - + - macOS: LaunchAgent - - Oturum açmış kullanıcı oturumu gerektirir; headless için özel bir LaunchDaemon kullanın (gönderilmez). - - Linux ve WSL2 üzerinden Windows: systemd kullanıcı birimi - - Gateway'in oturum kapatıldıktan sonra da çalışmaya devam etmesi için sihirbaz `loginctl enable-linger ` çalıştırmayı dener. + - Oturum açmış kullanıcı oturumu gerektirir; başsız kullanım için özel bir LaunchDaemon kullanın (paketlenmez). + - Linux ve Windows üzerinden WSL2: systemd kullanıcı birimi + - Sihirbaz, çıkıştan sonra da Gateway’in çalışır kalması için `loginctl enable-linger ` komutunu denemeye çalışır. - sudo isteyebilir (`/var/lib/systemd/linger` yazar); önce sudo olmadan dener. - Yerel Windows: önce Scheduled Task - - Görev oluşturma reddedilirse, OpenClaw kullanıcı başına Startup-folder oturum açma öğesine geri döner ve gateway'i hemen başlatır. - - Scheduled Task'lar daha iyi supervisor durumu sağladıkları için tercih edilmeye devam eder. + - Görev oluşturma reddedilirse OpenClaw, kullanıcı başına Başlangıç klasörü giriş öğesine geri döner ve Gateway’i hemen başlatır. + - Scheduled Task tercih edilmeye devam edilir çünkü daha iyi supervisor durumu sağlarlar. - Çalışma zamanı seçimi: Node (önerilir; WhatsApp ve Telegram için gereklidir). Bun önerilmez. - - - Gateway'i başlatır (gerekirse) ve `openclaw health` çalıştırır. - - `openclaw status --deep`, desteklendiğinde kanal yoklamaları da dahil olmak üzere canlı gateway sağlık yoklamasını durum çıktısına ekler. + + - Gateway’i başlatır (gerekiyorsa) ve `openclaw health` çalıştırır. + - `openclaw status --deep`, desteklendiğinde kanal probları dahil olmak üzere canlı Gateway durum probunu durum çıktısına ekler. - - Kullanılabilir skills'leri okur ve gereksinimleri denetler. - - Düğüm yöneticisini seçmenize izin verir: npm, pnpm veya bun. - - İsteğe bağlı bağımlılıkları kurar (bazıları macOS'ta Homebrew kullanır). + - Kullanılabilir Skills’i okur ve gereksinimleri denetler. + - Node yöneticisini seçmenize izin verir: npm, pnpm veya bun. + - İsteğe bağlı bağımlılıkları kurar (bazıları macOS üzerinde Homebrew kullanır). - iOS, Android ve macOS uygulama seçenekleri dahil özet ve sonraki adımlar. @@ -106,22 +105,22 @@ Uzak host üzerinde hiçbir şeyi kurmaz veya değiştirmez. -GUI algılanmazsa sihirbaz tarayıcı açmak yerine Control UI için SSH port-forward yönergelerini yazdırır. -Control UI varlıkları eksikse sihirbaz bunları oluşturmayı dener; geri dönüş olarak `pnpm ui:build` kullanılır (UI bağımlılıklarını otomatik kurar). +GUI algılanmazsa sihirbaz, bir tarayıcı açmak yerine Control UI için SSH port yönlendirme yönergelerini yazdırır. +Control UI varlıkları eksikse sihirbaz bunları oluşturmaya çalışır; geri dönüş olarak `pnpm ui:build` kullanılır (UI bağımlılıklarını otomatik kurar). -## Uzak kip ayrıntıları +## Uzak mod ayrıntıları -Uzak kip, bu makineyi başka bir yerdeki gateway'e bağlanacak şekilde yapılandırır. +Uzak mod, bu makineyi başka bir yerdeki bir Gateway’e bağlanacak şekilde yapılandırır. -Uzak kip, uzak host üzerinde hiçbir şeyi kurmaz veya değiştirmez. +Uzak mod, uzak ana makinede hiçbir şey kurmaz veya değiştirmez. -Ayarladığınız şeyler: +Ayarladıklarınız: -- Uzak gateway URL'si (`ws://...`) -- Uzak gateway auth gerekiyorsa belirteç (önerilir) +- Uzak Gateway URL’si (`ws://...`) +- Uzak Gateway auth gerektiriyorsa token (önerilir) - Gateway yalnızca loopback ise SSH tünelleme veya bir tailnet kullanın. @@ -134,13 +133,13 @@ Ayarladığınız şeyler: - Varsa `ANTHROPIC_API_KEY` kullanır veya bir anahtar ister, ardından daemon kullanımı için kaydeder. + Varsa `ANTHROPIC_API_KEY` kullanır veya bir anahtar ister, ardından artalan süreci kullanımı için bunu kaydeder. `~/.codex/auth.json` mevcutsa sihirbaz bunu yeniden kullanabilir. - Yeniden kullanılan Codex CLI kimlik bilgileri Codex CLI tarafından yönetilmeye devam eder; süre dolduğunda OpenClaw - önce bu kaynağı yeniden okur ve sağlayıcı bunu yenileyebiliyorsa - yenilenmiş kimlik bilgisini sahiplenmek yerine tekrar Codex depolamasına yazar. + Yeniden kullanılan Codex CLI kimlik bilgileri, Codex CLI tarafından yönetilmeye devam eder; süre dolduğunda OpenClaw + önce bu kaynağı yeniden okur ve sağlayıcı bunu yenileyebildiğinde + kimlik bilgisini sahipliğini üstlenmek yerine yeniden Codex deposuna yazar. Tarayıcı akışı; `code#state` yapıştırın. @@ -149,36 +148,36 @@ Ayarladığınız şeyler: - Varsa `OPENAI_API_KEY` kullanır veya bir anahtar ister, ardından kimlik bilgisini auth profillerinde depolar. + Varsa `OPENAI_API_KEY` kullanır veya bir anahtar ister, ardından kimlik bilgisini auth profillerinde saklar. Model ayarlanmamışsa, `openai/*` ise veya `openai-codex/*` ise `agents.defaults.model` değerini `openai/gpt-5.4` olarak ayarlar. - `XAI_API_KEY` ister ve xAI'ı model sağlayıcısı olarak yapılandırır. + `XAI_API_KEY` ister ve xAI’yi model sağlayıcısı olarak yapılandırır. - `OPENCODE_API_KEY` (veya `OPENCODE_ZEN_API_KEY`) ister ve Zen veya Go kataloğunu seçmenize izin verir. - Kurulum URL'si: [opencode.ai/auth](https://opencode.ai/auth). + `OPENCODE_API_KEY` (veya `OPENCODE_ZEN_API_KEY`) ister ve Zen ya da Go kataloğunu seçmenize izin verir. + Kurulum URL’si: [opencode.ai/auth](https://opencode.ai/auth). - Anahtarı sizin için depolar. + Anahtarı sizin için saklar. `AI_GATEWAY_API_KEY` ister. Daha fazla ayrıntı: [Vercel AI Gateway](/tr/providers/vercel-ai-gateway). - Hesap kimliği, gateway kimliği ve `CLOUDFLARE_AI_GATEWAY_API_KEY` ister. + Hesap kimliği, Gateway kimliği ve `CLOUDFLARE_AI_GATEWAY_API_KEY` ister. Daha fazla ayrıntı: [Cloudflare AI Gateway](/tr/providers/cloudflare-ai-gateway). - Yapılandırma otomatik olarak yazılır. Barındırılan varsayılan `MiniMax-M2.7`'dir; API anahtarı kurulumu + Yapılandırma otomatik yazılır. Barındırılan varsayılan `MiniMax-M2.7`’dir; API anahtarı kurulumu `minimax/...`, OAuth kurulumu ise `minimax-portal/...` kullanır. Daha fazla ayrıntı: [MiniMax](/tr/providers/minimax). - Yapılandırma, Çin veya global uç noktalarda StepFun standard veya Step Plan için otomatik yazılır. + Yapılandırma, Çin veya global uç noktalardaki StepFun standardı ya da Step Plan için otomatik yazılır. Standard şu anda `step-3.5-flash` içerir ve Step Plan ayrıca `step-3.5-flash-2603` içerir. Daha fazla ayrıntı: [StepFun](/tr/providers/stepfun). @@ -186,9 +185,11 @@ Ayarladığınız şeyler: `SYNTHETIC_API_KEY` ister. Daha fazla ayrıntı: [Synthetic](/tr/providers/synthetic). - - Temel URL'yi ister (varsayılan `http://127.0.0.1:11434`), sonra Cloud + Local veya Local kipini sunar. - Kullanılabilir modelleri keşfeder ve varsayılanlar önerir. + + Önce `Bulut + Yerel`, `Yalnızca Bulut` veya `Yalnızca Yerel` seçeneklerini ister. + `Yalnızca Bulut`, `https://ollama.com` ile `OLLAMA_API_KEY` kullanır. + Ana makine destekli modlar temel URL’yi ister (varsayılan `http://127.0.0.1:11434`), kullanılabilir modelleri keşfeder ve varsayılanlar önerir. + `Bulut + Yerel`, ayrıca o Ollama ana makinesinin bulut erişimi için oturum açıp açmadığını da denetler. Daha fazla ayrıntı: [Ollama](/tr/providers/ollama). @@ -200,64 +201,65 @@ Ayarladığınız şeyler: Etkileşimli onboarding, diğer sağlayıcı API anahtarı akışlarıyla aynı API anahtarı depolama seçeneklerini destekler: - **API anahtarını şimdi yapıştır** (düz metin) - - **Gizli başvuru kullan** (ortam başvurusu veya yapılandırılmış sağlayıcı başvurusu, ön denetim doğrulaması ile) + - **Gizli başvurusu kullan** (ortam başvurusu veya yapılandırılmış sağlayıcı başvurusu, ön denetim doğrulaması ile) Etkileşimsiz bayraklar: - `--auth-choice custom-api-key` - `--custom-base-url` - `--custom-model-id` - - `--custom-api-key` (isteğe bağlı; `CUSTOM_API_KEY` değerine geri döner) + - `--custom-api-key` (isteğe bağlı; varsayılan olarak `CUSTOM_API_KEY` kullanılır) - `--custom-provider-id` (isteğe bağlı) - `--custom-compatibility ` (isteğe bağlı; varsayılan `openai`) - Kimlik doğrulamayı yapılandırılmamış bırakır. + Auth yapılandırılmadan bırakır. Model davranışı: - Algılanan seçeneklerden varsayılan modeli seçin veya sağlayıcı ve modeli elle girin. -- Onboarding bir sağlayıcı kimlik doğrulama seçeneğinden başladığında model seçici - o sağlayıcıyı otomatik olarak tercih eder. Volcengine ve BytePlus için aynı tercih - kodlama planı varyantlarıyla da eşleşir (`volcengine-plan/*`, +- Onboarding bir sağlayıcı auth seçeneğinden başladığında model seçici, + o sağlayıcıyı otomatik olarak tercih eder. Volcengine ve BytePlus için bu tercih + onların coding-plan varyantlarıyla da eşleşir (`volcengine-plan/*`, `byteplus-plan/*`). -- Tercih edilen sağlayıcı filtresi boş kalacaksa, seçici hiç model göstermemek yerine tam kataloğa geri döner. -- Sihirbaz bir model denetimi çalıştırır ve yapılandırılmış model bilinmiyorsa veya kimlik doğrulaması eksikse uyarır. +- Tercih edilen sağlayıcı filtresi boş kalırsa seçici, + hiç model göstermemek yerine tam kataloğa geri döner. +- Sihirbaz bir model denetimi çalıştırır ve yapılandırılan model bilinmiyorsa veya auth eksikse uyarı verir. Kimlik bilgisi ve profil yolları: -- Kimlik doğrulama profilleri (API anahtarları + OAuth): `~/.openclaw/agents//agent/auth-profiles.json` -- Eski OAuth içe aktarma kaynağı: `~/.openclaw/credentials/oauth.json` +- Auth profilleri (API anahtarları + OAuth): `~/.openclaw/agents//agent/auth-profiles.json` +- Eski OAuth içe aktarma: `~/.openclaw/credentials/oauth.json` -Kimlik bilgisi depolama kipi: +Kimlik bilgisi depolama modu: -- Varsayılan onboarding davranışı, API anahtarlarını auth profillerinde düz metin değerler olarak kalıcı yazar. -- `--secret-input-mode ref`, düz metin anahtar depolama yerine başvuru kipini etkinleştirir. +- Varsayılan onboarding davranışı, API anahtarlarını auth profillerinde düz metin değerler olarak kalıcılaştırır. +- `--secret-input-mode ref`, düz metin anahtar depolaması yerine başvuru modunu etkinleştirir. Etkileşimli kurulumda şunlardan birini seçebilirsiniz: - ortam değişkeni başvurusu (örneğin `keyRef: { source: "env", provider: "default", id: "OPENAI_API_KEY" }`) - sağlayıcı takma adı + kimlik ile yapılandırılmış sağlayıcı başvurusu (`file` veya `exec`) -- Etkileşimli başvuru kipi kaydetmeden önce hızlı bir ön denetim doğrulaması çalıştırır. - - Ortam başvuruları: mevcut onboarding ortamında değişken adını + boş olmayan değeri doğrular. +- Etkileşimli başvuru modu, kaydetmeden önce hızlı bir ön denetim doğrulaması çalıştırır. + - Ortam başvuruları: değişken adını ve mevcut onboarding ortamındaki boş olmayan değeri doğrular. - Sağlayıcı başvuruları: sağlayıcı yapılandırmasını doğrular ve istenen kimliği çözümler. - Ön denetim başarısız olursa onboarding hatayı gösterir ve yeniden denemenize izin verir. -- Etkileşimsiz kipte `--secret-input-mode ref` yalnızca ortam desteklidir. - - Sağlayıcı ortam değişkenini onboarding süreci ortamında ayarlayın. +- Etkileşimsiz modda `--secret-input-mode ref` yalnızca ortam desteklidir. + - Sağlayıcı ortam değişkenini onboarding işlem ortamında ayarlayın. - Satır içi anahtar bayrakları (örneğin `--openai-api-key`) bu ortam değişkeninin ayarlanmış olmasını gerektirir; aksi halde onboarding hızlıca başarısız olur. - - Özel sağlayıcılar için etkileşimsiz `ref` kipi, `models.providers..apiKey` değerini `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }` olarak depolar. + - Özel sağlayıcılar için etkileşimsiz `ref` modu, `models.providers..apiKey` değerini `{ source: "env", provider: "default", id: "CUSTOM_API_KEY" }` olarak saklar. - Bu özel sağlayıcı durumunda `--custom-api-key`, `CUSTOM_API_KEY` ayarlanmış olmasını gerektirir; aksi halde onboarding hızlıca başarısız olur. -- Gateway kimlik doğrulama kimlik bilgileri, etkileşimli kurulumda düz metin ve SecretRef seçeneklerini destekler: - - Belirteç kipi: **Düz metin belirteç oluştur/depola** (varsayılan) veya **SecretRef kullan**. - - Parola kipi: düz metin veya SecretRef. -- Etkileşimsiz belirteç SecretRef yolu: `--gateway-token-ref-env `. -- Mevcut düz metin kurulumları değişmeden çalışmaya devam eder. +- Gateway auth kimlik bilgileri, etkileşimli kurulumda düz metin ve SecretRef seçeneklerini destekler: + - Token modu: **Düz metin token oluştur/sakla** (varsayılan) veya **SecretRef kullan**. + - Parola modu: düz metin veya SecretRef. +- Etkileşimsiz token SecretRef yolu: `--gateway-token-ref-env `. +- Mevcut düz metin kurulumlar değişmeden çalışmaya devam eder. -Headless ve sunucu ipucu: OAuth'u tarayıcısı olan bir makinede tamamlayın, sonra -o agent'in `auth-profiles.json` dosyasını (örneğin +Başsız ve sunucu ipucu: OAuth’u tarayıcısı olan bir makinede tamamlayın, ardından +o ajanın `auth-profiles.json` dosyasını (örneğin `~/.openclaw/agents//agent/auth-profiles.json` veya eşleşen -`$OPENCLAW_STATE_DIR/...` yolu) gateway host'una kopyalayın. `credentials/oauth.json` +`$OPENCLAW_STATE_DIR/...` yolu) Gateway ana makinesine kopyalayın. `credentials/oauth.json` yalnızca eski bir içe aktarma kaynağıdır. @@ -267,14 +269,14 @@ yalnızca eski bir içe aktarma kaynağıdır. - `agents.defaults.workspace` - `agents.defaults.model` / `models.providers` (MiniMax seçildiyse) -- `tools.profile` (yerel onboarding, ayarlanmamışsa bunu varsayılan olarak `"coding"` yapar; mevcut açık değerler korunur) +- `tools.profile` (yerel onboarding, ayarlanmamışsa varsayılan olarak `"coding"` kullanır; mevcut açık değerler korunur) - `gateway.*` (mode, bind, auth, tailscale) -- `session.dmScope` (yerel onboarding, ayarlanmamışsa bunu varsayılan olarak `per-channel-peer` yapar; mevcut açık değerler korunur) +- `session.dmScope` (yerel onboarding, ayarlanmamışsa varsayılan olarak `per-channel-peer` yapar; mevcut açık değerler korunur) - `channels.telegram.botToken`, `channels.discord.token`, `channels.matrix.*`, `channels.signal.*`, `channels.imessage.*` -- İstemler sırasında buna katıldığınızda kanal allowlist'leri (Slack, Discord, Matrix, Microsoft Teams) mümkün olduğunda adlar kimliklere çözümlenir +- İstemlerde katıldığınızda kanal allowlist’leri (Slack, Discord, Matrix, Microsoft Teams) (adlar mümkün olduğunda kimliklere çözümlenir) - `skills.install.nodeManager` - `setup --node-manager` bayrağı `npm`, `pnpm` veya `bun` kabul eder. - - El ile yapılandırma daha sonra yine de `skills.install.nodeManager: "yarn"` ayarlayabilir. + - Elle yapılandırma daha sonra yine de `skills.install.nodeManager: "yarn"` ayarlayabilir. - `wizard.lastRunAt` - `wizard.lastRunVersion` - `wizard.lastRunCommit` @@ -283,12 +285,12 @@ yalnızca eski bir içe aktarma kaynağıdır. `openclaw agents add`, `agents.list[]` ve isteğe bağlı `bindings` yazar. -WhatsApp kimlik bilgileri `~/.openclaw/credentials/whatsapp//` altında bulunur. -Oturumlar `~/.openclaw/agents//sessions/` altında depolanır. +WhatsApp kimlik bilgileri `~/.openclaw/credentials/whatsapp//` altında tutulur. +Oturumlar `~/.openclaw/agents//sessions/` altında saklanır. -Bazı kanallar plugin olarak sunulur. Kurulum sırasında seçildiklerinde sihirbaz, -kanal yapılandırmasından önce plugin'i kurmanızı ister (npm veya yerel yol). +Bazı kanallar Plugin olarak sunulur. Kurulum sırasında seçildiklerinde sihirbaz, +kanal yapılandırmasından önce Plugin’i yüklemenizi ister (npm veya yerel yol). Gateway sihirbazı RPC: @@ -303,14 +305,14 @@ Gateway sihirbazı RPC: Signal kurulum davranışı: - Uygun sürüm varlığını indirir -- Bunu `~/.openclaw/tools/signal-cli//` altına depolar +- Bunu `~/.openclaw/tools/signal-cli//` altında saklar - Yapılandırmaya `channels.signal.cliPath` yazar - JVM derlemeleri Java 21 gerektirir -- Mevcut olduğunda yerel derlemeler kullanılır -- Windows, WSL2 kullanır ve Linux signal-cli akışını WSL içinde izler +- Kullanılabildiğinde yerel derlemeler kullanılır +- Windows, WSL2 kullanır ve WSL içinde Linux signal-cli akışını izler ## İlgili belgeler - Onboarding merkezi: [Onboarding (CLI)](/tr/start/wizard) -- Otomasyon ve betikler: [CLI Automation](/tr/start/wizard-cli-automation) +- Otomasyon ve betikler: [CLI Otomasyonu](/tr/start/wizard-cli-automation) - Komut başvurusu: [`openclaw onboard`](/cli/onboard)