From 860615c06f4b4c4a225641c67ec3dd2ae01be34b Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Thu, 23 Apr 2026 14:02:41 +0000 Subject: [PATCH] chore(i18n): refresh tr translations --- docs/tr/ci.md | 119 ++- docs/tr/cli/status.md | 41 +- docs/tr/concepts/qa-e2e-automation.md | 213 +++--- docs/tr/help/testing.md | 998 +++++++++++++------------- docs/tr/providers/openai.md | 383 ++++++---- docs/tr/reference/test.md | 97 +-- docs/tr/tools/image-generation.md | 179 ++--- docs/tr/tools/plugin.md | 334 ++++----- docs/tr/tools/slash-commands.md | 353 +++++---- docs/tr/tools/thinking.md | 162 ++--- 10 files changed, 1492 insertions(+), 1387 deletions(-) diff --git a/docs/tr/ci.md b/docs/tr/ci.md index 8946f2a2b..7aff41a5e 100644 --- a/docs/tr/ci.md +++ b/docs/tr/ci.md @@ -1,14 +1,14 @@ --- read_when: - - Bir CI işinin neden çalıştığını veya çalışmadığını anlamanız gerekiyor. + - Bir CI işinin neden çalıştığını veya neden çalışmadığını anlamanız gerekir. - 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 işlem hattı x-i18n: - generated_at: "2026-04-23T08:58:41Z" + generated_at: "2026-04-23T13:58:02Z" model: gpt-5.4 provider: openai - source_hash: 5c89c66204b203a39435cfc19de7b437867f2792bbfa2c3948371abde9f80e11 + source_hash: c5a8ea0d8e428826169b0e6aced1caeb993106fe79904002125ace86b48cae1f source_path: ci.md workflow: 15 --- @@ -17,91 +17,84 @@ x-i18n: 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. -QA Lab, ana akıllı kapsamlı iş akışının dışında özel CI şeritlerine sahiptir. -`Parity gate` iş akışı, eşleşen PR değişikliklerinde ve manuel tetiklemede çalışır; -özel QA çalışma zamanını derler ve sahte GPT-5.4 ile Opus 4.6 -agentic paketlerini karşılaştırır. `QA-Lab - All Lanes` iş akışı, `main` üzerinde gece çalışır ve -manuel tetiklemede de çalışır; sahte parity gate, canlı Matrix şeridi ve canlı -Telegram şeridini paralel işler olarak dağıtır. Canlı işler `qa-live-shared` -ortamını kullanır ve Telegram şeridi Convex lease'leri kullanır. `OpenClaw Release -Checks` de sürüm onayından önce aynı QA Lab şeritlerini çalıştırır. +QA Lab, ana akıllı kapsamlı iş akışının dışında özel CI hatlarına sahiptir. `Parity gate` iş akışı, eşleşen PR değişikliklerinde ve manuel tetikleme ile çalışır; özel QA çalışma zamanını derler ve sahte GPT-5.4 ile Opus 4.6 etmen paketlerini karşılaştırır. `QA-Lab - All Lanes` iş akışı, `main` üzerinde gecelik olarak ve manuel tetikleme ile çalışır; sahte parity gate, canlı Matrix hattı ve canlı Telegram hattını paralel işler olarak dağıtır. Canlı işler `qa-live-shared` environment'ını kullanır ve Telegram hattı Convex kiralamalarını kullanır. `OpenClaw Release Checks` de sürüm onayından önce aynı QA Lab hatlarını çalıştırır. -## İş Genel Bakışı +## İş Genel Görünümü | İş | Amaç | Ne zaman çalışır | | -------------------------------- | -------------------------------------------------------------------------------------------- | ----------------------------------- | -| `preflight` | Yalnızca docs değişikliklerini, değişen kapsamları, değişen extension'ları algılar ve CI manifest'ini oluşturur | Taslak olmayan push ve PR'lerde her zaman | -| `security-scm-fast` | `zizmor` ile özel anahtar algılama ve iş akışı denetimi | Taslak olmayan push ve PR'lerde her zaman | -| `security-dependency-audit` | npm advisories'e 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 zorunlu toplu iş | Taslak olmayan push ve PR'lerde her zaman | -| `build-artifacts` | `dist/`, Control UI, yerleşik artifact kontrolleri ve yeniden kullanılabilir downstream artifact'leri derler | Node ile ilgili değişiklikler | -| `checks-fast-core` | paketle gelen/plugin-contract/protocol kontrolleri gibi hızlı Linux doğruluk şeritleri | Node ile ilgili değişiklikler | -| `checks-fast-contracts-channels` | Kararlı bir toplu kontrol sonucuyla shard'lanmış kanal sözleşmesi kontrolleri | Node ile ilgili değişiklikler | -| `checks-node-extensions` | extension paketi genelinde tam paketle gelen Plugin test shard'ları | Node ile ilgili değişiklikler | -| `checks-node-core-test` | Kanal, paketle gelen, sözleşme ve extension şeritleri hariç çekirdek Node test shard'ları | Node ile ilgili değişiklikler | -| `extension-fast` | Yalnızca değişen paketle gelen Plugin'ler için odaklı testler | extension değişiklikli pull request'ler | -| `check` | Parçalanmış ana yerel geçit eşdeğeri: prod türleri, lint, guard'lar, test türleri ve katı smoke | Node ile ilgili değişiklikler | -| `check-additional` | Mimari, sınır, extension-surface guard'ları, package-boundary ve gateway-watch shard'ları | Node ile ilgili değişiklikler | -| `build-smoke` | Yerleşik CLI smoke testleri ve başlangıç belleği smoke testi | Node ile ilgili değişiklikler | -| `checks` | Yerleşik artifact kanal testleri ile yalnızca push için Node 22 uyumluluğu doğrulayıcısı | Node ile ilgili değişiklikler | -| `check-docs` | Docs biçimlendirme, lint ve bozuk bağlantı kontrolleri | Docs değiştiğinde | -| `skills-python` | Python destekli Skills için Ruff + pytest | Python-skill ile ilgili değişiklikler | -| `checks-windows` | Windows'a özel test şeritleri | Windows ile ilgili değişiklikler | -| `macos-node` | Paylaşılan yerleşik artifact'leri kullanan macOS TypeScript test şeridi | macOS ile ilgili değişiklikler | -| `macos-swift` | macOS uygulaması için Swift lint, derleme ve testler | macOS ile ilgili değişiklikler | -| `android` | Her iki flavor için Android birim testleri artı bir debug APK derlemesi | Android ile ilgili değişiklikler | +| `preflight` | Yalnızca dokümantasyon değişikliklerini, değişen kapsamları, değişen eklentileri algılar ve CI manifestini oluşturur | Taslak olmayan push ve PR'lerde her zaman | +| `security-scm-fast` | `zizmor` aracılığıyla özel anahtar algılama ve iş akışı 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 zorunlu toplu iş | Taslak olmayan push ve PR'lerde her zaman | +| `build-artifacts` | `dist/`, Control UI, derlenmiş artifact kontrolleri ve yeniden kullanılabilir aşağı akış artifact'lerini derler | Node ile ilgili değişiklikler | +| `checks-fast-core` | bundled/plugin-contract/protocol kontrolleri gibi hızlı Linux doğruluk hatları | Node ile ilgili değişiklikler | +| `checks-fast-contracts-channels` | Kararlı bir toplu kontrol sonucu ile shard'lanmış kanal sözleşme kontrolleri | Node ile ilgili değişiklikler | +| `checks-node-extensions` | eklenti paketi genelinde tam bundled-plugin test shard'ları | Node ile ilgili değişiklikler | +| `checks-node-core-test` | kanal, bundled, contract ve eklenti hatları hariç çekirdek Node test shard'ları | Node ile ilgili değişiklikler | +| `extension-fast` | Yalnızca değişen bundled plugin'ler için odaklı testler | eklenti değişiklikleri olan pull request'ler | +| `check` | shard'lanmış ana yerel geçit eşdeğeri: prod türleri, lint, guard'lar, test türleri ve katı smoke | Node ile ilgili değişiklikler | +| `check-additional` | Mimari, sınır, eklenti yüzeyi guard'ları, package-boundary 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` | Derlenmiş artifact kanal testleri artı yalnızca push için Node 22 uyumluluğu doğrulayıcısı | Node ile ilgili değişiklikler | +| `check-docs` | Dokümantasyon biçimlendirme, lint ve bozuk bağlantı kontrolleri | Dokümantasyon değiştiğinde | +| `skills-python` | Python destekli Skills için Ruff + pytest | Python skill ile ilgili değişiklikler | +| `checks-windows` | Windows'a özgü 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` | Her iki flavor için Android birim testleri artı bir debug APK build'i | Android ile ilgili değişiklikler | -## Hızlı Başarısız Olma Sırası +## Önce Hızlı Başarısız Olma Sırası -İşler, pahalı olanlar çalışmadan önce ucuz kontroller başarısız olacak ş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 şeritlerin var olacağına en başta karar verir. `docs-scope` ve `changed-scope` mantığı bağımsız işler değil, bu işin içindeki adımlardı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 matris işlerini beklemeden hızlıca başarısız olur. -3. `build-artifacts`, hızlı Linux şeritleriyle çakışacak şekilde çalışır; böylece downstream tüketiciler paylaşılan derleme hazır olur olmaz başlayabilir. -4. Daha ağır platform ve çalışma zamanı şeritleri bundan sonra dağıtılır: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-extensions`, `checks-node-core-test`, yalnızca PR için `extension-fast`, `checks`, `checks-windows`, `macos-node`, `macos-swift` ve `android`. +3. `build-artifacts`, hızlı Linux hatlarıyla çakışacak şekilde çalışı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 dağıtılır: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-extensions`, `checks-node-core-test`, yalnızca PR için `extension-fast`, `checks`, `checks-windows`, `macos-node`, `macos-swift` ve `android`. -Kapsam mantığı `scripts/ci-changed-scope.mjs` içinde yer alır ve `src/scripts/ci-changed-scope.test.ts` içindeki birim testleriyle kapsanır. -CI iş akışı düzenlemeleri Node CI grafiğini ve iş akışı lint'ini doğrular, ancak tek başlarına Windows, Android veya macOS yerel derlemelerini zorlamaz; bu platform şeritleri platform kaynak değişikliklerine göre kapsamlandırılmış kalır. -Windows Node kontrolleri; Windows'a özgü süreç/yol sarmalayıcıları, npm/pnpm/UI runner yardımcıları, package manager yapılandırması ve bu şeridi çalıştıran CI iş akışı yüzeyleriyle kapsamlandırılır; ilgisiz kaynak, Plugin, install-smoke ve yalnızca test değişiklikleri normal test shard'ları tarafından zaten çalıştırılan kapsam için 16-vCPU'lu bir Windows worker ayırmamak adına Linux Node şeritlerinde kalır. -Ayrı `install-smoke` iş akışı, kendi `preflight` işi üzerinden aynı kapsam betiğini yeniden kullanır. Daha dar changed-smoke sinyalinden `run_install_smoke` değerini hesaplar; böylece Docker/install smoke, install, paketleme, container ile ilgili değişiklikler, paketle gelen extension üretim değişiklikleri ve Docker smoke işlerinin çalıştırdığı çekirdek Plugin/kanal/gateway/Plugin SDK yüzeyleri için çalışır. Yalnızca test ve yalnızca docs düzenlemeleri Docker worker'larını ayırmaz. QR paket smoke testi, BuildKit pnpm store önbelleğini korurken Docker `pnpm install` katmanını yeniden çalışmaya zorlar; böylece her çalıştırmada bağımlılıkları yeniden indirmeden kurulumu yine de test eder. Gateway-network e2e, işin başında daha önce derlenmiş çalışma zamanı imajını yeniden kullanır; böylece bir Docker derlemesi daha eklemeden gerçek container-container WebSocket kapsamı ekler. Yerel `test:docker:all`, paylaşılan tek bir `scripts/e2e/Dockerfile` built-app imajını önceden derler ve bunu E2E container smoke runner'ları arasında yeniden kullanır; yeniden kullanılabilir canlı/E2E iş akışı da Docker matrisi öncesinde tek bir SHA etiketli GHCR Docker E2E imajı derleyip göndererek ve ardından matrisi `OPENCLAW_SKIP_DOCKER_BUILD=1` ile çalıştırarak bu deseni yansıtır. QR ve installer Docker testleri kendi kuruluma odaklı Dockerfile'larını korur. Ayrı bir `docker-e2e-fast` işi, sınırlandırılmış paketle gelen Plugin Docker profilini 120 saniyelik komut zaman aşımı altında çalıştırır: setup-entry bağımlılık onarımı artı sentetik bundled-loader arıza yalıtımı. Tam paketle gelen güncelleme/kanal matrisi manuel/tam paket olarak kalır; çünkü gerçek npm update ve doctor repair geçişlerini tekrar tekrar uygular. +Kapsam mantığı `scripts/ci-changed-scope.mjs` içinde bulunur ve `src/scripts/ci-changed-scope.test.ts` içindeki birim testleriyle kapsanır. +CI iş akışı düzenlemeleri Node CI grafiğini ve iş akışı lint denetimini doğrular, ancak tek başına Windows, Android veya macOS yerel build'lerini zorlamaz; bu platform hatları platform kaynak değişikliklerine göre kapsamlı kalır. +Windows Node kontrolleri, Windows'a özgü işlem/yol sarmalayıcılarına, npm/pnpm/UI çalıştırıcı yardımcılarına, paket yöneticisi yapılandırmasına ve bu hattı çalıştıran CI iş akışı yüzeylerine göre kapsamlandırılır; ilgisiz kaynak, eklenti, install-smoke ve yalnızca test değişiklikleri Linux Node hatlarında kalır, böylece normal test shard'ları tarafından zaten kullanılan kapsam için 16-vCPU'lu bir Windows worker ayrılmaz. +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; böylece Docker/install smoke, kurulum, paketleme, container ile ilgili değişiklikler, bundled extension üretim değişiklikleri ve Docker smoke işlerinin kullandığı çekirdek plugin/channel/gateway/Plugin SDK yüzeyleri için çalışır. Yalnızca test ve yalnızca dokümantasyon düzenlemeleri Docker worker'ları ayırmaz. QR paket smoke testi, Docker `pnpm install` katmanını yeniden çalışmaya zorlar ve BuildKit pnpm store önbelleğini korur; böylece her çalıştırmada bağımlılıkları yeniden indirmeden kurulumu yine de test eder. gateway-network e2e, işin başında oluşturulan çalışma zamanı imajını yeniden kullanır; böylece başka bir Docker build eklemeden gerçek container-to-container WebSocket kapsamı ekler. Yerel `test:docker:all`, paylaşılan bir canlı test imajını ve paylaşılan bir `scripts/e2e/Dockerfile` built-app imajını önceden derler, ardından canlı/E2E smoke hatlarını `OPENCLAW_SKIP_DOCKER_BUILD=1` ile paralel çalıştırır; varsayılan 4 eşzamanlılığını `OPENCLAW_DOCKER_ALL_PARALLELISM` ile ayarlayın. Yerel toplu çalıştırma, varsayılan olarak ilk başarısızlıktan sonra yeni havuzlanmış hatları zamanlamayı durdurur ve her hattın `OPENCLAW_DOCKER_ALL_LANE_TIMEOUT_MS` ile geçersiz kılınabilen 120 dakikalık bir zaman aşımı vardır. Başlangıca veya sağlayıcıya duyarlı hatlar paralel havuzdan sonra özel olarak çalışır. Yeniden kullanılabilir canlı/E2E iş akışı, Docker matrisinden önce SHA etiketli tek bir GHCR Docker E2E imajı oluşturup göndererek paylaşılan imaj modelini yansıtır, ardından matrisi `OPENCLAW_SKIP_DOCKER_BUILD=1` ile çalıştırır. Zamanlanmış canlı/E2E iş akışı, tam sürüm yolundaki Docker paketini her gün çalıştırır. QR ve yükleyici Docker testleri kendi kurulum odaklı Dockerfile'larını korur. Ayrı bir `docker-e2e-fast` işi, 120 saniyelik komut zaman aşımı altında sınırlı bundled-plugin Docker profilini çalıştırır: setup-entry bağımlılık onarımı artı sentetik bundled-loader başarısızlık izolasyonu. Tam bundled update/channel matrisi manuel/tam paket olarak kalır çünkü tekrar eden gerçek npm update ve doctor repair geçişleri yapar. -Yerel changed-lane mantığı `scripts/changed-lanes.mjs` içinde yer alır 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 prod 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, extension üretim değişiklikleri extension prod typecheck artı extension testlerini çalıştırır ve yalnızca extension test değişiklikleri yalnızca extension test typecheck/testlerini çalıştırır. Herkese açık Plugin SDK veya plugin-contract değişiklikleri, extension'lar bu çekirdek sözleşmelere bağlı olduğu için extension doğrulamasını genişletir. Yalnızca sürüm meta verisi içeren version bump'lar hedefli sürüm/yapılandırma/kök bağımlılık kontrolleri çalıştırır. Bilinmeyen kök/yapılandırma değişiklikleri güvenli tarafta kalmak için tüm şeritlere başarısız olur. +Yerel changed-lane mantığı `scripts/changed-lanes.mjs` içinde bulunur ve `scripts/check-changed.mjs` tarafından çalıştırılır. Bu yerel geçit, geniş CI platform kapsamına kıyasla mimari sınırlar konusunda daha katıdır: çekirdek üretim değişiklikleri çekirdek prod typecheck artı çekirdek testlerini çalıştırır, çekirdek yalnızca test değişiklikleri yalnızca çekirdek test typecheck/testlerini çalıştırır, eklenti üretim değişiklikleri eklenti prod typecheck artı eklenti testlerini çalıştırır ve eklenti yalnızca test değişiklikleri yalnızca eklenti test typecheck/testlerini çalıştırır. Herkese açık Plugin SDK veya plugin-contract değişiklikleri, eklenti doğrulamasını genişletir çünkü eklentiler bu çekirdek sözleşmelere bağımlıdır. Yalnızca sürüm metaverisi içeren version bump'ları hedefli sürüm/yapılandırma/kök bağımlılık kontrollerini çalıştırır. Bilinmeyen root/config değişiklikleri güvenli olacak şekilde tüm hatlara başarısız olur. -Push işlemlerinde `checks` matrisi yalnızca push için `compat-node22` şeridini ekler. Pull request'lerde bu şerit atlanır ve matris normal test/kanal şeritlerine odaklı kalı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. -En yavaş Node test aileleri, her iş küçük kalacak şekilde bölünür veya dengelenir: kanal sözleşmeleri kayıt ve çekirdek kapsamını toplam altı ağırlıklı shard'a böler, paketle gelen Plugin testleri altı extension worker arasında dengelenir, auto-reply altı küçük worker yerine üç dengeli worker olarak çalışır ve agentic gateway/plugin yapılandırmaları yerleşik artifact'leri beklemek yerine mevcut yalnızca kaynak agentic Node işlerine dağıtılır. Geniş tarayıcı, QA, medya ve çeşitli Plugin testleri paylaşılan plugin catch-all yerine kendilerine özel Vitest yapılandırmalarını kullanır. Geniş agents şeridi, tek bir yavaş test dosyasına ait olmaktan çok import/zamanlama ağırlıklı olduğu için paylaşılan Vitest dosya paralel zamanlayıcısını kullanır. `runtime-config`, paylaşılan çalışma zamanı shard'ının kuyruğu sahiplenmesini önlemek için infra core-runtime shard'ı ile birlikte çalışır. `check-additional`, package-boundary derleme/canary işlerini birlikte tutar ve çalışma zamanı topolojisi mimarisini gateway watch kapsamından ayırır; boundary guard shard'ı küçük bağımsız guard'larını tek iş içinde eşzamanlı çalıştırır. Gateway watch, kanal testleri ve çekirdek support-boundary shard'ı, `dist/` ve `dist-runtime/` zaten derlendikten sonra `build-artifacts` içinde eşzamanlı çalışır; eski kontrol adlarını hafif doğrulayıcı işler olarak korurken iki ek Blacksmith worker'ı ve ikinci bir artifact-consumer kuyruğunu önler. -Android CI, hem `testPlayDebugUnitTest` hem de `testThirdPartyDebugUnitTest` çalıştırır, ardından Play debug APK'sını derler. Third-party flavor'ın ayrı bir kaynak kümesi veya manifest'i yoktur; birim test şeridi yine de bu flavor'ı SMS/call-log BuildConfig bayraklarıyla derlerken her Android ile ilgili push'ta yinelenen bir debug APK paketleme işinden kaçınır. -`extension-fast` yalnızca PR içindir; çünkü push çalıştırmaları zaten tam paketle gelen Plugin shard'larını yürütür. Bu, `main` üzerinde `checks-node-extensions` içinde zaten bulunan kapsam için ek bir Blacksmith worker ayırmadan incelemeler için değişen Plugin geri bildirimi sağlar. +En yavaş Node test aileleri, her iş küçük kalsın diye bölünür veya dengelenir: kanal sözleşmeleri, registry ve çekirdek kapsamı toplam altı ağırlıklı shard'a böler, bundled plugin testleri altı eklenti worker'ı arasında dengelenir, auto-reply altı küçük worker yerine üç dengeli worker olarak çalışır ve agentic gateway/plugin yapılandırmaları derlenmiş artifact'leri beklemek yerine mevcut yalnızca kaynak agentic Node işlerine dağıtılır. Geniş browser, QA, medya ve çeşitli eklenti testleri, paylaşılan eklenti genel amaçlı yapılandırma yerine özel Vitest yapılandırmalarını kullanır. Geniş agents hattı, tek bir yavaş test dosyasına ait olmak yerine import/zamanlama ağırlıklı olduğu için paylaşılan Vitest dosya-paralel zamanlayıcısını kullanır. `runtime-config`, paylaşılan çalışma zamanı shard'ının kuyruğun sonunu sahiplenmesini önlemek için infra core-runtime shard'ı ile çalışır. `check-additional`, package-boundary derleme/canary işlerini birlikte tutar ve çalışma zamanı topolojisi mimarisini gateway watch kapsamından ayırır; boundary guard shard'ı küçük bağımsız guard'larını tek bir iş içinde eşzamanlı çalıştırır. Gateway watch, kanal testleri ve çekirdek support-boundary shard'ı, `dist/` ve `dist-runtime/` zaten derlendikten sonra `build-artifacts` içinde eşzamanlı çalışır; böylece iki ek Blacksmith worker'ı ve ikinci bir artifact-consumer kuyruğu oluşturmadan eski kontrol adlarını hafif doğrulayıcı işler olarak korur. +Android CI, hem `testPlayDebugUnitTest` hem de `testThirdPartyDebugUnitTest` çalıştırır, ardından Play debug APK'sını derler. third-party flavor için ayrı bir kaynak kümesi veya manifest yoktur; birim test hattı yine de bu flavor'ı SMS/call-log BuildConfig bayraklarıyla derler, aynı zamanda Android ile ilgili her push'ta yinelenen bir debug APK paketleme işinden kaçınır. +`extension-fast` yalnızca PR içindir çünkü push çalıştırmaları zaten tam bundled plugin shard'larını yürütür. Bu, `checks-node-extensions` içinde zaten bulunan kapsam için `main` üzerinde ek bir Blacksmith worker ayırmadan incelemeler için değişen eklenti geri bildirimi sağlar. -GitHub, aynı PR veya `main` referansına daha yeni bir push geldiğinde yerine geçen işleri `cancelled` olarak işaretleyebilir. Aynı referans için en yeni çalışma da başarısız olmadığı sürece bunu CI gürültüsü olarak değerlendirin. Toplu shard kontrolleri `!cancelled() && always()` kullanır; böylece normal shard arızalarını yine de raporlarlar ancak tüm iş akışı zaten yerini yenisine bıraktıktan sonra kuyruğa girmezler. -CI eşzamanlılık anahtarı sürümlüdür (`CI-v7-*`); böylece eski bir kuyruk grubundaki GitHub tarafı zombi bir iş, daha yeni main çalıştırmalarını süresiz olarak engelleyemez. +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ıştırma da başarısız olmuyorsa bunu CI gürültüsü olarak değerlendirin. Toplu shard kontrolleri `!cancelled() && always()` kullanır, böylece normal shard hatalarını yine bildirirler ancak tüm iş akışı zaten yerini almışsa kuyruğa girmezler. +CI eşzamanlılık anahtarı sürümlüdür (`CI-v7-*`); böylece eski bir kuyruk grubundaki GitHub taraflı bir zombi, daha yeni main çalıştırmalarını süresiz olarak engelleyemez. -## Runner'lar +## Çalıştırıcılar -| Runner | İşler | -| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `ubuntu-24.04` | `preflight`, hızlı güvenlik işleri ve toplamaları (`security-scm-fast`, `security-dependency-audit`, `security-fast`), hızlı protocol/contract/paketle gelen kontroller, shard'lanmış kanal sözleşmesi kontrolleri, lint dışındaki `check` shard'ları, `check-additional` shard'ları ve toplamaları, Node test toplu doğrulayıcıları, docs kontrolleri, Python Skills, workflow-sanity, labeler, auto-response; install-smoke preflight da GitHub tarafından barındırılan Ubuntu kullanır, böylece Blacksmith matrisi daha erken kuyruğa girebilir | -| `blacksmith-8vcpu-ubuntu-2404` | `build-artifacts`, build-smoke, Linux Node test shard'ları, paketle gelen Plugin test shard'ları, `android` | -| `blacksmith-16vcpu-ubuntu-2404` | `check-lint`; bu iş CPU'ya yeterince duyarlı kaldığından 8 vCPU tasarruf ettiğinden daha fazlasına mal oldu; 32-vCPU kuyruk süresi tasarruf ettiğinden daha pahalı olduğu için install-smoke Docker derlemeleri | -| `blacksmith-16vcpu-windows-2025` | `checks-windows` | -| `blacksmith-6vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-node`; fork'lar `macos-latest` değerine geri döner | -| `blacksmith-12vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-swift`; fork'lar `macos-latest` değerine geri döner | +| Çalıştırıcı | İşler | +| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `ubuntu-24.04` | `preflight`, hızlı güvenlik işleri ve toplu işler (`security-scm-fast`, `security-dependency-audit`, `security-fast`), hızlı protocol/contract/bundled kontrolleri, shard'lanmış kanal sözleşme kontrolleri, lint dışındaki `check` shard'ları, `check-additional` shard'ları ve toplu işleri, Node test toplu doğrulayıcıları, dokümantasyon kontrolleri, Python Skills, workflow-sanity, labeler, auto-response; install-smoke preflight da GitHub barındırmalı Ubuntu kullanır, böylece Blacksmith matrisi daha erken kuyruğa girebilir | +| `blacksmith-8vcpu-ubuntu-2404` | `build-artifacts`, build-smoke, Linux Node test shard'ları, bundled plugin test shard'ları, `android` | +| `blacksmith-16vcpu-ubuntu-2404` | `check-lint`; bu iş hâlâ CPU'ya yeterince duyarlıdır ve 8 vCPU tasarruf ettirdiğinden daha fazla maliyet yaratmıştır; install-smoke Docker build'leri, burada 32-vCPU kuyruk süresi tasarruf ettirdiğinden daha fazla maliyet yaratmıştır | +| `blacksmith-16vcpu-windows-2025` | `checks-windows` | +| `blacksmith-6vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-node`; fork'lar `macos-latest` değerine geri döner | +| `blacksmith-12vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-swift`; fork'lar `macos-latest` değerine geri döner | ## Yerel Eşdeğerler ```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 şeridine göre changed typecheck/lint/testler -pnpm check # hızlı yerel geçit: üretim tsgo + shard'lanmış lint + paralel hızlı guard'lar +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:test-types -pnpm check:timed # aynı geçit, aşama başına zamanlamalarla +pnpm check:timed # aşama başına zamanlamalarla aynı geçit pnpm build:strict-smoke pnpm check:architecture pnpm test:gateway:watch-regression pnpm test # Vitest testleri pnpm test:channels pnpm test:contracts:channels -pnpm check:docs # docs biçimlendirme + lint + bozuk bağlantılar -pnpm build # CI artifact/build-smoke şeritleri önemliyse dist derlemesi -node scripts/ci-run-timings.mjs # duvar süresini, kuyruk süresini ve en yavaş işleri özetler +pnpm check:docs # dokümantasyon biçimlendirme + lint + bozuk bağlantılar +pnpm build # CI artifact/build-smoke hatları önemliyse dist build'i +node scripts/ci-run-timings.mjs # toplam süreyi, kuyruk süresini ve en yavaş işleri özetleyin ``` diff --git a/docs/tr/cli/status.md b/docs/tr/cli/status.md index 70705a733..a7d0dcb35 100644 --- a/docs/tr/cli/status.md +++ b/docs/tr/cli/status.md @@ -1,14 +1,14 @@ --- read_when: - - Kanal sağlığı + son oturum alıcıları için hızlı bir tanı istiyorsunuz - - Hata ayıklama için yapıştırılabilir bir “all” durumu istiyorsunuz -summary: '`openclaw status` için CLI başvurusu (tanılama, yoklamalar, kullanım anlık görüntüleri)' -title: status + - Kanal sağlığı ve son oturum alıcıları hakkında hızlı bir tanılama istiyorsunuz. + - Hata ayıklama için yapıştırılabilir bir “all” durumu istiyorsunuz. +summary: '`openclaw status` için CLI başvurusu (tanılama, problar, kullanım anlık görüntüleri)' +title: durum x-i18n: - generated_at: "2026-04-05T13:49:28Z" + generated_at: "2026-04-23T13:57:59Z" model: gpt-5.4 provider: openai - source_hash: fbe9d94fbe9938cd946ee6f293b5bd3b464b75e1ade2eacdd851788c3bffe94e + source_hash: 015614e329ec172a62c625581897fa64589f12dfe28edefe8a2764b5b5367b2a source_path: cli/status.md workflow: 15 --- @@ -26,17 +26,18 @@ openclaw status --usage Notlar: -- `--deep` canlı yoklamalar çalıştırır (WhatsApp Web + Telegram + Discord + Slack + Signal). -- `--usage`, normalize edilmiş sağlayıcı kullanım pencerelerini `X% left` olarak yazdırır. -- MiniMax'ın ham `usage_percent` / `usagePercent` alanları kalan kotadır, bu nedenle OpenClaw bunları görüntülemeden önce tersine çevirir; mevcut olduğunda sayı tabanlı alanlar önceliklidir. `model_remains` yanıtları sohbet modeli girdisini tercih eder, gerektiğinde zaman penceresi etiketini zaman damgalarından türetir ve plan etiketine model adını dahil eder. -- Geçerli oturum anlık görüntüsü seyrek olduğunda `/status`, token ve önbellek sayaçlarını en son transcript kullanım günlüğünden geri doldurabilir. Mevcut sıfır olmayan canlı değerler yine transcript yedek değerlerine üstün gelir. -- Transcript yedeği, canlı oturum girdisinde eksik olduğunda etkin çalışma zamanı modeli etiketini de kurtarabilir. Bu transcript modeli seçilen modelden farklıysa status, bağlam penceresini seçilen model yerine kurtarılan çalışma zamanı modeline göre çözümler. -- Prompt boyutu muhasebesi için transcript yedeği, oturum meta verileri eksik veya daha küçük olduğunda daha büyük prompt odaklı toplamı tercih eder; böylece özel sağlayıcı oturumları `0` token görüntülerine düşmez. -- Çıktı, birden çok ajan yapılandırıldığında ajan başına oturum depolarını içerir. -- Genel bakış, mevcut olduğunda Gateway + düğüm ana makine hizmet kurulum/çalışma durumu bilgilerini içerir. -- Genel bakış, güncelleme kanalı + git SHA bilgisini içerir (kaynak checkout'lar için). -- Güncelleme bilgisi Genel Bakış'ta gösterilir; bir güncelleme varsa status, `openclaw update` çalıştırmak için bir ipucu yazdırır (bkz. [Güncelleme](/install/updating)). -- Salt okunur status yüzeyleri (`status`, `status --json`, `status --all`), mümkün olduğunda hedeflenen yapılandırma yolları için desteklenen SecretRef'leri çözümler. -- Desteklenen bir kanal SecretRef'i yapılandırılmış ancak mevcut komut yolunda kullanılamıyorsa status salt okunur kalır ve çökmek yerine bozulmuş çıktı bildirir. İnsan tarafından okunabilir çıktı “configured token unavailable in this command path” gibi uyarılar gösterir ve JSON çıktısı `secretDiagnostics` içerir. -- Komut yerel SecretRef çözümlemesi başarılı olduğunda status çözümlenmiş anlık görüntüyü tercih eder ve son çıktıdan geçici “secret unavailable” kanal işaretlerini temizler. -- `status --all`, bir Secrets genel bakış satırı ve rapor üretimini durdurmadan gizli tanılamalarını özetleyen (okunabilirlik için kısaltılmış) bir tanı bölümü içerir. +- `--deep` canlı probları çalıştırır (WhatsApp Web + Telegram + Discord + Slack + Signal). +- `--usage`, normalize edilmiş sağlayıcı kullanım pencerelerini `X% kaldı` olarak yazdırır. +- Oturum durumu çıktısı artık `Runtime:` ile `Runner:` alanlarını ayırır. `Runtime`, yürütme yolunu ve sandbox durumunu gösterir (`direct`, `docker/*`), `Runner` ise oturumun gömülü Pi, CLI destekli bir sağlayıcı ya da `codex (acp/acpx)` gibi ACP harness backend’i kullanıp kullanmadığını belirtir. +- MiniMax’in ham `usage_percent` / `usagePercent` alanları kalan kotayı gösterir; bu nedenle OpenClaw görüntülemeden önce bunları tersine çevirir. Mevcut olduğunda sayı tabanlı alanlar önceliklidir. `model_remains` yanıtları sohbet modeli girdisini tercih eder, gerektiğinde pencere etiketini zaman damgalarından türetir ve plan etiketine model adını ekler. +- Geçerli oturum anlık görüntüsü seyrek olduğunda, `/status` en son transkript kullanım günlüğünden token ve önbellek sayaçlarını geri doldurabilir. Mevcut sıfır olmayan canlı değerler yine transkript yedek değerlerine göre önceliklidir. +- Transkript yedeği, canlı oturum girdisinde eksik olduğunda etkin çalışma zamanı model etiketini de geri getirebilir. Bu transkript modeli seçili modelden farklıysa, durum bağlam penceresini seçili model yerine geri getirilen çalışma zamanı modeline göre çözümler. +- İstem boyutu muhasebesi için, oturum meta verisi eksikse veya daha küçükse transkript yedeği istem odaklı daha büyük toplamı tercih eder; böylece özel sağlayıcı oturumları `0` token gösterimine düşmez. +- Çıktı, birden fazla aracı yapılandırıldığında aracı başına oturum depolarını içerir. +- Genel bakış, mevcut olduğunda Gateway + Node ana makine hizmeti kurulum/çalışma durumu bilgilerini içerir. +- Genel bakış, güncelleme kanalını + git SHA’sını içerir (kaynak kod checkout’ları için). +- Güncelleme bilgisi Genel Bakış’ta gösterilir; bir güncelleme mevcutsa status, `openclaw update` çalıştırmanız için bir ipucu yazdırır (bkz. [Güncelleme](/tr/install/updating)). +- Salt okunur durum yüzeyleri (`status`, `status --json`, `status --all`), mümkün olduğunda hedeflenen yapılandırma yolları için desteklenen SecretRef’leri çözümler. +- Desteklenen bir kanal SecretRef’i yapılandırılmış ancak mevcut komut yolunda kullanılamıyorsa, status salt okunur kalır ve çökmek yerine bozulmuş çıktıyı bildirir. İnsan tarafından okunabilir çıktı “configured token unavailable in this command path” gibi uyarılar gösterir, JSON çıktısı ise `secretDiagnostics` içerir. +- Komuta yerel SecretRef çözümlemesi başarılı olduğunda, status çözülmüş anlık görüntüyü tercih eder ve son çıktıdan geçici “secret unavailable” kanal işaretlerini temizler. +- `status --all`, bir Secrets genel bakış satırı ve rapor oluşturmayı durdurmadan gizli tanılamayı özetleyen bir tanılama bölümü içerir (okunabilirlik için kısaltılmıştır). diff --git a/docs/tr/concepts/qa-e2e-automation.md b/docs/tr/concepts/qa-e2e-automation.md index 349127101..d18c6db3c 100644 --- a/docs/tr/concepts/qa-e2e-automation.md +++ b/docs/tr/concepts/qa-e2e-automation.md @@ -1,37 +1,37 @@ --- read_when: - - qa-lab veya qa-channel’ı genişletme + - qa-lab veya qa-channel genişletme - Depo destekli QA senaryoları ekleme - Gateway panosu etrafında daha yüksek gerçekçiliğe sahip QA otomasyonu oluşturma -summary: qa-lab, qa-channel, tohumlu senaryolar ve protokol raporları için özel QA otomasyon yapısı -title: QA Uçtan Uca Otomasyonu +summary: qa-lab, qa-channel, önceden hazırlanmış senaryolar ve protokol raporları için özel QA otomasyonu yapısı +title: QA uçtan uca otomasyonu x-i18n: - generated_at: "2026-04-20T09:03:04Z" + generated_at: "2026-04-23T13:58:00Z" model: gpt-5.4 provider: openai - source_hash: 34245ce871356caeab0d9e0eeeaa9fb4e408920a4a97ad27567fa365d8db17c7 + source_hash: a967a74d2e70b042e9443c5ec954902b820d2e5a22cbecd9be74af13b9085553 source_path: concepts/qa-e2e-automation.md workflow: 15 --- # QA Uçtan Uca Otomasyonu -Özel QA yığını, OpenClaw’ı tek birim testinin yapabileceğinden daha gerçekçi, +Özel QA yığını, OpenClaw’ı tek bir birim testinin yapabileceğinden daha gerçekçi, kanal biçimli bir şekilde çalıştırmak için tasarlanmıştır. Mevcut parçalar: -- `extensions/qa-channel`: DM, kanal, ileti dizisi, - tepki, düzenleme ve silme yüzeylerine sahip sentetik mesaj kanalı. -- `extensions/qa-lab`: transkripti gözlemlemek, - gelen mesajları enjekte etmek ve bir Markdown raporu dışa aktarmak için hata ayıklayıcı arayüzü ve QA veri yolu. +- `extensions/qa-channel`: DM, kanal, ileti dizisi, tepki, + düzenleme ve silme yüzeylerine sahip sentetik mesaj kanalı. +- `extensions/qa-lab`: dökümü gözlemlemek, + gelen mesajları enjekte etmek ve bir Markdown raporu dışa aktarmak için hata ayıklayıcı UI’si ve QA veri yolu. - `qa/`: başlangıç görevi ve temel QA senaryoları için depo destekli tohum varlıklar. Mevcut QA operatörü akışı iki panelli bir QA sitesidir: -- Sol: aracıyla birlikte Gateway panosu (Control UI). -- Sağ: Slack benzeri transkripti ve senaryo planını gösteren QA Lab. +- Sol: ajanla birlikte Gateway panosu (Kontrol UI’si). +- Sağ: Slack benzeri dökümü ve senaryo planını gösteren QA Lab. Bunu şu komutla çalıştırın: @@ -40,12 +40,12 @@ pnpm qa:lab:up ``` Bu, QA sitesini derler, Docker destekli gateway hattını başlatır ve -bir operatörün veya otomasyon döngüsünün aracıya bir QA +bir operatörün veya otomasyon döngüsünün ajana bir QA görevi verebildiği, gerçek kanal davranışını gözlemleyebildiği ve neyin işe yaradığını, neyin başarısız olduğunu veya neyin engelli kaldığını kaydedebildiği QA Lab sayfasını açığa çıkarır. -Docker imajını her seferinde yeniden derlemeden daha hızlı QA Lab UI yinelemesi için, -yığını bağlama ile bağlanmış bir QA Lab paketiyle başlatın: +Docker imajını her seferinde yeniden derlemeden daha hızlı QA Lab UI geliştirmesi için, +yığını bind-mount edilen bir QA Lab paketiyle başlatın: ```bash pnpm openclaw qa docker-build-image @@ -55,108 +55,109 @@ pnpm qa:lab:watch ``` `qa:lab:up:fast`, Docker servislerini önceden derlenmiş bir imaj üzerinde tutar ve -`extensions/qa-lab/web/dist` dizinini `qa-lab` konteynerine bağlama ile bağlar. `qa:lab:watch` -bu paketi değişikliklerde yeniden derler ve QA Lab -varlık karması değiştiğinde tarayıcı otomatik olarak yeniden yüklenir. +`extensions/qa-lab/web/dist` dizinini `qa-lab` konteynerine bind-mount eder. `qa:lab:watch` +bu paketi değişiklik olduğunda yeniden derler ve QA Lab varlık karması değiştiğinde +tarayıcı otomatik olarak yeniden yüklenir. -Taşıma katmanında gerçek bir Matrix smoke hattı için şunu çalıştırın: +Taşıma katmanı açısından gerçek bir Matrix duman testi hattı için şunu çalıştırın: ```bash pnpm openclaw qa matrix ``` -Bu hat, Docker içinde tek kullanımlık bir Tuwunel homeserver sağlar, -geçici sürücü, SUT ve gözlemci kullanıcılarını kaydeder, bir özel oda oluşturur, -ardından gerçek Matrix Plugin’i bir QA gateway alt süreci içinde çalıştırır. Canlı taşıma hattı, -alt süreç yapılandırmasını test edilen taşıma ile sınırlı tutar; böylece Matrix, +Bu hat, Docker içinde atılabilir bir Tuwunel homeserver kurar, geçici +sürücü, SUT ve gözlemci kullanıcılarını kaydeder, bir özel oda oluşturur, ardından +gerçek Matrix plugin’ini bir QA gateway alt süreci içinde çalıştırır. Canlı taşıma hattı, +alt süreç yapılandırmasını test edilen taşımayla sınırlı tutar; bu nedenle Matrix, alt süreç yapılandırmasında `qa-channel` olmadan çalışır. Yapılandırılmış rapor çıktılarını ve -birleşik stdout/stderr günlüğünü seçilen Matrix QA çıktı dizinine yazar. Dıştaki -`scripts/run-node.mjs` derleme/başlatıcı çıktısını da yakalamak için -`OPENCLAW_RUN_NODE_OUTPUT_LOG=` değerini depo içindeki bir günlük dosyasına ayarlayın. +birleştirilmiş stdout/stderr günlüğünü seçilen Matrix QA çıktı dizinine yazar. +Dıştaki `scripts/run-node.mjs` derleme/başlatıcı çıktısını da yakalamak için, +`OPENCLAW_RUN_NODE_OUTPUT_LOG=` değerini depo içi bir günlük dosyasına ayarlayın. -Taşıma katmanında gerçek bir Telegram smoke hattı için şunu çalıştırın: +Taşıma katmanı açısından gerçek bir Telegram duman testi hattı için şunu çalıştırın: ```bash pnpm openclaw qa telegram ``` -Bu hat, tek kullanımlık bir sunucu sağlamak yerine bir gerçek özel Telegram grubunu hedefler. +Bu hat, atılabilir bir sunucu kurmak yerine tek bir gerçek özel Telegram grubunu hedefler. `OPENCLAW_QA_TELEGRAM_GROUP_ID`, `OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN` ve `OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN` gerektirir; ayrıca aynı -özel grupta iki farklı bot gerekir. SUT botunun bir Telegram kullanıcı adı olmalıdır ve -bottan bota gözlem, her iki botta da Bot-to-Bot Communication Mode -özelliği `@BotFather` içinde etkinleştirildiğinde en iyi şekilde çalışır. -Herhangi bir senaryo başarısız olduğunda komut sıfır olmayan bir kodla çıkar. Başarısız çıkan bir kod olmadan -çıktı almak istediğinizde `--allow-failures` kullanın. +özel grupta iki farklı bot gerekir. SUT botunun bir Telegram kullanıcı adına sahip olması gerekir ve +botlar arası gözlem, her iki botta da +`@BotFather` içinde Bot-to-Bot Communication Mode etkin olduğunda en iyi şekilde çalışır. +Herhangi bir senaryo başarısız olduğunda komut sıfır olmayan bir çıkış koduyla sonlanır. +Başarısız çıkış kodu olmadan çıktı almak istediğinizde `--allow-failures` kullanın. +Telegram raporu ve özeti, kanaryadan başlayarak sürücü mesajı +gönderme isteğinden gözlemlenen SUT yanıtına kadar her yanıt için RTT’yi içerir. Canlı taşıma hatları artık her birinin kendi senaryo listesi biçimini icat etmesi yerine -tek ve daha küçük bir sözleşmeyi paylaşır: +tek bir daha küçük sözleşmeyi paylaşır: -`qa-channel`, geniş sentetik ürün davranışı paketidir ve canlı taşıma kapsama matrisinin -bir parçası değildir. +`qa-channel`, geniş sentetik ürün davranışı paketi olarak kalır ve +canlı taşıma kapsam matrisinin parçası değildir. -| Hat | Canary | Mention gating | Allowlist block | Üst düzey yanıt | Yeniden başlatma sonrası sürdürme | İleti dizisi takibi | İleti dizisi yalıtımı | Tepki gözlemi | Yardım komutu | -| -------- | ------ | -------------- | --------------- | --------------- | --------------------------------- | ------------------- | -------------------- | ------------- | ------------- | -| Matrix | x | x | x | x | x | x | x | x | | -| Telegram | x | | | | | | | | x | +| Hat | Kanarya | Mention gating | İzin listesi engeli | Üst düzey yanıt | Yeniden başlatma sonrası sürdürme | İleti dizisi devamı | İleti dizisi yalıtımı | Tepki gözlemi | Yardım komutu | +| -------- | ------- | -------------- | ------------------- | --------------- | --------------------------------- | ------------------- | --------------------- | ------------- | ------------- | +| Matrix | x | x | x | x | x | x | x | x | | +| Telegram | x | | | | | | | | x | -Bu, `qa-channel`’ı geniş ürün davranışı paketi olarak korurken Matrix, -Telegram ve gelecekteki canlı taşıma katmanlarının tek bir açık taşıma-sözleşmesi -kontrol listesini paylaşmasını sağlar. +Bu, `qa-channel`ı geniş ürün davranışı paketi olarak tutarken Matrix, +Telegram ve gelecekteki canlı taşımaların açık bir taşıma sözleşmesi kontrol listesini paylaşmasını sağlar. -QA yoluna Docker’ı dahil etmeden tek kullanımlık bir Linux VM hattı için şunu çalıştırın: +Docker’ı QA yoluna dahil etmeden atılabilir bir Linux VM hattı için şunu çalıştırın: ```bash pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline ``` -Bu, yeni bir Multipass konuğunu başlatır, bağımlılıkları kurar, konuğun içinde OpenClaw’ı derler, -`qa suite` komutunu çalıştırır, ardından normal QA raporunu ve -özeti konuğun içinden ana makinedeki `.artifacts/qa-e2e/...` dizinine geri kopyalar. +Bu, yeni bir Multipass konuğu başlatır, bağımlılıkları kurar, OpenClaw’ı konuğun içinde derler, +`qa suite` çalıştırır, ardından normal QA raporunu ve +özetini ana makinede `.artifacts/qa-e2e/...` içine geri kopyalar. Bu, ana makinedeki `qa suite` ile aynı senaryo seçimi davranışını yeniden kullanır. -Ana makine ve Multipass suite çalıştırmaları, varsayılan olarak yalıtılmış gateway worker’ları ile -seçilen birden fazla senaryoyu paralel olarak yürütür. `qa-channel` için varsayılan eşzamanlılık 4’tür -ve seçilen senaryo sayısıyla sınırlandırılır. Worker sayısını ayarlamak için -`--concurrency `, seri yürütme için ise `--concurrency 1` kullanın. -Herhangi bir senaryo başarısız olduğunda komut sıfır olmayan bir kodla çıkar. Başarısız çıkan bir kod olmadan -çıktı almak istediğinizde `--allow-failures` kullanın. +Ana makine ve Multipass paket çalıştırmaları, varsayılan olarak yalıtılmış gateway çalışanlarıyla +birden fazla seçili senaryoyu paralel olarak yürütür. `qa-channel` varsayılan olarak +4 eşzamanlılığa sahiptir ve seçilen senaryo sayısıyla sınırlandırılır. Çalışan sayısını ayarlamak için +`--concurrency ` veya seri yürütme için `--concurrency 1` kullanın. +Herhangi bir senaryo başarısız olduğunda komut sıfır olmayan bir çıkış koduyla sonlanır. +Başarısız çıkış kodu olmadan çıktı almak istediğinizde `--allow-failures` kullanın. Canlı çalıştırmalar, konuk için pratik olan desteklenen QA kimlik doğrulama girdilerini iletir: ortam değişkeni tabanlı sağlayıcı anahtarları, QA canlı sağlayıcı yapılandırma yolu ve -mevcutsa `CODEX_HOME`. Konuğun bağlanmış çalışma alanı üzerinden geri yazabilmesi için +varsa `CODEX_HOME`. Konuğun bağlanan çalışma alanı üzerinden geri yazabilmesi için `--output-dir` değerini depo kökü altında tutun. ## Depo destekli tohumlar -Tohum varlıkları `qa/` içinde bulunur: +Tohum varlıklar `qa/` altında bulunur: - `qa/scenarios/index.md` - `qa/scenarios//*.md` Bunlar kasıtlı olarak git içinde tutulur; böylece QA planı hem insanlar hem de -aracı tarafından görülebilir. +ajan tarafından görünür olur. `qa-lab` genel amaçlı bir markdown çalıştırıcısı olarak kalmalıdır. Her senaryo markdown dosyası, -tek bir test çalıştırmasının kaynak doğrusu olmalı ve şunları tanımlamalıdır: +tek bir test çalıştırmasının doğruluk kaynağıdır ve şunları tanımlamalıdır: - senaryo meta verileri - isteğe bağlı kategori, yetenek, hat ve risk meta verileri -- doküman ve kod referansları +- belge ve kod referansları - isteğe bağlı Plugin gereksinimleri - isteğe bağlı gateway yapılandırma yaması - yürütülebilir `qa-flow` -`qa-flow`’u destekleyen yeniden kullanılabilir çalışma zamanı yüzeyi, -genel ve kesitler arası kalabilir. Örneğin markdown senaryoları, -özel durumlu bir çalıştırıcı eklemeden, gömülü Control UI’ı -Gateway `browser.request` sınırı üzerinden yöneten tarayıcı tarafı yardımcılarla -taşıma tarafı yardımcılarını birleştirebilir. +`qa-flow`u destekleyen yeniden kullanılabilir çalışma zamanı yüzeyinin genel amaçlı ve +yatay kesen bir yapıda kalmasına izin verilir. Örneğin markdown senaryoları, +özel durumlu bir çalıştırıcı eklemeden, gömülü Kontrol UI’sini +Gateway `browser.request` bağlantı noktası üzerinden süren tarayıcı tarafı yardımcılarla birlikte +taşıma tarafı yardımcıları birleştirebilir. -Senaryo dosyaları kaynak ağacı klasörüne göre değil, ürün yeteneğine göre gruplanmalıdır. +Senaryo dosyaları kaynak ağacı klasörüne göre değil, ürün yeteneğine göre gruplandırılmalıdır. Dosyalar taşındığında senaryo kimliklerini sabit tutun; uygulama izlenebilirliği için `docsRefs` ve `codeRefs` kullanın. -Temel liste aşağıdakileri kapsayacak kadar geniş kalmalıdır: +Temel liste, aşağıdakileri kapsayacak kadar geniş kalmalıdır: - DM ve kanal sohbeti - ileti dizisi davranışı @@ -164,40 +165,40 @@ Temel liste aşağıdakileri kapsayacak kadar geniş kalmalıdır: - Cron geri çağrıları - bellekten geri çağırma - model değiştirme -- alt aracı devri -- depoyu okuma ve doküman okuma +- alt ajan devri +- depo okuma ve belge okuma - Lobster Invaders gibi küçük bir derleme görevi ## Sağlayıcı sahte hatları `qa suite` iki yerel sağlayıcı sahte hattına sahiptir: -- `mock-openai`, senaryo farkındalığına sahip OpenClaw sahtesidir. Depo destekli QA ve - eşdeğerlik kapıları için varsayılan deterministik sahte hat olarak kalır. +- `mock-openai`, senaryo farkındalığı olan OpenClaw sahtesidir. Depo destekli QA ve eşlik denetimleri için + varsayılan deterministik sahte hat olmaya devam eder. - `aimock`, deneysel protokol, - fikstür, kaydet/yeniden oynat ve kaos kapsamı için AIMock destekli bir sağlayıcı sunucusu başlatır. - Bu ek niteliğindedir ve `mock-openai` senaryo yönlendiricisinin yerini almaz. + fixture, kayıt/yeniden oynatma ve kaos kapsamı için AIMock destekli bir sağlayıcı sunucusu başlatır. Bu ek niteliğindedir ve + `mock-openai` senaryo dağıtıcısının yerini almaz. Sağlayıcı hattı uygulaması `extensions/qa-lab/src/providers/` altında bulunur. -Her sağlayıcı; varsayılanlarına, yerel sunucu başlatmasına, gateway model yapılandırmasına, -auth-profile hazırlama gereksinimlerine ve canlı/sahte yetenek işaretlerine sahiptir. Ortak suite ve +Her sağlayıcı kendi varsayılanlarına, yerel sunucu başlatmasına, gateway model yapılandırmasına, +auth-profile hazırlık gereksinimlerine ve canlı/sahte yetenek işaretlerine sahiptir. Paylaşılan paket ve gateway kodu, sağlayıcı adlarına göre dallanmak yerine sağlayıcı kayıt defteri üzerinden yönlendirme yapmalıdır. ## Taşıma bağdaştırıcıları -`qa-lab`, markdown QA senaryoları için genel bir taşıma sınırına sahiptir. -`qa-channel`, bu sınırdaki ilk bağdaştırıcıdır; ancak tasarım hedefi daha geniştir: -gelecekteki gerçek veya sentetik kanallar, taşıma katmanına özgü bir QA çalıştırıcısı eklemek yerine -aynı suite çalıştırıcısına takılabilmelidir. +`qa-lab`, markdown QA senaryoları için genel amaçlı bir taşıma bağlantı noktası sahibi olur. +`qa-channel` bu bağlantı noktasındaki ilk bağdaştırıcıdır, ancak tasarım hedefi daha geniştir: +gelecekteki gerçek veya sentetik kanallar, taşımaya özgü bir QA çalıştırıcısı eklemek yerine +aynı paket çalıştırıcısına takılmalıdır. -Mimari düzeyde ayrım şu şekildedir: +Mimari düzeyde ayrım şöyledir: -- `qa-lab`, genel senaryo yürütme, worker eşzamanlılığı, çıktı yazma ve raporlamadan sorumludur. -- taşıma bağdaştırıcısı; gateway yapılandırması, hazır olma durumu, gelen ve giden gözlem, taşıma eylemleri ve normalize edilmiş taşıma durumundan sorumludur. -- `qa/scenarios/` altındaki markdown senaryo dosyaları test çalıştırmasını tanımlar; bunları yürüten yeniden kullanılabilir çalışma zamanı yüzeyini `qa-lab` sağlar. +- `qa-lab`, genel senaryo yürütme, çalışan eşzamanlılığı, çıktı yazımı ve raporlamanın sahibidir. +- taşıma bağdaştırıcısı, gateway yapılandırması, hazır olma durumu, gelen ve giden gözlem, taşıma eylemleri ve normalize edilmiş taşıma durumunun sahibidir. +- `qa/scenarios/` altındaki markdown senaryo dosyaları test çalıştırmasını tanımlar; `qa-lab`, bunları yürüten yeniden kullanılabilir çalışma zamanı yüzeyini sağlar. -Yeni kanal bağdaştırıcıları için bakımcıya yönelik benimseme yönergeleri -[Testing](/tr/help/testing#adding-a-channel-to-qa) bölümünde bulunur. +Yeni kanal bağdaştırıcıları için bakımcı odaklı benimseme rehberi +[Testing](/tr/help/testing#adding-a-channel-to-qa) içinde yer alır. ## Raporlama @@ -207,10 +208,10 @@ Rapor şu sorulara yanıt vermelidir: - Ne işe yaradı - Ne başarısız oldu - Ne engelli kaldı -- Hangi takip senaryolarını eklemeye değer +- Hangi takip senaryolarını eklemek faydalı olur -Karakter ve üslup kontrolleri için, aynı senaryoyu birden çok canlı model -referansı üzerinde çalıştırın ve değerlendirilen bir Markdown raporu yazın: +Karakter ve stil kontrolleri için, aynı senaryoyu birden fazla canlı model +referansı üzerinde çalıştırın ve değerlendirilmiş bir Markdown raporu yazın: ```bash pnpm openclaw qa character-eval \ @@ -230,39 +231,39 @@ pnpm openclaw qa character-eval \ ``` Komut, Docker değil, yerel QA gateway alt süreçlerini çalıştırır. Karakter değerlendirme -senaryoları kişiliği `SOUL.md` üzerinden ayarlamalı, ardından sohbet, -çalışma alanı yardımı ve küçük dosya görevleri gibi sıradan kullanıcı turlarını yürütmelidir. Aday modele -değerlendirildiği söylenmemelidir. Komut her tam transkripti korur, +senaryoları personayı `SOUL.md` üzerinden ayarlamalı, ardından sohbet, çalışma alanı yardımı +ve küçük dosya görevleri gibi sıradan kullanıcı dönüşlerini çalıştırmalıdır. Aday modele +değerlendirildiği söylenmemelidir. Komut, her tam dökümü korur, temel çalışma istatistiklerini kaydeder, ardından değerlendirme modellerinden hızlı modda -`xhigh` akıl yürütme ile çalıştırmaları doğallık, hava ve mizaha göre sıralamalarını ister. +`xhigh` muhakeme ile doğal olma, hava ve mizaha göre çalıştırmaları sıralamalarını ister. Sağlayıcıları karşılaştırırken `--blind-judge-models` kullanın: değerlendirme istemi yine de -her transkripti ve çalışma durumunu alır, ancak aday referansları -`candidate-01` gibi nötr etiketlerle değiştirilir; rapor ayrıştırma sonrasında sıralamaları gerçek referanslarla eşler. +her dökümü ve çalışma durumunu alır, ancak aday referansları `candidate-01` gibi +nötr etiketlerle değiştirilir; rapor, ayrıştırmadan sonra sıralamaları gerçek referanslara geri eşler. Aday çalıştırmalar varsayılan olarak `high` düşünme düzeyini kullanır; bunu destekleyen OpenAI modelleri için `xhigh` kullanılır. Belirli bir adayı satır içinde -`--model provider/model,thinking=` ile geçersiz kılın. `--thinking ` hâlâ genel -yedek değeri ayarlar ve eski `--model-thinking ` biçimi +`--model provider/model,thinking=` ile geçersiz kılın. `--thinking ` yine de +genel bir yedek ayarlar ve eski `--model-thinking ` biçimi uyumluluk için korunur. -OpenAI aday referansları varsayılan olarak hızlı modu kullanır; böylece sağlayıcının desteklediği yerlerde -öncelikli işleme kullanılır. Tek bir aday veya değerlendirici için geçersiz kılma gerektiğinde -satır içinde `,fast`, `,no-fast` veya `,fast=false` ekleyin. Yalnızca her aday model için -hızlı modu zorla açmak istediğinizde `--fast` geçin. Aday ve değerlendirici süreleri -kıyaslama analizi için rapora kaydedilir, ancak değerlendirici istemleri açıkça +OpenAI aday referansları varsayılan olarak hızlı mod kullanır; böylece sağlayıcının desteklediği yerlerde +öncelikli işleme kullanılır. Tek bir adayın veya değerlendiricinin geçersiz kılınması gerektiğinde +satır içinde `,fast`, `,no-fast` veya `,fast=false` ekleyin. Hızlı modu +her aday model için zorla açmak istediğinizde yalnızca `--fast` geçin. Kıyaslama analizi için +aday ve değerlendirici süreleri rapora kaydedilir, ancak değerlendirme istemleri açıkça hıza göre sıralama yapılmamasını söyler. -Aday ve değerlendirici model çalıştırmaları varsayılan olarak 16 eşzamanlılık kullanır. -Sağlayıcı sınırları veya yerel gateway baskısı bir çalıştırmayı çok gürültülü hâle getiriyorsa +Aday ve değerlendirici model çalıştırmaları varsayılan olarak 16 eşzamanlılık kullanır. Sağlayıcı sınırları +veya yerel gateway yükü bir çalıştırmayı fazla gürültülü hale getiriyorsa `--concurrency` veya `--judge-concurrency` değerini düşürün. -Aday `--model` geçirilmediğinde karakter değerlendirmesi varsayılan olarak +Aday `--model` geçirilmediğinde, karakter değerlendirmesi varsayılan olarak `openai/gpt-5.4`, `openai/gpt-5.2`, `openai/gpt-5`, `anthropic/claude-opus-4-6`, `anthropic/claude-sonnet-4-6`, `zai/glm-5.1`, `moonshot/kimi-k2.5` ve `google/gemini-3.1-pro-preview` kullanır. -Değerlendirici `--judge-model` geçirilmediğinde değerlendiriciler varsayılan olarak +Değerlendirici `--judge-model` geçirilmediğinde, değerlendiriciler varsayılan olarak `openai/gpt-5.4,thinking=xhigh,fast` ve -`anthropic/claude-opus-4-6,thinking=high` kullanır. +`anthropic/claude-opus-4-6,thinking=high` olur. -## İlgili dokümanlar +## İlgili belgeler - [Testing](/tr/help/testing) - [QA Channel](/tr/channels/qa-channel) -- [Dashboard](/web/dashboard) +- [Dashboard](/tr/web/dashboard) diff --git a/docs/tr/help/testing.md b/docs/tr/help/testing.md index 0d22b7b17..0cd09e93c 100644 --- a/docs/tr/help/testing.md +++ b/docs/tr/help/testing.md @@ -1,29 +1,29 @@ --- read_when: - - Testleri yerelde veya CI'da çalıştırma + - Testleri yerel olarak veya CI'da çalıştırma - Model/sağlayıcı hataları için regresyonlar ekleme - - Gateway + agent davranışını ayıklama + - Gateway + agent davranışında hata ayıklama summary: 'Test kiti: unit/e2e/live paketleri, Docker çalıştırıcıları ve her testin kapsadıkları' title: Test etme x-i18n: - generated_at: "2026-04-23T09:04:20Z" + generated_at: "2026-04-23T13:58:04Z" model: gpt-5.4 provider: openai - source_hash: 647367fd0c3ea81bc3e8a7702c4a462cf4b9634989818f53153558edcf2218c1 + source_hash: fe0e9bdea78cba7e512358d2e4d428da04a2071188e74af2d5419d2c85eafe15 source_path: help/testing.md workflow: 15 --- -# Test etme +# Test Etme -OpenClaw'da üç Vitest paketi (unit/integration, e2e, live) ve küçük bir Docker çalıştırıcı kümesi vardır. +OpenClaw üç Vitest paketine (unit/integration, e2e, live) ve küçük bir Docker çalıştırıcıları kümesine sahiptir. -Bu belge bir “nasıl test ediyoruz” kılavuzudur: +Bu doküman, “nasıl test ediyoruz” rehberidir: -- Her paketin neleri kapsadığı (ve kasıtlı olarak neleri kapsamadığı) +- Her paketin neyi kapsadığı (ve özellikle neyi kapsamadığı) - Yaygın iş akışları için hangi komutların çalıştırılacağı (yerel, push öncesi, hata ayıklama) - Live testlerin kimlik bilgilerini nasıl bulduğu ve model/sağlayıcıları nasıl seçtiği -- Gerçek dünya model/sağlayıcı sorunları için nasıl regresyon ekleneceği +- Gerçek dünya model/sağlayıcı sorunları için regresyonların nasıl ekleneceği ## Hızlı başlangıç @@ -33,7 +33,7 @@ Bu belge bir “nasıl test ediyoruz” kılavuzudur: - Geniş kaynaklı bir makinede daha hızlı yerel tam paket çalıştırması: `pnpm test:max` - Doğrudan Vitest izleme döngüsü: `pnpm test:watch` - Doğrudan dosya hedefleme artık extension/channel yollarını da yönlendirir: `pnpm test extensions/discord/src/monitor/message-handler.preflight.test.ts` -- Tek bir hata üzerinde yineleme yapıyorsanız önce hedeflenmiş çalıştırmaları tercih edin. +- Tek bir hata üzerinde yineleme yapıyorsanız önce hedefli çalıştırmaları tercih edin. - Docker destekli QA sitesi: `pnpm qa:lab:up` - Linux VM destekli QA hattı: `pnpm openclaw qa suite --runner multipass --scenario channel-chat-baseline` @@ -42,149 +42,132 @@ Testlere dokunduğunuzda veya ek güven istediğinizde: - Kapsama geçidi: `pnpm test:coverage` - E2E paketi: `pnpm test:e2e` -Gerçek sağlayıcıları/modelleri ayıklarken (gerçek kimlik bilgileri gerekir): +Gerçek sağlayıcılar/modeller üzerinde hata ayıklarken (gerçek kimlik bilgileri gerekir): -- Live paketi (modeller + gateway tool/image probe'ları): `pnpm test:live` +- Live paketi (modeller + Gateway araç/görüntü yoklamaları): `pnpm test:live` - Tek bir live dosyasını sessizce hedefleyin: `pnpm test:live -- src/agents/models.profiles.live.test.ts` - Docker live model taraması: `pnpm test:docker:live-models` - - CI kapsamı: günlük `OpenClaw Scheduled Live And E2E Checks` ve elle - çalıştırılan `OpenClaw Release Checks`, ikisi de - `include_live_suites: true` ile yeniden kullanılabilir live/E2E iş akışını çağırır; buna - sağlayıcıya göre shard edilmiş ayrı Docker live model - matrix işleri dahildir. + - CI kapsamı: günlük `OpenClaw Scheduled Live And E2E Checks` ve manuel + `OpenClaw Release Checks`, her ikisi de yeniden kullanılabilir live/E2E iş akışını + `include_live_suites: true` ile çağırır; buna sağlayıcıya göre parçalara ayrılmış + ayrı Docker live model matris işleri dahildir. - Odaklı CI yeniden çalıştırmaları için `OpenClaw Live And E2E Checks (Reusable)` - iş akışını `include_live_suites: true` ve `live_models_only: true` - ile tetikleyin. + iş akışını `include_live_suites: true` ve `live_models_only: true` ile tetikleyin. - Yeni yüksek sinyalli sağlayıcı sırlarını `scripts/ci-hydrate-live-auth.sh` - dosyasına ve `.github/workflows/openclaw-live-and-e2e-checks-reusable.yml` ile onun - schedule/release çağıranlarına ekleyin. -- Moonshot/Kimi maliyet smoke testi: `MOONSHOT_API_KEY` ayarlıysa - `openclaw models list --provider moonshot --json` çalıştırın, ardından + dosyasına ve ayrıca `.github/workflows/openclaw-live-and-e2e-checks-reusable.yml` + ile onun zamanlanmış/sürüm çağıranlarına ekleyin. +- Moonshot/Kimi maliyet smoke testi: `MOONSHOT_API_KEY` ayarlıysa, + `openclaw models list --provider moonshot --json` komutunu çalıştırın, ardından `moonshot/kimi-k2.6` üzerinde yalıtılmış bir `openclaw agent --local --session-id live-kimi-cost --message 'Reply exactly: KIMI_LIVE_OK' --thinking off --json` - çalıştırması yapın. JSON çıktısının Moonshot/K2.6 bildirdiğini ve - assistant transkriptinin normalize edilmiş `usage.cost` depoladığını - doğrulayın. + çalıştırın. JSON çıktısının Moonshot/K2.6 bildirdiğini ve assistant dökümünün normalize edilmiş `usage.cost` sakladığını doğrulayın. -İpucu: yalnızca tek bir başarısız olguya ihtiyacınız varsa, aşağıda açıklanan allowlist env değişkenleriyle live testleri daraltmayı tercih edin. +İpucu: Yalnızca tek bir başarısız duruma ihtiyacınız olduğunda, aşağıda açıklanan allowlist ortam değişkenleriyle live testleri daraltmayı tercih edin. ## QA'ya özgü çalıştırıcılar QA-lab gerçekçiliğine ihtiyaç duyduğunuzda bu komutlar ana test paketlerinin yanında yer alır: -CI, QA Lab'ı ayrılmış iş akışlarında çalıştırır. `Parity gate`, eşleşen PR'lerde ve -mock sağlayıcılarla elle tetiklemede çalışır. `QA-Lab - All Lanes`, geceleyin -`main` üzerinde ve mock parity gate, live Matrix hattı ve -Convex tarafından yönetilen live Telegram hattı paralel işler olarak elle tetiklemede çalışır. `OpenClaw Release Checks` -yayın onayından önce aynı hatları çalıştırır. +CI, QA Lab'ı özel iş akışlarında çalıştırır. `Parity gate`, eşleşen PR'lerde ve +manuel tetikleme ile sahte sağlayıcılarla çalışır. `QA-Lab - All Lanes`, `main` +üzerinde gecelik olarak ve manuel tetikleme ile sahte parity gate, live Matrix hattı +ve Convex tarafından yönetilen live Telegram hattını paralel işler olarak çalıştırır. +`OpenClaw Release Checks`, sürüm onayından önce aynı hatları çalıştırır. - `pnpm openclaw qa suite` - - Depo destekli QA senaryolarını doğrudan ana makinede çalıştırır. - - Varsayılan olarak birden çok seçili senaryoyu yalıtılmış - gateway worker'ları ile paralel çalıştırır. `qa-channel` varsayılan olarak eşzamanlılık 4 kullanır (seçilen senaryo sayısıyla sınırlıdır). Worker - sayısını ayarlamak için `--concurrency `, eski seri hat içinse - `--concurrency 1` kullanın. - - Herhangi bir senaryo başarısız olduğunda sıfır dışı kodla çıkar. Başarısız çıkış kodu olmadan artifact istiyorsanız `--allow-failures` kullanın. + - Repo destekli QA senaryolarını doğrudan ana makinede çalıştırır. + - Birden çok seçili senaryoyu varsayılan olarak yalıtılmış Gateway çalışanlarıyla paralel çalıştırır. `qa-channel` varsayılan olarak eşzamanlılık 4 kullanır (seçilen senaryo sayısıyla sınırlıdır). Çalışan sayısını ayarlamak için `--concurrency `, eski seri hat için ise `--concurrency 1` kullanın. + - Herhangi bir senaryo başarısız olduğunda sıfır olmayan çıkış kodu verir. Başarısız çıkış kodu olmadan artifact istediğinizde `--allow-failures` kullanın. - `live-frontier`, `mock-openai` ve `aimock` sağlayıcı modlarını destekler. - `aimock`, deneysel fixture ve protocol-mock kapsamı için yerel bir AIMock destekli - sağlayıcı sunucusu başlatır; bu, senaryo farkındalıklı - `mock-openai` hattının yerini almaz. + `aimock`, deneysel fixture ve protokol-mock kapsamı için yerel AIMock destekli + bir sağlayıcı sunucusu başlatır; ancak senaryo farkındalıklı `mock-openai` + hattının yerini almaz. - `pnpm openclaw qa suite --runner multipass` - - Aynı QA paketini geçici bir Multipass Linux VM içinde çalıştırır. + - Aynı QA paketini tek kullanımlık bir Multipass Linux VM içinde çalıştırır. - Ana makinedeki `qa suite` ile aynı senaryo seçimi davranışını korur. - `qa suite` ile aynı sağlayıcı/model seçim bayraklarını yeniden kullanır. - - Live çalıştırmalar, misafir için pratik olan desteklenen QA auth girdilerini iletir: - env tabanlı sağlayıcı anahtarları, QA live sağlayıcı config yolu ve varsa `CODEX_HOME`. - - Çıktı dizinleri depo kökünün altında kalmalıdır ki misafir - bağlanmış çalışma alanı üzerinden geri yazabilsin. - - Normal QA raporunu + özeti ve Multipass günlüklerini + - Live çalıştırmalar, konuk için pratik olan desteklenen QA kimlik doğrulama girdilerini iletir: + ortam tabanlı sağlayıcı anahtarları, QA live sağlayıcı yapılandırma yolu ve + varsa `CODEX_HOME`. + - Çıktı dizinleri depo kökü altında kalmalıdır; böylece konuk, bağlanmış çalışma alanı üzerinden geri yazabilir. + - Normal QA raporu + özeti ile birlikte Multipass günlüklerini `.artifacts/qa-e2e/...` altına yazar. - `pnpm qa:lab:up` - Operatör tarzı QA çalışmaları için Docker destekli QA sitesini başlatır. - `pnpm test:docker:npm-onboard-channel-agent` - - Geçerli checkout'tan bir npm tarball oluşturur, bunu Docker içinde global kurar, - etkileşimsiz OpenAI API anahtarı onboarding çalıştırır, varsayılan olarak Telegram - yapılandırır, Plugin etkinleştirmenin çalışma zamanı bağımlılıklarını gerektiğinde kurduğunu doğrular, - doctor çalıştırır ve mock bir OpenAI - uç noktasına karşı bir yerel agent turu çalıştırır. - - Aynı paketlenmiş-kurulum hattını Discord ile çalıştırmak için `OPENCLAW_NPM_ONBOARD_CHANNEL=discord` kullanın. + - Geçerli checkout'tan bir npm tarball oluşturur, bunu Docker içinde global olarak kurar, etkileşimsiz OpenAI API anahtarı onboarding çalıştırır, varsayılan olarak Telegram yapılandırır, plugin etkinleştirmenin çalışma zamanı bağımlılıklarını gerektiğinde kurduğunu doğrular, doctor çalıştırır ve sahte bir OpenAI endpoint'ine karşı bir yerel agent dönüşü çalıştırır. + - Aynı paketlenmiş kurulum hattını Discord ile çalıştırmak için `OPENCLAW_NPM_ONBOARD_CHANNEL=discord` kullanın. - `pnpm test:docker:bundled-channel-deps` - - Geçerli OpenClaw derlemesini Docker içinde paketler ve kurar, OpenAI - yapılandırılmış halde Gateway'i başlatır, sonra paketlenmiş kanal/Plugin'leri config - düzenlemeleriyle etkinleştirir. - - Kurulum keşfinin yapılandırılmamış Plugin çalışma zamanı bağımlılıklarını - yok durumda bıraktığını, ilk yapılandırılmış Gateway veya doctor çalıştırmasının her paketlenmiş - Plugin'in çalışma zamanı bağımlılıklarını gerektiğinde kurduğunu ve ikinci bir yeniden başlatmanın - zaten etkinleştirilmiş bağımlılıkları yeniden kurmadığını doğrular. - - Ayrıca bilinen daha eski bir npm temelini kurar, Telegram'ı etkinleştirip - sonra `openclaw update --tag ` çalıştırır ve adayın - güncelleme sonrası doctor onarımının paketlenmiş kanal çalışma zamanı bağımlılıklarını - harness tarafında bir postinstall onarımı olmadan düzelttiğini doğrular. + - Geçerli OpenClaw yapısını Docker içinde paketler ve kurar, OpenAI yapılandırılmış şekilde Gateway'i başlatır, ardından config düzenlemeleriyle paketlenmiş channel/plugin'leri etkinleştirir. + - Kurulum keşfinin yapılandırılmamış plugin çalışma zamanı bağımlılıklarını eksik bıraktığını, ilk yapılandırılmış Gateway veya doctor çalıştırmasının her paketlenmiş plugin'in çalışma zamanı bağımlılıklarını gerektiğinde kurduğunu ve ikinci yeniden başlatmanın zaten etkinleştirilmiş bağımlılıkları yeniden kurmadığını doğrular. + - Ayrıca bilinen daha eski bir npm taban sürümünü kurar, Telegram'ı etkinleştirir, sonra + `openclaw update --tag ` çalıştırır ve aday sürümün + güncelleme sonrası doctor çalıştırmasının paketlenmiş channel çalışma zamanı + bağımlılıklarını harness tarafı bir postinstall onarımı olmadan düzelttiğini doğrular. - `pnpm openclaw qa aimock` - - Doğrudan protocol smoke - testi için yalnızca yerel AIMock sağlayıcı sunucusunu başlatır. + - Doğrudan protokol smoke testi için yalnızca yerel AIMock sağlayıcı sunucusunu başlatır. - `pnpm openclaw qa matrix` - - Matrix live QA hattını geçici Docker destekli bir Tuwunel homeserver'a karşı çalıştırır. - - Bu QA ana makinesi şu anda yalnızca repo/dev içindir. Paketlenmiş OpenClaw kurulumları - `qa-lab` göndermez, bu yüzden `openclaw qa` sunmaz. - - Repo checkout'ları paketlenmiş çalıştırıcıyı doğrudan yükler; ayrı bir Plugin kurulum adımı gerekmez. - - Üç geçici Matrix kullanıcısı (`driver`, `sut`, `observer`) ve bir özel oda sağlar, ardından gerçek Matrix Plugin'i SUT taşıma katmanı olarak kullanan bir QA gateway alt süreci başlatır. + - Matrix live QA hattını, tek kullanımlık Docker destekli bir Tuwunel homeserver'a karşı çalıştırır. + - Bu QA ana makinesi bugün yalnızca repo/geliştirme içindir. Paketlenmiş OpenClaw kurulumları `qa-lab` göndermez, dolayısıyla `openclaw qa` sunmaz. + - Repo checkout'ları paketlenmiş çalıştırıcıyı doğrudan yükler; ayrı bir plugin kurulum adımı gerekmez. + - Üç geçici Matrix kullanıcısı (`driver`, `sut`, `observer`) ile bir özel oda oluşturur, ardından gerçek Matrix plugin'ini SUT taşıması olarak kullanan bir QA gateway alt süreci başlatır. - Varsayılan olarak sabitlenmiş kararlı Tuwunel imajı `ghcr.io/matrix-construct/tuwunel:v1.5.1` kullanılır. Farklı bir imajı test etmeniz gerektiğinde `OPENCLAW_QA_MATRIX_TUWUNEL_IMAGE` ile geçersiz kılın. - - Matrix, hat geçici kullanıcıları yerelde sağladığı için paylaşılan kimlik bilgisi kaynağı bayrakları sunmaz. - - Bir Matrix QA raporu, özet, gözlemlenen olaylar artifact'ı ve birleştirilmiş stdout/stderr çıktı günlüğünü `.artifacts/qa-e2e/...` altına yazar. + - Matrix, hat tek kullanımlık kullanıcıları yerelde oluşturduğu için paylaşılan kimlik bilgisi kaynağı bayraklarını açığa çıkarmaz. + - Bir Matrix QA raporu, özeti, gözlemlenen olaylar artifact'i ve birleşik stdout/stderr çıktı günlüğünü `.artifacts/qa-e2e/...` altına yazar. - `pnpm openclaw qa telegram` - - Telegram live QA hattını, env içindeki driver ve SUT bot token'larını kullanarak gerçek bir özel gruba karşı çalıştırır. + - Telegram live QA hattını, ortamdan alınan driver ve SUT bot token'larıyla gerçek bir özel gruba karşı çalıştırır. - `OPENCLAW_QA_TELEGRAM_GROUP_ID`, `OPENCLAW_QA_TELEGRAM_DRIVER_BOT_TOKEN` ve `OPENCLAW_QA_TELEGRAM_SUT_BOT_TOKEN` gerektirir. Grup kimliği sayısal Telegram sohbet kimliği olmalıdır. - - Paylaşılan havuzlanmış kimlik bilgileri için `--credential-source convex` destekler. Varsayılan olarak env modunu kullanın veya havuzlanmış kiralamalara katılmak için `OPENCLAW_QA_CREDENTIAL_SOURCE=convex` ayarlayın. - - Herhangi bir senaryo başarısız olduğunda sıfır dışı kodla çıkar. Başarısız çıkış kodu olmadan artifact istiyorsanız `--allow-failures` kullanın. + - Paylaşılan havuz kimlik bilgileri için `--credential-source convex` desteklenir. Varsayılan olarak env modunu kullanın veya havuzlanmış kiralamalara geçmek için `OPENCLAW_QA_CREDENTIAL_SOURCE=convex` ayarlayın. + - Herhangi bir senaryo başarısız olduğunda sıfır olmayan çıkış kodu verir. Başarısız çıkış kodu olmadan artifact istediğinizde `--allow-failures` kullanın. - Aynı özel grupta iki farklı bot gerektirir; SUT botu bir Telegram kullanıcı adı sunmalıdır. - - Kararlı bottan-bota gözlem için her iki botta da `@BotFather` içinde Bot-to-Bot Communication Mode'u etkinleştirin ve driver botun grup bot trafiğini gözlemleyebildiğinden emin olun. - - Bir Telegram QA raporu, özet ve gözlemlenen mesajlar artifact'ını `.artifacts/qa-e2e/...` altına yazar. + - Kararlı bottan-bota gözlem için, `@BotFather` içinde her iki bot için de Bot-to-Bot Communication Mode'u etkinleştirin ve driver botunun grup bot trafiğini gözlemleyebildiğinden emin olun. + - `.artifacts/qa-e2e/...` altında bir Telegram QA raporu, özeti ve gözlemlenen mesajlar artifact'i yazar. Yanıt senaryoları, driver gönderme isteğinden gözlemlenen SUT yanıtına kadar RTT'yi içerir. -Live taşıma hatları tek bir standart sözleşmeyi paylaşır; böylece yeni taşıma katmanları sapmaz: +Live taşıma hatları tek bir standart sözleşmeyi paylaşır; böylece yeni taşımalar sapmaz: -`qa-channel` geniş sentetik QA paketi olarak kalır ve live -taşıma kapsam matriksinin parçası değildir. +`qa-channel`, geniş sentetik QA paketi olarak kalır ve live taşıma kapsamı matrisinin parçası değildir. -| Hat | Canary | Mention geçitleme | Allowlist engeli | Üst düzey yanıt | Yeniden başlatma sonrası sürdürme | Thread takibi | Thread yalıtımı | Tepki gözlemi | Yardım komutu | -| -------- | ------ | -------------- | --------------- | --------------- | -------------- | ---------------- | ---------------- | -------------------- | ------------ | -| Matrix | x | x | x | x | x | x | x | x | | -| Telegram | x | | | | | | | | x | +| Hat | Canary | Mention gating | Allowlist block | Üst düzey yanıt | Yeniden başlatma sonrası devam | Thread takip yanıtı | Thread yalıtımı | Tepki gözlemi | Yardım komutu | +| -------- | ------ | -------------- | --------------- | --------------- | ------------------------------ | ------------------- | --------------- | ------------- | ------------- | +| Matrix | x | x | x | x | x | x | x | x | | +| Telegram | x | | | | | | | | x | -### Convex ile paylaşılan Telegram kimlik bilgileri (v1) +### Convex üzerinden paylaşılan Telegram kimlik bilgileri (v1) -`openclaw qa telegram` için `--credential-source convex` (veya `OPENCLAW_QA_CREDENTIAL_SOURCE=convex`) etkinleştirildiğinde QA lab, Convex destekli bir havuzdan özel bir kiralama alır, hat çalışırken bu kiralamaya Heartbeat gönderir ve kapanışta kiralamayı bırakır. +`openclaw qa telegram` için `--credential-source convex` (veya `OPENCLAW_QA_CREDENTIAL_SOURCE=convex`) etkinleştirildiğinde, +QA lab Convex destekli bir havuzdan özel bir kiralama alır, hat çalışırken bu kiralamaya Heartbeat gönderir +ve kapatma sırasında kiralamayı serbest bırakır. -Başvuru Convex proje iskeleti: +Referans Convex proje iskeleti: - `qa/convex-credential-broker/` -Gerekli env değişkenleri: +Gerekli ortam değişkenleri: - `OPENCLAW_QA_CONVEX_SITE_URL` (örneğin `https://your-deployment.convex.site`) -- Seçilen rol için bir sır: - - `maintainer` için `OPENCLAW_QA_CONVEX_SECRET_MAINTAINER` - - `ci` için `OPENCLAW_QA_CONVEX_SECRET_CI` +- Seçilen rol için bir gizli anahtar: + - `OPENCLAW_QA_CONVEX_SECRET_MAINTAINER` `maintainer` için + - `OPENCLAW_QA_CONVEX_SECRET_CI` `ci` için - Kimlik bilgisi rolü seçimi: - CLI: `--credential-role maintainer|ci` - - Env varsayılanı: `OPENCLAW_QA_CREDENTIAL_ROLE` (CI'da varsayılan `ci`, aksi halde `maintainer`) + - Varsayılan env: `OPENCLAW_QA_CREDENTIAL_ROLE` (CI'da varsayılan `ci`, diğer durumlarda `maintainer`) -İsteğe bağlı env değişkenleri: +İsteğe bağlı ortam değişkenleri: - `OPENCLAW_QA_CREDENTIAL_LEASE_TTL_MS` (varsayılan `1200000`) - `OPENCLAW_QA_CREDENTIAL_HEARTBEAT_INTERVAL_MS` (varsayılan `30000`) - `OPENCLAW_QA_CREDENTIAL_ACQUIRE_TIMEOUT_MS` (varsayılan `90000`) - `OPENCLAW_QA_CREDENTIAL_HTTP_TIMEOUT_MS` (varsayılan `15000`) - `OPENCLAW_QA_CONVEX_ENDPOINT_PREFIX` (varsayılan `/qa-credentials/v1`) -- `OPENCLAW_QA_CREDENTIAL_OWNER_ID` (isteğe bağlı iz kimliği) -- `OPENCLAW_QA_ALLOW_INSECURE_HTTP=1`, yalnızca yerel geliştirme için local loopback `http://` Convex URL'lerine izin verir. +- `OPENCLAW_QA_CREDENTIAL_OWNER_ID` (isteğe bağlı izleme kimliği) +- `OPENCLAW_QA_ALLOW_INSECURE_HTTP=1`, yalnızca yerel geliştirme için loopback `http://` Convex URL'lerine izin verir. -`OPENCLAW_QA_CONVEX_SITE_URL`, normal kullanımda `https://` kullanmalıdır. +`OPENCLAW_QA_CONVEX_SITE_URL`, normal çalışmada `https://` kullanmalıdır. -Maintainer yönetici komutları (havuz ekle/kaldır/listele) özellikle +Bakımcı yönetici komutları (havuz ekle/kaldır/listele) özellikle `OPENCLAW_QA_CONVEX_SECRET_MAINTAINER` gerektirir. -Maintainer'lar için CLI yardımcıları: +Bakımcılar için CLI yardımcıları: ```bash pnpm openclaw qa credentials add --kind telegram --payload-file qa/telegram-credential.json @@ -192,9 +175,9 @@ pnpm openclaw qa credentials list --kind telegram pnpm openclaw qa credentials remove --credential-id ``` -Betiklerde ve CI yardımcılarında makine tarafından okunabilir çıktı için `--json` kullanın. +Betiklerde ve CI yardımcı araçlarında makine tarafından okunabilir çıktı için `--json` kullanın. -Varsayılan uç nokta sözleşmesi (`OPENCLAW_QA_CONVEX_SITE_URL` + `/qa-credentials/v1`): +Varsayılan endpoint sözleşmesi (`OPENCLAW_QA_CONVEX_SITE_URL` + `/qa-credentials/v1`): - `POST /acquire` - İstek: `{ kind, ownerId, actorRole, leaseTtlMs, heartbeatIntervalMs }` @@ -206,60 +189,60 @@ Varsayılan uç nokta sözleşmesi (`OPENCLAW_QA_CONVEX_SITE_URL` + `/qa-credent - `POST /release` - İstek: `{ kind, ownerId, actorRole, credentialId, leaseToken }` - Başarı: `{ status: "ok" }` (veya boş `2xx`) -- `POST /admin/add` (yalnızca maintainer sırrı) +- `POST /admin/add` (yalnızca maintainer gizli anahtarı) - İstek: `{ kind, actorId, payload, note?, status? }` - Başarı: `{ status: "ok", credential }` -- `POST /admin/remove` (yalnızca maintainer sırrı) +- `POST /admin/remove` (yalnızca maintainer gizli anahtarı) - İstek: `{ credentialId, actorId }` - Başarı: `{ status: "ok", changed, credential }` - Etkin kiralama koruması: `{ status: "error", code: "LEASE_ACTIVE", ... }` -- `POST /admin/list` (yalnızca maintainer sırrı) +- `POST /admin/list` (yalnızca maintainer gizli anahtarı) - İstek: `{ kind?, status?, includePayload?, limit? }` - Başarı: `{ status: "ok", credentials, count }` -Telegram türü için payload biçimi: +Telegram türü için yük biçimi: - `{ groupId: string, driverToken: string, sutToken: string }` -- `groupId`, sayısal bir Telegram sohbet kimliği dizesi olmalıdır. -- `admin/add`, `kind: "telegram"` için bu biçimi doğrular ve bozuk payload'ları reddeder. +- `groupId`, sayısal bir Telegram sohbet kimliği dizgesi olmalıdır. +- `admin/add`, `kind: "telegram"` için bu biçimi doğrular ve hatalı yükleri reddeder. -### QA'ya bir kanal ekleme +### QA'ya bir channel ekleme -Markdown QA sistemine bir kanal eklemek tam olarak iki şey gerektirir: +Markdown QA sistemine bir channel eklemek tam olarak iki şey gerektirir: -1. Kanal için bir taşıma bağdaştırıcısı. -2. Kanal sözleşmesini çalıştıran bir senaryo paketi. +1. Channel için bir taşıma bağdaştırıcısı. +2. Channel sözleşmesini çalıştıran bir senaryo paketi. -Paylaşılan `qa-lab` ana makinesi akışın sahibi olabiliyorsa yeni bir üst düzey QA komut kökü eklemeyin. +Paylaşılan `qa-lab` ana makinesi akışın sahibi olabiliyorken yeni bir üst düzey QA komut kökü eklemeyin. `qa-lab`, paylaşılan ana makine mekaniklerinin sahibidir: - `openclaw qa` komut kökü - paket başlatma ve kapatma -- worker eşzamanlılığı +- çalışan eşzamanlılığı - artifact yazımı -- rapor üretimi +- rapor oluşturma - senaryo yürütme - eski `qa-channel` senaryoları için uyumluluk takma adları -Çalıştırıcı Plugin'leri taşıma sözleşmesinin sahibidir: +Çalıştırıcı plugin'leri taşıma sözleşmesinin sahibidir: -- `openclaw qa ` komutunun paylaşılan `qa` kökü altına nasıl bağlandığı -- gateway'in o taşıma için nasıl yapılandırıldığı +- `openclaw qa ` öğesinin paylaşılan `qa` kökü altına nasıl bağlandığı +- Gateway'in o taşıma için nasıl yapılandırıldığı - hazır olma durumunun nasıl denetlendiği - gelen olayların nasıl enjekte edildiği - giden mesajların nasıl gözlemlendiği -- transkriptlerin ve normalize edilmiş taşıma durumunun nasıl sunulduğu +- dökümlerin ve normalize edilmiş taşıma durumunun nasıl açığa çıkarıldığı - taşıma destekli eylemlerin nasıl yürütüldüğü -- taşıma özel sıfırlama veya temizliğin nasıl ele alındığı +- taşımaya özgü sıfırlama veya temizliğin nasıl işlendiği -Yeni bir kanal için asgari benimseme eşiği şudur: +Yeni bir channel için en düşük benimseme çıtası şudur: 1. Paylaşılan `qa` kökünün sahibi olarak `qa-lab`'ı koruyun. -2. Taşıma çalıştırıcısını paylaşılan `qa-lab` ana makine dikişi üzerinde uygulayın. -3. Taşıma özel mekanikleri çalıştırıcı Plugin veya kanal harness'i içinde tutun. -4. Rekabet eden bir kök komut kaydetmek yerine çalıştırıcıyı `openclaw qa ` olarak bağlayın. - Çalıştırıcı Plugin'leri `openclaw.plugin.json` içinde `qaRunners` bildirmeli ve `runtime-api.ts` dosyasından eşleşen bir `qaRunnerCliRegistrations` dizisi dışa aktarmalıdır. +2. Taşıma çalıştırıcısını paylaşılan `qa-lab` ana makine sınırında uygulayın. +3. Taşımaya özgü mekanikleri çalıştırıcı plugin'i veya channel harness'i içinde tutun. +4. Çalıştırıcıyı rakip bir kök komut kaydetmek yerine `openclaw qa ` olarak bağlayın. + Çalıştırıcı plugin'leri `openclaw.plugin.json` içinde `qaRunners` bildirmeli ve `runtime-api.ts` içinden eşleşen bir `qaRunnerCliRegistrations` dizisi dışa aktarmalıdır. `runtime-api.ts` dosyasını hafif tutun; tembel CLI ve çalıştırıcı yürütmesi ayrı giriş noktalarının arkasında kalmalıdır. 5. Temalı `qa/scenarios/` dizinleri altında markdown senaryoları yazın veya uyarlayın. 6. Yeni senaryolar için genel senaryo yardımcılarını kullanın. @@ -267,10 +250,10 @@ Yeni bir kanal için asgari benimseme eşiği şudur: Karar kuralı katıdır: -- Davranış `qa-lab` içinde tek seferde ifade edilebiliyorsa onu `qa-lab` içine koyun. -- Davranış tek bir kanal taşımaya bağlıysa onu o çalıştırıcı Plugin veya Plugin harness'i içinde tutun. -- Bir senaryo birden fazla kanalın kullanabileceği yeni bir yeteneğe ihtiyaç duyuyorsa `suite.ts` içinde kanala özel bir dal yerine genel bir yardımcı ekleyin. -- Bir davranış yalnızca tek bir taşıma için anlamlıysa senaryoyu taşıma özel tutun ve bunu senaryo sözleşmesinde açık hale getirin. +- Davranış `qa-lab` içinde bir kez ifade edilebiliyorsa, onu `qa-lab` içine koyun. +- Davranış bir channel taşımasına bağlıysa, onu o çalıştırıcı plugin'inde veya plugin harness'inde tutun. +- Bir senaryo birden fazla channel'ın kullanabileceği yeni bir yetenek gerektiriyorsa, `suite.ts` içinde channel'a özgü bir dal yerine genel bir yardımcı ekleyin. +- Bir davranış yalnızca tek bir taşıma için anlamlıysa, senaryoyu taşımaya özgü tutun ve bunu senaryo sözleşmesinde açıkça belirtin. Yeni senaryolar için tercih edilen genel yardımcı adları şunlardır: @@ -287,7 +270,7 @@ Yeni senaryolar için tercih edilen genel yardımcı adları şunlardır: - `formatTransportTranscript` - `resetTransport` -Mevcut senaryolar için uyumluluk takma adları kullanılabilir kalır, bunlar arasında: +Aşağıdakiler dahil, mevcut senaryolar için uyumluluk takma adları kullanılabilir olmaya devam eder: - `waitForQaChannelReady` - `waitForOutboundMessage` @@ -295,138 +278,140 @@ Mevcut senaryolar için uyumluluk takma adları kullanılabilir kalır, bunlar a - `formatConversationTranscript` - `resetBus` -Yeni kanal çalışmaları genel yardımcı adlarını kullanmalıdır. -Uyumluluk takma adları bayrak günü geçişini önlemek içindir, yeni senaryo yazımı için model değildir. +Yeni channel çalışmaları genel yardımcı adlarını kullanmalıdır. +Uyumluluk takma adları bir bayrak günü geçişinden kaçınmak için vardır; yeni senaryo yazımı için model olarak değil. ## Test paketleri (ne nerede çalışır) -Paketleri “artan gerçekçilik” (ve artan oynaklık/maliyet) olarak düşünün: +Paketleri “artan gerçekçilik” (ve artan kararsızlık/maliyet) olarak düşünün: ### Unit / integration (varsayılan) - Komut: `pnpm test` -- Config: mevcut kapsamlı Vitest projeleri üzerinde on sıralı shard çalıştırması (`vitest.full-*.config.ts`) -- Dosyalar: `src/**/*.test.ts`, `packages/**/*.test.ts`, `test/**/*.test.ts` altındaki çekirdek/unit envanterleri ve `vitest.unit.config.ts` tarafından kapsanan izinli `ui` node testleri +- Yapılandırma: hedeflenmemiş çalıştırmalar `vitest.full-*.config.ts` parça kümesini kullanır ve paralel zamanlama için çok projeli parçaları proje başına yapılandırmalara genişletebilir +- Dosyalar: `src/**/*.test.ts`, `packages/**/*.test.ts`, `test/**/*.test.ts` altındaki core/unit envanterleri ve `vitest.unit.config.ts` kapsamındaki izinli `ui` node testleri - Kapsam: - Saf unit testleri - - Süreç içi integration testleri (gateway auth, routing, tooling, parsing, config) + - Süreç içi entegrasyon testleri (Gateway kimlik doğrulama, yönlendirme, araç kullanımı, ayrıştırma, yapılandırma) - Bilinen hatalar için deterministik regresyonlar - Beklentiler: - - CI içinde çalışır - - Gerçek anahtar gerekmez + - CI'da çalışır + - Gerçek anahtarlar gerekmez - Hızlı ve kararlı olmalıdır - Projeler notu: - - Hedeflenmemiş `pnpm test` artık tek bir devasa yerel kök-proje süreci yerine on bir küçük shard config'i (`core-unit-src`, `core-unit-security`, `core-unit-ui`, `core-unit-support`, `core-support-boundary`, `core-contracts`, `core-bundled`, `core-runtime`, `agentic`, `auto-reply`, `extensions`) çalıştırır. Bu, yüklü makinelerde tepe RSS'i azaltır ve auto-reply/extension işlerinin ilişkisiz paketleri aç bırakmasını önler. - - `pnpm test --watch`, çoklu shard izleme döngüsü pratik olmadığı için yine yerel kök `vitest.config.ts` proje grafiğini kullanır. - - `pnpm test`, `pnpm test:watch` ve `pnpm test:perf:imports`, açık dosya/dizin hedeflerini önce kapsamlı hatlardan yönlendirir; bu yüzden `pnpm test extensions/discord/src/monitor/message-handler.preflight.test.ts` tam kök proje başlatma vergisini ödemez. - - `pnpm test:changed`, fark yalnızca yönlendirilebilir kaynak/test dosyalarına dokunduğunda değişen git yollarını aynı kapsamlı hatlara genişletir; config/setup düzenlemeleri yine geniş kök-proje yeniden çalıştırmasına fallback yapar. - - `pnpm check:changed`, dar işler için normal akıllı yerel geçittir. Farkı çekirdek, çekirdek testleri, extensions, extension testleri, uygulamalar, belgeler, yayın meta verisi ve tooling olarak sınıflandırır, sonra eşleşen typecheck/lint/test hatlarını çalıştırır. Genel Plugin SDK ve plugin-contract değişiklikleri extension doğrulamasını içerir çünkü extension'lar bu çekirdek sözleşmelere bağlıdır. Yalnızca yayın meta verisi sürüm artırımları, üst düzey sürüm alanı dışındaki paket değişikliklerini reddeden bir koruma ile tam paket yerine hedeflenmiş sürüm/config/kök-bağımlılık denetimleri çalıştırır. - - Agent'lar, komutlar, Plugin'ler, auto-reply yardımcıları, `plugin-sdk` ve benzeri saf yardımcı alanlardan hafif import'lu unit testler `unit-fast` hattına yönlendirilir; bu hat `test/setup-openclaw-runtime.ts` dosyasını atlar; durumlu/çalışma zamanı ağır dosyalar mevcut hatlarda kalır. - - Seçilmiş `plugin-sdk` ve `commands` yardımcı kaynak dosyaları da changed-mode çalıştırmalarını bu hafif hatlardaki açık kardeş testlere eşler; böylece yardımcı düzenlemeleri o dizin için tam ağır paketi yeniden çalıştırmaz. - - `auto-reply` artık üç ayrılmış bölüme sahiptir: üst düzey çekirdek yardımcılar, üst düzey `reply.*` integration testleri ve `src/auto-reply/reply/**` alt ağacı. Bu, en ağır yanıt harness işini ucuz status/chunk/token testlerinden uzak tutar. + - Hedeflenmemiş `pnpm test` artık tek devasa yerel root-project süreci yerine on iki küçük parça yapılandırması (`core-unit-fast`, `core-unit-src`, `core-unit-security`, `core-unit-ui`, `core-unit-support`, `core-support-boundary`, `core-contracts`, `core-bundled`, `core-runtime`, `agentic`, `auto-reply`, `extensions`) çalıştırır. Bu, yüklü makinelerde tepe RSS'yi azaltır ve auto-reply/extension işlerinin ilgisiz paketleri aç bırakmasını önler. + - `pnpm test --watch` hâlâ yerel kök `vitest.config.ts` proje grafiğini kullanır; çünkü çok parçalı bir izleme döngüsü pratik değildir. + - `pnpm test`, `pnpm test:watch` ve `pnpm test:perf:imports` açık dosya/dizin hedeflerini önce kapsamlı hatlar üzerinden yönlendirir; böylece `pnpm test extensions/discord/src/monitor/message-handler.preflight.test.ts` tam kök proje başlatma maliyetini ödemez. + - `pnpm test:changed`, diff yalnızca yönlendirilebilir kaynak/test dosyalarına dokunuyorsa değişen git yollarını aynı kapsamlı hatlara genişletir; config/setup düzenlemeleri ise yine geniş kök proje yeniden çalıştırmasına geri döner. + - `pnpm check:changed`, dar çalışmalar için normal akıllı yerel geçittir. Diff'i core, core testleri, extensions, extension testleri, apps, docs, sürüm meta verisi ve araçlama olarak sınıflandırır, ardından eşleşen typecheck/lint/test hatlarını çalıştırır. Genel Plugin SDK ve plugin-contract değişiklikleri, extensions bu core sözleşmelere bağlı olduğu için extension doğrulamasını da içerir. Yalnızca sürüm meta verisi içeren version bump'ları tam paket yerine hedefli sürüm/config/root-dependency denetimleri çalıştırır ve üst düzey sürüm alanı dışındaki package değişikliklerini reddeden bir koruma içerir. + - Agent'lar, komutlar, plugins, auto-reply yardımcıları, `plugin-sdk` ve benzeri saf yardımcı alanlardaki import hafif unit testleri, `test/setup-openclaw-runtime.ts` dosyasını atlayan `unit-fast` hattına yönlendirilir; durum bilgili/çalışma zamanı ağır dosyalar mevcut hatlarda kalır. + - Seçili `plugin-sdk` ve `commands` yardımcı kaynak dosyaları da changed-mode çalıştırmalarını bu hafif hatlardaki açık kardeş testlere eşler; böylece yardımcı düzenlemeleri o dizin için tüm ağır paketi yeniden çalıştırmaz. + - `auto-reply` artık üç özel kovaya sahiptir: üst düzey core yardımcıları, üst düzey `reply.*` entegrasyon testleri ve `src/auto-reply/reply/**` alt ağacı. Bu, en ağır reply harness işlerini ucuz status/chunk/token testlerinden uzak tutar. - Gömülü çalıştırıcı notu: - - Message-tool keşif girdilerini veya Compaction çalışma zamanı bağlamını değiştirdiğinizde kapsamın iki düzeyini de koruyun. - - Saf routing/normalization sınırları için odaklı yardımcı regresyonları ekleyin. - - Ayrıca gömülü çalıştırıcı integration paketlerini sağlıklı tutun: + - Mesaj aracı keşif girdilerini veya Compaction çalışma zamanı bağlamını değiştirdiğinizde, her iki kapsam düzeyini de koruyun. + - Saf yönlendirme/normalleştirme sınırları için odaklı yardımcı regresyonları ekleyin. + - Ayrıca gömülü çalıştırıcı entegrasyon paketlerini sağlıklı tutun: `src/agents/pi-embedded-runner/compact.hooks.test.ts`, `src/agents/pi-embedded-runner/run.overflow-compaction.test.ts` ve `src/agents/pi-embedded-runner/run.overflow-compaction.loop.test.ts`. - - Bu paketler kapsamlı kimliklerin ve Compaction davranışının gerçek `run.ts` / `compact.ts` yollarından hâlâ aktığını doğrular; yalnızca yardımcı testleri bu integration yolları için yeterli bir ikame değildir. + - Bu paketler, kapsamlı kimliklerin ve Compaction davranışının hâlâ gerçek + `run.ts` / `compact.ts` yolları üzerinden aktığını doğrular; yalnızca yardımcı + testleri bu entegrasyon yolları için yeterli bir yerine geçme değildir. - Havuz notu: - - Temel Vitest config artık varsayılan olarak `threads` kullanır. - - Paylaşılan Vitest config ayrıca `isolate: false` düzeltmesi yapar ve kök projeler, e2e ve live config'ler boyunca yalıtılmamış çalıştırıcı kullanır. - - Kök UI hattı `jsdom` kurulumu ve optimizer'ını korur, ancak artık o da paylaşılan yalıtılmamış çalıştırıcı üzerinde çalışır. - - Her `pnpm test` shard'ı paylaşılan Vitest config'den aynı `threads` + `isolate: false` varsayılanlarını devralır. - - Paylaşılan `scripts/run-vitest.mjs` başlatıcısı artık büyük yerel çalıştırmalar sırasında V8 derleme çalkantısını azaltmak için varsayılan olarak Vitest alt Node süreçlerine `--no-maglev` de ekler. Stok V8 davranışıyla karşılaştırmanız gerekirse `OPENCLAW_VITEST_ENABLE_MAGLEV=1` ayarlayın. + - Temel Vitest yapılandırması artık varsayılan olarak `threads` kullanır. + - Paylaşılan Vitest yapılandırması ayrıca `isolate: false` değerini sabitler ve kök projeler, e2e ve live yapılandırmalarında yalıtımsız çalıştırıcıyı kullanır. + - Kök UI hattı `jsdom` kurulumunu ve optimize edicisini korur, ancak artık o da paylaşılan yalıtımsız çalıştırıcı üzerinde çalışır. + - Her `pnpm test` parçası, paylaşılan Vitest yapılandırmasından aynı `threads` + `isolate: false` varsayılanlarını devralır. + - Paylaşılan `scripts/run-vitest.mjs` başlatıcısı artık büyük yerel çalıştırmalar sırasında V8 derleme dalgalanmasını azaltmak için varsayılan olarak Vitest alt Node süreçlerine `--no-maglev` de ekler. Varsayılan V8 davranışıyla karşılaştırma yapmanız gerekirse `OPENCLAW_VITEST_ENABLE_MAGLEV=1` ayarlayın. - Hızlı yerel yineleme notu: - - `pnpm changed:lanes`, bir farkın hangi mimari hatları tetiklediğini gösterir. - - Pre-commit hook, aşamalı biçimlendirme/lint işleminden sonra `pnpm check:changed --staged` çalıştırır; böylece yalnızca çekirdek commit'ler, genel extension yüzlü sözleşmelere dokunmadıkça extension test maliyetini ödemez. Yalnızca yayın meta verisi commit'leri hedeflenmiş sürüm/config/kök-bağımlılık hattında kalır. - - Tam olarak aynı aşamalı değişiklik kümesi eşit veya daha güçlü geçitlerle zaten doğrulandıysa, yalnızca changed-scope hook yeniden çalıştırmasını atlamak için `scripts/committer --fast "" ` kullanın. Aşamalı format/lint yine çalışır. Tamamlanan geçitleri el tesliminde belirtin. Bu, yalıtılmış oynak bir hook hatası yeniden çalıştırılıp kapsamlı kanıtla geçtiğinde de kabul edilir. - - `pnpm test:changed`, değişen yollar daha küçük bir pakete temiz şekilde eşleniyorsa kapsamlı hatlar üzerinden yönlenir. - - `pnpm test:max` ve `pnpm test:changed:max` aynı yönlendirme davranışını korur, yalnızca daha yüksek worker sınırıyla. - - Yerel worker otomatik ölçekleme artık kasıtlı olarak daha muhafazakârdır ve ana makine yük ortalaması zaten yüksekse geri çekilir; böylece birden fazla eşzamanlı Vitest çalıştırması varsayılan olarak daha az zarar verir. - - Temel Vitest config, changed-mode yeniden çalıştırmalarının test bağlantısı değiştiğinde doğru kalması için projeleri/config dosyalarını `forceRerunTriggers` olarak işaretler. - - Config, desteklenen ana makinelerde `OPENCLAW_VITEST_FS_MODULE_CACHE` özelliğini etkin tutar; doğrudan profil çıkarma için tek bir açık önbellek konumu istiyorsanız `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/abs/path` ayarlayın. -- Perf-debug notu: + - `pnpm changed:lanes`, bir diff'in hangi mimari hatları tetiklediğini gösterir. + - Pre-commit hook, aşamalı format/lint işleminden sonra `pnpm check:changed --staged` çalıştırır; böylece yalnızca core commit'leri, herkese açık extension taraflı sözleşmelere dokunmadıkça extension test maliyetini ödemez. Yalnızca sürüm meta verisi commit'leri hedefli sürüm/config/root-dependency hattında kalır. + - Aynı aşamalı değişiklik kümesi eşit veya daha güçlü geçitlerle zaten doğrulandıysa, yalnızca changed-scope hook yeniden çalıştırmasını atlamak için `scripts/committer --fast "" ` kullanın. Aşamalı format/lint yine de çalışır. El tesliminizde tamamlanan geçitlerden bahsedin. Bu, ayrıca yalıtılmış kararsız bir hook hatası yeniden çalıştırılıp kapsamlı kanıtla geçtiyse de kabul edilebilir. + - `pnpm test:changed`, değişen yollar daha küçük bir pakete temiz biçimde eşleniyorsa kapsamlı hatlar üzerinden yönlendirir. + - `pnpm test:max` ve `pnpm test:changed:max` aynı yönlendirme davranışını korur, yalnızca daha yüksek bir çalışan sınırıyla. + - Yerel çalışan otomatik ölçeklendirmesi artık kasıtlı olarak daha muhafazakârdır ve ana makine yük ortalaması zaten yüksek olduğunda da geri çekilir; böylece birden çok eşzamanlı Vitest çalıştırması varsayılan olarak daha az zarar verir. + - Temel Vitest yapılandırması, test kablolaması değiştiğinde changed-mode yeniden çalıştırmalar doğru kalsın diye projeleri/yapılandırma dosyalarını `forceRerunTriggers` olarak işaretler. + - Yapılandırma, desteklenen ana makinelerde `OPENCLAW_VITEST_FS_MODULE_CACHE` seçeneğini etkin tutar; doğrudan profil oluşturma için açık bir önbellek konumu istiyorsanız `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/abs/path` ayarlayın. +- Performans-hata ayıklama notu: - `pnpm test:perf:imports`, Vitest import süresi raporlamasını ve import dökümü çıktısını etkinleştirir. - - `pnpm test:perf:imports:changed`, aynı profil görünümünü `origin/main` sonrası değişen dosyalarla sınırlar. -- `pnpm test:perf:changed:bench -- --ref `, o commit edilmiş fark için yönlendirilmiş `test:changed` ile yerel kök-proje yolunu karşılaştırır ve duvar saati ile macOS azami RSS'i yazdırır. -- `pnpm test:perf:changed:bench -- --worktree`, değişen dosya listesini `scripts/test-projects.mjs` ve kök Vitest config üzerinden yönlendirerek geçerli kirli çalışma ağacını kıyaslar. - - `pnpm test:perf:profile:main`, Vitest/Vite başlatma ve transform yükü için ana iş parçacığı CPU profili yazar. - - `pnpm test:perf:profile:runner`, unit paketi için dosya paralelliği devre dışı bırakılmış halde çalıştırıcı CPU+heap profilleri yazar. + - `pnpm test:perf:imports:changed`, aynı profil görünümünü `origin/main` sonrasında değişen dosyalarla sınırlar. +- `pnpm test:perf:changed:bench -- --ref `, yönlendirilmiş `test:changed` çalıştırmasını o commit edilmiş diff için yerel kök proje yoluyla karşılaştırır ve duvar süresi ile macOS azami RSS'yi yazdırır. +- `pnpm test:perf:changed:bench -- --worktree`, değişen dosya listesini `scripts/test-projects.mjs` ve kök Vitest yapılandırması üzerinden yönlendirerek geçerli kirli çalışma ağacını kıyaslar. + - `pnpm test:perf:profile:main`, Vitest/Vite başlatma ve dönüşüm yükü için ana iş parçacığı CPU profili yazar. + - `pnpm test:perf:profile:runner`, dosya paralelliği devre dışıyken unit paketi için çalıştırıcı CPU+heap profilleri yazar. -### Kararlılık (gateway) +### Kararlılık (Gateway) - Komut: `pnpm test:stability:gateway` -- Config: `vitest.gateway.config.ts`, tek worker'a zorlanır +- Yapılandırma: `vitest.gateway.config.ts`, tek çalışana zorlanmış - Kapsam: - - Varsayılan olarak tanılama etkin gerçek bir loopback Gateway başlatır - - Tanılama olay yolu üzerinden sentetik gateway mesajı, bellek ve büyük payload çalkantısı yürütür + - Tanılama varsayılan olarak etkinleştirilmiş gerçek bir loopback Gateway başlatır + - Tanılama olay yolu üzerinden sentetik Gateway mesajı, bellek ve büyük yük dalgalanması üretir - Gateway WS RPC üzerinden `diagnostics.stability` sorgular - Tanılama kararlılık paketi kalıcılık yardımcılarını kapsar - - Kaydedicinin sınırlı kaldığını, sentetik RSS örneklerinin basınç bütçesinin altında kaldığını ve oturum başına kuyruk derinliklerinin yeniden sıfıra indiğini doğrular + - Kaydedicinin sınırlı kaldığını, sentetik RSS örneklerinin baskı bütçesinin altında kaldığını ve oturum başına kuyruk derinliklerinin yeniden sıfıra indiğini doğrular - Beklentiler: - - CI-güvenli ve anahtarsız - - Kararlılık regresyonu takibi için dar hat, tam Gateway paketinin yerine geçmez + - CI için güvenli ve anahtarsızdır + - Kararlılık regresyonu takibi için dar bir hattır; tam Gateway paketinin yerine geçmez -### E2E (gateway smoke) +### E2E (Gateway smoke) - Komut: `pnpm test:e2e` -- Config: `vitest.e2e.config.ts` -- Dosyalar: `src/**/*.e2e.test.ts`, `test/**/*.e2e.test.ts` ve `extensions/` altındaki paketlenmiş-Plugin E2E testleri +- Yapılandırma: `vitest.e2e.config.ts` +- Dosyalar: `src/**/*.e2e.test.ts`, `test/**/*.e2e.test.ts` ve `extensions/` altındaki paketlenmiş plugin E2E testleri - Çalışma zamanı varsayılanları: - - Depodaki geri kalanla eşleşecek şekilde Vitest `threads` ve `isolate: false` kullanır. - - Uyarlanabilir worker'lar kullanır (CI: en çok 2, yerelde varsayılan 1). + - Deponun geri kalanıyla eşleşecek şekilde Vitest `threads` ve `isolate: false` kullanır. + - Uyarlanabilir çalışanlar kullanır (CI: en fazla 2, yerel: varsayılan 1). - Konsol G/Ç yükünü azaltmak için varsayılan olarak sessiz modda çalışır. - Yararlı geçersiz kılmalar: - - Worker sayısını zorlamak için `OPENCLAW_E2E_WORKERS=` (16 ile sınırlı). + - Çalışan sayısını zorlamak için `OPENCLAW_E2E_WORKERS=` (üst sınır 16). - Ayrıntılı konsol çıktısını yeniden etkinleştirmek için `OPENCLAW_E2E_VERBOSE=1`. - Kapsam: - - Çok örnekli gateway uçtan uca davranışı - - WebSocket/HTTP yüzeyleri, Node eşleştirme ve daha ağır ağ davranışı + - Çok örnekli Gateway uçtan uca davranışı + - WebSocket/HTTP yüzeyleri, Node eşleme ve daha ağır ağ iletişimi - Beklentiler: - - Pipeline içinde etkinleştirildiğinde CI'da çalışır - - Gerçek anahtar gerekmez - - Unit testlerinden daha fazla hareketli parçaya sahiptir (daha yavaş olabilir) + - CI'da çalışır (pipeline'da etkinleştirildiğinde) + - Gerçek anahtarlar gerekmez + - Unit testlerinden daha fazla hareketli parça vardır (daha yavaş olabilir) -### E2E: OpenShell arka uç smoke +### E2E: OpenShell backend smoke - Komut: `pnpm test:e2e:openshell` - Dosya: `extensions/openshell/src/backend.e2e.test.ts` - Kapsam: - - Ana makinede Docker aracılığıyla yalıtılmış bir OpenShell gateway başlatır - - Geçici yerel bir Dockerfile'dan bir sandbox oluşturur - - OpenClaw'ın OpenShell arka ucunu gerçek `sandbox ssh-config` + SSH exec üzerinden çalıştırır - - Uzak-kanonik dosya sistemi davranışını sandbox fs köprüsü üzerinden doğrular + - Docker aracılığıyla ana makinede yalıtılmış bir OpenShell Gateway başlatır + - Geçici bir yerel Dockerfile'dan bir sandbox oluşturur + - OpenClaw'un OpenShell backend'ini gerçek `sandbox ssh-config` + SSH exec üzerinden çalıştırır + - Sandbox fs köprüsü üzerinden uzaktan-kanonik dosya sistemi davranışını doğrular - Beklentiler: - Yalnızca isteğe bağlıdır; varsayılan `pnpm test:e2e` çalıştırmasının parçası değildir - Yerel bir `openshell` CLI ve çalışan bir Docker daemon gerektirir - - Yalıtılmış `HOME` / `XDG_CONFIG_HOME` kullanır, sonra test gateway'ini ve sandbox'ı yok eder + - Yalıtılmış `HOME` / `XDG_CONFIG_HOME` kullanır, ardından test Gateway'ini ve sandbox'ı yok eder - Yararlı geçersiz kılmalar: - - Daha geniş e2e paketini elle çalıştırırken testi etkinleştirmek için `OPENCLAW_E2E_OPENSHELL=1` - - Varsayılan olmayan bir CLI ikili dosyasını veya sarmalayıcı betiği işaret etmek için `OPENCLAW_E2E_OPENSHELL_COMMAND=/path/to/openshell` + - Geniş e2e paketini elle çalıştırırken testi etkinleştirmek için `OPENCLAW_E2E_OPENSHELL=1` + - Varsayılan olmayan bir CLI ikilisi veya sarmalayıcı betiğe işaret etmek için `OPENCLAW_E2E_OPENSHELL_COMMAND=/path/to/openshell` ### Live (gerçek sağlayıcılar + gerçek modeller) - Komut: `pnpm test:live` -- Config: `vitest.live.config.ts` -- Dosyalar: `src/**/*.live.test.ts`, `test/**/*.live.test.ts` ve `extensions/` altındaki paketlenmiş-Plugin live testleri +- Yapılandırma: `vitest.live.config.ts` +- Dosyalar: `src/**/*.live.test.ts`, `test/**/*.live.test.ts` ve `extensions/` altındaki paketlenmiş plugin live testleri - Varsayılan: `pnpm test:live` tarafından **etkinleştirilir** (`OPENCLAW_LIVE_TEST=1` ayarlar) - Kapsam: - - “Bu sağlayıcı/model bugün gerçekten gerçek kimlik bilgileriyle çalışıyor mu?” - - Sağlayıcı biçim değişikliklerini, tool-calling tuhaflıklarını, auth sorunlarını ve hız sınırı davranışını yakalar + - “Bu sağlayıcı/model bugün gerçek kimlik bilgileriyle gerçekten çalışıyor mu?” + - Sağlayıcı biçim değişikliklerini, araç çağırma tuhaflıklarını, kimlik doğrulama sorunlarını ve hız sınırı davranışını yakalar - Beklentiler: - - Tasarım gereği CI-kararlı değildir (gerçek ağlar, gerçek sağlayıcı ilkeleri, kotalar, kesintiler) + - Tasarım gereği CI-kararlı değildir (gerçek ağlar, gerçek sağlayıcı politikaları, kotalar, kesintiler) - Para harcar / hız sınırlarını kullanır - - “her şeyi” çalıştırmak yerine daraltılmış alt kümeler çalıştırmayı tercih edin -- Live çalıştırmalar eksik API anahtarlarını almak için `~/.profile` dosyasını kaynaklar. -- Varsayılan olarak live çalıştırmalar yine de `HOME` dizinini yalıtır ve config/auth malzemesini geçici bir test ana dizinine kopyalar; böylece unit fixture'ları gerçek `~/.openclaw` dizininizi değiştiremez. -- Live testlerin gerçek ana dizininizi kullanmasını bilerek istediğinizde yalnızca `OPENCLAW_LIVE_USE_REAL_HOME=1` ayarlayın. -- `pnpm test:live` artık varsayılan olarak daha sessiz bir mod kullanır: `[live] ...` ilerleme çıktısını korur, ancak ek `~/.profile` bildirimini bastırır ve gateway bootstrap günlükleri/Bonjour gürültüsünü susturur. Tam başlangıç günlüklerini geri istiyorsanız `OPENCLAW_LIVE_TEST_QUIET=0` ayarlayın. -- API anahtarı döndürme (sağlayıcıya özgü): virgül/noktalı virgül biçimiyle `*_API_KEYS` ya da `*_API_KEY_1`, `*_API_KEY_2` ayarlayın (örneğin `OPENAI_API_KEYS`, `ANTHROPIC_API_KEYS`, `GEMINI_API_KEYS`) veya live başına geçersiz kılma için `OPENCLAW_LIVE_*_KEY`; testler hız sınırı yanıtlarında yeniden dener. + - “Her şeyi” çalıştırmak yerine daraltılmış alt kümeleri çalıştırmak tercih edilir +- Live çalıştırmaları eksik API anahtarlarını almak için `~/.profile` dosyasını kaynak olarak yükler. +- Varsayılan olarak live çalıştırmaları yine de `HOME` dizinini yalıtır ve config/auth materyallerini geçici bir test ana dizinine kopyalar; böylece unit fixture'ları gerçek `~/.openclaw` dizininizi değiştiremez. +- Live testlerin gerçek ana dizininizi kullanması bilerek isteniyorsa yalnızca `OPENCLAW_LIVE_USE_REAL_HOME=1` ayarlayın. +- `pnpm test:live` artık daha sessiz bir modu varsayılan yapar: `[live] ...` ilerleme çıktısını korur, ancak ek `~/.profile` bildirimini bastırır ve Gateway bootstrap günlükleri/Bonjour konuşmalarını susturur. Tam başlatma günlüklerini geri istiyorsanız `OPENCLAW_LIVE_TEST_QUIET=0` ayarlayın. +- API anahtarı döndürme (sağlayıcıya özgü): virgül/noktalı virgül biçiminde `*_API_KEYS` veya `*_API_KEY_1`, `*_API_KEY_2` ayarlayın (`OPENAI_API_KEYS`, `ANTHROPIC_API_KEYS`, `GEMINI_API_KEYS` gibi) ya da live başına geçersiz kılma için `OPENCLAW_LIVE_*_KEY` kullanın; testler hız sınırı yanıtlarında yeniden dener. - İlerleme/Heartbeat çıktısı: - - Live paketleri artık uzun sağlayıcı çağrıları Vitest konsol yakalaması sessizken bile görünür biçimde etkin olsun diye stderr'e ilerleme satırları yazar. - - `vitest.live.config.ts`, sağlayıcı/gateway ilerleme satırları live çalıştırmalar sırasında anında aksın diye Vitest konsol yakalamasını devre dışı bırakır. + - Live paketleri artık ilerleme satırlarını stderr'e yazar; böylece Vitest konsol yakalaması sessiz olduğunda bile uzun sağlayıcı çağrılarının etkin olduğu görünür. + - `vitest.live.config.ts`, sağlayıcı/Gateway ilerleme satırlarının live çalıştırmalar sırasında anında akmasını sağlamak için Vitest konsol yakalamasını devre dışı bırakır. - Doğrudan model Heartbeat'lerini `OPENCLAW_LIVE_HEARTBEAT_MS` ile ayarlayın. - Gateway/probe Heartbeat'lerini `OPENCLAW_LIVE_GATEWAY_HEARTBEAT_MS` ile ayarlayın. @@ -434,120 +419,120 @@ Paketleri “artan gerçekçilik” (ve artan oynaklık/maliyet) olarak düşün Bu karar tablosunu kullanın: -- Mantık/test düzenliyorsanız: `pnpm test` çalıştırın (çok şey değiştirdiyseniz `pnpm test:coverage` de) -- Gateway ağı / WS protokolü / eşleştirmeye dokunuyorsanız: `pnpm test:e2e` ekleyin -- “botum kapalı” / sağlayıcıya özgü hatalar / tool calling ayıklıyorsanız: daraltılmış bir `pnpm test:live` çalıştırın +- Mantık/testler düzenleniyorsa: `pnpm test` çalıştırın (ve çok şey değiştirdiyseniz `pnpm test:coverage`) +- Gateway ağ iletişimi / WS protokolü / eşlemeye dokunuyorsanız: `pnpm test:e2e` ekleyin +- “Botum çalışmıyor” / sağlayıcıya özgü hatalar / araç çağırma üzerinde hata ayıklıyorsanız: daraltılmış bir `pnpm test:live` çalıştırın ## Live: Android Node yetenek taraması - Test: `src/gateway/android-node.capabilities.live.test.ts` - Betik: `pnpm android:test:integration` -- Amaç: bağlı bir Android Node tarafından şu anda duyurulan **her komutu** çağırmak ve komut sözleşmesi davranışını doğrulamak. +- Amaç: bağlı bir Android Node tarafından **şu anda ilan edilen her komutu** çağırmak ve komut sözleşmesi davranışını doğrulamak. - Kapsam: - - Ön koşullu/elle kurulum (paket uygulamayı kurmaz/çalıştırmaz/eşleştirmez). - - Seçilen Android Node için komut-komut gateway `node.invoke` doğrulaması. + - Ön koşullu/elle kurulum (paket uygulamayı kurmaz/çalıştırmaz/eşlemez). + - Seçilen Android Node için komut bazında Gateway `node.invoke` doğrulaması. - Gerekli ön kurulum: - - Android uygulaması zaten gateway'e bağlı + eşleştirilmiş olmalı. + - Android uygulaması zaten Gateway'e bağlı ve eşlenmiş olmalı. - Uygulama ön planda tutulmalı. - - Başarılı olmasını beklediğiniz yetenekler için izinler/yakalama izni verilmiş olmalı. + - Geçmesini beklediğiniz yetenekler için izinler/yakalama onayı verilmiş olmalı. - İsteğe bağlı hedef geçersiz kılmaları: - `OPENCLAW_ANDROID_NODE_ID` veya `OPENCLAW_ANDROID_NODE_NAME`. - `OPENCLAW_ANDROID_GATEWAY_URL` / `OPENCLAW_ANDROID_GATEWAY_TOKEN` / `OPENCLAW_ANDROID_GATEWAY_PASSWORD`. -- Tam Android kurulum ayrıntıları: [Android App](/tr/platforms/android) +- Tam Android kurulum ayrıntıları: [Android Uygulaması](/tr/platforms/android) ## Live: model smoke (profil anahtarları) Live testler, hataları yalıtabilmek için iki katmana ayrılmıştır: - “Doğrudan model”, sağlayıcı/modelin verilen anahtarla en azından yanıt verebildiğini söyler. -- “Gateway smoke”, tam gateway+agent hattının o model için çalıştığını söyler (oturumlar, geçmiş, tools, sandbox ilkesi vb.). +- “Gateway smoke”, tam gateway+agent hattının o model için çalıştığını söyler (oturumlar, geçmiş, araçlar, sandbox ilkesi vb.). -### Katman 1: Doğrudan model tamamlama (gateway yok) +### Katman 1: Doğrudan model tamamlama (Gateway yok) - Test: `src/agents/models.profiles.live.test.ts` - Amaç: - - Keşfedilen modelleri numaralandırmak - - Kimlik bilgilerinizin bulunduğu modelleri seçmek için `getApiKeyForModel` kullanmak - - Model başına küçük bir tamamlama çalıştırmak (ve gerekirse hedefli regresyonlar) + - Keşfedilen modelleri listelemek + - Kimlik bilgileriniz olan modelleri seçmek için `getApiKeyForModel` kullanmak + - Model başına küçük bir tamamlama çalıştırmak (ve gerektiğinde hedefli regresyonlar) - Nasıl etkinleştirilir: - - `pnpm test:live` (veya Vitest'i doğrudan çağırıyorsanız `OPENCLAW_LIVE_TEST=1`) -- Bu paketi gerçekten çalıştırmak için `OPENCLAW_LIVE_MODELS=modern` (veya modern için takma ad olan `all`) ayarlayın; aksi halde `pnpm test:live` çıktısını gateway smoke üzerinde odaklı tutmak için atlanır -- Modeller nasıl seçilir: + - `pnpm test:live` (veya Vitest doğrudan çağrılıyorsa `OPENCLAW_LIVE_TEST=1`) +- Bu paketi gerçekten çalıştırmak için `OPENCLAW_LIVE_MODELS=modern` (veya modern için takma ad olan `all`) ayarlayın; aksi halde `pnpm test:live` odağını gateway smoke üzerinde tutmak için atlar +- Model seçimi nasıl yapılır: - Modern allowlist'i çalıştırmak için `OPENCLAW_LIVE_MODELS=modern` (Opus/Sonnet 4.6+, GPT-5.x + Codex, Gemini 3, GLM 4.7, MiniMax M2.7, Grok 4) - `OPENCLAW_LIVE_MODELS=all`, modern allowlist için bir takma addır - - veya `OPENCLAW_LIVE_MODELS="openai/gpt-5.4,anthropic/claude-opus-4-6,..."` (virgülle allowlist) - - Modern/all taramaları varsayılan olarak seçilmiş yüksek sinyalli bir üst sınıra sahiptir; kapsamlı modern tarama için `OPENCLAW_LIVE_MAX_MODELS=0`, daha küçük bir üst sınır için pozitif sayı ayarlayın. -- Sağlayıcılar nasıl seçilir: - - `OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"` (virgülle allowlist) + - veya `OPENCLAW_LIVE_MODELS="openai/gpt-5.4,anthropic/claude-opus-4-6,..."` (virgüllü allowlist) + - Modern/all taramaları varsayılan olarak seçilmiş yüksek sinyalli bir üst sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_MAX_MODELS=0`, daha küçük bir üst sınır için pozitif bir sayı ayarlayın. +- Sağlayıcı seçimi nasıl yapılır: + - `OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"` (virgüllü allowlist) - Anahtarlar nereden gelir: - - Varsayılan olarak: profil deposu ve env fallback'leri - - Yalnızca **profil deposunu** zorlamak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` ayarlayın + - Varsayılan olarak: profil deposu ve env yedekleri + - Yalnızca **profil deposu** zorlaması için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` ayarlayın - Bunun var olma nedeni: - - “sağlayıcı API'si bozuk / anahtar geçersiz” ile “gateway agent hattı bozuk” durumlarını ayırır - - Küçük, yalıtılmış regresyonları içerir (örnek: OpenAI Responses/Codex Responses reasoning replay + tool-call akışları) + - “Sağlayıcı API'si bozuk / anahtar geçersiz” ile “Gateway agent hattı bozuk” durumlarını ayırır + - Küçük, yalıtılmış regresyonlar içerir (örnek: OpenAI Responses/Codex Responses muhakeme tekrar yürütme + araç çağrısı akışları) -### Katman 2: Gateway + geliştirme agent'ı smoke testi (`@openclaw`'ın gerçekten yaptığı şey) +### Katman 2: Gateway + dev agent smoke (`"@openclaw"` gerçekte ne yapıyor) - Test: `src/gateway/gateway-models.profiles.live.test.ts` - Amaç: - - Süreç içi bir gateway başlatmak - - Bir `agent:dev:*` oturumu oluşturmak/yamamak (çalıştırma başına model geçersiz kılması) - - Anahtarları olan modeller üzerinde yineleyip şunları doğrulamak: - - “anlamlı” yanıt (tools yok) - - gerçek bir tool çağrısı çalışıyor (read probe) - - isteğe bağlı ek tool probe'ları (exec+read probe) - - OpenAI regresyon yolları (yalnızca tool-call → takip) çalışmaya devam ediyor -- Probe ayrıntıları (hataları hızlı açıklayabilmeniz için): - - `read` probe: test çalışma alanına bir nonce dosyası yazar ve agent'tan bunu `read` ile okuyup nonce'u geri yankılamasını ister. - - `exec+read` probe: test agent'tan bir nonce'u geçici dosyaya `exec` ile yazmasını, sonra `read` ile geri okumasını ister. - - image probe: test üretilmiş bir PNG (kedi + rastgele kod) ekler ve modelin `cat ` döndürmesini bekler. + - Süreç içi bir Gateway başlatmak + - Bir `agent:dev:*` oturumu oluşturmak/yamalamak (çalıştırma başına model geçersiz kılma) + - Anahtarlı modeller üzerinde yineleme yapmak ve şunları doğrulamak: + - “anlamlı” yanıt (araç yok) + - gerçek bir araç çağrısı çalışıyor (read probe) + - isteğe bağlı ek araç probeları (exec+read probe) + - OpenAI regresyon yolları (yalnızca araç çağrısı → takip) çalışmaya devam ediyor +- Probe ayrıntıları (başarısızlıkları hızlı açıklayabilmeniz için): + - `read` probe: test çalışma alanına nonce dosyası yazar ve agent'tan bunu `read` ile okuyup nonce'u geri yankılamasını ister. + - `exec+read` probe: test agent'tan temp dosyaya nonce yazmasını `exec` ile ister, ardından bunu `read` ile geri okur. + - image probe: test oluşturulmuş bir PNG (kedi + rastgele kod) ekler ve modelin `cat ` döndürmesini bekler. - Uygulama başvurusu: `src/gateway/gateway-models.profiles.live.test.ts` ve `src/gateway/live-image-probe.ts`. - Nasıl etkinleştirilir: - - `pnpm test:live` (veya Vitest'i doğrudan çağırıyorsanız `OPENCLAW_LIVE_TEST=1`) -- Modeller nasıl seçilir: + - `pnpm test:live` (veya Vitest doğrudan çağrılıyorsa `OPENCLAW_LIVE_TEST=1`) +- Model seçimi nasıl yapılır: - Varsayılan: modern allowlist (Opus/Sonnet 4.6+, GPT-5.x + Codex, Gemini 3, GLM 4.7, MiniMax M2.7, Grok 4) - `OPENCLAW_LIVE_GATEWAY_MODELS=all`, modern allowlist için bir takma addır - - Ya da daraltmak için `OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"` (veya virgüllü liste) ayarlayın - - Modern/all gateway taramaları varsayılan olarak seçilmiş yüksek sinyalli bir üst sınıra sahiptir; kapsamlı modern tarama için `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0`, daha küçük bir üst sınır için pozitif sayı ayarlayın. -- Sağlayıcılar nasıl seçilir (“OpenRouter her şey” durumundan kaçınmak için): - - `OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"` (virgülle allowlist) -- Tool + image probe'ları bu live testte her zaman açıktır: - - `read` probe + `exec+read` probe (tool baskı testi) - - image probe, model görsel girdi desteği duyurduğunda çalışır - - Akış (yüksek seviye): - - Test “CAT” + rastgele kod içeren küçük bir PNG üretir (`src/gateway/live-image-probe.ts`) + - Veya daraltmak için `OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"` (veya virgüllü liste) ayarlayın + - Modern/all Gateway taramaları varsayılan olarak seçilmiş yüksek sinyalli bir üst sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0`, daha küçük bir üst sınır için pozitif bir sayı ayarlayın. +- Sağlayıcı seçimi nasıl yapılır (“OpenRouter her şey” yaklaşımından kaçının): + - `OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"` (virgüllü allowlist) +- Araç + image probeları bu live testte her zaman açıktır: + - `read` probe + `exec+read` probe (araç stresi) + - image probe, model image girdi desteği ilan ettiğinde çalışır + - Akış (üst düzey): + - Test, “CAT” + rastgele kod içeren küçük bir PNG üretir (`src/gateway/live-image-probe.ts`) - Bunu `agent` üzerinden `attachments: [{ mimeType: "image/png", content: "" }]` ile gönderir - - Gateway ekleri `images[]` içine ayrıştırır (`src/gateway/server-methods/agent.ts` + `src/gateway/chat-attachments.ts`) - - Gömülü agent multimodal bir kullanıcı mesajını modele iletir + - Gateway, ekleri `images[]` içine ayrıştırır (`src/gateway/server-methods/agent.ts` + `src/gateway/chat-attachments.ts`) + - Gömülü agent, modele çok modlu bir kullanıcı mesajı iletir - Doğrulama: yanıt `cat` + kodu içerir (OCR toleransı: küçük hatalara izin verilir) -İpucu: makinenizde neyi test edebileceğinizi (ve tam `provider/model` kimliklerini) görmek için şunu çalıştırın: +İpucu: Makinenizde neyi test edebileceğinizi (ve tam `provider/model` kimliklerini) görmek için şunu çalıştırın: ```bash openclaw models list openclaw models list --json ``` -## Live: CLI arka uç smoke testi (Claude, Codex, Gemini veya başka yerel CLI'ler) +## Live: CLI backend smoke (Claude, Codex, Gemini veya diğer yerel CLI'ler) - Test: `src/gateway/gateway-cli-backend.live.test.ts` -- Amaç: varsayılan config'inize dokunmadan, yerel bir CLI arka ucu kullanarak Gateway + agent hattını doğrulamak. -- Arka uca özgü smoke varsayılanları, sahibi olan extension'ın `cli-backend.ts` tanımıyla birlikte yaşar. +- Amaç: varsayılan config'inize dokunmadan, Gateway + agent hattını yerel bir CLI backend kullanarak doğrulamak. +- Backend'e özgü smoke varsayılanları, sahibi olan extension'ın `cli-backend.ts` tanımı içinde bulunur. - Etkinleştirme: - - `pnpm test:live` (veya Vitest'i doğrudan çağırıyorsanız `OPENCLAW_LIVE_TEST=1`) + - `pnpm test:live` (veya Vitest doğrudan çağrılıyorsa `OPENCLAW_LIVE_TEST=1`) - `OPENCLAW_LIVE_CLI_BACKEND=1` - Varsayılanlar: - Varsayılan sağlayıcı/model: `claude-cli/claude-sonnet-4-6` - - Komut/argüman/görsel davranışı sahibi olan CLI arka uç Plugin meta verisinden gelir. + - Komut/argüman/image davranışı, sahibi olan CLI backend plugin meta verisinden gelir. - Geçersiz kılmalar (isteğe bağlı): - `OPENCLAW_LIVE_CLI_BACKEND_MODEL="codex-cli/gpt-5.4"` - `OPENCLAW_LIVE_CLI_BACKEND_COMMAND="/full/path/to/codex"` - `OPENCLAW_LIVE_CLI_BACKEND_ARGS='["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]'` - - Gerçek görsel eki göndermek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1` (yollar prompt içine enjekte edilir). - - Görsel dosya yollarını prompt enjekte etmek yerine CLI argümanları olarak geçirmek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image"`. - - `IMAGE_ARG` ayarlı olduğunda görsel argümanlarının nasıl geçirileceğini denetlemek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"` (veya `"list"`). - - İkinci tur göndermek ve resume akışını doğrulamak için `OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1`. - - Varsayılan Claude Sonnet -> Opus aynı-oturum süreklilik probe'unu devre dışı bırakmak için `OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0` (seçilen model bir geçiş hedefini desteklediğinde zorla açmak için `1` ayarlayın). + - Gerçek bir image eki göndermek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1` (yollar prompt içine enjekte edilir). + - Image dosya yollarını prompt enjeksiyonu yerine CLI argümanları olarak geçirmek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image"`. + - `IMAGE_ARG` ayarlı olduğunda image argümanlarının nasıl geçirileceğini kontrol etmek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"` (veya `"list"`). + - İkinci bir dönüş göndermek ve devam akışını doğrulamak için `OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1`. + - Varsayılan Claude Sonnet -> Opus aynı-oturum sürekliliği probe'unu devre dışı bırakmak için `OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=0` (seçilen model geçiş hedefini desteklediğinde zorla açmak için `1` ayarlayın). Örnek: @@ -574,29 +559,29 @@ pnpm test:docker:live-cli-backend:gemini Notlar: -- Docker çalıştırıcısı `scripts/test-live-cli-backend-docker.sh` konumunda bulunur. -- Live CLI arka uç smoke testini depo Docker imajı içinde root olmayan `node` kullanıcısı olarak çalıştırır. -- CLI smoke meta verisini sahibi olan extension'dan çözümler, ardından eşleşen Linux CLI paketini (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) `OPENCLAW_DOCKER_CLI_TOOLS_DIR` içinde önbelleğe alınmış yazılabilir bir öneke kurar (varsayılan: `~/.cache/openclaw/docker-cli-tools`). -- `pnpm test:docker:live-cli-backend:claude-subscription`, `~/.claude/.credentials.json` içindeki `claudeAiOauth.subscriptionType` veya `claude setup-token` içinden `CLAUDE_CODE_OAUTH_TOKEN` aracılığıyla taşınabilir Claude Code abonelik OAuth'u gerektirir. Önce Docker içinde doğrudan `claude -p` komutunu kanıtlar, ardından Anthropic API anahtarı env değişkenlerini korumadan iki Gateway CLI arka uç turu çalıştırır. Bu abonelik hattı, Claude şu anda üçüncü taraf uygulama kullanımını normal abonelik plan sınırları yerine ek kullanım faturalandırmasına yönlendirdiği için Claude MCP/tool ve image probe'larını varsayılan olarak devre dışı bırakır. -- Live CLI arka uç smoke testi artık Claude, Codex ve Gemini için aynı uçtan uca akışı çalıştırır: metin turu, görsel sınıflandırma turu, ardından gateway CLI üzerinden doğrulanan MCP `cron` tool çağrısı. -- Claude'un varsayılan smoke testi ayrıca oturumu Sonnet'ten Opus'a yamalar ve sürdürülmüş oturumun önceki notu hâlâ hatırladığını doğrular. +- Docker çalıştırıcısı `scripts/test-live-cli-backend-docker.sh` konumundadır. +- Live CLI-backend smoke testini depo Docker imajı içinde root olmayan `node` kullanıcısı olarak çalıştırır. +- CLI smoke meta verisini sahibi olan extension'dan çözümler, ardından eşleşen Linux CLI paketini (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) `OPENCLAW_DOCKER_CLI_TOOLS_DIR` altında önbellekli yazılabilir bir öneke kurar (varsayılan: `~/.cache/openclaw/docker-cli-tools`). +- `pnpm test:docker:live-cli-backend:claude-subscription`, taşınabilir Claude Code abonelik OAuth'u gerektirir; bunun için ya `claudeAiOauth.subscriptionType` içeren `~/.claude/.credentials.json` ya da `claude setup-token` üzerinden `CLAUDE_CODE_OAUTH_TOKEN` gerekir. Önce Docker içinde doğrudan `claude -p` çalıştığını kanıtlar, ardından Anthropic API anahtarı env değişkenlerini korumadan iki Gateway CLI-backend dönüşü çalıştırır. Bu abonelik hattı, Claude şu anda üçüncü taraf uygulama kullanımını normal abonelik planı sınırları yerine ek kullanım faturalaması üzerinden yönlendirdiği için varsayılan olarak Claude MCP/tool ve image probelarını devre dışı bırakır. +- Live CLI-backend smoke artık Claude, Codex ve Gemini için aynı uçtan uca akışı çalıştırır: metin dönüşü, image sınıflandırma dönüşü, ardından Gateway CLI üzerinden doğrulanan MCP `cron` araç çağrısı. +- Claude'un varsayılan smoke testi ayrıca oturumu Sonnet'ten Opus'a yamalar ve devam eden oturumun hâlâ önceki bir notu hatırladığını doğrular. -## Live: ACP bağlama smoke testi (`/acp spawn ... --bind here`) +## Live: ACP bind smoke (`/acp spawn ... --bind here`) - Test: `src/gateway/gateway-acp-bind.live.test.ts` -- Amaç: canlı bir ACP agent ile gerçek ACP konuşma-bağlama akışını doğrulamak: +- Amaç: live bir ACP agent ile gerçek ACP konuşma-bind akışını doğrulamak: - `/acp spawn --bind here` gönder - sentetik bir message-channel konuşmasını yerinde bağla - - aynı konuşma üzerinde normal bir takip mesajı gönder - - takibin bağlı ACP oturumu transkriptine düştüğünü doğrula + - aynı konuşmada normal bir takip mesajı gönder + - takip mesajının bağlı ACP oturum dökümüne düştüğünü doğrula - Etkinleştirme: - `pnpm test:live src/gateway/gateway-acp-bind.live.test.ts` - `OPENCLAW_LIVE_ACP_BIND=1` - Varsayılanlar: - Docker içindeki ACP agent'ları: `claude,codex,gemini` - Doğrudan `pnpm test:live ...` için ACP agent'ı: `claude` - - Sentetik kanal: Slack DM tarzı konuşma bağlamı - - ACP arka ucu: `acpx` + - Sentetik channel: Slack DM tarzı konuşma bağlamı + - ACP backend: `acpx` - Geçersiz kılmalar: - `OPENCLAW_LIVE_ACP_BIND_AGENT=claude` - `OPENCLAW_LIVE_ACP_BIND_AGENT=codex` @@ -605,8 +590,8 @@ Notlar: - `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND='npx -y @agentclientprotocol/claude-agent-acp@'` - `OPENCLAW_LIVE_ACP_BIND_CODEX_MODEL=gpt-5.4` - Notlar: - - Bu hat, testlerin dışarıya teslim ediyormuş gibi yapmadan message-channel bağlamı ekleyebilmesi için yöneticiye özel sentetik originating-route alanlarıyla gateway `chat.send` yüzeyini kullanır. - - `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND` ayarlanmamışsa test, seçilen ACP harness agent için gömülü `acpx` Plugin'inin yerleşik agent kayıt defterini kullanır. + - Bu hat, testlerin message-channel bağlamını haricen teslim ediyormuş gibi yapmadan ekleyebilmesi için yöneticiye özel sentetik originating-route alanlarıyla Gateway `chat.send` yüzeyini kullanır. + - `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND` ayarlı değilse, test seçilen ACP harness agent için gömülü `acpx` plugin'inin yerleşik agent kaydını kullanır. Örnek: @@ -622,7 +607,7 @@ Docker tarifi: pnpm test:docker:live-acp-bind ``` -Tek agent'lı Docker tarifleri: +Tek-agent Docker tarifleri: ```bash pnpm test:docker:live-acp-bind:claude @@ -632,25 +617,25 @@ pnpm test:docker:live-acp-bind:gemini Docker notları: -- Docker çalıştırıcısı `scripts/test-live-acp-bind-docker.sh` konumunda bulunur. -- Varsayılan olarak ACP bağlama smoke testini tüm desteklenen canlı CLI agent'larına sırayla karşı çalıştırır: `claude`, `codex`, sonra `gemini`. -- Matrix'i daraltmak için `OPENCLAW_LIVE_ACP_BIND_AGENTS=claude`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=codex` veya `OPENCLAW_LIVE_ACP_BIND_AGENTS=gemini` kullanın. -- `~/.profile` dosyasını kaynaklar, eşleşen CLI auth malzemesini container'a hazırlar, `acpx`'i yazılabilir bir npm önekine kurar, sonra eksikse istenen canlı CLI'yi (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) kurar. -- Docker içinde çalıştırıcı `OPENCLAW_LIVE_ACP_BIND_ACPX_COMMAND=$HOME/.npm-global/bin/acpx` ayarlar; böylece acpx, kaynaklanmış profildeki sağlayıcı env değişkenlerini alt harness CLI için kullanılabilir tutar. +- Docker çalıştırıcısı `scripts/test-live-acp-bind-docker.sh` konumundadır. +- Varsayılan olarak ACP bind smoke testini tüm desteklenen live CLI agent'larına karşı sırayla çalıştırır: `claude`, `codex`, sonra `gemini`. +- Matrisi daraltmak için `OPENCLAW_LIVE_ACP_BIND_AGENTS=claude`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=codex` veya `OPENCLAW_LIVE_ACP_BIND_AGENTS=gemini` kullanın. +- `~/.profile` dosyasını kaynak olarak yükler, eşleşen CLI auth materyalini container içine hazırlar, `acpx`'i yazılabilir bir npm öneğine kurar, ardından istenen live CLI'yi (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) eksikse kurar. +- Docker içinde çalıştırıcı `OPENCLAW_LIVE_ACP_BIND_ACPX_COMMAND=$HOME/.npm-global/bin/acpx` ayarlar; böylece acpx, kaynak olarak yüklenen profildeki sağlayıcı env değişkenlerini alt harness CLI için kullanılabilir tutar. -## Live: Codex app-server harness smoke testi +## Live: Codex app-server harness smoke -- Amaç: Plugin'e ait Codex harness'ini normal gateway +- Amaç: plugin sahibi Codex harness'ini normal Gateway `agent` yöntemi üzerinden doğrulamak: - - paketlenmiş `codex` Plugin'ini yükle + - paketlenmiş `codex` plugin'ini yükle - `OPENCLAW_AGENT_RUNTIME=codex` seç - - `codex/gpt-5.4` için ilk gateway agent turunu gönder - - aynı OpenClaw oturumuna ikinci turu gönder ve app-server - thread'inin resume edebildiğini doğrula - - `/codex status` ve `/codex models` komutlarını aynı gateway komut - yolu üzerinden çalıştır - - isteğe bağlı olarak Guardian tarafından gözden geçirilen iki yükseltilmiş shell probe'u çalıştır: onaylanması gereken zararsız bir - komut ve agent'ın geri sorması için reddedilmesi gereken sahte-gizli yükleme + - `codex/gpt-5.4` için ilk Gateway agent dönüşünü gönder + - aynı OpenClaw oturumuna ikinci bir dönüş gönder ve app-server + thread'inin devam edebildiğini doğrula + - aynı Gateway komut yolu üzerinden `/codex status` ve `/codex models` + komutlarını çalıştır + - isteğe bağlı olarak Guardian tarafından incelenen iki yükseltilmiş shell probe'u çalıştır: onaylanması gereken zararsız bir + komut ve agent'ın geri sorması için reddedilmesi gereken sahte bir gizli veri yükleme işlemi - Test: `src/gateway/gateway-codex-harness.live.test.ts` - Etkinleştirme: `OPENCLAW_LIVE_CODEX_HARNESS=1` - Varsayılan model: `codex/gpt-5.4` @@ -658,9 +643,9 @@ Docker notları: - İsteğe bağlı MCP/tool probe: `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1` - İsteğe bağlı Guardian probe: `OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1` - Smoke testi `OPENCLAW_AGENT_HARNESS_FALLBACK=none` ayarlar; böylece bozuk bir Codex - harness'i sessizce PI'ye fallback yaparak geçemez. -- Auth: shell/profile içinden `OPENAI_API_KEY`, artı isteğe bağlı kopyalanmış - `~/.codex/auth.json` ve `~/.codex/config.toml` + harness'i sessizce PI'ye düşerek başarılı görünemez. +- Auth: shell/profile üzerinden `OPENAI_API_KEY` ve isteğe bağlı olarak kopyalanmış + `~/.codex/auth.json` ile `~/.codex/config.toml` Yerel tarif: @@ -683,30 +668,29 @@ pnpm test:docker:live-codex-harness Docker notları: -- Docker çalıştırıcısı `scripts/test-live-codex-harness-docker.sh` konumunda bulunur. -- Bağlanmış `~/.profile` dosyasını kaynaklar, `OPENAI_API_KEY` geçirir, varsa Codex CLI - auth dosyalarını kopyalar, `@openai/codex` paketini yazılabilir bağlanmış npm - önekine kurar, kaynak ağacını hazırlar, sonra yalnızca Codex-harness live testini çalıştırır. -- Docker varsayılan olarak image, MCP/tool ve Guardian probe'larını etkinleştirir. - Daha dar bir hata ayıklama - çalıştırmasına ihtiyaç duyduğunuzda `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0`, - `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0` veya +- Docker çalıştırıcısı `scripts/test-live-codex-harness-docker.sh` konumundadır. +- Bağlı `~/.profile` dosyasını kaynak olarak yükler, `OPENAI_API_KEY` geçirir, varsa Codex CLI + auth dosyalarını kopyalar, `@openai/codex` paketini yazılabilir bağlı bir npm + önekine kurar, kaynak ağacı hazırlar ve ardından yalnızca Codex-harness live testini çalıştırır. +- Docker varsayılan olarak image, MCP/tool ve Guardian probelarını etkinleştirir. Daha dar bir hata ayıklama + çalıştırması gerektiğinde `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0` veya + `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0` ya da `OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0` ayarlayın. -- Docker ayrıca `OPENCLAW_AGENT_HARNESS_FALLBACK=none` dışa aktarır; bu live - test config'i ile eşleşir, böylece `openai-codex/*` veya PI fallback bir Codex harness +- Docker ayrıca `OPENCLAW_AGENT_HARNESS_FALLBACK=none` dışa aktarır; bu da live + test yapılandırmasıyla eşleşir, böylece `openai-codex/*` veya PI fallback bir Codex harness regresyonunu gizleyemez. ### Önerilen live tarifleri -Dar, açık allowlist'ler en hızlı ve en az oynaktır: +Dar, açık allowlist'ler en hızlı ve en az kararsız olanlardır: -- Tek model, doğrudan (gateway yok): +- Tek model, doğrudan (Gateway yok): - `OPENCLAW_LIVE_MODELS="openai/gpt-5.4" pnpm test:live src/agents/models.profiles.live.test.ts` -- Tek model, gateway smoke: +- Tek model, Gateway smoke: - `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.4" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` -- Birkaç sağlayıcı arasında tool calling: +- Birkaç sağlayıcı arasında araç çağırma: - `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.4,anthropic/claude-opus-4-6,google/gemini-3-flash-preview,zai/glm-4.7,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` - Google odağı (Gemini API anahtarı + Antigravity): @@ -716,21 +700,21 @@ Dar, açık allowlist'ler en hızlı ve en az oynaktır: Notlar: - `google/...` Gemini API'sini kullanır (API anahtarı). -- `google-antigravity/...` Antigravity OAuth köprüsünü kullanır (Cloud Code Assist tarzı agent uç noktası). -- `google-gemini-cli/...` makinenizdeki yerel Gemini CLI'yi kullanır (ayrı auth + tooling tuhaflıkları). -- Gemini API ile Gemini CLI: +- `google-antigravity/...` Antigravity OAuth köprüsünü kullanır (Cloud Code Assist tarzı agent endpoint'i). +- `google-gemini-cli/...` makinenizdeki yerel Gemini CLI'yi kullanır (ayrı auth + araçlama tuhaflıkları). +- Gemini API ve Gemini CLI: - API: OpenClaw, Google'ın barındırılan Gemini API'sini HTTP üzerinden çağırır (API anahtarı / profil auth); çoğu kullanıcının “Gemini” derken kastettiği budur. - - CLI: OpenClaw yerel `gemini` ikili dosyasını shell üzerinden çağırır; bunun kendi auth'u vardır ve farklı davranabilir (streaming/tool desteği/sürüm kayması). + - CLI: OpenClaw, yerel bir `gemini` ikilisine shell çıkışı yapar; kendi auth yapısına sahiptir ve farklı davranabilir (streaming/tool desteği/sürüm kayması). -## Live: model matriksi (neleri kapsıyoruz) +## Live: model matrisi (neyi kapsıyoruz) -Sabit bir “CI model listesi” yoktur (live isteğe bağlıdır), ancak bunlar anahtarları olan bir geliştirme makinesinde düzenli kapsanması **önerilen** modellerdir. +Sabit bir “CI model listesi” yoktur (live isteğe bağlıdır), ancak anahtarları olan bir geliştirme makinesinde düzenli olarak kapsanması **önerilen** modeller bunlardır. -### Modern smoke kümesi (tool calling + image) +### Modern smoke kümesi (araç çağırma + image) -Bu, çalışmaya devam etmesini beklediğimiz “yaygın modeller” çalıştırmasıdır: +Bu, çalışır durumda tutmayı beklediğimiz “yaygın modeller” çalıştırmasıdır: -- OpenAI (Codex olmayan): `openai/gpt-5.4` (isteğe bağlı: `openai/gpt-5.4-mini`) +- OpenAI (Codex dışı): `openai/gpt-5.4` (isteğe bağlı: `openai/gpt-5.4-mini`) - OpenAI Codex: `openai-codex/gpt-5.4` - Anthropic: `anthropic/claude-opus-4-6` (veya `anthropic/claude-sonnet-4-6`) - Google (Gemini API): `google/gemini-3.1-pro-preview` ve `google/gemini-3-flash-preview` (eski Gemini 2.x modellerinden kaçının) @@ -738,12 +722,12 @@ Bu, çalışmaya devam etmesini beklediğimiz “yaygın modeller” çalıştı - Z.AI (GLM): `zai/glm-4.7` - MiniMax: `minimax/MiniMax-M2.7` -Tools + image ile gateway smoke testi çalıştırın: +Araçlar + image ile Gateway smoke çalıştırması: `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.4,openai-codex/gpt-5.4,anthropic/claude-opus-4-6,google/gemini-3.1-pro-preview,google/gemini-3-flash-preview,google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-flash,zai/glm-4.7,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` -### Temel: tool calling (Read + isteğe bağlı Exec) +### Temel çizgi: araç çağırma (Read + isteğe bağlı Exec) -Sağlayıcı ailesi başına en az bir tane seçin: +Her sağlayıcı ailesinden en az birini seçin: - OpenAI: `openai/gpt-5.4` (veya `openai/gpt-5.4-mini`) - Anthropic: `anthropic/claude-opus-4-6` (veya `anthropic/claude-sonnet-4-6`) @@ -753,44 +737,44 @@ Sağlayıcı ailesi başına en az bir tane seçin: İsteğe bağlı ek kapsam (olsa iyi olur): -- xAI: `xai/grok-4` (veya mevcut en yeni) +- xAI: `xai/grok-4` (veya mevcut en yeni sürüm) - Mistral: `mistral/`… (etkinleştirdiğiniz “tools” yetenekli bir model seçin) - Cerebras: `cerebras/`… (erişiminiz varsa) -- LM Studio: `lmstudio/`… (yerel; tool calling API moduna bağlıdır) +- LM Studio: `lmstudio/`… (yerel; araç çağırma API moduna bağlıdır) -### Vision: image send (ek → multimodal mesaj) +### Vision: image gönderme (ek → çok modlu mesaj) -Image probe'unu çalıştırmak için `OPENCLAW_LIVE_GATEWAY_MODELS` içine en az bir image-capable model ekleyin (Claude/Gemini/OpenAI vision-capable varyantları vb.). +Image probe'unu çalıştırmak için `OPENCLAW_LIVE_GATEWAY_MODELS` içine en az bir image yetenekli model ekleyin (Claude/Gemini/OpenAI vision yetenekli varyantları vb.). -### Aggregator'lar / alternatif gateway'ler +### Toplayıcılar / alternatif Gateway'ler -Anahtarlarınız etkinse şunlar üzerinden test etmeyi de destekliyoruz: +Anahtarlarınız etkinse, şunlar üzerinden test etmeyi de destekliyoruz: -- OpenRouter: `openrouter/...` (yüzlerce model; tools+image yetenekli adayları bulmak için `openclaw models scan` kullanın) -- OpenCode: Zen için `opencode/...`, Go için `opencode-go/...` (`OPENCODE_API_KEY` / `OPENCODE_ZEN_API_KEY` ile auth) +- OpenRouter: `openrouter/...` (yüzlerce model; tool+image yetenekli adayları bulmak için `openclaw models scan` kullanın) +- OpenCode: Zen için `opencode/...` ve Go için `opencode-go/...` (auth: `OPENCODE_API_KEY` / `OPENCODE_ZEN_API_KEY`) -Kimlik bilgileriniz/config'iniz varsa live matrikse dahil edebileceğiniz daha fazla sağlayıcı: +Live matrisine ekleyebileceğiniz daha fazla sağlayıcı (kimlik bilgileriniz/config'iniz varsa): - Yerleşik: `openai`, `openai-codex`, `anthropic`, `google`, `google-vertex`, `google-antigravity`, `google-gemini-cli`, `zai`, `openrouter`, `opencode`, `opencode-go`, `xai`, `groq`, `cerebras`, `mistral`, `github-copilot` -- `models.providers` üzerinden (özel uç noktalar): `minimax` (bulut/API), artı herhangi bir OpenAI/Anthropic uyumlu proxy (LM Studio, vLLM, LiteLLM vb.) +- `models.providers` üzerinden (özel endpoint'ler): `minimax` (bulut/API) ve ayrıca OpenAI/Anthropic uyumlu herhangi bir proxy (LM Studio, vLLM, LiteLLM vb.) -İpucu: belgelerde “tüm modelleri” sabit kodlamaya çalışmayın. Yetkili liste, makinenizde `discoverModels(...)` ne döndürüyorsa ve hangi anahtarlar kullanılabiliyorsa odur. +İpucu: Dokümanlarda “tüm modelleri” sabit kodlamaya çalışmayın. Otoriter liste, makinenizde `discoverModels(...)` ne döndürüyorsa ve hangi anahtarlar mevcutsa odur. ## Kimlik bilgileri (asla commit etmeyin) Live testler kimlik bilgilerini CLI ile aynı şekilde keşfeder. Pratik sonuçlar: -- CLI çalışıyorsa live testler aynı anahtarları bulmalıdır. -- Bir live test “kimlik bilgisi yok” diyorsa bunu `openclaw models list` / model seçimini ayıklayacağınız şekilde ayıklayın. +- CLI çalışıyorsa, live testler de aynı anahtarları bulmalıdır. +- Bir live test “kimlik bilgisi yok” diyorsa, bunu `openclaw models list` / model seçimi hata ayıklamasıyla aynı şekilde ayıklayın. -- Agent başına auth profilleri: `~/.openclaw/agents//agent/auth-profiles.json` (live testlerde “profil anahtarları” denilen budur) +- Agent başına auth profilleri: `~/.openclaw/agents//agent/auth-profiles.json` (live testlerde “profil anahtarları” denince kastedilen budur) - Config: `~/.openclaw/openclaw.json` (veya `OPENCLAW_CONFIG_PATH`) - Eski durum dizini: `~/.openclaw/credentials/` (varsa hazırlanan live ana dizinine kopyalanır, ancak ana profil-anahtarı deposu değildir) -- Live yerel çalıştırmalar etkin config'i, agent başına `auth-profiles.json` dosyalarını, eski `credentials/` dizinini ve desteklenen harici CLI auth dizinlerini varsayılan olarak geçici bir test ana dizinine kopyalar; hazırlanan live ana dizinleri `workspace/` ve `sandboxes/` dizinlerini atlar ve probe'ların gerçek ana makine çalışma alanınıza gitmemesi için `agents.*.workspace` / `agentDir` yol geçersiz kılmaları temizlenir. +- Live yerel çalıştırmalar varsayılan olarak etkin config'i, agent başına `auth-profiles.json` dosyalarını, eski `credentials/` dizinini ve desteklenen harici CLI auth dizinlerini geçici bir test ana dizinine kopyalar; hazırlanan live ana dizinleri `workspace/` ve `sandboxes/` dizinlerini atlar ve `agents.*.workspace` / `agentDir` yol geçersiz kılmaları kaldırılır; böylece probelar gerçek ana makine çalışma alanınızdan uzak durur. -Env anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde export edilmişse), yerel testleri `source ~/.profile` sonrasında çalıştırın veya aşağıdaki Docker çalıştırıcılarını kullanın (bunlar `~/.profile` dosyasını container içine bağlayabilir). +Env anahtarlarına güvenmek istiyorsanız (`~/.profile` içinde dışa aktarılmış olanlar gibi), yerel testleri `source ~/.profile` sonrasında çalıştırın veya aşağıdaki Docker çalıştırıcılarını kullanın (bunlar `~/.profile` dosyasını container içine bağlayabilir). -## Deepgram live (ses yazıya çevirme) +## Deepgram live (ses transkripsiyonu) - Test: `extensions/deepgram/audio.live.test.ts` - Etkinleştirme: `DEEPGRAM_API_KEY=... DEEPGRAM_LIVE_TEST=1 pnpm test:live extensions/deepgram/audio.live.test.ts` @@ -799,16 +783,16 @@ Env anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde expor - Test: `extensions/byteplus/live.test.ts` - Etkinleştirme: `BYTEPLUS_API_KEY=... BYTEPLUS_LIVE_TEST=1 pnpm test:live extensions/byteplus/live.test.ts` -- İsteğe bağlı model geçersiz kılması: `BYTEPLUS_CODING_MODEL=ark-code-latest` +- İsteğe bağlı model geçersiz kılma: `BYTEPLUS_CODING_MODEL=ark-code-latest` -## ComfyUI iş akışı medya live +## ComfyUI workflow media live - Test: `extensions/comfy/comfy.live.test.ts` - Etkinleştirme: `OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts` - Kapsam: - Paketlenmiş comfy image, video ve `music_generate` yollarını çalıştırır - - `models.providers.comfy.` yapılandırılmadıkça her yeteneği atlar - - Comfy iş akışı gönderimi, polling, indirme veya Plugin kaydını değiştirdikten sonra yararlıdır + - `models.providers.comfy.` yapılandırılmamışsa her yeteneği atlar + - Comfy workflow gönderimi, polling, indirmeler veya plugin kaydını değiştirdikten sonra kullanışlıdır ## Image generation live @@ -816,16 +800,16 @@ Env anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde expor - Komut: `pnpm test:live test/image-generation.runtime.live.test.ts` - Harness: `pnpm test:live:media image` - Kapsam: - - Kayıtlı her image-generation sağlayıcı Plugin'ini numaralandırır - - Probe'dan önce eksik sağlayıcı env değişkenlerini giriş kabuğunuzdan (`~/.profile`) yükler - - Varsayılan olarak saklanan auth profillerinden önce live/env API anahtarlarını kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek kabuk kimlik bilgilerini maskelemez - - Kullanılabilir auth/profil/modeli olmayan sağlayıcıları atlar - - Stok image-generation varyantlarını paylaşılan çalışma zamanı yeteneği üzerinden çalıştırır: + - Kayıtlı her image-generation sağlayıcı plugin'ini listeler + - Probe çalıştırmadan önce eksik sağlayıcı env değişkenlerini giriş shell'inizden (`~/.profile`) yükler + - Varsayılan olarak saklanan auth profillerinden önce live/env API anahtarlarını kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez + - Kullanılabilir auth/profil/model olmayan sağlayıcıları atlar + - Standart image-generation varyantlarını paylaşılan runtime yeteneği üzerinden çalıştırır: - `google:flash-generate` - `google:pro-generate` - `google:pro-edit` - `openai:default-generate` -- Şu anda kapsanan paketlenmiş sağlayıcılar: +- Kapsanan mevcut paketlenmiş sağlayıcılar: - `fal` - `google` - `minimax` @@ -837,7 +821,7 @@ Env anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde expor - `OPENCLAW_LIVE_IMAGE_GENERATION_MODELS="openai/gpt-image-2,google/gemini-3.1-flash-image-preview,xai/grok-imagine-image"` - `OPENCLAW_LIVE_IMAGE_GENERATION_CASES="google:flash-generate,google:pro-edit,xai:default-generate,xai:default-edit"` - İsteğe bağlı auth davranışı: - - Yalnızca profil deposu auth'unu zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` + - Profil deposu auth'unu zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` ## Music generation live @@ -847,13 +831,13 @@ Env anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde expor - Kapsam: - Paylaşılan paketlenmiş music-generation sağlayıcı yolunu çalıştırır - Şu anda Google ve MiniMax'ı kapsar - - Probe'dan önce sağlayıcı env değişkenlerini giriş kabuğunuzdan (`~/.profile`) yükler - - Varsayılan olarak saklanan auth profillerinden önce live/env API anahtarlarını kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek kabuk kimlik bilgilerini maskelemez - - Kullanılabilir auth/profil/modeli olmayan sağlayıcıları atlar - - Kullanılabilir olduğunda her iki bildirilmiş çalışma zamanı modunu da çalıştırır: - - prompt-only girdi ile `generate` - - sağlayıcı `capabilities.edit.enabled` bildirirse `edit` - - Geçerli paylaşılan hat kapsamı: + - Probe çalıştırmadan önce sağlayıcı env değişkenlerini giriş shell'inizden (`~/.profile`) yükler + - Varsayılan olarak saklanan auth profillerinden önce live/env API anahtarlarını kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez + - Kullanılabilir auth/profil/model olmayan sağlayıcıları atlar + - Mevcut olduğunda bildirilen iki runtime modunu da çalıştırır: + - Yalnızca prompt girdisiyle `generate` + - Sağlayıcı `capabilities.edit.enabled` bildiriyorsa `edit` + - Mevcut paylaşılan hat kapsamı: - `google`: `generate`, `edit` - `minimax`: `generate` - `comfy`: ayrı Comfy live dosyası, bu paylaşılan tarama değil @@ -861,7 +845,7 @@ Env anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde expor - `OPENCLAW_LIVE_MUSIC_GENERATION_PROVIDERS="google,minimax"` - `OPENCLAW_LIVE_MUSIC_GENERATION_MODELS="google/lyria-3-clip-preview,minimax/music-2.5+"` - İsteğe bağlı auth davranışı: - - Yalnızca profil deposu auth'unu zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` + - Profil deposu auth'unu zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` ## Video generation live @@ -870,41 +854,41 @@ Env anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde expor - Harness: `pnpm test:live:media video` - Kapsam: - Paylaşılan paketlenmiş video-generation sağlayıcı yolunu çalıştırır - - Yayına güvenli smoke yolunu varsayılan alır: FAL olmayan sağlayıcılar, sağlayıcı başına bir text-to-video isteği, bir saniyelik ıstakoz prompt'u ve `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS` içinden sağlayıcı başına işlem sınırı (varsayılan `180000`) - - Yayın süresine sağlayıcı tarafı kuyruk gecikmesi baskın gelebileceği için varsayılan olarak FAL'ı atlar; bunu açıkça çalıştırmak için `--video-providers fal` veya `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"` geçin - - Probe'dan önce sağlayıcı env değişkenlerini giriş kabuğunuzdan (`~/.profile`) yükler - - Varsayılan olarak saklanan auth profillerinden önce live/env API anahtarlarını kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek kabuk kimlik bilgilerini maskelemez - - Kullanılabilir auth/profil/modeli olmayan sağlayıcıları atlar + - Varsayılan olarak sürüm için güvenli smoke yolunu kullanır: FAL dışı sağlayıcılar, sağlayıcı başına bir text-to-video isteği, bir saniyelik ıstakoz prompt'u ve `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS` üzerinden sağlayıcı başına işlem sınırı (varsayılan `180000`) + - Sağlayıcı tarafı kuyruk gecikmesi sürüm süresine baskın gelebileceği için FAL varsayılan olarak atlanır; açıkça çalıştırmak için `--video-providers fal` veya `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"` verin + - Probe çalıştırmadan önce sağlayıcı env değişkenlerini giriş shell'inizden (`~/.profile`) yükler + - Varsayılan olarak saklanan auth profillerinden önce live/env API anahtarlarını kullanır; böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez + - Kullanılabilir auth/profil/model olmayan sağlayıcıları atlar - Varsayılan olarak yalnızca `generate` çalıştırır - - Kullanılabilir olduğunda bildirilen dönüşüm modlarını da çalıştırmak için `OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1` ayarlayın: - - Sağlayıcı `capabilities.imageToVideo.enabled` bildiriyorsa ve seçilen sağlayıcı/model paylaşılan taramada buffer destekli yerel görsel girdisini kabul ediyorsa `imageToVideo` + - Kullanılabilir olduğunda bildirilen dönüştürme modlarını da çalıştırmak için `OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1` ayarlayın: + - Sağlayıcı `capabilities.imageToVideo.enabled` bildiriyorsa ve seçilen sağlayıcı/model paylaşılan taramada buffer destekli yerel image girdisini kabul ediyorsa `imageToVideo` - Sağlayıcı `capabilities.videoToVideo.enabled` bildiriyorsa ve seçilen sağlayıcı/model paylaşılan taramada buffer destekli yerel video girdisini kabul ediyorsa `videoToVideo` - - Paylaşılan taramada şu anda bildirilmiş ama atlanan `imageToVideo` sağlayıcıları: - - `vydra`, çünkü paketlenmiş `veo3` yalnızca metindir ve paketlenmiş `kling` uzak bir görsel URL'si gerektirir - - Sağlayıcıya özel Vydra kapsamı: + - Paylaşılan taramadaki mevcut bildirilen ama atlanan `imageToVideo` sağlayıcıları: + - `vydra`, çünkü paketlenmiş `veo3` yalnızca metin destekler ve paketlenmiş `kling` uzak image URL'si gerektirir + - Sağlayıcıya özgü Vydra kapsamı: - `OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_VYDRA_VIDEO=1 pnpm test:live -- extensions/vydra/vydra.live.test.ts` - - bu dosya varsayılan olarak `veo3` text-to-video artı uzak görsel URL fixture'ı kullanan bir `kling` hattı çalıştırır - - Geçerli `videoToVideo` live kapsamı: + - bu dosya varsayılan olarak `veo3` text-to-video ile uzak image URL fixture kullanan bir `kling` hattı çalıştırır + - Mevcut `videoToVideo` live kapsamı: - yalnızca seçilen model `runway/gen4_aleph` olduğunda `runway` - - Paylaşılan taramada şu anda bildirilmiş ama atlanan `videoToVideo` sağlayıcıları: + - Paylaşılan taramadaki mevcut bildirilen ama atlanan `videoToVideo` sağlayıcıları: - `alibaba`, `qwen`, `xai`, çünkü bu yollar şu anda uzak `http(s)` / MP4 referans URL'leri gerektiriyor - - `google`, çünkü geçerli paylaşılan Gemini/Veo hattı yerel buffer destekli girdi kullanıyor ve bu yol paylaşılan taramada kabul edilmiyor - - `openai`, çünkü geçerli paylaşılan hatta org'a özgü video inpaint/remix erişim garantileri yok + - `google`, çünkü mevcut paylaşılan Gemini/Veo hattı yerel buffer destekli girdi kullanıyor ve bu yol paylaşılan taramada kabul edilmiyor + - `openai`, çünkü mevcut paylaşılan hat org'a özgü video inpaint/remix erişim garantilerine sahip değil - İsteğe bağlı daraltma: - `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="google,openai,runway"` - `OPENCLAW_LIVE_VIDEO_GENERATION_MODELS="google/veo-3.1-fast-generate-preview,openai/sora-2,runway/gen4_aleph"` - - Varsayılan taramada FAL dahil her sağlayıcıyı dahil etmek için `OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""` + - Varsayılan taramadaki her sağlayıcıyı, FAL dahil, dahil etmek için `OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""` - Agresif bir smoke çalıştırması için sağlayıcı başına işlem sınırını azaltmak üzere `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000` - İsteğe bağlı auth davranışı: - - Yalnızca profil deposu auth'unu zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` + - Profil deposu auth'unu zorlamak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` -## Medya live harness +## Media live harness - Komut: `pnpm test:live:media` - Amaç: - - Paylaşılan image, music ve video live paketlerini depo yerel tek bir giriş noktası üzerinden çalıştırır - - Eksik sağlayıcı env değişkenlerini `~/.profile` içinden otomatik yükler - - Varsayılan olarak her paketi şu anda kullanılabilir auth'a sahip sağlayıcılara otomatik daraltır + - Paylaşılan image, music ve video live paketlerini tek bir depoya özgü giriş noktası üzerinden çalıştırır + - Eksik sağlayıcı env değişkenlerini `~/.profile` dosyasından otomatik yükler + - Varsayılan olarak her paketi şu anda kullanılabilir auth'a sahip sağlayıcılara otomatik olarak daraltır - `scripts/test-live.mjs` dosyasını yeniden kullanır; böylece Heartbeat ve sessiz mod davranışı tutarlı kalır - Örnekler: - `pnpm test:live:media` @@ -914,211 +898,213 @@ Env anahtarlarına güvenmek istiyorsanız (örneğin `~/.profile` içinde expor ## Docker çalıştırıcıları (isteğe bağlı “Linux'ta çalışıyor” denetimleri) -Bu Docker çalıştırıcıları iki kümeye ayrılır: +Bu Docker çalıştırıcıları iki kovaya ayrılır: -- Live-model çalıştırıcıları: `test:docker:live-models` ve `test:docker:live-gateway`, eşleşen profile-key live dosyalarını yalnızca depo Docker imajı içinde çalıştırır (`src/agents/models.profiles.live.test.ts` ve `src/gateway/gateway-models.profiles.live.test.ts`), yerel config dizininizi ve çalışma alanınızı bağlar (ve bağlanmışsa `~/.profile` dosyasını kaynaklar). Eşleşen yerel giriş noktaları `test:live:models-profiles` ve `test:live:gateway-profiles`'tır. -- Docker live çalıştırıcıları varsayılan olarak daha küçük bir smoke üst sınırına sahiptir ki tam Docker taraması pratik kalsın: - `test:docker:live-models` varsayılan olarak `OPENCLAW_LIVE_MAX_MODELS=12`, - `test:docker:live-gateway` ise varsayılan olarak `OPENCLAW_LIVE_GATEWAY_SMOKE=1`, +- Live-model çalıştırıcıları: `test:docker:live-models` ve `test:docker:live-gateway`, yalnızca eşleşen profil-anahtarı live dosyalarını depo Docker imajı içinde çalıştırır (`src/agents/models.profiles.live.test.ts` ve `src/gateway/gateway-models.profiles.live.test.ts`), yerel config dizininizi ve çalışma alanınızı bağlar (ve bağlıysa `~/.profile` dosyasını kaynak olarak yükler). Eşleşen yerel giriş noktaları `test:live:models-profiles` ve `test:live:gateway-profiles` öğeleridir. +- Docker live çalıştırıcıları varsayılan olarak daha küçük bir smoke sınırı kullanır; böylece tam Docker taraması pratik kalır: + `test:docker:live-models`, varsayılan olarak `OPENCLAW_LIVE_MAX_MODELS=12` kullanır ve + `test:docker:live-gateway`, varsayılan olarak `OPENCLAW_LIVE_GATEWAY_SMOKE=1`, `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=8`, `OPENCLAW_LIVE_GATEWAY_STEP_TIMEOUT_MS=45000` ve - `OPENCLAW_LIVE_GATEWAY_MODEL_TIMEOUT_MS=90000` kullanır. Özellikle daha büyük kapsamlı taramayı istediğinizde bu env değişkenlerini geçersiz kılın. -- `test:docker:all`, live Docker imajını bir kez `test:docker:live-build` ile oluşturur, sonra bunu iki live Docker hattı için yeniden kullanır. Ayrıca `test:docker:e2e-build` ile tek bir paylaşılan `scripts/e2e/Dockerfile` imajı oluşturur ve derlenmiş uygulamayı çalıştıran E2E container smoke çalıştırıcıları için bunu yeniden kullanır. -- Container smoke çalıştırıcıları: `test:docker:openwebui`, `test:docker:onboard`, `test:docker:npm-onboard-channel-agent`, `test:docker:gateway-network`, `test:docker:mcp-channels`, `test:docker:pi-bundle-mcp-tools`, `test:docker:cron-mcp-cleanup`, `test:docker:plugins`, `test:docker:plugin-update` ve `test:docker:config-reload`, bir veya daha fazla gerçek container başlatır ve daha üst seviye integration yollarını doğrular. + `OPENCLAW_LIVE_GATEWAY_MODEL_TIMEOUT_MS=90000` kullanır. Daha büyük kapsamlı taramayı + özellikle istediğinizde bu env değişkenlerini geçersiz kılın. +- `test:docker:all`, live Docker imajını bir kez `test:docker:live-build` ile oluşturur, sonra bunu iki live Docker hattı için yeniden kullanır. Ayrıca built app'i çalıştıran E2E container smoke çalıştırıcıları için bir paylaşılan `scripts/e2e/Dockerfile` imajını `test:docker:e2e-build` ile bir kez oluşturur ve yeniden kullanır. +- Container smoke çalıştırıcıları: `test:docker:openwebui`, `test:docker:onboard`, `test:docker:npm-onboard-channel-agent`, `test:docker:gateway-network`, `test:docker:mcp-channels`, `test:docker:pi-bundle-mcp-tools`, `test:docker:cron-mcp-cleanup`, `test:docker:plugins`, `test:docker:plugin-update` ve `test:docker:config-reload`, bir veya daha fazla gerçek container başlatır ve daha üst düzey entegrasyon yollarını doğrular. -Live-model Docker çalıştırıcıları ayrıca yalnızca gereken CLI auth ana dizinlerini bağlar (veya çalıştırma daraltılmamışsa desteklenenlerin tümünü), sonra çalıştırmadan önce bunları container ana dizinine kopyalar; böylece harici-CLI OAuth, ana makine auth deposunu değiştirmeden token yenileyebilir: +Live-model Docker çalıştırıcıları ayrıca yalnızca gereken CLI auth ana dizinlerini bağlayarak mount eder (veya çalıştırma daraltılmamışsa desteklenenlerin tümünü), ardından çalıştırma öncesinde bunları container ana dizinine kopyalar; böylece harici CLI OAuth, ana makine auth deposunu değiştirmeden token'ları yenileyebilir: - Doğrudan modeller: `pnpm test:docker:live-models` (betik: `scripts/test-live-models-docker.sh`) -- ACP bağlama smoke testi: `pnpm test:docker:live-acp-bind` (betik: `scripts/test-live-acp-bind-docker.sh`) -- CLI arka uç smoke testi: `pnpm test:docker:live-cli-backend` (betik: `scripts/test-live-cli-backend-docker.sh`) -- Codex app-server harness smoke testi: `pnpm test:docker:live-codex-harness` (betik: `scripts/test-live-codex-harness-docker.sh`) -- Gateway + geliştirme agent'ı: `pnpm test:docker:live-gateway` (betik: `scripts/test-live-gateway-models-docker.sh`) -- Open WebUI live smoke testi: `pnpm test:docker:openwebui` (betik: `scripts/e2e/openwebui-docker.sh`) -- Onboarding sihirbazı (TTY, tam iskele): `pnpm test:docker:onboard` (betik: `scripts/e2e/onboard-docker.sh`) -- Npm tarball onboarding/channel/agent smoke testi: `pnpm test:docker:npm-onboard-channel-agent`, paketlenmiş OpenClaw tarball'unu Docker içinde global kurar, env-ref onboarding artı varsayılan Telegram ile OpenAI yapılandırır, Plugin etkinleştirmenin çalışma zamanı bağımlılıklarını gerektiğinde kurduğunu doğrular, doctor çalıştırır ve mock bir OpenAI agent turu çalıştırır. Önceden derlenmiş bir tarball'u `OPENCLAW_NPM_ONBOARD_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile yeniden kullanın, ana makine yeniden derlemesini `OPENCLAW_NPM_ONBOARD_HOST_BUILD=0` ile atlayın veya kanalı `OPENCLAW_NPM_ONBOARD_CHANNEL=discord` ile değiştirin. -- Gateway ağı (iki container, WS auth + sağlık): `pnpm test:docker:gateway-network` (betik: `scripts/e2e/gateway-network-docker.sh`) -- OpenAI Responses web_search minimal reasoning regresyonu: `pnpm test:docker:openai-web-search-minimal` (betik: `scripts/e2e/openai-web-search-minimal-docker.sh`) mock bir OpenAI sunucusunu Gateway üzerinden çalıştırır, `web_search`'ün `reasoning.effort` değerini `minimal`'den `low`'a yükselttiğini doğrular, sonra sağlayıcı şema reddini zorlar ve ham ayrıntının Gateway günlüklerinde göründüğünü denetler. -- MCP kanal köprüsü (tohumlanmış Gateway + stdio köprüsü + ham Claude bildirim-çerçevesi smoke testi): `pnpm test:docker:mcp-channels` (betik: `scripts/e2e/mcp-channels-docker.sh`) -- Pi paket MCP tools'ları (gerçek stdio MCP sunucusu + gömülü Pi profil izin/verme reddetme smoke testi): `pnpm test:docker:pi-bundle-mcp-tools` (betik: `scripts/e2e/pi-bundle-mcp-tools-docker.sh`) -- Cron/subagent MCP temizliği (gerçek Gateway + yalıtılmış Cron ve tek seferlik subagent çalıştırmaları sonrası stdio MCP alt süreci kapatma): `pnpm test:docker:cron-mcp-cleanup` (betik: `scripts/e2e/cron-mcp-cleanup-docker.sh`) -- Plugins (kurulum smoke testi + `/plugin` takma adı + Claude-paket yeniden başlatma semantiği): `pnpm test:docker:plugins` (betik: `scripts/e2e/plugins-docker.sh`) -- Plugin update unchanged smoke testi: `pnpm test:docker:plugin-update` (betik: `scripts/e2e/plugin-update-unchanged-docker.sh`) -- Config reload metadata smoke testi: `pnpm test:docker:config-reload` (betik: `scripts/e2e/config-reload-source-docker.sh`) -- Paketlenmiş Plugin çalışma zamanı bağımlılıkları: `pnpm test:docker:bundled-channel-deps`, varsayılan olarak küçük bir Docker çalıştırıcı imajı oluşturur, OpenClaw'ı ana makinede bir kez derleyip paketler, sonra o tarball'u her Linux kurulum senaryosuna bağlar. İmajı `OPENCLAW_SKIP_DOCKER_BUILD=1` ile yeniden kullanın, yeni bir yerel derlemeden sonra ana makine yeniden derlemesini `OPENCLAW_BUNDLED_CHANNEL_HOST_BUILD=0` ile atlayın veya mevcut bir tarball'u `OPENCLAW_BUNDLED_CHANNEL_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile işaret edin. -- Yineleme yaparken ilişkisiz senaryoları devre dışı bırakarak paketlenmiş Plugin çalışma zamanı bağımlılıklarını daraltın, örneğin: +- ACP bind smoke: `pnpm test:docker:live-acp-bind` (betik: `scripts/test-live-acp-bind-docker.sh`) +- CLI backend smoke: `pnpm test:docker:live-cli-backend` (betik: `scripts/test-live-cli-backend-docker.sh`) +- Codex app-server harness smoke: `pnpm test:docker:live-codex-harness` (betik: `scripts/test-live-codex-harness-docker.sh`) +- Gateway + dev agent: `pnpm test:docker:live-gateway` (betik: `scripts/test-live-gateway-models-docker.sh`) +- Open WebUI live smoke: `pnpm test:docker:openwebui` (betik: `scripts/e2e/openwebui-docker.sh`) +- Onboarding sihirbazı (TTY, tam iskelet kurulum): `pnpm test:docker:onboard` (betik: `scripts/e2e/onboard-docker.sh`) +- Npm tarball onboarding/channel/agent smoke: `pnpm test:docker:npm-onboard-channel-agent`, paketlenmiş OpenClaw tarball'ını Docker içinde global olarak kurar, varsayılan olarak env-ref onboarding artı Telegram ile OpenAI'ı yapılandırır, plugin etkinleştirmenin çalışma zamanı bağımlılıklarını gerektiğinde kurduğunu doğrular, doctor çalıştırır ve sahte bir OpenAI agent dönüşü çalıştırır. Önceden oluşturulmuş bir tarball'ı `OPENCLAW_NPM_ONBOARD_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile yeniden kullanın, ana makine yeniden yapısını `OPENCLAW_NPM_ONBOARD_HOST_BUILD=0` ile atlayın veya channel'ı `OPENCLAW_NPM_ONBOARD_CHANNEL=discord` ile değiştirin. +- Gateway ağ iletişimi (iki container, WS auth + sağlık): `pnpm test:docker:gateway-network` (betik: `scripts/e2e/gateway-network-docker.sh`) +- OpenAI Responses `web_search` minimal reasoning regresyonu: `pnpm test:docker:openai-web-search-minimal` (betik: `scripts/e2e/openai-web-search-minimal-docker.sh`) sahte bir OpenAI sunucusunu Gateway üzerinden çalıştırır, `web_search` öğesinin `reasoning.effort` değerini `minimal`'dan `low`'a yükselttiğini doğrular, ardından sağlayıcı şema reddini zorlar ve ham ayrıntının Gateway günlüklerinde göründüğünü denetler. +- MCP channel bridge (tohumlanmış Gateway + stdio bridge + ham Claude bildirim-frame smoke): `pnpm test:docker:mcp-channels` (betik: `scripts/e2e/mcp-channels-docker.sh`) +- Pi bundle MCP araçları (gerçek stdio MCP sunucusu + gömülü Pi profil allow/deny smoke): `pnpm test:docker:pi-bundle-mcp-tools` (betik: `scripts/e2e/pi-bundle-mcp-tools-docker.sh`) +- Cron/subagent MCP temizliği (yalıtılmış Cron ve tek seferlik subagent çalıştırmalarından sonra gerçek Gateway + stdio MCP alt süreç kapatma): `pnpm test:docker:cron-mcp-cleanup` (betik: `scripts/e2e/cron-mcp-cleanup-docker.sh`) +- Plugin'ler (kurulum smoke + `/plugin` takma adı + Claude-bundle yeniden başlatma semantiği): `pnpm test:docker:plugins` (betik: `scripts/e2e/plugins-docker.sh`) +- Plugin update unchanged smoke: `pnpm test:docker:plugin-update` (betik: `scripts/e2e/plugin-update-unchanged-docker.sh`) +- Config reload meta veri smoke: `pnpm test:docker:config-reload` (betik: `scripts/e2e/config-reload-source-docker.sh`) +- Paketlenmiş plugin çalışma zamanı bağımlılıkları: `pnpm test:docker:bundled-channel-deps`, varsayılan olarak küçük bir Docker çalıştırıcı imajı oluşturur, OpenClaw'u ana makinede bir kez oluşturup paketler, ardından bu tarball'ı her Linux kurulum senaryosuna mount eder. İmajı `OPENCLAW_SKIP_DOCKER_BUILD=1` ile yeniden kullanın, yeni bir yerel yapıdan sonra ana makine yeniden yapısını `OPENCLAW_BUNDLED_CHANNEL_HOST_BUILD=0` ile atlayın veya mevcut bir tarball'a `OPENCLAW_BUNDLED_CHANNEL_PACKAGE_TGZ=/path/to/openclaw-*.tgz` ile işaret edin. +- Yineleme sırasında ilgisiz senaryoları devre dışı bırakarak paketlenmiş plugin çalışma zamanı bağımlılıklarını daraltın, örneğin: `OPENCLAW_BUNDLED_CHANNEL_SCENARIOS=0 OPENCLAW_BUNDLED_CHANNEL_UPDATE_SCENARIO=0 OPENCLAW_BUNDLED_CHANNEL_ROOT_OWNED_SCENARIO=0 OPENCLAW_BUNDLED_CHANNEL_SETUP_ENTRY_SCENARIO=0 pnpm test:docker:bundled-channel-deps`. -Paylaşılan derlenmiş uygulama imajını elle önceden oluşturup yeniden kullanmak için: +Paylaşılan built-app imajını elle önceden oluşturup yeniden kullanmak için: ```bash OPENCLAW_DOCKER_E2E_IMAGE=openclaw-docker-e2e:local pnpm test:docker:e2e-build OPENCLAW_DOCKER_E2E_IMAGE=openclaw-docker-e2e:local OPENCLAW_SKIP_DOCKER_BUILD=1 pnpm test:docker:mcp-channels ``` -`OPENCLAW_GATEWAY_NETWORK_E2E_IMAGE` gibi pakete özgü imaj geçersiz kılmaları ayarlıysa yine önceliklidir. `OPENCLAW_SKIP_DOCKER_BUILD=1`, uzak bir paylaşılan imaja işaret ettiğinde betikler imaj yerelde yoksa onu çeker. QR ve installer Docker testleri, paylaşılan derlenmiş-uygulama çalışma zamanını değil paket/kurulum davranışını doğruladıkları için kendi Dockerfile'larını korur. +`OPENCLAW_GATEWAY_NETWORK_E2E_IMAGE` gibi pakete özgü image geçersiz kılmaları ayarlandığında hâlâ önceliklidir. `OPENCLAW_SKIP_DOCKER_BUILD=1` uzak bir paylaşılan image'a işaret ettiğinde, betikler image yerelde yoksa onu çeker. QR ve installer Docker testleri kendi Dockerfile'larını korur; çünkü bunlar paylaşılan built-app runtime'ı yerine package/install davranışını doğrular. -Live-model Docker çalıştırıcıları ayrıca geçerli checkout'u salt okunur bağlar ve -onu container içinde geçici bir workdir'e hazırlar. Bu, çalışma zamanı -imajını ince tutarken yine de Vitest'i tam yerel kaynak/config'inize karşı çalıştırır. -Hazırlama adımı `.pnpm-store`, `.worktrees`, `__openclaw_vitest__` ve uygulamaya özgü `.build` veya -Gradle çıktı dizinleri gibi büyük yerel-only önbellekleri ve uygulama derleme çıktılarını atlar; böylece Docker live çalıştırmaları -makineye özgü artifact'ları kopyalamaya dakikalar harcamaz. -Ayrıca `OPENCLAW_SKIP_CHANNELS=1` ayarlarlar; böylece gateway live probe'ları -container içinde gerçek Telegram/Discord vb. kanal worker'larını başlatmaz. +Live-model Docker çalıştırıcıları ayrıca geçerli checkout'u salt okunur olarak bind-mount eder ve +container içinde geçici bir workdir'a hazırlar. Bu, runtime +image'ını ince tutarken yine de Vitest'i tam olarak yerel kaynak/config'inize karşı çalıştırır. +Hazırlama adımı, Docker live çalıştırmalarının +makineye özgü artifact'leri kopyalamak için dakikalar harcamaması adına `.pnpm-store`, `.worktrees`, `__openclaw_vitest__` ve app'e özgü `.build` veya +Gradle çıktı dizinleri gibi büyük yalnızca-yerel önbellekleri ve uygulama build çıktılarını atlar. +Ayrıca `OPENCLAW_SKIP_CHANNELS=1` ayarlarlar; böylece gateway live probeları +container içinde gerçek Telegram/Discord vb. channel çalışanlarını başlatmaz. `test:docker:live-models` yine de `pnpm test:live` çalıştırır; bu nedenle -o Docker hattındaki gateway +o Docker hattından gateway live kapsamını daraltmanız veya hariç tutmanız gerektiğinde `OPENCLAW_LIVE_GATEWAY_*` değişkenlerini de geçirin. -`test:docker:openwebui`, daha üst düzey bir uyumluluk smoke testidir: OpenAI uyumlu HTTP uç noktaları etkin bir +`test:docker:openwebui`, daha üst düzey bir uyumluluk smoke testidir: OpenAI uyumlu HTTP endpoint'leri etkin bir OpenClaw gateway container'ı başlatır, -o gateway'e karşı sabitlenmiş bir Open WebUI container'ı başlatır, Open WebUI üzerinden oturum açar, -`/api/models` uç noktasının `openclaw/default` sunduğunu doğrular, ardından -Open WebUI'nin `/api/chat/completions` proxy'si üzerinden gerçek bir sohbet isteği gönderir. -İlk çalıştırma belirgin biçimde daha yavaş olabilir çünkü Docker'ın -Open WebUI imajını çekmesi gerekebilir ve Open WebUI'nin kendi soğuk başlangıç kurulumunu tamamlaması gerekebilir. -Bu hat kullanılabilir bir live model anahtarı bekler ve Docker'lı çalıştırmalarda bunu sağlamak için -birincil yol `OPENCLAW_PROFILE_FILE` -(varsayılan `~/.profile`) değişkenidir. +bu gateway'e karşı sabitlenmiş bir Open WebUI container'ı başlatır, Open WebUI +üzerinden oturum açar, `/api/models` endpoint'inin `openclaw/default` sunduğunu doğrular, sonra +Open WebUI'nin `/api/chat/completions` proxy'si üzerinden gerçek bir +sohbet isteği gönderir. +İlk çalıştırma belirgin biçimde daha yavaş olabilir; çünkü Docker'ın +Open WebUI image'ını çekmesi gerekebilir ve Open WebUI'nin kendi soğuk başlangıç kurulumunu tamamlaması gerekebilir. +Bu hat kullanılabilir bir live model anahtarı bekler ve Dockerize çalıştırmalarda bunu sağlamak için birincil yol +`OPENCLAW_PROFILE_FILE`'dır +(varsayılan `~/.profile`). Başarılı çalıştırmalar `{ "ok": true, "model": "openclaw/default", ... }` gibi küçük bir JSON payload yazar. -`test:docker:mcp-channels` kasıtlı olarak deterministiktir ve -gerçek bir Telegram, Discord veya iMessage hesabına ihtiyaç duymaz. Tohumlanmış bir Gateway -container'ı başlatır, `openclaw mcp serve` oluşturan ikinci bir container başlatır, ardından -yönlendirilmiş konuşma keşfini, transkript okumalarını, ek meta verisini, -canlı olay kuyruğu davranışını, giden gönderim yönlendirmesini ve gerçek stdio MCP köprüsü üzerinden Claude tarzı kanal + -izin bildirimlerini doğrular. Bildirim denetimi -ham stdio MCP çerçevelerini doğrudan inceler; böylece smoke testi yalnızca belirli bir istemci SDK'sının ne sunduğunu değil, -köprünün gerçekte ne yaydığını doğrular. -`test:docker:pi-bundle-mcp-tools` deterministiktir ve canlı bir -model anahtarına ihtiyaç duymaz. Repo Docker imajını oluşturur, container içinde gerçek bir stdio MCP probe sunucusu başlatır, -o sunucuyu gömülü Pi paket MCP çalışma zamanı üzerinden somutlaştırır, -tool'u çalıştırır, sonra `coding` ve `messaging` yapılandırmalarının -`bundle-mcp` tools'larını koruduğunu, `minimal` ve `tools.deny: ["bundle-mcp"]` yapılandırmalarının ise bunları filtrelediğini doğrular. -`test:docker:cron-mcp-cleanup` deterministiktir ve canlı bir modele -ihtiyaç duymaz. Gerçek bir stdio MCP probe sunucusuna sahip tohumlanmış bir Gateway başlatır, yalıtılmış bir -Cron turu ve bir `/subagents spawn` tek seferlik alt süreç turu çalıştırır, ardından -MCP alt sürecinin her çalıştırmadan sonra çıktığını doğrular. +`test:docker:mcp-channels` kasıtlı olarak deterministiktir ve gerçek bir +Telegram, Discord veya iMessage hesabı gerektirmez. Tohumlanmış bir Gateway +container'ı başlatır, `openclaw mcp serve` çalıştıran ikinci bir container başlatır, ardından +yönlendirilmiş konuşma keşfini, transcript okumalarını, attachment meta verisini, +live olay kuyruğu davranışını, giden gönderim yönlendirmesini ve Claude tarzı channel + +izin bildirimlerini gerçek stdio MCP bridge üzerinden doğrular. Bildirim denetimi +ham stdio MCP frame'lerini doğrudan inceler; böylece smoke testi yalnızca belirli bir istemci SDK'sının +yüzeye çıkardıklarını değil, bridge'in gerçekten ne yaydığını doğrular. +`test:docker:pi-bundle-mcp-tools` deterministiktir ve live +model anahtarı gerektirmez. Depo Docker image'ını oluşturur, container içinde gerçek bir stdio MCP probe sunucusu başlatır, +bu sunucuyu gömülü Pi bundle +MCP runtime üzerinden somutlaştırır, aracı çalıştırır, sonra `coding` ve `messaging` öğelerinin +`bundle-mcp` araçlarını koruduğunu, `minimal` ve `tools.deny: ["bundle-mcp"]` ayarlarının ise bunları filtrelediğini doğrular. +`test:docker:cron-mcp-cleanup` deterministiktir ve live model +anahtarı gerektirmez. Gerçek bir stdio MCP probe sunucusuyla tohumlanmış bir Gateway başlatır, +yalıtılmış bir Cron dönüşü ve `/subagents spawn` tek seferlik bir alt süreç dönüşü çalıştırır, ardından +her çalıştırmadan sonra MCP alt sürecinin çıktığını doğrular. Elle ACP düz dil thread smoke testi (CI değil): - `bun scripts/dev/discord-acp-plain-language-smoke.ts --channel ...` -- Bu betiği regresyon/hata ayıklama iş akışları için koruyun. ACP thread yönlendirme doğrulaması için yine gerekebilir, bu yüzden silmeyin. +- Bu betiği regresyon/hata ayıklama iş akışları için koruyun. ACP thread yönlendirme doğrulaması için tekrar gerekebilir, bu yüzden silmeyin. Yararlı env değişkenleri: -- `OPENCLAW_CONFIG_DIR=...` (varsayılan: `~/.openclaw`), `/home/node/.openclaw` dizinine bağlanır -- `OPENCLAW_WORKSPACE_DIR=...` (varsayılan: `~/.openclaw/workspace`), `/home/node/.openclaw/workspace` dizinine bağlanır -- `OPENCLAW_PROFILE_FILE=...` (varsayılan: `~/.profile`), `/home/node/.profile` dizinine bağlanır ve testler çalışmadan önce kaynaklanır -- `OPENCLAW_DOCKER_PROFILE_ENV_ONLY=1`, yalnızca `OPENCLAW_PROFILE_FILE` içinden kaynaklanan env değişkenlerini doğrulamak için; geçici config/workspace dizinleri ve harici CLI auth bağları olmadan kullanılır -- `OPENCLAW_DOCKER_CLI_TOOLS_DIR=...` (varsayılan: `~/.cache/openclaw/docker-cli-tools`), Docker içinde önbelleğe alınmış CLI kurulumları için `/home/node/.npm-global` dizinine bağlanır -- `$HOME` altındaki harici CLI auth dizinleri/dosyaları `/host-auth...` altında salt okunur bağlanır, sonra testler başlamadan önce `/home/node/...` altına kopyalanır +- `OPENCLAW_CONFIG_DIR=...` (varsayılan: `~/.openclaw`) `/home/node/.openclaw` içine mount edilir +- `OPENCLAW_WORKSPACE_DIR=...` (varsayılan: `~/.openclaw/workspace`) `/home/node/.openclaw/workspace` içine mount edilir +- `OPENCLAW_PROFILE_FILE=...` (varsayılan: `~/.profile`) `/home/node/.profile` içine mount edilir ve testler çalıştırılmadan önce kaynak olarak yüklenir +- `OPENCLAW_DOCKER_PROFILE_ENV_ONLY=1`, `OPENCLAW_PROFILE_FILE` içinden kaynak olarak yüklenen yalnızca env değişkenlerini doğrulamak için kullanılır; geçici config/workspace dizinleri ve harici CLI auth mount'ları olmadan +- `OPENCLAW_DOCKER_CLI_TOOLS_DIR=...` (varsayılan: `~/.cache/openclaw/docker-cli-tools`) Docker içindeki önbellekli CLI kurulumları için `/home/node/.npm-global` içine mount edilir +- `$HOME` altındaki harici CLI auth dizinleri/dosyaları `/host-auth...` altına salt okunur olarak mount edilir, ardından testler başlamadan önce `/home/node/...` içine kopyalanır - Varsayılan dizinler: `.minimax` - Varsayılan dosyalar: `~/.codex/auth.json`, `~/.codex/config.toml`, `.claude.json`, `~/.claude/.credentials.json`, `~/.claude/settings.json`, `~/.claude/settings.local.json` - - Daraltılmış sağlayıcı çalıştırmaları yalnızca `OPENCLAW_LIVE_PROVIDERS` / `OPENCLAW_LIVE_GATEWAY_PROVIDERS` içinden çıkarılan gerekli dizinleri/dosyaları bağlar - - Elle geçersiz kılmak için `OPENCLAW_DOCKER_AUTH_DIRS=all`, `OPENCLAW_DOCKER_AUTH_DIRS=none` veya `OPENCLAW_DOCKER_AUTH_DIRS=.claude,.codex` gibi virgüllü liste kullanın + - Daraltılmış sağlayıcı çalıştırmaları, `OPENCLAW_LIVE_PROVIDERS` / `OPENCLAW_LIVE_GATEWAY_PROVIDERS` üzerinden çıkarılan yalnızca gerekli dizinleri/dosyaları mount eder + - Elle geçersiz kılmak için `OPENCLAW_DOCKER_AUTH_DIRS=all`, `OPENCLAW_DOCKER_AUTH_DIRS=none` veya `OPENCLAW_DOCKER_AUTH_DIRS=.claude,.codex` gibi virgüllü bir liste kullanın - Çalıştırmayı daraltmak için `OPENCLAW_LIVE_GATEWAY_MODELS=...` / `OPENCLAW_LIVE_MODELS=...` - Container içinde sağlayıcıları filtrelemek için `OPENCLAW_LIVE_GATEWAY_PROVIDERS=...` / `OPENCLAW_LIVE_PROVIDERS=...` -- Yeniden derleme gerekmeyen yeniden çalıştırmalarda mevcut `openclaw:local-live` imajını yeniden kullanmak için `OPENCLAW_SKIP_DOCKER_BUILD=1` +- Yeniden build gerektirmeyen tekrar çalıştırmalar için mevcut `openclaw:local-live` image'ını yeniden kullanmak üzere `OPENCLAW_SKIP_DOCKER_BUILD=1` - Kimlik bilgilerinin env'den değil profil deposundan geldiğinden emin olmak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` -- Open WebUI smoke testi için gateway'in sunduğu modeli seçmek üzere `OPENCLAW_OPENWEBUI_MODEL=...` -- Open WebUI smoke testinde kullanılan nonce denetim prompt'unu geçersiz kılmak için `OPENCLAW_OPENWEBUI_PROMPT=...` -- Sabitlenmiş Open WebUI imaj etiketini geçersiz kılmak için `OPENWEBUI_IMAGE=...` +- Open WebUI smoke testi için gateway tarafından sunulan modeli seçmek üzere `OPENCLAW_OPENWEBUI_MODEL=...` +- Open WebUI smoke testinin kullandığı nonce kontrol prompt'unu geçersiz kılmak için `OPENCLAW_OPENWEBUI_PROMPT=...` +- Sabitlenmiş Open WebUI image etiketini geçersiz kılmak için `OPENWEBUI_IMAGE=...` -## Belgeler için sağduyu denetimi +## Doküman doğruluğu -Belge düzenlemelerinden sonra docs denetimlerini çalıştırın: `pnpm check:docs`. -Sayfa içi başlık denetimleri de gerektiğinde tam Mintlify anchor doğrulamasını çalıştırın: `pnpm docs:check-links:anchors`. +Doküman düzenlemelerinden sonra doküman denetimlerini çalıştırın: `pnpm check:docs`. +Sayfa içi başlık denetimlerine de ihtiyaç duyduğunuzda tam Mintlify anchor doğrulamasını çalıştırın: `pnpm docs:check-links:anchors`. -## Çevrimdışı regresyon (CI-güvenli) +## Çevrimdışı regresyon (CI için güvenli) -Bunlar gerçek sağlayıcılar olmadan “gerçek hat” regresyonlarıdır: +Bunlar gerçek sağlayıcılar olmadan “gerçek pipeline” regresyonlarıdır: -- Gateway tool calling (mock OpenAI, gerçek gateway + agent döngüsü): `src/gateway/gateway.test.ts` (olgu: "runs a mock OpenAI tool call end-to-end via gateway agent loop") -- Gateway wizard (WS `wizard.start`/`wizard.next`, config + auth yazımı zorunlu): `src/gateway/gateway.test.ts` (olgu: "runs wizard over ws and writes auth token config") +- Gateway araç çağırma (sahte OpenAI, gerçek Gateway + agent döngüsü): `src/gateway/gateway.test.ts` (durum: "runs a mock OpenAI tool call end-to-end via gateway agent loop") +- Gateway sihirbazı (WS `wizard.start`/`wizard.next`, config + auth enforced yazar): `src/gateway/gateway.test.ts` (durum: "runs wizard over ws and writes auth token config") -## Agent güvenilirlik değerlendirmeleri (Skills) +## Agent güvenilirlik eval'ları (Skills) -Zaten “agent güvenilirlik değerlendirmeleri” gibi davranan birkaç CI-güvenli testimiz var: +CI için güvenli, “agent güvenilirlik eval'ları” gibi davranan birkaç testimiz zaten var: -- Gerçek gateway + agent döngüsü üzerinden mock tool-calling (`src/gateway/gateway.test.ts`). -- Oturum bağlantısını ve config etkilerini doğrulayan uçtan uca wizard akışları (`src/gateway/gateway.test.ts`). +- Gerçek Gateway + agent döngüsü üzerinden sahte araç çağırma (`src/gateway/gateway.test.ts`). +- Oturum kablolamasını ve config etkilerini doğrulayan uçtan uca sihirbaz akışları (`src/gateway/gateway.test.ts`). -Skills için hâlâ eksik olanlar ([Skills](/tr/tools/skills) sayfasına bakın): +Skills için hâlâ eksik olanlar (bkz. [Skills](/tr/tools/skills)): -- **Karar verme:** Skills prompt içinde listelendiğinde agent doğru Skill'i seçiyor mu (veya alakasız olanlardan kaçınıyor mu)? -- **Uyumluluk:** agent kullanmadan önce `SKILL.md` dosyasını okuyor ve gerekli adımları/argümanları izliyor mu? -- **İş akışı sözleşmeleri:** tool sırasını, oturum geçmişi taşınmasını ve sandbox sınırlarını doğrulayan çok turlu senaryolar. +- **Karar verme:** Skills prompt içinde listelendiğinde, agent doğru Skill'i seçiyor mu (veya ilgisiz olanlardan kaçınıyor mu)? +- **Uyumluluk:** agent kullanımdan önce `SKILL.md` dosyasını okuyor mu ve gerekli adımları/argümanları izliyor mu? +- **İş akışı sözleşmeleri:** araç sırasını, oturum geçmişi devrini ve sandbox sınırlarını doğrulayan çok dönüşlü senaryolar. -Gelecekteki değerlendirmeler önce deterministik kalmalıdır: +Gelecekteki eval'lar önce deterministik kalmalıdır: -- Tool çağrılarını + sırasını, Skill dosya okumalarını ve oturum bağlantısını doğrulamak için mock sağlayıcılar kullanan bir senaryo çalıştırıcısı. -- Skill odaklı küçük bir senaryo paketi (kullanma vs kaçınma, geçitleme, prompt injection). -- İsteğe bağlı live değerlendirmeler (env ile kapılanmış) ancak CI-güvenli paket yerleştirildikten sonra. +- Araç çağrılarını + sırasını, Skill dosyası okumalarını ve oturum kablolamasını doğrulamak için sahte sağlayıcılar kullanan bir senaryo çalıştırıcısı. +- Skill odaklı küçük bir senaryo paketi (kullan vs kaçın, geçitleme, prompt injection). +- CI için güvenli paket yerleşmeden önce değil, yalnızca sonrasında isteğe bağlı live eval'lar (opt-in, env geçitli). -## Sözleşme testleri (Plugin ve kanal şekli) +## Sözleşme testleri (plugin ve channel şekli) -Sözleşme testleri her kayıtlı Plugin ve kanalın kendi -arayüz sözleşmesine uyduğunu doğrular. Keşfedilen tüm Plugin'ler üzerinde yinelenir ve bir -şekil ile davranış doğrulama paketi çalıştırırlar. Varsayılan `pnpm test` unit hattı -kasıtlı olarak bu paylaşılan seam ve smoke dosyalarını atlar; paylaşılan kanal veya sağlayıcı yüzeylerine dokunduğunuzda sözleşme komutlarını açıkça +Sözleşme testleri, kayıtlı her plugin ve channel'ın kendi +arayüz sözleşmesine uyduğunu doğrular. Keşfedilen tüm plugin'ler üzerinde yineleme yapar +ve şekil ile davranış doğrulamaları paketi çalıştırır. Varsayılan `pnpm test` unit hattı +kasıtlı olarak bu paylaşılan sınır ve smoke dosyalarını atlar; paylaşılan channel veya sağlayıcı yüzeylerine dokunduğunuzda sözleşme komutlarını açıkça çalıştırın. ### Komutlar - Tüm sözleşmeler: `pnpm test:contracts` -- Yalnızca kanal sözleşmeleri: `pnpm test:contracts:channels` +- Yalnızca channel sözleşmeleri: `pnpm test:contracts:channels` - Yalnızca sağlayıcı sözleşmeleri: `pnpm test:contracts:plugins` -### Kanal sözleşmeleri +### Channel sözleşmeleri `src/channels/plugins/contracts/*.contract.test.ts` içinde bulunur: -- **plugin** - Temel Plugin şekli (id, name, capabilities) +- **plugin** - Temel plugin şekli (id, ad, yetenekler) - **setup** - Kurulum sihirbazı sözleşmesi - **session-binding** - Oturum bağlama davranışı - **outbound-payload** - Mesaj payload yapısı - **inbound** - Gelen mesaj işleme -- **actions** - Kanal eylem işleyicileri +- **actions** - Channel eylem işleyicileri - **threading** - Thread ID işleme - **directory** - Dizin/roster API -- **group-policy** - Grup ilkesi uygulama +- **group-policy** - Grup politikası uygulama ### Sağlayıcı durum sözleşmeleri `src/plugins/contracts/*.contract.test.ts` içinde bulunur. -- **status** - Kanal durum probe'ları -- **registry** - Plugin kayıt defteri şekli +- **status** - Channel durum probeları +- **registry** - Plugin kayıt şekli ### Sağlayıcı sözleşmeleri `src/plugins/contracts/*.contract.test.ts` içinde bulunur: - **auth** - Auth akışı sözleşmesi -- **auth-choice** - Auth seçimi/seçim davranışı -- **catalog** - Model katalog API'si +- **auth-choice** - Auth seçimi/tercihi +- **catalog** - Model katalog API - **discovery** - Plugin keşfi - **loader** - Plugin yükleme -- **runtime** - Sağlayıcı çalışma zamanı +- **runtime** - Sağlayıcı runtime - **shape** - Plugin şekli/arayüzü - **wizard** - Kurulum sihirbazı ### Ne zaman çalıştırılmalı -- Plugin-sdk dışa aktarımlarını veya alt yollarını değiştirdikten sonra -- Bir kanal veya sağlayıcı Plugin'i ekledikten ya da değiştirdikten sonra +- Plugin SDK dışa aktarımlarını veya alt yollarını değiştirdikten sonra +- Bir channel veya sağlayıcı plugin'i ekledikten ya da değiştirdikten sonra - Plugin kaydı veya keşfini yeniden düzenledikten sonra -Sözleşme testleri CI içinde çalışır ve gerçek API anahtarları gerektirmez. +Sözleşme testleri CI'da çalışır ve gerçek API anahtarları gerektirmez. -## Regresyon ekleme (rehberlik) +## Regresyon ekleme (rehber) -Live ortamda keşfettiğiniz bir sağlayıcı/model sorununu düzelttiğinizde: +Live ortamda keşfedilen bir sağlayıcı/model sorununu düzelttiğinizde: -- Mümkünse CI-güvenli bir regresyon ekleyin (mock/stub sağlayıcı veya tam istek-şekli dönüşümünü yakalama) -- Sorun doğası gereği yalnızca live ise (hız sınırları, auth ilkeleri), live testi dar ve env değişkenleriyle isteğe bağlı tutun +- Mümkünse CI için güvenli bir regresyon ekleyin (sahte/stub sağlayıcı veya tam istek-şekli dönüşümünü yakalayın) +- Sorun doğası gereği yalnızca live ise (hız sınırları, auth politikaları), live testi dar ve env değişkenleri üzerinden opt-in tutun - Hatayı yakalayan en küçük katmanı hedeflemeyi tercih edin: - - sağlayıcı istek dönüşümü/replay hatası → doğrudan model testi - - gateway oturum/geçmiş/tool hattı hatası → gateway live smoke testi veya CI-güvenli gateway mock testi -- SecretRef geçiş koruması: - - `src/secrets/exec-secret-ref-id-parity.test.ts`, kayıt defteri meta verisinden (`listSecretTargetRegistryEntries()`) SecretRef sınıfı başına örneklenmiş bir hedef türetir, sonra geçiş-segmenti exec kimliklerinin reddedildiğini doğrular. - - `src/secrets/target-registry-data.ts` içine yeni bir `includeInPlan` SecretRef hedef ailesi eklerseniz, o testte `classifyTargetClass` güncelleyin. Yeni sınıflar sessizce atlanamasın diye test, sınıflandırılmamış hedef kimliklerinde kasıtlı olarak başarısız olur. + - sağlayıcı istek dönüştürme/yeniden oynatma hatası → doğrudan modeller testi + - Gateway oturum/geçmiş/araç hattı hatası → Gateway live smoke veya CI için güvenli Gateway mock testi +- SecretRef traversal guardrail: + - `src/secrets/exec-secret-ref-id-parity.test.ts`, kayıt meta verisinden (`listSecretTargetRegistryEntries()`) SecretRef sınıfı başına örneklenmiş bir hedef türetir, ardından traversal-segment exec id'lerinin reddedildiğini doğrular. + - `src/secrets/target-registry-data.ts` içine yeni bir `includeInPlan` SecretRef hedef ailesi ekliyorsanız, o testteki `classifyTargetClass` öğesini güncelleyin. Test, yeni sınıfların sessizce atlanamaması için kasıtlı olarak sınıflandırılmamış hedef kimliklerinde başarısız olur. diff --git a/docs/tr/providers/openai.md b/docs/tr/providers/openai.md index a94e3a2ba..c11cd8831 100644 --- a/docs/tr/providers/openai.md +++ b/docs/tr/providers/openai.md @@ -2,14 +2,14 @@ read_when: - OpenClaw'da OpenAI modellerini kullanmak istiyorsunuz - API anahtarları yerine Codex abonelik kimlik doğrulamasını istiyorsunuz - - Daha katı GPT-5 ajan yürütme davranışına ihtiyacınız var -summary: OpenClaw'da OpenAI'yi API anahtarları veya Codex aboneliği üzerinden kullanma + - Daha sıkı GPT-5 ajan yürütme davranışına ihtiyacınız var +summary: OpenClaw'da API anahtarları veya Codex aboneliği üzerinden OpenAI kullanın title: OpenAI x-i18n: - generated_at: "2026-04-23T09:09:38Z" + generated_at: "2026-04-23T13:58:04Z" model: gpt-5.4 provider: openai - source_hash: c3d847e53c2faee5363071dfdcb1f4150b64577674161e000844f579482198d1 + source_hash: ac42660234e1971440f6de3b04adb1d3a1fddca20219fb68936c36e4c2f95265 source_path: providers/openai.md workflow: 15 --- @@ -18,25 +18,25 @@ x-i18n: OpenAI, GPT modelleri için geliştirici API'leri sağlar. OpenClaw iki kimlik doğrulama yolunu destekler: - - **API anahtarı** — kullanım bazlı faturalandırma ile doğrudan OpenAI Platform erişimi (`openai/*` modelleri) - - **Codex aboneliği** — abonelik erişimi ile ChatGPT/Codex oturumu açma (`openai-codex/*` modelleri) + - **API anahtarı** — kullanım bazlı faturalandırmayla doğrudan OpenAI Platform erişimi (`openai/*` modelleri) + - **Codex aboneliği** — abonelik erişimiyle ChatGPT/Codex oturumu açma (`openai-codex/*` modelleri) - OpenAI, OpenClaw gibi harici araçlar ve iş akışlarında abonelik OAuth kullanımını açıkça destekler. + OpenAI, OpenClaw gibi harici araçlarda ve iş akışlarında abonelik OAuth kullanımını açıkça destekler. ## OpenClaw özellik kapsamı - | OpenAI yeteneği | OpenClaw yüzeyi | Durum | - | ------------------------ | ---------------------------------------- | -------------------------------------------------------- | - | Sohbet / Responses | `openai/` model sağlayıcısı | Evet | - | Codex abonelik modelleri | `openai-codex/` model sağlayıcısı | Evet | - | Sunucu taraflı web arama | Yerel OpenAI Responses aracı | Evet, web arama etkin olduğunda ve sağlayıcı sabitlenmediğinde | - | Görseller | `image_generate` | Evet | - | Videolar | `video_generate` | Evet | - | Metinden konuşmaya | `messages.tts.provider: "openai"` / `tts` | Evet | - | Toplu konuşmadan metne | `tools.media.audio` / medya anlama | Evet | - | Akış konuşmadan metne | Voice Call `streaming.provider: "openai"` | Evet | - | Gerçek zamanlı ses | Voice Call `realtime.provider: "openai"` | Evet | - | Embeddings | bellek embedding sağlayıcısı | Evet | + | OpenAI yeteneği | OpenClaw yüzeyi | Durum | + | ------------------------- | ----------------------------------------- | ------------------------------------------------------ | + | Sohbet / Yanıtlar | `openai/` model sağlayıcısı | Evet | + | Codex abonelik modelleri | `openai-codex/` model sağlayıcısı | Evet | + | Sunucu taraflı web arama | Yerel OpenAI Responses aracı | Evet, web arama etkin olduğunda ve hiçbir sağlayıcı sabitlenmediğinde | + | Görseller | `image_generate` | Evet | + | Videolar | `video_generate` | Evet | + | Metinden konuşmaya | `messages.tts.provider: "openai"` / `tts` | Evet | + | Toplu konuşmadan metne | `tools.media.audio` / medya anlama | Evet | + | Akışlı konuşmadan metne | Voice Call `streaming.provider: "openai"` | Evet | + | Gerçek zamanlı ses | Voice Call `realtime.provider: "openai"` | Evet | + | Embeddings | bellek embedding sağlayıcısı | Evet | ## Başlarken @@ -44,13 +44,13 @@ x-i18n: - **En uygun:** doğrudan API erişimi ve kullanım bazlı faturalandırma. + **Şunun için en iyisi:** doğrudan API erişimi ve kullanım bazlı faturalandırma. [OpenAI Platform panosundan](https://platform.openai.com/api-keys) bir API anahtarı oluşturun veya kopyalayın. - + ```bash openclaw onboard --auth-choice openai-api-key ``` @@ -68,15 +68,15 @@ x-i18n: - ### Rota özeti + ### Yol özeti - | Model başvurusu | Rota | Kimlik doğrulama | + | Model ref | Yol | Kimlik doğrulama | |-----------|-------|------| | `openai/gpt-5.4` | Doğrudan OpenAI Platform API | `OPENAI_API_KEY` | | `openai/gpt-5.4-pro` | Doğrudan OpenAI Platform API | `OPENAI_API_KEY` | - ChatGPT/Codex oturum açma işlemi `openai/*` değil, `openai-codex/*` üzerinden yönlendirilir. + ChatGPT/Codex oturum açma `openai/*` üzerinden değil, `openai-codex/*` üzerinden yönlendirilir. ### Yapılandırma örneği @@ -89,13 +89,13 @@ x-i18n: ``` - OpenClaw, doğrudan API yolunda `openai/gpt-5.3-codex-spark` sunmaz. Canlı OpenAI API istekleri bu modeli reddeder. Spark yalnızca Codex içindir. + OpenClaw, doğrudan API yolunda `openai/gpt-5.3-codex-spark` modelini **sunmaz**. Canlı OpenAI API istekleri bu modeli reddeder. Spark yalnızca Codex içindir. - **En uygun:** ayrı bir API anahtarı yerine ChatGPT/Codex aboneliğinizi kullanmak. Codex bulutu ChatGPT oturumu açmayı gerektirir. + **Şunun için en iyisi:** ayrı bir API anahtarı yerine ChatGPT/Codex aboneliğinizi kullanmak. Codex cloud, ChatGPT oturumu açmayı gerektirir. @@ -109,7 +109,7 @@ x-i18n: openclaw models auth login --provider openai-codex ``` - Başsız veya callback'e elverişsiz kurulumlar için, localhost tarayıcı callback'i yerine ChatGPT cihaz kodu akışıyla oturum açmak üzere `--device-code` ekleyin: + Başsız veya callback'e elverişsiz kurulumlar için, localhost tarayıcı callback'i yerine ChatGPT device-code akışıyla oturum açmak üzere `--device-code` ekleyin: ```bash openclaw models auth login --provider openai-codex --device-code @@ -127,15 +127,15 @@ x-i18n: - ### Rota özeti + ### Yol özeti - | Model başvurusu | Rota | Kimlik doğrulama | + | Model ref | Yol | Kimlik doğrulama | |-----------|-------|------| - | `openai-codex/gpt-5.4` | ChatGPT/Codex OAuth | Codex oturumu açma | - | `openai-codex/gpt-5.3-codex-spark` | ChatGPT/Codex OAuth | Codex oturumu açma (hak kazanımına bağlı) | + | `openai-codex/gpt-5.4` | ChatGPT/Codex OAuth | Codex oturum açma | + | `openai-codex/gpt-5.3-codex-spark` | ChatGPT/Codex OAuth | Codex oturum açma (hak sahipliğine bağlı) | - Bu rota kasıtlı olarak `openai/gpt-5.4` yolundan ayrıdır. Doğrudan Platform erişimi için API anahtarıyla `openai/*`, Codex abonelik erişimi için `openai-codex/*` kullanın. + Bu yol, bilerek `openai/gpt-5.4` yolundan ayrı tutulur. Doğrudan Platform erişimi için API anahtarıyla `openai/*`, Codex abonelik erişimi için `openai-codex/*` kullanın. ### Yapılandırma örneği @@ -147,19 +147,19 @@ x-i18n: ``` - İlk kurulum artık OAuth materyalini `~/.codex` içinden içe aktarmıyor. Tarayıcı OAuth'u (varsayılan) veya yukarıdaki cihaz kodu akışı ile oturum açın — OpenClaw oluşan kimlik bilgilerini kendi ajan auth deposunda yönetir. + Onboarding artık OAuth materyalini `~/.codex` içinden içe aktarmıyor. Varsayılan olarak tarayıcı OAuth ile veya yukarıdaki device-code akışıyla oturum açın — OpenClaw oluşan kimlik bilgilerini kendi ajan kimlik doğrulama deposunda yönetir. ### Bağlam penceresi sınırı - OpenClaw model meta verisini ve çalışma zamanı bağlam sınırını ayrı değerler olarak ele alır. + OpenClaw, model metadata'sını ve çalışma zamanı bağlam sınırını ayrı değerler olarak ele alır. `openai-codex/gpt-5.4` için: - Yerel `contextWindow`: `1050000` - Varsayılan çalışma zamanı `contextTokens` sınırı: `272000` - Daha küçük varsayılan sınır pratikte daha iyi gecikme ve kalite özelliklerine sahiptir. Bunu `contextTokens` ile geçersiz kılın: + Daha küçük varsayılan sınır, pratikte daha iyi gecikme ve kalite özelliklerine sahiptir. Bunu `contextTokens` ile geçersiz kılın: ```json5 { @@ -174,23 +174,23 @@ x-i18n: ``` - Yerel model meta verisini bildirmek için `contextWindow` kullanın. Çalışma zamanı bağlam bütçesini sınırlamak için `contextTokens` kullanın. + Yerel model metadata'sını belirtmek için `contextWindow` kullanın. Çalışma zamanı bağlam bütçesini sınırlamak için `contextTokens` kullanın. -## Görsel üretimi +## Görsel oluşturma -Paketli `openai` Plugin'i, görsel üretimini `image_generate` aracı üzerinden kaydeder. +Paketlenmiş `openai` Plugin, `image_generate` aracı üzerinden görsel oluşturmayı kaydeder. -| Yetenek | Değer | -| ------------------------ | ----------------------------------- | -| Varsayılan model | `openai/gpt-image-2` | -| İstek başına azami görsel | 4 | -| Düzenleme modu | Etkin (en fazla 5 başvuru görseli) | -| Boyut geçersiz kılmaları | Desteklenir, 2K/4K boyutlar dahil | -| En boy oranı / çözünürlük | OpenAI Images API'ye iletilmez | +| Yetenek | Değer | +| ------------------------ | ---------------------------------- | +| Varsayılan model | `openai/gpt-image-2` | +| İstek başına en fazla görsel | 4 | +| Düzenleme modu | Etkin (en fazla 5 referans görsel) | +| Boyut geçersiz kılmaları | Desteklenir, 2K/4K boyutları dahil | +| En-boy oranı / çözünürlük | OpenAI Images API'ye iletilmez | ```json5 { @@ -203,33 +203,33 @@ Paketli `openai` Plugin'i, görsel üretimini `image_generate` aracı üzerinden ``` -Paylaşılan araç parametreleri, sağlayıcı seçimi ve failover davranışı için bkz. [Görsel Üretimi](/tr/tools/image-generation). +Paylaşılan araç parametreleri, sağlayıcı seçimi ve failover davranışı için [Görsel Oluşturma](/tr/tools/image-generation) bölümüne bakın. -`gpt-image-2`, hem OpenAI metinden görsel üretimi hem de görsel düzenleme için varsayılandır. `gpt-image-1` açık model geçersiz kılması olarak kullanılabilir olmaya devam eder, ancak yeni OpenAI görsel iş akışları `openai/gpt-image-2` kullanmalıdır. +`gpt-image-2`, hem OpenAI metinden görsel oluşturma hem de görsel düzenleme için varsayılandır. `gpt-image-1` açık bir model geçersiz kılması olarak kullanılabilir olmaya devam eder, ancak yeni OpenAI görsel iş akışları `openai/gpt-image-2` kullanmalıdır. -Üret: +Oluştur: ``` -/tool image_generate model=openai/gpt-image-2 prompt="A polished launch poster for OpenClaw on macOS" size=3840x2160 count=1 +/tool image_generate model=openai/gpt-image-2 prompt="macOS üzerinde OpenClaw için cilalı bir lansman posteri" size=3840x2160 count=1 ``` Düzenle: ``` -/tool image_generate model=openai/gpt-image-2 prompt="Preserve the object shape, change the material to translucent glass" image=/path/to/reference.png size=1024x1536 +/tool image_generate model=openai/gpt-image-2 prompt="Nesnenin şeklini koru, malzemeyi yarı saydam cama dönüştür" image=/path/to/reference.png size=1024x1536 ``` -## Video üretimi +## Video oluşturma -Paketli `openai` Plugin'i, video üretimini `video_generate` aracı üzerinden kaydeder. +Paketlenmiş `openai` Plugin, `video_generate` aracı üzerinden video oluşturmayı kaydeder. -| Yetenek | Değer | -| ---------------- | ----------------------------------------------------------------------------------- | -| Varsayılan model | `openai/sora-2` | -| Modlar | Metinden videoya, görselden videoya, tek video düzenleme | -| Başvuru girdileri | 1 görsel veya 1 video | -| Boyut geçersiz kılmaları | Desteklenir | +| Yetenek | Değer | +| --------------- | --------------------------------------------------------------------------------- | +| Varsayılan model | `openai/sora-2` | +| Modlar | Metinden videoya, görselden videoya, tek video düzenleme | +| Referans girdileri | 1 görsel veya 1 video | +| Boyut geçersiz kılmaları | Desteklenir | | Diğer geçersiz kılmalar | `aspectRatio`, `resolution`, `audio`, `watermark` bir araç uyarısıyla yok sayılır | ```json5 @@ -243,25 +243,25 @@ Paketli `openai` Plugin'i, video üretimini `video_generate` aracı üzerinden k ``` -Paylaşılan araç parametreleri, sağlayıcı seçimi ve failover davranışı için bkz. [Video Üretimi](/tr/tools/video-generation). +Paylaşılan araç parametreleri, sağlayıcı seçimi ve failover davranışı için [Video Oluşturma](/tr/tools/video-generation) bölümüne bakın. ## GPT-5 istem katkısı -OpenClaw, sağlayıcılar arasında GPT-5 ailesi çalıştırmaları için paylaşılan bir GPT-5 istem katkısı ekler. Model kimliğine göre uygulanır; bu nedenle `openai/gpt-5.4`, `openai-codex/gpt-5.4`, `openrouter/openai/gpt-5.4`, `opencode/gpt-5.4` ve diğer uyumlu GPT-5 başvuruları aynı katmanı alır. Daha eski GPT-4.x modelleri almaz. +OpenClaw, sağlayıcılar genelinde GPT-5 ailesi çalıştırmaları için paylaşılan bir GPT-5 istem katkısı ekler. Model kimliğine göre uygulanır; bu nedenle `openai/gpt-5.4`, `openai-codex/gpt-5.4`, `openrouter/openai/gpt-5.4`, `opencode/gpt-5.4` ve uyumlu diğer GPT-5 ref'leri aynı katmanı alır. Daha eski GPT-4.x modelleri almaz. -Paketli yerel Codex harness sağlayıcısı (`codex/*`), Codex uygulama sunucusu geliştirici yönergeleri üzerinden aynı GPT-5 davranışını ve Heartbeat katmanını kullanır; böylece `codex/gpt-5.x` oturumları, istemin geri kalanına Codex sahip olsa bile aynı takip etme ve proaktif Heartbeat rehberliğini korur. +Paketlenmiş yerel Codex harness sağlayıcısı (`codex/*`), Codex uygulama sunucusu geliştirici talimatları üzerinden aynı GPT-5 davranışını ve Heartbeat katmanını kullanır; bu nedenle `codex/gpt-5.x` oturumları, Codex harness isteminin geri kalanına sahip olsa da aynı takip etme ve proaktif Heartbeat rehberliğini korur. -GPT-5 katkısı; persona sürekliliği, yürütme güvenliği, araç disiplini, çıktı biçimi, tamamlama denetimleri ve doğrulama için etiketli bir davranış sözleşmesi ekler. Kanala özgü yanıt ve sessiz mesaj davranışı paylaşılan OpenClaw sistem isteminde ve giden teslimat ilkesinde kalır. GPT-5 rehberliği eşleşen modeller için her zaman etkindir. Dostça etkileşim tarzı katmanı ayrıdır ve yapılandırılabilir. +GPT-5 katkısı; persona sürekliliği, yürütme güvenliği, araç disiplini, çıktı şekli, tamamlanma kontrolleri ve doğrulama için etiketli bir davranış sözleşmesi ekler. Kanala özgü yanıt ve sessiz mesaj davranışı, paylaşılan OpenClaw sistem isteminde ve giden teslim politikası içinde kalır. GPT-5 rehberliği eşleşen modeller için her zaman etkindir. Dostça etkileşim stili katmanı ayrıdır ve yapılandırılabilir. | Değer | Etki | | ---------------------- | ------------------------------------------- | -| `"friendly"` (varsayılan) | Dostça etkileşim tarzı katmanını etkinleştir | +| `"friendly"` (varsayılan) | Dostça etkileşim stili katmanını etkinleştirir | | `"on"` | `"friendly"` için takma ad | -| `"off"` | Yalnızca dostça tarz katmanını devre dışı bırak | +| `"off"` | Yalnızca dostça stil katmanını devre dışı bırakır | - + ```json5 { agents: { @@ -282,28 +282,28 @@ GPT-5 katkısı; persona sürekliliği, yürütme güvenliği, araç disiplini, -Değerler çalışma zamanında büyük/küçük harf duyarsızdır; bu nedenle `"Off"` ve `"off"` her ikisi de dostça tarz katmanını devre dışı bırakır. +Değerler çalışma zamanında büyük/küçük harfe duyarsızdır; bu nedenle `"Off"` ve `"off"` her ikisi de dostça stil katmanını devre dışı bırakır. -Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults.promptOverlays.gpt5.personality` ayarı yapılmadığında uyumluluk geri dönüşü olarak hâlâ okunur. +Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults.promptOverlays.gpt5.personality` ayarı belirlenmediğinde uyumluluk için geri dönüş olarak hâlâ okunur. ## Ses ve konuşma - Paketli `openai` Plugin'i, konuşma sentezini `messages.tts` yüzeyi için kaydeder. + Paketlenmiş `openai` Plugin, `messages.tts` yüzeyi için konuşma sentezini kaydeder. - | Ayar | Config yolu | Varsayılan | + | Ayar | Yapılandırma yolu | Varsayılan | |---------|------------|---------| | Model | `messages.tts.providers.openai.model` | `gpt-4o-mini-tts` | | Ses | `messages.tts.providers.openai.voice` | `coral` | - | Hız | `messages.tts.providers.openai.speed` | (ayarsız) | - | Yönergeler | `messages.tts.providers.openai.instructions` | (ayarsız, yalnızca `gpt-4o-mini-tts`) | + | Hız | `messages.tts.providers.openai.speed` | (ayarlanmadı) | + | Talimatlar | `messages.tts.providers.openai.instructions` | (ayarlanmadı, yalnızca `gpt-4o-mini-tts`) | | Biçim | `messages.tts.providers.openai.responseFormat` | sesli notlar için `opus`, dosyalar için `mp3` | - | API anahtarı | `messages.tts.providers.openai.apiKey` | `OPENAI_API_KEY` değerine geri döner | - | Base URL | `messages.tts.providers.openai.baseUrl` | `https://api.openai.com/v1` | + | API anahtarı | `messages.tts.providers.openai.apiKey` | Geri dönüş olarak `OPENAI_API_KEY` kullanır | + | Temel URL | `messages.tts.providers.openai.baseUrl` | `https://api.openai.com/v1` | Kullanılabilir modeller: `gpt-4o-mini-tts`, `tts-1`, `tts-1-hd`. Kullanılabilir sesler: `alloy`, `ash`, `ballad`, `cedar`, `coral`, `echo`, `fable`, `juniper`, `marin`, `onyx`, `nova`, `sage`, `shimmer`, `verse`. @@ -320,23 +320,20 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. ``` - Sohbet API uç noktasını etkilemeden TTS base URL'sini geçersiz kılmak için `OPENAI_TTS_BASE_URL` ayarlayın. + Sohbet API uç noktasını etkilemeden TTS temel URL'sini geçersiz kılmak için `OPENAI_TTS_BASE_URL` ayarlayın. - Paketli `openai` Plugin'i, toplu konuşmadan metne desteğini - OpenClaw'un medya anlama transkripsiyon yüzeyi üzerinden kaydeder. + Paketlenmiş `openai` Plugin, OpenClaw'ın medya anlama transkripsiyon yüzeyi üzerinden toplu konuşmadan metne dönüştürmeyi kaydeder. - Varsayılan model: `gpt-4o-transcribe` - Uç nokta: OpenAI REST `/v1/audio/transcriptions` - Girdi yolu: multipart ses dosyası yükleme - - OpenClaw'da gelen ses transkripsiyonunun - `tools.media.audio` kullandığı her yerde desteklenir; buna Discord ses kanalı segmentleri ve kanal - ses ekleri dahildir + - OpenClaw'da, gelen ses transkripsiyonu `tools.media.audio` kullandığı her yerde desteklenir; buna Discord ses kanalı segmentleri ve kanal ses ekleri dahildir - Gelen ses transkripsiyonu için OpenAI'yi zorlamak üzere: + Gelen ses transkripsiyonu için OpenAI'ı zorunlu kılmak için: ```json5 { @@ -356,47 +353,171 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. } ``` - Dil ve istem ipuçları, paylaşılan ses medya config'i veya çağrı başına transkripsiyon isteği tarafından sağlandığında OpenAI'ye iletilir. + Dil ve istem ipuçları, paylaşılan ses medya yapılandırması veya çağrı başına transkripsiyon isteği tarafından sağlandığında OpenAI'a iletilir. - Paketli `openai` Plugin'i, Voice Call Plugin'i için gerçek zamanlı transkripsiyon kaydeder. + Paketlenmiş `openai` Plugin, Voice Call Plugin için gerçek zamanlı transkripsiyonu kaydeder. - | Ayar | Config yolu | Varsayılan | + | Ayar | Yapılandırma yolu | Varsayılan | |---------|------------|---------| | Model | `plugins.entries.voice-call.config.streaming.providers.openai.model` | `gpt-4o-transcribe` | - | Dil | `...openai.language` | (ayarsız) | - | İstem | `...openai.prompt` | (ayarsız) | + | Dil | `...openai.language` | (ayarlanmadı) | + | İstem | `...openai.prompt` | (ayarlanmadı) | | Sessizlik süresi | `...openai.silenceDurationMs` | `800` | | VAD eşiği | `...openai.vadThreshold` | `0.5` | - | API anahtarı | `...openai.apiKey` | `OPENAI_API_KEY` değerine geri döner | + | API anahtarı | `...openai.apiKey` | Geri dönüş olarak `OPENAI_API_KEY` kullanır | - `wss://api.openai.com/v1/realtime` adresine G.711 u-law (`g711_ulaw` / `audio/pcmu`) ses ile bir WebSocket bağlantısı kullanır. Bu akış sağlayıcısı Voice Call'un gerçek zamanlı transkripsiyon yolu içindir; Discord ses şu anda kısa segmentler kaydeder ve bunun yerine toplu `tools.media.audio` transkripsiyon yolunu kullanır. + `wss://api.openai.com/v1/realtime` adresine G.711 u-law (`g711_ulaw` / `audio/pcmu`) ses ile bir WebSocket bağlantısı kullanır. Bu akış sağlayıcısı, Voice Call'ın gerçek zamanlı transkripsiyon yolu içindir; Discord voice ise şu anda kısa segmentler kaydeder ve bunun yerine toplu `tools.media.audio` transkripsiyon yolunu kullanır. - Paketli `openai` Plugin'i, Voice Call Plugin'i için gerçek zamanlı ses kaydeder. + Paketlenmiş `openai` Plugin, Voice Call Plugin için gerçek zamanlı sesi kaydeder. - | Ayar | Config yolu | Varsayılan | + | Ayar | Yapılandırma yolu | Varsayılan | |---------|------------|---------| | Model | `plugins.entries.voice-call.config.realtime.providers.openai.model` | `gpt-realtime` | | Ses | `...openai.voice` | `alloy` | | Sıcaklık | `...openai.temperature` | `0.8` | | VAD eşiği | `...openai.vadThreshold` | `0.5` | | Sessizlik süresi | `...openai.silenceDurationMs` | `500` | - | API anahtarı | `...openai.apiKey` | `OPENAI_API_KEY` değerine geri döner | + | API anahtarı | `...openai.apiKey` | Geri dönüş olarak `OPENAI_API_KEY` kullanır | - `azureEndpoint` ve `azureDeployment` config anahtarları üzerinden Azure OpenAI'yi destekler. Çift yönlü araç çağrısını destekler. G.711 u-law ses biçimini kullanır. + `azureEndpoint` ve `azureDeployment` yapılandırma anahtarları üzerinden Azure OpenAI'ı destekler. Çift yönlü araç çağrımını destekler. G.711 u-law ses biçimini kullanır. +## Azure OpenAI uç noktaları + +Paketlenmiş `openai` sağlayıcısı, temel URL'yi geçersiz kılarak görsel oluşturma için bir Azure OpenAI kaynağını hedefleyebilir. Görsel oluşturma yolunda OpenClaw, `models.providers.openai.baseUrl` üzerindeki Azure ana makine adlarını algılar ve otomatik olarak Azure'ın istek şekline geçer. + + +Gerçek zamanlı ses ayrı bir yapılandırma yolu kullanır +(`plugins.entries.voice-call.config.realtime.providers.openai.azureEndpoint`) +ve `models.providers.openai.baseUrl` değerinden etkilenmez. Azure +ayarları için [Ses ve konuşma](#voice-and-speech) altındaki **Gerçek zamanlı +ses** accordion bölümüne bakın. + + +Azure OpenAI'ı şu durumlarda kullanın: + +- Zaten bir Azure OpenAI aboneliğiniz, kotanız veya kurumsal anlaşmanız varsa +- Azure'ın sağladığı bölgesel veri yerleşimi veya uyumluluk kontrollerine ihtiyacınız varsa +- Trafiği mevcut bir Azure kiracılığı içinde tutmak istiyorsanız + +### Yapılandırma + +Paketlenmiş `openai` sağlayıcısı üzerinden Azure görsel oluşturma için +`models.providers.openai.baseUrl` değerini Azure kaynağınıza yönlendirin ve +`apiKey` değerini Azure OpenAI anahtarına ayarlayın (OpenAI Platform anahtarı değil): + +```json5 +{ + models: { + providers: { + openai: { + baseUrl: "https://.openai.azure.com", + apiKey: "", + }, + }, + }, +} +``` + +OpenClaw, Azure görsel oluşturma yolu için şu Azure ana makine soneklerini tanır: + +- `*.openai.azure.com` +- `*.services.ai.azure.com` +- `*.cognitiveservices.azure.com` + +Tanınan bir Azure ana makinesindeki görsel oluşturma istekleri için OpenClaw: + +- `Authorization: Bearer` yerine `api-key` üstbilgisini gönderir +- Deployment kapsamlı yollar kullanır (`/openai/deployments/{deployment}/...`) +- Her isteğe `?api-version=...` ekler + +Diğer temel URL'ler (genel OpenAI, OpenAI uyumlu proxy'ler) standart +OpenAI görsel istek şeklini korur. + + +`openai` sağlayıcısının görsel oluşturma yolu için Azure yönlendirme +OpenClaw 2026.4.22 veya sonrasını gerektirir. Daha eski sürümler herhangi bir özel +`openai.baseUrl` değerini genel OpenAI uç noktası gibi ele alır ve Azure +görsel deployment'larında başarısız olur. + + +### API sürümü + +Azure görsel oluşturma yolu için belirli bir Azure preview veya GA sürümünü sabitlemek üzere +`AZURE_OPENAI_API_VERSION` ayarlayın: + +```bash +export AZURE_OPENAI_API_VERSION="2024-12-01-preview" +``` + +Değişken ayarlanmadığında varsayılan `2024-12-01-preview` olur. + +### Model adları deployment adlarıdır + +Azure OpenAI, modelleri deployment'lara bağlar. Paketlenmiş `openai` sağlayıcısı üzerinden yönlendirilen +Azure görsel oluşturma istekleri için OpenClaw'daki `model` alanı, genel +OpenAI model kimliği değil, Azure portalında yapılandırdığınız **Azure deployment adı** +olmalıdır. + +`gpt-image-2` sunan `gpt-image-2-prod` adlı bir deployment oluşturursanız: + +``` +/tool image_generate model=openai/gpt-image-2-prod prompt="Temiz bir poster" size=1024x1024 count=1 +``` + +Aynı deployment-adı kuralı, paketlenmiş `openai` sağlayıcısı üzerinden yönlendirilen +görsel oluşturma çağrıları için de geçerlidir. + +### Bölgesel kullanılabilirlik + +Azure görsel oluşturma şu anda yalnızca bazı bölgelerde kullanılabilir +(örneğin `eastus2`, `swedencentral`, `polandcentral`, `westus3`, +`uaenorth`). Bir deployment oluşturmadan önce Microsoft'un güncel bölge +listesini kontrol edin ve belirli modelin bölgenizde sunulduğunu doğrulayın. + +### Parametre farkları + +Azure OpenAI ve genel OpenAI her zaman aynı görsel parametrelerini kabul etmez. +Azure, genel OpenAI'ın izin verdiği seçenekleri reddedebilir (örneğin belirli +`background` değerleri `gpt-image-2` üzerinde) veya bunları yalnızca belirli model +sürümlerinde sunabilir. Bu farklar OpenClaw'dan değil, Azure'dan ve alttaki modelden gelir. +Bir Azure isteği doğrulama hatasıyla başarısız olursa, Azure portalında +belirli deployment'ınız ve API sürümünüz tarafından desteklenen parametre +kümesini kontrol edin. + + +Azure OpenAI yerel taşıma ve uyumluluk davranışı kullanır ancak +OpenClaw'ın gizli atıf üstbilgilerini almaz. Ayrıntılar için +[Gelişmiş yapılandırma](#advanced-configuration) altındaki **Yerel ve OpenAI-compatible +yollar** accordion bölümüne bakın. + + + +`openai` sağlayıcısından ayrı bir Azure OpenAI Responses sağlayıcısı için, +[Sunucu taraflı Compaction](#server-side-compaction-responses-api) accordion bölümündeki +`azure-openai-responses/*` model ref'lerine bakın. + + + +Azure sohbet ve Responses trafiği, temel URL geçersiz kılmasına ek olarak +Azure'a özgü sağlayıcı/API yapılandırması gerektirir. Görsel oluşturmanın ötesinde +Azure model çağrıları istiyorsanız, yalnızca `openai.baseUrl` değerinin yeterli +olduğunu varsaymak yerine onboarding akışını veya uygun Azure API/kimlik doğrulama +şeklini ayarlayan bir sağlayıcı yapılandırmasını kullanın. + + ## Gelişmiş yapılandırma @@ -404,16 +525,16 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. OpenClaw, hem `openai/*` hem de `openai-codex/*` için WebSocket öncelikli ve SSE geri dönüşlü (`"auto"`) kullanır. `"auto"` modunda OpenClaw: - - SSE'ye geri dönmeden önce erken bir WebSocket hatasını bir kez yeniden dener - - Bir hatadan sonra WebSocket'i yaklaşık 60 saniye boyunca bozulmuş olarak işaretler ve soğuma süresince SSE kullanır - - Yeniden denemeler ve yeniden bağlantılar için kararlı oturum ve dönüş kimliği başlıkları ekler + - SSE'ye geri dönmeden önce bir erken WebSocket hatasını yeniden dener + - Bir hatadan sonra WebSocket'i yaklaşık 60 saniye boyunca bozulmuş olarak işaretler ve soğuma süresinde SSE kullanır + - Yeniden denemeler ve yeniden bağlantılar için kararlı oturum ve sıra kimliği üstbilgileri ekler - Taşıma varyantları arasında kullanım sayaçlarını (`input_tokens` / `prompt_tokens`) normalize eder | Değer | Davranış | |-------|----------| | `"auto"` (varsayılan) | Önce WebSocket, SSE geri dönüşü | - | `"sse"` | Yalnızca SSE'yi zorla | - | `"websocket"` | Yalnızca WebSocket'i zorla | + | `"sse"` | Yalnızca SSE'yi zorunlu kıl | + | `"websocket"` | Yalnızca WebSocket'i zorunlu kıl | ```json5 { @@ -431,15 +552,15 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. İlgili OpenAI belgeleri: - [WebSocket ile Realtime API](https://platform.openai.com/docs/guides/realtime-websocket) - - [Akış API yanıtları (SSE)](https://platform.openai.com/docs/guides/streaming-responses) + - [Akışlı API yanıtları (SSE)](https://platform.openai.com/docs/guides/streaming-responses) - - OpenClaw, ilk dönüş gecikmesini azaltmak için `openai/*` için WebSocket hazırlığını varsayılan olarak etkinleştirir. + + OpenClaw, ilk sıra gecikmesini azaltmak için `openai/*` için varsayılan olarak WebSocket warm-up özelliğini etkinleştirir. ```json5 - // Hazırlığı devre dışı bırak + // Warm-up'ı devre dışı bırak { agents: { defaults: { @@ -458,10 +579,10 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. - OpenClaw, hem `openai/*` hem de `openai-codex/*` için paylaşılan bir hızlı mod anahtarı sunar: + OpenClaw, hem `openai/*` hem de `openai-codex/*` için paylaşılan bir hızlı mod düğmesi sunar: - **Sohbet/UI:** `/fast status|on|off` - - **Config:** `agents.defaults.models["/"].params.fastMode` + - **Yapılandırma:** `agents.defaults.models["/"].params.fastMode` Etkinleştirildiğinde OpenClaw, hızlı modu OpenAI öncelikli işlemeye eşler (`service_tier = "priority"`). Mevcut `service_tier` değerleri korunur ve hızlı mod `reasoning` veya `text.verbosity` değerlerini yeniden yazmaz. @@ -479,13 +600,13 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. ``` - Oturum geçersiz kılmaları config'i geçer. Sessions UI içinde oturum geçersiz kılmasını temizlemek, oturumu yapılandırılmış varsayılana geri döndürür. + Oturum geçersiz kılmaları yapılandırmaya üstün gelir. Sessions UI içinde oturum geçersiz kılmasını temizlemek, oturumu yapılandırılmış varsayılana geri döndürür. - OpenAI API'si, `service_tier` üzerinden öncelikli işlemeyi açığa çıkarır. Bunu OpenClaw'da model başına ayarlayın: + OpenAI'ın API'si, `service_tier` aracılığıyla öncelikli işleme sunar. Bunu OpenClaw'da model başına ayarlayın: ```json5 { @@ -503,16 +624,16 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. Desteklenen değerler: `auto`, `default`, `flex`, `priority`. - `serviceTier`, yalnızca yerel OpenAI uç noktalarına (`api.openai.com`) ve yerel Codex uç noktalarına (`chatgpt.com/backend-api`) iletilir. Sağlayıcılardan herhangi birini bir proxy üzerinden yönlendirirseniz OpenClaw `service_tier` değerine dokunmaz. + `serviceTier` yalnızca yerel OpenAI uç noktalarına (`api.openai.com`) ve yerel Codex uç noktalarına (`chatgpt.com/backend-api`) iletilir. Her iki sağlayıcıyı da bir proxy üzerinden yönlendirirseniz OpenClaw, `service_tier` değerini değiştirmeden bırakır. - Doğrudan OpenAI Responses modelleri için (`api.openai.com` üzerindeki `openai/*`), OpenClaw sunucu taraflı Compaction'ı otomatik etkinleştirir: + Doğrudan OpenAI Responses modelleri için (`api.openai.com` üzerindeki `openai/*`), OpenClaw sunucu taraflı Compaction özelliğini otomatik etkinleştirir: - - `store: true` zorlar (`supportsStore: false` ayarlayan model uyumluluğu yoksa) - - `context_management: [{ type: "compaction", compact_threshold: ... }]` ekler + - `store: true` zorunlu kılınır (`supportsStore: false` ayarlayan model compat durumu hariç) + - `context_management: [{ type: "compaction", compact_threshold: ... }]` eklenir - Varsayılan `compact_threshold`: `contextWindow` değerinin %70'i (veya mevcut değilse `80000`) @@ -569,13 +690,13 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. - `responsesServerCompaction`, yalnızca `context_management` eklemesini denetler. Doğrudan OpenAI Responses modelleri, uyumluluk `supportsStore: false` ayarlamadığı sürece yine de `store: true` zorlar. + `responsesServerCompaction` yalnızca `context_management` eklemesini kontrol eder. Doğrudan OpenAI Responses modelleri, compat `supportsStore: false` ayarlamadığı sürece yine de `store: true` zorunlu kılar. - - `openai/*` ve `openai-codex/*` üzerindeki GPT-5 ailesi çalıştırmaları için OpenClaw daha katı bir gömülü yürütme sözleşmesi kullanabilir: + + `openai/*` ve `openai-codex/*` üzerindeki GPT-5 ailesi çalıştırmaları için OpenClaw, daha sıkı bir gömülü yürütme sözleşmesi kullanabilir: ```json5 { @@ -588,32 +709,32 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. ``` `strict-agentic` ile OpenClaw: - - Bir araç eylemi mevcut olduğunda artık yalnızca plan içeren bir dönüşü başarılı ilerleme olarak değerlendirmez - - Dönüşü şimdi-harekete-geç yönlendirmesiyle yeniden dener - - Önemli işler için `update_plan` özelliğini otomatik etkinleştirir - - Model hareket etmeden planlamaya devam ederse açık bir engelli durum gösterir + - Artık bir araç eylemi mevcut olduğunda yalnızca plan içeren bir sırayı başarılı ilerleme olarak değerlendirmez + - Sırayı hemen harekete geç yönlendirmesiyle yeniden dener + - Önemli işler için `update_plan` özelliğini otomatik olarak etkinleştirir + - Model eyleme geçmeden plan yapmaya devam ederse açık bir engellenmiş durum gösterir - Yalnızca OpenAI ve Codex GPT-5 ailesi çalıştırmaları için kapsamlandırılmıştır. Diğer sağlayıcılar ve daha eski model aileleri varsayılan davranışı korur. + Yalnızca OpenAI ve Codex GPT-5 ailesi çalıştırmalarıyla sınırlıdır. Diğer sağlayıcılar ve daha eski model aileleri varsayılan davranışı korur. - - OpenClaw, doğrudan OpenAI, Codex ve Azure OpenAI uç noktalarını genel OpenAI uyumlu `/v1` proxy'lerinden farklı ele alır: + + OpenClaw, doğrudan OpenAI, Codex ve Azure OpenAI uç noktalarını genel OpenAI-compatible `/v1` proxy'lerinden farklı ele alır: - **Yerel rotalar** (`openai/*`, `openai-codex/*`, Azure OpenAI): - - `reasoning: { effort: "none" }` değerini yalnızca OpenAI `none` effort'u destekleyen modeller için korur - - `reasoning.effort: "none"` değerini reddeden modeller veya proxy'ler için devre dışı reasoning'i çıkarır - - Araç şemalarını varsayılan olarak katı moda alır - - Gizli ilişkilendirme başlıklarını yalnızca doğrulanmış yerel ana makinelere ekler - - OpenAI'ye özgü istek biçimlendirmesini korur (`service_tier`, `store`, reasoning-compat, prompt-cache ipuçları) + **Yerel yollar** (`openai/*`, `openai-codex/*`, Azure OpenAI): + - `reasoning: { effort: "none" }` değerini yalnızca OpenAI `none` effort desteği olan modeller için korur + - `reasoning.effort: "none"` değerini reddeden modeller veya proxy'ler için devre dışı reasoning'i atlar + - Araç şemalarını varsayılan olarak sıkı moda ayarlar + - Gizli atıf üstbilgilerini yalnızca doğrulanmış yerel ana makinelerde ekler + - OpenAI'ya özgü istek şekillendirmesini korur (`service_tier`, `store`, reasoning-compat, istem önbelleği ipuçları) - **Proxy/uyumlu rotalar:** - - Daha gevşek uyumluluk davranışı kullanır - - Katı araç şemalarını veya yalnızca yerel başlıkları zorlamaz + **Proxy/compatible yollar:** + - Daha gevşek compat davranışı kullanır + - Sıkı araç şemalarını veya yalnızca yerel üstbilgileri zorunlu kılmaz - Azure OpenAI yerel taşıma ve uyumluluk davranışını kullanır ancak gizli ilişkilendirme başlıklarını almaz. + Azure OpenAI, yerel taşıma ve compat davranışı kullanır ancak gizli atıf üstbilgilerini almaz. @@ -622,12 +743,12 @@ Eski `plugins.entries.openai.config.personality`, paylaşılan `agents.defaults. - Sağlayıcıları, model başvurularını ve failover davranışını seçme. + Sağlayıcıları, model ref'lerini ve failover davranışını seçme. - + Paylaşılan görsel aracı parametreleri ve sağlayıcı seçimi. - + Paylaşılan video aracı parametreleri ve sağlayıcı seçimi. diff --git a/docs/tr/reference/test.md b/docs/tr/reference/test.md index be4f4bde0..198eada2f 100644 --- a/docs/tr/reference/test.md +++ b/docs/tr/reference/test.md @@ -1,50 +1,51 @@ --- read_when: - Testleri çalıştırma veya düzeltme -summary: Vitest ile testleri yerelde nasıl çalıştıracağınız ve force/coverage modlarını ne zaman kullanmanız gerektiği +summary: Testler yerelde nasıl çalıştırılır (`vitest`) ve force/coverage modları ne zaman kullanılmalıdır title: Testler x-i18n: - generated_at: "2026-04-22T04:27:51Z" + generated_at: "2026-04-23T13:58:00Z" model: gpt-5.4 provider: openai - source_hash: ed665840ef2c7728da8ec923eb3ea2878d9b20a841cb2fe4116a7f6334567b8e + source_hash: e0bcecb0868b3b68361e5ef78afc3170f2a481771bda8f7d54200b1d778d044a source_path: reference/test.md workflow: 15 --- # Testler -- Tam test kiti (suiteler, canlı, Docker): [Testing](/tr/help/testing) +- Tam test kiti (suite’ler, canlı, Docker): [Testing](/tr/help/testing) -- `pnpm test:force`: Varsayılan denetim portunu elinde tutan artakalmış gateway sürecini sonlandırır, ardından sunucu testleri çalışan bir örnekle çakışmasın diye yalıtılmış bir gateway portuyla tam Vitest paketini çalıştırır. Önceki bir gateway çalıştırması 18789 portunu dolu bıraktığında bunu kullanın. -- `pnpm test:coverage`: V8 kapsamıyla birim paketini çalıştırır (`vitest.unit.config.ts` üzerinden). Bu, tüm depo için tüm dosyaları kapsayan kapsam değil, yüklenmiş dosya birim kapsam geçididir. Eşikler satırlar/fonksiyonlar/ifadeler için %70, dallar için %55’tir. `coverage.all` false olduğu için geçit, her parçalanmış hat kaynak dosyasını kapsanmamış saymak yerine birim kapsam paketi tarafından yüklenen dosyaları ölçer. -- `pnpm test:coverage:changed`: Birim kapsamını yalnızca `origin/main` sonrasındaki değişmiş dosyalar için çalıştırır. -- `pnpm test:changed`: Git’te değişen yolları, fark yalnızca yönlendirilebilir kaynak/test dosyalarına dokunuyorsa kapsamlı Vitest hatlarına genişletir. Yapılandırma/kurulum değişiklikleri, gerektiğinde bağlantı düzenlemeleri geniş çapta yeniden çalışsın diye yine yerel kök proje çalıştırmasına geri düşer. -- `pnpm changed:lanes`: `origin/main` karşısındaki farkın tetiklediği mimari hatları gösterir. -- `pnpm check:changed`: `origin/main` karşısındaki fark için akıllı changed geçidini çalıştırır. Çekirdek işi çekirdek test hatlarıyla, eklenti işini eklenti test hatlarıyla, yalnızca test işini sadece test typecheck/testleriyle çalıştırır, herkese açık Plugin SDK veya plugin-contract değişikliklerini eklenti doğrulamasına genişletir ve yalnızca release metadata sürüm artışlarını hedeflenmiş sürüm/yapılandırma/kök-bağımlılık denetimlerinde tutar. -- `pnpm test`: Açık dosya/dizin hedeflerini kapsamlı Vitest hatları üzerinden yönlendirir. Hedefsiz çalıştırmalar sabit shard grupları kullanır ve yerelde paralel yürütme için yaprak yapılandırmalara genişler; eklenti grubu her zaman tek bir dev kök proje süreci yerine eklenti başına shard yapılandırmalarına genişler. -- Tam ve eklenti shard çalıştırmaları `.artifacts/vitest-shard-timings.json` içinde yerel zamanlama verilerini günceller; sonraki çalıştırmalar bu zamanlamaları yavaş ve hızlı shard’ları dengelemek için kullanır. Yerel zamanlama artifact’ini yok saymak için `OPENCLAW_TEST_PROJECTS_TIMINGS=0` ayarlayın. -- Seçili `plugin-sdk` ve `commands` test dosyaları artık yalnızca `test/setup.ts` tutan özel hafif hatlar üzerinden yönlendirilir; çalışma zamanı ağır durumlar mevcut hatlarında kalır. -- Seçili `plugin-sdk` ve `commands` yardımcı kaynak dosyaları ayrıca `pnpm test:changed` komutunu bu hafif hatlardaki açık kardeş testlere eşler; böylece küçük yardımcı düzenlemeleri ağır çalışma zamanı destekli paketleri yeniden çalıştırmaz. -- `auto-reply` artık üç özel yapılandırmaya da bölünür (`core`, `top-level`, `reply`); böylece reply harness daha hafif top-level status/token/helper testlerine baskın çıkmaz. -- Temel Vitest yapılandırması artık varsayılan olarak `pool: "threads"` ve `isolate: false` kullanır; paylaşılan yalıtımsız çalıştırıcı depo yapılandırmaları genelinde etkindir. +- `pnpm test:force`: Varsayılan kontrol portunu tutan takılı kalmış Gateway süreçlerini sonlandırır, ardından sunucu testlerinin çalışan bir örnekle çakışmaması için yalıtılmış bir Gateway portuyla tam Vitest suite’ini çalıştırır. Önceki bir Gateway çalıştırması 18789 portunu dolu bıraktıysa bunu kullanın. +- `pnpm test:coverage`: Birim suite’ini V8 coverage ile (`vitest.unit.config.ts` üzerinden) çalıştırır. Bu, depo genelinde tüm dosyaları kapsayan bir coverage kapısı değil, yüklenen dosyalara yönelik birim coverage kapısıdır. Eşikler satırlar/fonksiyonlar/ifadeler için %70, branch’ler için %55’tir. `coverage.all` false olduğu için kapı, bölünmüş lane kaynak dosyalarının tamamını kapsanmamış saymak yerine birim coverage suite’i tarafından yüklenen dosyaları ölçer. +- `pnpm test:coverage:changed`: Yalnızca `origin/main` ile kıyaslandığında değişen dosyalar için birim coverage çalıştırır. +- `pnpm test:changed`: Diff yalnızca yönlendirilebilir kaynak/test dosyalarına dokunuyorsa değişen git yollarını kapsamlı Vitest lane’lerine genişletir. Yapılandırma/kurulum değişiklikleri ise yerel root project çalıştırmasına geri düşer; böylece bağlantı düzenlemeleri gerektiğinde daha geniş yeniden çalıştırılır. +- `pnpm changed:lanes`: `origin/main` karşısındaki diff’in tetiklediği mimari lane’leri gösterir. +- `pnpm check:changed`: `origin/main` karşısındaki diff için akıllı değişenler kapısını çalıştırır. Çekirdek değişiklikleri çekirdek test lane’leriyle, extension çalışmalarını extension test lane’leriyle, yalnızca test değişikliklerini sadece test typecheck/testleriyle çalıştırır; genel Plugin SDK veya plugin-contract değişikliklerini extension doğrulamasına genişletir ve sürüm metadatasına yönelik değişikliklerde hedefli sürüm/yapılandırma/root bağımlılığı kontrollerini korur. +- `pnpm test`: Açıkça belirtilen dosya/dizin hedeflerini kapsamlı Vitest lane’leri üzerinden yönlendirir. Hedef belirtilmeyen çalıştırmalar sabit shard grupları kullanır ve yerel paralel çalıştırma için leaf config’lere genişler; extension grubu her zaman tek büyük bir root-project süreci yerine extension başına shard config’lerine genişler. +- Tam ve extension shard çalıştırmaları yerel zamanlama verisini `.artifacts/vitest-shard-timings.json` içinde günceller; sonraki çalıştırmalar bu zamanlamaları yavaş ve hızlı shard’ları dengelemek için kullanır. Yerel zamanlama artifact’ını yok saymak için `OPENCLAW_TEST_PROJECTS_TIMINGS=0` ayarlayın. +- Seçili `plugin-sdk` ve `commands` test dosyaları artık yalnızca `test/setup.ts` tutan özel hafif lane’ler üzerinden yönlendirilir; çalışma zamanı açısından ağır durumlar mevcut lane’lerinde kalır. +- Seçili `plugin-sdk` ve `commands` yardımcı kaynak dosyaları da `pnpm test:changed` komutunu bu hafif lane’lerdeki açık kardeş testlere eşler; böylece küçük yardımcı düzenlemeleri, çalışma zamanı destekli ağır suite’lerin yeniden çalıştırılmasını önler. +- `auto-reply` artık üç özel config’e de ayrılır (`core`, `top-level`, `reply`); böylece reply harness daha hafif üst düzey durum/token/helper testlerine baskın gelmez. +- Temel Vitest config artık varsayılan olarak `pool: "threads"` ve `isolate: false` kullanır; paylaşılan yalıtılmamış runner depo genelindeki config’lerde etkindir. - `pnpm test:channels`, `vitest.channels.config.ts` dosyasını çalıştırır. -- `pnpm test:extensions` ve `pnpm test extensions` tüm extension/plugin shard’larını çalıştırır. Ağır kanal extension’ları ve OpenAI özel shard’lar olarak çalışır; diğer extension grupları toplu kalır. Tek bir paketlenmiş plugin hattı için `pnpm test extensions/` kullanın. -- `pnpm test:perf:imports`: Açık dosya/dizin hedefleri için kapsamlı hat yönlendirmesini kullanmaya devam ederken Vitest import-duration + import-breakdown raporlamasını etkinleştirir. -- `pnpm test:perf:imports:changed`: Aynı import profillemesi, ancak yalnızca `origin/main` sonrasındaki değişmiş dosyalar için. -- `pnpm test:perf:changed:bench -- --ref ` aynı commit edilmiş git farkı için yönlendirilmiş changed-mode yolunu yerel kök proje çalıştırmasına karşı kıyaslar. -- `pnpm test:perf:changed:bench -- --worktree` önce commit etmeden mevcut worktree değişiklik kümesini kıyaslar. +- `pnpm test:extensions` ve `pnpm test extensions` tüm extension/plugin shard’larını çalıştırır. Ağır kanal extension’ları ve OpenAI özel shard’lar olarak çalışır; diğer extension grupları toplu kalır. Tek bir paketlenmiş plugin lane’i için `pnpm test extensions/` kullanın. +- `pnpm test:perf:imports`: Açık dosya/dizin hedefleri için yine kapsamlı lane yönlendirmesini kullanırken Vitest import süresi + import dökümü raporlamasını etkinleştirir. +- `pnpm test:perf:imports:changed`: Aynı import profillemesi, ancak yalnızca `origin/main` ile kıyaslandığında değişen dosyalar için. +- `pnpm test:perf:changed:bench -- --ref `: Aynı commit edilmiş git diff’i için yönlendirilmiş changed-mode yolunu yerel root-project çalıştırmasıyla kıyaslar. +- `pnpm test:perf:changed:bench -- --worktree`: Mevcut worktree değişiklik kümesini önce commit etmeden kıyaslar. - `pnpm test:perf:profile:main`: Vitest ana iş parçacığı için bir CPU profili yazar (`.artifacts/vitest-main-profile`). -- `pnpm test:perf:profile:runner`: Birim çalıştırıcı için CPU + heap profilleri yazar (`.artifacts/vitest-runner-profile`). -- Gateway entegrasyonu: `OPENCLAW_TEST_INCLUDE_GATEWAY=1 pnpm test` veya `pnpm test:gateway` ile isteğe bağlı etkinleştirilir. -- `pnpm test:e2e`: Gateway uçtan uca smoke testlerini çalıştırır (çoklu örnek WS/HTTP/node eşleştirmesi). Varsayılan olarak `vitest.e2e.config.ts` içinde uyarlamalı worker’larla `threads` + `isolate: false` kullanır; `OPENCLAW_E2E_WORKERS=` ile ayarlayın ve ayrıntılı günlükler için `OPENCLAW_E2E_VERBOSE=1` ayarlayın. -- `pnpm test:live`: Sağlayıcı canlı testlerini çalıştırır (minimax/zai). Atlananları çalıştırmak için API anahtarları ve `LIVE=1` (veya sağlayıcıya özgü `*_LIVE_TEST=1`) gerekir. -- `pnpm test:docker:openwebui`: Docker’lı OpenClaw + Open WebUI başlatır, Open WebUI üzerinden oturum açar, `/api/models` denetler, ardından `/api/chat/completions` üzerinden gerçek proxy’lenmiş bir sohbet çalıştırır. Kullanılabilir bir canlı model anahtarı gerektirir (örneğin `~/.profile` içindeki OpenAI), harici bir Open WebUI image’ı çeker ve normal birim/e2e paketleri gibi CI açısından kararlı olması beklenmez. -- `pnpm test:docker:mcp-channels`: Tohumlanmış bir Gateway kapsayıcısı ve `openclaw mcp serve` başlatan ikinci bir istemci kapsayıcısı başlatır; ardından yönlendirilmiş konuşma keşfini, transcript okumalarını, ek meta verilerini, canlı olay kuyruğu davranışını, giden gönderim yönlendirmesini ve Claude tarzı kanal + izin bildirimlerini gerçek stdio köprüsü üzerinden doğrular. Claude bildirim doğrulaması ham stdio MCP çerçevelerini doğrudan okur; böylece smoke, köprünün gerçekten ne yaydığını yansıtır. +- `pnpm test:perf:profile:runner`: Birim runner için CPU + heap profilleri yazar (`.artifacts/vitest-runner-profile`). +- Gateway entegrasyonu: `OPENCLAW_TEST_INCLUDE_GATEWAY=1 pnpm test` veya `pnpm test:gateway` ile isteğe bağlı olarak etkinleştirilir. +- `pnpm test:e2e`: Gateway uçtan uca smoke testlerini çalıştırır (çoklu örnek WS/HTTP/Node eşleştirmesi). Varsayılan olarak `vitest.e2e.config.ts` içinde `threads` + `isolate: false` ve uyarlanabilir worker’lar kullanır; `OPENCLAW_E2E_WORKERS=` ile ayarlayın ve ayrıntılı loglar için `OPENCLAW_E2E_VERBOSE=1` ayarlayın. +- `pnpm test:live`: Sağlayıcı canlı testlerini çalıştırır (minimax/zai). Atlanmaması için API anahtarları ve `LIVE=1` (veya sağlayıcıya özel `*_LIVE_TEST=1`) gerekir. +- `pnpm test:docker:all`: Paylaşılan canlı test imajını ve Docker E2E imajını bir kez oluşturur, ardından Docker smoke lane’lerini varsayılan olarak eşzamanlılık 4 ile `OPENCLAW_SKIP_DOCKER_BUILD=1` kullanarak çalıştırır. `OPENCLAW_DOCKER_ALL_PARALLELISM=` ile ayarlayın. `OPENCLAW_DOCKER_ALL_FAIL_FAST=0` ayarlanmadığı sürece çalıştırıcı ilk hatadan sonra havuzlanmış yeni lane planlamayı durdurur ve her lane için `OPENCLAW_DOCKER_ALL_LANE_TIMEOUT_MS` ile değiştirilebilen 120 dakikalık bir zaman aşımı vardır. Başlangıca veya sağlayıcıya duyarlı lane’ler paralel havuzdan sonra tek başına çalışır. Lane başına loglar `.artifacts/docker-tests//` altına yazılır. +- `pnpm test:docker:openwebui`: Docker üzerinde çalışan OpenClaw + Open WebUI’ı başlatır, Open WebUI üzerinden oturum açar, `/api/models` yolunu kontrol eder, ardından `/api/chat/completions` üzerinden gerçek bir proxy’lenmiş sohbet çalıştırır. Kullanılabilir bir canlı model anahtarı gerektirir (örneğin `~/.profile` içindeki OpenAI), harici bir Open WebUI imajı çeker ve normal birim/e2e suite’leri gibi CI açısından kararlı olması beklenmez. +- `pnpm test:docker:mcp-channels`: Tohumlanmış bir Gateway container’ı ve `openclaw mcp serve` başlatan ikinci bir istemci container’ı çalıştırır; ardından yönlendirilmiş konuşma keşfini, transkript okumalarını, ek metadata’sını, canlı olay kuyruğu davranışını, giden gönderim yönlendirmesini ve gerçek stdio köprüsü üzerinden Claude tarzı kanal + izin bildirimlerini doğrular. Claude bildirim doğrulaması ham stdio MCP karelerini doğrudan okur; böylece smoke testi köprünün gerçekten ne yaydığını yansıtır. -## Yerel PR geçidi +## Yerel PR kapısı -Yerel PR land/geçit denetimleri için şunları çalıştırın: +PR birleştirme/kapı kontrollerini yerelde çalıştırmak için şunları çalıştırın: - `pnpm check:changed` - `pnpm check` @@ -53,27 +54,27 @@ Yerel PR land/geçit denetimleri için şunları çalıştırın: - `pnpm test` - `pnpm check:docs` -Eğer `pnpm test` yoğun yüklü bir hostta dalgalanırsa, bunu bir regresyon saymadan önce bir kez yeniden çalıştırın, sonra `pnpm test ` ile yalıtın. Bellek kısıtlı host’lar için şunları kullanın: +Eğer `pnpm test` yüklü bir host üzerinde takılmalı biçimde başarısız olursa, bunu regresyon saymadan önce bir kez daha çalıştırın; ardından `pnpm test ` ile izole edin. Bellek kısıtlı host’lar için şunları kullanın: - `OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test` - `OPENCLAW_VITEST_FS_MODULE_CACHE_PATH=/tmp/openclaw-vitest-cache pnpm test:changed` -## Model gecikme kıyası (yerel anahtarlar) +## Model gecikmesi kıyaslaması (yerel anahtarlar) Betik: [`scripts/bench-model.ts`](https://github.com/openclaw/openclaw/blob/main/scripts/bench-model.ts) Kullanım: - `source ~/.profile && pnpm tsx scripts/bench-model.ts --runs 10` -- İsteğe bağlı env: `MINIMAX_API_KEY`, `MINIMAX_BASE_URL`, `MINIMAX_MODEL`, `ANTHROPIC_API_KEY` +- İsteğe bağlı ortam değişkenleri: `MINIMAX_API_KEY`, `MINIMAX_BASE_URL`, `MINIMAX_MODEL`, `ANTHROPIC_API_KEY` - Varsayılan istem: “Reply with a single word: ok. No punctuation or extra text.” -Son çalışma (2025-12-31, 20 çalıştırma): +Son çalıştırma (2025-12-31, 20 çalıştırma): -- minimax medyan 1279ms (en düşük 1114, en yüksek 2431) -- opus medyan 2454ms (en düşük 1224, en yüksek 3170) +- minimax medyan 1279ms (min 1114, maks 2431) +- opus medyan 2454ms (min 1224, maks 3170) -## CLI başlangıç kıyası +## CLI başlangıç kıyaslaması Betik: [`scripts/bench-cli-startup.ts`](https://github.com/openclaw/openclaw/blob/main/scripts/bench-cli-startup.ts) @@ -98,17 +99,17 @@ Kullanım: - `startup`: `--version`, `--help`, `health`, `health --json`, `status --json`, `status` - `real`: `health`, `status`, `status --json`, `sessions`, `sessions --json`, `agents list --json`, `gateway status`, `gateway status --json`, `gateway health --json`, `config get gateway.port` -- `all`: her iki ön ayar +- `all`: her iki ön ayar da -Çıktı, her komut için `sampleCount`, ortalama, p50, p95, min/max, exit-code/signal dağılımı ve en yüksek RSS özetlerini içerir. İsteğe bağlı `--cpu-prof-dir` / `--heap-prof-dir`, çalıştırma başına V8 profilleri yazar; böylece zamanlama ve profil yakalama aynı harness’i kullanır. +Çıktı, her komut için `sampleCount`, ortalama, p50, p95, min/maks, exit-code/signal dağılımı ve maksimum RSS özetlerini içerir. İsteğe bağlı `--cpu-prof-dir` / `--heap-prof-dir`, her çalıştırma için V8 profilleri yazar; böylece zamanlama ve profil yakalama aynı harness’i kullanır. -Kaydedilmiş çıktı kuralları: +Kaydedilen çıktı kuralları: -- `pnpm test:startup:bench:smoke`, hedefli smoke artifact’ini `.artifacts/cli-startup-bench-smoke.json` içine yazar -- `pnpm test:startup:bench:save`, tam paket artifact’ini `.artifacts/cli-startup-bench-all.json` içine `runs=5` ve `warmup=1` ile yazar -- `pnpm test:startup:bench:update`, depo içinde tutulan temel fixture’ı `test/fixtures/cli-startup-bench.json` içinde `runs=5` ve `warmup=1` ile yeniler +- `pnpm test:startup:bench:smoke`, hedeflenmiş smoke artifact’ını `.artifacts/cli-startup-bench-smoke.json` yoluna yazar +- `pnpm test:startup:bench:save`, tam suite artifact’ını `runs=5` ve `warmup=1` ile `.artifacts/cli-startup-bench-all.json` yoluna yazar +- `pnpm test:startup:bench:update`, depoya işlenmiş baseline fixture’ını `runs=5` ve `warmup=1` ile `test/fixtures/cli-startup-bench.json` yolunda yeniler -Depoda tutulan fixture: +Depoya işlenmiş fixture: - `test/fixtures/cli-startup-bench.json` - `pnpm test:startup:bench:update` ile yenileyin @@ -116,19 +117,19 @@ Depoda tutulan fixture: ## Onboarding E2E (Docker) -Docker isteğe bağlıdır; buna yalnızca kapsayıcılaştırılmış onboarding smoke testleri için ihtiyaç vardır. +Docker isteğe bağlıdır; buna yalnızca container tabanlı onboarding smoke testleri için ihtiyaç vardır. -Temiz bir Linux kapsayıcısında tam soğuk başlangıç akışı: +Temiz bir Linux container’ında tam soğuk başlangıç akışı: ```bash scripts/e2e/onboard-docker.sh ``` -Bu betik etkileşimli sihirbazı bir pseudo-tty üzerinden sürer, config/workspace/session dosyalarını doğrular, ardından gateway’i başlatır ve `openclaw health` çalıştırır. +Bu betik, etkileşimli sihirbazı bir pseudo-tty üzerinden yürütür, config/workspace/session dosyalarını doğrular, ardından Gateway’i başlatır ve `openclaw health` çalıştırır. -## QR içe aktarma smoke (Docker) +## QR içe aktarma smoke testi (Docker) -`qrcode-terminal` bileşeninin desteklenen Docker Node çalışma zamanlarında (varsayılan Node 24, uyumlu Node 22) yüklendiğini doğrular: +`qrcode-terminal` bileşeninin desteklenen Docker Node çalışma zamanlarında yüklendiğini doğrular (varsayılan Node 24, uyumlu Node 22): ```bash pnpm test:docker:qr diff --git a/docs/tr/tools/image-generation.md b/docs/tr/tools/image-generation.md index 259ef9d8e..795a36576 100644 --- a/docs/tr/tools/image-generation.md +++ b/docs/tr/tools/image-generation.md @@ -1,30 +1,30 @@ --- read_when: - - Agent aracılığıyla görüntü oluşturma - - Görüntü oluşturma provider'larını ve modellerini yapılandırma + - Görselleri aracı üzerinden oluşturma + - Görsel oluşturma sağlayıcılarını ve modellerini yapılandırma - '`image_generate` aracı parametrelerini anlama' -summary: Yapılandırılmış provider'ları kullanarak görüntüler oluşturun ve düzenleyin (OpenAI, Google Gemini, fal, MiniMax, ComfyUI, Vydra, xAI) -title: Görüntü Oluşturma +summary: Yapılandırılmış sağlayıcıları (OpenAI, Google Gemini, fal, MiniMax, ComfyUI, Vydra, xAI) kullanarak görseller oluşturun ve düzenleyin +title: Görsel Oluşturma x-i18n: - generated_at: "2026-04-23T09:11:18Z" + generated_at: "2026-04-23T13:58:00Z" model: gpt-5.4 provider: openai - source_hash: 228049c74dd3437544cda6418da665aed375c0494ef36a6927d15c28d7783bbd + source_hash: 0fbd8eda2cb0867d1426b9349f6778c231051d600ebe451534efbee0e215c871 source_path: tools/image-generation.md workflow: 15 --- -# Görüntü Oluşturma +# Görsel Oluşturma -`image_generate` aracı, agent'ın yapılandırılmış provider'larınızı kullanarak görüntüler oluşturmasına ve düzenlemesine izin verir. Oluşturulan görüntüler, agent yanıtında otomatik olarak medya eki olarak teslim edilir. +`image_generate` aracı, aracının yapılandırılmış sağlayıcılarınızı kullanarak görseller oluşturmasına ve düzenlemesine olanak tanır. Oluşturulan görseller, aracının yanıtında otomatik olarak medya ekleri olarak teslim edilir. -Araç yalnızca en az bir görüntü oluşturma provider'ı kullanılabilir olduğunda görünür. Agent araçlarınızda `image_generate` görünmüyorsa `agents.defaults.imageGenerationModel` yapılandırın veya bir provider API anahtarı ayarlayın. +Araç yalnızca en az bir görsel oluşturma sağlayıcısı mevcut olduğunda görünür. Aracınızın araçlarında `image_generate` görmüyorsanız, `agents.defaults.imageGenerationModel` yapılandırın veya bir sağlayıcı API anahtarı ayarlayın. ## Hızlı başlangıç -1. En az bir provider için API anahtarı ayarlayın (örneğin `OPENAI_API_KEY` veya `GEMINI_API_KEY`). +1. En az bir sağlayıcı için bir API anahtarı ayarlayın (örneğin `OPENAI_API_KEY` veya `GEMINI_API_KEY`). 2. İsteğe bağlı olarak tercih ettiğiniz modeli ayarlayın: ```json5 @@ -39,23 +39,23 @@ Araç yalnızca en az bir görüntü oluşturma provider'ı kullanılabilir oldu } ``` -3. Agent'a şunu sorun: _"Dost canlısı bir ıstakoz maskotu görüntüsü oluştur."_ +3. Aracıya şunu sorun: _"Dost canlısı bir ıstakoz maskotunun görselini oluştur."_ -Agent `image_generate` aracını otomatik olarak çağırır. Araç allowlist'e ekleme gerekmez — bir provider kullanılabilir olduğunda varsayılan olarak etkindir. +Aracı `image_generate` aracını otomatik olarak çağırır. Araç izin listesi gerekmez — bir sağlayıcı mevcut olduğunda varsayılan olarak etkindir. -## Desteklenen provider'lar +## Desteklenen sağlayıcılar -| Provider | Varsayılan model | Düzenleme desteği | API anahtarı | -| -------- | -------------------------------- | ---------------------------------- | ------------------------------------------------------ | -| OpenAI | `gpt-image-2` | Evet (en fazla 5 görüntü) | `OPENAI_API_KEY` | -| Google | `gemini-3.1-flash-image-preview` | Evet | `GEMINI_API_KEY` veya `GOOGLE_API_KEY` | -| fal | `fal-ai/flux/dev` | Evet | `FAL_KEY` | -| MiniMax | `image-01` | Evet (özne referansı) | `MINIMAX_API_KEY` veya MiniMax OAuth (`minimax-portal`) | -| ComfyUI | `workflow` | Evet (1 görüntü, workflow tarafından yapılandırılır) | bulut için `COMFY_API_KEY` veya `COMFY_CLOUD_API_KEY` | -| Vydra | `grok-imagine` | Hayır | `VYDRA_API_KEY` | -| xAI | `grok-imagine-image` | Evet (en fazla 5 görüntü) | `XAI_API_KEY` | +| Sağlayıcı | Varsayılan model | Düzenleme desteği | API anahtarı | +| --------- | ------------------------------- | ---------------------------------- | ----------------------------------------------------- | +| OpenAI | `gpt-image-2` | Evet (en fazla 5 görsel) | `OPENAI_API_KEY` | +| Google | `gemini-3.1-flash-image-preview`| Evet | `GEMINI_API_KEY` veya `GOOGLE_API_KEY` | +| fal | `fal-ai/flux/dev` | Evet | `FAL_KEY` | +| MiniMax | `image-01` | Evet (özne referansı) | `MINIMAX_API_KEY` veya MiniMax OAuth (`minimax-portal`) | +| ComfyUI | `workflow` | Evet (1 görsel, iş akışı yapılandırmalı) | bulut için `COMFY_API_KEY` veya `COMFY_CLOUD_API_KEY` | +| Vydra | `grok-imagine` | Hayır | `VYDRA_API_KEY` | +| xAI | `grok-imagine-image` | Evet (en fazla 5 görsel) | `XAI_API_KEY` | -Çalışma zamanında kullanılabilir provider'ları ve modelleri incelemek için `action: "list"` kullanın: +Çalışma zamanında kullanılabilir sağlayıcıları ve modelleri incelemek için `action: "list"` kullanın: ``` /tool image_generate action=list @@ -63,22 +63,22 @@ Agent `image_generate` aracını otomatik olarak çağırır. Araç allowlist'e ## Araç parametreleri -| Parametre | Tür | Açıklama | -| ------------ | -------- | --------------------------------------------------------------------------------- | -| `prompt` | string | Görüntü oluşturma istemi (`action: "generate"` için gereklidir) | -| `action` | string | Provider'ları incelemek için `"generate"` (varsayılan) veya `"list"` | -| `model` | string | Provider/model geçersiz kılması, örn. `openai/gpt-image-2` | -| `image` | string | Düzenleme modu için tek referans görüntü yolu veya URL'si | -| `images` | string[] | Düzenleme modu için birden çok referans görüntü (en fazla 5) | -| `size` | string | Boyut ipucu: `1024x1024`, `1536x1024`, `1024x1536`, `2048x2048`, `3840x2160` | +| Parametre | Tür | Açıklama | +| ------------ | -------- | ----------------------------------------------------------------------------------- | +| `prompt` | string | Görsel oluşturma istemi (`action: "generate"` için gereklidir) | +| `action` | string | Sağlayıcıları incelemek için `"generate"` (varsayılan) veya `"list"` | +| `model` | string | Sağlayıcı/model geçersiz kılması, ör. `openai/gpt-image-2` | +| `image` | string | Düzenleme modu için tek referans görsel yolu veya URL | +| `images` | string[] | Düzenleme modu için birden çok referans görsel (en fazla 5) | +| `size` | string | Boyut ipucu: `1024x1024`, `1536x1024`, `1024x1536`, `2048x2048`, `3840x2160` | | `aspectRatio`| string | En-boy oranı: `1:1`, `2:3`, `3:2`, `3:4`, `4:3`, `4:5`, `5:4`, `9:16`, `16:9`, `21:9` | -| `resolution` | string | Çözünürlük ipucu: `1K`, `2K` veya `4K` | -| `count` | number | Oluşturulacak görüntü sayısı (1–4) | -| `filename` | string | Çıktı dosya adı ipucu | +| `resolution` | string | Çözünürlük ipucu: `1K`, `2K` veya `4K` | +| `count` | number | Oluşturulacak görsel sayısı (1–4) | +| `filename` | string | Çıktı dosya adı ipucu | -Tüm provider'lar tüm parametreleri desteklemez. Bir geri dönüş provider'ı tam istenen geometri yerine yakın bir geometri seçeneğini desteklediğinde OpenClaw, gönderimden önce en yakın desteklenen boyuta, en-boy oranına veya çözünürlüğe yeniden eşler. Gerçekten desteklenmeyen geçersiz kılmalar ise yine araç sonucunda raporlanır. +Tüm sağlayıcılar tüm parametreleri desteklemez. Bir yedek sağlayıcı tam istenen seçenek yerine yakın bir geometri seçeneğini desteklediğinde, OpenClaw göndermeden önce en yakın desteklenen boyuta, en-boy oranına veya çözünürlüğe yeniden eşler. Gerçekten desteklenmeyen geçersiz kılmalar yine de araç sonucunda bildirilir. -Araç sonuçları uygulanan ayarları bildirir. OpenClaw provider geri dönüşü sırasında geometriyi yeniden eşlediğinde, döndürülen `size`, `aspectRatio` ve `resolution` değerleri gerçekten gönderileni yansıtır; `details.normalization` ise istenenden uygulanana yapılan çeviriyi yakalar. +Araç sonuçları uygulanan ayarları bildirir. OpenClaw, sağlayıcı yedeğine geçiş sırasında geometriyi yeniden eşlediğinde, döndürülen `size`, `aspectRatio` ve `resolution` değerleri gerçekte gönderileni yansıtır ve `details.normalization` istekten uygulanan değere yapılan çeviriyi yakalar. ## Yapılandırma @@ -97,93 +97,96 @@ Araç sonuçları uygulanan ayarları bildirir. OpenClaw provider geri dönüş } ``` -### Provider seçim sırası +### Sağlayıcı seçim sırası -Bir görüntü oluşturulurken OpenClaw provider'ları şu sırayla dener: +Bir görsel oluşturulurken OpenClaw sağlayıcıları şu sırayla dener: -1. Araç çağrısından gelen **`model` parametresi** (agent bir tane belirtirse) -2. Yapılandırmadan **`imageGenerationModel.primary`** +1. Araç çağrısındaki **`model` parametresi** (araç belirtiyorsa) +2. Yapılandırmadaki **`imageGenerationModel.primary`** 3. Sırayla **`imageGenerationModel.fallbacks`** -4. **Otomatik algılama** — yalnızca auth destekli provider varsayılanlarını kullanır: - - önce geçerli varsayılan provider - - sonra provider-id sırasına göre kayıtlı kalan görüntü oluşturma provider'ları +4. **Otomatik algılama** — yalnızca kimlik doğrulama destekli sağlayıcı varsayılanlarını kullanır: + - önce geçerli varsayılan sağlayıcı + - ardından sağlayıcı kimliği sırasına göre kalan kayıtlı görsel oluşturma sağlayıcıları -Bir provider başarısız olursa (kimlik doğrulama hatası, hız sınırı vb.), sonraki aday otomatik olarak denenir. Hepsi başarısız olursa, hata her denemeden ayrıntıları içerir. +Bir sağlayıcı başarısız olursa (kimlik doğrulama hatası, hız sınırı vb.), sıradaki aday otomatik olarak denenir. Tümü başarısız olursa, hata her denemeye ilişkin ayrıntıları içerir. Notlar: -- Otomatik algılama auth farkındalığına sahiptir. Bir provider varsayılanı ancak - OpenClaw o provider için gerçekten kimlik doğrulaması yapabiliyorsa aday listesine girer. -- Otomatik algılama varsayılan olarak etkindir. Görüntü oluşturmanın yalnızca açık `model`, `primary` ve `fallbacks` - girdilerini kullanmasını istiyorsanız - `agents.defaults.mediaGenerationAutoProviderFallback: false` ayarlayın. -- Şu anda kayıtlı provider'ları, bunların - varsayılan modellerini ve auth env-var ipuçlarını incelemek için `action: "list"` kullanın. +- Otomatik algılama kimlik doğrulama farkındadır. Bir sağlayıcı varsayılanı yalnızca + OpenClaw o sağlayıcı için gerçekten kimlik doğrulaması yapabildiğinde aday listesine girer. +- Otomatik algılama varsayılan olarak etkindir. Görsel oluşturmanın yalnızca açıkça belirtilen `model`, `primary` ve `fallbacks` + girdilerini kullanmasını istiyorsanız `agents.defaults.mediaGenerationAutoProviderFallback: false` + ayarlayın. +- Şu anda kayıtlı sağlayıcıları, bunların varsayılan modellerini ve kimlik doğrulama ortam değişkeni ipuçlarını incelemek için `action: "list"` kullanın. -### Görüntü düzenleme +### Görsel düzenleme -OpenAI, Google, fal, MiniMax, ComfyUI ve xAI referans görüntüleri düzenlemeyi destekler. Bir referans görüntü yolu veya URL'si geçin: +OpenAI, Google, fal, MiniMax, ComfyUI ve xAI referans görselleri düzenlemeyi destekler. Bir referans görsel yolu veya URL'si verin: ``` "Bu fotoğrafın suluboya sürümünü oluştur" + image: "/path/to/photo.jpg" ``` -OpenAI, Google ve xAI, `images` parametresi üzerinden en fazla 5 referans görüntüyü destekler. fal, MiniMax ve ComfyUI 1 tane destekler. +OpenAI, Google ve xAI `images` parametresi üzerinden en fazla 5 referans görseli destekler. fal, MiniMax ve ComfyUI 1 görsel destekler. ### OpenAI `gpt-image-2` -OpenAI görüntü oluşturma varsayılan olarak `openai/gpt-image-2` kullanır. Daha eski +OpenAI görsel oluşturma varsayılan olarak `openai/gpt-image-2` kullanır. Eski `openai/gpt-image-1` modeli hâlâ açıkça seçilebilir, ancak yeni OpenAI -görüntü oluşturma ve görüntü düzenleme istekleri `gpt-image-2` kullanmalıdır. +görsel oluşturma ve görsel düzenleme istekleri `gpt-image-2` kullanmalıdır. -`gpt-image-2`, aynı `image_generate` aracı üzerinden hem metinden görüntü üretimini hem de referans görüntü -düzenlemeyi destekler. OpenClaw `prompt`, -`count`, `size` ve referans görüntüleri OpenAI'ye iletir. OpenAI -`aspectRatio` veya `resolution` değerlerini doğrudan almaz; mümkün olduğunda OpenClaw bunları desteklenen bir -`size` içine eşler, aksi halde araç bunları yok sayılan geçersiz kılmalar olarak raporlar. +`gpt-image-2`, aynı `image_generate` aracı üzerinden hem metinden görsel oluşturmayı hem de +referans görsel düzenlemeyi destekler. OpenClaw `prompt`, +`count`, `size` ve referans görselleri OpenAI'ye iletir. OpenAI doğrudan +`aspectRatio` veya `resolution` almaz; mümkün olduğunda OpenClaw bunları desteklenen bir +`size` değerine eşler, aksi takdirde araç bunları yok sayılan geçersiz kılmalar olarak bildirir. -Bir adet 4K yatay görüntü oluşturun: +Bir adet 4K yatay görsel oluşturun: ``` -/tool image_generate action=generate model=openai/gpt-image-2 prompt="OpenClaw görüntü oluşturma için temiz bir editoryal poster" size=3840x2160 count=1 +/tool image_generate action=generate model=openai/gpt-image-2 prompt="OpenClaw görsel oluşturma için temiz bir editoryal afiş" size=3840x2160 count=1 ``` -İki kare görüntü oluşturun: +İki kare görsel oluşturun: ``` /tool image_generate action=generate model=openai/gpt-image-2 prompt="Sakin bir üretkenlik uygulaması simgesi için iki görsel yön" size=1024x1024 count=2 ``` -Bir yerel referans görüntüyü düzenleyin: +Bir yerel referans görseli düzenleyin: ``` -/tool image_generate action=generate model=openai/gpt-image-2 prompt="Özneyi koru, arka planı parlak bir stüdyo düzeniyle değiştir" image=/path/to/reference.png size=1024x1536 +/tool image_generate action=generate model=openai/gpt-image-2 prompt="Özneyi koru, arka planı aydınlık bir stüdyo düzeniyle değiştir" image=/path/to/reference.png size=1024x1536 ``` Birden çok referansla düzenleyin: ``` -/tool image_generate action=generate model=openai/gpt-image-2 prompt="İlk görüntüdeki karakter kimliğini ikinci görüntüdeki renk paletiyle birleştir" images='["/path/to/character.png","/path/to/palette.jpg"]' size=1536x1024 +/tool image_generate action=generate model=openai/gpt-image-2 prompt="İlk görseldeki karakter kimliğini ikinci görseldeki renk paletiyle birleştir" images='["/path/to/character.png","/path/to/palette.jpg"]' size=1536x1024 ``` -MiniMax görüntü oluşturma, her iki paketli MiniMax auth yolu üzerinden de kullanılabilir: +OpenAI görsel oluşturmayı `api.openai.com` yerine bir Azure OpenAI dağıtımı +üzerinden yönlendirmek için OpenAI sağlayıcı belgelerindeki +[Azure OpenAI endpoints](/tr/providers/openai#azure-openai-endpoints) bölümüne bakın. -- API anahtarlı kurulumlar için `minimax/image-01` +MiniMax görsel oluşturma, paketlenmiş her iki MiniMax kimlik doğrulama yolu üzerinden de kullanılabilir: + +- API anahtarı kurulumları için `minimax/image-01` - OAuth kurulumları için `minimax-portal/image-01` -## Provider yetenekleri +## Sağlayıcı yetenekleri | Yetenek | OpenAI | Google | fal | MiniMax | ComfyUI | Vydra | xAI | | --------------------- | -------------------- | -------------------- | ------------------- | -------------------------- | ---------------------------------- | ------- | -------------------- | -| Oluşturma | Evet (en fazla 4) | Evet (en fazla 4) | Evet (en fazla 4) | Evet (en fazla 9) | Evet (workflow tanımlı çıktılar) | Evet (1) | Evet (en fazla 4) | -| Düzenleme/referans | Evet (en fazla 5 görüntü) | Evet (en fazla 5 görüntü) | Evet (1 görüntü) | Evet (1 görüntü, özne referansı) | Evet (1 görüntü, workflow tarafından yapılandırılır) | Hayır | Evet (en fazla 5 görüntü) | -| Boyut denetimi | Evet (4K'ya kadar) | Evet | Evet | Hayır | Hayır | Hayır | Hayır | -| En-boy oranı | Hayır | Evet | Evet (yalnızca oluşturma) | Evet | Hayır | Hayır | Evet | +| Oluşturma | Evet (en fazla 4) | Evet (en fazla 4) | Evet (en fazla 4) | Evet (en fazla 9) | Evet (iş akışı tanımlı çıktılar) | Evet (1)| Evet (en fazla 4) | +| Düzenleme/referans | Evet (en fazla 5 görsel) | Evet (en fazla 5 görsel) | Evet (1 görsel) | Evet (1 görsel, özne ref.) | Evet (1 görsel, iş akışı yapılandırmalı) | Hayır | Evet (en fazla 5 görsel) | +| Boyut denetimi | Evet (4K'ye kadar) | Evet | Evet | Hayır | Hayır | Hayır | Hayır | +| En-boy oranı | Hayır | Evet | Evet (yalnızca oluşturma) | Evet | Hayır | Hayır | Evet | | Çözünürlük (1K/2K/4K) | Hayır | Evet | Evet | Hayır | Hayır | Hayır | Evet (1K/2K) | ### xAI `grok-imagine-image` -Paketli xAI provider'ı yalnızca istem içeren istekler için `/v1/images/generations` +Paketlenmiş xAI sağlayıcısı, yalnızca istem içeren istekler için `/v1/images/generations` ve `image` veya `images` mevcut olduğunda `/v1/images/edits` kullanır. - Modeller: `xai/grok-imagine-image`, `xai/grok-imagine-image-pro` @@ -191,21 +194,21 @@ ve `image` veya `images` mevcut olduğunda `/v1/images/edits` kullanır. - Referanslar: bir `image` veya en fazla beş `images` - En-boy oranları: `1:1`, `16:9`, `9:16`, `4:3`, `3:4`, `2:3`, `3:2` - Çözünürlükler: `1K`, `2K` -- Çıktılar: OpenClaw tarafından yönetilen görüntü ekleri olarak döndürülür +- Çıktılar: OpenClaw tarafından yönetilen görsel ekleri olarak döndürülür OpenClaw, bu denetimler paylaşılan -çapraz-provider `image_generate` sözleşmesinde var olana kadar xAI'ye özgü `quality`, `mask`, `user` veya -ek yalnızca yerel en-boy oranlarını kasıtlı olarak sunmaz. +sağlayıcılar arası `image_generate` sözleşmesinde yer alana kadar xAI'ye özgü `quality`, `mask`, `user` veya +ek yalnızca yerel en-boy oranlarını kasıtlı olarak kullanıma sunmaz. ## İlgili -- [Araçlara Genel Bakış](/tr/tools) — kullanılabilir tüm agent araçları -- [fal](/tr/providers/fal) — fal görüntü ve video provider kurulumu -- [ComfyUI](/tr/providers/comfy) — yerel ComfyUI ve Comfy Cloud workflow kurulumu -- [Google (Gemini)](/tr/providers/google) — Gemini görüntü provider kurulumu -- [MiniMax](/tr/providers/minimax) — MiniMax görüntü provider kurulumu -- [OpenAI](/tr/providers/openai) — OpenAI Images provider kurulumu -- [Vydra](/tr/providers/vydra) — Vydra görüntü, video ve konuşma kurulumu -- [xAI](/tr/providers/xai) — Grok görüntü, video, arama, kod yürütme ve TTS kurulumu -- [Yapılandırma Başvurusu](/tr/gateway/configuration-reference#agent-defaults) — `imageGenerationModel` yapılandırması -- [Modeller](/tr/concepts/models) — model yapılandırması ve failover +- [Tools Overview](/tr/tools) — kullanılabilir tüm aracı araçları +- [fal](/tr/providers/fal) — fal görsel ve video sağlayıcısı kurulumu +- [ComfyUI](/tr/providers/comfy) — yerel ComfyUI ve Comfy Cloud iş akışı kurulumu +- [Google (Gemini)](/tr/providers/google) — Gemini görsel sağlayıcısı kurulumu +- [MiniMax](/tr/providers/minimax) — MiniMax görsel sağlayıcısı kurulumu +- [OpenAI](/tr/providers/openai) — OpenAI Images sağlayıcısı kurulumu +- [Vydra](/tr/providers/vydra) — Vydra görsel, video ve konuşma kurulumu +- [xAI](/tr/providers/xai) — Grok görsel, video, arama, kod yürütme ve TTS kurulumu +- [Configuration Reference](/tr/gateway/configuration-reference#agent-defaults) — `imageGenerationModel` yapılandırması +- [Models](/tr/concepts/models) — model yapılandırması ve yedek geçişi diff --git a/docs/tr/tools/plugin.md b/docs/tr/tools/plugin.md index 69f9eef4d..31e821edb 100644 --- a/docs/tr/tools/plugin.md +++ b/docs/tr/tools/plugin.md @@ -1,27 +1,27 @@ --- read_when: - - Plugin kurma veya yapılandırma - - Plugin keşif ve yükleme kurallarını anlama - - Codex/Claude uyumlu Plugin paketleriyle çalışma + - Plugin'leri yükleme veya yapılandırma + - Plugin keşfini ve yükleme kurallarını anlama + - Codex/Claude uyumlu plugin paketleriyle çalışma sidebarTitle: Install and Configure -summary: OpenClaw Plugin'lerini kurun, yapılandırın ve yönetin +summary: OpenClaw plugin'lerini yükleyin, yapılandırın ve yönetin title: Plugin'ler x-i18n: - generated_at: "2026-04-23T09:11:59Z" + generated_at: "2026-04-23T13:58:02Z" model: gpt-5.4 provider: openai - source_hash: dc944b53654552ca5cf6132c6ef16c71745a7bffc249daccaee40c513e04209c + source_hash: 63aa1b5ed9e3aaa2117b78137a457582b00ea47d94af7da3780ddae38e8e3665 source_path: tools/plugin.md workflow: 15 --- # Plugin'ler -Plugin'ler OpenClaw'u yeni yeteneklerle genişletir: kanallar, model provider'ları, +Plugin'ler, OpenClaw'ı yeni yeteneklerle genişletir: kanallar, model sağlayıcıları, araçlar, Skills, konuşma, gerçek zamanlı transkripsiyon, gerçek zamanlı ses, -medya anlama, görüntü oluşturma, video oluşturma, web getirme, web -arama ve daha fazlası. Bazı Plugin'ler **çekirdektir** (OpenClaw ile gelir), diğerleri -ise **haricidir** (topluluk tarafından npm'de yayımlanır). +medya anlama, görsel oluşturma, video oluşturma, web getirme, web +arama ve daha fazlası. Bazı plugin'ler **çekirdek**tir (OpenClaw ile birlikte gelir), bazıları ise +**harici**dir (topluluk tarafından npm üzerinde yayımlanır). ## Hızlı başlangıç @@ -32,7 +32,7 @@ ise **haricidir** (topluluk tarafından npm'de yayımlanır). ``` - + ```bash # npm'den openclaw plugins install @openclaw/voice-call @@ -54,7 +54,7 @@ ise **haricidir** (topluluk tarafından npm'de yayımlanır). -Sohbete özgü denetimi tercih ediyorsanız `commands.plugins: true` etkinleştirin ve şunları kullanın: +Sohbet tabanlı kontrolü tercih ediyorsanız, `commands.plugins: true` ayarını etkinleştirin ve şunları kullanın: ```text /plugin install clawhub:@openclaw/voice-call @@ -62,52 +62,52 @@ Sohbete özgü denetimi tercih ediyorsanız `commands.plugins: true` etkinleşti /plugin enable voice-call ``` -Kurulum yolu CLI ile aynı çözücüyü kullanır: yerel yol/arşiv, açık -`clawhub:` veya yalın paket belirtimi (önce ClawHub, sonra npm geri dönüşü). +Yükleme yolu, CLI ile aynı çözücüyü kullanır: yerel yol/arşiv, açık +`clawhub:` veya çıplak paket tanımı (önce ClawHub, sonra npm yedeği). -Yapılandırma geçersizse, kurulum normalde kapalı kalacak şekilde başarısız olur ve sizi -`openclaw doctor --fix` komutuna yönlendirir. Tek kurtarma istisnası, şuraya katılan Plugin'ler için dar bir paketli-Plugin -yeniden kurulum yoludur: +Yapılandırma geçersizse, yükleme normalde güvenli şekilde başarısız olur ve sizi +`openclaw doctor --fix` komutuna yönlendirir. Tek kurtarma istisnası, eklentiye açıkça katılan plugin'ler için +dar kapsamlı bir paketlenmiş plugin yeniden yükleme yoludur: `openclaw.install.allowInvalidConfigRecovery`. -Paketlenmiş OpenClaw kurulumları her paketli Plugin'in -çalışma zamanı bağımlılık ağacını istekli biçimde kurmaz. Paketli ve OpenClaw'a ait bir Plugin, -Plugin yapılandırmasından, eski kanal yapılandırmasından veya varsayılan etkin manifest'ten etkin olduğunda, -başlatma onu içe aktarmadan önce yalnızca o Plugin'in bildirilen çalışma zamanı bağımlılıklarını onarır. -Harici Plugin'ler ve özel yükleme yolları yine de -`openclaw plugins install` üzerinden kurulmalıdır. +Paketlenmiş OpenClaw kurulumları, birlikte gelen her plugin'in +çalışma zamanı bağımlılık ağacını önceden yüklemez. Birlikte gelen, OpenClaw'a ait bir plugin +plugin yapılandırması, eski kanal yapılandırması veya varsayılan olarak etkin bir manifest üzerinden etkin olduğunda, +başlangıç yalnızca o plugin'in bildirilen çalışma zamanı bağımlılıklarını +içe aktarmadan önce onarır. Harici plugin'ler ve özel yükleme yolları yine de +`openclaw plugins install` ile yüklenmelidir. ## Plugin türleri -OpenClaw iki Plugin biçimini tanır: +OpenClaw iki plugin biçimini tanır: -| Biçim | Nasıl çalışır | Örnekler | -| ---------- | ---------------------------------------------------------------- | ------------------------------------------------------ | -| **Native** | `openclaw.plugin.json` + çalışma zamanı modülü; süreç içinde yürütülür | Resmi Plugin'ler, topluluk npm paketleri | -| **Bundle** | Codex/Claude/Cursor uyumlu düzen; OpenClaw özelliklerine eşlenir | `.codex-plugin/`, `.claude-plugin/`, `.cursor-plugin/` | +| Biçim | Nasıl çalışır | Örnekler | +| ---------- | ----------------------------------------------------------------- | ------------------------------------------------------ | +| **Native** | `openclaw.plugin.json` + çalışma zamanı modülü; işlem içinde çalışır | Resmi plugin'ler, topluluk npm paketleri | +| **Bundle** | Codex/Claude/Cursor uyumlu düzen; OpenClaw özelliklerine eşlenir | `.codex-plugin/`, `.claude-plugin/`, `.cursor-plugin/` | -Her ikisi de `openclaw plugins list` altında görünür. Bundle ayrıntıları için bkz. [Plugin Bundles](/tr/plugins/bundles). +Her ikisi de `openclaw plugins list` altında görünür. Paket ayrıntıları için bkz. [Plugin Paketleri](/tr/plugins/bundles). -Bir native Plugin yazıyorsanız [Plugin Geliştirme](/tr/plugins/building-plugins) -ve [Plugin SDK'ye Genel Bakış](/tr/plugins/sdk-overview) ile başlayın. +Bir Native plugin yazıyorsanız, [Plugin Geliştirme](/tr/plugins/building-plugins) +ve [Plugin SDK Genel Bakış](/tr/plugins/sdk-overview) ile başlayın. -## Resmi Plugin'ler +## Resmi plugin'ler -### Kurulabilir (npm) +### Yüklenebilir (npm) -| Plugin | Paket | Belgeler | -| --------------- | --------------------- | ------------------------------------- | -| Matrix | `@openclaw/matrix` | [Matrix](/tr/channels/matrix) | -| Microsoft Teams | `@openclaw/msteams` | [Microsoft Teams](/tr/channels/msteams) | -| Nostr | `@openclaw/nostr` | [Nostr](/tr/channels/nostr) | -| Voice Call | `@openclaw/voice-call` | [Voice Call](/tr/plugins/voice-call) | -| Zalo | `@openclaw/zalo` | [Zalo](/tr/channels/zalo) | -| Zalo Personal | `@openclaw/zalouser` | [Zalo Personal](/tr/plugins/zalouser) | +| Plugin | Paket | Belgeler | +| --------------- | ---------------------- | ------------------------------------ | +| Matrix | `@openclaw/matrix` | [Matrix](/tr/channels/matrix) | +| Microsoft Teams | `@openclaw/msteams` | [Microsoft Teams](/tr/channels/msteams) | +| Nostr | `@openclaw/nostr` | [Nostr](/tr/channels/nostr) | +| Voice Call | `@openclaw/voice-call` | [Voice Call](/tr/plugins/voice-call) | +| Zalo | `@openclaw/zalo` | [Zalo](/tr/channels/zalo) | +| Zalo Personal | `@openclaw/zalouser` | [Zalo Personal](/tr/plugins/zalouser) | -### Çekirdek (OpenClaw ile gelir) +### Çekirdek (OpenClaw ile birlikte gelir) - + `anthropic`, `byteplus`, `cloudflare-ai-gateway`, `github-copilot`, `google`, `huggingface`, `kilocode`, `kimi-coding`, `minimax`, `mistral`, `qwen`, `moonshot`, `nvidia`, `openai`, `opencode`, `opencode-go`, `openrouter`, @@ -115,22 +115,22 @@ ve [Plugin SDK'ye Genel Bakış](/tr/plugins/sdk-overview) ile başlayın. `vercel-ai-gateway`, `volcengine`, `xiaomi`, `zai` - - - `memory-core` — paketli bellek araması (varsayılan olarak `plugins.slots.memory` üzerinden) - - `memory-lancedb` — otomatik geri çağırma/yakalama ile isteğe bağlı kurulan uzun vadeli bellek (`plugins.slots.memory = "memory-lancedb"` ayarlayın) + + - `memory-core` — paketlenmiş bellek araması (`plugins.slots.memory` aracılığıyla varsayılan) + - `memory-lancedb` — istek üzerine yüklenen uzun süreli bellek, otomatik geri çağırma/yakalama ile (`plugins.slots.memory = "memory-lancedb"` ayarlayın) - + `elevenlabs`, `microsoft` - - `browser` — browser aracı, `openclaw browser` CLI, `browser.request` Gateway yöntemi, browser çalışma zamanı ve varsayılan browser denetim hizmeti için paketli browser Plugin'i (varsayılan olarak etkindir; değiştirmeden önce devre dışı bırakın) + - `browser` — tarayıcı aracı, `openclaw browser` CLI, `browser.request` Gateway yöntemi, tarayıcı çalışma zamanı ve varsayılan tarayıcı kontrol hizmeti için paketlenmiş tarayıcı plugin'i (varsayılan olarak etkin; değiştirmeden önce devre dışı bırakın) - `copilot-proxy` — VS Code Copilot Proxy köprüsü (varsayılan olarak devre dışı) -Üçüncü taraf Plugin'ler mi arıyorsunuz? Bkz. [Topluluk Plugin'leri](/tr/plugins/community). +Üçüncü taraf plugin'ler mi arıyorsunuz? Bkz. [Topluluk Plugin'leri](/tr/plugins/community). ## Yapılandırma @@ -148,56 +148,56 @@ ve [Plugin SDK'ye Genel Bakış](/tr/plugins/sdk-overview) ile başlayın. } ``` -| Alan | Açıklama | -| ---------------- | ------------------------------------------------------ | -| `enabled` | Ana anahtar (varsayılan: `true`) | -| `allow` | Plugin allowlist'i (isteğe bağlı) | -| `deny` | Plugin denylist'i (isteğe bağlı; deny kazanır) | -| `load.paths` | Ek Plugin dosyaları/dizinleri | +| Alan | Açıklama | +| ---------------- | --------------------------------------------------------- | +| `enabled` | Ana anahtar (varsayılan: `true`) | +| `allow` | Plugin izin listesi (isteğe bağlı) | +| `deny` | Plugin engelleme listesi (isteğe bağlı; engelleme kazanır) | +| `load.paths` | Ek plugin dosyaları/dizinleri | | `slots` | Ayrıcalıklı slot seçicileri (örn. `memory`, `contextEngine`) | -| `entries.\` | Plugin başına anahtarlar + yapılandırma | +| `entries.\` | Plugin başına açma/kapama + yapılandırma | Yapılandırma değişiklikleri **Gateway yeniden başlatması gerektirir**. Gateway yapılandırma -izleme + süreç içi yeniden başlatma etkin olarak çalışıyorsa (varsayılan `openclaw gateway` yolu), -bu yeniden başlatma genellikle yapılandırma yazımı gerçekleştikten kısa süre sonra otomatik yapılır. +izleme + işlem içi yeniden başlatma etkin şekilde çalışıyorsa (varsayılan `openclaw gateway` yolu), +bu yeniden başlatma genellikle yapılandırma yazımı tamamlandıktan kısa süre sonra otomatik olarak gerçekleştirilir. - - **Devre dışı**: Plugin vardır ama etkinleştirme kuralları onu kapatmıştır. Yapılandırma korunur. - - **Eksik**: yapılandırma, keşfin bulamadığı bir Plugin kimliğine başvurur. - - **Geçersiz**: Plugin vardır ama yapılandırması bildirilen şemayla eşleşmez. + - **Devre dışı**: plugin vardır ama etkinleştirme kuralları onu kapatmıştır. Yapılandırma korunur. + - **Eksik**: yapılandırma, keşif sırasında bulunmayan bir plugin kimliğine başvurur. + - **Geçersiz**: plugin vardır ama yapılandırması bildirilen şemayla eşleşmez. ## Keşif ve öncelik -OpenClaw Plugin'leri şu sırayla tarar (ilk eşleşme kazanır): +OpenClaw plugin'leri şu sırayla tarar (ilk eşleşme kazanır): `plugins.load.paths` — açık dosya veya dizin yolları. - + `\/.openclaw//*.ts` ve `\/.openclaw//*/index.ts`. - + `~/.openclaw//*.ts` ve `~/.openclaw//*/index.ts`. - - OpenClaw ile gelir. Birçoğu varsayılan olarak etkindir (model provider'ları, konuşma). + + OpenClaw ile birlikte gelir. Birçoğu varsayılan olarak etkindir (model sağlayıcıları, konuşma). Diğerleri açık etkinleştirme gerektirir. ### Etkinleştirme kuralları -- `plugins.enabled: false` tüm Plugin'leri devre dışı bırakır -- `plugins.deny` her zaman `allow` üzerinde kazanır -- `plugins.entries.\.enabled: false` o Plugin'i devre dışı bırakır -- Çalışma alanı kaynaklı Plugin'ler varsayılan olarak **devre dışıdır** (açıkça etkinleştirilmelidir) -- Paketli Plugin'ler, geçersiz kılınmadıkça yerleşik varsayılan açık kümesini izler -- Ayrıcalıklı slot'lar o slot için seçilen Plugin'i zorla etkinleştirebilir +- `plugins.enabled: false` tüm plugin'leri devre dışı bırakır +- `plugins.deny` her zaman `allow`'a üstün gelir +- `plugins.entries.\.enabled: false` o plugin'i devre dışı bırakır +- Çalışma alanı kaynaklı plugin'ler **varsayılan olarak devre dışıdır** (açıkça etkinleştirilmelidir) +- Paketlenmiş plugin'ler, üzerine yazılmadıkça yerleşik varsayılan açık kümesini izler +- Ayrıcalıklı slot'lar, o slot için seçilen plugin'i zorla etkinleştirebilir ## Plugin slot'ları (ayrıcalıklı kategoriler) @@ -208,43 +208,43 @@ Bazı kategoriler ayrıcalıklıdır (aynı anda yalnızca biri etkin olabilir): plugins: { slots: { memory: "memory-core", // veya devre dışı bırakmak için "none" - contextEngine: "legacy", // veya bir plugin id + contextEngine: "legacy", // veya bir plugin kimliği }, }, } ``` -| Slot | Neyi denetler | Varsayılan | +| Slot | Ne kontrol eder | Varsayılan | | --------------- | --------------------- | ------------------- | -| `memory` | Etkin bellek Plugin'i | `memory-core` | +| `memory` | Active Memory plugin'i | `memory-core` | | `contextEngine` | Etkin bağlam motoru | `legacy` (yerleşik) | ## CLI başvurusu ```bash openclaw plugins list # kompakt envanter -openclaw plugins list --enabled # yalnızca yüklenen Plugin'ler -openclaw plugins list --verbose # Plugin başına ayrıntı satırları +openclaw plugins list --enabled # yalnızca yüklü plugin'ler +openclaw plugins list --verbose # plugin başına ayrıntı satırları openclaw plugins list --json # makine tarafından okunabilir envanter -openclaw plugins inspect # derin ayrıntı +openclaw plugins inspect # ayrıntılı inceleme openclaw plugins inspect --json # makine tarafından okunabilir -openclaw plugins inspect --all # tüm filo tablosu +openclaw plugins inspect --all # filo genelinde tablo openclaw plugins info # inspect takma adı -openclaw plugins doctor # tanılamalar +openclaw plugins doctor # tanılama -openclaw plugins install # kurulum (önce ClawHub, sonra npm) -openclaw plugins install clawhub: # yalnızca ClawHub'dan kur -openclaw plugins install --force # mevcut kurulumu üzerine yaz -openclaw plugins install # yerel yoldan kur -openclaw plugins install -l # geliştirme için bağla (kopya yok) +openclaw plugins install # yükle (önce ClawHub, sonra npm) +openclaw plugins install clawhub: # yalnızca ClawHub'dan yükle +openclaw plugins install --force # mevcut yüklemenin üzerine yaz +openclaw plugins install # yerel yoldan yükle +openclaw plugins install -l # geliştirme için bağla (kopyalama yok) openclaw plugins install --marketplace openclaw plugins install --marketplace https://github.com// -openclaw plugins install --pin # tam çözümlenmiş npm belirtimini kaydet +openclaw plugins install --pin # tam çözümlenmiş npm tanımını kaydet openclaw plugins install --dangerously-force-unsafe-install -openclaw plugins update # tek bir Plugin'i güncelle +openclaw plugins update # bir plugin'i güncelle openclaw plugins update --dangerously-force-unsafe-install -openclaw plugins update --all # hepsini güncelle -openclaw plugins uninstall # yapılandırma/kurulum kayıtlarını kaldır +openclaw plugins update --all # tümünü güncelle +openclaw plugins uninstall # yapılandırma/yükleme kayıtlarını kaldır openclaw plugins uninstall --keep-files openclaw plugins marketplace list openclaw plugins marketplace list --json @@ -253,56 +253,61 @@ openclaw plugins enable openclaw plugins disable ``` -Paketli Plugin'ler OpenClaw ile gelir. Birçoğu varsayılan olarak etkindir (örneğin -paketli model provider'ları, paketli konuşma provider'ları ve paketli browser -Plugin'i). Diğer paketli Plugin'ler yine de `openclaw plugins enable ` gerektirir. +Paketlenmiş plugin'ler OpenClaw ile birlikte gelir. Birçoğu varsayılan olarak etkindir (örneğin +paketlenmiş model sağlayıcıları, paketlenmiş konuşma sağlayıcıları ve paketlenmiş browser +plugin'i). Diğer paketlenmiş plugin'ler için yine de `openclaw plugins enable ` gerekir. -`--force`, mevcut kurulu Plugin'i veya hook paketini yerinde üzerine yazar. İzlenen npm -Plugin'lerinin rutin yükseltmeleri için `openclaw plugins update ` kullanın. Kaynak yolu yönetilen kurulum hedefi üzerine -kopyalamak yerine yeniden kullandığından `--link` ile desteklenmez. - -`openclaw plugins update `, izlenen kurulumlar için geçerlidir. Bir -dist-tag veya tam sürüm içeren npm paket belirtimi vermek, paket adını -izlenen Plugin kaydına geri çözer ve gelecekteki güncellemeler için yeni belirtimi kaydeder. -Sürüm olmadan paket adı geçirmek, tam sabitlenmiş bir kurulumu -kayıt defterinin varsayılan sürüm hattına geri taşır. Kurulu npm Plugin'i zaten -çözümlenen sürüm ve kaydedilen artifact kimliğiyle eşleşiyorsa, OpenClaw güncellemeyi -indirmeden, yeniden kurmadan veya yapılandırmayı yeniden yazmadan atlar. - -`--pin` yalnızca npm içindir. Marketplace kurulumları npm belirtimi yerine -marketplace kaynak meta verilerini kalıcılaştırdığı için `--marketplace` ile +`--force`, mevcut yüklü bir plugin'in veya hook paketinin üzerine yerinde yazar. İzlenen npm +plugin'lerinin rutin yükseltmeleri için `openclaw plugins update ` kullanın. +Kaynak yolu yönetilen yükleme hedefine kopyalamak yerine yeniden kullanan `--link` ile desteklenmez. -`--dangerously-force-unsafe-install`, yerleşik tehlikeli kod tarayıcısından gelen yanlış -pozitif sonuçlar için cam kırma geçersiz kılmasıdır. Plugin kurulumlarının -ve Plugin güncellemelerinin yerleşik `critical` bulgularını geçerek devam etmesine izin verir, ancak yine de Plugin `before_install` ilke engellerini veya tarama başarısızlığı engellemelerini atlamaz. +`plugins.allow` zaten ayarlıysa, `openclaw plugins install` +yüklü plugin kimliğini etkinleştirmeden önce o izin listesine ekler; böylece yüklemeler +yeniden başlatmadan sonra hemen yüklenebilir olur. -Bu CLI bayrağı yalnızca Plugin kurulum/güncelleme akışlarına uygulanır. Gateway destekli Skill -bağımlılığı kurulumları bunun yerine eşleşen `dangerouslyForceUnsafeInstall` -istek geçersiz kılmasını kullanır; `openclaw skills install` ise ayrı ClawHub -Skill indirme/kurulum akışı olarak kalır. +`openclaw plugins update `, izlenen yüklemeler için geçerlidir. Dist-tag veya tam sürüm içeren +bir npm paket tanımı geçirmek, paket adını yeniden izlenen plugin kaydına çözümler ve +gelecekteki güncellemeler için yeni tanımı kaydeder. +Sürüm belirtilmeden paket adını geçirmek, tam sabitlenmiş bir yüklemeyi yeniden +kayıt defterinin varsayılan sürüm hattına taşır. Yüklü npm plugin'i zaten çözümlenen sürümle +ve kaydedilmiş yapıt kimliğiyle eşleşiyorsa, OpenClaw güncellemeyi +indirmeden, yeniden yüklemeden veya yapılandırmayı yeniden yazmadan atlar. -Uyumlu bundle'lar da aynı Plugin listeleme/inceleme/etkinleştirme/devre dışı bırakma -akışına katılır. Geçerli çalışma zamanı desteği bundle Skills, Claude komut-Skills, -Claude `settings.json` varsayılanları, Claude `.lsp.json` ve manifest'te bildirilen -`lspServers` varsayılanları, Cursor komut-Skills ve uyumlu Codex kanca +`--pin` yalnızca npm içindir. `--marketplace` ile desteklenmez; çünkü +marketplace yüklemeleri npm tanımı yerine marketplace kaynak meta verisini saklar. + +`--dangerously-force-unsafe-install`, yerleşik tehlikeli kod tarayıcısının yanlış +pozitifleri için kullanılan acil durum geçersiz kılma seçeneğidir. Plugin yüklemelerinin +ve plugin güncellemelerinin yerleşik `critical` bulgularını aşarak devam etmesine izin verir, ancak yine de +plugin `before_install` ilke engellerini veya tarama başarısızlığı kaynaklı engellemeyi atlamaz. + +Bu CLI bayrağı yalnızca plugin yükleme/güncelleme akışları için geçerlidir. Gateway destekli skill +bağımlılığı yüklemeleri bunun yerine eşleşen `dangerouslyForceUnsafeInstall` istek +geçersiz kılmasını kullanır; `openclaw skills install` ise ayrı ClawHub +skill indirme/yükleme akışı olarak kalır. + +Uyumlu paketler de aynı plugin listeleme/inceleme/etkinleştirme/devre dışı bırakma +akışına katılır. Geçerli çalışma zamanı desteği; paket Skills, Claude command-skills, +Claude `settings.json` varsayılanları, Claude `.lsp.json` ve manifestte bildirilen +`lspServers` varsayılanları, Cursor command-skills ve uyumlu Codex hook dizinlerini içerir. -`openclaw plugins inspect `, bundle destekli Plugin'ler için algılanan -bundle yeteneklerini ve desteklenen veya desteklenmeyen MCP ve LSP sunucu girdilerini de bildirir. +`openclaw plugins inspect `, paket destekli plugin'ler için algılanan paket yeteneklerini ve +desteklenen veya desteklenmeyen MCP ve LSP sunucu girişlerini de raporlar. -Marketplace kaynakları -`~/.claude/plugins/known_marketplaces.json` içindeki bir Claude bilinen-marketplace adı, yerel bir marketplace kökü veya -`marketplace.json` yolu, `owner/repo` gibi bir GitHub kısaltması, bir GitHub depo -URL'si veya bir git URL'si olabilir. Uzak marketplace'ler için Plugin girdileri -klonlanan marketplace deposu içinde kalmalı ve yalnızca göreli yol kaynakları kullanmalıdır. +Marketplace kaynakları, `~/.claude/plugins/known_marketplaces.json` içindeki bir Claude bilinen-marketplace adı, +yerel bir marketplace kökü veya `marketplace.json` yolu, +`owner/repo` gibi bir GitHub kısa gösterimi, bir GitHub depo +URL'si ya da bir git URL'si olabilir. Uzak marketplace'lerde plugin girdileri, +klonlanan marketplace deposunun içinde kalmalı ve yalnızca göreli yol kaynaklarını kullanmalıdır. -Tam ayrıntılar için bkz. [`openclaw plugins` CLI başvurusu](/tr/cli/plugins). +Tüm ayrıntılar için [`openclaw plugins` CLI başvurusuna](/tr/cli/plugins) bakın. -## Plugin API'ye genel bakış +## Plugin API genel bakışı -Native Plugin'ler `register(api)` sunan bir giriş nesnesi dışa aktarır. Eski -Plugin'ler hâlâ eski takma ad olarak `activate(api)` kullanabilir, ancak yeni Plugin'ler +Native plugin'ler, `register(api)` sunan bir giriş nesnesi dışa aktarır. Daha eski +plugin'ler hâlâ eski takma ad olarak `activate(api)` kullanabilir, ancak yeni plugin'ler `register` kullanmalıdır. ```typescript @@ -323,48 +328,49 @@ export default definePluginEntry({ }); ``` -OpenClaw giriş nesnesini yükler ve Plugin -etkinleştirmesi sırasında `register(api)` çağrısını yapar. Yükleyici eski Plugin'ler için hâlâ `activate(api)` çağrısına geri döner, -ancak paketli Plugin'ler ve yeni harici Plugin'ler `register` çağrısını herkese açık sözleşme olarak görmelidir. +OpenClaw giriş nesnesini yükler ve plugin +etkinleştirmesi sırasında `register(api)` çağırır. Yükleyici eski plugin'ler için hâlâ `activate(api)` yöntemine geri döner, +ancak birlikte gelen plugin'ler ve yeni harici plugin'ler +`register`'ı genel sözleşme olarak ele almalıdır. Yaygın kayıt yöntemleri: -| Yöntem | Ne kaydeder | -| --------------------------------------- | --------------------------- | -| `registerProvider` | Model provider'ı (LLM) | -| `registerChannel` | Sohbet kanalı | -| `registerTool` | Agent aracı | -| `registerHook` / `on(...)` | Yaşam döngüsü kancaları | -| `registerSpeechProvider` | Metinden konuşmaya / STT | -| `registerRealtimeTranscriptionProvider` | Akışlı STT | -| `registerRealtimeVoiceProvider` | Duplex gerçek zamanlı ses | -| `registerMediaUnderstandingProvider` | Görüntü/ses analizi | -| `registerImageGenerationProvider` | Görüntü oluşturma | -| `registerMusicGenerationProvider` | Müzik oluşturma | -| `registerVideoGenerationProvider` | Video oluşturma | -| `registerWebFetchProvider` | Web getirme / scrape provider'ı | -| `registerWebSearchProvider` | Web arama | -| `registerHttpRoute` | HTTP uç noktası | -| `registerCommand` / `registerCli` | CLI komutları | -| `registerContextEngine` | Bağlam motoru | -| `registerService` | Arka plan hizmeti | +| Yöntem | Ne kaydeder | +| --------------------------------------- | -------------------------- | +| `registerProvider` | Model sağlayıcısı (LLM) | +| `registerChannel` | Sohbet kanalı | +| `registerTool` | Aracı aracı | +| `registerHook` / `on(...)` | Yaşam döngüsü kancaları | +| `registerSpeechProvider` | Metinden konuşmaya / STT | +| `registerRealtimeTranscriptionProvider` | Akışlı STT | +| `registerRealtimeVoiceProvider` | Çift yönlü gerçek zamanlı ses | +| `registerMediaUnderstandingProvider` | Görsel/ses analizi | +| `registerImageGenerationProvider` | Görsel oluşturma | +| `registerMusicGenerationProvider` | Müzik oluşturma | +| `registerVideoGenerationProvider` | Video oluşturma | +| `registerWebFetchProvider` | Web getirme / kazıma sağlayıcısı | +| `registerWebSearchProvider` | Web arama | +| `registerHttpRoute` | HTTP uç noktası | +| `registerCommand` / `registerCli` | CLI komutları | +| `registerContextEngine` | Bağlam motoru | +| `registerService` | Arka plan hizmeti | -Typed yaşam döngüsü kancaları için kanca guard davranışı: +Türlendirilmiş yaşam döngüsü kancaları için kanca koruma davranışı: -- `before_tool_call`: `{ block: true }` nihaidir; daha düşük öncelikli işleyiciler atlanır. -- `before_tool_call`: `{ block: false }` no-op'tur ve daha önceki bir engeli temizlemez. -- `before_install`: `{ block: true }` nihaidir; daha düşük öncelikli işleyiciler atlanır. -- `before_install`: `{ block: false }` no-op'tur ve daha önceki bir engeli temizlemez. -- `message_sending`: `{ cancel: true }` nihaidir; daha düşük öncelikli işleyiciler atlanır. -- `message_sending`: `{ cancel: false }` no-op'tur ve daha önceki bir iptali temizlemez. +- `before_tool_call`: `{ block: true }` kesindir; daha düşük öncelikli işleyiciler atlanır. +- `before_tool_call`: `{ block: false }` etkisizdir ve önceki bir engeli temizlemez. +- `before_install`: `{ block: true }` kesindir; daha düşük öncelikli işleyiciler atlanır. +- `before_install`: `{ block: false }` etkisizdir ve önceki bir engeli temizlemez. +- `message_sending`: `{ cancel: true }` kesindir; daha düşük öncelikli işleyiciler atlanır. +- `message_sending`: `{ cancel: false }` etkisizdir ve önceki bir iptali temizlemez. -Tam typed kanca davranışı için bkz. [SDK'ye Genel Bakış](/tr/plugins/sdk-overview#hook-decision-semantics). +Türlendirilmiş kanca davranışının tamamı için bkz. [SDK Genel Bakış](/tr/plugins/sdk-overview#hook-decision-semantics). ## İlgili -- [Plugin Geliştirme](/tr/plugins/building-plugins) — kendi Plugin'inizi oluşturun -- [Plugin Bundles](/tr/plugins/bundles) — Codex/Claude/Cursor bundle uyumluluğu -- [Plugin Manifest'i](/tr/plugins/manifest) — manifest şeması -- [Araç Kaydetme](/tr/plugins/building-plugins#registering-agent-tools) — bir Plugin'e agent araçları ekleyin -- [Plugin İç Yapıları](/tr/plugins/architecture) — yetenek modeli ve yükleme işlem hattı -- [Topluluk Plugin'leri](/tr/plugins/community) — üçüncü taraf listeler +- [Plugin Geliştirme](/tr/plugins/building-plugins) — kendi plugin'inizi oluşturun +- [Plugin Paketleri](/tr/plugins/bundles) — Codex/Claude/Cursor paket uyumluluğu +- [Plugin Manifesti](/tr/plugins/manifest) — manifest şeması +- [Araç Kaydetme](/tr/plugins/building-plugins#registering-agent-tools) — bir plugin içinde aracı araçları ekleyin +- [Plugin İç Yapısı](/tr/plugins/architecture) — yetenek modeli ve yükleme hattı +- [Topluluk Plugin'leri](/tr/plugins/community) — üçüncü taraf listeleri diff --git a/docs/tr/tools/slash-commands.md b/docs/tr/tools/slash-commands.md index efbce2136..1a588a599 100644 --- a/docs/tr/tools/slash-commands.md +++ b/docs/tr/tools/slash-commands.md @@ -1,36 +1,35 @@ --- read_when: - Sohbet komutlarını kullanma veya yapılandırma - - Komut yönlendirmesini veya izinlerini hata ayıklama -summary: 'Slash komutları: metin ve yerel komutlar, yapılandırma ve desteklenen komutlar' -title: Slash Komutları + - Komut yönlendirmesini veya izinleri hata ayıklama +summary: 'Eğik çizgi komutları: metin ve yerel, yapılandırma ve desteklenen komutlar' +title: Eğik Çizgi Komutları x-i18n: - generated_at: "2026-04-23T09:12:01Z" + generated_at: "2026-04-23T13:58:32Z" model: gpt-5.4 provider: openai - source_hash: 0f6b454afa77cf02b2c307efcc99ef35d002cb560c427affaf03ac12b2b666e8 + source_hash: 13290dcdf649ae66603a92a0aca68460bb63ff476179cc2dded796aaa841d66c source_path: tools/slash-commands.md workflow: 15 --- -# Slash Komutları +# Eğik çizgi komutları Komutlar Gateway tarafından işlenir. Çoğu komut, `/` ile başlayan **bağımsız** bir mesaj olarak gönderilmelidir. -Yalnızca ana makinede çalışan bash sohbet komutu `! ` kullanır (`/bash ` bunun takma adıdır). +Yalnızca ana makineye özel bash sohbet komutu `! ` kullanır (`/bash ` bunun bir takma adıdır). -İlişkili iki sistem vardır: +Birbiriyle ilişkili iki sistem vardır: - **Komutlar**: bağımsız `/...` mesajları. - **Yönergeler**: `/think`, `/fast`, `/verbose`, `/trace`, `/reasoning`, `/elevated`, `/exec`, `/model`, `/queue`. - Yönergeler, model mesajı görmeden önce mesajdan çıkarılır. - - Normal sohbet mesajlarında (yalnızca yönerge olmayan), “satır içi ipuçları” olarak değerlendirilir ve kalıcı oturum ayarları olmaz. - - Yalnızca yönergelerden oluşan mesajlarda (mesaj yalnızca yönergeler içeriyorsa), oturumda kalıcı olur ve bir onay yanıtı verir. - - Yönergeler yalnızca **yetkili göndericiler** için uygulanır. `commands.allowFrom` ayarlıysa kullanılan tek - izin listesi odur; aksi halde yetkilendirme kanal izin listeleri/eşleştirme ve `commands.useAccessGroups` üzerinden gelir. - Yetkisiz göndericiler, yönergeleri düz metin olarak görür. + - Normal sohbet mesajlarında (yalnızca yönerge olmayan), “satır içi ipuçları” olarak değerlendirilir ve oturum ayarlarını **kalıcı hale getirmez**. + - Yalnızca yönergeden oluşan mesajlarda (mesaj yalnızca yönergeler içeriyorsa), oturumda kalıcı olur ve bir onay yanıtı verir. + - Yönergeler yalnızca **yetkili gönderenler** için uygulanır. `commands.allowFrom` ayarlanmışsa, kullanılan tek izin listesi budur; aksi halde yetkilendirme kanal izin listeleri/eşleştirme ve `commands.useAccessGroups` üzerinden gelir. + Yetkisiz gönderenlerde yönergeler düz metin olarak değerlendirilir. -Ayrıca birkaç **satır içi kısayol** da vardır (yalnızca izin listesinde/yetkili göndericiler için): `/help`, `/commands`, `/status`, `/whoami` (`/id`). -Bunlar hemen çalışır, model mesajı görmeden önce çıkarılır ve kalan metin normal akıştan devam eder. +Ayrıca birkaç **satır içi kısayol** da vardır (yalnızca izin listesinde olan/yetkili gönderenler): `/help`, `/commands`, `/status`, `/whoami` (`/id`). +Bunlar hemen çalışır, model mesajı görmeden önce çıkarılır ve kalan metin normal akıştan geçmeye devam eder. ## Yapılandırma @@ -59,111 +58,109 @@ Bunlar hemen çalışır, model mesajı görmeden önce çıkarılır ve kalan m } ``` -- `commands.text` (varsayılan `true`) sohbet mesajlarında `/...` ayrıştırmasını etkinleştirir. - - Yerel komut desteği olmayan yüzeylerde (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams), bunu `false` yapsanız bile metin komutları çalışmaya devam eder. -- `commands.native` (varsayılan `"auto"`) yerel komutları kaydeder. - - Otomatik: Discord/Telegram için açık; Slack için kapalıdır (slash komutları ekleyene kadar); yerel desteği olmayan sağlayıcılarda yok sayılır. - - Sağlayıcı başına geçersiz kılmak için `channels.discord.commands.native`, `channels.telegram.commands.native` veya `channels.slack.commands.native` ayarlayın (bool veya `"auto"`). - - `false`, başlangıçta Discord/Telegram üzerinde daha önce kaydedilmiş komutları temizler. Slack komutları Slack uygulamasında yönetilir ve otomatik kaldırılmaz. -- `commands.nativeSkills` (varsayılan `"auto"`) desteklendiğinde **skill** komutlarını yerel olarak kaydeder. - - Otomatik: Discord/Telegram için açık; Slack için kapalıdır (Slack her skill için ayrı slash komut gerektirir). - - Sağlayıcı başına geçersiz kılmak için `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` veya `channels.slack.commands.nativeSkills` ayarlayın (bool veya `"auto"`). -- `commands.bash` (varsayılan `false`) ana makine kabuk komutlarını çalıştırmak için `! ` komutunu etkinleştirir (`/bash ` takma addır; `tools.elevated` izin listeleri gerektirir). -- `commands.bashForegroundMs` (varsayılan `2000`) arka plan moduna geçmeden önce bash'in ne kadar bekleyeceğini kontrol eder (`0`, hemen arka plana alır). -- `commands.config` (varsayılan `false`) `/config` komutunu etkinleştirir (`openclaw.json` okur/yazar). -- `commands.mcp` (varsayılan `false`) `/mcp` komutunu etkinleştirir (`mcp.servers` altındaki OpenClaw tarafından yönetilen MCP yapılandırmasını okur/yazar). -- `commands.plugins` (varsayılan `false`) `/plugins` komutunu etkinleştirir (plugin keşfi/durumu artı kurulum + etkinleştirme/devre dışı bırakma denetimleri). -- `commands.debug` (varsayılan `false`) `/debug` komutunu etkinleştirir (yalnızca çalışma zamanına ait geçersiz kılmalar). -- `commands.restart` (varsayılan `true`) `/restart` ve gateway restart aracı eylemlerini etkinleştirir. -- `commands.ownerAllowFrom` (isteğe bağlı) yalnızca sahibe açık komut/araç yüzeyleri için açık sahip izin listesini ayarlar. Bu, `commands.allowFrom` değerinden ayrıdır. -- Kanal başına `channels..commands.enforceOwnerForCommands` (isteğe bağlı, varsayılan `false`), yalnızca sahibe açık komutların o yüzeyde çalışması için **sahip kimliği** gerektirir. `true` olduğunda gönderen ya çözümlenmiş bir sahip adayıyla eşleşmeli (örneğin `commands.ownerAllowFrom` içindeki bir girdi veya sağlayıcının yerel sahip meta verisi) ya da dahili mesaj kanalında iç `operator.admin` kapsamına sahip olmalıdır. Kanal `allowFrom` içindeki joker bir girdi veya boş/çözümlenmemiş sahip aday listesi **yeterli değildir** — yalnızca sahibe açık komutlar o kanalda kapalı şekilde başarısız olur. Sahibe açık komutların yalnızca `ownerAllowFrom` ve standart komut izin listeleriyle denetlenmesini istiyorsanız bunu kapalı bırakın. -- `commands.ownerDisplay`, sahip kimliklerinin sistem isteminde nasıl görüneceğini belirler: `raw` veya `hash`. -- `commands.ownerDisplaySecret`, `commands.ownerDisplay="hash"` olduğunda kullanılan HMAC gizlisini isteğe bağlı olarak ayarlar. -- `commands.allowFrom` (isteğe bağlı), komut yetkilendirmesi için sağlayıcı başına izin listesi ayarlar. Yapılandırıldığında komutlar ve yönergeler için - tek yetkilendirme kaynağı budur (kanal izin listeleri/eşleştirme ve `commands.useAccessGroups` - yok sayılır). Genel varsayılan için `"*"` kullanın; sağlayıcıya özgü anahtarlar bunu geçersiz kılar. -- `commands.useAccessGroups` (varsayılan `true`), `commands.allowFrom` ayarlı değilse komutlar için izin listelerini/ilkeleri uygular. +- `commands.text` (varsayılan `true`), sohbet mesajlarında `/...` ayrıştırmasını etkinleştirir. + - Yerel komutları olmayan yüzeylerde (WhatsApp/WebChat/Signal/iMessage/Google Chat/Microsoft Teams), bunu `false` olarak ayarlasanız bile metin komutları çalışmaya devam eder. +- `commands.native` (varsayılan `"auto"`), yerel komutları kaydeder. + - Otomatik: Discord/Telegram için açık; Slack için kapalıdır (eğik çizgi komutları ekleyene kadar); yerel destek sunmayan sağlayıcılarda yok sayılır. + - Sağlayıcı başına geçersiz kılmak için `channels.discord.commands.native`, `channels.telegram.commands.native` veya `channels.slack.commands.native` ayarını kullanın (bool veya `"auto"`). + - `false`, başlangıçta Discord/Telegram üzerindeki daha önce kaydedilmiş komutları temizler. Slack komutları Slack uygulamasında yönetilir ve otomatik olarak kaldırılmaz. +- `commands.nativeSkills` (varsayılan `"auto"`), desteklendiğinde **Skill** komutlarını yerel olarak kaydeder. + - Otomatik: Discord/Telegram için açık; Slack için kapalıdır (Slack her Skill için ayrı bir eğik çizgi komutu oluşturulmasını gerektirir). + - Sağlayıcı başına geçersiz kılmak için `channels.discord.commands.nativeSkills`, `channels.telegram.commands.nativeSkills` veya `channels.slack.commands.nativeSkills` ayarını kullanın (bool veya `"auto"`). +- `commands.bash` (varsayılan `false`), ana makinenin kabuk komutlarını çalıştırmak için `! ` kullanımını etkinleştirir (`/bash ` bunun bir takma adıdır; `tools.elevated` izin listeleri gerekir). +- `commands.bashForegroundMs` (varsayılan `2000`), arka plan moduna geçmeden önce bash’in ne kadar bekleyeceğini kontrol eder (`0`, hemen arka plana alır). +- `commands.config` (varsayılan `false`), `/config` komutunu etkinleştirir (`openclaw.json` dosyasını okur/yazar). +- `commands.mcp` (varsayılan `false`), `/mcp` komutunu etkinleştirir (OpenClaw tarafından yönetilen `mcp.servers` altındaki MCP yapılandırmasını okur/yazar). +- `commands.plugins` (varsayılan `false`), `/plugins` komutunu etkinleştirir (plugin keşfi/durumu ile kurulum + etkinleştirme/devre dışı bırakma kontrolleri). +- `commands.debug` (varsayılan `false`), `/debug` komutunu etkinleştirir (yalnızca çalışma zamanı geçersiz kılmaları). +- `commands.restart` (varsayılan `true`), `/restart` komutunu ve gateway yeniden başlatma araç eylemlerini etkinleştirir. +- `commands.ownerAllowFrom` (isteğe bağlı), yalnızca sahip için olan komut/araç yüzeyleri için açık sahip izin listesini ayarlar. Bu, `commands.allowFrom` değerinden ayrıdır. +- Kanal başına `channels..commands.enforceOwnerForCommands` (isteğe bağlı, varsayılan `false`), bu yüzeyde yalnızca sahip için olan komutların çalışması için **sahip kimliği** gerektirir. `true` olduğunda gönderenin ya çözülmüş bir sahip adayıyla eşleşmesi gerekir (örneğin `commands.ownerAllowFrom` içindeki bir giriş veya sağlayıcıya özgü yerel sahip meta verisi) ya da dahili bir mesaj kanalında dahili `operator.admin` kapsamına sahip olması gerekir. Kanal `allowFrom` içindeki joker bir giriş veya boş/çözümlenmemiş bir sahip-aday listesi **yeterli değildir** — yalnızca sahip için olan komutlar bu kanalda kapalı şekilde başarısız olur. Yalnızca sahip için olan komutların sadece `ownerAllowFrom` ve standart komut izin listeleriyle sınırlandırılmasını istiyorsanız bunu kapalı bırakın. +- `commands.ownerDisplay`, sistem isteminde sahip kimliklerinin nasıl görüneceğini kontrol eder: `raw` veya `hash`. +- `commands.ownerDisplaySecret`, `commands.ownerDisplay="hash"` olduğunda kullanılan HMAC sırrını isteğe bağlı olarak ayarlar. +- `commands.allowFrom` (isteğe bağlı), komut yetkilendirmesi için sağlayıcı başına bir izin listesi ayarlar. Yapılandırıldığında, komutlar ve yönergeler için kullanılan tek yetkilendirme kaynağı budur (kanal izin listeleri/eşleştirme ve `commands.useAccessGroups` yok sayılır). Genel varsayılan için `"*"` kullanın; sağlayıcıya özgü anahtarlar bunu geçersiz kılar. +- `commands.useAccessGroups` (varsayılan `true`), `commands.allowFrom` ayarlı değilken komutlar için izin listelerini/politikaları uygular. ## Komut listesi -Geçerli doğruluk kaynağı: +Geçerli source-of-truth: - çekirdek yerleşik komutlar `src/auto-reply/commands-registry.shared.ts` dosyasından gelir -- oluşturulmuş dock komutları `src/auto-reply/commands-registry.data.ts` dosyasından gelir -- plugin komutları plugin `registerCommand()` çağrılarından gelir -- Gateway'inizde gerçekten kullanılabilir olmaları yine de yapılandırma bayraklarına, kanal yüzeyine ve kurulu/etkin plugin'lere bağlıdır +- üretilmiş dock komutları `src/auto-reply/commands-registry.data.ts` dosyasından gelir +- plugin komutları, plugin `registerCommand()` çağrılarından gelir +- gateway’inizdeki gerçek kullanılabilirlik yine de yapılandırma bayraklarına, kanal yüzeyine ve kurulu/etkin plugin’lere bağlıdır ### Çekirdek yerleşik komutlar Bugün kullanılabilen yerleşik komutlar: - `/new [model]` yeni bir oturum başlatır; `/reset` sıfırlama takma adıdır. -- `/reset soft [message]`, geçerli dökümü korur, yeniden kullanılan CLI backend oturum kimliklerini bırakır ve başlangıç/sistem istemi yüklemesini yerinde yeniden çalıştırır. -- `/compact [instructions]`, oturum bağlamını sıkıştırır. Bkz. [/concepts/compaction](/tr/concepts/compaction). -- `/stop`, geçerli çalıştırmayı iptal eder. -- `/session idle ` ve `/session max-age `, iş parçacığı bağlama süre sonunu yönetir. -- `/think `, düşünme düzeyini ayarlar. Seçenekler etkin modelin sağlayıcı profilinden gelir; yaygın düzeyler `off`, `minimal`, `low`, `medium` ve `high` olup `xhigh`, `adaptive`, `max` veya ikili `on` gibi özel düzeyler yalnızca desteklendiği yerde bulunur. Takma adlar: `/thinking`, `/t`. -- `/verbose on|off|full`, ayrıntılı çıktıyı değiştirir. Takma ad: `/v`. -- `/trace on|off`, geçerli oturum için plugin iz çıktısını değiştirir. -- `/fast [status|on|off]`, hızlı modu gösterir veya ayarlar. -- `/reasoning [on|off|stream]`, akıl yürütme görünürlüğünü değiştirir. Takma ad: `/reason`. -- `/elevated [on|off|ask|full]`, yükseltilmiş modu değiştirir. Takma ad: `/elev`. -- `/exec host= security= ask= node=`, exec varsayılanlarını gösterir veya ayarlar. -- `/model [name|#|status]`, modeli gösterir veya ayarlar. -- `/models [provider] [page] [limit=|size=|all]`, sağlayıcıları veya bir sağlayıcıya ait modelleri listeler. -- `/queue `, kuyruk davranışını yönetir (`steer`, `interrupt`, `followup`, `collect`, `steer-backlog`) ve `debounce:2s cap:25 drop:summarize` gibi seçenekleri destekler. -- `/help`, kısa yardım özetini gösterir. -- `/commands`, oluşturulmuş komut kataloğunu gösterir. -- `/tools [compact|verbose]`, geçerli aracının şu anda neleri kullanabildiğini gösterir. -- `/status`, varsa sağlayıcı kullanımı/kotasını da içeren çalışma zamanı durumunu gösterir. -- `/tasks`, geçerli oturum için etkin/son arka plan görevlerini listeler. -- `/context [list|detail|json]`, bağlamın nasıl oluşturulduğunu açıklar. -- `/export-session [path]`, geçerli oturumu HTML olarak dışa aktarır. Takma ad: `/export`. -- `/export-trajectory [path]`, geçerli oturum için JSONL [trajectory bundle](/tr/tools/trajectory) dışa aktarır. Takma ad: `/trajectory`. -- `/whoami`, gönderici kimliğinizi gösterir. Takma ad: `/id`. -- `/skill [input]`, bir skill'i adına göre çalıştırır. -- `/allowlist [list|add|remove] ...`, izin listesi girdilerini yönetir. Yalnızca metin. -- `/approve `, exec onay istemlerini çözümler. -- `/btw `, gelecekteki oturum bağlamını değiştirmeden yan bir soru sorar. Bkz. [/tools/btw](/tr/tools/btw). -- `/subagents list|kill|log|info|send|steer|spawn`, geçerli oturum için alt aracı çalıştırmalarını yönetir. -- `/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help`, ACP oturumlarını ve çalışma zamanı seçeneklerini yönetir. -- `/focus `, geçerli Discord iş parçacığını veya Telegram başlığını/konuşmasını bir oturum hedefine bağlar. -- `/unfocus`, geçerli bağlamayı kaldırır. -- `/agents`, geçerli oturum için iş parçacığına bağlı aracıları listeler. -- `/kill `, çalışan bir veya tüm alt aracıları iptal eder. -- `/steer `, çalışan bir alt aracıya yönlendirme gönderir. Takma ad: `/tell`. -- `/config show|get|set|unset`, `openclaw.json` dosyasını okur veya yazar. Yalnızca sahip için. `commands.config: true` gerektirir. -- `/mcp show|get|set|unset`, `mcp.servers` altındaki OpenClaw tarafından yönetilen MCP sunucu yapılandırmasını okur veya yazar. Yalnızca sahip için. `commands.mcp: true` gerektirir. -- `/plugins list|inspect|show|get|install|enable|disable`, plugin durumunu inceler veya değiştirir. `/plugin` bir takma addır. Yazma işlemleri için yalnızca sahip. `commands.plugins: true` gerektirir. -- `/debug show|set|unset|reset`, yalnızca çalışma zamanına ait yapılandırma geçersiz kılmalarını yönetir. Yalnızca sahip için. `commands.debug: true` gerektirir. -- `/usage off|tokens|full|cost`, yanıt başına kullanım alt bilgisini kontrol eder veya yerel maliyet özeti yazdırır. -- `/tts on|off|status|provider|limit|summary|audio|help`, TTS'yi kontrol eder. Bkz. [/tools/tts](/tr/tools/tts). -- `/restart`, etkinleştirildiğinde OpenClaw'ı yeniden başlatır. Varsayılan: etkin; devre dışı bırakmak için `commands.restart: false` ayarlayın. -- `/activation mention|always`, grup etkinleştirme modunu ayarlar. -- `/send on|off|inherit`, gönderim ilkesini ayarlar. Yalnızca sahip için. -- `/bash `, ana makine kabuk komutu çalıştırır. Yalnızca metin. Takma ad: `! `. `commands.bash: true` ve `tools.elevated` izin listeleri gerektirir. -- `!poll [sessionId]`, arka plan bash işini kontrol eder. -- `!stop [sessionId]`, arka plan bash işini durdurur. +- `/reset soft [message]` geçerli transkripti korur, yeniden kullanılan CLI backend oturum kimliklerini bırakır ve başlangıç/sistem istemi yüklemesini yerinde yeniden çalıştırır. +- `/compact [instructions]` oturum bağlamını sıkıştırır. Bkz. [/concepts/compaction](/tr/concepts/compaction). +- `/stop` geçerli çalıştırmayı iptal eder. +- `/session idle ` ve `/session max-age ` iş parçacığı bağlama süresinin dolmasını yönetir. +- `/think ` düşünme düzeyini ayarlar. Seçenekler etkin modelin sağlayıcı profilinden gelir; yaygın düzeyler `off`, `minimal`, `low`, `medium` ve `high` değerleridir, `xhigh`, `adaptive`, `max` veya ikili `on` gibi özel düzeyler ise yalnızca desteklenen yerlerde vardır. Takma adlar: `/thinking`, `/t`. +- `/verbose on|off|full` ayrıntılı çıktıyı açar/kapatır. Takma ad: `/v`. +- `/trace on|off` geçerli oturum için plugin izleme çıktısını açar/kapatır. +- `/fast [status|on|off]` hızlı modu gösterir veya ayarlar. +- `/reasoning [on|off|stream]` muhakeme görünürlüğünü açar/kapatır. Takma ad: `/reason`. +- `/elevated [on|off|ask|full]` elevated modunu açar/kapatır. Takma ad: `/elev`. +- `/exec host= security= ask= node=` exec varsayılanlarını gösterir veya ayarlar. +- `/model [name|#|status]` modeli gösterir veya ayarlar. +- `/models [provider] [page] [limit=|size=|all]` bir sağlayıcı için sağlayıcıları veya modelleri listeler. +- `/queue ` kuyruk davranışını (`steer`, `interrupt`, `followup`, `collect`, `steer-backlog`) ve `debounce:2s cap:25 drop:summarize` gibi seçenekleri yönetir. +- `/help` kısa yardım özetini gösterir. +- `/commands` oluşturulmuş komut kataloğunu gösterir. +- `/tools [compact|verbose]` geçerli aracının şu anda neleri kullanabildiğini gösterir. +- `/status`, mevcut olduğunda `Runtime`/`Runner` etiketleri ve sağlayıcı kullanımı/kotası dahil çalışma zamanı durumunu gösterir. +- `/tasks` geçerli oturum için etkin/son arka plan görevlerini listeler. +- `/context [list|detail|json]` bağlamın nasıl oluşturulduğunu açıklar. +- `/export-session [path]` geçerli oturumu HTML olarak dışa aktarır. Takma ad: `/export`. +- `/export-trajectory [path]` geçerli oturum için bir JSONL [trajectory bundle](/tr/tools/trajectory) dışa aktarır. Takma ad: `/trajectory`. +- `/whoami` gönderen kimliğinizi gösterir. Takma ad: `/id`. +- `/skill [input]` bir Skill’i adına göre çalıştırır. +- `/allowlist [list|add|remove] ...` izin listesi girdilerini yönetir. Yalnızca metin. +- `/approve ` exec onay istemlerini çözümler. +- `/btw ` gelecekteki oturum bağlamını değiştirmeden yan bir soru sorar. Bkz. [/tools/btw](/tr/tools/btw). +- `/subagents list|kill|log|info|send|steer|spawn` geçerli oturum için alt aracı çalıştırmalarını yönetir. +- `/acp spawn|cancel|steer|close|sessions|status|set-mode|set|cwd|permissions|timeout|model|reset-options|doctor|install|help` ACP oturumlarını ve çalışma zamanı seçeneklerini yönetir. +- `/focus ` geçerli Discord iş parçacığını veya Telegram konu/görüşmesini bir oturum hedefine bağlar. +- `/unfocus` geçerli bağlamayı kaldırır. +- `/agents` geçerli oturum için iş parçacığına bağlı aracıları listeler. +- `/kill ` çalışan bir veya tüm alt aracıları iptal eder. +- `/steer ` çalışan bir alt aracıya yönlendirme gönderir. Takma ad: `/tell`. +- `/config show|get|set|unset` `openclaw.json` dosyasını okur veya yazar. Yalnızca sahip. `commands.config: true` gerektirir. +- `/mcp show|get|set|unset` OpenClaw tarafından yönetilen `mcp.servers` altındaki MCP sunucusu yapılandırmasını okur veya yazar. Yalnızca sahip. `commands.mcp: true` gerektirir. +- `/plugins list|inspect|show|get|install|enable|disable` plugin durumunu inceler veya değiştirir. `/plugin` bir takma addır. Yazma işlemleri yalnızca sahip içindir. `commands.plugins: true` gerektirir. +- `/debug show|set|unset|reset` yalnızca çalışma zamanına ait yapılandırma geçersiz kılmalarını yönetir. Yalnızca sahip. `commands.debug: true` gerektirir. +- `/usage off|tokens|full|cost` yanıt başına kullanım alt bilgisini kontrol eder veya yerel bir maliyet özeti yazdırır. +- `/tts on|off|status|provider|limit|summary|audio|help` TTS’yi kontrol eder. Bkz. [/tools/tts](/tr/tools/tts). +- `/restart` etkin olduğunda OpenClaw’ı yeniden başlatır. Varsayılan: etkin; devre dışı bırakmak için `commands.restart: false` ayarlayın. +- `/activation mention|always` grup etkinleştirme modunu ayarlar. +- `/send on|off|inherit` gönderme politikasını ayarlar. Yalnızca sahip. +- `/bash ` ana makine kabuk komutu çalıştırır. Yalnızca metin. Takma ad: `! `. `commands.bash: true` ve `tools.elevated` izin listeleri gerektirir. +- `!poll [sessionId]` arka plan bash işini kontrol eder. +- `!stop [sessionId]` arka plan bash işini durdurur. ### Oluşturulmuş dock komutları -Dock komutları, yerel komut desteği olan kanal plugin'lerinden oluşturulur. Geçerli paketlenmiş küme: +Dock komutları, yerel komut desteği olan kanal plugin’lerinden üretilir. Geçerli paketli küme: - `/dock-discord` (takma ad: `/dock_discord`) - `/dock-mattermost` (takma ad: `/dock_mattermost`) - `/dock-slack` (takma ad: `/dock_slack`) - `/dock-telegram` (takma ad: `/dock_telegram`) -### Paketlenmiş plugin komutları +### Paketli plugin komutları -Paketlenmiş plugin'ler daha fazla slash komutu ekleyebilir. Bu depodaki geçerli paketlenmiş komutlar: +Paketli plugin’ler daha fazla eğik çizgi komutu ekleyebilir. Bu depodaki mevcut paketli komutlar: -- `/dreaming [on|off|status|help]`, bellek dreaming özelliğini değiştirir. Bkz. [Dreaming](/tr/concepts/dreaming). -- `/pair [qr|status|pending|approve|cleanup|notify]`, cihaz eşleştirme/kurulum akışını yönetir. Bkz. [Eşleştirme](/tr/channels/pairing). -- `/phone status|arm [duration]|disarm`, yüksek riskli telefon node komutlarını geçici olarak devreye alır. -- `/voice status|list [limit]|set `, Talk ses yapılandırmasını yönetir. Discord'da yerel komut adı `/talkvoice` olur. -- `/card ...`, LINE zengin kart ön ayarları gönderir. Bkz. [LINE](/tr/channels/line). -- `/codex status|models|threads|resume|compact|review|account|mcp|skills`, paketlenmiş Codex uygulama sunucusu harness'ini inceler ve denetler. Bkz. [Codex Harness](/tr/plugins/codex-harness). +- `/dreaming [on|off|status|help]` bellek Dreaming özelliğini açar/kapatır. Bkz. [Dreaming](/tr/concepts/dreaming). +- `/pair [qr|status|pending|approve|cleanup|notify]` cihaz eşleştirme/kurulum akışını yönetir. Bkz. [Eşleştirme](/tr/channels/pairing). +- `/phone status|arm [duration]|disarm` yüksek riskli telefon node komutlarını geçici olarak etkinleştirir. +- `/voice status|list [limit]|set ` Talk ses yapılandırmasını yönetir. Discord’da yerel komut adı `/talkvoice` şeklindedir. +- `/card ...` LINE zengin kart önayarları gönderir. Bkz. [LINE](/tr/channels/line). +- `/codex status|models|threads|resume|compact|review|account|mcp|skills` paketli Codex uygulama sunucusu harness’ını inceler ve kontrol eder. Bkz. [Codex Harness](/tr/plugins/codex-harness). - Yalnızca QQBot komutları: - `/bot-ping` - `/bot-version` @@ -171,73 +168,71 @@ Paketlenmiş plugin'ler daha fazla slash komutu ekleyebilir. Bu depodaki geçerl - `/bot-upgrade` - `/bot-logs` -### Dinamik skill komutları +### Dinamik Skill komutları -Kullanıcının çağırabildiği Skills, slash komutları olarak da sunulur: +Kullanıcının çağırabildiği Skills, eğik çizgi komutları olarak da sunulur: -- `/skill [input]`, genel giriş noktası olarak her zaman çalışır. -- skill'ler/plugin'ler bunları kaydederse `/prose` gibi doğrudan komutlar olarak da görünebilir. -- yerel skill komutu kaydı `commands.nativeSkills` ve `channels..commands.nativeSkills` tarafından kontrol edilir. +- `/skill [input]` genel giriş noktası olarak her zaman çalışır. +- Skill’ler, Skill/plugin bunları kaydederse `/prose` gibi doğrudan komutlar olarak da görünebilir. +- Yerel skill-komutu kaydı `commands.nativeSkills` ve `channels..commands.nativeSkills` tarafından kontrol edilir. Notlar: -- Komutlar, komut ile argümanlar arasına isteğe bağlı `:` kabul eder (ör. `/think: high`, `/send: on`, `/help:`). -- `/new `, bir model takma adını, `provider/model` biçimini veya bir sağlayıcı adını (bulanık eşleşme) kabul eder; eşleşme yoksa metin mesaj gövdesi olarak değerlendirilir. +- Komutlar, komut ile argümanlar arasında isteğe bağlı bir `:` kabul eder (ör. `/think: high`, `/send: on`, `/help:`). +- `/new `, bir model takma adını, `provider/model` biçimini veya bir sağlayıcı adını kabul eder (bulanık eşleştirme); eşleşme yoksa metin mesaj gövdesi olarak değerlendirilir. - Tam sağlayıcı kullanım dökümü için `openclaw status --usage` kullanın. - `/allowlist add|remove`, `commands.config=true` gerektirir ve kanal `configWrites` ayarına uyar. -- Çok hesaplı kanallarda, yapılandırma hedefli `/allowlist --account ` ve `/config set channels..accounts....` komutları da hedef hesabın `configWrites` ayarına uyar. +- Çok hesaplı kanallarda, yapılandırma hedefli `/allowlist --account ` ve `/config set channels..accounts....` da hedef hesabın `configWrites` ayarına uyar. - `/usage`, yanıt başına kullanım alt bilgisini kontrol eder; `/usage cost`, OpenClaw oturum günlüklerinden yerel bir maliyet özeti yazdırır. - `/restart` varsayılan olarak etkindir; devre dışı bırakmak için `commands.restart: false` ayarlayın. -- `/plugins install `, `openclaw plugins install` ile aynı plugin özelliklerini kabul eder: yerel yol/arşiv, npm paketi veya `clawhub:`. +- `/plugins install `, `openclaw plugins install` ile aynı plugin belirtimlerini kabul eder: yerel yol/arşiv, npm paketi veya `clawhub:`. - `/plugins enable|disable`, plugin yapılandırmasını günceller ve yeniden başlatma istemi gösterebilir. -- Yalnızca Discord'a özgü yerel komut: `/vc join|leave|status`, sesli kanalları kontrol eder (`channels.discord.voice` ve yerel komutlar gerekir; metin olarak kullanılamaz). -- Discord iş parçacığı bağlama komutları (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`), etkin iş parçacığı bağlamalarının açık olmasını gerektirir (`session.threadBindings.enabled` ve/veya `channels.discord.threadBindings.enabled`). +- Yalnızca Discord’a özgü yerel komut: `/vc join|leave|status` ses kanallarını kontrol eder (`channels.discord.voice` ve yerel komutlar gerektirir; metin olarak kullanılamaz). +- Discord iş parçacığı bağlama komutları (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age`), etkin iş parçacığı bağlamalarının etkin olmasını gerektirir (`session.threadBindings.enabled` ve/veya `channels.discord.threadBindings.enabled`). - ACP komut başvurusu ve çalışma zamanı davranışı: [ACP Agents](/tr/tools/acp-agents). -- `/verbose`, hata ayıklama ve ek görünürlük içindir; normal kullanımda **kapalı** tutun. -- `/trace`, `/verbose`'dan daha dardır: yalnızca plugin'e ait iz/hata ayıklama satırlarını gösterir ve normal ayrıntılı araç konuşmasını kapalı tutar. -- `/fast on|off`, kalıcı bir oturum geçersiz kılması yapar. Bunu temizlemek ve yapılandırma varsayılanlarına dönmek için Sessions UI içindeki `inherit` seçeneğini kullanın. -- `/fast`, sağlayıcıya özeldir: OpenAI/OpenAI Codex bunu yerel Responses uç noktalarında `service_tier=priority` ile eşler; doğrudan herkese açık Anthropic istekleri, buna `api.anthropic.com` adresine OAuth ile kimlik doğrulanmış trafik de dahil, bunu `service_tier=auto` veya `standard_only` ile eşler. Bkz. [OpenAI](/tr/providers/openai) ve [Anthropic](/tr/providers/anthropic). -- Araç hata özetleri gerektiğinde yine gösterilir, ancak ayrıntılı hata metni yalnızca `/verbose` değeri `on` veya `full` olduğunda dahil edilir. -- `/reasoning`, `/verbose` ve `/trace`, grup ayarlarında risklidir: açığa çıkmasını istemediğiniz dahili akıl yürütmeyi, araç çıktısını veya plugin tanılamasını gösterebilirler. Özellikle grup sohbetlerinde kapalı bırakmayı tercih edin. -- `/model`, yeni oturum modelini hemen kalıcılaştırır. -- Aracı boşta ise bir sonraki çalıştırma bunu hemen kullanır. -- Bir çalıştırma zaten etkinse OpenClaw canlı geçişi beklemede olarak işaretler ve yalnızca temiz bir yeniden deneme noktasında yeni modele yeniden başlar. -- Araç etkinliği veya yanıt çıktısı zaten başlamışsa bekleyen geçiş daha sonraki bir yeniden deneme fırsatına veya sonraki kullanıcı dönüşüne kadar kuyrukta kalabilir. -- **Hızlı yol:** izin verilen göndericilerden gelen yalnızca komut içeren mesajlar hemen işlenir (kuyruğu + modeli atlar). -- **Grup bahsetme geçidi:** izin verilen göndericilerden gelen yalnızca komut içeren mesajlar bahsetme gereksinimlerini atlar. -- **Satır içi kısayollar (yalnızca izin verilen göndericiler):** bazı komutlar normal mesaj içine gömülü olduklarında da çalışır ve model kalan metni görmeden önce çıkarılır. - - Örnek: `hey /status`, bir durum yanıtı tetikler ve kalan metin normal akıştan devam eder. +- `/verbose`, hata ayıklama ve ek görünürlük için tasarlanmıştır; normal kullanımda **kapalı** tutun. +- `/trace`, `/verbose`’dan daha dardır: yalnızca plugin’e ait izleme/hata ayıklama satırlarını gösterir ve normal ayrıntılı araç konuşmasını kapalı tutar. +- `/fast on|off`, oturum geçersiz kılmasını kalıcı hale getirir. Bunu temizlemek ve yapılandırma varsayılanlarına geri dönmek için Sessions UI içindeki `inherit` seçeneğini kullanın. +- `/fast`, sağlayıcıya özeldir: OpenAI/OpenAI Codex bunu yerel Responses uç noktalarında `service_tier=priority` olarak eşlerken, `api.anthropic.com` adresine gönderilen OAuth kimlik doğrulamalı trafik dahil doğrudan genel Anthropic istekleri bunu `service_tier=auto` veya `standard_only` olarak eşler. Bkz. [OpenAI](/tr/providers/openai) ve [Anthropic](/tr/providers/anthropic). +- Araç hata özetleri ilgili olduğunda yine gösterilir, ancak ayrıntılı hata metni yalnızca `/verbose` `on` veya `full` olduğunda dahil edilir. +- `/reasoning`, `/verbose` ve `/trace`, grup ayarlarında risklidir: açığa çıkarmayı düşünmediğiniz iç muhakemeyi, araç çıktısını veya plugin tanılarını gösterebilirler. Özellikle grup sohbetlerinde kapalı bırakmayı tercih edin. +- `/model`, yeni oturum modelini hemen kalıcı hale getirir. +- Aracı boştaysa, sonraki çalıştırma bunu hemen kullanır. +- Zaten etkin bir çalıştırma varsa, OpenClaw canlı geçişi beklemede olarak işaretler ve yalnızca temiz bir yeniden deneme noktasında yeni modele yeniden başlatır. +- Araç etkinliği veya yanıt çıktısı zaten başlamışsa, bekleyen geçiş daha sonraki bir yeniden deneme fırsatına veya bir sonraki kullanıcı turuna kadar kuyrukta kalabilir. +- **Hızlı yol:** izin listesindeki gönderenlerden gelen yalnızca komut içeren mesajlar hemen işlenir (kuyruk + model atlanır). +- **Grup mention kapılaması:** izin listesindeki gönderenlerden gelen yalnızca komut içeren mesajlar mention gereksinimlerini atlar. +- **Satır içi kısayollar (yalnızca izin listesindeki gönderenler):** belirli komutlar normal bir mesaja gömülü olduğunda da çalışır ve model kalan metni görmeden önce çıkarılır. + - Örnek: `hey /status` bir durum yanıtını tetikler ve kalan metin normal akıştan geçmeye devam eder. - Şu anda: `/help`, `/commands`, `/status`, `/whoami` (`/id`). -- Yetkisiz yalnızca komut içeren mesajlar sessizce yok sayılır ve satır içi `/...` token'ları düz metin olarak değerlendirilir. -- **Skill komutları:** `user-invocable` skill'ler slash komutları olarak sunulur. Adlar `a-z0-9_` biçimine temizlenir (azami 32 karakter); çakışmalara sayısal sonek eklenir (ör. `_2`). - - `/skill [input]`, bir skill'i adına göre çalıştırır (yerel komut sınırları skill başına komutları engellediğinde kullanışlıdır). - - Varsayılan olarak skill komutları modele normal istek olarak iletilir. - - Skill'ler isteğe bağlı olarak komutu doğrudan bir araca yönlendirmek için `command-dispatch: tool` bildirebilir (deterministik, model yok). - - Örnek: `/prose` (OpenProse plugin'i) — bkz. [OpenProse](/tr/prose). -- **Yerel komut argümanları:** Discord dinamik seçenekler için otomatik tamamlamayı kullanır (ve gerekli argümanları atladığınızda düğme menülerini gösterir). Telegram ve Slack, bir komut seçenekleri destekliyorsa ve siz argümanı atladıysanız bir düğme menüsü gösterir. +- Yetkisiz yalnızca komut içeren mesajlar sessizce yok sayılır ve satır içi `/...` belirteçleri düz metin olarak değerlendirilir. +- **Skill komutları:** `user-invocable` Skills, eğik çizgi komutları olarak sunulur. Adlar `a-z0-9_` olarak temizlenir (en fazla 32 karakter); çakışmalara sayısal son ekler eklenir (ör. `_2`). + - `/skill [input]`, bir Skill’i adına göre çalıştırır (yerel komut sınırları Skill başına komutları engellediğinde kullanışlıdır). + - Varsayılan olarak Skill komutları modele normal bir istek olarak iletilir. + - Skills isteğe bağlı olarak komutu doğrudan bir araca yönlendirmek için `command-dispatch: tool` bildirebilir (deterministik, modelsiz). + - Örnek: `/prose` (OpenProse plugin’i) — bkz. [OpenProse](/tr/prose). +- **Yerel komut argümanları:** Discord dinamik seçenekler için autocomplete kullanır (gerekli argümanları atladığınızda düğme menüleri de kullanılır). Telegram ve Slack, bir komut seçimleri destekliyorsa ve siz argümanı atlarsanız bir düğme menüsü gösterir. ## `/tools` -`/tools`, bir yapılandırma sorusunu değil, çalışma zamanı sorusunu yanıtlar: **bu aracının -bu konuşmada şu anda neleri kullanabildiğini**. +`/tools`, bir yapılandırma sorusuna değil, bir çalışma zamanı sorusuna yanıt verir: **bu aracının şu anda +bu konuşmada neleri kullanabildiği**. -- Varsayılan `/tools` kompakt olup hızlı tarama için optimize edilmiştir. -- `/tools verbose`, kısa açıklamalar ekler. -- Argümanları destekleyen yerel komut yüzeyleri aynı mod anahtarını `compact|verbose` olarak sunar. -- Sonuçlar oturum kapsamlıdır; bu yüzden aracı, kanal, iş parçacığı, gönderici yetkilendirmesi veya model değiştiğinde - çıktı da değişebilir. -- `/tools`, çekirdek araçlar, bağlı plugin - araçları ve kanala ait araçlar dahil, çalışma zamanında gerçekten erişilebilir olan araçları içerir. +- Varsayılan `/tools` kompakttır ve hızlı tarama için optimize edilmiştir. +- `/tools verbose` kısa açıklamalar ekler. +- Argümanları destekleyen yerel komut yüzeyleri aynı kip değiştiriciyi `compact|verbose` olarak sunar. +- Sonuçlar oturum kapsamlıdır, bu nedenle aracıyı, kanalı, iş parçacığını, gönderen yetkilendirmesini veya modeli değiştirmek çıktıyı değiştirebilir. +- `/tools`, çekirdek araçlar, bağlı plugin araçları ve kanala ait araçlar dahil çalışma zamanında gerçekten erişilebilir olan araçları içerir. -Profil ve geçersiz kılma düzenlemeleri için `/tools` komutunu statik katalog gibi görmek yerine -Control UI Tools panelini veya yapılandırma/katalog yüzeylerini kullanın. +Profil ve geçersiz kılma düzenlemeleri için `/tools`’u statik bir katalog gibi ele almak yerine Control UI Tools panelini veya config/catalog yüzeylerini kullanın. ## Kullanım yüzeyleri (nerede ne gösterilir) -- **Sağlayıcı kullanımı/kota** (örnek: “Claude %80 kaldı”), kullanım izleme etkinken geçerli model sağlayıcısı için `/status` içinde görünür. OpenClaw sağlayıcı pencerelerini `% kaldı` biçimine normalize eder; MiniMax için yalnızca kalan yüzde alanları gösterilmeden önce ters çevrilir ve `model_remains` yanıtlarında model etiketi taşıyan plan etiketiyle birlikte sohbet modeli girdisi tercih edilir. -- `/status` içindeki **token/cache satırları**, canlı oturum anlık görüntüsü seyrek olduğunda en son döküm kullanım girdisine geri dönebilir. Mevcut sıfır olmayan canlı değerler yine kazanır ve döküm yedeği, saklanan toplamlar eksik veya daha küçük olduğunda etkin çalışma zamanı modeli etiketini ve daha büyük, istem odaklı bir toplamı da kurtarabilir. -- **Yanıt başına token/maliyet**, `/usage off|tokens|full` ile kontrol edilir (normal yanıtlara eklenir). -- `/model status`, kullanım hakkında değil **modeller/auth/uç noktalar** hakkındadır. +- **Sağlayıcı kullanımı/kota** (örnek: “Claude %80 kaldı”), kullanım izleme etkin olduğunda geçerli model sağlayıcısı için `/status` içinde gösterilir. OpenClaw sağlayıcı pencerelerini `% kaldı` biçimine normalize eder; MiniMax için yalnızca kalan değeri içeren yüzde alanları görüntülemeden önce tersine çevrilir ve `model_remains` yanıtları sohbet modeli girdisini, ayrıca modele etiketlenmiş plan etiketiyle birlikte tercih eder. +- `/status` içindeki **token/önbellek satırları**, canlı oturum anlık görüntüsü seyrek olduğunda en son transkript kullanım girdisine geri dönebilir. Mevcut sıfır olmayan canlı değerler yine önceliklidir ve transkript yedeği, saklanan toplamlar eksik olduğunda veya daha küçük olduğunda etkin çalışma zamanı model etiketini ve daha büyük istem odaklı bir toplamı da geri getirebilir. +- **Runtime ve runner:** `/status`, etkin yürütme yolu ve sandbox durumu için `Runtime`, oturumu gerçekte kimin çalıştırdığı için ise `Runner` bildirir: gömülü Pi, CLI destekli bir sağlayıcı veya bir ACP harness/backend’i. +- **Yanıt başına token/maliyet**, `/usage off|tokens|full` ile kontrol edilir (normal yanıtların sonuna eklenir). +- `/model status`, kullanım hakkında değil, **modeller/kimlik doğrulama/uç noktalar** hakkındadır. ## Model seçimi (`/model`) @@ -256,14 +251,14 @@ Control UI Tools panelini veya yapılandırma/katalog yüzeylerini kullanın. Notlar: -- `/model` ve `/model list`, kompakt, numaralı bir seçici gösterir (model ailesi + kullanılabilir sağlayıcılar). -- Discord'da `/model` ve `/models`, sağlayıcı ve model açılır menüleri ile bir Gönder adımı içeren etkileşimli bir seçici açar. +- `/model` ve `/model list`, kompakt, numaralandırılmış bir seçici gösterir (model ailesi + kullanılabilir sağlayıcılar). +- Discord’da `/model` ve `/models`, sağlayıcı ve model açılır menüleri ile bir Gönder adımı içeren etkileşimli bir seçici açar. - `/model <#>`, bu seçiciden seçim yapar (ve mümkün olduğunda geçerli sağlayıcıyı tercih eder). -- `/model status`, kullanılabildiğinde yapılandırılmış sağlayıcı uç noktası (`baseUrl`) ve API modu (`api`) dahil ayrıntılı görünümü gösterir. +- `/model status`, mevcut olduğunda yapılandırılmış sağlayıcı uç noktasını (`baseUrl`) ve API kipini (`api`) içeren ayrıntılı görünümü gösterir. ## Hata ayıklama geçersiz kılmaları -`/debug`, **yalnızca çalışma zamanına ait** yapılandırma geçersiz kılmaları ayarlamanıza izin verir (disk değil, bellek). Yalnızca sahip için. Varsayılan olarak devre dışıdır; `commands.debug: true` ile etkinleştirin. +`/debug`, **yalnızca çalışma zamanına ait** yapılandırma geçersiz kılmalarını ayarlamanızı sağlar (disk değil, bellek). Yalnızca sahip. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.debug: true` kullanın. Örnekler: @@ -280,9 +275,9 @@ Notlar: - Geçersiz kılmalar yeni yapılandırma okumalarına hemen uygulanır, ancak `openclaw.json` dosyasına yazılmaz. - Tüm geçersiz kılmaları temizlemek ve disk üzerindeki yapılandırmaya dönmek için `/debug reset` kullanın. -## Plugin iz çıktısı +## Plugin izleme çıktısı -`/trace`, tam ayrıntılı modu açmadan **oturum kapsamlı plugin iz/hata ayıklama satırlarını** değiştirmenize olanak tanır. +`/trace`, tam ayrıntılı modu açmadan **oturum kapsamlı plugin izleme/hata ayıklama satırlarını** açıp kapatmanızı sağlar. Örnekler: @@ -294,16 +289,16 @@ Notlar: Notlar: -- Argümansız `/trace`, geçerli oturumun iz durumunu gösterir. -- `/trace on`, geçerli oturum için plugin iz satırlarını etkinleştirir. -- `/trace off`, bunları tekrar devre dışı bırakır. -- Plugin iz satırları `/status` içinde ve normal asistan yanıtından sonra takip tanılama mesajı olarak görünebilir. -- `/trace`, `/debug` yerine geçmez; `/debug` hâlâ yalnızca çalışma zamanına ait yapılandırma geçersiz kılmalarını yönetir. -- `/trace`, `/verbose` yerine geçmez; normal ayrıntılı araç/durum çıktısı yine `/verbose` kapsamındadır. +- Argümansız `/trace`, geçerli oturum izleme durumunu gösterir. +- `/trace on`, geçerli oturum için plugin izleme satırlarını etkinleştirir. +- `/trace off`, bunları yeniden devre dışı bırakır. +- Plugin izleme satırları `/status` içinde ve normal yardımcı yanıtından sonra gelen bir takip tanılama mesajı olarak görünebilir. +- `/trace`, `/debug` yerine geçmez; `/debug` çalışma zamanına özel yapılandırma geçersiz kılmalarını yönetmeye devam eder. +- `/trace`, `/verbose` yerine geçmez; normal ayrıntılı araç/durum çıktısı hâlâ `/verbose` kapsamındadır. ## Yapılandırma güncellemeleri -`/config`, disk üzerindeki yapılandırmanıza (`openclaw.json`) yazar. Yalnızca sahip için. Varsayılan olarak devre dışıdır; `commands.config: true` ile etkinleştirin. +`/config`, disk üzerindeki yapılandırmanıza (`openclaw.json`) yazar. Yalnızca sahip. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.config: true` kullanın. Örnekler: @@ -317,12 +312,12 @@ Notlar: Notlar: -- Yazmadan önce yapılandırma doğrulanır; geçersiz değişiklikler reddedilir. +- Yapılandırma yazmadan önce doğrulanır; geçersiz değişiklikler reddedilir. - `/config` güncellemeleri yeniden başlatmalar arasında kalıcıdır. ## MCP güncellemeleri -`/mcp`, OpenClaw tarafından yönetilen MCP sunucu tanımlarını `mcp.servers` altında yazar. Yalnızca sahip için. Varsayılan olarak devre dışıdır; `commands.mcp: true` ile etkinleştirin. +`/mcp`, OpenClaw tarafından yönetilen MCP sunucusu tanımlarını `mcp.servers` altına yazar. Yalnızca sahip. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.mcp: true` kullanın. Örnekler: @@ -335,12 +330,12 @@ Notlar: Notlar: -- `/mcp`, yapılandırmayı Pi'ye ait proje ayarlarında değil, OpenClaw yapılandırmasında saklar. -- Hangi taşıma katmanlarının gerçekten yürütülebilir olduğuna çalışma zamanı bağdaştırıcıları karar verir. +- `/mcp`, yapılandırmayı Pi’ye ait proje ayarlarında değil, OpenClaw yapılandırmasında saklar. +- Hangi taşıma türlerinin gerçekten yürütülebilir olduğuna çalışma zamanı bağdaştırıcıları karar verir. ## Plugin güncellemeleri -`/plugins`, operatörlerin keşfedilen plugin'leri incelemesine ve yapılandırmada etkinlik durumunu değiştirmesine olanak tanır. Salt okunur akışlar takma ad olarak `/plugin` kullanabilir. Varsayılan olarak devre dışıdır; `commands.plugins: true` ile etkinleştirin. +`/plugins`, operatörlerin keşfedilen plugin’leri incelemesine ve yapılandırmada etkinleştirmeyi açıp kapatmasına olanak tanır. Salt okunur akışlarda takma ad olarak `/plugin` kullanılabilir. Varsayılan olarak devre dışıdır; etkinleştirmek için `commands.plugins: true` kullanın. Örnekler: @@ -354,35 +349,34 @@ Notlar: Notlar: -- `/plugins list` ve `/plugins show`, geçerli çalışma alanı ve disk üzerindeki yapılandırmaya karşı gerçek plugin keşfi kullanır. -- `/plugins enable|disable`, yalnızca plugin yapılandırmasını günceller; plugin'leri kurmaz veya kaldırmaz. -- Etkinleştirme/devre dışı bırakma değişikliklerinden sonra uygulamak için Gateway'i yeniden başlatın. +- `/plugins list` ve `/plugins show`, geçerli çalışma alanı ve disk üzerindeki yapılandırmaya karşı gerçek plugin keşfini kullanır. +- `/plugins enable|disable`, yalnızca plugin yapılandırmasını günceller; plugin’leri kurmaz veya kaldırmaz. +- Etkinleştirme/devre dışı bırakma değişikliklerinden sonra bunları uygulamak için gateway’i yeniden başlatın. ## Yüzey notları -- **Metin komutları**, normal sohbet oturumunda çalışır (DM'ler `main` oturumunu paylaşır, grupların kendi oturumu vardır). -- **Yerel komutlar**, yalıtılmış oturumlar kullanır: +- **Metin komutları** normal sohbet oturumunda çalışır (DM’ler `main` oturumunu paylaşır, grupların kendi oturumu vardır). +- **Yerel komutlar** yalıtılmış oturumlar kullanır: - Discord: `agent::discord:slash:` - Slack: `agent::slack:slash:` (önek `channels.slack.slashCommand.sessionPrefix` ile yapılandırılabilir) - Telegram: `telegram:slash:` (sohbet oturumunu `CommandTargetSessionKey` üzerinden hedefler) -- **`/stop`**, geçerli çalıştırmayı iptal edebilmek için etkin sohbet oturumunu hedefler. -- **Slack:** `channels.slack.slashCommand`, tek bir `/openclaw` tarzı komut için hâlâ desteklenir. `commands.native` etkinleştirirseniz yerleşik her komut için bir Slack slash komutu oluşturmanız gerekir (`/help` ile aynı adlar). Slack için komut argümanı menüleri geçici Block Kit düğmeleri olarak teslim edilir. - - Slack yerel istisnası: Slack `/status` komutunu ayırdığı için `/status` değil `/agentstatus` kaydedin. Metin `/status`, Slack mesajlarında yine çalışır. +- **`/stop`**, geçerli çalıştırmayı iptal edebilmesi için etkin sohbet oturumunu hedefler. +- **Slack:** `channels.slack.slashCommand`, tek bir `/openclaw` tarzı komut için hâlâ desteklenir. `commands.native` etkinleştirilirse, her yerleşik komut için ayrı bir Slack eğik çizgi komutu oluşturmanız gerekir (`/help` ile aynı adlar). Slack için komut argümanı menüleri ephemeral Block Kit düğmeleri olarak iletilir. + - Slack yerel istisnası: Slack `/status` komutunu ayırdığı için `/status` yerine `/agentstatus` kaydedin. Metin `/status`, Slack mesajlarında yine çalışır. -## BTW yan sorular +## BTW yan soruları -`/btw`, geçerli oturum hakkında hızlı bir **yan soru**dur. +`/btw`, geçerli oturum hakkında hızlı bir **yan soru** sormayı sağlar. Normal sohbetten farklı olarak: - geçerli oturumu arka plan bağlamı olarak kullanır, -- ayrı, **araçsız** tek seferlik bir çağrı olarak çalışır, +- ayrı bir **araçsız** tek seferlik çağrı olarak çalışır, - gelecekteki oturum bağlamını değiştirmez, -- döküm geçmişine yazılmaz, -- normal asistan mesajı yerine canlı yan sonuç olarak teslim edilir. +- transkript geçmişine yazılmaz, +- normal bir yardımcı mesajı yerine canlı bir yan sonuç olarak teslim edilir. -Bu, ana görev -devam ederken geçici bir açıklama istediğinizde `/btw` komutunu kullanışlı yapar. +Bu da `/btw` komutunu, ana görev sürerken geçici bir açıklama istediğinizde kullanışlı hale getirir. Örnek: @@ -390,5 +384,4 @@ devam ederken geçici bir açıklama istediğinizde `/btw` komutunu kullanışl /btw şu anda ne yapıyoruz? ``` -Tam davranış ve istemci UX -ayrıntıları için [BTW Yan Sorular](/tr/tools/btw) bölümüne bakın. +Tam davranış ve istemci UX ayrıntıları için [BTW Side Questions](/tr/tools/btw) bölümüne bakın. diff --git a/docs/tr/tools/thinking.md b/docs/tr/tools/thinking.md index 8489c7afc..714f11611 100644 --- a/docs/tr/tools/thinking.md +++ b/docs/tr/tools/thinking.md @@ -1,132 +1,132 @@ --- read_when: - - Thinking, fast-mode veya verbose yönerge ayrıştırmasını ya da varsayılanlarını ayarlama -summary: '`/think`, `/fast`, `/verbose`, `/trace` ve akıl yürütme görünürlüğü için yönerge söz dizimi' -title: Thinking Düzeyleri + - Düşünme, hızlı mod veya ayrıntılı yönerge ayrıştırmasını ya da varsayılanlarını ayarlama +summary: '`/think`, `/fast`, `/verbose`, `/trace` için yönerge sözdizimi ve akıl yürütme görünürlüğü' +title: Düşünme Düzeyleri x-i18n: - generated_at: "2026-04-23T09:12:07Z" + generated_at: "2026-04-23T13:58:44Z" model: gpt-5.4 provider: openai - source_hash: 66033bb9272c9b9ea8fc85dc91e33e95ce4c469c56a8cd10c19632a5aa8a2338 + source_hash: 4efe899f7b47244745a105583b3239effa7975fadd06bd7bcad6327afcc91207 source_path: tools/thinking.md workflow: 15 --- -# Thinking Düzeyleri (/think yönergeleri) +# Düşünme Düzeyleri (`/think` yönergeleri) ## Ne yapar - Herhangi bir gelen gövdede satır içi yönerge: `/t `, `/think:` veya `/thinking `. - Düzeyler (takma adlar): `off | minimal | low | medium | high | xhigh | adaptive | max` - minimal → “think” - - low → “think hard” - - medium → “think harder” - - high → “ultrathink” (azami bütçe) - - xhigh → “ultrathink+” (GPT-5.2 + Codex modelleri ve Anthropic Claude Opus 4.7 effort) - - adaptive → sağlayıcı tarafından yönetilen uyarlanabilir thinking (Anthropic/Bedrock üzerindeki Claude 4.6 ve Anthropic Claude Opus 4.7 için desteklenir) - - max → sağlayıcı azami akıl yürütme (şu anda Anthropic Claude Opus 4.7) - - `x-high`, `x_high`, `extra-high`, `extra high` ve `extra_high`, `xhigh` değerine eşlenir. - - `highest`, `high` değerine eşlenir. + - low → “çok düşün” + - medium → “daha çok düşün” + - high → “ultrathink” (maksimum bütçe) + - xhigh → “ultrathink+” (GPT-5.2 + Codex modelleri ve Anthropic Claude Opus 4.7 çabası) + - adaptive → sağlayıcı tarafından yönetilen uyarlanabilir düşünme (Anthropic/Bedrock üzerindeki Claude 4.6 ve Anthropic Claude Opus 4.7 için desteklenir) + - max → sağlayıcının maksimum akıl yürütmesi (şu anda Anthropic Claude Opus 4.7) + - `x-high`, `x_high`, `extra-high`, `extra high` ve `extra_high`, `xhigh` ile eşlenir. + - `highest`, `high` ile eşlenir. - Sağlayıcı notları: - - Thinking menüleri ve seçicileri sağlayıcı profiline göre belirlenir. Sağlayıcı Plugin'leri seçilen model için tam düzey kümesini, `on` gibi ikili etiketler dahil, bildirir. - - `adaptive`, `xhigh` ve `max` yalnızca bunları destekleyen sağlayıcı/model profilleri için duyurulur. Desteklenmeyen düzeyler için yazılmış yönergeler, o modelin geçerli seçenekleriyle reddedilir. - - Saklanmış mevcut desteklenmeyen düzeyler sağlayıcı profil sırasına göre yeniden eşlenir. `adaptive`, uyarlanabilir olmayan modellerde `medium` değerine geri düşer; `xhigh` ve `max` ise seçilen model için desteklenen en büyük off-olmayan düzeye geri düşer. - - Anthropic Claude 4.6 modelleri, açık bir thinking düzeyi ayarlı değilse varsayılan olarak `adaptive` kullanır. - - Anthropic Claude Opus 4.7 varsayılan olarak adaptive thinking kullanmaz. API effort varsayılanı, siz açıkça bir thinking düzeyi ayarlamadıkça sağlayıcıya ait kalır. - - Anthropic Claude Opus 4.7, `/think xhigh` komutunu adaptive thinking artı `output_config.effort: "xhigh"` olarak eşler; çünkü `/think` bir thinking yönergesidir ve `xhigh` Opus 4.7 effort ayarıdır. - - Anthropic Claude Opus 4.7 ayrıca `/think max` değerini de açığa çıkarır; bu aynı sağlayıcıya ait azami effort yoluna eşlenir. - - OpenAI GPT modelleri, `/think` komutunu modele özgü Responses API effort desteği üzerinden eşler. `/think off`, yalnızca hedef model bunu desteklediğinde `reasoning.effort: "none"` gönderir; aksi halde OpenClaw desteklenmeyen bir değer göndermek yerine devre dışı reasoning yükünü atlar. - - Anthropic uyumlu akış yolundaki MiniMax (`minimax/*`), model params veya istek params içinde açıkça thinking ayarlamadığınız sürece varsayılan olarak `thinking: { type: "disabled" }` kullanır. Bu, MiniMax'ın yerel olmayan Anthropic akış biçiminden `reasoning_content` delta'larının sızmasını önler. - - Z.AI (`zai/*`) yalnızca ikili thinking destekler (`on`/`off`). `off` olmayan her düzey `on` olarak değerlendirilir (`low` değerine eşlenir). - - Moonshot (`moonshot/*`), `/think off` değerini `thinking: { type: "disabled" }`, `off` olmayan her düzeyi ise `thinking: { type: "enabled" }` olarak eşler. Thinking etkin olduğunda Moonshot yalnızca `tool_choice` olarak `auto|none` kabul eder; OpenClaw uyumsuz değerleri `auto` olarak normalleştirir. + - Düşünme menüleri ve seçicileri, sağlayıcı profiline göre belirlenir. Sağlayıcı Plugin'leri, `on` gibi ikili etiketler dahil seçili model için tam düzey kümesini bildirir. + - `adaptive`, `xhigh` ve `max` yalnızca bunları destekleyen sağlayıcı/model profilleri için gösterilir. Desteklenmeyen düzeyler için yazılmış yönergeler, o modelin geçerli seçenekleriyle birlikte reddedilir. + - Daha önce kaydedilmiş ama desteklenmeyen düzeyler, sağlayıcı profili sıralamasına göre yeniden eşlenir. `adaptive`, uyarlanabilir olmayan modellerde `medium` düzeyine geri düşer; `xhigh` ve `max` ise seçili model için desteklenen en büyük `off` dışı düzeye geri düşer. + - Anthropic Claude 4.6 modelleri, açık bir düşünme düzeyi ayarlanmamışsa varsayılan olarak `adaptive` kullanır. + - Anthropic Claude Opus 4.7 varsayılan olarak uyarlanabilir düşünme kullanmaz. Açıkça bir düşünme düzeyi ayarlamadığınız sürece API çaba varsayılanı sağlayıcıya aittir. + - Anthropic Claude Opus 4.7, `/think xhigh` ifadesini uyarlanabilir düşünme artı `output_config.effort: "xhigh"` olarak eşler; çünkü `/think` bir düşünme yönergesidir ve `xhigh`, Opus 4.7 çaba ayarıdır. + - Anthropic Claude Opus 4.7 ayrıca `/think max` sunar; bu da sağlayıcıya ait aynı maksimum çaba yoluna eşlenir. + - OpenAI GPT modelleri, `/think` ifadesini modele özel Responses API çaba desteği üzerinden eşler. `/think off`, yalnızca hedef model bunu destekliyorsa `reasoning.effort: "none"` gönderir; aksi durumda OpenClaw desteklenmeyen bir değer göndermek yerine devre dışı bırakılmış akıl yürütme yükünü atlar. + - Anthropic uyumlu akış yolundaki MiniMax (`minimax/*`), düşünmeyi model parametrelerinde veya istek parametrelerinde açıkça ayarlamadığınız sürece varsayılan olarak `thinking: { type: "disabled" }` kullanır. Bu, MiniMax’ın yerel olmayan Anthropic akış biçiminden sızan `reasoning_content` deltalarını önler. + - Z.AI (`zai/*`) yalnızca ikili düşünmeyi (`on`/`off`) destekler. `off` dışındaki her düzey `on` olarak ele alınır (`low` ile eşlenir). + - Moonshot (`moonshot/*`), `/think off` ifadesini `thinking: { type: "disabled" }`, `off` dışındaki her düzeyi ise `thinking: { type: "enabled" }` olarak eşler. Düşünme etkinken Moonshot yalnızca `tool_choice` için `auto|none` kabul eder; OpenClaw uyumsuz değerleri `auto` olarak normalleştirir. ## Çözümleme sırası -1. Mesaj üzerindeki satır içi yönerge (yalnızca o mesaja uygulanır). -2. Oturum geçersiz kılması (yalnızca yönergeden oluşan bir mesaj gönderilerek ayarlanır). -3. Ajan başına varsayılan (`config` içinde `agents.list[].thinkingDefault`). -4. Genel varsayılan (`config` içinde `agents.defaults.thinkingDefault`). -5. Geri dönüş: mevcut olduğunda sağlayıcının bildirdiği varsayılan, reasoning yetenekli olarak işaretlenmiş diğer katalog modelleri için `low`, aksi halde `off`. +1. Mesajdaki satır içi yönerge (yalnızca o mesaja uygulanır). +2. Oturum geçersiz kılması (yalnızca yönerge içeren bir mesaj gönderilerek ayarlanır). +3. Aracı başına varsayılan (`agents.list[].thinkingDefault` config içinde). +4. Genel varsayılan (`agents.defaults.thinkingDefault` config içinde). +5. Geri dönüş: varsa sağlayıcının bildirdiği varsayılan; aksi halde akıl yürütebilen modeller `medium` ya da o model için desteklenen en yakın `off` dışı düzeye çözülür ve akıl yürütmeyen modeller `off` olarak kalır. -## Bir oturum varsayılanı ayarlama +## Oturum varsayılanı ayarlama -- **Yalnızca** yönergeden oluşan bir mesaj gönderin (boşluk kabul edilir), örneğin `/think:medium` veya `/t high`. -- Bu, geçerli oturum için kalıcı olur (varsayılan olarak gönderici başına); `/think:off` veya oturum boşta sıfırlaması ile temizlenir. -- Onay yanıtı gönderilir (`Thinking level set to high.` / `Thinking disabled.`). Düzey geçersizse (ör. `/thinking big`) komut bir ipucuyla reddedilir ve oturum durumu değiştirilmeden kalır. -- Geçerli thinking düzeyini görmek için argümansız `/think` (veya `/think:`) gönderin. +- **Yalnızca** yönergeden oluşan bir mesaj gönderin (boşluk olabilir), örneğin `/think:medium` veya `/t high`. +- Bu, geçerli oturum için kalıcı olur (varsayılan olarak gönderici başına); `/think:off` veya oturum boşta kalma sıfırlamasıyla temizlenir. +- Onay yanıtı gönderilir (`Thinking level set to high.` / `Thinking disabled.`). Düzey geçersizse (ör. `/thinking big`), komut bir ipucuyla reddedilir ve oturum durumu değiştirilmez. +- Geçerli düşünme düzeyini görmek için bağımsız olarak `/think` (veya `/think:`) gönderin. -## Ajan tarafından uygulama +## Aracıya göre uygulama -- **Embedded Pi**: çözümlenen düzey, süreç içi Pi ajan çalışma zamanına geçirilir. +- **Gömülü Pi**: çözümlenen düzey, süreç içi Pi aracı çalışma zamanına iletilir. -## Fast mode (/fast) +## Hızlı mod (`/fast`) - Düzeyler: `on|off`. -- Yalnızca yönergeden oluşan mesaj, oturum fast-mode geçersiz kılmasını değiştirir ve `Fast mode enabled.` / `Fast mode disabled.` yanıtını verir. -- Geçerli etkin fast-mode durumunu görmek için kip vermeden `/fast` (veya `/fast status`) gönderin. -- OpenClaw fast mode'u şu sırayla çözümler: - 1. Satır içi/yalnızca yönerge `/fast on|off` +- Yalnızca yönergeden oluşan mesaj, bir oturum hızlı mod geçersiz kılmasını değiştirir ve `Fast mode enabled.` / `Fast mode disabled.` yanıtını verir. +- Geçerli etkili hızlı mod durumunu görmek için kip belirtmeden `/fast` (veya `/fast status`) gönderin. +- OpenClaw hızlı modu şu sırayla çözümler: + 1. Satır içi/yalnızca yönerge içeren `/fast on|off` 2. Oturum geçersiz kılması - 3. Ajan başına varsayılan (`agents.list[].fastModeDefault`) - 4. Model başına yapılandırma: `agents.defaults.models["/"].params.fastMode` + 3. Aracı başına varsayılan (`agents.list[].fastModeDefault`) + 4. Model başına config: `agents.defaults.models["/"].params.fastMode` 5. Geri dönüş: `off` -- `openai/*` için fast mode, desteklenen Responses isteklerinde `service_tier=priority` göndererek OpenAI öncelikli işlemeye eşlenir. -- `openai-codex/*` için fast mode, Codex Responses üzerinde aynı `service_tier=priority` bayrağını gönderir. OpenClaw her iki auth yolu için de tek bir paylaşılan `/fast` geçişi tutar. -- `api.anthropic.com` adresine gönderilen OAuth ile kimliği doğrulanmış trafik dahil doğrudan herkese açık `anthropic/*` istekleri için fast mode, Anthropic hizmet katmanlarına eşlenir: `/fast on`, `service_tier=auto`; `/fast off`, `service_tier=standard_only` ayarlar. -- Anthropic uyumlu yoldaki `minimax/*` için `/fast on` (veya `params.fastMode: true`) `MiniMax-M2.7` değerini `MiniMax-M2.7-highspeed` olarak yeniden yazar. -- Açık Anthropic `serviceTier` / `service_tier` model params, ikisi birden ayarlandığında fast-mode varsayılanını geçersiz kılar. OpenClaw, Anthropic hizmet katmanı enjeksiyonunu Anthropic olmayan proxy temel URL'leri için yine de atlar. -- `/status`, yalnızca fast mode etkin olduğunda `Fast` gösterir. +- `openai/*` için hızlı mod, desteklenen Responses isteklerinde `service_tier=priority` göndererek OpenAI öncelikli işlemeye eşlenir. +- `openai-codex/*` için hızlı mod, Codex Responses üzerinde aynı `service_tier=priority` işaretini gönderir. OpenClaw her iki kimlik doğrulama yolu için tek bir paylaşılan `/fast` anahtarı kullanır. +- `api.anthropic.com` adresine gönderilen OAuth ile kimliği doğrulanmış trafik dahil, doğrudan genel `anthropic/*` istekleri için hızlı mod Anthropic hizmet katmanlarına eşlenir: `/fast on`, `service_tier=auto` ayarlar; `/fast off`, `service_tier=standard_only` ayarlar. +- Anthropic uyumlu yoldaki `minimax/*` için `/fast on` (veya `params.fastMode: true`), `MiniMax-M2.7` değerini `MiniMax-M2.7-highspeed` olarak yeniden yazar. +- Açık Anthropic `serviceTier` / `service_tier` model parametreleri, her ikisi de ayarlandığında hızlı mod varsayılanını geçersiz kılar. OpenClaw yine de Anthropic olmayan proxy temel URL’leri için Anthropic hizmet katmanı eklemeyi atlar. +- `/status`, hızlı mod yalnızca etkin olduğunda `Fast` gösterir. -## Verbose yönergeleri (/verbose veya /v) +## Ayrıntılı yönergeler (`/verbose` veya `/v`) - Düzeyler: `on` (minimal) | `full` | `off` (varsayılan). -- Yalnızca yönergeden oluşan mesaj, oturum verbose durumunu değiştirir ve `Verbose logging enabled.` / `Verbose logging disabled.` yanıtını verir; geçersiz düzeyler durumu değiştirmeden ipucu döndürür. -- `/verbose off`, açık bir oturum geçersiz kılması depolar; bunu Sessions UI üzerinden `inherit` seçerek temizleyin. -- Satır içi yönerge yalnızca o mesaja uygulanır; aksi durumda oturum/genel varsayılanlar geçerlidir. -- Geçerli verbose düzeyini görmek için argümansız `/verbose` (veya `/verbose:`) gönderin. -- Verbose açık olduğunda, yapılandırılmış tool result'lar yayan ajanlar (Pi, diğer JSON ajanları) her tool call'ı, mevcut olduğunda ` : ` önekiyle (yol/komut) kendi yalnızca üst veri mesajı olarak geri gönderir. Bu tool özetleri, her araç başlar başlamaz (ayrı baloncuklar halinde) gönderilir; akış delta'ları olarak değil. -- Tool failure özetleri normal kipte görünür kalır, ancak ham hata ayrıntısı sonekleri verbose `on` veya `full` olmadıkça gizlenir. -- Verbose `full` olduğunda, tool çıktıları tamamlandıktan sonra da iletilir (ayrı baloncuk, güvenli bir uzunluğa kısaltılmış). Bir çalıştırma sürerken `/verbose on|full|off` değiştirirseniz, sonraki tool baloncukları yeni ayara uyar. +- Yalnızca yönergeden oluşan mesaj oturum ayrıntı düzeyini değiştirir ve `Verbose logging enabled.` / `Verbose logging disabled.` yanıtını verir; geçersiz düzeyler durumu değiştirmeden bir ipucu döndürür. +- `/verbose off`, açık bir oturum geçersiz kılması saklar; bunu Sessions UI içinden `inherit` seçerek temizleyin. +- Satır içi yönerge yalnızca o mesaja uygulanır; aksi halde oturum/genel varsayılanlar geçerlidir. +- Geçerli ayrıntı düzeyini görmek için bağımsız olarak `/verbose` (veya `/verbose:`) gönderin. +- Ayrıntılı mod açıkken, yapılandırılmış araç sonuçları üreten aracılar (Pi, diğer JSON aracılar) her araç çağrısını kendi meta veri mesajı olarak geri gönderir; mümkünse başına ` : ` eklenir (yol/komut). Bu araç özetleri, her araç başlar başlamaz gönderilir (ayrı baloncuklar hâlinde), akış deltaları olarak değil. +- Araç hata özetleri normal modda görünür kalır, ancak ham hata ayrıntısı sonekleri yalnızca `verbose` değeri `on` veya `full` olduğunda gösterilir. +- `verbose` değeri `full` olduğunda, araç çıktıları tamamlandıktan sonra da iletilir (ayrı baloncuk, güvenli uzunluğa kısaltılmış biçimde). Bir çalışma devam ederken `/verbose on|full|off` değiştirirseniz, sonraki araç baloncukları yeni ayara uyar. -## Plugin izleme yönergeleri (/trace) +## Plugin izleme yönergeleri (`/trace`) - Düzeyler: `on` | `off` (varsayılan). - Yalnızca yönergeden oluşan mesaj, oturum Plugin izleme çıktısını değiştirir ve `Plugin trace enabled.` / `Plugin trace disabled.` yanıtını verir. -- Satır içi yönerge yalnızca o mesaja uygulanır; aksi durumda oturum/genel varsayılanlar geçerlidir. -- Geçerli trace düzeyini görmek için argümansız `/trace` (veya `/trace:`) gönderin. -- `/trace`, `/verbose` komutundan daha dardır: yalnızca Active Memory hata ayıklama özetleri gibi Plugin'e ait trace/debug satırlarını açığa çıkarır. -- Trace satırları `/status` içinde ve normal assistant yanıtından sonra takip tanılama mesajı olarak görünebilir. +- Satır içi yönerge yalnızca o mesaja uygulanır; aksi halde oturum/genel varsayılanlar geçerlidir. +- Geçerli izleme düzeyini görmek için bağımsız olarak `/trace` (veya `/trace:`) gönderin. +- `/trace`, `/verbose` değerinden daha dardır: yalnızca Active Memory hata ayıklama özetleri gibi Plugin sahipliğindeki izleme/hata ayıklama satırlarını gösterir. +- İzleme satırları `/status` içinde ve normal asistan yanıtından sonra takip eden bir tanılama mesajı olarak görünebilir. -## Akıl yürütme görünürlüğü (/reasoning) +## Akıl yürütme görünürlüğü (`/reasoning`) - Düzeyler: `on|off|stream`. -- Yalnızca yönergeden oluşan mesaj, yanıtlar içinde thinking bloklarının gösterilip gösterilmeyeceğini değiştirir. -- Etkin olduğunda akıl yürütme, `Reasoning:` önekiyle **ayrı bir mesaj** olarak gönderilir. -- `stream` (yalnızca Telegram): akıl yürütmeyi yanıt üretilirken Telegram taslak baloncuğuna akıtır, ardından nihai yanıtı akıl yürütme olmadan gönderir. +- Yalnızca yönergeden oluşan mesaj, düşünme bloklarının yanıtlarda gösterilip gösterilmeyeceğini değiştirir. +- Etkin olduğunda akıl yürütme, başında `Reasoning:` bulunan **ayrı bir mesaj** olarak gönderilir. +- `stream` (yalnızca Telegram): yanıt oluşturulurken akıl yürütmeyi Telegram taslak baloncuğuna akıtır, ardından son yanıtı akıl yürütme olmadan gönderir. - Takma ad: `/reason`. -- Geçerli akıl yürütme düzeyini görmek için argümansız `/reasoning` (veya `/reasoning:`) gönderin. -- Çözümleme sırası: satır içi yönerge, sonra oturum geçersiz kılması, sonra ajan başına varsayılan (`agents.list[].reasoningDefault`), sonra geri dönüş (`off`). +- Geçerli akıl yürütme düzeyini görmek için bağımsız olarak `/reasoning` (veya `/reasoning:`) gönderin. +- Çözümleme sırası: satır içi yönerge, ardından oturum geçersiz kılması, ardından aracı başına varsayılan (`agents.list[].reasoningDefault`), ardından geri dönüş (`off`). ## İlgili -- Elevated mode belgeleri [Elevated mode](/tr/tools/elevated) sayfasında bulunur. +- Yükseltilmiş mod belgeleri [Elevated mode](/tr/tools/elevated) altında yer alır. ## Heartbeat'ler -- Heartbeat yoklama gövdesi, yapılandırılmış Heartbeat istemidir (varsayılan: `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 mesajındaki satır içi yönergeler her zamanki gibi uygulanır (ancak Heartbeat'lerden oturum varsayılanlarını değiştirmekten kaçının). -- Heartbeat teslimi varsayılan olarak yalnızca nihai yükü gönderir. Ayrı `Reasoning:` mesajını da göndermek için (mevcutsa), `agents.defaults.heartbeat.includeReasoning: true` veya ajan başına `agents.list[].heartbeat.includeReasoning: true` ayarlayın. +- Heartbeat yoklama gövdesi, yapılandırılmış heartbeat istemidir (varsayılan: `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.`). Bir heartbeat mesajındaki satır içi yönergeler normal şekilde uygulanır (ancak heartbeat'lerden oturum varsayılanlarını değiştirmekten kaçının). +- Heartbeat teslimi varsayılan olarak yalnızca son yükü gönderir. Ayrı `Reasoning:` mesajını da göndermek için (varsa), `agents.defaults.heartbeat.includeReasoning: true` veya aracı başına `agents.list[].heartbeat.includeReasoning: true` ayarlayın. ## Web sohbet UI -- Web sohbeti thinking seçicisi, sayfa yüklenirken gelen oturum deposundan/yapılandırmadan oturumun saklanan düzeyini yansıtır. -- Başka bir düzey seçmek, oturum geçersiz kılmasını hemen `sessions.patch` üzerinden yazar; sonraki gönderimi beklemez ve tek seferlik bir `thinkingOnce` geçersiz kılması değildir. -- İlk seçenek her zaman `Default ()` olur; burada çözümlenen varsayılan, etkin oturum modelinin sağlayıcı thinking profilinden gelir. -- Seçici, Gateway oturum satırı tarafından döndürülen `thinkingOptions` değerini kullanır. Tarayıcı UI kendi sağlayıcı regex listesini tutmaz; modele özgü düzey kümelerinin sahibi Plugin'lerdir. -- `/think:` yine çalışır ve aynı saklanan oturum düzeyini günceller; böylece sohbet yönergeleri ve seçici eşzamanlı kalır. +- Sayfa yüklendiğinde web sohbet düşünme seçicisi, gelen oturum deposu/config içindeki oturumda saklanan düzeyi yansıtır. +- Başka bir düzey seçmek, `sessions.patch` aracılığıyla oturum geçersiz kılmasını hemen yazar; bir sonraki gönderimi beklemez ve tek seferlik bir `thinkingOnce` geçersiz kılması değildir. +- İlk seçenek her zaman `Default ()` olur; burada çözümlenen varsayılan, etkin oturum modelinin sağlayıcı düşünme profilinden ve `/status` ile `session_status` tarafından kullanılan aynı geri dönüş mantığından gelir. +- Seçici, Gateway oturum satırı tarafından döndürülen `thinkingOptions` değerlerini kullanır. Tarayıcı UI kendi sağlayıcı regex listesini tutmaz; modele özgü düzey kümelerinin sahibi Plugin'lerdir. +- `/think:` hâlâ çalışır ve oturumda saklanan aynı düzeyi günceller; böylece sohbet yönergeleri ve seçici senkronize kalır. ## Sağlayıcı profilleri -- Sağlayıcı Plugin'leri, modelin desteklenen düzeylerini ve varsayılanını tanımlamak için `resolveThinkingProfile(ctx)` açığa çıkarabilir. -- Her profil düzeyinin saklanan kanonik bir `id` değeri vardır (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `adaptive` veya `max`) ve bir görüntüleme `label` değeri içerebilir. İkili sağlayıcılar `{ id: "low", label: "on" }` kullanır. -- Yayınlanmış eski Hook'lar (`supportsXHighThinking`, `isBinaryThinking` ve `resolveDefaultThinkingLevel`) uyumluluk bağdaştırıcıları olarak kalır, ancak yeni özel düzey kümeleri `resolveThinkingProfile` kullanmalıdır. -- Gateway satırları `thinkingOptions` ve `thinkingDefault` açığa çıkarır; böylece ACP/sohbet istemcileri çalışma zamanı doğrulamasının kullandığı aynı profili işler. +- Sağlayıcı Plugin'leri, modelin desteklenen düzeylerini ve varsayılanını tanımlamak için `resolveThinkingProfile(ctx)` sunabilir. +- Her profil düzeyinin saklanan kurallı bir `id` değeri vardır (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `adaptive` veya `max`) ve bir görüntüleme `label` değeri içerebilir. İkili sağlayıcılar `{ id: "low", label: "on" }` kullanır. +- Yayınlanmış eski kancalar (`supportsXHighThinking`, `isBinaryThinking` ve `resolveDefaultThinkingLevel`) uyumluluk bağdaştırıcıları olarak kalır, ancak yeni özel düzey kümeleri `resolveThinkingProfile` kullanmalıdır. +- Gateway satırları `thinkingOptions` ve `thinkingDefault` değerlerini açığa çıkarır; böylece ACP/sohbet istemcileri, çalışma zamanı doğrulamasının kullandığı aynı profili işler.