From c7e9f6a08dffb388f4eed40acfd496753d77cd11 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Wed, 22 Apr 2026 09:03:29 +0000 Subject: [PATCH] chore(i18n): refresh tr translations --- docs/tr/ci.md | 103 +- docs/tr/concepts/typing-indicators.md | 41 +- docs/tr/gateway/cli-backends.md | 271 ++-- docs/tr/gateway/configuration-reference.md | 1410 ++++++++++---------- docs/tr/gateway/heartbeat.md | 287 ++-- docs/tr/plugins/building-plugins.md | 227 ++-- docs/tr/plugins/codex-harness.md | 236 ++-- docs/tr/plugins/manifest.md | 531 ++++---- docs/tr/plugins/sdk-agent-harness.md | 108 +- docs/tr/plugins/sdk-channel-plugins.md | 411 +++--- docs/tr/plugins/sdk-overview.md | 539 ++++---- docs/tr/providers/ollama.md | 162 +-- docs/tr/providers/tencent.md | 67 + docs/tr/tools/index.md | 165 +-- docs/tr/tools/tokenjuice.md | 84 ++ 15 files changed, 2449 insertions(+), 2193 deletions(-) create mode 100644 docs/tr/providers/tencent.md create mode 100644 docs/tr/tools/tokenjuice.md diff --git a/docs/tr/ci.md b/docs/tr/ci.md index d159129a2..438f83859 100644 --- a/docs/tr/ci.md +++ b/docs/tr/ci.md @@ -1,83 +1,84 @@ --- read_when: - Bir CI işinin neden çalıştığını veya çalışmadığını anlamanız gerekir - - GitHub Actions denetimlerinde başarısızlıkları ayıklıyorsunuz + - Başarısız GitHub Actions kontrollerinde hata ayıklıyorsunuz summary: CI iş grafiği, kapsam geçitleri ve yerel komut eşdeğerleri -title: CI Ardışık Düzeni +title: CI ardışık düzeni x-i18n: - generated_at: "2026-04-22T04:21:28Z" + generated_at: "2026-04-22T08:54:52Z" model: gpt-5.4 provider: openai - source_hash: ae08bad6cbd0f2eced6c88a792a11bc1c2b1a2bfb003a56f70ff328a2739d3fc + source_hash: fc7ec59123aee65634736320dbf1cf5cdfb08786a78cca82ce9596fedc68b3cc source_path: ci.md workflow: 15 --- -# CI Ardışık Düzeni +# CI ardışık düzeni -CI, `main` dalına her push işleminde ve her pull request’te çalışır. Yalnızca ilgisiz alanlar değiştiğinde pahalı işleri atlamak için akıllı kapsamlandırma kullanır. +CI, `main` dalına yapılan her push işleminde ve her pull request’te çalışır. Yalnızca ilgisiz alanlar değiştiğinde pahalı işleri atlamak için akıllı kapsamlandırma kullanır. ## İş Genel Görünümü -| İş | Amaç | Ne zaman çalışır | -| -------------------------------- | -------------------------------------------------------------------------------------------- | ---------------------------------- | -| `preflight` | Yalnızca doküman değişikliklerini, değişen kapsamları, değişen eklentileri saptamak ve CI manifestini oluşturmak | Taslak olmayan push ve PR’lerde her zaman | -| `security-scm-fast` | `zizmor` ile özel anahtar tespiti ve workflow denetimi | Taslak olmayan push ve PR’lerde her zaman | -| `security-dependency-audit` | npm advisory’lerine karşı bağımlılıksız üretim lockfile denetimi | Taslak olmayan push ve PR’lerde her zaman | -| `security-fast` | Hızlı güvenlik işleri için gerekli toplu iş | Taslak olmayan push ve PR’lerde her zaman | -| `build-artifacts` | `dist/` ve Control UI’yi bir kez derlemek, aşağı akış işleri için yeniden kullanılabilir artifact’leri yüklemek | Node ile ilgili değişiklikler | -| `checks-fast-core` | Paketlenmiş/plugin-contract/protocol denetimleri gibi hızlı Linux doğruluk hatları | Node ile ilgili değişiklikler | -| `checks-fast-contracts-channels` | Kararlı bir toplu denetim sonucu ile shard’lanmış kanal sözleşmesi denetimleri | Node ile ilgili değişiklikler | -| `checks-node-extensions` | eklenti paketi genelinde paketlenmiş plugin’ler için tam test shard’ları | Node ile ilgili değişiklikler | -| `checks-node-core-test` | Kanal, paketlenmiş, sözleşme ve eklenti hatları hariç çekirdek Node test shard’ları | Node ile ilgili değişiklikler | -| `extension-fast` | Yalnızca değişen paketlenmiş plugin’ler için odaklı testler | Eklenti değişiklikleri algılandığında | -| `check` | shard’lanmış ana yerel geçit eşdeğeri: üretim tipleri, lint, guard’lar, test tipleri ve katı smoke | Node ile ilgili değişiklikler | -| `check-additional` | Mimari, sınır, eklenti-yüzeyi guard’ları, paket sınırı ve gateway-watch shard’ları | Node ile ilgili değişiklikler | -| `build-smoke` | Derlenmiş CLI smoke testleri ve başlangıç belleği smoke testi | Node ile ilgili değişiklikler | -| `checks` | Kalan Linux Node hatları: kanal testleri ve yalnızca push için Node 22 uyumluluğu | Node ile ilgili değişiklikler | -| `check-docs` | Doküman biçimlendirme, lint ve bozuk bağlantı denetimleri | Dokümanlar değiştiğinde | -| `skills-python` | Python destekli Skills için Ruff + pytest | Python-Skills ile ilgili değişiklikler | -| `checks-windows` | Windows’a özgü test hatları | Windows ile ilgili değişiklikler | -| `macos-node` | Paylaşılan derlenmiş artifact’leri kullanan macOS TypeScript test hattı | macOS ile ilgili değişiklikler | -| `macos-swift` | macOS uygulaması için Swift lint, build ve testler | macOS ile ilgili değişiklikler | -| `android` | Android build ve test matrisi | Android ile ilgili değişiklikler | +| İş | Amaç | Ne zaman çalışır | +| -------------------------------- | ------------------------------------------------------------------------------------------ | ----------------------------------- | +| `preflight` | Yalnızca dokümantasyon değişikliklerini, değişen kapsamları, değişen eklentileri tespit etmek ve CI bildirimini oluşturmak | Taslak olmayan push ve PR’lerde her zaman | +| `security-scm-fast` | `zizmor` aracılığıyla özel anahtar tespiti ve iş akışı denetimi | Taslak olmayan push ve PR’lerde her zaman | +| `security-dependency-audit` | npm uyarılarına karşı bağımlılıksız üretim lockfile denetimi | Taslak olmayan push ve PR’lerde her zaman | +| `security-fast` | Hızlı güvenlik işleri için gerekli toplu iş | Taslak olmayan push ve PR’lerde her zaman | +| `build-artifacts` | `dist/` ve Control UI’ı bir kez derlemek, alt işlerde yeniden kullanılacak artifaktları yüklemek | Node ile ilgili değişiklikler | +| `checks-fast-core` | bundled/plugin-contract/protocol kontrolleri gibi hızlı Linux doğruluk aşamaları | Node ile ilgili değişiklikler | +| `checks-fast-contracts-channels` | Kararlı bir toplu kontrol sonucu ile parçalanmış kanal sözleşmesi kontrolleri | Node ile ilgili değişiklikler | +| `checks-node-extensions` | eklenti paketi genelinde bundled-plugin tam test parçaları | Node ile ilgili değişiklikler | +| `checks-node-core-test` | Kanal, bundled, sözleşme ve eklenti aşamaları hariç tutularak çekirdek Node test parçaları | Node ile ilgili değişiklikler | +| `extension-fast` | Yalnızca değişen bundled plugin’ler için odaklanmış testler | Eklenti değişiklikleri tespit edildiğinde | +| `check` | Parçalanmış ana yerel geçit eşdeğeri: üretim türleri, lint, korumalar, test türleri ve katı smoke | Node ile ilgili değişiklikler | +| `check-additional` | Mimari, sınır, eklenti yüzeyi korumaları, paket sınırı ve gateway-watch parçaları | Node ile ilgili değişiklikler | +| `build-smoke` | Derlenmiş CLI smoke testleri ve başlangıç belleği smoke testi | Node ile ilgili değişiklikler | +| `checks` | Kalan Linux Node aşamaları: kanal testleri ve yalnızca push için Node 22 uyumluluğu | Node ile ilgili değişiklikler | +| `check-docs` | Dokümantasyon biçimlendirme, lint ve bozuk bağlantı kontrolleri | Dokümanlar değiştiğinde | +| `skills-python` | Python destekli Skills için Ruff + pytest | Python Skills ile ilgili değişiklikler | +| `checks-windows` | Windows’a özgü test aşamaları | Windows ile ilgili değişiklikler | +| `macos-node` | Paylaşılan derlenmiş artifaktları kullanan macOS TypeScript test aşaması | macOS ile ilgili değişiklikler | +| `macos-swift` | macOS uygulaması için Swift lint, derleme ve testler | macOS ile ilgili değişiklikler | +| `android` | Android derleme ve test matrisi | Android ile ilgili değişiklikler | -## Fail-Fast sırası +## Hızlı Başarısızlık Sırası -İşler, pahalı işler çalışmadan önce ucuz denetimlerin başarısız olacağı şekilde sıralanır: +İşler, pahalı işler çalışmadan önce ucuz kontroller başarısız olacak şekilde sıralanır: -1. `preflight`, hangi hatların var olacağına karar verir. `docs-scope` ve `changed-scope` mantığı bağımsız işler değil, bu işin içindeki adımlardır. -2. `security-scm-fast`, `security-dependency-audit`, `security-fast`, `check`, `check-additional`, `check-docs` ve `skills-python`, daha ağır artifact ve platform matrisi işlerini beklemeden hızlıca başarısız olur. -3. `build-artifacts`, hızlı Linux hatlarıyla örtüşür; böylece aşağı akış tüketicileri paylaşılan build hazır olur olmaz başlayabilir. -4. Daha ağır platform ve çalışma zamanı hatları bundan sonra fan-out yapar: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-extensions`, `checks-node-core-test`, `extension-fast`, `checks`, `checks-windows`, `macos-node`, `macos-swift` ve `android`. +1. `preflight`, hangi aşamaların var olacağına karar verir. `docs-scope` ve `changed-scope` mantığı bağımsız işler değil, bu işin içindeki adımlardır. +2. `security-scm-fast`, `security-dependency-audit`, `security-fast`, `check`, `check-additional`, `check-docs` ve `skills-python`, daha ağır artifakt ve platform matris işlerini beklemeden hızlıca başarısız olur. +3. `build-artifacts`, hızlı Linux aşamalarıyla çakışır; böylece alt tüketiciler paylaşılan derleme hazır olur olmaz başlayabilir. +4. Bundan sonra daha ağır platform ve çalışma zamanı aşamaları yayılır: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-extensions`, `checks-node-core-test`, `extension-fast`, `checks`, `checks-windows`, `macos-node`, `macos-swift` ve `android`. -Kapsam mantığı `scripts/ci-changed-scope.mjs` içinde yaşar ve `src/scripts/ci-changed-scope.test.ts` içindeki birim testleriyle kapsanır. -Ayrı `install-smoke` workflow, aynı kapsam betiğini kendi `preflight` işi üzerinden yeniden kullanır. `run_install_smoke` değerini daha dar changed-smoke sinyalinden hesaplar; bu nedenle Docker/install smoke yalnızca kurulum, paketleme ve kapsayıcıyla ilgili değişikliklerde çalışır. +Kapsam mantığı `scripts/ci-changed-scope.mjs` içinde bulunur ve `src/scripts/ci-changed-scope.test.ts` içindeki birim testleriyle kapsanır. +Ayrı `install-smoke` iş akışı, aynı kapsam betiğini kendi `preflight` işi üzerinden yeniden kullanır. `run_install_smoke` değerini daha dar changed-smoke sinyalinden hesaplar; bu nedenle Docker/install smoke yalnızca install, paketleme ve container ile ilgili değişikliklerde çalışır. -Yerel changed-lane mantığı `scripts/changed-lanes.mjs` içinde yaşar ve `scripts/check-changed.mjs` tarafından yürütülür. Bu yerel geçit, geniş CI platform kapsamına göre mimari sınırlar konusunda daha katıdır: çekirdek üretim değişiklikleri çekirdek üretim typecheck ile birlikte çekirdek testlerini çalıştırır, yalnızca çekirdek test değişiklikleri sadece çekirdek test typecheck/testlerini çalıştırır, eklenti üretim değişiklikleri eklenti üretim typecheck ile birlikte eklenti testlerini çalıştırır ve yalnızca eklenti test değişiklikleri sadece eklenti test typecheck/testlerini çalıştırır. Public Plugin SDK veya plugin-contract değişiklikleri, eklentiler bu çekirdek sözleşmelere bağımlı olduğu için eklenti doğrulamasını genişletir. Yalnızca release metadata sürüm artışları hedeflenmiş sürüm/yapılandırma/kök-bağımlılık denetimlerini çalıştırır. Bilinmeyen kök/yapılandırma değişiklikleri güvenli tarafta kalıp tüm hatlara gider. +Yerel changed-lane mantığı `scripts/changed-lanes.mjs` içinde bulunur ve `scripts/check-changed.mjs` tarafından yürütülür. Bu yerel geçit, geniş CI platform kapsamına göre mimari sınırlar konusunda daha katıdır: çekirdek üretim değişiklikleri çekirdek üretim typecheck artı çekirdek testlerini çalıştırır, yalnızca çekirdek test değişiklikleri yalnızca çekirdek test typecheck/testlerini çalıştırır, eklenti üretim değişiklikleri eklenti üretim typecheck artı eklenti testlerini çalıştırır ve yalnızca eklenti test değişiklikleri yalnızca eklenti test typecheck/testlerini çalıştırır. Public Plugin SDK veya plugin-contract değişiklikleri, uzantılar bu çekirdek sözleşmelere bağlı olduğundan uzantı doğrulamasını genişletir. Yalnızca sürüm metadata’sı içeren sürüm artırımları hedefli sürüm/config/root-dependency kontrolleri çalıştırır. Bilinmeyen root/config değişiklikleri güvenli tarafta kalmak için tüm aşamalara yayılır. -Push işlemlerinde `checks` matrisi yalnızca push için olan `compat-node22` hattını ekler. Pull request’lerde bu hat atlanır ve matris normal test/kanal hatlarına odaklı kalır. +Push işlemlerinde, `checks` matrisi yalnızca push için olan `compat-node22` aşamasını ekler. Pull request’lerde bu aşama atlanır ve matris normal test/kanal aşamalarına odaklı kalır. -En yavaş Node test aileleri, her iş küçük kalsın diye include-file shard’larına bölünür: kanal sözleşmeleri registry ve çekirdek kapsamını sekizer ağırlıklı shard’a böler, auto-reply reply command testleri dörder include-pattern shard’a ayrılır ve diğer büyük auto-reply reply prefix grupları ikişer shard’a bölünür. `check-additional` ayrıca paket sınırı compile/canary işlerini çalışma zamanı topolojisi gateway/mimari işlerinden ayırır. +En yavaş Node test aileleri, her iş küçük kalsın diye include-file parçalarına bölünür: kanal sözleşmeleri, kayıt defteri ve çekirdek kapsamını sekizer ağırlıklı parçaya böler; auto-reply reply command testleri dört include-pattern parçasına bölünür; diğer büyük auto-reply reply prefix grupları ise ikişer parçaya bölünür. `check-additional`, paket sınırı derleme/canary çalışmalarını çalışma zamanı topolojisi gateway/mimari çalışmalarından da ayırır. -Aynı PR veya `main` ref’i üzerine daha yeni bir push geldiğinde GitHub, yerini almış işleri `cancelled` olarak işaretleyebilir. Aynı ref için en yeni çalışma da başarısız değilse bunu CI gürültüsü olarak değerlendirin. Toplu shard denetimleri bu iptal durumunu açıkça belirtir; böylece bunu bir test başarısızlığından ayırmak daha kolay olur. +GitHub, aynı PR veya `main` referansına daha yeni bir push geldiğinde yerini alan işleri `cancelled` olarak işaretleyebilir. Aynı referans için en yeni çalışma da başarısız olmuyorsa bunu bir test hatası değil, CI gürültüsü olarak değerlendirin. Toplu parça kontrolleri, bunun bir test başarısızlığından daha kolay ayırt edilmesi için bu iptal durumunu açıkça belirtir. -## Runner’lar +## Çalıştırıcılar -| Runner | İşler | -| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------- | -| `blacksmith-16vcpu-ubuntu-2404` | `preflight`, `security-scm-fast`, `security-dependency-audit`, `security-fast`, `build-artifacts`, Linux denetimleri, doküman denetimleri, Python Skills, `android` | -| `blacksmith-32vcpu-windows-2025` | `checks-windows` | -| `blacksmith-12vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-node`, `macos-swift`; fork’lar `macos-latest` değerine geri döner | +| Çalıştırıcı | İşler | +| -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| `ubuntu-24.04` | `preflight`; install-smoke preflight da Blacksmith matrisinin daha erken kuyruğa girebilmesi için GitHub barındırmalı Ubuntu kullanır | +| `blacksmith-16vcpu-ubuntu-2404` | `security-scm-fast`, `security-dependency-audit`, `security-fast`, `build-artifacts`, Linux kontrolleri, dokümantasyon kontrolleri, Python Skills, `android` | +| `blacksmith-32vcpu-windows-2025` | `checks-windows` | +| `blacksmith-12vcpu-macos-latest` | `macos-node`, `macos-swift` için `openclaw/openclaw`; fork’lar `macos-latest` sürümüne geri döner | -## Yerel eşdeğerler +## Yerel Eşdeğerler ```bash pnpm changed:lanes # origin/main...HEAD için yerel changed-lane sınıflandırıcısını inceleyin -pnpm check:changed # akıllı yerel geçit: sınır hattına göre değişen typecheck/lint/testler -pnpm check # hızlı yerel geçit: production tsgo + shard’lanmış lint + paralel hızlı guard’lar +pnpm check:changed # akıllı yerel geçit: sınır aşamasına göre değişen typecheck/lint/testler +pnpm check # hızlı yerel geçit: production tsgo + parçalanmış lint + paralel hızlı korumalar pnpm check:test-types -pnpm check:timed # aynı geçit, aşama başına zamanlamalarla +pnpm check:timed # aşama başına sürelerle aynı geçit pnpm build:strict-smoke pnpm check:architecture pnpm test:gateway:watch-regression @@ -85,5 +86,5 @@ pnpm test # vitest testleri pnpm test:channels pnpm test:contracts:channels pnpm check:docs # doküman biçimlendirme + lint + bozuk bağlantılar -pnpm build # CI artifact/build-smoke hatları önemliyse dist derlemesi +pnpm build # CI artifact/build-smoke aşamaları önemliyse dist derlemesi ``` diff --git a/docs/tr/concepts/typing-indicators.md b/docs/tr/concepts/typing-indicators.md index 4c52ea7c3..d8daa561f 100644 --- a/docs/tr/concepts/typing-indicators.md +++ b/docs/tr/concepts/typing-indicators.md @@ -1,40 +1,40 @@ --- read_when: - - Yazıyor göstergesi davranışını veya varsayılanlarını değiştiriyorsunuz -summary: OpenClaw'ın yazıyor göstergelerini ne zaman gösterdiği ve bunların nasıl ayarlanacağı + - Yazıyor göstergesi davranışını veya varsayılanlarını değiştirme +summary: OpenClaw yazıyor göstergelerini ne zaman gösterir ve bunlar nasıl ayarlanır title: Yazıyor Göstergeleri x-i18n: - generated_at: "2026-04-05T13:51:54Z" + generated_at: "2026-04-22T08:54:48Z" model: gpt-5.4 provider: openai - source_hash: 28c8c395a135fc0745181aab66a93582177e6acd0b3496debcbb98159a4f11dc + source_hash: 2e7e8ca448b6706b6f53fcb6a582be6d4a84715c82dfde3d53abe4268af3ae0d source_path: concepts/typing-indicators.md workflow: 15 --- # Yazıyor göstergeleri -Bir çalıştırma etkin durumdayken sohbet kanalına yazıyor göstergeleri gönderilir. Yazmanın **ne zaman** başlayacağını denetlemek için `agents.defaults.typingMode`, **ne sıklıkla** yenileneceğini denetlemek için `typingIntervalSeconds` kullanın. +Bir çalıştırma etkinken sohbet kanalına yazıyor göstergeleri gönderilir. Yazmanın **ne zaman** başladığını denetlemek için `agents.defaults.typingMode`, **ne sıklıkta** yenilendiğini denetlemek için ise `typingIntervalSeconds` kullanın. ## Varsayılanlar -`agents.defaults.typingMode` **ayarlı değilse**, OpenClaw legacy davranışı korur: +`agents.defaults.typingMode` **ayarlanmamışsa**, OpenClaw eski davranışı korur: -- **Doğrudan sohbetler**: model döngüsü başlar başlamaz yazıyor durumu başlar. -- **Bahsetme içeren grup sohbetleri**: yazıyor durumu hemen başlar. -- **Bahsetme içermeyen grup sohbetleri**: yazıyor durumu yalnızca mesaj metni akış halinde gelmeye başladığında başlar. -- **Heartbeat çalıştırmaları**: yazıyor durumu devre dışıdır. +- **Doğrudan sohbetler**: model döngüsü başlar başlamaz yazma başlar. +- **Bahsetme içeren grup sohbetleri**: yazma hemen başlar. +- **Bahsetme içermeyen grup sohbetleri**: yazma yalnızca mesaj metni akmaya başladığında başlar. +- **Heartbeat çalıştırmaları**: çözümlenen Heartbeat hedefi yazmayı destekleyen bir sohbetse ve yazma devre dışı bırakılmamışsa, yazma Heartbeat çalıştırması başladığında başlar. ## Modlar `agents.defaults.typingMode` değerini şunlardan biri olarak ayarlayın: - `never` — hiçbir zaman yazıyor göstergesi yok. -- `instant` — çalıştırma daha sonra yalnızca sessiz yanıt token'ını döndürse bile, yazıyor durumunu **model döngüsü başlar başlamaz** başlatır. -- `thinking` — yazıyor durumunu **ilk muhakeme delta'sında** başlatır (`reasoningLevel: "stream"` çalıştırma için gereklidir). -- `message` — yazıyor durumunu **ilk sessiz olmayan metin delta'sında** başlatır (`NO_REPLY` sessiz token'ını yok sayar). +- `instant` — çalıştırma daha sonra yalnızca sessiz yanıt belirtecini döndürse bile, yazmayı **model döngüsü başlar başlamaz** başlatır. +- `thinking` — yazmayı **ilk akıl yürütme deltasıyla** başlatır (`reasoningLevel: "stream"` gerektirir). +- `message` — yazmayı **ilk sessiz olmayan metin deltasıyla** başlatır (`NO_REPLY` sessiz belirtecini yok sayar). -“Tetiklenme ne kadar erken olur” sırası: +“Ne kadar erken tetiklendiği” sırası: `never` → `message` → `thinking` → `instant` ## Yapılandırma @@ -48,7 +48,7 @@ Bir çalıştırma etkin durumdayken sohbet kanalına yazıyor göstergeleri gö } ``` -Modu veya sıklığı oturum başına geçersiz kılabilirsiniz: +Modu veya aralığı oturum başına geçersiz kılabilirsiniz: ```json5 { @@ -61,9 +61,8 @@ Modu veya sıklığı oturum başına geçersiz kılabilirsiniz: ## Notlar -- `message` modu, tüm payload tam olarak sessiz token olduğunda sessiz yanıtlar için yazıyor durumu göstermez (örneğin `NO_REPLY` / `no_reply`, büyük/küçük harf duyarsız eşleşir). -- `thinking` yalnızca çalıştırma muhakemeyi akış halinde gönderirse tetiklenir (`reasoningLevel: "stream"`). - Model muhakeme delta'ları yaymazsa yazıyor durumu başlamaz. -- Mod ne olursa olsun heartbeat'ler hiçbir zaman yazıyor durumu göstermez. -- `typingIntervalSeconds`, başlangıç zamanını değil **yenileme sıklığını** denetler. - Varsayılan değer 6 saniyedir. +- `message` modu, tüm yük tam olarak sessiz belirteç olduğunda sessiz-yalnızca yanıtlar için yazıyor göstergesi göstermez (örneğin `NO_REPLY` / `no_reply`, büyük/küçük harf duyarsız eşleştirilir). +- `thinking` yalnızca çalıştırma akıl yürütmeyi akıtırsa tetiklenir (`reasoningLevel: "stream"`). Model akıl yürütme deltaları üretmezse, yazma başlamaz. +- Heartbeat yazıyor göstergesi, çözümlenen teslim hedefi için bir canlılık sinyalidir. `message` veya `thinking` akış zamanlamasını izlemek yerine Heartbeat çalıştırması başlarken başlar. Bunu devre dışı bırakmak için `typingMode: "never"` ayarlayın. +- `target: "none"` olduğunda, hedef çözümlenemediğinde, Heartbeat için sohbet teslimi devre dışı bırakıldığında veya kanal yazmayı desteklemediğinde Heartbeat yazıyor göstergesi göstermez. +- `typingIntervalSeconds`, başlama zamanını değil, **yenileme aralığını** denetler. Varsayılan değer 6 saniyedir. diff --git a/docs/tr/gateway/cli-backends.md b/docs/tr/gateway/cli-backends.md index 465e4c627..ed923ddab 100644 --- a/docs/tr/gateway/cli-backends.md +++ b/docs/tr/gateway/cli-backends.md @@ -1,48 +1,52 @@ --- read_when: - API sağlayıcıları başarısız olduğunda güvenilir bir geri dönüş istersiniz - - Codex CLI veya diğer yerel AI CLI'leri çalıştırıyor ve bunları yeniden kullanmak istiyorsunuz - - CLI arka ucu araç erişimi için MCP local loopback köprüsünü anlamak istiyorsunuz -summary: 'CLI arka uçları: isteğe bağlı MCP araç köprüsü ile yerel AI CLI geri dönüşü' + - Codex CLI veya diğer yerel AI CLI'larını çalıştırıyorsunuz ve bunları yeniden kullanmak istiyorsunuz + - CLI arka ucu araç erişimi için MCP loopback köprüsünü anlamak istiyorsunuz +summary: 'CLI arka uçları: isteğe bağlı MCP araç köprüsüyle yerel AI CLI geri dönüşü' title: CLI Arka Uçları x-i18n: - generated_at: "2026-04-16T19:31:15Z" + generated_at: "2026-04-22T08:54:54Z" model: gpt-5.4 provider: openai - source_hash: 381273532a8622bc4628000a6fb999712b12af08faade2b5f2b7ac4cc7d23efe + source_hash: 3566d4f2b7a841473a4ed6379c1abd8dbd06c392dbff15ca37c4f8ea1e1ead51 source_path: gateway/cli-backends.md workflow: 15 --- # CLI arka uçları (geri dönüş çalışma zamanı) -OpenClaw, API sağlayıcıları kapalı olduğunda, hız sınırlamasına takıldığında +OpenClaw, API sağlayıcıları kullanılamadığında, hız sınırına takıldığında veya geçici olarak hatalı davrandığında **metinle sınırlı bir geri dönüş** -olarak **yerel AI CLI'leri** çalıştırabilir. Bu tasarım kasıtlı olarak temkinlidir: +olarak **yerel AI CLI'larını** çalıştırabilir. Bu özellikle temkinli bir +tasarımdır: -- **OpenClaw araçları doğrudan eklenmez**, ancak `bundleMcp: true` olan arka uçlar - araçları bir loopback MCP köprüsü üzerinden alabilir. -- Bunu destekleyen CLI'ler için **JSONL akışı**. +- **OpenClaw araçları doğrudan enjekte edilmez**, ancak `bundleMcp: true` + kullanan arka uçlar döngüsel MCP köprüsü üzerinden Gateway araçlarını + alabilir. +- Bunu destekleyen CLI'lar için **JSONL akışı**. - **Oturumlar desteklenir** (böylece takip eden turlar tutarlı kalır). - CLI görüntü yollarını kabul ediyorsa **görüntüler iletilebilir**. -Bu, birincil yol olmaktan çok bir **güvenlik ağı** olarak tasarlanmıştır. Bunu, -harici API'lere güvenmeden “her zaman çalışan” metin yanıtları istediğinizde kullanın. +Bu, birincil yol olmaktan ziyade bir **güvenlik ağı** olarak tasarlanmıştır. +Dış API'lere güvenmeden “her zaman çalışır” metin yanıtları istediğinizde bunu +kullanın. -ACP oturum denetimleri, arka plan görevleri, -iz/konuşma bağlama ve kalıcı harici kodlama oturumları olan tam bir harness çalışma zamanı istiyorsanız, -bunun yerine [ACP Agents](/tr/tools/acp-agents) kullanın. CLI arka uçları ACP değildir. +ACP oturum denetimleri, arka plan görevleri, iş parçacığı/konuşma bağlama ve +kalıcı harici kodlama oturumları içeren tam bir harness çalışma zamanı +istiyorsanız bunun yerine [ACP Agents](/tr/tools/acp-agents) kullanın. CLI arka +uçları ACP değildir. ## Yeni başlayanlar için hızlı başlangıç -Codex CLI'yi **hiç yapılandırma olmadan** kullanabilirsiniz (paketle gelen OpenAI Plugin -varsayılan bir arka uç kaydeder): +Codex CLI'ı **hiçbir yapılandırma olmadan** kullanabilirsiniz (paketlenmiş +OpenAI Plugin varsayılan bir arka uç kaydeder): ```bash openclaw agent --message "hi" --model codex-cli/gpt-5.4 ``` -Gateway'iniz launchd/systemd altında çalışıyorsa ve PATH minimal ise, yalnızca +Gateway'niz launchd/systemd altında çalışıyorsa ve PATH sınırlıysa yalnızca komut yolunu ekleyin: ```json5 @@ -59,15 +63,18 @@ komut yolunu ekleyin: } ``` -Hepsi bu. CLI'nin kendisinin ötesinde anahtar, ek kimlik doğrulama yapılandırması gerekmez. +Hepsi bu kadar. CLI'ın kendisi dışında anahtar gerekmez, ek yetkilendirme +yapılandırması da gerekmez. -Paketle gelen bir CLI arka ucunu bir gateway ana bilgisayarında **birincil mesaj sağlayıcısı** -olarak kullanırsanız, yapılandırmanız bu arka uca bir model ref içinde veya -`agents.defaults.cliBackends` altında açıkça başvurduğunda OpenClaw artık ilgili paketli Plugin'i otomatik olarak yükler. +Paketlenmiş bir CLI arka ucunu bir Gateway ana makinesinde **birincil mesaj +sağlayıcısı** olarak kullanıyorsanız OpenClaw artık yapılandırmanız model +başvurusunda veya `agents.defaults.cliBackends` altında bu arka uca açıkça +başvurduğunda sahip olan paketlenmiş Plugin'i otomatik olarak yükler. ## Bunu geri dönüş olarak kullanma -Yalnızca birincil modeller başarısız olduğunda çalışması için geri dönüş listenize bir CLI arka ucu ekleyin: +Bir CLI arka ucunu geri dönüş listenize ekleyin; böylece yalnızca birincil +modeller başarısız olduğunda çalışır: ```json5 { @@ -88,9 +95,10 @@ Yalnızca birincil modeller başarısız olduğunda çalışması için geri dö Notlar: -- `agents.defaults.models` (izin listesi) kullanıyorsanız, CLI arka uç modellerinizi de oraya eklemeniz gerekir. -- Birincil sağlayıcı başarısız olursa (kimlik doğrulama, hız sınırları, zaman aşımları), OpenClaw - sıradaki CLI arka ucunu dener. +- `agents.defaults.models` (izin listesi) kullanıyorsanız CLI arka ucu + modellerinizi de oraya eklemelisiniz. +- Birincil sağlayıcı başarısız olursa (yetkilendirme, hız sınırları, zaman + aşımları), OpenClaw sıradaki CLI arka ucunu dener. ## Yapılandırmaya genel bakış @@ -100,8 +108,9 @@ Tüm CLI arka uçları şunun altında bulunur: agents.defaults.cliBackends ``` -Her giriş bir **sağlayıcı kimliği** ile anahtarlanır (`codex-cli`, `my-cli` gibi). -Sağlayıcı kimliği, model ref'inizin sol tarafı olur: +Her giriş bir **sağlayıcı kimliği** ile anahtarlanır (ör. `codex-cli`, +`my-cli`). +Sağlayıcı kimliği model başvurunuzun sol tarafı olur: ``` / @@ -131,7 +140,7 @@ Sağlayıcı kimliği, model ref'inizin sol tarafı olur: sessionMode: "existing", sessionIdFields: ["session_id", "conversation_id"], systemPromptArg: "--system", - // Codex tarzı CLI'ler bunun yerine bir istem dosyasına işaret edebilir: + // Codex tarzı CLI'lar bunun yerine bir istem dosyasına işaret edebilir: // systemPromptFileConfigArg: "-c", // systemPromptFileConfigKey: "model_instructions_file", systemPromptWhen: "first", @@ -147,83 +156,101 @@ Sağlayıcı kimliği, model ref'inizin sol tarafı olur: ## Nasıl çalışır -1. Sağlayıcı önekine göre (`codex-cli/...`) bir arka uç **seçer**. -2. Aynı OpenClaw istemi + çalışma alanı bağlamını kullanarak bir sistem istemi **oluşturur**. -3. Geçmiş tutarlı kalsın diye CLI'yi bir oturum kimliğiyle (destekleniyorsa) **çalıştırır**. -4. Çıktıyı (JSON veya düz metin) **ayrıştırır** ve son metni döndürür. -5. Arka uç başına oturum kimliklerini **kalıcılaştırır**, böylece takip eden istekler aynı CLI oturumunu yeniden kullanır. +1. Sağlayıcı önekine (`codex-cli/...`) göre bir **arka uç seçer**. +2. Aynı OpenClaw istemi + çalışma alanı bağlamını kullanarak bir **sistem + istemi oluşturur**. +3. Geçmiş tutarlı kalsın diye CLI'ı destekleniyorsa bir oturum kimliğiyle + **çalıştırır**. + Paketlenmiş `claude-cli` arka ucu, OpenClaw oturumu başına bir Claude stdio + sürecini canlı tutar ve takip eden turları stream-json stdin üzerinden + gönderir. +4. **Çıktıyı ayrıştırır** (JSON veya düz metin) ve son metni döndürür. +5. Takip eden istekler aynı CLI oturumunu yeniden kullansın diye arka uç başına + **oturum kimliklerini kalıcı hale getirir**. -Paketle gelen Anthropic `claude-cli` arka ucu yeniden desteklenmektedir. Anthropic çalışanları -bize OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini söyledi, bu yüzden OpenClaw -Anthropic yeni bir ilke yayımlamadıkça bu entegrasyon için -`claude -p` kullanımını onaylanmış kabul eder. +Paketlenmiş Anthropic `claude-cli` arka ucu yeniden desteklenmektedir. +Anthropic çalışanları bize OpenClaw tarzı Claude CLI kullanımına yeniden izin +verildiğini söyledi; bu yüzden Anthropic yeni bir ilke yayımlamadığı sürece +OpenClaw, `claude -p` kullanımını bu entegrasyon için onaylı kabul eder. -Paketle gelen OpenAI `codex-cli` arka ucu, OpenClaw'ın sistem istemini -Codex'in `model_instructions_file` yapılandırma geçersiz kılması (`-c +Paketlenmiş OpenAI `codex-cli` arka ucu, OpenClaw'ın sistem istemini Codex'in +`model_instructions_file` yapılandırma geçersiz kılması (`-c model_instructions_file="..."`) üzerinden geçirir. Codex, Claude tarzı bir -`--append-system-prompt` bayrağı sunmaz, bu yüzden OpenClaw her yeni Codex CLI oturumu için -oluşturulan istemi geçici bir dosyaya yazar. +`--append-system-prompt` bayrağı sunmadığı için OpenClaw her yeni Codex CLI +oturumu için derlenmiş istemi geçici bir dosyaya yazar. -Paketle gelen Anthropic `claude-cli` arka ucu, OpenClaw Skills anlık görüntüsünü -iki yolla alır: eklenen sistem istemindeki kompakt OpenClaw Skills kataloğu ve -`--plugin-dir` ile geçirilen geçici bir Claude Code Plugin. Plugin yalnızca o agent/oturum için -uygun Skills öğelerini içerir; böylece Claude Code'un yerel beceri çözücüsü, -OpenClaw'ın istemde normalde duyuracağı aynı filtrelenmiş kümesi görür. Skill env/API anahtarı geçersiz kılmaları -çalıştırma için alt süreç ortamına yine OpenClaw tarafından uygulanır. +Paketlenmiş Anthropic `claude-cli` arka ucu OpenClaw Skills anlık görüntüsünü +iki yolla alır: eklenen sistem istemindeki derli toplu OpenClaw Skills +kataloğu ve `--plugin-dir` ile geçirilen geçici bir Claude Code Plugin'i. +Plugin, yalnızca o aracı/oturum için uygun Skills öğelerini içerir; böylece +Claude Code'un yerel beceri çözücüsü, OpenClaw'ın aksi halde istemde +duyuracağı aynı filtrelenmiş kümeyi görür. Skill env/API anahtarı geçersiz +kılmaları yine de çalışma için alt süreç ortamına OpenClaw tarafından +uygulanır. ## Oturumlar -- CLI oturumları destekliyorsa, oturum kimliği gönderilmesi için `sessionArg` (`--session-id` gibi) veya - kimliğin birden çok bayrağa eklenmesi gerekiyorsa - `sessionArgs` (`{sessionId}` yer tutuculu) ayarlayın. -- CLI farklı bayraklara sahip bir **resume alt komutu** kullanıyorsa, - `resumeArgs` ayarlayın (yeniden devam ederken `args` yerine geçer) ve isteğe bağlı olarak - `resumeOutput` ayarlayın (JSON olmayan devamlar için). +- CLI oturumları destekliyorsa `sessionArg` (ör. `--session-id`) veya kimliğin + birden fazla bayrağa eklenmesi gerektiğinde `sessionArgs` + (`{sessionId}` yer tutucusu) ayarlayın. +- CLI farklı bayraklarla bir **resume alt komutu** kullanıyorsa `resumeArgs` + değerini ayarlayın (yeniden başlatırken `args` yerine geçer) ve isteğe bağlı + olarak `resumeOutput` ayarlayın (JSON olmayan yeniden başlatmalar için). - `sessionMode`: - - `always`: her zaman bir oturum kimliği gönderir (saklanmış yoksa yeni bir UUID). - - `existing`: yalnızca daha önce saklanmış bir oturum kimliği varsa gönderir. + - `always`: her zaman bir oturum kimliği gönderir (saklı kimlik yoksa yeni + UUID). + - `existing`: yalnızca daha önce bir kimlik saklandıysa oturum kimliği + gönderir. - `none`: hiçbir zaman oturum kimliği göndermez. +- Paketlenmiş `claude-cli` arka ucu `liveSession: "claude-stdio"` kullanır; + böylece aktif olduğu sürece takip eden turlar canlı Claude sürecini yeniden + kullanır. Gateway yeniden başlatılırsa veya boşta duran süreç kapanırsa + OpenClaw saklı Claude oturum kimliğinden devam eder. Serileştirme notları: -- `serialize: true`, aynı şeritteki çalıştırmaları sıralı tutar. -- Çoğu CLI tek bir sağlayıcı şeridinde serileştirme yapar. -- Kimlik doğrulama durumu değiştiğinde OpenClaw saklanan CLI oturumu yeniden kullanımını bırakır; buna yeniden giriş, belirteç döndürme veya değiştirilmiş kimlik doğrulama profili kimlik bilgisi dahildir. +- `serialize: true`, aynı hat üzerindeki çalıştırmaların sıralı kalmasını + sağlar. +- Çoğu CLI tek bir sağlayıcı hattında serileştirme yapar. +- Arka uç yetkilendirme durumu değiştiğinde, buna yeniden giriş, belirteç + döndürme veya değişmiş bir yetkilendirme profili kimlik bilgisi dahil olmak + üzere, OpenClaw saklı CLI oturumu yeniden kullanımını bırakır. -## Görüntüler (iletim) +## Görüntüler (iletme) -CLI'niz görüntü yollarını kabul ediyorsa, `imageArg` ayarlayın: +CLI'ınız görüntü yollarını kabul ediyorsa `imageArg` ayarlayın: ```json5 imageArg: "--image", imageMode: "repeat" ``` -OpenClaw base64 görüntüleri geçici dosyalara yazar. `imageArg` ayarlanmışsa bu -yollar CLI bağımsız değişkenleri olarak geçirilir. `imageArg` eksikse OpenClaw -dosya yollarını isteme ekler (yol ekleme); bu, düz yollardan yerel dosyaları otomatik -yükleyen CLI'ler için yeterlidir. +OpenClaw base64 görüntülerini geçici dosyalara yazar. `imageArg` ayarlıysa bu +yollar CLI bağımsız değişkenleri olarak geçirilir. `imageArg` yoksa OpenClaw +dosya yollarını isteme ekler (yol ekleme); bu, düz yollardan yerel dosyaları +otomatik yükleyen CLI'lar için yeterlidir. ## Girdiler / çıktılar -- `output: "json"` (varsayılan), JSON ayrıştırmayı ve metin + oturum kimliği çıkarmayı dener. -- Gemini CLI JSON çıktısı için, `usage` eksik veya boş olduğunda OpenClaw yanıt metnini `response` alanından, - kullanımı ise `stats` alanından okur. -- `output: "jsonl"`, JSONL akışlarını ayrıştırır (örneğin Codex CLI `--json`) ve mevcutsa son agent mesajını artı oturum - tanımlayıcılarını çıkarır. -- `output: "text"`, stdout'u son yanıt olarak ele alır. +- `output: "json"` (varsayılan) JSON ayrıştırmayı dener ve metin + oturum + kimliğini çıkarır. +- Gemini CLI JSON çıktısı için OpenClaw, `usage` eksikse veya boşsa yanıt + metnini `response` içinden ve kullanımı `stats` içinden okur. +- `output: "jsonl"` JSONL akışlarını ayrıştırır (örneğin Codex CLI `--json`) + ve mevcutsa son aracı mesajını ve oturum tanımlayıcılarını çıkarır. +- `output: "text"` stdout'u son yanıt olarak ele alır. Girdi modları: -- `input: "arg"` (varsayılan), istemi son CLI bağımsız değişkeni olarak geçirir. -- `input: "stdin"`, istemi stdin üzerinden gönderir. -- İstem çok uzunsa ve `maxPromptArgChars` ayarlanmışsa stdin kullanılır. +- `input: "arg"` (varsayılan) istemi son CLI bağımsız değişkeni olarak geçirir. +- `input: "stdin"` istemi stdin üzerinden gönderir. +- İstem çok uzunsa ve `maxPromptArgChars` ayarlıysa stdin kullanılır. -## Varsayılanlar (Plugin sahipliğinde) +## Varsayılanlar (Plugin tarafından sahiplenilir) -Paketle gelen OpenAI Plugin ayrıca `codex-cli` için bir varsayılan kaydeder: +Paketlenmiş OpenAI Plugin'i `codex-cli` için de bir varsayılan kaydeder: - `command: "codex"` - `args: ["exec","--json","--color","never","--sandbox","workspace-write","--skip-git-repo-check"]` @@ -234,7 +261,8 @@ Paketle gelen OpenAI Plugin ayrıca `codex-cli` için bir varsayılan kaydeder: - `imageArg: "--image"` - `sessionMode: "existing"` -Paketle gelen Google Plugin ayrıca `google-gemini-cli` için bir varsayılan kaydeder: +Paketlenmiş Google Plugin'i `google-gemini-cli` için de bir varsayılan +kaydeder: - `command: "gemini"` - `args: ["--output-format", "json", "--prompt", "{prompt}"]` @@ -245,32 +273,33 @@ Paketle gelen Google Plugin ayrıca `google-gemini-cli` için bir varsayılan ka - `sessionMode: "existing"` - `sessionIdFields: ["session_id", "sessionId"]` -Önkoşul: yerel Gemini CLI kurulmuş olmalı ve PATH üzerinde -`gemini` olarak kullanılabilir olmalıdır (`brew install gemini-cli` veya +Ön koşul: yerel Gemini CLI kurulmuş olmalı ve `PATH` üzerinde `gemini` olarak +erişilebilir olmalıdır (`brew install gemini-cli` veya `npm install -g @google/gemini-cli`). Gemini CLI JSON notları: -- Yanıt metni JSON `response` alanından okunur. +- Yanıt metni JSON içindeki `response` alanından okunur. - `usage` yoksa veya boşsa kullanım `stats` alanına geri döner. -- `stats.cached`, OpenClaw `cacheRead` değerine normalize edilir. -- `stats.input` eksikse OpenClaw girdi belirteçlerini +- `stats.cached`, OpenClaw `cacheRead` içine normalize edilir. +- `stats.input` eksikse OpenClaw giriş token'larını `stats.input_tokens - stats.cached` üzerinden türetir. -Yalnızca gerekirse geçersiz kılın (yaygın olan: mutlak `command` yolu). +Yalnızca gerekirse geçersiz kılın (yaygın durum: mutlak `command` yolu). -## Plugin sahipliğindeki varsayılanlar +## Plugin tarafından sahiplenilen varsayılanlar CLI arka ucu varsayılanları artık Plugin yüzeyinin bir parçasıdır: - Plugin'ler bunları `api.registerCliBackend(...)` ile kaydeder. -- Arka uç `id` değeri, model ref'lerdeki sağlayıcı öneki olur. -- `agents.defaults.cliBackends.` içindeki kullanıcı yapılandırması yine de Plugin varsayılanını geçersiz kılar. -- Arka uca özgü yapılandırma temizliği, isteğe bağlı - `normalizeConfig` kancası aracılığıyla Plugin sahipliğinde kalır. +- Arka uç `id` değeri model başvurularındaki sağlayıcı öneki olur. +- `agents.defaults.cliBackends.` içindeki kullanıcı yapılandırması yine de + Plugin varsayılanını geçersiz kılar. +- Arka uca özgü yapılandırma temizliği isteğe bağlı `normalizeConfig` kancası + üzerinden Plugin sahipliğinde kalır. -Küçük istem/mesaj uyumluluk uyarlamalarına ihtiyaç duyan Plugin'ler, bir sağlayıcıyı veya CLI arka ucunu değiştirmeden -iki yönlü metin dönüşümleri tanımlayabilir: +Küçük istem/mesaj uyumluluk uyarlamaları gereken Plugin'ler, bir sağlayıcıyı +veya CLI arka ucunu değiştirmeden iki yönlü metin dönüşümleri tanımlayabilir: ```typescript api.registerTextTransforms({ @@ -287,52 +316,60 @@ api.registerTextTransforms({ }); ``` -`input`, CLI'ye geçirilen sistem istemini ve kullanıcı istemini yeniden yazar. `output` -ise OpenClaw kendi denetim işaretçilerini ve kanal teslimini işlemeden önce -akışlı asistan deltalarını ve ayrıştırılmış son metni yeniden yazar. +`input`, CLI'a geçirilen sistem istemini ve kullanıcı istemini yeniden yazar. +`output`, OpenClaw kendi denetim işaretçilerini ve kanal teslimini +işlemeden önce akışlı yardımcı delta'larını ve ayrıştırılmış son metni yeniden +yazar. -Claude Code stream-json uyumlu JSONL üreten CLI'ler için, -o arka ucun yapılandırmasında `jsonlDialect: "claude-stream-json"` ayarlayın. +Claude Code stream-json ile uyumlu JSONL üreten CLI'lar için o arka ucun +yapılandırmasında `jsonlDialect: "claude-stream-json"` ayarlayın. ## Bundle MCP katmanları CLI arka uçları OpenClaw araç çağrılarını **doğrudan** almaz, ancak bir arka uç -`bundleMcp: true` ile oluşturulmuş bir MCP yapılandırma katmanına katılabilir. +`bundleMcp: true` ile oluşturulmuş bir MCP yapılandırma katmanını kullanmayı +seçebilir. -Mevcut paketli davranış: +Mevcut paketlenmiş davranış: -- `claude-cli`: oluşturulmuş sıkı MCP yapılandırma dosyası +- `claude-cli`: oluşturulmuş katı MCP yapılandırma dosyası - `codex-cli`: `mcp_servers` için satır içi yapılandırma geçersiz kılmaları - `google-gemini-cli`: oluşturulmuş Gemini sistem ayarları dosyası Bundle MCP etkin olduğunda OpenClaw: -- CLI sürecine gateway araçlarını açan bir loopback HTTP MCP sunucusu başlatır -- köprüyü oturum başına bir belirteçle (`OPENCLAW_MCP_TOKEN`) kimlik doğrular +- Gateway araçlarını CLI sürecine açığa çıkaran döngüsel HTTP MCP sunucusu + başlatır +- köprüyü oturum başına belirteçle (`OPENCLAW_MCP_TOKEN`) doğrular - araç erişimini geçerli oturum, hesap ve kanal bağlamıyla sınırlar - geçerli çalışma alanı için etkin bundle-MCP sunucularını yükler -- bunları mevcut arka uç MCP yapılandırması/ayar şekliyle birleştirir -- başlatma yapılandırmasını sahip olan uzantının arka uç sahipliğindeki entegrasyon modunu kullanarak yeniden yazar +- bunları mevcut arka uç MCP yapılandırması/ayar biçimiyle birleştirir +- başlatma yapılandırmasını sahip uzantının arka uç tarafından sahiplenilen + entegrasyon modunu kullanarak yeniden yazar -Hiç MCP sunucusu etkin değilse bile, OpenClaw bir arka uç bundle MCP'ye katıldığında -arka plandaki çalıştırmalar yalıtılmış kalsın diye yine de sıkı bir yapılandırma ekler. +Hiçbir MCP sunucusu etkin değilse bile bir arka uç bundle MCP'yi seçtiğinde +OpenClaw yine de katı bir yapılandırma enjekte eder; böylece arka plan +çalıştırmaları yalıtılmış kalır. ## Sınırlamalar -- **Doğrudan OpenClaw araç çağrıları yoktur.** OpenClaw, araç çağrılarını - CLI arka ucu protokolüne eklemez. Arka uçlar gateway araçlarını yalnızca - `bundleMcp: true` ile katıldıklarında görür. -- **Akış arka uca özeldir.** Bazı arka uçlar JSONL akışı yapar; diğerleri - çıkışa kadar arabelleğe alır. -- **Yapılandırılmış çıktılar**, CLI'nin JSON biçimine bağlıdır. -- **Codex CLI oturumları**, metin çıktısı üzerinden devam eder (JSONL yoktur); bu da - ilk `--json` çalıştırmasına göre daha az yapılandırılmıştır. OpenClaw oturumları yine de - normal çalışır. +- **Doğrudan OpenClaw araç çağrıları yoktur.** OpenClaw, araç çağrılarını CLI + arka ucu protokolüne enjekte etmez. Arka uçlar yalnızca `bundleMcp: true` + seçtiklerinde Gateway araçlarını görür. +- **Akış arka uca özeldir.** Bazı arka uçlar JSONL akışı yapar, diğerleri çıkışa + kadar arabelleğe alır. +- **Yapılandırılmış çıktılar** CLI'ın JSON biçimine bağlıdır. +- **Codex CLI oturumları** metin çıktısı üzerinden devam eder (JSONL yoktur); + bu, ilk `--json` çalıştırmasına göre daha az yapılandırılmıştır. OpenClaw + oturumları yine de normal çalışır. ## Sorun giderme - **CLI bulunamadı**: `command` değerini tam yol olarak ayarlayın. -- **Yanlış model adı**: `provider/model` → CLI modeli eşlemesi için `modelAliases` kullanın. -- **Oturum sürekliliği yok**: `sessionArg` ayarlı olduğundan ve `sessionMode` değerinin - `none` olmadığından emin olun (`Codex CLI` şu anda JSON çıktısıyla devam edemez). -- **Görüntüler yok sayılıyor**: `imageArg` ayarlayın (ve CLI'nin dosya yollarını desteklediğini doğrulayın). +- **Yanlış model adı**: `provider/model` → CLI modeli eşlemesi için + `modelAliases` kullanın. +- **Oturum sürekliliği yok**: `sessionArg` ayarlı olduğundan ve `sessionMode` + değerinin `none` olmadığından emin olun (Codex CLI şu anda JSON çıktısıyla + devam edemez). +- **Görüntüler yok sayılıyor**: `imageArg` ayarlayın (ve CLI'ın dosya + yollarını desteklediğini doğrulayın). diff --git a/docs/tr/gateway/configuration-reference.md b/docs/tr/gateway/configuration-reference.md index d6ee72888..1776b9915 100644 --- a/docs/tr/gateway/configuration-reference.md +++ b/docs/tr/gateway/configuration-reference.md @@ -1,14 +1,14 @@ --- read_when: - - Tam alan düzeyinde yapılandırma anlambilimi veya varsayılanlar gerekiyor + - Tam alan düzeyinde yapılandırma anlamlarına veya varsayılan değerlere ihtiyacınız var - Kanal, model, Gateway veya araç yapılandırma bloklarını doğruluyorsunuz -summary: Temel OpenClaw anahtarları, varsayılanları ve özel alt sistem başvurularına bağlantılar için Gateway yapılandırma başvurusu +summary: Temel OpenClaw anahtarları, varsayılanlar ve özel alt sistem başvurularına bağlantılar için Gateway yapılandırma başvurusu title: Yapılandırma Başvurusu x-i18n: - generated_at: "2026-04-22T04:22:18Z" + generated_at: "2026-04-22T08:54:50Z" model: gpt-5.4 provider: openai - source_hash: 0313f47079536b93385b4e9c7680a896098ac05dce4e368d389a33e31b4649ac + source_hash: f0d6fc076f54e84bef5beefbcc42d8f172cc79792c716f76103894303e3042ac source_path: gateway/configuration-reference.md workflow: 15 --- @@ -17,27 +17,27 @@ x-i18n: `~/.openclaw/openclaw.json` için temel yapılandırma başvurusu. 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 kendi daha derin başvurusu olduğunda oraya bağlantı verir. Tek bir sayfada her kanalın/Plugin öğesinin sahip olduğu komut kataloğunu veya her derin bellek/QMD ayarını satır içine almaya **çalışmaz**. +Bu sayfa, ana OpenClaw yapılandırma yüzeylerini kapsar ve bir alt sistemin kendine ait daha derin bir başvurusu olduğunda ilgili bağlantılara yönlendirir. Tek bir sayfada her kanal/plugin sahipli komut kataloğunu veya bellek/QMD ile ilgili her ayrıntılı ayarı satır içine yerleştirmeyi **amaçlamaz**. Kod gerçeği: -- `openclaw config schema`, doğrulama ve Control UI için kullanılan canlı JSON Schema çıktısını verir; kullanılabildiğinde bundled/Plugin/kanal meta verileri birleştirilir +- `openclaw config schema`, doğrulama ve Control UI için kullanılan canlı JSON Schema çıktısını verir; mevcut 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 belgesi temel hash değerini geçerli şema yüzeyine göre doğrular +- `pnpm config:docs:check` / `pnpm config:docs:gen`, config-doc temel hash değerini mevcut şema yüzeyine karşı doğrular -Özel derin başvurular: +Özel ayrıntılı başvurular: - `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 + bundled komut kataloğu için [Slash Commands](/tr/tools/slash-commands) -- Kanal özel komut yüzeyleri için ilgili kanal/Plugin sayfaları +- Geçerli 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 — OpenClaw, atlandıklarında 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, alanlar atlandığında güvenli varsayılanlar kullanır. --- ## Kanallar -Her kanal, yapılandırma bölümü mevcut olduğunda otomatik olarak başlar (`enabled: false` olmadıkça). +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 @@ -45,26 +45,26 @@ Tüm kanallar DM ilkelerini ve grup ilkelerini destekler: | DM ilkesi | Davranış | | ------------------- | ------------------------------------------------------------- | -| `pairing` (varsayılan) | Bilinmeyen gönderenler tek kullanımlık eşleştirme kodu alır; sahibin onaylaması gerekir | +| `pairing` (varsayılan) | Bilinmeyen gönderenler tek seferlik bir eşleştirme kodu alır; sahibi onaylamalıdır | | `allowlist` | Yalnızca `allowFrom` içindeki gönderenler (veya eşleştirilmiş izin deposu) | -| `open` | Tüm gelen DM'lere izin ver (şunun gerekmesiyle: `allowFrom: ["*"]`) | +| `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 geçitlemesi yine de geçerlidir) | -| `disabled` | Tüm grup/oda mesajlarını engelle | +| `open` | Grup izin listelerini atla (bahsetme geçidi yine uygulanır) | +| `disabled` | Tüm grup/oda mesajlarını engelle | -`channels.defaults.groupPolicy`, bir sağlayıcının `groupPolicy` değeri ayarlanmadığında 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ırlıdır. -Bir sağlayıcı bloğu tamamen eksikse (`channels.` yoksa), çalışma zamanındaki grup ilkesi başlatma uyarısıyla birlikte `allowlist` (kapalı başarısızlık) değerine geri döner. +`channels.defaults.groupPolicy`, bir sağlayıcının `groupPolicy` değeri ayarlanmamışsa varsayılanı belirler. +Eşleştirme kodlarının süresi 1 saat sonra dolur. 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şlangıçta bir uyarıyla `allowlist` (fail-closed) değerine geri döner. ### Kanal model geçersiz kılmaları -Belirli kanal kimliklerini bir modele sabitlemek için `channels.modelByChannel` kullanın. Değerler `provider/model` veya yapılandırılmış model takma adlarını kabul eder. Kanal eşlemesi, bir oturumda zaten bir model geçersiz kılması olmadığında uygulanır (örneğin `/model` ile ayarlanmışsa). +Belirli kanal kimliklerini bir modele sabitlemek için `channels.modelByChannel` kullanın. Değerler `provider/model` veya yapılandırılmış model takma adlarını kabul eder. Kanal eşlemesi, bir oturumda zaten model geçersiz kılması yoksa uygulanır (örneğin `/model` ile ayarlanmışsa). ```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` ayarlanmadığında 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, tüm alıntı/ileti dizisi/geçmiş bağlamını ekle), `allowlist` (yalnızca izin listesindeki gönderenlerden gelen bağlamı ekle), `allowlist_quote` (allowlist ile aynı, ancak açık alıntı/yanıt bağlamını koru). Kanal başına geçersiz kılma: `channels..contextVisibility`. -- `channels.defaults.heartbeat.showOk`: Heartbeat çıktısında sağlıklı kanal durumlarını ekle. -- `channels.defaults.heartbeat.showAlerts`: Heartbeat çıktısında bozulmuş/hata durumlarını ekle. -- `channels.defaults.heartbeat.useIndicator`: sıkıştırılmış gösterge tarzı Heartbeat çıktısı render et. +- `channels.defaults.groupPolicy`: sağlayıcı düzeyindeki `groupPolicy` ayarlanmamışsa geri dönüş grup ilkesi. +- `channels.defaults.contextVisibility`: tüm kanallar için varsayılan ek bağlam görünürlüğü modu. Değerler: `all` (varsayılan, alıntılanan/thread/geçmiş bağlamının tümünü ekle), `allowlist` (yalnızca izin verilen gönderenlerden gelen bağlamı ekle), `allowlist_quote` (allowlist ile aynı ancak açık alıntı/yanıt bağlamını 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 et. +- `channels.defaults.heartbeat.showAlerts`: bozulmuş/hata durumlarını Heartbeat çıktısına dahil et. +- `channels.defaults.heartbeat.useIndicator`: kompakt gösterge biçiminde Heartbeat çıktısı oluştur. ### WhatsApp -WhatsApp, Gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı bir oturum mevcut olduğunda otomatik başlar. +WhatsApp, Gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı bir oturum mevcut olduğunda otomatik olarak başlar. ```json5 { @@ -124,7 +124,7 @@ WhatsApp, Gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b textChunkLimit: 4000, chunkMode: "length", // length | newline mediaMaxMb: 50, - sendReadReceipts: true, // okundu bilgileri (self-chat modunda false) + sendReadReceipts: true, // mavi tikler (self-chat modunda false) groups: { "*": { requireMention: true }, }, @@ -164,7 +164,7 @@ WhatsApp, Gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b } ``` -- Giden komutlar, varsa varsayılan olarak `default` hesabını; yoksa ilk yapılandırılmış hesap kimliğini (sıralanmış) kullanır. +- Giden komutlar, varsa varsayılan olarak `default` hesabını; aksi halde yapılandırılmış ilk hesap kimliğini (sıralanmış) kullanır. - İsteğe bağlı `channels.whatsapp.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde bu geri dönüş varsayılan hesap seçimini geçersiz kılar. - Eski tek hesaplı Baileys kimlik doğrulama 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`. @@ -185,24 +185,24 @@ WhatsApp, Gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b "*": { requireMention: true }, "-1001234567890": { allowFrom: ["@admin"], - systemPrompt: "Yanıtları kısa tut.", + systemPrompt: "Keep answers brief.", topics: { "99": { requireMention: false, skills: ["search"], - systemPrompt: "Konuda kal.", + systemPrompt: "Stay on topic.", }, }, }, }, customCommands: [ - { command: "backup", description: "Git yedekleme" }, - { command: "generate", description: "Bir görsel oluştur" }, + { command: "backup", description: "Git backup" }, + { command: "generate", description: "Create an image" }, ], 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 reddedilir), varsayılan hesap için geri dönüş olarak `TELEGRAM_BOT_TOKEN` ile birlikte. +- 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` kullanılır. - İsteğe bağlı `channels.telegram.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. -- Çok hesaplı kurulumlarda (2+ hesap kimliği), geri dönüş yö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ır. -- `configWrites: false`, Telegram kaynaklı yapılandırma yazmalarını engeller (supergroup ID taşımaları, `/config set|unset`). -- `type: "acp"` içeren üst düzey `bindings[]` girdileri, forum başlıkları için kalıcı ACP bağlamalarını yapılandırır (`match.peer.id` içinde standart `chatId:topic:topicId` kullanın). Alan anlambilimi [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde paylaşılı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ğlamaları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. - Telegram akış önizlemeleri `sendMessage` + `editMessageText` kullanır (doğrudan ve grup sohbetlerinde çalışır). - Yeniden deneme ilkesi: bkz. [Yeniden deneme ilkesi](/tr/concepts/retry). @@ -278,7 +278,7 @@ WhatsApp, Gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b requireMention: true, users: ["987654321098765432"], skills: ["docs"], - systemPrompt: "Yalnızca kısa yanıtlar ver.", + systemPrompt: "Short answers only.", }, }, }, @@ -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'a eşlenir) + streaming: "off", // off | partial | block | progress (progress, Discord'da partial ile 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 geri dönüş 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ı ise etkin çalışma zamanı anlık görüntüsünde seçilen hesaptan gelmeye devam eder. +- 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 o token'ı kullanır; hesap yeniden deneme/ilke ayarları yine etkin çalışma zamanı anlık görüntüsünde seçilen hesaptan gelir. - İsteğe bağlı `channels.discord.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. -- Teslim hedefleri için `user:` (DM) veya `channel:` (guild kanalı) kullanın; öneksiz sayısal kimlikler reddedilir. -- Guild slug'ları küçük harflidir ve boşluklar `-` ile değiştirilir; kanal anahtarları slug biçimli adı kullanır (`#` yok). Guild kimliklerini tercih edin. -- Bot tarafından yazılan mesajlar varsayılan olarak yok sayılır. `allowBots: true` bunları etkinleştirir; yalnızca bot'tan bahseden bot mesajlarını kabul etmek için `allowBots: "mentions"` kullanın (botun kendi mesajları yine de süzülür). -- `channels.discord.guilds..ignoreOtherMentions` (ve kanal geçersiz kılmaları), bottan bahsetmeyen ama başka bir kullanıcıdan veya rolden bahseden mesajları bırakır (`@everyone`/`@here` hariç). -- `maxLinesPerMessage` (varsayılan 17), 2000 karakterin altında olsa bile uzun mesajları böler. -- `channels.discord.threadBindings`, Discord ileti dizisine bağlı yönlendirmeyi denetler: - - `enabled`: ileti dizisine 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`: etkin olmama nedeniyle otomatik odak kaldırma için saat cinsinden Discord geçersiz kılması (`0` devre dışı bırakır) - - `maxAgeHours`: saat cinsinden katı en yüksek yaş için Discord geçersiz kılması (`0` devre dışı bırakır) - - `spawnSubagentSessions`: `sessions_spawn({ thread: true })` için otomatik ileti dizisi oluşturma/bağlama isteğe bağlı anahtarı -- `type: "acp"` içeren üst düzey `bindings[]` girdileri, kanallar ve ileti dizileri için kalıcı ACP bağlamalarını yapılandırır (`match.peer.id` içinde kanal/ileti dizisi kimliği kullanın). Alan anlambilimi [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde paylaşılır. +- Teslim hedefleri için `user:` (DM) veya `channel:` (sunucu kanalı) kullanın; düz sayısal kimlikler reddedilir. +- Sunucu slug'ları küçük harflidir ve boşluklar `-` ile değiştirilir; kanal anahtarları slug'lanmış adı kullanır (`#` olmadan). Sunucu kimliklerini tercih edin. +- Bot tarafından yazılan mesajlar varsayılan olarak yok sayılır. `allowBots: true` bunları etkinleştirir; yalnızca bottan bahseden bot mesajlarını kabul etmek için `allowBots: "mentions"` kullanın (botun kendi mesajları yine filtrelenir). +- `channels.discord.guilds..ignoreOtherMentions` (ve kanal geçersiz kılmaları), bottan değil de başka bir kullanıcıdan veya rolden bahseden mesajları bırakır (`@everyone`/`@here` hariç). +- `maxLinesPerMessage` (varsayılan 17), mesajlar 2000 karakterin altında olsa bile uzun mesajları böler. +- `channels.discord.threadBindings`, Discord thread'e bağlı yönlendirmeyi denetler: + - `enabled`: thread'e bağlı oturum özellikleri için Discord geçersiz kılması (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age` ve bağlı teslim/yönlendirme) + - `idleHours`: saat cinsinden hareketsizlikte otomatik odak kaldırma için Discord geçersiz kılması (`0` devre dışı bırakır) + - `maxAgeHours`: saat cinsinden kesin maksimum yaş için Discord geçersiz kılması (`0` devre dışı bırakır) + - `spawnSubagentSessions`: `sessions_spawn({ thread: true })` otomatik thread oluşturma/bağlama için isteğe bağlı anahtar +- `type: "acp"` içeren üst düzey `bindings[]` girdileri, kanallar ve thread'ler için kalıcı ACP bağlamalarını yapılandırır (`match.peer.id` içinde kanal/thread 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 doğrudan aktarılır (varsayılan olarak `true` ve `24`). -- OpenClaw ayrıca, tekrar eden şifre çözme hatalarından sonra bir ses oturumundan ayrılıp yeniden katılarak ses alım kurtarması denemesi yapar. -- `channels.discord.streaming`, standart akış modu anahtarıdır. Eski `streamMode` ve boolean `streaming` değerleri otomatik 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/tag eşlemesini yeniden etkinleştirir (acil durum uyumluluk modu). +- OpenClaw ayrıca tekrarlanan şifre çözme hatalarından sonra bir ses oturumundan ayrılıp yeniden katılarak ses alma kurtarmasını dener. +- `channels.discord.streaming`, standart akış modu anahtarıdır. Eski `streamMode` ve boolean `streaming` değerleri otomatik olarak taşınır. +- `channels.discord.autoPresence`, çalışma zamanı kullanılabilirliğini bot durumuna eşler (healthy => online, degraded => idle, exhausted => dnd) ve isteğe bağlı durum metni geçersiz kılmalarına izin verir. +- `channels.discord.dangerouslyAllowNameMatching`, değiştirilebilir ad/etiket eşleştirmesini yeniden etkinleştirir (acil durum uyumluluk modu). - `channels.discord.execApprovals`: Discord yerel 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` içinden çö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ı agent kimliği izin listesi. Tüm agent'lar için onayları iletmek için 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 de gönderir. Hedef `"channel"` içerdiğinde düğmeler yalnızca çözümlenmiş onaylayıcılar tarafından kullanılabilir. - - `cleanupAfterResolve`: `true` olduğunda, onay, ret veya zaman aşımından sonra onay DM'lerini siler. + - `agentFilter`: isteğe bağlı agent kimliği 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 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, red veya zaman aşımından sonra onay DM'lerini siler. -**Tepki bildirim modları:** `off` (yok), `own` (botun mesajları, varsayılan), `all` (tüm mesajlar), `allowlist` (tüm mesajlarda `guilds..users` içinden). +**Tepki bildirimi modları:** `off` (yok), `own` (botun mesajları, varsayılan), `all` (tüm mesajlar), `allowlist` (tüm mesajlarda `guilds..users` içinden). ### Google Chat @@ -393,11 +393,11 @@ WhatsApp, Gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b } ``` -- Service account JSON: satır içi (`serviceAccount`) veya dosya tabanlı (`serviceAccountFile`). -- Service account SecretRef de desteklenir (`serviceAccountRef`). -- Env geri dönüşleri: `GOOGLE_CHAT_SERVICE_ACCOUNT` veya `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`. +- Hizmet hesabı JSON'u: satır içi (`serviceAccount`) veya dosya tabanlı (`serviceAccountFile`). +- Hizmet hesabı SecretRef de desteklenir (`serviceAccountRef`). +- Ortam geri dönüşleri: `GOOGLE_CHAT_SERVICE_ACCOUNT` veya `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`. - Teslim hedefleri için `spaces/` veya `users/` kullanın. -- `channels.googlechat.dangerouslyAllowNameMatching`, değiştirilebilir e-posta principal eşlemesini 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 @@ -419,7 +419,7 @@ WhatsApp, Gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b allowBots: false, users: ["U123"], skills: ["docs"], - systemPrompt: "Yalnızca kısa yanıtlar ver.", + systemPrompt: "Short answers only.", }, }, historyLimit: 50, @@ -464,38 +464,34 @@ WhatsApp, Gateway'in web kanalı (Baileys Web) üzerinden çalışır. Bağlı b } ``` -- **Socket mode**, hem `botToken` hem `appToken` gerektirir (varsayılan hesap env geri dönüşü için `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`). -- **HTTP mode**, `botToken` ile birlikte `signingSecret` gerektirir (kökte 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 kaynağı/durum alanlarını gösterir. - `configured_unavailable`, hesabın SecretRef üzerinden yapılandırıldığını ancak - geçerli komut/çalışma zamanı yolunun secret değerini çözemediğini gösterir. -- `configWrites: false`, Slack kaynaklı yapılandırma yazmalarını engeller. +- **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ı açığa çıkarır. `configured_unavailable`, hesabın SecretRef üzerinden yapılandırıldığı ancak mevcut komut/çalışma zamanı yolunun gizli değeri çö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ış taşımasını denetler. Eski `streamMode`, boolean `streaming` ve `nativeStreaming` değerleri otomatik taşınır. +- `channels.slack.streaming.mode`, standart Slack akış modu anahtarıdır. `channels.slack.streaming.nativeTransport`, Slack'in yerel akış taşımasını denetler. Eski `streamMode`, boolean `streaming` ve `nativeStreaming` değerleri otomatik olarak taşınır. - Teslim hedefleri için `user:` (DM) veya `channel:` kullanın. -**Tepki bildirim modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden). +**Tepki bildirimi modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden). -**İleti dizisi oturum yalıtımı:** `thread.historyScope` ileti dizisi başına (varsayılan) veya kanal genelinde paylaşılır. `thread.inheritParent`, üst kanal dökümünü yeni ileti dizilerine kopyalar. +**Thread oturumu yalıtımı:** `thread.historyScope`, thread başına (varsayılan) veya kanal genelinde paylaşılır. `thread.inheritParent`, üst kanal dökümünü yeni thread'lere kopyalar. -- Slack yerel akışı ve Slack assistant tarzı "is typing..." ileti dizisi durumu, bir yanıt ileti dizisi hedefi gerektirir. Üst düzey DM'ler varsayılan olarak ileti dizisi dışında kalır; bu yüzden ileti dizisi 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 shortcode'u kullanın. +- Slack yerel akışı ve Slack assistant tarzı "yazıyor..." thread durumu, bir yanıt thread hedefi gerektirir. Üst düzey DM'ler varsayılan olarak thread dışındadır, bu nedenle thread tarzı önizleme yerine `typingReaction` veya normal teslim kullanırlar. +- `typingReaction`, yanıt çalışırken gelen Slack mesajına geçici bir tepki ekler, ardından tamamlandığında bunu kaldırır. `"hourglass_flowing_sand"` gibi bir Slack emoji kısa kodu kullanın. - `channels.slack.execApprovals`: Slack yerel 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 Plugin olarak gelir: `openclaw plugins install @openclaw/mattermost`. +Mattermost bir Plugin olarak sunulur: `openclaw plugins install @openclaw/mattermost`. ```json5 { @@ -515,7 +511,7 @@ Mattermost bir Plugin olarak gelir: `openclaw plugins install @openclaw/mattermo native: true, // isteğe bağlı etkinleştirme nativeSkills: true, callbackPath: "/api/channels/mattermost/command", - // Reverse-proxy/public dağıtımlar için isteğe bağlı açık URL + // Reverse proxy/public dağıtımlar için isteğe bağlı açık URL callbackUrl: "https://gateway.example.com/api/channels/mattermost/command", }, textChunkLimit: 4000, @@ -525,22 +521,19 @@ Mattermost bir Plugin olarak gelir: `openclaw plugins install @openclaw/mattermo } ``` -Sohbet modları: `oncall` (@-mention ile yanıt ver, varsayılan), `onmessage` (her mesaj), `onchar` (tetikleyici önekiyle başlayan mesajlar). +Sohbet modları: `oncall` (@-mention olduğunda yanıt ver, varsayılan), `onmessage` (her mesaj), `onchar` (tetikleyici önekle başlayan mesajlar). -Mattermost yerel komutları etkinleştirildiğinde: +Mattermost yerel komutları etkin olduğunda: - `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, slash komut kaydı sırasında Mattermost tarafından döndürülen - komut başına token'larla kimlik doğrulanır. Kayıt başarısız olursa veya etkinleştirilmiş - komut yoksa OpenClaw callback'leri şu hatayla reddeder: +- Yerel slash callback'leri, Mattermost tarafından slash komutu kaydı sırasında döndürülen komut başına token'larla kimlik doğrular. Kayıt başarısız olursa veya hiçbir komut etkinleştirilmezse, OpenClaw callback'leri şu hata ile reddeder: `Unauthorized: invalid command token.` -- Özel/tailnet/dahili callback ana bilgisayarları için Mattermost, - `ServiceSettings.AllowedUntrustedInternalConnections` içinde callback ana bilgisayarının/alan adının bulunmasını isteyebilir. +- Özel/tailnet/dahili callback ana bilgisayarları için Mattermost, callback ana bilgisayarının/alan adının `ServiceSettings.AllowedUntrustedInternalConnections` içine eklenmesini gerektirebilir. Tam URL değil, ana bilgisayar/alan adı değerleri kullanın. -- `channels.mattermost.configWrites`: Mattermost kaynaklı yapılandırma yazmalarına izin ver veya reddet. -- `channels.mattermost.requireMention`: kanallarda yanıt vermeden önce `@mention` gerektirir. -- `channels.mattermost.groups..requireMention`: kanal başına mention geçitlemesi geçersiz kılması (varsayılan için `"*"`). +- `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. ### Signal @@ -562,10 +555,10 @@ Mattermost yerel komutları etkinleştirildiğinde: } ``` -**Tepki bildirim modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden). +**Tepki bildirimi modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden). -- `channels.signal.account`: kanal başlangıcını belirli bir Signal hesap kimliğine sabitler. -- `channels.signal.configWrites`: Signal kaynaklı yapılandırma yazmalarına izin verir veya reddeder. +- `channels.signal.account`: kanal başlangıcını 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 @@ -578,7 +571,7 @@ BlueBubbles, önerilen iMessage yoludur (Plugin desteklidir, `channels.bluebubbl bluebubbles: { enabled: true, dmPolicy: "pairing", - // serverUrl, password, webhookPath, grup denetimleri ve gelişmiş eylemler: + // serverUrl, password, webhookPath, group controls, and advanced actions: // bkz. /channels/bluebubbles }, }, @@ -587,8 +580,8 @@ BlueBubbles, önerilen iMessage yoludur (Plugin desteklidir, `channels.bluebubbl - Burada kapsanan temel anahtar yolları: `channels.bluebubbles`, `channels.bluebubbles.dmPolicy`. - İsteğe bağlı `channels.bluebubbles.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. -- `type: "acp"` içeren üst düzey `bindings[]` girdileri, BlueBubbles konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde BlueBubbles handle veya hedef dizesi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan anlambilimi: [ACP Agents](/tr/tools/acp-agents#channel-specific-settings). -- BlueBubbles için tam kanal yapılandırması [BlueBubbles](/tr/channels/bluebubbles) bölümünde belgelenmiştir. +- `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 @@ -618,13 +611,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ı için Tam Disk Erişimi gerekir. +- Messages DB 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ına işaret edebilir; SCP ek getirme için `remoteHost` değerini (`host` veya `user@host`) ayarlayın. -- `attachmentRoots` ve `remoteAttachmentRoots`, gelen ek yollarını sınırlar (varsayılan: `/Users/*/Library/Messages/Attachments`). -- SCP, sıkı host-key denetimi kullanır; bu nedenle aktarma ana bilgisayarı anahtarının `~/.ssh/known_hosts` içinde zaten bulunduğundan emin olun. -- `channels.imessage.configWrites`: iMessage kaynaklı yapılandırma yazmalarına izin verir veya reddeder. -- `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 anlambilimi: [ACP Agents](/tr/tools/acp-agents#channel-specific-settings). +- `cliPath`, bir SSH sarmalayıcısını işaret edebilir; SCP ek dosya getirme 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 kullandığından, aktarma ana bilgisayar 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). @@ -669,19 +662,19 @@ Matrix, Plugin desteklidir ve `channels.matrix` altında yapılandırılır. - Token kimlik doğrulaması `accessToken` kullanır; parola kimlik doğrulaması `userId` + `password` kullanır. - `channels.matrix.proxy`, Matrix HTTP trafiğini açık bir HTTP(S) proxy üzerinden yönlendirir. Adlandırılmış hesaplar bunu `channels.matrix.accounts..proxy` ile geçersiz kılabilir. -- `channels.matrix.network.dangerouslyAllowPrivateNetwork`, özel/dahili homeserver'lara izin verir. `proxy` ve bu ağ isteğe bağlı etkinleştirmesi birbirinden bağımsız denetimlerdir. +- `channels.matrix.network.dangerouslyAllowPrivateNetwork`, özel/dahili homeserver'lara izin verir. `proxy` ve bu ağ etkinleştirme seçeneği 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` veya `autoJoin: "always"` ayarlanana kadar yok sayılır. +- `channels.matrix.autoJoin` varsayılan olarak `off` durumundadır; bu nedenle davet edilen odalar ve yeni DM tarzı davetler, siz `autoJoin: "allowlist"` ile `autoJoinAllowlist` ayarlayana veya `autoJoin: "always"` kullanana kadar yok sayılır. - `channels.matrix.execApprovals`: Matrix yerel 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` içinden çö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ı agent kimliği izin listesi. Tüm agent'lar için onayları iletmek için atlayın. - - `sessionFilter`: isteğe bağlı oturum anahtarı kalıpları (alt dize veya regex). + - `agentFilter`: isteğe bağlı agent kimliği 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 oturumlara nasıl gruplanacağını denetler: `per-user` (varsayılan) yönlendirilen eşe göre paylaşır, `per-room` ise her DM odasını yalıtır. - Matrix durum yoklamaları ve canlı dizin aramaları, çalışma zamanı trafiğiyle aynı proxy ilkesini kullanır. -- Tam Matrix yapılandırması, hedefleme kuralları ve kurulum örnekleri [Matrix](/tr/channels/matrix) bölümünde belgelenmiştir. +- Tam Matrix yapılandırması, hedefleme kuralları ve kurulum örnekleri [Matrix](/tr/channels/matrix) içinde belgelenmiştir. ### Microsoft Teams @@ -693,7 +686,7 @@ Microsoft Teams, Plugin desteklidir ve `channels.msteams` altında yapılandır msteams: { enabled: true, configWrites: true, - // appId, appPassword, tenantId, webhook, team/kanal ilkeleri: + // appId, appPassword, tenantId, webhook, team/channel policies: // bkz. /channels/msteams }, }, @@ -701,7 +694,7 @@ Microsoft Teams, Plugin desteklidir ve `channels.msteams` altında yapılandır ``` - Burada kapsanan temel anahtar yolları: `channels.msteams`, `channels.msteams.configWrites`. -- Tam Teams yapılandırması (kimlik bilgileri, Webhook, DM/grup ilkesi, team başına/kanal başına geçersiz kılmalar) [Microsoft Teams](/tr/channels/msteams) bölümünde belgelenmiştir. +- 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. ### IRC @@ -728,11 +721,11 @@ IRC, Plugin 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.*`. - İ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 geçitlemesi) [IRC](/tr/channels/irc) bölümünde belgelenmiştir. +- Tam IRC kanal yapılandırması (host/port/TLS/kanallar/izin listeleri/mention geçidi) [IRC](/tr/channels/irc) içinde belgelenmiştir. ### Çok hesaplı (tüm kanallar) -Kanal başına birden çok hesap çalıştırın (her biri kendi `accountId` değerine sahip olacak şekilde): +Kanal başına birden çok hesap çalıştırın (her birinin kendi `accountId` değeri vardır): ```json5 { @@ -740,11 +733,11 @@ Kanal başına birden çok hesap çalıştırın (her biri kendi `accountId` de telegram: { accounts: { default: { - name: "Birincil bot", + name: "Primary bot", botToken: "123456:ABC...", }, alerts: { - name: "Uyarılar botu", + name: "Alerts bot", botToken: "987654:XYZ...", }, }, @@ -753,28 +746,28 @@ Kanal başına birden çok hesap çalıştırın (her biri kendi `accountId` de } ``` -- `default`, `accountId` atlandığında kullanılır (CLI + yönlendirme). -- Env token'ları yalnızca **default** hesap için geçerlidir. +- `accountId` atlandığında `default` kullanılır (CLI + yönlendirme). +- Ortam token'ları yalnızca **default** hesaba uygulanır. - Temel kanal ayarları, hesap başına geçersiz kılınmadıkça tüm hesaplara uygulanır. - Her hesabı farklı bir agent'a 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 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 ise mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir. -- Mevcut yalnızca kanal bağlamaları (`accountId` yok) varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlamalar isteğe bağlı olmaya devam eder. -- `openclaw doctor --fix`, hesap kapsamlı üst düzey tek hesap değerlerini o kanal için seçilen taşınmış hesaba taşıyarak karışık şekilleri de onarır. Çoğu kanal `accounts.default` kullanır; Matrix ise mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir. +- 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 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 bir adlandırılmış/varsayılan hedefi koruyabilir. +- Mevcut yalnızca kanal düzeyindeki bağlamalar (`accountId` olmadan) varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlamalar isteğe bağlı kalır. +- `openclaw doctor --fix` ayrıca karma şekilleri, o kanal için seçilen yükseltilmiş hesaba hesap kapsamlı üst düzey tek hesap değerlerini taşıyarak onarır. Çoğu kanal `accounts.default` kullanır; Matrix bunun yerine mevcut eşleşen bir adlandırılmış/varsayılan hedefi koruyabilir. ### Diğer Plugin kanalları Birçok Plugin 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 dizinine bakın: [Kanallar](/tr/channels). -### Grup sohbeti mention geçitlemesi +### Grup sohbeti mention geçidi -Grup mesajları varsayılan olarak **mention gerektirir** (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'ları 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üvenli olmayan iç içe tekrarlar yok sayılır. -- Mention geçitlemesi yalnızca algılama mümkün olduğunda uygulanır (yerel mention'lar veya en az bir kalıp olduğunda). +- **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 geçidi yalnızca algılama mümkün olduğunda uygulanır (yerel mention'lar veya en az bir desen). ```json5 { @@ -804,13 +797,13 @@ Grup mesajları varsayılan olarak **mention gerektirir** (meta veri mention'ı } ``` -Çözümleme: DM başına geçersiz kılma → sağlayıcı varsayılanı → sınır yok (tümü tutulur). +Çözümleme: DM başına geçersiz kılma → sağlayıcı varsayılanı → sınır yok (hepsi korunur). Desteklenenler: `telegram`, `whatsapp`, `discord`, `slack`, `signal`, `imessage`, `msteams`. #### 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 { @@ -839,13 +832,13 @@ Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekl native: "auto", // desteklendiğinde yerel komutları kaydet nativeSkills: "auto", // desteklendiğinde yerel skill komutlarını kaydet text: true, // sohbet mesajlarında /commands ayrıştır - bash: false, // ! izni ver (takma ad: /bash) + 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 restart aracı izni 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 restart aracına izin ver ownerAllowFrom: ["discord:123456789012345678"], ownerDisplay: "raw", // raw | hash ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}", @@ -860,32 +853,32 @@ 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 + bundled komut kataloğu için bkz. [Slash Commands](/tr/tools/slash-commands). -- Bu sayfa bir **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 kanal/Plugin sahipli komutlar kanal/Plugin sayfalarında ve [Slash Commands](/tr/tools/slash-commands) içinde belgelenmiştir. +- Bu blok, komut yüzeylerini yapılandırır. Geçerli yerleşik + bundled komut kataloğu için bkz. [Slash Komutları](/tr/tools/slash-commands). +- Bu sayfa, tam komut kataloğu değil, bir **yapılandırma anahtarı başvurusu**dur. QQ Bot `/bot-ping` `/bot-help` `/bot-logs`, LINE `/card`, device-pair `/pair`, bellek `/dreaming`, phone-control `/phone` ve Talk `/voice` gibi kanal/plugin sahipli komutlar, kanal/plugin sayfalarında ve [Slash Komutları](/tr/tools/slash-commands) içinde belgelenmiştir. - Metin komutları, başında `/` olan **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 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. +- `nativeSkills: "auto"`, Discord/Telegram için yerel Skills komutlarını açar, Slack'i kapalı bırakır. +- Kanal başına geçersiz kılın: `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`, ek Telegram bot menü girdileri ekler. -- `bash: true`, ana bilgisayar kabuğu için `! ` etkinleştirir. `tools.elevated.enabled` ve gönderenin `tools.elevated.allowFrom.` içinde olması gerekir. -- `config: true`, `/config` 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ı operator istemcileri için kullanılabilir olmaya devam eder. -- `mcp: true`, `mcp.servers` altındaki OpenClaw tarafından yönetilen MCP sunucu yapılandırması için `/mcp` etkinleştirir. -- `plugins: true`, Plugin keşfi, kurulum ve etkinleştirme/devre dışı bırakma denetimleri için `/plugins` etkinleştirir. -- `channels..configWrites`, kanal başına yapılandırma değişikliklerini geçitler (varsayılan: true). -- Çok hesaplı kanallar için `channels..accounts..configWrites`, o hesabı hedefleyen yazmaları da geçitler (örneğin `/allowlist --config --account ` veya `/config set channels..accounts....`). -- `restart: false`, `/restart` ve gateway restart aracı eylemlerini devre dışı bırakır. Varsayılan: `true`. +- `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` 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`, Plugin keşfi, kurulum ve etkinleştirme/devre dışı bırakma denetimleri için `/plugins` komutunu etkinleştirir. +- `channels..configWrites`, kanal başına yapılandırma değişikliklerini kontrol eder (varsayılan: true). +- Çok hesaplı kanallar için `channels..accounts..configWrites`, o hesabı hedefleyen yazımları da kontrol eder (ö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"`, sahip kimliklerini sistem prompt'unda hash'ler. Hashlemeyi 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). +- `ownerDisplay: "hash"`, sistem isteminde sahip kimliklerini hash'ler. Hashlemeyi kontrol etmek 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` ayarlı olmadığında komutların erişim grubu ilkelerini atlamasına izin verir. -- Komut belge haritası: - - yerleşik + bundled katalog: [Slash Commands](/tr/tools/slash-commands) - - kanal özel komut yüzeyleri: [Channels](/tr/channels) +- 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ı: [Pairing](/tr/channels/pairing) + - eşleştirme komutları: [Eşleştirme](/tr/channels/pairing) - LINE kart komutu: [LINE](/tr/channels/line) - - memory dreaming: [Dreaming](/tr/concepts/dreaming) + - bellek dreaming: [Dreaming](/tr/concepts/dreaming) @@ -905,7 +898,7 @@ Varsayılan: `~/.openclaw/workspace`. ### `agents.defaults.repoRoot` -Sistem prompt'unun Runtime satırında gösterilen isteğe bağlı depo kökü. Ayarlı değilse OpenClaw, workspace'ten yukarı doğru yürüyerek otomatik algılar. +Sistem istemindeki Runtime satırında gösterilen isteğe bağlı depo kökü. Ayarlanmamışsa OpenClaw, workspace'ten yukarı doğru yürüyerek bunu otomatik algılar. ```json5 { @@ -922,7 +915,7 @@ Sistem prompt'unun Runtime satırında gösterilen isteğe bağlı depo kökü. agents: { defaults: { skills: ["github", "weather"] }, list: [ - { id: "writer" }, // github, weather miras alır + { id: "writer" }, // github, weather değerlerini devralır { id: "docs", skills: ["docs-search"] }, // varsayılanların yerine geçer { id: "locked-down", skills: [] }, // skill yok ], @@ -930,11 +923,10 @@ Sistem prompt'unun Runtime satırında gösterilen isteğe bağlı depo kökü. } ``` -- Varsayılan olarak sınırsız skill için `agents.defaults.skills` değerini atlayın. -- Varsayılanları miras almak için `agents.list[].skills` değerini atlayın. -- Hiç skill olmaması için `agents.list[].skills: []` ayarlayın. -- Boş olmayan `agents.list[].skills` listesi, o agent için son kümedir; - varsayılanlarla birleşmez. +- Varsayılan olarak sınırsız Skills için `agents.defaults.skills` değerini atlayın. +- Varsayılanları devralmak için `agents.list[].skills` değerini atlayın. +- Hiç Skills olmaması için `agents.list[].skills: []` ayarlayın. +- Boş olmayan bir `agents.list[].skills` listesi, o agent için nihai kümedir; varsayılanlarla birleşmez. ### `agents.defaults.skipBootstrap` @@ -948,9 +940,9 @@ Workspace bootstrap dosyalarının (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTIT ### `agents.defaults.contextInjection` -Workspace bootstrap dosyalarının sisteme prompt'una ne zaman enjekte edildiğini denetler. Varsayılan: `"always"`. +Workspace bootstrap dosyalarının sistem istemine ne zaman ekleneceğini denetler. Varsayılan: `"always"`. -- `"continuation-skip"`: güvenli devam turları (tamamlanmış bir assistant yanıtından sonra), workspace bootstrap yeniden enjeksiyonunu atlar ve prompt boyutunu azaltır. Heartbeat çalıştırmaları ve Compaction sonrası yeniden denemeler yine bağlamı yeniden oluşturur. +- `"continuation-skip"`: güvenli devam turu (tamamlanmış bir assistant yanıtından sonra), workspace bootstrap yeniden eklemeyi atlar ve istem boyutunu azaltır. Heartbeat çalıştırmaları ve Compaction sonrası yeniden denemeler yine bağlamı yeniden oluşturur. ```json5 { @@ -960,7 +952,7 @@ Workspace bootstrap dosyalarının sisteme prompt'una ne zaman enjekte edildiği ### `agents.defaults.bootstrapMaxChars` -Kırpmadan önce workspace bootstrap dosyası başına en yüksek karakter sayısı. Varsayılan: `12000`. +Kırpma öncesinde workspace bootstrap dosyası başına en fazla karakter. Varsayılan: `12000`. ```json5 { @@ -970,7 +962,7 @@ Kırpmadan önce workspace bootstrap dosyası başına en yüksek karakter sayı ### `agents.defaults.bootstrapTotalMaxChars` -Tüm workspace bootstrap dosyaları boyunca enjekte edilen toplam en yüksek karakter sayısı. Varsayılan: `60000`. +Tüm workspace bootstrap dosyaları boyunca eklenen toplam en fazla karakter. Varsayılan: `60000`. ```json5 { @@ -980,12 +972,12 @@ Tüm workspace bootstrap dosyaları boyunca enjekte edilen toplam en yüksek kar ### `agents.defaults.bootstrapPromptTruncationWarning` -Bootstrap bağlamı kırpıldığında agent tarafından görülebilen uyarı metnini denetler. +Bootstrap bağlamı kırpıldığında agent'a görünür uyarı metnini denetler. Varsayılan: `"once"`. -- `"off"`: sisteme prompt'una asla uyarı metni enjekte etme. -- `"once"`: benzersiz her kırpma imzası için uyarıyı bir kez enjekte et (önerilir). -- `"always"`: kırpma mevcut olduğunda her çalıştırmada uyarıyı enjekte et. +- `"off"`: uyarı metnini sistem istemine asla ekleme. +- `"once"`: her benzersiz kırpma imzası için uyarıyı bir kez ekle (önerilir). +- `"always"`: kırpma varsa her çalıştırmada uyarıyı ekle. ```json5 { @@ -995,33 +987,32 @@ Varsayılan: `"once"`. ### Bağlam bütçesi sahiplik haritası -OpenClaw birden fazla yüksek hacimli prompt/bağlam bütçesine sahiptir ve bunlar -tek bir genel düğmeden akmak yerine alt sistemlere göre bilinçli şekilde +OpenClaw birden fazla yüksek hacimli istem/bağlam bütçesine sahiptir ve bunlar, +tek bir genel ayar üzerinden akmak yerine alt sistemlere göre kasıtlı olarak ayrılmıştır. - `agents.defaults.bootstrapMaxChars` / `agents.defaults.bootstrapTotalMaxChars`: - normal workspace bootstrap enjeksiyonu. + normal workspace bootstrap ekleme işlemi. - `agents.defaults.startupContext.*`: - son günlük `memory/*.md` dosyaları dahil tek seferlik `/new` ve `/reset` - başlangıç ön hazırlığı. + son günlük `memory/*.md` dosyaları dahil, tek seferlik `/new` ve `/reset` + başlangıç önsözü. - `skills.limits.*`: - sisteme prompt'una enjekte edilen sıkıştırılmış skill listesi. + sistem istemine eklenen kompakt Skills listesi. - `agents.defaults.contextLimits.*`: - sınırlı çalışma zamanı alıntıları ve enjekte edilmiş çalışma zamanı sahipli bloklar. + sınırlı çalışma zamanı alıntıları ve eklenen çalışma zamanı sahipli bloklar. - `memory.qmd.limits.*`: - dizinlenmiş bellek arama parçacığı ve enjeksiyon boyutlandırması. + dizine alınmış bellek arama parçacığı ve ekleme boyutlandırması. -Yalnızca bir agent'ın farklı -bir bütçeye ihtiyacı olduğunda eşleşen agent başına geçersiz kılmayı kullanın: +Yalnızca bir agent farklı bir bütçeye ihtiyaç duyuyorsa eşleşen agent başına +geçersiz kılmayı kullanın: - `agents.list[].skillsLimits.maxSkillsPromptChars` - `agents.list[].contextLimits.*` #### `agents.defaults.startupContext` -Boş `/new` ve `/reset` -çalıştırmalarında enjekte edilen ilk tur başlangıç ön hazırlığını denetler. +Boş `/new` ve `/reset` çalıştırmalarında eklenen ilk tur başlangıç önsözünü denetler. ```json5 { @@ -1059,19 +1050,19 @@ Sınırlı çalışma zamanı bağlam yüzeyleri için paylaşılan varsayılanl } ``` -- `memoryGetMaxChars`: kırpma meta verileri ve devam bildirimi - eklenmeden önce varsayılan `memory_get` alıntı sınırı. -- `memoryGetDefaultLines`: `lines` - atlandığında varsayılan `memory_get` satır penceresi. -- `toolResultMaxChars`: kalıcı sonuçlar ve - taşma kurtarma için kullanılan canlı araç sonucu sınırı. -- `postCompactionMaxChars`: Compaction sonrası - yenileme enjeksiyonu sırasında kullanılan AGENTS.md alıntı sınırı. +- `memoryGetMaxChars`: kırpma meta verileri ve devam bildirimi eklenmeden önce + varsayılan `memory_get` alıntı üst sınırı. +- `memoryGetDefaultLines`: `lines` atlandığında varsayılan `memory_get` satır + penceresi. +- `toolResultMaxChars`: kalıcı sonuçlar ve taşma kurtarma için kullanılan canlı + araç sonucu üst sınırı. +- `postCompactionMaxChars`: Compaction sonrası yenileme ekleme sırasında kullanılan + AGENTS.md alıntı üst sınırı. #### `agents.list[].contextLimits` -Paylaşılan `contextLimits` düğmeleri için agent başına geçersiz kılma. Atlanan alanlar -`agents.defaults.contextLimits` değerinden miras alınır. +Paylaşılan `contextLimits` ayarları için agent başına geçersiz kılma. Atlanan alanlar +`agents.defaults.contextLimits` değerinden devralınır. ```json5 { @@ -1097,7 +1088,7 @@ Paylaşılan `contextLimits` düğmeleri için agent başına geçersiz kılma. #### `skills.limits.maxSkillsPromptChars` -Sisteme prompt'una enjekte edilen sıkıştırılmış skill listesi için genel sınır. Bu, +Sistem istemine eklenen kompakt Skills listesi için genel üst sınır. Bu, istek üzerine `SKILL.md` dosyalarının okunmasını etkilemez. ```json5 @@ -1112,7 +1103,7 @@ istek üzerine `SKILL.md` dosyalarının okunmasını etkilemez. #### `agents.list[].skillsLimits.maxSkillsPromptChars` -Skill prompt bütçesi için agent başına geçersiz kılma. +Skills istem bütçesi için agent başına geçersiz kılma. ```json5 { @@ -1131,10 +1122,10 @@ Skill prompt bütçesi için agent başına geçersiz kılma. ### `agents.defaults.imageMaxDimensionPx` -Sağlayıcı çağrılarından önce transcript/araç görsel bloklarında en uzun görsel kenarı için en yüksek piksel boyutu. +Sağlayıcı çağrılarından önce transcript/araç 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ü yoğun çalıştırmalarda vision-token kullanımını ve istek payload boyutunu azaltır. +Daha düşük değerler genellikle ekran görüntüsü yoğun ç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 @@ -1145,7 +1136,7 @@ Daha yüksek değerler daha fazla görsel ayrıntıyı korur. ### `agents.defaults.userTimezone` -Sistem prompt bağlamı için saat dilimi (mesaj zaman damgaları için değil). Ana bilgisayar saat dilimine geri döner. +Sistem istemi bağlamı için saat dilimi (mesaj zaman damgaları için değil). Ana makine saat dilimine geri döner. ```json5 { @@ -1155,7 +1146,7 @@ Sistem prompt bağlamı için saat dilimi (mesaj zaman damgaları için değil). ### `agents.defaults.timeFormat` -Sistem prompt'undaki saat biçimi. Varsayılan: `auto` (OS tercihi). +Sistem istemindeki saat biçimi. Varsayılan: `auto` (OS tercihi). ```json5 { @@ -1214,46 +1205,47 @@ Sistem prompt'undaki saat biçimi. Varsayılan: `auto` (OS tercihi). - `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ı yük devretme modellerini ayarlar. + - Nesne biçimi, birincil modeli ve sıralı failover modellerini ayarlar. - `imageModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. - - `image` araç yolu tarafından vision-model yapılandırması olarak kullanılır. - - Seçili/varsayılan model görsel girdisini kabul edemediğinde geri dönüş yönlendirmesi olarak da kullanılır. + - `image` araç yolu tarafından vision model yapılandırması olarak kullanılır. + - Ayrıca, seçilen/varsayılan model görsel girişi kabul edemediğinde geri dönüş yönlendirmesi için de 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 oluşturma 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-2`. - - Bir sağlayıcı/modeli doğrudan 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`). - - Ayarlanmazsa `image_generate`, kimlik doğrulama destekli bir sağlayıcı varsayılanını yine de çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından sağlayıcı kimliği sırasına göre kaydedilmiş kalan görsel oluşturma sağlayıcılarını dener. + - Paylaşılan görsel üretme yeteneği ve gelecekte görsel üreten herhangi bir araç/Plugin yüzeyi 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-2`. + - Doğrudan bir provider/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ğrulama destekli bir varsayılan sağlayıcı çıkarımı yapabilir. Önce mevcut varsayılan sağlayıcıyı, sonra provider-id sırasına göre kayıtlı kalan görsel üretim 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. + - Paylaşılan müzik üretme 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+`. - - Ayarlanmazsa `music_generate`, kimlik doğrulama destekli bir sağlayıcı varsayılanını yine de çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından sağlayıcı kimliği sırasına göre kaydedilmiş kalan müzik oluşturma sağlayıcılarını dener. - - Bir sağlayıcı/modeli doğrudan seçerseniz eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın. + - Atlanırsa `music_generate` yine de kimlik doğrulama destekli bir varsayılan sağlayıcı çıkarımı yapabilir. Önce mevcut varsayılan sağlayıcıyı, sonra provider-id sırasına göre kayıtlı kalan müzik üretim sağlayıcılarını dener. + - Doğrudan bir provider/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. + - Paylaşılan video üretme 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`. - - Ayarlanmazsa `video_generate`, kimlik doğrulama destekli bir sağlayıcı varsayılanını yine de çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından sağlayıcı kimliği sırasına göre kaydedilmiş kalan video oluşturma sağlayıcılarını dener. - - Bir sağlayıcı/modeli doğrudan 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. + - Atlanırsa `video_generate` yine de kimlik doğrulama destekli bir varsayılan sağlayıcı çıkarımı yapabilir. Önce mevcut varsayılan sağlayıcıyı, sonra provider-id sırasına göre kayıtlı kalan video üretim sağlayıcılarını dener. + - Doğrudan bir provider/model seçerseniz, eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın. + - Bundled Qwen video üretim sağlayıcısı en fazla 1 çıktı videosu, 1 giriş görseli, 4 giriş 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. - - `pdf` aracı tarafından model yönlendirmesi için kullanılır. - - Ayarlanmazsa PDF aracı önce `imageModel` değerine, ardından çözümlenmiş 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 geri dönüş modu tarafından dikkate alınan varsayılan en yüksek sayfa sayısı. + - 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 maksimum 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ı, ardından tam o model kimliği için benzersiz bir 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 kaldırılmış uyumluluk davranışı, bu yüzden açık `provider/model` tercih edin). O sağlayıcı artık yapılandırılmış varsayılan modeli sunmuyorsa OpenClaw, eski kaldırılmış sağlayıcı varsayılanını göstermek yerine ilk yapılandırılmış sağlayıcı/modele geri döner. -- `models`: `/model` için yapılandırılmış model kataloğu ve izin listesi. Her girdi `alias` (kısayol) ve `params` (sağlayıcıya özel; ö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 agent kimliği) anahtar bazında geçersiz kılar. Ayrıntılar için bkz. [Prompt Caching](/tr/reference/prompt-caching). -- `embeddedHarness`: varsayılan düşük düzey embedded agent çalışma zamanı ilkesi. Kayıtlı Plugin harness'larının desteklenen modelleri sahiplenmesine izin vermek için `runtime: "auto"`, yerleşik Pi harness'ını zorlamak için `runtime: "pi"` veya `runtime: "codex"` gibi kayıtlı bir harness kimliği 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 geri dönüş ekleme/kaldırma komutları) standart nesne biçimini kaydeder ve mümkün olduğunda mevcut geri dönüş listelerini korur. -- `maxConcurrent`: oturumlar genelinde en yüksek paralel agent çalıştırma sayısı (her oturum yine serileştirilir). Varsayılan: 4. +- `model.primary`: `provider/model` biçimi (ör. `openai/gpt-5.4`). Provider'ı atlarsanız OpenClaw önce bir takma adı, sonra tam bu model kimliği için benzersiz bir yapılandırılmış-provider eşleşmesini dener ve ancak ondan sonra yapılandırılmış varsayılan provider'a geri döner (kullanımdan kaldırılan uyumluluk davranışı, bu nedenle açık `provider/model` tercih edin). Bu provider artık yapılandırılmış varsayılan modeli sunmuyorsa, OpenClaw eski ve kaldırılmış bir provider varsayılanını göstermek yerine yapılandırılmış ilk provider/model'e 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 (örn. `{ cacheRetention: "long" }`). +- `params` birleştirme önceliği (yapılandırma): `agents.defaults.params` (genel temel) değeri, `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 kimliği) anahtar bazında geçersiz kılar. Ayrıntılar için bkz. [Prompt Caching](/tr/reference/prompt-caching). +- `embeddedHarness`: varsayılan düşük düzey gömülü agent çalışma zamanı ilkesi. Kayıtlı plugin harness'lerin 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 kimliği 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 fallback ekleme/kaldırma komutları), standart nesne biçimini kaydeder ve mümkün olduğunda mevcut fallback listelerini korur. +- `maxConcurrent`: oturumlar genelinde en fazla paralel agent çalıştırma sayısıdır (her oturum yine seri işlenir). Varsayılan: 4. ### `agents.defaults.embeddedHarness` -`embeddedHarness`, embedded agent turlarını hangi düşük düzey yürütücünün çalıştıracağını denetler. -Çoğu dağıtım varsayılan `{ runtime: "auto", fallback: "pi" }` değerini korumalıdır. -Bundled Codex uygulama sunucusu harness'ı gibi güvenilir bir Plugin yerel bir harness sağladığında bunu kullanın. +`embeddedHarness`, gömülü agent turlarını hangi düşük düzey yürütücünün çalıştıracağını denetler. +Çoğu dağıtım varsayılan `{ runtime: "auto", fallback: "pi" }` ayarını korumalıdır. +Bundled Codex uygulama sunucusu harness'i gibi, güvenilen bir Plugin yerel +bir harness sağladığında bunu kullanın. ```json5 { @@ -1269,13 +1261,13 @@ Bundled Codex uygulama sunucusu harness'ı gibi güvenilir bir Plugin yerel bir } ``` -- `runtime`: `"auto"`, `"pi"` veya kayıtlı bir Plugin harness kimliği. Bundled Codex Plugin `codex` kaydeder. -- `fallback`: `"pi"` veya `"none"`. `"pi"`, yerleşik Pi harness'ını uyumluluk geri dönüşü olarak korur. `"none"`, eksik veya desteklenmeyen Plugin harness seçiminde sessizce Pi kullanmak yerine başarısız olunması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 geri dönüşünü devre dışı bırakır. +- `runtime`: `"auto"`, `"pi"` veya kayıtlı bir Plugin harness kimliği. Bundled Codex Plugin, `codex` kaydını yapar. +- `fallback`: `"pi"` veya `"none"`. `"pi"`, hiçbir Plugin harness seçilmediğinde yerleşik PI harness'i uyumluluk geri dönüşü olarak tutar. `"none"`, eksik veya desteklenmeyen Plugin harness seçiminin sessizce PI kullanmak yerine başarısız olmasına neden olur. Seçilen Plugin harness hataları her zaman doğrudan gösterilir. +- 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 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 embedded sohbet harness'ını denetler. Medya oluşturma, 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 denetler. Medya üretimi, vision, PDF, müzik, video ve TTS yine kendi provider/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 | | ------------------- | -------------------------------------- | @@ -1290,13 +1282,13 @@ Bundled Codex uygulama sunucusu harness'ı gibi güvenilir bir Plugin yerel bir Yapılandırdığınız takma adlar her zaman varsayılanların önüne geçer. -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 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` olarak ayarlayın. +Siz `--thinking off` ayarlamadığınız veya `agents.defaults.models["zai/"].params.thinking` değerini kendiniz tanımlamadığınız sürece Z.AI GLM-4.x modelleri thinking modunu otomatik olarak etkinleştirir. +Z.AI modelleri, araç çağrısı akışı için varsayılan olarak `tool_stream` etkinleştirir. Bunu 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` -Yalnızca 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. +Yalnızca metin tabanlı 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 { @@ -1324,19 +1316,19 @@ Yalnızca metin geri dönüş çalıştırmaları için isteğe bağlı CLI arka } ``` -- CLI arka uçları önce metin içindir; araçlar her zaman devre dışıdır. +- CLI arka uçları öncelikle metin içindir; araçlar her zaman devre dışıdır. - `sessionArg` ayarlandığında oturumlar desteklenir. -- `imageArg` dosya yollarını kabul ettiğinde görsel geçişi desteklenir. +- `imageArg` dosya yollarını kabul ettiğinde görsel pass-through desteklenir. ### `agents.defaults.systemPromptOverride` -OpenClaw tarafından birleştirilen sistem prompt'unun tamamını sabit bir dizeyle değiştirin. Varsayılan düzeyde (`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 değer yok sayılır. Denetimli prompt 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üzeyde (`agents.defaults.systemPromptOverride`) veya agent başına (`agents.list[].systemPromptOverride`) ayarlanır. Agent başına değerler önceliklidir; boş veya yalnızca boşluk içeren değerler yok sayılır. Kontrollü istem deneyleri için kullanışlıdır. ```json5 { agents: { defaults: { - systemPromptOverride: "Yardımsever bir assistantsınız.", + systemPromptOverride: "You are a helpful assistant.", }, }, } @@ -1354,14 +1346,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 prompt'undan Heartbeat bölümünü çıkarır + includeSystemPromptSection: true, // varsayılan: true; false, sistem isteminden Heartbeat bölümünü çı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) + 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: "Varsa HEARTBEAT.md dosyasını oku...", + prompt: "HEARTBEAT.md varsa oku...", ackMaxChars: 300, suppressToolErrorWarnings: false, timeoutSeconds: 45, @@ -1371,15 +1363,15 @@ Periyodik Heartbeat çalıştırmaları. } ``` -- `every`: süre dizesi (ms/s/m/h). Varsayılan: `30m` (API-key kimlik doğrulaması) veya `1h` (OAuth kimlik doğrulaması). Devre dışı bırakmak için `0m` ayarlayın. -- `includeSystemPromptSection`: false olduğunda sistem prompt'undan Heartbeat bölümünü çıkarır ve bootstrap bağlamına `HEARTBEAT.md` enjeksiyonunu atlar. Varsayılan: `true`. -- `suppressToolErrorWarnings`: true olduğunda Heartbeat çalıştırmaları sırasında araç hata uyarısı payload'larını bastırır. -- `timeoutSeconds`: iptal edilmeden önce bir Heartbeat agent turuna izin verilen saniye cinsinden en yüksek süre. Ayarlanmamış bırakılırsa `agents.defaults.timeoutSeconds` kullanılır. +- `every`: süre dizesi (ms/s/m/h). Varsayılan: `30m` (API key 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` dosyasının bootstrap bağlamına 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 turu için izin verilen en yüksek saniye süresi. `agents.defaults.timeoutSeconds` değerini kullanmak için ayarsız bırakın. - `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 workspace bootstrap dosyalarından yalnızca `HEARTBEAT.md` dosyasını korur. -- `isolatedSession`: true olduğunda her Heartbeat yeni bir oturumda, önceki konuşma geçmişi olmadan çalışır. Cron `sessionTarget: "isolated"` ile aynı yalıtım kalıbı. Heartbeat başına token maliyetini yaklaşık 100K'den yaklaşık 2-5K token'a düşürür. -- Agent başına: `agents.list[].heartbeat` ayarlayın. Herhangi bir agent `heartbeat` tanımladığında Heartbeat'i **yalnızca o agent'lar** çalıştırır. -- Heartbeat'ler tam agent turları çalıştırır — daha kısa aralıklar daha fazla token tüketir. +- `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 yaklaşık ~100K'dan ~2-5K token'a düşürür. +- Agent başına: `agents.list[].heartbeat` ayarlayın. Herhangi bir agent `heartbeat` tanımlarsa, Heartbeat'leri **yalnızca o agent'lar** çalıştırır. +- Heartbeat'ler tam agent turları çalıştırır — daha kısa aralıklar daha fazla token harcar. ### `agents.defaults.compaction` @@ -1389,19 +1381,19 @@ Periyodik Heartbeat çalıştırmaları. defaults: { compaction: { mode: "safeguard", // default | safeguard - provider: "my-provider", // kayıtlı bir Compaction sağlayıcı Plugin öğesinin kimliği (isteğe bağlı) + provider: "my-provider", // kayıtlı bir Compaction provider Plugin kimliği (isteğe bağlı) timeoutSeconds: 900, reserveTokensFloor: 24000, identifierPolicy: "strict", // strict | off | custom - identifierInstructions: "Dağıtım kimliklerini, bilet kimliklerini ve host:port çiftlerini tam olarak koru.", // identifierPolicy=custom olduğunda kullanılır - postCompactionSections: ["Session Startup", "Red Lines"], // [] yeniden enjeksiyonu devre dışı bırakır + identifierInstructions: "Dağıtım kimliklerini, ticket kimliklerini ve host:port çiftlerini tam olarak koru.", // 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 ve tamamlandığında kısa bildirimler gönder (varsayılan: false) memoryFlush: { enabled: true, softThresholdTokens: 6000, - systemPrompt: "Oturum Compaction sınırına yaklaşıyor. Kalıcı anıları şimdi depola.", - prompt: "Kalıcı notları memory/YYYY-MM-DD.md dosyasına yaz; depolanacak bir şey yoksa tam olarak sessiz NO_REPLY token'ı ile yanıt ver.", + systemPrompt: "Oturum Compaction eşiğine yaklaşıyor. Kalıcı anıları şimdi depola.", + prompt: "Kalıcı notları memory/YYYY-MM-DD.md dosyasına yaz; depolanacak bir şey yoksa tam olarak NO_REPLY sessiz token'ı ile yanıt ver.", }, }, }, @@ -1410,14 +1402,14 @@ 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ı Plugin öğesinin kimliği. Ayarlandığında, yerleşik LLM özetlemesi yerine sağlayıcının `summarize()` işlevi çağrılır. Başarısızlık durumunda 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'ın iptal etmeden önce tek bir Compaction işlemi için izin verdiği 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. +- `provider`: kayıtlı bir Compaction provider Plugin kimliği. Ayarlandığında, yerleşik LLM özetleme yerine provider'ın `summarize()` işlevi çağrılır. Hata durumunda yerleşik olana geri döner. Bir provider ayarlamak `mode: "safeguard"` değerini zorunlu kılar. Bkz. [Compaction](/tr/concepts/compaction). +- `timeoutSeconds`: OpenClaw işlemi 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önergesini başa ekler. - `identifierInstructions`: `identifierPolicy=custom` olduğunda kullanılan isteğe bağlı özel tanımlayıcı koruma metni. -- `postCompactionSections`: Compaction sonrası 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. Ayarlanmadığında veya açıkça bu varsayılan çift ayarlandığında, eski `Every Session`/`Safety` başlıkları da eski 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 korurken 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 ve tamamlandığında kullanıcıya kısa bildirimler gönderir (örneğin, "Bağlam sıkıştırılıyor..." ve "Compaction tamamlandı"). Varsayılan olarak devre dışıdır; böylece Compaction sessiz kalır. -- `memoryFlush`: otomatik Compaction öncesi kalıcı anıları depolamak için sessiz agent turu. Workspace salt okunur olduğunda atlanır. +- `postCompactionSections`: Compaction sonrasında yeniden eklenecek isteğe bağlı AGENTS.md H2/H3 bölüm adları. Varsayılan olarak `["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 özetleme için isteğe bağlı `provider/model-id` geçersiz kılması. Ana oturum bir modeli korurken Compaction özetleri başka bir modelde çalışacaksa bunu kullanın; ayarlanmazsa Compaction oturumun birincil modelini kullanır. +- `notifyUser`: `true` olduğunda, Compaction başladığında ve tamamlandığında kullanıcıya kısa bildirimler gönderir (örneğin "Bağlam sıkıştırılıyor..." ve "Compaction tamamlandı"). Compaction'ı sessiz tutmak için varsayılan olarak devre dışıdır. +- `memoryFlush`: otomatik Compaction öncesinde kalıcı anıları depolamak için sessiz agentic tur. Workspace salt okunursa atlanır. ### `agents.defaults.contextPruning` @@ -1445,19 +1437,19 @@ LLM'ye göndermeden önce bellek içi bağlamdan **eski araç sonuçlarını** b -- `mode: "cache-ttl"` budama geçişlerini etkinleştirir. -- `ttl`, budamanın ne sıklıkta 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. +- `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, ardından gerekirse daha eski araç sonuçlarını tamamen temizler. -**Yumuşak kırpma**, başlangıcı + sonu korur ve ortaya `...` ekler. +**Yumuşak kırpma**, başı + sonu korur ve ortasına `...` ekler. **Tam temizleme**, tüm araç sonucunu yer tutucuyla değiştirir. Notlar: - Görsel blokları asla kırpılmaz/temizlenmez. -- Oranlar karakter tabanlıdır (yaklaşık), tam token sayıları değildir. -- `keepLastAssistants` sayısından daha az assistant mesajı varsa budama atlanır. +- Oranlar, tam token sayıları değil, karakter tabanlıdır (yaklaşık). +- `keepLastAssistants` değerinden daha az assistant mesajı varsa budama atlanır. @@ -1479,11 +1471,11 @@ Davranış ayrıntıları için bkz. [Session Pruning](/tr/concepts/session-prun } ``` -- Telegram dışındaki kanallar, blok yanıtlarını etkinleştirmek için açık `*.blockStreaming: true` gerektirir. -- 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ında rastgele duraklama. `natural` = 800–2500 ms. Agent başına geçersiz kılma: `agents.list[].humanDelay`. +- Telegram dışındaki kanallar, blok yanıtları etkinleştirmek için açık `*.blockStreaming: true` gerektirir. +- Kanal geçersiz kılmaları: `channels..blockStreamingCoalesce` (ve hesap başına varyantlar). Signal/Slack/Discord/Google Chat varsayılan olarak `minChars: 1500` kullanır. +- `humanDelay`: blok yanıtlar arasında rastgele gecikme. `natural` = 800–2500ms. Agent başına geçersiz kılma: `agents.list[].humanDelay`. -Davranış + parçalara ayırma ayrıntıları için bkz. [Streaming](/tr/concepts/streaming). +Davranış + parçalama ayrıntıları için bkz. [Streaming](/tr/concepts/streaming). ### Yazıyor göstergeleri @@ -1498,7 +1490,7 @@ Davranış + parçalara ayırma ayrıntıları için bkz. [Streaming](/tr/concep } ``` -- Varsayılanlar: doğrudan sohbetler/mention'lar için `instant`, mention içermeyen grup sohbetleri için `message`. +- Varsayılanlar: doğrudan sohbetler/mention'lar için `instant`, mention olmayan grup sohbetleri için `message`. - Oturum başına geçersiz kılmalar: `session.typingMode`, `session.typingIntervalSeconds`. Bkz. [Typing Indicators](/tr/concepts/typing-indicators). @@ -1507,7 +1499,7 @@ Bkz. [Typing Indicators](/tr/concepts/typing-indicators). ### `agents.defaults.sandbox` -Embedded agent için isteğe bağlı sandboxing. Tam kılavuz için bkz. [Sandboxing](/tr/gateway/sandboxing). +Gömülü agent için isteğe bağlı sandbox uygulaması. Tam kılavuz için bkz. [Sandboxing](/tr/gateway/sandboxing). ```json5 { @@ -1553,7 +1545,7 @@ Embedded agent için isteğe bağlı sandboxing. Tam kılavuz için bkz. [Sandbo identityFile: "~/.ssh/id_ed25519", certificateFile: "~/.ssh/id_ed25519-cert.pub", knownHostsFile: "~/.ssh/known_hosts", - // SecretRef / satır içi içerik 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" }, @@ -1610,8 +1602,8 @@ Embedded agent için isteğe bağlı sandboxing. Tam kılavuz için bkz. [Sandbo - `ssh`: genel SSH destekli uzak çalışma zamanı - `openshell`: OpenShell çalışma zamanı -`backend: "openshell"` seçildiğinde çalışma zamanına özel ayarlar -`plugins.entries.openshell.config` içine taşınır. +`backend: "openshell"` seçildiğinde, çalışma zamanına özgü ayarlar +`plugins.entries.openshell.config` altına taşınır. **SSH arka uç yapılandırması:** @@ -1619,29 +1611,29 @@ Embedded agent için isteğe bağlı sandboxing. Tam kılavuz için bkz. [Sandbo - `command`: SSH istemci komutu (varsayılan: `ssh`) - `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'ın geçici dosyalara dönüştürdüğü satır içi içerikler veya SecretRef değerleri -- `strictHostKeyChecking` / `updateHostKeys`: OpenSSH host-key ilkesi düğmeleri +- `identityData` / `certificateData` / `knownHostsData`: OpenClaw'un ç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ğerine üstün gelir -- `certificateData`, `certificateFile` değerine üstün gelir -- `knownHostsData`, `knownHostsFile` değerine üstün gelir +- `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 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ı uzak workspace'i bir kez tohumlar -- sonra uzak SSH workspace'ini standart olarak korur +- oluşturma veya yeniden oluşturma sonrasında uzak workspace'i bir kez tohumlar +- ardından uzak SSH workspace'ini standart tutar - `exec`, dosya araçları ve medya yollarını SSH üzerinden yönlendirir -- uzak değişiklikleri otomatik olarak ana bilgisayara geri eşitlemez +- uzak değişiklikleri otomatik olarak ana makineye geri eşitlemez - sandbox tarayıcı kapsayıcılarını desteklemez **Workspace erişimi:** - `none`: `~/.openclaw/sandboxes` altında kapsam başına sandbox workspace -- `ro`: `/workspace` konumunda sandbox workspace, `/agent` konumunda salt okunur bağlı agent workspace -- `rw`: `/workspace` konumunda okuma/yazma bağlı agent workspace +- `ro`: sandbox workspace `/workspace` altında, agent workspace salt okunur olarak `/agent` altında bağlanır +- `rw`: agent workspace okuma/yazma olarak `/workspace` altında bağlanır **Kapsam:** @@ -1664,7 +1656,7 @@ Embedded agent için isteğe bağlı sandboxing. Tam kılavuz için bkz. [Sandbo 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 kimliği providers: ["openai"], // isteğe bağlı autoProviders: true, timeoutSeconds: 120, @@ -1677,31 +1669,30 @@ Embedded agent için isteğe bağlı sandboxing. Tam kılavuz için bkz. [Sandbo **OpenShell modu:** -- `mirror`: yürütmeden önce uzağı yerelden tohumla, yürütmeden sonra geri eşitle; yerel workspace standart kalır -- `remote`: sandbox oluşturulduğunda uzağı bir kez tohumla, sonra uzak workspace'i standart olarak koru +- `mirror`: exec öncesinde uzağı yerelden tohumla, exec sonrasında geri eşitle; yerel workspace standart kalır +- `remote`: sandbox oluşturulduğunda uzağı bir kez tohumla, ardından uzak workspace'i standart tut -`remote` modunda, OpenClaw dışında yapılan ana bilgisayar yerel düzenlemeleri, tohumlama adımından sonra sandbox içine otomatik eşitlenmez. -Taşıma SSH ile OpenShell sandbox içine yapılır, ancak sandbox yaşam döngüsüne ve isteğe bağlı ayna eşitlemesine Plugin sahip olur. +`remote` modunda, tohumlama adımından sonra OpenClaw dışında yapılan ana makine yerel düzenlemeleri otomatik olarak sandbox ile eşitlenmez. +Taşıma, OpenShell sandbox'ına SSH ile yapılır, ancak sandbox yaşam döngüsüne ve isteğe bağlı mirror eşitlemeye Plugin sahiptir. -**`setupCommand`**, kapsayıcı oluşturulduktan sonra bir kez çalışır (`sh -lc` üzerinden). Ağ çıkışı, yazılabilir kök ve root kullanıcı gerekir. +**`setupCommand`**, kapsayıcı oluşturulduktan sonra bir kez çalışır (`sh -lc` ile). Ağ çıkışı, yazılabilir kök ve root kullanıcı gerektirir. -**Kapsayıcılar varsayılan olarak `network: "none"` ile gelir** — agent dış erişime ihtiyaç duyuyorsa `"bridge"` (veya özel bir bridge ağı) olarak ayarlayın. -`"host"` engellenir. `"container:"` varsayılan olarak engellenir; yalnızca -açıkça `sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true` ayarlarsanız -izin verilir (acil durum). +**Kapsayıcılar varsayılan olarak `network: "none"` kullanır** — agent'ın dış erişime ihtiyacı varsa `"bridge"` (veya özel bir bridge ağı) olarak ayarlayın. +`"host"` engellenir. Varsayılan olarak `"container:"` da engellenir; yalnızca açıkça +`sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true` ayarlarsanız izin verilir (acil durum modu). -**Gelen ekler**, etkin workspace içinde `media/inbound/*` altına hazırlanır. +**Gelen ekler**, etkin workspace altında `media/inbound/*` içine hazırlanır. -**`docker.binds`**, ek ana bilgisayar dizinlerini bağlar; genel ve agent başına bağlamalar birleştirilir. +**`docker.binds`**, ek ana makine dizinlerini bağlar; genel ve agent başına bind'ler birleştirilir. -**Sandboxed browser** (`sandbox.browser.enabled`): bir kapsayıcı içinde Chromium + CDP. noVNC URL'si sistem prompt'una enjekte edilir. `openclaw.json` içinde `browser.enabled` gerektirmez. +**Sandbox'lı 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ı kullanır ve OpenClaw, paylaşılan URL'de parolayı göstermek yerine kısa ömürlü bir token URL üretir. -- `allowHostControl: false` (varsayılan), sandbox'lı oturumların ana bilgisayar 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`, 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 ana bilgisayar dizinlerini yalnızca sandbox tarayıcı kapsayıcısına bağlar. Ayarlandığında (`[]` dahil), tarayıcı kapsayıcısı için `docker.binds` yerine geçer. -- Başlatma varsayılanları `scripts/sandbox-browser-entrypoint.sh` içinde tanımlanır ve kapsayıcı ana bilgisayarları için ayarlanmıştır: +- `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ğı). Genel bridge bağlantısını açıkça istediğinizde yalnızca `bridge` olarak ayarlayın. +- `cdpSourceRange`, isteğe bağlı olarak CDP girişini kapsayıcı sınırında 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 yerine geçer. +- Başlatma varsayılanları `scripts/sandbox-browser-entrypoint.sh` içinde tanımlanmıştır ve kapsayıcı ana makineleri için ayarlanmıştır: - `--remote-debugging-address=127.0.0.1` - `--remote-debugging-port=` - `--user-data-dir=${HOME}/.chrome` @@ -1722,17 +1713,18 @@ noVNC gözlemci erişimi varsayılan olarak VNC kimlik doğrulaması kullanır v - `--disable-3d-apis`, `--disable-software-rasterizer` ve `--disable-gpu` varsayılan olarak etkindir ve 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. + - `OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0`, iş akışınız buna bağlıysa + uzantıları yeniden etkinleştirir. - `--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` etkin olduğunda `--no-sandbox` ve `--disable-setuid-sandbox`. - - Varsayılanlar kapsayıcı görseli taban çizgisidir; kapsayıcı varsayılanlarını değiştirmek için özel giriş noktası olan özel bir tarayıcı görseli kullanın. + - ayrıca `noSandbox` etkinse `--no-sandbox` ve `--disable-setuid-sandbox`. + - Varsayılanlar kapsayıcı görseli taban çizgisidir; kapsayıcı varsayılanlarını değiştirmek için özel + bir entrypoint içeren özel bir tarayıcı görseli kullanın. -Tarayıcı sandboxing ve `sandbox.docker.binds` yalnızca Docker içindir. +Tarayıcı sandbox uygulaması ve `sandbox.docker.binds` yalnızca Docker içindir. Görselleri oluşturun: @@ -1750,7 +1742,7 @@ scripts/sandbox-browser-setup.sh # isteğe bağlı tarayıcı görseli { id: "main", default: true, - name: "Ana Agent", + name: "Main Agent", workspace: "~/.openclaw/workspace", agentDir: "~/.openclaw/agents/main/agent", model: "anthropic/claude-opus-4-6", // veya { primary, fallbacks } @@ -1791,20 +1783,20 @@ scripts/sandbox-browser-setup.sh # isteğe bağlı tarayıcı görseli ``` - `id`: kararlı agent kimliği (zorunlu). -- `default`: birden fazla ayarlanırsa ilki kazanır (uyarı günlüğe yazılır). Hiçbiri ayarlı değilse listedeki ilk girdi 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 geri dönüşleri devre dışı bırakır). Yalnızca `primary` değerini geçersiz kılan Cron işleri, `fallbacks: []` ayarlamadığınız sürece varsayılan geri dönüşleri yine de miras alır. -- `params`: `agents.defaults.models` içindeki seçilen model girdisi üzerine birleştirilen agent başına akış parametreleri. Bunu, tüm model kataloğunu yinelemeden `cacheRetention`, `temperature` veya `maxTokens` gibi agent'a özel geçersiz kılmalar için kullanın. -- `skills`: isteğe bağlı agent başına skill izin listesi. Atlanırsa agent, ayarlı olduğunda `agents.defaults.skills` değerini miras alır; açık bir liste varsayılanlarla birleşmek yerine onların yerini alır ve `[]` hiç skill olmadığı anlamına gelir. +- `default`: birden fazla ayarlanırsa ilki kazanır (uyarı günlüğe yazılır). Hiçbiri ayarlanmazsa, 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 fallback'leri devre dışı bırakır). Yalnızca `primary` değerini geçersiz kılan Cron işleri, `fallbacks: []` ayarlamadığınız sürece yine varsayılan fallback'leri devralır. +- `params`: agent başına akış parametreleri, `agents.defaults.models` içindeki seçili model girdisinin üzerine birleştirilir. Tüm model kataloğunu kopyalamadan `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, ayarlanmışsa `agents.defaults.skills` değerini devralır; açık bir liste varsayılanlarla birleşmek yerine onların yerini alır ve `[]` hiç 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 | max`). Mesaj başına veya oturum geçersiz kılması ayarlı olmadığı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ı ayarlı olmadığında uygulanır. -- `fastModeDefault`: isteğe bağlı agent başına fast mode varsayılanı (`true | false`). Mesaj başına veya oturum fast-mode geçersiz kılması ayarlı olmadığında uygulanır. -- `embeddedHarness`: isteğe bağlı agent başına düşük düzey 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ını kullanmalıysa `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ğerinden `mentionPatterns`. -- `subagents.allowAgents`: `sessions_spawn` için agent kimliği izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı agent). -- Sandbox miras koruması: isteyen oturum sandbox içindeyse `sessions_spawn`, sandbox olmadan çalışacak hedefleri reddeder. -- `subagents.requireAgentId`: true olduğunda `agentId` belirtmeyen `sessions_spawn` çağrılarını engeller (açık profil seçimini zorunlu kılar; varsayılan: false). +- `fastModeDefault`: isteğe bağlı agent başına varsayılan fast mode değeri (`true | false`). Mesaj başına veya oturum fast-mode geçersiz kılması ayarlı olmadığında uygulanır. +- `embeddedHarness`: isteğe bağlı agent başına düşük düzey harness ilkesi geçersiz kılması. Bir agent'ı yalnızca Codex yapıp diğer agent'lar varsayılan PI fallback'i korurken `{ runtime: "codex", fallback: "none" }` kullanın. +- `runtime`: isteğe bağlı agent başına runtime tanımlayıcısı. Agent varsayılan olarak ACP harness oturumlarını 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'si. +- `identity`, varsayılanları türetir: `ackReaction` değeri `emoji`'den, `mentionPatterns` değeri `name`/`emoji`'den türetilir. +- `subagents.allowAgents`: `sessions_spawn` için agent kimlikleri izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı agent). +- Sandbox devralma koruması: isteyen oturum sandbox'lıysa, `sessions_spawn` sandbox'sız ç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). --- @@ -1827,16 +1819,16 @@ Bir Gateway içinde birden çok yalıtılmış agent çalıştırın. Bkz. [Mult } ``` -### Binding eşleşme alanları +### Bağlama eşleşme alanları - `type` (isteğe bağlı): normal yönlendirme için `route` (eksik type varsayılan olarak route olur), kalıcı ACP konuşma bağlamaları için `acp`. - `match.channel` (zorunlu) - `match.accountId` (isteğe bağlı; `*` = herhangi bir 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 özel) +- `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 }` -**Belirlenebilir eşleşme sırası:** +**Deterministik eşleşme sırası:** 1. `match.peer` 2. `match.guildId` @@ -1847,7 +1839,7 @@ Bir Gateway içinde birden çok yalıtılmış agent çalıştırın. Bkz. [Mult Her katman içinde 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 binding katman sırasını kullanmaz. +`type: "acp"` girdileri için OpenClaw, tam konuşma kimliğine göre çözümleme yapar (`match.channel` + hesap + `match.peer.id`) ve yukarıdaki route bağlama katman sırasını kullanmaz. ### Agent başına erişim profilleri @@ -1970,20 +1962,20 @@ Her katman içinde ilk eşleşen `bindings` girdisi kazanır. }, resetTriggers: ["/new", "/reset"], store: "~/.openclaw/agents/{agentId}/sessions/sessions.json", - parentForkMaxTokens: 100000, // bu token sayısının üzerinde üst ileti dizisi çatallamasını atla (0 devre dışı bırakır) + parentForkMaxTokens: 100000, // bu token sayısının üstünde parent-thread fork atlanır (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ı katı bütçe + maxDiskBytes: "500mb", // isteğe bağlı kesin bütçe highWaterBytes: "400mb", // isteğe bağlı temizleme hedefi }, threadBindings: { enabled: true, - idleHours: 24, // etkin olmama durumunda saat cinsinden varsayılan otomatik odak kaldırma (`0` devre dışı bırakır) - maxAgeHours: 0, // saat cinsinden varsayılan katı en yüksek yaş (`0` devre dışı bırakır) + idleHours: 24, // saat cinsinden varsayılan hareketsizlik otomatik odak kaldırma (`0` devre dışı bırakır) + maxAgeHours: 0, // saat cinsinden varsayılan kesin maksimum yaş (`0` devre dışı bırakır) }, mainKey: "main", // eski (çalışma zamanı her zaman "main" kullanır) agentToAgent: { maxPingPongTurns: 5 }, @@ -2000,32 +1992,32 @@ Her katman içinde ilk eşleşen `bindings` girdisi kazanır. - **`scope`**: grup sohbeti bağlamları için temel oturum gruplama stratejisi. - `per-sender` (varsayılan): her gönderen, 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 gruplandığı. +- **`dmScope`**: DM'lerin nasıl gruplanacağını belirler. - `main`: tüm DM'ler ana oturumu paylaşır. - `per-peer`: kanallar genelinde 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 saate göre `atHour` zamanında sıfırlar; `idle`, `idleMinutes` sonrasında sıfırlar. Her ikisi de yapılandırıldığında önce hangisinin süresi dolarsa o kazanır. +- **`reset`**: birincil sıfırlama ilkesi. `daily`, yerel saate göre `atHour` değerinde sıfırlar; `idle`, `idleMinutes` sonrasında sıfırlar. İkisi de yapılandırılmışsa, hangisinin süresi önce dolarsa o 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`**: çatallanmış bir ileti dizisi oturumu oluşturulurken 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 miras almak yerine yeni bir ileti dizisi oturumu başlatır. +- **`parentForkMaxTokens`**: çatallanmış bir thread oturumu oluşturulurken izin verilen en yüksek üst oturum `totalTokens` değeri (varsayılan `100000`). + - Üst oturum `totalTokens` değeri bu değerin üzerindeyse, OpenClaw üst transcript geçmişini devralmak yerine yeni bir thread 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 kovası için her zaman `"main"` kullanır. -- **`agentToAgent.maxPingPongTurns`**: agent'tan agent'a değişimlerde agent'lar arasındaki en yüksek geri yanıt turu sayısı (tamsayı, aralık: `0`–`5`). `0`, ping-pong zincirlemesini devre dışı bırakır. -- **`sendPolicy`**: `channel`, `chatType` (`direct|group|channel`, eski `dm` takma adıyla), `keyPrefix` veya `rawKeyPrefix` ile eşleştirir. İlk deny kazanır. +- **`agentToAgent.maxPingPongTurns`**: agent'tan agent'a değişimlerde agent'lar arasındaki en fazla geri yanıt turu sayısıdır (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ş kesimi (varsayılan `30d`). + - `pruneAfter`: eski girdiler için yaş sınırı (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ü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`: isteğe bağlı oturumlar dizini disk bütçesi. `warn` modunda uyarılar günlüğe yazılır; `enforce` modunda önce en eski yapıtlar/oturumlar kaldırılır. - - `highWaterBytes`: bütçe temizliği sonrası isteğe bağlı hedef. Varsayılan olarak `maxDiskBytes` değerinin `%80`'i. -- **`threadBindings`**: ileti dizisine bağlı oturum özellikleri için genel varsayılanlar. + - `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ı günlüğe yazılır; `enforce` modunda önce en eski yapıtlar/oturumlar kaldırılır. + - `highWaterBytes`: bütçe temizliğinden sonraki isteğe bağlı hedef. Varsayılan olarak `maxDiskBytes` değerinin `%80`'idir. +- **`threadBindings`**: thread'e 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`: saat cinsinden varsayılan etkin olmama otomatik odak kaldırma (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) - - `maxAgeHours`: saat cinsinden varsayılan katı en yüksek yaş (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) + - `idleHours`: saat cinsinden varsayılan hareketsizlik otomatik odak kaldırma (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) + - `maxAgeHours`: saat cinsinden varsayılan kesin maksimum yaş (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) @@ -2065,36 +2057,36 @@ Her katman içinde ilk eşleşen `bindings` girdisi kazanır. Kanal/hesap başına geçersiz kılmalar: `channels..responsePrefix`, `channels..accounts..responsePrefix`. -Çözümleme (en özeli kazanır): hesap → kanal → genel. `""` devre dışı bırakır ve zinciri durdurur. `"auto"`, `[{identity.name}]` türetir. +Çözümleme (en özeli kazanır): hesap → kanal → genel. `""`, devre dışı bırakır ve zincirlemeyi durdurur. `"auto"`, `[{identity.name}]` türetir. **Şablon değişkenleri:** -| Değişken | Açıklama | Örnek | -| ---------------- | ----------------------- | --------------------------- | -| `{model}` | Kısa model adı | `claude-opus-4-6` | +| 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ı) | +| `{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 takma addır. +Değişkenler büyük/küçük harfe duyarsızdır. `{think}`, `{thinkingLevel}` için bir takma addır. -### Ack reaction +### Onay tepkisi -- Varsayılan olarak etkin agent'ın `identity.emoji` değeri, yoksa `"👀"`. Devre dışı bırakmak için `""` ayarlayın. +- Varsayılan olarak etkin agent'ın `identity.emoji` değeridir, 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 geri dönüşü. +- Çözümleme sırası: hesap → kanal → `messages.ackReaction` → identity geri dönüşü. - Kapsam: `group-mentions` (varsayılan), `group-all`, `direct`, `all`. -- `removeAckAfterReply`: Slack, Discord ve Telegram'da yanıttan sonra ack kaldırır. -- `messages.statusReactions.enabled`: Slack, Discord ve Telegram'da yaşam döngüsü durum tepkilerini etkinleştirir. - Slack ve Discord'da ayarsız bırakıldığında, ack reaction'lar etkinse durum tepkileri etkin kalır. - 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, ayarsız bırakılırsa onay tepkileri etkin olduğunda durum tepkileri de etkin kalır. + Telegram'da, yaşam döngüsü durum tepkilerini etkinleştirmek için bunu açıkça `true` yapın. ### Gelen debounce -Aynı gönderenden gelen hızlı yalnızca metin mesajlarını tek bir agent turunda toplar. Medya/ekler hemen boşaltılır. Denetim komutları debounce'u atlar. +Aynı gönderenden hızla gelen yalnızca metin içeren mesajları tek bir agent turunda toplar. Medya/ekler hemen boşaltılır. Denetim komutları debounce'u atlar. -### TTS (text-to-speech) +### TTS (metinden konuşmaya) ```json5 { @@ -2135,12 +2127,12 @@ Aynı gönderenden gelen hızlı yalnızca metin mesajlarını tek bir agent tur } ``` -- `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. +- `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 özet için `agents.defaults.model.primary` değerini geçersiz kılar. -- `modelOverrides` varsayılan olarak etkindir; `modelOverrides.allowProvider` varsayılan olarak `false` durumundadır (isteğe bağlı etkinleştirme). -- API anahtarları `ELEVENLABS_API_KEY`/`XI_API_KEY` ve `OPENAI_API_KEY` değerlerine geri döner. -- `openai.baseUrl`, OpenAI TTS uç noktasını geçersiz kılar. Çözümleme sırası yapılandırma, sonra `OPENAI_TTS_BASE_URL`, sonra `https://api.openai.com/v1` şeklindedir. -- `openai.baseUrl` OpenAI dışı bir uç noktaya işaret ettiğinde OpenClaw bunu OpenAI uyumlu bir TTS sunucusu olarak değerlendirir ve model/ses doğrulamasını gevşetir. +- `modelOverrides` varsayılan olarak etkindir; `modelOverrides.allowProvider` varsayılan olarak `false` durumundadır (isteğe bağlı etkinleştirme gerekir). +- API anahtarları, geri dönüş 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, sonra `OPENAI_TTS_BASE_URL`, sonra `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. --- @@ -2170,13 +2162,13 @@ Talk modu için varsayılanlar (macOS/iOS/Android). } ``` -- `talk.provider`, birden çok Talk sağlayıcısı yapılandırıldığında `talk.providers` içindeki bir anahtarla eşleşmelidir. +- 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. -- Voice ID'ler `ELEVENLABS_VOICE_ID` veya `SAG_VOICE_ID` değerlerine geri döner. +- Voice ID'ler, geri dönüş olarak `ELEVENLABS_VOICE_ID` veya `SAG_VOICE_ID` kullanır. - `providers.*.apiKey`, düz metin dizeleri veya SecretRef nesnelerini kabul eder. -- `ELEVENLABS_API_KEY` geri dönüşü yalnızca 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ış bırakılırsa platform varsayılan duraklama penceresi korunur (`macOS ve Android'de 700 ms, iOS'ta 900 ms`). +- `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ını sağlar. +- `silenceTimeoutMs`, Talk modunun transcript'i göndermeden önce kullanıcı sessizliğinden sonra ne kadar bekleyeceğini denetler. Ayarsız bırakılırsa platformun varsayılan duraklama penceresi korunur (`macOS ve Android'de 700 ms, iOS'ta 900 ms`). --- @@ -2186,35 +2178,35 @@ Talk modu için varsayılanlar (macOS/iOS/Android). `tools.profile`, `tools.allow`/`tools.deny` öncesinde temel bir izin listesi ayarlar: -Yerel onboarding, ayarlı değilken yeni yerel yapılandırmaları varsayılan olarak `tools.profile: "coding"` yapar (mevcut açık profiller korunur). +Yerel onboarding, ayarsız olduğunda yeni yerel yapılandırmaları varsayılan olarak `tools.profile: "coding"` ile başlatır (mevcut açık profiller korunur). -| Profil | İçerir | +| 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` | +| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` | | `full` | Kısıtlama yok (ayarsız 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ı Plugin öğeleri 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 (provider Plugin'leri hariç) | ### `tools.allow` / `tools.deny` -Genel araç izin/verme veya reddetme ilkesi (deny kazanır). Büyük/küçük harfe duyarsızdır, `*` joker karakterlerini destekler. Docker sandbox kapalı olsa bile uygulanır. +Genel araç izin/verme-denetimi ilkesi (deny kazanır). Büyük/küçük harfe duyarsızdır, `*` joker karakterlerini destekler. Docker sandbox kapalıyken bile uygulanır. ```json5 { @@ -2256,9 +2248,9 @@ Sandbox dışındaki elevated exec erişimini denetler: } ``` -- Agent başına geçersiz kılma (`agents.list[].tools.elevated`) yalnızca daha da kısıtlayabilir. -- `/elevated on|off|ask|full`, durumu oturum başına saklar; satır içi yönergeler tek mesaja uygulanır. -- Elevated `exec`, sandboxing'i atlar ve yapılandırılmış kaçış yolunu kullanır (varsayılan olarak `gateway`, veya exec hedefi `node` olduğunda `node`). +- 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 bir mesaja uygulanır. +- Elevated `exec`, sandbox uygulamasını atlar ve yapılandırılmış kaçış yolunu kullanır (varsayılan olarak `gateway` veya exec hedefi `node` olduğunda `node`). ### `tools.exec` @@ -2283,7 +2275,7 @@ Sandbox dışındaki elevated exec erişimini denetler: ### `tools.loopDetection` Araç döngüsü güvenlik denetimleri varsayılan olarak **devre dışıdır**. Algılamayı etkinleştirmek için `enabled: true` ayarlayın. -Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve agent başına `agents.list[].tools.loopDetection` altında geçersiz kılınabilir. +Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve agent başına `agents.list[].tools.loopDetection` ile geçersiz kılınabilir. ```json5 { @@ -2304,13 +2296,13 @@ Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve agent ba } ``` -- `historySize`: döngü analizi için tutulan en yüksek araç çağrısı geçmişi. -- `warningThreshold`: uyarılar için tekrarlanan ilerleme yok kalıbı eşiği. -- `criticalThreshold`: kritik döngüleri engellemek için daha yüksek tekrarlama eşiği. -- `globalCircuitBreakerThreshold`: ilerleme olmayan herhangi bir çalıştırma için katı durdurma eşiği. -- `detectors.genericRepeat`: aynı araç/aynı argüman çağrılarının tekrarında uyarır. +- `historySize`: döngü analizi için saklanan en yüksek araç çağrısı geçmişi. +- `warningThreshold`: uyarılar için yinelenen ilerleme olmayan desen eşiği. +- `criticalThreshold`: kritik döngüleri engellemek için daha yüksek yineleme eşiği. +- `globalCircuitBreakerThreshold`: herhangi bir ilerleme olmayan çalışma için kesin durdurma eşiği. +- `detectors.genericRepeat`: aynı araç/aynı argüman çağrıları tekrarlandığı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 çift kalıplarında 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` @@ -2345,7 +2337,7 @@ Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve agent ba ### `tools.media` -Gelen medya anlama yapılandırmasını yapar (görsel/ses/video): +Gelen medya anlamayı yapılandırır (görsel/ses/video): ```json5 { @@ -2353,7 +2345,7 @@ Gelen medya anlama yapılandırmasını yapar (görsel/ses/video): media: { concurrency: 2, asyncCompletion: { - directSend: false, // isteğe bağlı etkinleştirme: biten async music/video içeriğini doğrudan kanala gönder + directSend: false, // isteğe bağlı etkinleştirme: tamamlanan async müzik/videoyu doğrudan kanala gönder }, audio: { enabled: true, @@ -2377,11 +2369,11 @@ Gelen medya anlama yapılandırmasını yapar (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.) +- `provider`: API provider kimliği (`openai`, `anthropic`, `google`/`gemini`, `groq` vb.) - `model`: model kimliği geçersiz kılması - `profile` / `preferredProfile`: `auth-profiles.json` profil seçimi @@ -2394,15 +2386,15 @@ Gelen medya anlama yapılandırmasını yapar (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. +- Hatalar durumunda bir sonraki girdiye geri dönülür. -Sağlayıcı kimlik doğrulaması standart sırayı izler: `auth-profiles.json` → env vars → `models.providers.*.apiKey`. +Sağlayıcı kimlik doğrulaması standart sıralamayı izler: `auth-profiles.json` → env vars → `models.providers.*.apiKey`. **Async completion alanları:** -- `asyncCompletion.directSend`: `true` olduğunda tamamlanan async `music_generate` +- `asyncCompletion.directSend`: `true` olduğunda, tamamlanan async `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 requester-session uyandırma/model-teslim yolu). @@ -2421,9 +2413,9 @@ Sağlayıcı kimlik doğrulaması standart sırayı izler: `auth-profiles.json` ### `tools.sessions` -Oturum araçları (`sessions_list`, `sessions_history`, `sessions_send`) tarafından hangi oturumların hedeflenebileceğini denetler. +Oturum araçlarıyla (`sessions_list`, `sessions_history`, `sessions_send`) hangi oturumların hedeflenebileceğini denetler. -Varsayılan: `tree` (geçerli oturum + bunun tarafından oluşturulmuş oturumlar, örneğin subagent'lar). +Varsayılan: `tree` (mevcut oturum + onun tarafından oluşturulan oturumlar, örneğin subagent'lar). ```json5 { @@ -2438,11 +2430,11 @@ Varsayılan: `tree` (geçerli oturum + bunun tarafından oluşturulmuş oturumla Notlar: -- `self`: yalnızca geçerli oturum anahtarı. -- `tree`: geçerli oturum + geçerli oturum tarafından oluşturulmuş oturumlar (subagent'lar). -- `agent`: geçerli agent kimliğine ait herhangi bir oturum (aynı agent kimliği altında gönderen başına oturumlar çalıştırıyorsanız başka kullanıcıları da içerebilir). +- `self`: yalnızca mevcut oturum anahtarı. +- `tree`: mevcut oturum + mevcut oturum tarafından oluşturulan oturumlar (subagent'lar). +- `agent`: mevcut agent kimliğine ait herhangi bir oturum (aynı agent kimliği altında gönderen başına oturumlar çalıştırıyorsanız diğer kullanıcıları da içerebilir). - `all`: herhangi bir oturum. Agent'lar arası hedefleme için yine de `tools.agentToAgent` gerekir. -- Sandbox kıskacı: 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` olarak zorlanır. +- Sandbox sınırlaması: mevcut oturum sandbox'lıysa ve `agents.defaults.sandbox.sessionToolsVisibility="spawned"` ise, `tools.sessions.visibility="all"` olsa bile görünürlük `tree` olarak zorlanır. ### `tools.sessions_spawn` @@ -2453,8 +2445,8 @@ Notlar: tools: { sessions_spawn: { attachments: { - enabled: false, // isteğe bağlı etkinleştirme: satır içi dosya eklerine izin vermek için true ayarlayın - maxTotalBytes: 5242880, // tüm dosyalarda toplam 5 MB + 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 için toplam 5 MB maxFiles: 50, maxFileBytes: 1048576, // dosya başına 1 MB retainOnSessionKeep: false, // cleanup="keep" olduğunda ekleri koru @@ -2466,22 +2458,22 @@ Notlar: Notlar: -- Ekler yalnızca `runtime: "subagent"` için desteklenir. ACP runtime bunları reddeder. -- Dosyalar, alt workspace içinde `.openclaw/attachments//` yoluna `.manifest.json` ile birlikte somutlaştırılır. -- Ek içeriği transcript kalıcılığından otomatik olarak redakte edilir. -- Base64 girdileri sıkı alfabe/padding denetimleri ve çözüm öncesi boyut koruması ile doğrulanır. +- Ekler yalnızca `runtime: "subagent"` için desteklenir. ACP çalışma zamanı bunları reddeder. +- Dosyalar, alt workspace içine `.openclaw/attachments//` yolunda bir `.manifest.json` ile birlikte dönüştürülür. +- Ek içeriği, transcript kalıcılığından otomatik olarak redakte edilir. +- Base64 girdileri katı alfabe/padding denetimleri ve çözme öncesi boyut korumasıyla doğrulanır. - Dosya izinleri dizinler için `0700`, dosyalar için `0600` şeklindedir. -- Temizleme `cleanup` ilkesini izler: `delete` her zaman ekleri kaldırır; `keep` yalnızca `retainOnSessionKeep: true` olduğunda korur. +- Temizleme, `cleanup` ilkesini izler: `delete` ekleri her zaman kaldırır; `keep`, yalnızca `retainOnSessionKeep: true` olduğunda bunları korur. ### `tools.experimental` -Deneysel yerleşik araç işaretleri. Katı 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 }, }, } @@ -2489,9 +2481,9 @@ Deneysel yerleşik araç işaretleri. Katı agentic GPT-5 otomatik etkinleştirm Notlar: -- `planTool`: önemsiz olmayan çok adımlı iş izlemesi 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) bir OpenAI veya OpenAI Codex GPT-5 ailesi çalıştırmasında `"strict-agentic"` olarak ayarlanmışsa hariç. Aracı bu kapsam dışında zorla açmak için `true`, katı agentic GPT-5 çalıştırmalarında bile kapalı tutmak için `false` ayarlayın. -- Etkin olduğunda sistem prompt'u da kullanım yönergeleri ekler; böylece model bunu yalnızca önemli işlerde kullanır ve en fazla bir adımı `in_progress` olarak 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) bir OpenAI veya OpenAI Codex GPT-5 ailesi çalıştırması için `"strict-agentic"` olarak ayarlandıysa hariç. Bu kapsam dışında aracı zorla açmak için `true`, katı agentic GPT-5 çalıştırmalarında bile kapalı tutmak için `false` ayarlayın. +- Etkin olduğunda, sistem istemi de kullanım yönergesi ekler; böylece model bunu yalnızca önemli işler için kullanır ve en fazla bir adımı `in_progress` durumunda tutar. ### `agents.defaults.subagents` @@ -2511,16 +2503,16 @@ Notlar: } ``` -- `model`: oluşturulan alt agent'lar için varsayılan model. Ayarlanmazsa alt agent'lar çağıranın modelini miras alır. -- `allowAgents`: istek yapan agent kendi `subagents.allowAgents` değerini ayarlamadığında `sessions_spawn` için varsayılan hedef agent kimliği izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı agent). +- `model`: oluşturulan sub-agent'lar için varsayılan model. Atlanırsa sub-agent'lar çağıranın modelini devralır. +- `allowAgents`: isteyen agent kendi `subagents.allowAgents` değerini ayarlamadığında `sessions_spawn` için varsayılan hedef agent kimliği izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı agent). - `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. -- Subagent başına araç ilkesi: `tools.subagents.tools.allow` / `tools.subagents.tools.deny`. +- Sub-agent başına araç ilkesi: `tools.subagents.tools.allow` / `tools.subagents.tools.deny`. --- -## Özel sağlayıcılar ve temel URL'ler +## Özel sağlayıcılar ve base URL'ler -OpenClaw, yerleşik model kataloğunu kullanır. `models.providers` yapılandırması veya `~/.openclaw/agents//agent/models.json` aracılığıyla ö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` üzerinden ekleyin. ```json5 { @@ -2550,47 +2542,47 @@ OpenClaw, yerleşik model kataloğunu kullanır. `models.providers` yapılandır ``` - Ö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 (`PI_CODING_AGENT_DIR` da eski ortam değişkeni takma adıdır). +- `OPENCLAW_AGENT_DIR` ile agent yapılandırma kökünü geçersiz kılın (veya eski ortam değişkeni takma adı olarak `PI_CODING_AGENT_DIR`). - Eşleşen sağlayıcı kimlikleri 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ı geçerli yapılandırma/auth-profile bağlamında SecretRef ile yönetilmiyorsa kazanır. - - SecretRef ile yönetilen sağlayıcı `apiKey` değerleri, çözümlenmiş secret'ları kalıcı hale getirmek yerine kaynak işaretlerinden (`env` başvuruları için `ENV_VAR_NAME`, dosya/exec başvuruları için `secretref-managed`) yenilenir. - - SecretRef ile yönetilen sağlayıcı başlık değerleri, kaynak işaretlerinden (`env` başvuruları için `secretref-env:ENV_VAR_NAME`, dosya/exec başvuruları için `secretref-managed`) yenilenir. + - 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ğerler kalıcılaştırılmak yerine kaynak işaretleyicilerden (`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ı üst bilgi değerleri, kaynak işaretleyicilerden (`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` değerleri, 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 verisini değiştirmeden etkili bağlamı sınırlandırmak için bunu kullanın. - - Yapılandırmanın `models.json` dosyasını tamamen yeniden yazmasını istiyorsanız `models.mode: "replace"` kullanın. - - İşaret kalıcılığı kaynak açısından yetkilidir: işaretler, çözümlenmiş çalışma zamanı secret değerlerinden değil, etkin kaynak yapılandırma anlık görüntüsünden (çözümleme öncesi) yazılır. + - Eşleşen model `contextTokens`, mevcutsa açık çalışma zamanı sınırını korur; yerel model meta verilerini değiştirmeden etkin 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. + - İşaretleyici kalıcılığı kaynak odaklıdır: 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.mode`: provider kataloğu davranışı (`merge` veya `replace`). +- `models.providers`: provider kimliğine göre anahtarlanmış ö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/env substitution tercih edin). +- `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` başlığında taşınmasını zorlar. -- `models.providers.*.baseUrl`: yukarı akış API temel URL'si. -- `models.providers.*.headers`: proxy/kiracı yönlendirmesi için ek statik başlıklar. +- `models.providers.*.injectNumCtxForOpenAICompat`: Ollama + `openai-completions` için isteklere `options.num_ctx` ekler (varsayılan: `true`). +- `models.providers.*.authHeader`: gerektiğinde kimlik bilgisinin `Authorization` üst bilgisi üzerinden taşınmasını zorunlu kılar. +- `models.providers.*.baseUrl`: upstream API base URL'si. +- `models.providers.*.headers`: proxy/tenant yönlendirmesi için ek statik üst bilgiler. - `models.providers.*.request`: model-sağlayıcı HTTP istekleri için taşıma geçersiz kılmaları. - - `request.headers`: ek başlıklar (sağlayıcı varsayılanlarıyla birleştirilir). Değerler SecretRef kabul eder. + - `request.headers`: ek üst bilgiler (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 vars kullan), `"explicit-proxy"` (`url` ile). Her iki mod da isteğe bağlı bir `tls` alt nesnesini kabul eder. + - `request.proxy`: HTTP proxy geçersiz kılması. Modlar: `"env-proxy"` (`HTTP_PROXY`/`HTTPS_PROXY` env vars 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` (hepsi SecretRef kabul eder), `serverName`, `insecureSkipVerify`. - - `request.allowPrivateNetwork`: `true` olduğunda DNS çözümlemesi özel, CGNAT veya benzeri aralıklara giden `baseUrl` için HTTPS'e sağlayıcı HTTP fetch koruması üzerinden izin verir (güvenilir self-hosted OpenAI uyumlu uç noktalar için operator isteğe bağlı etkinleştirmesi). WebSocket başlıklar/TLS için aynı `request` değerini kullanır ama fetch SSRF geçidini 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 verileri. -- `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 bağlam bütçesi istediğinizde bunu kullanın. -- `models.providers.*.models.*.compat.supportsDeveloperRole`: isteğe bağlı uyumluluk ipucu. `api: "openai-completions"` için boş olmayan yerel olmayan bir `baseUrl` ile (`api.openai.com` olmayan host), OpenClaw bunu çalışma zamanında zorla `false` yapar. 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.allowPrivateNetwork`: `true` olduğunda, DNS özel, CGNAT veya benzeri aralıklara çözümlendiğinde sağlayıcı HTTP fetch koruması üzerinden `baseUrl` için HTTPS'ye izin verir (güvenilen self-hosted OpenAI-compatible uç noktalar için operatör isteğe bağlı etkinleştirmesi). WebSocket, üst bilgiler/TLS için aynı `request` nesnesini kullanır ancak bu fetch SSRF kapısını kullanmaz. Varsayılan `false`. +- `models.providers.*.models`: açık sağlayıcı model kataloğu girdileri. +- `models.providers.*.models.*.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 etkin bir bağlam bütçesi istediğinizde bunu kullanın. +- `models.providers.*.models.*.compat.supportsDeveloperRole`: isteğe bağlı uyumluluk ipucu. `api: "openai-completions"` ile boş olmayan yerel olmayan bir `baseUrl` için (`api.openai.com` olmayan host), 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-compatible 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. - `plugins.entries.amazon-bedrock.config.discovery`: Bedrock otomatik keşif ayarları kökü. -- `plugins.entries.amazon-bedrock.config.discovery.enabled`: örtük keşfi açar/kapatır. +- `plugins.entries.amazon-bedrock.config.discovery.enabled`: örtük keşfi aç/kapat. - `plugins.entries.amazon-bedrock.config.discovery.region`: keşif için AWS bölgesi. -- `plugins.entries.amazon-bedrock.config.discovery.providerFilter`: hedefe yönelik keşif için isteğe bağlı provider-id filtresi. -- `plugins.entries.amazon-bedrock.config.discovery.refreshInterval`: keşif yenilemesi için yoklama aralığı. -- `plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow`: keşfedilmiş modeller için geri dönüş bağlam penceresi. -- `plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens`: keşfedilmiş modeller için geri dönüş en yüksek çıktı token sayısı. +- `plugins.entries.amazon-bedrock.config.discovery.providerFilter`: hedeflenmiş 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'ı. ### Sağlayıcı örnekleri @@ -2645,7 +2637,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`. @@ -2666,7 +2658,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ılmasıyla özel bir sağlayıcı tanımlayın. +- Genel uç nokta için base URL geçersiz kılmalı özel bir sağlayıcı tanımlayın. @@ -2708,8 +2700,7 @@ 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ğu ilan eder ve OpenClaw bunu yalnızca yerleşik sağlayıcı kimliğinden değil -uç nokta yeteneklerinden anahtarlayarak yönetir. +`openai-completions` taşıması üzerinde akış kullanım uyumluluğu bildirir ve OpenClaw bunu yalnızca yerleşik provider kimliğine değil, uç nokta yeteneklerine göre anahtarlar. @@ -2727,11 +2718,11 @@ uç nokta yeteneklerinden anahtarlayarak yönetir. } ``` -Anthropic uyumlu, yerleşik sağlayıcı. Kısayol: `openclaw onboard --auth-choice kimi-code-api-key`. +Anthropic-compatible, yerleşik sağlayıcı. Kısayol: `openclaw onboard --auth-choice kimi-code-api-key`. - + ```json5 { @@ -2766,7 +2757,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`. +Base URL, `/v1` içermemelidir (Anthropic istemcisi bunu ekler). Kısayol: `openclaw onboard --auth-choice synthetic-api-key`. @@ -2809,17 +2800,15 @@ Base URL `/v1` içermemelidir (Anthropic istemcisi bunu ekler). Kısayol: `openc `MINIMAX_API_KEY` ayarlayın. Kısayollar: `openclaw onboard --auth-choice minimax-global-api` veya `openclaw onboard --auth-choice minimax-cn-api`. -Model kataloğu varsayılan olarak yalnızca M2.7 içerir. -Anthropic uyumlu akış yolunda 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-compatible akış yolunda OpenClaw, 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ısacası: ciddi donanımda LM Studio Responses API üzerinden büyük bir yerel model çalıştırın; geri dönüş için barındırılan modeller birleştirilmiş kalsın. +Bkz. [Yerel Modeller](/tr/gateway/local-models). Kısaca: ciddi donanım üzerinde LM Studio Responses API ile büyük bir yerel model çalıştırın; geri dönüş için barındırılan modellerin birleştirilmiş kalmasını sağlayın. @@ -2850,18 +2839,18 @@ Bkz. [Local Models](/tr/gateway/local-models). Kısacası: ciddi donanımda LM S } ``` -- `allowBundled`: yalnızca bundled Skills için isteğe bağlı izin listesi (yönetilen/workspace Skills etkilenmez). -- `load.extraDirs`: ek paylaşılan Skill kökleri (en düşük öncelik). -- `install.preferBrew`: true olduğunda `brew` - kullanılabiliyorsa diğer yükleyici türlerine geri dönmeden önce Homebrew yükleyicilerini tercih eder. +- `allowBundled`: yalnızca bundled skills için isteğe bağlı izin listesi (yönetilen/workspace skills etkilenmez). +- `load.extraDirs`: ek paylaşılan skill kökleri (en düşük öncelik). +- `install.preferBrew`: `true` olduğunda, diğer yükleyici türlerine geri düşmeden önce `brew` + kullanılabiliyorsa Homebrew yükleyicilerini tercih eder. - `install.nodeManager`: `metadata.openclaw.install` - özellikleri için Node yükleyici tercihi (`npm` | `pnpm` | `yarn` | `bun`). -- `entries..enabled: false`, Skill bundled/yüklü olsa bile onu devre dışı bırakır. -- `entries..apiKey`: birincil env var tanımlayan Skills için kolaylık alanı (düz metin dize veya SecretRef nesnesi). + özellikleri için node yükleyici tercihi (`npm` | `pnpm` | `yarn` | `bun`). +- `entries..enabled: false`, bundled/kurulu olsa bile bir skill'i devre dışı bırakır. +- `entries..apiKey`: birincil env var tanımlayan skills için kolaylık sağlar (düz metin dize veya SecretRef nesnesi). --- -## Plugins +## Pluginler ```json5 { @@ -2885,47 +2874,47 @@ Bkz. [Local Models](/tr/gateway/local-models). Kısacası: ciddi donanımda LM S } ``` -- `~/.openclaw/extensions`, `/.openclaw/extensions` ve `plugins.load.paths` içinden yüklenir. -- Keşif, yerel OpenClaw Plugin öğelerini ve uyumlu Codex paketlerini ve Claude paketlerini kabul eder; buna manifestsiz Claude varsayılan düzen paketleri de dahildir. -- **Yapılandırma değişiklikleri Gateway yeniden başlatması gerektirir.** -- `allow`: isteğe bağlı izin listesi (yalnızca listelenen Plugin öğeleri yüklenir). `deny` kazanır. -- `plugins.entries..apiKey`: Plugin düzeyinde API anahtarı kolaylık alanı (Plugin desteklediğinde). +- Şuradan yüklenir: `~/.openclaw/extensions`, `/.openclaw/extensions` ve `plugins.load.paths`. +- Keşif, yerel OpenClaw Plugin'lerini ve uyumlu Codex bundle'larını ve Claude bundle'larını, manifest içermeyen varsayılan düzenli Claude bundle'ları dahil, 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 var eşlemesi. -- `plugins.entries..hooks.allowPromptInjection`: `false` olduğunda core, `before_prompt_build` değerini engeller ve eski `before_agent_start` içinden gelen prompt değiştiren alanları yok sayar; eski `modelOverride` ve `providerOverride` korunur. Yerel Plugin kancalarına ve desteklenen paket kanca dizinlerine uygulanır. -- `plugins.entries..subagent.allowModelOverride`: bu Plugin öğesine arka plan alt agent çalıştırmalarında çalışma başına `provider` ve `model` geçersiz kılmaları isteme konusunda açık güven verir. -- `plugins.entries..subagent.allowedModels`: güvenilen alt agent geçersiz kılmaları için isteğe bağlı standart `provider/model` hedefleri izin listesi. Yalnızca bilinçli olarak herhangi bir modele izin vermek istiyorsanız `"*"` kullanın. +- `plugins.entries..hooks.allowPromptInjection`: `false` olduğunda core, `before_prompt_build` işlemini engeller ve eski `before_agent_start` içinden gelen prompt değiştirici alanları yok sayar; eski `modelOverride` ve `providerOverride` korunur. Yerel Plugin hook'larına ve desteklenen bundle tarafından sağlanan 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ı standart `provider/model` hedef izin listesi. Yalnızca açıkça herhangi bir modele izin vermek istediğinizde `"*"` kullanın. - `plugins.entries..config`: Plugin tarafından tanımlanan yapılandırma nesnesi (varsa 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). `plugins.entries.firecrawl.config.webSearch.apiKey`, eski `tools.web.fetch.firecrawl.apiKey` veya `FIRECRAWL_API_KEY` env var değerine geri döner. - - `baseUrl`: Firecrawl API temel URL'si (varsayılan: `https://api.firecrawl.dev`). - - `onlyMainContent`: sayfalardan yalnızca ana içeriği çıkarır (varsayılan: `true`). - - `maxAgeMs`: en yüksek önbellek yaşı, milisaniye cinsinden (varsayılan: `172800000` / 2 gün). +- `plugins.entries.firecrawl.config.webFetch`: Firecrawl web fetch sağlayıcı ayarları. + - `apiKey`: Firecrawl API anahtarı (SecretRef kabul eder). Geri dönüş sırası: `plugins.entries.firecrawl.config.webSearch.apiKey`, eski `tools.web.fetch.firecrawl.apiKey` veya `FIRECRAWL_API_KEY` env var. + - `baseUrl`: Firecrawl API base URL'si (varsayılan: `https://api.firecrawl.dev`). + - `onlyMainContent`: sayfalardan yalnızca ana içeriği çıkar (varsayılan: `true`). + - `maxAgeMs`: önbelleğin milisaniye cinsinden en yüksek 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 arama) ayarları. +- `plugins.entries.xai.config.xSearch`: xAI X Search (Grok web search) ayarları. - `enabled`: X Search sağlayıcısını etkinleştirir. - `model`: arama için kullanılacak Grok modeli (ör. `"grok-4-1-fast"`). -- `plugins.entries.memory-core.config.dreaming`: memory dreaming ayarları. Aşamalar ve eşikler için bkz. [Dreaming](/tr/concepts/dreaming). +- `plugins.entries.memory-core.config.dreaming`: bellek 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 temposu (varsayılan olarak `"0 3 * * *"`). + - `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 başvurusu](/tr/reference/memory-config) içinde bulunur: +- Tam bellek yapılandırması şurada bulunur: [Bellek yapılandırma başvurusu](/tr/reference/memory-config): - `agents.defaults.memorySearch.*` - `memory.backend` - `memory.citations` - `memory.qmd.*` - `plugins.entries.memory-core.config.dreaming` -- Etkin Claude paket Plugin öğeleri, `settings.json` içinden embedded Pi varsayılanları da ekleyebilir; OpenClaw bunları ham OpenClaw yapılandırma yamaları olarak değil, temizlenmiş agent ayarları olarak uygular. -- `plugins.slots.memory`: etkin memory Plugin kimliğini seçin veya memory Plugin öğelerini devre dışı bırakmak için `"none"` kullanın. -- `plugins.slots.contextEngine`: etkin bağlam motoru Plugin kimliğini seçin; başka bir motor yükleyip seçmediğiniz sürece varsayılan olarak `"legacy"` kullanılır. +- 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 bellek Plugin kimliğini seçer veya bellek Plugin'lerini devre dışı bırakmak için `"none"` kullanır. +- `plugins.slots.contextEngine`: etkin bağlam motoru Plugin kimliğini seçer; siz başka bir motor kurup seçmedikçe varsayılan `"legacy"` olur. - `plugins.installs`: `openclaw plugins update` tarafından kullanılan CLI yönetimli kurulum meta verileri. - - Şunları içerir: `source`, `spec`, `sourcePath`, `installPath`, `version`, `resolvedName`, `resolvedVersion`, `resolvedSpec`, `integrity`, `shasum`, `resolvedAt`, `installedAt`. - - `plugins.installs.*` değerlerini yönetilen durum olarak değerlendirin; elle düzenleme yerine CLI komutlarını tercih edin. + - `source`, `spec`, `sourcePath`, `installPath`, `version`, `resolvedName`, `resolvedVersion`, `resolvedSpec`, `integrity`, `shasum`, `resolvedAt`, `installedAt` içerir. + - `plugins.installs.*` alanlarını yönetilen durum olarak değerlendirin; elle düzenleme yerine CLI komutlarını tercih edin. -Bkz. [Plugins](/tr/tools/plugin). +Bkz. [Pluginler](/tr/tools/plugin). --- -## Browser +## Tarayıcı ```json5 { @@ -2961,30 +2950,24 @@ Bkz. [Plugins](/tr/tools/plugin). } ``` -- `evaluateEnabled: false`, `act:evaluate` ve `wait --fn` özelliklerini devre dışı bırakır. -- `ssrfPolicy.dangerouslyAllowPrivateNetwork`, ayarlı değilken devre dışıdır; böylece Browser gezinmesi varsayılan olarak sıkı kalır. -- `ssrfPolicy.dangerouslyAllowPrivateNetwork: true` değerini yalnızca özel ağ Browser gezinmesine bilinçli olarak güveniyorsanız 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şlevlerini devre dışı bırakır. +- `ssrfPolicy.dangerouslyAllowPrivateNetwork`, ayarlanmamışsa devre dışıdır; bu nedenle tarayıcı gezinmesi varsayılan olarak katı kalır. +- `ssrfPolicy.dangerouslyAllowPrivateNetwork: true` değerini yalnızca özel ağ tarayıcı gezinmesine bilerek güveniyorsanız 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ğlanma modundadır (başlatma/durdurma/sıfırlama devre dışı). +- Katı modda, açık istisnalar için `ssrfPolicy.hostnameAllowlist` ve `ssrfPolicy.allowedHostnames` kullanın. +- Uzak profiller yalnızca attach-only çalışır (start/stop/reset devre dışıdır). - `profiles.*.cdpUrl`, `http://`, `https://`, `ws://` ve `wss://` kabul eder. - OpenClaw'ın `/json/version` keşfetmesini istediğinizde HTTP(S) kullanın; doğrudan bir DevTools WebSocket URL'si verildiğinde WS(S) - kullanın. -- `existing-session` profilleri CDP yerine Chrome MCP kullanır ve - seçilen host üzerinde veya bağlı bir browser Node üzerinden bağlanabilir. -- `existing-session` profilleri, Brave veya Edge gibi - belirli bir Chromium tabanlı Browser profilini hedeflemek için `userDataDir` ayarlayabilir. -- `existing-session` profilleri, mevcut Chrome MCP rota sınırlarını korur: - CSS selector hedefleme yerine anlık görüntü/ref odaklı eylemler, tek dosya yükleme - kancaları, 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 browser → Chrome → Brave → Edge → Chromium → Chrome Canary. -- Control service: yalnızca loopback (port `gateway.port` değerinden türetilir, varsayılan `18791`). -- `extraArgs`, yerel Chromium başlatmasına ek başlatma işaretleri ekler (örneğin - `--disable-gpu`, pencere boyutlandırma veya hata ayıklama işaretleri). + OpenClaw'un `/json/version` keşfi yapmasını istiyorsanız 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 CDP yerine Chrome MCP kullanır ve seçili host üzerinde veya bağlı bir tarayıcı Node üzerinden bağlanabilir. +- `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-selector hedefleme yerine snapshot/ref odaklı 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ı: varsayılan tarayıcı Chromium tabanlıysa → Chrome → Brave → Edge → Chromium → Chrome Canary. +- Denetim hizmeti: yalnızca loopback (port `gateway.port` üzerinden türetilir, varsayılan `18791`). +- `extraArgs`, yerel Chromium başlatmasına ek başlatma bayrakları ekler (örneğin + `--disable-gpu`, pencere boyutlandırma veya debug bayrakları). --- @@ -3002,7 +2985,7 @@ Bkz. [Plugins](/tr/tools/plugin). } ``` -- `seamColor`: yerel uygulama UI chrome'u için vurgu rengi (Talk Mode balon tonu vb.). +- `seamColor`: yerel uygulama UI chrome için vurgu rengi (Talk Mode balon tonu vb.). - `assistant`: Control UI kimlik geçersiz kılması. Etkin agent kimliğine geri döner. --- @@ -3037,9 +3020,9 @@ Bkz. [Plugins](/tr/tools/plugin). basePath: "/openclaw", // root: "dist/control-ui", // embedSandbox: "scripts", // strict | scripts | trusted - // allowExternalEmbedUrls: false, // tehlikeli: mutlak dış http(s) gömme URL'lerine izin ver - // allowedOrigins: ["https://control.example.com"], // loopback dışı Control UI için gereklidir - // dangerouslyAllowHostHeaderOriginFallback: false, // tehlikeli Host-header origin fallback modu + // allowExternalEmbedUrls: false, // tehlikeli: mutlak harici http(s) embed URL'lerine izin ver + // allowedOrigins: ["https://control.example.com"], // loopback olmayan Control UI için gereklidir + // dangerouslyAllowHostHeaderOriginFallback: false, // tehlikeli Host-header origin geri dönüş modu // allowInsecureAuth: false, // dangerouslyDisableDeviceAuth: false, }, @@ -3072,64 +3055,64 @@ Bkz. [Plugins](/tr/tools/plugin). -- `mode`: `local` (Gateway'i çalıştır) veya `remote` (uzak Gateway'e bağlan). Gateway, `local` olmadıkça başlamayı reddeder. +- `mode`: `local` (gateway'i çalıştır) veya `remote` (uzak gateway'e bağlan). `local` olmadıkça Gateway başlatmayı reddeder. - `port`: WS + HTTP için tek çoklanmış port. Öncelik: `--port` > `OPENCLAW_GATEWAY_PORT` > `gateway.port` > `18789`. - `bind`: `auto`, `loopback` (varsayılan), `lan` (`0.0.0.0`), `tailnet` (yalnızca Tailscale IP) veya `custom`. -- **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, kapsayıcı içinde `127.0.0.1` üzerinde dinler. Docker bridge ağı ile (`-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. -- **Kimlik doğrulama**: varsayılan olarak zorunludur. Loopback dışı bind'ler gateway kimlik doğrulaması gerektirir. Uygulamada bu, paylaşılan bir token/parola veya `gateway.auth.mode: "trusted-proxy"` ile kimlik farkında bir reverse proxy anlamına gelir. Onboarding wizard varsayılan olarak bir token üretir. -- Hem `gateway.auth.token` hem `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 servis kurma/onarma akışları başarısız olur. -- `gateway.auth.mode: "none"`: açık no-auth modu. Yalnızca güvenilir yerel loopback kurulumları için kullanın; bu seçenek onboarding istemlerinde bilerek sunulmaz. -- `gateway.auth.mode: "trusted-proxy"`: kimlik doğrulamayı kimlik farkında bir reverse proxy'ye devreder ve `gateway.trustedProxies` içinden gelen kimlik başlıklarına güvenir (bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth)). Bu mod bir **loopback dışı** proxy kaynağı bekler; aynı makinedeki loopback reverse proxy'leri trusted-proxy kimlik doğrulamasını karşılamaz. -- `gateway.auth.allowTailscale`: `true` olduğunda Tailscale Serve kimlik başlıkları, Control UI/WebSocket kimlik doğrulamasını karşılayabilir (`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 kimlik doğrulama modunu izler. Bu tokensız akış, gateway host'una güvenildiğini varsayar. `tailscale.mode = "serve"` olduğunda varsayılan olarak `true`. -- `gateway.auth.rateLimit`: isteğe bağlı başarısız kimlik doğrulama sınırlayıcısı. İstemci IP başına ve auth scope başına uygulanır (paylaşılan secret ve device-token bağımsız izlenir). Engellenen denemeler `429` + `Retry-After` döndürür. - - Async 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. Aynı istemciden gelen eşzamanlı kötü denemeler bu nedenle ikisinin de düz uyuşmazlık olarak geçmesi yerine ikinci istekte sınırlayıcıyı tetikleyebilir. - - `gateway.auth.rateLimit.exemptLoopback` varsayılan olarak `true`; localhost trafiğini de kasıtlı olarak hız sınırlı yapmak istediğinizde (`test` kurulumları veya sıkı proxy dağıtımları için) `false` ayarlayın. -- Browser kökenli WS auth denemeleri, loopback muafiyeti devre dışı olacak şekilde her zaman kısıtlanır (Browser tabanlı localhost kaba kuvvet saldırılarına karşı derinlikli savunma). -- Loopback üzerinde bu Browser kökenli kilitlemeler, normalize edilmiş `Origin` - değerine göre yalıtılır; böylece bir localhost origin'inden gelen tekrarlı başarısızlıklar - başka bir origin'i otomatik olarak kilitlemez. -- `tailscale.mode`: `serve` (yalnızca tailnet, loopback bind) veya `funnel` (genel, auth gerektirir). -- `controlUi.allowedOrigins`: Gateway WebSocket bağlantıları için açık Browser origin izin listesi. Browser istemcileri loopback dışı origin'lerden beklendiğinde gereklidir. -- `controlUi.dangerouslyAllowHostHeaderOriginFallback`: Host-header origin ilkesine kasıtlı olarak dayanan dağıtımlar için Host-header origin fallback modunu etkinleştiren tehlikeli mod. +- **Eski bind takma adları**: `gateway.bind` içinde host takma adları (`0.0.0.0`, `127.0.0.1`, `localhost`, `::`, `::1`) değil bind modu değerleri (`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 arabirimlerde dinlemek için `bind: "lan"` (veya `customBindHost: "0.0.0.0"` ile `bind: "custom"`) ayarlayın. +- **Kimlik doğrulama**: varsayılan olarak gereklidir. Loopback olmayan bind'ler gateway kimlik doğrulaması gerektirir. Pratikte bu, paylaşılan bir token/parola veya `gateway.auth.mode: "trusted-proxy"` ile 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 mode ayarlanmamışsa başlangıç ve hizmet kurulum/onarma akışları başarısız olur. +- `gateway.auth.mode: "none"`: açık kimlik doğrulamasız mod. Bunu yalnızca güvenilen yerel loopback kurulumları için kullanın; onboarding istemlerinde kasıtlı olarak sunulmaz. +- `gateway.auth.mode: "trusted-proxy"`: kimlik doğrulamayı kimlik farkındalıklı bir reverse proxy'ye devredin ve `gateway.trustedProxies` içinden gelen kimlik üst bilgilerine güvenin (bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth)). Bu mod **loopback olmayan** bir proxy kaynağı bekler; aynı host üzerindeki loopback reverse proxy'ler trusted-proxy kimlik doğrulamasını karşılamaz. +- `gateway.auth.allowTailscale`: `true` olduğunda, Tailscale Serve kimlik üst bilgileri Control UI/WebSocket kimlik doğrulamasını karşılayabilir (`tailscale whois` ile doğrulanır). HTTP API uç noktaları bu Tailscale üst bilgi kimlik doğrulamasını **kullanmaz**; bunun yerine gateway'in normal HTTP kimlik doğrulama modunu izler. Bu tokensız akış, gateway host'una güvenildiğini varsayar. `tailscale.mode = "serve"` olduğunda varsayılan `true` olur. +- `gateway.auth.rateLimit`: isteğe bağlı başarısız kimlik doğrulama sınırlayıcısı. İstemci IP'si ve kimlik doğrulama kapsamı başına uygulanır (paylaşılan gizli anahtar ve cihaz token'ı ayrı izlenir). Engellenen denemeler `429` + `Retry-After` döndürür. + - Async Tailscale Serve Control UI yolunda, aynı `{scope, clientIp}` için başarısız denemeler başarısızlık yazımı öncesinde seri hale getirilir. Bu nedenle aynı istemciden eşzamanlı kötü denemeler, ikisinin de düz uyumsuzluk olarak geçmesi yerine ikinci istekte sınırlayıcıyı tetikleyebilir. + - `gateway.auth.rateLimit.exemptLoopback` varsayılan olarak `true` olur; localhost trafiğinin de sınırlanmasını bilerek istiyorsanız (test kurulumları veya katı proxy dağıtımları için) `false` ayarlayın. +- Tarayıcı kaynaklı WS kimlik doğrulama denemeleri her zaman loopback muafiyeti devre dışı bırakılmış şekilde 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; böylece bir localhost origin'inden gelen tekrarlı hatalar + farklı bir origin'i otomatik olarak kilitlemez. +- `tailscale.mode`: `serve` (yalnızca tailnet, loopback bind) veya `funnel` (genel erişim, kimlik doğrulama gerekir). +- `controlUi.allowedOrigins`: Gateway WebSocket bağlantıları için açık tarayıcı origin izin listesi. Tarayıcı istemcileri loopback olmayan origin'lerden bekleniyorsa gereklidir. +- `controlUi.dangerouslyAllowHostHeaderOriginFallback`: Host-header origin ilkesine bilerek 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`: istemci tarafı acil durum geçersiz kılması; güvenilir özel ağ IP'lerine düz metin `ws://` bağlantılarına izin verir; varsayılan davranış düz metin için yalnızca loopback olmaya devam eder. -- `gateway.remote.token` / `.password`, uzak istemci kimlik bilgisi alanlarıdır. Bunlar kendi başlarına gateway auth yapılandırmaz. -- `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`: milisaniye cinsinden gateway'den relay'e gönderme zaman aşımı. Varsayılan: `10000`. -- Relay destekli kayıtlar belirli bir gateway kimliğine devredilir. Eşleştirilmiş iOS uygulaması `gateway.identity.get` değerini getirir, bu kimliği relay kaydına ekler ve kayıt kapsamlı bir gönderme iznini gateway'e iletir. Başka bir gateway bu saklanan kaydı yeniden kullanamaz. +- `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 yalnızca loopback için etkin kalır. +- `gateway.remote.token` / `.password`, uzak istemci kimlik bilgisi alanlarıdır. Bunlar tek başına gateway kimlik doğrulamasını yapılandırmaz. +- `gateway.push.apns.relay.baseUrl`: resmi/TestFlight iOS derlemeleri relay destekli kayıtları gateway'e yayınladıktan sonra kullanılan harici APNs relay için temel HTTPS URL'si. Bu URL, iOS derlemesine gömülen relay URL'siyle eşleşmelidir. +- `gateway.push.apns.relay.timeoutMs`: milisaniye cinsinden gateway'den relay'e gönderim zaman aşımı. Varsayılan: `10000`. +- Relay destekli kayıtlar belirli bir gateway kimliğine devredilir. Eşlenmiş iOS uygulaması `gateway.identity.get` çağırır, bu kimliği relay kaydına ekler ve kayıt kapsamlı gönderim yetkisini 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çış yolu. Üretim relay URL'leri HTTPS üzerinde kalmalıdır. -- `gateway.channelHealthCheckMinutes`: kanal sağlık izleyicisi aralığı, dakika cinsinden. Sağlık izleyicisi yeniden başlatmalarını genel olarak devre dışı bırakmak için `0` ayarlayın. Varsayılan: `5`. -- `gateway.channelStaleEventThresholdMinutes`: eski 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 en yüksek sağlık izleyicisi yeniden başlatma sayısı. Varsayılan: `10`. -- `channels..healthMonitor.enabled`: genel izleyiciyi etkin tutarken sağlık izleyicisi 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üzeyi geçersiz kılmadan önceliklidir. -- Yerel gateway çağrı yolları, yalnızca `gateway.auth.*` ayarlı değilse geri dönüş olarak `gateway.remote.*` kullanabilir. -- `gateway.auth.token` / `gateway.auth.password`, SecretRef aracılığıyla açıkça yapılandırılmış ama çözümlenmemişse çözümleme kapalı başarısız olur (uzak geri dönüş bunu maskeleyemez). -- `trustedProxies`: TLS sonlandıran veya iletilen istemci başlıkları ekleyen reverse proxy IP'leri. Yalnızca denetlediğiniz proxy'leri listeleyin. Loopback girdileri, aynı host proxy/yerel algılama kurulumları (örneğin Tailscale Serve veya yerel reverse proxy) için yine geçerlidir, ancak loopback isteklerini `gateway.auth.mode: "trusted-proxy"` için uygun hale **getirmez**. -- `allowRealIpFallback`: `true` olduğunda gateway, `X-Forwarded-For` eksikse `X-Real-IP` kabul eder. Kapalı başarısızlık 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). +- `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 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`. +- `gateway.channelStaleEventThresholdMinutes`: eski soket eşiği, dakika cinsinden. Bunu `gateway.channelHealthCheckMinutes` değerinden büyük veya eşit tutun. Varsayılan: `30`. +- `gateway.channelMaxRestartsPerHour`: kayan bir saatte kanal/hesap başına en fazla sağlık izleme yeniden başlatması. Varsayılan: `10`. +- `channels..healthMonitor.enabled`: genel izleyiciyi etkin tutarken sağlık izleme yeniden başlatmalarını kanal başına devre dışı bırakma seçeneği. +- `channels..accounts..healthMonitor.enabled`: çok hesaplı kanallar için hesap başına geçersiz kılma. Ayarlandığında, kanal düzeyindeki geçersiz kılmadan önceliklidir. +- Yerel gateway çağrı yolları, yalnızca `gateway.auth.*` ayarsız olduğunda geri dönüş olarak `gateway.remote.*` kullanabilir. +- `gateway.auth.token` / `gateway.auth.password`, SecretRef üzerinden açıkça yapılandırılmışsa ve çözümlenemiyorsa, çözümleme fail-closed olur (uzak geri dönüş maskelemesi yok). +- `trustedProxies`: TLS sonlandıran veya iletilen istemci üst bilgilerini 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 bunlar loopback isteklerini `gateway.auth.mode: "trusted-proxy"` için uygun hale getirmez. +- `allowRealIpFallback`: `true` olduğunda, `X-Forwarded-For` eksikse gateway `X-Real-IP` üst bilgisini 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 deny listesini genişletir). - `gateway.tools.allow`: varsayılan HTTP deny listesinden araç adlarını kaldırır. -### OpenAI uyumlu uç noktalar +### OpenAI-compatible uç noktalar - 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 girişi sağlamlaştırması: +- Responses URL-input 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 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)) +- İsteğe bağlı yanıt güçlendirme üst bilgisi: + - `gateway.http.securityHeaders.strictTransportSecurity` (yalnızca sizin denetlediğiniz HTTPS origin'leri için ayarlayın; bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth#tls-termination-and-hsts)) -### Çok örnekli yalıtım +### Çoklu örnek yalıtımı -Tek bir host üzerinde benzersiz portlar ve durum dizinleriyle birden çok gateway çalıştırın: +Benzersiz portlar ve durum dizinleriyle tek host üzerinde birden çok gateway çalıştırın: ```bash OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \ @@ -3137,9 +3120,9 @@ OPENCLAW_STATE_DIR=~/.openclaw-a \ openclaw gateway --port 19001 ``` -Kolaylık işaretleri: `--dev` (`~/.openclaw-dev` + port `19001` 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` @@ -3157,10 +3140,10 @@ Bkz. [Multiple Gateways](/tr/gateway/multiple-gateways). } ``` -- `enabled`: gateway dinleyicisinde TLS sonlandırmasını etkinleştirir (HTTPS/WSS) (varsayılan: `false`). -- `autoGenerate`: açık dosyalar yapılandırılmadığında yerel self-signed cert/key çifti otomatik üretir; yalnızca yerel/geliştirme kullanımı içindir. +- `enabled`: gateway dinleyicisinde TLS sonlandırmayı etkinleştirir (HTTPS/WSS) (varsayılan: `false`). +- `autoGenerate`: açık dosyalar yapılandırılmadığında yerel kendinden imzalı bir sertifika/anahtar çifti otomatik ü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; izinlerini kısıtlı tutun. +- `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. ### `gateway.reload` @@ -3178,16 +3161,16 @@ 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 say; değişiklikler açık yeniden başlatma gerektirir. + - `"off"`: canlı düzenlemeleri yok say; değişiklikler açık bir yeniden başlatma gerektirir. - `"restart"`: yapılandırma değiştiğinde gateway sürecini her zaman yeniden başlat. - - `"hot"`: yeniden başlatmadan süreç içinde uygula. + - `"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 tamsayı). -- `deferralTimeoutMs`: yeniden başlatmayı zorlamadan önce devam eden işlemleri beklemek için en yüksek ms süresi (varsayılan: `300000` = 5 dakika). +- `debounceMs`: yapılandırma değişiklikleri uygulanmadan önceki ms cinsinden debounce penceresi (negatif olmayan tam sayı). +- `deferralTimeoutMs`: devam eden işlemleri beklemek için yeniden başlatmayı zorlamadan önce beklenecek en yüksek süre, ms cinsinden (varsayılan: `300000` = 5 dakika). --- -## Hooks +## Hook'lar ```json5 { @@ -3228,39 +3211,39 @@ 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.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:"]`). -- Bir mapping veya preset şablonlu `sessionKey` kullanıyorsa `hooks.allowedSessionKeyPrefixes` ve `hooks.allowRequestSessionKey=true` ayarlayın. Statik mapping anahtarları bu isteğe bağlı etkinleştirmeyi gerektirmez. +- `hooks.allowRequestSessionKey=true` ise, `hooks.allowedSessionKeyPrefixes` ile bunu sınırlayın (örneğin `["hook:"]`). +- Bir eşleme veya preset şablonlu bir `sessionKey` kullanıyorsa, `hooks.allowedSessionKeyPrefixes` ayarlayın ve `hooks.allowRequestSessionKey=true` yapın. Statik eşleme anahtarları bu isteğe bağlı etkinleştirmeyi gerektirmez. **Uç noktalar:** - `POST /hooks/wake` → `{ text, mode?: "now"|"next-heartbeat" }` - `POST /hooks/agent` → `{ message, name?, agentId?, sessionKey?, wakeMode?, deliver?, channel?, to?, model?, thinking?, timeoutSeconds? }` - - İstek payload'ındaki `sessionKey`, yalnızca `hooks.allowRequestSessionKey=true` olduğunda kabul edilir (varsayılan: `false`). -- `POST /hooks/` → `hooks.mappings` ile çözülür - - Şablonla render edilen mapping `sessionKey` değerleri harici olarak sağlanmış kabul edilir ve yine `hooks.allowRequestSessionKey=true` gerektirir. + - İstek yükündeki `sessionKey`, yalnızca `hooks.allowRequestSessionKey=true` olduğunda kabul edilir (varsayılan: `false`). +- `POST /hooks/` → `hooks.mappings` üzerinden çözümlenir + - Şablonla oluşturulan eşleme `sessionKey` değerleri harici olarak sağlanmış kabul edilir ve ayrıca `hooks.allowRequestSessionKey=true` gerektirir. - + - `match.path`, `/hooks` sonrasındaki alt yolu eşleştirir (ör. `/hooks/gmail` → `gmail`). -- `match.source`, genel yollar için bir payload alanını eşleştirir. -- `{{messages[0].subject}}` gibi şablonlar payload içinden okur. -- `transform`, bir hook eylemi döndüren bir JS/TS modülüne işaret edebilir. - - `transform.module` göreli yol olmalıdır ve `hooks.transformsDir` içinde kalır (mutlak yollar ve traversal reddedilir). -- `agentId`, belirli bir agent'a yönlendirir; bilinmeyen kimlikler varsayılana geri düşer. +- `match.source`, genel yollar için bir yük alanını eşleştirir. +- `{{messages[0].subject}}` gibi şablonlar yükten okunur. +- `transform`, bir hook eylemi döndüren bir JS/TS modülünü işaret edebilir. + - `transform.module` göreli bir yol olmalıdır ve `hooks.transformsDir` içinde kalır (mutlak yollar ve dizin 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 yapılan hook agent çalıştırmaları için isteğe bağlı sabit oturum anahtarı. -- `allowRequestSessionKey`: `/hooks/agent` çağıranların ve şablon güdümlü mapping oturum anahtarlarının `sessionKey` ayarlamasına izin verir (varsayılan: `false`). -- `allowedSessionKeyPrefixes`: açık `sessionKey` değerleri (istek + mapping) için isteğe bağlı önek izin listesi; ör. `["hook:"]`. Herhangi bir mapping veya preset şablonlu `sessionKey` kullandığında zorunlu hale gelir. -- `deliver: true`, son yanıtı bir kanala gönderir; `channel` varsayılanı `last` olur. -- `model`, bu hook çalıştırması için LLM'yi geçersiz kılar (model kataloğu ayarlıysa izinli olmalıdır). +- `defaultSessionKey`: açık `sessionKey` olmadan hook agent çalıştırmaları için isteğe bağlı sabit oturum anahtarı. +- `allowRequestSessionKey`: `/hooks/agent` çağıranlarının ve şablon güdümlü eşleme oturum anahtarları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:"]`. Herhangi bir eşleme veya preset şablonlu bir `sessionKey` kullandığında zorunlu hâle gelir. +- `deliver: true`, son yanıtı bir kanala gönderir; `channel` varsayılan olarak `last` kullanır. +- `model`, bu hook çalıştırması için LLM'yi geçersiz kılar (model kataloğu ayarlıysa izin verilmiş olmalıdır). ### Gmail entegrasyonu -- Yerleşik Gmail preset, `sessionKey: "hook:gmail:{{messages[0].id}}"` kullanır. -- Bu mesaj başına yönlendirmeyi koruyorsanız `hooks.allowRequestSessionKey: true` ayarlayın ve `hooks.allowedSessionKeyPrefixes` değerini Gmail ad alanına uyacak şekilde sınırlandırın; örneğin `["hook:", "hook:gmail:"]`. -- `hooks.allowRequestSessionKey: false` gerekiyorsa preset'i şablonlu varsayılan yerine statik bir `sessionKey` ile geçersiz kılın. +- Yerleşik Gmail preset'i `sessionKey: "hook:gmail:{{messages[0].id}}"` kullanır. +- Mesaj başına bu yönlendirmeyi koruyorsanız, `hooks.allowRequestSessionKey: true` ayarlayın ve `hooks.allowedSessionKeyPrefixes` değerini Gmail ad alanıyla eşleşecek şekilde sınırlandırın; örneğin `["hook:", "hook:gmail:"]`. +- `hooks.allowRequestSessionKey: false` gerekiyorsa, preset'i şablonlu varsayılan yerine statik bir `sessionKey` ile geçersiz kılın. ```json5 { @@ -3283,7 +3266,7 @@ Doğrulama ve güvenlik notları: } ``` -- Gateway, yapılandırıldığında önyüklemede `gog gmail watch serve` sürecini 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` sürecini 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. --- @@ -3300,22 +3283,22 @@ Doğrulama ve güvenlik notları: } ``` -- Gateway portu altında HTTP üzerinden agent tarafından düzenlenebilir HTML/CSS/JS ve A2UI sunar: +- HTTP üzerinden Gateway portu altında agent tarafından düzenlenebilir HTML/CSS/JS ve A2UI sunar: - `http://:/__openclaw__/canvas/` - `http://:/__openclaw__/a2ui/` -- Yalnızca yerel: `gateway.bind: "loopback"` (varsayılan) olarak tutun. -- Loopback dışı bind'ler: canvas rotaları, diğer Gateway HTTP yüzeyleri gibi Gateway auth gerektirir (token/password/trusted-proxy). -- Node WebView'lar genelde auth başlıkları göndermez; bir node eşleştirilip bağlandıktan sonra Gateway, canvas/A2UI erişimi için node kapsamlı capability URL'leri ilan eder. -- Capability URL'leri etkin node WS oturumuna bağlıdır ve hızlıca sona erer. IP tabanlı geri dönüş kullanılmaz. -- Sunulan HTML içine live-reload istemcisi enjekte eder. -- Boşsa başlangıç `index.html` dosyasını otomatik oluşturur. +- Yalnızca yerel: `gateway.bind: "loopback"` (varsayılan) olarak bırakın. +- Loopback olmayan bind'ler: canvas rotaları, diğer Gateway HTTP yüzeyleriyle aynı şekilde Gateway kimlik doğrulaması gerektirir (token/password/trusted-proxy). +- Node WebView'lar genellikle kimlik doğrulama üst bilgisi göndermez; bir node eşlenip bağlandıktan sonra Gateway, canvas/A2UI erişimi için node kapsamlı capability URL'leri duyurur. +- Capability URL'leri etkin node WS oturumuna bağlıdır ve kısa sürede süresi dolar. 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. - Ayrıca `/__openclaw__/a2ui/` altında A2UI sunar. - Değişiklikler gateway yeniden başlatması gerektirir. -- Büyük dizinlerde veya `EMFILE` hatalarında live reload'u devre dışı bırakın. +- Büyük dizinler veya `EMFILE` hataları için live reload'u devre dışı bırakın. --- -## Discovery +## Keşif ### mDNS (Bonjour) @@ -3331,9 +3314,9 @@ Doğrulama ve güvenlik notları: - `minimal` (varsayılan): TXT kayıtlarından `cliPath` + `sshPort` değerlerini çıkarır. - `full`: `cliPath` + `sshPort` içerir. -- Hostname varsayılan olarak `openclaw` olur. `OPENCLAW_MDNS_HOSTNAME` ile geçersiz kılın. +- Hostname varsayılan olarak `openclaw` kullanır. `OPENCLAW_MDNS_HOSTNAME` ile geçersiz kılın. -### Geniş alan (DNS-SD) +### Wide-area (DNS-SD) ```json5 { @@ -3343,7 +3326,7 @@ Doğrulama ve güvenlik notları: } ``` -`~/.openclaw/dns/` altında tek noktaya yayın DNS-SD bölgesi yazar. Ağlar arası keşif için bunu bir DNS sunucusu (önerilen CoreDNS) + Tailscale split DNS ile eşleyin. +`~/.openclaw/dns/` altında tek noktaya yayın 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. Kurulum: `openclaw dns setup --apply`. @@ -3351,7 +3334,7 @@ Kurulum: `openclaw dns setup --apply`. ## Ortam -### `env` (satır içi env vars) +### `env` (satır içi env var'lar) ```json5 { @@ -3368,14 +3351,14 @@ Kurulum: `openclaw dns setup --apply`. } ``` -- Satır içi env vars 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ı giriş shell profilinizden içe aktarır. +- Satır içi env var'lar yalnızca süreç env değeri anahtarı içermiyorsa uygulanır. +- `.env` dosyaları: CWD `.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. [Ortam](/tr/help/environment). ### Env var substitution -Herhangi bir yapılandırma dizesinde env vars değerlerine `${VAR_NAME}` ile başvurun: +Herhangi bir yapılandırma dizesinde env var'lara `${VAR_NAME}` ile başvurun: ```json5 { @@ -3386,15 +3369,15 @@ Herhangi bir yapılandırma dizesinde env vars değerlerine `${VAR_NAME}` ile ba ``` - 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 üretir. -- Değişmez `${VAR}` değeri için `$${VAR}` ile kaçış yapın. +- Eksik/boş değişkenler yapılandırma yüklemede hata oluşturur. +- Birebir `${VAR}` için `$${VAR}` ile kaçış yapın. - `$include` ile çalışır. --- ## Secrets -SecretRef'ler eklemelidir: düz metin değerler yine çalışır. +Secret ref'ler eklemelidir: düz metin değerler yine çalışır. ### `SecretRef` @@ -3406,17 +3389,17 @@ Tek bir nesne biçimi kullanın: Doğrulama: -- `provider` kalıbı: `^[a-z][a-z0-9_-]{0,63}$` -- `source: "env"` id kalıbı: `^[A-Z][A-Z0-9_]{0,127}$` +- `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 pointer (örneğin `"/providers/openai/apiKey"`) -- `source: "exec"` id kalıbı: `^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$` -- `source: "exec"` id'leri `.` veya `..` içeren slash ile ayrılmış yol segmentleri barındırmamalıdır (örneğin `a/../b` reddedilir) +- `source: "exec"` id deseni: `^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$` +- `source: "exec"` kimlikleri `.` veya `..` içeren slash ile ayrılmış yol bölümleri içermemelidir (örneğin `a/../b` reddedilir) ### Desteklenen kimlik bilgisi yüzeyi - Standart matris: [SecretRef Credential Surface](/tr/reference/secretref-credential-surface) - `secrets apply`, desteklenen `openclaw.json` kimlik bilgisi yollarını hedefler. -- `auth-profiles.json` başvuruları çalışma zamanı çözümlemesi ve denetim kapsamına dahildir. +- `auth-profiles.json` başvuruları, çalışma zamanı çözümlemesine ve denetim kapsamına dahildir. ### Secret provider yapılandırması @@ -3448,17 +3431,17 @@ Doğrulama: Notlar: -- `file` provider, `mode: "json"` ve `mode: "singleValue"` destekler (`singleValue` modunda `id`, `"value"` olmalıdır). -- `exec` provider mutlak `command` yolu gerektirir ve stdin/stdout üzerinde protokol payload'ları kullanır. -- Varsayılan olarak symlink komut yolları reddedilir. Çözümlenen hedef yolu doğrularken 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 asgaridir; gerekli değişkenleri `passEnv` ile açıkça geçirin. -- SecretRef'ler etkinleştirme zamanında bellek içi 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üzeylerdeki çözümlenmemiş başvurular başlangıçta/yeniden yüklemede başarısız olurken, etkin olmayan yüzeyler tanılamalarla birlikte atlanır. +- `file` provider, `mode: "json"` ve `mode: "singleValue"` destekler (`singleValue` modunda `id` değeri `"value"` olmalıdır). +- `exec` provider, mutlak `command` yolu gerektirir ve stdin/stdout üzerinden protokol yükleri kullanır. +- Varsayılan olarak symlink komut yolları reddedilir. Çözümlenmiş hedef yolu doğrularken symlink yollarına izin vermek için `allowSymlinkCommand: true` ayarlayın. +- `trustedDirs` yapılandırılmışsa, güvenilen dizin denetimi çözümlenmiş hedef yola uygulanır. +- `exec` alt süreç ortamı varsayılan olarak minimumdur; gerekli değişkenleri `passEnv` ile açıkça geçin. +- Secret ref'ler etkinleştirme zamanı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 filtreleme etkinleştirme sırasında uygulanır: etkin yüzeylerde çözümlenmeyen ref'ler başlangıç/yüklemeyi başarısız kılar, etkin olmayan yüzeyler ise tanılama ile atlanır. --- -## Auth depolama +## Kimlik doğrulama depolama ```json5 { @@ -3477,10 +3460,10 @@ Notlar: ``` - Agent başına profiller `/auth-profiles.json` içinde saklanır. -- `auth-profiles.json`, statik kimlik bilgisi modları için değer düzeyi başvuruları (`api_key` için `keyRef`, `token` için `tokenRef`) destekler. -- OAuth modlu profiller (`auth.profiles..mode = "oauth"`), SecretRef destekli auth-profile kimlik bilgilerini desteklemez. -- Statik çalışma zamanı kimlik bilgileri bellek içi çözümlenmiş anlık görüntülerden gelir; eski statik `auth.json` girdileri bulunduğunda temizlenir. -- Eski OAuth içe aktarımları `~/.openclaw/credentials/oauth.json` içindendir. +- `auth-profiles.json`, statik kimlik bilgisi modları için değer düzeyinde ref'leri destekler (`api_key` için `keyRef`, `token` için `tokenRef`). +- OAuth modundaki profiller (`auth.profiles..mode = "oauth"`), SecretRef destekli auth-profile kimlik bilgilerini desteklemez. +- Statik çalışma zamanı kimlik bilgileri, bellek içi çözümlenmiş anlık görüntülerden gelir; eski statik `auth.json` girdileri bulunduğunda temizlenir. +- Eski OAuth içe aktarımları `~/.openclaw/credentials/oauth.json` dosyasından alınır. - Bkz. [OAuth](/tr/concepts/oauth). - Secrets çalışma zamanı davranışı ve `audit/configure/apply` araçları: [Secrets Management](/tr/gateway/secrets). @@ -3504,21 +3487,20 @@ 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 buraya düşebilir, ancak sağlayıcıya özel metin - eşleştiricileri onları sahiplenen sağlayıcıyla sınırlı kalır (örneğin OpenRouter +- `billingBackoffHours`: bir profil gerçek faturalama/yetersiz kredi hataları nedeniyle başarısız olduğunda temel geri çekilme süresi, saat cinsinden + (varsayılan: `5`). Açık faturalama metni + `401`/`403` yanıtlarında bile burada yer alabilir, ancak sağlayıcıya özgü metin + eşleyiciler 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 - organization/workspace harcama sınırı mesajları bunun yerine `rate_limit` yolunda kalır. -- `billingBackoffHoursByProvider`: faturalandırma geri çekilme süresi için isteğe bağlı sağlayıcı başına saat geçersiz kılmaları. -- `billingMaxHours`: faturalandırma geri çekilmesinin üstel büyümesi için saat cinsinden üst sınır (varsayılan: `24`). + kuruluş/workspace harcama sınırı iletileri bunun yerine `rate_limit` yolunda kalır. +- `billingBackoffHoursByProvider`: faturalama geri çekilme saatleri için isteğe bağlı sağlayıcı başına geçersiz kılmalar. +- `billingMaxHours`: faturalama geri çekilmesinin ü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 dakika cinsinden üst sınır (varsayılan: `60`). +- `authPermanentMaxMinutes`: `auth_permanent` geri çekilme büyümesi için üst sınır, dakika cinsinden (varsayılan: `60`). - `failureWindowHours`: geri çekilme sayaçları için kullanılan kayan pencere, saat cinsinden (varsayılan: `24`). -- `overloadedProfileRotations`: model geri dönüşüne geçmeden önce aşırı yüklü 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`: aşırı yüklü bir sağlayıcı/profil döndürmesini yeniden denemeden önce sabit gecikme (varsayılan: `0`). -- `rateLimitedProfileRotations`: model geri dönüşüne geçmeden önce oran sınırı hataları için aynı sağlayıcı auth-profile döndürmelerinin en yüksek sayısı (varsayılan: `1`). Bu oran sınırı 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. +- `overloadedProfileRotations`: model fallback'e geçmeden önce overloaded hataları için aynı sağlayıcı auth-profile döndürme sayısı üst sınırı (varsayılan: `1`). `ModelNotReadyException` gibi provider-busy biçimleri burada yer alır. +- `overloadedBackoffMs`: overloaded bir provider/profile rotation yeniden denemeden önceki sabit gecikme (varsayılan: `0`). +- `rateLimitedProfileRotations`: model fallback'e geçmeden önce rate-limit hataları için aynı sağlayıcı auth-profile döndürme sayısı ü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 içerir. --- @@ -3540,11 +3522,11 @@ 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` olduğunda `debug` seviyesine çıkar. -- `maxFileBytes`: yazmalar bastırılmadan önce en yüksek 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. +- `maxFileBytes`: yazmalar bastırılmadan önce günlük dosyasının bayt cinsinden en yüksek boyutu (pozitif tam sayı; varsayılan: `524288000` = 500 MB). Üretim dağıtımlarında harici log rotation kullanın. --- -## Diagnostics +## Tanılama ```json5 { @@ -3578,19 +3560,19 @@ Notlar: ``` - `enabled`: ölçümleme çıktısı için ana anahtar (varsayılan: `true`). -- `flags`: hedefli günlük çıktısını etkinleştiren işaret dizeleri dizisi (`"telegram.*"` veya `"*"` gibi joker karakterleri destekler). -- `stuckSessionWarnMs`: bir oturum işleme durumunda kalırken takılı oturum uyarılarının üretilmesi için ms cinsinden yaş eşiği. +- `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ı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 aktarma için collector 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 başlıkları. -- `otel.serviceName`: kaynak öznitelikleri için servis adı. -- `otel.traces` / `otel.metrics` / `otel.logs`: iz, metrik veya günlük dışa aktarmasını etkinleştirir. -- `otel.sampleRate`: iz örnekleme oranı `0`–`1`. -- `otel.flushIntervalMs`: ms cinsinden periyodik telemetri boşaltma aralığı. -- `cacheTrace.enabled`: embedded ç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 çıktısı yolu (varsayılan: `$OPENCLAW_STATE_DIR/logs/cache-trace.jsonl`). -- `cacheTrace.includeMessages` / `includePrompt` / `includeSystem`: önbellek iz çıktısına nelerin dahil edileceğini denetler (hepsi varsayılan olarak: `true`). +- `otel.headers`: OTel dışa aktarma istekleriyle gönderilen ek HTTP/gRPC meta veri üst bilgileri. +- `otel.serviceName`: kaynak öznitelikleri için hizmet adı. +- `otel.traces` / `otel.metrics` / `otel.logs`: iz, metrik veya günlük dışa aktarmayı etkinleştirir. +- `otel.sampleRate`: `0`–`1` aralığında iz örnekleme oranı. +- `otel.flushIntervalMs`: ms cinsinden periyodik telemetri flush 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 neyin dahil edileceğini denetler (hepsi varsayılan olarak `true`). --- @@ -3613,11 +3595,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şlatıldığında npm güncellemelerini denetler (varsayılan: `true`). - `auto.enabled`: paket kurulumları için arka plan otomatik güncellemeyi etkinleştirir (varsayılan: `false`). - `auto.stableDelayHours`: stable kanalında otomatik uygulama öncesi en düşük gecikme, saat cinsinden (varsayılan: `6`; en fazla: `168`). -- `auto.stableJitterHours`: stable kanalında ek dağıtım yayma penceresi, saat cinsinden (varsayılan: `12`; en fazla: `168`). -- `auto.betaCheckIntervalHours`: beta kanal denetimlerinin çalışma sıklığı, saat cinsinden (varsayılan: `1`; en fazla: `24`). +- `auto.stableJitterHours`: stable kanalında ek yayılım penceresi, saat cinsinden (varsayılan: `12`; en fazla: `168`). +- `auto.betaCheckIntervalHours`: beta kanal denetimlerinin saat cinsinden ne sıklıkla çalışacağı (varsayılan: `1`; en fazla: `24`). --- @@ -3650,22 +3632,22 @@ Notlar: } ``` -- `enabled`: genel ACP özellik geçidi (varsayılan: `false`). -- `dispatch.enabled`: ACP oturum turu dispatch için bağımsız geçit (varsayılan: `true`). Yürütmeyi engellerken ACP komutlarını kullanılabilir tutmak için `false` ayarlayın. -- `backend`: varsayılan ACP çalışma zamanı backend kimliği (kayıtlı bir ACP çalışma zamanı Plugin öğesiyle eşleşmelidir). +- `enabled`: genel ACP özellik kapısı (varsayılan: `false`). +- `dispatch.enabled`: ACP oturum turu sevkiyatı için bağımsız kapı (varsayılan: `true`). ACP komutlarını kullanılabilir tutup yürütmeyi engellemek için `false` ayarlayın. +- `backend`: varsayılan ACP çalışma zamanı backend kimliği (kayıtlı bir ACP runtime Plugin'iyle eşleşmelidir). - `defaultAgent`: spawn işlemleri açık bir hedef belirtmediğinde geri dönüş ACP hedef agent kimliği. -- `allowedAgents`: ACP çalışma zamanı oturumları için izin verilen agent kimlikleri 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 flush penceresi. +- `allowedAgents`: ACP çalışma zamanı oturumları için izin verilen agent kimlikleri izin listesi; boş ise ek kısıtlama yoktur. +- `maxConcurrentSessions`: aynı anda etkin ACP oturumlarının en yüksek sayısı. +- `stream.coalesceIdleMs`: akışla gelen metin için ms cinsinden boşta flush penceresi. - `stream.maxChunkChars`: akışlı blok projeksiyonu bölünmeden önce en yüksek parça boyutu. -- `stream.repeatSuppression`: tur başına tekrarlanan durum/araç satırlarını bastırır (varsayılan: `true`). -- `stream.deliveryMode`: `"live"` artımlı akış yapar; `"final_only"` tur son olaylarına kadar arabelleğe alır. -- `stream.hiddenBoundarySeparator`: gizli araç olaylarından sonra görünür metinden önce ayırıcı (varsayılan: `"paragraph"`). -- `stream.maxOutputChars`: ACP turu başına yansıtılan en yüksek assistant çı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 tag adlarını boolean görünürlük geçersiz kılmalarına eşleyen kayıt. -- `runtime.ttlMinutes`: ACP oturum çalışanları için temizliğe uygun hale gelmeden ö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. +- `stream.repeatSuppression`: tur başına yinelenen durum/araç satırlarını bastırır (varsayılan: `true`). +- `stream.deliveryMode`: `"live"` artımlı akış yapar; `"final_only"` tur sonu 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 turu başına projekte edilen en yüksek assistant çıktı karakteri. +- `stream.maxSessionUpdateChars`: projekte edilen ACP durum/güncelleme satırları için en yüksek karakter sayısı. +- `stream.tagVisibility`: akışlı olaylar için etiket adlarından boolean görünürlük geçersiz kılmalarına kayıt. +- `runtime.ttlMinutes`: ACP oturum worker'ları için temizliğe uygun hale gelmeden önceki boşta TTL, dakika cinsinden. +- `runtime.installCommand`: ACP çalışma zamanı ortamını bootstrap ederken çalıştırılacak isteğe bağlı kurulum komutu. --- @@ -3681,17 +3663,17 @@ Notlar: } ``` -- `cli.banner.taglineMode`, banner sloganı stilini denetler: - - `"random"` (varsayılan): dönen komik/mevsimsel sloganlar. - - `"default"`: sabit nötr slogan (`All your chats, one OpenClaw.`). - - `"off"`: slogan metni yok (banner başlığı/sürüm yine gösterilir). -- Tüm banner'ı gizlemek için (yalnızca sloganları değil), env `OPENCLAW_HIDE_BANNER=1` ayarlayın. +- `cli.banner.taglineMode`, banner slogan stilini denetler: + - `"random"` (varsayılan): dönen eğlenceli/mevsimsel sloganlar. + - `"default"`: sabit tarafsız slogan (`All your chats, one OpenClaw.`). + - `"off"`: slogan metni yoktur (banner başlığı/sürümü yine gösterilir). +- Tüm banner'ı gizlemek için (yalnızca sloganları değil), `OPENCLAW_HIDE_BANNER=1` env değerini ayarlayın. --- ## Sihirbaz -CLI yönlendirmeli kurulum akışları (`onboard`, `configure`, `doctor`) tarafından yazılan meta veriler: +CLI rehberli kurulum akışları (`onboard`, `configure`, `doctor`) tarafından yazılan meta veriler: ```json5 { @@ -3715,7 +3697,7 @@ CLI yönlendirmeli kurulum akışları (`onboard`, `configure`, `doctor`) taraf ## 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). +Mevcut 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ı kaldırabilir). @@ -3744,8 +3726,8 @@ Geçerli derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzer cron: { enabled: true, maxConcurrentRuns: 2, - webhook: "https://example.invalid/legacy", // deperecated geri dönüş, saklanan notify:true işler için - webhookToken: "replace-with-dedicated-token", // giden Webhook auth için isteğe bağlı bearer token + webhook: "https://example.invalid/legacy", // depolanan notify:true işler için kullanımdan kaldırılmış geri dönüş + webhookToken: "replace-with-dedicated-token", // giden webhook kimlik doğrulaması için isteğe bağlı bearer token sessionRetention: "24h", // süre dizesi veya false runLog: { maxBytes: "2mb", // varsayılan 2_000_000 bayt @@ -3755,11 +3737,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ı `sessions.json` içinden budamadan önce ne kadar süre saklayacağını belirler. 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 en yüksek boyut (`cron/runs/.jsonl`). Varsayılan: `2_000_000` bayt. +- `sessionRetention`: tamamlanan yalıtılmış cron çalıştırma oturumlarının `sessions.json` dosyasından 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üğü 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 tutulacak en yeni satırlar. Varsayılan: `2000`. -- `webhookToken`: Cron Webhook POST teslimi (`delivery.mode = "webhook"`) için kullanılan bearer token; atlanırsa auth başlığı gönderilmez. -- `webhook`: deperecated eski geri dönüş Webhook URL'si (http/https); yalnızca hâlâ `notify: true` olan saklanan işler için kullanılır. +- `webhookToken`: cron Webhook `POST` teslimi (`delivery.mode = "webhook"`) için kullanılan bearer token; atlanırsa kimlik doğrulama üst bilgisi gönderilmez. +- `webhook`: yalnızca hâlâ `notify: true` içeren depolanmış işler için kullanılan, kullanımdan kaldırılmış eski geri dönüş Webhook URL'si (http/https). ### `cron.retry` @@ -3779,7 +3761,7 @@ Geçerli derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzer - `backoffMs`: her yeniden deneme girişimi için ms cinsinden geri çekilme 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 uygulanır. Yinelenen işler ayrı hata işleme kullanır. ### `cron.failureAlert` @@ -3797,11 +3779,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`: uyarı tetiklenmeden önce arka arkaya hata sayısı (pozitif tamsayı, en az: `1`). -- `cooldownMs`: aynı iş için tekrarlanan uyarılar arasındaki en düşük milisaniye süresi (negatif olmayan tamsayı). -- `mode`: teslim modu — `"announce"` kanal mesajı ile gönderir; `"webhook"` yapılandırılmış Webhook'a POST eder. -- `accountId`: uyarı teslimini kapsamlandırmak için isteğe bağlı hesap veya kanal kimliğ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 tam sayı, en az: `1`). +- `cooldownMs`: aynı iş için yinelenen uyarılar arasındaki en düşük milisaniye süresi (negatif olmayan tam sayı). +- `mode`: teslim modu — `"announce"` bir kanal mesajı üzerinden gönderir; `"webhook"` yapılandırılmış Webhook'a gönderir. +- `accountId`: uyarı teslimini kapsamlamak için isteğe bağlı hesap veya kanal kimliği. ### `cron.failureDestination` @@ -3818,16 +3800,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 olduğunda varsayılan `"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 gereklidir. +- `to`: açık announce hedefi veya Webhook URL'si. Webhook modu için zorunludur. - `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. -- Ne genel ne iş başına hata hedefi ayarlıysa, zaten `announce` üzerinden teslim eden 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"` değilse. +- Ne genel ne de iş başına hata hedefi ayarlanmışsa, zaten `announce` ile teslim eden işler hata durumunda bu birincil announce hedefine geri döner. +- `delivery.failureDestination`, işin birincil `delivery.mode` değeri `"webhook"` olmadığı sürece yalnızca `sessionTarget="isolated"` işler için desteklenir. -Bkz. [Cron Jobs](/tr/automation/cron-jobs). Yalıtılmış Cron yürütmeleri [arka plan görevleri](/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. --- @@ -3838,7 +3820,7 @@ Bkz. [Cron Jobs](/tr/automation/cron-jobs). Yalıtılmış Cron yürütmeleri [a | 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önderen sarmalayıcıları olmadan) | | `{{BodyStripped}}`| Grup mention'ları çıkarılmış gövde | | `{{From}}` | Gönderen tanımlayıcısı | | `{{To}}` | Hedef tanımlayıcısı | @@ -3847,10 +3829,10 @@ Bkz. [Cron Jobs](/tr/automation/cron-jobs). Yalıtılmış Cron yürütmeleri [a | `{{IsNewSession}}`| Yeni oturum oluşturulduğunda `"true"` | | `{{MediaUrl}}` | Gelen medya sözde URL'si | | `{{MediaPath}}` | Yerel medya yolu | -| `{{MediaType}}` | Medya türü (görsel/ses/belge/…) | +| `{{MediaType}}` | Medya türü (image/audio/document/…) | | `{{Transcript}}` | Ses transcript'i | -| `{{Prompt}}` | CLI girdileri için çözümlenmiş medya prompt'u | -| `{{MaxChars}}` | CLI girdileri için çözümlenmiş en yüksek çı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) | @@ -3860,7 +3842,7 @@ Bkz. [Cron Jobs](/tr/automation/cron-jobs). Yalıtılmış Cron yürütmeleri [a --- -## Yapılandırma include'ları (`$include`) +## Yapılandırma includes (`$include`) Yapılandırmayı birden çok dosyaya bölün: @@ -3877,12 +3859,12 @@ Yapılandırmayı birden çok dosyaya bölün: **Birleştirme davranışı:** -- Tek dosya: kapsayan nesnenin yerini alır. -- Dosya dizisi: sırayla derin birleştirilir (sonraki öncekiyi 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 derinliğe kadar. -- Yollar: include eden dosyaya göre çözülür, ancak üst düzey yapılandırma dizini (`openclaw.json` dosyasının `dirname` değeri) içinde kalmalıdır. Mutlak/`../` biçimlerine yalnızca yine bu sınır içinde çözülüyorsa izin verilir. -- Hatalar: eksik dosyalar, parse hataları ve dairesel include'lar için açık mesajlar. +- Tek dosya: kapsayan nesnenin yerine geçer. +- Dosya dizisi: sırayla derin birleştirilir (sonraki, öncekini geçersiz kılar). +- Kardeş anahtarlar: include'lerden sonra birleştirilir (include edilen değerleri geçersiz kılar). +- İç içe include'ler: en fazla 10 seviye derinlik. +- Yollar: include eden dosyaya göre çözümlenir, ancak üst düzey yapılandırma dizini (`openclaw.json` dosyasının `dirname` değeri) içinde kalmalıdır. Mutlak/`../` biçimlerine yalnızca hâlâ bu sınır içinde çözülüyorlarsa izin verilir. +- Hatalar: eksik dosyalar, ayrıştırma hataları ve döngüsel include'ler için açık iletiler. --- diff --git a/docs/tr/gateway/heartbeat.md b/docs/tr/gateway/heartbeat.md index 77d1a0e14..084ef4628 100644 --- a/docs/tr/gateway/heartbeat.md +++ b/docs/tr/gateway/heartbeat.md @@ -1,38 +1,38 @@ --- read_when: - Heartbeat temposunu veya mesajlaşmayı ayarlama - - Zamanlanmış görevler için heartbeat ile cron arasında karar verme -summary: Heartbeat polling mesajları ve bildirim kuralları + - Zamanlanmış görevler için Heartbeat ile Cron arasında karar verme +summary: Heartbeat yoklama mesajları ve bildirim kuralları title: Heartbeat x-i18n: - generated_at: "2026-04-11T02:44:36Z" + generated_at: "2026-04-22T08:54:51Z" model: gpt-5.4 provider: openai - source_hash: e4485072148753076d909867a623696829bf4a82dcd0479b95d5d0cae43100b0 + source_hash: 13004e4e20b02b08aaf16f22cdf664d0b59da69446ecb30453db51ffdfd1d267 source_path: gateway/heartbeat.md workflow: 15 --- # Heartbeat (Gateway) -> **Heartbeat mi Cron mu?** Her birinin ne zaman kullanılacağına dair yönlendirme için [Automation & Tasks](/tr/automation) bölümüne bakın. +> **Heartbeat mi Cron mu?** Hangisinin ne zaman kullanılacağıyla ilgili yönlendirme için [Automation & Tasks](/tr/automation) bölümüne bakın. -Heartbeat, ana oturumda **periyodik agent dönüşleri** çalıştırır; böylece model, sizi spamlamadan dikkat gerektiren her şeyi ortaya çıkarabilir. +Heartbeat, sizi mesaj yağmuruna tutmadan dikkat gerektiren her şeyi modelin öne çıkarabilmesi için ana oturumda **periyodik agent turları** çalıştırır. -Heartbeat, zamanlanmış bir ana oturum dönüşüdür — [background task](/tr/automation/tasks) kaydı oluşturmaz. -Görev kayıtları, ayrık işler içindir (ACP çalıştırmaları, alt agent'lar, yalıtılmış cron işleri). +Heartbeat, zamanlanmış bir ana oturum turudur — [background task](/tr/automation/tasks) kaydı oluşturmaz. +Görev kayıtları ayrık işler içindir (ACP çalıştırmaları, alt agent'lar, yalıtılmış cron işleri). Sorun giderme: [Scheduled Tasks](/tr/automation/cron-jobs#troubleshooting) -## Hızlı başlangıç (başlangıç düzeyi) +## Hızlı başlangıç (başlangıç seviyesi) -1. Heartbeat'i etkin bırakın (varsayılan `30m`, Anthropic OAuth/token kimlik doğrulaması için — Claude CLI yeniden kullanımı dahil — `1h`) veya kendi aralığınızı ayarlayın. -2. Agent çalışma alanında küçük bir `HEARTBEAT.md` kontrol listesi ya da `tasks:` bloğu oluşturun (isteğe bağlı ancak önerilir). -3. Heartbeat mesajlarının nereye gideceğine karar verin (`target: "none"` varsayılandır; son kişiye yönlendirmek için `target: "last"` ayarlayın). +1. Heartbeat'leri etkin bırakın (varsayılan `30m`, Anthropic OAuth/token kimlik doğrulaması için — Claude CLI yeniden kullanımı dahil — `1h`) ya da kendi temponuzu ayarlayın. +2. Agent çalışma alanında küçük bir `HEARTBEAT.md` kontrol listesi veya `tasks:` bloğu oluşturun (isteğe bağlı ama önerilir). +3. Heartbeat mesajlarının nereye gitmesi gerektiğine karar verin (varsayılan `target: "none"` değeridir; son kişiye yönlendirmek için `target: "last"` ayarlayın). 4. İsteğe bağlı: şeffaflık için heartbeat reasoning teslimini etkinleştirin. -5. İsteğe bağlı: heartbeat çalıştırmaları yalnızca `HEARTBEAT.md` gerektiriyorsa hafif bootstrap bağlamı kullanın. +5. İsteğe bağlı: heartbeat çalıştırmaları yalnızca `HEARTBEAT.md` gerektiriyorsa hafif başlangıç bağlamını kullanın. 6. İsteğe bağlı: her heartbeat'te tam konuşma geçmişinin gönderilmesini önlemek için yalıtılmış oturumları etkinleştirin. -7. İsteğe bağlı: heartbeat'leri etkin saatlerle sınırlandırın (yerel saat). +7. İsteğe bağlı: heartbeat'leri etkin saatlerle sınırlayın (yerel saat). Örnek yapılandırma: @@ -43,8 +43,8 @@ Sorun giderme: [Scheduled Tasks](/tr/automation/cron-jobs#troubleshooting) heartbeat: { every: "30m", target: "last", // son kişiye açık teslimat (varsayılan "none") - directPolicy: "allow", // varsayılan: doğrudan/DM hedeflerine izin ver; bastırmak için "block" ayarlayın - lightContext: true, // isteğe bağlı: yalnızca bootstrap dosyalarından HEARTBEAT.md enjekte edilir + directPolicy: "allow", // varsayılan: doğrudan/DM hedeflerine izin ver; bastırmak için "block" ayarla + lightContext: true, // isteğe bağlı: başlangıç dosyalarından yalnızca HEARTBEAT.md dosyasını ekle isolatedSession: true, // isteğe bağlı: her çalıştırmada yeni oturum (konuşma geçmişi yok) // activeHours: { start: "08:00", end: "24:00" }, // includeReasoning: true, // isteğe bağlı: ayrı bir `Reasoning:` mesajı da gönder @@ -56,25 +56,26 @@ Sorun giderme: [Scheduled Tasks](/tr/automation/cron-jobs#troubleshooting) ## Varsayılanlar -- Aralık: `30m` (veya algılanan kimlik doğrulama modu Anthropic OAuth/token olduğunda — Claude CLI yeniden kullanımı dahil — `1h`). `agents.defaults.heartbeat.every` ya da agent başına `agents.list[].heartbeat.every` ayarlayın; devre dışı bırakmak için `0m` kullanın. +- Aralık: `30m` (veya Anthropic OAuth/token kimlik doğrulaması algılanan kimlik doğrulama modu olduğunda — Claude CLI yeniden kullanımı dahil — `1h`). `agents.defaults.heartbeat.every` ya da agent başına `agents.list[].heartbeat.every` ayarlayın; devre dışı bırakmak için `0m` kullanın. - İstem gövdesi (`agents.defaults.heartbeat.prompt` ile yapılandırılabilir): `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.` -- Heartbeat istemi, kullanıcı mesajı olarak **aynen** gönderilir. Sistem - istemi, yalnızca varsayılan agent için heartbeat etkinse ve çalıştırma dahili olarak işaretlenmişse bir “Heartbeat” bölümü içerir. -- Heartbeat'ler `0m` ile devre dışı bırakıldığında, modelin yalnızca heartbeat'e özel talimatları görmemesi için normal çalıştırmalarda da `HEARTBEAT.md` - bootstrap bağlamına dahil edilmez. -- Etkin saatler (`heartbeat.activeHours`) yapılandırılan saat diliminde denetlenir. - Pencerenin dışında heartbeat'ler, pencere içindeki bir sonraki tik'e kadar atlanır. +- Heartbeat istemi kullanıcı mesajı olarak **aynen** gönderilir. Sistem + istemi yalnızca varsayılan + agent için heartbeat'ler etkinse ve çalıştırma dahili olarak işaretlendiyse bir “Heartbeat” bölümü içerir. +- Heartbeat'ler `0m` ile devre dışı bırakıldığında, normal çalıştırmalar da başlangıç bağlamından `HEARTBEAT.md` + dosyasını çıkarır; böylece model yalnızca heartbeat'e özel yönergeleri görmez. +- Etkin saatler (`heartbeat.activeHours`) yapılandırılmış saat diliminde kontrol edilir. + Pencerenin dışında heartbeat'ler, pencere içindeki bir sonraki tick'e kadar atlanır. ## Heartbeat istemi ne için kullanılır Varsayılan istem bilerek geniş tutulmuştur: -- **Arka plan görevleri**: “Consider outstanding tasks”, agent'ın - takipleri (gelen kutusu, takvim, hatırlatıcılar, kuyruktaki işler) gözden geçirmesini ve acil olan her şeyi ortaya çıkarmasını teşvik eder. -- **İnsan check-in'i**: “Checkup sometimes on your human during day time”, ara sıra hafif bir “ihtiyacın olan bir şey var mı?” mesajını teşvik eder; ancak yapılandırdığınız yerel saat dilimi kullanılarak gece spam'inden kaçınılır (bkz. [/concepts/timezone](/tr/concepts/timezone)). +- **Arka plan görevleri**: “Consider outstanding tasks” ifadesi agent'ı + takip edilmesi gerekenleri (gelen kutusu, takvim, hatırlatmalar, sıradaki işler) gözden geçirmeye ve acil olanları öne çıkarmaya yönlendirir. +- **İnsan kontrolü**: “Checkup sometimes on your human during day time” ifadesi ara sıra hafif bir “bir şeye ihtiyacın var mı?” mesajını teşvik eder, ancak yapılandırdığınız yerel saat dilimini kullanarak gece spam'ini önler (bkz. [/concepts/timezone](/tr/concepts/timezone)). -Heartbeat, tamamlanmış [background tasks](/tr/automation/tasks) işlemlerine tepki verebilir; ancak heartbeat çalıştırmasının kendisi bir görev kaydı oluşturmaz. +Heartbeat, tamamlanan [background tasks](/tr/automation/tasks) öğelerine tepki verebilir, ancak heartbeat çalıştırmasının kendisi bir görev kaydı oluşturmaz. Bir heartbeat'in çok belirli bir şey yapmasını istiyorsanız (ör. “Gmail PubSub istatistiklerini kontrol et” veya “gateway sağlığını doğrula”), `agents.defaults.heartbeat.prompt` (veya @@ -83,14 +84,15 @@ istatistiklerini kontrol et” veya “gateway sağlığını doğrula”), `age ## Yanıt sözleşmesi - Dikkat gerektiren bir şey yoksa **`HEARTBEAT_OK`** ile yanıt verin. -- Heartbeat çalıştırmaları sırasında OpenClaw, **yanıtın başında veya sonunda** - göründüğünde `HEARTBEAT_OK` ifadesini bir onay olarak değerlendirir. Bu belirteç kaldırılır ve kalan içerik **≤ `ackMaxChars`** (varsayılan: 300) ise yanıt bırakılır. -- `HEARTBEAT_OK`, bir yanıtın **ortasında** görünürse özel olarak - değerlendirilmez. +- Heartbeat çalıştırmaları sırasında OpenClaw, `HEARTBEAT_OK` ifadesini yanıtta + **başta veya sonda** göründüğünde bir onay olarak değerlendirir. Bu belirteç çıkarılır ve + kalan içerik **≤ `ackMaxChars`** ise (varsayılan: 300) yanıt düşürülür. +- `HEARTBEAT_OK` yanıtın **ortasında** görünürse özel + bir işlem uygulanmaz. - Uyarılar için **`HEARTBEAT_OK` eklemeyin**; yalnızca uyarı metnini döndürün. -Heartbeat dışında, bir mesajın başındaki/sonundaki başıboş `HEARTBEAT_OK` -kaldırılır ve günlüğe kaydedilir; yalnızca `HEARTBEAT_OK` olan bir mesaj bırakılır. +Heartbeat dışında, bir mesajın başında/sonunda yer alan başıboş `HEARTBEAT_OK` +çıkarılır ve günlüğe yazılır; yalnızca `HEARTBEAT_OK` içeren bir mesaj düşürülür. ## Yapılandırma @@ -101,9 +103,9 @@ kaldırılır ve günlüğe kaydedilir; yalnızca `HEARTBEAT_OK` olan bir mesaj heartbeat: { every: "30m", // varsayılan: 30m (0m devre dışı bırakır) model: "anthropic/claude-opus-4-6", - includeReasoning: false, // varsayılan: false (mevcut olduğunda ayrı `Reasoning:` mesajı teslim et) - 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) + includeReasoning: false, // varsayılan: false (mümkün olduğunda ayrı `Reasoning:` mesajı teslim et) + lightContext: false, // varsayılan: false; true olduğunda çalışma alanı başlangıç dosyalarından yalnızca HEARTBEAT.md tutulur + isolatedSession: false, // varsayılan: false; true olduğunda her heartbeat yeni bir oturumda çalışır (konuşma geçmişi yok) target: "last", // varsayılan: none | seçenekler: last | none | (çekirdek veya plugin, ör. "bluebubbles") to: "+15551234567", // isteğe bağlı kanala özgü geçersiz kılma accountId: "ops-bot", // isteğe bağlı çok hesaplı kanal kimliği @@ -118,18 +120,18 @@ kaldırılır ve günlüğe kaydedilir; yalnızca `HEARTBEAT_OK` olan bir mesaj ### Kapsam ve öncelik - `agents.defaults.heartbeat`, genel heartbeat davranışını ayarlar. -- `agents.list[].heartbeat`, bunun üzerine birleştirilir; herhangi bir agent'ın `heartbeat` bloğu varsa, heartbeat'i **yalnızca bu agent'lar** çalıştırır. +- `agents.list[].heartbeat` bunun üstüne birleşir; herhangi bir agent'ta `heartbeat` bloğu varsa heartbeat'leri **yalnızca o agent'lar** çalıştırır. - `channels.defaults.heartbeat`, tüm kanallar için görünürlük varsayılanlarını ayarlar. - `channels..heartbeat`, kanal varsayılanlarını geçersiz kılar. -- `channels..accounts..heartbeat` (çok hesaplı kanallar), kanal başına ayarları geçersiz kılar. +- `channels..accounts..heartbeat` (çok hesaplı kanallar) kanal başına ayarları geçersiz kılar. ### Agent başına heartbeat'ler -Herhangi bir `agents.list[]` girdisi bir `heartbeat` bloğu içeriyorsa, heartbeat'i -**yalnızca bu agent'lar** çalıştırır. Agent başına blok, `agents.defaults.heartbeat` -üzerine birleştirilir (böylece paylaşılan varsayılanları bir kez ayarlayıp agent başına geçersiz kılabilirsiniz). +Herhangi bir `agents.list[]` girdisi bir `heartbeat` bloğu içeriyorsa, heartbeat'leri +**yalnızca o agent'lar** çalıştırır. Agent başına blok `agents.defaults.heartbeat` +üstüne birleşir (böylece ortak varsayılanları bir kez ayarlayıp agent başına geçersiz kılabilirsiniz). -Örnek: iki agent, heartbeat'i yalnızca ikinci agent çalıştırır. +Örnek: iki agent, heartbeat'leri yalnızca ikinci agent çalıştırır. ```json5 { @@ -159,7 +161,7 @@ Herhangi bir `agents.list[]` girdisi bir `heartbeat` bloğu içeriyorsa, heartbe ### Etkin saatler örneği -Heartbeat'leri belirli bir saat diliminde mesai saatleriyle sınırlandırın: +Heartbeat'leri belirli bir saat diliminde mesai saatleriyle sınırlayın: ```json5 { @@ -171,7 +173,7 @@ Heartbeat'leri belirli bir saat diliminde mesai saatleriyle sınırlandırın: activeHours: { start: "09:00", end: "22:00", - timezone: "America/New_York", // isteğe bağlı; ayarlıysa userTimezone kullanılır, aksi halde host saat dilimi + timezone: "America/New_York", // isteğe bağlı; ayarlıysa userTimezone kullanılır, aksi halde ana makine saat dilimi }, }, }, @@ -179,17 +181,17 @@ Heartbeat'leri belirli bir saat diliminde mesai saatleriyle sınırlandırın: } ``` -Bu pencerenin dışında (Doğu saatiyle sabah 9'dan önce veya akşam 10'dan sonra), heartbeat'ler atlanır. Pencere içindeki bir sonraki zamanlanmış tik normal şekilde çalışır. +Bu pencerenin dışında (Doğu saatiyle sabah 9'dan önce veya gece 10'dan sonra), heartbeat'ler atlanır. Pencere içindeki bir sonraki zamanlanmış tick normal şekilde çalışır. ### 7/24 kurulum -Heartbeat'lerin gün boyu çalışmasını istiyorsanız şu desenlerden birini kullanın: +Heartbeat'lerin tüm gün çalışmasını istiyorsanız şu kalıplardan birini kullanın: -- `activeHours` alanını tamamen atlayın (zaman penceresi kısıtlaması yoktur; bu varsayılan davranıştır). -- Tam günlük pencere ayarlayın: `activeHours: { start: "00:00", end: "24:00" }`. +- `activeHours` alanını tamamen atlayın (zaman penceresi kısıtlaması yoktur; varsayılan davranış budur). +- Tam günlük bir pencere ayarlayın: `activeHours: { start: "00:00", end: "24:00" }`. Aynı `start` ve `end` saatini ayarlamayın (örneğin `08:00` ile `08:00`). -Bu, sıfır genişlikli pencere olarak değerlendirilir; bu yüzden heartbeat'ler her zaman atlanır. +Bu sıfır genişlikli pencere olarak değerlendirilir, bu yüzden heartbeat'ler her zaman atlanır. ### Çok hesaplı örnek @@ -204,7 +206,7 @@ Telegram gibi çok hesaplı kanallarda belirli bir hesabı hedeflemek için `acc heartbeat: { every: "1h", target: "telegram", - to: "12345678:topic:42", // isteğe bağlı: belirli bir konu/başlık dizisine yönlendir + to: "12345678:topic:42", // isteğe bağlı: belirli bir konu/iş parçacığına yönlendir accountId: "ops-bot", }, }, @@ -222,51 +224,54 @@ Telegram gibi çok hesaplı kanallarda belirli bir hesabı hedeflemek için `acc ### Alan notları -- `every`: heartbeat aralığı (süre dizgesi; varsayılan birim = dakika). +- `every`: heartbeat aralığı (süre dizesi; varsayılan birim = dakika). - `model`: heartbeat çalıştırmaları için isteğe bağlı model geçersiz kılması (`provider/model`). -- `includeReasoning`: etkinleştirildiğinde, mevcut olduğunda ayrı `Reasoning:` mesajını da teslim eder (`/reasoning on` ile aynı yapı). -- `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 olmadan yeni bir oturumda çalışır. Cron `sessionTarget: "isolated"` ile aynı yalıtım desenini kullanır. Heartbeat başına token maliyetini ciddi ölçüde azaltır. En yüksek tasarruf için `lightContext: true` ile birlikte kullanın. Teslimat yönlendirmesi yine ana oturum bağlamını kullanır. +- `includeReasoning`: etkinleştirildiğinde, mümkün olduğunda ayrı `Reasoning:` mesajını da teslim eder (`/reasoning on` ile aynı biçim). +- `lightContext`: true olduğunda, heartbeat çalıştırmaları hafif başlangıç bağlamı kullanır ve çalışma alanı başlangıç 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 düzenini kullanır. Heartbeat başına token maliyetini ciddi ölçüde azaltır. En yüksek tasarruf için `lightContext: true` ile birlikte kullanın. Teslim yönlendirmesi yine de ana oturum bağlamını kullanır. - `session`: heartbeat çalıştırmaları için isteğe bağlı oturum anahtarı. - `main` (varsayılan): agent ana oturumu. - Açık oturum anahtarı (`openclaw sessions --json` veya [sessions CLI](/cli/sessions) çıktısından kopyalayın). - - Oturum anahtarı biçimleri: bkz. [Sessions](/tr/concepts/session) ve [Groups](/tr/channels/groups). + - Oturum anahtarı biçimleri için bkz. [Sessions](/tr/concepts/session) ve [Groups](/tr/channels/groups). - `target`: - `last`: son kullanılan harici kanala teslim et. - - açık kanal: yapılandırılmış herhangi bir kanal veya plugin kimliği; örneğin `discord`, `matrix`, `telegram` veya `whatsapp`. - - `none` (varsayılan): heartbeat'i çalıştırır ancak haricen **teslim etmez**. -- `directPolicy`: doğrudan/DM teslim davranışını kontrol eder: - - `allow` (varsayılan): doğrudan/DM heartbeat teslimine izin verir. - - `block`: doğrudan/DM teslimini bastırır (`reason=dm-blocked`). -- `to`: isteğe bağlı alıcı geçersiz kılması (kanala özgü kimlik; ör. WhatsApp için E.164 veya Telegram chat id). Telegram konu/thread'leri için `:topic:` kullanın. -- `accountId`: çok hesaplı kanallar için isteğe bağlı hesap kimliği. `target: "last"` olduğunda, hesap kimliği destekliyorsa çözümlenen son kanala uygulanır; aksi halde yok sayılır. Hesap kimliği, çözümlenen kanal için yapılandırılmış bir hesapla eşleşmezse teslimat atlanır. + - açık kanal: örneğin `discord`, `matrix`, `telegram` veya `whatsapp` gibi yapılandırılmış herhangi bir kanal veya plugin kimliği. + - `none` (varsayılan): heartbeat'i çalıştır ama haricen **teslim etme**. +- `directPolicy`: doğrudan/DM teslim davranışını denetler: + - `allow` (varsayılan): doğrudan/DM heartbeat teslimine izin ver. + - `block`: doğrudan/DM teslimini bastır (`reason=dm-blocked`). +- `to`: isteğe bağlı alıcı geçersiz kılması (kanala özgü kimlik, ör. WhatsApp için E.164 veya Telegram sohbet kimliği). Telegram konuları/iş parçacıkları için `:topic:` kullanın. +- `accountId`: çok hesaplı kanallar için isteğe bağlı hesap kimliği. `target: "last"` olduğunda hesap kimliği, hesap destekliyorsa çözümlenen son kanala uygulanır; aksi halde yok sayılır. Hesap kimliği çözümlenen kanal için yapılandırılmış bir hesapla eşleşmiyorsa teslimat atlanır. - `prompt`: varsayılan istem gövdesini geçersiz kılar (birleştirilmez). -- `ackMaxChars`: `HEARTBEAT_OK` sonrasında teslimata izin verilmeden önce izin verilen en fazla karakter sayısı. -- `suppressToolErrorWarnings`: true olduğunda, heartbeat çalıştırmaları sırasında tool hata uyarısı payload'larını bastırır. -- `activeHours`: heartbeat çalıştırmalarını bir zaman penceresiyle sınırlandırır. `start` (HH:MM, dahil; gün başlangıcı için `00:00` kullanın), `end` (HH:MM, hariç; gün sonu için `24:00` kullanılabilir) ve isteğe bağlı `timezone` içeren nesne. - - Atlanırsa veya `"user"` ise: ayarlıysa `agents.defaults.userTimezone` kullanılır, aksi halde host sistem saat dilimine geri dönülür. - - `"local"`: her zaman host sistem saat dilimini kullanır. - - Herhangi bir IANA tanımlayıcısı (ör. `America/New_York`): doğrudan kullanılır; geçersizse yukarıdaki `"user"` davranışına geri dönülür. - - Etkin pencere için `start` ve `end` eşit olmamalıdır; eşit değerler sıfır genişlikli (her zaman pencere dışında) olarak değerlendirilir. - - Etkin pencerenin dışında, heartbeat'ler pencere içindeki bir sonraki tik'e kadar atlanır. +- `ackMaxChars`: teslimattan önce `HEARTBEAT_OK` sonrasında izin verilen en fazla karakter. +- `suppressToolErrorWarnings`: true olduğunda heartbeat çalıştırmaları sırasında araç hatası uyarı yüklerini bastırır. +- `activeHours`: heartbeat çalıştırmalarını bir zaman penceresiyle sınırlar. `start` (HH:MM, dahil; gün başlangıcı için `00:00` kullanın), `end` (HH:MM hariç; gün sonu için `24:00` kullanılabilir) ve isteğe bağlı `timezone` içeren nesne. + - Atlandığında veya `"user"` olduğunda: ayarlıysa `agents.defaults.userTimezone` kullanılır, aksi halde ana makinenin sistem saat dilimine geri düşülür. + - `"local"`: her zaman ana makinenin sistem saat dilimini kullanır. + - Herhangi bir IANA tanımlayıcısı (ör. `America/New_York`): doğrudan kullanılır; geçersizse yukarıdaki `"user"` davranışına geri düşülür. + - Etkin bir pencere için `start` ve `end` eşit olmamalıdır; eşit değerler sıfır genişlikli (her zaman pencere dışında) olarak değerlendirilir. + - Etkin pencerenin dışında heartbeat'ler, pencere içindeki bir sonraki tick'e kadar atlanır. ## Teslim davranışı - Heartbeat'ler varsayılan olarak agent'ın ana oturumunda çalışır (`agent::`), - veya `session.scope = "global"` olduğunda `global` kapsamında çalışır. Bunu - Discord/WhatsApp/vb. gibi belirli bir kanal oturumuna geçirmek için `session` ayarlayın. -- `session` yalnızca çalıştırma bağlamını etkiler; teslimat `target` ve `to` tarafından kontrol edilir. -- Belirli bir kanal/alıcıya teslim etmek için `target` + `to` ayarlayın. `target: "last"` ile - teslimat, o oturum için son kullanılan harici kanalı kullanır. -- Heartbeat teslimatları varsayılan olarak doğrudan/DM hedeflerine izin verir. Heartbeat dönüşünü yine çalıştırırken doğrudan hedeflere gönderimi bastırmak için `directPolicy: "block"` ayarlayın. + veya `session.scope = "global"` olduğunda `global` içinde çalışır. Bunu + belirli bir kanal oturumuna (Discord/WhatsApp/vb.) geçersiz kılmak için `session` ayarlayın. +- `session` yalnızca çalıştırma bağlamını etkiler; teslimat `target` ve `to` tarafından denetlenir. +- Belirli bir kanala/alıcıya teslim etmek için `target` + `to` ayarlayın. `target: "last"` ile + teslimat, o oturum için son harici kanalı kullanır. +- Heartbeat teslimatları varsayılan olarak doğrudan/DM hedeflerine izin verir. Heartbeat turu yine çalışırken doğrudan hedefli gönderimleri bastırmak için `directPolicy: "block"` ayarlayın. - Ana kuyruk meşgulse heartbeat atlanır ve daha sonra yeniden denenir. -- `target` harici bir hedefe çözülmezse çalıştırma yine gerçekleşir ancak - dışa giden mesaj gönderilmez. -- `showOk`, `showAlerts` ve `useIndicator` seçeneklerinin tümü devre dışıysa çalıştırma, en baştan `reason=alerts-disabled` olarak atlanır. -- Yalnızca uyarı teslimatı devre dışıysa, OpenClaw heartbeat'i yine çalıştırabilir, vadesi gelen görev zaman damgalarını güncelleyebilir, oturumun boşta kalma zaman damgasını geri yükleyebilir ve dışa dönük uyarı payload'unu bastırabilir. -- Yalnızca heartbeat'e ait yanıtlar oturumu canlı tutmaz; boşta kalma süresinin sona ermesi normal davranmaya devam etsin diye son `updatedAt` - değeri geri yüklenir. -- Ayrık [background tasks](/tr/automation/tasks), ana oturumun bir şeyi hızlıca fark etmesi gerektiğinde bir sistem olayı sıraya koyabilir ve heartbeat'i uyandırabilir. Bu uyandırma, heartbeat çalıştırmasını bir background task yapmaz. +- `target` hiçbir harici hedefe çözümlenmezse çalıştırma yine gerçekleşir ancak + giden mesaj gönderilmez. +- `showOk`, `showAlerts` ve `useIndicator` değerlerinin tümü devre dışıysa çalıştırma en baştan `reason=alerts-disabled` olarak atlanır. +- Yalnızca uyarı teslimatı devre dışıysa OpenClaw yine de heartbeat'i çalıştırabilir, zamanı gelen görev zaman damgalarını güncelleyebilir, oturumun boşta zaman damgasını geri yükleyebilir ve dışa dönük uyarı yükünü bastırabilir. +- Çözümlenen heartbeat hedefi yazıyor göstergesini destekliyorsa OpenClaw, + heartbeat çalıştırması etkin durumdayken yazıyor göstergesini gösterir. Bu, heartbeat'in + sohbet çıktısını göndereceği hedefin aynısını kullanır ve `typingMode: "never"` ile devre dışı bırakılır. +- Yalnızca heartbeat'e özgü yanıtlar oturumu canlı tutmaz; son `updatedAt` + geri yüklenir, böylece boşta kalma süresinin dolması normal davranır. +- Ayrık [background tasks](/tr/automation/tasks), ana oturumun bir şeyi hızlıca fark etmesi gerektiğinde bir sistem olayı sıraya alıp heartbeat'i uyandırabilir. Bu uyandırma, heartbeat çalıştırmasını bir background task yapmaz. ## Görünürlük denetimleri @@ -279,7 +284,7 @@ channels: heartbeat: showOk: false # HEARTBEAT_OK öğesini gizle (varsayılan) showAlerts: true # Uyarı mesajlarını göster (varsayılan) - useIndicator: true # Gösterge olayları yay (varsayılan) + useIndicator: true # Gösterge olayları üret (varsayılan) telegram: heartbeat: showOk: true # Telegram'da OK onaylarını göster @@ -290,17 +295,17 @@ channels: showAlerts: false # Bu hesap için uyarı teslimatını bastır ``` -Öncelik: hesap bazında → kanal bazında → kanal varsayılanları → yerleşik varsayılanlar. +Öncelik sırası: hesap başına → kanal başına → kanal varsayılanları → yerleşik varsayılanlar. -### Her bayrağın yaptığı şey +### Her bayrak ne yapar - `showOk`: model yalnızca OK içeren bir yanıt döndürdüğünde `HEARTBEAT_OK` onayı gönderir. - `showAlerts`: model OK olmayan bir yanıt döndürdüğünde uyarı içeriğini gönderir. -- `useIndicator`: UI durum yüzeyleri için gösterge olayları yayar. +- `useIndicator`: UI durum yüzeyleri için gösterge olayları üretir. **Üçü de** false ise OpenClaw heartbeat çalıştırmasını tamamen atlar (model çağrısı yapılmaz). -### Kanal bazında ve hesap bazında örnekler +### Kanal başına ve hesap başına örnekler ```yaml channels: @@ -321,32 +326,32 @@ channels: showOk: true ``` -### Yaygın desenler +### Yaygın kalıplar -| Amaç | Yapılandırma | -| ---------------------------------------- | ----------------------------------------------------------------------------------------- | -| Varsayılan davranış (sessiz OK'ler, uyarılar açık) | _(yapılandırma gerekmez)_ | +| Amaç | Yapılandırma | +| ---------------------------------------- | ---------------------------------------------------------------------------------------- | +| Varsayılan davranış (sessiz OK'ler, uyarılar açık) | _(yapılandırma gerekmez)_ | | Tamamen sessiz (mesaj yok, gösterge yok) | `channels.defaults.heartbeat: { showOk: false, showAlerts: false, useIndicator: false }` | -| Yalnızca gösterge (mesaj yok) | `channels.defaults.heartbeat: { showOk: false, showAlerts: false, useIndicator: true }` | -| Yalnızca tek bir kanalda OK'ler | `channels.telegram.heartbeat: { showOk: true }` | +| Yalnızca gösterge (mesaj yok) | `channels.defaults.heartbeat: { showOk: false, showAlerts: false, useIndicator: true }` | +| Yalnızca tek bir kanalda OK'ler | `channels.telegram.heartbeat: { showOk: true }` | ## HEARTBEAT.md (isteğe bağlı) -Çalışma alanında bir `HEARTBEAT.md` dosyası varsa, varsayılan istem agent'a -onu okumasını söyler. Bunu “heartbeat kontrol listeniz” gibi düşünün: küçük, kararlı ve +Çalışma alanında bir `HEARTBEAT.md` dosyası varsa varsayılan istem, +agent'a bunu okumasını söyler. Bunu sizin “heartbeat kontrol listeniz” gibi düşünün: küçük, kararlı ve her 30 dakikada bir eklenmesi güvenli. -Normal çalıştırmalarda `HEARTBEAT.md`, yalnızca varsayılan agent için heartbeat yönlendirmesi -etkin olduğunda enjekte edilir. Heartbeat temposunu `0m` ile devre dışı bırakmak veya -`includeSystemPromptSection: false` ayarlamak, onu normal bootstrap +Normal çalıştırmalarda `HEARTBEAT.md` yalnızca heartbeat yönlendirmesi +varsayılan agent için etkin olduğunda eklenir. Heartbeat temposunu `0m` ile devre dışı bırakmak veya +`includeSystemPromptSection: false` ayarlamak, bunu normal başlangıç bağlamından çıkarır. -`HEARTBEAT.md` varsa ancak fiilen boşsa (yalnızca boş satırlar ve -`# Heading` gibi markdown başlıkları içeriyorsa), OpenClaw API çağrılarından tasarruf etmek için heartbeat çalıştırmasını atlar. -Bu atlama `reason=empty-heartbeat-file` olarak raporlanır. -Dosya yoksa heartbeat yine çalışır ve model ne yapacağına karar verir. +`HEARTBEAT.md` varsa ama fiilen boşsa (yalnızca boş satırlar ve +`# Heading` gibi markdown başlıkları içeriyorsa), OpenClaw API çağrılarını korumak için heartbeat çalıştırmasını atlar. +Bu atlama `reason=empty-heartbeat-file` olarak bildirilir. +Dosya eksikse heartbeat yine de çalışır ve model ne yapacağına karar verir. -İstem şişmesini önlemek için küçük tutun (kısa kontrol listesi veya hatırlatmalar). +İstem şişmesini önlemek için bunu küçük tutun (kısa kontrol listesi veya hatırlatmalar). Örnek `HEARTBEAT.md`: @@ -354,13 +359,14 @@ Dosya yoksa heartbeat yine çalışır ve model ne yapacağına karar verir. # Heartbeat kontrol listesi - Hızlı tarama: gelen kutularında acil bir şey var mı? -- Gündüzse, bekleyen başka bir şey yoksa hafif bir check-in yap. +- Gündüz vaktiyse, başka bekleyen bir şey yoksa hafif bir yoklama yap. - Bir görev engellendiyse, _neyin eksik olduğunu_ yaz ve Peter'a bir dahaki sefere sor. ``` ### `tasks:` blokları -`HEARTBEAT.md`, heartbeat içindeki aralığa dayalı kontroller için küçük bir yapılandırılmış `tasks:` bloğunu da destekler. +`HEARTBEAT.md`, heartbeat içinde aralık tabanlı +kontroller için küçük ve yapılandırılmış bir `tasks:` bloğunu da destekler. Örnek: @@ -369,80 +375,85 @@ tasks: - name: inbox-triage interval: 30m - prompt: "Check for urgent unread emails and flag anything time sensitive." + prompt: "Acil okunmamış e-postaları kontrol et ve zamana duyarlı olanları işaretle." - name: calendar-scan interval: 2h - prompt: "Check for upcoming meetings that need prep or follow-up." + prompt: "Hazırlık veya takip gerektiren yaklaşan toplantıları kontrol et." -# Ek talimatlar +# Ek yönergeler - Uyarıları kısa tut. -- Vadesi gelen tüm görevlerden sonra dikkat gerektiren bir şey yoksa HEARTBEAT_OK ile yanıt ver. +- Zamanı gelen tüm görevlerden sonra dikkat gerektiren bir şey yoksa HEARTBEAT_OK ile yanıt ver. ``` Davranış: -- OpenClaw, `tasks:` bloğunu ayrıştırır ve her görevi kendi `interval` değerine göre kontrol eder. -- Bu tik için yalnızca **vadesi gelen** görevler heartbeat istemine eklenir. -- Vadesi gelen görev yoksa heartbeat tamamen atlanır (`reason=no-tasks-due`); böylece boşa model çağrısı yapılmaz. -- `HEARTBEAT.md` içindeki görev dışı içerik korunur ve vadesi gelen görev listesinden sonra ek bağlam olarak eklenir. -- Görev son çalıştırma zaman damgaları oturum durumunda (`heartbeatTaskState`) saklanır; böylece aralıklar normal yeniden başlatmalardan etkilenmez. +- OpenClaw `tasks:` bloğunu ayrıştırır ve her görevi kendi `interval` değerine göre kontrol eder. +- Yalnızca zamanı **gelmiş** görevler o tick için heartbeat istemine eklenir. +- Hiçbir görevin zamanı gelmemişse heartbeat tamamen atlanır (`reason=no-tasks-due`); böylece boşa model çağrısı yapılmaz. +- `HEARTBEAT.md` içindeki görev dışı içerik korunur ve zamanı gelmiş görev listesinden sonra ek bağlam olarak eklenir. +- Görev son çalıştırma zaman damgaları oturum durumunda (`heartbeatTaskState`) saklanır, böylece aralıklar normal yeniden başlatmalardan sonra da korunur. - Görev zaman damgaları yalnızca heartbeat çalıştırması normal yanıt yolunu tamamladıktan sonra ilerletilir. Atlanan `empty-heartbeat-file` / `no-tasks-due` çalıştırmaları görevleri tamamlanmış olarak işaretlemez. -Görev modu, tümünü her tikte çalıştırma maliyetine katlanmadan tek bir heartbeat dosyasında birkaç periyodik kontrol tutmak istediğinizde kullanışlıdır. +Görev modu, her tick'te hepsi için ödeme yapmadan tek bir heartbeat dosyasında birkaç periyodik kontrol tutmak istediğinizde kullanışlıdır. -### Agent, HEARTBEAT.md dosyasını güncelleyebilir mi? +### Agent HEARTBEAT.md dosyasını güncelleyebilir mi? -Evet — eğer ondan bunu isterseniz. +Evet — isterseniz. -`HEARTBEAT.md`, agent çalışma alanındaki normal bir dosyadır; bu yüzden agent'a -(normal bir sohbette) şunun gibi bir şey söyleyebilirsiniz: +`HEARTBEAT.md`, agent çalışma alanındaki normal bir dosyadır; bu yüzden +agent'a (normal bir sohbette) şunlardan biri gibi bir şey söyleyebilirsiniz: - “Günlük takvim kontrolü eklemek için `HEARTBEAT.md` dosyasını güncelle.” - “`HEARTBEAT.md` dosyasını daha kısa ve gelen kutusu takiplerine odaklı olacak şekilde yeniden yaz.” -Bunun proaktif olarak olmasını istiyorsanız, heartbeat isteminize şu gibi açık bir satır da ekleyebilirsiniz: “Kontrol listesi bayatlamaya başlarsa, daha iyi bir sürümle HEARTBEAT.md dosyasını güncelle.” +Bunun proaktif olarak gerçekleşmesini istiyorsanız heartbeat isteminize +şu gibi açık bir satır da ekleyebilirsiniz: “Kontrol listesi bayatlamaya başlarsa, daha iyisiyle HEARTBEAT.md +dosyasını güncelle.” -Güvenlik notu: `HEARTBEAT.md` içine sırlar (API anahtarları, telefon numaraları, özel token'lar) koymayın — çünkü istem bağlamının bir parçası olur. +Güvenlik notu: `HEARTBEAT.md` içine sırlar (API anahtarları, telefon numaraları, özel token'lar) koymayın — +istem bağlamının bir parçası olur. -## Manuel uyandırma (isteğe bağlı) +## Elle uyandırma (istek üzerine) -Şununla bir sistem olayı sıraya koyabilir ve anında heartbeat tetikleyebilirsiniz: +Bir sistem olayı sıraya alıp anında heartbeat tetiklemek için şunu kullanabilirsiniz: ```bash -openclaw system event --text "Check for urgent follow-ups" --mode now +openclaw system event --text "Acil takipleri kontrol et" --mode now ``` -Birden fazla agent için `heartbeat` yapılandırıldıysa, manuel uyandırma bu -agent heartbeat'lerinin her birini hemen çalıştırır. +Birden fazla agent'ta `heartbeat` yapılandırılmışsa, elle uyandırma bunların +her birinin heartbeat'ini hemen çalıştırır. -Bir sonraki zamanlanmış tik'i beklemek için `--mode next-heartbeat` kullanın. +Bir sonraki zamanlanmış tick'i beklemek için `--mode next-heartbeat` kullanın. ## Reasoning teslimi (isteğe bağlı) -Varsayılan olarak heartbeat'ler yalnızca son “answer” payload'unu teslim eder. +Varsayılan olarak heartbeat'ler yalnızca son “answer” yükünü teslim eder. Şeffaflık istiyorsanız şunu etkinleştirin: - `agents.defaults.heartbeat.includeReasoning: true` -Etkinleştirildiğinde heartbeat'ler ayrıca -`Reasoning:` önekiyle başlayan ayrı bir mesaj da teslim eder (`/reasoning on` ile aynı yapı). Bu, agent birden fazla oturum/codex yönetirken ve size neden ping atmaya karar verdiğini görmek istediğinizde yararlı olabilir -— ancak isteyeceğinizden daha fazla dahili ayrıntıyı da sızdırabilir. Grup sohbetlerinde bunu kapalı tutmak daha iyidir. +Etkinleştirildiğinde heartbeat'ler ayrıca başında +`Reasoning:` bulunan ayrı bir mesaj da teslim eder (`/reasoning on` ile aynı biçim). Bu, agent +birden fazla oturumu/codex'i yönetirken sizi neden dürtmeye karar verdiğini görmek istediğinizde yararlı olabilir +— ancak istemediğinizden daha fazla iç ayrıntı da sızdırabilir. Grup sohbetlerinde bunu +kapalı tutmanız tercih edilir. ## Maliyet farkındalığı -Heartbeat'ler tam agent dönüşleri çalıştırır. Daha kısa aralıklar daha fazla token harcar. Maliyeti azaltmak için: +Heartbeat'ler tam agent turları çalıştırır. Daha kısa aralıklar daha fazla token tüketir. Maliyeti azaltmak için: -- Tam konuşma geçmişinin gönderilmesini önlemek için `isolatedSession: true` kullanın (çalıştırma başına ~100K token'dan ~2-5K'ye düşer). -- Bootstrap dosyalarını yalnızca `HEARTBEAT.md` ile sınırlamak için `lightContext: true` kullanın. -- Daha ucuz bir `model` ayarlayın (ör. `ollama/llama3.2:1b`). +- Tam konuşma geçmişini göndermemek için `isolatedSession: true` kullanın (çalıştırma başına ~100K tokendan ~2-5K'ye düşer). +- Başlangıç dosyalarını yalnızca `HEARTBEAT.md` ile sınırlamak için `lightContext: true` kullanın. +- Daha ucuz bir `model` ayarlayın (örn. `ollama/llama3.2:1b`). - `HEARTBEAT.md` dosyasını küçük tutun. - Yalnızca dahili durum güncellemeleri istiyorsanız `target: "none"` kullanın. ## İlgili -- [Automation & Tasks](/tr/automation) — tüm otomasyon mekanizmaları tek bakışta +- [Automation & Tasks](/tr/automation) — tüm otomasyon mekanizmalarına hızlı bakış - [Background Tasks](/tr/automation/tasks) — ayrık işlerin nasıl izlendiği - [Timezone](/tr/concepts/timezone) — saat diliminin heartbeat zamanlamasını nasıl etkilediği -- [Troubleshooting](/tr/automation/cron-jobs#troubleshooting) — otomasyon sorunlarında hata ayıklama +- [Troubleshooting](/tr/automation/cron-jobs#troubleshooting) — otomasyon sorunlarını ayıklama diff --git a/docs/tr/plugins/building-plugins.md b/docs/tr/plugins/building-plugins.md index 980017dae..4909946af 100644 --- a/docs/tr/plugins/building-plugins.md +++ b/docs/tr/plugins/building-plugins.md @@ -1,16 +1,16 @@ --- read_when: - - Yeni bir OpenClaw plugin'i oluşturmak istiyorsunuz - - Plugin geliştirme için hızlı bir başlangıca ihtiyacınız var + - Yeni bir OpenClaw Plugin'i oluşturmak istiyorsunuz + - Plugin geliştirme için hızlı bir başlangıç kılavuzuna ihtiyacınız var - OpenClaw'a yeni bir kanal, sağlayıcı, araç veya başka bir yetenek ekliyorsunuz sidebarTitle: Getting Started -summary: İlk OpenClaw plugin'inizi dakikalar içinde oluşturun +summary: İlk OpenClaw Plugin'inizi dakikalar içinde oluşturun title: Plugin Geliştirme x-i18n: - generated_at: "2026-04-07T08:47:01Z" + generated_at: "2026-04-22T08:54:51Z" model: gpt-5.4 provider: openai - source_hash: 509c1f5abe1a0a74966054ed79b71a1a7ee637a43b1214c424acfe62ddf48eef + source_hash: 67368be311537f984f14bea9239b88c3eccf72a76c9dd1347bb041e02697ae24 source_path: plugins/building-plugins.md workflow: 15 --- @@ -19,47 +19,46 @@ x-i18n: Plugin'ler OpenClaw'ı yeni yeteneklerle genişletir: kanallar, model sağlayıcıları, konuşma, gerçek zamanlı transkripsiyon, gerçek zamanlı ses, medya anlama, görsel -üretimi, video üretimi, web getirme, web araması, ajan araçları veya bunların +oluşturma, video oluşturma, web getirme, web arama, ajan araçları veya bunların herhangi bir kombinasyonu. -Plugin'inizi OpenClaw deposuna eklemeniz gerekmez. Onu -[ClawHub](/tr/tools/clawhub) veya npm üzerinde yayınlayın; kullanıcılar da -`openclaw plugins install ` ile kurar. OpenClaw önce ClawHub'ı dener ve -ardından otomatik olarak npm'e fallback yapar. +Plugin'inizi OpenClaw deposuna eklemeniz gerekmez. [ClawHub](/tr/tools/clawhub) veya npm'e +yayınlayın; kullanıcılar `openclaw plugins install ` ile kurar. +OpenClaw önce ClawHub'ı dener ve otomatik olarak npm'e geri düşer. ## Ön koşullar - Node >= 22 ve bir paket yöneticisi (npm veya pnpm) - TypeScript (ESM) bilgisi -- Repo içi plugin'ler için: deponun klonlanmış olması ve `pnpm install` çalıştırılmış olması +- Repo içi Plugin'ler için: depo klonlanmış olmalı ve `pnpm install` çalıştırılmış olmalı -## Ne tür bir plugin? +## Ne tür bir Plugin? - + OpenClaw'ı bir mesajlaşma platformuna bağlayın (Discord, IRC vb.) - + Bir model sağlayıcısı ekleyin (LLM, proxy veya özel uç nokta) - - Ajan araçlarını, olay hook'larını veya hizmetleri kaydedin — aşağıdan devam edin + + Ajan araçları, olay hook'ları veya hizmetler kaydedin — aşağıdan devam edin -Bir kanal plugin'i isteğe bağlıysa ve onboarding/kurulum -çalıştığında kurulu olmayabilirse, -`openclaw/plugin-sdk/channel-setup` içinden `createOptionalChannelSetupSurface(...)` kullanın. Bu, -kurulum gereksinimini duyuran bir kurulum bağdaştırıcısı + sihirbaz çifti üretir ve -plugin kurulana kadar gerçek yapılandırma yazımlarında kapalı şekilde başarısız olur. +Bir kanal Plugin'i isteğe bağlıysa ve onboarding/kurulum çalıştığında kurulu +olmayabilecekse, `openclaw/plugin-sdk/channel-setup` içindeki +`createOptionalChannelSetupSurface(...)` kullanın. Bu, kurulum gereksinimini +bildiren bir kurulum bağdaştırıcısı + sihirbaz çifti üretir ve Plugin kurulana +kadar gerçek yapılandırma yazımlarında kapalı şekilde başarısız olur. -## Hızlı başlangıç: araç plugin'i +## Hızlı başlangıç: araç Plugin'i -Bu rehber, bir ajan aracı kaydeden minimal bir plugin oluşturur. Kanal -ve sağlayıcı plugin'leri için yukarıda bağlantısı verilen özel kılavuzlar vardır. +Bu rehber, bir ajan aracı kaydeden minimal bir Plugin oluşturur. Kanal +ve sağlayıcı Plugin'leri için yukarıda bağlantısı verilen özel kılavuzlar vardır. - + ```json package.json { @@ -93,9 +92,9 @@ ve sağlayıcı plugin'leri için yukarıda bağlantısı verilen özel kılavuz ``` - Her plugin'in, yapılandırması olmasa bile bir manifest'e ihtiyacı vardır. Tam - şema için bkz. [Manifest](/tr/plugins/manifest). Kanonik ClawHub - yayınlama parçacıkları `docs/snippets/plugin-publish/` içinde yer alır. + Her Plugin'in, yapılandırması olmasa bile bir manifest dosyasına ihtiyacı vardır. Tam şema için + [Manifest](/tr/plugins/manifest) bölümüne bakın. Kanonik ClawHub + yayınlama parçacıkları `docs/snippets/plugin-publish/` içinde bulunur. @@ -123,15 +122,15 @@ ve sağlayıcı plugin'leri için yukarıda bağlantısı verilen özel kılavuz }); ``` - `definePluginEntry`, kanal olmayan plugin'ler içindir. Kanallar için - `defineChannelPluginEntry` kullanın — bkz. [Channel Plugins](/tr/plugins/sdk-channel-plugins). - Tam giriş noktası seçenekleri için bkz. [Entry Points](/tr/plugins/sdk-entrypoints). + `definePluginEntry`, kanal olmayan Plugin'ler içindir. Kanallar için + `defineChannelPluginEntry` kullanın — bkz. [Kanal Plugin'leri](/tr/plugins/sdk-channel-plugins). + Giriş noktası seçeneklerinin tamamı için bkz. [Giriş Noktaları](/tr/plugins/sdk-entrypoints). - **Harici plugin'ler:** ClawHub ile doğrulayın ve yayınlayın, ardından kurun: + **Harici Plugin'ler:** ClawHub ile doğrulayın ve yayınlayın, ardından kurun: ```bash clawhub package publish your-org/your-plugin --dry-run @@ -139,10 +138,10 @@ ve sağlayıcı plugin'leri için yukarıda bağlantısı verilen özel kılavuz openclaw plugins install clawhub:@myorg/openclaw-my-plugin ``` - OpenClaw, `@myorg/openclaw-my-plugin` gibi çıplak paket belirtimleri için - npm'den önce ClawHub'ı da kontrol eder. + OpenClaw ayrıca `@myorg/openclaw-my-plugin` gibi yalın paket tanımlarında + npm'den önce ClawHub'ı kontrol eder. - **Repo içi plugin'ler:** birlikte gelen plugin workspace ağacının altına yerleştirin — otomatik olarak keşfedilir. + **Repo içi Plugin'ler:** paketle birlikte gelen Plugin çalışma alanı ağacının altına yerleştirin — otomatik olarak keşfedilir. ```bash pnpm test -- /my-plugin/ @@ -153,57 +152,67 @@ ve sağlayıcı plugin'leri için yukarıda bağlantısı verilen özel kılavuz ## Plugin yetenekleri -Tek bir plugin, `api` nesnesi aracılığıyla istediği kadar yetenek kaydedebilir: +Tek bir Plugin, `api` nesnesi üzerinden istenen sayıda yetenek kaydedebilir: -| Yetenek | Kayıt yöntemi | Ayrıntılı kılavuz | +| Yetenek | Kayıt yöntemi | Ayrıntılı kılavuz | | --------------------- | ------------------------------------------------ | ------------------------------------------------------------------------------- | -| Metin çıkarımı (LLM) | `api.registerProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins) | -| CLI çıkarım arka ucu | `api.registerCliBackend(...)` | [CLI Backends](/tr/gateway/cli-backends) | -| Kanal / mesajlaşma | `api.registerChannel(...)` | [Channel Plugins](/tr/plugins/sdk-channel-plugins) | -| Konuşma (TTS/STT) | `api.registerSpeechProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | -| Gerçek zamanlı transkripsiyon | `api.registerRealtimeTranscriptionProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | -| Gerçek zamanlı ses | `api.registerRealtimeVoiceProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | -| Medya anlama | `api.registerMediaUnderstandingProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | -| Görsel üretimi | `api.registerImageGenerationProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | -| Müzik üretimi | `api.registerMusicGenerationProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | -| Video üretimi | `api.registerVideoGenerationProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | -| Web getirme | `api.registerWebFetchProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | -| Web araması | `api.registerWebSearchProvider(...)` | [Provider Plugins](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Metin çıkarımı (LLM) | `api.registerProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins) | +| CLI çıkarım arka ucu | `api.registerCliBackend(...)` | [CLI Arka Uçları](/tr/gateway/cli-backends) | +| Kanal / mesajlaşma | `api.registerChannel(...)` | [Kanal Plugin'leri](/tr/plugins/sdk-channel-plugins) | +| Konuşma (TTS/STT) | `api.registerSpeechProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Gerçek zamanlı transkripsiyon | `api.registerRealtimeTranscriptionProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Gerçek zamanlı ses | `api.registerRealtimeVoiceProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Medya anlama | `api.registerMediaUnderstandingProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Görsel oluşturma | `api.registerImageGenerationProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Müzik oluşturma | `api.registerMusicGenerationProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Video oluşturma | `api.registerVideoGenerationProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Web getirme | `api.registerWebFetchProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Web arama | `api.registerWebSearchProvider(...)` | [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-5-add-extra-capabilities) | +| Gömülü Pi uzantısı | `api.registerEmbeddedExtensionFactory(...)` | [SDK Genel Bakış](/tr/plugins/sdk-overview#registration-api) | | Ajan araçları | `api.registerTool(...)` | Aşağıda | -| Özel komutlar | `api.registerCommand(...)` | [Entry Points](/tr/plugins/sdk-entrypoints) | -| Olay hook'ları | `api.registerHook(...)` | [Entry Points](/tr/plugins/sdk-entrypoints) | -| HTTP rotaları | `api.registerHttpRoute(...)` | [Internals](/tr/plugins/architecture#gateway-http-routes) | -| CLI alt komutları | `api.registerCli(...)` | [Entry Points](/tr/plugins/sdk-entrypoints) | +| Özel komutlar | `api.registerCommand(...)` | [Giriş Noktaları](/tr/plugins/sdk-entrypoints) | +| Olay hook'ları | `api.registerHook(...)` | [Giriş Noktaları](/tr/plugins/sdk-entrypoints) | +| HTTP rotaları | `api.registerHttpRoute(...)` | [İç Yapılar](/tr/plugins/architecture#gateway-http-routes) | +| CLI alt komutları | `api.registerCli(...)` | [Giriş Noktaları](/tr/plugins/sdk-entrypoints) | -Tam kayıt API'si için bkz. [SDK Overview](/tr/plugins/sdk-overview#registration-api). +Tam kayıt API'si için bkz. [SDK Genel Bakış](/tr/plugins/sdk-overview#registration-api). + +Bir Plugin, son araç sonucu mesajı gönderilmeden önce async `tool_result` +yeniden yazımı gibi Pi-yerel embedded-runner hook'larına ihtiyaç duyuyorsa +`api.registerEmbeddedExtensionFactory(...)` kullanın. İş, Pi uzantısı zamanlamasına +ihtiyaç duymuyorsa normal OpenClaw Plugin hook'larını tercih edin. Plugin'iniz özel gateway RPC yöntemleri kaydediyorsa, bunları -plugin'e özgü bir önek altında tutun. Çekirdek yönetici ad alanları (`config.*`, -`exec.approvals.*`, `wizard.*`, `update.*`) ayrılmış kalır ve bir plugin daha dar -bir kapsam istese bile her zaman `operator.admin` olarak çözülür. +Plugin'e özgü bir ön ek altında tutun. Çekirdek yönetici ad alanları (`config.*`, +`exec.approvals.*`, `wizard.*`, `update.*`) ayrılmış durumda kalır ve bir Plugin +daha dar bir kapsam istese bile her zaman `operator.admin` olarak çözülür. -Akılda tutulması gereken hook koruma semantiği: +Aklınızda bulundurmanız gereken hook koruma semantik kuralları: - `before_tool_call`: `{ block: true }` terminaldir ve daha düşük öncelikli işleyicileri durdurur. -- `before_tool_call`: `{ block: false }` karar yokmuş gibi değerlendirilir. -- `before_tool_call`: `{ requireApproval: true }` ajan yürütmesini duraklatır ve kullanıcıdan exec approval overlay, Telegram düğmeleri, Discord etkileşimleri veya herhangi bir kanaldaki `/approve` komutu aracılığıyla onay ister. +- `before_tool_call`: `{ block: false }` karar verilmemiş olarak değerlendirilir. +- `before_tool_call`: `{ requireApproval: true }` ajan yürütmesini duraklatır ve exec onay katmanı, Telegram düğmeleri, Discord etkileşimleri veya herhangi bir kanaldaki `/approve` komutu aracılığıyla kullanıcıdan onay ister. - `before_install`: `{ block: true }` terminaldir ve daha düşük öncelikli işleyicileri durdurur. -- `before_install`: `{ block: false }` karar yokmuş gibi değerlendirilir. +- `before_install`: `{ block: false }` karar verilmemiş olarak değerlendirilir. - `message_sending`: `{ cancel: true }` terminaldir ve daha düşük öncelikli işleyicileri durdurur. -- `message_sending`: `{ cancel: false }` karar yokmuş gibi değerlendirilir. +- `message_sending`: `{ cancel: false }` karar verilmemiş olarak değerlendirilir. -`/approve` komutu, sınırlandırılmış fallback ile hem exec hem de plugin onaylarını işler: bir exec approval kimliği bulunamadığında, OpenClaw aynı kimliği plugin onayları üzerinden yeniden dener. Plugin onay yönlendirmesi, yapılandırmada `approvals.plugin` aracılığıyla bağımsız olarak yapılandırılabilir. +`/approve` komutu hem exec hem de Plugin onaylarını sınırlı geri dönüşle işler: +bir exec onay kimliği bulunamadığında, OpenClaw aynı kimliği Plugin onayları +üzerinden yeniden dener. Plugin onayı yönlendirmesi yapılandırmada +`approvals.plugin` üzerinden bağımsız olarak yapılandırılabilir. -Özel onay altyapısının aynı sınırlandırılmış fallback durumunu algılaması gerekiyorsa, -onay süresi dolma dizgelerini elle eşleştirmek yerine -`openclaw/plugin-sdk/error-runtime` içinden `isApprovalNotFoundError` kullanın. +Özel onay altyapısının aynı sınırlı geri dönüş durumunu algılaması gerekiyorsa, +onay süresi dolma dizelerini elle eşleştirmek yerine +`openclaw/plugin-sdk/error-runtime` içindeki `isApprovalNotFoundError` +kullanmayı tercih edin. -Ayrıntılar için bkz. [SDK Overview hook decision semantics](/tr/plugins/sdk-overview#hook-decision-semantics). +Ayrıntılar için bkz. [SDK Genel Bakış hook karar semantiği](/tr/plugins/sdk-overview#hook-decision-semantics). ## Ajan araçlarını kaydetme -Araçlar, LLM'nin çağırabileceği türlendirilmiş işlevlerdir. Zorunlu (her zaman -kullanılabilir) veya isteğe bağlı (kullanıcının katılımı gerekir) olabilirler: +Araçlar, LLM'nin çağırabildiği türlendirilmiş fonksiyonlardır. Zorunlu olabilirler +(her zaman kullanılabilir) veya isteğe bağlı olabilirler (kullanıcının açıkça etkinleştirmesi gerekir): ```typescript register(api) { @@ -241,12 +250,12 @@ Kullanıcılar isteğe bağlı araçları yapılandırmada etkinleştirir: ``` - Araç adları çekirdek araçlarla çakışmamalıdır (çakışmalar atlanır) -- Yan etkileri veya ek ikili gereksinimleri olan araçlar için `optional: true` kullanın -- Kullanıcılar, `tools.allow` içine plugin kimliğini ekleyerek bir plugin'deki tüm araçları etkinleştirebilir +- Yan etkileri olan veya ek ikili dosya gereksinimleri bulunan araçlar için `optional: true` kullanın +- Kullanıcılar `tools.allow` alanına Plugin kimliğini ekleyerek bir Plugin'deki tüm araçları etkinleştirebilir -## Import kuralları +## İçe aktarma kuralları -Her zaman odaklanmış `openclaw/plugin-sdk/` yollarından import edin: +Her zaman odaklı `openclaw/plugin-sdk/` yollarından içe aktarın: ```typescript import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; @@ -256,74 +265,74 @@ import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store"; import { ... } from "openclaw/plugin-sdk"; ``` -Tam alt yol başvurusu için bkz. [SDK Overview](/tr/plugins/sdk-overview). +Alt yol referansının tamamı için bkz. [SDK Genel Bakış](/tr/plugins/sdk-overview). -Plugin'inizin içinde, dahili import'lar için yerel barrel dosyalarını (`api.ts`, `runtime-api.ts`) kullanın — -kendi plugin'inizi asla kendi SDK yolu üzerinden import etmeyin. +Plugin'iniz içinde, içe aktarmalar için yerel barrel dosyaları (`api.ts`, `runtime-api.ts`) kullanın — +kendi Plugin'inizi asla SDK yolu üzerinden içe aktarmayın. -Sağlayıcı plugin'leri için, gerçekten genel bir yüzey değilse sağlayıcıya özgü yardımcıları bu paket kökü -barrel dosyalarında tutun. Güncel birlikte gelen örnekler: +Sağlayıcı Plugin'leri için, sağlayıcıya özgü yardımcıları gerçekten genel bir +ayrım noktası olmadıkça bu paket kökü barrel dosyalarında tutun. Mevcut paketle +birlikte gelen örnekler: - Anthropic: Claude akış sarmalayıcıları ve `service_tier` / beta yardımcıları -- OpenAI: sağlayıcı oluşturucular, varsayılan model yardımcıları, gerçek zamanlı sağlayıcılar -- OpenRouter: sağlayıcı oluşturucu ve onboarding/config yardımcıları +- OpenAI: sağlayıcı oluşturucuları, varsayılan model yardımcıları, gerçek zamanlı sağlayıcılar +- OpenRouter: sağlayıcı oluşturucu ile onboarding/yapılandırma yardımcıları -Bir yardımcı yalnızca tek bir birlikte gelen sağlayıcı paketi içinde yararlıysa, -onu `openclaw/plugin-sdk/*` içine yükseltmek yerine o -paket kökü yüzeyinde tutun. +Bir yardımcı yalnızca tek bir paketle birlikte gelen sağlayıcı paketi içinde +işe yarıyorsa, onu `openclaw/plugin-sdk/*` içine taşımak yerine o paket kökü +ayrım noktasında tutun. -Üretilmiş bazı `openclaw/plugin-sdk/` yardımcı yüzeyleri, -birlikte gelen plugin bakımı ve uyumluluk için hâlâ mevcuttur; örneğin -`plugin-sdk/feishu-setup` veya `plugin-sdk/zalo-setup`. Bunları, -yeni üçüncü taraf plugin'ler için varsayılan desen olarak değil, ayrılmış -yüzeyler olarak değerlendirin. +Paketle birlikte gelen Plugin bakımı ve uyumluluk için bazı üretilmiş +`openclaw/plugin-sdk/` yardımcı ayrım noktaları hâlâ mevcuttur; örneğin +`plugin-sdk/feishu-setup` veya `plugin-sdk/zalo-setup`. Bunları yeni üçüncü taraf +Plugin'ler için varsayılan desen olarak değil, ayrılmış yüzeyler olarak değerlendirin. ## Gönderim öncesi kontrol listesi **package.json** dosyasında doğru `openclaw` meta verileri var -**openclaw.plugin.json** manifest'i mevcut ve geçerli +**openclaw.plugin.json** manifest dosyası mevcut ve geçerli Giriş noktası `defineChannelPluginEntry` veya `definePluginEntry` kullanıyor -Tüm import'lar odaklanmış `plugin-sdk/` yollarını kullanıyor -Dahili import'lar SDK self-import'ları değil, yerel modüller kullanıyor +Tüm içe aktarmalar odaklı `plugin-sdk/` yollarını kullanıyor +İç içe aktarmalar SDK self-import'ları değil, yerel modülleri kullanıyor Testler geçiyor (`pnpm test -- /my-plugin/`) -`pnpm check` geçiyor (repo içi plugin'ler) +`pnpm check` geçiyor (repo içi Plugin'ler) ## Beta Sürüm Testi -1. [openclaw/openclaw](https://github.com/openclaw/openclaw/releases) üzerindeki GitHub sürüm etiketlerini izleyin ve `Watch` > `Releases` üzerinden abone olun. Beta etiketleri `v2026.3.N-beta.1` gibi görünür. Sürüm duyuruları için resmi OpenClaw X hesabı [@openclaw](https://x.com/openclaw) bildirimlerini de açabilirsiniz. -2. Eşit görünür görünmez plugin'inizi beta etikete karşı test edin. Kararlı sürümden önceki pencere genellikle yalnızca birkaç saattir. -3. Testten sonra `plugin-forum` Discord kanalındaki plugin dizinizde `all good` veya neyin bozulduğunu yazarak paylaşım yapın. Henüz bir diziniz yoksa oluşturun. -4. Bir şey bozulursa, `Beta blocker: - ` başlıklı bir issue açın veya mevcut bir issue'yu güncelleyin ve `beta-blocker` etiketini uygulayın. Issue bağlantısını dizinize ekleyin. -5. `main` için `fix(): beta blocker - ` başlıklı bir PR açın ve issue'yu hem PR içinde hem de Discord dizinizde bağlayın. Katkıda bulunanlar PR'leri etiketleyemez, bu nedenle başlık bakımcılar ve otomasyon için PR tarafındaki sinyaldir. PR'si olan engelleyiciler birleştirilir; olmayanlar yine de yayına girebilir. Bakımcılar beta testi sırasında bu dizileri izler. +1. [openclaw/openclaw](https://github.com/openclaw/openclaw/releases) üzerindeki GitHub sürüm etiketlerini takip edin ve `Watch` > `Releases` üzerinden abone olun. Beta etiketleri `v2026.3.N-beta.1` gibi görünür. Sürüm duyuruları için resmi OpenClaw X hesabı [@openclaw](https://x.com/openclaw) bildirimlerini de açabilirsiniz. +2. Beta etiketi görünür görünmez Plugin'inizi buna karşı test edin. Stabil sürüm öncesindeki pencere genellikle yalnızca birkaç saattir. +3. Testten sonra `plugin-forum` Discord kanalında Plugin'inizin başlığında `all good` ya da neyin bozulduğunu yazın. Henüz bir başlığınız yoksa bir tane oluşturun. +4. Bir şey bozulursa `Beta blocker: - ` başlıklı bir issue açın veya mevcut issue'yu güncelleyin ve `beta-blocker` etiketini uygulayın. Issue bağlantısını başlığınıza ekleyin. +5. `main` için `fix(): beta blocker - ` başlıklı bir PR açın ve issue'yu hem PR'de hem de Discord başlığınızda bağlantılayın. Katkıda bulunanlar PR'leri etiketleyemez, bu nedenle başlık bakımcılar ve otomasyon için PR tarafındaki sinyaldir. PR'si olan engelleyiciler birleştirilir; PR'siz engelleyiciler buna rağmen yayınlanabilir. Bakımcılar beta testi sırasında bu başlıkları izler. 6. Sessizlik yeşil anlamına gelir. Bu pencereyi kaçırırsanız, düzeltmeniz büyük olasılıkla bir sonraki döngüye kalır. ## Sonraki adımlar - Bir mesajlaşma kanal plugin'i oluşturun + Bir mesajlaşma kanal Plugin'i geliştirin - Bir model sağlayıcı plugin'i oluşturun + Bir model sağlayıcı Plugin'i geliştirin - Import eşlemi ve kayıt API başvurusu + İçe aktarma eşlemesi ve kayıt API referansı - api.runtime üzerinden TTS, arama, alt ajan + `api.runtime` üzerinden TTS, arama, alt ajan - Test yardımcıları ve kalıpları + Test yardımcı araçları ve kalıpları - - Tam manifest şeması başvurusu + + Tam manifest şeması referansı ## İlgili -- [Plugin Mimarisi](/tr/plugins/architecture) — dahili mimariye derin bakış -- [SDK Genel Bakış](/tr/plugins/sdk-overview) — Plugin SDK başvurusu -- [Manifest](/tr/plugins/manifest) — plugin manifest biçimi -- [Channel Plugins](/tr/plugins/sdk-channel-plugins) — kanal plugin'leri geliştirme -- [Provider Plugins](/tr/plugins/sdk-provider-plugins) — sağlayıcı plugin'leri geliştirme +- [Plugin Mimarisi](/tr/plugins/architecture) — iç mimariye derinlemesine bakış +- [SDK Genel Bakış](/tr/plugins/sdk-overview) — Plugin SDK referansı +- [Manifest](/tr/plugins/manifest) — Plugin manifest biçimi +- [Kanal Plugin'leri](/tr/plugins/sdk-channel-plugins) — kanal Plugin'leri geliştirme +- [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins) — sağlayıcı Plugin'leri geliştirme diff --git a/docs/tr/plugins/codex-harness.md b/docs/tr/plugins/codex-harness.md index ceb715a19..2d8c3b787 100644 --- a/docs/tr/plugins/codex-harness.md +++ b/docs/tr/plugins/codex-harness.md @@ -1,63 +1,66 @@ --- read_when: - - Paketle gelen Codex app-server harness'ı kullanmak istiyorsunuz - - Codex model ref'lerine ve yapılandırma örneklerine ihtiyacınız var - - Yalnızca Codex dağıtımları için Pi fallback'ini devre dışı bırakmak istiyorsunuz -summary: Paketle gelen Codex app-server harness üzerinden OpenClaw gömülü ajan dönüşlerini çalıştırın -title: Codex Harness + - Paketlenmiş Codex uygulama sunucusu koşum takımını kullanmak istiyorsunuz + - Codex model başvurularına ve yapılandırma örneklerine ihtiyacınız var + - Yalnızca Codex dağıtımları için Pi geri dönüşünü devre dışı bırakmak istiyorsunuz +summary: OpenClaw gömülü ajan dönüşlerini paketlenmiş Codex uygulama sunucusu koşum takımı üzerinden çalıştırın +title: Codex Koşum Takımı x-i18n: - generated_at: "2026-04-21T09:01:33Z" + generated_at: "2026-04-22T08:54:55Z" model: gpt-5.4 provider: openai - source_hash: 3f0cdaf68be3b2257de1046103ff04f53f9d3a65ffc15ab7af5ab1f425643d6c + source_hash: d45dbd39a7d8ebb3a39d8dca3a5125c07b7168d1658ca07b85792645fb98613c source_path: plugins/codex-harness.md workflow: 15 --- -# Codex Harness +# Codex Koşum Takımı -Paketle gelen `codex` plugin'i, OpenClaw'un gömülü ajan dönüşlerini yerleşik Pi harness yerine -Codex app-server üzerinden çalıştırmasını sağlar. +Paketlenmiş `codex` Plugin'i, OpenClaw'ın yerleşik PI koşum takımı yerine +Codex uygulama sunucusu üzerinden gömülü ajan dönüşlerini çalıştırmasını sağlar. -Bunu, düşük düzey ajan oturumuna Codex'in sahip olmasını istediğinizde kullanın: model -keşfi, yerel thread sürdürme, yerel Compaction ve app-server yürütmesi. -OpenClaw yine de sohbet kanallarına, oturum dosyalarına, model seçimine, araçlara, -onaylara, medya teslimatına ve görünür transcript yansısına sahip olmaya devam eder. +Bunu, düşük seviyeli ajan oturumunun Codex tarafından yönetilmesini istediğinizde kullanın: model +keşfi, yerel iş parçacığı sürdürme, yerel Compaction ve uygulama sunucusu yürütmesi. +OpenClaw yine de sohbet kanallarını, oturum dosyalarını, model seçimini, araçları, +onayları, medya teslimini ve görünür transkript yansısını yönetir. -Harness varsayılan olarak kapalıdır. Yalnızca `codex` plugin'i -etkin olduğunda ve çözümlenen model bir `codex/*` modeli olduğunda ya da `embeddedHarness.runtime: "codex"` veya `OPENCLAW_AGENT_RUNTIME=codex` ile açıkça zorladığınızda seçilir. -Hiçbir zaman `codex/*` yapılandırmazsanız, mevcut Pi, OpenAI, Anthropic, Gemini, yerel -ve özel sağlayıcı çalıştırmaları mevcut davranışlarını korur. +Koşum takımı varsayılan olarak kapalıdır. Yalnızca `codex` Plugin'i +etkinleştirildiğinde ve çözümlenen model bir `codex/*` modeli olduğunda +veya `embeddedHarness.runtime: "codex"` ya da `OPENCLAW_AGENT_RUNTIME=codex` açıkça zorlandığında seçilir. +Hiçbir zaman `codex/*` yapılandırmazsanız, mevcut PI, OpenAI, Anthropic, Gemini, local +ve custom-provider çalıştırmaları mevcut davranışlarını korur. ## Doğru model önekini seçin -OpenClaw, OpenAI ve Codex biçimli erişim için ayrı yollara sahiptir: +OpenClaw, OpenAI erişimi ile Codex biçimli erişim için ayrı yollara sahiptir: -| Model ref | Çalışma zamanı yolu | Şu durumda kullanın | -| ---------------------- | --------------------------------------------- | ------------------------------------------------------------------------ | -| `openai/gpt-5.4` | OpenClaw/PI altyapısı üzerinden OpenAI sağlayıcısı | `OPENAI_API_KEY` ile doğrudan OpenAI Platform API erişimi istiyorsunuz. | -| `openai-codex/gpt-5.4` | PI üzerinden OpenAI Codex OAuth sağlayıcısı | Codex app-server harness olmadan ChatGPT/Codex OAuth istiyorsunuz. | -| `codex/gpt-5.4` | Paketle gelen Codex sağlayıcısı artı Codex harness | Gömülü ajan dönüşü için yerel Codex app-server yürütmesi istiyorsunuz. | +| Model başvurusu | Çalışma zamanı yolu | Şu durumda kullanın | +| --------------------- | ------------------------------------------- | ------------------------------------------------------------------------ | +| `openai/gpt-5.4` | OpenClaw/PI altyapısı üzerinden OpenAI sağlayıcısı | `OPENAI_API_KEY` ile doğrudan OpenAI Platform API erişimi istiyorsunuz. | +| `openai-codex/gpt-5.4` | PI üzerinden OpenAI Codex OAuth sağlayıcısı | Codex uygulama sunucusu koşum takımı olmadan ChatGPT/Codex OAuth istiyorsunuz. | +| `codex/gpt-5.4` | Paketlenmiş Codex sağlayıcısı ve Codex koşum takımı | Gömülü ajan dönüşü için yerel Codex uygulama sunucusu yürütmesi istiyorsunuz. | -Codex harness yalnızca `codex/*` model ref'lerini sahiplenir. Mevcut `openai/*`, -`openai-codex/*`, Anthropic, Gemini, xAI, yerel ve özel sağlayıcı ref'leri +Codex koşum takımı yalnızca `codex/*` model başvurularını üstlenir. Mevcut `openai/*`, +`openai-codex/*`, Anthropic, Gemini, xAI, local ve custom provider başvuruları normal yollarını korur. ## Gereksinimler -- Paketle gelen `codex` plugin'i kullanılabilir olan OpenClaw. -- Codex app-server `0.118.0` veya daha yeni. -- App-server süreci için Codex kimlik doğrulamasının kullanılabilir olması. +- Paketlenmiş `codex` Plugin'i kullanılabilir durumda olan OpenClaw. +- Codex uygulama sunucusu `0.118.0` veya daha yeni sürüm. +- Uygulama sunucusu süreci için kullanılabilir Codex kimlik doğrulaması. -Plugin, daha eski veya sürümsüz app-server el sıkışmalarını engeller. Bu, -OpenClaw'u test edildiği protokol yüzeyinde tutar. +Plugin, daha eski veya sürümlendirilmemiş uygulama sunucusu el sıkışmalarını engeller. Bu, +OpenClaw'ı üzerinde test edildiği protokol yüzeyinde tutar. -Canlı ve Docker smoke testleri için kimlik doğrulama genellikle `OPENAI_API_KEY` üzerinden gelir; ayrıca isteğe bağlı Codex CLI dosyaları olan `~/.codex/auth.json` ve -`~/.codex/config.toml` da kullanılabilir. Yerel Codex app-server'ınızın kullandığı aynı kimlik doğrulama materyalini kullanın. +Canlı ve Docker smoke testleri için kimlik doğrulama genellikle `OPENAI_API_KEY` ile, +ayrıca `~/.codex/auth.json` ve +`~/.codex/config.toml` gibi isteğe bağlı Codex CLI dosyalarıyla sağlanır. Yerel Codex uygulama sunucunuzun +kullandığı aynı kimlik doğrulama materyalini kullanın. -## En düşük düzey yapılandırma +## Minimal yapılandırma -`codex/gpt-5.4` kullanın, paketle gelen plugin'i etkinleştirin ve `codex` harness'ı zorlayın: +`codex/gpt-5.4` kullanın, paketlenmiş Plugin'i etkinleştirin ve `codex` koşum takımını zorlayın: ```json5 { @@ -80,7 +83,7 @@ Canlı ve Docker smoke testleri için kimlik doğrulama genellikle `OPENAI_API_K } ``` -Yapılandırmanız `plugins.allow` kullanıyorsa, `codex` değerini de buraya ekleyin: +Yapılandırmanız `plugins.allow` kullanıyorsa, `codex` öğesini de oraya ekleyin: ```json5 { @@ -96,11 +99,12 @@ Yapılandırmanız `plugins.allow` kullanıyorsa, `codex` değerini de buraya ek ``` `agents.defaults.model` veya bir ajan modelini `codex/` olarak ayarlamak da -paketle gelen `codex` plugin'ini otomatik olarak etkinleştirir. Açık plugin girdisi, paylaşılan yapılandırmalarda yine de kullanışlıdır çünkü dağıtım niyetini açık hâle getirir. +paketlenmiş `codex` Plugin'ini otomatik olarak etkinleştirir. Açık Plugin girdisi, +özellikle paylaşılan yapılandırmalarda yine de yararlıdır çünkü dağıtım niyetini açıkça gösterir. ## Diğer modelleri değiştirmeden Codex ekleyin -`codex/*` modeller için Codex, diğer her şey için Pi istiyorsanız `runtime: "auto"` kullanın: +`codex/*` modeller için Codex, diğer her şey için PI istiyorsanız `runtime: "auto"` değerini koruyun: ```json5 { @@ -134,15 +138,15 @@ paketle gelen `codex` plugin'ini otomatik olarak etkinleştirir. Açık plugin g Bu yapıyla: -- `/model codex` veya `/model codex/gpt-5.4`, Codex app-server harness'ı kullanır. +- `/model codex` veya `/model codex/gpt-5.4`, Codex uygulama sunucusu koşum takımını kullanır. - `/model gpt` veya `/model openai/gpt-5.4`, OpenAI sağlayıcı yolunu kullanır. - `/model opus`, Anthropic sağlayıcı yolunu kullanır. -- Codex olmayan bir model seçilirse Pi, uyumluluk harness'ı olarak kalır. +- Codex olmayan bir model seçilirse, PI uyumluluk koşum takımı olarak kalır. ## Yalnızca Codex dağıtımları -Her gömülü ajan dönüşünün Codex harness kullandığını kanıtlamanız gerekiyorsa -Pi fallback'ini devre dışı bırakın: +Her gömülü ajan dönüşünün Codex koşum takımını kullandığını kanıtlamanız gerektiğinde +PI geri dönüşünü devre dışı bırakın: ```json5 { @@ -158,7 +162,7 @@ Pi fallback'ini devre dışı bırakın: } ``` -Ortam geçersiz kılması: +Ortam değişkeni geçersiz kılması: ```bash OPENCLAW_AGENT_RUNTIME=codex \ @@ -166,9 +170,9 @@ OPENCLAW_AGENT_HARNESS_FALLBACK=none \ openclaw gateway run ``` -Fallback devre dışıyken, Codex plugin devre dışıysa, -istenen model bir `codex/*` ref'i değilse, app-server çok eskiyse veya -app-server başlatılamıyorsa OpenClaw erken başarısız olur. +Geri dönüş devre dışı bırakıldığında, `codex` Plugin'i devre dışıysa, +istenen model bir `codex/*` başvurusu değilse, uygulama sunucusu çok eskiyse veya +uygulama sunucusu başlatılamıyorsa OpenClaw erken başarısız olur. ## Ajan başına Codex @@ -203,14 +207,14 @@ Varsayılan ajan normal otomatik seçimi korurken bir ajanı yalnızca Codex yap } ``` -Ajan ve model değiştirmek için normal oturum komutlarını kullanın. `/new`, yeni bir -OpenClaw oturumu oluşturur ve Codex harness gerektiğinde kendi sidecar app-server -thread'ini oluşturur veya sürdürür. `/reset`, o thread için OpenClaw oturum bağını temizler. +Ajanları ve modelleri değiştirmek için normal oturum komutlarını kullanın. `/new`, yeni bir +OpenClaw oturumu oluşturur ve Codex koşum takımı gerektiğinde kendi yardımcı uygulama sunucusu +iş parçacığını oluşturur veya sürdürür. `/reset`, o iş parçacığı için OpenClaw oturum bağını temizler. ## Model keşfi -Varsayılan olarak Codex plugin'i, mevcut modelleri app-server'a sorar. Keşif -başarısız olursa veya zaman aşımına uğrarsa, paketle gelen fallback kataloğunu kullanır: +Varsayılan olarak Codex Plugin'i, uygulama sunucusundan kullanılabilir modelleri ister. Keşif +başarısız olursa veya zaman aşımına uğrarsa, paketlenmiş geri dönüş kataloğunu kullanır: - `codex/gpt-5.4` - `codex/gpt-5.4-mini` @@ -236,7 +240,7 @@ Keşfi `plugins.entries.codex.config.discovery` altında ayarlayabilirsiniz: } ``` -Başlangıçta Codex yoklamasından kaçınmak ve fallback kataloğuna bağlı kalmak istediğinizde +Başlangıçta Codex yoklamasından kaçınmak ve geri dönüş kataloğuna bağlı kalmak istediğinizde keşfi devre dışı bırakın: ```json5 @@ -256,16 +260,16 @@ keşfi devre dışı bırakın: } ``` -## App-server bağlantısı ve ilke +## Uygulama sunucusu bağlantısı ve ilkesi -Varsayılan olarak plugin, Codex'i yerelde şu komutla başlatır: +Varsayılan olarak Plugin, Codex'i yerel olarak şu komutla başlatır: ```bash codex app-server --listen stdio:// ``` Varsayılan olarak OpenClaw, Codex'ten yerel onaylar istemesini ister. Bu -ilkeyi daha da ayarlayabilirsiniz; örneğin sıkılaştırıp incelemeleri +ilkeyi daha da ayarlayabilirsiniz; örneğin daha sıkı hale getirip incelemeleri guardian üzerinden yönlendirebilirsiniz: ```json5 @@ -288,7 +292,7 @@ guardian üzerinden yönlendirebilirsiniz: } ``` -Zaten çalışan bir app-server için WebSocket taşımasını kullanın: +Zaten çalışmakta olan bir uygulama sunucusu için WebSocket taşımasını kullanın: ```json5 { @@ -312,22 +316,22 @@ Zaten çalışan bir app-server için WebSocket taşımasını kullanın: Desteklenen `appServer` alanları: -| Alan | Varsayılan | Anlamı | -| ------------------- | ---------------------------------------- | ----------------------------------------------------------------------- | -| `transport` | `"stdio"` | `"stdio"` Codex'i başlatır; `"websocket"` `url` değerine bağlanır. | -| `command` | `"codex"` | stdio taşıması için yürütülebilir dosya. | -| `args` | `["app-server", "--listen", "stdio://"]` | stdio taşıması için argümanlar. | -| `url` | ayarlı değil | WebSocket app-server URL'si. | -| `authToken` | ayarlı değil | WebSocket taşıması için Bearer token. | -| `headers` | `{}` | Ek WebSocket başlıkları. | -| `requestTimeoutMs` | `60000` | app-server control-plane çağrıları için zaman aşımı. | -| `approvalPolicy` | `"on-request"` | Thread başlatma/sürdürme/dönüşe gönderilen yerel Codex onay ilkesi. | -| `sandbox` | `"workspace-write"` | Thread başlatma/sürdürmeye gönderilen yerel Codex sandbox modu. | -| `approvalsReviewer` | `"user"` | Yerel onayları Codex guardian'ın incelemesi için `"guardian_subagent"` kullanın. | -| `serviceTier` | ayarlı değil | İsteğe bağlı Codex hizmet katmanı, örneğin `"priority"`. | +| Alan | Varsayılan | Anlamı | +| ------------------- | ---------------------------------------- | ------------------------------------------------------------------------ | +| `transport` | `"stdio"` | `"stdio"` Codex'i başlatır; `"websocket"` `url` adresine bağlanır. | +| `command` | `"codex"` | stdio taşıması için yürütülebilir dosya. | +| `args` | `["app-server", "--listen", "stdio://"]` | stdio taşıması için bağımsız değişkenler. | +| `url` | ayarlanmadı | WebSocket uygulama sunucusu URL'si. | +| `authToken` | ayarlanmadı | WebSocket taşıması için Bearer token. | +| `headers` | `{}` | Ek WebSocket üst bilgileri. | +| `requestTimeoutMs` | `60000` | Uygulama sunucusu kontrol düzlemi çağrıları için zaman aşımı. | +| `approvalPolicy` | `"on-request"` | İş parçacığı başlatma/sürdürme/dönüşe gönderilen yerel Codex onay ilkesi. | +| `sandbox` | `"workspace-write"` | İş parçacığı başlatma/sürdürmeye gönderilen yerel Codex sandbox modu. | +| `approvalsReviewer` | `"user"` | Yerel onayları Codex guardian'ın incelemesini sağlamak için `"guardian_subagent"` kullanın. | +| `serviceTier` | ayarlanmadı | İsteğe bağlı Codex hizmet katmanı, örneğin `"priority"`. | -Eski ortam değişkenleri, eşleşen yapılandırma alanı ayarlı değilse -yerel testler için fallback olarak hâlâ çalışır: +Aşağıdaki eski ortam değişkenleri, eşleşen yapılandırma alanı ayarlanmadığında +yerel testler için geri dönüş olarak hâlâ çalışır: - `OPENCLAW_CODEX_APP_SERVER_BIN` - `OPENCLAW_CODEX_APP_SERVER_ARGS` @@ -339,7 +343,7 @@ Tekrarlanabilir dağıtımlar için yapılandırma tercih edilir. ## Yaygın tarifler -Varsayılan stdio taşımasıyla yerel Codex: +Varsayılan stdio taşıması ile yerel Codex: ```json5 { @@ -353,7 +357,7 @@ Varsayılan stdio taşımasıyla yerel Codex: } ``` -Pi fallback devre dışıyken yalnızca Codex harness doğrulaması: +PI geri dönüşü devre dışı bırakılmış şekilde yalnızca Codex koşum takımı doğrulaması: ```json5 { @@ -391,7 +395,7 @@ Guardian tarafından incelenen Codex onayları: } ``` -Açık başlıklarla uzak app-server: +Açık üst bilgilerle uzak uygulama sunucusu: ```json5 { @@ -414,60 +418,82 @@ Açık başlıklarla uzak app-server: } ``` -Model değiştirme OpenClaw tarafından kontrol edilmeye devam eder. Bir OpenClaw oturumu -mevcut bir Codex thread'ine bağlı olduğunda, sonraki dönüş seçili +Model değiştirme OpenClaw tarafından yönetilmeye devam eder. Bir OpenClaw oturumu mevcut bir +Codex iş parçacığına bağlandığında, sonraki dönüş şu anda seçili olan `codex/*` modelini, sağlayıcıyı, onay ilkesini, sandbox'ı ve hizmet katmanını -yeniden app-server'a gönderir. `codex/gpt-5.4` modelinden `codex/gpt-5.2` modeline geçmek, -thread bağını korur ama Codex'ten yeni seçilen modelle devam etmesini ister. +uygulama sunucusuna yeniden gönderir. `codex/gpt-5.4` modelinden `codex/gpt-5.2` modeline geçmek, +iş parçacığı bağını korur ancak Codex'ten yeni seçilen modelle devam etmesini ister. ## Codex komutu -Paketle gelen plugin, yetkili bir slash komutu olarak `/codex` kaydeder. Bu komut -geneldir ve OpenClaw metin komutlarını destekleyen her kanalda çalışır. +Paketlenmiş Plugin, `/codex` komutunu yetkili bir slash komutu olarak kaydeder. Bu komut +geneldir ve OpenClaw metin komutlarını destekleyen herhangi bir kanalda çalışır. Yaygın biçimler: -- `/codex status`, canlı app-server bağlantısını, modelleri, hesabı, rate limit'leri, MCP sunucularını ve Skills öğelerini gösterir. -- `/codex models`, canlı Codex app-server modellerini listeler. -- `/codex threads [filter]`, son Codex thread'lerini listeler. -- `/codex resume `, geçerli OpenClaw oturumunu mevcut bir Codex thread'ine bağlar. -- `/codex compact`, Codex app-server'dan bağlı thread üzerinde Compaction yapmasını ister. -- `/codex review`, bağlı thread için yerel Codex incelemesini başlatır. -- `/codex account`, hesap ve rate-limit durumunu gösterir. -- `/codex mcp`, Codex app-server MCP sunucu durumunu listeler. -- `/codex skills`, Codex app-server Skills öğelerini listeler. +- `/codex status`, canlı uygulama sunucusu bağlantısını, modelleri, hesabı, hız sınırlarını, MCP sunucularını ve Skills'i gösterir. +- `/codex models`, canlı Codex uygulama sunucusu modellerini listeler. +- `/codex threads [filter]`, son Codex iş parçacıklarını listeler. +- `/codex resume `, mevcut OpenClaw oturumunu mevcut bir Codex iş parçacığına bağlar. +- `/codex compact`, Codex uygulama sunucusundan bağlı iş parçacığını sıkıştırmasını ister. +- `/codex review`, bağlı iş parçacığı için yerel Codex incelemesini başlatır. +- `/codex account`, hesap ve hız sınırı durumunu gösterir. +- `/codex mcp`, Codex uygulama sunucusu MCP sunucu durumunu listeler. +- `/codex skills`, Codex uygulama sunucusu Skills listesini gösterir. -`/codex resume`, harness'ın normal dönüşler için kullandığı aynı sidecar binding dosyasını yazar. Sonraki mesajda OpenClaw o Codex thread'ini sürdürür, şu anda seçili OpenClaw `codex/*` modelini app-server'a geçirir ve genişletilmiş geçmişi etkin tutar. +`/codex resume`, normal dönüşler için koşum takımının kullandığı aynı yardımcı bağlama dosyasını +yazar. Sonraki iletide OpenClaw bu Codex iş parçacığını sürdürür, o anda seçili +OpenClaw `codex/*` modelini uygulama sunucusuna geçirir ve genişletilmiş +geçmişi etkin tutar. -Komut yüzeyi Codex app-server `0.118.0` veya daha yenisini gerektirir. Gelecekteki veya özel bir app-server ilgili JSON-RPC yöntemini sunmazsa, tekil control yöntemleri `unsupported by this Codex app-server` olarak bildirilir. +Komut yüzeyi Codex uygulama sunucusu `0.118.0` veya daha yenisini gerektirir. Tek tek +denetim yöntemleri, gelecekteki veya özel bir uygulama sunucusu o JSON-RPC yöntemini +sunmuyorsa `unsupported by this Codex app-server` olarak bildirilir. ## Araçlar, medya ve Compaction -Codex harness yalnızca düşük düzey gömülü ajan yürütücüsünü değiştirir. +Codex koşum takımı yalnızca düşük seviyeli gömülü ajan yürütücüsünü değiştirir. -OpenClaw yine de araç listesini oluşturur ve harness'tan dinamik araç sonuçlarını alır. Metin, görseller, video, müzik, TTS, onaylar ve message-tool çıktısı normal OpenClaw teslim yolu üzerinden akmaya devam eder. +OpenClaw yine de araç listesini oluşturur ve koşum takımından dinamik araç sonuçlarını +alır. Metin, görseller, video, müzik, TTS, onaylar ve mesajlaşma aracı çıktısı +normal OpenClaw teslim yolu üzerinden devam eder. -Seçili model Codex harness kullandığında, yerel thread Compaction işlemi Codex app-server'a devredilir. OpenClaw kanal geçmişi, arama, `/new`, `/reset` ve gelecekteki model veya harness değiştirme için bir transcript yansısını korur. Bu yansı, kullanıcı prompt'unu, son asistan metnini ve app-server bunları yayımladığında hafif Codex reasoning veya plan kayıtlarını içerir. +Seçili model Codex koşum takımını kullandığında, yerel iş parçacığı Compaction +işlemi Codex uygulama sunucusuna devredilir. OpenClaw, kanal geçmişi, +arama, `/new`, `/reset` ve gelecekteki model veya koşum takımı geçişleri için bir transkript yansısı tutar. Bu +yansı, kullanıcı istemini, son asistan metnini ve uygulama sunucusu bunları yayınladığında +hafif Codex akıl yürütme veya plan kayıtlarını içerir. -Medya üretimi Pi gerektirmez. Görsel, video, müzik, PDF, TTS ve medya anlama; `agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` ve `messages.tts` gibi eşleşen sağlayıcı/model ayarlarını kullanmaya devam eder. +Medya üretimi PI gerektirmez. Görsel, video, müzik, PDF, TTS ve medya +anlama; `agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` ve +`messages.tts` gibi eşleşen sağlayıcı/model ayarlarını kullanmaya devam eder. ## Sorun giderme -**Codex `/model` içinde görünmüyor:** `plugins.entries.codex.enabled` ayarını etkinleştirin, bir `codex/*` model ref'i ayarlayın veya `plugins.allow` listesinin `codex` değerini hariç tutup tutmadığını kontrol edin. +**Codex `/model` içinde görünmüyor:** `plugins.entries.codex.enabled` seçeneğini etkinleştirin, +bir `codex/*` model başvurusu ayarlayın veya `plugins.allow` içinde `codex` öğesinin hariç tutulup tutulmadığını kontrol edin. -**OpenClaw Pi'ye geri dönüyor:** test sırasında `embeddedHarness.fallback: "none"` veya `OPENCLAW_AGENT_HARNESS_FALLBACK=none` ayarlayın. +**OpenClaw, Codex yerine PI kullanıyor:** hiçbir Codex koşum takımı çalıştırmayı üstlenmezse, +OpenClaw uyumluluk arka ucu olarak PI kullanabilir. Test sırasında Codex seçimini zorlamak için +`embeddedHarness.runtime: "codex"` ayarlayın veya eşleşen bir Plugin koşum takımı olmadığında +başarısız olmak için `embeddedHarness.fallback: "none"` ayarlayın. Codex uygulama sunucusu seçildikten sonra, +hataları ek geri dönüş yapılandırması olmadan doğrudan görünür. -**App-server reddediliyor:** app-server el sıkışmasının `0.118.0` veya daha yeni bir sürüm bildirmesi için Codex'i yükseltin. +**Uygulama sunucusu reddediliyor:** uygulama sunucusu el sıkışmasının +`0.118.0` veya daha yeni bir sürüm bildirmesi için Codex'i yükseltin. -**Model keşfi yavaş:** `plugins.entries.codex.config.discovery.timeoutMs` değerini düşürün veya keşfi devre dışı bırakın. +**Model keşfi yavaş:** `plugins.entries.codex.config.discovery.timeoutMs` değerini düşürün +veya keşfi devre dışı bırakın. -**WebSocket taşıması hemen başarısız oluyor:** `appServer.url`, `authToken` ve uzak app-server'ın aynı Codex app-server protokol sürümünü konuştuğunu kontrol edin. +**WebSocket taşıması hemen başarısız oluyor:** `appServer.url`, `authToken` +ve uzak uygulama sunucusunun aynı Codex uygulama sunucusu protokol sürümünü konuştuğunu kontrol edin. -**Codex olmayan bir model Pi kullanıyor:** bu beklenen davranıştır. Codex harness yalnızca `codex/*` model ref'lerini sahiplenir. +**Codex olmayan bir model PI kullanıyor:** bu beklenen bir durumdur. Codex koşum takımı yalnızca +`codex/*` model başvurularını üstlenir. ## İlgili -- [Agent Harness Plugins](/tr/plugins/sdk-agent-harness) -- [Model Providers](/tr/concepts/model-providers) -- [Configuration Reference](/tr/gateway/configuration-reference) -- [Testing](/tr/help/testing#live-codex-app-server-harness-smoke) +- [Ajan Koşum Takımı Plugin'leri](/tr/plugins/sdk-agent-harness) +- [Model Sağlayıcıları](/tr/concepts/model-providers) +- [Yapılandırma Başvurusu](/tr/gateway/configuration-reference) +- [Test](\/help/testing#live-codex-app-server-harness-smoke) diff --git a/docs/tr/plugins/manifest.md b/docs/tr/plugins/manifest.md index f656e9d91..d18c07574 100644 --- a/docs/tr/plugins/manifest.md +++ b/docs/tr/plugins/manifest.md @@ -1,14 +1,14 @@ --- read_when: - - Bir OpenClaw plugin’i geliştiriyorsunuz - - Bir plugin yapılandırma şeması yayımlamanız veya plugin doğrulama hatalarını ayıklamanız gerekiyor -summary: Plugin manifesti + JSON şeması gereksinimleri (katı yapılandırma doğrulaması) + - Bir OpenClaw plugin'i oluşturuyorsunuz + - Bir plugin yapılandırma şeması yayımlamanız veya plugin doğrulama hatalarında hata ayıklamanız gerekiyor +summary: Plugin manifesti + JSON şema gereksinimleri (katı yapılandırma doğrulaması) title: Plugin Manifesti x-i18n: - generated_at: "2026-04-22T04:24:28Z" + generated_at: "2026-04-22T08:54:51Z" model: gpt-5.4 provider: openai - source_hash: 52a52f7e2c78bbef2cc51ade6eb12b6edc950237bdfc478f6e82248374c687bf + source_hash: 085c1baccb96b8e6bd4033ad11bdd5f79bdb0daec470e977fce723c3ae38cc99 source_path: plugins/manifest.md workflow: 15 --- @@ -17,55 +17,51 @@ x-i18n: Bu sayfa yalnızca **yerel OpenClaw plugin manifesti** içindir. -Uyumlu paket düzenleri için bkz. [Plugin bundles](/tr/plugins/bundles). +Uyumlu paket düzenleri için bkz. [Plugin paketleri](/tr/plugins/bundles). Uyumlu paket biçimleri farklı manifest dosyaları kullanır: - Codex paketi: `.codex-plugin/plugin.json` -- Claude paketi: `.claude-plugin/plugin.json` veya manifestsiz varsayılan Claude bileşen düzeni +- Claude paketi: `.claude-plugin/plugin.json` veya manifestsiz varsayılan Claude bileşeni düzeni - Cursor paketi: `.cursor-plugin/plugin.json` -OpenClaw bu paket düzenlerini de otomatik algılar, ancak bunlar burada açıklanan `openclaw.plugin.json` şemasına göre doğrulanmaz. +OpenClaw bu paket düzenlerini de otomatik algılar, ancak burada açıklanan `openclaw.plugin.json` şemasına göre doğrulanmazlar. -Uyumlu paketler için OpenClaw şu anda paket meta verilerini ve bildirilen -skill köklerini, Claude komut köklerini, Claude paketi `settings.json` varsayılanlarını, -Claude paketi LSP varsayılanlarını ve düzen OpenClaw çalışma zamanı beklentileriyle eşleştiğinde desteklenen hook paketlerini okur. +Uyumlu paketlerde OpenClaw şu anda düzen, OpenClaw çalışma zamanı beklentileriyle eşleştiğinde paket meta verilerini, bildirilen skill köklerini, Claude komut köklerini, Claude paketi `settings.json` varsayılanlarını, Claude paketi LSP varsayılanlarını ve desteklenen hook paketlerini okur. -Her yerel OpenClaw plugin’i, **plugin kökünde** -bir `openclaw.plugin.json` dosyası yayımlamak **zorundadır**. OpenClaw bu manifesti, -plugin kodunu **çalıştırmadan** yapılandırmayı doğrulamak için kullanır. Eksik veya geçersiz manifestler plugin hatası olarak değerlendirilir ve yapılandırma doğrulamasını engeller. +Her yerel OpenClaw plugin'i, **plugin kökünde** mutlaka bir `openclaw.plugin.json` dosyası yayımlamalıdır. OpenClaw bu manifesti, yapılandırmayı **plugin kodunu çalıştırmadan** doğrulamak için kullanır. Eksik veya geçersiz manifestler plugin hatası olarak değerlendirilir ve yapılandırma doğrulamasını engeller. -Tam plugin sistemi kılavuzu için bkz.: [Plugins](/tr/tools/plugin). +Tam plugin sistemi kılavuzuna bakın: [Plugins](/tr/tools/plugin). Yerel yetenek modeli ve mevcut dış uyumluluk rehberi için: -[Capability model](/tr/plugins/architecture#public-capability-model). +[Yetenek modeli](/tr/plugins/architecture#public-capability-model). ## Bu dosya ne yapar -`openclaw.plugin.json`, OpenClaw’un plugin kodunuzu yüklemeden önce okuduğu meta verilerdir. +`openclaw.plugin.json`, OpenClaw'ın plugin kodunuzu yüklemeden önce okuduğu meta veridir. Şunlar için kullanın: - plugin kimliği - yapılandırma doğrulaması -- plugin çalışma zamanını başlatmadan erişilebilir olması gereken kimlik doğrulama ve onboarding meta verileri +- plugin çalışma zamanını başlatmadan kullanılabilir olması gereken kimlik doğrulama ve onboarding meta verileri - denetim düzlemi yüzeylerinin çalışma zamanı yüklenmeden önce inceleyebileceği düşük maliyetli etkinleştirme ipuçları - kurulum/onboarding yüzeylerinin çalışma zamanı yüklenmeden önce inceleyebileceği düşük maliyetli kurulum tanımlayıcıları - plugin çalışma zamanı yüklenmeden önce çözümlenmesi gereken takma ad ve otomatik etkinleştirme meta verileri -- plugin’i çalışma zamanı yüklenmeden önce otomatik etkinleştirmesi gereken kısa model ailesi sahipliği meta verileri +- plugin'i çalışma zamanı yüklenmeden önce otomatik etkinleştirmesi gereken kısa model ailesi sahipliği meta verileri - paketlenmiş uyumluluk bağlama ve sözleşme kapsamı için kullanılan statik yetenek sahipliği anlık görüntüleri -- paylaşılan `openclaw qa` hostunun plugin çalışma zamanı yüklenmeden önce inceleyebileceği düşük maliyetli QA çalıştırıcı meta verileri -- çalışma zamanı yüklenmeden katalog ve doğrulama yüzeylerine birleştirilmesi gereken kanala özgü yapılandırma meta verileri -- yapılandırma UI ipuçları +- paylaşılan `openclaw qa` ana makinesinin plugin çalışma zamanı yüklenmeden önce inceleyebileceği düşük maliyetli QA çalıştırıcısı meta verileri +- çalışma zamanı yüklemeden katalog ve doğrulama yüzeyleriyle birleştirilmesi gereken kanala özgü yapılandırma meta verileri +- yapılandırma arayüzü ipuçları Şunlar için kullanmayın: -- çalışma zamanı davranışı kaydetme -- kod giriş noktalarını bildirme +- çalışma zamanı davranışını kaydetmek +- kod giriş noktalarını bildirmek - npm kurulum meta verileri -Bunlar plugin kodunuza ve `package.json` dosyanıza aittir. +Bunlar plugin kodunuza ve `package.json` dosyasına aittir. -## Asgari örnek +## Minimal örnek ```json { @@ -84,7 +80,7 @@ Bunlar plugin kodunuza ve `package.json` dosyanıza aittir. { "id": "openrouter", "name": "OpenRouter", - "description": "OpenRouter sağlayıcı plugin’i", + "description": "OpenRouter provider plugin", "version": "1.0.0", "providers": ["openrouter"], "modelSupport": { @@ -112,19 +108,19 @@ Bunlar plugin kodunuza ve `package.json` dosyanıza aittir. "provider": "openrouter", "method": "api-key", "choiceId": "openrouter-api-key", - "choiceLabel": "OpenRouter API anahtarı", + "choiceLabel": "OpenRouter API key", "groupId": "openrouter", "groupLabel": "OpenRouter", "optionKey": "openrouterApiKey", "cliFlag": "--openrouter-api-key", "cliOption": "--openrouter-api-key ", - "cliDescription": "OpenRouter API anahtarı", + "cliDescription": "OpenRouter API key", "onboardingScopes": ["text-inference"] } ], "uiHints": { "apiKey": { - "label": "API anahtarı", + "label": "API key", "placeholder": "sk-or-v1-...", "sensitive": true } @@ -143,64 +139,65 @@ Bunlar plugin kodunuza ve `package.json` dosyanıza aittir. ## Üst düzey alan başvurusu -| Alan | Gerekli | Tür | Anlamı | -| ----------------------------------- | ------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `id` | Evet | `string` | Kanonik plugin kimliği. Bu, `plugins.entries.` içinde kullanılan kimliktir. | -| `configSchema` | Evet | `object` | Bu plugin’in yapılandırması için satır içi JSON Şeması. | -| `enabledByDefault` | Hayır | `true` | Paketlenmiş bir plugin’i varsayılan olarak etkin işaretler. Plugin’i varsayılan olarak devre dışı bırakmak için bunu atlayın veya `true` dışındaki herhangi bir değeri ayarlayın. | -| `legacyPluginIds` | Hayır | `string[]` | Bu kanonik plugin kimliğine normalleştirilen eski kimlikler. | -| `autoEnableWhenConfiguredProviders` | Hayır | `string[]` | Kimlik doğrulama, yapılandırma veya model başvuruları bunlardan söz ettiğinde bu plugin’i otomatik etkinleştirmesi gereken sağlayıcı kimlikleri. | -| `kind` | Hayır | `"memory"` \| `"context-engine"` | `plugins.slots.*` tarafından kullanılan, birbirini dışlayan bir plugin türü bildirir. | -| `channels` | Hayır | `string[]` | Bu plugin’e ait kanal kimlikleri. Keşif ve yapılandırma doğrulaması için kullanılır. | -| `providers` | Hayır | `string[]` | Bu plugin’e ait sağlayıcı kimlikleri. | -| `modelSupport` | Hayır | `object` | Çalışma zamanından önce plugin’i otomatik yüklemek için kullanılan, manifest sahipli kısa model ailesi meta verileri. | -| `providerEndpoints` | Hayır | `object[]` | Çekirdeğin sağlayıcı çalışma zamanı yüklenmeden önce sınıflandırması gereken sağlayıcı yolları için manifest sahipli uç nokta host/baseUrl meta verileri. | -| `cliBackends` | Hayır | `string[]` | Bu plugin’e ait CLI çıkarım arka ucu kimlikleri. Açık yapılandırma başvurularından başlangıç otomatik etkinleştirmesi için kullanılır. | -| `syntheticAuthRefs` | Hayır | `string[]` | Çalışma zamanı yüklenmeden önce soğuk model keşfi sırasında plugin sahipli sentetik kimlik doğrulama hook’unun yoklanması gereken sağlayıcı veya CLI arka ucu başvuruları. | -| `nonSecretAuthMarkers` | Hayır | `string[]` | Gizli olmayan yerel, OAuth veya ortam kimlik bilgisi durumunu temsil eden, paketlenmiş plugin sahipli yer tutucu API anahtarı değerleri. | -| `commandAliases` | Hayır | `object[]` | Çalışma zamanı yüklenmeden önce plugin farkındalıklı yapılandırma ve CLI tanıları üretmesi gereken, bu plugin’e ait komut adları. | -| `providerAuthEnvVars` | Hayır | `Record` | OpenClaw’un plugin kodunu yüklemeden inceleyebileceği düşük maliyetli sağlayıcı kimlik doğrulama env meta verileri. | -| `providerAuthAliases` | Hayır | `Record` | Kimlik doğrulama araması için başka bir sağlayıcı kimliğini yeniden kullanması gereken sağlayıcı kimlikleri; örneğin temel sağlayıcı API anahtarı ve kimlik doğrulama profillerini paylaşan bir coding sağlayıcısı. | -| `channelEnvVars` | Hayır | `Record` | OpenClaw’un plugin kodunu yüklemeden inceleyebileceği düşük maliyetli kanal env meta verileri. Bunu, genel başlangıç/yapılandırma yardımcılarının görmesi gereken env odaklı kanal kurulumu veya kimlik doğrulama yüzeyleri için kullanın. | -| `providerAuthChoices` | Hayır | `object[]` | Onboarding seçicileri, tercih edilen sağlayıcı çözümlemesi ve basit CLI bayrak bağlama için düşük maliyetli kimlik doğrulama seçeneği meta verileri. | -| `activation` | Hayır | `object` | Sağlayıcı, komut, kanal, rota ve yetenek tetiklemeli yükleme için düşük maliyetli etkinleştirme ipuçları. Yalnızca meta veri; gerçek davranış yine de plugin çalışma zamanına aittir. | -| `setup` | Hayır | `object` | Keşif ve kurulum yüzeylerinin plugin çalışma zamanını yüklemeden inceleyebileceği düşük maliyetli kurulum/onboarding tanımlayıcıları. | -| `qaRunners` | Hayır | `object[]` | Paylaşılan `openclaw qa` hostunun plugin çalışma zamanı yüklenmeden önce kullandığı düşük maliyetli QA çalıştırıcı tanımlayıcıları. | -| `contracts` | Hayır | `object` | Konuşma, gerçek zamanlı transkripsiyon, gerçek zamanlı ses, medya-anlama, görsel üretimi, müzik üretimi, video üretimi, web-fetch, web araması ve araç sahipliği için statik paketlenmiş yetenek anlık görüntüsü. | -| `channelConfigs` | Hayır | `Record` | Çalışma zamanı yüklenmeden keşif ve doğrulama yüzeylerine birleştirilen manifest sahipli kanal yapılandırma meta verileri. | -| `skills` | Hayır | `string[]` | Plugin köküne göre göreli yüklenecek Skills dizinleri. | -| `name` | Hayır | `string` | İnsan tarafından okunabilir plugin adı. | -| `description` | Hayır | `string` | Plugin yüzeylerinde gösterilen kısa özet. | -| `version` | Hayır | `string` | Bilgilendirici plugin sürümü. | -| `uiHints` | Hayır | `Record` | Yapılandırma alanları için UI etiketleri, yer tutucular ve hassasiyet ipuçları. | +| Alan | Gerekli | Tür | Anlamı | +| ------------------------------------ | -------- | -------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `id` | Evet | `string` | Kanonik plugin kimliği. `plugins.entries.` içinde kullanılan kimlik budur. | +| `configSchema` | Evet | `object` | Bu plugin'in yapılandırması için satır içi JSON Schema. | +| `enabledByDefault` | Hayır | `true` | Paketlenmiş bir plugin'i varsayılan olarak etkin işaretler. Plugin'in varsayılan olarak devre dışı kalması için bu alanı eklemeyin veya `true` dışındaki herhangi bir değere ayarlayın. | +| `legacyPluginIds` | Hayır | `string[]` | Bu kanonik plugin kimliğine normalize edilen eski kimlikler. | +| `autoEnableWhenConfiguredProviders` | Hayır | `string[]` | Kimlik doğrulama, yapılandırma veya model başvuruları bunlardan söz ettiğinde bu plugin'i otomatik etkinleştirmesi gereken provider kimlikleri. | +| `kind` | Hayır | `"memory"` \| `"context-engine"` | `plugins.slots.*` tarafından kullanılan, yalnızca birine özel plugin türünü bildirir. | +| `channels` | Hayır | `string[]` | Bu plugin'e ait kanal kimlikleri. Keşif ve yapılandırma doğrulaması için kullanılır. | +| `providers` | Hayır | `string[]` | Bu plugin'e ait provider kimlikleri. | +| `modelSupport` | Hayır | `object` | Çalışma zamanından önce plugin'i otomatik yüklemek için kullanılan, manifeste ait kısa model ailesi meta verileri. | +| `providerEndpoints` | Hayır | `object[]` | Çekirdeğin provider çalışma zamanı yüklenmeden önce sınıflandırması gereken provider rotaları için manifeste ait endpoint host/baseUrl meta verileri. | +| `cliBackends` | Hayır | `string[]` | Bu plugin'e ait CLI çıkarım backend kimlikleri. Açık yapılandırma başvurularından başlangıçta otomatik etkinleştirme için kullanılır. | +| `syntheticAuthRefs` | Hayır | `string[]` | Çalışma zamanı yüklenmeden önce soğuk model keşfi sırasında plugin'e ait sentetik kimlik doğrulama hook'unun yoklanması gereken provider veya CLI backend başvuruları. | +| `nonSecretAuthMarkers` | Hayır | `string[]` | Gizli olmayan yerel, OAuth veya ortamdan gelen kimlik bilgisi durumunu temsil eden, paketlenmiş plugin'e ait yer tutucu API anahtarı değerleri. | +| `commandAliases` | Hayır | `object[]` | Çalışma zamanı yüklenmeden önce plugin farkındalıklı yapılandırma ve CLI tanılamaları üretmesi gereken, bu plugin'e ait komut adları. | +| `providerAuthEnvVars` | Hayır | `Record` | OpenClaw'ın plugin kodunu yüklemeden inceleyebileceği düşük maliyetli provider kimlik doğrulama ortam değişkeni meta verileri. | +| `providerAuthAliases` | Hayır | `Record` | Kimlik doğrulama araması için başka bir provider kimliğini yeniden kullanması gereken provider kimlikleri; örneğin temel provider API anahtarını ve kimlik doğrulama profillerini paylaşan bir coding provider. | +| `channelEnvVars` | Hayır | `Record` | OpenClaw'ın plugin kodunu yüklemeden inceleyebileceği düşük maliyetli kanal ortam değişkeni meta verileri. Bunu, genel başlangıç/yapılandırma yardımcılarının görmesi gereken ortam değişkeni odaklı kanal kurulumu veya kimlik doğrulama yüzeyleri için kullanın. | +| `providerAuthChoices` | Hayır | `object[]` | Onboarding seçicileri, tercih edilen provider çözümlemesi ve basit CLI bayrağı bağlaması için düşük maliyetli kimlik doğrulama seçeneği meta verileri. | +| `activation` | Hayır | `object` | Provider, komut, kanal, rota ve yetenek tetiklemeli yükleme için düşük maliyetli etkinleştirme ipuçları. Yalnızca meta veri; gerçek davranışın sahibi hâlâ plugin çalışma zamanıdır. | +| `setup` | Hayır | `object` | Keşif ve kurulum yüzeylerinin plugin çalışma zamanını yüklemeden inceleyebileceği düşük maliyetli kurulum/onboarding tanımlayıcıları. | +| `qaRunners` | Hayır | `object[]` | Paylaşılan `openclaw qa` ana makinesi tarafından plugin çalışma zamanı yüklenmeden önce kullanılan düşük maliyetli QA çalıştırıcısı tanımlayıcıları. | +| `contracts` | Hayır | `object` | Konuşma, gerçek zamanlı transkripsiyon, gerçek zamanlı ses, medya anlama, görsel oluşturma, müzik oluşturma, video oluşturma, web getirme, web arama ve araç sahipliği için statik paketlenmiş yetenek anlık görüntüsü. | +| `mediaUnderstandingProviderMetadata` | Hayır | `Record` | `contracts.mediaUnderstandingProviders` içinde bildirilen provider kimlikleri için düşük maliyetli medya anlama varsayılanları. | +| `channelConfigs` | Hayır | `Record` | Çalışma zamanı yüklenmeden keşif ve doğrulama yüzeyleriyle birleştirilen, manifeste ait kanal yapılandırma meta verileri. | +| `skills` | Hayır | `string[]` | Plugin köküne göre göreli olarak yüklenecek Skills dizinleri. | +| `name` | Hayır | `string` | İnsan tarafından okunabilir plugin adı. | +| `description` | Hayır | `string` | Plugin yüzeylerinde gösterilen kısa özet. | +| `version` | Hayır | `string` | Bilgilendirme amaçlı plugin sürümü. | +| `uiHints` | Hayır | `Record` | Yapılandırma alanları için UI etiketleri, yer tutucular ve hassasiyet ipuçları. | -## providerAuthChoices başvurusu +## `providerAuthChoices` başvurusu -Her `providerAuthChoices` girdisi bir onboarding veya kimlik doğrulama seçeneğini tanımlar. -OpenClaw bunu sağlayıcı çalışma zamanı yüklenmeden önce okur. +Her `providerAuthChoices` girdisi bir onboarding veya kimlik doğrulama seçeneğini açıklar. +OpenClaw bunu provider çalışma zamanı yüklenmeden önce okur. -| Alan | Gerekli | Tür | Anlamı | -| --------------------- | ------- | ------------------------------------------------ | --------------------------------------------------------------------------------------------------------- | -| `provider` | Evet | `string` | Bu seçeneğin ait olduğu sağlayıcı kimliği. | -| `method` | Evet | `string` | Yönlendirilecek kimlik doğrulama yöntemi kimliği. | -| `choiceId` | Evet | `string` | Onboarding ve CLI akışlarında kullanılan kararlı kimlik doğrulama seçeneği kimliği. | -| `choiceLabel` | Hayır | `string` | Kullanıcıya dönük etiket. Atlanırsa OpenClaw `choiceId` değerine geri döner. | -| `choiceHint` | Hayır | `string` | Seçici için kısa yardımcı metin. | -| `assistantPriority` | Hayır | `number` | Aracı odaklı etkileşimli seçicilerde düşük değerler daha önce sıralanır. | -| `assistantVisibility` | Hayır | `"visible"` \| `"manual-only"` | Elle CLI seçimine izin vermeye devam ederken seçeneği aracı seçicilerinden gizler. | -| `deprecatedChoiceIds` | Hayır | `string[]` | Kullanıcıları bu yedek seçeneğe yönlendirmesi gereken eski seçenek kimlikleri. | -| `groupId` | Hayır | `string` | İlgili seçenekleri gruplamak için isteğe bağlı grup kimliği. | -| `groupLabel` | Hayır | `string` | Bu grup için kullanıcıya dönük etiket. | -| `groupHint` | Hayır | `string` | Grup için kısa yardımcı metin. | -| `optionKey` | Hayır | `string` | Basit tek bayraklı kimlik doğrulama akışları için iç seçenek anahtarı. | -| `cliFlag` | Hayır | `string` | `--openrouter-api-key` gibi CLI bayrağı adı. | -| `cliOption` | Hayır | `string` | `--openrouter-api-key ` gibi tam CLI seçenek biçimi. | -| `cliDescription` | Hayır | `string` | CLI yardımında kullanılan açıklama. | -| `onboardingScopes` | Hayır | `Array<"text-inference" \| "image-generation">` | Bu seçeneğin hangi onboarding yüzeylerinde görünmesi gerektiği. Atlanırsa varsayılan `["text-inference"]` olur. | +| Alan | Gerekli | Tür | Anlamı | +| -------------------- | -------- | ----------------------------------------------- | ------------------------------------------------------------------------------------------------------- | +| `provider` | Evet | `string` | Bu seçeneğin ait olduğu provider kimliği. | +| `method` | Evet | `string` | Yönlendirme yapılacak kimlik doğrulama yöntemi kimliği. | +| `choiceId` | Evet | `string` | Onboarding ve CLI akışlarında kullanılan kararlı kimlik doğrulama seçeneği kimliği. | +| `choiceLabel` | Hayır | `string` | Kullanıcıya görünen etiket. Atlanırsa OpenClaw `choiceId` değerine geri döner. | +| `choiceHint` | Hayır | `string` | Seçici için kısa yardımcı metin. | +| `assistantPriority` | Hayır | `number` | Asistan odaklı etkileşimli seçicilerde daha düşük değerler önce sıralanır. | +| `assistantVisibility`| Hayır | `"visible"` \| `"manual-only"` | Manuel CLI seçimine izin vermeye devam ederken seçeneği asistan seçicilerinden gizler. | +| `deprecatedChoiceIds`| Hayır | `string[]` | Kullanıcıları bu yeni seçenekle yönlendirmesi gereken eski seçenek kimlikleri. | +| `groupId` | Hayır | `string` | İlgili seçenekleri gruplamak için isteğe bağlı grup kimliği. | +| `groupLabel` | Hayır | `string` | Bu grup için kullanıcıya görünen etiket. | +| `groupHint` | Hayır | `string` | Grup için kısa yardımcı metin. | +| `optionKey` | Hayır | `string` | Basit tek bayraklı kimlik doğrulama akışları için dahili seçenek anahtarı. | +| `cliFlag` | Hayır | `string` | `--openrouter-api-key` gibi CLI bayrağı adı. | +| `cliOption` | Hayır | `string` | `--openrouter-api-key ` gibi tam CLI seçenek biçimi. | +| `cliDescription` | Hayır | `string` | CLI yardımında kullanılan açıklama. | +| `onboardingScopes` | Hayır | `Array<"text-inference" \| "image-generation">` | Bu seçeneğin hangi onboarding yüzeylerinde görünmesi gerektiği. Atlanırsa varsayılan `["text-inference"]` olur. | -## commandAliases başvurusu +## `commandAliases` başvurusu -Bir plugin, kullanıcıların yanlışlıkla `plugins.allow` içine koyabileceği veya kök CLI komutu olarak çalıştırmayı deneyebileceği bir çalışma zamanı komut adına sahipse `commandAliases` kullanın. OpenClaw bu meta verileri, plugin çalışma zamanı kodunu içe aktarmadan tanılar için kullanır. +Bir plugin, kullanıcıların yanlışlıkla `plugins.allow` içine koyabileceği veya kök CLI komutu olarak çalıştırmayı deneyebileceği bir çalışma zamanı komut adına sahipse `commandAliases` kullanın. OpenClaw bu meta verileri, plugin çalışma zamanı kodunu içe aktarmadan tanılamalar için kullanır. ```json { @@ -214,38 +211,37 @@ Bir plugin, kullanıcıların yanlışlıkla `plugins.allow` içine koyabileceğ } ``` -| Alan | Gerekli | Tür | Anlamı | -| ------------ | ------- | ----------------- | ------------------------------------------------------------------------- | -| `name` | Evet | `string` | Bu plugin’e ait komut adı. | -| `kind` | Hayır | `"runtime-slash"` | Takma adı, kök CLI komutu yerine bir sohbet slash komutu olarak işaretler. | -| `cliCommand` | Hayır | `string` | Varsa CLI işlemleri için önerilecek ilgili kök CLI komutu. | +| Alan | Gerekli | Tür | Anlamı | +| ------------ | -------- | ----------------- | -------------------------------------------------------------------------- | +| `name` | Evet | `string` | Bu plugin'e ait komut adı. | +| `kind` | Hayır | `"runtime-slash"` | Takma adı, kök CLI komutu yerine bir sohbet slash komutu olarak işaretler. | +| `cliCommand` | Hayır | `string` | Varsa CLI işlemleri için önerilecek ilgili kök CLI komutu. | -## activation başvurusu +## `activation` başvurusu -Plugin’in, hangi denetim düzlemi olaylarının onu daha sonra etkinleştirmesi gerektiğini düşük maliyetle bildirebildiği durumlarda `activation` kullanın. +Plugin daha sonra hangi denetim düzlemi olaylarının onu etkinleştirmesi gerektiğini düşük maliyetle bildirebiliyorsa `activation` kullanın. -## qaRunners başvurusu +## `qaRunners` başvurusu -Bir plugin, paylaşılan `openclaw qa` kökünün altında bir veya daha fazla taşıma çalıştırıcısı sağlıyorsa `qaRunners` kullanın. Bu meta verileri düşük maliyetli ve statik tutun; plugin çalışma zamanı yine de `qaRunnerCliRegistrations` dışa aktaran hafif bir `runtime-api.ts` yüzeyi üzerinden gerçek CLI kaydına sahip olur. +Bir plugin, paylaşılan `openclaw qa` kökü altında bir veya daha fazla taşıma çalıştırıcısı sağlıyorsa `qaRunners` kullanın. Bu meta veriyi düşük maliyetli ve statik tutun; plugin çalışma zamanı, `qaRunnerCliRegistrations` dışa aktaran hafif bir `runtime-api.ts` yüzeyi üzerinden gerçek CLI kaydının sahibi olmaya devam eder. ```json { "qaRunners": [ { "commandName": "matrix", - "description": "Tek kullanımlık bir homeserver'a karşı Docker destekli Matrix canlı QA hattını çalıştır" + "description": "Kullan-at bir homeserver'a karşı Docker destekli Matrix canlı QA hattını çalıştır" } ] } ``` -| Alan | Gerekli | Tür | Anlamı | -| ------------- | ------- | -------- | -------------------------------------------------------------------------- | -| `commandName` | Evet | `string` | `openclaw qa` altında bağlanan alt komut; örneğin `matrix`. | -| `description` | Hayır | `string` | Paylaşılan hostun bir stub komuta ihtiyaç duyduğunda kullandığı yedek yardım metni. | +| Alan | Gerekli | Tür | Anlamı | +| ------------- | -------- | -------- | ---------------------------------------------------------------------- | +| `commandName` | Evet | `string` | `openclaw qa` altında bağlanan alt komut; örneğin `matrix`. | +| `description` | Hayır | `string` | Paylaşılan ana makinenin bir taslak komuta ihtiyaç duyduğu durumda kullanılan yedek yardım metni. | -Bu blok yalnızca meta veridir. Çalışma zamanı davranışı kaydetmez ve `register(...)`, `setupEntry` veya diğer çalışma zamanı/plugin giriş noktalarının yerini almaz. -Geçerli tüketiciler bunu daha geniş plugin yüklemesinden önce daraltıcı bir ipucu olarak kullanır; dolayısıyla eksik etkinleştirme meta verileri genellikle yalnızca performans maliyeti doğurur. Eski manifest sahipliği yedekleri hâlâ varken doğruluğu değiştirmemelidir. +Bu blok yalnızca meta veridir. Çalışma zamanı davranışını kaydetmez ve `register(...)`, `setupEntry` veya diğer çalışma zamanı/plugin giriş noktalarının yerini almaz. Mevcut tüketiciler bunu daha geniş plugin yüklemesinden önce daraltıcı bir ipucu olarak kullanır; bu nedenle eksik etkinleştirme meta verisi genellikle yalnızca performans maliyeti doğurur; eski manifest sahipliği geri dönüşleri hâlâ varken doğruluğu değiştirmemelidir. ```json { @@ -259,26 +255,23 @@ Geçerli tüketiciler bunu daha geniş plugin yüklemesinden önce daraltıcı b } ``` -| Alan | Gerekli | Tür | Anlamı | -| ---------------- | ------- | ---------------------------------------------------- | ----------------------------------------------------------------------- | -| `onProviders` | Hayır | `string[]` | İstendiğinde bu plugin’i etkinleştirmesi gereken sağlayıcı kimlikleri. | -| `onCommands` | Hayır | `string[]` | Bu plugin’i etkinleştirmesi gereken komut kimlikleri. | -| `onChannels` | Hayır | `string[]` | Bu plugin’i etkinleştirmesi gereken kanal kimlikleri. | -| `onRoutes` | Hayır | `string[]` | Bu plugin’i etkinleştirmesi gereken rota türleri. | -| `onCapabilities` | Hayır | `Array<"provider" \| "channel" \| "tool" \| "hook">` | Denetim düzlemi etkinleştirme planlamasında kullanılan geniş yetenek ipuçları. | +| Alan | Gerekli | Tür | Anlamı | +| ---------------- | -------- | ---------------------------------------------------- | ---------------------------------------------------------------------- | +| `onProviders` | Hayır | `string[]` | İstendiğinde bu plugin'i etkinleştirmesi gereken provider kimlikleri. | +| `onCommands` | Hayır | `string[]` | Bu plugin'i etkinleştirmesi gereken komut kimlikleri. | +| `onChannels` | Hayır | `string[]` | Bu plugin'i etkinleştirmesi gereken kanal kimlikleri. | +| `onRoutes` | Hayır | `string[]` | Bu plugin'i etkinleştirmesi gereken rota türleri. | +| `onCapabilities` | Hayır | `Array<"provider" \| "channel" \| "tool" \| "hook">` | Denetim düzlemi etkinleştirme planlamasında kullanılan geniş yetenek ipuçları. | -Mevcut canlı tüketiciler: +Geçerli canlı tüketiciler: -- komut tetiklemeli CLI planlaması eski - `commandAliases[].cliCommand` veya `commandAliases[].name` değerine geri düşer -- kanal tetiklemeli kurulum/kanal planlaması, açık kanal etkinleştirme meta verisi eksik olduğunda eski `channels[]` - sahipliğine geri düşer -- sağlayıcı tetiklemeli kurulum/çalışma zamanı planlaması, açık sağlayıcı - etkinleştirme meta verisi eksik olduğunda eski `providers[]` ve üst düzey `cliBackends[]` sahipliğine geri düşer +- komut tetiklemeli CLI planlaması, eski `commandAliases[].cliCommand` veya `commandAliases[].name` alanlarına geri döner +- kanal tetiklemeli kurulum/kanal planlaması, açık kanal etkinleştirme meta verisi eksik olduğunda eski `channels[]` sahipliğine geri döner +- provider tetiklemeli kurulum/çalışma zamanı planlaması, açık provider etkinleştirme meta verisi eksik olduğunda eski `providers[]` ve üst düzey `cliBackends[]` sahipliğine geri döner -## setup başvurusu +## `setup` başvurusu -Kurulum ve onboarding yüzeyleri, çalışma zamanı yüklenmeden önce plugin sahipli düşük maliyetli meta verilere ihtiyaç duyduğunda `setup` kullanın. +Kurulum ve onboarding yüzeyleri çalışma zamanı yüklenmeden önce plugin'e ait düşük maliyetli meta verilere ihtiyaç duyuyorsa `setup` kullanın. ```json { @@ -297,30 +290,30 @@ Kurulum ve onboarding yüzeyleri, çalışma zamanı yüklenmeden önce plugin s } ``` -Üst düzey `cliBackends` geçerliliğini korur ve CLI çıkarım arka uçlarını tanımlamaya devam eder. `setup.cliBackends`, yalnızca meta veri olarak kalması gereken denetim düzlemi/kurulum akışları için kurulum odaklı tanımlayıcı yüzeyidir. +Üst düzey `cliBackends` geçerliliğini korur ve CLI çıkarım backend'lerini açıklamaya devam eder. `setup.cliBackends`, yalnızca meta veri olarak kalması gereken denetim düzlemi/kurulum akışları için kurulum odaklı tanımlayıcı yüzeyidir. -Varsa, `setup.providers` ve `setup.cliBackends`, kurulum keşfi için tercih edilen tanımlayıcı öncelikli arama yüzeyidir. Tanımlayıcı yalnızca aday plugin’i daraltıyorsa ve kurulum hâlâ daha zengin kurulum zamanı çalışma zamanı hook’larına ihtiyaç duyuyorsa `requiresRuntime: true` ayarlayın ve yedek yürütme yolu olarak `setup-api` öğesini yerinde bırakın. +Varsa `setup.providers` ve `setup.cliBackends`, kurulum keşfi için tercih edilen tanımlayıcı öncelikli arama yüzeyidir. Tanımlayıcı yalnızca aday plugin'i daraltıyorsa ve kurulum hâlâ daha zengin kurulum zamanı çalışma zamanı hook'larına ihtiyaç duyuyorsa `requiresRuntime: true` ayarlayın ve yedek yürütme yolu olarak `setup-api` kullanımını koruyun. -Kurulum araması plugin sahipli `setup-api` kodunu çalıştırabildiğinden, normalize edilmiş `setup.providers[].id` ve `setup.cliBackends[]` değerleri keşfedilen plugin’ler arasında genel olarak benzersiz kalmalıdır. Belirsiz sahiplik, keşif sırasından bir kazanan seçmek yerine güvenli biçimde kapatılır. +Kurulum araması plugin'e ait `setup-api` kodunu çalıştırabildiğinden, normalize edilmiş `setup.providers[].id` ve `setup.cliBackends[]` değerleri keşfedilen plugin'ler arasında benzersiz kalmalıdır. Belirsiz sahiplik, keşif sırasından bir kazanan seçmek yerine güvenli biçimde başarısız olur. -### setup.providers başvurusu +### `setup.providers` başvurusu -| Alan | Gerekli | Tür | Anlamı | -| ------------- | ------- | ---------- | ---------------------------------------------------------------------------------------- | -| `id` | Evet | `string` | Kurulum veya onboarding sırasında sunulan sağlayıcı kimliği. Normalize edilmiş kimlikleri genel olarak benzersiz tutun. | -| `authMethods` | Hayır | `string[]` | Tam çalışma zamanını yüklemeden bu sağlayıcının desteklediği kurulum/kimlik doğrulama yöntemleri. | -| `envVars` | Hayır | `string[]` | Genel kurulum/durum yüzeylerinin plugin çalışma zamanı yüklenmeden önce kontrol edebileceği env değişkenleri. | +| Alan | Gerekli | Tür | Anlamı | +| ------------- | -------- | ---------- | --------------------------------------------------------------------------------------- | +| `id` | Evet | `string` | Kurulum veya onboarding sırasında açığa çıkan provider kimliği. Normalize kimlikleri küresel olarak benzersiz tutun. | +| `authMethods` | Hayır | `string[]` | Bu provider'ın tam çalışma zamanını yüklemeden desteklediği kurulum/kimlik doğrulama yöntemi kimlikleri. | +| `envVars` | Hayır | `string[]` | Genel kurulum/durum yüzeylerinin plugin çalışma zamanı yüklenmeden önce denetleyebileceği ortam değişkenleri. | -### setup alanları +### `setup` alanları -| Alan | Gerekli | Tür | Anlamı | -| ------------------ | ------- | ---------- | ----------------------------------------------------------------------------------------------- | -| `providers` | Hayır | `object[]` | Kurulum ve onboarding sırasında sunulan sağlayıcı kurulum tanımlayıcıları. | -| `cliBackends` | Hayır | `string[]` | Tanımlayıcı öncelikli kurulum araması için kullanılan kurulum zamanı arka uç kimlikleri. Normalize edilmiş kimlikleri genel olarak benzersiz tutun. | -| `configMigrations` | Hayır | `string[]` | Bu plugin’in kurulum yüzeyine ait yapılandırma geçiş kimlikleri. | -| `requiresRuntime` | Hayır | `boolean` | Tanımlayıcı aramasından sonra kurulumun hâlâ `setup-api` yürütmesine ihtiyaç duyup duymadığı. | +| Alan | Gerekli | Tür | Anlamı | +| ------------------ | -------- | ---------- | ---------------------------------------------------------------------------------------------- | +| `providers` | Hayır | `object[]` | Kurulum ve onboarding sırasında açığa çıkan provider kurulum tanımlayıcıları. | +| `cliBackends` | Hayır | `string[]` | Tanımlayıcı öncelikli kurulum araması için kullanılan kurulum zamanı backend kimlikleri. Normalize kimlikleri küresel olarak benzersiz tutun. | +| `configMigrations` | Hayır | `string[]` | Bu plugin'in kurulum yüzeyine ait yapılandırma geçişi kimlikleri. | +| `requiresRuntime` | Hayır | `boolean` | Tanımlayıcı aramasından sonra kurulumun hâlâ `setup-api` yürütmesine ihtiyaç duyup duymadığı. | -## uiHints başvurusu +## `uiHints` başvurusu `uiHints`, yapılandırma alan adlarından küçük işleme ipuçlarına giden bir eşlemedir. @@ -328,8 +321,8 @@ Kurulum araması plugin sahipli `setup-api` kodunu çalıştırabildiğinden, no { "uiHints": { "apiKey": { - "label": "API anahtarı", - "help": "OpenRouter istekleri için kullanılır", + "label": "API key", + "help": "Used for OpenRouter requests", "placeholder": "sk-or-v1-...", "sensitive": true } @@ -339,22 +332,23 @@ Kurulum araması plugin sahipli `setup-api` kodunu çalıştırabildiğinden, no Her alan ipucu şunları içerebilir: -| Alan | Tür | Anlamı | -| ------------- | ---------- | --------------------------------------- | -| `label` | `string` | Kullanıcıya dönük alan etiketi. | -| `help` | `string` | Kısa yardımcı metin. | -| `tags` | `string[]` | İsteğe bağlı UI etiketleri. | -| `advanced` | `boolean` | Alanı gelişmiş olarak işaretler. | +| Alan | Tür | Anlamı | +| ------------- | ---------- | ------------------------------------- | +| `label` | `string` | Kullanıcıya görünen alan etiketi. | +| `help` | `string` | Kısa yardımcı metin. | +| `tags` | `string[]` | İsteğe bağlı UI etiketleri. | +| `advanced` | `boolean` | Alanı gelişmiş olarak işaretler. | | `sensitive` | `boolean` | Alanı gizli veya hassas olarak işaretler. | -| `placeholder` | `string` | Form girdileri için yer tutucu metin. | +| `placeholder` | `string` | Form girdileri için yer tutucu metin. | -## contracts başvurusu +## `contracts` başvurusu -`contracts` öğesini yalnızca OpenClaw’un plugin çalışma zamanını içe aktarmadan okuyabileceği statik yetenek sahipliği meta verileri için kullanın. +OpenClaw'ın plugin çalışma zamanını içe aktarmadan okuyabileceği statik yetenek sahipliği meta verileri için yalnızca `contracts` kullanın. ```json { "contracts": { + "embeddedExtensionFactories": ["pi"], "speechProviders": ["openai"], "realtimeTranscriptionProviders": ["openai"], "realtimeVoiceProviders": ["openai"], @@ -370,21 +364,56 @@ Her alan ipucu şunları içerebilir: Her liste isteğe bağlıdır: -| Alan | Tür | Anlamı | -| -------------------------------- | ---------- | ---------------------------------------------------------- | -| `speechProviders` | `string[]` | Bu plugin’e ait konuşma sağlayıcısı kimlikleri. | -| `realtimeTranscriptionProviders` | `string[]` | Bu plugin’e ait gerçek zamanlı transkripsiyon sağlayıcısı kimlikleri. | -| `realtimeVoiceProviders` | `string[]` | Bu plugin’e ait gerçek zamanlı ses sağlayıcısı kimlikleri. | -| `mediaUnderstandingProviders` | `string[]` | Bu plugin’e ait medya-anlama sağlayıcısı kimlikleri. | -| `imageGenerationProviders` | `string[]` | Bu plugin’e ait görsel üretimi sağlayıcısı kimlikleri. | -| `videoGenerationProviders` | `string[]` | Bu plugin’e ait video üretimi sağlayıcısı kimlikleri. | -| `webFetchProviders` | `string[]` | Bu plugin’e ait web-fetch sağlayıcısı kimlikleri. | -| `webSearchProviders` | `string[]` | Bu plugin’e ait web araması sağlayıcısı kimlikleri. | -| `tools` | `string[]` | Paketlenmiş sözleşme denetimleri için bu plugin’e ait aracı araç adları. | +| Alan | Tür | Anlamı | +| -------------------------------- | ---------- | --------------------------------------------------------------------- | +| `embeddedExtensionFactories` | `string[]` | Paketlenmiş bir plugin'in fabrika kaydedebileceği gömülü çalışma zamanı kimlikleri. | +| `speechProviders` | `string[]` | Bu plugin'in sahip olduğu konuşma provider kimlikleri. | +| `realtimeTranscriptionProviders` | `string[]` | Bu plugin'in sahip olduğu gerçek zamanlı transkripsiyon provider kimlikleri. | +| `realtimeVoiceProviders` | `string[]` | Bu plugin'in sahip olduğu gerçek zamanlı ses provider kimlikleri. | +| `mediaUnderstandingProviders` | `string[]` | Bu plugin'in sahip olduğu medya anlama provider kimlikleri. | +| `imageGenerationProviders` | `string[]` | Bu plugin'in sahip olduğu görsel oluşturma provider kimlikleri. | +| `videoGenerationProviders` | `string[]` | Bu plugin'in sahip olduğu video oluşturma provider kimlikleri. | +| `webFetchProviders` | `string[]` | Bu plugin'in sahip olduğu web getirme provider kimlikleri. | +| `webSearchProviders` | `string[]` | Bu plugin'in sahip olduğu web arama provider kimlikleri. | +| `tools` | `string[]` | Paketlenmiş sözleşme denetimleri için bu plugin'in sahip olduğu ajan araç adları. | -## channelConfigs başvurusu +## `mediaUnderstandingProviderMetadata` başvurusu -Bir kanal plugin’i, çalışma zamanı yüklenmeden önce düşük maliyetli yapılandırma meta verilerine ihtiyaç duyduğunda `channelConfigs` kullanın. +Bir medya anlama provider'ının, genel çekirdek yardımcılarının çalışma zamanı yüklenmeden önce ihtiyaç duyduğu varsayılan modellere, otomatik kimlik doğrulama geri dönüş önceliğine veya yerel belge desteğine sahip olduğu durumlarda `mediaUnderstandingProviderMetadata` kullanın. Anahtarlar ayrıca `contracts.mediaUnderstandingProviders` içinde de bildirilmelidir. + +```json +{ + "contracts": { + "mediaUnderstandingProviders": ["example"] + }, + "mediaUnderstandingProviderMetadata": { + "example": { + "capabilities": ["image", "audio"], + "defaultModels": { + "image": "example-vision-latest", + "audio": "example-transcribe-latest" + }, + "autoPriority": { + "image": 40 + }, + "nativeDocumentInputs": ["pdf"] + } + } +} +``` + +Her provider girdisi şunları içerebilir: + +| Alan | Tür | Anlamı | +| ---------------------- | ----------------------------------- | --------------------------------------------------------------------------- | +| `capabilities` | `("image" \| "audio" \| "video")[]` | Bu provider tarafından sunulan medya yetenekleri. | +| `defaultModels` | `Record` | Yapılandırma bir model belirtmediğinde kullanılan yetenekten modele varsayılan eşlemeleri. | +| `autoPriority` | `Record` | Kimlik bilgisine dayalı otomatik provider geri dönüşünde daha düşük sayılar önce sıralanır. | +| `nativeDocumentInputs` | `"pdf"[]` | Provider tarafından desteklenen yerel belge girdileri. | + +## `channelConfigs` başvurusu + +Bir kanal plugin'inin çalışma zamanı yüklenmeden önce düşük maliyetli yapılandırma meta verilerine ihtiyaç duyduğu durumlarda `channelConfigs` kullanın. ```json { @@ -413,17 +442,17 @@ Bir kanal plugin’i, çalışma zamanı yüklenmeden önce düşük maliyetli y Her kanal girdisi şunları içerebilir: -| Alan | Tür | Anlamı | -| ------------- | ------------------------ | ------------------------------------------------------------------------------------------ | -| `schema` | `object` | `channels.` için JSON Şeması. Bildirilen her kanal yapılandırma girdisi için gereklidir. | -| `uiHints` | `Record` | Bu kanal yapılandırma bölümü için isteğe bağlı UI etiketleri/yer tutucular/hassas ipuçları. | -| `label` | `string` | Çalışma zamanı meta verisi hazır olmadığında seçici ve inceleme yüzeylerine birleştirilen kanal etiketi. | -| `description` | `string` | İnceleme ve katalog yüzeyleri için kısa kanal açıklaması. | -| `preferOver` | `string[]` | Seçim yüzeylerinde bunun önüne geçmesi gereken eski veya düşük öncelikli plugin kimlikleri. | +| Alan | Tür | Anlamı | +| ------------- | ------------------------ | ------------------------------------------------------------------------------------------- | +| `schema` | `object` | `channels.` için JSON Schema. Bildirilen her kanal yapılandırma girdisi için zorunludur. | +| `uiHints` | `Record` | Bu kanal yapılandırma bölümü için isteğe bağlı UI etiketleri/yer tutucular/hassasiyet ipuçları. | +| `label` | `string` | Çalışma zamanı meta verileri hazır olmadığında seçiciye ve inceleme yüzeylerine birleştirilen kanal etiketi. | +| `description` | `string` | İnceleme ve katalog yüzeyleri için kısa kanal açıklaması. | +| `preferOver` | `string[]` | Bu kanalın seçim yüzeylerinde geride bırakması gereken eski veya daha düşük öncelikli plugin kimlikleri. | -## modelSupport başvurusu +## `modelSupport` başvurusu -OpenClaw’un, plugin çalışma zamanı yüklenmeden önce `gpt-5.4` veya `claude-sonnet-4.6` gibi kısa model kimliklerinden sağlayıcı plugin’inizi çıkarsamasını istiyorsanız `modelSupport` kullanın. +OpenClaw'ın, plugin çalışma zamanı yüklenmeden önce `gpt-5.4` veya `claude-sonnet-4.6` gibi kısa model kimliklerinden provider plugin'inizi çıkarsaması gerektiğinde `modelSupport` kullanın. ```json { @@ -434,71 +463,66 @@ OpenClaw’un, plugin çalışma zamanı yüklenmeden önce `gpt-5.4` veya `clau } ``` -OpenClaw şu önceliği uygular: +OpenClaw şu öncelik sırasını uygular: -- açık `provider/model` başvuruları sahip `providers` manifest meta verilerini kullanır -- `modelPatterns`, `modelPrefixes` üzerinde önceliklidir -- hem paketlenmemiş bir plugin hem de paketlenmiş bir plugin eşleşirse, paketlenmemiş plugin kazanır -- geri kalan belirsizlik, kullanıcı veya yapılandırma bir sağlayıcı belirtinceye kadar yok sayılır +- açık `provider/model` başvuruları, sahibi olan `providers` manifest meta verilerini kullanır +- `modelPatterns`, `modelPrefixes` değerlerini geçersiz kılar +- hem paketlenmemiş bir plugin hem de paketlenmiş bir plugin eşleşirse paketlenmemiş plugin kazanır +- kalan belirsizlik, kullanıcı veya yapılandırma bir provider belirtinceye kadar yok sayılır Alanlar: -| Alan | Tür | Anlamı | -| --------------- | ---------- | --------------------------------------------------------------------------- | -| `modelPrefixes` | `string[]` | Kısa model kimliklerine karşı `startsWith` ile eşleşen önekler. | +| Alan | Tür | Anlamı | +| --------------- | ---------- | ---------------------------------------------------------------------------- | +| `modelPrefixes` | `string[]` | Kısa model kimliklerine karşı `startsWith` ile eşleşen önekler. | | `modelPatterns` | `string[]` | Profil son eki kaldırıldıktan sonra kısa model kimliklerine karşı eşleşen regex kaynakları. | -Eski üst düzey yetenek anahtarları kullanımdan kaldırılmıştır. `speechProviders`, `realtimeTranscriptionProviders`, -`realtimeVoiceProviders`, `mediaUnderstandingProviders`, -`imageGenerationProviders`, `videoGenerationProviders`, -`webFetchProviders` ve `webSearchProviders` alanlarını `contracts` altına taşımak için `openclaw doctor --fix` kullanın; normal -manifest yükleme artık bu üst düzey alanları yetenek sahipliği olarak ele almaz. +Eski üst düzey yetenek anahtarları kullanımdan kaldırılmıştır. `speechProviders`, `realtimeTranscriptionProviders`, `realtimeVoiceProviders`, `mediaUnderstandingProviders`, `imageGenerationProviders`, `videoGenerationProviders`, `webFetchProviders` ve `webSearchProviders` alanlarını `contracts` altına taşımak için `openclaw doctor --fix` kullanın; normal manifest yükleme artık bu üst düzey alanları yetenek sahipliği olarak değerlendirmez. ## Manifest ile package.json karşılaştırması -Bu iki dosya farklı görevler görür: +Bu iki dosya farklı işler yapar: -| Dosya | Şunun için kullanın | -| ---------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -| `openclaw.plugin.json` | Keşif, yapılandırma doğrulaması, kimlik doğrulama seçeneği meta verileri ve plugin kodu çalışmadan önce var olması gereken UI ipuçları | +| Dosya | Şunun için kullanın | +| ---------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| `openclaw.plugin.json` | Plugin kodu çalışmadan önce var olması gereken keşif, yapılandırma doğrulaması, kimlik doğrulama seçeneği meta verileri ve UI ipuçları | | `package.json` | npm meta verileri, bağımlılık kurulumu ve giriş noktaları, kurulum geçitlemesi, setup veya katalog meta verileri için kullanılan `openclaw` bloğu | -Bir meta veri parçasının nereye ait olduğundan emin değilseniz şu kuralı kullanın: +Bir meta verinin nereye ait olduğundan emin değilseniz şu kuralı kullanın: - OpenClaw bunu plugin kodunu yüklemeden önce bilmek zorundaysa `openclaw.plugin.json` içine koyun - paketleme, giriş dosyaları veya npm kurulum davranışıyla ilgiliyse `package.json` içine koyun -### Keşfi etkileyen package.json alanları +### Keşfi etkileyen `package.json` alanları -Bazı çalışma zamanı öncesi plugin meta verileri, `openclaw.plugin.json` yerine kasten `package.json` içindeki -`openclaw` bloğu altında bulunur. +Çalışma zamanından önceki bazı plugin meta verileri, bilinçli olarak `openclaw.plugin.json` yerine `package.json` içindeki `openclaw` bloğunda bulunur. Önemli örnekler: -| Alan | Anlamı | -| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `openclaw.extensions` | Yerel plugin giriş noktalarını bildirir. Plugin paket dizini içinde kalmak zorundadır. | -| `openclaw.runtimeExtensions` | Kurulu paketler için derlenmiş JavaScript çalışma zamanı giriş noktalarını bildirir. Plugin paket dizini içinde kalmak zorundadır. | -| `openclaw.setupEntry` | Onboarding, ertelenmiş kanal başlatma ve salt okunur kanal durumu/SecretRef keşfi sırasında kullanılan hafif yalnızca-kurulum giriş noktası. Plugin paket dizini içinde kalmak zorundadır. | -| `openclaw.runtimeSetupEntry` | Kurulu paketler için derlenmiş JavaScript kurulum giriş noktasını bildirir. Plugin paket dizini içinde kalmak zorundadır. | -| `openclaw.channel` | Etiketler, doküman yolları, takma adlar ve seçim metni gibi düşük maliyetli kanal katalog meta verileri. | -| `openclaw.channel.configuredState` | Tam kanal çalışma zamanını yüklemeden "yalnızca env tabanlı kurulum zaten var mı?" sorusunu cevaplayabilen hafif configured-state checker meta verileri. | -| `openclaw.channel.persistedAuthState` | Tam kanal çalışma zamanını yüklemeden "zaten oturum açılmış bir şey var mı?" sorusunu cevaplayabilen hafif persisted-auth checker meta verileri. | -| `openclaw.install.npmSpec` / `openclaw.install.localPath` | Paketlenmiş ve dışarıda yayımlanmış plugin’ler için kurulum/güncelleme ipuçları. | -| `openclaw.install.defaultChoice` | Birden fazla kurulum kaynağı olduğunda tercih edilen kurulum yolu. | -| `openclaw.install.minHostVersion` | `>=2026.3.22` gibi bir semver alt sınırı kullanan, desteklenen en düşük OpenClaw host sürümü. | -| `openclaw.install.allowInvalidConfigRecovery` | Yapılandırma geçersiz olduğunda dar kapsamlı bir paketlenmiş-plugin yeniden kurulum kurtarma yoluna izin verir. | -| `openclaw.startup.deferConfiguredChannelFullLoadUntilAfterListen` | Başlangıç sırasında tam kanal plugin’inden önce yalnızca-kurulum kanal yüzeylerinin yüklenmesine izin verir. | +| Alan | Anlamı | +| ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `openclaw.extensions` | Yerel plugin giriş noktalarını bildirir. Plugin paket dizini içinde kalmalıdır. | +| `openclaw.runtimeExtensions` | Kurulu paketler için derlenmiş JavaScript çalışma zamanı giriş noktalarını bildirir. Plugin paket dizini içinde kalmalıdır. | +| `openclaw.setupEntry` | Onboarding, ertelenmiş kanal başlangıcı ve salt okunur kanal durumu/SecretRef keşfi sırasında kullanılan hafif, yalnızca setup giriş noktasıdır. Plugin paket dizini içinde kalmalıdır. | +| `openclaw.runtimeSetupEntry` | Kurulu paketler için derlenmiş JavaScript setup giriş noktasını bildirir. Plugin paket dizini içinde kalmalıdır. | +| `openclaw.channel` | Etiketler, belge yolları, takma adlar ve seçim metni gibi düşük maliyetli kanal katalog meta verileri. | +| `openclaw.channel.configuredState` | Tam kanal çalışma zamanını yüklemeden "yalnızca env temelli kurulum zaten mevcut mu?" sorusunu yanıtlayabilen hafif yapılandırılmış durum denetleyicisi meta verileri. | +| `openclaw.channel.persistedAuthState` | Tam kanal çalışma zamanını yüklemeden "zaten oturum açılmış bir şey var mı?" sorusunu yanıtlayabilen hafif kalıcı kimlik doğrulama durumu denetleyicisi meta verileri. | +| `openclaw.install.npmSpec` / `openclaw.install.localPath` | Paketlenmiş ve dışarıda yayımlanmış plugin'ler için kurulum/güncelleme ipuçları. | +| `openclaw.install.defaultChoice` | Birden fazla kurulum kaynağı mevcut olduğunda tercih edilen kurulum yolu. | +| `openclaw.install.minHostVersion` | `>=2026.3.22` gibi bir semver alt sınırı kullanarak desteklenen en düşük OpenClaw ana makine sürümü. | +| `openclaw.install.allowInvalidConfigRecovery` | Yapılandırma geçersiz olduğunda dar kapsamlı, paketlenmiş plugin yeniden kurulum kurtarma yoluna izin verir. | +| `openclaw.startup.deferConfiguredChannelFullLoadUntilAfterListen` | Başlangıç sırasında tam kanal plugin'inden önce yalnızca setup kanal yüzeylerinin yüklenmesine izin verir. | -`openclaw.install.minHostVersion`, kurulum ve manifest kayıt defteri yükleme sırasında zorlanır. Geçersiz değerler reddedilir; daha yeni ama geçerli değerler eski host’larda plugin’i atlar. +`openclaw.install.minHostVersion`, kurulum ve manifest kayıt defteri yükleme sırasında uygulanır. Geçersiz değerler reddedilir; daha yeni ama geçerli değerler, daha eski ana makinelerde plugin'i atlar. -Kanal plugin’leri, durum, kanal listesi veya SecretRef taramalarının tam çalışma zamanını yüklemeden yapılandırılmış hesapları tanımlaması gerektiğinde `openclaw.setupEntry` sağlamalıdır. Kurulum girdisi kanal meta verilerini ve kurulum için güvenli yapılandırma, durum ve sır bağdaştırıcılarını sunmalıdır; ağ istemcilerini, gateway dinleyicilerini ve taşıma çalışma zamanlarını ana uzantı giriş noktasında tutun. +Kanal plugin'leri, durum, kanal listesi veya SecretRef taramalarının tam çalışma zamanını yüklemeden yapılandırılmış hesapları belirlemesi gerektiğinde `openclaw.setupEntry` sağlamalıdır. Setup girişi, kanal meta verilerini ve setup için güvenli yapılandırma, durum ve gizli anahtar adaptörlerini açığa çıkarmalıdır; ağ istemcilerini, Gateway dinleyicilerini ve taşıma çalışma zamanlarını ana eklenti giriş noktasında tutun. -Çalışma zamanı giriş noktası alanları, kaynak giriş noktası alanları için paket sınırı denetimlerini geçersiz kılmaz. Örneğin `openclaw.runtimeExtensions`, sınır dışına kaçan bir `openclaw.extensions` yolunu yüklenebilir hâle getiremez. +Çalışma zamanı giriş noktası alanları, kaynak giriş noktası alanları için paket sınırı denetimlerini geçersiz kılmaz. Örneğin, `openclaw.runtimeExtensions`, sınır dışına çıkan bir `openclaw.extensions` yolunu yüklenebilir hâle getiremez. -`openclaw.install.allowInvalidConfigRecovery` kasten dardır. Keyfi bozuk yapılandırmaları kurulabilir hâle getirmez. Bugün yalnızca eksik paketlenmiş plugin yolu veya aynı paketlenmiş plugin için bayat `channels.` girdisi gibi belirli bayat paketlenmiş-plugin yükseltme hatalarından kurulum akışlarının kurtulmasına izin verir. İlgisiz yapılandırma hataları yine de kurulumu engeller ve operatörleri `openclaw doctor --fix` komutuna yönlendirir. +`openclaw.install.allowInvalidConfigRecovery` kasıtlı olarak dar kapsamlıdır. Rastgele bozuk yapılandırmaları kurulabilir hâle getirmez. Bugün yalnızca, eksik paketlenmiş plugin yolu veya aynı paketlenmiş plugin için eski bir `channels.` girdisi gibi belirli eski paketlenmiş plugin yükseltme hatalarından kurulum akışlarının kurtulmasına izin verir. İlgisiz yapılandırma hataları hâlâ kurulumu engeller ve operatörleri `openclaw doctor --fix` komutuna yönlendirir. -`openclaw.channel.persistedAuthState`, küçük bir checker modülü için paket meta verisidir: +`openclaw.channel.persistedAuthState`, küçük bir denetleyici modül için paket meta verisidir: ```json { @@ -514,9 +538,9 @@ Kanal plugin’leri, durum, kanal listesi veya SecretRef taramalarının tam ça } ``` -Bunu, setup, doctor veya configured-state akışlarının tam kanal plugin’i yüklenmeden önce düşük maliyetli bir evet/hayır kimlik doğrulama yoklamasına ihtiyaç duyduğu durumlarda kullanın. Hedef dışa aktarım yalnızca kalıcı durumu okuyan küçük bir işlev olmalıdır; bunu tam kanal çalışma zamanı barrel’ı üzerinden yönlendirmeyin. +Setup, doctor veya yapılandırılmış durum akışlarının tam kanal plugin'i yüklenmeden önce düşük maliyetli bir evet/hayır kimlik doğrulama yoklamasına ihtiyaç duyduğu durumlarda bunu kullanın. Hedef dışa aktarma, yalnızca kalıcı durumu okuyan küçük bir işlev olmalıdır; bunu tam kanal çalışma zamanı barrel'ı üzerinden yönlendirmeyin. -`openclaw.channel.configuredState`, düşük maliyetli yalnızca-env configured denetimleri için aynı biçimi izler: +`openclaw.channel.configuredState`, düşük maliyetli yalnızca env tabanlı yapılandırılmış durum denetimleri için aynı biçimi izler: ```json { @@ -532,82 +556,63 @@ Bunu, setup, doctor veya configured-state akışlarının tam kanal plugin’i y } ``` -Bunu, bir kanal configured-state bilgisini env veya başka küçük çalışma zamanı dışı girdilerden cevaplayabiliyorsa kullanın. Denetim tam yapılandırma çözümlemesi veya gerçek kanal çalışma zamanı gerektiriyorsa, bu mantığı bunun yerine plugin `config.hasConfiguredState` hook’u içinde tutun. +Bir kanal, yapılandırılmış durumu env veya diğer küçük çalışma zamanı dışı girdilerden yanıtlayabiliyorsa bunu kullanın. Denetim tam yapılandırma çözümlemesi veya gerçek kanal çalışma zamanını gerektiriyorsa bu mantığı bunun yerine plugin `config.hasConfiguredState` hook'unda tutun. ## Keşif önceliği (yinelenen plugin kimlikleri) -OpenClaw, plugin’leri birkaç kökten keşfeder (paketlenmiş, genel kurulum, çalışma alanı, açık yapılandırmayla seçilmiş yollar). İki keşif aynı `id` değerini paylaşıyorsa yalnızca **en yüksek öncelikli** manifest tutulur; daha düşük öncelikli yinelenenler yanında yüklenmek yerine düşürülür. +OpenClaw plugin'leri çeşitli köklerden keşfeder (paketlenmiş, global kurulum, çalışma alanı, yapılandırmada açıkça seçilen yollar). İki keşif aynı `id` değerini paylaşıyorsa yalnızca **en yüksek öncelikli** manifest tutulur; daha düşük öncelikli yinelenenler onun yanında yüklenmek yerine atılır. -Öncelik, yüksekten düşüğe: +Öncelik sırası, yüksekten düşüğe: -1. **Yapılandırmayla seçilen** — `plugins.entries.` içinde açıkça sabitlenmiş bir yol -2. **Paketlenmiş** — OpenClaw ile gelen plugin’ler -3. **Genel kurulum** — genel OpenClaw plugin köküne kurulmuş plugin’ler -4. **Çalışma alanı** — geçerli çalışma alanına göre keşfedilen plugin’ler +1. **Yapılandırmada seçilen** — `plugins.entries.` içinde açıkça sabitlenmiş bir yol +2. **Paketlenmiş** — OpenClaw ile birlikte gelen plugin'ler +3. **Global kurulum** — global OpenClaw plugin köküne kurulmuş plugin'ler +4. **Çalışma alanı** — geçerli çalışma alanına göre keşfedilen plugin'ler Sonuçlar: -- Çalışma alanında duran, çatallanmış veya bayat bir paketlenmiş plugin kopyası paketlenmiş derlemeyi gölgeleyemez. -- Paketlenmiş bir plugin’i yerel bir kopyayla gerçekten geçersiz kılmak için, çalışma alanı keşfine güvenmek yerine öncelikle kazanması amacıyla onu `plugins.entries.` üzerinden sabitleyin. -- Yinelenen düşürmeler günlüğe kaydedilir; böylece Doctor ve başlangıç tanıları elenen kopyaya işaret edebilir. +- Çalışma alanında duran, çatallanmış veya eski bir paketlenmiş plugin kopyası, paketlenmiş derlemenin önüne geçmez. +- Paketlenmiş bir plugin'i yerel olanla gerçekten geçersiz kılmak için, çalışma alanı keşfine güvenmek yerine öncelik sırasıyla kazanması amacıyla onu `plugins.entries.` üzerinden sabitleyin. +- Atılan yinelenenler günlüğe kaydedilir; böylece Doctor ve başlangıç tanılamaları elenen kopyayı gösterebilir. -## JSON Şeması gereksinimleri +## JSON Schema gereksinimleri -- **Her plugin bir JSON Şeması yayımlamak zorundadır**, hiçbir yapılandırma kabul etmese bile. +- **Her plugin mutlaka bir JSON Schema yayımlamalıdır**, yapılandırma kabul etmese bile. - Boş bir şema kabul edilebilir (örneğin `{ "type": "object", "additionalProperties": false }`). - Şemalar çalışma zamanında değil, yapılandırma okuma/yazma sırasında doğrulanır. ## Doğrulama davranışı -- Plugin manifesti tarafından kanal kimliği bildirilmediği sürece bilinmeyen `channels.*` anahtarları **hatadır**. -- `plugins.entries.`, `plugins.allow`, `plugins.deny` ve `plugins.slots.*` - **keşfedilebilir** plugin kimliklerine başvurmalıdır. Bilinmeyen kimlikler **hatadır**. -- Bir plugin kuruluysa ama manifesti veya şeması bozuksa ya da eksikse, - doğrulama başarısız olur ve Doctor plugin hatasını bildirir. -- Plugin yapılandırması varsa ama plugin **devre dışıysa**, yapılandırma korunur ve - Doctor + günlüklerde bir **uyarı** gösterilir. +- Bilinmeyen `channels.*` anahtarları, kanal kimliği bir plugin manifesti tarafından bildirilmedikçe **hatadır**. +- `plugins.entries.`, `plugins.allow`, `plugins.deny` ve `plugins.slots.*`, **keşfedilebilir** plugin kimliklerine başvurmalıdır. Bilinmeyen kimlikler **hatadır**. +- Bir plugin kuruluysa ancak bozuk veya eksik manifesti ya da şeması varsa doğrulama başarısız olur ve Doctor plugin hatasını bildirir. +- Plugin yapılandırması varsa ancak plugin **devre dışıysa**, yapılandırma korunur ve Doctor + günlüklerde bir **uyarı** gösterilir. -Tam `plugins.*` şeması için bkz. [Configuration reference](/tr/gateway/configuration). +Tam `plugins.*` şeması için bkz. [Yapılandırma başvurusu](/tr/gateway/configuration). ## Notlar -- Manifest, yerel dosya sistemi yüklemeleri dahil **yerel OpenClaw plugin’leri için zorunludur**. -- Çalışma zamanı yine de plugin modülünü ayrı olarak yükler; manifest yalnızca - keşif + doğrulama içindir. -- Yerel manifestler JSON5 ile ayrıştırılır; dolayısıyla son değer hâlâ bir nesne olduğu sürece yorumlar, sondaki virgüller ve tırnaksız anahtarlar kabul edilir. -- Manifest yükleyicisi yalnızca belgelenmiş manifest alanlarını okur. Buraya - özel üst düzey anahtarlar eklemekten kaçının. -- `providerAuthEnvVars`, kimlik doğrulama yoklamaları, env-marker - doğrulaması ve env adlarını incelemek için plugin çalışma zamanını başlatmaması gereken benzer sağlayıcı kimlik doğrulama yüzeyleri için düşük maliyetli meta veri yoludur. -- `providerAuthAliases`, sağlayıcı varyantlarının başka bir sağlayıcının kimlik doğrulama - env değişkenlerini, kimlik doğrulama profillerini, yapılandırma destekli kimlik doğrulamayı ve API anahtarlı onboarding seçeneğini çekirdeğe bu ilişkiyi sabit kodlamadan yeniden kullanmasına izin verir. -- `providerEndpoints`, sağlayıcı plugin’lerinin basit uç nokta host/baseUrl - eşleştirme meta verilerine sahip olmasını sağlar. Bunu yalnızca çekirdeğin zaten desteklediği uç nokta sınıfları için kullanın; çalışma zamanı davranışı yine de plugin’e aittir. -- `syntheticAuthRefs`, çalışma zamanı kayıt defteri oluşmadan önce soğuk model keşfi için görünür olması gereken sağlayıcı sahipli sentetik - kimlik doğrulama hook’ları için düşük maliyetli meta veri yoludur. Yalnızca çalışma zamanı sağlayıcısı veya CLI arka ucu gerçekten `resolveSyntheticAuth` uygulayan başvuruları listeleyin. -- `nonSecretAuthMarkers`, yerel, OAuth veya ortam kimlik bilgisi işaretçileri gibi paketlenmiş plugin sahipli - yer tutucu API anahtarları için düşük maliyetli meta veri yoludur. - Çekirdek, sahip sağlayıcıyı sabit kodlamadan bunları kimlik doğrulama gösterimi ve sır denetimleri için gizli olmayan değerler olarak ele alır. -- `channelEnvVars`, env adlarını incelemek için plugin çalışma zamanını başlatmaması gereken shell-env yedeği, setup - istemleri ve benzeri kanal yüzeyleri için düşük maliyetli meta veri yoludur. Env adları meta veridir, tek başlarına etkinleştirme değildir: durum, denetim, Cron teslim doğrulaması ve diğer salt okunur - yüzeyler, bir env değişkenini yapılandırılmış kanal olarak kabul etmeden önce yine de plugin güveni ve etkili etkinleştirme ilkesini uygular. -- `providerAuthChoices`, sağlayıcı çalışma zamanı yüklenmeden önce kimlik doğrulama seçeneği seçicileri, - `--auth-choice` çözümlemesi, tercih edilen sağlayıcı eşlemesi ve basit onboarding - CLI bayrağı kaydı için düşük maliyetli meta veri yoludur. Sağlayıcı kodu gerektiren çalışma zamanı sihirbazı - meta verileri için bkz. - [Provider runtime hooks](/tr/plugins/architecture#provider-runtime-hooks). -- Birbirini dışlayan plugin türleri `plugins.slots.*` üzerinden seçilir. - - `kind: "memory"` değeri `plugins.slots.memory` tarafından seçilir. - - `kind: "context-engine"` değeri `plugins.slots.contextEngine` - tarafından seçilir (varsayılan: yerleşik `legacy`). -- Bir plugin bunlara ihtiyaç duymuyorsa `channels`, `providers`, `cliBackends` ve `skills` - atlanabilir. -- Plugin’iniz yerel modüllere bağımlıysa derleme adımlarını ve tüm - paket yöneticisi izin listesi gereksinimlerini belgeleyin (örneğin pnpm `allow-build-scripts` +- Manifest, yerel dosya sistemi yüklemeleri dahil **yerel OpenClaw plugin'leri için zorunludur**. +- Çalışma zamanı yine de plugin modülünü ayrı olarak yükler; manifest yalnızca keşif + doğrulama içindir. +- Yerel manifestler JSON5 ile ayrıştırılır; bu nedenle son değer hâlâ bir nesne olduğu sürece yorumlar, sondaki virgüller ve tırnaksız anahtarlar kabul edilir. +- Manifest yükleyicisi yalnızca belgelenmiş manifest alanlarını okur. Buraya özel üst düzey anahtarlar eklemekten kaçının. +- `providerAuthEnvVars`, kimlik doğrulama yoklamaları, env işaretleyici doğrulaması ve env adlarını incelemek için plugin çalışma zamanını başlatmaması gereken benzer provider kimlik doğrulama yüzeyleri için düşük maliyetli meta veri yoludur. +- `providerAuthAliases`, provider varyantlarının başka bir provider'ın kimlik doğrulama env değişkenlerini, kimlik doğrulama profillerini, yapılandırma tabanlı kimlik doğrulamayı ve API anahtarı onboarding seçeneğini, bu ilişkiyi çekirdekte sabit kodlamadan yeniden kullanmasına izin verir. +- `providerEndpoints`, provider plugin'lerinin basit endpoint host/baseUrl eşleştirme meta verilerinin sahibi olmasına izin verir. Bunu yalnızca çekirdeğin zaten desteklediği endpoint sınıfları için kullanın; çalışma zamanı davranışının sahibi hâlâ plugin'dir. +- `syntheticAuthRefs`, çalışma zamanı kayıt defteri mevcut olmadan önce soğuk model keşfine görünür olması gereken provider'a ait sentetik kimlik doğrulama hook'ları için düşük maliyetli meta veri yoludur. Yalnızca çalışma zamanı provider'ı veya CLI backend'i gerçekten `resolveSyntheticAuth` uygulayan başvuruları listeleyin. +- `nonSecretAuthMarkers`, yerel, OAuth veya ortamdan gelen kimlik bilgisi işaretleyicileri gibi paketlenmiş plugin'e ait yer tutucu API anahtarları için düşük maliyetli meta veri yoludur. Çekirdek, sahibi olan provider'ı sabit kodlamadan bunları kimlik doğrulama gösterimi ve gizli bilgi denetimleri için gizli olmayan değerler olarak ele alır. +- `channelEnvVars`, env adlarını incelemek için plugin çalışma zamanını başlatmaması gereken kabuk env geri dönüşü, setup istemleri ve benzer kanal yüzeyleri için düşük maliyetli meta veri yoludur. Env adları meta veridir, tek başlarına etkinleştirme değildir: durum, denetim, Cron teslim doğrulaması ve diğer salt okunur yüzeyler, bir env değişkenini yapılandırılmış kanal olarak kabul etmeden önce hâlâ plugin güvenini ve etkili etkinleştirme ilkesini uygular. +- `providerAuthChoices`, provider çalışma zamanı yüklenmeden önce kimlik doğrulama seçici arayüzleri, `--auth-choice` çözümlemesi, tercih edilen provider eşlemesi ve basit onboarding CLI bayrağı kaydı için düşük maliyetli meta veri yoludur. Provider kodu gerektiren çalışma zamanı sihirbazı meta verileri için bkz. [Provider çalışma zamanı hook'ları](/tr/plugins/architecture#provider-runtime-hooks). +- Yalnızca birine özel plugin türleri `plugins.slots.*` üzerinden seçilir. + - `kind: "memory"` şu alan tarafından seçilir: `plugins.slots.memory`. + - `kind: "context-engine"` şu alan tarafından seçilir: `plugins.slots.contextEngine` + (varsayılan: yerleşik `legacy`). +- `channels`, `providers`, `cliBackends` ve `skills`, bir plugin bunlara ihtiyaç duymuyorsa atlanabilir. +- Plugin'iniz yerel modüllere bağlıysa derleme adımlarını ve paket yöneticisi izin listesi gereksinimlerini belgeleyin (örneğin, pnpm `allow-build-scripts` - `pnpm rebuild `). ## İlgili -- [Building Plugins](/tr/plugins/building-plugins) — plugin’lerle başlamaya giriş -- [Plugin Architecture](/tr/plugins/architecture) — iç mimari -- [SDK Overview](/tr/plugins/sdk-overview) — Plugin SDK başvurusu +- [Plugin'ler Oluşturma](/tr/plugins/building-plugins) — plugin'lerle çalışmaya başlama +- [Plugin Mimarisi](/tr/plugins/architecture) — iç mimari +- [SDK Genel Bakış](/tr/plugins/sdk-overview) — Plugin SDK başvurusu diff --git a/docs/tr/plugins/sdk-agent-harness.md b/docs/tr/plugins/sdk-agent-harness.md index 6c9b7cb76..64a8f22f5 100644 --- a/docs/tr/plugins/sdk-agent-harness.md +++ b/docs/tr/plugins/sdk-agent-harness.md @@ -1,37 +1,37 @@ --- read_when: - - Gömülü ajan çalışma zamanını veya harness kayıt defterini değiştiriyorsunuz - - Bir paketlenmiş veya güvenilir plugin'den bir ajan harness'i kaydediyorsunuz - - Codex plugin'inin model sağlayıcılarla nasıl ilişkili olduğunu anlamanız gerekir + - Gömülü aracı çalışma zamanını veya harness kayıt defterini değiştiriyorsunuz + - Bir paketlenmiş veya güvenilir Plugin'den bir aracı harness'i kaydediyorsunuz + - Codex Plugin'inin model sağlayıcılarla nasıl ilişkili olduğunu anlamanız gerekiyor sidebarTitle: Agent Harness -summary: Düşük seviyeli gömülü ajan yürütücüsünü değiştiren plugin'ler için deneysel SDK yüzeyi -title: Ajan Harness Plugin'leri +summary: Düşük seviyeli gömülü aracı yürütücüsünü değiştiren Plugin'ler için deneysel SDK yüzeyi +title: Aracı Harness Plugin'leri x-i18n: - generated_at: "2026-04-12T00:18:56Z" + generated_at: "2026-04-22T08:55:04Z" model: gpt-5.4 provider: openai - source_hash: 62b88fd24ce8b600179db27e16e8d764a2cd7a14e5c5df76374c33121aa5e365 + source_hash: 728fef59ae3cce29a3348842820f1f71a2eac98ae6b276179bce6c85d16613df source_path: plugins/sdk-agent-harness.md workflow: 15 --- -# Ajan Harness Plugin'leri +# Aracı Harness Plugin'leri -Bir **ajan harness'i**, hazırlanmış bir OpenClaw ajan dönüşü için düşük seviyeli yürütücüdür. Bir model sağlayıcısı, bir kanal veya bir araç kayıt defteri değildir. +Bir **agent harness**, hazırlanmış bir OpenClaw aracı dönüşü için düşük seviyeli yürütücüdür. Bu, bir model sağlayıcı, bir kanal veya bir araç kayıt defteri değildir. -Bu yüzeyi yalnızca paketlenmiş veya güvenilir yerel plugin'ler için kullanın. Sözleşme hâlâ deneyseldir çünkü parametre türleri kasıtlı olarak mevcut gömülü çalıştırıcıyı yansıtır. +Bu yüzeyi yalnızca paketlenmiş veya güvenilir yerel Plugin'ler için kullanın. Parametre türleri bilinçli olarak mevcut gömülü yürütücüyü yansıttığı için sözleşme hâlâ deneyseldir. ## Bir harness ne zaman kullanılmalı -Bir model ailesinin kendine ait yerel oturum çalışma zamanı varsa ve normal OpenClaw sağlayıcı taşıması yanlış soyutlamaysa bir ajan harness'i kaydedin. +Bir model ailesinin kendi yerel oturum çalışma zamanı varsa ve normal OpenClaw sağlayıcı taşıması yanlış soyutlamaysa bir agent harness kaydedin. Örnekler: -- iş parçacıklarını ve sıkıştırmayı sahiplenen yerel bir kodlama ajanı sunucusu -- yerel plan/muhakeme/araç olaylarını akış olarak iletmesi gereken yerel bir CLI veya daemon -- OpenClaw oturum dökümüne ek olarak kendi devam kimliğine ihtiyaç duyan bir model çalışma zamanı +- iş parçacıklarını ve Compaction'ı yöneten yerel bir kodlama aracı sunucusu +- yerel plan/akıl yürütme/araç olaylarını akıtması gereken yerel bir CLI veya daemon +- OpenClaw oturum dökümüne ek olarak kendi sürdürme kimliğine ihtiyaç duyan bir model çalışma zamanı -Yalnızca yeni bir LLM API eklemek için bir harness kaydetmeyin. Normal HTTP veya WebSocket model API'leri için bir [sağlayıcı plugin'i](/tr/plugins/sdk-provider-plugins) oluşturun. +Yalnızca yeni bir LLM API'si eklemek için harness kaydetmeyin. Normal HTTP veya WebSocket model API'leri için bir [sağlayıcı Plugin'i](/tr/plugins/sdk-provider-plugins) oluşturun. ## Çekirdeğin hâlâ sahip olduğu alanlar @@ -39,15 +39,15 @@ Bir harness seçilmeden önce OpenClaw şunları zaten çözümlemiştir: - sağlayıcı ve model - çalışma zamanı kimlik doğrulama durumu -- düşünme seviyesi ve bağlam bütçesi -- OpenClaw döküm/oturum dosyası +- düşünme düzeyi ve bağlam bütçesi +- OpenClaw dökümü/oturum dosyası - çalışma alanı, sandbox ve araç ilkesi -- kanal yanıt callback'leri ve akış callback'leri -- model fallback ve canlı model değiştirme ilkesi +- kanal yanıt geri çağrıları ve akış geri çağrıları +- model geri dönüşü ve canlı model değiştirme ilkesi -Bu ayrım kasıtlıdır. Bir harness hazırlanmış bir denemeyi çalıştırır; sağlayıcı seçmez, kanal teslimatını değiştirmez veya modelleri sessizce değiştirmez. +Bu ayrım bilinçlidir. Bir harness hazırlanmış bir denemeyi çalıştırır; sağlayıcı seçmez, kanal teslimini değiştirmez veya sessizce model değiştirmez. -## Bir harness kaydetme +## Bir harness kaydedin **İçe aktarma:** `openclaw/plugin-sdk/agent-harness` @@ -85,49 +85,49 @@ export default definePluginEntry({ ## Seçim ilkesi -OpenClaw, sağlayıcı/model çözümlemesinden sonra bir harness seçer: +OpenClaw bir harness'i sağlayıcı/model çözümlemesinden sonra seçer: -1. `OPENCLAW_AGENT_RUNTIME=` bu kimliğe sahip kayıtlı bir harness'i zorlar. -2. `OPENCLAW_AGENT_RUNTIME=pi` yerleşik PI harness'ini zorlar. -3. `OPENCLAW_AGENT_RUNTIME=auto` kayıtlı harness'lere çözümlenen sağlayıcıyı/modeli destekleyip desteklemediklerini sorar. -4. Hiçbir kayıtlı harness eşleşmezse OpenClaw, PI fallback devre dışı bırakılmadıkça PI kullanır. +1. `OPENCLAW_AGENT_RUNTIME=`, bu kimliğe sahip kayıtlı bir harness'i zorlar. +2. `OPENCLAW_AGENT_RUNTIME=pi`, yerleşik PI harness'ini zorlar. +3. `OPENCLAW_AGENT_RUNTIME=auto`, kayıtlı harness'lere çözümlemiş sağlayıcı/modeli destekleyip desteklemediklerini sorar. +4. Hiçbir kayıtlı harness eşleşmezse OpenClaw, PI geri dönüşü devre dışı bırakılmadıkça PI kullanır. -Zorlanan plugin harness hataları çalıştırma hataları olarak görünür. `auto` modunda OpenClaw, seçilen plugin harness bir dönüş yan etkileri üretmeden önce başarısız olursa PI'ye fallback yapabilir. Bunun yerine bu fallback'i kesin hata hâline getirmek için `OPENCLAW_AGENT_HARNESS_FALLBACK=none` veya `embeddedHarness.fallback: "none"` ayarlayın. +Plugin harness hataları çalıştırma hataları olarak görünür. `auto` modunda PI geri dönüşü yalnızca kayıtlı hiçbir Plugin harness çözümlemiş sağlayıcı/modeli desteklemediğinde kullanılır. Bir Plugin harness bir çalıştırmayı sahiplendikten sonra OpenClaw aynı dönüşü PI üzerinden yeniden oynatmaz; çünkü bu, kimlik doğrulama/çalışma zamanı anlamlarını değiştirebilir veya yan etkileri çoğaltabilir. -Paketlenmiş Codex plugin'i, harness kimliği olarak `codex` kaydeder. Çekirdek bunu sıradan bir plugin harness kimliği olarak değerlendirir; Codex'e özgü takma adlar paylaşılan çalışma zamanı seçicisinde değil, plugin'de veya operatör yapılandırmasında yer almalıdır. +Paketlenmiş Codex Plugin'i, harness kimliği olarak `codex` kaydeder. Çekirdek buna sıradan bir Plugin harness kimliği gibi davranır; Codex'e özgü diğer adlar ortak çalışma zamanı seçicisinde değil, Plugin'de veya operatör yapılandırmasında yer almalıdır. -## Sağlayıcı artı harness eşleştirmesi +## Sağlayıcı ve harness eşleştirmesi -Çoğu harness ayrıca bir sağlayıcı da kaydetmelidir. Sağlayıcı; model başvurularını, kimlik doğrulama durumunu, model meta verilerini ve `/model` seçimini OpenClaw'un geri kalanına görünür kılar. Harness daha sonra `supports(...)` içinde bu sağlayıcıyı sahiplenir. +Çoğu harness aynı zamanda bir sağlayıcı da kaydetmelidir. Sağlayıcı; model başvurularını, kimlik doğrulama durumunu, model meta verilerini ve `/model` seçimini OpenClaw'ın geri kalanına görünür kılar. Harness daha sonra `supports(...)` içinde bu sağlayıcıyı sahiplenir. -Paketlenmiş Codex plugin'i bu düzeni izler: +Paketlenmiş Codex Plugin'i bu deseni izler: - sağlayıcı kimliği: `codex` - kullanıcı model başvuruları: `codex/gpt-5.4`, `codex/gpt-5.2` veya Codex uygulama sunucusunun döndürdüğü başka bir model - harness kimliği: `codex` -- kimlik doğrulama: sentetik sağlayıcı kullanılabilirliği, çünkü Codex harness'i yerel Codex giriş/oturumunu sahiplenir +- kimlik doğrulama: sentetik sağlayıcı kullanılabilirliği, çünkü yerel Codex oturum açma/oturumunu Codex harness'i yönetir - uygulama sunucusu isteği: OpenClaw çıplak model kimliğini Codex'e gönderir ve harness'in yerel uygulama sunucusu protokolüyle konuşmasına izin verir -Codex plugin'i ekleyicidir. Düz `openai/gpt-*` başvuruları OpenAI sağlayıcı başvuruları olarak kalır ve normal OpenClaw sağlayıcı yolunu kullanmaya devam eder. Codex tarafından yönetilen kimlik doğrulama, Codex model keşfi, yerel iş parçacıkları ve Codex uygulama sunucusu yürütmesi istediğinizde `codex/gpt-*` seçin. `/model`, OpenAI sağlayıcı kimlik bilgileri gerektirmeden Codex uygulama sunucusunun döndürdüğü Codex modelleri arasında geçiş yapabilir. +Codex Plugin'i ekleyicidir. Düz `openai/gpt-*` başvuruları OpenAI sağlayıcı başvuruları olarak kalır ve normal OpenClaw sağlayıcı yolunu kullanmaya devam eder. Codex tarafından yönetilen kimlik doğrulama, Codex model keşfi, yerel iş parçacıkları ve Codex uygulama sunucusu yürütmesi istediğinizde `codex/gpt-*` seçin. `/model`, OpenAI sağlayıcı kimlik bilgileri gerektirmeden Codex uygulama sunucusunun döndürdüğü Codex modelleri arasında geçiş yapabilir. -Operatör kurulumu, model öneki örnekleri ve yalnızca Codex yapılandırmaları için bkz. [Codex Harness](/tr/plugins/codex-harness). +Operatör kurulumu, model öneki örnekleri ve yalnızca Codex yapılandırmaları için [Codex Harness](/tr/plugins/codex-harness) bölümüne bakın. -OpenClaw, Codex uygulama sunucusunun `0.118.0` veya daha yeni sürümünü gerektirir. Codex plugin'i, uygulama sunucusunun başlatma el sıkışmasını kontrol eder ve daha eski veya sürümlendirilmemiş sunucuları engeller; böylece OpenClaw yalnızca test edildiği protokol yüzeyine karşı çalışır. +OpenClaw, Codex uygulama sunucusu `0.118.0` veya daha yenisini gerektirir. Codex Plugin'i uygulama sunucusu başlatma el sıkışmasını denetler ve eski veya sürümsüz sunucuları engeller; böylece OpenClaw yalnızca test edilmiş protokol yüzeyi üzerinde çalışır. ### Yerel Codex harness modu -Paketlenmiş `codex` harness'i, gömülü OpenClaw ajan dönüşleri için yerel Codex modudur. Önce paketlenmiş `codex` plugin'ini etkinleştirin ve yapılandırmanız kısıtlayıcı bir izin listesi kullanıyorsa `plugins.allow` içine `codex` ekleyin. Bu, `openai-codex/*` ile farklıdır: +Paketlenmiş `codex` harness'i, gömülü OpenClaw aracı dönüşleri için yerel Codex modudur. Önce paketlenmiş `codex` Plugin'ini etkinleştirin ve yapılandırmanız kısıtlayıcı bir izin listesi kullanıyorsa `plugins.allow` içine `codex` ekleyin. Bu, `openai-codex/*` ile farklıdır: - `openai-codex/*`, normal OpenClaw sağlayıcı yolu üzerinden ChatGPT/Codex OAuth kullanır. - `codex/*`, paketlenmiş Codex sağlayıcısını kullanır ve dönüşü Codex uygulama sunucusu üzerinden yönlendirir. -Bu mod çalıştığında yerel iş parçacığı kimliği, devam etme davranışı, sıkıştırma ve uygulama sunucusu yürütmesi Codex'in kontrolündedir. OpenClaw ise sohbet kanalına, görünür döküm yansıtmasına, araç ilkesine, onaylara, medya teslimine ve oturum seçimine sahip olmaya devam eder. Codex uygulama sunucusu yolunun kullanıldığını ve PI fallback'in bozuk bir yerel harness'i gizlemediğini kanıtlamanız gerektiğinde `embeddedHarness.runtime: "codex"` ile birlikte `embeddedHarness.fallback: "none"` kullanın. +Bu mod çalıştığında, yerel iş parçacığı kimliği, sürdürme davranışı, Compaction ve uygulama sunucusu yürütmesinin sahibi Codex olur. OpenClaw ise yine sohbet kanalının, görünür döküm yansısının, araç ilkesinin, onayların, medya tesliminin ve oturum seçiminin sahibi olmaya devam eder. Yalnızca Codex uygulama sunucusu yolunun çalıştırmayı sahiplenebildiğini kanıtlamanız gerektiğinde `embeddedHarness.runtime: "codex"` ile birlikte `embeddedHarness.fallback: "none"` kullanın. Bu yapılandırma yalnızca bir seçim korumasıdır: Codex uygulama sunucusu hataları zaten PI üzerinden yeniden denenmek yerine doğrudan başarısız olur. -## PI fallback'i devre dışı bırakma +## PI geri dönüşünü devre dışı bırakma -Varsayılan olarak OpenClaw, gömülü ajanları `{ runtime: "auto", fallback: "pi" }` olarak ayarlanmış `agents.defaults.embeddedHarness` ile çalıştırır. `auto` modunda kayıtlı plugin harness'ler bir sağlayıcı/model çiftini sahiplenebilir. Hiçbiri eşleşmezse veya otomatik seçilen bir plugin harness çıktı üretmeden önce başarısız olursa OpenClaw PI'ye fallback yapar. +Varsayılan olarak OpenClaw, gömülü aracıları `agents.defaults.embeddedHarness` değeri `{ runtime: "auto", fallback: "pi" }` olacak şekilde çalıştırır. `auto` modunda kayıtlı Plugin harness'ler bir sağlayıcı/model çiftini sahiplenebilir. Hiçbiri eşleşmezse OpenClaw PI'ye geri döner. -Bir plugin harness'in çalıştırılan tek çalışma zamanı olduğunu kanıtlamanız gerektiğinde `fallback: "none"` ayarlayın. Bu, otomatik PI fallback'ini devre dışı bırakır; açık bir `runtime: "pi"` veya `OPENCLAW_AGENT_RUNTIME=pi` kullanımını engellemez. +Eksik Plugin harness seçiminin PI kullanmak yerine başarısız olmasını istediğinizde `fallback: "none"` ayarlayın. Seçilen Plugin harness hataları zaten kesin olarak başarısız olur. Bu, açık bir `runtime: "pi"` veya `OPENCLAW_AGENT_RUNTIME=pi` kullanımını engellemez. Yalnızca Codex gömülü çalıştırmaları için: @@ -145,7 +145,7 @@ Yalnızca Codex gömülü çalıştırmaları için: } ``` -Herhangi bir kayıtlı plugin harness'in eşleşen modelleri sahiplenmesini istiyor ancak OpenClaw'un sessizce PI'ye fallback yapmasını asla istemiyorsanız `runtime: "auto"` olarak bırakın ve fallback'i devre dışı bırakın: +Herhangi bir kayıtlı Plugin harness'in eşleşen modelleri sahiplenmesini ama OpenClaw'ın sessizce PI'ye geri dönmesini asla istemiyorsanız `runtime: "auto"` değerini koruyun ve geri dönüşü devre dışı bırakın: ```json { @@ -160,7 +160,7 @@ Herhangi bir kayıtlı plugin harness'in eşleşen modelleri sahiplenmesini isti } ``` -Ajan başına geçersiz kılmalar aynı yapıyı kullanır: +Aracı başına geçersiz kılmalar aynı biçimi kullanır: ```json { @@ -185,7 +185,7 @@ Ajan başına geçersiz kılmalar aynı yapıyı kullanır: } ``` -`OPENCLAW_AGENT_RUNTIME` yapılandırılmış çalışma zamanını hâlâ geçersiz kılar. Ortamdan PI fallback'ini devre dışı bırakmak için `OPENCLAW_AGENT_HARNESS_FALLBACK=none` kullanın. +`OPENCLAW_AGENT_RUNTIME` yapılandırılmış çalışma zamanını yine geçersiz kılar. Ortamdan PI geri dönüşünü devre dışı bırakmak için `OPENCLAW_AGENT_HARNESS_FALLBACK=none` kullanın. ```bash OPENCLAW_AGENT_RUNTIME=codex \ @@ -193,34 +193,34 @@ OPENCLAW_AGENT_HARNESS_FALLBACK=none \ openclaw gateway run ``` -Fallback devre dışıyken, istenen harness kayıtlı değilse, çözümlenen sağlayıcıyı/modeli desteklemiyorsa veya dönüş yan etkileri üretmeden önce başarısız olursa bir oturum erken başarısız olur. Bu, yalnızca Codex dağıtımları ve Codex uygulama sunucusu yolunun gerçekten kullanıldığını kanıtlaması gereken canlı testler için kasıtlıdır. +Geri dönüş devre dışıyken, istenen harness kayıtlı değilse, çözümlemiş sağlayıcı/modeli desteklemiyorsa veya dönüş yan etkileri üretmeden önce başarısız olursa bir oturum erken başarısız olur. Bu, yalnızca Codex dağıtımları ve Codex uygulama sunucusu yolunun gerçekten kullanımda olduğunu kanıtlaması gereken canlı testler için bilinçli bir davranıştır. -Bu ayar yalnızca gömülü ajan harness'ini kontrol eder. Görsel, video, müzik, TTS, PDF veya diğer sağlayıcıya özgü model yönlendirmelerini devre dışı bırakmaz. +Bu ayar yalnızca gömülü agent harness'i denetler. Görüntü, video, müzik, TTS, PDF veya sağlayıcıya özgü diğer model yönlendirmelerini devre dışı bırakmaz. -## Yerel oturumlar ve döküm yansıtması +## Yerel oturumlar ve döküm yansısı -Bir harness yerel bir oturum kimliği, iş parçacığı kimliği veya daemon tarafı devam etme belirteci tutabilir. Bu bağı açıkça OpenClaw oturumuyla ilişkilendirilmiş olarak tutun ve kullanıcıya görünür asistan/araç çıktısını OpenClaw dökümüne yansıtmaya devam edin. +Bir harness yerel bir oturum kimliği, iş parçacığı kimliği veya daemon taraflı sürdürme belirteci tutabilir. Bu bağı açıkça OpenClaw oturumuyla ilişkilendirin ve kullanıcıya görünür yardımcı/araç çıktısını OpenClaw dökümüne yansıtmaya devam edin. OpenClaw dökümü şu alanlar için uyumluluk katmanı olarak kalır: - kanalda görünür oturum geçmişi -- döküm arama ve indeksleme -- sonraki bir dönüşte yerleşik PI harness'ine geri dönme +- döküm arama ve dizinleme +- daha sonraki bir dönüşte yerleşik PI harness'ine geri geçiş - genel `/new`, `/reset` ve oturum silme davranışı -Harness'iniz bir sidecar bağı saklıyorsa, sahip OpenClaw oturumu sıfırlandığında OpenClaw'un bunu temizleyebilmesi için `reset(...)` uygulayın. +Harness'iniz bir yan bağ saklıyorsa, sahip OpenClaw oturumu sıfırlandığında OpenClaw'ın bunu temizleyebilmesi için `reset(...)` uygulayın. ## Araç ve medya sonuçları Çekirdek OpenClaw araç listesini oluşturur ve bunu hazırlanmış denemeye geçirir. Bir harness dinamik bir araç çağrısı yürüttüğünde, kanal medyasını kendiniz göndermek yerine araç sonucunu harness sonuç şekli üzerinden geri döndürün. -Bu, metin, görsel, video, müzik, TTS, onay ve mesajlaşma aracı çıktılarını PI destekli çalıştırmalarla aynı teslim yolunda tutar. +Bu, metin, görüntü, video, müzik, TTS, onay ve mesajlaşma aracı çıktılarının PI destekli çalıştırmalarla aynı teslim yolunda kalmasını sağlar. ## Mevcut sınırlamalar -- Genel içe aktarma yolu geneldir, ancak bazı deneme/sonuç türü takma adları uyumluluk için hâlâ `Pi` adlarını taşır. -- Üçüncü taraf harness kurulumu deneyseldir. Yerel bir oturum çalışma zamanına ihtiyaç duyana kadar sağlayıcı plugin'lerini tercih edin. -- Harness değiştirme dönüşler arasında desteklenir. Yerel araçlar, onaylar, asistan metni veya mesaj göndermeleri başladıktan sonra dönüşün ortasında harness değiştirmeyin. +- Genel içe aktarma yolu herkese açık olsa da bazı deneme/sonuç türü diğer adları uyumluluk için hâlâ `Pi` adlarını taşır. +- Üçüncü taraf harness kurulumu deneyseldir. Yerel bir oturum çalışma zamanına ihtiyaç duyana kadar sağlayıcı Plugin'lerini tercih edin. +- Dönüşler arasında harness değiştirme desteklenir. Yerel araçlar, onaylar, yardımcı metni veya mesaj göndermeleri başladıktan sonra dönüşün ortasında harness değiştirmeyin. ## İlgili diff --git a/docs/tr/plugins/sdk-channel-plugins.md b/docs/tr/plugins/sdk-channel-plugins.md index 379c13372..7229ac674 100644 --- a/docs/tr/plugins/sdk-channel-plugins.md +++ b/docs/tr/plugins/sdk-channel-plugins.md @@ -1,112 +1,122 @@ --- read_when: - - Yeni bir mesajlaşma kanal plugin'i oluşturuyorsunuz - - OpenClaw'ı bir mesajlaşma platformuna bağlamak istiyorsunuz - - ChannelPlugin bağdaştırıcı yüzeyini anlamanız gerekiyor + - Yeni bir mesajlaşma kanal eklentisi oluşturuyorsunuz + - OpenClaw’u bir mesajlaşma platformuna bağlamak istiyorsunuz + - ChannelPlugin bağdaştırıcı yüzeyini anlamanız gerekir sidebarTitle: Channel Plugins -summary: OpenClaw için bir mesajlaşma kanal plugin'i oluşturma adım adım kılavuzu -title: Kanal Plugin'leri Oluşturma +summary: OpenClaw için bir mesajlaşma kanal eklentisi oluşturmaya yönelik adım adım kılavuz +title: Kanal Eklentileri Oluşturma x-i18n: - generated_at: "2026-04-22T04:24:41Z" + generated_at: "2026-04-22T08:55:26Z" model: gpt-5.4 provider: openai - source_hash: f08bf785cd2e16ed6ce0317f4fd55c9eccecf7476d84148ad47e7be516dd71fb + source_hash: e67d8c4be8cc4a312e5480545497b139c27bed828304de251e6258a3630dd9b5 source_path: plugins/sdk-channel-plugins.md workflow: 15 --- -# Kanal Plugin'leri Oluşturma +# Kanal Eklentileri Oluşturma -Bu kılavuz, OpenClaw'ı bir -mesajlaşma platformuna bağlayan bir kanal plugin'i oluşturmayı adım adım anlatır. Sonunda DM güvenliği, -eşleştirme, yanıt dizileme ve giden mesajlaşma ile çalışan bir kanalınız olacak. +Bu kılavuz, OpenClaw’u bir mesajlaşma platformuna bağlayan bir kanal eklentisi +oluşturma sürecinde size yol gösterir. Sonunda DM güvenliği, +eşleştirme, yanıt iş parçacığı oluşturma ve giden mesajlaşma özelliklerine sahip çalışan bir kanalınız olacak. - Daha önce hiç OpenClaw plugin'i oluşturmadıysanız, önce temel paket - yapısı ve manifest kurulumu için [Başlangıç](/tr/plugins/building-plugins) belgesini okuyun. + Daha önce hiç OpenClaw eklentisi oluşturmadıysanız, temel paket + yapısı ve bildirim kurulumu için önce [Başlangıç](/tr/plugins/building-plugins) + bölümünü okuyun. -## Kanal plugin'leri nasıl çalışır +## Kanal eklentileri nasıl çalışır -Kanal plugin'lerinin kendi gönder/düzenle/tepki ver araçlarına ihtiyacı yoktur. OpenClaw, -core içinde tek bir paylaşılan `message` aracı tutar. Plugin'iniz şunlardan sorumludur: +Kanal eklentilerinin kendi send/edit/react araçlarına ihtiyacı yoktur. OpenClaw, +çekirdekte tek bir paylaşılan `message` aracını tutar. Eklentinizin sahip olduğu alanlar şunlardır: - **Yapılandırma** — hesap çözümleme ve kurulum sihirbazı - **Güvenlik** — DM ilkesi ve izin listeleri - **Eşleştirme** — DM onay akışı -- **Oturum dil bilgisi** — sağlayıcıya özgü konuşma kimliklerinin temel sohbetlere, ileti dizisi kimliklerine ve üst geri dönüşlere nasıl eşlendiği -- **Giden işlemler** — platforma metin, medya ve anket gönderimi -- **Dizileme** — yanıtların nasıl dizilendiği +- **Oturum grameri** — sağlayıcıya özgü konuşma kimliklerinin temel sohbetlere, thread kimliklerine ve üst geri dönüşlerine nasıl eşlendiği +- **Giden** — platforma metin, medya ve anket gönderme +- **Thread oluşturma** — yanıtların nasıl thread’lendiği +- **Heartbeat yazıyor durumu** — heartbeat teslim hedefleri için isteğe bağlı yazıyor/meşgul sinyalleri -Core; paylaşılan message aracına, prompt bağlamasına, dış oturum-anahtarı biçimine, -genel `:thread:` muhasebesine ve dispatch'e sahiptir. +Çekirdek; paylaşılan message aracına, prompt bağlamasına, dış oturum anahtarı şekline, +genel `:thread:` kayıt tutmaya ve dağıtıma sahiptir. + +Kanalınız gelen yanıtlardan bağımsız yazıyor göstergelerini destekliyorsa, +kanal eklentisi üzerinde `heartbeat.sendTyping(...)` sağlayın. Çekirdek bunu, +heartbeat model çalışması başlamadan önce çözümlenmiş heartbeat teslim hedefiyle çağırır ve +paylaşılan yazıyor keepalive/cleanup yaşam döngüsünü kullanır. Platform açık bir durdurma sinyali gerektiriyorsa +`heartbeat.clearTyping(...)` de ekleyin. Kanalınız medya kaynakları taşıyan message-tool parametreleri ekliyorsa, bu -parametre adlarını `describeMessageTool(...).mediaSourceParams` üzerinden açığa çıkarın. Core, -korumalı alan yol normalizasyonu ve giden medya erişim -ilkesi için bu açık listeyi kullanır; böylece plugin'lerin sağlayıcıya özgü -avatar, ek veya kapak görseli parametreleri için paylaşılan core özel durumlarına ihtiyacı kalmaz. +parametre adlarını `describeMessageTool(...).mediaSourceParams` üzerinden sağlayın. Çekirdek +sandbox yol normalleştirmesi ve giden medya erişim ilkesi için bu açık listeyi kullanır; +böylece eklentiler sağlayıcıya özgü avatar, +ek veya kapak resmi parametreleri için paylaşılan çekirdekte özel durumlara ihtiyaç duymaz. Tercihen şu gibi eylem anahtarlı bir eşleme döndürün: -`{ "set-profile": ["avatarUrl", "avatarPath"] }`; böylece ilgisiz eylemler başka bir eylemin -medya parametrelerini miras almaz. Düz bir dizi ise kasıtlı olarak -açığa çıkarılan her eylem arasında paylaşılan parametreler için hâlâ çalışır. +`{ "set-profile": ["avatarUrl", "avatarPath"] }`; böylece ilgisiz eylemler başka +bir eylemin medya argümanlarını devralmaz. Tüm açığa çıkarılan eylemler arasında kasıtlı olarak paylaşılan +parametreler için düz bir dizi de çalışır. -Platformunuz konuşma kimlikleri içinde ek kapsam tutuyorsa, bu ayrıştırmayı -plugin içinde `messaging.resolveSessionConversation(...)` ile tutun. Bu, `rawId` değerini -temel konuşma kimliğine, isteğe bağlı ileti dizisi kimliğine, açık `baseConversationId` -değerine ve herhangi bir `parentConversationCandidates` değerine eşlemek için -kanonik kancadır. -`parentConversationCandidates` döndürdüğünüzde bunları en dar üst öğeden +Platformunuz konuşma kimlikleri içinde ek kapsam saklıyorsa, bu ayrıştırmayı +eklenti içinde `messaging.resolveSessionConversation(...)` ile tutun. Bu, +`rawId` değerini temel konuşma kimliğine, isteğe bağlı thread +kimliğine, açık `baseConversationId` değerine ve herhangi bir +`parentConversationCandidates` değerine eşlemek için kanonik kancadır. +`parentConversationCandidates` döndürdüğünüzde, bunları en dar üstten en geniş/temel konuşmaya doğru sıralı tutun. -Kayıt defteri önyüklenmeden önce aynı ayrıştırmaya ihtiyaç duyan paketlenmiş plugin'ler -ayrıca eşleşen bir -`resolveSessionConversation(...)` dışa aktarımıyla üst düzey bir `session-key-api.ts` dosyası da sunabilir. -Core, çalışma zamanı plugin kayıt defteri henüz kullanılamadığında bu önyükleme güvenli yüzeyi -yalnızca o zaman kullanır. +Kanal kaydı başlatılmadan önce aynı ayrıştırmaya ihtiyaç duyan bundled plugin’ler, +eşleşen bir `resolveSessionConversation(...)` dışa aktarımıyla üst düzey bir +`session-key-api.ts` dosyası da sağlayabilir. Çekirdek, çalışma zamanı eklenti kaydı henüz mevcut değilse +bu önyükleme açısından güvenli yüzeyi yalnızca o durumda kullanır. -`messaging.resolveParentConversationCandidates(...)`, bir plugin yalnızca -genel/ham kimliğin üstüne üst geri dönüşlere ihtiyaç duyduğunda eski uyumluluk amaçlı geri dönüş olarak kullanılabilir. -Her iki kanca da varsa core önce -`resolveSessionConversation(...).parentConversationCandidates` değerini kullanır ve kanonik kanca -bunları atladığında ancak o zaman `resolveParentConversationCandidates(...)` değerine geri döner. +`messaging.resolveParentConversationCandidates(...)`, bir eklenti yalnızca +genel/raw kimliğin üstünde üst geri dönüşlerine ihtiyaç duyduğunda +eski uyumluluk geri dönüşü olarak kullanılmaya devam eder. Her iki kanca da varsa, çekirdek önce +`resolveSessionConversation(...).parentConversationCandidates` değerini kullanır ve yalnızca kanonik kanca +bunları atladığında `resolveParentConversationCandidates(...)` değerine geri döner. ## Onaylar ve kanal yetenekleri -Çoğu kanal plugin'inin onaya özgü koda ihtiyacı yoktur. +Çoğu kanal eklentisinin onaya özgü koda ihtiyacı yoktur. -- Core; aynı sohbette `/approve`, paylaşılan onay düğmesi payload'ları ve genel geri dönüş tesliminden sorumludur. -- Kanal onaya özgü davranış gerektiriyorsa kanal plugin'i üzerinde tek bir `approvalCapability` nesnesini tercih edin. -- `ChannelPlugin.approvals` kaldırılmıştır. Onay teslimi/yerel oluşturma/kimlik doğrulama bilgilerini `approvalCapability` üzerine koyun. -- `plugin.auth` yalnızca login/logout içindir; core artık bu nesneden onay kimlik doğrulama kancalarını okumaz. -- `approvalCapability.authorizeActorAction` ve `approvalCapability.getActionAvailabilityState`, kanonik onay-kimlik doğrulama seam'idir. -- Aynı sohbet onay kimlik doğrulama kullanılabilirliği için `approvalCapability.getActionAvailabilityState` kullanın. -- Kanalınız yerel exec onaylarını açığa çıkarıyorsa, başlatan yüzey/yerel istemci durumu aynı sohbet onay kimlik doğrulamasından farklı olduğunda `approvalCapability.getExecInitiatingSurfaceState` kullanın. Core bu exec'e özgü kancayı `enabled` ile `disabled` ayrımını yapmak, başlatan kanalın yerel exec onaylarını destekleyip desteklemediğine karar vermek ve kanalı yerel istemci geri dönüş yönlendirmesine dahil etmek için kullanır. `createApproverRestrictedNativeApprovalCapability(...)`, yaygın durum için bunu doldurur. -- Yinelenen yerel onay istemlerini gizleme veya teslimden önce yazma göstergeleri gönderme gibi kanala özgü payload yaşam döngüsü davranışları için `outbound.shouldSuppressLocalPayloadPrompt` veya `outbound.beforeDeliverPayload` kullanın. -- `approvalCapability.delivery` yalnızca yerel onay yönlendirmesi veya geri dönüş bastırması için kullanın. -- Kanala ait yerel onay gerçekleri için `approvalCapability.nativeRuntime` kullanın. Core'un onay yaşam döngüsünü kurmasına izin verirken çalışma zamanı modülünüzü isteğe bağlı olarak içe aktarabilen `createLazyChannelApprovalNativeRuntimeAdapter(...)` ile bunu sıcak kanal giriş noktalarında tembel tutun. -- `approvalCapability.render` yalnızca bir kanalın gerçekten paylaşılan oluşturucu yerine özel onay payload'larına ihtiyacı olduğunda kullanın. -- Devre dışı yol yanıtının yerel exec onaylarını etkinleştirmek için gereken tam yapılandırma düğmelerini açıklamasını istiyorsa `approvalCapability.describeExecApprovalSetup` kullanın. Kanca `{ channel, channelLabel, accountId }` alır; adlandırılmış hesaplı kanallar üst düzey varsayılanlar yerine `channels..accounts..execApprovals.*` gibi hesap kapsamlı yollar oluşturmalıdır. -- Bir kanal mevcut yapılandırmadan kararlı sahip benzeri DM kimliklerini çıkarabiliyorsa, onaya özgü core mantığı eklemeden aynı sohbette `/approve` kısıtlaması yapmak için `openclaw/plugin-sdk/approval-runtime` içinden `createResolvedApproverActionAuthAdapter` kullanın. -- Bir kanal yerel onay teslimine ihtiyaç duyuyorsa, kanal kodunu hedef normalizasyonu ile taşıma/sunum gerçeklerine odaklı tutun. `openclaw/plugin-sdk/approval-runtime` içinden `createChannelExecApprovalProfile`, `createChannelNativeOriginTargetResolver`, `createChannelApproverDmTargetResolver` ve `createApproverRestrictedNativeApprovalCapability` kullanın. Kanala özgü gerçekleri `approvalCapability.nativeRuntime` arkasına, tercihen `createChannelApprovalNativeRuntimeAdapter(...)` veya `createLazyChannelApprovalNativeRuntimeAdapter(...)` üzerinden koyun; böylece core işleyiciyi kurabilir ve istek filtreleme, yönlendirme, tekrar engelleme, süre sonu, Gateway aboneliği ve başka yere yönlendirildi bildirimlerinden sorumlu olabilir. `nativeRuntime` birkaç küçük seam'e ayrılmıştır: -- `availability` — hesabın yapılandırılmış olup olmadığı ve bir isteğin işlenip işlenmemesi gerektiği -- `presentation` — paylaşılan onay görünüm modelini beklemede/çözüldü/süresi doldu yerel payload'larına veya son eylemlere eşleme -- `transport` — hedefleri hazırlama ile yerel onay mesajlarını gönderme/güncelleme/silme -- `interactions` — yerel düğmeler veya tepkiler için isteğe bağlı bağla/bağlantıyı kaldır/eylem temizle kancaları +- Çekirdek aynı sohbette `/approve`, paylaşılan onay düğmesi payload’ları ve genel geri dönüş teslimine sahiptir. +- Kanal onaya özgü davranış gerektiriyorsa, kanal eklentisinde tek bir `approvalCapability` nesnesini tercih edin. +- `ChannelPlugin.approvals` kaldırıldı. Onay teslimi/yerel işleme/oluşturma/yetkilendirme bilgilerini `approvalCapability` üzerine koyun. +- `plugin.auth` yalnızca login/logout içindir; çekirdek artık bu nesneden onay auth kancalarını okumaz. +- `approvalCapability.authorizeActorAction` ve `approvalCapability.getActionAvailabilityState`, kanonik approval-auth yüzeyidir. +- Aynı sohbet onay auth kullanılabilirliği için `approvalCapability.getActionAvailabilityState` kullanın. +- Kanalınız yerel exec onaylarını açığa çıkarıyorsa, başlatan yüzey/yerel istemci durumu aynı sohbet onay auth durumundan farklıysa `approvalCapability.getExecInitiatingSurfaceState` kullanın. Çekirdek bu exec’e özgü kancayı `enabled` ile `disabled` ayrımını yapmak, başlatan kanalın yerel exec onaylarını destekleyip desteklemediğine karar vermek ve kanalı yerel istemci geri dönüş rehberliğine dahil etmek için kullanır. `createApproverRestrictedNativeApprovalCapability(...)` bunu yaygın durum için doldurur. +- Yinelenen yerel onay istemlerini gizleme veya teslimden önce yazıyor göstergeleri gönderme gibi kanala özgü payload yaşam döngüsü davranışları için `outbound.shouldSuppressLocalPayloadPrompt` veya `outbound.beforeDeliverPayload` kullanın. +- `approvalCapability.delivery` değerini yalnızca yerel onay yönlendirmesi veya geri dönüş bastırma için kullanın. +- Kanalın sahip olduğu yerel onay bilgileri için `approvalCapability.nativeRuntime` kullanın. Bunu, çekirdeğin onay yaşam döngüsünü yine de bir araya getirmesine izin verirken çalışma zamanı modülünüzü isteğe bağlı içe aktarabilen `createLazyChannelApprovalNativeRuntimeAdapter(...)` ile yoğun kanal giriş noktalarında tembel tutun. +- Kanal, paylaşılan oluşturucu yerine gerçekten özel onay payload’larına ihtiyaç duyuyorsa yalnızca `approvalCapability.render` kullanın. +- Kanal, devre dışı yol yanıtının yerel exec onaylarını etkinleştirmek için gereken tam yapılandırma düğmelerini açıklamasını istiyorsa `approvalCapability.describeExecApprovalSetup` kullanın. Kanca `{ channel, channelLabel, accountId }` alır; adlandırılmış hesap kanalları, üst düzey varsayılanlar yerine `channels..accounts..execApprovals.*` gibi hesap kapsamlı yollar oluşturmalıdır. +- Bir kanal mevcut yapılandırmadan kararlı owner benzeri DM kimliklerini çıkarabiliyorsa, onaya özgü çekirdek mantığı eklemeden aynı sohbet `/approve` erişimini kısıtlamak için `openclaw/plugin-sdk/approval-runtime` içinden `createResolvedApproverActionAuthAdapter` kullanın. +- Bir kanalın yerel onay teslimine ihtiyacı varsa, kanal kodunu hedef normalizasyonu ile taşıma/sunum bilgilerine odaklı tutun. `openclaw/plugin-sdk/approval-runtime` içinden `createChannelExecApprovalProfile`, `createChannelNativeOriginTargetResolver`, `createChannelApproverDmTargetResolver` ve `createApproverRestrictedNativeApprovalCapability` kullanın. Kanalın özel bilgilerini `approvalCapability.nativeRuntime` arkasına koyun; ideal olarak `createChannelApprovalNativeRuntimeAdapter(...)` veya `createLazyChannelApprovalNativeRuntimeAdapter(...)` üzerinden, böylece çekirdek işleyiciyi bir araya getirebilir ve istek filtreleme, yönlendirme, yinelenen kaldırma, süre sonu, gateway aboneliği ve başka yere yönlendirilmiş bildirimlere sahip olabilir. `nativeRuntime` birkaç küçük yüzeye ayrılmıştır: +- `availability` — hesabın yapılandırılıp yapılandırılmadığı ve bir isteğin işlenip işlenmemesi gerektiği +- `presentation` — paylaşılan onay görünüm modelini beklemede/çözümlendi/süresi doldu yerel payload’larına veya son eylemlere eşlemek +- `transport` — hedefleri hazırlamak ve yerel onay mesajlarını göndermek/güncellemek/silmek +- `interactions` — yerel düğmeler veya tepkiler için isteğe bağlı bind/unbind/clear-action kancaları - `observe` — isteğe bağlı teslim tanılama kancaları -- Kanalın istemci, token, Bolt uygulaması veya Webhook alıcısı gibi çalışma zamanına ait nesnelere ihtiyacı varsa bunları `openclaw/plugin-sdk/channel-runtime-context` üzerinden kaydedin. Genel runtime-context kayıt defteri, core'un onaya özgü sarmalayıcı glue eklemeden kanal başlangıç durumundan yetenek güdümlü işleyicileri önyüklemesine izin verir. -- Yalnızca yetenek güdümlü seam henüz yeterince ifade gücüne sahip değilse daha alt seviye `createChannelApprovalHandler` veya `createChannelNativeApprovalRuntime` kullanın. -- Yerel onay kanalları, `accountId` ve `approvalKind` değerlerinin ikisini de bu yardımcılar üzerinden yönlendirmelidir. `accountId`, çok hesaplı onay ilkesini doğru bot hesabına kapsamlar; `approvalKind` ise exec ile plugin onay davranışını core içindeki sabit dallanmalar olmadan kanal için kullanılabilir tutar. -- Core artık onay yeniden yönlendirme bildirimlerinin de sahibidir. Kanal plugin'leri `createChannelNativeApprovalRuntime` içinden kendi "onay DM'lere / başka bir kanala gitti" takip mesajlarını göndermemelidir; bunun yerine paylaşılan onay yeteneği yardımcıları üzerinden doğru origin + approver-DM yönlendirmesini açığa çıkarın ve core'un başlatan sohbete herhangi bir bildirim göndermeden önce gerçek teslimleri toplamasına izin verin. -- Teslim edilen onay kimliği türünü uçtan uca koruyun. Yerel istemciler exec ile plugin onay yönlendirmesini kanal yerel durumundan tahmin etmemeli veya yeniden yazmamalıdır. +- Kanalın istemci, token, Bolt uygulaması veya Webhook alıcısı gibi çalışma zamanına ait nesnelere ihtiyacı varsa, bunları `openclaw/plugin-sdk/channel-runtime-context` üzerinden kaydedin. Genel runtime-context kaydı, çekirdeğin onaya özgü sarmalayıcı glue eklemeden kanal başlangıç durumundan yetenek odaklı işleyicileri başlatmasına izin verir. +- Yalnızca yetenek odaklı yüzey henüz yeterince ifade edici değilse daha alt düzey `createChannelApprovalHandler` veya `createChannelNativeApprovalRuntime` kullanımına yönelin. +- Yerel onay kanalları, hem `accountId` hem de `approvalKind` değerini bu yardımcılar üzerinden yönlendirmelidir. `accountId`, çok hesaplı onay ilkesini doğru bot hesabı kapsamında tutar; `approvalKind` ise çekirdekte sabit dallar olmadan exec ile eklenti onayı davranışını kanal için erişilebilir kılar. +- Çekirdek artık onay yeniden yönlendirme bildirimlerine de sahiptir. Kanal eklentileri `createChannelNativeApprovalRuntime` içinden kendi "onay DM’lere / başka bir kanala gitti" takip mesajlarını göndermemelidir; bunun yerine paylaşılan onay yeteneği yardımcıları üzerinden doğru origin + approver-DM yönlendirmesini açığa çıkarmalı ve başlatan sohbete herhangi bir bildirim göndermeden önce çekirdeğin gerçek teslimleri toplamasına izin vermelidir. +- Teslim edilen onay kimliği türünü uçtan uca koruyun. Yerel istemciler, + exec ile eklenti onayı yönlendirmesini kanal yerel durumundan tahmin etmemeli + veya yeniden yazmamalıdır. - Farklı onay türleri kasıtlı olarak farklı yerel yüzeyler açığa çıkarabilir. - Geçerli paketlenmiş örnekler: - - Slack, hem exec hem de plugin kimlikleri için yerel onay yönlendirmesini kullanılabilir tutar. - - Matrix, exec ve plugin onayları için aynı yerel DM/kanal yönlendirmesi ile tepki UX'ini korurken, kimlik doğrulamanın onay türüne göre farklılaşmasına yine de izin verir. -- `createApproverRestrictedNativeApprovalAdapter` hâlâ bir uyumluluk sarmalayıcısı olarak vardır, ancak yeni kodlar yetenek oluşturucuyu tercih etmeli ve plugin üzerinde `approvalCapability` açığa çıkarmalıdır. + Mevcut bundled örnekler: + - Slack, hem exec hem de eklenti kimlikleri için yerel onay yönlendirmesini kullanılabilir tutar. + - Matrix, onay türüne göre auth farklılaşmasına izin verirken exec + ve eklenti onayları için aynı yerel DM/kanal yönlendirmesi ve reaction UX’ini korur. +- `createApproverRestrictedNativeApprovalAdapter` hâlâ bir uyumluluk sarmalayıcısı olarak vardır, ancak yeni kod capability oluşturucusunu tercih etmeli ve eklentide `approvalCapability` açığa çıkarmalıdır. -Sıcak kanal giriş noktaları için, bu ailenin yalnızca bir parçasına -ihtiyacınız olduğunda daha dar çalışma zamanı alt yollarını tercih edin: +Yoğun kanal giriş noktalarında, bu aileden yalnızca bir parçaya ihtiyacınız varsa +daha dar çalışma zamanı alt yollarını tercih edin: - `openclaw/plugin-sdk/approval-auth-runtime` - `openclaw/plugin-sdk/approval-client-runtime` @@ -118,8 +128,8 @@ ihtiyacınız olduğunda daha dar çalışma zamanı alt yollarını tercih edin - `openclaw/plugin-sdk/approval-reply-runtime` - `openclaw/plugin-sdk/channel-runtime-context` -Benzer şekilde, daha geniş şemsiye yüzeye ihtiyacınız olmadığında -`openclaw/plugin-sdk/setup-runtime`, +Benzer şekilde, daha geniş şemsiye +yüzeye ihtiyacınız yoksa `openclaw/plugin-sdk/setup-runtime`, `openclaw/plugin-sdk/setup-adapter-runtime`, `openclaw/plugin-sdk/reply-runtime`, `openclaw/plugin-sdk/reply-dispatch-runtime`, @@ -128,105 +138,110 @@ Benzer şekilde, daha geniş şemsiye yüzeye ihtiyacınız olmadığında Özellikle kurulum için: -- `openclaw/plugin-sdk/setup-runtime`, çalışma zamanı güvenli kurulum yardımcılarını kapsar: - içe aktarma güvenli kurulum yama bağdaştırıcıları (`createPatchedAccountSetupAdapter`, +- `openclaw/plugin-sdk/setup-runtime`, çalışma zamanında güvenli kurulum yardımcılarını kapsar: + içe aktarma açısından güvenli kurulum patch bağdaştırıcıları (`createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`), lookup-note çıktısı, `promptResolvedAllowFrom`, `splitSetupEntries` ve devredilmiş setup-proxy oluşturucuları - `openclaw/plugin-sdk/setup-adapter-runtime`, `createEnvPatchedAccountSetupAdapter` - için dar env-farkında bağdaştırıcı seam'idir + için dar env-farkındalıklı bağdaştırıcı yüzeyidir - `openclaw/plugin-sdk/channel-setup`, isteğe bağlı kurulum setup - oluşturucularını ve birkaç setup-safe ilkel öğeyi kapsar: + oluşturucularını ve birkaç setup-safe ilkel yapıyı kapsar: `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, -Kanalınız env güdümlü kurulumu veya kimlik doğrulamayı destekliyorsa ve genel başlangıç/yapılandırma +Kanalınız env tabanlı kurulum veya auth destekliyorsa ve genel başlangıç/config akışlarının çalışma zamanı yüklenmeden önce bu env adlarını bilmesi gerekiyorsa, -bunları plugin manifest içinde `channelEnvVars` ile bildirin. Kanal çalışma zamanı `envVars` değerlerini veya -yerel sabitleri yalnızca operatör odaklı kopya için tutun. +bunları eklenti manifestinde `channelEnvVars` ile bildirin. Kanal çalışma zamanı +`envVars` veya yerel sabitlerini yalnızca operatöre yönelik metinler için kullanın. -Kanalınız plugin çalışma zamanı başlamadan önce `status`, `channels list`, `channels status` veya -SecretRef taramalarında görünebiliyorsa, `package.json` içine `openclaw.setupEntry` ekleyin. -Bu giriş noktası, salt okunur komut yollarında içe aktarılmaya güvenli olmalı -ve bu özetler için gereken kanal meta verisini, setup-safe yapılandırma bağdaştırıcısını, -durum bağdaştırıcısını ve kanal gizli hedef meta verisini döndürmelidir. Kurulum girişinden -istemci, dinleyici veya taşıma çalışma zamanlarını başlatmayın. +Kanalınız eklenti çalışma zamanı başlamadan önce `status`, `channels list`, `channels status` veya +SecretRef taramalarında görünebiliyorsa, `package.json` içine +`openclaw.setupEntry` ekleyin. Bu giriş noktası salt okunur komut yollarında içe aktarılmak için güvenli olmalı +ve bu özetler için gerekli kanal metadata’sını, setup-safe config bağdaştırıcısını, +status bağdaştırıcısını ve kanal secret hedef metadata’sını döndürmelidir. Kurulum girişinden +istemcileri, dinleyicileri veya taşıma çalışma zamanlarını başlatmayın. `createOptionalChannelSetupWizard`, `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled` ve `splitSetupEntries` -- yalnızca daha ağır paylaşılan kurulum/yapılandırma yardımcılarına da - ihtiyacınız olduğunda daha geniş `openclaw/plugin-sdk/setup` seam'ini kullanın; örneğin +- yalnızca daha ağır paylaşılan setup/config yardımcılarına da ihtiyacınız varsa + daha geniş `openclaw/plugin-sdk/setup` yüzeyini kullanın; örneğin `moveSingleAccountChannelSectionToDefaultAccount(...)` -Kanalınız yalnızca kurulum yüzeylerinde "önce bu plugin'i kurun" mesajını -duyurmak istiyorsa, `createOptionalChannelSetupSurface(...)` tercih edin. Oluşturulan -bağdaştırıcı/sihirbaz, yapılandırma yazımlarında ve sonlandırmada fail-closed davranır; ayrıca -aynı kurulum-gerekli mesajını doğrulama, sonlandırma ve docs-link -kopyasında yeniden kullanır. +Kanalınız yalnızca kurulum yüzeylerinde "önce bu eklentiyi kurun" bilgisini +duyurmak istiyorsa, `createOptionalChannelSetupSurface(...)` tercih edin. Üretilen +bağdaştırıcı/sihirbaz config yazımlarında ve sonlandırmada kapalı başarısız olur, +ayrıca doğrulama, sonlandırma ve docs-link metinlerinde aynı kurulum gerekli +mesajını yeniden kullanır. -Diğer sıcak kanal yolları için, daha geniş eski yüzeyler yerine dar yardımcıları tercih edin: +Diğer yoğun kanal yolları için, daha geniş eski yüzeyler yerine dar yardımcıları tercih edin: - çok hesaplı yapılandırma ve - varsayılan hesap geri dönüşü için `openclaw/plugin-sdk/account-core`, + varsayılan hesap geri dönüşü için + `openclaw/plugin-sdk/account-core`, `openclaw/plugin-sdk/account-id`, `openclaw/plugin-sdk/account-resolution` ve `openclaw/plugin-sdk/account-helpers` - gelen rota/zarf ve - kaydet-ve-dispatch bağlaması için `openclaw/plugin-sdk/inbound-envelope` ve + kaydet-ve-dağıt bağlaması için + `openclaw/plugin-sdk/inbound-envelope` ve `openclaw/plugin-sdk/inbound-reply-dispatch` -- hedef ayrıştırma/eşleştirme için `openclaw/plugin-sdk/messaging-targets` +- hedef ayrıştırma/eşleme için `openclaw/plugin-sdk/messaging-targets` - medya yükleme ile giden - kimlik/gönderim temsilcileri ve payload planlaması için `openclaw/plugin-sdk/outbound-media` ve + kimlik/gönderme delegeleri ve payload planlaması için + `openclaw/plugin-sdk/outbound-media` ve `openclaw/plugin-sdk/outbound-runtime` -- bir giden rota açık bir `replyToId`/`threadId` değerini korumalıysa veya - temel oturum anahtarı hâlâ eşleşirken mevcut `:thread:` oturumunu geri kazanmalıysa - `openclaw/plugin-sdk/channel-core` içinden `buildThreadAwareOutboundSessionRoute(...)`. - Sağlayıcı plugin'leri, platformlarının yerel ileti dizisi teslim anlambilimi - olduğunda önceliği, sonek davranışını ve ileti dizisi kimliği normalizasyonunu geçersiz kılabilir. -- ileti dizisi bağlama yaşam döngüsü +- giden bir rota açık bir + `replyToId`/`threadId` değerini korumalıysa veya temel oturum anahtarı hâlâ eşleşirken mevcut + `:thread:` oturumunu geri kazanmalıysa, + `openclaw/plugin-sdk/channel-core` içinden + `buildThreadAwareOutboundSessionRoute(...)`. + Sağlayıcı eklentileri, platformlarının yerel thread teslim semantiği varsa + önceliği, sonek davranışını ve thread kimliği normalleştirmesini geçersiz kılabilir. +- thread-binding yaşam döngüsü ve bağdaştırıcı kaydı için `openclaw/plugin-sdk/thread-bindings-runtime` -- yalnızca eski bir agent/medya +- yalnızca eski bir agent/media payload alan düzeni hâlâ gerekiyorsa `openclaw/plugin-sdk/agent-media-payload` - Telegram özel komut - normalizasyonu, yinelenen/çakışma doğrulaması ve geri dönüşte kararlı komut + normalleştirmesi, yinelenen/çakışma doğrulaması ve geri dönüş açısından kararlı bir komut yapılandırma sözleşmesi için `openclaw/plugin-sdk/telegram-command-config` -Yalnızca kimlik doğrulama yapan kanallar genelde varsayılan yolda durabilir: onayları core yönetir ve plugin yalnızca giden/kimlik doğrulama yeteneklerini açığa çıkarır. Matrix, Slack, Telegram ve özel sohbet taşıma katmanları gibi yerel onay kanalları, kendi onay yaşam döngülerini yazmak yerine paylaşılan yerel yardımcıları kullanmalıdır. +Yalnızca auth kullanan kanallar genellikle varsayılan yolda durabilir: çekirdek onayları yönetir ve eklenti yalnızca giden/auth yeteneklerini açığa çıkarır. Matrix, Slack, Telegram ve özel sohbet taşıma katmanları gibi yerel onay kanalları, kendi onay yaşam döngülerini oluşturmak yerine paylaşılan yerel yardımcıları kullanmalıdır. ## Gelen mention ilkesi -Gelen mention işleme mantığını iki katmana bölünmüş tutun: +Gelen mention işlemeyi iki katmana ayrılmış halde tutun: -- plugin'e ait kanıt toplama +- eklentinin sahip olduğu kanıt toplama - paylaşılan ilke değerlendirmesi Mention ilkesi kararları için `openclaw/plugin-sdk/channel-mention-gating` kullanın. Daha geniş gelen -yardımcı barrel'ına ihtiyaç duyduğunuzda yalnızca `openclaw/plugin-sdk/channel-inbound` kullanın. +yardımcı barrel’ına ihtiyacınız olduğunda yalnızca `openclaw/plugin-sdk/channel-inbound` kullanın. -Plugin yerel mantığı için uygun örnekler: +Eklenti yerel mantığı için uygun örnekler: -- bota yanıt tespiti -- bottan alıntı tespiti -- ileti dizisine katılım kontrolleri -- servis/sistem mesajı dışlamaları -- bot katılımını kanıtlamak için gereken platforma özgü yerel önbellekler +- bota yanıt algılama +- bottan alıntı algılama +- thread katılımı kontrolleri +- hizmet/sistem mesajı hariç tutmaları +- bot katılımını kanıtlamak için gereken platform yerel önbellekleri Paylaşılan yardımcı için uygun örnekler: - `requireMention` - açık mention sonucu - örtük mention izin listesi -- komut baypası +- komut bypass - son atlama kararı Tercih edilen akış: -1. Yerel mention olgularını hesaplayın. -2. Bu olguları `resolveInboundMentionDecision({ facts, policy })` içine geçin. -3. Gelen geçidinizde `decision.effectiveWasMentioned`, `decision.shouldBypassMention` ve `decision.shouldSkip` değerlerini kullanın. +1. Yerel mention bilgilerini hesaplayın. +2. Bu bilgileri `resolveInboundMentionDecision({ facts, policy })` içine geçin. +3. Gelen geçidinizde `decision.effectiveWasMentioned`, `decision.shouldBypassMention` ve `decision.shouldSkip` kullanın. ```typescript import { @@ -265,8 +280,8 @@ const decision = resolveInboundMentionDecision({ if (decision.shouldSkip) return; ``` -`api.runtime.channel.mentions`, çalışma zamanı enjeksiyonuna zaten bağlı olan -paketlenmiş kanal plugin'leri için aynı paylaşılan mention yardımcılarını açığa çıkarır: +`api.runtime.channel.mentions`, çalışma zamanı enjeksiyonuna zaten bağımlı olan +bundled kanal eklentileri için aynı paylaşılan mention yardımcılarını açığa çıkarır: - `buildMentionRegexes` - `matchesMentionPatterns` @@ -275,22 +290,23 @@ paketlenmiş kanal plugin'leri için aynı paylaşılan mention yardımcıların - `resolveInboundMentionDecision` Yalnızca `implicitMentionKindWhen` ve -`resolveInboundMentionDecision` kullanmanız gerekiyorsa, +`resolveInboundMentionDecision` gerekiyorsa, ilgili olmayan gelen çalışma zamanı yardımcılarını yüklemekten kaçınmak için -`openclaw/plugin-sdk/channel-mention-gating` içinden içe aktarın. +`openclaw/plugin-sdk/channel-mention-gating` üzerinden içe aktarın. -Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarımları olarak -`openclaw/plugin-sdk/channel-inbound` üzerinde kalmaktadır. Yeni kod +Eski `resolveMentionGating*` yardımcıları yalnızca +uyumluluk dışa aktarımları olarak +`openclaw/plugin-sdk/channel-inbound` üzerinde kalır. Yeni kod, `resolveInboundMentionDecision({ facts, policy })` kullanmalıdır. -## Adım adım anlatım +## Adım adım açıklama - Standart plugin dosyalarını oluşturun. `package.json` içindeki `channel` alanı, - bunu bir kanal plugin'i yapan alandır. Tam paket meta veri yüzeyi için - bkz. [Plugin Kurulumu ve Yapılandırma](/tr/plugins/sdk-setup#openclaw-channel): + Standart eklenti dosyalarını oluşturun. `package.json` içindeki `channel` alanı, + bunun bir kanal eklentisi olmasını sağlar. Tam paket metadata yüzeyi için + bkz. [Eklenti Kurulumu ve Yapılandırma](/tr/plugins/sdk-setup#openclaw-channel): ```json package.json @@ -304,7 +320,7 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım "channel": { "id": "acme-chat", "label": "Acme Chat", - "blurb": "OpenClaw'ı Acme Chat'e bağlayın." + "blurb": "Connect OpenClaw to Acme Chat." } } } @@ -316,7 +332,7 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım "kind": "channel", "channels": ["acme-chat"], "name": "Acme Chat", - "description": "Acme Chat kanal plugin'i", + "description": "Acme Chat channel plugin", "configSchema": { "type": "object", "additionalProperties": false, @@ -339,9 +355,9 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım - - `ChannelPlugin` arayüzünde birçok isteğe bağlı bağdaştırıcı yüzeyi vardır. En az - düzey olan `id` ve `setup` ile başlayın ve ihtiyaç duydukça bağdaştırıcılar ekleyin. + + `ChannelPlugin` arayüzü birçok isteğe bağlı bağdaştırıcı yüzeyine sahiptir. En + azıyla başlayın — `id` ve `setup` — ve ihtiyaç duydukça bağdaştırıcılar ekleyin. `src/channel.ts` oluşturun: @@ -351,7 +367,7 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım createChannelPluginBase, } from "openclaw/plugin-sdk/channel-core"; import type { OpenClawConfig } from "openclaw/plugin-sdk/channel-core"; - import { acmeChatApi } from "./client.js"; // platform API istemciniz + import { acmeChatApi } from "./client.js"; // your platform API client type ResolvedAccount = { accountId: string | null; @@ -392,7 +408,7 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım }, }), - // DM güvenliği: bot'a kim mesaj gönderebilir + // DM security: who can message the bot security: { dm: { channelKey: "acme-chat", @@ -402,21 +418,21 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım }, }, - // Eşleştirme: yeni DM kişileri için onay akışı + // Pairing: approval flow for new DM contacts pairing: { text: { - idLabel: "Acme Chat kullanıcı adı", - message: "Kimliğinizi doğrulamak için bu kodu gönderin:", + idLabel: "Acme Chat username", + message: "Send this code to verify your identity:", notify: async ({ target, code }) => { await acmeChatApi.sendDm(target, `Pairing code: ${code}`); }, }, }, - // Dizileme: yanıtlar nasıl teslim edilir + // Threading: how replies are delivered threading: { topLevelReplyToMode: "reply" }, - // Giden: platforma mesaj gönder + // Outbound: send messages to the platform outbound: { attachedResults: { sendText: async (params) => { @@ -437,17 +453,18 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım ``` - Düşük seviyeli bağdaştırıcı arayüzlerini elle uygulamak yerine - bildirimsel seçenekler verirsiniz ve oluşturucu bunları birleştirir: + Düşük seviyeli bağdaştırıcı arayüzlerini el ile uygulamak yerine, + bildirime dayalı seçenekler geçirirsiniz ve oluşturucu bunları birleştirir: | Seçenek | Bağladığı şey | | --- | --- | | `security.dm` | Yapılandırma alanlarından kapsamlı DM güvenlik çözümleyicisi | | `pairing.text` | Kod değişimi ile metin tabanlı DM eşleştirme akışı | - | `threading` | Reply-to-mode çözümleyicisi (sabit, hesap kapsamlı veya özel) | - | `outbound.attachedResults` | Sonuç meta verisi döndüren gönderim işlevleri (mesaj kimlikleri) | + | `threading` | Reply-to modu çözümleyicisi (sabit, hesap kapsamlı veya özel) | + | `outbound.attachedResults` | Sonuç metadata’sı döndüren gönderim işlevleri (mesaj kimlikleri) | - Tam denetime ihtiyacınız varsa bildirimsel seçenekler yerine ham bağdaştırıcı nesneleri de geçebilirsiniz. + Tam denetim gerekiyorsa bildirime dayalı seçenekler yerine ham bağdaştırıcı + nesneleri de geçebilirsiniz. @@ -462,20 +479,20 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım export default defineChannelPluginEntry({ id: "acme-chat", name: "Acme Chat", - description: "Acme Chat kanal plugin'i", + description: "Acme Chat channel plugin", plugin: acmeChatPlugin, registerCliMetadata(api) { api.registerCli( ({ program }) => { program .command("acme-chat") - .description("Acme Chat yönetimi"); + .description("Acme Chat management"); }, { descriptors: [ { name: "acme-chat", - description: "Acme Chat yönetimi", + description: "Acme Chat management", hasSubcommands: false, }, ], @@ -489,15 +506,15 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım ``` Kanalın sahip olduğu CLI tanımlayıcılarını `registerCliMetadata(...)` içine koyun; böylece OpenClaw - tam kanal çalışma zamanını etkinleştirmeden kök yardım ekranında bunları gösterebilir, - normal tam yüklemeler de gerçek komut - kaydı için aynı tanımlayıcıları alır. `registerFull(...)` alanını yalnızca çalışma zamanına özgü işler için tutun. - Eğer `registerFull(...)` Gateway RPC yöntemleri kaydediyorsa, - plugin'e özgü bir önek kullanın. Core yönetici ad alanları (`config.*`, - `exec.approvals.*`, `wizard.*`, `update.*`) ayrılmıştır ve her zaman - `operator.admin` çözümüne gider. - `defineChannelPluginEntry`, kayıt modu ayrımını otomatik olarak yönetir. Tüm - seçenekler için bkz. [Giriş Noktaları](/tr/plugins/sdk-entrypoints#definechannelpluginentry). + tam kanal çalışma zamanını etkinleştirmeden bunları kök yardımında gösterebilir; + normal tam yüklemeler ise gerçek komut + kaydı için aynı tanımlayıcıları almaya devam eder. `registerFull(...)` değerini yalnızca çalışma zamanı işi için tutun. + Eğer `registerFull(...)` gateway RPC yöntemleri kaydediyorsa, + eklentiye özgü bir önek kullanın. Çekirdek yönetici ad alanları (`config.*`, + `exec.approvals.*`, `wizard.*`, `update.*`) ayrılmış kalır ve her zaman + `operator.admin` olarak çözülür. + `defineChannelPluginEntry`, kayıt modu ayrımını otomatik olarak işler. Tüm + seçenekler için [Giriş Noktaları](/tr/plugins/sdk-entrypoints#definechannelpluginentry) bölümüne bakın. @@ -511,34 +528,34 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım export default defineSetupPluginEntry(acmeChatPlugin); ``` - OpenClaw, kanal devre dışıyken - veya yapılandırılmamışken tam giriş yerine bunu yükler. - Bu, setup akışları sırasında ağır çalışma zamanı kodunun çekilmesini önler. - Ayrıntılar için bkz. [Kurulum ve Yapılandırma](/tr/plugins/sdk-setup#setup-entry). + OpenClaw, kanal devre dışı olduğunda + veya yapılandırılmadığında tam giriş yerine bunu yükler. + Bu, kurulum akışları sırasında ağır çalışma zamanı kodunun içe çekilmesini önler. + Ayrıntılar için [Kurulum ve Yapılandırma](/tr/plugins/sdk-setup#setup-entry) bölümüne bakın. - Setup-safe dışa aktarımları yan modüllere ayıran paketlenmiş çalışma alanı kanalları, - açık bir setup zamanı çalışma zamanı ayarlayıcısına da ihtiyaç duyduklarında + Kurulum açısından güvenli dışa aktarımları yan modüllere ayıran bundled çalışma alanı kanalları, + açık bir kurulum zamanı çalışma zamanı ayarlayıcısına da ihtiyaç duyduklarında `openclaw/plugin-sdk/channel-entry-contract` içinden `defineBundledChannelSetupEntry(...)` kullanabilir. - Plugin'inizin platformdan mesaj alması ve bunları - OpenClaw'a iletmesi gerekir. Tipik desen, isteği doğrulayan ve - kendi kanalınızın gelen işleyicisi üzerinden dispatch eden bir Webhook'tir: + Eklentinizin platformdan mesaj alması ve bunları + OpenClaw’a iletmesi gerekir. Tipik desen, isteği doğrulayan ve + bunu kanalınızın gelen işleyicisi üzerinden dağıtan bir Webhook’tur: ```typescript registerFull(api) { api.registerHttpRoute({ path: "/acme-chat/webhook", - auth: "plugin", // plugin tarafından yönetilen kimlik doğrulama (imzaları kendiniz doğrulayın) + auth: "plugin", // eklenti tarafından yönetilen auth (imzaları kendiniz doğrulayın) handler: async (req, res) => { const event = parseWebhookPayload(req); - // Gelen işleyiciniz mesajı OpenClaw'a dispatch eder. - // Kesin bağlama platform SDK'nıza bağlıdır — - // gerçek bir örnek için paketlenmiş Microsoft Teams veya Google Chat plugin paketine bakın. + // Gelen işleyiciniz mesajı OpenClaw’a dağıtır. + // Kesin bağlama platform SDK’nıza bağlıdır — + // gerçek bir örnek için bundled Microsoft Teams veya Google Chat eklenti paketine bakın. await handleAcmeChatInbound(api, event); res.statusCode = 200; @@ -550,9 +567,9 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım ``` - Gelen mesaj işleme kanala özgüdür. Her kanal plugin'i - kendi gelen işlem hattına sahiptir. Gerçek desenler için paketlenmiş kanal plugin'lerine - (örneğin Microsoft Teams veya Google Chat plugin paketi) bakın. + Gelen mesaj işleme kanala özeldir. Her kanal eklentisi + kendi gelen işlem hattına sahiptir. Gerçek örüntüler için bundled kanal eklentilerine + (örneğin Microsoft Teams veya Google Chat eklenti paketine) bakın. @@ -566,7 +583,7 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım import { acmeChatPlugin } from "./channel.js"; describe("acme-chat plugin", () => { - it("yapılandırmadan hesabı çözümler", () => { + it("resolves account from config", () => { const cfg = { channels: { "acme-chat": { token: "test-token", allowFrom: ["user1"] }, @@ -576,7 +593,7 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım expect(account.token).toBe("test-token"); }); - it("gizli bilgileri somutlaştırmadan hesabı inceler", () => { + it("inspects account without materializing secrets", () => { const cfg = { channels: { "acme-chat": { token: "test-token" } }, } as any; @@ -585,7 +602,7 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım expect(result.tokenStatus).toBe("available"); }); - it("eksik yapılandırmayı bildirir", () => { + it("reports missing config", () => { const cfg = { channels: {} } as any; const result = acmeChatPlugin.setup!.inspectAccount!(cfg, undefined); expect(result.configured).toBe(false); @@ -606,46 +623,46 @@ Eski `resolveMentionGating*` yardımcıları yalnızca uyumluluk dışa aktarım ``` /acme-chat/ -├── package.json # openclaw.channel meta verisi -├── openclaw.plugin.json # Yapılandırma şeması içeren manifest +├── package.json # openclaw.channel metadata +├── openclaw.plugin.json # Yapılandırma şemasını içeren manifest ├── index.ts # defineChannelPluginEntry ├── setup-entry.ts # defineSetupPluginEntry -├── api.ts # Herkese açık dışa aktarımlar (isteğe bağlı) -├── runtime-api.ts # İç çalışma zamanı dışa aktarımları (isteğe bağlı) +├── api.ts # Genel dışa aktarımlar (isteğe bağlı) +├── runtime-api.ts # Dahili çalışma zamanı dışa aktarımları (isteğe bağlı) └── src/ - ├── channel.ts # createChatChannelPlugin aracılığıyla ChannelPlugin + ├── channel.ts # createChatChannelPlugin üzerinden ChannelPlugin ├── channel.test.ts # Testler ├── client.ts # Platform API istemcisi └── runtime.ts # Çalışma zamanı deposu (gerekirse) ``` -## Gelişmiş konular +## İleri konular - - Sabit, hesap kapsamlı veya özel yanıt kipleri + + Sabit, hesap kapsamlı veya özel yanıt modları - + describeMessageTool ve eylem keşfi inferTargetChatType, looksLikeId, resolveTarget - api.runtime aracılığıyla TTS, STT, medya, alt agent + api.runtime üzerinden TTS, STT, medya, alt agent -Bazı paketlenmiş yardımcı seam'leri, paketlenmiş plugin bakımı ve -uyumluluk için hâlâ vardır. Bunlar yeni kanal plugin'leri için önerilen desen değildir; -o paketlenmiş plugin ailesini doğrudan korumuyorsanız ortak SDK -yüzeyinden genel channel/setup/reply/runtime alt yollarını tercih edin. +Bazı bundled yardımcı yüzeyler, bundled plugin bakımı ve +uyumluluk için hâlâ vardır. Bunlar yeni kanal eklentileri için önerilen örüntü değildir; +o bundled plugin ailesini doğrudan sürdürmüyorsanız ortak SDK +yüzeyindeki genel channel/setup/reply/runtime alt yollarını tercih edin. ## Sonraki adımlar -- [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins) — plugin'iniz ayrıca modeller de sağlıyorsa -- [SDK Genel Bakışı](/tr/plugins/sdk-overview) — tam alt yol içe aktarma başvurusu +- [Provider Plugins](/tr/plugins/sdk-provider-plugins) — eklentiniz modeller de sağlıyorsa +- [SDK Overview](/tr/plugins/sdk-overview) — tam alt yol içe aktarma başvurusu - [SDK Testing](/tr/plugins/sdk-testing) — test yardımcıları ve sözleşme testleri - [Plugin Manifest](/tr/plugins/manifest) — tam manifest şeması diff --git a/docs/tr/plugins/sdk-overview.md b/docs/tr/plugins/sdk-overview.md index 4d7430713..daec1b464 100644 --- a/docs/tr/plugins/sdk-overview.md +++ b/docs/tr/plugins/sdk-overview.md @@ -1,30 +1,30 @@ --- read_when: - Hangi SDK alt yolundan içe aktarma yapmanız gerektiğini bilmeniz gerekiyor - - OpenClawPluginApi üzerindeki tüm kayıt yöntemleri için bir başvuru istiyorsunuz + - OpenClawPluginApi üzerindeki tüm kayıt yöntemleri için bir başvuru kaynağı istiyorsunuz - Belirli bir SDK dışa aktarımını arıyorsunuz sidebarTitle: SDK Overview -summary: İçe aktarma eşlemesi, kayıt API başvurusu ve SDK mimarisi -title: Plugin SDK Genel Bakışı +summary: İçe aktarma eşlemesi, kayıt API referansı ve SDK mimarisi +title: Plugin SDK Genel Bakış x-i18n: - generated_at: "2026-04-22T04:25:38Z" + generated_at: "2026-04-22T08:55:41Z" model: gpt-5.4 provider: openai - source_hash: 8045c11976bbda6afe3303a0aab08caf0d0a86ebcf1aaaf927943b90cc517673 + source_hash: e57019e6f9a7fed7842ac575e025b6db41d125f5fa9d0d1de03923fdb1f6bcc3 source_path: plugins/sdk-overview.md workflow: 15 --- -# Plugin SDK Genel Bakışı +# Plugin SDK Genel Bakış -Plugin SDK, plugin'ler ile çekirdek arasındaki türlenmiş sözleşmedir. Bu sayfa, -**neyi içe aktarmanız gerektiği** ve **neyi kaydedebileceğiniz** için başvurudur. +Plugin SDK, Plugin'ler ile çekirdek arasındaki türlendirilmiş sözleşmedir. Bu sayfa, +**neyi içe aktaracağınızın** ve **neleri kaydedebileceğinizin** başvuru kaynağıdır. **Nasıl yapılır kılavuzu mu arıyorsunuz?** - - İlk plugin mi? [Getting Started](/tr/plugins/building-plugins) ile başlayın - - Kanal plugin'i mi? [Channel Plugins](/tr/plugins/sdk-channel-plugins) bölümüne bakın - - Sağlayıcı plugin'i mi? [Provider Plugins](/tr/plugins/sdk-provider-plugins) bölümüne bakın + - İlk Plugin? [Başlangıç](/tr/plugins/building-plugins) ile başlayın + - Kanal Plugin'i? Bkz. [Kanal Plugin'leri](/tr/plugins/sdk-channel-plugins) + - Sağlayıcı Plugin'i? Bkz. [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins) ## İçe aktarma kuralı @@ -36,55 +36,58 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core"; ``` -Her alt yol küçük, kendi içinde yeterli bir modüldür. Bu, başlangıcı hızlı tutar -ve döngüsel bağımlılık sorunlarını önler. Kanala özgü giriş/oluşturma yardımcıları için -`openclaw/plugin-sdk/channel-core` tercih edin; daha geniş şemsiye yüzeyi ve +Her alt yol küçük, kendi içinde yeterli bir modüldür. Bu, başlatmayı hızlı tutar +ve döngüsel bağımlılık sorunlarını önler. Kanala özgü giriş/derleme yardımcıları için +`openclaw/plugin-sdk/channel-core` tercih edin; daha geniş şemsiye yüzey ve `buildChannelConfigSchema` gibi paylaşılan yardımcılar için `openclaw/plugin-sdk/core` kullanın. `openclaw/plugin-sdk/slack`, `openclaw/plugin-sdk/discord`, `openclaw/plugin-sdk/signal`, `openclaw/plugin-sdk/whatsapp` gibi -sağlayıcı adlı kolaylık arayüzleri veya kanal markalı yardımcı arayüzleri eklemeyin ve bunlara -bağımlı olmayın. Paketlenmiş plugin'ler kendi `api.ts` veya `runtime-api.ts` -barrel dosyaları içinde genel SDK alt yollarını birleştirmelidir; çekirdek ise -ya bu plugin-yerel barrel dosyalarını kullanmalı ya da ihtiyaç gerçekten kanallar arasıysa dar bir genel SDK +sağlayıcı adlı kullanım kolaylığı sağlayan ayrım noktalarını veya +kanal markalı yardımcı ayrım noktalarını eklemeyin ya da bunlara bağımlı olmayın. +Paketle birlikte gelen Plugin'ler, kendi `api.ts` veya `runtime-api.ts` barrel dosyaları içinde +genel SDK alt yollarını birleştirmelidir; çekirdek ise ya bu Plugin'e yerel barrel dosyalarını +kullanmalı ya da ihtiyaç gerçekten kanallar arasıysa dar, genel bir SDK sözleşmesi eklemelidir. -Oluşturulan dışa aktarma eşlemesi hâlâ `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, -`plugin-sdk/zalo`, `plugin-sdk/zalo-setup` ve `plugin-sdk/matrix*` gibi küçük bir -paketlenmiş-plugin yardımcı arayüzleri kümesi içerir. Bu -alt yollar yalnızca paketlenmiş-plugin bakımı ve uyumluluğu için vardır; aşağıdaki ortak tabloda kasıtlı olarak -atlanırlar ve yeni üçüncü taraf plugin'ler için önerilen içe aktarma yolu değildir. +Üretilmiş dışa aktarma eşlemesi hâlâ `plugin-sdk/feishu`, `plugin-sdk/feishu-setup`, +`plugin-sdk/zalo`, `plugin-sdk/zalo-setup` ve `plugin-sdk/matrix*` gibi +az sayıda paketle birlikte gelen Plugin yardımcı ayrım noktasını içerir. Bu +alt yollar yalnızca paketle birlikte gelen Plugin bakımı ve uyumluluk içindir; +aşağıdaki ortak tabloda bilinçli olarak yer verilmemiştir ve yeni üçüncü taraf +Plugin'ler için önerilen içe aktarma yolu değildir. -## Alt yol başvurusu +## Alt yol referansı -En yaygın kullanılan alt yollar, amaçlarına göre gruplandırılmıştır. Oluşturulan tam -200+'den fazla alt yol listesi `scripts/lib/plugin-sdk-entrypoints.json` içinde bulunur. +En sık kullanılan alt yollar, amaçlarına göre gruplanmıştır. 200'den fazla alt yoldan oluşan +üretilmiş tam liste `scripts/lib/plugin-sdk-entrypoints.json` içinde bulunur. -Ayrılmış paketlenmiş-plugin yardımcı alt yolları bu oluşturulan listede yine görünür. -Bir belge sayfası açıkça birini genel olarak öne çıkarmadıkça bunları uygulama ayrıntısı/uyumluluk yüzeyleri olarak değerlendirin. +Ayrılmış paketle birlikte gelen Plugin yardımcı alt yolları bu üretilmiş listede +hâlâ görünür. Bir doküman sayfası birini açıkça herkese açık olarak öne çıkarmadıkça, +bunları uygulama ayrıntısı/uyumluluk yüzeyleri olarak değerlendirin. ### Plugin girişi -| Alt yol | Temel dışa aktarımlar | -| --------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | -| `plugin-sdk/plugin-entry` | `definePluginEntry` | +| Alt yol | Temel dışa aktarımlar | +| --------------------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| `plugin-sdk/plugin-entry` | `definePluginEntry` | | `plugin-sdk/core` | `defineChannelPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase`, `defineSetupPluginEntry`, `buildChannelConfigSchema` | -| `plugin-sdk/config-schema` | `OpenClawSchema` | -| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` | +| `plugin-sdk/config-schema` | `OpenClawSchema` | +| `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` | | Alt yol | Temel dışa aktarımlar | | --- | --- | | `plugin-sdk/channel-core` | `defineChannelPluginEntry`, `defineSetupPluginEntry`, `createChatChannelPlugin`, `createChannelPluginBase` | - | `plugin-sdk/config-schema` | Kök `openclaw.json` Zod şeması dışa aktarımı (`OpenClawSchema`) | + | `plugin-sdk/config-schema` | Kök `openclaw.json` Zod şema dışa aktarımı (`OpenClawSchema`) | | `plugin-sdk/channel-setup` | `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, `createOptionalChannelSetupWizard`, ayrıca `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled`, `splitSetupEntries` | | `plugin-sdk/setup` | Paylaşılan kurulum sihirbazı yardımcıları, izin listesi istemleri, kurulum durumu oluşturucuları | | `plugin-sdk/setup-runtime` | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` | | `plugin-sdk/setup-adapter-runtime` | `createEnvPatchedAccountSetupAdapter` | | `plugin-sdk/setup-tools` | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` | - | `plugin-sdk/account-core` | Çok hesaplı yapılandırma/eylem geçidi yardımcıları, varsayılan hesap geri dönüş yardımcıları | + | `plugin-sdk/account-core` | Çok hesaplı yapılandırma/eylem kapısı yardımcıları, varsayılan hesap geri dönüş yardımcıları | | `plugin-sdk/account-id` | `DEFAULT_ACCOUNT_ID`, hesap kimliği normalleştirme yardımcıları | | `plugin-sdk/account-resolution` | Hesap arama + varsayılan geri dönüş yardımcıları | | `plugin-sdk/account-helpers` | Dar hesap listesi/hesap eylemi yardımcıları | @@ -92,38 +95,38 @@ Bir belge sayfası açıkça birini genel olarak öne çıkarmadıkça bunları | `plugin-sdk/channel-reply-pipeline` | `createChannelReplyPipeline` | | `plugin-sdk/channel-config-helpers` | `createHybridChannelConfigAdapter` | | `plugin-sdk/channel-config-schema` | Kanal yapılandırma şeması türleri | - | `plugin-sdk/telegram-command-config` | Paketlenmiş sözleşme geri dönüşü ile Telegram özel komut normalleştirme/doğrulama yardımcıları | - | `plugin-sdk/command-gating` | Dar komut yetkilendirme geçidi yardımcıları | + | `plugin-sdk/telegram-command-config` | Paketle birlikte gelen sözleşme geri dönüşü ile Telegram özel komut normalleştirme/doğrulama yardımcıları | + | `plugin-sdk/command-gating` | Dar komut yetkilendirme kapısı yardımcıları | | `plugin-sdk/channel-policy` | `resolveChannelGroupRequireMention` | - | `plugin-sdk/channel-lifecycle` | `createAccountStatusSink`, taslak akış yaşam döngüsü/nihai hâle getirme yardımcıları | - | `plugin-sdk/inbound-envelope` | Paylaşılan gelen yönlendirme + zarf oluşturucu yardımcıları | - | `plugin-sdk/inbound-reply-dispatch` | Paylaşılan gelen kaydetme ve dağıtma yardımcıları | - | `plugin-sdk/messaging-targets` | Hedef ayrıştırma/eşleme yardımcıları | + | `plugin-sdk/channel-lifecycle` | `createAccountStatusSink`, taslak akış yaşam döngüsü/sonlandırma yardımcıları | + | `plugin-sdk/inbound-envelope` | Paylaşılan gelen rota + zarf oluşturucu yardımcıları | + | `plugin-sdk/inbound-reply-dispatch` | Paylaşılan gelen kayıt ve sevk yardımcıları | + | `plugin-sdk/messaging-targets` | Hedef ayrıştırma/eşleştirme yardımcıları | | `plugin-sdk/outbound-media` | Paylaşılan giden medya yükleme yardımcıları | - | `plugin-sdk/outbound-runtime` | Giden kimlik, gönderim temsilcisi ve yük planlama yardımcıları | + | `plugin-sdk/outbound-runtime` | Giden kimlik, gönderme delegesi ve yük planlama yardımcıları | | `plugin-sdk/poll-runtime` | Dar anket normalleştirme yardımcıları | - | `plugin-sdk/thread-bindings-runtime` | Konu bağlama yaşam döngüsü ve bağdaştırıcı yardımcıları | - | `plugin-sdk/agent-media-payload` | Eski aracı medya yükü oluşturucusu | - | `plugin-sdk/conversation-runtime` | Konuşma/konu bağlama, eşleme ve yapılandırılmış bağlama yardımcıları | - | `plugin-sdk/runtime-config-snapshot` | Çalışma zamanı yapılandırma anlık görüntüsü yardımcısı | + | `plugin-sdk/thread-bindings-runtime` | İş parçacığı bağlama yaşam döngüsü ve bağdaştırıcı yardımcıları | + | `plugin-sdk/agent-media-payload` | Eski ajan medya yükü oluşturucusu | + | `plugin-sdk/conversation-runtime` | Konuşma/iş parçacığı bağlama, eşleştirme ve yapılandırılmış bağlama yardımcıları | + | `plugin-sdk/runtime-config-snapshot` | Çalışma zamanı yapılandırma anlık görüntü yardımcısı | | `plugin-sdk/runtime-group-policy` | Çalışma zamanı grup ilkesi çözümleme yardımcıları | | `plugin-sdk/channel-status` | Paylaşılan kanal durum anlık görüntüsü/özet yardımcıları | - | `plugin-sdk/channel-config-primitives` | Dar kanal yapılandırma şeması ilkel öğeleri | + | `plugin-sdk/channel-config-primitives` | Dar kanal yapılandırma şeması ilkel türleri | | `plugin-sdk/channel-config-writes` | Kanal yapılandırma yazma yetkilendirme yardımcıları | - | `plugin-sdk/channel-plugin-common` | Paylaşılan kanal plugin başlangıç dışa aktarımları | + | `plugin-sdk/channel-plugin-common` | Paylaşılan kanal Plugin başlangıç dışa aktarımları | | `plugin-sdk/allowlist-config-edit` | İzin listesi yapılandırma düzenleme/okuma yardımcıları | - | `plugin-sdk/group-access` | Paylaşılan grup erişimi karar yardımcıları | + | `plugin-sdk/group-access` | Paylaşılan grup erişim kararı yardımcıları | | `plugin-sdk/direct-dm` | Paylaşılan doğrudan DM kimlik doğrulama/koruma yardımcıları | - | `plugin-sdk/interactive-runtime` | Anlamsal mesaj sunumu, teslimat ve eski etkileşimli yanıt yardımcıları. Bkz. [Message Presentation](/tr/plugins/message-presentation) | - | `plugin-sdk/channel-inbound` | Gelen debounce, bahsetme eşleme, mention-policy yardımcıları ve zarf yardımcıları için uyumluluk barrel dosyası | + | `plugin-sdk/interactive-runtime` | Anlamsal mesaj sunumu, teslimat ve eski etkileşimli yanıt yardımcıları. Bkz. [Mesaj Sunumu](/tr/plugins/message-presentation) | + | `plugin-sdk/channel-inbound` | Gelen debounce, mention eşleştirme, mention-policy yardımcıları ve zarf yardımcıları için uyumluluk barrel dosyası | | `plugin-sdk/channel-mention-gating` | Daha geniş gelen çalışma zamanı yüzeyi olmadan dar mention-policy yardımcıları | | `plugin-sdk/channel-location` | Kanal konum bağlamı ve biçimlendirme yardımcıları | - | `plugin-sdk/channel-logging` | Gelen düşüşler ve yazıyor/ack hataları için kanal günlükleme yardımcıları | + | `plugin-sdk/channel-logging` | Gelen düşüşler ve yazıyor/onay hataları için kanal günlükleme yardımcıları | | `plugin-sdk/channel-send-result` | Yanıt sonuç türleri | - | `plugin-sdk/channel-actions` | Kanal mesaj eylemi yardımcıları, ayrıca plugin uyumluluğu için tutulan kullanımdan kaldırılmış yerel şema yardımcıları | - | `plugin-sdk/channel-targets` | Hedef ayrıştırma/eşleme yardımcıları | - | `plugin-sdk/channel-contract` | Kanal sözleşmesi türleri | - | `plugin-sdk/channel-feedback` | Geri bildirim/tepki bağlantıları | + | `plugin-sdk/channel-actions` | Kanal mesaj eylemi yardımcıları, ayrıca Plugin uyumluluğu için tutulan kullanımdan kaldırılmış yerel şema yardımcıları | + | `plugin-sdk/channel-targets` | Hedef ayrıştırma/eşleştirme yardımcıları | + | `plugin-sdk/channel-contract` | Kanal sözleşme türleri | + | `plugin-sdk/channel-feedback` | Geri bildirim/reaksiyon bağlantıları | | `plugin-sdk/channel-secret-runtime` | `collectSimpleChannelFieldAssignments`, `getChannelSurface`, `pushAssignment` ve gizli hedef türleri gibi dar gizli sözleşme yardımcıları | @@ -131,27 +134,27 @@ Bir belge sayfası açıkça birini genel olarak öne çıkarmadıkça bunları | Alt yol | Temel dışa aktarımlar | | --- | --- | | `plugin-sdk/provider-entry` | `defineSingleProviderPluginEntry` | - | `plugin-sdk/provider-setup` | Düzenlenmiş yerel/kendi kendine barındırılan sağlayıcı kurulum yardımcıları | - | `plugin-sdk/self-hosted-provider-setup` | Odaklanmış OpenAI uyumlu kendi kendine barındırılan sağlayıcı kurulum yardımcıları | + | `plugin-sdk/provider-setup` | Düzenlenmiş local/self-hosted sağlayıcı kurulum yardımcıları | + | `plugin-sdk/self-hosted-provider-setup` | Odaklı OpenAI uyumlu self-hosted sağlayıcı kurulum yardımcıları | | `plugin-sdk/cli-backend` | CLI arka uç varsayılanları + watchdog sabitleri | - | `plugin-sdk/provider-auth-runtime` | Sağlayıcı plugin'leri için çalışma zamanı API anahtarı çözümleme yardımcıları | + | `plugin-sdk/provider-auth-runtime` | Sağlayıcı Plugin'leri için çalışma zamanı API anahtarı çözümleme yardımcıları | | `plugin-sdk/provider-auth-api-key` | `upsertApiKeyProfile` gibi API anahtarı onboarding/profil yazma yardımcıları | | `plugin-sdk/provider-auth-result` | Standart OAuth auth-result oluşturucusu | - | `plugin-sdk/provider-auth-login` | Sağlayıcı plugin'leri için paylaşılan etkileşimli giriş yardımcıları | - | `plugin-sdk/provider-env-vars` | Sağlayıcı kimlik doğrulama ortam değişkeni arama yardımcıları | + | `plugin-sdk/provider-auth-login` | Sağlayıcı Plugin'leri için paylaşılan etkileşimli giriş yardımcıları | + | `plugin-sdk/provider-env-vars` | Sağlayıcı kimlik doğrulama env var arama yardımcıları | | `plugin-sdk/provider-auth` | `createProviderApiKeyAuthMethod`, `ensureApiKeyFromOptionEnvOrPrompt`, `upsertAuthProfile`, `upsertApiKeyProfile`, `writeOAuthCredentials` | | `plugin-sdk/provider-model-shared` | `ProviderReplayFamily`, `buildProviderReplayFamilyHooks`, `normalizeModelCompat`, paylaşılan replay-policy oluşturucuları, sağlayıcı uç nokta yardımcıları ve `normalizeNativeXaiModelId` gibi model kimliği normalleştirme yardımcıları | | `plugin-sdk/provider-catalog-shared` | `findCatalogTemplate`, `buildSingleProviderApiKeyCatalog`, `supportsNativeStreamingUsageCompat`, `applyProviderNativeStreamingUsageCompat` | | `plugin-sdk/provider-http` | Genel sağlayıcı HTTP/uç nokta yetenek yardımcıları | - | `plugin-sdk/provider-web-fetch-contract` | `enablePluginInConfig` ve `WebFetchProviderPlugin` gibi dar web-fetch yapılandırma/seçim sözleşme yardımcıları | - | `plugin-sdk/provider-web-fetch` | Web-fetch sağlayıcı kayıt/önbellek yardımcıları | - | `plugin-sdk/provider-web-search-config-contract` | Plugin etkinleştirme bağlantısına ihtiyaç duymayan sağlayıcılar için dar web-search yapılandırma/kimlik bilgisi yardımcıları | - | `plugin-sdk/provider-web-search-contract` | `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` ve kapsamlı kimlik bilgisi ayarlayıcıları/getter'ları gibi dar web-search yapılandırma/kimlik bilgisi sözleşme yardımcıları | - | `plugin-sdk/provider-web-search` | Web-search sağlayıcı kayıt/önbellek/çalışma zamanı yardımcıları | + | `plugin-sdk/provider-web-fetch-contract` | `enablePluginInConfig` ve `WebFetchProviderPlugin` gibi dar web getirme yapılandırma/seçim sözleşmesi yardımcıları | + | `plugin-sdk/provider-web-fetch` | Web getirme sağlayıcısı kayıt/önbellek yardımcıları | + | `plugin-sdk/provider-web-search-config-contract` | Plugin etkinleştirme bağlantısına ihtiyaç duymayan sağlayıcılar için dar web arama yapılandırma/kimlik bilgisi yardımcıları | + | `plugin-sdk/provider-web-search-contract` | `createWebSearchProviderContractFields`, `enablePluginInConfig`, `resolveProviderWebSearchPluginConfig` ve kapsamlı kimlik bilgisi ayarlayıcıları/alıcıları gibi dar web arama yapılandırma/kimlik bilgisi sözleşmesi yardımcıları | + | `plugin-sdk/provider-web-search` | Web arama sağlayıcısı kayıt/önbellek/çalışma zamanı yardımcıları | | `plugin-sdk/provider-tools` | `ProviderToolCompatFamily`, `buildProviderToolCompatFamilyHooks`, Gemini şema temizleme + tanılama ve `resolveXaiModelCompatPatch` / `applyXaiModelCompat` gibi xAI uyumluluk yardımcıları | | `plugin-sdk/provider-usage` | `fetchClaudeUsage` ve benzerleri | | `plugin-sdk/provider-stream` | `ProviderStreamFamily`, `buildProviderStreamFamilyHooks`, `composeProviderStreamWrappers`, akış sarmalayıcı türleri ve paylaşılan Anthropic/Bedrock/Google/Kilocode/Moonshot/OpenAI/OpenRouter/Z.A.I/MiniMax/Copilot sarmalayıcı yardımcıları | - | `plugin-sdk/provider-transport-runtime` | Korunan fetch, taşıma mesajı dönüşümleri ve yazılabilir taşıma olay akışları gibi yerel sağlayıcı taşıma yardımcıları | + | `plugin-sdk/provider-transport-runtime` | Korumalı fetch, taşıma mesajı dönüşümleri ve yazılabilir taşıma olay akışları gibi yerel sağlayıcı taşıma yardımcıları | | `plugin-sdk/provider-onboard` | Onboarding yapılandırma yama yardımcıları | | `plugin-sdk/global-singleton` | Süreç-yerel singleton/map/önbellek yardımcıları | @@ -161,25 +164,25 @@ Bir belge sayfası açıkça birini genel olarak öne çıkarmadıkça bunları | --- | --- | | `plugin-sdk/command-auth` | `resolveControlCommandGate`, komut kayıt defteri yardımcıları, gönderen yetkilendirme yardımcıları | | `plugin-sdk/command-status` | `buildCommandsMessagePaginated` ve `buildHelpMessage` gibi komut/yardım mesajı oluşturucuları | - | `plugin-sdk/approval-auth-runtime` | Onaylayan çözümleme ve aynı sohbet eylem kimlik doğrulama yardımcıları | + | `plugin-sdk/approval-auth-runtime` | Onaylayıcı çözümleme ve aynı sohbet eylem kimlik doğrulama yardımcıları | | `plugin-sdk/approval-client-runtime` | Yerel exec onay profili/filtre yardımcıları | | `plugin-sdk/approval-delivery-runtime` | Yerel onay yeteneği/teslimat bağdaştırıcıları | | `plugin-sdk/approval-gateway-runtime` | Paylaşılan onay gateway çözümleme yardımcısı | | `plugin-sdk/approval-handler-adapter-runtime` | Sıcak kanal giriş noktaları için hafif yerel onay bağdaştırıcısı yükleme yardımcıları | - | `plugin-sdk/approval-handler-runtime` | Daha geniş onay işleyici çalışma zamanı yardımcıları; dar bağdaştırıcı/gateway arayüzleri yeterliyse onları tercih edin | + | `plugin-sdk/approval-handler-runtime` | Daha geniş onay işleyicisi çalışma zamanı yardımcıları; daha dar bağdaştırıcı/gateway ayrım noktaları yeterliyse onları tercih edin | | `plugin-sdk/approval-native-runtime` | Yerel onay hedefi + hesap bağlama yardımcıları | - | `plugin-sdk/approval-reply-runtime` | Exec/plugin onay yanıt yükü yardımcıları | - | `plugin-sdk/command-auth-native` | Yerel komut kimlik doğrulama + yerel oturum hedef yardımcısı | + | `plugin-sdk/approval-reply-runtime` | Exec/Plugin onay yanıt yükü yardımcıları | + | `plugin-sdk/command-auth-native` | Yerel komut kimlik doğrulama + yerel oturum hedefi yardımcıları | | `plugin-sdk/command-detection` | Paylaşılan komut algılama yardımcıları | | `plugin-sdk/command-surface` | Komut gövdesi normalleştirme ve komut yüzeyi yardımcıları | | `plugin-sdk/allow-from` | `formatAllowFromLowercase` | - | `plugin-sdk/channel-secret-runtime` | Kanal/plugin gizli bilgi yüzeyleri için dar gizli sözleşme toplama yardımcıları | + | `plugin-sdk/channel-secret-runtime` | Kanal/Plugin gizli yüzeyleri için dar gizli sözleşme toplama yardımcıları | | `plugin-sdk/secret-ref-runtime` | Gizli sözleşme/yapılandırma ayrıştırması için dar `coerceSecretRef` ve SecretRef türleme yardımcıları | - | `plugin-sdk/security-runtime` | Paylaşılan güven, DM geçitlemesi, harici içerik ve gizli bilgi toplama yardımcıları | - | `plugin-sdk/ssrf-policy` | Ana makine izin listesi ve özel ağ SSRF ilke yardımcıları | + | `plugin-sdk/security-runtime` | Paylaşılan güven, DM kapılama, harici içerik ve gizli toplama yardımcıları | + | `plugin-sdk/ssrf-policy` | Ana bilgisayar izin listesi ve özel ağ SSRF ilkesi yardımcıları | | `plugin-sdk/ssrf-dispatcher` | Geniş altyapı çalışma zamanı yüzeyi olmadan dar sabitlenmiş dağıtıcı yardımcıları | - | `plugin-sdk/ssrf-runtime` | Sabitlenmiş dağıtıcı, SSRF korumalı fetch ve SSRF ilke yardımcıları | - | `plugin-sdk/secret-input` | Gizli bilgi girdisi ayrıştırma yardımcıları | + | `plugin-sdk/ssrf-runtime` | Sabitlenmiş dağıtıcı, SSRF korumalı fetch ve SSRF ilkesi yardımcıları | + | `plugin-sdk/secret-input` | Gizli girdi ayrıştırma yardımcıları | | `plugin-sdk/webhook-ingress` | Webhook istek/hedef yardımcıları | | `plugin-sdk/webhook-request-guards` | İstek gövdesi boyutu/zaman aşımı yardımcıları | @@ -187,109 +190,109 @@ Bir belge sayfası açıkça birini genel olarak öne çıkarmadıkça bunları | Alt yol | Temel dışa aktarımlar | | --- | --- | - | `plugin-sdk/runtime` | Geniş çalışma zamanı/günlükleme/yedekleme/plugin yükleme yardımcıları | - | `plugin-sdk/runtime-env` | Dar çalışma zamanı ortamı, günlükleyici, zaman aşımı, yeniden deneme ve backoff yardımcıları | + | `plugin-sdk/runtime` | Geniş çalışma zamanı/günlükleme/yedekleme/Plugin kurulum yardımcıları | + | `plugin-sdk/runtime-env` | Dar çalışma zamanı env, günlükleyici, zaman aşımı, retry ve backoff yardımcıları | | `plugin-sdk/channel-runtime-context` | Genel kanal çalışma zamanı bağlamı kaydı ve arama yardımcıları | | `plugin-sdk/runtime-store` | `createPluginRuntimeStore` | - | `plugin-sdk/plugin-runtime` | Paylaşılan plugin komutu/hook/http/etkileşimli yardımcıları | - | `plugin-sdk/hook-runtime` | Paylaşılan Webhook/dahili hook işlem hattı yardımcıları | + | `plugin-sdk/plugin-runtime` | Paylaşılan Plugin komutu/hook/http/etkileşimli yardımcılar | + | `plugin-sdk/hook-runtime` | Paylaşılan Webhook/iç hook işlem hattı yardımcıları | | `plugin-sdk/lazy-runtime` | `createLazyRuntimeModule`, `createLazyRuntimeMethod` ve `createLazyRuntimeSurface` gibi tembel çalışma zamanı içe aktarma/bağlama yardımcıları | | `plugin-sdk/process-runtime` | Süreç exec yardımcıları | | `plugin-sdk/cli-runtime` | CLI biçimlendirme, bekleme ve sürüm yardımcıları | | `plugin-sdk/gateway-runtime` | Gateway istemcisi ve kanal durumu yama yardımcıları | | `plugin-sdk/config-runtime` | Yapılandırma yükleme/yazma yardımcıları | - | `plugin-sdk/telegram-command-config` | Paketlenmiş Telegram sözleşme yüzeyi kullanılamadığında bile Telegram komut adı/açıklama normalleştirme ve kopya/çakışma denetimleri | - | `plugin-sdk/text-autolink-runtime` | Geniş text-runtime barrel dosyası olmadan dosya başvurusu otomatik bağlantı algılama | - | `plugin-sdk/approval-runtime` | Exec/plugin onay yardımcıları, onay yeteneği oluşturucuları, kimlik doğrulama/profil yardımcıları, yerel yönlendirme/çalışma zamanı yardımcıları | - | `plugin-sdk/reply-runtime` | Paylaşılan gelen/yanıt çalışma zamanı yardımcıları, parçalama, dağıtma, Heartbeat, yanıt planlayıcısı | - | `plugin-sdk/reply-dispatch-runtime` | Dar yanıt dağıtma/nihai hâle getirme yardımcıları | + | `plugin-sdk/telegram-command-config` | Paketle birlikte gelen Telegram sözleşme yüzeyi kullanılamadığında bile Telegram komut adı/açıklama normalleştirme ve yinelenen/çakışma kontrolleri | + | `plugin-sdk/text-autolink-runtime` | Geniş text-runtime barrel dosyası olmadan dosya referansı otomatik bağlantı algılama | + | `plugin-sdk/approval-runtime` | Exec/Plugin onay yardımcıları, onay yeteneği oluşturucuları, kimlik doğrulama/profil yardımcıları, yerel yönlendirme/çalışma zamanı yardımcıları | + | `plugin-sdk/reply-runtime` | Paylaşılan gelen/yanıt çalışma zamanı yardımcıları, parçalara ayırma, sevk, Heartbeat, yanıt planlayıcı | + | `plugin-sdk/reply-dispatch-runtime` | Dar yanıt sevk/sonlandırma yardımcıları | | `plugin-sdk/reply-history` | `buildHistoryContext`, `recordPendingHistoryEntry` ve `clearHistoryEntriesIfEnabled` gibi paylaşılan kısa pencere yanıt geçmişi yardımcıları | | `plugin-sdk/reply-reference` | `createReplyReferencePlanner` | - | `plugin-sdk/reply-chunking` | Dar metin/markdown parçalama yardımcıları | + | `plugin-sdk/reply-chunking` | Dar metin/Markdown parçalara ayırma yardımcıları | | `plugin-sdk/session-store-runtime` | Oturum deposu yolu + updated-at yardımcıları | - | `plugin-sdk/state-paths` | State/OAuth dizin yolu yardımcıları | - | `plugin-sdk/routing` | `resolveAgentRoute`, `buildAgentSessionKey` ve `resolveDefaultAgentBoundAccountId` gibi yönlendirme/oturum anahtarı/hesap bağlama yardımcıları | - | `plugin-sdk/status-helpers` | Paylaşılan kanal/hesap durum özeti yardımcıları, çalışma zamanı durum varsayılanları ve sorun meta verisi yardımcıları | + | `plugin-sdk/state-paths` | Durum/OAuth dizin yolu yardımcıları | + | `plugin-sdk/routing` | `resolveAgentRoute`, `buildAgentSessionKey` ve `resolveDefaultAgentBoundAccountId` gibi rota/oturum anahtarı/hesap bağlama yardımcıları | + | `plugin-sdk/status-helpers` | Paylaşılan kanal/hesap durum özeti yardımcıları, çalışma zamanı durumu varsayılanları ve issue meta verisi yardımcıları | | `plugin-sdk/target-resolver-runtime` | Paylaşılan hedef çözümleyici yardımcıları | | `plugin-sdk/string-normalization-runtime` | Slug/dize normalleştirme yardımcıları | - | `plugin-sdk/request-url` | Fetch/istek benzeri girdilerden dize URL'leri ayıklama | - | `plugin-sdk/run-command` | Normalize edilmiş stdout/stderr sonuçlarıyla zamanlamalı komut çalıştırıcısı | + | `plugin-sdk/request-url` | Fetch/istek benzeri girdilerden dize URL'leri çıkarma | + | `plugin-sdk/run-command` | Normalleştirilmiş stdout/stderr sonuçlarıyla zamanlamalı komut çalıştırıcısı | | `plugin-sdk/param-readers` | Yaygın araç/CLI parametre okuyucuları | - | `plugin-sdk/tool-payload` | Araç sonuç nesnelerinden normalize yükleri ayıklama | - | `plugin-sdk/tool-send` | Araç bağımsız değişkenlerinden kanonik gönderim hedef alanlarını ayıklama | + | `plugin-sdk/tool-payload` | Araç sonuç nesnelerinden normalleştirilmiş yükleri çıkarma | + | `plugin-sdk/tool-send` | Araç argümanlarından kanonik gönderim hedefi alanlarını çıkarma | | `plugin-sdk/temp-path` | Paylaşılan geçici indirme yolu yardımcıları | - | `plugin-sdk/logging-core` | Alt sistem günlükleyicisi ve kırpma yardımcıları | + | `plugin-sdk/logging-core` | Alt sistem günlükleyicisi ve redaksiyon yardımcıları | | `plugin-sdk/markdown-table-runtime` | Markdown tablo modu yardımcıları | - | `plugin-sdk/json-store` | Küçük JSON durumu okuma/yazma yardımcıları | + | `plugin-sdk/json-store` | Küçük JSON durum okuma/yazma yardımcıları | | `plugin-sdk/file-lock` | Yeniden girişli dosya kilidi yardımcıları | - | `plugin-sdk/persistent-dedupe` | Disk destekli dedupe önbellek yardımcıları | - | `plugin-sdk/acp-runtime` | ACP çalışma zamanı/oturumu ve yanıt dağıtma yardımcıları | - | `plugin-sdk/acp-binding-resolve-runtime` | Yaşam döngüsü başlangıç içe aktarımları olmadan salt okunur ACP bağlama çözümleme | - | `plugin-sdk/agent-config-primitives` | Dar aracı çalışma zamanı yapılandırma şeması ilkel öğeleri | + | `plugin-sdk/persistent-dedupe` | Disk destekli yinelenenleri ayıklama önbellek yardımcıları | + | `plugin-sdk/acp-runtime` | ACP çalışma zamanı/oturum ve yanıt sevk yardımcıları | + | `plugin-sdk/acp-binding-resolve-runtime` | Yaşam döngüsü başlatma içe aktarmaları olmadan salt okunur ACP bağlama çözümleme | + | `plugin-sdk/agent-config-primitives` | Dar ajan çalışma zamanı yapılandırma şeması ilkel türleri | | `plugin-sdk/boolean-param` | Gevşek boolean parametre okuyucusu | - | `plugin-sdk/dangerous-name-runtime` | Tehlikeli ad eşleme çözümleme yardımcıları | + | `plugin-sdk/dangerous-name-runtime` | Tehlikeli ad eşleştirme çözümleme yardımcıları | | `plugin-sdk/device-bootstrap` | Cihaz bootstrap ve eşleme belirteci yardımcıları | - | `plugin-sdk/extension-shared` | Paylaşılan pasif kanal, durum ve ambient proxy yardımcı ilkel öğeleri | + | `plugin-sdk/extension-shared` | Paylaşılan pasif kanal, durum ve ortam proxy yardımcı ilkel türleri | | `plugin-sdk/models-provider-runtime` | `/models` komutu/sağlayıcı yanıt yardımcıları | | `plugin-sdk/skill-commands-runtime` | Skills komut listeleme yardımcıları | | `plugin-sdk/native-command-registry` | Yerel komut kayıt defteri/oluşturma/serileştirme yardımcıları | - | `plugin-sdk/agent-harness` | Düşük düzey aracı harness'leri için deneysel güvenilir plugin yüzeyi: harness türleri, etkin çalıştırma yönlendirme/abort yardımcıları, OpenClaw araç köprüsü yardımcıları ve deneme sonucu yardımcıları | - | `plugin-sdk/provider-zai-endpoint` | Z.A.I uç nokta algılama yardımcıları | + | `plugin-sdk/agent-harness` | Düşük seviye ajan harness'leri için deneysel güvenilir Plugin yüzeyi: harness türleri, etkin çalıştırma yönlendirme/durdurma yardımcıları, OpenClaw araç köprüsü yardımcıları ve deneme sonucu yardımcı araçları | + | `plugin-sdk/provider-zai-endpoint` | Z.AI uç nokta algılama yardımcıları | | `plugin-sdk/infra-runtime` | Sistem olayı/Heartbeat yardımcıları | | `plugin-sdk/collection-runtime` | Küçük sınırlı önbellek yardımcıları | | `plugin-sdk/diagnostic-runtime` | Tanılama bayrağı ve olay yardımcıları | | `plugin-sdk/error-runtime` | Hata grafiği, biçimlendirme, paylaşılan hata sınıflandırma yardımcıları, `isApprovalNotFoundError` | | `plugin-sdk/fetch-runtime` | Sarılmış fetch, proxy ve sabitlenmiş arama yardımcıları | - | `plugin-sdk/runtime-fetch` | Proxy/korumalı-fetch içe aktarımları olmadan dağıtıcı farkındalıklı çalışma zamanı fetch | + | `plugin-sdk/runtime-fetch` | Proxy/korumalı fetch içe aktarmaları olmadan dağıtıcı farkındalıklı çalışma zamanı fetch'i | | `plugin-sdk/response-limit-runtime` | Geniş medya çalışma zamanı yüzeyi olmadan sınırlı yanıt gövdesi okuyucusu | | `plugin-sdk/session-binding-runtime` | Yapılandırılmış bağlama yönlendirmesi veya eşleme depoları olmadan mevcut konuşma bağlama durumu | - | `plugin-sdk/session-store-runtime` | Geniş yapılandırma yazma/bakım içe aktarımları olmadan oturum deposu okuma yardımcıları | - | `plugin-sdk/context-visibility-runtime` | Geniş yapılandırma/güvenlik içe aktarımları olmadan bağlam görünürlüğü çözümleme ve ek bağlam filtreleme | - | `plugin-sdk/string-coerce-runtime` | Markdown/günlükleme içe aktarımları olmadan dar ilkel kayıt/dize zorlama ve normalleştirme yardımcıları | - | `plugin-sdk/host-runtime` | Ana makine adı ve SCP ana makine normalleştirme yardımcıları | - | `plugin-sdk/retry-runtime` | Yeniden deneme yapılandırması ve yeniden deneme çalıştırıcı yardımcıları | - | `plugin-sdk/agent-runtime` | Aracı dizini/kimlik/çalışma alanı yardımcıları | - | `plugin-sdk/directory-runtime` | Yapılandırma destekli dizin sorgulama/dedupe | + | `plugin-sdk/session-store-runtime` | Geniş yapılandırma yazma/bakım içe aktarmaları olmadan oturum deposu okuma yardımcıları | + | `plugin-sdk/context-visibility-runtime` | Geniş yapılandırma/güvenlik içe aktarmaları olmadan bağlam görünürlüğü çözümleme ve ek bağlam filtreleme | + | `plugin-sdk/string-coerce-runtime` | Markdown/günlükleme içe aktarmaları olmadan dar ilkel kayıt/dize dönüştürme ve normalleştirme yardımcıları | + | `plugin-sdk/host-runtime` | Ana bilgisayar adı ve SCP ana bilgisayar normalleştirme yardımcıları | + | `plugin-sdk/retry-runtime` | Retry yapılandırması ve retry çalıştırıcısı yardımcıları | + | `plugin-sdk/agent-runtime` | Ajan dizini/kimliği/çalışma alanı yardımcıları | + | `plugin-sdk/directory-runtime` | Yapılandırma destekli dizin sorgulama/yinelenenleri ayıklama | | `plugin-sdk/keyed-async-queue` | `KeyedAsyncQueue` | | Alt yol | Temel dışa aktarımlar | | --- | --- | - | `plugin-sdk/media-runtime` | Medya yükü oluşturucularına ek olarak paylaşılan medya fetch/dönüştürme/depolama yardımcıları | - | `plugin-sdk/media-generation-runtime` | Paylaşılan medya oluşturma geri dönüş yardımcıları, aday seçimi ve eksik model mesajlaşması | + | `plugin-sdk/media-runtime` | Paylaşılan medya fetch/dönüştürme/depolama yardımcıları ile medya yükü oluşturucuları | + | `plugin-sdk/media-generation-runtime` | Paylaşılan medya oluşturma failover yardımcıları, aday seçimi ve eksik model mesajlaşması | | `plugin-sdk/media-understanding` | Medya anlama sağlayıcı türleri ile sağlayıcıya dönük görsel/ses yardımcı dışa aktarımları | - | `plugin-sdk/text-runtime` | Aracı tarafından görülebilen metin temizleme, markdown oluşturma/parçalama/tablo yardımcıları, kırpma yardımcıları, yönerge etiketi yardımcıları ve güvenli metin yardımcıları gibi paylaşılan metin/markdown/günlükleme yardımcıları | - | `plugin-sdk/text-chunking` | Giden metin parçalama yardımcısı | - | `plugin-sdk/speech` | Konuşma sağlayıcı türleri ile sağlayıcıya dönük yönerge, kayıt defteri ve doğrulama yardımcıları | - | `plugin-sdk/speech-core` | Paylaşılan konuşma sağlayıcı türleri, kayıt defteri, yönerge ve normalleştirme yardımcıları | + | `plugin-sdk/text-runtime` | Asistan tarafından görülebilen metin temizleme, Markdown işleme/parçalara ayırma/tablo yardımcıları, redaksiyon yardımcıları, directive-tag yardımcıları ve güvenli metin yardımcıları gibi paylaşılan metin/Markdown/günlükleme yardımcıları | + | `plugin-sdk/text-chunking` | Giden metin parçalara ayırma yardımcısı | + | `plugin-sdk/speech` | Konuşma sağlayıcı türleri ile sağlayıcıya dönük directive, kayıt defteri ve doğrulama yardımcıları | + | `plugin-sdk/speech-core` | Paylaşılan konuşma sağlayıcı türleri, kayıt defteri, directive ve normalleştirme yardımcıları | | `plugin-sdk/realtime-transcription` | Gerçek zamanlı transkripsiyon sağlayıcı türleri ve kayıt defteri yardımcıları | | `plugin-sdk/realtime-voice` | Gerçek zamanlı ses sağlayıcı türleri ve kayıt defteri yardımcıları | | `plugin-sdk/image-generation` | Görsel oluşturma sağlayıcı türleri | - | `plugin-sdk/image-generation-core` | Paylaşılan görsel oluşturma türleri, geri dönüş, kimlik doğrulama ve kayıt defteri yardımcıları | + | `plugin-sdk/image-generation-core` | Paylaşılan görsel oluşturma türleri, failover, kimlik doğrulama ve kayıt defteri yardımcıları | | `plugin-sdk/music-generation` | Müzik oluşturma sağlayıcı/istek/sonuç türleri | - | `plugin-sdk/music-generation-core` | Paylaşılan müzik oluşturma türleri, geri dönüş yardımcıları, sağlayıcı arama ve model-ref ayrıştırma | + | `plugin-sdk/music-generation-core` | Paylaşılan müzik oluşturma türleri, failover yardımcıları, sağlayıcı arama ve model-ref ayrıştırma | | `plugin-sdk/video-generation` | Video oluşturma sağlayıcı/istek/sonuç türleri | - | `plugin-sdk/video-generation-core` | Paylaşılan video oluşturma türleri, geri dönüş yardımcıları, sağlayıcı arama ve model-ref ayrıştırma | - | `plugin-sdk/webhook-targets` | Webhook hedef kayıt defteri ve rota yükleme yardımcıları | + | `plugin-sdk/video-generation-core` | Paylaşılan video oluşturma türleri, failover yardımcıları, sağlayıcı arama ve model-ref ayrıştırma | + | `plugin-sdk/webhook-targets` | Webhook hedef kayıt defteri ve rota kurulum yardımcıları | | `plugin-sdk/webhook-path` | Webhook yol normalleştirme yardımcıları | - | `plugin-sdk/web-media` | Paylaşılan uzak/yerel medya yükleme yardımcıları | - | `plugin-sdk/zod` | Plugin SDK kullanıcıları için yeniden dışa aktarılan `zod` | + | `plugin-sdk/web-media` | Paylaşılan uzak/local medya yükleme yardımcıları | + | `plugin-sdk/zod` | Plugin SDK tüketicileri için yeniden dışa aktarılan `zod` | | `plugin-sdk/testing` | `installCommonResolveTargetErrorCases`, `shouldAckReaction` | | Alt yol | Temel dışa aktarımlar | | --- | --- | - | `plugin-sdk/memory-core` | Yönetici/yapılandırma/dosya/CLI yardımcıları için paketlenmiş memory-core yardımcı yüzeyi | - | `plugin-sdk/memory-core-engine-runtime` | Memory dizin/arama çalışma zamanı cephesi | + | `plugin-sdk/memory-core` | Manager/config/file/CLI yardımcıları için paketle birlikte gelen memory-core yardımcı yüzeyi | + | `plugin-sdk/memory-core-engine-runtime` | Memory dizini/arama çalışma zamanı yüzeyi | | `plugin-sdk/memory-core-host-engine-foundation` | Memory host foundation engine dışa aktarımları | - | `plugin-sdk/memory-core-host-engine-embeddings` | Memory host embedding sözleşmeleri, kayıt defteri erişimi, yerel sağlayıcı ve genel toplu/uzak yardımcılar | + | `plugin-sdk/memory-core-host-engine-embeddings` | Memory host embedding sözleşmeleri, kayıt defteri erişimi, local sağlayıcı ve genel batch/uzak yardımcıları | | `plugin-sdk/memory-core-host-engine-qmd` | Memory host QMD engine dışa aktarımları | | `plugin-sdk/memory-core-host-engine-storage` | Memory host storage engine dışa aktarımları | | `plugin-sdk/memory-core-host-multimodal` | Memory host multimodal yardımcıları | | `plugin-sdk/memory-core-host-query` | Memory host sorgu yardımcıları | - | `plugin-sdk/memory-core-host-secret` | Memory host gizli bilgi yardımcıları | + | `plugin-sdk/memory-core-host-secret` | Memory host gizli yardımcıları | | `plugin-sdk/memory-core-host-events` | Memory host olay günlüğü yardımcıları | | `plugin-sdk/memory-core-host-status` | Memory host durum yardımcıları | | `plugin-sdk/memory-core-host-runtime-cli` | Memory host CLI çalışma zamanı yardımcıları | @@ -298,82 +301,93 @@ Bir belge sayfası açıkça birini genel olarak öne çıkarmadıkça bunları | `plugin-sdk/memory-host-core` | Memory host çekirdek çalışma zamanı yardımcıları için sağlayıcıdan bağımsız takma ad | | `plugin-sdk/memory-host-events` | Memory host olay günlüğü yardımcıları için sağlayıcıdan bağımsız takma ad | | `plugin-sdk/memory-host-files` | Memory host dosya/çalışma zamanı yardımcıları için sağlayıcıdan bağımsız takma ad | - | `plugin-sdk/memory-host-markdown` | Memory'ye komşu plugin'ler için paylaşılan yönetilen-markdown yardımcıları | - | `plugin-sdk/memory-host-search` | Arama yöneticisi erişimi için Active Memory çalışma zamanı cephesi | + | `plugin-sdk/memory-host-markdown` | Memory'ye komşu Plugin'ler için paylaşılan yönetilen Markdown yardımcıları | + | `plugin-sdk/memory-host-search` | Arama yöneticisi erişimi için Active Memory çalışma zamanı yüzeyi | | `plugin-sdk/memory-host-status` | Memory host durum yardımcıları için sağlayıcıdan bağımsız takma ad | - | `plugin-sdk/memory-lancedb` | Paketlenmiş memory-lancedb yardımcı yüzeyi | + | `plugin-sdk/memory-lancedb` | Paketle birlikte gelen memory-lancedb yardımcı yüzeyi | - + | Aile | Geçerli alt yollar | Amaçlanan kullanım | | --- | --- | --- | - | Tarayıcı | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Paketlenmiş tarayıcı plugin desteği yardımcıları (`browser-support` uyumluluk barrel dosyası olarak kalır) | - | Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Paketlenmiş Matrix yardımcı/çalışma zamanı yüzeyi | - | Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Paketlenmiş LINE yardımcı/çalışma zamanı yüzeyi | - | IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Paketlenmiş IRC yardımcı yüzeyi | - | Kanala özgü yardımcılar | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Paketlenmiş kanal uyumluluk/yardımcı arayüzleri | - | Kimlik doğrulama/plugin'e özgü yardımcılar | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Paketlenmiş özellik/plugin yardımcı arayüzleri; `plugin-sdk/github-copilot-token` şu anda `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` ve `resolveCopilotApiToken` dışa aktarır | + | Tarayıcı | `plugin-sdk/browser-cdp`, `plugin-sdk/browser-config-runtime`, `plugin-sdk/browser-config-support`, `plugin-sdk/browser-control-auth`, `plugin-sdk/browser-node-runtime`, `plugin-sdk/browser-profiles`, `plugin-sdk/browser-security-runtime`, `plugin-sdk/browser-setup-tools`, `plugin-sdk/browser-support` | Paketle birlikte gelen tarayıcı Plugin destek yardımcıları (`browser-support` uyumluluk barrel dosyası olarak kalır) | + | Matrix | `plugin-sdk/matrix`, `plugin-sdk/matrix-helper`, `plugin-sdk/matrix-runtime-heavy`, `plugin-sdk/matrix-runtime-shared`, `plugin-sdk/matrix-runtime-surface`, `plugin-sdk/matrix-surface`, `plugin-sdk/matrix-thread-bindings` | Paketle birlikte gelen Matrix yardımcı/çalışma zamanı yüzeyi | + | Line | `plugin-sdk/line`, `plugin-sdk/line-core`, `plugin-sdk/line-runtime`, `plugin-sdk/line-surface` | Paketle birlikte gelen LINE yardımcı/çalışma zamanı yüzeyi | + | IRC | `plugin-sdk/irc`, `plugin-sdk/irc-surface` | Paketle birlikte gelen IRC yardımcı yüzeyi | + | Kanala özgü yardımcılar | `plugin-sdk/googlechat`, `plugin-sdk/zalouser`, `plugin-sdk/bluebubbles`, `plugin-sdk/bluebubbles-policy`, `plugin-sdk/mattermost`, `plugin-sdk/mattermost-policy`, `plugin-sdk/feishu-conversation`, `plugin-sdk/msteams`, `plugin-sdk/nextcloud-talk`, `plugin-sdk/nostr`, `plugin-sdk/tlon`, `plugin-sdk/twitch` | Paketle birlikte gelen kanal uyumluluk/yardımcı ayrım noktaları | + | Kimlik doğrulama/Plugin'e özgü yardımcılar | `plugin-sdk/github-copilot-login`, `plugin-sdk/github-copilot-token`, `plugin-sdk/diagnostics-otel`, `plugin-sdk/diffs`, `plugin-sdk/llm-task`, `plugin-sdk/thread-ownership`, `plugin-sdk/voice-call` | Paketle birlikte gelen özellik/Plugin yardımcı ayrım noktaları; `plugin-sdk/github-copilot-token` şu anda `DEFAULT_COPILOT_API_BASE_URL`, `deriveCopilotApiBaseUrlFromToken` ve `resolveCopilotApiToken` dışa aktarır | ## Kayıt API'si -`register(api)` geri çağrısı, şu yöntemlere sahip bir `OpenClawPluginApi` nesnesi alır: +`register(api)` callback'i, şu +yöntemlere sahip bir `OpenClawPluginApi` nesnesi alır: ### Yetenek kaydı -| Yöntem | Kaydettiği şey | -| ------------------------------------------------ | ------------------------------------ | -| `api.registerProvider(...)` | Metin çıkarımı (LLM) | -| `api.registerAgentHarness(...)` | Deneysel düşük düzey aracı yürütücüsü | -| `api.registerCliBackend(...)` | Yerel CLI çıkarım arka ucu | -| `api.registerChannel(...)` | Mesajlaşma kanalı | -| `api.registerSpeechProvider(...)` | Metinden konuşmaya / STT sentezi | -| `api.registerRealtimeTranscriptionProvider(...)` | Akış gerçek zamanlı transkripsiyon | +| Yöntem | Ne kaydeder | +| ------------------------------------------------ | ------------------------------------- | +| `api.registerProvider(...)` | Metin çıkarımı (LLM) | +| `api.registerAgentHarness(...)` | Deneysel düşük seviye ajan yürütücüsü | +| `api.registerCliBackend(...)` | local CLI çıkarım arka ucu | +| `api.registerChannel(...)` | Mesajlaşma kanalı | +| `api.registerSpeechProvider(...)` | Metinden konuşmaya / STT sentezi | +| `api.registerRealtimeTranscriptionProvider(...)` | Akış tabanlı gerçek zamanlı transkripsiyon | | `api.registerRealtimeVoiceProvider(...)` | Çift yönlü gerçek zamanlı ses oturumları | -| `api.registerMediaUnderstandingProvider(...)` | Görsel/ses/video analizi | -| `api.registerImageGenerationProvider(...)` | Görsel oluşturma | -| `api.registerMusicGenerationProvider(...)` | Müzik oluşturma | -| `api.registerVideoGenerationProvider(...)` | Video oluşturma | -| `api.registerWebFetchProvider(...)` | Web getirme / kazıma sağlayıcısı | -| `api.registerWebSearchProvider(...)` | Web arama | +| `api.registerMediaUnderstandingProvider(...)` | Görsel/ses/video analizi | +| `api.registerImageGenerationProvider(...)` | Görsel oluşturma | +| `api.registerMusicGenerationProvider(...)` | Müzik oluşturma | +| `api.registerVideoGenerationProvider(...)` | Video oluşturma | +| `api.registerWebFetchProvider(...)` | Web getirme / scrape sağlayıcısı | +| `api.registerWebSearchProvider(...)` | Web arama | ### Araçlar ve komutlar -| Yöntem | Kaydettiği şey | -| ------------------------------- | ---------------------------------------------- | -| `api.registerTool(tool, opts?)` | Aracı aracı (zorunlu veya `{ optional: true }`) | -| `api.registerCommand(def)` | Özel komut (LLM'yi atlar) | +| Yöntem | Ne kaydeder | +| ------------------------------- | -------------------------------------------- | +| `api.registerTool(tool, opts?)` | Ajan aracı (zorunlu veya `{ optional: true }`) | +| `api.registerCommand(def)` | Özel komut (LLM'yi atlar) | ### Altyapı -| Yöntem | Kaydettiği şey | -| ---------------------------------------------- | --------------------------------------- | -| `api.registerHook(events, handler, opts?)` | Olay hook'u | -| `api.registerHttpRoute(params)` | Gateway HTTP uç noktası | -| `api.registerGatewayMethod(name, handler)` | Gateway RPC yöntemi | -| `api.registerCli(registrar, opts?)` | CLI alt komutu | -| `api.registerService(service)` | Arka plan hizmeti | -| `api.registerInteractiveHandler(registration)` | Etkileşimli işleyici | -| `api.registerMemoryPromptSupplement(builder)` | Eklemeli memory-komşu istem bölümü | -| `api.registerMemoryCorpusSupplement(adapter)` | Eklemeli memory arama/okuma korpusu | +| Yöntem | Ne kaydeder | +| ----------------------------------------------- | ------------------------------------- | +| `api.registerHook(events, handler, opts?)` | Olay hook'u | +| `api.registerHttpRoute(params)` | Gateway HTTP uç noktası | +| `api.registerGatewayMethod(name, handler)` | Gateway RPC yöntemi | +| `api.registerCli(registrar, opts?)` | CLI alt komutu | +| `api.registerService(service)` | Arka plan hizmeti | +| `api.registerInteractiveHandler(registration)` | Etkileşimli işleyici | +| `api.registerEmbeddedExtensionFactory(factory)` | Pi embedded-runner uzantı fabrikası | +| `api.registerMemoryPromptSupplement(builder)` | Eklemeli Memory'ye komşu prompt bölümü | +| `api.registerMemoryCorpusSupplement(adapter)` | Eklemeli Memory arama/okuma corpus'u | Ayrılmış çekirdek yönetici ad alanları (`config.*`, `exec.approvals.*`, `wizard.*`, -`update.*`), bir plugin daha dar bir gateway yöntem kapsamı atamaya çalışsa bile, +`update.*`), bir Plugin daha dar bir gateway yöntemi kapsamı atamaya çalışsa bile her zaman `operator.admin` olarak kalır. Plugin'e ait yöntemler için -plugin'e özgü önekleri tercih edin. +Plugin'e özgü ön ekleri tercih edin. -### CLI kayıt meta verileri +Bir Plugin OpenClaw gömülü çalıştırmalarında Pi-yerel +olay zamanlamasına ihtiyaç duyuyorsa `api.registerEmbeddedExtensionFactory(...)` kullanın; örneğin, +son araç-sonucu mesajı gönderilmeden önce gerçekleşmesi gereken async `tool_result` +yeniden yazımları gibi. +Bu, bugün paketle birlikte gelen Plugin ayrım noktasıdır: yalnızca paketle birlikte gelen Plugin'ler bir tane kaydedebilir ve +`openclaw.plugin.json` içinde `contracts.embeddedExtensionFactories: ["pi"]` +bildirmelidir. +Bu daha düşük seviye ayrım noktasını gerektirmeyen her şey için normal OpenClaw Plugin hook'larını koruyun. -`api.registerCli(registrar, opts?)`, iki tür üst düzey meta veriyi kabul eder: +### CLI kayıt meta verisi + +`api.registerCli(registrar, opts?)` iki tür üst seviye meta veri kabul eder: - `commands`: registrar'ın sahip olduğu açık komut kökleri -- `descriptors`: kök CLI yardımı, - yönlendirme ve tembel plugin CLI kaydı için ayrıştırma zamanı komut tanımlayıcıları +- `descriptors`: kök CLI yardımı, yönlendirme ve tembel Plugin CLI kaydı için + ayrıştırma zamanında kullanılan komut tanımlayıcıları -Bir plugin komutunun normal kök CLI yolunda tembel yüklenmesini istiyorsanız, -o registrar tarafından açığa çıkarılan her üst düzey komut kökünü kapsayan `descriptors` -sağlayın. +Bir Plugin komutunun normal kök CLI yolunda tembel yüklenmiş kalmasını +istiyorsanız, o registrar'ın açığa çıkardığı her üst seviye komut kökünü kapsayan +`descriptors` sağlayın. ```typescript api.registerCli( @@ -385,7 +399,7 @@ api.registerCli( descriptors: [ { name: "matrix", - description: "Matrix hesaplarını, doğrulamayı, cihazları ve profil durumunu yönet", + description: "Manage Matrix accounts, verification, devices, and profile state", hasSubcommands: true, }, ], @@ -393,134 +407,135 @@ api.registerCli( ); ``` -Yalnızca tembel kök CLI kaydına ihtiyacınız yoksa `commands` alanını tek başına kullanın. -Bu hevesli uyumluluk yolu desteklenmeye devam eder, ancak ayrıştırma zamanı tembel yükleme için -tanımlayıcı destekli yer tutucular yüklemez. +Yalnızca `commands` kullanın; ama sadece tembel kök CLI kaydına ihtiyacınız +yoksa. Bu eager uyumluluk yolu desteklenmeye devam eder, ancak ayrıştırma zamanında +tembel yükleme için descriptor destekli yer tutucular kurmaz. ### CLI arka uç kaydı -`api.registerCliBackend(...)`, bir plugin'in `codex-cli` gibi yerel bir -AI CLI arka ucu için varsayılan yapılandırmaya sahip olmasına izin verir. +`api.registerCliBackend(...)`, bir Plugin'in `codex-cli` gibi local +bir AI CLI arka ucu için varsayılan yapılandırmaya sahip olmasını sağlar. -- Arka uç `id` değeri, `codex-cli/gpt-5` gibi model başvurularında sağlayıcı öneki olur. -- Arka uç `config`, `agents.defaults.cliBackends.` ile aynı şekli kullanır. -- Kullanıcı yapılandırması yine kazanır. OpenClaw, CLI'yi çalıştırmadan önce - plugin varsayılanı üzerine `agents.defaults.cliBackends.` değerini birleştirir. -- Bir arka uç birleştirmeden sonra uyumluluk yeniden yazımları gerektiriyorsa - (örneğin eski bayrak biçimlerini normalleştirmek gibi) `normalizeConfig` kullanın. +- Arka uç `id`, `codex-cli/gpt-5` gibi model ref'lerinde sağlayıcı ön eki olur. +- Arka uç `config`, `agents.defaults.cliBackends.` ile aynı biçimi kullanır. +- Kullanıcı yapılandırması yine önceliklidir. OpenClaw, CLI'yi çalıştırmadan önce + `agents.defaults.cliBackends.` değerini Plugin varsayılanı üzerine birleştirir. +- Bir arka uç birleştirme sonrası uyumluluk yeniden yazımlarına ihtiyaç duyuyorsa + (örneğin eski bayrak biçimlerini normalleştirmek), `normalizeConfig` kullanın. -### Özel yuvalar +### Ayrıcalıklı yuvalar -| Yöntem | Kaydettiği şey | +| Yöntem | Ne kaydeder | | ------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `api.registerContextEngine(id, factory)` | Bağlam motoru (aynı anda bir etkin). `assemble()` geri çağrısı `availableTools` ve `citationsMode` alır; böylece motor istem eklerini buna göre uyarlayabilir. | -| `api.registerMemoryCapability(capability)` | Birleşik memory yeteneği | -| `api.registerMemoryPromptSection(builder)` | Memory istem bölümü oluşturucusu | -| `api.registerMemoryFlushPlan(resolver)` | Memory boşaltma planı çözümleyicisi | -| `api.registerMemoryRuntime(runtime)` | Memory çalışma zamanı bağdaştırıcısı | +| `api.registerContextEngine(id, factory)` | Bağlam motoru (aynı anda bir tane etkin). `assemble()` callback'i, motorun prompt eklemelerini uyarlayabilmesi için `availableTools` ve `citationsMode` alır. | +| `api.registerMemoryCapability(capability)` | Birleşik Memory yeteneği | +| `api.registerMemoryPromptSection(builder)` | Memory prompt bölümü oluşturucusu | +| `api.registerMemoryFlushPlan(resolver)` | Memory flush plan çözümleyicisi | +| `api.registerMemoryRuntime(runtime)` | Memory çalışma zamanı bağdaştırıcısı | ### Memory embedding bağdaştırıcıları -| Yöntem | Kaydettiği şey | -| ---------------------------------------------- | -------------------------------------------- | -| `api.registerMemoryEmbeddingProvider(adapter)` | Etkin plugin için Memory embedding bağdaştırıcısı | +| Yöntem | Ne kaydeder | +| ---------------------------------------------- | ------------------------------------------------ | +| `api.registerMemoryEmbeddingProvider(adapter)` | Etkin Plugin için Memory embedding bağdaştırıcısı | -- `registerMemoryCapability`, tercih edilen özel memory-plugin API'sidir. -- `registerMemoryCapability`, eşlik eden plugin'lerin dışa aktarılan memory çıktılarını - belirli bir memory plugin'in özel düzenine uzanmak yerine +- `registerMemoryCapability`, tercih edilen ayrıcalıklı memory-Plugin API'sidir. +- `registerMemoryCapability`, eşlik eden Plugin'lerin dışa aktarılan Memory artefaktlarını + belirli bir Memory Plugin'inin özel düzenine erişmek yerine `openclaw/plugin-sdk/memory-host-core` üzerinden tüketebilmesi için - `publicArtifacts.listArtifacts(...)` de gösterebilir. + `publicArtifacts.listArtifacts(...)` da açığa çıkarabilir. - `registerMemoryPromptSection`, `registerMemoryFlushPlan` ve - `registerMemoryRuntime`, eski uyumlu özel memory-plugin API'leridir. -- `registerMemoryEmbeddingProvider`, etkin memory plugin'in bir - veya daha fazla embedding bağdaştırıcı kimliği (örneğin `openai`, `gemini` veya özel - bir plugin tanımlı kimlik) kaydetmesine izin verir. + `registerMemoryRuntime`, eski uyumluluğu koruyan ayrıcalıklı memory-Plugin API'leridir. +- `registerMemoryEmbeddingProvider`, etkin Memory Plugin'inin bir + veya daha fazla embedding bağdaştırıcı kimliği (örneğin `openai`, `gemini` + veya Plugin tarafından tanımlanan özel bir kimlik) kaydetmesini sağlar. - `agents.defaults.memorySearch.provider` ve - `agents.defaults.memorySearch.fallback` gibi kullanıcı yapılandırmaları, kayıtlı bu - bağdaştırıcı kimliklerine göre çözülür. + `agents.defaults.memorySearch.fallback` gibi kullanıcı yapılandırmaları, + kaydedilmiş bu bağdaştırıcı kimliklerine göre çözülür. ### Olaylar ve yaşam döngüsü -| Yöntem | Yaptığı şey | -| -------------------------------------------- | --------------------------- | -| `api.on(hookName, handler, opts?)` | Türlenmiş yaşam döngüsü hook'u | -| `api.onConversationBindingResolved(handler)` | Konuşma bağlama geri çağrısı | +| Yöntem | Ne yapar | +| ------------------------------------------- | ---------------------------- | +| `api.on(hookName, handler, opts?)` | Türlendirilmiş yaşam döngüsü hook'u | +| `api.onConversationBindingResolved(handler)` | Konuşma bağlama callback'i | -### Hook karar anlambilimi +### Hook karar semantiği -- `before_tool_call`: `{ block: true }` döndürmek terminaldir. Herhangi bir işleyici bunu ayarladığında daha düşük öncelikli işleyiciler atlanır. -- `before_tool_call`: `{ block: false }` döndürmek karar verilmemiş sayılır (`block` alanını hiç vermemekle aynıdır), geçersiz kılma değildir. -- `before_install`: `{ block: true }` döndürmek terminaldir. Herhangi bir işleyici bunu ayarladığında daha düşük öncelikli işleyiciler atlanır. -- `before_install`: `{ block: false }` döndürmek karar verilmemiş sayılır (`block` alanını hiç vermemekle aynıdır), geçersiz kılma değildir. -- `reply_dispatch`: `{ handled: true, ... }` döndürmek terminaldir. Herhangi bir işleyici gönderimi üstlendiğinde daha düşük öncelikli işleyiciler ve varsayılan model gönderim yolu atlanır. -- `message_sending`: `{ cancel: true }` döndürmek terminaldir. Herhangi bir işleyici bunu ayarladığında daha düşük öncelikli işleyiciler atlanır. -- `message_sending`: `{ cancel: false }` döndürmek karar verilmemiş sayılır (`cancel` alanını hiç vermemekle aynıdır), geçersiz kılma değildir. +- `before_tool_call`: `{ block: true }` döndürmek terminaldir. Herhangi bir işleyici bunu ayarladığında, daha düşük öncelikli işleyiciler atlanır. +- `before_tool_call`: `{ block: false }` döndürmek, geçersiz kılma olarak değil, karar verilmemiş olarak değerlendirilir (`block` alanını hiç vermemekle aynıdır). +- `before_install`: `{ block: true }` döndürmek terminaldir. Herhangi bir işleyici bunu ayarladığında, daha düşük öncelikli işleyiciler atlanır. +- `before_install`: `{ block: false }` döndürmek, geçersiz kılma olarak değil, karar verilmemiş olarak değerlendirilir (`block` alanını hiç vermemekle aynıdır). +- `reply_dispatch`: `{ handled: true, ... }` döndürmek terminaldir. Herhangi bir işleyici sevki üstlendiğinde, daha düşük öncelikli işleyiciler ve varsayılan model sevk yolu atlanır. +- `message_sending`: `{ cancel: true }` döndürmek terminaldir. Herhangi bir işleyici bunu ayarladığında, daha düşük öncelikli işleyiciler atlanır. +- `message_sending`: `{ cancel: false }` döndürmek, geçersiz kılma olarak değil, karar verilmemiş olarak değerlendirilir (`cancel` alanını hiç vermemekle aynıdır). ### API nesnesi alanları -| Alan | Tür | Açıklama | -| ------------------------ | ------------------------- | -------------------------------------------------------------------------------------------- | -| `api.id` | `string` | Plugin kimliği | -| `api.name` | `string` | Görünen ad | -| `api.version` | `string?` | Plugin sürümü (isteğe bağlı) | -| `api.description` | `string?` | Plugin açıklaması (isteğe bağlı) | -| `api.source` | `string` | Plugin kaynak yolu | -| `api.rootDir` | `string?` | Plugin kök dizini (isteğe bağlı) | -| `api.config` | `OpenClawConfig` | Geçerli yapılandırma anlık görüntüsü (varsa etkin bellek içi çalışma zamanı anlık görüntüsü) | -| `api.pluginConfig` | `Record` | `plugins.entries..config` içindeki plugin'e özgü yapılandırma | -| `api.runtime` | `PluginRuntime` | [Runtime yardımcıları](/tr/plugins/sdk-runtime) | -| `api.logger` | `PluginLogger` | Kapsamlı günlükleyici (`debug`, `info`, `warn`, `error`) | -| `api.registrationMode` | `PluginRegistrationMode` | Geçerli yükleme modu; `"setup-runtime"` tam giriş öncesi hafif başlangıç/kurulum penceresidir | -| `api.resolvePath(input)` | `(string) => string` | Yolu plugin köküne göre çözümle | +| Alan | Tür | Açıklama | +| ----------------------- | ------------------------- | ------------------------------------------------------------------------------------------- | +| `api.id` | `string` | Plugin kimliği | +| `api.name` | `string` | Görünen ad | +| `api.version` | `string?` | Plugin sürümü (isteğe bağlı) | +| `api.description` | `string?` | Plugin açıklaması (isteğe bağlı) | +| `api.source` | `string` | Plugin kaynak yolu | +| `api.rootDir` | `string?` | Plugin kök dizini (isteğe bağlı) | +| `api.config` | `OpenClawConfig` | Geçerli yapılandırma anlık görüntüsü (varsa etkin bellek içi çalışma zamanı anlık görüntüsü) | +| `api.pluginConfig` | `Record` | `plugins.entries..config` içinden Plugin'e özgü yapılandırma | +| `api.runtime` | `PluginRuntime` | [Çalışma zamanı yardımcıları](/tr/plugins/sdk-runtime) | +| `api.logger` | `PluginLogger` | Kapsamlı günlükleyici (`debug`, `info`, `warn`, `error`) | +| `api.registrationMode` | `PluginRegistrationMode` | Geçerli yükleme modu; `"setup-runtime"` hafif tam giriş öncesi başlatma/kurulum penceresidir | +| `api.resolvePath(input)` | `(string) => string` | Plugin köküne göre göreli yol çözümleme | -## Dahili modül kuralı +## İç modül kuralı -Plugin'iniz içinde, dahili içe aktarmalar için yerel barrel dosyaları kullanın: +Plugin'iniz içinde, içe aktarmalar için yerel barrel dosyaları kullanın: ``` my-plugin/ - api.ts # Harici kullanıcılar için genel dışa aktarımlar - runtime-api.ts # Yalnızca dahili çalışma zamanı dışa aktarımları + api.ts # Harici tüketiciler için herkese açık dışa aktarımlar + runtime-api.ts # Yalnızca iç çalışma zamanı dışa aktarımları index.ts # Plugin giriş noktası - setup-entry.ts # Hafif yalnızca kurulum girişi (isteğe bağlı) + setup-entry.ts # Yalnızca kurulum için hafif giriş (isteğe bağlı) ``` - Üretim kodunda kendi plugin'inizi asla `openclaw/plugin-sdk/` - üzerinden içe aktarmayın. Dahili içe aktarmaları `./api.ts` veya + Üretim kodunda kendi Plugin'inizi asla `openclaw/plugin-sdk/` + üzerinden içe aktarmayın. İç içe aktarmaları `./api.ts` veya `./runtime-api.ts` üzerinden yönlendirin. SDK yolu yalnızca harici sözleşmedir. -Facade ile yüklenen paketlenmiş plugin genel yüzeyleri (`api.ts`, `runtime-api.ts`, -`index.ts`, `setup-entry.ts` ve benzer genel giriş dosyaları) artık OpenClaw zaten -çalışıyorsa etkin çalışma zamanı yapılandırma anlık görüntüsünü tercih eder. Henüz çalışma zamanı -anlık görüntüsü yoksa disk üzerindeki çözülmüş yapılandırma dosyasına geri dönerler. +Facade ile yüklenen paketle birlikte gelen Plugin herkese açık yüzeyleri (`api.ts`, `runtime-api.ts`, +`index.ts`, `setup-entry.ts` ve benzeri herkese açık giriş dosyaları), OpenClaw +zaten çalışıyorsa artık etkin çalışma zamanı yapılandırma anlık görüntüsünü tercih eder. +Henüz bir çalışma zamanı anlık görüntüsü yoksa, disk üzerindeki çözümlenmiş yapılandırma dosyasına geri dönerler. -Sağlayıcı plugin'leri, bir yardımcı kasıtlı olarak sağlayıcıya özgüyse ve henüz genel bir SDK -alt yoluna ait değilse dar bir plugin-yerel sözleşme barrel dosyası da gösterebilir. Geçerli paketlenmiş örnek: -Anthropic sağlayıcısı Claude akış yardımcılarını, Anthropic beta-header ve `service_tier` -mantığını genel bir `plugin-sdk/*` sözleşmesine taşımak yerine kendi genel `api.ts` / `contract-api.ts` -arayüzünde tutar. +Sağlayıcı Plugin'leri ayrıca, bir yardımcı kasıtlı olarak sağlayıcıya özgüyse ve +henüz genel bir SDK alt yoluna ait değilse, dar bir Plugin'e yerel sözleşme barrel dosyası da açığa çıkarabilir. +Mevcut paketle birlikte gelen örnek: Anthropic sağlayıcısı Claude +akış yardımcılarını, Anthropic beta-header ve `service_tier` mantığını genel bir +`plugin-sdk/*` sözleşmesine taşımak yerine kendi herkese açık `api.ts` / `contract-api.ts` +ayrım noktasında tutar. -Diğer geçerli paketlenmiş örnekler: +Diğer mevcut paketle birlikte gelen örnekler: -- `@openclaw/openai-provider`: `api.ts`, sağlayıcı oluşturucularını, - varsayılan model yardımcılarını ve gerçek zamanlı sağlayıcı oluşturucularını dışa aktarır -- `@openclaw/openrouter-provider`: `api.ts`, sağlayıcı oluşturucusunu ve +- `@openclaw/openai-provider`: `api.ts` sağlayıcı oluşturucuları, + varsayılan model yardımcıları ve gerçek zamanlı sağlayıcı oluşturucuları dışa aktarır +- `@openclaw/openrouter-provider`: `api.ts` sağlayıcı oluşturucuyu ve onboarding/yapılandırma yardımcılarını dışa aktarır Uzantı üretim kodu ayrıca `openclaw/plugin-sdk/` - içe aktarımlarından kaçınmalıdır. Bir yardımcı gerçekten paylaşılıyorsa iki plugin'i birbirine bağlamak yerine - bunu `openclaw/plugin-sdk/speech`, `.../provider-model-shared` veya başka - bir yetenek odaklı yüzey gibi nötr bir SDK alt yoluna taşıyın. + içe aktarmalarından da kaçınmalıdır. Bir yardımcı gerçekten paylaşılıyorsa, iki Plugin'i birbirine bağlamak yerine + onu `openclaw/plugin-sdk/speech`, `.../provider-model-shared` veya başka + bir yetenek odaklı yüzey gibi tarafsız bir SDK alt yoluna taşıyın. ## İlgili -- [Entry Points](/tr/plugins/sdk-entrypoints) — `definePluginEntry` ve `defineChannelPluginEntry` seçenekleri -- [Runtime Helpers](/tr/plugins/sdk-runtime) — tam `api.runtime` ad alanı başvurusu -- [Setup and Config](/tr/plugins/sdk-setup) — paketleme, manifest'ler, yapılandırma şemaları -- [Testing](/tr/plugins/sdk-testing) — test yardımcıları ve lint kuralları -- [SDK Migration](/tr/plugins/sdk-migration) — kullanımdan kaldırılmış yüzeylerden geçiş -- [Plugin Internals](/tr/plugins/architecture) — derin mimari ve yetenek modeli +- [Giriş Noktaları](/tr/plugins/sdk-entrypoints) — `definePluginEntry` ve `defineChannelPluginEntry` seçenekleri +- [Çalışma Zamanı Yardımcıları](/tr/plugins/sdk-runtime) — tam `api.runtime` ad alanı referansı +- [Kurulum ve Yapılandırma](/tr/plugins/sdk-setup) — paketleme, manifest dosyaları, yapılandırma şemaları +- [Test](/tr/plugins/sdk-testing) — test yardımcı araçları ve lint kuralları +- [SDK Geçişi](/tr/plugins/sdk-migration) — kullanımdan kaldırılmış yüzeylerden geçiş +- [Plugin İç Yapıları](/tr/plugins/architecture) — derin mimari ve yetenek modeli diff --git a/docs/tr/providers/ollama.md b/docs/tr/providers/ollama.md index 952eb0f93..d7f8999a4 100644 --- a/docs/tr/providers/ollama.md +++ b/docs/tr/providers/ollama.md @@ -1,37 +1,37 @@ --- read_when: - - Ollama aracılığıyla OpenClaw'ı bulut veya yerel modellerle çalıştırmak istiyorsunuz - - Ollama kurulumu ve yapılandırma rehberliğine ihtiyacınız var - - Görsel anlama için Ollama vision modelleri istiyorsunuz + - OpenClaw'ı Ollama üzerinden bulut veya yerel modellerle çalıştırmak istiyorsunuz + - Ollama kurulumu ve yapılandırma rehberine ihtiyacınız var + - Görüntü anlama için Ollama vision modellerini istiyorsunuz summary: OpenClaw'ı Ollama ile çalıştırın (bulut ve yerel modeller) title: Ollama x-i18n: - generated_at: "2026-04-22T04:27:24Z" + generated_at: "2026-04-22T08:55:44Z" model: gpt-5.4 provider: openai - source_hash: 32623b6523f22930a5987fb22d2074f1e9bb274cc01ae1ad1837825cc04ec179 + source_hash: 704beed3bf988d6c2ad50b2a1533f6dcef655e44b34f23104827d2acb71b8655 source_path: providers/ollama.md workflow: 15 --- # Ollama -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 bütünleşir. Ollama'yı üç modda kullanabilirsiniz: erişilebilir bir Ollama host üzerinden `Cloud + Local`, `https://ollama.com` karşısında `Cloud only` veya erişilebilir bir Ollama host karşısında `Local only`. +OpenClaw, barındırılan bulut modelleri ve yerel/kendi barındırdığınız Ollama sunucuları için Ollama'nın yerel API'siyle (`/api/chat`) bütünleşir. Ollama'yı üç modda kullanabilirsiniz: erişilebilir bir Ollama ana makinesi üzerinden `Cloud + Local`, `https://ollama.com` üzerinde `Cloud only` veya erişilebilir bir Ollama ana makinesi üzerinde `Local only`. -**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` yok). +**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 çıktılayabilir. Bunun yerine yerel Ollama API URL'sini kullanın: `baseUrl: "http://host:11434"` (`/v1` olmadan). -## Başlarken +## Başlangıç Tercih ettiğiniz kurulum yöntemini ve modu seçin. - - **Şunun için en iyisi:** çalışan bir Ollama bulut veya yerel kuruluma en hızlı yol. + + **Şunun için en iyisi:** çalışan bir Ollama bulut veya yerel kurulumuna giden en hızlı yol. - + ```bash openclaw onboard ``` @@ -39,12 +39,12 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. Sağlayıcı listesinden **Ollama** seçin. - - **Cloud + Local** — yerel Ollama host'u ve bu host üzerinden yönlendirilen bulut modelleri + - **Cloud + Local** — yerel Ollama ana makinesi artı bu ana makine üzerinden yönlendirilen bulut modelleri - **Cloud only** — `https://ollama.com` üzerinden barındırılan Ollama modelleri - **Local only** — yalnızca yerel modeller - `Cloud only`, `OLLAMA_API_KEY` ister ve barındırılan bulut varsayılanlarını önerir. `Cloud + Local` ve `Local only`, bir Ollama base URL'si ister, kullanılabilir modelleri keşfeder ve seçilen yerel model henüz mevcut değilse otomatik olarak çeker. `Cloud + Local` ayrıca o Ollama host'unun bulut erişimi için oturum açıp açmadığını da denetler. + `Cloud only`, `OLLAMA_API_KEY` ister ve barındırılan bulut varsayılanlarını önerir. `Cloud + Local` ve `Local only`, bir Ollama temel URL'si ister, kullanılabilir modelleri keşfeder ve seçilen yerel model henüz mevcut değilse onu otomatik olarak çeker. `Cloud + Local` ayrıca o Ollama ana makinesinin bulut erişimi için oturum açmış olup olmadığını da denetler. ```bash @@ -61,7 +61,7 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. --accept-risk ``` - İsteğe bağlı olarak özel bir base URL veya model belirleyin: + İsteğe bağlı olarak özel bir temel URL veya model belirtebilirsiniz: ```bash openclaw onboard --non-interactive \ @@ -77,8 +77,8 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. **Şunun için en iyisi:** bulut veya yerel kurulum üzerinde tam denetim. - - - **Cloud + Local**: Ollama'yı kurun, `ollama signin` ile oturum açın ve bulut isteklerini bu host üzerinden yönlendirin + + - **Cloud + Local**: Ollama'yı kurun, `ollama signin` ile oturum açın ve bulut isteklerini bu ana makine üzerinden yönlendirin - **Cloud only**: `https://ollama.com` adresini bir `OLLAMA_API_KEY` ile kullanın - **Local only**: Ollama'yı [ollama.com/download](https://ollama.com/download) adresinden kurun @@ -92,16 +92,16 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. ``` - `Cloud only` için gerçek `OLLAMA_API_KEY` anahtarınızı kullanın. Host destekli kurulumlarda herhangi bir yer tutucu değer çalışır: + `Cloud only` için gerçek `OLLAMA_API_KEY` değerinizi kullanın. Ana makine destekli kurulumlarda herhangi bir yer tutucu değer çalışır: ```bash - # Bulut + # Cloud export OLLAMA_API_KEY="your-ollama-api-key" - # Yalnızca yerel + # Local-only export OLLAMA_API_KEY="ollama-local" - # Veya config dosyanızda yapılandırın + # Veya yapılandırma dosyanızda yapılandırın openclaw config set models.providers.ollama.apiKey "OLLAMA_API_KEY" ``` @@ -111,7 +111,7 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. openclaw models set ollama/gemma4 ``` - Veya varsayılanı config içinde ayarlayın: + Veya varsayılanı yapılandırmada ayarlayın: ```json5 { @@ -132,25 +132,25 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. - `Cloud + Local`, hem yerel hem de bulut modeller için denetim noktası olarak erişilebilir bir Ollama host'u kullanır. Bu, Ollama'nın tercih ettiği hibrit akıştır. + `Cloud + Local`, 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** kullanın. OpenClaw, Ollama base URL'sini ister, o hosttan yerel modelleri keşfeder ve host'un `ollama signin` ile bulut erişimi için oturum açıp açmadığını denetler. Host oturum açmışsa OpenClaw, `kimi-k2.5:cloud`, `minimax-m2.7:cloud` ve `glm-5.1:cloud` gibi barındırılan bulut varsayılanlarını da önerir. + Kurulum sırasında **Cloud + Local** kullanın. OpenClaw Ollama temel URL'sini ister, o ana makinedeki 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. - Host henüz oturum açmamışsa OpenClaw, siz `ollama signin` çalıştırana kadar kurulumu yalnızca yerel olarak tutar. + Ana makine henüz oturum açmamışsa, `ollama signin` çalıştırana kadar OpenClaw kurulumu yalnızca yerel modda tutar. - `Cloud only`, Ollama'nın `https://ollama.com` üzerindeki barındırılan API'sine karşı çalışır. + `Cloud only`, Ollama'nın `https://ollama.com` adresindeki barındırılan API'sine karşı çalışır. - Kurulum sırasında **Cloud only** kullanın. OpenClaw, `OLLAMA_API_KEY` ister, `baseUrl: "https://ollama.com"` ayarlar ve barındırılan bulut model listesini tohumlar. Bu yol bir yerel Ollama sunucusu veya `ollama signin` gerektirmez. + Kurulum sırasında **Cloud only** kullanın. OpenClaw `OLLAMA_API_KEY` ister, `baseUrl: "https://ollama.com"` ayarlar ve barındırılan bulut model listesini tohumlar. Bu yol bir yerel Ollama sunucusu veya `ollama signin` gerektirmez. - `openclaw onboard` sırasında gösterilen bulut model listesi, `https://ollama.com/api/tags` adresinden canlı olarak doldurulur ve 500 giriş ile sınırlandırılır; böylece seçici statik bir tohum yerine mevcut barındırılan kataloğu yansıtır. Kurulum sırasında `ollama.com` erişilemezse veya model döndürmezse OpenClaw, onboarding'in yine tamamlanabilmesi için önceki sabit kodlanmış önerilere geri döner. + `openclaw onboard` sırasında gösterilen bulut model listesi, `https://ollama.com/api/tags` adresinden canlı olarak doldurulur ve 500 girişle sınırlandırılır; böylece seçici, statik bir tohum yerine mevcut barındırılan kataloğu yansıtır. Kurulum sırasında `ollama.com` erişilemezse veya model döndürmezse, OpenClaw ilk kurulumun yine tamamlanabilmesi için önceki sabit kodlanmış önerilere geri döner. - 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. + Yalnızca yerel modda OpenClaw, yapılandırılan 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. @@ -159,18 +159,18 @@ Tercih ettiğiniz kurulum yöntemini ve modu seçin. ## Model keşfi (örtük sağlayıcı) -`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. +`OLLAMA_API_KEY` (veya bir kimlik doğrulama profili) ayarladığınızda ve `models.providers.ollama` tanımlamadığınızda, OpenClaw `http://127.0.0.1:11434` adresindeki yerel Ollama örneğinden modelleri keşfeder. -| Davranış | Ayrıntı | -| -------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Katalog sorgusu | `/api/tags` sorgulanır | -| Yetenek algılama | `contextWindow` değerini okumak ve yetenekleri (vision dahil) algılamak için best-effort `/api/show` aramaları kullanır | -| Vision modelleri | `/api/show` tarafından bildirilen `vision` yeteneğine sahip modeller, görsel destekli (`input: ["text", "image"]`) olarak işaretlenir; böylece OpenClaw görselleri isteme otomatik enjekte eder | -| Reasoning algılama | `reasoning`, model adı sezgisiyle işaretlenir (`r1`, `reasoning`, `think`) | -| Token sınırları | `maxTokens`, OpenClaw tarafından kullanılan varsayılan Ollama maksimum token sınırına ayarlanır | -| Maliyetler | Tüm maliyetler `0` olarak ayarlanır | +| Davranış | Ayrıntı | +| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Katalog sorgusu | `/api/tags` sorgular | +| Yetenek algılama | `contextWindow` okumak ve yetenekleri algılamak için en iyi çabayla `/api/show` aramaları kullanır (vision dahil) | +| Vision modelleri | `/api/show` tarafından bildirilen `vision` yeteneğine sahip modeller görüntü destekli (`input: ["text", "image"]`) olarak işaretlenir, böylece OpenClaw görselleri isteme otomatik olarak ekler | +| Akıl yürütme algılama | Bir model adı sezgiseliğiyle (`r1`, `reasoning`, `think`) `reasoning` olarak işaretler | +| Belirteç sınırları | `maxTokens` değerini OpenClaw'ın kullandığı varsayılan Ollama azami belirteç sınırına ayarlar | +| Maliyetler | Tüm maliyetleri `0` olarak ayarlar | -Bu, kataloğu yerel Ollama örneğiyle uyumlu tutarken manuel model girişlerinden kaçınır. +Bu, kataloğu yerel Ollama örneğiyle uyumlu tutarken elle model girdileri gereksinimini ortadan kaldırır. ```bash # Hangi modellerin kullanılabilir olduğunu görün @@ -184,15 +184,15 @@ Yeni bir model eklemek için onu Ollama ile çekmeniz yeterlidir: ollama pull mistral ``` -Yeni model otomatik olarak keşfedilir ve kullanıma açılı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. -## Vision ve görsel açıklama +## Vision ve görsel açıklaması -Paketle gelen Ollama plugin'i, Ollama'yı görsel destekli bir medya anlama sağlayıcısı olarak kaydeder. Bu, OpenClaw'ın açık görsel açıklama isteklerini ve yapılandırılmış görsel model varsayılanlarını yerel veya barındırılan Ollama vision modelleri üzerinden yönlendirmesini sağlar. +Paketlenmiş Ollama Plugin'i, Ollama'yı görüntü destekli bir medya anlama sağlayıcısı olarak kaydeder. Bu, OpenClaw'ın açık görsel açıklama isteklerini ve yapılandırılmış görüntü modeli varsayılanlarını yerel veya barındırılan Ollama vision modelleri üzerinden yönlendirmesine olanak tanır. Yerel vision için görselleri destekleyen bir model çekin: @@ -201,7 +201,7 @@ ollama pull qwen2.5vl:7b export OLLAMA_API_KEY="ollama-local" ``` -Sonra infer CLI ile doğrulayın: +Ardından infer CLI ile doğrulayın: ```bash openclaw infer image describe \ @@ -210,9 +210,9 @@ openclaw infer image describe \ --json ``` -`--model` tam bir `` ref'i olmalıdır. Ayarlandığında `openclaw infer image describe`, model yerel vision desteklediği için açıklamayı atlamak yerine o modeli doğrudan çalıştırır. +`--model` tam bir `` başvurusu olmalıdır. Ayarlandığında `openclaw infer image describe`, model yerel olarak vision desteklediği için açıklamayı atlamak yerine o modeli doğrudan çalıştırır. -Gelen medya için Ollama'yı varsayılan görsel anlama modeli yapmak üzere `agents.defaults.imageModel` yapılandırın: +Ollama'yı gelen medya için varsayılan görüntü anlama modeli yapmak üzere `agents.defaults.imageModel` ayarlayın: ```json5 { @@ -226,7 +226,7 @@ Gelen medya için Ollama'yı varsayılan görsel anlama modeli yapmak üzere `ag } ``` -`models.providers.ollama.models` değerini elle tanımlarsanız vision modellerini görsel girdi desteğiyle işaretleyin: +`models.providers.ollama.models` değerini elle tanımlarsanız vision modellerini görüntü girişi desteğiyle işaretleyin: ```json5 { @@ -238,7 +238,7 @@ Gelen medya için Ollama'yı varsayılan görsel anlama modeli yapmak üzere `ag } ``` -OpenClaw, görsel destekli olarak işaretlenmemiş modeller için görsel açıklama isteklerini reddeder. Örtük keşifte OpenClaw bunu, `/api/show` bir vision yeteneği bildirdiğinde Ollama'dan okur. +OpenClaw, görüntü destekli olarak işaretlenmemiş modeller için görsel açıklama isteklerini reddeder. Örtük keşifte OpenClaw bunu Ollama'dan, `/api/show` bir vision yeteneği bildirdiğinde okur. ## Yapılandırma @@ -251,13 +251,13 @@ OpenClaw, görsel destekli olarak işaretlenmemiş modeller için görsel açık ``` - `OLLAMA_API_KEY` ayarlıysa sağlayıcı girdisinde `apiKey` alanını atlayabilirsiniz; OpenClaw bunu kullanılabilirlik denetimleri için doldurur. + `OLLAMA_API_KEY` ayarlanmışsa sağlayıcı girdisinde `apiKey` değerini atlayabilirsiniz ve OpenClaw bunu kullanılabilirlik denetimleri için doldurur. - Barındırılan bulut kurulumu istediğinizde, Ollama başka bir host/bağlantı noktasında çalıştığında, belirli bağlam pencerelerini veya model listelerini zorlamak istediğinizde ya da tamamen manuel model tanımları istediğinizde açık yapılandırmayı kullanın. + Barındırılan bulut kurulumu istediğinizde, Ollama başka bir ana makine/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ırma kullanın. ```json5 { @@ -286,8 +286,8 @@ OpenClaw, görsel destekli olarak işaretlenmemiş modeller için görsel açık - - Ollama farklı bir host 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): + + Ollama farklı bir ana makine 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 { @@ -304,7 +304,7 @@ OpenClaw, görsel destekli olarak işaretlenmemiş modeller için görsel açık ``` - URL'ye `/v1` eklemeyin. `/v1` yolu OpenAI uyumlu modu kullanır; burada araç çağırma güvenilir değildir. 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. @@ -329,15 +329,15 @@ Yapılandırıldıktan sonra tüm Ollama modelleriniz kullanılabilir olur: ## Ollama Web Search -OpenClaw, paketle gelen bir `web_search` sağlayıcısı olarak **Ollama Web Search** desteği sunar. +OpenClaw, paketlenmiş bir `web_search` sağlayıcısı olarak **Ollama Web Search** desteği sunar. -| Ö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 | Anahtar gerektirmez | -| 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 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ı | -Kurulum sırasında **Ollama Web Search** seçin `openclaw onboard` veya `openclaw configure --section web`, ya da şunu ayarlayın: +`openclaw onboard` veya `openclaw configure --section web` sırasında **Ollama Web Search** seçin ya da şunu ayarlayın: ```json5 { @@ -352,7 +352,7 @@ Kurulum sırasında **Ollama Web Search** seçin `openclaw onboard` veya `opencl ``` -Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/ollama-search) bölümüne bakın. +Tam kurulum ve davranış ayrıntıları için bkz. [Ollama Web Search](/tr/tools/ollama-search). ## Gelişmiş yapılandırma @@ -360,10 +360,10 @@ Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/oll - **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ğlı 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 ihtiyacınız varsa ve yerel araç çağırma davranışına bağlı 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 { @@ -381,9 +381,9 @@ Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/oll } ``` - Bu mod aynı anda akış ve araç çağırmayı desteklemeyebilir. Model config içinde `params: { streaming: false }` ile akışı devre dışı bırakmanız gerekebilir. + Bu mod aynı anda akışı ve araç çağırmayı 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üşmez. Proxy/upstream bilinmeyen `options` alanlarını reddediyorsa bu davranışı devre dışı bırakın: + `api: "openai-completions"` Ollama ile kullanıldığında, OpenClaw varsayılan olarak `options.num_ctx` ekler; böylece Ollama sessizce 4096 bağlam penceresine geri dönmez. Proxy'niz/yukarı akışınız bilinmeyen `options` alanlarını reddediyorsa, bu davranışı devre dışı bırakın: ```json5 { @@ -404,9 +404,9 @@ Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/oll - Otomatik keşfedilen modeller için OpenClaw, mevcut olduğunda Ollama tarafından bildirilen bağlam penceresini kullanır; aksi halde OpenClaw tarafından kullanılan varsayılan Ollama bağlam penceresine geri döner. + Otomatik keşfedilen modeller için OpenClaw mümkün olduğunda Ollama'nın bildirdiği bağlam penceresini kullanır; aksi halde OpenClaw'ın kullandığı varsayılan Ollama bağlam penceresine geri döner. - Açık sağlayıcı config'inde `contextWindow` ve `maxTokens` değerlerini geçersiz kılabilirsiniz: + Açık sağlayıcı yapılandırmasında `contextWindow` ve `maxTokens` değerlerini geçersiz kılabilirsiniz: ```json5 { @@ -428,8 +428,8 @@ Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/oll - - OpenClaw, varsayılan olarak `deepseek-r1`, `reasoning` veya `think` gibi ada sahip modelleri reasoning yetenekli olarak değerlendirir. + + OpenClaw, varsayılan olarak `deepseek-r1`, `reasoning` veya `think` gibi adlara sahip modelleri akıl yürütme yetenekli olarak değerlendirir. ```bash ollama pull deepseek-r1:32b @@ -440,18 +440,18 @@ Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/oll - 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 yerel olarak ç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. - Paketle gelen Ollama plugin'i, - [bellek araması](/tr/concepts/memory) için bir bellek embedding sağlayıcısı kaydeder. Yapılandırılmış Ollama base URL'sini + Paketlenmiş Ollama Plugin'i, + [bellek araması](/tr/concepts/memory) için bir bellek embedding 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 mevcut değilse otomatik olarak çekilir | + | Özellik | Değer | + | ------------- | ------------------- | + | Varsayılan model | `nomic-embed-text` | + | Otomatik çekme | Evet — embedding modeli yerelde yoksa otomatik olarak çekilir | Ollama'yı bellek araması embedding sağlayıcısı olarak seçmek için: @@ -470,6 +470,8 @@ Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/oll OpenClaw'ın Ollama bütünleşimi varsayılan olarak **yerel Ollama API'sini** (`/api/chat`) kullanır; bu, aynı anda hem akışı hem de araç çağırmayı tam olarak destekler. Özel bir yapılandırma gerekmez. + Yerel `/api/chat` istekleri için OpenClaw ayrıca düşünme denetimini doğrudan Ollama'ya iletir: `/think off` ve `openclaw agent --thinking off`, üst düzey `think: false` gönderir; `off` dışındaki düşünme düzeyleri ise `think: true` gönderir. + 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. @@ -481,7 +483,7 @@ Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/oll - 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: + 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: ```bash ollama serve @@ -496,10 +498,10 @@ Tam kurulum ve davranış ayrıntıları için [Ollama Web Search](/tr/tools/oll - Modeliniz listelenmiyorsa modeli yerelde çekin veya `models.providers.ollama` içinde açıkça tanımlayın. + Modeliniz listelenmiyorsa modeli ya yerel olarak çekin ya da `models.providers.ollama` içinde açıkça tanımlayın. ```bash - ollama list # Yüklü olanları 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 @@ -529,15 +531,15 @@ Daha fazla yardım: [Sorun giderme](/tr/help/troubleshooting) ve [SSS](/tr/help/ - Tüm sağlayıcılara, model ref'lerine ve failover davranışına genel bakış. + Tüm sağlayıcılara, model başvurularına ve yük devretme davranışına genel bakış. - Modeller nasıl seçilir ve yapılandırılır. + Modellerin nasıl seçileceği ve yapılandırılacağı. Ollama destekli web araması için tam kurulum ve davranış ayrıntıları. - Tam config referansı. + Tam yapılandırma başvurusu. diff --git a/docs/tr/providers/tencent.md b/docs/tr/providers/tencent.md new file mode 100644 index 000000000..0cd3045c4 --- /dev/null +++ b/docs/tr/providers/tencent.md @@ -0,0 +1,67 @@ +--- +read_when: + - OpenClaw ile Tencent Hy modellerini kullanmak istiyorsunuz + - TokenHub API anahtarı kurulumuna ihtiyacınız var +summary: Tencent Cloud TokenHub kurulumu +title: Tencent Cloud (TokenHub) +x-i18n: + generated_at: "2026-04-22T08:55:45Z" + model: gpt-5.4 + provider: openai + source_hash: 04da073973792c55dc0c2d287bfc51187bb2128bbbd5c4a483f850adeea50ab5 + source_path: providers/tencent.md + workflow: 15 +--- + +# Tencent Cloud (TokenHub) + +Tencent Cloud sağlayıcısı, TokenHub uç noktası (`tencent-tokenhub`) üzerinden +Tencent Hy modellerine erişim sağlar. + +Sağlayıcı, OpenAI uyumlu bir API kullanır. + +## Hızlı başlangıç + +```bash +openclaw onboard --auth-choice tokenhub-api-key +``` + +## Etkileşimsiz örnek + +```bash +openclaw onboard --non-interactive \ + --mode local \ + --auth-choice tokenhub-api-key \ + --tokenhub-api-key "$TOKENHUB_API_KEY" \ + --skip-health \ + --accept-risk +``` + +## Sağlayıcılar ve uç noktalar + +| Sağlayıcı | Uç nokta | Kullanım durumu | +| ------------------ | ----------------------------- | ----------------------- | +| `tencent-tokenhub` | `tokenhub.tencentmaas.com/v1` | Tencent TokenHub ile Hy | + +## Kullanılabilir modeller + +### tencent-tokenhub + +- **hy3-preview** — Hy3 önizlemesi (256K bağlam, akıl yürütme, varsayılan) + +## Notlar + +- TokenHub model başvuruları `tencent-tokenhub/` kullanır. +- Gerekirse fiyatlandırma ve bağlam meta verilerini `models.providers` içinde geçersiz kılın. + +## Ortam notu + +Gateway bir daemon olarak çalışıyorsa (launchd/systemd), `TOKENHUB_API_KEY` +değerinin o süreç için kullanılabilir olduğundan emin olun (örneğin, +`~/.openclaw/.env` içinde veya `env.shellEnv` aracılığıyla). + +## İlgili belgeler + +- [OpenClaw Yapılandırması](/tr/gateway/configuration) +- [Model Sağlayıcıları](/tr/concepts/model-providers) +- [Tencent TokenHub](https://cloud.tencent.com/document/product/1823/130050) diff --git a/docs/tr/tools/index.md b/docs/tr/tools/index.md index 4b119c45d..d25f871be 100644 --- a/docs/tr/tools/index.md +++ b/docs/tr/tools/index.md @@ -1,128 +1,130 @@ --- read_when: - - OpenClaw’un hangi araçları sunduğunu anlamak istiyorsunuz - - Araçları yapılandırmanız, izin vermeniz veya engellemeniz gerekiyor - - Yerleşik araçlar, Skills ve plugin’ler arasında karar veriyorsunuz -summary: 'OpenClaw araçları ve plugin’lerine genel bakış: agent’ın neler yapabildiği ve nasıl genişletileceği' -title: Araçlar ve Plugin’ler + - OpenClaw'ın hangi araçları sağladığını anlamak istiyorsunuz + - Araçları yapılandırmanız, izin vermeniz veya reddetmeniz gerekiyor + - Yerleşik araçlar, Skills ve Plugin'ler arasında karar veriyorsunuz +summary: 'OpenClaw araçları ve plugin''lerine genel bakış: ajanın neler yapabildiği ve nasıl genişletileceği' +title: Araçlar ve Plugin'ler x-i18n: - generated_at: "2026-04-06T03:13:34Z" + generated_at: "2026-04-22T08:55:47Z" model: gpt-5.4 provider: openai - source_hash: b2371239316997b0fe389bfa2ec38404e1d3e177755ad81ff8035ac583d9adeb + source_hash: 6edb9e13b72e6345554f25c8d8413d167a69501e6626828d9aa3aac6907cd092 source_path: tools/index.md workflow: 15 --- -# Araçlar ve Plugin’ler +# Araçlar ve Plugin'ler -Agent’ın metin üretmenin ötesinde yaptığı her şey **araçlar** aracılığıyla olur. -Araçlar, agent’ın dosya okumasını, komut çalıştırmasını, web’de gezinmesini, mesaj +Ajanın metin üretmenin ötesinde yaptığı her şey **araçlar** üzerinden gerçekleşir. +Araçlar, ajanın dosya okumasını, komut çalıştırmasını, web'de gezinmesini, ileti göndermesini ve cihazlarla etkileşime girmesini sağlar. -## Araçlar, Skills ve plugin’ler +## Araçlar, Skills ve Plugin'ler OpenClaw birlikte çalışan üç katmana sahiptir: - - Araç, agent’ın çağırabildiği tiplenmiş bir işlevdir (ör. `exec`, `browser`, + + Araç, ajanın çağırabildiği türlendirilmiş bir işlevdir (ör. `exec`, `browser`, `web_search`, `message`). OpenClaw bir dizi **yerleşik araç** ile gelir ve - plugin’ler ek araçlar kaydedebilir. + Plugin'ler ek araçlar kaydedebilir. - Agent, araçları model API’sine gönderilen yapılandırılmış işlev tanımları olarak görür. + Ajan araçları, model API'sine gönderilen yapılandırılmış işlev tanımları olarak görür. - - Skill, sistem komutuna enjekte edilen bir markdown dosyasıdır (`SKILL.md`). - Skills, agent’a araçları etkili şekilde kullanması için bağlam, kısıtlar ve + + Skill, sistem istemine enjekte edilen bir markdown dosyasıdır (`SKILL.md`). + Skills, aracı etkili biçimde kullanmak için ajana bağlam, kısıtlar ve adım adım rehberlik sağlar. Skills çalışma alanınızda, paylaşılan klasörlerde - bulunabilir veya plugin’lerin içinde gelebilir. + bulunabilir veya Plugin'lerin içinde gelebilir. - [Skills başvurusu](/tr/tools/skills) | [Skill oluşturma](/tr/tools/creating-skills) + [Skills başvurusu](/tr/tools/skills) | [Skills oluşturma](/tr/tools/creating-skills) - - Plugin, herhangi bir yetenek kombinasyonunu kaydedebilen bir pakettir: - channels, model provider’lar, araçlar, Skills, konuşma, gerçek zamanlı transcription, - gerçek zamanlı voice, medya anlama, görsel oluşturma, video oluşturma, - web fetch, web search ve daha fazlası. Bazı plugin’ler **core**’dur (OpenClaw ile - birlikte gelir), bazıları ise **external**’dır (topluluk tarafından npm üzerinde yayımlanır). + + Plugin; kanallar, model sağlayıcıları, araçlar, Skills, konuşma, gerçek zamanlı transkripsiyon, + gerçek zamanlı ses, medya anlama, görsel üretimi, video üretimi, + web getirme, web arama ve daha fazlası gibi yeteneklerin herhangi bir + birleşimini kaydedebilen bir pakettir. Bazı Plugin'ler **core**'dur (OpenClaw ile + birlikte gelir), diğerleri **external**'dır (topluluk tarafından npm üzerinde yayımlanır). - [Plugin’leri kurun ve yapılandırın](/tr/tools/plugin) | [Kendinizinkini oluşturun](/tr/plugins/building-plugins) + [Plugin'leri kurun ve yapılandırın](/tr/tools/plugin) | [Kendi Plugin'inizi oluşturun](/tr/plugins/building-plugins) ## Yerleşik araçlar -Bu araçlar OpenClaw ile birlikte gelir ve herhangi bir plugin kurmadan kullanılabilir: +Bu araçlar OpenClaw ile birlikte gelir ve herhangi bir Plugin kurmadan kullanılabilir: | Araç | Ne yapar | Sayfa | | ------------------------------------------ | --------------------------------------------------------------------- | ------------------------------------------- | -| `exec` / `process` | Shell komutları çalıştırır, arka plan süreçlerini yönetir | [Exec](/tr/tools/exec) | -| `code_execution` | Sandbox içinde uzak Python analizi çalıştırır | [Code Execution](/tr/tools/code-execution) | -| `browser` | Bir Chromium tarayıcısını denetler (gezinme, tıklama, ekran görüntüsü) | [Browser](/tr/tools/browser) | -| `web_search` / `x_search` / `web_fetch` | Web’de arama yapar, X gönderilerini arar, sayfa içeriğini getirir | [Web](/tr/tools/web) | -| `read` / `write` / `edit` | Çalışma alanında dosya G/Ç | | -| `apply_patch` | Çok parçalı dosya yamaları | [Apply Patch](/tr/tools/apply-patch) | -| `message` | Tüm channels üzerinden mesaj gönderir | [Agent Send](/tr/tools/agent-send) | -| `canvas` | Node Canvas’ı sürer (sunum, değerlendirme, snapshot) | | +| `exec` / `process` | Kabuk komutları çalıştırır, arka plan süreçlerini yönetir | [Exec](/tr/tools/exec) | +| `code_execution` | Korumalı uzak Python analizini çalıştırır | [Kod Çalıştırma](/tr/tools/code-execution) | +| `browser` | Bir Chromium tarayıcısını denetler (gezinme, tıklama, ekran görüntüsü alma) | [Tarayıcı](/tr/tools/browser) | +| `web_search` / `x_search` / `web_fetch` | Web'de arama yapar, X gönderilerinde arama yapar, sayfa içeriği getirir | [Web](/tr/tools/web) | +| `read` / `write` / `edit` | Çalışma alanında dosya G/Ç işlemleri | | +| `apply_patch` | Çok parçalı dosya yamaları | [Yama Uygula](/tr/tools/apply-patch) | +| `message` | Tüm kanallar arasında ileti gönderir | [Ajan Gönderimi](/tr/tools/agent-send) | +| `canvas` | node Canvas'ı sürer (sunma, değerlendirme, anlık görüntü alma) | | | `nodes` | Eşleştirilmiş cihazları keşfeder ve hedefler | | -| `cron` / `gateway` | Zamanlanmış işleri yönetir; gateway’i inceler, düzeltir, yeniden başlatır veya günceller | | -| `image` / `image_generate` | Görselleri analiz eder veya oluşturur | [Image Generation](/tr/tools/image-generation) | -| `music_generate` | Müzik parçaları oluşturur | [Music Generation](/tools/music-generation) | -| `video_generate` | Videolar oluşturur | [Video Generation](/tools/video-generation) | +| `cron` / `gateway` | Zamanlanmış işleri yönetir; gateway'i inceler, yamalar, yeniden başlatır veya günceller | | +| `image` / `image_generate` | Görselleri analiz eder veya üretir | [Görsel Üretimi](/tr/tools/image-generation) | +| `music_generate` | Müzik parçaları üretir | [Müzik Üretimi](/tr/tools/music-generation) | +| `video_generate` | Videolar üretir | [Video Üretimi](/tr/tools/video-generation) | | `tts` | Tek seferlik metinden konuşmaya dönüştürme | [TTS](/tr/tools/tts) | -| `sessions_*` / `subagents` / `agents_list` | Oturum yönetimi, durum ve alt agent orkestrasyonu | [Sub-agents](/tr/tools/subagents) | -| `session_status` | Hafif `/status` tarzı geri okuma ve oturum model geçersiz kılması | [Session Tools](/tr/concepts/session-tool) | +| `sessions_*` / `subagents` / `agents_list` | Oturum yönetimi, durum ve alt ajan orkestrasyonu | [Alt ajanlar](/tr/tools/subagents) | +| `session_status` | Hafif `/status` tarzı geri okuma ve oturum modeli geçersiz kılması | [Oturum Araçları](/tr/concepts/session-tool) | -Görsel işleri için analizde `image`, oluşturmada veya düzenlemede `image_generate` kullanın. `openai/*`, `google/*`, `fal/*` veya varsayılan olmayan başka bir görsel provider’ı hedefliyorsanız, önce o provider’ın auth/API anahtarını yapılandırın. +Görsel çalışmaları için analizde `image`, üretim veya düzenlemede `image_generate` kullanın. `openai/*`, `google/*`, `fal/*` veya varsayılan olmayan başka bir görsel sağlayıcısını hedefliyorsanız önce o sağlayıcının kimlik doğrulamasını/API anahtarını yapılandırın. -Müzik işleri için `music_generate` kullanın. `google/*`, `minimax/*` veya varsayılan olmayan başka bir müzik provider’ı hedefliyorsanız, önce o provider’ın auth/API anahtarını yapılandırın. +Müzik çalışmaları için `music_generate` kullanın. `google/*`, `minimax/*` veya varsayılan olmayan başka bir müzik sağlayıcısını hedefliyorsanız önce o sağlayıcının kimlik doğrulamasını/API anahtarını yapılandırın. -Video işleri için `video_generate` kullanın. `qwen/*` veya varsayılan olmayan başka bir video provider’ı hedefliyorsanız, önce o provider’ın auth/API anahtarını yapılandırın. +Video çalışmaları için `video_generate` kullanın. `qwen/*` veya varsayılan olmayan başka bir video sağlayıcısını hedefliyorsanız önce o sağlayıcının kimlik doğrulamasını/API anahtarını yapılandırın. -İş akışı odaklı ses üretimi için, ComfyUI gibi bir plugin bunu kaydettiğinde -`music_generate` kullanın. Bu, metinden konuşmaya olan `tts`’den ayrıdır. +İş akışı odaklı ses üretimi için ComfyUI gibi bir Plugin bunu kaydediyorsa +`music_generate` kullanın. Bu, metinden konuşmaya dönüştürme olan `tts`'den ayrıdır. -`session_status`, sessions grubundaki hafif durum/geri okuma aracıdır. +`session_status`, oturumlar grubundaki hafif durum/geri okuma aracıdır. Geçerli oturum hakkında `/status` tarzı soruları yanıtlar ve isteğe bağlı olarak oturum başına model geçersiz kılması ayarlayabilir; `model=default` bu -geçersiz kılmayı temizler. `/status` gibi, en son transcript kullanım girdisinden -seyrek token/cache sayaçlarını ve etkin çalışma zamanı model etiketini geriye dönük doldurabilir. +geçersiz kılmayı temizler. `/status` gibi, en son transkript kullanım girdisinden +seyrek token/önbellek sayaçlarını ve etkin çalışma zamanı modeli etiketini +geriye dönük doldurabilir. `gateway`, gateway işlemleri için yalnızca sahip tarafından kullanılabilen çalışma zamanı aracıdır: -- Düzenlemelerden önce tek bir yol kapsamlı config alt ağacı için `config.schema.lookup` -- Geçerli config snapshot’ı + hash için `config.get` -- Yeniden başlatmalı kısmi config güncellemeleri için `config.patch` -- Yalnızca tam config değiştirme için `config.apply` -- Açık self-update + yeniden başlatma için `update.run` +- Düzenlemelerden önce tek bir yol kapsamlı yapılandırma alt ağacı için `config.schema.lookup` +- Geçerli yapılandırma anlık görüntüsü + hash için `config.get` +- Yeniden başlatmalı kısmi yapılandırma güncellemeleri için `config.patch` +- Yalnızca tam yapılandırma değişimi için `config.apply` +- Açık kendi kendini güncelleme + yeniden başlatma için `update.run` Kısmi değişikliklerde önce `config.schema.lookup`, sonra `config.patch` tercih edin. -`config.apply` yalnızca tüm config’i bilerek değiştirdiğinizde kullanılmalıdır. +`config.apply` seçeneğini yalnızca tüm yapılandırmayı bilerek değiştirdiğinizde kullanın. Araç ayrıca `tools.exec.ask` veya `tools.exec.security` değerlerini değiştirmeyi reddeder; eski `tools.bash.*` takma adları aynı korumalı exec yollarına normalize edilir. ### Plugin tarafından sağlanan araçlar -Plugin’ler ek araçlar kaydedebilir. Bazı örnekler: +Plugin'ler ek araçlar kaydedebilir. Bazı örnekler: -- [Lobster](/tr/tools/lobster) — devam ettirilebilir onaylarla tiplenmiş iş akışı çalışma zamanı -- [LLM Task](/tr/tools/llm-task) — yapılandırılmış çıktı için yalnızca JSON LLM adımı -- [Music Generation](/tools/music-generation) — iş akışı destekli provider’larla paylaşılan `music_generate` aracı - [Diffs](/tr/tools/diffs) — diff görüntüleyici ve oluşturucu -- [OpenProse](/tr/prose) — markdown-first iş akışı orkestrasyonu +- [LLM Task](/tr/tools/llm-task) — yapılandırılmış çıktı için yalnızca JSON kullanan LLM adımı +- [Lobster](/tr/tools/lobster) — sürdürülebilir onaylara sahip türlendirilmiş iş akışı çalışma zamanı +- [Müzik Üretimi](/tr/tools/music-generation) — iş akışı destekli sağlayıcılara sahip paylaşılan `music_generate` aracı +- [OpenProse](/tr/prose) — markdown öncelikli iş akışı orkestrasyonu +- [Tokenjuice](/tr/tools/tokenjuice) — gürültülü `exec` ve `bash` araç sonuçlarını sıkıştırır ## Araç yapılandırması -### İzin ve engelleme listeleri +### İzin ve ret listeleri -Agent’ın hangi araçları çağırabileceğini config içindeki `tools.allow` / `tools.deny` -ile denetleyin. Engelleme her zaman izne üstün gelir. +Ajanın hangi araçları çağırabileceğini yapılandırmada `tools.allow` / `tools.deny` +üzerinden denetleyin. Ret her zaman izni geçersiz kılar. ```json5 { @@ -136,18 +138,18 @@ ile denetleyin. Engelleme her zaman izne üstün gelir. ### Araç profilleri `tools.profile`, `allow`/`deny` uygulanmadan önce temel bir izin listesi ayarlar. -Agent başına geçersiz kılma: `agents.list[].tools.profile`. +Ajan başına geçersiz kılma: `agents.list[].tools.profile`. -| Profil | Neleri içerir | -| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------- | -| `full` | Kısıtlama yok (ayarlanmamış olmasıyla aynı) | +| Profil | İçerdikleri | +| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| `full` | Kısıtlama yoktur (ayarlanmamışla aynıdır) | | `coding` | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `image`, `image_generate`, `music_generate`, `video_generate` | -| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` | -| `minimal` | Yalnızca `session_status` | +| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` | +| `minimal` | yalnızca `session_status` | ### Araç grupları -İzin/engelleme listelerinde `group:*` kısa yollarını kullanın: +İzin/ret listelerinde `group:*` kısayollarını kullanın: | Grup | Araçlar | | ------------------ | --------------------------------------------------------------------------------------------------------- | @@ -162,21 +164,20 @@ Agent başına geçersiz kılma: `agents.list[].tools.profile`. | `group:nodes` | nodes | | `group:agents` | agents_list | | `group:media` | image, image_generate, music_generate, video_generate, tts | -| `group:openclaw` | Tüm yerleşik OpenClaw araçları (plugin araçları hariç) | +| `group:openclaw` | Tüm yerleşik OpenClaw araçları (Plugin araçları hariç) | -`sessions_history`, sınırlı ve güvenlik filtreli bir geri çağırma görünümü döndürür. -Thinking etiketlerini, `` iskeletini, düz metin tool-call XML -yüklerini (şunlar dahil: `...`, +`sessions_history`, sınırlı ve güvenlik filtreli bir geri çağırma görünümü döndürür. Şunları ayıklar: +thinking etiketleri, `` iskelesi, düz metin araç çağrısı XML +yükleri (şunlar dahil: `...`, `...`, `...`, -`...` ve kesilmiş tool-call blokları), -seviyesi düşürülmüş tool-call iskeletini, sızmış ASCII/tam genişlikli model kontrol -token’larını ve assistant metnindeki bozuk MiniMax tool-call XML’ini ayıklar; ardından -ham transcript dökümü gibi davranmak yerine redaksiyon/kısaltma ve olası büyük satır -yer tutucuları uygular. +`...` ve kesilmiş araç çağrısı blokları), +düşürülmüş araç çağrısı iskelesi, sızmış ASCII/tam genişlikli model denetim +token'ları ve asistan metnindeki hatalı MiniMax araç çağrısı XML'i; ardından +ham transkript dökümü gibi davranmak yerine redaksiyon/kısaltma ve olası aşırı büyük satır yer tutucuları uygular. -### Provider’a özgü kısıtlamalar +### Sağlayıcıya özgü kısıtlamalar -Global varsayılanları değiştirmeden belirli provider’lar için araçları kısıtlamak üzere +Genel varsayılanları değiştirmeden belirli sağlayıcılar için araçları kısıtlamak üzere `tools.byProvider` kullanın: ```json5 diff --git a/docs/tr/tools/tokenjuice.md b/docs/tr/tools/tokenjuice.md new file mode 100644 index 000000000..f26d1da4d --- /dev/null +++ b/docs/tr/tools/tokenjuice.md @@ -0,0 +1,84 @@ +--- +read_when: + - OpenClaw içinde daha kısa `exec` veya `bash` araç sonuçları istiyorsunuz + - Paketlenmiş tokenjuice Plugin'ini etkinleştirmek istiyorsunuz + - tokenjuice'ın neyi değiştirdiğini ve neyi ham bıraktığını anlamanız gerekiyor +summary: İsteğe bağlı paketlenmiş bir Plugin ile gürültülü exec ve bash araç sonuçlarını sıkıştırın +title: Tokenjuice +x-i18n: + generated_at: "2026-04-22T08:56:00Z" + model: gpt-5.4 + provider: openai + source_hash: 9b9a1054c9b1cc62e43ac6d5904c7790f9b27d8e0d0700c9da6e287c00e91783 + source_path: tools/tokenjuice.md + workflow: 15 +--- + +# Tokenjuice + +`tokenjuice`, komut zaten çalıştırıldıktan sonra gürültülü `exec` ve `bash` +araç sonuçlarını sıkıştıran isteğe bağlı paketlenmiş bir Plugin'dir. + +Komutun kendisini değil, döndürülen `tool_result` değerini değiştirir. +Tokenjuice shell girdisini yeniden yazmaz, komutları yeniden çalıştırmaz veya +çıkış kodlarını değiştirmez. + +Bugün bu, Tokenjuice'ın gömülü `tool_result` yoluna bağlandığı ve oturuma geri +dönen çıktıyı kırptığı Pi gömülü çalıştırmaları için geçerlidir. + +## Plugin'i etkinleştirin + +Hızlı yol: + +```bash +openclaw config set plugins.entries.tokenjuice.enabled true +``` + +Eşdeğeri: + +```bash +openclaw plugins enable tokenjuice +``` + +OpenClaw bu Plugin'i zaten içerir. Ayrı bir `plugins install` +veya `tokenjuice install openclaw` adımı yoktur. + +Yapılandırmayı doğrudan düzenlemeyi tercih ederseniz: + +```json5 +{ + plugins: { + entries: { + tokenjuice: { + enabled: true, + }, + }, + }, +} +``` + +## tokenjuice neyi değiştirir + +- Gürültülü `exec` ve `bash` sonuçlarını, oturuma geri beslenmeden önce sıkıştırır. +- Özgün komut çalıştırmasını değiştirmeden bırakır. +- Tokenjuice'ın ham bırakması gereken tam dosya içeriği okumalarını ve diğer komutları korur. +- İsteğe bağlı kalır: her yerde birebir çıktı istiyorsanız Plugin'i devre dışı bırakın. + +## Çalıştığını doğrulayın + +1. Plugin'i etkinleştirin. +2. `exec` çağırabilen bir oturum başlatın. +3. `git status` gibi gürültülü bir komut çalıştırın. +4. Döndürülen araç sonucunun ham shell çıktısından daha kısa ve daha yapılandırılmış olduğunu kontrol edin. + +## Plugin'i devre dışı bırakın + +```bash +openclaw config set plugins.entries.tokenjuice.enabled false +``` + +Veya: + +```bash +openclaw plugins disable tokenjuice +```