From 63e5471b8a9692a3fd6584f89d72a8e1fe669f17 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Thu, 30 Apr 2026 20:11:54 +0000 Subject: [PATCH] chore(i18n): refresh tr translations --- docs/tr/cli/doctor.md | 55 +- docs/tr/cli/migrate.md | 135 ++-- docs/tr/concepts/agent-workspace.md | 123 +-- docs/tr/gateway/security/index.md | 1169 +++++++++++---------------- docs/tr/plugins/codex-harness.md | 677 +++++++++------- docs/tr/tools/skills.md | 373 ++++----- 6 files changed, 1210 insertions(+), 1322 deletions(-) diff --git a/docs/tr/cli/doctor.md b/docs/tr/cli/doctor.md index 28e041f3c..c62e8d104 100644 --- a/docs/tr/cli/doctor.md +++ b/docs/tr/cli/doctor.md @@ -1,14 +1,14 @@ --- read_when: - - Bağlantı/kimlik doğrulama sorunlarınız var ve rehberli düzeltmeler istiyorsunuz - - Güncelleme yaptınız ve temel bir doğrulama istiyorsunuz + - Bağlantı/kimlik doğrulama sorunları yaşıyor ve yönlendirmeli düzeltmeler istiyorsunuz + - Güncelleme yaptınız ve bir sağlama kontrolü istiyorsunuz summary: '`openclaw doctor` için CLI referansı (sağlık kontrolleri + rehberli onarımlar)' title: Doktor x-i18n: - generated_at: "2026-04-30T09:12:14Z" + generated_at: "2026-04-30T20:05:44Z" model: gpt-5.5 provider: openai - source_hash: 9985c84d23861dd9468a4659ee00519573fe6d540c436548da0a68067dbabc4c + source_hash: 265d82a10da086cf89687886e491be018a720b70021e0b26bd8f39b25a907e14 source_path: cli/doctor.md workflow: 16 --- @@ -36,37 +36,38 @@ openclaw doctor --generate-gateway-token - `--no-workspace-suggestions`: çalışma alanı belleği/arama önerilerini devre dışı bırak - `--yes`: sormadan varsayılanları kabul et -- `--repair`: önerilen onarımları sormadan uygula -- `--fix`: `--repair` için diğer ad -- `--force`: gerektiğinde özel servis yapılandırmasının üzerine yazmak dahil agresif onarımları uygula -- `--non-interactive`: istemler olmadan çalıştır; yalnızca güvenli geçişler -- `--generate-gateway-token`: Gateway belirteci oluştur ve yapılandır -- `--deep`: ek Gateway kurulumları için sistem servislerini tara +- `--repair`: sormadan önerilen onarımları uygula +- `--fix`: `--repair` için takma ad +- `--force`: gerektiğinde özel hizmet yapılandırmasının üzerine yazma dahil agresif onarımları uygula +- `--non-interactive`: istemler olmadan çalıştır; yalnızca güvenli migrasyonlar +- `--generate-gateway-token`: bir Gateway token'ı oluştur ve yapılandır +- `--deep`: ek Gateway kurulumları için sistem hizmetlerini tara Notlar: -- Etkileşimli istemler (anahtarlık/OAuth düzeltmeleri gibi) yalnızca stdin bir TTY olduğunda ve `--non-interactive` ayarlanmadığında çalışır. Başsız çalıştırmalar (cron, Telegram, terminal yok) istemleri atlar. -- Performans: etkileşimsiz `doctor` çalıştırmaları, başsız sağlık denetimleri hızlı kalsın diye istekli Plugin yüklemesini atlar. Etkileşimli oturumlar, bir denetim katkılarını gerektirdiğinde Plugin'leri yine tamamen yükler. -- `--fix` (`--repair` için diğer ad) `~/.openclaw/openclaw.json.bak` konumuna bir yedek yazar ve bilinmeyen yapılandırma anahtarlarını kaldırıp her kaldırmayı listeler. -- Durum bütünlüğü denetimleri artık oturumlar dizinindeki sahipsiz konuşma dökümü dosyalarını algılar. Bunları `.deleted.` olarak arşivlemek etkileşimli onay gerektirir; `--fix`, `--yes` ve başsız çalıştırmalar bunları yerinde bırakır. +- Etkileşimli istemler (anahtar zinciri/OAuth düzeltmeleri gibi) yalnızca stdin bir TTY olduğunda ve `--non-interactive` **ayarlanmamışsa** çalışır. Başsız çalıştırmalar (cron, Telegram, terminal yok) istemleri atlar. +- Performans: etkileşimli olmayan `doctor` çalıştırmaları, başsız sağlık denetimlerinin hızlı kalması için hevesli Plugin yüklemeyi atlar. Etkileşimli oturumlar, bir denetimin katkılarına ihtiyaç duyması halinde Plugin'leri yine de tamamen yükler. +- `--fix` (`--repair` için takma ad), `~/.openclaw/openclaw.json.bak` konumuna bir yedek yazar ve bilinmeyen yapılandırma anahtarlarını kaldırıp her kaldırmayı listeler. +- Durum bütünlüğü denetimleri artık oturumlar dizinindeki yetim transkript dosyalarını algılar. Bunları `.deleted.` olarak arşivlemek etkileşimli bir onay gerektirir; `--fix`, `--yes` ve başsız çalıştırmalar bunları yerinde bırakır. - Doctor ayrıca eski cron işi biçimleri için `~/.openclaw/cron/jobs.json` (veya `cron.store`) dosyasını tarar ve zamanlayıcının çalışma zamanında bunları otomatik normalleştirmesi gerekmeden önce yerinde yeniden yazabilir. -- Doctor, paketlenmiş global kurulumlara yazmadan eksik paketli Plugin çalışma zamanı bağımlılıklarını onarır. Root sahipli npm kurulumları veya sıkılaştırılmış systemd birimleri için `OPENCLAW_PLUGIN_STAGE_DIR` değerini `/var/lib/openclaw/plugin-runtime-deps` gibi yazılabilir bir dizine ayarlayın; bu değer `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps` gibi bir yol listesi de olabilir; önceki kökler salt okunur arama katmanlarıdır ve son kök onarım hedefidir. -- Doctor, eksik Plugin kimliklerini `plugins.allow`/`plugins.entries` içinden, ayrıca eşleşen kopuk kanal yapılandırmasını, Heartbeat hedeflerini ve kanal model geçersiz kılmalarını, Plugin keşfi sağlıklıyken kaldırarak bayat Plugin yapılandırmasını onarır. -- Doctor, etkilenen `plugins.entries.` girdisini devre dışı bırakıp geçersiz `config` yükünü kaldırarak geçersiz Plugin yapılandırmasını karantinaya alır. Gateway başlatma zaten yalnızca o bozuk Plugin'i atlar, böylece diğer Plugin'ler ve kanallar çalışmaya devam edebilir. -- Gateway yaşam döngüsü başka bir denetleyici tarafından yönetildiğinde `OPENCLAW_SERVICE_REPAIR_POLICY=external` ayarlayın. Doctor yine Gateway/servis sağlığını raporlar ve servis dışı onarımları uygular, ancak servis kurma/başlatma/yeniden başlatma/önyükleme ve eski servis temizliğini atlar. -- Linux'ta doctor etkin olmayan ek Gateway benzeri systemd birimlerini yok sayar ve onarım sırasında çalışan bir systemd Gateway servisi için komut/giriş noktası meta verilerini yeniden yazmaz. Etkin başlatıcıyı bilinçli olarak değiştirmek istediğinizde önce servisi durdurun veya `openclaw gateway install --force` kullanın. -- Doctor, eski düz Talk yapılandırmasını (`talk.voiceId`, `talk.modelId` ve benzerleri) otomatik olarak `talk.provider` + `talk.providers.` biçimine geçirir. -- Tek fark nesne anahtarı sırası olduğunda tekrarlanan `doctor --fix` çalıştırmaları artık Talk normalleştirmesini raporlamaz/uygulamaz. -- Doctor bir bellek araması hazır olma denetimi içerir ve gömme kimlik bilgileri eksik olduğunda `openclaw configure --section model` önerebilir. -- Doctor, hiçbir komut sahibi yapılandırılmadığında uyarır. Komut sahibi, yalnızca sahibin çalıştırabileceği komutları çalıştırmasına ve tehlikeli eylemleri onaylamasına izin verilen insan operatör hesabıdır. DM eşleştirme yalnızca birinin botla konuşmasına izin verir; ilk sahip önyüklemesi var olmadan önce bir göndericiyi onayladıysanız `commands.ownerAllowFrom` değerini açıkça ayarlayın. -- Korumalı alan modu etkinse ancak Docker kullanılamıyorsa doctor, çözümle birlikte yüksek sinyalli bir uyarı bildirir (`install Docker` veya `openclaw config set agents.defaults.sandbox.mode off`). +- Doctor, paketlenmiş global kurulumlara yazmadan eksik paketli Plugin çalışma zamanı bağımlılıklarını onarır. Root sahipli npm kurulumları veya güçlendirilmiş systemd birimleri için `OPENCLAW_PLUGIN_STAGE_DIR` değerini `/var/lib/openclaw/plugin-runtime-deps` gibi yazılabilir bir dizine ayarlayın; ayrıca `/opt/openclaw/plugin-runtime-deps:/var/lib/openclaw/plugin-runtime-deps` gibi bir yol listesi de olabilir; burada önceki kökler salt okunur arama katmanları, son kök ise onarım hedefidir. +- Doctor, Plugin keşfi sağlıklı olduğunda eksik Plugin kimliklerini `plugins.allow`/`plugins.entries` içinden kaldırarak, ayrıca eşleşen sarkan kanal yapılandırmasını, heartbeat hedeflerini ve kanal model geçersiz kılmalarını kaldırarak bayat Plugin yapılandırmasını onarır. +- Doctor, etkilenen `plugins.entries.` girdisini devre dışı bırakarak ve geçersiz `config` yükünü kaldırarak geçersiz Plugin yapılandırmasını karantinaya alır. Gateway başlatması zaten yalnızca bu hatalı Plugin'i atlar, böylece diğer Plugin'ler ve kanallar çalışmaya devam edebilir. +- Gateway yaşam döngüsünü başka bir supervisor yönetiyorsa `OPENCLAW_SERVICE_REPAIR_POLICY=external` ayarlayın. Doctor yine de Gateway/hizmet sağlığını bildirir ve hizmet dışı onarımları uygular, ancak hizmet kurma/başlatma/yeniden başlatma/bootstrap ve eski hizmet temizliğini atlar. +- Linux'ta doctor, etkin olmayan ek Gateway benzeri systemd birimlerini yok sayar ve onarım sırasında çalışan bir systemd Gateway hizmeti için komut/entrypoint meta verilerini yeniden yazmaz. Etkin başlatıcıyı bilinçli olarak değiştirmek istediğinizde önce hizmeti durdurun veya `openclaw gateway install --force` kullanın. +- Doctor, eski düz Talk yapılandırmasını (`talk.voiceId`, `talk.modelId` ve benzerleri) otomatik olarak `talk.provider` + `talk.providers.` içine migre eder. +- Yinelenen `doctor --fix` çalıştırmaları, tek fark nesne anahtarı sırası olduğunda artık Talk normalleştirmesini bildirmez/uygulamaz. +- Doctor bir bellek arama hazır olma denetimi içerir ve embedding kimlik bilgileri eksik olduğunda `openclaw configure --section model` önerebilir. +- Doctor, hiçbir komut sahibi yapılandırılmadığında uyarır. Komut sahibi, yalnızca sahip komutlarını çalıştırmasına ve tehlikeli eylemleri onaylamasına izin verilen insan operatör hesabıdır. DM eşleştirme yalnızca birinin botla konuşmasına izin verir; ilk sahip bootstrap'i var olmadan önce bir göndericiyi onayladıysanız `commands.ownerAllowFrom` değerini açıkça ayarlayın. +- Doctor, Codex modu ajanlar yapılandırıldığında ve operatörün Codex home'unda kişisel Codex CLI varlıkları bulunduğunda uyarır. Yerel Codex app-server başlatmaları izole ajan başına home'lar kullanır, bu nedenle bilinçli olarak yükseltilmesi gereken varlıkların envanterini çıkarmak için `openclaw migrate codex --dry-run` kullanın. +- Sandbox modu etkinse ancak Docker kullanılamıyorsa doctor, giderimle birlikte yüksek sinyalli bir uyarı bildirir (`install Docker` veya `openclaw config set agents.defaults.sandbox.mode off`). - `gateway.auth.token`/`gateway.auth.password` SecretRef tarafından yönetiliyorsa ve geçerli komut yolunda kullanılamıyorsa doctor salt okunur bir uyarı bildirir ve düz metin yedek kimlik bilgileri yazmaz. -- Bir düzeltme yolunda kanal SecretRef incelemesi başarısız olursa doctor devam eder ve erken çıkmak yerine bir uyarı bildirir. -- Telegram `allowFrom` kullanıcı adı otomatik çözümlemesi (`doctor --fix`), geçerli komut yolunda çözümlenebilir bir Telegram belirteci gerektirir. Belirteç incelemesi kullanılamıyorsa doctor bir uyarı bildirir ve o geçiş için otomatik çözümlemeyi atlar. +- Bir düzeltme yolunda kanal SecretRef incelemesi başarısız olursa doctor erken çıkmak yerine devam eder ve bir uyarı bildirir. +- Telegram `allowFrom` kullanıcı adı otomatik çözümlemesi (`doctor --fix`), geçerli komut yolunda çözümlenebilir bir Telegram token'ı gerektirir. Token incelemesi kullanılamıyorsa doctor bir uyarı bildirir ve o geçiş için otomatik çözümlemeyi atlar. ## macOS: `launchctl` env geçersiz kılmaları -Daha önce `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (veya `...PASSWORD`) çalıştırdıysanız, bu değer yapılandırma dosyanızın önüne geçer ve kalıcı “yetkisiz” hatalarına neden olabilir. +Daha önce `launchctl setenv OPENCLAW_GATEWAY_TOKEN ...` (veya `...PASSWORD`) çalıştırdıysanız, bu değer yapılandırma dosyanızı geçersiz kılar ve kalıcı “yetkisiz” hatalarına neden olabilir. ```bash launchctl getenv OPENCLAW_GATEWAY_TOKEN diff --git a/docs/tr/cli/migrate.md b/docs/tr/cli/migrate.md index de9d2f82e..aa25a79f0 100644 --- a/docs/tr/cli/migrate.md +++ b/docs/tr/cli/migrate.md @@ -1,24 +1,24 @@ --- read_when: - - Hermes veya başka bir ajan sisteminden OpenClaw'a geçmek istiyorsunuz - - Plugin'e ait bir geçiş sağlayıcısı ekliyorsunuz -summary: '`openclaw migrate` için CLI referansı (başka bir ajan sisteminden durumu içe aktar)' -title: Geçiş Yap + - Hermes veya başka bir ajan sisteminden OpenClaw'a geçiş yapmak istiyorsunuz + - Plugin'e ait bir migrasyon sağlayıcısı ekliyorsunuz +summary: '`openclaw migrate` için CLI referansı (başka bir ajan sisteminden durumu içe aktarın)' +title: Geçiş yap x-i18n: - generated_at: "2026-04-30T09:13:38Z" + generated_at: "2026-04-30T20:05:46Z" model: gpt-5.5 provider: openai - source_hash: d3db14c16b8f9dcbf86a4f12558cf4e8555aa9a255637034fb804148996a225e + source_hash: ffcd9e874bdaa0a5195e712d4fccd7b3d53034cb362c7f7462e9c7df72477b1a source_path: cli/migrate.md workflow: 16 --- # `openclaw migrate` -Bir Plugin’e ait taşıma sağlayıcısı üzerinden başka bir aracı sisteminden durum içe aktarın. Birlikte gelen sağlayıcılar [Claude](/tr/install/migrating-claude) ve [Hermes](/tr/install/migrating-hermes) desteği sunar; üçüncü taraf Plugin’ler ek sağlayıcılar kaydedebilir. +Başka bir aracı sisteminden durumu Plugin'e ait bir geçiş sağlayıcısı aracılığıyla içe aktarın. Paketle birlikte gelen sağlayıcılar Codex CLI durumunu, [Claude](/tr/install/migrating-claude) ve [Hermes](/tr/install/migrating-hermes) için geçişi kapsar; üçüncü taraf plugin'ler ek sağlayıcılar kaydedebilir. -Kullanıcıya yönelik adım adım anlatımlar için [Claude’dan Taşıma](/tr/install/migrating-claude) ve [Hermes’ten Taşıma](/tr/install/migrating-hermes) bölümlerine bakın. [taşıma merkezi](/tr/install/migrating) tüm yolları listeler. +Kullanıcıya dönük adım adım kılavuzlar için [Claude'dan geçiş](/tr/install/migrating-claude) ve [Hermes'ten geçiş](/tr/install/migrating-hermes) bölümlerine bakın. [Geçiş merkezi](/tr/install/migrating) tüm yolları listeler. ## Komutlar @@ -26,8 +26,12 @@ Kullanıcıya yönelik adım adım anlatımlar için [Claude’dan Taşıma](/tr ```bash openclaw migrate list openclaw migrate claude --dry-run +openclaw migrate codex --dry-run +openclaw migrate codex --skill gog-vault77-google-workspace openclaw migrate hermes --dry-run openclaw migrate hermes +openclaw migrate apply codex --yes --skill gog-vault77-google-workspace +openclaw migrate apply codex --yes openclaw migrate apply claude --yes openclaw migrate apply hermes --yes openclaw migrate apply hermes --include-secrets --yes @@ -37,31 +41,34 @@ openclaw onboard --import-from hermes --import-source ~/.hermes ``` - Kayıtlı bir taşıma sağlayıcısının adı, örneğin `hermes`. Yüklü sağlayıcıları görmek için `openclaw migrate list` çalıştırın. + Kayıtlı bir geçiş sağlayıcısının adı, örneğin `hermes`. Yüklü sağlayıcıları görmek için `openclaw migrate list` çalıştırın. - Planı oluştur ve durumu değiştirmeden çık. + Planı oluşturun ve durumu değiştirmeden çıkın. - Kaynak durum dizinini geçersiz kıl. Hermes varsayılan olarak `~/.hermes` kullanır. + Kaynak durum dizinini geçersiz kılın. Hermes varsayılan olarak `~/.hermes` kullanır. - Desteklenen kimlik bilgilerini içe aktar. Varsayılan olarak kapalıdır. + Desteklenen kimlik bilgilerini içe aktarın. Varsayılan olarak kapalıdır. - Plan çakışma bildirdiğinde uygulamanın mevcut hedefleri değiştirmesine izin ver. + Plan çakışmalar bildirdiğinde apply işleminin mevcut hedefleri değiştirmesine izin verin. - Onay istemini atla. Etkileşimsiz modda zorunludur. + Onay istemini atlayın. Etkileşimsiz modda gereklidir. + + + Skills adı veya öğe kimliğiyle bir skill kopyalama öğesi seçin. Birden fazla skill taşımak için bayrağı tekrarlayın. Atlandığında, etkileşimli Codex geçişleri bir onay kutusu seçici gösterir ve etkileşimsiz geçişler planlanan tüm skill'leri korur. - Uygulama öncesi yedeklemeyi atla. Yerel OpenClaw durumu varsa `--force` gerektirir. + Uygulama öncesi yedeklemeyi atlayın. Yerel OpenClaw durumu varsa `--force` gerektirir. - Uygulama aksi halde yedeklemeyi atlamayı reddedeceğinde `--no-backup` ile birlikte zorunludur. + Apply işlemi aksi halde yedeklemeyi atlamayı reddedecekken `--no-backup` ile birlikte gereklidir. - Planı veya uygulama sonucunu JSON olarak yazdır. `--json` ile ve `--yes` olmadan, apply planı yazdırır ve durumu değiştirmez. + Planı veya apply sonucunu JSON olarak yazdırın. `--json` ve `--yes` olmadan, apply planı yazdırır ve durumu değiştirmez. ## Güvenlik modeli @@ -69,17 +76,17 @@ openclaw onboard --import-from hermes --import-source ~/.hermes `openclaw migrate` önce önizleme yapar. - - Sağlayıcı, herhangi bir şey değişmeden önce çakışmalar, atlanan öğeler ve hassas öğeler dahil olmak üzere maddelendirilmiş bir plan döndürür. JSON planları, uygulama çıktısı ve taşıma raporları API anahtarları, token’lar, yetkilendirme üstbilgileri, çerezler ve parolalar gibi gizli bilgiye benzeyen iç içe anahtarları maskeler. + + Sağlayıcı, herhangi bir şey değişmeden önce çakışmalar, atlanan öğeler ve hassas öğeler dahil olmak üzere öğelendirilmiş bir plan döndürür. JSON planları, apply çıktısı ve geçiş raporları API anahtarları, token'lar, yetkilendirme üst bilgileri, çerezler ve parolalar gibi gizli bilgiye benzeyen iç içe anahtarları maskeler. - `openclaw migrate apply `, `--yes` ayarlanmadıkça durumu değiştirmeden önce planı önizler ve onay ister. Etkileşimsiz modda apply için `--yes` gerekir. + `openclaw migrate apply `, `--yes` ayarlanmadığı sürece durumu değiştirmeden önce planı önizler ve istem gösterir. Etkileşimsiz modda apply `--yes` gerektirir. - - Apply, taşımayı uygulamadan önce bir OpenClaw yedeği oluşturur ve doğrular. Henüz yerel OpenClaw durumu yoksa yedekleme adımı atlanır ve taşıma devam edebilir. Durum varken yedeklemeyi atlamak için hem `--no-backup` hem de `--force` geçirin. + + Apply, geçişi uygulamadan önce bir OpenClaw yedeği oluşturur ve doğrular. Henüz yerel OpenClaw durumu yoksa yedekleme adımı atlanır ve geçiş devam edebilir. Durum varken yedeklemeyi atlamak için hem `--no-backup` hem de `--force` iletin. - Planda çakışmalar olduğunda apply devam etmeyi reddeder. Planı gözden geçirin, ardından mevcut hedefleri değiştirmek kasıtlıysa `--overwrite` ile yeniden çalıştırın. Sağlayıcılar, üzerine yazılan dosyalar için taşıma raporu dizininde hâlâ öğe düzeyinde yedekler yazabilir. + Planda çakışmalar olduğunda apply devam etmeyi reddeder. Planı gözden geçirin, ardından mevcut hedefleri değiştirmek kasıtlıysa `--overwrite` ile yeniden çalıştırın. Sağlayıcılar, geçiş raporu dizininde üzerine yazılan dosyalar için yine de öğe düzeyinde yedekler yazabilir. Gizli bilgiler varsayılan olarak asla içe aktarılmaz. Desteklenen kimlik bilgilerini içe aktarmak için `--include-secrets` kullanın. @@ -88,39 +95,73 @@ openclaw onboard --import-from hermes --import-source ~/.hermes ## Claude sağlayıcısı -Birlikte gelen Claude sağlayıcısı, varsayılan olarak Claude Code durumunu `~/.claude` konumunda algılar. Belirli bir Claude Code ana dizinini veya proje kökünü içe aktarmak için `--from ` kullanın. +Paketle birlikte gelen Claude sağlayıcısı varsayılan olarak Claude Code durumunu `~/.claude` konumunda algılar. Belirli bir Claude Code ana dizinini veya proje kökünü içe aktarmak için `--from ` kullanın. -Kullanıcıya yönelik adım adım anlatım için [Claude’dan Taşıma](/tr/install/migrating-claude) bölümüne bakın. +Kullanıcıya dönük adım adım kılavuz için [Claude'dan geçiş](/tr/install/migrating-claude) bölümüne bakın. ### Claude neleri içe aktarır - Proje `CLAUDE.md` ve `.claude/CLAUDE.md` dosyalarını OpenClaw aracı çalışma alanına. - Kullanıcı `~/.claude/CLAUDE.md` içeriğini çalışma alanı `USER.md` dosyasına ekler. -- Proje `.mcp.json`, Claude Code `~/.claude.json` ve Claude Desktop `claude_desktop_config.json` içindeki MCP sunucu tanımları. +- MCP sunucu tanımlarını proje `.mcp.json`, Claude Code `~/.claude.json` ve Claude Desktop `claude_desktop_config.json` dosyalarından. - `SKILL.md` içeren Claude skill dizinleri. -- OpenClaw skills’e dönüştürülen, yalnızca manuel çağrılan Claude komut Markdown dosyaları. +- Yalnızca manuel çağırmayla OpenClaw skill'lerine dönüştürülen Claude komut Markdown dosyaları. ### Arşiv ve manuel inceleme durumu -Claude hook’ları, izinler, ortam varsayılanları, yerel bellek, yol kapsamlı kurallar, alt aracılar, önbellekler, planlar ve proje geçmişi taşıma raporunda korunur veya manuel inceleme öğeleri olarak bildirilir. OpenClaw hook’ları çalıştırmaz, geniş izin listelerini kopyalamaz veya OAuth/Desktop kimlik bilgisi durumunu otomatik olarak içe aktarmaz. +Claude hook'ları, izinleri, ortam varsayılanları, yerel bellek, yol kapsamlı kurallar, alt aracılar, önbellekler, planlar ve proje geçmişi geçiş raporunda korunur veya manuel inceleme öğeleri olarak bildirilir. OpenClaw hook'ları çalıştırmaz, geniş izin listelerini kopyalamaz veya OAuth/Desktop kimlik bilgisi durumunu otomatik olarak içe aktarmaz. + +## Codex sağlayıcısı + +Paketle birlikte gelen Codex sağlayıcısı varsayılan olarak Codex CLI durumunu `~/.codex` konumunda ya da bu ortam değişkeni ayarlanmışsa +`CODEX_HOME` konumunda algılar. Belirli bir Codex ana dizinini envantere almak için `--from ` kullanın. + +OpenClaw Codex harness'a geçerken ve yararlı kişisel Codex CLI varlıklarını +bilinçli biçimde yükseltmek istediğinizde bu sağlayıcıyı kullanın. Yerel Codex app-server +başlatmaları aracı başına `CODEX_HOME` ve `HOME` dizinleri kullanır, bu nedenle varsayılan olarak +kişisel Codex CLI durumunuzu okumaz. + +Etkileşimli bir terminalde `openclaw migrate codex` çalıştırmak tam +planı önizler, ardından son apply onayından önce skill kopyalama öğeleri için bir onay kutusu +seçici açar. Tüm skill'ler seçili başlar; bu aracıya kopyalanmasını istemediğiniz +herhangi bir skill'in seçimini kaldırın. Betikli veya kesin çalıştırmalar için her +skill başına bir kez `--skill ` iletin, örneğin: + +```bash +openclaw migrate codex --dry-run --skill gog-vault77-google-workspace +openclaw migrate apply codex --yes --skill gog-vault77-google-workspace +``` + +### Codex neleri içe aktarır + +- Codex'in `.system` önbelleği hariç, `$CODEX_HOME/skills` altındaki Codex CLI skill dizinleri. +- Aracı başına sahiplik istediğinizde mevcut OpenClaw aracı çalışma alanına kopyalanan `$HOME/.agents/skills` altındaki kişisel AgentSkills. + +### Manuel inceleme gerektiren Codex durumu + +Codex yerel plugin'leri, `config.toml` ve yerel `hooks/hooks.json` otomatik olarak +etkinleştirilmez. Plugin'ler MCP sunucuları, uygulamalar, hook'lar veya başka +çalıştırılabilir davranışlar sunabilir; bu nedenle sağlayıcı bunları OpenClaw'a yüklemek yerine +inceleme için bildirir. Yapılandırma ve hook dosyaları manuel inceleme için geçiş raporuna +kopyalanır. ## Hermes sağlayıcısı -Birlikte gelen Hermes sağlayıcısı, varsayılan olarak durumu `~/.hermes` konumunda algılar. Hermes başka bir yerde bulunuyorsa `--from ` kullanın. +Paketle birlikte gelen Hermes sağlayıcısı varsayılan olarak durumu `~/.hermes` konumunda algılar. Hermes başka bir yerdeyse `--from ` kullanın. ### Hermes neleri içe aktarır -- `config.yaml` içindeki varsayılan model yapılandırması. -- `providers` ve `custom_providers` içindeki yapılandırılmış model sağlayıcıları ve özel OpenAI uyumlu uç noktalar. -- `mcp_servers` veya `mcp.servers` içindeki MCP sunucu tanımları. +- `config.yaml` içinden varsayılan model yapılandırması. +- `providers` ve `custom_providers` içinden yapılandırılmış model sağlayıcıları ve özel OpenAI uyumlu uç noktalar. +- `mcp_servers` veya `mcp.servers` içinden MCP sunucu tanımları. - `SOUL.md` ve `AGENTS.md` dosyalarını OpenClaw aracı çalışma alanına. -- `memories/MEMORY.md` ve `memories/USER.md` içeriklerini çalışma alanı bellek dosyalarına ekler. -- OpenClaw dosya belleği için bellek yapılandırması varsayılanları, ayrıca Honcho gibi harici bellek sağlayıcıları için arşiv veya manuel inceleme öğeleri. +- `memories/MEMORY.md` ve `memories/USER.md` dosyalarını çalışma alanı bellek dosyalarına ekler. +- OpenClaw dosya belleği için bellek yapılandırma varsayılanları, ayrıca Honcho gibi harici bellek sağlayıcıları için arşiv veya manuel inceleme öğeleri. - `skills//` altında `SKILL.md` dosyası içeren Skills. -- `skills.config` içindeki skill başına yapılandırma değerleri. -- `.env` içindeki desteklenen API anahtarları, yalnızca `--include-secrets` ile. +- `skills.config` içinden skill başına yapılandırma değerleri. +- `.env` içinden desteklenen API anahtarları, yalnızca `--include-secrets` ile. ### Desteklenen `.env` anahtarları @@ -128,7 +169,7 @@ Birlikte gelen Hermes sağlayıcısı, varsayılan olarak durumu `~/.hermes` kon ### Yalnızca arşivlenen durum -OpenClaw’ın güvenli biçimde yorumlayamadığı Hermes durumu manuel inceleme için taşıma raporuna kopyalanır, ancak canlı OpenClaw yapılandırmasına veya kimlik bilgilerine yüklenmez. Bu, OpenClaw’ın onu otomatik olarak yürütebileceği veya güvenebileceği izlenimini vermeden opak ya da güvenli olmayan durumu korur: +OpenClaw'ın güvenle yorumlayamadığı Hermes durumu manuel inceleme için geçiş raporuna kopyalanır, ancak canlı OpenClaw yapılandırmasına veya kimlik bilgilerine yüklenmez. Bu, OpenClaw'ın bunu otomatik olarak çalıştırabileceğini veya güvenebileceğini varsaymadan opak ya da güvenli olmayan durumu korur: - `plugins/` - `sessions/` @@ -146,7 +187,7 @@ openclaw doctor ## Plugin sözleşmesi -Taşıma kaynakları Plugin’lerdir. Bir Plugin, sağlayıcı kimliklerini `openclaw.plugin.json` içinde bildirir: +Geçiş kaynakları plugin'lerdir. Bir plugin, sağlayıcı kimliklerini `openclaw.plugin.json` içinde bildirir: ```json { @@ -156,22 +197,22 @@ Taşıma kaynakları Plugin’lerdir. Bir Plugin, sağlayıcı kimliklerini `ope } ``` -Çalışma zamanında Plugin `api.registerMigrationProvider(...)` çağırır. Sağlayıcı `detect`, `plan` ve `apply` uygular. Core CLI düzenlemesini, yedekleme politikasını, istemleri, JSON çıktısını ve çakışma ön denetimini sahiplenir. Core, gözden geçirilmiş planı `apply(ctx, plan)` içine geçirir ve sağlayıcılar planı yalnızca uyumluluk için bu bağımsız değişken yoksa yeniden oluşturabilir. +Çalışma zamanında plugin `api.registerMigrationProvider(...)` çağırır. Sağlayıcı `detect`, `plan` ve `apply` uygular. Çekirdek CLI orkestrasyonunu, yedekleme politikasını, istemleri, JSON çıktısını ve çakışma ön denetimini sahiplenir. Çekirdek gözden geçirilmiş planı `apply(ctx, plan)` içine iletir ve sağlayıcılar planı yalnızca uyumluluk için bu bağımsız değişken yoksa yeniden oluşturabilir. -Sağlayıcı Plugin’ler öğe oluşturma ve özet sayımları için `openclaw/plugin-sdk/migration`, ayrıca çakışma farkındalıklı dosya kopyaları, yalnızca arşiv rapor kopyaları, önbelleğe alınmış yapılandırma çalışma zamanı sarmalayıcıları ve taşıma raporları için `openclaw/plugin-sdk/migration-runtime` kullanabilir. +Sağlayıcı plugin'leri öğe oluşturma ve özet sayımları için `openclaw/plugin-sdk/migration`, ayrıca çakışma farkındalıklı dosya kopyaları, yalnızca arşiv raporu kopyaları, önbelleğe alınmış config-runtime sarmalayıcıları ve geçiş raporları için `openclaw/plugin-sdk/migration-runtime` kullanabilir. ## Onboarding entegrasyonu -Onboarding, bir sağlayıcı bilinen bir kaynak algıladığında taşıma sunabilir. Hem `openclaw onboard --flow import` hem de `openclaw setup --wizard --import-from hermes` aynı Plugin taşıma sağlayıcısını kullanır ve uygulamadan önce yine bir önizleme gösterir. +Onboarding, bir sağlayıcı bilinen bir kaynak algıladığında geçiş sunabilir. Hem `openclaw onboard --flow import` hem de `openclaw setup --wizard --import-from hermes` aynı plugin geçiş sağlayıcısını kullanır ve uygulamadan önce yine de bir önizleme gösterir. -Onboarding içe aktarmaları yeni bir OpenClaw kurulumu gerektirir. Zaten yerel durumunuz varsa önce yapılandırmayı, kimlik bilgilerini, oturumları ve çalışma alanını sıfırlayın. Mevcut kurulumlar için yedekleme artı üzerine yazma veya birleştirme içe aktarmaları özellik bayrağına bağlıdır. +Onboarding içe aktarımları yeni bir OpenClaw kurulumu gerektirir. Zaten yerel durumunuz varsa önce yapılandırmayı, kimlik bilgilerini, oturumları ve çalışma alanını sıfırlayın. Yedekleme-artı-üzerine yazma veya birleştirme içe aktarımları mevcut kurulumlar için özellik kapısına tabidir. ## İlgili -- [Hermes’ten Taşıma](/tr/install/migrating-hermes): kullanıcıya yönelik adım adım anlatım. -- [Claude’dan Taşıma](/tr/install/migrating-claude): kullanıcıya yönelik adım adım anlatım. -- [Taşıma](/tr/install/migrating): OpenClaw’ı yeni bir makineye taşıyın. -- [Doctor](/tr/gateway/doctor): bir taşımayı uyguladıktan sonra sağlık denetimi. -- [Plugins](/tr/tools/plugin): Plugin kurulumu ve kaydı. +- [Hermes'ten geçiş](/tr/install/migrating-hermes): kullanıcıya dönük adım adım kılavuz. +- [Claude'dan geçiş](/tr/install/migrating-claude): kullanıcıya dönük adım adım kılavuz. +- [Geçiş](/tr/install/migrating): OpenClaw'ı yeni bir makineye taşıyın. +- [Doctor](/tr/gateway/doctor): geçiş uygulandıktan sonra sağlık denetimi. +- [Plugins](/tr/tools/plugin): plugin kurulumu ve kaydı. diff --git a/docs/tr/concepts/agent-workspace.md b/docs/tr/concepts/agent-workspace.md index b5749c1f7..0abf125e5 100644 --- a/docs/tr/concepts/agent-workspace.md +++ b/docs/tr/concepts/agent-workspace.md @@ -1,33 +1,33 @@ --- read_when: - - Aracı çalışma alanını veya dosya düzenini açıklamanız gerekiyor - - Bir aracı çalışma alanını yedeklemek veya taşımak istiyorsunuz + - Ajan çalışma alanını veya dosya düzenini açıklamanız gerekir + - Bir ajan çalışma alanını yedeklemek veya taşımak istiyorsunuz sidebarTitle: Agent workspace -summary: 'Aracı çalışma alanı: konum, düzen ve yedekleme stratejisi' -title: Aracı çalışma alanı +summary: 'Ajan çalışma alanı: konum, düzen ve yedekleme stratejisi' +title: Ajan çalışma alanı x-i18n: - generated_at: "2026-04-26T11:27:01Z" - model: gpt-5.4 + generated_at: "2026-04-30T20:05:49Z" + model: gpt-5.5 provider: openai - source_hash: 35d59d1f0dec05db30f9166a43bfa519d7299b08d093bbeb905d8f83e5cd022a + source_hash: b1ccf74cbec3ff20f4c1c1ce52f099a7ca3365b2536b0aad6ff1d3a5fafcca0a source_path: concepts/agent-workspace.md - workflow: 15 + workflow: 16 --- -Çalışma alanı, aracının evidir. Dosya araçları ve çalışma alanı bağlamı için kullanılan tek çalışma dizinidir. Gizli tutun ve bellek gibi davranın. +Çalışma alanı, ajanın evidir. Dosya araçları ve çalışma alanı bağlamı için kullanılan tek çalışma dizinidir. Onu özel tutun ve bellek gibi ele alın. -Bu, config, kimlik bilgileri ve oturumları saklayan `~/.openclaw/` dizininden ayrıdır. +Bu, yapılandırma, kimlik bilgileri ve oturumları depolayan `~/.openclaw/` dizininden ayrıdır. -Çalışma alanı **varsayılan cwd**’dir, katı bir sandbox değildir. Araçlar göreli yolları çalışma alanına göre çözer, ancak sandboxing etkin değilse mutlak yollar yine de ana makinede başka yerlere erişebilir. Yalıtım gerekiyorsa [`agents.defaults.sandbox`](/tr/gateway/sandboxing) (ve/veya aracı başına sandbox config’i) kullanın. +Çalışma alanı **varsayılan cwd**'dir, katı bir sandbox değildir. Araçlar göreli yolları çalışma alanına göre çözer, ancak sandboxing etkin değilse mutlak yollar host üzerinde başka yerlere hâlâ erişebilir. Yalıtım gerekiyorsa [`agents.defaults.sandbox`](/tr/gateway/sandboxing) (ve/veya ajan başına sandbox yapılandırması) kullanın. -Sandboxing etkin olduğunda ve `workspaceAccess` değeri `"rw"` olmadığında, araçlar ana makine çalışma alanınızda değil, `~/.openclaw/sandboxes` altındaki bir sandbox çalışma alanında çalışır. +Sandboxing etkinleştirildiğinde ve `workspaceAccess` `"rw"` değilse, araçlar host çalışma alanınızda değil, `~/.openclaw/sandboxes` altındaki bir sandbox çalışma alanında çalışır. ## Varsayılan konum - Varsayılan: `~/.openclaw/workspace` -- `OPENCLAW_PROFILE` ayarlıysa ve `"default"` değilse, varsayılan `~/.openclaw/workspace-` olur. +- `OPENCLAW_PROFILE` ayarlanmışsa ve `"default"` değilse varsayılan `~/.openclaw/workspace-` olur. - `~/.openclaw/openclaw.json` içinde geçersiz kılın: ```json5 @@ -40,7 +40,7 @@ Sandboxing etkin olduğunda ve `workspaceAccess` değeri `"rw"` olmadığında, } ``` -`openclaw onboard`, `openclaw configure` veya `openclaw setup`, çalışma alanını oluşturur ve eksikse bootstrap dosyalarını yerleştirir. +`openclaw onboard`, `openclaw configure` veya `openclaw setup`, çalışma alanını oluşturur ve eksiklerse bootstrap dosyalarını yerleştirir. Sandbox seed kopyaları yalnızca çalışma alanı içindeki normal dosyaları kabul eder; kaynak çalışma alanının dışına çözümlenen symlink/hardlink takma adları yok sayılır. @@ -54,82 +54,83 @@ Sandbox seed kopyaları yalnızca çalışma alanı içindeki normal dosyaları ## Ek çalışma alanı klasörleri -Eski kurulumlar `~/openclaw` oluşturmuş olabilir. Birden fazla çalışma alanı dizinini ortalıkta tutmak, kafa karıştırıcı kimlik doğrulama veya durum kaymasına neden olabilir; çünkü aynı anda yalnızca bir çalışma alanı etkindir. +Eski kurulumlar `~/openclaw` oluşturmuş olabilir. Etrafta birden çok çalışma alanı dizini tutmak kafa karıştırıcı auth veya durum kaymalarına yol açabilir, çünkü aynı anda yalnızca bir çalışma alanı aktiftir. -**Öneri:** tek bir etkin çalışma alanı tutun. Ek klasörleri artık kullanmıyorsanız arşivleyin veya Çöp’e taşıyın (örneğin `trash ~/openclaw`). Bilerek birden fazla çalışma alanı tutuyorsanız, `agents.defaults.workspace` değerinin etkin olanı işaret ettiğinden emin olun. +**Öneri:** tek bir etkin çalışma alanı tutun. Ek klasörleri artık kullanmıyorsanız arşivleyin veya Çöp Kutusu'na taşıyın (örneğin `trash ~/openclaw`). Bilerek birden çok çalışma alanı tutuyorsanız `agents.defaults.workspace` değerinin etkin olana işaret ettiğinden emin olun. -`openclaw doctor`, ek çalışma alanı dizinleri algıladığında uyarı verir. +`openclaw doctor`, ek çalışma alanı dizinleri algıladığında uyarır. ## Çalışma alanı dosya haritası -Bunlar, OpenClaw’ın çalışma alanı içinde beklediği standart dosyalardır: +Bunlar OpenClaw'ın çalışma alanı içinde beklediği standart dosyalardır: - - Aracı için çalışma talimatları ve belleği nasıl kullanması gerektiği. Her oturumun başında yüklenir. Kurallar, öncelikler ve “nasıl davranmalı” ayrıntıları için iyi bir yerdir. + + Ajan için işletim talimatları ve belleği nasıl kullanması gerektiği. Her oturumun başında yüklenir. Kurallar, öncelikler ve "nasıl davranılacağı" ayrıntıları için iyi bir yerdir. - Persona, ton ve sınırlar. Her oturumda yüklenir. Rehber: [SOUL.md kişilik rehberi](/tr/concepts/soul). + Persona, ton ve sınırlar. Her oturumda yüklenir. Kılavuz: [SOUL.md kişilik kılavuzu](/tr/concepts/soul). - + Kullanıcının kim olduğu ve ona nasıl hitap edileceği. Her oturumda yüklenir. - - Aracının adı, havası ve emojisi. Bootstrap ritüeli sırasında oluşturulur/güncellenir. + + Ajanın adı, tarzı ve emojisi. Bootstrap ritüeli sırasında oluşturulur/güncellenir. - Yerel araçlarınız ve kurallarınız hakkında notlar. Araç kullanılabilirliğini denetlemez; yalnızca rehberlik sağlar. + Yerel araçlarınız ve kurallarınız hakkında notlar. Araç kullanılabilirliğini denetlemez; yalnızca rehberliktir. Heartbeat çalıştırmaları için isteğe bağlı küçük kontrol listesi. Token tüketimini önlemek için kısa tutun. - İsteğe bağlı başlangıç kontrol listesi; Gateway yeniden başlatıldığında otomatik çalışır ([internal hooks](/tr/automation/hooks) etkin olduğunda). Kısa tutun; giden iletiler için message aracını kullanın. + Gateway yeniden başlatıldığında otomatik olarak çalıştırılan isteğe bağlı başlangıç kontrol listesi ([internal hooks](/tr/automation/hooks) etkin olduğunda). Kısa tutun; dışa gönderimler için message aracını kullanın. - Tek seferlik ilk çalıştırma ritüeli. Yalnızca yepyeni bir çalışma alanı için oluşturulur. Ritüel tamamlandıktan sonra silin. + Bir defalık ilk çalıştırma ritüeli. Yalnızca yepyeni bir çalışma alanı için oluşturulur. Ritüel tamamlandıktan sonra silin. - Günlük bellek günlüğü (günde bir dosya). Oturum başlangıcında bugün + düne ait dosyaların okunması önerilir. + Günlük bellek günlüğü (günde bir dosya). Oturum başlangıcında bugün + dünü okumanız önerilir. - - Derlenmiş uzun vadeli bellek. Yalnızca ana, özel oturumda yüklenir (paylaşılan/grup bağlamlarında değil). İş akışı ve otomatik bellek boşaltma için [Memory](/tr/concepts/memory) sayfasına bakın. + + Düzenlenmiş uzun vadeli bellek. Yalnızca ana, özel oturumda yükleyin (paylaşılan/grup bağlamlarında değil). İş akışı ve otomatik bellek boşaltma için [Memory](/tr/concepts/memory) bölümüne bakın. - - Çalışma alanına özgü Skills’ler. O çalışma alanı için en yüksek öncelikli skill konumu. Ad çakıştığında proje aracı Skills’lerini, kişisel aracı Skills’lerini, yönetilen Skills’leri, paketlenmiş Skills’leri ve `skills.load.extraDirs` değerini geçersiz kılar. + + Çalışma alanına özgü Skills. O çalışma alanı için en yüksek öncelikli skill konumu. Adlar çakıştığında proje ajanı skill'lerini, kişisel ajan skill'lerini, yönetilen skill'leri, paketlenmiş skill'leri ve `skills.load.extraDirs` değerini geçersiz kılar. - Node ekranları için Canvas UI dosyaları (örneğin `canvas/index.html`). + Node gösterimleri için Canvas UI dosyaları (örneğin `canvas/index.html`). -Herhangi bir bootstrap dosyası eksikse, OpenClaw oturuma bir “eksik dosya” işaretçisi ekler ve devam eder. Büyük bootstrap dosyaları eklenirken kırpılır; sınırları `agents.defaults.bootstrapMaxChars` (varsayılan: 12000) ve `agents.defaults.bootstrapTotalMaxChars` (varsayılan: 60000) ile ayarlayın. `openclaw setup`, mevcut dosyaların üzerine yazmadan eksik varsayılanları yeniden oluşturabilir. +Herhangi bir bootstrap dosyası eksikse OpenClaw oturuma bir "eksik dosya" işaretçisi enjekte eder ve devam eder. Büyük bootstrap dosyaları enjekte edildiğinde kırpılır; sınırları `agents.defaults.bootstrapMaxChars` (varsayılan: 12000) ve `agents.defaults.bootstrapTotalMaxChars` (varsayılan: 60000) ile ayarlayın. `openclaw setup`, mevcut dosyaların üzerine yazmadan eksik varsayılanları yeniden oluşturabilir. ## Çalışma alanında OLMAYANLAR -Bunlar `~/.openclaw/` altında bulunur ve çalışma alanı deposuna commit edilmemelidir: +Bunlar `~/.openclaw/` altında bulunur ve çalışma alanı reposuna commit EDİLMEMELİDİR: -- `~/.openclaw/openclaw.json` (config) +- `~/.openclaw/openclaw.json` (yapılandırma) - `~/.openclaw/agents//agent/auth-profiles.json` (model auth profilleri: OAuth + API anahtarları) +- `~/.openclaw/agents//agent/codex-home/` (ajan başına Codex çalışma zamanı hesabı, yapılandırma, skills, plugins ve yerel thread durumu) - `~/.openclaw/credentials/` (kanal/sağlayıcı durumu ve eski OAuth içe aktarma verileri) -- `~/.openclaw/agents//sessions/` (oturum transcript’leri + meta veriler) -- `~/.openclaw/skills/` (yönetilen Skills) +- `~/.openclaw/agents//sessions/` (oturum dökümleri + metadata) +- `~/.openclaw/skills/` (yönetilen skills) -Oturumları veya config’i taşımanız gerekiyorsa, bunları ayrı kopyalayın ve sürüm denetiminin dışında tutun. +Oturumları veya yapılandırmayı taşımanız gerekiyorsa bunları ayrı kopyalayın ve sürüm kontrolünün dışında tutun. ## Git yedeği (önerilir, özel) -Çalışma alanını özel bellek olarak değerlendirin. Yedeklenebilir ve kurtarılabilir olması için **özel** bir git deposuna koyun. +Çalışma alanını özel bellek olarak ele alın. Yedeklenmesi ve kurtarılabilmesi için onu **özel** bir git reposuna koyun. -Bu adımları Gateway’in çalıştığı makinede yürütün (çalışma alanı orada bulunur). +Bu adımları Gateway'in çalıştığı makinede çalıştırın (çalışma alanının bulunduğu yer orasıdır). - - Git yüklüyse, yepyeni çalışma alanları otomatik olarak başlatılır. Bu çalışma alanı zaten bir depo değilse şunu çalıştırın: + + Git yüklüyse yepyeni çalışma alanları otomatik olarak başlatılır. Bu çalışma alanı zaten bir repo değilse şunu çalıştırın: ```bash cd ~/.openclaw/workspace @@ -142,10 +143,10 @@ Bu adımları Gateway’in çalıştığı makinede yürütün (çalışma alan - 1. GitHub’da yeni bir **özel** depo oluşturun. + 1. GitHub üzerinde yeni bir **özel** repository oluşturun. 2. README ile başlatmayın (merge çakışmalarını önler). - 3. HTTPS remote URL’sini kopyalayın. - 4. Remote’u ekleyin ve push edin: + 3. HTTPS remote URL'sini kopyalayın. + 4. Remote'u ekleyin ve push yapın: ```bash git branch -M main @@ -160,10 +161,10 @@ Bu adımları Gateway’in çalıştığı makinede yürütün (çalışma alan ``` - 1. GitLab’da yeni bir **özel** depo oluşturun. + 1. GitLab üzerinde yeni bir **özel** repository oluşturun. 2. README ile başlatmayın (merge çakışmalarını önler). - 3. HTTPS remote URL’sini kopyalayın. - 4. Remote’u ekleyin ve push edin: + 3. HTTPS remote URL'sini kopyalayın. + 4. Remote'u ekleyin ve push yapın: ```bash git branch -M main @@ -187,13 +188,13 @@ Bu adımları Gateway’in çalıştığı makinede yürütün (çalışma alan ## Gizli bilgileri commit etmeyin -Özel bir depoda bile, gizli bilgileri çalışma alanında saklamaktan kaçının: +Özel bir repoda bile, gizli bilgileri çalışma alanında saklamaktan kaçının: -- API anahtarları, OAuth token’ları, parolalar veya özel kimlik bilgileri. +- API anahtarları, OAuth token'ları, parolalar veya özel kimlik bilgileri. - `~/.openclaw/` altındaki herhangi bir şey. -- Sohbetlerin ham dökümleri veya hassas ekler. +- Sohbetlerin veya hassas eklerin ham dump'ları. -Hassas başvuruları saklamanız gerekiyorsa yer tutucular kullanın ve gerçek gizli bilgiyi başka yerde tutun (parola yöneticisi, ortam değişkenleri veya `~/.openclaw/`). +Hassas referanslar saklamanız gerekiyorsa placeholder'lar kullanın ve gerçek sırrı başka bir yerde tutun (parola yöneticisi, ortam değişkenleri veya `~/.openclaw/`). Önerilen `.gitignore` başlangıcı: @@ -209,23 +210,23 @@ Hassas başvuruları saklamanız gerekiyorsa yer tutucular kullanın ve gerçek ## Çalışma alanını yeni bir makineye taşıma - - Depoyu istenen yola klonlayın (varsayılan `~/.openclaw/workspace`). + + Repoyu istenen yola clone edin (varsayılan `~/.openclaw/workspace`). - - Bu yolu `~/.openclaw/openclaw.json` içinde `agents.defaults.workspace` olarak ayarlayın. + + `~/.openclaw/openclaw.json` içinde `agents.defaults.workspace` değerini bu yola ayarlayın. - - Eksik dosyaları yerleştirmek için `openclaw setup --workspace ` çalıştırın. + + Eksik dosyaları seed etmek için `openclaw setup --workspace ` çalıştırın. - Oturumlara ihtiyacınız varsa, `~/.openclaw/agents//sessions/` dizinini eski makineden ayrı olarak kopyalayın. + Oturumlara ihtiyacınız varsa eski makineden `~/.openclaw/agents//sessions/` dizinini ayrı olarak kopyalayın. ## Gelişmiş notlar -- Çoklu aracı yönlendirme, aracı başına farklı çalışma alanları kullanabilir. Yönlendirme config’i için [Channel routing](/tr/channels/channel-routing) sayfasına bakın. +- Çok ajanlı yönlendirme, ajan başına farklı çalışma alanları kullanabilir. Yönlendirme yapılandırması için [Channel routing](/tr/channels/channel-routing) bölümüne bakın. - `agents.defaults.sandbox` etkinse, ana olmayan oturumlar `agents.defaults.sandbox.workspaceRoot` altında oturum başına sandbox çalışma alanları kullanabilir. ## İlgili diff --git a/docs/tr/gateway/security/index.md b/docs/tr/gateway/security/index.md index 517a2dc08..0c0b63e05 100644 --- a/docs/tr/gateway/security/index.md +++ b/docs/tr/gateway/security/index.md @@ -1,36 +1,36 @@ --- read_when: - Erişimi veya otomasyonu genişleten özellikler ekleme -summary: Kabuk erişimiyle bir yapay zeka Gateway çalıştırmaya yönelik güvenlik değerlendirmeleri ve tehdit modeli +summary: Kabuk erişimine sahip bir yapay zeka Gateway çalıştırmaya yönelik güvenlik hususları ve tehdit modeli title: Güvenlik x-i18n: - generated_at: "2026-04-30T09:24:54Z" + generated_at: "2026-04-30T20:05:38Z" model: gpt-5.5 provider: openai - source_hash: 7a1733675f30b5eb8a45eae671aaa8cf41323e16d2543a02ed7bda558c4ebad1 + source_hash: 20cc63aa79aff1ec42a9c1a10037b11ad5dcc1a3a23d9e76842d4ffd9a920ad7 source_path: gateway/security/index.md workflow: 16 --- - **Kişisel asistan güven modeli.** Bu kılavuz, her gateway için tek bir güvenilir - operatör sınırı varsayar (tek kullanıcılı, kişisel asistan modeli). - OpenClaw, tek bir agent veya gateway paylaşan birden fazla + **Kişisel asistan güven modeli.** Bu rehberlik, her gateway için tek bir güvenilir + operatör sınırı olduğunu varsayar (tek kullanıcılı, kişisel asistan modeli). + OpenClaw, tek bir aracı veya gateway'i paylaşan birden fazla hasmane kullanıcı için **hasmane çok kiracılı** bir güvenlik sınırı değildir. Karma güven veya - hasmane kullanıcı işletimi gerekiyorsa, güven sınırlarını ayırın (ayrı gateway + - kimlik bilgileri, ideal olarak ayrı işletim sistemi kullanıcıları veya ana makineler). + hasmane kullanıcı işletimi gerekiyorsa güven sınırlarını ayırın (ayrı gateway + + kimlik bilgileri, ideal olarak ayrı OS kullanıcıları veya host'lar). ## Önce kapsam: kişisel asistan güvenlik modeli -OpenClaw güvenlik kılavuzu bir **kişisel asistan** dağıtımı varsayar: tek bir güvenilir operatör sınırı, potansiyel olarak çok sayıda agent. +OpenClaw güvenlik rehberliği bir **kişisel asistan** dağıtımını varsayar: tek bir güvenilir operatör sınırı, potansiyel olarak çok sayıda aracı. -- Desteklenen güvenlik duruşu: gateway başına bir kullanıcı/güven sınırı (tercihen sınır başına bir işletim sistemi kullanıcısı/ana makine/VPS). -- Desteklenen bir güvenlik sınırı değildir: karşılıklı olarak güvenilmeyen veya hasmane kullanıcılar tarafından kullanılan tek bir paylaşılan gateway/agent. -- Hasmane kullanıcı yalıtımı gerekiyorsa, güven sınırına göre ayırın (ayrı gateway + kimlik bilgileri ve ideal olarak ayrı işletim sistemi kullanıcıları/ana makineleri). -- Birden fazla güvenilmeyen kullanıcı, araç etkinleştirilmiş tek bir agent ile mesajlaşabiliyorsa, onları o agent için aynı devredilmiş araç yetkisini paylaşıyor gibi ele alın. +- Desteklenen güvenlik duruşu: gateway başına bir kullanıcı/güven sınırı (tercihen sınır başına bir OS kullanıcısı/host/VPS). +- Desteklenen bir güvenlik sınırı değildir: karşılıklı olarak güvenilmeyen veya hasmane kullanıcılar tarafından kullanılan tek bir paylaşılan gateway/aracı. +- Hasmane kullanıcı yalıtımı gerekiyorsa güven sınırına göre ayırın (ayrı gateway + kimlik bilgileri ve ideal olarak ayrı OS kullanıcıları/host'ları). +- Birden fazla güvenilmeyen kullanıcı, araç etkinleştirilmiş tek bir aracıya mesaj gönderebiliyorsa onları o aracı için aynı devredilmiş araç yetkisini paylaşıyor kabul edin. -Bu sayfa, **bu model içinde** sıkılaştırmayı açıklar. Tek bir paylaşılan gateway üzerinde hasmane çok kiracılı yalıtım iddiasında bulunmaz. +Bu sayfa **bu model içinde** sıkılaştırmayı açıklar. Tek bir paylaşılan gateway üzerinde hasmane çok kiracılı yalıtım iddia etmez. ## Hızlı kontrol: `openclaw security audit` @@ -45,116 +45,113 @@ openclaw security audit --fix openclaw security audit --json ``` -`security audit --fix` kasıtlı olarak dar kapsamlı kalır: yaygın açık grup -politikalarını izin listelerine çevirir, `logging.redactSensitive: "tools"` değerini geri yükler, -durum/yapılandırma/include-file izinlerini sıkılaştırır ve Windows üzerinde çalışırken +`security audit --fix` bilinçli olarak dar kapsamlı kalır: yaygın açık grup +ilkelerini allowlist'lere çevirir, `logging.redactSensitive: "tools"` ayarını geri yükler, durum/yapılandırma/include-file izinlerini sıkılaştırır ve Windows üzerinde çalışırken POSIX `chmod` yerine Windows ACL sıfırlamalarını kullanır. -Yaygın riskli hataları işaretler (Gateway kimlik doğrulama açıklığı, tarayıcı denetimi açıklığı, yükseltilmiş izin listeleri, dosya sistemi izinleri, izin verici exec onayları ve açık kanal araç açıklığı). +Yaygın riskli noktaları işaretler (Gateway auth açığa çıkması, tarayıcı kontrolü açığa çıkması, yükseltilmiş allowlist'ler, dosya sistemi izinleri, izin verici exec onayları ve açık kanal araç açığa çıkması). -OpenClaw hem bir ürün hem de bir deneydir: sınır model davranışını gerçek mesajlaşma yüzeylerine ve gerçek araçlara bağlıyorsunuz. **“Tamamen güvenli” bir kurulum yoktur.** Amaç şunlar hakkında bilinçli olmaktır: +OpenClaw hem bir ürün hem de bir deneydir: frontier-model davranışını gerçek mesajlaşma yüzeylerine ve gerçek araçlara bağlıyorsunuz. **“Tamamen güvenli” bir kurulum yoktur.** Amaç şu konularda bilinçli olmaktır: -- botunuzla kim konuşabilir -- botun nerede işlem yapmasına izin verilir -- bot neye dokunabilir +- botunuzla kimin konuşabileceği +- botun nerede işlem yapmasına izin verildiği +- botun nelere dokunabileceği -Hâlâ çalışan en küçük erişimle başlayın, ardından güven kazandıkça genişletin. +Hâlâ çalışan en küçük erişimle başlayın, sonra güveniniz arttıkça genişletin. -### Dağıtım ve ana makine güveni +### Dağıtım ve host güveni -OpenClaw, ana makine ve yapılandırma sınırının güvenilir olduğunu varsayar: +OpenClaw, host ve yapılandırma sınırının güvenilir olduğunu varsayar: -- Birisi Gateway ana makine durumunu/yapılandırmasını (`~/.openclaw`, `openclaw.json` dahil) değiştirebiliyorsa, onu güvenilir bir operatör olarak ele alın. +- Birisi Gateway host durumunu/yapılandırmasını (`~/.openclaw`, `openclaw.json` dahil) değiştirebiliyorsa onu güvenilir operatör kabul edin. - Karşılıklı olarak güvenilmeyen/hasmane birden fazla operatör için tek bir Gateway çalıştırmak **önerilen bir kurulum değildir**. -- Karma güven ekipleri için, güven sınırlarını ayrı gateway'lerle (veya en azından ayrı işletim sistemi kullanıcıları/ana makineleriyle) ayırın. -- Önerilen varsayılan: makine/ana makine (veya VPS) başına bir kullanıcı, o kullanıcı için bir gateway ve o gateway içinde bir veya daha fazla agent. -- Tek bir Gateway örneği içinde, kimliği doğrulanmış operatör erişimi güvenilir bir kontrol düzlemi rolüdür; kullanıcı başına kiracı rolü değildir. -- Oturum tanımlayıcıları (`sessionKey`, oturum kimlikleri, etiketler) yönlendirme seçicileridir, yetkilendirme token'ları değildir. -- Birden fazla kişi araç etkinleştirilmiş tek bir agent ile mesajlaşabiliyorsa, her biri aynı izin kümesini yönlendirebilir. Kullanıcı başına oturum/bellek yalıtımı gizliliğe yardımcı olur, ancak paylaşılan bir agent'ı kullanıcı başına ana makine yetkilendirmesine dönüştürmez. +- Karma güvene sahip ekipler için güven sınırlarını ayrı gateway'lerle (veya en azından ayrı OS kullanıcıları/host'larıyla) ayırın. +- Önerilen varsayılan: makine/host (veya VPS) başına bir kullanıcı, o kullanıcı için bir gateway ve o gateway içinde bir veya daha fazla aracı. +- Tek bir Gateway örneği içinde kimliği doğrulanmış operatör erişimi, kullanıcı başına kiracı rolü değil, güvenilir bir kontrol düzlemi rolüdür. +- Oturum tanımlayıcıları (`sessionKey`, oturum ID'leri, etiketler) yönlendirme seçicileridir, yetkilendirme token'ları değildir. +- Birden fazla kişi araç etkinleştirilmiş tek bir aracıya mesaj gönderebiliyorsa her biri aynı izin kümesini yönlendirebilir. Kullanıcı başına oturum/bellek yalıtımı gizliliğe yardımcı olur, ancak paylaşılan bir aracıyı kullanıcı başına host yetkilendirmesine dönüştürmez. ### Paylaşılan Slack çalışma alanı: gerçek risk -"Slack'teki herkes botla mesajlaşabiliyorsa" temel risk devredilmiş araç yetkisidir: +"Slack içindeki herkes bota mesaj gönderebiliyorsa" temel risk devredilmiş araç yetkisidir: -- izin verilen herhangi bir gönderen, agent'ın politikası içinde araç çağrılarını (`exec`, tarayıcı, ağ/dosya araçları) tetikleyebilir; -- bir gönderen kaynaklı istem/içerik enjeksiyonu, paylaşılan durumu, cihazları veya çıktıları etkileyen eylemlere neden olabilir; -- paylaşılan tek bir agent hassas kimlik bilgilerine/dosyalara sahipse, izin verilen herhangi bir gönderen araç kullanımı yoluyla potansiyel olarak veri sızdırmayı yönlendirebilir. +- izin verilen herhangi bir gönderen, aracının ilkesi içinde araç çağrılarını (`exec`, tarayıcı, ağ/dosya araçları) tetikleyebilir; +- bir gönderenden gelen istem/içerik enjeksiyonu, paylaşılan durumu, cihazları veya çıktıları etkileyen işlemlere neden olabilir; +- tek bir paylaşılan aracı hassas kimlik bilgilerine/dosyalara sahipse izin verilen herhangi bir gönderen, araç kullanımı üzerinden potansiyel olarak dışa sızdırmayı yönlendirebilir. -Ekip iş akışları için en az araçla ayrı agent'lar/gateway'ler kullanın; kişisel veri agent'larını özel tutun. +Ekip iş akışları için en az araçla ayrı aracılar/gateway'ler kullanın; kişisel veri aracılarını özel tutun. -### Şirketçe paylaşılan agent: kabul edilebilir kalıp +### Şirket paylaşımlı aracı: kabul edilebilir desen -Bu, o agent'ı kullanan herkes aynı güven sınırı içindeyse (örneğin tek bir şirket ekibi) ve agent kesin olarak iş kapsamındaysa kabul edilebilir. +Bu, o aracıyı kullanan herkes aynı güven sınırındaysa (örneğin bir şirket ekibi) ve aracı kesin biçimde iş kapsamlıysa kabul edilebilir. -- onu ayrılmış bir makinede/VM'de/container'da çalıştırın; -- bu çalışma zamanı için ayrılmış bir işletim sistemi kullanıcısı + ayrılmış tarayıcı/profil/hesaplar kullanın; -- bu çalışma zamanında kişisel Apple/Google hesaplarına veya kişisel parola yöneticisi/tarayıcı profillerine oturum açmayın. +- bunu ayrılmış bir makinede/VM'de/container'da çalıştırın; +- o runtime için ayrılmış bir OS kullanıcısı + ayrılmış tarayıcı/profil/hesaplar kullanın; +- o runtime'da kişisel Apple/Google hesaplarına veya kişisel parola yöneticisi/tarayıcı profillerine oturum açmayın. -Aynı çalışma zamanında kişisel ve şirket kimliklerini karıştırırsanız, ayrımı ortadan kaldırır ve kişisel veri açığa çıkma riskini artırırsınız. +Kişisel ve şirket kimliklerini aynı runtime'da karıştırırsanız ayrımı ortadan kaldırır ve kişisel veri açığa çıkma riskini artırırsınız. ## Gateway ve Node güven kavramı Gateway ve Node'u farklı rollere sahip tek bir operatör güven alanı olarak ele alın: -- **Gateway** kontrol düzlemi ve politika yüzeyidir (`gateway.auth`, araç politikası, yönlendirme). -- **Node**, bu Gateway ile eşleştirilen uzak yürütme yüzeyidir (komutlar, cihaz eylemleri, ana makineye yerel yetenekler). -- Gateway'e kimliği doğrulanmış bir çağıran, Gateway kapsamında güvenilirdir. Eşleştirmeden sonra, Node eylemleri o Node üzerinde güvenilir operatör eylemleri olur. -- Paylaşılan gateway token'ı/parolasıyla kimliği doğrulanan doğrudan local loopback arka uç istemcileri, kullanıcı - cihaz kimliği sunmadan dahili kontrol düzlemi RPC'leri yapabilir. Bu, uzak veya tarayıcı eşleştirme atlatması değildir: ağ +- **Gateway** kontrol düzlemi ve ilke yüzeyidir (`gateway.auth`, araç ilkesi, yönlendirme). +- **Node**, o Gateway ile eşleştirilmiş uzak yürütme yüzeyidir (komutlar, cihaz işlemleri, host-local yetenekler). +- Gateway'e kimliği doğrulanmış bir çağıran, Gateway kapsamında güvenilirdir. Eşleştirmeden sonra Node işlemleri, o Node üzerinde güvenilir operatör işlemleridir. +- Paylaşılan gateway token'ı/parolasıyla kimliği doğrulanmış doğrudan loopback backend istemcileri, kullanıcı + cihaz kimliği sunmadan iç kontrol düzlemi RPC'leri yapabilir. Bu bir uzak veya tarayıcı eşleştirme atlatması değildir: ağ istemcileri, Node istemcileri, cihaz token'ı istemcileri ve açık cihaz kimlikleri hâlâ eşleştirme ve kapsam yükseltme zorlamasından geçer. -- `sessionKey`, kullanıcı başına kimlik doğrulama değil, yönlendirme/bağlam seçimidir. -- Exec onayları (izin listesi + sor) operatör niyeti için korkuluklardır, hasmane çok kiracılı yalıtım değildir. -- OpenClaw'ın güvenilir tek operatörlü kurulumlar için ürün varsayılanı, `gateway`/`node` üzerinde ana makine exec'in onay istemleri olmadan izinli olmasıdır (`security="full"`, siz sıkılaştırmadığınız sürece `ask="off"`). Bu varsayılan kasıtlı bir kullanıcı deneyimidir, kendi başına bir güvenlik açığı değildir. -- Exec onayları kesin istek bağlamına ve en iyi çabayla doğrudan yerel dosya operandlarına bağlanır; her çalışma zamanı/yorumlayıcı yükleyici yolunu anlamsal olarak modellemez. Güçlü sınırlar için sandboxing ve ana makine yalıtımı kullanın. +- `sessionKey` kullanıcı başına auth değil, yönlendirme/bağlam seçimidir. +- Exec onayları (allowlist + sor) hasmane çok kiracılı yalıtım değil, operatör niyeti için korkuluklardır. +- OpenClaw'ın güvenilir tek operatörlü kurulumlar için ürün varsayılanı, `gateway`/`node` üzerinde host exec'in onay istemleri olmadan izinli olmasıdır (`security="full"`, siz sıkılaştırmadıkça `ask="off"`). Bu varsayılan bilinçli UX'tir, tek başına bir güvenlik açığı değildir. +- Exec onayları tam istek bağlamını ve en iyi çabayla doğrudan yerel dosya operandlarını bağlar; her runtime/interpreter yükleyici yolunu anlamsal olarak modellemez. Güçlü sınırlar için sandboxing ve host yalıtımı kullanın. -Hasmane kullanıcı yalıtımı gerekiyorsa, güven sınırlarını işletim sistemi kullanıcısı/ana makineye göre ayırın ve ayrı gateway'ler çalıştırın. +Hasmane kullanıcı yalıtımı gerekiyorsa güven sınırlarını OS kullanıcısı/host bazında ayırın ve ayrı gateway'ler çalıştırın. ## Güven sınırı matrisi -Riski önceliklendirirken hızlı model olarak bunu kullanın: +Riski triage ederken bunu hızlı model olarak kullanın: -| Sınır veya kontrol | Anlamı | Yaygın yanlış okuma | -| ------------------------------------------------------ | ------------------------------------------------- | ----------------------------------------------------------------------------- | -| `gateway.auth` (token/parola/güvenilir proxy/cihaz kimlik doğrulaması) | Gateway API'lerine çağıranların kimliğini doğrular | "Güvenli olmak için her karede mesaj başına imzalar gerekir" | -| `sessionKey` | Bağlam/oturum seçimi için yönlendirme anahtarı | "Oturum anahtarı bir kullanıcı kimlik doğrulama sınırıdır" | -| İstem/içerik korkulukları | Model kötüye kullanım riskini azaltır | "Yalnızca istem enjeksiyonu kimlik doğrulama atlatmasını kanıtlar" | -| `canvas.eval` / tarayıcı evaluate | Etkinleştirildiğinde kasıtlı operatör yeteneği | "Herhangi bir JS eval primitifi bu güven modelinde otomatik olarak güvenlik açığıdır" | -| Yerel TUI `!` shell | Açıkça operatör tarafından tetiklenen yerel yürütme | "Yerel shell kolaylık komutu uzak enjeksiyondur" | -| Node eşleştirme ve Node komutları | Eşleştirilmiş cihazlarda operatör düzeyinde uzak yürütme | "Uzak cihaz denetimi varsayılan olarak güvenilmeyen kullanıcı erişimi gibi ele alınmalıdır" | -| `gateway.nodes.pairing.autoApproveCidrs` | Katılım gerektiren güvenilir ağ Node kaydı politikası | "Varsayılan olarak devre dışı bir izin listesi otomatik eşleştirme güvenlik açığıdır" | +| Sınır veya kontrol | Ne anlama gelir | Yaygın yanlış okuma | +| --------------------------------------------------------- | ------------------------------------------------- | ----------------------------------------------------------------------------- | +| `gateway.auth` (token/password/trusted-proxy/device auth) | Çağıranları gateway API'lerine kimlik doğrular | "Güvenli olmak için her frame üzerinde mesaj başına imzalar gerekir" | +| `sessionKey` | Bağlam/oturum seçimi için yönlendirme anahtarı | "Oturum anahtarı bir kullanıcı auth sınırıdır" | +| İstem/içerik korkulukları | Modelin kötüye kullanım riskini azaltır | "İstem enjeksiyonu tek başına auth atlatmasını kanıtlar" | +| `canvas.eval` / tarayıcı evaluate | Etkinleştirildiğinde bilinçli operatör yeteneği | "Herhangi bir JS eval ilkel öğesi bu güven modelinde otomatik olarak güvenlik açığıdır" | +| Yerel TUI `!` shell | Açıkça operatör tarafından tetiklenen yerel yürütme | "Yerel shell kolaylık komutu uzak enjeksiyondur" | +| Node eşleştirme ve Node komutları | Eşleştirilmiş cihazlarda operatör düzeyinde uzak yürütme | "Uzak cihaz kontrolü varsayılan olarak güvenilmeyen kullanıcı erişimi sayılmalıdır" | +| `gateway.nodes.pairing.autoApproveCidrs` | İsteğe bağlı güvenilir ağ Node kaydı ilkesi | "Varsayılan olarak devre dışı bir allowlist otomatik eşleştirme güvenlik açığıdır" | ## Tasarım gereği güvenlik açığı olmayanlar -Bu kalıplar sık raporlanır ve gerçek bir sınır atlatması gösterilmediği sürece -genellikle işlem yapılmadan kapatılır: +Bu desenler sık bildirilir ve genellikle gerçek bir sınır atlatması +gösterilmediği sürece işlem yapılmadan kapatılır: -- Politika, kimlik doğrulama veya sandbox atlatması olmayan yalnızca istem enjeksiyonu zincirleri. -- Tek bir paylaşılan ana makine veya yapılandırma üzerinde hasmane çok kiracılı işletim varsayan iddialar. +- İlke, auth veya sandbox atlatması olmayan yalnızca istem enjeksiyonu zincirleri. +- Tek bir paylaşılan host veya yapılandırma üzerinde hasmane çok kiracılı işletim varsayan iddialar. - Normal operatör okuma yolu erişimini (örneğin `sessions.list` / `sessions.preview` / `chat.history`) paylaşılan gateway kurulumunda IDOR olarak sınıflandıran iddialar. -- Yalnızca localhost dağıtımı bulguları (örneğin yalnızca local loopback - gateway üzerinde HSTS). -- Bu depoda bulunmayan gelen yollar için Discord gelen Webhook imza bulguları. -- Node eşleştirme meta verilerini `system.run` için gizli ikinci bir komut başına +- Yalnızca localhost dağıtım bulguları (örneğin yalnızca loopback gateway üzerinde HSTS). +- Bu repo'da bulunmayan gelen yollar için Discord gelen Webhook imzası bulguları. +- Node eşleştirme metadata'sını `system.run` için gizli ikinci bir komut başına onay katmanı olarak ele alan raporlar; gerçek yürütme sınırı hâlâ - gateway'in genel Node komut politikası artı Node'un kendi exec + gateway'in global Node komut ilkesi ve Node'un kendi exec onaylarıdır. -- Yapılandırılmış `gateway.nodes.pairing.autoApproveCidrs` değerini tek başına bir - güvenlik açığı olarak ele alan raporlar. Bu ayar varsayılan olarak devre dışıdır, açık - CIDR/IP girdileri gerektirir, yalnızca istenen kapsam olmadan ilk kez `role: node` eşleştirmesine - uygulanır ve operatör/tarayıcı/Control UI, - WebChat, rol yükseltmeleri, kapsam yükseltmeleri, meta veri değişiklikleri, açık anahtar değişiklikleri - veya local loopback güvenilir proxy kimlik doğrulaması açıkça etkinleştirilmedikçe aynı ana makine local loopback güvenilir proxy üstbilgi yollarını otomatik onaylamaz. -- `sessionKey` değerini kimlik doğrulama token'ı olarak ele alan "kullanıcı başına yetkilendirme eksik" bulguları. +- Yapılandırılmış `gateway.nodes.pairing.autoApproveCidrs` ayarını kendi başına + bir güvenlik açığı olarak ele alan raporlar. Bu ayar varsayılan olarak devre dışıdır, açık + CIDR/IP girdileri gerektirir, yalnızca istenen kapsam olmadan ilk kez yapılan `role: node` eşleştirmesine uygulanır ve operatör/tarayıcı/Control UI, + WebChat, rol yükseltmeleri, kapsam yükseltmeleri, metadata değişiklikleri, açık anahtar değişiklikleri + veya loopback trusted-proxy auth açıkça etkinleştirilmedikçe aynı host loopback trusted-proxy header yollarını otomatik onaylamaz. +- `sessionKey` değerini bir auth token'ı olarak ele alan "eksik kullanıcı başına yetkilendirme" bulguları. -## 60 saniyede sıkılaştırılmış temel yapılandırma +## 60 saniyede sıkılaştırılmış temel çizgi -Önce bu temel yapılandırmayı kullanın, ardından güvenilir agent başına araçları seçerek yeniden etkinleştirin: +Önce bu temel çizgiyi kullanın, ardından güvenilir aracı başına araçları seçici olarak yeniden etkinleştirin: ```json5 { @@ -179,78 +176,79 @@ genellikle işlem yapılmadan kapatılır: } ``` -Bu, Gateway'i yalnızca yerel tutar, DM'leri yalıtır ve kontrol düzlemi/çalışma zamanı araçlarını varsayılan olarak devre dışı bırakır. +Bu, Gateway'i yalnızca yerel tutar, DM'leri yalıtır ve kontrol düzlemi/runtime araçlarını varsayılan olarak devre dışı bırakır. ## Paylaşılan gelen kutusu hızlı kuralı Birden fazla kişi botunuza DM gönderebiliyorsa: -- `session.dmScope: "per-channel-peer"` ayarlayın (veya çok hesaplı kanallar için `"per-account-channel-peer"`). -- `dmPolicy: "pairing"` veya sıkı izin listelerini koruyun. +- `session.dmScope: "per-channel-peer"` (veya çok hesaplı kanallar için `"per-account-channel-peer"`) ayarlayın. +- `dmPolicy: "pairing"` veya sıkı allowlist'ler kullanın. - Paylaşılan DM'leri asla geniş araç erişimiyle birleştirmeyin. -- Bu, işbirlikçi/paylaşılan gelen kutularını sıkılaştırır, ancak kullanıcılar ana makine/yapılandırma yazma erişimini paylaştığında hasmane ortak kiracı yalıtımı olarak tasarlanmamıştır. +- Bu, iş birliğine dayalı/paylaşılan gelen kutularını sıkılaştırır, ancak kullanıcılar host/yapılandırma yazma erişimini paylaştığında hasmane ortak kiracı yalıtımı olarak tasarlanmamıştır. ## Bağlam görünürlüğü modeli OpenClaw iki kavramı ayırır: -- **Tetikleme yetkilendirmesi**: agent'ı kim tetikleyebilir (`dmPolicy`, `groupPolicy`, izin listeleri, bahsetme kapıları). -- **Bağlam görünürlüğü**: model girdisine hangi ek bağlamın enjekte edildiği (yanıt gövdesi, alıntılanan metin, ileti dizisi geçmişi, iletilen meta veriler). +- **Tetikleme yetkilendirmesi**: aracıyı kim tetikleyebilir (`dmPolicy`, `groupPolicy`, allowlist'ler, mention kapıları). +- **Bağlam görünürlüğü**: model girdisine hangi ek bağlamın enjekte edildiği (yanıt gövdesi, alıntılanan metin, konu geçmişi, iletilen metadata). -İzin listeleri tetiklemeleri ve komut yetkilendirmesini denetler. `contextVisibility` ayarı, ek bağlamın (alıntılanan yanıtlar, ileti dizisi kökleri, getirilen geçmiş) nasıl filtrelendiğini denetler: +Allowlist'ler tetikleyicileri ve komut yetkilendirmesini sınırlar. `contextVisibility` ayarı, ek bağlamın (alıntılı yanıtlar, konu kökleri, getirilen geçmiş) nasıl filtreleneceğini kontrol eder: - `contextVisibility: "all"` (varsayılan) ek bağlamı alındığı gibi tutar. -- `contextVisibility: "allowlist"` ek bağlamı etkin izin listesi kontrolleri tarafından izin verilen gönderenlere filtreler. -- `contextVisibility: "allowlist_quote"` `allowlist` gibi davranır, ancak yine de tek bir açıkça alıntılanmış yanıtı tutar. +- `contextVisibility: "allowlist"` ek bağlamı etkin allowlist kontrollerinin izin verdiği gönderenlere göre filtreler. +- `contextVisibility: "allowlist_quote"` `allowlist` gibi davranır, ancak yine de açık bir alıntılı yanıtı tutar. `contextVisibility` değerini kanal başına veya oda/konuşma başına ayarlayın. Kurulum ayrıntıları için [Grup Sohbetleri](/tr/channels/groups#context-visibility-and-allowlists) bölümüne bakın. -Danışma önceliklendirme kılavuzu: +Danışma triage rehberliği: -- Yalnızca "model, izin listesine alınmamış göndericilerden alıntılanmış veya geçmiş metni görebiliyor" durumunu gösteren iddialar, kendi başlarına auth veya sandbox sınırı atlamaları değil, `contextVisibility` ile ele alınabilir güçlendirme bulgularıdır. -- Güvenlik etkisi taşıması için raporların yine de gösterilmiş bir güven sınırı atlamasına (auth, politika, sandbox, onay veya başka bir belgelenmiş sınır) ihtiyacı vardır. +- Yalnızca “model, izin verilenler listesinde olmayan gönderenlerden alıntılanmış veya geçmiş metni görebilir” durumunu gösteren iddialar, tek başına auth veya sandbox sınırı aşımı değil, `contextVisibility` ile ele alınabilecek sıkılaştırma bulgularıdır. +- Güvenlik etkisi olması için raporların hâlâ kanıtlanmış bir güven sınırı aşımı göstermesi gerekir (auth, policy, sandbox, approval veya belgelenmiş başka bir sınır). ## Denetimin kontrol ettikleri (üst düzey) - **Gelen erişim** (DM politikaları, grup politikaları, izin listeleri): yabancılar botu tetikleyebilir mi? -- **Araç etki alanı** (yükseltilmiş araçlar + açık odalar): prompt enjeksiyonu shell/dosya/ağ eylemlerine dönüşebilir mi? -- **Exec onayı kayması** (`security=full`, `autoAllowSkills`, `strictInlineEval` olmadan yorumlayıcı izin listeleri): host-exec güvenlik bariyerleri hâlâ düşündüğünüz şeyi yapıyor mu? - - `security="full"` geniş kapsamlı bir duruş uyarısıdır, bir hatanın kanıtı değildir. Güvenilir kişisel asistan kurulumları için seçilen varsayılandır; yalnızca tehdit modeliniz onay veya izin listesi güvenlik bariyerleri gerektirdiğinde sıkılaştırın. -- **Ağ maruziyeti** (Gateway bind/auth, Tailscale Serve/Funnel, zayıf/kısa auth token'ları). -- **Tarayıcı kontrolü maruziyeti** (uzak Node'lar, relay portları, uzak CDP uç noktaları). -- **Yerel disk hijyeni** (izinler, symlink'ler, config include'ları, “senkronize klasör” yolları). +- **Araç etki alanı** (yükseltilmiş araçlar + açık odalar): istem enjeksiyonu shell/dosya/ağ eylemlerine dönüşebilir mi? +- **Exec approval sapması** (`security=full`, `autoAllowSkills`, `strictInlineEval` olmadan yorumlayıcı izin listeleri): host-exec koruma rayları hâlâ düşündüğünüz şeyi yapıyor mu? + - `security="full"` geniş kapsamlı bir duruş uyarısıdır, hata kanıtı değildir. Güvenilir kişisel asistan kurulumları için seçilen varsayılandır; yalnızca tehdit modeliniz approval veya izin listesi korumaları gerektiriyorsa sıkılaştırın. +- **Ağ maruziyeti** (Gateway bind/auth, Tailscale Serve/Funnel, zayıf/kısa auth token’ları). +- **Tarayıcı kontrol maruziyeti** (uzak node’lar, relay portları, uzak CDP uç noktaları). +- **Yerel disk hijyeni** (izinler, symlink’ler, config include’ları, “senkronize klasör” yolları). - **Pluginler** (pluginler açık bir izin listesi olmadan yüklenir). -- **Politika kayması/yanlış yapılandırma** (sandbox docker ayarları yapılandırılmış ama sandbox modu kapalı; etkisiz `gateway.nodes.denyCommands` kalıpları çünkü eşleşme yalnızca tam komut adına göredir (örneğin `system.run`) ve shell metnini incelemez; tehlikeli `gateway.nodes.allowCommands` girdileri; global `tools.profile="minimal"` değerinin ajan başına profiller tarafından geçersiz kılınması; plugin'e ait araçlara izin veren araç politikası altında erişilebilmesi). -- **Runtime beklentisi kayması** (örneğin örtük exec'in hâlâ `sandbox` anlamına geldiğini varsaymak, oysa `tools.exec.host` artık varsayılan olarak `auto` kullanıyor; veya sandbox modu kapalıyken açıkça `tools.exec.host="sandbox"` ayarlamak). +- **Politika sapması/yanlış yapılandırma** (sandbox docker ayarları yapılandırılmış ama sandbox modu kapalı; `gateway.nodes.denyCommands` kalıpları etkisiz çünkü eşleştirme yalnızca tam komut adına göre yapılır (örneğin `system.run`) ve shell metnini incelemez; tehlikeli `gateway.nodes.allowCommands` girdileri; global `tools.profile="minimal"` ayarının agent başına profiller tarafından geçersiz kılınması; plugin’e ait araçların izin verici araç politikası altında erişilebilir olması). +- **Çalışma zamanı beklentisi sapması** (örneğin örtük exec’in hâlâ `sandbox` anlamına geldiğini varsaymak, oysa `tools.exec.host` artık varsayılan olarak `auto` kullanır; veya sandbox modu kapalıyken açıkça `tools.exec.host="sandbox"` ayarlamak). - **Model hijyeni** (yapılandırılmış modeller eski göründüğünde uyar; katı bir engel değildir). -`--deep` çalıştırırsanız, OpenClaw ayrıca elinden geldiğince canlı bir Gateway probe'u dener. +`--deep` çalıştırırsanız OpenClaw ayrıca en iyi çabayla canlı Gateway yoklaması yapmayı dener. ## Kimlik bilgisi depolama haritası -Erişimi denetlerken veya neyin yedekleneceğine karar verirken bunu kullanın: +Erişimi denetlerken veya nelerin yedekleneceğine karar verirken bunu kullanın: - **WhatsApp**: `~/.openclaw/credentials/whatsapp//creds.json` -- **Telegram bot token'ı**: config/env veya `channels.telegram.tokenFile` (yalnızca normal dosya; symlink'ler reddedilir) -- **Discord bot token'ı**: config/env veya SecretRef (env/file/exec sağlayıcıları) -- **Slack token'ları**: config/env (`channels.slack.*`) +- **Telegram bot token’ı**: config/env veya `channels.telegram.tokenFile` (yalnızca normal dosya; symlink’ler reddedilir) +- **Discord bot token’ı**: config/env veya SecretRef (env/file/exec sağlayıcıları) +- **Slack token’ları**: config/env (`channels.slack.*`) - **Eşleştirme izin listeleri**: - `~/.openclaw/credentials/-allowFrom.json` (varsayılan hesap) - `~/.openclaw/credentials/--allowFrom.json` (varsayılan olmayan hesaplar) - **Model auth profilleri**: `~/.openclaw/agents//agent/auth-profiles.json` -- **Dosya destekli secret payload'u (isteğe bağlı)**: `~/.openclaw/secrets.json` +- **Codex çalışma zamanı durumu**: `~/.openclaw/agents//agent/codex-home/` +- **Dosya destekli secrets payload’u (isteğe bağlı)**: `~/.openclaw/secrets.json` - **Eski OAuth içe aktarımı**: `~/.openclaw/credentials/oauth.json` ## Güvenlik denetimi kontrol listesi -Denetim bulgular yazdırdığında, bunu öncelik sırası olarak ele alın: +Denetim bulgular yazdırdığında bunu öncelik sırası olarak ele alın: -1. **“Açık” olan herhangi bir şey + araçlar etkin**: önce DM'leri/grupları kilitleyin (eşleştirme/izin listeleri), ardından araç politikasını/sandboxing'i sıkılaştırın. +1. **“Açık” olan her şey + araçlar etkin**: önce DM’leri/grupları kilitleyin (eşleştirme/izin listeleri), ardından araç politikasını/sandbox kullanımını sıkılaştırın. 2. **Genel ağ maruziyeti** (LAN bind, Funnel, eksik auth): hemen düzeltin. -3. **Tarayıcı kontrolünün uzaktan maruziyeti**: bunu operatör erişimi gibi ele alın (yalnızca tailnet, Node'ları bilinçli eşleştirin, genel maruziyetten kaçının). -4. **İzinler**: state/config/credentials/auth dosyalarının grup/dünya tarafından okunabilir olmadığından emin olun. +3. **Tarayıcı kontrolünün uzak maruziyeti**: bunu operatör erişimi gibi ele alın (yalnızca tailnet, node’ları bilinçli eşleştirin, genel maruziyetten kaçının). +4. **İzinler**: durum/config/kimlik bilgileri/auth dosyalarının grup/dünya tarafından okunabilir olmadığından emin olun. 5. **Pluginler**: yalnızca açıkça güvendiğiniz şeyleri yükleyin. -6. **Model seçimi**: araçları olan her bot için modern, talimatlara karşı güçlendirilmiş modelleri tercih edin. +6. **Model seçimi**: araçları olan her bot için modern, talimatlara dayanıklı modelleri tercih edin. ## Güvenlik denetimi sözlüğü @@ -258,44 +256,43 @@ Her denetim bulgusu yapılandırılmış bir `checkId` ile anahtarlanır (örne `gateway.bind_no_auth` veya `tools.exec.security_full_configured`). Yaygın kritik önem sınıfları: -- `fs.*` — state, config, credentials, auth profilleri üzerindeki dosya sistemi izinleri. -- `gateway.*` — bind modu, auth, Tailscale, Control UI, trusted-proxy kurulumu. -- `hooks.*`, `browser.*`, `sandbox.*`, `tools.exec.*` — yüzey başına güçlendirme. -- `plugins.*`, `skills.*` — plugin/skill tedarik zinciri ve tarama bulguları. -- `security.exposure.*` — erişim politikasının araç etki alanıyla kesiştiği yatay kontroller. +- `fs.*` — durum, config, kimlik bilgileri, auth profilleri üzerindeki dosya sistemi izinleri. +- `gateway.*` — bind modu, auth, Tailscale, Control UI, güvenilir proxy kurulumu. +- `hooks.*`, `browser.*`, `sandbox.*`, `tools.exec.*` — yüzey başına sıkılaştırma. +- `plugins.*`, `skills.*` — plugin/Skills tedarik zinciri ve tarama bulguları. +- `security.exposure.*` — erişim politikasının araç etki alanıyla kesiştiği çapraz kontroller. Önem seviyeleri, düzeltme anahtarları ve otomatik düzeltme desteğiyle tam kataloğa -[Security audit checks](/tr/gateway/security/audit-checks) sayfasından bakın. +[Security audit checks](/tr/gateway/security/audit-checks) üzerinden bakın. ## HTTP üzerinden Control UI -Control UI, cihaz kimliği oluşturmak için **güvenli bir bağlama** (HTTPS veya localhost) ihtiyaç duyar. -`gateway.controlUi.allowInsecureAuth` yerel bir uyumluluk anahtarıdır: +Control UI, cihaz kimliği oluşturmak için **güvenli bağlam** (HTTPS veya localhost) gerektirir. `gateway.controlUi.allowInsecureAuth` yerel bir uyumluluk anahtarıdır: -- localhost üzerinde, sayfa güvenli olmayan HTTP üzerinden yüklendiğinde cihaz kimliği olmadan Control UI auth'a izin verir. +- localhost üzerinde, sayfa güvenli olmayan HTTP üzerinden yüklendiğinde cihaz kimliği olmadan Control UI auth’a izin verir. - Eşleştirme kontrollerini atlatmaz. - Uzak (localhost olmayan) cihaz kimliği gereksinimlerini gevşetmez. -HTTPS'i (Tailscale Serve) tercih edin veya UI'ı `127.0.0.1` üzerinde açın. +HTTPS’yi (Tailscale Serve) tercih edin veya UI’yi `127.0.0.1` üzerinde açın. -Yalnızca acil durum senaryoları için, `gateway.controlUi.dangerouslyDisableDeviceAuth` -cihaz kimliği kontrollerini tamamen devre dışı bırakır. Bu ciddi bir güvenlik düşüşüdür; -aktif olarak hata ayıklamadığınız ve hızla geri alabileceğiniz durumlar dışında kapalı tutun. +Yalnızca acil durum senaryoları için `gateway.controlUi.dangerouslyDisableDeviceAuth` +cihaz kimliği kontrollerini tamamen devre dışı bırakır. Bu ciddi bir güvenlik düşürmesidir; +yalnızca aktif olarak debug yapıyorsanız ve hızlıca geri alabiliyorsanız kapalı tutun. -Bu tehlikeli bayraklardan ayrı olarak, başarılı `gateway.auth.mode: "trusted-proxy"` -**operator** Control UI oturumlarını cihaz kimliği olmadan kabul edebilir. Bu, -kasıtlı bir auth-mode davranışıdır, bir `allowInsecureAuth` kısayolu değildir ve yine de -Node rolündeki Control UI oturumlarına genişlemez. +Bu tehlikeli flag’lerden ayrı olarak, başarılı `gateway.auth.mode: "trusted-proxy"` +cihaz kimliği olmadan **operatör** Control UI oturumlarını kabul edebilir. Bu, +kasıtlı bir auth modu davranışıdır, `allowInsecureAuth` kısayolu değildir ve yine de +node rolündeki Control UI oturumlarına genişlemez. -`openclaw security audit` bu ayar etkin olduğunda uyarır. +Bu ayar etkinleştirildiğinde `openclaw security audit` uyarır. -## Güvensiz veya tehlikeli bayraklar özeti +## Güvenli olmayan veya tehlikeli flag özeti -`openclaw security audit`, bilinen güvensiz/tehlikeli debug anahtarları etkin olduğunda -`config.insecure_or_dangerous_flags` yükseltir. Bunları production ortamında ayarlanmamış bırakın. +`openclaw security audit`, bilinen güvenli olmayan/tehlikeli debug anahtarları etkin olduğunda +`config.insecure_or_dangerous_flags` üretir. Üretimde bunları ayarsız bırakın. - + - `gateway.controlUi.allowInsecureAuth=true` - `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true` - `gateway.controlUi.dangerouslyDisableDeviceAuth=true` @@ -306,14 +303,14 @@ Node rolündeki Control UI oturumlarına genişlemez. - + Control UI ve tarayıcı: - `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback` - `gateway.controlUi.dangerouslyDisableDeviceAuth` - `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork` - Kanal adı eşleştirme (paketli ve plugin kanalları; uygun olduğu yerlerde + Kanal adı eşleştirme (paketli ve plugin kanalları; geçerli olduğunda `accounts.` başına da kullanılabilir): - `channels.discord.dangerouslyAllowNameMatching` @@ -330,7 +327,7 @@ Node rolündeki Control UI oturumlarına genişlemez. - `channels.telegram.network.dangerouslyAllowPrivateNetwork` (hesap başına da) - Sandbox Docker (varsayılanlar + ajan başına): + Sandbox Docker (varsayılanlar + agent başına): - `agents.defaults.sandbox.docker.dangerouslyAllowReservedContainerTargets` - `agents.defaults.sandbox.docker.dangerouslyAllowExternalBindSources` @@ -341,16 +338,16 @@ Node rolündeki Control UI oturumlarına genişlemez. ## Ters proxy yapılandırması -Gateway'i bir ters proxy'nin (nginx, Caddy, Traefik vb.) arkasında çalıştırıyorsanız, -iletilen istemci IP'sinin doğru işlenmesi için `gateway.trustedProxies` yapılandırın. +Gateway’i bir ters proxy (nginx, Caddy, Traefik vb.) arkasında çalıştırıyorsanız, doğru iletilen istemci IP işleme için +`gateway.trustedProxies` yapılandırın. -Gateway, `trustedProxies` içinde **olmayan** bir adresten proxy header'ları algıladığında, bağlantıları yerel istemciler olarak ele **almaz**. Gateway auth devre dışıysa bu bağlantılar reddedilir. Bu, proxied bağlantıların aksi halde localhost'tan geliyormuş gibi görünüp otomatik güven alacağı kimlik doğrulama atlamasını önler. +Gateway, `trustedProxies` içinde **olmayan** bir adresten proxy başlıkları algıladığında bağlantıları yerel istemciler olarak değerlendirmez. Gateway auth devre dışıysa bu bağlantılar reddedilir. Bu, proxied bağlantıların aksi halde localhost’tan gelmiş gibi görünüp otomatik güven alabileceği auth atlatmasını önler. -`gateway.trustedProxies` ayrıca `gateway.auth.mode: "trusted-proxy"` değerini besler, ancak bu auth modu daha katıdır: +`gateway.trustedProxies` ayrıca `gateway.auth.mode: "trusted-proxy"` için de kullanılır, ancak bu auth modu daha katıdır: -- trusted-proxy auth, **varsayılan olarak loopback kaynaklı proxy'lerde kapalı şekilde başarısız olur** -- aynı host üzerindeki loopback ters proxy'ler, yerel istemci algılama ve iletilen IP işleme için `gateway.trustedProxies` kullanabilir -- aynı host üzerindeki loopback ters proxy'ler `gateway.auth.mode: "trusted-proxy"` koşulunu yalnızca `gateway.auth.trustedProxy.allowLoopback = true` olduğunda karşılayabilir; aksi halde token/parola auth kullanın +- trusted-proxy auth **varsayılan olarak loopback kaynaklı proxy’lerde kapalı hataya düşer** +- aynı host’taki loopback ters proxy’ler, yerel istemci algılama ve iletilen IP işleme için `gateway.trustedProxies` kullanabilir +- aynı host’taki loopback ters proxy’ler, `gateway.auth.mode: "trusted-proxy"` koşulunu yalnızca `gateway.auth.trustedProxy.allowLoopback = true` olduğunda sağlayabilir; aksi halde token/password auth kullanın ```yaml gateway: @@ -364,22 +361,22 @@ gateway: password: ${OPENCLAW_GATEWAY_PASSWORD} ``` -`trustedProxies` yapılandırıldığında, Gateway istemci IP'sini belirlemek için `X-Forwarded-For` kullanır. `gateway.allowRealIpFallback: true` açıkça ayarlanmadıkça `X-Real-IP` varsayılan olarak yok sayılır. +`trustedProxies` yapılandırıldığında Gateway, istemci IP’sini belirlemek için `X-Forwarded-For` kullanır. `gateway.allowRealIpFallback: true` açıkça ayarlanmadıkça `X-Real-IP` varsayılan olarak yok sayılır. -Güvenilen proxy header'ları, Node cihaz eşleştirmesini otomatik olarak güvenilir yapmaz. +Güvenilir proxy başlıkları node cihaz eşleştirmesini otomatik olarak güvenilir yapmaz. `gateway.nodes.pairing.autoApproveCidrs` ayrı, varsayılan olarak devre dışı bir -operatör politikasıdır. Etkinleştirildiğinde bile, loopback kaynaklı trusted-proxy header yolları -Node otomatik onayından hariç tutulur çünkü yerel çağıranlar bu header'ları sahteleyebilir; +operatör politikasıdır. Etkinleştirildiğinde bile loopback kaynaklı trusted-proxy başlık yolları, +yerel çağıranlar bu başlıkları taklit edebileceği için node otomatik onayından hariç tutulur; bu, loopback trusted-proxy auth açıkça etkinleştirildiğinde de geçerlidir. -İyi ters proxy davranışı (gelen forwarding header'larını üzerine yaz): +İyi ters proxy davranışı (gelen forwarding başlıklarını üzerine yazın): ```nginx proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header X-Real-IP $remote_addr; ``` -Kötü ters proxy davranışı (güvenilmeyen forwarding header'larını ekle/koru): +Kötü ters proxy davranışı (güvenilmeyen forwarding başlıklarını ekle/koru): ```nginx proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -387,86 +384,86 @@ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ## HSTS ve origin notları -- OpenClaw Gateway önce yerel/loopback odaklıdır. TLS'i bir ters proxy'de sonlandırıyorsanız, HSTS'i oradaki proxy'ye bakan HTTPS domain'inde ayarlayın. -- Gateway'in kendisi HTTPS'i sonlandırıyorsa, OpenClaw yanıtlarından HSTS header'ı yaymak için `gateway.http.securityHeaders.strictTransportSecurity` ayarlayabilirsiniz. -- Ayrıntılı dağıtım rehberi [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth#tls-termination-and-hsts) içindedir. +- OpenClaw gateway önce yerel/loopback içindir. TLS’yi ters proxy’de sonlandırıyorsanız, HSTS’yi oradaki proxy’ye bakan HTTPS alan adına ayarlayın. +- Gateway’in kendisi HTTPS’yi sonlandırıyorsa, OpenClaw yanıtlarından HSTS başlığını üretmek için `gateway.http.securityHeaders.strictTransportSecurity` ayarlayabilirsiniz. +- Ayrıntılı dağıtım rehberi [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth#tls-termination-and-hsts) içinde yer alır. - Loopback olmayan Control UI dağıtımları için `gateway.controlUi.allowedOrigins` varsayılan olarak gereklidir. -- `gateway.controlUi.allowedOrigins: ["*"]` açık bir tüm tarayıcı-origin'lerine izin ver politikasıdır, güçlendirilmiş bir varsayılan değildir. Sıkı denetlenen yerel testler dışında bundan kaçının. -- Loopback üzerindeki tarayıcı-origin auth hataları, genel loopback muafiyeti etkin olduğunda bile rate limit'e tabidir, ancak kilitleme anahtarı tek bir paylaşılan localhost bucket'ı yerine normalize edilmiş `Origin` değeri başına kapsamlanır. -- `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true`, Host-header origin fallback modunu etkinleştirir; bunu operatör tarafından seçilmiş tehlikeli bir politika olarak ele alın. -- DNS rebinding ve proxy-host header davranışını dağıtım güçlendirme konuları olarak ele alın; `trustedProxies` değerini dar tutun ve Gateway'i doğrudan genel internete açmaktan kaçının. +- `gateway.controlUi.allowedOrigins: ["*"]`, sıkılaştırılmış bir varsayılan değil, açık bir tüm tarayıcı origin’lerine izin verme politikasıdır. Sıkı denetimli yerel testler dışında bundan kaçının. +- Loopback üzerindeki tarayıcı-origin auth hataları, genel loopback muafiyeti etkin olsa bile hâlâ rate-limit uygulanır; ancak kilitleme anahtarı tek bir paylaşılan localhost bucket’ı yerine normalize edilmiş `Origin` değeri başına kapsamlanır. +- `gateway.controlUi.dangerouslyAllowHostHeaderOriginFallback=true`, Host-header origin fallback modunu etkinleştirir; bunu operatörün seçtiği tehlikeli bir politika olarak ele alın. +- DNS rebinding ve proxy-host başlığı davranışını dağıtım sıkılaştırma konuları olarak ele alın; `trustedProxies` listesini dar tutun ve gateway’i doğrudan genel internete açmaktan kaçının. -## Yerel oturum logları diskte yaşar +## Yerel oturum logları diskte bulunur -OpenClaw, oturum transcript'lerini disk üzerinde `~/.openclaw/agents//sessions/*.jsonl` altında saklar. -Bu, oturum sürekliliği ve (isteğe bağlı olarak) oturum bellek indeksleme için gereklidir, ancak aynı zamanda -**dosya sistemi erişimi olan herhangi bir süreç/kullanıcı bu logları okuyabilir** demektir. Disk erişimini güven -sınırı olarak ele alın ve `~/.openclaw` üzerindeki izinleri kilitleyin (aşağıdaki denetim bölümüne bakın). Ajanlar arasında -daha güçlü yalıtım gerekiyorsa, onları ayrı OS kullanıcıları veya ayrı host'lar altında çalıştırın. +OpenClaw oturum dökümlerini disk üzerinde `~/.openclaw/agents//sessions/*.jsonl` altında saklar. +Bu, oturum sürekliliği ve (isteğe bağlı) oturum belleği indeksleme için gereklidir; ancak aynı zamanda +**dosya sistemi erişimi olan herhangi bir process/kullanıcının bu logları okuyabileceği** anlamına gelir. Disk erişimini güven +sınırı olarak ele alın ve `~/.openclaw` üzerindeki izinleri kilitleyin (aşağıdaki denetim bölümüne bakın). Agent’lar arasında +daha güçlü izolasyona ihtiyacınız varsa, onları ayrı OS kullanıcıları veya ayrı host’lar altında çalıştırın. -## Node yürütme (`system.run`) +## Node yürütme (system.run) -Bir macOS Node'u eşleştirilmişse Gateway, o Node üzerinde `system.run` çağırabilir. Bu, Mac üzerinde **uzaktan kod yürütme**dir: +Bir macOS node’u eşleştirilmişse Gateway, o node üzerinde `system.run` çağırabilir. Bu, Mac üzerinde **uzaktan kod yürütme** anlamına gelir: -- Node eşleştirmesi gerektirir (onay + token). -- Gateway node eşleştirmesi komut başına bir onay yüzeyi değildir. Node kimliğini/güvenini ve token verilmesini oluşturur. -- Gateway, `gateway.nodes.allowCommands` / `denyCommands` üzerinden kaba bir genel node komut ilkesi uygular. -- Mac üzerinde **Settings → Exec approvals** ile denetlenir (güvenlik + sorma + izin listesi). -- Node başına `system.run` ilkesi, node'un kendi exec onayları dosyasıdır (`exec.approvals.node.*`); bu, gateway'in genel komut kimliği ilkesinden daha katı veya daha gevşek olabilir. -- `security="full"` ve `ask="off"` ile çalışan bir node, varsayılan güvenilir operatör modelini izliyordur. Dağıtımınız açıkça daha sıkı bir onay veya izin listesi duruşu gerektirmiyorsa bunu beklenen davranış olarak değerlendirin. -- Onay modu, tam istek bağlamını ve mümkün olduğunda tek bir somut yerel betik/dosya işlenenini bağlar. OpenClaw bir yorumlayıcı/çalışma zamanı komutu için tam olarak bir doğrudan yerel dosya tanımlayamazsa, tam anlamsal kapsam vaat etmek yerine onaya dayalı yürütme reddedilir. -- `host=node` için onaya dayalı çalıştırmalar ayrıca kanonik olarak hazırlanmış bir - `systemRunPlan` depolar; daha sonra onaylanan iletmeler bu depolanmış planı yeniden kullanır ve gateway - doğrulaması, onay isteği oluşturulduktan sonra komut/cwd/oturum bağlamında çağıran tarafından yapılan düzenlemeleri reddeder. -- Uzaktan yürütme istemiyorsanız güvenliği **deny** olarak ayarlayın ve o Mac için node eşleştirmesini kaldırın. +- Düğüm eşleştirmesi gerektirir (onay + token). +- Gateway düğüm eşleştirmesi komut başına onay yüzeyi değildir. Düğüm kimliğini/güvenini ve token verilmesini kurar. +- Gateway, `gateway.nodes.allowCommands` / `denyCommands` üzerinden kaba bir genel düğüm komutu ilkesi uygular. +- Mac üzerinde **Ayarlar → Exec onayları** (güvenlik + sorma + izin listesi) aracılığıyla kontrol edilir. +- Düğüm başına `system.run` ilkesi, Gateway’in genel komut kimliği ilkesinden daha sıkı veya daha gevşek olabilen düğümün kendi exec onayları dosyasıdır (`exec.approvals.node.*`). +- `security="full"` ve `ask="off"` ile çalışan bir düğüm, varsayılan güvenilir operatör modelini izliyordur. Dağıtımınız açıkça daha sıkı bir onay veya izin listesi tutumu gerektirmedikçe bunu beklenen davranış olarak değerlendirin. +- Onay modu tam istek bağlamına ve mümkün olduğunda somut bir yerel betik/dosya işlenenine bağlanır. OpenClaw, bir yorumlayıcı/çalışma zamanı komutu için tam olarak bir doğrudan yerel dosya tanımlayamazsa, onay destekli yürütme tam anlamsal kapsam vadetmek yerine reddedilir. +- `host=node` için onay destekli çalıştırmalar ayrıca kanonik hazırlanmış bir + `systemRunPlan` saklar; daha sonra onaylanan iletmeler bu saklanan planı yeniden kullanır ve Gateway + doğrulaması, onay isteği oluşturulduktan sonra çağıranın komut/cwd/oturum bağlamında yaptığı düzenlemeleri reddeder. +- Uzaktan yürütme istemiyorsanız güvenliği **deny** olarak ayarlayın ve o Mac için düğüm eşleştirmesini kaldırın. Bu ayrım triyaj için önemlidir: -- Farklı bir komut listesi duyuran yeniden bağlanan eşleştirilmiş bir node, Gateway genel ilkesi ve node'un yerel exec onayları gerçek yürütme sınırını hâlâ uyguluyorsa tek başına bir güvenlik açığı değildir. -- Node eşleştirme metadatasını ikinci bir gizli komut başına onay katmanı olarak ele alan raporlar genellikle bir güvenlik sınırı atlatması değil, ilke/UX karışıklığıdır. +- Farklı bir komut listesi bildiren yeniden bağlanan eşleştirilmiş bir düğüm, Gateway genel ilkesi ve düğümün yerel exec onayları gerçek yürütme sınırını hâlâ uyguluyorsa tek başına bir güvenlik açığı değildir. +- Düğüm eşleştirme meta verilerini ikinci bir gizli komut başına onay katmanı olarak ele alan raporlar genellikle bir güvenlik sınırı atlaması değil, ilke/UX karışıklığıdır. -## Dinamik Skills (izleyici / uzak node'lar) +## Dinamik Skills (izleyici / uzak düğümler) -OpenClaw, skills listesini oturum ortasında yenileyebilir: +OpenClaw, Skills listesini oturum ortasında yenileyebilir: -- **Skills izleyicisi**: `SKILL.md` değişiklikleri, bir sonraki ajan turunda skills anlık görüntüsünü güncelleyebilir. -- **Uzak node'lar**: bir macOS node'u bağlandığında macOS'a özel skills uygun hâle gelebilir (bin yoklamasına göre). +- **Skills izleyicisi**: `SKILL.md` değişiklikleri, bir sonraki aracı turunda Skills anlık görüntüsünü güncelleyebilir. +- **Uzak düğümler**: bir macOS düğümünün bağlanması, macOS’a özel Skills öğelerini uygun hâle getirebilir (bin yoklamasına göre). -Skill klasörlerini **güvenilir kod** olarak değerlendirin ve bunları kimlerin değiştirebileceğini sınırlayın. +Skills klasörlerini **güvenilir kod** olarak değerlendirin ve bunları kimin değiştirebileceğini kısıtlayın. ## Tehdit modeli AI asistanınız şunları yapabilir: -- Rastgele shell komutları yürütebilir +- Rastgele kabuk komutları yürütebilir - Dosyaları okuyabilir/yazabilir - Ağ hizmetlerine erişebilir - Herkese mesaj gönderebilir (WhatsApp erişimi verirseniz) -Size mesaj atan kişiler şunları yapabilir: +Size mesaj gönderen kişiler şunları yapabilir: -- AI'ınızı kötü şeyler yapmaya kandırmaya çalışabilir +- AI’nızı kötü şeyler yapmaya kandırmaya çalışabilir - Verilerinize erişim için sosyal mühendislik yapabilir - Altyapı ayrıntılarını yoklayabilir -## Temel kavram: zekâdan önce erişim kontrolü +## Temel kavram: zekâdan önce erişim denetimi -Buradaki çoğu hata süslü açıklar değildir — “biri bota mesaj attı ve bot isteneni yaptı” durumudur. +Buradaki çoğu hata süslü istismarlar değildir — “biri bota mesaj attı ve bot isteneni yaptı” durumudur. -OpenClaw’ın duruşu: +OpenClaw’ın tutumu: -- **Önce kimlik:** botla kimin konuşabileceğine karar verin (DM eşleştirme / izin listeleri / açık “open”). -- **Sonra kapsam:** botun nerede işlem yapmasına izin verildiğine karar verin (grup izin listeleri + mention geçidi, araçlar, sandboxing, cihaz izinleri). +- **Önce kimlik:** botla kimin konuşabileceğine karar verin (DM eşleştirmesi / izin listeleri / açık “open”). +- **Sonra kapsam:** botun nerede işlem yapmasına izin verildiğine karar verin (grup izin listeleri + bahsetme geçidi, araçlar, sandboxing, cihaz izinleri). - **En son model:** modelin manipüle edilebileceğini varsayın; manipülasyonun etki alanı sınırlı olacak şekilde tasarlayın. ## Komut yetkilendirme modeli -Slash komutları ve yönergeler yalnızca **yetkili gönderenler** için dikkate alınır. Yetkilendirme, -kanal izin listeleri/eşleştirmesi ve `commands.useAccessGroups` üzerinden türetilir (bkz. [Yapılandırma](/tr/gateway/configuration) +Slash komutları ve yönergeler yalnızca **yetkili göndericiler** için dikkate alınır. Yetkilendirme, +kanal izin listeleri/eşleştirme artı `commands.useAccessGroups` üzerinden türetilir (bkz. [Yapılandırma](/tr/gateway/configuration) ve [Slash komutları](/tr/tools/slash-commands)). Bir kanal izin listesi boşsa veya `"*"` içeriyorsa, komutlar o kanal için fiilen açıktır. -`/exec`, yetkili operatörler için yalnızca oturuma özel bir kolaylıktır. Yapılandırma yazmaz veya +`/exec`, yetkili operatörler için yalnızca oturuma özgü bir kolaylıktır. Yapılandırma yazmaz veya diğer oturumları değiştirmez. ## Kontrol düzlemi araçları riski @@ -474,17 +471,17 @@ diğer oturumları değiştirmez. İki yerleşik araç kalıcı kontrol düzlemi değişiklikleri yapabilir: - `gateway`, `config.schema.lookup` / `config.get` ile yapılandırmayı inceleyebilir ve `config.apply`, `config.patch` ve `update.run` ile kalıcı değişiklikler yapabilir. -- `cron`, özgün sohbet/görev sona erdikten sonra çalışmaya devam eden zamanlanmış işler oluşturabilir. +- `cron`, özgün sohbet/görev bittikten sonra çalışmaya devam eden zamanlanmış işler oluşturabilir. -Yalnızca sahibin kullanabildiği `gateway` çalışma zamanı aracı yine de -`tools.exec.ask` veya `tools.exec.security` değerlerini yeniden yazmayı reddeder; eski `tools.bash.*` takma adları, -yazmadan önce aynı korumalı exec yollarına normalize edilir. -Ajan tarafından yönlendirilen `gateway config.apply` ve `gateway config.patch` düzenlemeleri -varsayılan olarak kapalı kalır: yalnızca dar bir prompt, model ve mention geçidi -yolu kümesi ajan tarafından ayarlanabilir. Bu nedenle yeni hassas yapılandırma ağaçları, +Yalnızca sahip için olan `gateway` çalışma zamanı aracı yine de +`tools.exec.ask` veya `tools.exec.security` değerlerini yeniden yazmayı reddeder; eski `tools.bash.*` takma adları +yazmadan önce aynı korumalı exec yollarına normalleştirilir. +Aracı tarafından yönlendirilen `gateway config.apply` ve `gateway config.patch` düzenlemeleri +varsayılan olarak kapalı başarısız olur: yalnızca dar bir istem, model ve bahsetme geçidi +yolu kümesi aracı tarafından ayarlanabilir. Bu nedenle yeni hassas yapılandırma ağaçları, bilinçli olarak izin listesine eklenmedikçe korunur. -Güvenilmeyen içerikleri işleyen her ajan/yüzey için bunları varsayılan olarak reddedin: +Güvenilmeyen içeriği işleyen herhangi bir aracı/yüzey için bunları varsayılan olarak reddedin: ```json5 { @@ -496,32 +493,32 @@ Güvenilmeyen içerikleri işleyen her ajan/yüzey için bunları varsayılan ol `commands.restart=false` yalnızca yeniden başlatma eylemlerini engeller. `gateway` yapılandırma/güncelleme eylemlerini devre dışı bırakmaz. -## Plugin'ler +## Plugins -Plugin'ler Gateway ile **aynı süreç içinde** çalışır. Bunları güvenilir kod olarak değerlendirin: +Plugins, Gateway ile **aynı süreç içinde** çalışır. Bunları güvenilir kod olarak değerlendirin: -- Yalnızca güvendiğiniz kaynaklardan plugin yükleyin. +- Yalnızca güvendiğiniz kaynaklardan Plugins kurun. - Açık `plugins.allow` izin listelerini tercih edin. -- Etkinleştirmeden önce plugin yapılandırmasını gözden geçirin. -- Plugin değişikliklerinden sonra Gateway'i yeniden başlatın. -- Plugin yükler veya güncellerseniz (`openclaw plugins install `, `openclaw plugins update `), bunu güvenilmeyen kod çalıştırmak gibi değerlendirin: - - Yükleme yolu, etkin plugin yükleme kökü altındaki plugin başına dizindir. - - OpenClaw, yükleme/güncelleme öncesinde yerleşik bir tehlikeli kod taraması çalıştırır. `critical` bulgular varsayılan olarak engeller. - - OpenClaw `npm pack` kullanır, ardından o dizinde proje yerelinde `npm install --omit=dev --ignore-scripts` çalıştırır. Devralınan genel npm yükleme ayarları yok sayılır, böylece bağımlılıklar plugin yükleme yolu altında kalır. +- Etkinleştirmeden önce Plugin yapılandırmasını gözden geçirin. +- Plugin değişikliklerinden sonra Gateway’i yeniden başlatın. +- Plugins kurar veya güncellerseniz (`openclaw plugins install `, `openclaw plugins update `), bunu güvenilmeyen kod çalıştırmak gibi değerlendirin: + - Kurulum yolu, etkin Plugin kurulum kökü altındaki Plugin başına dizindir. + - OpenClaw, kurulum/güncelleme öncesinde yerleşik bir tehlikeli kod taraması çalıştırır. `critical` bulgular varsayılan olarak engeller. + - OpenClaw `npm pack` kullanır, ardından o dizinde proje yereline ait bir `npm install --omit=dev --ignore-scripts` çalıştırır. Devralınan genel npm kurulum ayarları yok sayılır; böylece bağımlılıklar Plugin kurulum yolunun altında kalır. - Sabitlenmiş, tam sürümleri (`@scope/pkg@1.2.3`) tercih edin ve etkinleştirmeden önce diskte açılmış kodu inceleyin. - - `--dangerously-force-unsafe-install`, plugin yükleme/güncelleme akışlarında yalnızca yerleşik tarama yanlış pozitifleri için son çare seçeneğidir. Plugin `before_install` hook ilke engellerini atlatmaz ve tarama hatalarını atlatmaz. - - Gateway destekli skill bağımlılığı yüklemeleri aynı tehlikeli/şüpheli ayrımını izler: yerleşik `critical` bulgular, çağıran açıkça `dangerouslyForceUnsafeInstall` ayarlamadıkça engeller; şüpheli bulgular ise yine yalnızca uyarır. `openclaw skills install`, ayrı ClawHub skill indirme/yükleme akışı olarak kalır. + - `--dangerously-force-unsafe-install`, yalnızca Plugin kurulum/güncelleme akışlarında yerleşik tarama yanlış pozitifleri için son çaredir. Plugin `before_install` kancası ilke engellerini atlamaz ve tarama hatalarını atlamaz. + - Gateway destekli Skills bağımlılık kurulumları aynı tehlikeli/şüpheli ayrımını izler: yerleşik `critical` bulgular, çağıran açıkça `dangerouslyForceUnsafeInstall` ayarlamadıkça engeller; şüpheli bulgular ise yine yalnızca uyarır. `openclaw skills install`, ayrı ClawHub Skills indirme/kurulum akışı olarak kalır. -Ayrıntılar: [Plugin'ler](/tr/tools/plugin) +Ayrıntılar: [Plugins](/tr/tools/plugin) ## DM erişim modeli: eşleştirme, izin listesi, açık, devre dışı -Güncel DM özellikli tüm kanallar, mesaj işlenmeden **önce** gelen DM'leri denetleyen bir DM ilkesini (`dmPolicy` veya `*.dm.policy`) destekler: +Mevcut tüm DM destekli kanallar, gelen DM’leri mesaj işlenmeden **önce** geçitten geçiren bir DM ilkesini (`dmPolicy` veya `*.dm.policy`) destekler: -- `pairing` (varsayılan): bilinmeyen gönderenler kısa bir eşleştirme kodu alır ve bot, onaylanana kadar mesajlarını yok sayar. Kodların süresi 1 saat sonra dolar; yinelenen DM'ler yeni bir istek oluşturulana kadar yeniden kod göndermez. Bekleyen istekler varsayılan olarak **kanal başına 3** ile sınırlıdır. -- `allowlist`: bilinmeyen gönderenler engellenir (eşleştirme el sıkışması yoktur). -- `open`: herkesin DM göndermesine izin verir (genel). Kanal izin listesinin `"*"` içermesini **gerektirir** (açık katılım). -- `disabled`: gelen DM'leri tamamen yok sayar. +- `pairing` (varsayılan): bilinmeyen göndericiler kısa bir eşleştirme kodu alır ve bot, onaylanana kadar mesajlarını yok sayar. Kodlar 1 saat sonra sona erer; yeni bir istek oluşturulana kadar tekrarlanan DM’ler yeniden kod göndermez. Bekleyen istekler varsayılan olarak **kanal başına 3** ile sınırlandırılır. +- `allowlist`: bilinmeyen göndericiler engellenir (eşleştirme el sıkışması yok). +- `open`: herkesin DM göndermesine izin ver (herkese açık). Kanal izin listesinin `"*"` içermesini **gerektirir** (açık tercih). +- `disabled`: gelen DM’leri tamamen yok say. CLI ile onaylayın: @@ -532,9 +529,9 @@ openclaw pairing approve Ayrıntılar + diskteki dosyalar: [Eşleştirme](/tr/channels/pairing) -## DM oturum yalıtımı (çok kullanıcılı mod) +## DM oturum izolasyonu (çok kullanıcılı mod) -Varsayılan olarak OpenClaw, asistanınızın cihazlar ve kanallar arasında sürekliliği olması için **tüm DM'leri ana oturuma** yönlendirir. **Birden fazla kişi** bota DM gönderebiliyorsa (açık DM'ler veya çok kişili izin listesi), DM oturumlarını yalıtmayı düşünün: +Varsayılan olarak OpenClaw, asistanınızın cihazlar ve kanallar arasında sürekliliği olması için **tüm DM’leri ana oturuma** yönlendirir. Bota **birden fazla kişi** DM gönderebiliyorsa (açık DM’ler veya çok kişili izin listesi), DM oturumlarını izole etmeyi değerlendirin: ```json5 { @@ -542,252 +539,223 @@ Varsayılan olarak OpenClaw, asistanınızın cihazlar ve kanallar arasında sü } ``` -Bu, grup sohbetlerini yalıtılmış tutarken kullanıcılar arası bağlam sızıntısını önler. +Bu, grup sohbetlerini izole tutarken kullanıcılar arası bağlam sızıntısını önler. -Bu bir mesajlaşma bağlamı sınırıdır, host yöneticisi sınırı değildir. Kullanıcılar karşılıklı olarak hasımsa ve aynı Gateway host'unu/yapılandırmasını paylaşıyorsa, güven sınırı başına ayrı gateway'ler çalıştırın. +Bu bir mesajlaşma bağlamı sınırıdır, ana makine yöneticisi sınırı değildir. Kullanıcılar karşılıklı olarak hasımsa ve aynı Gateway ana makinesini/yapılandırmasını paylaşıyorsa, bunun yerine her güven sınırı için ayrı Gateway’ler çalıştırın. ### Güvenli DM modu (önerilir) Yukarıdaki parçayı **güvenli DM modu** olarak değerlendirin: -- Varsayılan: `session.dmScope: "main"` (süreklilik için tüm DM'ler bir oturumu paylaşır). -- Yerel CLI onboarding varsayılanı: ayarlanmamışsa `session.dmScope: "per-channel-peer"` yazar (mevcut açık değerleri korur). -- Güvenli DM modu: `session.dmScope: "per-channel-peer"` (her kanal+gönderen çifti yalıtılmış bir DM bağlamı alır). -- Kanallar arası eş yalıtımı: `session.dmScope: "per-peer"` (her gönderen, aynı türdeki tüm kanallar genelinde tek bir oturum alır). +- Varsayılan: `session.dmScope: "main"` (süreklilik için tüm DM’ler tek oturumu paylaşır). +- Yerel CLI ilk kurulum varsayılanı: ayarlanmamışsa `session.dmScope: "per-channel-peer"` yazar (mevcut açık değerleri korur). +- Güvenli DM modu: `session.dmScope: "per-channel-peer"` (her kanal+gönderici çifti izole bir DM bağlamı alır). +- Kanallar arası eş izolasyonu: `session.dmScope: "per-peer"` (her gönderici, aynı türdeki tüm kanallarda tek oturum alır). -Aynı kanalda birden fazla hesap çalıştırıyorsanız bunun yerine `per-account-channel-peer` kullanın. Aynı kişi sizinle birden fazla kanalda iletişime geçiyorsa, bu DM oturumlarını tek bir kanonik kimliğe birleştirmek için `session.identityLinks` kullanın. Bkz. [Oturum Yönetimi](/tr/concepts/session) ve [Yapılandırma](/tr/gateway/configuration). +Aynı kanalda birden fazla hesap çalıştırıyorsanız bunun yerine `per-account-channel-peer` kullanın. Aynı kişi sizinle birden fazla kanaldan iletişime geçerse, bu DM oturumlarını tek bir kanonik kimlikte birleştirmek için `session.identityLinks` kullanın. Bkz. [Oturum Yönetimi](/tr/concepts/session) ve [Yapılandırma](/tr/gateway/configuration). -## DM'ler ve gruplar için izin listeleri +## DM’ler ve gruplar için izin listeleri OpenClaw’da iki ayrı “beni kim tetikleyebilir?” katmanı vardır: -- **DM izin listesi** (`allowFrom` / `channels.discord.allowFrom` / `channels.slack.allowFrom`; eski: `channels.discord.dm.allowFrom`, `channels.slack.dm.allowFrom`): doğrudan mesajlarda botla kimin konuşmasına izin verildiği. +- **DM izin listesi** (`allowFrom` / `channels.discord.allowFrom` / `channels.slack.allowFrom`; eski: `channels.discord.dm.allowFrom`, `channels.slack.dm.allowFrom`): doğrudan mesajlarda botla konuşmasına izin verilen kişiler. - `dmPolicy="pairing"` olduğunda onaylar, `~/.openclaw/credentials/` altındaki hesap kapsamlı eşleştirme izin listesi deposuna yazılır (varsayılan hesap için `-allowFrom.json`, varsayılan olmayan hesaplar için `--allowFrom.json`) ve yapılandırma izin listeleriyle birleştirilir. -- **Grup izin listesi** (kanala özel): botun hangi gruplardan/kanallardan/sunuculardan gelen mesajları kabul edeceği. +- **Grup izin listesi** (kanala özgü): botun hangi gruplardan/kanallardan/sunuculardan gelen mesajları genel olarak kabul edeceği. - Yaygın kalıplar: - - `channels.whatsapp.groups`, `channels.telegram.groups`, `channels.imessage.groups`: `requireMention` gibi grup başına varsayılanlar; ayarlandığında grup izin listesi olarak da davranır (tümüne izin davranışını korumak için `"*"` ekleyin). - - `groupPolicy="allowlist"` + `groupAllowFrom`: bir grup oturumu _içinde_ botu kimin tetikleyebileceğini sınırlar (WhatsApp/Telegram/Signal/iMessage/Microsoft Teams). - - `channels.discord.guilds` / `channels.slack.channels`: yüzey başına izin listeleri + mention varsayılanları. - - Grup kontrolleri şu sırayla çalışır: önce `groupPolicy`/grup izin listeleri, sonra mention/yanıt aktivasyonu. - - Bir bot mesajına yanıt vermek (örtük mention), `groupAllowFrom` gibi gönderen izin listelerini **atlatmaz**. - - **Güvenlik notu:** `dmPolicy="open"` ve `groupPolicy="open"` ayarlarını son çare olarak değerlendirin. Bunlar neredeyse hiç kullanılmamalıdır; odadaki her üyeye tamamen güvenmiyorsanız eşleştirme + izin listelerini tercih edin. + - `channels.whatsapp.groups`, `channels.telegram.groups`, `channels.imessage.groups`: `requireMention` gibi grup başına varsayılanlar; ayarlandığında grup izin listesi olarak da davranır (herkese izin verme davranışını korumak için `"*"` ekleyin). + - `groupPolicy="allowlist"` + `groupAllowFrom`: bir grup oturumunun _içinde_ botu kimin tetikleyebileceğini kısıtlar (WhatsApp/Telegram/Signal/iMessage/Microsoft Teams). + - `channels.discord.guilds` / `channels.slack.channels`: yüzey başına izin listeleri + bahsetme varsayılanları. + - Grup kontrolleri şu sırayla çalışır: önce `groupPolicy`/grup izin listeleri, sonra bahsetme/yanıt etkinleştirmesi. + - Bir bot mesajını yanıtlamak (örtük bahsetme), `groupAllowFrom` gibi gönderici izin listelerini **atlamaz**. + - **Güvenlik notu:** `dmPolicy="open"` ve `groupPolicy="open"` ayarlarını son çare olarak değerlendirin. Bunlar çok az kullanılmalıdır; odadaki her üyeye tamamen güvenmiyorsanız eşleştirme + izin listelerini tercih edin. Ayrıntılar: [Yapılandırma](/tr/gateway/configuration) ve [Gruplar](/tr/channels/groups) -## Prompt enjeksiyonu (nedir, neden önemlidir) +## Prompt injection (nedir, neden önemlidir) -Prompt enjeksiyonu, saldırganın modeli güvenli olmayan bir şey yapmaya yönlendiren bir mesaj hazırlamasıdır (“talimatlarını yok say”, “dosya sistemini dök”, “bu bağlantıyı izle ve komut çalıştır” vb.). +Prompt injection, bir saldırganın modeli güvenli olmayan bir şey yapmaya yönlendiren bir mesaj hazırlamasıdır (“talimatlarını yok say”, “dosya sistemini dök”, “bu bağlantıyı izle ve komutları çalıştır” vb.). -Güçlü sistem prompt'ları olsa bile, **prompt enjeksiyonu çözülmüş değildir**. Sistem prompt korumaları yalnızca yumuşak yönlendirmedir; sert uygulama araç ilkesi, exec onayları, sandboxing ve kanal izin listelerinden gelir (ve operatörler bunları tasarım gereği devre dışı bırakabilir). Pratikte yardımcı olanlar: +Güçlü sistem istemleri olsa bile **prompt injection çözülmüş değildir**. Sistem istemi koruma hatları yalnızca yumuşak rehberliktir; katı uygulama araç ilkesi, exec onayları, sandboxing ve kanal izin listelerinden gelir (ve operatörler bunları tasarım gereği devre dışı bırakabilir). Pratikte yardımcı olanlar: -- Gelen DM'leri kilitli tutun (eşleştirme/izin listeleri). -- Gruplarda bahsetme denetimini tercih edin; herkese açık odalarda “her zaman açık” botlardan kaçının. -- Bağlantıları, ekleri ve yapıştırılmış talimatları varsayılan olarak düşmanca kabul edin. -- Hassas araç yürütmesini bir sandbox içinde çalıştırın; sırları ajanın erişebildiği dosya sisteminin dışında tutun. -- Not: sandbox kullanımı isteğe bağlıdır. Sandbox modu kapalıysa, örtük `host=auto` Gateway ana makinesine çözümlenir. Açık `host=sandbox`, kullanılabilir sandbox çalışma zamanı olmadığı için yine kapalı şekilde başarısız olur. Bu davranışın yapılandırmada açık olmasını istiyorsanız `host=gateway` ayarlayın. +- Gelen DM'leri kilit altında tutun (eşleştirme/izin listeleri). +- Gruplarda bahsetmeye dayalı erişim denetimini tercih edin; herkese açık odalarda “her zaman açık” botlardan kaçının. +- Bağlantıları, ekleri ve yapıştırılan talimatları varsayılan olarak düşmanca kabul edin. +- Hassas araç çalıştırmayı bir sanal alanda yürütün; sırları ajanın erişebildiği dosya sisteminin dışında tutun. +- Not: sanal alan kullanımı isteğe bağlıdır. Sanal alan modu kapalıysa, örtük `host=auto` Gateway ana makinesine çözümlenir. Açık `host=sandbox` yine kapalı şekilde başarısız olur, çünkü kullanılabilir bir sanal alan çalışma zamanı yoktur. Bu davranışın yapılandırmada açık olmasını istiyorsanız `host=gateway` ayarlayın. - Yüksek riskli araçları (`exec`, `browser`, `web_fetch`, `web_search`) güvenilir ajanlarla veya açık izin listeleriyle sınırlayın. -- Yorumlayıcıları izin listesine alırsanız (`python`, `node`, `ruby`, `perl`, `php`, `lua`, `osascript`), satır içi eval biçimlerinin yine açık onay gerektirmesi için `tools.exec.strictInlineEval` etkinleştirin. -- Kabuk onay analizi, **tırnaksız heredoc'lar** içinde POSIX parametre genişletme biçimlerini de (`$VAR`, `$?`, `$$`, `$1`, `$@`, `${…}`) reddeder; böylece izin listesindeki bir heredoc gövdesi, kabuk genişletmesini düz metin gibi izin listesi incelemesinden gizlice geçiremez. Değişmez gövde semantiğine geçmek için heredoc sonlandırıcısını tırnaklayın (örneğin `<<'EOF'`); değişkenleri genişletecek tırnaksız heredoc'lar reddedilir. -- **Model seçimi önemlidir:** daha eski/daha küçük/eski nesil modeller, prompt enjeksiyonuna ve araç kötüye kullanımına karşı belirgin ölçüde daha az dayanıklıdır. Araç etkin ajanlar için mevcut en güçlü, en yeni nesil, talimatlara karşı sertleştirilmiş modeli kullanın. +- Yorumlayıcıları (`python`, `node`, `ruby`, `perl`, `php`, `lua`, `osascript`) izin listesine alırsanız, satır içi eval biçimlerinin yine de açık onay gerektirmesi için `tools.exec.strictInlineEval` etkinleştirin. +- Kabuk onayı analizi, **tırnak içine alınmamış heredoc'lar** içindeki POSIX parametre genişletme biçimlerini de (`$VAR`, `$?`, `$$`, `$1`, `$@`, `${…}`) reddeder; böylece izin listesine alınmış bir heredoc gövdesi, kabuk genişletmesini düz metin gibi izin listesi incelemesinden gizlice geçiremez. Değişmez gövde semantiğini seçmek için heredoc sonlandırıcısını tırnak içine alın (örneğin `<<'EOF'`); değişkenleri genişletecek tırnak içine alınmamış heredoc'lar reddedilir. +- **Model seçimi önemlidir:** eski/daha küçük/eski nesil modeller, prompt enjeksiyonuna ve araç kötüye kullanımına karşı belirgin şekilde daha az dayanıklıdır. Araç etkin ajanlar için mevcut en güçlü, en yeni nesil, talimatlara karşı güçlendirilmiş modeli kullanın. -Güvenilmez kabul edilmesi gereken kırmızı bayraklar: +Güvenilmeyen olarak ele alınacak kırmızı bayraklar: -- “Bu dosyayı/URL'yi oku ve tam olarak ne diyorsa onu yap.” +- “Bu dosyayı/URL'yi oku ve tam olarak söylediğini yap.” - “Sistem prompt'unu veya güvenlik kurallarını yok say.” - “Gizli talimatlarını veya araç çıktılarını açıkla.” -- “~/.openclaw dizininin veya günlüklerinin tam içeriğini yapıştır.” +- “~/.openclaw dizininin veya günlüklerinin tüm içeriğini yapıştır.” -## Harici içerik özel belirteç arındırması +## Harici içerik özel-token temizleme -OpenClaw, modele ulaşmadan önce sarılmış harici içerikten ve meta veriden yaygın self-hosted LLM sohbet şablonu özel belirteç değişmezlerini çıkarır. Kapsanan işaretleyici aileleri Qwen/ChatML, Llama, Gemma, Mistral, Phi ve GPT-OSS rol/tur belirteçlerini içerir. +OpenClaw, yaygın kendi barındırılan LLM sohbet şablonu özel-token düz metinlerini, modele ulaşmadan önce sarmalanmış harici içerikten ve meta verilerden çıkarır. Kapsanan işaretçi aileleri Qwen/ChatML, Llama, Gemma, Mistral, Phi ve GPT-OSS rol/tur token'larını içerir. Neden: -- Self-hosted modellerin önüne geçen OpenAI uyumlu arka uçlar, kullanıcı metninde görünen özel belirteçleri maskelemek yerine bazen korur. Gelen harici içeriğe (getirilen bir sayfa, e-posta gövdesi, dosya içerikleri araç çıktısı) yazabilen bir saldırgan, aksi halde yapay bir `assistant` veya `system` rol sınırı enjekte edip sarılmış içerik korumalarından kaçabilir. -- Arındırma, harici içerik sarma katmanında gerçekleşir; bu nedenle sağlayıcı başına uygulanmak yerine getirme/okuma araçları ve gelen kanal içeriği genelinde tek biçimde uygulanır. -- Giden model yanıtlarında, sızmış ``, ``, ``, `` ve benzeri dahili çalışma zamanı iskelelerini kullanıcıya görünen yanıtlardan son kanal teslim sınırında çıkaran ayrı bir arındırıcı zaten vardır. Harici içerik arındırıcısı bunun gelen taraftaki karşılığıdır. +- Kendi barındırılan modellerin önünde duran OpenAI uyumlu arka uçlar, kullanıcı metninde görünen özel token'ları bazen maskelemek yerine korur. Gelen harici içeriğe (getirilmiş bir sayfa, bir e-posta gövdesi, bir dosya içeriği araç çıktısı) yazabilen bir saldırgan, aksi halde sentetik bir `assistant` veya `system` rol sınırı enjekte edip sarmalanmış içerik korumalarından kaçabilir. +- Temizleme, harici içerik sarmalama katmanında gerçekleşir; bu nedenle sağlayıcı başına olmak yerine getirme/okuma araçları ve gelen kanal içeriği genelinde tutarlı şekilde uygulanır. +- Giden model yanıtlarında, kullanıcıya görünür yanıtlardan sızmış ``, ``, ``, `` ve benzeri iç çalışma zamanı iskeletlerini son kanal teslim sınırında çıkaran ayrı bir temizleyici zaten vardır. Harici içerik temizleyici bunun gelen taraftaki karşılığıdır. -Bu, bu sayfadaki diğer sertleştirmelerin yerine geçmez — `dmPolicy`, izin listeleri, exec onayları, sandbox kullanımı ve `contextVisibility` hâlâ birincil işi yapar. Kullanıcı metnini özel belirteçler bozulmadan ileten self-hosted yığınlara karşı belirli bir tokenizer katmanı atlatmasını kapatır. +Bu, bu sayfadaki diğer güçlendirmelerin yerine geçmez — `dmPolicy`, izin listeleri, exec onayları, sanal alan ve `contextVisibility` birincil işi yapmaya devam eder. Özel token'ları bozulmadan kullanıcı metniyle ileten kendi barındırılan yığınlara karşı belirli bir tokenizer katmanı atlatmasını kapatır. -## Güvensiz harici içerik atlatma bayrakları +## Güvenli olmayan harici içerik atlatma bayrakları -OpenClaw, harici içerik güvenlik sarmasını devre dışı bırakan açık atlatma bayrakları içerir: +OpenClaw, harici içerik güvenlik sarmalamasını devre dışı bırakan açık atlatma bayrakları içerir: - `hooks.mappings[].allowUnsafeExternalContent` - `hooks.gmail.allowUnsafeExternalContent` -- Cron payload alanı `allowUnsafeExternalContent` +- Cron yük alanı `allowUnsafeExternalContent` Rehberlik: -- Üretimde bunları ayarlanmamış/false tutun. -- Yalnızca dar kapsamlı hata ayıklama için geçici olarak etkinleştirin. -- Etkinleştirilirse, o ajanı yalıtın (sandbox + en az araç + ayrılmış oturum ad alanı). +- Bunları üretimde ayarlanmamış/false tutun. +- Yalnızca sıkı kapsamlı hata ayıklama için geçici olarak etkinleştirin. +- Etkinleştirilirse, o ajanı yalıtın (sanal alan + en az araç + ayrılmış oturum ad alanı). Hooks risk notu: -- Hook payload'ları, teslimat kontrol ettiğiniz sistemlerden gelse bile güvenilmez içeriktir (posta/belge/web içeriği prompt enjeksiyonu taşıyabilir). -- Zayıf model katmanları bu riski artırır. Hook güdümlü otomasyon için güçlü modern model katmanlarını tercih edin ve araç politikasını sıkı tutun (`tools.profile: "messaging"` veya daha katısı), ayrıca mümkün olduğunda sandbox kullanın. +- Kanca yükleri, teslimat denetiminizdeki sistemlerden gelse bile güvenilmeyen içeriktir (posta/belge/web içeriği istem enjeksiyonu taşıyabilir). +- Zayıf model katmanları bu riski artırır. Kanca güdümlü otomasyon için güçlü modern model katmanlarını tercih edin ve araç politikasını sıkı tutun (`tools.profile: "messaging"` veya daha katısı); mümkün olan yerlerde korumalı alan kullanın. -### Prompt enjeksiyonu herkese açık DM gerektirmez +### İstem enjeksiyonu herkese açık DM'ler gerektirmez -Bota **yalnızca siz** mesaj gönderebilseniz bile, prompt enjeksiyonu botun okuduğu -herhangi bir **güvenilmez içerik** üzerinden yine de gerçekleşebilir (web arama/getirme sonuçları, tarayıcı sayfaları, -e-postalar, belgeler, ekler, yapıştırılmış günlükler/kod). Başka bir deyişle: gönderen -tek tehdit yüzeyi değildir; **içeriğin kendisi** düşmanca talimatlar taşıyabilir. +Bota **yalnızca siz** mesaj gönderebilseniz bile, istem enjeksiyonu botun okuduğu +herhangi bir **güvenilmeyen içerik** üzerinden yine de gerçekleşebilir (web araması/getirme sonuçları, tarayıcı sayfaları, +e-postalar, belgeler, ekler, yapıştırılan günlükler/kod). Başka bir deyişle: gönderen +tek tehdit yüzeyi değildir; **içeriğin kendisi** hasmane talimatlar taşıyabilir. -Araçlar etkinleştirildiğinde tipik risk, bağlamı dışarı sızdırmak veya +Araçlar etkinleştirildiğinde, tipik risk bağlamı dışarı sızdırmak veya araç çağrılarını tetiklemektir. Etki alanını şu yollarla azaltın: -- Güvenilmez içeriği özetlemek için salt okunur veya araçları devre dışı bırakılmış bir **okuyucu ajan** kullanın, +- Güvenilmeyen içeriği özetlemek için salt okunur veya aracı devre dışı bırakılmış bir **okuyucu ajan** kullanın, ardından özeti ana ajanınıza iletin. -- Araç etkin ajanlar için gerekmedikçe `web_search` / `web_fetch` / `browser` kapalı tutun. +- Araç etkin ajanlarda gerekmedikçe `web_search` / `web_fetch` / `browser` kapalı tutun. - OpenResponses URL girdileri (`input_file` / `input_image`) için sıkı `gateway.http.endpoints.responses.files.urlAllowlist` ve `gateway.http.endpoints.responses.images.urlAllowlist` ayarlayın ve `maxUrlParts` değerini düşük tutun. Boş izin listeleri ayarlanmamış kabul edilir; URL getirmeyi tamamen devre dışı bırakmak istiyorsanız `files.allowUrl: false` / `images.allowUrl: false` kullanın. -- OpenResponses dosya girdileri için çözümlenen `input_file` metni yine - **güvenilmez harici içerik** olarak enjekte edilir. Gateway bunu yerel olarak çözdü diye - dosya metninin güvenilir olduğuna güvenmeyin. Enjekte edilen blok, bu yol daha uzun - `SECURITY NOTICE:` başlığını atlamasına rağmen, yine açık - `<<>>` sınır işaretleyicileri ve `Source: External` - meta verisi taşır. -- Medya anlama, ekli belgelerden metin çıkarıp bu metni medya prompt'una eklemeden önce aynı işaretleyici tabanlı sarma uygulanır. -- Güvenilmez girdiye dokunan her ajan için sandbox kullanımını ve sıkı araç izin listelerini etkinleştirin. -- Sırları prompt'ların dışında tutun; bunun yerine Gateway ana makinesinde env/config üzerinden geçirin. +- OpenResponses dosya girdileri için, kodu çözülmüş `input_file` metni yine + **güvenilmeyen harici içerik** olarak enjekte edilir. Dosya metninin yalnızca + Gateway tarafından yerelde kodunun çözülmüş olması nedeniyle güvenilir olduğuna bel bağlamayın. Enjekte edilen blok, bu yol daha uzun `SECURITY NOTICE:` afişini atlasa da, + açık `<<>>` sınır işaretleri ile `Source: External` + üst verilerini yine de taşır. +- Aynı işaret tabanlı sarmalama, medya anlama ekli belgelerden metin çıkarıp + bu metni medya istemine eklemeden önce uygulanır. +- Güvenilmeyen girdiye temas eden tüm ajanlar için korumalı alanı ve sıkı araç izin listelerini etkinleştirme. +- Gizli bilgileri istemlerin dışında tutun; bunun yerine bunları Gateway ana makinesinde env/config üzerinden iletin. -### Self-hosted LLM arka uçları +### Kendinden barındırılan LLM arka uçları -vLLM, SGLang, TGI, LM Studio gibi OpenAI uyumlu self-hosted arka uçlar -veya özel Hugging Face tokenizer yığınları, sohbet şablonu özel belirteçlerinin -nasıl işlendiği konusunda barındırılan sağlayıcılardan farklı olabilir. Bir arka uç, -`<|im_start|>`, `<|start_header_id|>` veya `` gibi değişmez dizeleri -kullanıcı içeriği içinde yapısal sohbet şablonu belirteçleri olarak tokenize ederse, -güvenilmez metin tokenizer katmanında rol sınırları oluşturmaya çalışabilir. +vLLM, SGLang, TGI, LM Studio gibi OpenAI uyumlu kendinden barındırılan arka uçlar +veya özel Hugging Face tokenizer yığınları, sohbet şablonu özel token'larının işlenme biçiminde +barındırılan sağlayıcılardan farklılık gösterebilir. Bir arka uç `<|im_start| -OpenClaw, modele göndermeden önce sarılmış harici içerikten yaygın model ailesi özel belirteç değişmezlerini çıkarır. Harici içerik sarmayı etkin tutun ve mevcut olduğunda kullanıcı tarafından sağlanan içerikte özel belirteçleri bölen veya kaçışlayan arka uç ayarlarını tercih edin. OpenAI ve Anthropic gibi barındırılan sağlayıcılar zaten kendi istek tarafı arındırmalarını uygular. +OpenClaw, sarmalanmış harici içeriği modele göndermeden önce yaygın model ailesi özel belirteç literallerini kaldırır. Harici içerik sarmalamayı etkin tutun ve mümkün olduğunda kullanıcı tarafından sağlanan içerikteki özel belirteçleri bölen veya kaçışlayan arka uç ayarlarını tercih edin. OpenAI ve Anthropic gibi barındırılan sağlayıcılar zaten kendi istek tarafı temizlemelerini uygular. ### Model gücü (güvenlik notu) -Prompt enjeksiyonuna direnç model katmanları arasında **tek tip** değildir. Daha küçük/daha ucuz modeller, özellikle düşmanca prompt'lar altında genellikle araç kötüye kullanımına ve talimat ele geçirmeye daha yatkındır. +Prompt enjeksiyonuna direnç, model katmanları arasında **tek tip** değildir. Daha küçük/ucuz modeller, özellikle saldırgan prompt'lar altında, araç kötüye kullanımına ve talimat ele geçirmeye genellikle daha açıktır. -Araç etkin ajanlar veya güvenilmez içerik okuyan ajanlar için eski/daha küçük modellerle prompt enjeksiyonu riski genellikle çok yüksektir. Bu iş yüklerini zayıf model katmanlarında çalıştırmayın. +Araç etkin agent'lar veya güvenilmeyen içeriği okuyan agent'lar için, eski/küçük modellerde prompt enjeksiyonu riski çoğu zaman çok yüksektir. Bu iş yüklerini zayıf model katmanlarında çalıştırmayın. Öneriler: -- Araç çalıştırabilen veya dosyalara/ağlara dokunabilen her bot için **en yeni nesil, en iyi katman modeli** kullanın. -- Araç etkin ajanlar veya güvenilmez gelen kutuları için **eski/zayıf/daha küçük katmanları kullanmayın**; prompt enjeksiyonu riski çok yüksektir. -- Daha küçük bir model kullanmanız gerekiyorsa, **etki alanını azaltın** (salt okunur araçlar, güçlü sandbox kullanımı, en az dosya sistemi erişimi, sıkı izin listeleri). -- Küçük modeller çalıştırırken **tüm oturumlar için sandbox kullanımını etkinleştirin** ve girdiler sıkı şekilde kontrol edilmedikçe **web_search/web_fetch/browser devre dışı bırakın**. -- Güvenilir girdiye ve hiçbir araca sahip olmayan yalnızca sohbet amaçlı kişisel asistanlar için daha küçük modeller genellikle uygundur. +- Araç çalıştırabilen veya dosyalara/ağlara dokunabilen herhangi bir bot için **en yeni nesil, en üst katman modeli kullanın**. +- Araç etkin agent'lar veya güvenilmeyen gelen kutuları için **eski/zayıf/küçük katmanları kullanmayın**; prompt enjeksiyonu riski çok yüksektir. +- Daha küçük bir model kullanmanız gerekiyorsa **etki alanını azaltın** (salt okunur araçlar, güçlü sandboxing, en az dosya sistemi erişimi, katı izin listeleri). +- Küçük modeller çalıştırırken, girdiler sıkı biçimde denetlenmiyorsa **tüm oturumlar için sandboxing etkinleştirin** ve **web_search/web_fetch/browser özelliklerini devre dışı bırakın**. +- Güvenilir girdiye sahip ve araçsız, yalnızca sohbet amaçlı kişisel asistanlar için küçük modeller genellikle uygundur. ## Gruplarda akıl yürütme ve ayrıntılı çıktı -`/reasoning`, `/verbose` ve `/trace`; herkese açık bir kanal için amaçlanmamış -dahili akıl yürütmeyi, araç çıktısını veya Plugin tanılamalarını -açığa çıkarabilir. Grup ortamlarında bunları **yalnızca hata ayıklama** -olarak değerlendirin ve açıkça gerekmedikçe kapalı tutun. +`/reasoning`, `/verbose` ve `/trace`; herkese açık bir kanal için tasarlanmamış iç akıl yürütmeyi, araç çıktısını veya Plugin tanılamalarını açığa çıkarabilir. Grup ortamlarında bunları **yalnızca hata ayıklama** amaçlı kabul edin ve açıkça gerekmedikçe kapalı tutun. Rehberlik: -- Herkese açık odalarda `/reasoning`, `/verbose` ve `/trace` devre dışı tutun. -- Bunları etkinleştirirseniz, yalnızca güvenilir DM'lerde veya sıkı denetimli odalarda yapın. -- Unutmayın: ayrıntılı ve izleme çıktısı araç argümanlarını, URL'leri, Plugin tanılamalarını ve modelin gördüğü verileri içerebilir. +- Genel odalarda `/reasoning`, `/verbose` ve `/trace` devre dışı kalsın. +- Bunları etkinleştirirseniz, bunu yalnızca güvenilir DM'lerde veya sıkı şekilde denetlenen odalarda yapın. +- Unutmayın: verbose ve trace çıktısı araç argümanlarını, URL'leri, plugin tanılamalarını ve modelin gördüğü verileri içerebilir. -## Yapılandırma sertleştirme örnekleri +## Yapılandırma sağlamlaştırma örnekleri ### Dosya izinleri -Gateway ana makinesinde config + state öğelerini özel tutun: +Gateway ana makinesinde yapılandırmayı + durumu özel tutun: - `~/.openclaw/openclaw.json`: `600` (yalnızca kullanıcı okuma/yazma) - `~/.openclaw`: `700` (yalnızca kullanıcı) `openclaw doctor` bu izinleri sıkılaştırmayı önerebilir ve uyarı verebilir. -### Ağ maruziyeti (bind, port, güvenlik duvarı) +### Ağ maruziyeti (bağlama, bağlantı noktası, güvenlik duvarı) -Gateway, tek bir port üzerinde **WebSocket + HTTP** çoklar: +Gateway, **WebSocket + HTTP** trafiğini tek bir bağlantı noktasında çoğullar: - Varsayılan: `18789` -- Config/bayraklar/env: `gateway.port`, `--port`, `OPENCLAW_GATEWAY_PORT` +- Yapılandırma/bayraklar/env: `gateway.port`, `--port`, `OPENCLAW_GATEWAY_PORT` -Bu HTTP yüzeyi Control UI ve canvas host içerir: +Bu HTTP yüzeyi Control UI'yi ve canvas ana makinesini içerir: - Control UI (SPA varlıkları) (varsayılan temel yol `/`) -- Canvas host: `/__openclaw__/canvas/` ve `/__openclaw__/a2ui/` (rastgele HTML/JS; güvenilmez içerik olarak değerlendirin) +- Canvas ana makinesi: `/__openclaw__/canvas/` ve `/__openclaw__/a2ui/` (rastgele HTML/JS; güvenilmeyen içerik olarak ele alın) -Canvas içeriğini normal bir tarayıcıda yüklerseniz, onu diğer güvenilmez web sayfaları gibi değerlendirin: +Canvas içeriğini normal bir tarayıcıda yüklerseniz, herhangi bir güvenilmeyen web sayfası gibi ele alın: -- Canvas host'u güvenilmez ağlara/kullanıcılara açmayın. -- Sonuçlarını tamamen anlamadığınız sürece canvas içeriğinin ayrıcalıklı web yüzeyleriyle aynı kökeni paylaşmasına izin vermeyin. +- Canvas ana makinesini güvenilmeyen ağlara/kullanıcılara açmayın. +- Sonuçlarını tamamen anlamadığınız sürece canvas içeriğinin ayrıcalıklı web yüzeyleriyle aynı origin'i paylaşmasını sağlamayın. -Bind modu Gateway'in nerede dinleyeceğini kontrol eder: +Bağlama modu Gateway'in nerede dinleyeceğini kontrol eder: - `gateway.bind: "loopback"` (varsayılan): yalnızca yerel istemciler bağlanabilir. -- local loopback olmayan bind'ler (`"lan"`, `"tailnet"`, `"custom"`) saldırı yüzeyini genişletir. Bunları yalnızca Gateway kimlik doğrulamasıyla (paylaşılan token/parola veya doğru yapılandırılmış güvenilir proxy) ve gerçek bir güvenlik duvarıyla kullanın. +- local loopback olmayan bağlamalar (`"lan"`, `"tailnet"`, `"custom"`) saldırı yüzeyini genişletir. Bunları yalnızca gateway kimlik doğrulamasıyla (paylaşılan token/parola veya doğru yapılandırılmış güvenilir bir proxy) ve gerçek bir güvenlik duvarıyla kullanın. Pratik kurallar: -- LAN bind'leri yerine Tailscale Serve tercih edin (Serve, Gateway'i local loopback üzerinde tutar ve erişimi Tailscale yönetir). -- LAN'a bind etmeniz gerekiyorsa portu kaynak IP'lerden oluşan dar bir izin listesine güvenlik duvarıyla sınırlayın; geniş şekilde port yönlendirmesi yapmayın. +- LAN bağlamaları yerine Tailscale Serve tercih edin (Serve, Gateway'i local loopback üzerinde tutar ve erişimi Tailscale yönetir). +- LAN'a bağlanmanız gerekiyorsa, bağlantı noktasını kaynak IP'lerden oluşan dar bir izin listesine güvenlik duvarıyla sınırlayın; geniş kapsamlı port yönlendirmesi yapmayın. - Gateway'i `0.0.0.0` üzerinde asla kimlik doğrulamasız açmayın. -### UFW ile Docker port yayımlama +### UFW ile Docker bağlantı noktası yayımlama -OpenClaw'ı bir VPS üzerinde Docker ile çalıştırıyorsanız, yayımlanmış kapsayıcı portlarının -(`-p HOST:CONTAINER` veya Compose `ports:`) yalnızca ana makine `INPUT` kurallarından değil, -Docker'ın yönlendirme zincirlerinden geçtiğini unutmayın. +OpenClaw'ı bir VPS üzerinde Docker ile çalıştırıyorsanız, yayımlanmış container bağlantı noktalarının +(`-p HOST:CONTAINER` veya Compose `ports:`) yalnızca ana makine `INPUT` kuralları üzerinden değil, +Docker'ın forwarding zincirleri üzerinden yönlendirildiğini unutmayın. Docker trafiğini güvenlik duvarı politikanızla uyumlu tutmak için kuralları `DOCKER-USER` içinde zorunlu kılın (bu zincir Docker'ın kendi kabul kurallarından önce değerlendirilir). Birçok modern dağıtımda `iptables`/`ip6tables`, `iptables-nft` önyüzünü kullanır -ve bu kuralları yine de nftables arka ucuna uygular. +ve yine de bu kuralları nftables arka ucuna uygular. -En düşük izin listesi örneği (IPv4): +Minimum izin listesi örneği (IPv4): +__OC_I18N_900008__ +IPv6'nın ayrı tabloları vardır. Docker IPv6 etkinse `/etc/ufw/after6.rules` +içine eşleşen bir politika ekleyin. -```bash -# /etc/ufw/after.rules (append as its own *filter section) -*filter -:DOCKER-USER - [0:0] --A DOCKER-USER -m conntrack --ctstate ESTABLISHED,RELATED -j RETURN --A DOCKER-USER -s 127.0.0.0/8 -j RETURN --A DOCKER-USER -s 10.0.0.0/8 -j RETURN --A DOCKER-USER -s 172.16.0.0/12 -j RETURN --A DOCKER-USER -s 192.168.0.0/16 -j RETURN --A DOCKER-USER -s 100.64.0.0/10 -j RETURN --A DOCKER-USER -p tcp --dport 80 -j RETURN --A DOCKER-USER -p tcp --dport 443 -j RETURN --A DOCKER-USER -m conntrack --ctstate NEW -j DROP --A DOCKER-USER -j RETURN -COMMIT -``` +Doküman parçacıklarında `eth0` gibi arabirim adlarını sabit kodlamaktan kaçının. Arabirim adları +VPS imajları arasında değişir (`ens3`, `enp*` vb.) ve uyumsuzluklar yanlışlıkla +reddetme kuralınızın atlanmasına neden olabilir. -IPv6'nın ayrı tabloları vardır. Docker IPv6 etkinse `/etc/ufw/after6.rules` içinde eşleşen bir politika ekleyin. - -Belge parçacıklarında `eth0` gibi arabirim adlarını sabit kodlamaktan kaçının. Arabirim adları -VPS imajları arasında değişir (`ens3`, `enp*` vb.) ve uyuşmazlıklar yanlışlıkla -engelleme kuralınızı atlayabilir. - -Yeniden yüklemeden sonra hızlı doğrulama: - -```bash -ufw reload -iptables -S DOCKER-USER -ip6tables -S DOCKER-USER -nmap -sT -p 1-65535 --open -``` - -Beklenen harici portlar yalnızca bilinçli olarak açtıklarınız olmalıdır (çoğu -kurulum için: SSH + ters proxy portlarınız). +Yeniden yükleme sonrası hızlı doğrulama: +__OC_I18N_900009__ +Beklenen harici bağlantı noktaları yalnızca bilerek açtıklarınız olmalıdır (çoğu +kurulum için: SSH + reverse proxy bağlantı noktalarınız). ### mDNS/Bonjour keşfi -Gateway, yerel cihaz keşfi için mDNS aracılığıyla (`_openclaw-gw._tcp`, port 5353 üzerinde) varlığını yayınlar. Tam modda bu, operasyonel ayrıntıları açığa çıkarabilecek TXT kayıtlarını içerir: +Gateway, yerel cihaz keşfi için varlığını mDNS aracılığıyla (`_openclaw-gw._tcp`, bağlantı noktası 5353 üzerinde) yayınlar. Tam modda bu, operasyonel ayrıntıları açığa çıkarabilecek TXT kayıtlarını içerir: -- `cliPath`: CLI ikili dosyasının tam dosya sistemi yolu (kullanıcı adını ve kurulum konumunu açığa çıkarır) +- `cliPath`: CLI ikilisinin tam dosya sistemi yolu (kullanıcı adını ve kurulum konumunu açığa çıkarır) - `sshPort`: ana makinede SSH kullanılabilirliğini duyurur - `displayName`, `lanHost`: ana makine adı bilgileri @@ -795,88 +763,56 @@ Gateway, yerel cihaz keşfi için mDNS aracılığıyla (`_openclaw-gw._tcp`, po **Öneriler:** -1. **Minimal mod** (varsayılan, açıkta olan Gateway'ler için önerilir): hassas alanları mDNS yayınlarından çıkarın: - - ```json5 - { - discovery: { - mdns: { mode: "minimal" }, - }, - } - ``` - +1. **Minimal mod** (varsayılan, açıkta kalan Gateway'ler için önerilir): hassas alanları mDNS yayınlarından çıkarın: +__OC_I18N_900010__ 2. Yerel cihaz keşfine ihtiyacınız yoksa **tamamen devre dışı bırakın**: - - ```json5 - { - discovery: { - mdns: { mode: "off" }, - }, - } - ``` - +__OC_I18N_900011__ 3. **Tam mod** (isteğe bağlı): TXT kayıtlarına `cliPath` + `sshPort` ekleyin: +__OC_I18N_900012__ +4. **Ortam değişkeni** (alternatif): yapılandırma değişikliği olmadan mDNS'i devre dışı bırakmak için `OPENCLAW_DISABLE_BONJOUR=1` ayarlayın. - ```json5 - { - discovery: { - mdns: { mode: "full" }, - }, - } - ``` - -4. **Ortam değişkeni** (alternatif): yapılandırma değişikliği olmadan mDNS'yi devre dışı bırakmak için `OPENCLAW_DISABLE_BONJOUR=1` ayarlayın. - -Minimal modda Gateway, cihaz keşfi için yeterli bilgiyi (`role`, `gatewayPort`, `transport`) yayınlamaya devam eder ancak `cliPath` ve `sshPort` alanlarını çıkarır. CLI yolu bilgisine ihtiyaç duyan uygulamalar bunun yerine kimliği doğrulanmış WebSocket bağlantısı üzerinden bu bilgiyi alabilir. +Minimal modda Gateway, cihaz keşfi için yeterli bilgiyi (`role`, `gatewayPort`, `transport`) yayınlamaya devam eder ancak `cliPath` ve `sshPort` alanlarını çıkarır. CLI yolu bilgisine ihtiyaç duyan uygulamalar bunun yerine bu bilgiyi kimliği doğrulanmış WebSocket bağlantısı üzerinden alabilir. ### Gateway WebSocket'i kilitleyin (yerel kimlik doğrulama) Gateway kimlik doğrulaması **varsayılan olarak zorunludur**. Geçerli bir gateway kimlik doğrulama yolu yapılandırılmamışsa, -Gateway WebSocket bağlantılarını reddeder (kapalı hata modu). +Gateway WebSocket bağlantılarını reddeder (fail‑closed). -İlk kurulum varsayılan olarak (loopback için bile) bir belirteç üretir, bu nedenle +İlk kurulum varsayılan olarak bir belirteç oluşturur (loopback için bile), bu yüzden yerel istemcilerin kimlik doğrulaması yapması gerekir. -**Tüm** WS istemcilerinin kimlik doğrulaması yapmasını zorunlu kılmak için bir belirteç ayarlayın: - -```json5 -{ - gateway: { - auth: { mode: "token", token: "your-token" }, - }, -} -``` - -Doctor sizin için bir tane üretebilir: `openclaw doctor --generate-gateway-token`. +**Tüm** WS istemcilerinin kimlik doğrulaması yapması için bir belirteç ayarlayın: +__OC_I18N_900013__ +Doctor sizin için bir tane oluşturabilir: `openclaw doctor --generate-gateway-token`. -`gateway.remote.token` ve `gateway.remote.password` istemci kimlik bilgisi kaynaklarıdır. Bunlar yerel WS erişimini tek başlarına **korumaz**. Yerel çağrı yolları `gateway.remote.*` değerlerini yalnızca `gateway.auth.*` ayarlanmamışsa yedek olarak kullanabilir. `gateway.auth.token` veya `gateway.auth.password` SecretRef üzerinden açıkça yapılandırılmış ve çözümlenememişse, çözümleme kapalı hata modunda başarısız olur (uzak yedek maskelemesi yapılmaz). +`gateway.remote.token` ve `gateway.remote.password` istemci kimlik bilgisi kaynaklarıdır. Bunlar tek başlarına yerel WS erişimini korumaz. Yerel çağrı yolları `gateway.remote.*` değerlerini yalnızca `gateway.auth.*` ayarlanmamışsa yedek olarak kullanabilir. `gateway.auth.token` veya `gateway.auth.password` SecretRef üzerinden açıkça yapılandırılmış ve çözümlenememişse çözümleme fail closed olur (uzaktan yedek maskeleme yapılmaz). -İsteğe bağlı: `wss://` kullanırken uzak TLS'yi `gateway.remote.tlsFingerprint` ile sabitleyin. +İsteğe bağlı: `wss://` kullanırken uzak TLS'i `gateway.remote.tlsFingerprint` ile sabitleyin. Düz metin `ws://` varsayılan olarak yalnızca loopback içindir. Güvenilir özel ağ -yolları için istemci işleminde son çare olarak -`OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` ayarlayın. Bu kasıtlı olarak yalnızca işlem ortamıdır, +yolları için, istemci işlemi üzerinde break-glass olarak +`OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1` ayarlayın. Bu bilerek yalnızca işlem ortamıdır, bir `openclaw.json` yapılandırma anahtarı değildir. -Mobil eşleştirme ve Android manuel ya da taranmış gateway yolları daha katıdır: -şifresiz bağlantı loopback için kabul edilir, ancak özel LAN, link-local, `.local` ve -noktasız ana makine adları, güvenilir özel ağ şifresiz yolunu açıkça seçmediğiniz sürece TLS kullanmalıdır. +Mobil eşleme ve Android manuel ya da taranmış gateway rotaları daha katıdır: +düz metin loopback için kabul edilir, ancak özel LAN, link-local, `.local` ve +noktasız ana makine adları, güvenilir özel ağ düz metin yolunu açıkça seçmediğiniz sürece TLS kullanmalıdır. -Yerel cihaz eşleştirme: +Yerel cihaz eşleme: -- Aynı ana makinedeki istemcilerin sorunsuz çalışması için doğrudan local loopback bağlantılarında cihaz eşleştirme otomatik onaylanır. -- OpenClaw ayrıca güvenilir paylaşılan gizli yardımcı akışları için dar kapsamlı bir arka uç/konteyner-yerel kendi kendine bağlanma yoluna sahiptir. -- Aynı ana makine tailnet bağlamaları dahil tailnet ve LAN bağlantıları, eşleştirme için uzak olarak değerlendirilir ve yine de onay gerektirir. -- Bir loopback isteğinde iletilmiş başlık kanıtı bulunması, loopback yerelliğini geçersiz kılar. Metadata yükseltme otomatik onayı dar kapsamlıdır. Her iki kural için [Gateway eşleştirme](/tr/gateway/pairing) bölümüne bakın. +- Cihaz eşleme, aynı ana makine istemcilerini sorunsuz tutmak için doğrudan local loopback bağlantılarında otomatik onaylanır. +- OpenClaw ayrıca güvenilir paylaşımlı gizli yardımcı akışları için dar kapsamlı bir backend/container-local kendi kendine bağlanma yoluna sahiptir. +- Aynı ana makine tailnet bağlamaları dahil Tailnet ve LAN bağlantıları eşleme için uzak olarak değerlendirilir ve yine de onay gerekir. +- Bir loopback isteğindeki iletilmiş başlık kanıtı loopback yerelliğini geçersiz kılar. Metadata-upgrade otomatik onayı dar kapsamlıdır. Her iki kural için [Gateway eşleme](/gateway/pairing) bölümüne bakın. Kimlik doğrulama modları: -- `gateway.auth.mode: "token"`: paylaşılan bearer belirteci (çoğu kurulum için önerilir). +- `gateway.auth.mode: "token"`: paylaşımlı bearer belirteci (çoğu kurulum için önerilir). - `gateway.auth.mode: "password"`: parola kimlik doğrulaması (env üzerinden ayarlamayı tercih edin: `OPENCLAW_GATEWAY_PASSWORD`). -- `gateway.auth.mode: "trusted-proxy"`: kullanıcıların kimliğini doğrulaması ve kimliği başlıklar üzerinden iletmesi için kimlik farkındalığı olan bir ters proxy'ye güvenin (bkz. [Güvenilir Proxy Kimlik Doğrulaması](/tr/gateway/trusted-proxy-auth)). +- `gateway.auth.mode: "trusted-proxy"`: kullanıcıları doğrulaması ve kimliği başlıklar üzerinden iletmesi için kimlik farkındalığı olan bir ters proxy'ye güvenin (bkz. [Güvenilir Proxy Kimlik Doğrulaması](/gateway/trusted-proxy-auth)). Döndürme kontrol listesi (belirteç/parola): -1. Yeni bir gizli üretin/ayarlayın (`gateway.auth.token` veya `OPENCLAW_GATEWAY_PASSWORD`). +1. Yeni bir gizli değer oluşturun/ayarlayın (`gateway.auth.token` veya `OPENCLAW_GATEWAY_PASSWORD`). 2. Gateway'i yeniden başlatın (veya Gateway'i denetliyorsa macOS uygulamasını yeniden başlatın). 3. Tüm uzak istemcileri güncelleyin (Gateway'e çağrı yapan makinelerde `gateway.remote.token` / `.password`). 4. Eski kimlik bilgileriyle artık bağlanamadığınızı doğrulayın. @@ -884,145 +820,122 @@ Döndürme kontrol listesi (belirteç/parola): ### Tailscale Serve kimlik başlıkları `gateway.auth.allowTailscale` `true` olduğunda (Serve için varsayılan), OpenClaw -Control UI/WebSocket kimlik doğrulaması için Tailscale Serve kimlik başlıklarını (`tailscale-user-login`) kabul eder. OpenClaw kimliği, -`x-forwarded-for` adresini yerel Tailscale daemon'ı (`tailscale whois`) üzerinden çözerek -ve başlıkla eşleştirerek doğrular. Bu yalnızca loopback'e ulaşan -ve Tailscale tarafından enjekte edildiği şekilde `x-forwarded-for`, `x-forwarded-proto` ve `x-forwarded-host` içeren istekler için tetiklenir. -Bu asenkron kimlik denetimi yolunda, aynı `{scope, ip}` için başarısız denemeler -sınırlayıcı başarısızlığı kaydetmeden önce serileştirilir. Bu nedenle bir Serve istemcisinden gelen eşzamanlı hatalı yeniden denemeler, -iki düz uyumsuzluk olarak yarışmak yerine ikinci denemeyi hemen kilitleyebilir. +Control UI/WebSocket kimlik doğrulaması için Tailscale Serve kimlik başlıklarını +(`tailscale-user-login`) kabul eder. OpenClaw, `x-forwarded-for` adresini yerel +Tailscale daemon'u (`tailscale whois`) üzerinden çözümleyip başlıkla eşleştirerek +kimliği doğrular. Bu yalnızca loopback'e ulaşan ve Tailscale tarafından enjekte edildiği şekilde +`x-forwarded-for`, `x-forwarded-proto` ve `x-forwarded-host` içeren isteklerde tetiklenir. +Bu asenkron kimlik denetimi yolu için, aynı `{scope, ip}` değerine ait başarısız denemeler, +sınırlayıcı hatayı kaydetmeden önce seri hale getirilir. Bu nedenle bir Serve istemcisinden +eşzamanlı hatalı yeniden denemeler, iki düz uyuşmazlık olarak yarışmak yerine ikinci denemeyi +hemen kilitleyebilir. HTTP API uç noktaları (örneğin `/v1/*`, `/tools/invoke` ve `/api/channels/*`) Tailscale kimlik başlığı kimlik doğrulamasını **kullanmaz**. Bunlar yine gateway'in yapılandırılmış HTTP kimlik doğrulama modunu izler. Önemli sınır notu: -- Gateway HTTP bearer kimlik doğrulaması, fiilen ya hep ya hiç operatör erişimidir. -- `/v1/chat/completions`, `/v1/responses` veya `/api/channels/*` çağırabilen kimlik bilgilerini bu gateway için tam erişimli operatör gizlileri olarak değerlendirin. -- OpenAI uyumlu HTTP yüzeyinde, paylaşılan gizli bearer kimlik doğrulaması tam varsayılan operatör kapsamlarını (`operator.admin`, `operator.approvals`, `operator.pairing`, `operator.read`, `operator.talk.secrets`, `operator.write`) ve ajan dönüşleri için sahip anlamlarını geri yükler; daha dar `x-openclaw-scopes` değerleri bu paylaşılan gizli yolu azaltmaz. -- HTTP üzerinde istek başına kapsam anlamları yalnızca istek güvenilir proxy kimlik doğrulaması veya özel bir girişte `gateway.auth.mode="none"` gibi kimlik taşıyan bir moddan geldiğinde uygulanır. -- Bu kimlik taşıyan modlarda `x-openclaw-scopes` atlanırsa normal operatör varsayılan kapsam kümesine geri dönülür; daha dar bir kapsam kümesi istediğinizde başlığı açıkça gönderin. -- `/tools/invoke` aynı paylaşılan gizli kuralını izler: belirteç/parola bearer kimlik doğrulaması burada da tam operatör erişimi olarak değerlendirilir, kimlik taşıyan modlar ise bildirilen kapsamları yine dikkate alır. +- Gateway HTTP bearer kimlik doğrulaması fiilen ya hep ya hiç operatör erişimidir. +- `/v1/chat/completions`, `/v1/responses` veya `/api/channels/*` çağırabilen kimlik bilgilerini bu gateway için tam erişimli operatör gizli değerleri olarak ele alın. +- OpenAI uyumlu HTTP yüzeyinde, paylaşımlı gizli bearer kimlik doğrulaması tam varsayılan operatör kapsamlarını (`operator.admin`, `operator.approvals`, `operator.pairing`, `operator.read`, `operator.talk.secrets`, `operator.write`) ve ajan dönüşleri için sahip semantiklerini geri getirir; daha dar `x-openclaw-scopes` değerleri bu paylaşımlı gizli yolu azaltmaz. +- HTTP üzerinde istek başına kapsam semantiği yalnızca istek güvenilir proxy kimlik doğrulaması veya özel ingress üzerinde `gateway.auth.mode="none"` gibi kimlik taşıyan bir moddan geldiğinde uygulanır. +- Bu kimlik taşıyan modlarda, `x-openclaw-scopes` atlanırsa normal operatör varsayılan kapsam kümesine geri dönülür; daha dar bir kapsam kümesi istediğinizde başlığı açıkça gönderin. +- `/tools/invoke` aynı paylaşımlı gizli kuralını izler: belirteç/parola bearer kimlik doğrulaması burada da tam operatör erişimi olarak değerlendirilirken, kimlik taşıyan modlar bildirilen kapsamlara hâlâ uyar. - Bu kimlik bilgilerini güvenilmeyen çağıranlarla paylaşmayın; her güven sınırı için ayrı gateway'leri tercih edin. -**Güven varsayımı:** belirteçsiz Serve kimlik doğrulaması, gateway ana makinesinin güvenilir olduğunu varsayar. +**Güven varsayımı:** belirteçsiz Serve kimlik doğrulaması gateway ana makinesinin güvenilir olduğunu varsayar. Bunu düşmanca aynı ana makine işlemlerine karşı koruma olarak değerlendirmeyin. Güvenilmeyen -yerel kod gateway ana makinesinde çalışabiliyorsa `gateway.auth.allowTailscale` değerini devre dışı bırakın -ve `gateway.auth.mode: "token"` veya `"password"` ile açık paylaşılan gizli kimlik doğrulamasını zorunlu kılın. +yerel kod gateway ana makinesinde çalışabilecekse `gateway.auth.allowTailscale` değerini devre dışı bırakın +ve `gateway.auth.mode: "token"` veya `"password"` ile açık paylaşımlı gizli kimlik doğrulaması gerektirin. **Güvenlik kuralı:** bu başlıkları kendi ters proxy'nizden iletmeyin. Gateway'in önünde -TLS sonlandırıyor veya proxy kullanıyorsanız `gateway.auth.allowTailscale` değerini devre dışı bırakın ve bunun yerine -paylaşılan gizli kimlik doğrulaması (`gateway.auth.mode: -"token"` veya `"password"`) ya da [Güvenilir Proxy Kimlik Doğrulaması](/tr/gateway/trusted-proxy-auth) +TLS sonlandırıyor veya proxy kullanıyorsanız `gateway.auth.allowTailscale` değerini devre dışı bırakın +ve bunun yerine paylaşımlı gizli kimlik doğrulaması (`gateway.auth.mode: +"token"` veya `"password"`) ya da [Güvenilir Proxy Kimlik Doğrulaması](/gateway/trusted-proxy-auth) kullanın. Güvenilir proxy'ler: - Gateway'in önünde TLS sonlandırıyorsanız `gateway.trustedProxies` değerini proxy IP'lerinize ayarlayın. -- OpenClaw, yerel eşleştirme denetimleri ve HTTP kimlik doğrulama/yerel denetimleri için istemci IP'sini belirlemek üzere bu IP'lerden gelen `x-forwarded-for` (veya `x-real-ip`) değerine güvenir. -- Proxy'nizin `x-forwarded-for` değerinin **üzerine yazdığından** ve Gateway portuna doğrudan erişimi engellediğinden emin olun. +- OpenClaw, yerel eşleme denetimleri ve HTTP kimlik doğrulama/yerel denetimleri için istemci IP'sini belirlemek üzere bu IP'lerden gelen `x-forwarded-for` (veya `x-real-ip`) değerine güvenir. +- Proxy'nizin `x-forwarded-for` değerinin **üzerine yazdığından** ve Gateway bağlantı noktasına doğrudan erişimi engellediğinden emin olun. -Bkz. [Tailscale](/tr/gateway/tailscale) ve [Web genel bakış](/tr/web). +Bkz. [Tailscale](/gateway/tailscale) ve [Web genel bakış](/web). -### Node host üzerinden tarayıcı kontrolü (önerilir) +### Node host üzerinden tarayıcı denetimi (önerilir) Gateway'iniz uzaksa ancak tarayıcı başka bir makinede çalışıyorsa, tarayıcı makinesinde bir **Node host** -çalıştırın ve Gateway'in tarayıcı eylemlerini proxy üzerinden iletmesini sağlayın (bkz. [Tarayıcı aracı](/tr/tools/browser)). -Node eşleştirmesini yönetici erişimi gibi değerlendirin. +çalıştırın ve Gateway'in tarayıcı eylemlerini proxy'lemesine izin verin (bkz. [Tarayıcı aracı](/tools/browser)). +Node eşlemeyi yönetici erişimi gibi değerlendirin. -Önerilen kalıp: +Önerilen desen: -- Gateway ve Node host'u aynı tailnet üzerinde tutun (Tailscale). -- Node'u bilinçli olarak eşleştirin; ihtiyacınız yoksa tarayıcı proxy yönlendirmesini devre dışı bırakın. +- Gateway ve Node host'u aynı tailnet'te (Tailscale) tutun. +- Node'u bilinçli olarak eşleyin; ihtiyacınız yoksa tarayıcı proxy yönlendirmesini devre dışı bırakın. Kaçının: -- Aktarma/kontrol portlarını LAN veya genel İnternet üzerinden açmaktan. -- Tarayıcı kontrol uç noktaları için Tailscale Funnel kullanmaktan (genel açığa çıkarma). +- Relay/denetim bağlantı noktalarını LAN veya genel İnternet üzerinden açığa çıkarmak. +- Tarayıcı denetim uç noktaları için Tailscale Funnel (genel açığa çıkarma). -### Diskteki gizliler +### Diskteki gizli değerler -`~/.openclaw/` (veya `$OPENCLAW_STATE_DIR/`) altındaki her şeyin gizli veya özel veri içerebileceğini varsayın: +`~/.openclaw/` (veya `$OPENCLAW_STATE_DIR/`) altındaki her şeyin gizli değerler veya özel veriler içerebileceğini varsayın: - `openclaw.json`: yapılandırma belirteçler (gateway, uzak gateway), sağlayıcı ayarları ve izin listeleri içerebilir. -- `credentials/**`: kanal kimlik bilgileri (örnek: WhatsApp kimlik bilgileri), eşleştirme izin listeleri, eski OAuth içe aktarımları. +- `credentials/**`: kanal kimlik bilgileri (örnek: WhatsApp kimlik bilgileri), eşleme izin listeleri, eski OAuth içe aktarımları. - `agents//agent/auth-profiles.json`: API anahtarları, belirteç profilleri, OAuth belirteçleri ve isteğe bağlı `keyRef`/`tokenRef`. +- `agents//agent/codex-home/**`: ajan başına Codex uygulama sunucusu hesabı, yapılandırma, Skills, plugin'ler, yerel iş parçacığı durumu ve tanılamalar. - `secrets.json` (isteğe bağlı): `file` SecretRef sağlayıcıları (`secrets.providers`) tarafından kullanılan dosya destekli gizli yük. -- `agents//agent/auth.json`: eski uyumluluk dosyası. Statik `api_key` girdileri keşfedildiklerinde temizlenir. -- `agents//sessions/**`: özel mesajlar ve araç çıktısı içerebilen oturum dökümleri (`*.jsonl`) + yönlendirme meta verileri (`sessions.json`). -- paketlenmiş Plugin paketleri: kurulu Plugin'ler (ve bunların `node_modules/` dizinleri). +- `agents//agent/auth.json`: eski uyumluluk dosyası. Statik `api_key` girdileri keşfedildiğinde temizlenir. +- `agents//sessions/**`: özel mesajlar ve araç çıktısı içerebilen oturum dökümleri (`*.jsonl`) + yönlendirme metaverileri (`sessions.json`). +- paketlenmiş Plugin paketleri: yüklü plugin'ler (ve bunların `node_modules/` dizinleri). - `sandboxes/**`: araç sandbox çalışma alanları; sandbox içinde okuduğunuz/yazdığınız dosyaların kopyalarını biriktirebilir. -Sıkılaştırma ipuçları: +Sağlamlaştırma ipuçları: - İzinleri sıkı tutun (dizinlerde `700`, dosyalarda `600`). -- Gateway ana makinesinde tam disk şifrelemesi kullanın. +- Gateway ana makinesinde tam disk şifreleme kullanın. - Ana makine paylaşılıyorsa Gateway için özel bir OS kullanıcı hesabını tercih edin. ### Çalışma alanı `.env` dosyaları -OpenClaw ajanlar ve araçlar için çalışma alanı-yerel `.env` dosyalarını yükler, ancak bu dosyaların gateway çalışma zamanı kontrollerini sessizce geçersiz kılmasına asla izin vermez. +OpenClaw, ajanlar ve araçlar için çalışma alanına yerel `.env` dosyalarını yükler, ancak bu dosyaların gateway çalışma zamanı denetimlerini sessizce geçersiz kılmasına asla izin vermez. - `OPENCLAW_*` ile başlayan tüm anahtarlar güvenilmeyen çalışma alanı `.env` dosyalarından engellenir. -- Matrix, Mattermost, IRC ve Synology Chat için kanal uç nokta ayarları da çalışma alanı `.env` geçersiz kılmalarından engellenir; böylece klonlanmış çalışma alanları paketlenmiş bağlayıcı trafiğini yerel uç nokta yapılandırması üzerinden yönlendiremez. Uç nokta env anahtarları (`MATRIX_HOMESERVER`, `MATTERMOST_URL`, `IRC_HOST`, `SYNOLOGY_CHAT_INCOMING_URL` gibi) çalışma alanından yüklenen bir `.env` dosyasından değil, gateway işlem ortamından veya `env.shellEnv` değerinden gelmelidir. -- Engel kapalı hata modundadır: gelecekteki bir sürümde eklenen yeni bir çalışma zamanı kontrol değişkeni, repoya eklenmiş veya saldırgan tarafından sağlanmış bir `.env` dosyasından devralınamaz; anahtar yok sayılır ve gateway kendi değerini korur. -- Güvenilir işlem/OS ortam değişkenleri (gateway'in kendi kabuğu, launchd/systemd birimi, uygulama paketi) yine uygulanır; bu yalnızca `.env` dosyası yüklemeyi kısıtlar. +- Matrix, Mattermost, IRC ve Synology Chat için kanal uç noktası ayarları da çalışma alanı `.env` geçersiz kılmalarından engellenir; böylece klonlanmış çalışma alanları paketlenmiş bağlayıcı trafiğini yerel uç nokta yapılandırması üzerinden yeniden yönlendiremez. Uç nokta env anahtarları (`MATRIX_HOMESERVER`, `MATTERMOST_URL`, `IRC_HOST`, `SYNOLOGY_CHAT_INCOMING_URL` gibi) çalışma alanından yüklenen bir `.env` dosyasından değil, gateway işlem ortamından veya `env.shellEnv` değerinden gelmelidir. +- Engelleme fail-closed'dur: gelecekteki bir sürümde eklenen yeni bir çalışma zamanı denetim değişkeni, depoya eklenmiş veya saldırgan tarafından sağlanmış bir `.env` dosyasından miras alınamaz; anahtar yok sayılır ve gateway kendi değerini korur. +- Güvenilir işlem/OS ortam değişkenleri (gateway'in kendi shell'i, launchd/systemd birimi, app bundle) hâlâ uygulanır — bu yalnızca `.env` dosyası yüklemeyi kısıtlar. -Neden: çalışma alanı `.env` dosyaları sık sık ajan kodunun yanında bulunur, yanlışlıkla commit edilir veya araçlar tarafından yazılır. Tüm `OPENCLAW_*` önekini engellemek, daha sonra yeni bir `OPENCLAW_*` bayrağı eklemenin çalışma alanı durumundan sessiz devralmaya asla gerilemeyeceği anlamına gelir. +Neden: çalışma alanı `.env` dosyaları sık sık ajan kodunun yanında bulunur, yanlışlıkla commit edilir veya araçlar tarafından yazılır. Tüm `OPENCLAW_*` önekini engellemek, daha sonra yeni bir `OPENCLAW_*` bayrağı eklendiğinde bunun çalışma alanı durumundan sessiz mirasa dönüşerek gerileme yaratamayacağı anlamına gelir. ### Günlükler ve dökümler (redaksiyon ve saklama) -Erişim kontrolleri doğru olsa bile günlükler ve dökümler hassas bilgileri sızdırabilir: +Erişim denetimleri doğru olsa bile günlükler ve dökümler hassas bilgileri sızdırabilir: - Gateway günlükleri araç özetleri, hatalar ve URL'ler içerebilir. -- Oturum dökümleri yapıştırılmış gizliler, dosya içerikleri, komut çıktısı ve bağlantılar içerebilir. +- Oturum dökümleri yapıştırılmış gizli değerler, dosya içerikleri, komut çıktısı ve bağlantılar içerebilir. Öneriler: - Günlük ve döküm redaksiyonunu açık tutun (`logging.redactSensitive: "tools"`; varsayılan). -- Ortamınız için `logging.redactPatterns` üzerinden özel kalıplar ekleyin (belirteçler, ana makine adları, dahili URL'ler). -- Tanıları paylaşırken ham günlükler yerine `openclaw status --all` kullanmayı tercih edin (yapıştırılabilir, gizliler redakte edilir). -- Uzun saklamaya ihtiyacınız yoksa eski oturum dökümlerini ve günlük dosyalarını budayın. +- Ortamınız için `logging.redactPatterns` üzerinden özel desenler ekleyin (belirteçler, ana makine adları, dahili URL'ler). +- Tanılama paylaşırken ham günlükler yerine `openclaw status --all` kullanmayı tercih edin (yapıştırılabilir, gizli değerler redakte edilir). +- Uzun süreli saklamaya ihtiyacınız yoksa eski oturum dökümlerini ve günlük dosyalarını budayın. -Ayrıntılar: [Günlükleme](/tr/gateway/logging) +Ayrıntılar: [Günlükleme](/gateway/logging) -### DM'ler: varsayılan olarak eşleştirme - -```json5 -{ - channels: { whatsapp: { dmPolicy: "pairing" } }, -} -``` - -### Gruplar: her yerde bahsetme zorunlu olsun - -```json -{ - "channels": { - "whatsapp": { - "groups": { - "*": { "requireMention": true } - } - } - }, - "agents": { - "list": [ - { - "id": "main", - "groupChat": { "mentionPatterns": ["@openclaw", "@mybot"] } - } - ] - } -} -``` - -Grup sohbetlerinde yalnızca açıkça sizden bahsedildiğinde yanıt verin. +### DM'ler: varsayılan olarak eşleme +__OC_I18N_900014__ +### Gruplar: her yerde bahsetme gerektir +__OC_I18N_900015__ +Grup sohbetlerinde yalnızca açıkça bahsedildiğinde yanıt verin. ### Ayrı numaralar (WhatsApp, Signal, Telegram) -Telefon numarası tabanlı kanallar için yapay zekanızı kişisel numaranızdan ayrı bir telefon numarasında çalıştırmayı düşünün: +Telefon numarasına dayalı kanallar için, yapay zekanızı kişisel numaranızdan ayrı bir telefon numarasında çalıştırmayı değerlendirin: -- Kişisel numara: Sohbetleriniz gizli kalır +- Kişisel numara: Görüşmeleriniz gizli kalır - Bot numarası: Yapay zeka bunları uygun sınırlarla yönetir ### Salt okunur mod (sandbox ve araçlar aracılığıyla) @@ -1030,218 +943,104 @@ Telefon numarası tabanlı kanallar için yapay zekanızı kişisel numaranızda Şunları birleştirerek salt okunur bir profil oluşturabilirsiniz: - `agents.defaults.sandbox.workspaceAccess: "ro"` (veya çalışma alanı erişimi olmaması için `"none"`) -- `write`, `edit`, `apply_patch`, `exec`, `process` vb. engelleyen araç izin/ret listeleri. +- `write`, `edit`, `apply_patch`, `exec`, `process` vb. işlemleri engelleyen araç izin/ret listeleri. -Ek güçlendirme seçenekleri: +Ek sağlamlaştırma seçenekleri: -- `tools.exec.applyPatch.workspaceOnly: true` (varsayılan): sandbox kapalı olsa bile `apply_patch` öğesinin çalışma alanı dizini dışına yazamamasını/silememesini sağlar. Yalnızca özellikle `apply_patch` öğesinin çalışma alanı dışındaki dosyalara dokunmasını istiyorsanız `false` olarak ayarlayın. -- `tools.fs.workspaceOnly: true` (isteğe bağlı): `read`/`write`/`edit`/`apply_patch` yollarını ve yerel prompt görseli otomatik yükleme yollarını çalışma alanı diziniyle sınırlar (bugün mutlak yollara izin veriyorsanız ve tek bir koruma istiyorsanız kullanışlıdır). -- Dosya sistemi köklerini dar tutun: ajan çalışma alanları/sandbox çalışma alanları için ana dizininiz gibi geniş köklerden kaçının. Geniş kökler, hassas yerel dosyaları (örneğin `~/.openclaw` altındaki durum/yapılandırma) dosya sistemi araçlarına açabilir. +- `tools.exec.applyPatch.workspaceOnly: true` (varsayılan): sandbox kapalı olsa bile `apply_patch` işleminin çalışma alanı dizininin dışına yazamamasını/silememesini sağlar. Yalnızca `apply_patch` işleminin kasıtlı olarak çalışma alanı dışındaki dosyalara dokunmasını istiyorsanız `false` olarak ayarlayın. +- `tools.fs.workspaceOnly: true` (isteğe bağlı): `read`/`write`/`edit`/`apply_patch` yollarını ve yerel prompt görüntüsü otomatik yükleme yollarını çalışma alanı diziniyle sınırlar (bugün mutlak yollara izin veriyor ve tek bir koruma bariyeri istiyorsanız kullanışlıdır). +- Dosya sistemi köklerini dar tutun: ajan çalışma alanları/sandbox çalışma alanları için ev dizininiz gibi geniş köklerden kaçının. Geniş kökler, hassas yerel dosyaları (örneğin `~/.openclaw` altındaki durum/yapılandırma dosyaları) dosya sistemi araçlarına açabilir. ### Güvenli temel yapılandırma (kopyala/yapıştır) Gateway’i özel tutan, DM eşleştirmesi gerektiren ve her zaman açık grup botlarından kaçınan bir “güvenli varsayılan” yapılandırma: +__OC_I18N_900016__ +Araç çalıştırmanın da “varsayılan olarak daha güvenli” olmasını istiyorsanız sahip olmayan herhangi bir ajan için sandbox ekleyin ve tehlikeli araçları reddedin (aşağıdaki “Ajan başına erişim profilleri” bölümündeki örnek). -```json5 -{ - gateway: { - mode: "local", - bind: "loopback", - port: 18789, - auth: { mode: "token", token: "your-long-random-token" }, - }, - channels: { - whatsapp: { - dmPolicy: "pairing", - groups: { "*": { requireMention: true } }, - }, - }, -} -``` +Sohbet odaklı ajan çalışmaları için yerleşik temel davranış: sahip olmayan gönderenler `cron` veya `gateway` araçlarını kullanamaz. -Araç yürütmeyi de “varsayılan olarak daha güvenli” yapmak istiyorsanız, sahip olmayan herhangi bir ajan için sandbox + tehlikeli araçları reddetme ekleyin (aşağıdaki “Ajan başına erişim profilleri” bölümündeki örnek). +## Sandbox kullanımı (önerilir) -Sohbet tarafından yönlendirilen ajan işlemleri için yerleşik temel: sahip olmayan gönderenler `cron` veya `gateway` araçlarını kullanamaz. - -## Sandboxing (önerilir) - -Ayrılmış belge: [Sandboxing](/tr/gateway/sandboxing) +Ayrılmış belge: [Sandbox kullanımı](/gateway/sandboxing) Birbirini tamamlayan iki yaklaşım: -- **Tüm Gateway’i Docker’da çalıştırın** (konteyner sınırı): [Docker](/tr/install/docker) -- **Araç sandbox’ı** (`agents.defaults.sandbox`, ana makine gateway + sandbox ile yalıtılmış araçlar; varsayılan arka uç Docker’dır): [Sandboxing](/tr/gateway/sandboxing) +- **Tüm Gateway’i Docker’da çalıştırın** (konteyner sınırı): [Docker](/install/docker) +- **Araç sandbox’ı** (`agents.defaults.sandbox`, ana makine gateway + sandbox ile izole edilmiş araçlar; varsayılan arka uç Docker’dır): [Sandbox kullanımı](/gateway/sandboxing) -Ajanlar arası erişimi önlemek için `agents.defaults.sandbox.scope` değerini `"agent"` (varsayılan) olarak, daha sıkı oturum başına yalıtım için `"session"` olarak tutun. `scope: "shared"` tek bir konteyner veya çalışma alanı kullanır. +Ajanlar arası erişimi önlemek için `agents.defaults.sandbox.scope` değerini `"agent"` (varsayılan) olarak tutun veya oturum başına daha sıkı izolasyon için `"session"` kullanın. `scope: "shared"` tek bir konteyner veya çalışma alanı kullanır. Sandbox içindeki ajan çalışma alanı erişimini de değerlendirin: - `agents.defaults.sandbox.workspaceAccess: "none"` (varsayılan) ajan çalışma alanını erişime kapalı tutar; araçlar `~/.openclaw/sandboxes` altındaki bir sandbox çalışma alanına karşı çalışır -- `agents.defaults.sandbox.workspaceAccess: "ro"` ajan çalışma alanını `/agent` konumuna salt okunur olarak bağlar (`write`/`edit`/`apply_patch` devre dışı kalır) +- `agents.defaults.sandbox.workspaceAccess: "ro"` ajan çalışma alanını `/agent` konumuna salt okunur bağlar (`write`/`edit`/`apply_patch` devre dışı kalır) - `agents.defaults.sandbox.workspaceAccess: "rw"` ajan çalışma alanını `/workspace` konumuna okuma/yazma olarak bağlar -- Ek `sandbox.docker.binds` değerleri normalleştirilmiş ve kanonikleştirilmiş kaynak yollarına göre doğrulanır. Üst dizin symlink hileleri ve kanonik home takma adları, `/etc`, `/var/run` veya işletim sistemi home dizini altındaki kimlik bilgisi dizinleri gibi engellenen köklere çözümlenirse yine kapalı şekilde başarısız olur. +- Ek `sandbox.docker.binds` girdileri normalleştirilmiş ve kanonikleştirilmiş kaynak yollarına göre doğrulanır. Üst dizin sembolik bağlantı hileleri ve kanonik ev dizini takma adları, `/etc`, `/var/run` veya işletim sistemi ev dizini altındaki kimlik bilgisi dizinleri gibi engellenmiş köklere çözümleniyorsa güvenli şekilde reddedilir. -`tools.elevated`, exec’i sandbox dışında çalıştıran genel temel kaçış yoludur. Etkin ana makine varsayılan olarak `gateway`, exec hedefi `node` olarak yapılandırıldığında ise `node` olur. `tools.elevated.allowFrom` değerini sıkı tutun ve yabancılar için etkinleştirmeyin. Yükseltilmiş modu ajan başına `agents.list[].tools.elevated` ile daha da kısıtlayabilirsiniz. Bkz. [Yükseltilmiş mod](/tr/tools/elevated). +`tools.elevated`, exec işlemini sandbox dışında çalıştıran genel temel kaçış yoludur. Etkin ana makine varsayılan olarak `gateway` olur veya exec hedefi `node` olarak yapılandırılmışsa `node` olur. `tools.elevated.allowFrom` değerini dar tutun ve yabancılar için etkinleştirmeyin. Ajan başına elevated erişimi `agents.list[].tools.elevated` ile daha da sınırlayabilirsiniz. Bkz. [Elevated mod](/tools/elevated). -### Alt ajan yetkilendirme koruması +### Alt ajan delegasyonu koruma bariyeri -Oturum araçlarına izin veriyorsanız, yetkilendirilmiş alt ajan çalıştırmalarını başka bir sınır kararı olarak ele alın: +Oturum araçlarına izin veriyorsanız delege edilen alt ajan çalıştırmalarını başka bir sınır kararı olarak ele alın: -- Ajanın gerçekten yetkilendirmeye ihtiyacı yoksa `sessions_spawn` öğesini reddedin. -- `agents.defaults.subagents.allowAgents` ve ajan başına `agents.list[].subagents.allowAgents` geçersiz kılmalarını bilinen güvenli hedef ajanlarla sınırlı tutun. -- Sandbox’ta kalması gereken herhangi bir iş akışı için `sessions_spawn` öğesini `sandbox: "require"` ile çağırın (varsayılan `inherit`). +- Ajan gerçekten delegasyona ihtiyaç duymuyorsa `sessions_spawn` öğesini reddedin. +- `agents.defaults.subagents.allowAgents` ve ajan başına tüm `agents.list[].subagents.allowAgents` geçersiz kılmalarını bilinen güvenli hedef ajanlarla sınırlı tutun. +- Sandbox’ta kalması gereken tüm iş akışları için `sessions_spawn` çağrısını `sandbox: "require"` ile yapın (varsayılan `inherit`). - Hedef alt çalışma zamanı sandbox’ta değilse `sandbox: "require"` hızlı şekilde başarısız olur. -## Tarayıcı kontrolü riskleri +## Tarayıcı denetimi riskleri -Tarayıcı kontrolünü etkinleştirmek, modele gerçek bir tarayıcıyı yönetme yeteneği verir. +Tarayıcı denetimini etkinleştirmek modele gerçek bir tarayıcıyı yönetme yeteneği verir. Bu tarayıcı profili zaten oturum açılmış oturumlar içeriyorsa model bu hesaplara ve verilere erişebilir. Tarayıcı profillerini **hassas durum** olarak ele alın: - Ajan için ayrılmış bir profil tercih edin (varsayılan `openclaw` profili). - Ajanı kişisel günlük kullanım profilinize yönlendirmekten kaçının. -- Güvenmediğiniz sürece sandbox’lı ajanlar için ana makine tarayıcı kontrolünü devre dışı tutun. -- Bağımsız loopback tarayıcı kontrol API’si yalnızca paylaşılan gizli anahtar kimlik doğrulamasını - kabul eder (gateway token bearer kimlik doğrulaması veya gateway parolası). trusted-proxy - veya Tailscale Serve kimlik başlıklarını tüketmez. -- Tarayıcı indirmelerini güvenilmeyen girdi olarak ele alın; yalıtılmış bir indirme dizini tercih edin. +- Güvenmediğiniz sürece sandbox’taki ajanlar için ana makine tarayıcı denetimini kapalı tutun. +- Bağımsız loopback tarayıcı denetimi API’si yalnızca paylaşılan gizli anahtar kimlik doğrulamasını + (gateway token bearer auth veya gateway parolası) dikkate alır. trusted-proxy veya Tailscale Serve kimlik başlıklarını + kullanmaz. +- Tarayıcı indirmelerini güvenilmeyen girdi olarak ele alın; izole edilmiş bir indirme dizini tercih edin. - Mümkünse ajan profilinde tarayıcı eşitlemesini/parola yöneticilerini devre dışı bırakın (etki alanını azaltır). -- Uzak gateway’ler için “tarayıcı kontrolü”nün, profilin erişebildiği her şeye “operatör erişimi”ne eşdeğer olduğunu varsayın. -- Gateway ve node ana makinelerini yalnızca tailnet içinde tutun; tarayıcı kontrol portlarını LAN’a veya herkese açık İnternet’e açmaktan kaçının. -- İhtiyacınız yoksa tarayıcı proxy yönlendirmesini devre dışı bırakın (`gateway.nodes.browser.mode="off"`). -- Chrome MCP mevcut oturum modu “daha güvenli” **değildir**; o ana makine Chrome profilinin erişebildiği her yerde sizin gibi davranabilir. +- Uzak gateway’ler için “tarayıcı denetimi”nin, o profilin erişebildiği her şeye “operatör erişimi” ile eşdeğer olduğunu varsayın. +- Gateway ve node ana makinelerini yalnızca tailnet’e açık tutun; tarayıcı denetimi bağlantı noktalarını LAN’a veya genel İnternet’e açmaktan kaçının. +- İhtiyacınız olmadığında tarayıcı proxy yönlendirmesini devre dışı bırakın (`gateway.nodes.browser.mode="off"`). +- Chrome MCP mevcut oturum modu “daha güvenli” **değildir**; o ana makinedeki Chrome profilinin erişebildiği her şeyde sizin adınıza işlem yapabilir. -### Tarayıcı SSRF ilkesi (varsayılan olarak katı) +### Tarayıcı SSRF ilkesi (varsayılan olarak sıkı) -OpenClaw’ın tarayıcı gezinme ilkesi varsayılan olarak katıdır: özel/dahili hedefler, siz açıkça dahil olmadıkça engelli kalır. +OpenClaw’ın tarayıcı gezinme ilkesi varsayılan olarak sıkıdır: açıkça dahil etmediğiniz sürece özel/dahili hedefler engelli kalır. -- Varsayılan: `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork` ayarlı değildir, bu nedenle tarayıcı gezinmesi özel/dahili/özel kullanım hedeflerini engelli tutar. +- Varsayılan: `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork` ayarlı değildir; bu nedenle tarayıcı gezinmesi özel/dahili/özel kullanımlı hedefleri engelli tutar. - Eski takma ad: `browser.ssrfPolicy.allowPrivateNetwork` uyumluluk için hâlâ kabul edilir. -- Katılım modu: özel/dahili/özel kullanım hedeflerine izin vermek için `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork: true` ayarlayın. -- Katı modda, açık istisnalar için `hostnameAllowlist` (`*.example.com` gibi desenler) ve `allowedHostnames` (tam ana makine istisnaları, `localhost` gibi engellenen adlar dahil) kullanın. -- Yönlendirme tabanlı pivotları azaltmak için gezinme, istekten önce denetlenir ve gezinmeden sonra son `http(s)` URL’sinde en iyi çabayla yeniden denetlenir. - -Örnek katı ilke: - -```json5 -{ - browser: { - ssrfPolicy: { - dangerouslyAllowPrivateNetwork: false, - hostnameAllowlist: ["*.example.com", "example.com"], - allowedHostnames: ["localhost"], - }, - }, -} -``` +- Dahil etme modu: özel/dahili/özel kullanımlı hedeflere izin vermek için `browser.ssrfPolicy.dangerouslyAllowPrivateNetwork: true` olarak ayarlayın. +- Sıkı modda açık istisnalar için `hostnameAllowlist` (`*.example.com` gibi kalıplar) ve `allowedHostnames` (`localhost` gibi engellenen adlar dahil tam ana makine istisnaları) kullanın. +- Yönlendirme tabanlı sapmaları azaltmak için gezinme istekten önce denetlenir ve gezinmeden sonra nihai `http(s)` URL üzerinde en iyi çabayla yeniden denetlenir. +Örnek sıkı ilke: +__OC_I18N_900017__ ## Ajan başına erişim profilleri (çok ajanlı) -Çok ajanlı yönlendirme ile her ajanın kendi sandbox + araç ilkesi olabilir: +Çok ajanlı yönlendirme ile her ajan kendi sandbox + araç ilkesine sahip olabilir: bunu ajan başına **tam erişim**, **salt okunur** veya **erişim yok** vermek için kullanın. -Tüm ayrıntılar ve öncelik kuralları için [Çok Ajanlı Sandbox ve Araçlar](/tr/tools/multi-agent-sandbox-tools) bölümüne bakın. +Tam ayrıntılar ve öncelik kuralları için bkz. [Çok Ajanlı Sandbox ve Araçlar](/tools/multi-agent-sandbox-tools). Yaygın kullanım durumları: - Kişisel ajan: tam erişim, sandbox yok -- Aile/iş ajanı: sandbox’lı + salt okunur araçlar -- Herkese açık ajan: sandbox’lı + dosya sistemi/kabuk araçları yok +- Aile/iş ajanı: sandbox’ta + salt okunur araçlar +- Genel ajan: sandbox’ta + dosya sistemi/kabuk araçları yok ### Örnek: tam erişim (sandbox yok) - -```json5 -{ - agents: { - list: [ - { - id: "personal", - workspace: "~/.openclaw/workspace-personal", - sandbox: { mode: "off" }, - }, - ], - }, -} -``` - +__OC_I18N_900018__ ### Örnek: salt okunur araçlar + salt okunur çalışma alanı - -```json5 -{ - agents: { - list: [ - { - id: "family", - workspace: "~/.openclaw/workspace-family", - sandbox: { - mode: "all", - scope: "agent", - workspaceAccess: "ro", - }, - tools: { - allow: ["read"], - deny: ["write", "edit", "apply_patch", "exec", "process", "browser"], - }, - }, - ], - }, -} -``` - +__OC_I18N_900019__ ### Örnek: dosya sistemi/kabuk erişimi yok (sağlayıcı mesajlaşmasına izin verilir) - -```json5 -{ - agents: { - list: [ - { - id: "public", - workspace: "~/.openclaw/workspace-public", - sandbox: { - mode: "all", - scope: "agent", - workspaceAccess: "none", - }, - // Session tools can reveal sensitive data from transcripts. By default OpenClaw limits these tools - // to the current session + spawned subagent sessions, but you can clamp further if needed. - // See `tools.sessions.visibility` in the configuration reference. - tools: { - sessions: { visibility: "tree" }, // self | tree | agent | all - allow: [ - "sessions_list", - "sessions_history", - "sessions_send", - "sessions_spawn", - "session_status", - "whatsapp", - "telegram", - "slack", - "discord", - ], - deny: [ - "read", - "write", - "edit", - "apply_patch", - "exec", - "process", - "browser", - "canvas", - "nodes", - "cron", - "gateway", - "image", - ], - }, - }, - ], - }, -} -``` - +__OC_I18N_900020__ ## Olay müdahalesi Yapay zekanız kötü bir şey yaparsa: @@ -1249,66 +1048,52 @@ Yapay zekanız kötü bir şey yaparsa: ### Sınırla 1. **Durdurun:** macOS uygulamasını durdurun (Gateway’i denetliyorsa) veya `openclaw gateway` sürecinizi sonlandırın. -2. **Maruziyeti kapatın:** ne olduğunu anlayana kadar `gateway.bind: "loopback"` ayarlayın (veya Tailscale Funnel/Serve öğesini devre dışı bırakın). -3. **Erişimi dondurun:** riskli DM’leri/grupları `dmPolicy: "disabled"` durumuna geçirin / bahsetme zorunlu kılın ve varsa `"*"` tümüne izin ver girişlerini kaldırın. +2. **Açıklığı kapatın:** ne olduğunu anlayana kadar `gateway.bind: "loopback"` olarak ayarlayın (veya Tailscale Funnel/Serve’i devre dışı bırakın). +3. **Erişimi dondurun:** riskli DM’leri/grupları `dmPolicy: "disabled"` durumuna alın / mention zorunlu kılın ve varsa `"*"` herkese izin ver girdilerini kaldırın. -### Döndür (gizliler sızdıysa ele geçirildiğini varsayın) +### Döndür (sırlar sızdıysa ele geçirilmiş varsayın) 1. Gateway kimlik doğrulamasını (`gateway.auth.token` / `OPENCLAW_GATEWAY_PASSWORD`) döndürün ve yeniden başlatın. -2. Gateway’i çağırabilen herhangi bir makinede uzak istemci gizlilerini (`gateway.remote.token` / `.password`) döndürün. -3. Sağlayıcı/API kimlik bilgilerini (WhatsApp kimlik bilgileri, Slack/Discord token’ları, `auth-profiles.json` içindeki model/API anahtarları ve kullanıldığında şifrelenmiş gizli payload değerleri) döndürün. +2. Gateway’i çağırabilen herhangi bir makinedeki uzak istemci sırlarını (`gateway.remote.token` / `.password`) döndürün. +3. Sağlayıcı/API kimlik bilgilerini (WhatsApp kimlik bilgileri, Slack/Discord token’ları, `auth-profiles.json` içindeki model/API anahtarları ve kullanıldığında şifrelenmiş sır yük değerleri) döndürün. ### Denetle 1. Gateway günlüklerini kontrol edin: `/tmp/openclaw/openclaw-YYYY-MM-DD.log` (veya `logging.file`). 2. İlgili transkriptleri inceleyin: `~/.openclaw/agents//sessions/*.jsonl`. -3. Son yapılandırma değişikliklerini inceleyin (erişimi genişletmiş olabilecek her şey: `gateway.bind`, `gateway.auth`, DM/grup ilkeleri, `tools.elevated`, plugin değişiklikleri). -4. `openclaw security audit --deep` öğesini yeniden çalıştırın ve kritik bulguların çözüldüğünü doğrulayın. +3. Son yapılandırma değişikliklerini inceleyin (erişimi genişletmiş olabilecek her şey: `gateway.bind`, `gateway.auth`, DM/grup ilkeleri, `tools.elevated`, Plugin değişiklikleri). +4. `openclaw security audit --deep` komutunu yeniden çalıştırın ve kritik bulguların çözüldüğünü doğrulayın. ### Rapor için topla - Zaman damgası, gateway ana makine işletim sistemi + OpenClaw sürümü -- Oturum transkriptleri + kısa bir günlük kuyruğu (redaksiyondan sonra) +- Oturum transkriptleri + kısa bir günlük sonu (redaksiyondan sonra) - Saldırganın ne gönderdiği + ajanın ne yaptığı - Gateway’in loopback ötesine açılıp açılmadığı (LAN/Tailscale Funnel/Serve) -## detect-secrets ile gizli taraması +## detect-secrets ile sır taraması CI, `secrets` işinde `detect-secrets` pre-commit hook’unu çalıştırır. -`main` dalına push’lar her zaman tüm dosyalar için tarama çalıştırır. Pull request’ler, -bir temel commit mevcut olduğunda değiştirilmiş dosya hızlı yolunu kullanır ve aksi halde -tüm dosyalar taramasına geri döner. Başarısız olursa, henüz temel çizgide olmayan yeni adaylar vardır. +`main` dalına yapılan push’lar her zaman tüm dosya taraması çalıştırır. Pull request’ler, bir temel commit mevcut olduğunda değişen dosya hızlı yolunu kullanır ve aksi halde tüm dosya taramasına geri döner. Başarısız olursa henüz temel çizgide bulunmayan yeni adaylar vardır. ### CI başarısız olursa 1. Yerelde yeniden üretin: - - ```bash - pre-commit run --all-files detect-secrets - ``` - +__OC_I18N_900021__ 2. Araçları anlayın: - - pre-commit içindeki `detect-secrets`, repo’nun temel çizgisi ve hariç tutmalarıyla - `detect-secrets-hook` çalıştırır. - - `detect-secrets audit`, her temel çizgi öğesini gerçek veya yanlış pozitif olarak - işaretlemek için etkileşimli bir inceleme açar. -3. Gerçek gizliler için: bunları döndürün/kaldırın, ardından temel çizgiyi güncellemek için taramayı yeniden çalıştırın. + - pre-commit içindeki `detect-secrets`, deponun temel çizgisi ve hariç tutmalarıyla `detect-secrets-hook` çalıştırır. + - `detect-secrets audit`, her temel çizgi öğesini gerçek veya yanlış pozitif olarak işaretlemek için etkileşimli bir inceleme açar. +3. Gerçek sırlar için: bunları döndürün/kaldırın, ardından temel çizgiyi güncellemek için taramayı yeniden çalıştırın. 4. Yanlış pozitifler için: etkileşimli denetimi çalıştırın ve bunları yanlış olarak işaretleyin: +__OC_I18N_900022__ +5. Yeni hariç tutmalara ihtiyacınız varsa bunları `.detect-secrets.cfg` dosyasına ekleyin ve temel çizgiyi eşleşen `--exclude-files` / `--exclude-lines` bayraklarıyla yeniden oluşturun (yapılandırma dosyası yalnızca referans içindir; detect-secrets bunu otomatik olarak okumaz). - ```bash - detect-secrets audit .secrets.baseline - ``` - -5. Yeni hariç tutmalara ihtiyacınız varsa, bunları `.detect-secrets.cfg` dosyasına ekleyin ve - temel çizgiyi eşleşen `--exclude-files` / `--exclude-lines` bayraklarıyla yeniden oluşturun (yapılandırma - dosyası yalnızca referans amaçlıdır; detect-secrets bunu otomatik olarak okumaz). - -Güncellenmiş `.secrets.baseline` amaçlanan durumu yansıttığında commit edin. +Güncellenen `.secrets.baseline` amaçlanan durumu yansıttığında commit edin. ## Güvenlik sorunlarını bildirme OpenClaw’da bir güvenlik açığı mı buldunuz? Lütfen sorumlu şekilde bildirin: 1. E-posta: [security@openclaw.ai](mailto:security@openclaw.ai) -2. Düzeltilene kadar herkese açık paylaşmayın -3. Size teşekkür kredisi vereceğiz (anonim kalmayı tercih etmezseniz) +2. Düzeltilene kadar herkese açık olarak paylaşmayın +3. Size teşekkür edeceğiz (anonim kalmayı tercih etmediğiniz sürece) diff --git a/docs/tr/plugins/codex-harness.md b/docs/tr/plugins/codex-harness.md index 3abc9bee3..8432a79cf 100644 --- a/docs/tr/plugins/codex-harness.md +++ b/docs/tr/plugins/codex-harness.md @@ -1,141 +1,143 @@ --- read_when: - - Paketle birlikte gelen Codex app-server düzeneğini kullanmak istiyorsunuz - - Codex test düzeneği yapılandırma örneklerine ihtiyacınız var + - Birlikte gelen Codex app-server test düzeneğini kullanmak istiyorsunuz + - Codex çalıştırma ortamı yapılandırma örneklerine ihtiyacınız var - Yalnızca Codex dağıtımlarının PI'ye geri dönmek yerine başarısız olmasını istiyorsunuz -summary: OpenClaw yerleşik ajan turlarını birlikte gelen Codex app-server düzeneği üzerinden çalıştırın +summary: OpenClaw gömülü ajan turlarını birlikte gelen Codex app-server düzeneği üzerinden çalıştırın title: Codex çalışma düzeneği x-i18n: - generated_at: "2026-04-30T09:34:15Z" + generated_at: "2026-04-30T20:05:58Z" model: gpt-5.5 provider: openai - source_hash: 93abb72e9590aad265e5b6b8691dd16314178c4d255679b4e53da33b792a6e6b + source_hash: 335ec60cbdb76579db833eccb5151ffc5bcd28b370ca2e99587abdb578eeee4f source_path: plugins/codex-harness.md workflow: 16 --- -Birlikte gelen `codex` Plugin'i, OpenClaw'ın yerleşik PI koşumu yerine Codex uygulama sunucusu üzerinden gömülü ajan turları çalıştırmasını sağlar. +Birlikte gelen `codex` Plugin'i, OpenClaw'ın gömülü ajan turlarını yerleşik PI çalıştırıcısı yerine Codex uygulama sunucusu üzerinden çalıştırmasını sağlar. -Bunu, düşük seviyeli ajan oturumunun Codex tarafından yönetilmesini istediğinizde kullanın: model keşfi, yerel iş parçacığı sürdürme, yerel Compaction ve uygulama sunucusu yürütmesi. OpenClaw sohbet kanallarını, oturum dosyalarını, model seçimini, araçları, onayları, medya teslimini ve görünür transkript yansısını yönetmeye devam eder. +Bunu, düşük seviyeli ajan oturumunu Codex'in yönetmesini istediğinizde kullanın: model keşfi, yerel iş parçacığı sürdürme, yerel Compaction ve uygulama sunucusu yürütmesi. OpenClaw hâlâ sohbet kanallarını, oturum dosyalarını, model seçimini, araçları, onayları, medya teslimini ve görünür döküm yansısını yönetir. -Kendinizi konumlandırmaya çalışıyorsanız, -[Agent runtimes](/tr/concepts/agent-runtimes) ile başlayın. Kısa sürüm şudur: -`openai/gpt-5.5` model başvurusu, `codex` çalışma zamanı, Telegram, Discord, Slack veya başka bir kanal ise iletişim yüzeyidir. +Kendinizi konumlandırmaya çalışıyorsanız +[Ajan çalışma zamanları](/tr/concepts/agent-runtimes) ile başlayın. Kısa sürüm şudur: +`openai/gpt-5.5` model referansıdır, `codex` çalışma zamanıdır ve Telegram, +Discord, Slack veya başka bir kanal iletişim yüzeyi olarak kalır. -## Bu Plugin'in değiştirdikleri +## Bu Plugin neyi değiştirir Birlikte gelen `codex` Plugin'i birkaç ayrı yetenek sağlar: -| Yetenek | Nasıl kullanırsınız | Ne yapar | -| -------------------------------- | --------------------------------------------------- | ----------------------------------------------------------------------------- | -| Yerel gömülü çalışma zamanı | `agentRuntime.id: "codex"` | OpenClaw gömülü ajan turlarını Codex uygulama sunucusu üzerinden çalıştırır. | -| Yerel sohbet denetim komutları | `/codex bind`, `/codex resume`, `/codex steer`, ... | Bir mesajlaşma konuşmasından Codex uygulama sunucusu iş parçacıklarını bağlar ve denetler. | -| Codex uygulama sunucusu sağlayıcısı/kataloğu | `codex` iç bileşenleri, koşum üzerinden sunulur | Çalışma zamanının uygulama sunucusu modellerini keşfetmesini ve doğrulamasını sağlar. | -| Codex medya anlama yolu | `codex/*` görüntü modeli uyumluluk yolları | Desteklenen görüntü anlama modelleri için sınırlı Codex uygulama sunucusu turları çalıştırır. | -| Yerel kanca aktarıcısı | Codex'e yerel olaylar etrafındaki Plugin kancaları | OpenClaw'ın desteklenen Codex'e yerel araç/sonlandırma olaylarını gözlemlemesini/engellemesini sağlar. | +| Yetenek | Nasıl kullanırsınız | Ne yapar | +| --------------------------------- | --------------------------------------------------- | ------------------------------------------------------------------------------ | +| Yerel gömülü çalışma zamanı | `agentRuntime.id: "codex"` | OpenClaw gömülü ajan turlarını Codex uygulama sunucusu üzerinden çalıştırır. | +| Yerel sohbet denetim komutları | `/codex bind`, `/codex resume`, `/codex steer`, ... | Mesajlaşma konuşmasından Codex uygulama sunucusu iş parçacıklarını bağlar ve denetler. | +| Codex uygulama sunucusu sağlayıcısı/kataloğu | `codex` iç bileşenleri, çalıştırıcı üzerinden sunulur | Çalışma zamanının uygulama sunucusu modellerini keşfetmesini ve doğrulamasını sağlar. | +| Codex medya anlama yolu | `codex/*` görüntü modeli uyumluluk yolları | Desteklenen görüntü anlama modelleri için sınırlı Codex uygulama sunucusu turları çalıştırır. | +| Yerel hook aktarıcısı | Codex'e yerel olaylar etrafındaki Plugin hook'ları | OpenClaw'ın desteklenen Codex'e yerel araç/sonlandırma olaylarını gözlemlemesini/engellemesini sağlar. | -Plugin'i etkinleştirmek bu yetenekleri kullanılabilir hale getirir. Şunları **yapmaz**: +Plugin'i etkinleştirmek bu yetenekleri kullanılabilir kılar. Şunları **yapmaz**: - her OpenAI modeli için Codex kullanmaya başlamak -- `openai-codex/*` model başvurularını yerel çalışma zamanına dönüştürmek +- `openai-codex/*` model referanslarını yerel çalışma zamanına dönüştürmek - ACP/acpx'i varsayılan Codex yolu yapmak -- zaten PI çalışma zamanı kaydetmiş mevcut oturumları anında değiştirmek -- OpenClaw kanal teslimini, oturum dosyalarını, kimlik doğrulama profili depolamayı veya - ileti yönlendirmeyi değiştirmek +- zaten bir PI çalışma zamanı kaydetmiş mevcut oturumları anında değiştirmek +- OpenClaw kanal teslimini, oturum dosyalarını, auth-profile depolamasını veya + ileti yönlendirmesini değiştirmek -Aynı Plugin, yerel `/codex` sohbet denetim komut yüzeyini de yönetir. Plugin etkinse ve kullanıcı sohbetten Codex iş parçacıklarını bağlamayı, sürdürmeyi, yönlendirmeyi, durdurmayı veya incelemeyi isterse, ajanlar ACP yerine `/codex ...` tercih etmelidir. ACP, kullanıcı ACP/acpx istediğinde veya ACP Codex bağdaştırıcısını test ettiğinde açık yedek seçenek olarak kalır. +Aynı Plugin, yerel `/codex` sohbet denetim komut yüzeyini de yönetir. Plugin etkinse ve kullanıcı sohbetten Codex iş parçacıklarını bağlamayı, sürdürmeyi, yönlendirmeyi, durdurmayı veya incelemeyi isterse, ajanlar ACP yerine `/codex ...` tercih etmelidir. ACP, kullanıcı ACP/acpx istediğinde veya ACP Codex bağdaştırıcısını test ettiğinde açık geri dönüş olarak kalır. -Yerel Codex turları, genel uyumluluk katmanı olarak OpenClaw Plugin kancalarını korur. Bunlar işlem içi OpenClaw kancalarıdır; Codex `hooks.json` komut kancaları değildir: +Yerel Codex turları, OpenClaw Plugin hook'larını genel uyumluluk katmanı olarak tutar. Bunlar süreç içi OpenClaw hook'larıdır, Codex `hooks.json` komut hook'ları değildir: - `before_prompt_build` - `before_compaction`, `after_compaction` - `llm_input`, `llm_output` - `before_tool_call`, `after_tool_call` -- `before_message_write` yansıtılmış transkript kayıtları için -- `before_agent_finalize` Codex `Stop` aktarıcısı üzerinden +- `before_message_write` yansıtılmış döküm kayıtları için +- Codex `Stop` aktarıcısı üzerinden `before_agent_finalize` - `agent_end` -Plugin'ler ayrıca OpenClaw aracı çalıştırdıktan sonra ve sonuç Codex'e döndürülmeden önce OpenClaw dinamik araç sonuçlarını yeniden yazmak için çalışma zamanından bağımsız araç sonucu ara yazılımı kaydedebilir. Bu, OpenClaw'a ait transkript araç sonucu yazımlarını dönüştüren genel `tool_result_persist` Plugin kancasından ayrıdır. +Plugin'ler, OpenClaw aracı yürüttükten sonra ve sonuç Codex'e döndürülmeden önce OpenClaw dinamik araç sonuçlarını yeniden yazmak için çalışma zamanından bağımsız araç sonucu ara katman yazılımı da kaydedebilir. Bu, OpenClaw'ın sahip olduğu döküm araç sonucu yazımlarını dönüştüren genel `tool_result_persist` Plugin hook'undan ayrıdır. -Plugin kancası anlamları için [Plugin hooks](/tr/plugins/hooks) -ve [Plugin guard behavior](/tr/tools/plugin) sayfalarına bakın. +Plugin hook semantiğinin kendisi için [Plugin hook'ları](/tr/plugins/hooks) ve [Plugin koruma davranışı](/tr/tools/plugin) bölümlerine bakın. -Koşum varsayılan olarak kapalıdır. Yeni yapılandırmalar OpenAI model başvurularını `openai/gpt-*` biçiminde kurallı tutmalı ve yerel uygulama sunucusu yürütmesi istediklerinde açıkça `agentRuntime.id: "codex"` veya `OPENCLAW_AGENT_RUNTIME=codex` zorlamalıdır. Eski `codex/*` model başvuruları uyumluluk için koşumu hâlâ otomatik seçer, ancak çalışma zamanı destekli eski sağlayıcı önekleri normal model/sağlayıcı seçenekleri olarak gösterilmez. +Çalıştırıcı varsayılan olarak kapalıdır. Yeni yapılandırmalar OpenAI model referanslarını `openai/gpt-*` olarak kurallı tutmalı ve yerel uygulama sunucusu yürütmesi istediklerinde açıkça `agentRuntime.id: "codex"` veya `OPENCLAW_AGENT_RUNTIME=codex` zorlamalıdır. Eski `codex/*` model referansları uyumluluk için çalıştırıcıyı hâlâ otomatik seçer, ancak çalışma zamanı destekli eski sağlayıcı önekleri normal model/sağlayıcı seçenekleri olarak gösterilmez. -`codex` Plugin'i etkinse ancak birincil model hâlâ `openai-codex/*` ise, `openclaw doctor` rotayı değiştirmek yerine uyarır. Bu kasıtlıdır: `openai-codex/*`, PI Codex OAuth/abonelik yolu olarak kalır ve yerel uygulama sunucusu yürütmesi açık bir çalışma zamanı seçimi olarak kalır. +`codex` Plugin'i etkinse ancak birincil model hâlâ `openai-codex/*` ise, `openclaw doctor` rotayı değiştirmek yerine uyarır. Bu bilinçlidir: `openai-codex/*` PI Codex OAuth/abonelik yolu olarak kalır ve yerel uygulama sunucusu yürütmesi açık bir çalışma zamanı seçimi olarak kalır. ## Rota haritası Yapılandırmayı değiştirmeden önce bu tabloyu kullanın: -| İstenen davranış | Model başvurusu | Çalışma zamanı yapılandırması | Plugin gereksinimi | Beklenen durum etiketi | -| ------------------------------------------- | ------------------------ | -------------------------------------- | --------------------------- | ------------------------------- | -| Normal OpenClaw çalıştırıcısı üzerinden OpenAI API | `openai/gpt-*` | atlanmış veya `runtime: "pi"` | OpenAI sağlayıcısı | `Runtime: OpenClaw Pi Default` | -| PI üzerinden Codex OAuth/abonelik | `openai-codex/gpt-*` | atlanmış veya `runtime: "pi"` | OpenAI Codex OAuth sağlayıcısı | `Runtime: OpenClaw Pi Default` | -| Yerel Codex uygulama sunucusu gömülü turları | `openai/gpt-*` | `agentRuntime.id: "codex"` | `codex` Plugin'i | `Runtime: OpenAI Codex` | -| Tutucu otomatik modla karma sağlayıcılar | sağlayıcıya özgü başvurular | `agentRuntime.id: "auto"` | İsteğe bağlı Plugin çalışma zamanları | Seçilen çalışma zamanına bağlı | -| Açık Codex ACP bağdaştırıcı oturumu | ACP istemi/modeline bağlı | `sessions_spawn` ile `runtime: "acp"` | sağlıklı `acpx` arka ucu | ACP görev/oturum durumu | +| İstenen davranış | Model referansı | Çalışma zamanı yapılandırması | Plugin gereksinimi | Beklenen durum etiketi | +| ----------------------------------------- | ------------------------- | --------------------------------------- | --------------------------- | ------------------------------- | +| Normal OpenClaw çalıştırıcısı üzerinden OpenAI API | `openai/gpt-*` | atlanmış veya `runtime: "pi"` | OpenAI sağlayıcısı | `Runtime: OpenClaw Pi Default` | +| PI üzerinden Codex OAuth/abonelik | `openai-codex/gpt-*` | atlanmış veya `runtime: "pi"` | OpenAI Codex OAuth sağlayıcısı | `Runtime: OpenClaw Pi Default` | +| Yerel Codex uygulama sunucusu gömülü turları | `openai/gpt-*` | `agentRuntime.id: "codex"` | `codex` Plugin'i | `Runtime: OpenAI Codex` | +| Koruyucu otomatik modla karışık sağlayıcılar | sağlayıcıya özgü referanslar | `agentRuntime.id: "auto"` | İsteğe bağlı Plugin çalışma zamanları | Seçilen çalışma zamanına bağlı | +| Açık Codex ACP bağdaştırıcısı oturumu | ACP prompt/model bağımlı | `sessions_spawn` ile `runtime: "acp"` | sağlıklı `acpx` arka ucu | ACP görev/oturum durumu | Önemli ayrım sağlayıcı ile çalışma zamanı arasındadır: -- `openai-codex/*`, "PI hangi sağlayıcı/kimlik doğrulama rotasını kullanmalı?" sorusunu yanıtlar -- `agentRuntime.id: "codex"`, "bu gömülü turu hangi döngü yürütmeli?" sorusunu yanıtlar -- `/codex ...`, "bu sohbet hangi yerel Codex konuşmasına bağlanmalı veya onu denetlemeli?" sorusunu yanıtlar -- ACP, "acpx hangi harici koşum sürecini başlatmalı?" sorusunu yanıtlar +- `openai-codex/*` "PI hangi sağlayıcı/auth rotasını kullanmalı?" sorusunu yanıtlar +- `agentRuntime.id: "codex"` "bu gömülü turu hangi döngü yürütmeli?" + sorusunu yanıtlar +- `/codex ...` "bu sohbet hangi yerel Codex konuşmasına bağlanmalı + veya onu denetlemeli?" sorusunu yanıtlar +- ACP "acpx hangi dış çalıştırıcı sürecini başlatmalı?" sorusunu yanıtlar ## Doğru model önekini seçin -OpenAI ailesi rotaları öneke özeldir. PI üzerinden Codex OAuth istediğinizde `openai-codex/*` kullanın; doğrudan OpenAI API erişimi istediğinizde veya yerel Codex uygulama sunucusu koşumunu zorladığınızda `openai/*` kullanın: +OpenAI ailesi rotaları öneke özgüdür. PI üzerinden Codex OAuth istediğinizde `openai-codex/*` kullanın; doğrudan OpenAI API erişimi istediğinizde veya yerel Codex uygulama sunucusu çalıştırıcısını zorladığınızda `openai/*` kullanın: -| Model başvurusu | Çalışma zamanı yolu | Ne zaman kullanılır | -| -------------------------------------------- | ------------------------------------------ | -------------------------------------------------------------------------- | -| `openai/gpt-5.4` | OpenClaw/PI tesisatı üzerinden OpenAI sağlayıcısı | `OPENAI_API_KEY` ile mevcut doğrudan OpenAI Platform API erişimi istiyorsunuz. | -| `openai-codex/gpt-5.5` | OpenClaw/PI üzerinden OpenAI Codex OAuth | Varsayılan PI çalıştırıcısıyla ChatGPT/Codex abonelik kimlik doğrulaması istiyorsunuz. | -| `openai/gpt-5.5` + `agentRuntime.id: "codex"` | Codex uygulama sunucusu koşumu | Gömülü ajan turu için yerel Codex uygulama sunucusu yürütmesi istiyorsunuz. | +| Model referansı | Çalışma zamanı yolu | Ne zaman kullanılır | +| -------------------------------------------- | ----------------------------------------- | ------------------------------------------------------------------------- | +| `openai/gpt-5.4` | OpenClaw/PI tesisatı üzerinden OpenAI sağlayıcısı | `OPENAI_API_KEY` ile güncel doğrudan OpenAI Platform API erişimi istediğinizde. | +| `openai-codex/gpt-5.5` | OpenClaw/PI üzerinden OpenAI Codex OAuth | Varsayılan PI çalıştırıcısıyla ChatGPT/Codex abonelik auth istediğinizde. | +| `openai/gpt-5.5` + `agentRuntime.id: "codex"` | Codex uygulama sunucusu çalıştırıcısı | Gömülü ajan turu için yerel Codex uygulama sunucusu yürütmesi istediğinizde. | -GPT-5.5 şu anda OpenClaw'da yalnızca abonelik/OAuth ile kullanılabilir. PI OAuth için `openai-codex/gpt-5.5` kullanın veya Codex uygulama sunucusu koşumuyla `openai/gpt-5.5` kullanın. `openai/gpt-5.5` için doğrudan API anahtarı erişimi, OpenAI GPT-5.5'i genel API'de etkinleştirdiğinde desteklenir. +GPT-5.5 şu anda OpenClaw'da yalnızca abonelik/OAuth ile kullanılabilir. PI OAuth için `openai-codex/gpt-5.5` kullanın veya Codex uygulama sunucusu çalıştırıcısıyla `openai/gpt-5.5` kullanın. `openai/gpt-5.5` için doğrudan API anahtarı erişimi, OpenAI GPT-5.5'i genel API'de etkinleştirdiğinde desteklenir. -Eski `codex/gpt-*` başvuruları uyumluluk takma adları olarak kabul edilmeye devam eder. Doctor uyumluluk geçişi, eski birincil çalışma zamanı başvurularını kurallı model başvurularına yeniden yazar ve çalışma zamanı ilkesini ayrı kaydeder; yalnızca yedek eski başvurular ise değişmeden bırakılır, çünkü çalışma zamanı tüm ajan kapsayıcısı için yapılandırılır. Yeni PI Codex OAuth yapılandırmaları `openai-codex/gpt-*` kullanmalıdır; yeni yerel uygulama sunucusu koşumu yapılandırmaları `openai/gpt-*` artı `agentRuntime.id: "codex"` kullanmalıdır. +Eski `codex/gpt-*` referansları uyumluluk diğer adları olarak kabul edilmeye devam eder. Doctor uyumluluk geçişi, eski birincil çalışma zamanı referanslarını kurallı model referanslarına yeniden yazar ve çalışma zamanı ilkesini ayrı kaydeder; yalnızca geri dönüşte kullanılan eski referanslar ise değişmeden bırakılır, çünkü çalışma zamanı tüm ajan kapsayıcısı için yapılandırılır. Yeni PI Codex OAuth yapılandırmaları `openai-codex/gpt-*` kullanmalıdır; yeni yerel uygulama sunucusu çalıştırıcısı yapılandırmaları `openai/gpt-*` ile birlikte `agentRuntime.id: "codex"` kullanmalıdır. -`agents.defaults.imageModel` aynı önek ayrımını izler. Görüntü anlama OpenAI Codex OAuth sağlayıcı yolu üzerinden çalışmalıysa `openai-codex/gpt-*` kullanın. Görüntü anlama sınırlı bir Codex uygulama sunucusu turu üzerinden çalışmalıysa `codex/gpt-*` kullanın. Codex uygulama sunucusu modeli görüntü girişi desteği bildirmelidir; yalnızca metin destekleyen Codex modelleri medya turu başlamadan önce başarısız olur. +`agents.defaults.imageModel` aynı önek ayrımını izler. Görüntü anlama OpenAI Codex OAuth sağlayıcı yolu üzerinden çalışmalıysa `openai-codex/gpt-*` kullanın. Görüntü anlama sınırlı bir Codex uygulama sunucusu turu üzerinden çalışmalıysa `codex/gpt-*` kullanın. Codex uygulama sunucusu modeli görüntü girdi desteğini ilan etmelidir; yalnızca metin Codex modelleri medya turu başlamadan önce başarısız olur. -Geçerli oturum için etkin koşumu doğrulamak üzere `/status` kullanın. Seçim şaşırtıcıysa, `agents/harness` alt sistemi için hata ayıklama günlüğünü etkinleştirin ve Gateway'in yapılandırılmış `agent harness selected` kaydını inceleyin. Bu kayıt seçilen koşum kimliğini, seçim nedenini, çalışma zamanı/yedek ilkesini ve `auto` modunda her Plugin adayının destek sonucunu içerir. +Geçerli oturum için etkili çalıştırıcıyı doğrulamak üzere `/status` kullanın. Seçim şaşırtıcıysa, `agents/harness` alt sistemi için hata ayıklama günlüklerini etkinleştirin ve Gateway'in yapılandırılmış `agent harness selected` kaydını inceleyin. Bu kayıt seçilen çalıştırıcı kimliğini, seçim nedenini, çalışma zamanı/geri dönüş ilkesini ve `auto` modunda her Plugin adayının destek sonucunu içerir. ### Doctor uyarıları ne anlama gelir -`openclaw doctor`, aşağıdakilerin tümü doğru olduğunda uyarır: +`openclaw doctor`, şu koşulların tümü doğru olduğunda uyarır: - birlikte gelen `codex` Plugin'i etkin veya izinlidir -- bir ajanın birincil modeli `openai-codex/*`'dır -- o ajanın etkin çalışma zamanı `codex` değildir +- bir ajanın birincil modeli `openai-codex/*` şeklindedir +- o ajanın etkili çalışma zamanı `codex` değildir -Bu uyarı vardır çünkü kullanıcılar çoğu zaman "Codex Plugin'i etkin" ifadesinin "yerel Codex uygulama sunucusu çalışma zamanı" anlamına gelmesini bekler. OpenClaw bu sıçramayı yapmaz. Uyarının anlamı şudur: +Bu uyarı, kullanıcıların sık sık "Codex Plugin etkin" ifadesinin "yerel Codex uygulama sunucusu çalışma zamanı" anlamına gelmesini beklemesi nedeniyle vardır. OpenClaw bu sıçramayı yapmaz. Uyarı şu anlama gelir: -- PI üzerinden ChatGPT/Codex OAuth amaçladıysanız **değişiklik gerekmez**. +- PI üzerinden ChatGPT/Codex OAuth amaçladıysanız **hiçbir değişiklik gerekmez**. - Yerel uygulama sunucusu yürütmesi amaçladıysanız modeli `openai/` olarak değiştirin ve `agentRuntime.id: "codex"` ayarlayın. - Çalışma zamanı değişikliğinden sonra mevcut oturumlar hâlâ `/new` veya `/reset` gerektirir, çünkü oturum çalışma zamanı sabitlemeleri yapışkandır. -Koşum seçimi canlı oturum denetimi değildir. Gömülü bir tur çalıştığında, OpenClaw seçilen koşum kimliğini o oturuma kaydeder ve aynı oturum kimliğindeki sonraki turlar için onu kullanmaya devam eder. Gelecekteki oturumların başka bir koşum kullanmasını istediğinizde `agentRuntime` yapılandırmasını veya `OPENCLAW_AGENT_RUNTIME` değerini değiştirin; mevcut bir konuşmayı PI ile Codex arasında değiştirmeden önce yeni bir oturum başlatmak için `/new` veya `/reset` kullanın. Bu, tek bir transkriptin iki uyumsuz yerel oturum sistemi üzerinden yeniden oynatılmasını önler. +Çalıştırıcı seçimi canlı oturum denetimi değildir. Gömülü bir tur çalıştığında OpenClaw seçilen çalıştırıcı kimliğini o oturuma kaydeder ve aynı oturum kimliğindeki sonraki turlarda kullanmaya devam eder. Gelecekteki oturumların başka bir çalıştırıcı kullanmasını istediğinizde `agentRuntime` yapılandırmasını veya `OPENCLAW_AGENT_RUNTIME` değerini değiştirin; mevcut bir konuşmayı PI ile Codex arasında geçirmeden önce yeni bir oturum başlatmak için `/new` veya `/reset` kullanın. Bu, bir dökümün iki uyumsuz yerel oturum sistemi üzerinden yeniden oynatılmasını önler. -Koşum sabitlemelerinden önce oluşturulmuş eski oturumlar, transkript geçmişleri olduğunda PI sabitlenmiş olarak değerlendirilir. Yapılandırmayı değiştirdikten sonra bu konuşmayı Codex'e almak için `/new` veya `/reset` kullanın. +Çalıştırıcı sabitlemelerinden önce oluşturulan eski oturumlar, döküm geçmişleri olduğunda PI'ye sabitlenmiş olarak ele alınır. Yapılandırmayı değiştirdikten sonra bu konuşmayı Codex'e geçirmek için `/new` veya `/reset` kullanın. -`/status` etkin model çalışma zamanını gösterir. Varsayılan PI koşumu `Runtime: OpenClaw Pi Default` olarak, Codex uygulama sunucusu koşumu ise `Runtime: OpenAI Codex` olarak görünür. +`/status` etkili model çalışma zamanını gösterir. Varsayılan PI çalıştırıcısı `Runtime: OpenClaw Pi Default` olarak, Codex uygulama sunucusu çalıştırıcısı ise `Runtime: OpenAI Codex` olarak görünür. ## Gereksinimler - Birlikte gelen `codex` Plugin'i kullanılabilir olan OpenClaw. -- Codex uygulama sunucusu `0.125.0` veya daha yeni. Birlikte gelen Plugin varsayılan olarak uyumlu bir Codex uygulama sunucusu ikilisini yönetir, bu nedenle `PATH` üzerindeki yerel `codex` komutları normal koşum başlatmasını etkilemez. -- Uygulama sunucusu süreci veya OpenClaw'ın Codex kimlik doğrulama köprüsü için Codex kimlik doğrulaması kullanılabilir olmalıdır. +- Codex uygulama sunucusu `0.125.0` veya daha yenisi. Birlikte gelen Plugin varsayılan olarak uyumlu bir Codex uygulama sunucusu ikilisini yönetir; bu nedenle `PATH` üzerindeki yerel `codex` komutları normal çalıştırıcı başlangıcını etkilemez. +- Uygulama sunucusu süreci veya OpenClaw'ın Codex auth köprüsü için Codex auth kullanılabilir olmalıdır. Yerel stdio uygulama sunucusu başlatmaları her ajan için OpenClaw tarafından yönetilen bir Codex home ve yalıtılmış bir alt `HOME` kullanır; bu nedenle varsayılan olarak kişisel `~/.codex` hesabınızı, skills, plugin'leri, yapılandırmayı, iş parçacığı durumunu veya yerel `$HOME/.agents/skills` öğelerini okumazlar. -Plugin, daha eski veya sürümsüz uygulama sunucusu el sıkışmalarını engeller. Bu, OpenClaw'ı test edilmiş olduğu protokol yüzeyinde tutar. +Plugin, daha eski veya sürümsüz uygulama sunucusu el sıkışmalarını engeller. Bu, OpenClaw'ı test edildiği protokol yüzeyinde tutar. -Canlı ve Docker duman testleri için kimlik doğrulama genellikle Codex CLI hesabından veya bir OpenClaw `openai-codex` kimlik doğrulama profilinden gelir. Yerel stdio uygulama sunucusu başlatmaları, hesap yoksa `CODEX_API_KEY` / `OPENAI_API_KEY` değerlerine de geri dönebilir. +Canlı ve Docker duman testleri için auth genellikle Codex CLI hesabından veya bir OpenClaw `openai-codex` auth profilinden gelir. Yerel stdio uygulama sunucusu başlatmaları, hesap yoksa `CODEX_API_KEY` / `OPENAI_API_KEY` değerlerine de geri dönebilir. ## En küçük yapılandırma -`openai/gpt-5.5` kullanın, birlikte gelen Plugin'i etkinleştirin ve `codex` koşumunu zorlayın: +`openai/gpt-5.5` kullanın, birlikte gelen Plugin'i etkinleştirin ve `codex` çalıştırıcısını zorlayın: ```json5 { @@ -176,18 +178,21 @@ Yapılandırmanız `plugins.allow` kullanıyorsa, `codex` değerini oraya da ekl ## Codex'i diğer modellerin yanına ekleyin -Aynı ajan Codex ve Codex dışı sağlayıcı modelleri arasında serbestçe geçiş yapacaksa `agentRuntime.id: "codex"` değerini genel olarak ayarlamayın. Zorlanmış çalışma zamanı, o ajan veya oturum için her gömülü tura uygulanır. Bu çalışma zamanı zorlanmışken bir Anthropic modeli seçerseniz, OpenClaw yine Codex koşumunu dener ve o turu sessizce PI üzerinden yönlendirmek yerine kapalı biçimde başarısız olur. +Aynı aracı Codex ve Codex olmayan sağlayıcı modelleri arasında serbestçe geçiş +yapacaksa `agentRuntime.id: "codex"` değerini küresel olarak ayarlamayın. Zorunlu bir çalışma zamanı, +o aracı veya oturumu için her gömülü dönüşe uygulanır. Bu çalışma zamanı zorunluyken +bir Anthropic modeli seçerseniz OpenClaw yine Codex harness'ını dener ve bu dönüşü +sessizce PI üzerinden yönlendirmek yerine kapalı şekilde başarısız olur. -Bunun yerine şu yapılardan birini kullanın: +Bunun yerine şu biçimlerden birini kullanın: -- Codex'i `agentRuntime.id: "codex"` olan ayrılmış bir ajana koyun. -- Varsayılan ajanı `agentRuntime.id: "auto"` üzerinde ve normal karma - sağlayıcı kullanımı için PI geri dönüşüyle tutun. +- Codex'i `agentRuntime.id: "codex"` ile ayrılmış bir araca koyun. +- Varsayılan aracı normal karma sağlayıcı kullanımı için `agentRuntime.id: "auto"` ve PI fallback ile tutun. - Eski `codex/*` başvurularını yalnızca uyumluluk için kullanın. Yeni yapılandırmalar - `openai/*` ile açık bir Codex çalışma zamanı politikasını tercih etmelidir. + `openai/*` ile birlikte açık bir Codex çalışma zamanı politikasını tercih etmelidir. -Örneğin, bu yapı varsayılan ajanı normal otomatik seçimde tutar ve -ayrı bir Codex ajanı ekler: +Örneğin bu, varsayılan aracı normal otomatik seçimde tutar ve +ayrı bir Codex aracı ekler: ```json5 { @@ -224,39 +229,39 @@ ayrı bir Codex ajanı ekler: } ``` -Bu yapıyla: +Bu biçimle: -- Varsayılan `main` ajanı normal sağlayıcı yolunu ve PI uyumluluk geri dönüşünü kullanır. -- `codex` ajanı Codex app-server bağlayıcısını kullanır. -- Codex eksikse veya `codex` ajanı için desteklenmiyorsa, tur sessizce PI - kullanmak yerine başarısız olur. +- Varsayılan `main` aracı normal sağlayıcı yolunu ve PI uyumluluk fallback'ini kullanır. +- `codex` aracı Codex uygulama sunucusu harness'ını kullanır. +- Codex `codex` aracı için eksik veya desteklenmiyorsa dönüş, sessizce PI kullanmak + yerine başarısız olur. -## Ajan komut yönlendirmesi +## Araç komutu yönlendirme -Ajanlar kullanıcı isteklerini yalnızca "Codex" sözcüğüne göre değil, amaca göre yönlendirmelidir: +Araçlar kullanıcı isteklerini yalnızca "Codex" sözcüğüne göre değil, amaca göre yönlendirmelidir: -| Kullanıcı şunu ister... | Ajan şunu kullanmalıdır... | +| Kullanıcı şunu ister... | Araç şunu kullanmalıdır... | | -------------------------------------------------------- | ------------------------------------------------ | | "Bu sohbeti Codex'e bağla" | `/codex bind` | | "Codex iş parçacığı `` burada sürdürülsün" | `/codex resume ` | | "Codex iş parçacıklarını göster" | `/codex threads` | -| "Kötü bir Codex çalıştırması için destek raporu oluştur" | `/diagnostics [note]` | +| "Kötü bir Codex çalışması için destek raporu oluştur" | `/diagnostics [note]` | | "Yalnızca bu ekli iş parçacığı için Codex geri bildirimi gönder" | `/codex diagnostics [note]` | -| "Bu ajan için çalışma zamanı olarak Codex kullan" | `agentRuntime.id` için yapılandırma değişikliği | +| "Bu araç için çalışma zamanı olarak Codex kullan" | `agentRuntime.id` için yapılandırma değişikliği | | "Normal OpenClaw ile ChatGPT/Codex aboneliğimi kullan" | `openai-codex/*` model başvuruları | | "Codex'i ACP/acpx üzerinden çalıştır" | ACP `sessions_spawn({ runtime: "acp", ... })` | -| "Bir iş parçacığında Claude Code/Gemini/OpenCode/Cursor başlat" | ACP/acpx, `/codex` değil ve yerel alt ajanlar değil | +| "Claude Code/Gemini/OpenCode/Cursor'ı bir iş parçacığında başlat" | ACP/acpx, `/codex` değil ve yerel alt araçlar değil | -OpenClaw, ACP oluşturma kılavuzunu ajanlara yalnızca ACP etkinleştirildiğinde, -gönderilebilir olduğunda ve yüklenmiş bir çalışma zamanı arka ucu tarafından desteklendiğinde -duyurur. ACP kullanılamıyorsa, sistem istemi ve Plugin Skills ajana ACP +OpenClaw, ACP spawn kılavuzunu araçlara yalnızca ACP etkin, +gönderilebilir ve yüklü bir çalışma zamanı arka ucu tarafından destekleniyorsa duyurur. +ACP kullanılabilir değilse, sistem prompt'u ve Plugin Skills araca ACP yönlendirmesini öğretmemelidir. ## Yalnızca Codex dağıtımları -Her gömülü ajan turunun Codex kullandığını kanıtlamanız gerektiğinde Codex bağlayıcısını -zorunlu kılın. Açık Plugin çalışma zamanları varsayılan olarak PI geri dönüşü kullanmaz, bu nedenle -`fallback: "none"` isteğe bağlıdır ancak çoğu zaman dokümantasyon olarak kullanışlıdır: +Her gömülü araç dönüşünün Codex kullandığını kanıtlamanız gerektiğinde Codex harness'ını +zorunlu kılın. Açık Plugin çalışma zamanları varsayılan olarak PI fallback olmadan gelir, bu yüzden +`fallback: "none"` isteğe bağlıdır ancak çoğu zaman belgelendirme açısından yararlıdır: ```json5 { @@ -278,15 +283,14 @@ Ortam geçersiz kılması: OPENCLAW_AGENT_RUNTIME=codex openclaw gateway run ``` -Codex zorunlu kılındığında, Codex Plugin devre dışıysa, app-server çok eskiyse -veya app-server başlatılamıyorsa OpenClaw erken başarısız olur. -`OPENCLAW_AGENT_HARNESS_FALLBACK=pi` ayarını yalnızca eksik bağlayıcı seçimini -bilerek PI'ın işlemesini istiyorsanız belirleyin. +Codex zorunlu kılındığında, Codex Plugin devre dışıysa, uygulama sunucusu +çok eskiyse veya uygulama sunucusu başlatılamıyorsa OpenClaw erken başarısız olur. +`OPENCLAW_AGENT_HARNESS_FALLBACK=pi` değerini yalnızca eksik harness seçimini +bilerek PI'ın işlemesini istiyorsanız ayarlayın. -## Ajan başına Codex +## Araç bazında Codex -Varsayılan ajan normal otomatik seçimi korurken bir ajanı yalnızca Codex kullanacak -hale getirebilirsiniz: +Varsayılan araç normal otomatik seçimi korurken bir aracı yalnızca Codex yapabilirsiniz: ```json5 { @@ -317,15 +321,16 @@ hale getirebilirsiniz: } ``` -Ajanlar ve modeller arasında geçiş yapmak için normal oturum komutlarını kullanın. `/new` yeni bir -OpenClaw oturumu oluşturur ve Codex bağlayıcısı gerektiğinde yan app-server -iş parçacığını oluşturur veya sürdürür. `/reset`, bu iş parçacığı için OpenClaw oturum bağlamasını -temizler ve bir sonraki turun bağlayıcıyı geçerli yapılandırmadan yeniden çözmesine izin verir. +Araçlar ve modeller arasında geçiş yapmak için normal oturum komutlarını kullanın. +`/new` yeni bir OpenClaw oturumu oluşturur ve Codex harness'ı gerektiğinde kendi +sidecar uygulama sunucusu iş parçacığını oluşturur veya sürdürür. `/reset`, o iş parçacığı için +OpenClaw oturum bağlamasını temizler ve bir sonraki dönüşün harness'ı geçerli +yapılandırmadan yeniden çözmesine izin verir. ## Model keşfi -Varsayılan olarak Codex Plugin, kullanılabilir modeller için app-server'a sorar. Keşif başarısız olursa -veya zaman aşımına uğrarsa, şunlar için paketlenmiş bir geri dönüş kataloğu kullanır: +Varsayılan olarak Codex Plugin, mevcut modelleri uygulama sunucusundan ister. Keşif +başarısız olur veya zaman aşımına uğrarsa şu modeller için paketlenmiş fallback kataloğunu kullanır: - GPT-5.5 - GPT-5.4 mini @@ -351,7 +356,8 @@ Keşfi `plugins.entries.codex.config.discovery` altında ayarlayabilirsiniz: } ``` -Başlatmanın Codex'i yoklamaktan kaçınmasını ve yedek katalogla kalmasını istediğinizde keşfi devre dışı bırakın: +Başlangıcın Codex'i yoklamasını önlemek ve fallback kataloğuna bağlı kalmak +istediğinizde keşfi devre dışı bırakın: ```json5 { @@ -370,7 +376,7 @@ Başlatmanın Codex'i yoklamaktan kaçınmasını ve yedek katalogla kalmasını } ``` -## App-server bağlantısı ve ilkesi +## Uygulama sunucusu bağlantısı ve politika Varsayılan olarak Plugin, OpenClaw'ın yönetilen Codex ikilisini yerel olarak şununla başlatır: @@ -378,12 +384,20 @@ Varsayılan olarak Plugin, OpenClaw'ın yönetilen Codex ikilisini yerel olarak codex app-server --listen stdio:// ``` -Yönetilen ikili, paketlenmiş bir Plugin çalışma zamanı bağımlılığı olarak bildirilir ve `codex` Plugin bağımlılıklarının geri kalanıyla birlikte hazırlanır. Bu, app-server sürümünü yerel olarak kurulu olabilecek ayrı bir Codex CLI yerine paketlenmiş Plugin'e bağlı tutar. `appServer.command` ayarını yalnızca bilerek farklı bir yürütülebilir dosya çalıştırmak istediğinizde yapın. +Yönetilen ikili, paketlenmiş bir Plugin çalışma zamanı bağımlılığı olarak bildirilir ve +diğer `codex` Plugin bağımlılıklarıyla birlikte hazırlanır. Bu, uygulama sunucusu +sürümünü yerel olarak kurulu olabilecek ayrı Codex CLI yerine paketlenmiş Plugin'e +bağlı tutar. `appServer.command` değerini yalnızca bilerek farklı bir çalıştırılabilir +dosya çalıştırmak istediğinizde ayarlayın. -Varsayılan olarak OpenClaw, yerel Codex harness oturumlarını YOLO modunda başlatır: `approvalPolicy: "never"`, `approvalsReviewer: "user"` ve `sandbox: "danger-full-access"`. Bu, otonom heartbeat'ler için kullanılan güvenilir yerel operatör duruşudur: Codex, yanıtlayacak kimse olmadığında yerel onay istemlerinde durmadan kabuk ve ağ araçlarını kullanabilir. +Varsayılan olarak OpenClaw, yerel Codex harness oturumlarını YOLO modunda başlatır: +`approvalPolicy: "never"`, `approvalsReviewer: "user"` ve +`sandbox: "danger-full-access"`. Bu, otonom Heartbeat'ler için kullanılan güvenilir +yerel operatör duruşudur: Codex, yanıtlayacak kimse yokken yerel onay prompt'larında +durmadan shell ve ağ araçlarını kullanabilir. -Codex guardian tarafından incelenen onaylara dahil olmak için `appServer.mode: -"guardian"` ayarını yapın: +Codex guardian tarafından incelenen onaylara katılmak için `appServer.mode: +"guardian"` değerini ayarlayın: ```json5 { @@ -403,11 +417,21 @@ Codex guardian tarafından incelenen onaylara dahil olmak için `appServer.mode: } ``` -Guardian modu, Codex'in yerel otomatik inceleme onay yolunu kullanır. Codex sandbox dışına çıkmayı, çalışma alanı dışına yazmayı veya ağ erişimi gibi izinler eklemeyi istediğinde, Codex bu onay isteğini insan istemi yerine yerel inceleyiciye yönlendirir. İnceleyici, Codex'in risk çerçevesini uygular ve belirli isteği onaylar veya reddeder. YOLO modundan daha fazla koruma istediğinizde, ancak gözetimsiz ajanların yine de ilerleme kaydetmesi gerektiğinde Guardian kullanın. +Guardian modu, Codex'in yerel otomatik inceleme onay yolunu kullanır. Codex +sandbox dışına çıkmayı, çalışma alanı dışına yazmayı veya ağ erişimi gibi izinler +eklemeyi istediğinde, Codex bu onay isteğini insan prompt'u yerine yerel inceleyiciye +yönlendirir. İnceleyici Codex'in risk çerçevesini uygular ve belirli isteği onaylar +veya reddeder. YOLO modundan daha fazla koruma istediğiniz ancak yine de gözetimsiz +araçların ilerlemesini sağlamak zorunda olduğunuzda Guardian kullanın. -`guardian` ön ayarı `approvalPolicy: "on-request"`, `approvalsReviewer: "auto_review"` ve `sandbox: "workspace-write"` olarak genişler. Tek tek ilke alanları yine de `mode` değerini geçersiz kılar, böylece gelişmiş dağıtımlar ön ayarı açık seçimlerle karıştırabilir. Daha eski `guardian_subagent` inceleyici değeri uyumluluk diğer adı olarak hâlâ kabul edilir, ancak yeni yapılandırmalar `auto_review` kullanmalıdır. +`guardian` hazır ayarı `approvalPolicy: "on-request"`, +`approvalsReviewer: "auto_review"` ve `sandbox: "workspace-write"` olarak genişler. +Tek tek politika alanları yine de `mode` değerini geçersiz kılar, böylece ileri düzey +dağıtımlar hazır ayarı açık seçimlerle karıştırabilir. Eski `guardian_subagent` +inceleyici değeri uyumluluk takma adı olarak hâlâ kabul edilir, ancak yeni yapılandırmalar +`auto_review` kullanmalıdır. -Zaten çalışmakta olan bir app-server için WebSocket aktarımını kullanın: +Zaten çalışan bir uygulama sunucusu için WebSocket aktarımını kullanın: ```json5 { @@ -429,15 +453,49 @@ Zaten çalışmakta olan bir app-server için WebSocket aktarımını kullanın: } ``` -Stdio app-server başlatmaları varsayılan olarak OpenClaw'ın süreç ortamını devralır, ancak Codex app-server hesap köprüsünün sahibi OpenClaw'dır. Kimlik doğrulama şu sırayla seçilir: +Stdio uygulama sunucusu başlatmaları varsayılan olarak OpenClaw'ın süreç ortamını devralır, +ancak OpenClaw Codex uygulama sunucusu hesap köprüsünü sahiplenir ve hem +`CODEX_HOME` hem de `HOME` değerlerini o aracın OpenClaw durumu altındaki araç bazlı +dizinlere ayarlar. Codex'in kendi Skills yükleyicisi `$CODEX_HOME/skills` ve +`$HOME/.agents/skills` dizinlerini okur, bu nedenle her iki değer de yerel uygulama sunucusu +başlatmaları için yalıtılır. Bu, Codex'e yerel Skills, Plugins, yapılandırma, hesaplar +ve iş parçacığı durumunun operatörün kişisel Codex CLI ana dizininden sızmak yerine +OpenClaw aracına kapsamlanmasını sağlar. -1. Ajan için açık bir OpenClaw Codex kimlik doğrulama profili. -2. Yerel Codex CLI ChatGPT oturumu gibi app-server'ın mevcut hesabı. -3. Yalnızca yerel stdio app-server başlatmaları için, app-server hesabı yoksa ve OpenAI kimlik doğrulaması hâlâ gerekiyorsa önce `CODEX_API_KEY`, ardından `OPENAI_API_KEY`. +OpenClaw Plugins ve OpenClaw Skills anlık görüntüleri yine OpenClaw'ın kendi +Plugin kayıt defteri ve Skills yükleyicisi üzerinden akar. Kişisel Codex CLI varlıkları +akmaz. Bir OpenClaw aracının parçası olması gereken yararlı Codex CLI Skills veya +Plugins öğeleriniz varsa bunların envanterini açıkça çıkarın: -OpenClaw, ChatGPT abonelik stili bir Codex kimlik doğrulama profili gördüğünde, oluşturulan Codex alt sürecinden `CODEX_API_KEY` ve `OPENAI_API_KEY` değerlerini kaldırır. Bu, Gateway düzeyi API anahtarlarını embeddings veya doğrudan OpenAI modelleri için kullanılabilir tutarken yerel Codex app-server turlarının yanlışlıkla API üzerinden ücretlendirilmesini önler. Açık Codex API anahtarı profilleri ve yerel stdio ortam anahtarı yedeği, devralınan alt süreç ortamı yerine app-server oturum açmasını kullanır. WebSocket app-server bağlantıları Gateway ortam API anahtarı yedeğini almaz; açık bir kimlik doğrulama profili veya uzak app-server'ın kendi hesabını kullanın. +```bash +openclaw migrate codex --dry-run +openclaw migrate apply codex --yes +``` -Bir dağıtım ek ortam yalıtımı gerektiriyorsa, bu değişkenleri `appServer.clearEnv` içine ekleyin: +Codex geçiş sağlayıcısı Skills öğelerini geçerli OpenClaw aracı çalışma alanına +kopyalar. Codex yerel Plugins, hook'lar ve yapılandırma dosyaları otomatik olarak +etkinleştirilmek yerine manuel inceleme için raporlanır veya arşivlenir, çünkü bunlar +komut çalıştırabilir, MCP sunucuları açığa çıkarabilir veya kimlik bilgileri taşıyabilir. + +Kimlik doğrulama şu sırayla seçilir: + +1. Araç için açık bir OpenClaw Codex kimlik doğrulama profili. +2. Uygulama sunucusunun o aracın Codex ana dizinindeki mevcut hesabı. +3. Yalnızca yerel stdio uygulama sunucusu başlatmaları için, uygulama sunucusu hesabı + yoksa ve OpenAI kimlik doğrulaması hâlâ gerekiyorsa `CODEX_API_KEY`, ardından + `OPENAI_API_KEY`. + +OpenClaw, ChatGPT aboneliği tarzı bir Codex kimlik doğrulama profili gördüğünde +oluşturulan Codex alt sürecinden `CODEX_API_KEY` ve `OPENAI_API_KEY` değerlerini kaldırır. +Bu, Gateway düzeyindeki API anahtarlarını embeddings veya doğrudan OpenAI modelleri için +kullanılabilir tutarken yerel Codex uygulama sunucusu dönüşlerinin yanlışlıkla API üzerinden +faturalandırılmasını engeller. Açık Codex API anahtarı profilleri ve yerel stdio ortam anahtarı +fallback'i, devralınmış alt süreç ortamı yerine uygulama sunucusu oturum açmasını kullanır. +WebSocket uygulama sunucusu bağlantıları Gateway ortam API anahtarı fallback'i almaz; +açık bir kimlik doğrulama profili veya uzak uygulama sunucusunun kendi hesabını kullanın. + +Bir dağıtım ek ortam yalıtımına ihtiyaç duyuyorsa bu değişkenleri +`appServer.clearEnv` değerine ekleyin: ```json5 { @@ -456,41 +514,41 @@ Bir dağıtım ek ortam yalıtımı gerektiriyorsa, bu değişkenleri `appServer } ``` -`appServer.clearEnv` yalnızca oluşturulan Codex app-server alt sürecini etkiler. +`appServer.clearEnv` yalnızca oluşturulan Codex uygulama sunucusu alt sürecini etkiler. Desteklenen `appServer` alanları: -| Alan | Varsayılan | Anlam | -| ------------------- | ---------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------- | -| `transport` | `"stdio"` | `"stdio"` Codex'i başlatır; `"websocket"` `url` adresine bağlanır. | -| `command` | yönetilen Codex ikilisi | stdio aktarımı için yürütülebilir dosya. Yönetilen ikiliyi kullanmak için ayarlanmamış bırakın; yalnızca açık bir geçersiz kılma için ayarlayın. | -| `args` | `["app-server", "--listen", "stdio://"]` | stdio aktarımı için bağımsız değişkenler. | -| `url` | ayarlanmamış | WebSocket app-server URL'si. | -| `authToken` | ayarlanmamış | WebSocket aktarımı için Bearer belirteci. | -| `headers` | `{}` | Ek WebSocket üst bilgileri. | -| `clearEnv` | `[]` | OpenClaw devralınan ortamını oluşturduktan sonra başlatılan stdio app-server sürecinden kaldırılan ek ortam değişkeni adları. | -| `requestTimeoutMs` | `60000` | app-server kontrol düzlemi çağrıları için zaman aşımı. | -| `mode` | `"yolo"` | YOLO veya guardian tarafından incelenen yürütme için ön ayar. | -| `approvalPolicy` | `"never"` | İş parçacığı başlatma/sürdürme/tur için gönderilen yerel Codex onay ilkesi. | -| `sandbox` | `"danger-full-access"` | İş parçacığı başlatma/sürdürme için gönderilen yerel Codex sandbox modu. | -| `approvalsReviewer` | `"user"` | Codex'in yerel onay istemlerini incelemesine izin vermek için `"auto_review"` kullanın. `guardian_subagent` eski bir diğer ad olarak kalır. | -| `serviceTier` | ayarlanmamış | İsteğe bağlı Codex app-server hizmet katmanı: `"fast"`, `"flex"` veya `null`. Geçersiz eski değerler yok sayılır. | +| Alan | Varsayılan | Anlam | +| ------------------- | ---------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `transport` | `"stdio"` | `"stdio"` Codex'i başlatır; `"websocket"` `url`'ye bağlanır. | +| `command` | yönetilen Codex ikilisi | stdio taşıması için yürütülebilir dosya. Yönetilen ikiliyi kullanmak için ayarlanmamış bırakın; yalnızca açık bir geçersiz kılma için ayarlayın. | +| `args` | `["app-server", "--listen", "stdio://"]` | stdio taşıması için bağımsız değişkenler. | +| `url` | ayarlanmamış | WebSocket app-server URL'si. | +| `authToken` | ayarlanmamış | WebSocket taşıması için Bearer token. | +| `headers` | `{}` | Ek WebSocket üstbilgileri. | +| `clearEnv` | `[]` | OpenClaw devralınan ortamını oluşturduktan sonra başlatılan stdio app-server sürecinden kaldırılan ek ortam değişkeni adları. `CODEX_HOME` ve `HOME`, yerel başlatmalarda OpenClaw'ın aracı başına Codex yalıtımı için ayrılmıştır. | +| `requestTimeoutMs` | `60000` | app-server denetim düzlemi çağrıları için zaman aşımı. | +| `mode` | `"yolo"` | YOLO veya guardian incelemeli yürütme için ön ayar. | +| `approvalPolicy` | `"never"` | İş parçacığı başlatma/sürdürme/turn işlemine gönderilen yerel Codex onay politikası. | +| `sandbox` | `"danger-full-access"` | İş parçacığı başlatma/sürdürme işlemine gönderilen yerel Codex sandbox modu. | +| `approvalsReviewer` | `"user"` | Codex'in yerel onay istemlerini incelemesine izin vermek için `"auto_review"` kullanın. `guardian_subagent` eski bir takma ad olarak kalır. | +| `serviceTier` | ayarlanmamış | İsteğe bağlı Codex app-server hizmet katmanı: `"fast"`, `"flex"` veya `null`. Geçersiz eski değerler yok sayılır. | OpenClaw'a ait dinamik araç çağrıları `appServer.requestTimeoutMs` değerinden bağımsız olarak sınırlandırılır: her Codex `item/tool/call` isteği 30 saniye içinde bir OpenClaw yanıtı almalıdır. Zaman aşımında OpenClaw, desteklendiği yerlerde araç sinyalini iptal eder ve Codex'e başarısız bir dinamik araç yanıtı -döndürür; böylece oturumu `processing` durumunda bırakmak yerine turun devam -etmesi sağlanır. +döndürür; böylece oturumu `processing` durumunda bırakmak yerine turn devam +edebilir. -OpenClaw, Codex tur kapsamlı bir app-server isteğine yanıt verdikten sonra, -harness ayrıca Codex'in yerel turu `turn/completed` ile bitirmesini bekler. Bu -yanıttan sonra app-server 60 saniye sessiz kalırsa OpenClaw en iyi çabayla -Codex turunu keser, tanısal bir zaman aşımı kaydeder ve OpenClaw oturum şeridini -serbest bırakır; böylece takip eden sohbet iletileri eski bir yerel turun -arkasında kuyruğa alınmaz. +OpenClaw, Codex turn kapsamlı bir app-server isteğine yanıt verdikten sonra, +harness ayrıca Codex'in yerel turn işlemini `turn/completed` ile bitirmesini +bekler. app-server bu yanıttan sonra 60 saniye sessiz kalırsa, OpenClaw en iyi +çabayla Codex turn işlemini keser, tanısal bir zaman aşımı kaydeder ve OpenClaw +oturum şeridini serbest bırakır; böylece takip sohbet mesajları bayat bir yerel +turn arkasında kuyruğa alınmaz. -Ortam geçersiz kılmaları yerel testler için kullanılabilir kalır: +Yerel test için ortam geçersiz kılmaları kullanılabilir kalır: - `OPENCLAW_CODEX_APP_SERVER_BIN` - `OPENCLAW_CODEX_APP_SERVER_ARGS` @@ -498,33 +556,34 @@ Ortam geçersiz kılmaları yerel testler için kullanılabilir kalır: - `OPENCLAW_CODEX_APP_SERVER_APPROVAL_POLICY` - `OPENCLAW_CODEX_APP_SERVER_SANDBOX` -`OPENCLAW_CODEX_APP_SERVER_BIN`, `appServer.command` ayarlanmamış olduğunda -yönetilen ikiliyi atlar. +`OPENCLAW_CODEX_APP_SERVER_BIN`, `appServer.command` ayarlanmamışken yönetilen +ikiliyi atlar. `OPENCLAW_CODEX_APP_SERVER_GUARDIAN=1` kaldırıldı. Bunun yerine `plugins.entries.codex.config.appServer.mode: "guardian"` kullanın veya tek seferlik yerel test için `OPENCLAW_CODEX_APP_SERVER_MODE=guardian` kullanın. -Yapılandırma, Plugin davranışını Codex harness kurulumunun geri kalanıyla aynı -incelenen dosyada tuttuğu için tekrarlanabilir dağıtımlarda tercih edilir. +Tekrarlanabilir dağıtımlar için yapılandırma tercih edilir; çünkü Plugin +davranışını Codex harness kurulumunun geri kalanıyla aynı incelenmiş dosyada +tutar. ## Bilgisayar kullanımı -Bilgisayar Kullanımı kendi kurulum kılavuzunda ele alınır: -[Codex Bilgisayar Kullanımı](/tr/plugins/codex-computer-use). +Computer Use kendi kurulum kılavuzunda ele alınır: +[Codex Computer Use](/tr/plugins/codex-computer-use). -Kısa sürüm: OpenClaw masaüstü denetim uygulamasını vendorlama yapmaz veya +Kısa sürüm: OpenClaw masaüstü denetim uygulamasını vendor olarak içermez veya masaüstü eylemlerini kendisi yürütmez. Codex app-server'ı hazırlar, `computer-use` MCP sunucusunun kullanılabilir olduğunu doğrular ve ardından -Codex modu turları sırasında yerel MCP araç çağrılarını Codex'in yönetmesine -izin verir. +Codex modu turn işlemleri sırasında yerel MCP araç çağrılarını Codex'in +yönetmesine izin verir. Codex marketplace akışı dışında doğrudan TryCua sürücü erişimi için -`cua-driver mcp` öğesini `openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'` -ile kaydedin. Codex'e ait Bilgisayar Kullanımı ile doğrudan MCP kaydı -arasındaki ayrım için [Codex Bilgisayar Kullanımı](/tr/plugins/codex-computer-use) +`openclaw mcp set cua-driver '{"command":"cua-driver","args":["mcp"]}'` ile +`cua-driver mcp` kaydedin. Codex'e ait Computer Use ile doğrudan MCP kaydı +arasındaki ayrım için [Codex Computer Use](/tr/plugins/codex-computer-use) sayfasına bakın. -En düşük yapılandırma: +En küçük yapılandırma: ```json5 { @@ -552,31 +611,31 @@ En düşük yapılandırma: } ``` -Kurulum komut yüzeyinden denetlenebilir veya yüklenebilir: +Kurulum komut yüzeyinden denetlenebilir veya kurulabilir: - `/codex computer-use status` - `/codex computer-use install` - `/codex computer-use install --source ` - `/codex computer-use install --marketplace-path ` -Bilgisayar Kullanımı macOS'a özgüdür ve Codex MCP sunucusu uygulamaları -denetleyebilmeden önce yerel işletim sistemi izinleri gerektirebilir. -`computerUse.enabled` true ise ve MCP sunucusu kullanılamıyorsa, Codex modu -turları yerel Bilgisayar Kullanımı araçları olmadan sessizce çalışmak yerine iş -parçacığı başlamadan önce başarısız olur. Marketplace seçenekleri, uzak katalog -sınırları, durum nedenleri ve sorun giderme için -[Codex Bilgisayar Kullanımı](/tr/plugins/codex-computer-use) sayfasına bakın. +Computer Use macOS'a özeldir ve Codex MCP sunucusu uygulamaları denetleyebilmeden +önce yerel işletim sistemi izinleri gerektirebilir. `computerUse.enabled` true +ise ve MCP sunucusu kullanılamıyorsa, Codex modu turn işlemleri yerel Computer +Use araçları olmadan sessizce çalışmak yerine iş parçacığı başlamadan önce +başarısız olur. Marketplace seçenekleri, uzak katalog sınırları, durum +nedenleri ve sorun giderme için +[Codex Computer Use](/tr/plugins/codex-computer-use) sayfasına bakın. `computerUse.autoInstall` true olduğunda, Codex henüz yerel bir marketplace -keşfetmediyse OpenClaw standart paketlenmiş Codex Desktop marketplace'ini -`/Applications/Codex.app/Contents/Resources/plugins/openai-bundled` -konumundan kaydedebilir. Mevcut oturumların eski bir PI veya Codex iş parçacığı -bağını korumaması için çalışma zamanı ya da Bilgisayar Kullanımı yapılandırmasını -değiştirdikten sonra `/new` veya `/reset` kullanın. +keşfetmediyse OpenClaw standart paketli Codex Desktop marketplace'ini +`/Applications/Codex.app/Contents/Resources/plugins/openai-bundled` konumundan +kaydedebilir. Mevcut oturumların eski bir PI veya Codex iş parçacığı bağını +korumaması için runtime veya Computer Use yapılandırmasını değiştirdikten sonra +`/new` veya `/reset` kullanın. ## Yaygın tarifler -Varsayılan stdio aktarımıyla yerel Codex: +Varsayılan stdio taşımasıyla yerel Codex: ```json5 { @@ -612,7 +671,7 @@ Yalnızca Codex harness doğrulaması: } ``` -Guardian tarafından incelenen Codex onayları: +Guardian incelemeli Codex onayları: ```json5 { @@ -634,7 +693,7 @@ Guardian tarafından incelenen Codex onayları: } ``` -Açık üst bilgilerle uzak app-server: +Açık üstbilgilere sahip uzak app-server: ```json5 { @@ -658,115 +717,75 @@ Açık üst bilgilerle uzak app-server: ``` Model değiştirme OpenClaw denetiminde kalır. Bir OpenClaw oturumu mevcut bir -Codex iş parçacığına bağlandığında, sonraki tur şu anda seçili OpenAI modelini, -sağlayıcıyı, onay ilkesini, sandbox'ı ve hizmet katmanını app-server'a yeniden -gönderir. `openai/gpt-5.5` modelinden `openai/gpt-5.2` modeline geçmek iş -parçacığı bağını korur, ancak Codex'ten yeni seçilen modelle devam etmesini +Codex iş parçacığına bağlı olduğunda, sonraki turn seçili OpenAI modelini, +sağlayıcıyı, onay politikasını, sandbox'ı ve hizmet katmanını app-server'a +yeniden gönderir. `openai/gpt-5.5` modelinden `openai/gpt-5.2` modeline geçmek +iş parçacığı bağını korur ancak Codex'ten yeni seçilen modelle devam etmesini ister. ## Codex komutu -Paketlenmiş Plugin, `/codex` komutunu yetkili bir eğik çizgi komutu olarak -kaydeder. Geneldir ve OpenClaw metin komutlarını destekleyen tüm kanallarda -çalışır. +Paketli Plugin, `/codex` komutunu yetkili bir slash komutu olarak kaydeder. +Geneldir ve OpenClaw metin komutlarını destekleyen herhangi bir kanalda çalışır. Yaygın biçimler: -- `/codex status` canlı app-server bağlantısını, modelleri, hesabı, hız sınırlarını, MCP sunucularını ve Skills öğelerini gösterir. +- `/codex status` canlı app-server bağlantısını, modelleri, hesabı, hız sınırlarını, MCP sunucularını ve skills öğelerini gösterir. - `/codex models` canlı Codex app-server modellerini listeler. - `/codex threads [filter]` son Codex iş parçacıklarını listeler. -- `/codex resume ` geçerli OpenClaw oturumunu mevcut bir Codex iş parçacığına bağlar. +- `/codex resume ` mevcut OpenClaw oturumunu var olan bir Codex iş parçacığına bağlar. - `/codex compact` Codex app-server'dan bağlı iş parçacığını sıkıştırmasını ister. - `/codex review` bağlı iş parçacığı için Codex yerel incelemesini başlatır. - `/codex diagnostics [note]` bağlı iş parçacığı için Codex tanılama geri bildirimi göndermeden önce sorar. -- `/codex computer-use status` yapılandırılan Bilgisayar Kullanımı Plugin'ini ve MCP sunucusunu denetler. -- `/codex computer-use install` yapılandırılan Bilgisayar Kullanımı Plugin'ini yükler ve MCP sunucularını yeniden yükler. +- `/codex computer-use status` yapılandırılmış Computer Use Plugin'ini ve MCP sunucusunu denetler. +- `/codex computer-use install` yapılandırılmış Computer Use Plugin'ini kurar ve MCP sunucularını yeniden yükler. - `/codex account` hesap ve hız sınırı durumunu gösterir. -- `/codex mcp` Codex app-server MCP sunucu durumunu listeler. +- `/codex mcp` Codex app-server MCP sunucusu durumunu listeler. - `/codex skills` Codex app-server skills öğelerini listeler. ### Yaygın hata ayıklama iş akışı -Codex destekli bir agent Telegram, Discord, Slack veya başka bir kanalda -beklenmedik bir şey yaptığında, sorunun gerçekleştiği konuşmayla başlayın: +Codex destekli bir aracı Telegram, Discord, Slack veya başka bir kanalda +şaşırtıcı bir şey yaptığında, sorunun yaşandığı konuşmayla başlayın: -1. `/diagnostics bad tool choice after image upload` komutunu veya gördüğünüzü - açıklayan başka bir kısa notu çalıştırın. -2. Tanılama isteğini bir kez onaylayın. Onay, yerel Gateway tanılama zip dosyasını - oluşturur ve oturum Codex harness kullandığı için ilgili Codex geri bildirim - paketini OpenAI sunucularına da gönderir. -3. Tamamlanan tanılama yanıtını hata raporuna veya destek iş parçacığına kopyalayın. - Yerel paket yolunu, gizlilik özetini, OpenClaw oturum kimliklerini, Codex iş - parçacığı kimliklerini ve her Codex iş parçacığı için bir `Inspect locally` - satırını içerir. -4. Çalıştırmayı kendiniz hata ayıklamak istiyorsanız, yazdırılan `Inspect locally` - komutunu bir terminalde çalıştırın. `codex resume ` gibi görünür ve - konuşmayı inceleyebilmeniz, yerelde sürdürebilmeniz veya Codex'e neden belirli - bir aracı ya da planı seçtiğini sorabilmeniz için yerel Codex iş parçacığını - açar. +1. Gördüğünüzü açıklayan `/diagnostics bad tool choice after image upload` veya + başka bir kısa not çalıştırın. +2. Tanılama isteğini bir kez onaylayın. Onay, yerel Gateway tanılama zip + dosyasını oluşturur ve oturum Codex harness kullandığı için ilgili Codex geri + bildirim paketini de OpenAI sunucularına gönderir. +3. Tamamlanan tanılama yanıtını hata raporuna veya destek iş parçacığına + kopyalayın. Yerel paket yolunu, gizlilik özetini, OpenClaw oturum + kimliklerini, Codex iş parçacığı kimliklerini ve her Codex iş parçacığı için + bir `Inspect locally` satırını içerir. +4. Çalıştırmayı kendiniz hata ayıklamak istiyorsanız, yazdırılan + `Inspect locally` komutunu bir terminalde çalıştırın. `codex resume ` + gibi görünür ve konuşmayı inceleyebilmeniz, yerel olarak sürdürebilmeniz veya + Codex'e belirli bir aracı ya da planı neden seçtiğini sorabilmeniz için yerel + Codex iş parçacığını açar. -`/codex diagnostics [note]` komutunu yalnızca tam OpenClaw Gateway tanılama -paketi olmadan, geçerli olarak bağlı iş parçacığı için özellikle Codex geri -bildirim yüklemesini istediğinizde kullanın. Çoğu destek raporu için -`/diagnostics [note]` daha iyi bir başlangıç noktasıdır; çünkü yerel Gateway -durumunu ve Codex iş parçacığı kimliklerini tek bir yanıtta bir araya getirir. -Tam gizlilik modeli ve grup sohbeti davranışı için -[Tanılama dışa aktarma](/tr/gateway/diagnostics) sayfasına bakın. +`/codex diagnostics [note]` komutunu yalnızca tam OpenClaw Gateway tanılama paketi olmadan, o anda bağlı iş parçacığı için özel olarak Codex geri bildirim yüklemesini istediğinizde kullanın. Çoğu destek raporu için `/diagnostics [note]` daha iyi bir başlangıç noktasıdır çünkü yerel Gateway durumunu ve Codex iş parçacığı kimliklerini tek yanıtta bir araya getirir. Tam gizlilik modeli ve grup sohbeti davranışı için [Tanılama dışa aktarımı](/tr/gateway/diagnostics) bölümüne bakın. -Çekirdek OpenClaw ayrıca genel Gateway tanılama komutu olarak yalnızca sahibin -kullanabildiği `/diagnostics [note]` komutunu sunar. Onay istemi hassas veri -önsözünü gösterir, [Tanılama Dışa Aktarma](/tr/gateway/diagnostics) sayfasına -bağlantı verir ve her seferinde açık exec onayıyla -`openclaw gateway diagnostics export --json` ister. Tanılamaları tümüne izin -veren bir kuralla onaylamayın. Onaydan sonra OpenClaw, yerel paket yolu ve -manifest özetiyle yapıştırılabilir bir rapor gönderir. Etkin OpenClaw oturumu -Codex harness kullanıyorsa, aynı onay ilgili Codex geri bildirim paketlerinin -OpenAI sunucularına gönderilmesini de yetkilendirir. Onay istemi Codex geri -bildiriminin gönderileceğini söyler, ancak onaydan önce Codex oturum veya iş -parçacığı kimliklerini listelemez. +Çekirdek OpenClaw ayrıca genel Gateway tanılama komutu olarak yalnızca sahiplerin kullanabildiği `/diagnostics [note]` komutunu sunar. Onay istemi hassas veri önsözünü gösterir, [Tanılama Dışa Aktarımı](/tr/gateway/diagnostics) bağlantısını verir ve her seferinde açık exec onayı yoluyla `openclaw gateway diagnostics export --json` ister. Tanılamaları tümüne izin veren bir kuralla onaylamayın. Onaydan sonra OpenClaw, yerel paket yolu ve manifest özetiyle birlikte yapıştırılabilir bir rapor gönderir. Etkin OpenClaw oturumu Codex harness'ını kullanıyorsa, aynı onay ilgili Codex geri bildirim paketlerinin OpenAI sunucularına gönderilmesine de izin verir. Onay istemi Codex geri bildiriminin gönderileceğini söyler, ancak onaydan önce Codex oturumu veya iş parçacığı kimliklerini listelemez. -`/diagnostics` bir grup sohbetinde bir sahip tarafından çağrılırsa, OpenClaw -paylaşılan kanalı temiz tutar: grup yalnızca kısa bir bildirim alırken, -tanılama önsözü, onay istemleri ve Codex oturum/iş parçacığı kimlikleri özel -onay yolu üzerinden sahibe gönderilir. Özel sahip yolu yoksa OpenClaw grup -isteğini reddeder ve sahibinden bunu bir DM üzerinden çalıştırmasını ister. +`/diagnostics` bir grup sohbetinde bir sahip tarafından çağrılırsa, OpenClaw paylaşılan kanalı temiz tutar: grup yalnızca kısa bir bildirim alırken tanılama önsözü, onay istemleri ve Codex oturum/iş parçacığı kimlikleri özel onay rotası üzerinden sahibe gönderilir. Özel sahip rotası yoksa OpenClaw grup isteğini reddeder ve sahibin bunu bir DM'den çalıştırmasını ister. -Onaylanmış Codex yüklemesi Codex uygulama sunucusundaki `feedback/upload` çağrısını yapar ve -uygulama sunucusundan, mevcut olduğunda listelenen her iş parçacığı ve oluşturulmuş Codex alt iş parçacıkları için günlükleri dahil etmesini ister. Yükleme, Codex'in normal geri bildirim yolu üzerinden OpenAI -sunucularına gider; Codex geri bildirimi o uygulama sunucusunda devre dışıysa komut -uygulama sunucusu hatasını döndürür. Tamamlanan tanılama yanıtı, gönderilen iş parçacıkları için kanalları, -OpenClaw oturum kimliklerini, Codex iş parçacığı kimliklerini ve yerel `codex resume ` -komutlarını listeler. Onayı reddeder veya yok sayarsanız, -OpenClaw bu Codex kimliklerini yazdırmaz. Bu yükleme yerel -Gateway tanılama dışa aktarımının yerine geçmez. +Onaylanan Codex yüklemesi Codex app-server `feedback/upload` çağrısı yapar ve app-server'dan, mümkün olduğunda listelenen her iş parçacığı ve oluşturulmuş Codex alt iş parçacıkları için günlükleri dahil etmesini ister. Yükleme, Codex'in normal geri bildirim yolu üzerinden OpenAI sunucularına gider; bu app-server'da Codex geri bildirimi devre dışıysa komut app-server hatasını döndürür. Tamamlanan tanılama yanıtı, gönderilen iş parçacıkları için kanalları, OpenClaw oturum kimliklerini, Codex iş parçacığı kimliklerini ve yerel `codex resume ` komutlarını listeler. Onayı reddeder veya yok sayarsanız OpenClaw bu Codex kimliklerini yazdırmaz. Bu yükleme yerel Gateway tanılama dışa aktarımının yerini almaz. -`/codex resume`, harness'ın normal dönüşler için kullandığı aynı yan bağlama dosyasını yazar. -Sonraki iletide OpenClaw bu Codex iş parçacığını sürdürür, o anda seçili -OpenClaw modelini uygulama sunucusuna geçirir ve genişletilmiş geçmişi -etkin tutar. +`/codex resume`, harness'ın normal turlarda kullandığı aynı yan dosya bağlama dosyasını yazar. Bir sonraki mesajda OpenClaw bu Codex iş parçacığını sürdürür, o anda seçili OpenClaw modelini app-server'a geçirir ve genişletilmiş geçmişi etkin tutar. ### CLI'dan bir Codex iş parçacığını inceleme -Kötü bir Codex çalıştırmasını anlamanın en hızlı yolu çoğu zaman yerel Codex -iş parçacığını doğrudan açmaktır: +Kötü bir Codex çalıştırmasını anlamanın en hızlı yolu çoğu zaman yerel Codex iş parçacığını doğrudan açmaktır: ```sh codex resume ``` -Bunu bir kanal konuşmasında hata fark ettiğinizde ve sorunlu -Codex oturumunu incelemek, yerelde sürdürmek ya da Codex'e neden belirli bir -araç veya muhakeme seçimi yaptığını sormak istediğinizde kullanın. En kolay yol genellikle önce -`/diagnostics [note]` çalıştırmaktır: onay verdikten sonra tamamlanan rapor -her Codex iş parçacığını listeler ve örneğin -`codex resume ` gibi bir `Inspect locally` komutu yazdırır. Bu komutu doğrudan terminale kopyalayabilirsiniz. +Bunu bir kanal konuşmasında hata fark ettiğinizde ve sorunlu Codex oturumunu incelemek, yerelde devam ettirmek veya Codex'e neden belirli bir araç ya da akıl yürütme seçimi yaptığını sormak istediğinizde kullanın. En kolay yol genellikle önce `/diagnostics [note]` çalıştırmaktır: onayladıktan sonra tamamlanan rapor her Codex iş parçacığını listeler ve örneğin `codex resume ` gibi bir `Yerelde incele` komutu yazdırır. Bu komutu doğrudan bir terminale kopyalayabilirsiniz. -Geçerli sohbet için `/codex binding` komutundan veya son Codex uygulama sunucusu iş parçacıkları için -`/codex threads [filter]` komutundan da bir iş parçacığı kimliği alabilir, ardından kabuğunuzda aynı -`codex resume` komutunu çalıştırabilirsiniz. +Geçerli sohbet için `/codex binding` komutundan veya son Codex app-server iş parçacıkları için `/codex threads [filter]` komutundan da bir iş parçacığı kimliği alabilir, ardından kabuğunuzda aynı `codex resume` komutunu çalıştırabilirsiniz. -Komut yüzeyi Codex uygulama sunucusu `0.125.0` veya daha yeni bir sürüm gerektirir. Gelecekteki veya özel bir uygulama sunucusu ilgili JSON-RPC yöntemini sunmuyorsa, tekil -denetim yöntemleri `unsupported by this Codex app-server` olarak bildirilir. +Komut yüzeyi Codex app-server `0.125.0` veya daha yenisini gerektirir. Gelecekteki ya da özel bir app-server ilgili JSON-RPC yöntemini sunmuyorsa, tekil kontrol yöntemleri `unsupported by this Codex app-server` olarak bildirilir. ## Hook sınırları @@ -775,101 +794,135 @@ Codex harness'ında üç hook katmanı vardır: | Katman | Sahip | Amaç | | ------------------------------------- | ------------------------ | ------------------------------------------------------------------- | | OpenClaw Plugin hook'ları | OpenClaw | PI ve Codex harness'ları genelinde ürün/Plugin uyumluluğu. | -| Codex uygulama sunucusu uzantı ara katmanı | OpenClaw paketli Plugin'leri | OpenClaw dinamik araçları çevresinde dönüş başına bağdaştırıcı davranışı. | +| Codex app-server uzantı middleware'i | OpenClaw paketli Plugin'ler | OpenClaw dinamik araçları çevresinde tur başına adaptör davranışı. | | Codex yerel hook'ları | Codex | Codex yapılandırmasından düşük seviyeli Codex yaşam döngüsü ve yerel araç ilkesi. | -OpenClaw, OpenClaw Plugin davranışını yönlendirmek için proje veya genel Codex `hooks.json` dosyalarını kullanmaz. Desteklenen yerel araç ve izin köprüsü için -OpenClaw, `PreToolUse`, `PostToolUse`, -`PermissionRequest` ve `Stop` için iş parçacığı başına Codex yapılandırması enjekte eder. `SessionStart` ve -`UserPromptSubmit` gibi diğer Codex hook'ları Codex düzeyi denetimler olarak kalır; v1 sözleşmesinde -OpenClaw Plugin hook'ları olarak sunulmazlar. +OpenClaw, OpenClaw Plugin davranışını yönlendirmek için proje veya global Codex `hooks.json` dosyalarını kullanmaz. Desteklenen yerel araç ve izin köprüsü için OpenClaw, `PreToolUse`, `PostToolUse`, `PermissionRequest` ve `Stop` için iş parçacığı başına Codex yapılandırması enjekte eder. `SessionStart` ve `UserPromptSubmit` gibi diğer Codex hook'ları Codex düzeyi kontroller olarak kalır; v1 sözleşmesinde OpenClaw Plugin hook'ları olarak sunulmazlar. -OpenClaw dinamik araçları için OpenClaw, Codex çağrı istediğinde aracı yürütür; bu nedenle OpenClaw, harness bağdaştırıcısında sahip olduğu Plugin ve ara katman davranışını tetikler. Codex-yerel araçlar için kanonik araç kaydının sahibi Codex'tir. -OpenClaw seçili olayları yansıtabilir, ancak Codex bu işlemi uygulama sunucusu veya yerel hook -geri çağrıları üzerinden sunmadığı sürece yerel Codex iş parçacığını yeniden yazamaz. +OpenClaw dinamik araçları için OpenClaw, Codex çağrıyı istedikten sonra aracı çalıştırır; bu nedenle OpenClaw, harness adaptöründe kendisine ait Plugin ve middleware davranışını tetikler. Codex'e yerel araçlar için kanonik araç kaydının sahibi Codex'tir. OpenClaw seçili olayları yansıtabilir, ancak Codex bu işlemi app-server veya yerel hook geri çağrıları üzerinden sunmadıkça yerel Codex iş parçacığını yeniden yazamaz. -Compaction ve LLM yaşam döngüsü projeksiyonları yerel Codex hook komutlarından değil, Codex uygulama sunucusu -bildirimlerinden ve OpenClaw bağdaştırıcı durumundan gelir. -OpenClaw'ın `before_compaction`, `after_compaction`, `llm_input` ve -`llm_output` olayları, Codex'in dahili isteğinin veya Compaction yüklerinin bayt bayt yakalamaları değil, bağdaştırıcı düzeyinde gözlemlerdir. +Compaction ve LLM yaşam döngüsü projeksiyonları yerel Codex hook komutlarından değil, Codex app-server bildirimlerinden ve OpenClaw adaptör durumundan gelir. OpenClaw'ın `before_compaction`, `after_compaction`, `llm_input` ve `llm_output` olayları adaptör düzeyi gözlemlerdir; Codex'in dahili istek veya compaction yüklerinin bayt bayt yakalanmış halleri değildir. -Codex yerel `hook/started` ve `hook/completed` uygulama sunucusu bildirimleri, -yörünge ve hata ayıklama için `codex_app_server.hook` aracı olayları olarak yansıtılır. -Bunlar OpenClaw Plugin hook'larını çağırmaz. +Codex yerel `hook/started` ve `hook/completed` app-server bildirimleri, izlek ve hata ayıklama için `codex_app_server.hook` ajan olayları olarak projekte edilir. Bunlar OpenClaw Plugin hook'larını çağırmaz. ## V1 destek sözleşmesi -Codex modu, altında farklı bir model çağrısı bulunan PI değildir. Codex, yerel model döngüsünün daha fazlasına sahiptir ve OpenClaw, Plugin ve oturum yüzeylerini -bu sınırın çevresinde uyarlar. +Codex modu, altında farklı bir model çağrısı olan PI değildir. Codex yerel model döngüsünün daha büyük kısmına sahiptir ve OpenClaw Plugin ile oturum yüzeylerini bu sınır çevresinde uyarlar. -Codex çalışma zamanı v1'de desteklenenler: +Codex runtime v1'de desteklenenler: | Yüzey | Destek | Neden | | -------------------------------------------- | --------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Codex üzerinden OpenAI model döngüsü | Desteklenir | Codex uygulama sunucusu OpenAI dönüşünün, yerel iş parçacığı sürdürmenin ve yerel araç devamının sahibidir. | -| OpenClaw kanal yönlendirme ve teslimi | Desteklenir | Telegram, Discord, Slack, WhatsApp, iMessage ve diğer kanallar model çalışma zamanının dışında kalır. | -| OpenClaw dinamik araçları | Desteklenir | Codex, OpenClaw'dan bu araçları yürütmesini ister; bu nedenle OpenClaw yürütme yolunda kalır. | -| İstem ve bağlam Plugin'leri | Desteklenir | OpenClaw istem katmanlarını oluşturur ve iş parçacığını başlatmadan veya sürdürmeden önce bağlamı Codex dönüşüne yansıtır. | -| Bağlam motoru yaşam döngüsü | Desteklenir | Birleştirme, alım veya dönüş sonrası bakım ve bağlam motoru Compaction koordinasyonu Codex dönüşleri için çalışır. | -| Dinamik araç hook'ları | Desteklenir | `before_tool_call`, `after_tool_call` ve araç sonucu ara katmanı OpenClaw'a ait dinamik araçların çevresinde çalışır. | -| Yaşam döngüsü hook'ları | Bağdaştırıcı gözlemleri olarak desteklenir | `llm_input`, `llm_output`, `agent_end`, `before_compaction` ve `after_compaction` gerçekçi Codex modu yükleriyle tetiklenir. | -| Son yanıt düzeltme kapısı | Yerel hook rölesi üzerinden desteklenir | Codex `Stop`, `before_agent_finalize` öğesine iletilir; `revise`, sonlandırmadan önce Codex'ten bir model geçişi daha ister. | -| Yerel kabuk, patch ve MCP engelleme veya gözlemleme | Yerel hook rölesi üzerinden desteklenir | Codex `PreToolUse` ve `PostToolUse`, Codex uygulama sunucusu `0.125.0` veya daha yenisindeki MCP yükleri dahil olmak üzere kabul edilmiş yerel araç yüzeyleri için iletilir. Engelleme desteklenir; argüman yeniden yazma desteklenmez. | -| Yerel izin ilkesi | Yerel hook rölesi üzerinden desteklenir | Codex `PermissionRequest`, çalışma zamanı sunduğu yerde OpenClaw ilkesinden geçirilebilir. OpenClaw karar döndürmezse Codex normal koruyucu veya kullanıcı onayı yolundan devam eder. | -| Uygulama sunucusu yörünge yakalama | Desteklenir | OpenClaw, uygulama sunucusuna gönderdiği isteği ve aldığı uygulama sunucusu bildirimlerini kaydeder. | +| Codex üzerinden OpenAI model döngüsü | Desteklenir | Codex app-server OpenAI turuna, yerel iş parçacığı sürdürmeye ve yerel araç devamına sahiptir. | +| OpenClaw kanal yönlendirme ve teslim | Desteklenir | Telegram, Discord, Slack, WhatsApp, iMessage ve diğer kanallar model runtime'ının dışında kalır. | +| OpenClaw dinamik araçları | Desteklenir | Codex, OpenClaw'dan bu araçları çalıştırmasını ister; bu nedenle OpenClaw yürütme yolunda kalır. | +| İstem ve bağlam Plugin'leri | Desteklenir | OpenClaw, iş parçacığını başlatmadan veya sürdürmeden önce istem katmanları oluşturur ve bağlamı Codex turuna projekte eder. | +| Bağlam motoru yaşam döngüsü | Desteklenir | Derleme, alma veya tur sonrası bakım ve bağlam motoru compaction koordinasyonu Codex turları için çalışır. | +| Dinamik araç hook'ları | Desteklenir | `before_tool_call`, `after_tool_call` ve araç sonucu middleware'i OpenClaw'a ait dinamik araçların çevresinde çalışır. | +| Yaşam döngüsü hook'ları | Adaptör gözlemleri olarak desteklenir | `llm_input`, `llm_output`, `agent_end`, `before_compaction` ve `after_compaction` dürüst Codex modu yükleriyle tetiklenir. | +| Nihai yanıt revizyon kapısı | Yerel hook aktarımı üzerinden desteklenir | Codex `Stop`, `before_agent_finalize` olayına aktarılır; `revise`, sonlandırmadan önce Codex'ten bir model geçişi daha ister. | +| Yerel shell, patch ve MCP engelleme veya gözlem | Yerel hook aktarımı üzerinden desteklenir | Codex `PreToolUse` ve `PostToolUse`, Codex app-server `0.125.0` veya daha yenisindeki MCP yükleri dahil olmak üzere taahhüt edilmiş yerel araç yüzeyleri için aktarılır. Engelleme desteklenir; argüman yeniden yazma desteklenmez. | +| Yerel izin ilkesi | Yerel hook aktarımı üzerinden desteklenir | Codex `PermissionRequest`, runtime'ın sunduğu yerlerde OpenClaw ilkesi üzerinden yönlendirilebilir. OpenClaw karar döndürmezse Codex normal guardian veya kullanıcı onayı yolundan devam eder. | +| App-server izlek yakalama | Desteklenir | OpenClaw, app-server'a gönderdiği isteği ve aldığı app-server bildirimlerini kaydeder. | -Codex çalışma zamanı v1'de desteklenmeyenler: +Codex runtime v1'de desteklenmeyenler: -| Yüzey | V1 sınırı | Gelecek yol | -| -------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------- | -| Yerel araç argümanı mutasyonu | Codex yerel araç öncesi hook'ları engelleyebilir, ancak OpenClaw Codex-yerel araç argümanlarını yeniden yazmaz. | Yerine geçen araç girdisi için Codex hook/şema desteği gerektirir. | -| Düzenlenebilir Codex-yerel transkript geçmişi | Kanonik yerel iş parçacığı geçmişinin sahibi Codex'tir. OpenClaw bir yansıtmanın sahibidir ve gelecek bağlamı yansıtabilir, ancak desteklenmeyen dahili öğeleri değiştirmemelidir. | Yerel iş parçacığı cerrahisi gerekiyorsa açık Codex uygulama sunucusu API'leri ekleyin. | -| Codex-yerel araç kayıtları için `tool_result_persist` | Bu hook, Codex-yerel araç kayıtlarını değil, OpenClaw'a ait transkript yazımlarını dönüştürür. | Dönüştürülmüş kayıtları yansıtabilir, ancak kanonik yeniden yazma Codex desteği gerektirir. | -| Zengin yerel Compaction meta verisi | OpenClaw Compaction başlangıcını ve tamamlanmasını gözlemler, ancak kararlı bir tutulan/atılan listesi, token deltası veya özet yükü almaz. | Daha zengin Codex Compaction olayları gerekir. | -| Compaction müdahalesi | Geçerli OpenClaw Compaction hook'ları Codex modunda bildirim düzeyindedir. | Plugin'lerin yerel Compaction'ı veto etmesi veya yeniden yazması gerekiyorsa Codex ön/son Compaction hook'ları ekleyin. | -| Bayt bayt model API isteği yakalama | OpenClaw uygulama sunucusu isteklerini ve bildirimlerini yakalayabilir, ancak Codex çekirdeği son OpenAI API isteğini dahili olarak oluşturur. | Codex model isteği izleme olayı veya hata ayıklama API'si gerekir. | +| Yüzey | V1 sınırı | Gelecek yol | +| --------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------- | +| Yerel araç bağımsız değişken mutasyonu | Codex yerel araç öncesi kancaları engelleyebilir, ancak OpenClaw Codex'e özgü yerel araç bağımsız değişkenlerini yeniden yazmaz. | Değiştirilecek araç girdisi için Codex kanca/şema desteği gerektirir. | +| Düzenlenebilir Codex'e özgü yerel transkript geçmişi | Kanonik yerel iş parçacığı geçmişinin sahibi Codex'tir. OpenClaw bir aynaya sahiptir ve gelecekteki bağlamı yansıtabilir, ancak desteklenmeyen iç yapıları değiştirmemelidir. | Yerel iş parçacığı cerrahisi gerekiyorsa açık Codex app-server API'leri ekleyin. | +| Codex'e özgü yerel araç kayıtları için `tool_result_persist` | Bu kanca, Codex'e özgü yerel araç kayıtlarını değil, OpenClaw'ın sahip olduğu transkript yazmalarını dönüştürür. | Dönüştürülmüş kayıtları aynalayabilir, ancak kanonik yeniden yazma Codex desteği gerektirir. | +| Zengin yerel compaction meta verisi | OpenClaw compaction başlangıcını ve tamamlanmasını gözlemler, ancak kararlı bir tutuldu/çıkarıldı listesi, token farkı veya özet yükü almaz. | Daha zengin Codex compaction olayları gerekir. | +| Compaction müdahalesi | Geçerli OpenClaw compaction kancaları Codex modunda bildirim düzeyindedir. | Plugin'lerin yerel compaction'ı veto etmesi veya yeniden yazması gerekiyorsa Codex compaction öncesi/sonrası kancaları ekleyin. | +| Model API isteğinin bayt bayt yakalanması | OpenClaw app-server isteklerini ve bildirimlerini yakalayabilir, ancak Codex çekirdeği nihai OpenAI API isteğini dahili olarak oluşturur. | Bir Codex model isteği izleme olayı veya hata ayıklama API'si gerekir. | -## Araçlar, medya ve Compaction +## Araçlar, medya ve compaction -Codex harness'ı yalnızca düşük seviyeli gömülü aracı yürütücüsünü değiştirir. +Codex harness yalnızca düşük düzeyli gömülü ajan yürütücüsünü değiştirir. -OpenClaw yine de araç listesini oluşturur ve harness'tan dinamik araç sonuçlarını alır. Metin, görseller, video, müzik, TTS, onaylar ve mesajlaşma aracı çıktısı -normal OpenClaw teslim yolundan devam eder. +OpenClaw araç listesini oluşturmaya ve harness'tan dinamik araç sonuçları almaya +devam eder. Metin, görseller, video, müzik, TTS, onaylar ve mesajlaşma aracı çıktısı +normal OpenClaw teslimat yolu üzerinden devam eder. -Yerel hook rölesi bilerek geneldir, ancak v1 destek sözleşmesi -OpenClaw'ın test ettiği Codex-yerel araç ve izin yollarıyla sınırlıdır. Codex çalışma zamanında bu, kabuk, patch ve MCP `PreToolUse`, -`PostToolUse` ve `PermissionRequest` yüklerini içerir. Çalışma zamanı sözleşmesi adını koyana kadar gelecekteki her Codex hook olayının bir OpenClaw Plugin yüzeyi olduğunu varsaymayın. +Yerel kanca aktarıcısı kasıtlı olarak geneldir, ancak v1 destek sözleşmesi +OpenClaw'ın test ettiği Codex'e özgü yerel araç ve izin yollarıyla sınırlıdır. Codex +runtime'ında buna shell, patch ve MCP `PreToolUse`, +`PostToolUse` ve `PermissionRequest` yükleri dahildir. Runtime sözleşmesi adını +verene kadar gelecekteki her Codex kanca olayının bir OpenClaw Plugin yüzeyi +olduğunu varsaymayın. -`PermissionRequest` için OpenClaw yalnızca ilke karar verdiğinde açık izin veya ret kararları döndürür. Kararsız sonuç izin değildir. Codex bunu hook kararı yok olarak ele alır ve kendi koruyucu veya kullanıcı onayı yoluna düşürür. +`PermissionRequest` için OpenClaw yalnızca ilke karar verdiğinde açık izin verme +veya reddetme kararları döndürür. Kararsız sonuç izin verme değildir. Codex bunu +kanca kararı yok olarak ele alır ve kendi guardian veya kullanıcı onayı yoluna düşer. -Codex MCP araç onayı elicitation'ları, Codex `_meta.codex_approval_kind` değerini -`"mcp_tool_call"` olarak işaretlediğinde OpenClaw'ın Plugin onay akışı üzerinden yönlendirilir. Codex `request_user_input` istemleri -kaynak sohbete geri gönderilir ve sıradaki bir sonraki takip iletisi, ek bağlam olarak yönlendirilmek yerine bu yerel -sunucu isteğini yanıtlar. Diğer MCP elicitation istekleri yine kapalı başarısız olur. +Codex MCP araç onayı istemleri, Codex `_meta.codex_approval_kind` değerini +`"mcp_tool_call"` olarak işaretlediğinde OpenClaw'ın Plugin onay akışı üzerinden +yönlendirilir. Codex `request_user_input` istemleri kaynak sohbete geri gönderilir +ve sıradaki bir sonraki takip mesajı, ek bağlam olarak yönlendirilmek yerine bu +yerel sunucu isteğini yanıtlar. Diğer MCP istem istekleri yine kapalı başarısız olur. -Etkin çalıştırma kuyruğu yönlendirmesi, Codex app-server `turn/steer` ile eşleşir. Varsayılan `messages.queue.mode: "steer"` ile OpenClaw, kuyruğa alınan sohbet mesajlarını yapılandırılmış sessizlik penceresi boyunca toplu hale getirir ve bunları varış sırasına göre tek bir `turn/steer` isteği olarak gönderir. Eski `queue` modu ayrı `turn/steer` istekleri gönderir. Codex inceleme ve manuel compaction turn'leri aynı turn yönlendirmesini reddedebilir; bu durumda OpenClaw, seçilen mod geri dönüşe izin verdiğinde takip kuyruğunu kullanır. Bkz. [Yönlendirme kuyruğu](/tr/concepts/queue-steering). +Etkin çalışma kuyruğu yönlendirmesi Codex app-server `turn/steer` üzerine eşlenir. +Varsayılan `messages.queue.mode: "steer"` ile OpenClaw sıraya alınmış sohbet mesajlarını +yapılandırılmış sessizlik penceresi boyunca toplar ve bunları varış sırasıyla tek bir +`turn/steer` isteği olarak gönderir. Eski `queue` modu ayrı `turn/steer` istekleri +gönderir. Codex inceleme ve manuel compaction turları aynı tur yönlendirmesini reddedebilir; +bu durumda OpenClaw, seçili mod geri dönüşe izin verdiğinde takip kuyruğunu kullanır. Bkz. +[Yönlendirme kuyruğu](/tr/concepts/queue-steering). -Seçilen model Codex harness kullandığında, yerel thread compaction Codex app-server'a devredilir. OpenClaw kanal geçmişi, arama, `/new`, `/reset` ve gelecekteki model veya harness geçişleri için bir transcript aynası tutar. Ayna; kullanıcı istemini, son asistan metnini ve app-server bunları yaydığında hafif Codex akıl yürütme veya plan kayıtlarını içerir. Bugün OpenClaw yalnızca yerel compaction başlangıç ve tamamlanma sinyallerini kaydeder. Henüz insan tarafından okunabilir bir compaction özeti veya Codex'in compaction sonrasında hangi girdileri tuttuğuna dair denetlenebilir bir liste sunmaz. +Seçili model Codex harness kullandığında, yerel iş parçacığı compaction'ı +Codex app-server'a devredilir. OpenClaw kanal geçmişi, arama, `/new`, `/reset` ve +gelecekteki model veya harness değişimleri için bir transkript aynası tutar. Ayna, +app-server bunları yaydığında kullanıcı istemini, son asistan metnini ve hafif +Codex akıl yürütme veya plan kayıtlarını içerir. Bugün OpenClaw yalnızca yerel +compaction başlangıç ve tamamlanma sinyallerini kaydeder. Henüz insan tarafından +okunabilir bir compaction özeti veya Codex'in compaction sonrasında hangi girdileri +tuttuğuna dair denetlenebilir bir liste sunmaz. -Kanonik yerel thread'in sahibi Codex olduğundan, `tool_result_persist` şu anda Codex-yerel araç sonucu kayıtlarını yeniden yazmaz. Yalnızca OpenClaw, OpenClaw'a ait bir oturum transcript araç sonucu yazarken uygulanır. +Kanonik yerel iş parçacığının sahibi Codex olduğundan, `tool_result_persist` şu anda +Codex'e özgü yerel araç sonucu kayıtlarını yeniden yazmaz. Yalnızca OpenClaw, +OpenClaw'a ait bir oturum transkripti araç sonucu yazarken uygulanır. -Medya oluşturma PI gerektirmez. Görsel, video, müzik, PDF, TTS ve medya anlama; `agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` ve `messages.tts` gibi eşleşen sağlayıcı/model ayarlarını kullanmaya devam eder. +Medya üretimi PI gerektirmez. Görsel, video, müzik, PDF, TTS ve medya anlama +`agents.defaults.imageGenerationModel`, `videoGenerationModel`, `pdfModel` ve +`messages.tts` gibi eşleşen sağlayıcı/model ayarlarını kullanmaya devam eder. ## Sorun giderme -**Codex normal bir `/model` sağlayıcısı olarak görünmüyor:** yeni yapılandırmalar için bu beklenen bir durumdur. `agentRuntime.id: "codex"` ile bir `openai/gpt-*` modeli (veya eski bir `codex/*` ref'i) seçin, `plugins.entries.codex.enabled` etkinleştirin ve `plugins.allow` değerinin `codex` öğesini hariç tutup tutmadığını kontrol edin. +**Codex normal bir `/model` sağlayıcısı olarak görünmüyor:** bu, yeni +yapılandırmalar için beklenen durumdur. `agentRuntime.id: "codex"` ile bir +`openai/gpt-*` modeli (veya eski bir `codex/*` başvurusu) seçin, +`plugins.entries.codex.enabled` değerini etkinleştirin ve `plugins.allow` değerinin +`codex` öğesini hariç tutup tutmadığını kontrol edin. -**OpenClaw Codex yerine PI kullanıyor:** `agentRuntime.id: "auto"`, hiçbir Codex harness çalıştırmayı sahiplenmediğinde uyumluluk arka ucu olarak hâlâ PI kullanabilir. Test ederken Codex seçimini zorlamak için `agentRuntime.id: "codex"` ayarlayın. Zorlanmış Codex runtime, siz açıkça `agentRuntime.fallback: "pi"` ayarlamadıkça artık PI'ye geri dönmek yerine başarısız olur. Codex app-server seçildikten sonra, hataları ek geri dönüş yapılandırması olmadan doğrudan görünür. +**OpenClaw Codex yerine PI kullanıyor:** `agentRuntime.id: "auto"`, çalışmayı hiçbir +Codex harness sahiplenmediğinde uyumluluk arka ucu olarak PI kullanmaya devam edebilir. +Test sırasında Codex seçimini zorlamak için `agentRuntime.id: "codex"` olarak ayarlayın. +Zorlanmış Codex runtime artık PI'ya geri dönmek yerine başarısız olur; bunu yalnızca +açıkça `agentRuntime.fallback: "pi"` ayarlarsanız yapar. Codex app-server seçildikten +sonra, hataları ek geri dönüş yapılandırması olmadan doğrudan yüzeye çıkar. -**app-server reddediliyor:** Codex'i yükselterek app-server el sıkışmasının `0.125.0` veya daha yeni sürümü bildirmesini sağlayın. Aynı sürüm ön sürümleri veya `0.125.0-alpha.2` ya da `0.125.0+custom` gibi derleme sonekli sürümler reddedilir, çünkü OpenClaw'ın test ettiği kararlı `0.125.0` protokol tabanıdır. +**app-server reddediliyor:** Codex'i yükseltin; app-server el sıkışması +`0.125.0` veya daha yeni sürümü bildirmelidir. Aynı sürümlü ön sürümler veya +`0.125.0-alpha.2` ya da `0.125.0+custom` gibi derleme sonekli sürümler reddedilir, +çünkü OpenClaw'ın test ettiği kararlı protokol tabanı `0.125.0` sürümüdür. -**Model keşfi yavaş:** `plugins.entries.codex.config.discovery.timeoutMs` değerini düşürün veya keşfi devre dışı bırakın. +**Model keşfi yavaş:** `plugins.entries.codex.config.discovery.timeoutMs` değerini +düşürün veya keşfi devre dışı bırakın. -**WebSocket taşıması hemen başarısız oluyor:** `appServer.url`, `authToken` ve uzak app-server'ın aynı Codex app-server protokol sürümünü konuştuğunu kontrol edin. +**WebSocket aktarımı hemen başarısız oluyor:** `appServer.url`, `authToken` ve +uzak app-server'ın aynı Codex app-server protokol sürümünü konuştuğunu kontrol edin. -**Codex olmayan bir model PI kullanıyor:** bu, o ajan için `agentRuntime.id: "codex"` zorlamadıysanız veya eski bir `codex/*` ref'i seçmediyseniz beklenen bir durumdur. Düz `openai/gpt-*` ve diğer sağlayıcı ref'leri `auto` modunda normal sağlayıcı yollarında kalır. `agentRuntime.id: "codex"` zorlarsanız, o ajan için her gömülü turn Codex destekli bir OpenAI modeli olmalıdır. +**Codex olmayan bir model PI kullanıyor:** bu, o ajan için +`agentRuntime.id: "codex"` değerini zorlamadıysanız veya eski bir `codex/*` başvurusu +seçmediyseniz beklenen durumdur. Düz `openai/gpt-*` ve diğer sağlayıcı başvuruları +`auto` modunda normal sağlayıcı yolunda kalır. `agentRuntime.id: "codex"` değerini +zorlarsanız, o ajan için her gömülü turun Codex destekli bir OpenAI modeli olması gerekir. -**Computer Use kurulu ancak araçlar çalışmıyor:** yeni bir oturumdan `/codex computer-use status` kontrol edin. Bir araç `Native hook relay unavailable` bildirirse `/new` veya `/reset` kullanın; devam ederse, eski yerel hook kayıtlarını temizlemek için gateway'i yeniden başlatın. `computer-use.list_apps` zaman aşımına uğrarsa Codex Computer Use veya Codex Desktop'ı yeniden başlatıp yeniden deneyin. +**Computer Use kurulu ancak araçlar çalışmıyor:** yeni bir oturumdan +`/codex computer-use status` komutunu kontrol edin. Bir araç +`Native hook relay unavailable` bildirirse `/new` veya `/reset` kullanın; devam ederse, +eski yerel kanca kayıtlarını temizlemek için gateway'i yeniden başlatın. `computer-use.list_apps` +zaman aşımına uğrarsa Codex Computer Use veya Codex Desktop'ı yeniden başlatıp tekrar deneyin. ## İlgili @@ -878,6 +931,6 @@ Medya oluşturma PI gerektirmez. Görsel, video, müzik, PDF, TTS ve medya anlam - [Model sağlayıcıları](/tr/concepts/model-providers) - [OpenAI sağlayıcısı](/tr/providers/openai) - [Durum](/tr/cli/status) -- [Plugin hook'ları](/tr/plugins/hooks) +- [Plugin kancaları](/tr/plugins/hooks) - [Yapılandırma başvurusu](/tr/gateway/configuration-reference) - [Test etme](/tr/help/testing-live#live-codex-app-server-harness-smoke) diff --git a/docs/tr/tools/skills.md b/docs/tr/tools/skills.md index 8a8aef8c5..f1c2dbf2a 100644 --- a/docs/tr/tools/skills.md +++ b/docs/tr/tools/skills.md @@ -2,61 +2,71 @@ read_when: - Skills ekleme veya değiştirme - Beceri geçitlemesini, izin listelerini veya yükleme kurallarını değiştirme - - Beceri önceliğini ve anlık görüntü davranışını anlama + - Skill önceliğini ve anlık görüntü davranışını anlama sidebarTitle: Skills -summary: 'Skills: yönetilen ile çalışma alanı arasındaki farklar, geçitleme kuralları, ajan izin listeleri ve yapılandırma bağlantıları' +summary: 'Skills: yönetilen ve çalışma alanı, geçit kuralları, ajan izin listeleri ve yapılandırma bağlantıları' title: Skills x-i18n: - generated_at: "2026-04-30T09:50:48Z" + generated_at: "2026-04-30T20:05:55Z" model: gpt-5.5 provider: openai - source_hash: d7dd17f52119bf0a0bb197025070abb68f7667a7d22c3d5fa6ef2f666110a45a + source_hash: b58d690786756bd3539940aae9f2abcb8a497798ed7b6afeb5e6d6e255fcf257 source_path: tools/skills.md workflow: 16 --- -OpenClaw, ajana araçları nasıl kullanacağını öğretmek için **[AgentSkills](https://agentskills.io) uyumlu** beceri +OpenClaw, agente araçları nasıl kullanacağını öğretmek için **[AgentSkills](https://agentskills.io) uyumlu** beceri klasörleri kullanır. Her beceri, YAML frontmatter ve talimatlar içeren -bir `SKILL.md` barındıran dizindir. OpenClaw, paketle gelen becerileri ve -isteğe bağlı yerel geçersiz kılmaları yükler; bunları yükleme sırasında -ortama, yapılandırmaya ve ikili dosya varlığına göre filtreler. +bir `SKILL.md` dosyası barındıran bir dizindir. OpenClaw, paketle gelen +becerileri ve isteğe bağlı yerel geçersiz kılmaları yükler; bunları yükleme +zamanında ortama, yapılandırmaya ve ikili dosya varlığına göre filtreler. ## Konumlar ve öncelik -OpenClaw becerileri şu kaynaklardan yükler, **en yüksek öncelik önce**: +OpenClaw becerileri şu kaynaklardan yükler, **en yüksek öncelik ilk sırada**: -| # | Kaynak | Yol | -| --- | ---------------------- | -------------------------------- | -| 1 | Çalışma alanı becerileri | `/skills` | -| 2 | Proje ajanı becerileri | `/.agents/skills` | -| 3 | Kişisel ajan becerileri | `~/.agents/skills` | +| # | Kaynak | Yol | +| --- | ------------------------- | -------------------------------- | +| 1 | Çalışma alanı becerileri | `/skills` | +| 2 | Proje agent becerileri | `/.agents/skills` | +| 3 | Kişisel agent becerileri | `~/.agents/skills` | | 4 | Yönetilen/yerel beceriler | `~/.openclaw/skills` | -| 5 | Paketle gelen beceriler | kurulumla birlikte gelir | -| 6 | Ek beceri klasörleri | `skills.load.extraDirs` (config) | +| 5 | Paketle gelen beceriler | kurulumla birlikte gelir | +| 6 | Ek beceri klasörleri | `skills.load.extraDirs` (config) | Bir beceri adı çakışırsa, en yüksek kaynak kazanır. -## Ajan bazında ve paylaşılan beceriler +Codex CLI'nin yerel `$CODEX_HOME/skills` dizini bu OpenClaw beceri +köklerinden biri değildir. Codex harness modunda, yerel app-server başlatmaları +agent başına izole Codex home'ları kullanır; bu yüzden kişisel Codex CLI +becerileri örtük olarak yüklenmez. Bunların envanterini çıkarmak için +`openclaw migrate codex --dry-run` kullanın ve mevcut OpenClaw agent çalışma +alanına kopyalamadan önce etkileşimli onay kutusu istemiyle beceri dizinlerini +seçmek için `openclaw migrate codex` kullanın. Etkileşimsiz çalıştırmalar için, +kopyalanacak tam beceriler adına `--skill ` seçeneğini tekrarlayın. -**Çok ajanlı** kurulumlarda her ajanın kendi çalışma alanı vardır: +## Agent başına ve paylaşılan beceriler -| Kapsam | Yol | Şunlara görünür | -| ---------------------- | ------------------------------------------- | --------------------------- | -| Ajan bazında | `/skills` | Yalnızca o ajan | -| Proje ajanı | `/.agents/skills` | Yalnızca o çalışma alanının ajanı | -| Kişisel ajan | `~/.agents/skills` | O makinedeki tüm ajanlar | -| Paylaşılan yönetilen/yerel | `~/.openclaw/skills` | O makinedeki tüm ajanlar | -| Paylaşılan ek dizinler | `skills.load.extraDirs` (en düşük öncelik) | O makinedeki tüm ajanlar | +**Çoklu agent** kurulumlarında her agent'in kendi çalışma alanı vardır: -Birden çok yerde aynı ad → en yüksek kaynak kazanır. Çalışma alanı, -proje ajanını; proje ajanı, kişisel ajanı; kişisel ajan, yönetilen/yereli; +| Kapsam | Yol | Görünür olduğu yer | +| --------------------- | ------------------------------------------- | ------------------------------- | +| Agent başına | `/skills` | Yalnızca o agent | +| Proje agent'i | `/.agents/skills` | Yalnızca o çalışma alanı agent'i | +| Kişisel agent | `~/.agents/skills` | O makinedeki tüm agent'ler | +| Paylaşılan yönetilen/yerel | `~/.openclaw/skills` | O makinedeki tüm agent'ler | +| Paylaşılan ek dizinler | `skills.load.extraDirs` (en düşük öncelik) | O makinedeki tüm agent'ler | + +Aynı ad birden fazla yerdeyse → en yüksek kaynak kazanır. Çalışma alanı, +proje agent'ini; proje agent'i, kişisel agent'i; kişisel agent, yönetilen/yereli; yönetilen/yerel, paketle geleni; paketle gelen de ek dizinleri geçer. -## Ajan beceri izin listeleri +## Agent beceri izin listeleri Beceri **konumu** ve beceri **görünürlüğü** ayrı denetimlerdir. -Konum/öncelik, aynı adlı bir becerinin hangi kopyasının kazanacağını belirler; -ajan izin listeleri ise bir ajanın gerçekten hangi becerileri kullanabileceğini belirler. +Konum/öncelik aynı ada sahip becerinin hangi kopyasının kazanacağını belirler; +agent izin listeleri ise bir agent'in hangi becerileri gerçekten kullanabileceğini +belirler. ```json5 { @@ -75,93 +85,93 @@ ajan izin listeleri ise bir ajanın gerçekten hangi becerileri kullanabileceği - - Varsayılan olarak sınırsız beceriler için `agents.defaults.skills` değerini atlayın. + - Varsayılan olarak kısıtlanmamış beceriler için `agents.defaults.skills` değerini atlayın. - `agents.defaults.skills` değerini devralmak için `agents.list[].skills` değerini atlayın. - - Beceri olmaması için `agents.list[].skills: []` ayarlayın. - - Boş olmayan bir `agents.list[].skills` listesi, o ajan için **nihai** kümedir — varsayılanlarla birleştirilmez. - - Etkin izin listesi istem oluşturma, beceri slash komutu keşfi, sandbox eşitlemesi ve beceri anlık görüntüleri genelinde uygulanır. - + - Hiç beceri olmaması için `agents.list[].skills: []` ayarlayın. + - Boş olmayan bir `agents.list[].skills` listesi, o agent için **nihai** kümedir — varsayılanlarla birleştirilmez. + - Etkili izin listesi prompt oluşturma, beceri slash komutu keşfi, sandbox eşitlemesi ve beceri anlık görüntüleri genelinde uygulanır. -## Plugins ve beceriler +## Plugin'ler ve beceriler -Plugins, `openclaw.plugin.json` içinde `skills` dizinlerini listeleyerek -kendi becerilerini gönderebilir (yollar Plugin köküne görelidir). Plugin becerileri, -Plugin etkinleştirildiğinde yüklenir. Bu, araç açıklaması için fazla uzun olan -ancak Plugin kurulu olduğunda kullanılabilir olması gereken araca özgü -işletim kılavuzları için doğru yerdir — örneğin tarayıcı -Plugin, çok adımlı tarayıcı denetimi için bir `browser-automation` becerisi gönderir. +Plugin'ler kendi becerilerini, `openclaw.plugin.json` içinde `skills` +dizinlerini listeleyerek gönderebilir (yollar Plugin köküne görelidir). +Plugin becerileri, Plugin etkinleştirildiğinde yüklenir. Bu, araç açıklaması +için fazla uzun olan ancak Plugin yüklendiğinde kullanılabilir olması gereken +araca özgü işletim kılavuzları için doğru yerdir; örneğin, tarayıcı +Plugin'i çok adımlı tarayıcı denetimi için bir `browser-automation` becerisi +gönderir. Plugin beceri dizinleri, `skills.load.extraDirs` ile aynı düşük öncelikli -yola birleştirilir; bu nedenle aynı adlı paketle gelen, yönetilen, ajan veya -çalışma alanı becerisi bunları geçersiz kılar. Bunları Plugin yapılandırma -girişindeki `metadata.openclaw.requires.config` ile kapılayabilirsiniz. +yolla birleştirilir; bu yüzden aynı ada sahip paketle gelen, yönetilen, +agent veya çalışma alanı becerisi bunların üzerine yazar. Bunları Plugin'in +config girdisindeki `metadata.openclaw.requires.config` aracılığıyla geçitleyebilirsiniz. -Keşif/yapılandırma için [Plugins](/tr/tools/plugin) bölümüne, bu becerilerin -öğrettiği araç yüzeyi için [Araçlar](/tr/tools) bölümüne bakın. +Keşif/yapılandırma için [Plugin'ler](/tr/tools/plugin), bu becerilerin öğrettiği +araç yüzeyi için [Araçlar](/tr/tools) bölümüne bakın. -## Skill Workshop +## Beceri Atölyesi -İsteğe bağlı, deneysel **Skill Workshop** Plugin, ajan çalışması sırasında +İsteğe bağlı, deneysel **Beceri Atölyesi** Plugin'i, agent çalışması sırasında gözlemlenen yeniden kullanılabilir prosedürlerden çalışma alanı becerileri oluşturabilir veya güncelleyebilir. Varsayılan olarak devre dışıdır ve `plugins.entries.skill-workshop` üzerinden açıkça etkinleştirilmelidir. -Skill Workshop yalnızca `/skills` içine yazar, oluşturulan +Beceri Atölyesi yalnızca `/skills` içine yazar, oluşturulan içeriği tarar, bekleyen onayı veya otomatik güvenli yazmaları destekler, -güvensiz önerileri karantinaya alır ve başarılı yazmalardan sonra beceri -anlık görüntüsünü yeniler; böylece yeni beceriler Gateway yeniden başlatması -olmadan kullanılabilir hale gelir. +güvenli olmayan önerileri karantinaya alır ve başarılı yazmalardan sonra +beceri anlık görüntüsünü yeniler; böylece yeni beceriler Gateway yeniden +başlatması olmadan kullanılabilir hale gelir. Bunu _"bir dahaki sefere GIF atfını doğrula"_ gibi düzeltmeler veya medya -QA kontrol listeleri gibi zor kazanılmış iş akışları için kullanın. Bekleyen +QA kontrol listeleri gibi zor edinilmiş iş akışları için kullanın. Bekleyen onayla başlayın; otomatik yazmaları yalnızca önerilerini inceledikten sonra -güvenilir çalışma alanlarında kullanın. Tam kılavuz: [Skill Workshop Plugin](/tr/plugins/skill-workshop). +güvenilir çalışma alanlarında kullanın. Tam kılavuz: [Beceri Atölyesi Plugin'i](/tr/plugins/skill-workshop). ## ClawHub (kurulum ve eşitleme) [ClawHub](https://clawhub.ai), OpenClaw için herkese açık beceri kayıt defteridir. -Keşif/kurulum/güncelleme için yerel `openclaw skills` komutlarını veya -yayınlama/eşitleme iş akışları için ayrı `clawhub` CLI aracını kullanın. -Tam kılavuz: [ClawHub](/tr/tools/clawhub). +Keşfetme/kurma/güncelleme için yerel `openclaw skills` komutlarını veya +yayınlama/eşitleme iş akışları için ayrı `clawhub` CLI'yi kullanın. Tam kılavuz: +[ClawHub](/tr/tools/clawhub). -| Eylem | Komut | -| ------------------------------------ | -------------------------------------- | -| Çalışma alanına bir beceri kur | `openclaw skills install ` | -| Kurulu tüm becerileri güncelle | `openclaw skills update --all` | -| Eşitle (tara + güncellemeleri yayımla) | `clawhub sync --all` | +| Eylem | Komut | +| ---------------------------------- | -------------------------------------- | +| Çalışma alanına beceri kur | `openclaw skills install ` | +| Kurulu tüm becerileri güncelle | `openclaw skills update --all` | +| Eşitle (tara + güncellemeleri yayınla) | `clawhub sync --all` | -Yerel `openclaw skills install`, etkin çalışma alanı `skills/` dizinine +Yerel `openclaw skills install`, etkin çalışma alanındaki `skills/` dizinine kurulum yapar. Ayrı `clawhub` CLI de geçerli çalışma dizininizin altındaki -`./skills` içine kurulum yapar (veya yapılandırılmış OpenClaw çalışma alanına -geri döner). OpenClaw bunu bir sonraki oturumda `/skills` olarak -alır. Yapılandırılmış beceri kökleri, `skills///SKILL.md` -gibi tek bir gruplama düzeyini de destekler; böylece ilgili üçüncü taraf -becerileri geniş özyinelemeli tarama olmadan paylaşılan bir klasör altında -tutulabilir. +`./skills` konumuna kurulum yapar (veya yapılandırılmış OpenClaw çalışma +alanına geri döner). OpenClaw bunu bir sonraki oturumda `/skills` +olarak alır. +Yapılandırılmış beceri kökleri, `skills///SKILL.md` gibi tek +bir gruplama seviyesini de destekler; böylece ilişkili üçüncü taraf beceriler +geniş özyinelemeli tarama olmadan paylaşılan bir klasör altında tutulabilir. ClawHub beceri sayfaları, kurulumdan önce en son güvenlik taraması durumunu -VirusTotal, ClawScan ve statik analiz için tarayıcı ayrıntı sayfalarıyla -birlikte gösterir. `openclaw skills install ` yalnızca kurulum yolu -olarak kalır; yayıncılar yanlış pozitifleri ClawHub panosu veya -`clawhub skill rescan ` üzerinden düzeltir. +VirusTotal, ClawScan ve statik analiz için tarayıcı ayrıntı sayfalarıyla birlikte +gösterir. `openclaw skills install ` yalnızca kurulum yolu olarak kalır; +yayıncılar yanlış pozitifleri ClawHub panosu veya `clawhub skill rescan ` +üzerinden düzeltir. ## Güvenlik -Üçüncü taraf becerileri **güvenilmeyen kod** olarak değerlendirin. Etkinleştirmeden +Üçüncü taraf becerileri **güvenilmeyen kod** olarak ele alın. Etkinleştirmeden önce okuyun. Güvenilmeyen girdiler ve riskli araçlar için sandbox içinde -çalıştırmayı tercih edin. Ajan tarafı denetimler için +çalıştırmaları tercih edin. Agent tarafı denetimleri için [Sandboxing](/tr/gateway/sandboxing) bölümüne bakın. -- Çalışma alanı ve ek dizin beceri keşfi, yalnızca çözümlenen gerçek yolu yapılandırılmış kökün içinde kalan beceri köklerini ve `SKILL.md` dosyalarını kabul eder. -- Gateway destekli beceri bağımlılığı kurulumları (`skills.install`, onboarding ve Skills ayarları UI), kurulum metaverilerini yürütmeden önce yerleşik tehlikeli kod tarayıcısını çalıştırır. Çağıran açıkça tehlikeli geçersiz kılmayı ayarlamadıkça `critical` bulgular varsayılan olarak engeller; şüpheli bulgular ise yine yalnızca uyarır. -- `openclaw skills install ` farklıdır — çalışma alanına bir ClawHub beceri klasörü indirir ve yukarıdaki kurulum metaverisi yolunu kullanmaz. -- `skills.entries.*.env` ve `skills.entries.*.apiKey`, o ajan turu için gizli değerleri **host** sürecine enjekte eder (sandbox içine değil). Gizli değerleri istemlerden ve günlüklerden uzak tutun. +- Çalışma alanı ve ek dizin beceri keşfi yalnızca çözümlenen realpath'i yapılandırılmış kökün içinde kalan beceri köklerini ve `SKILL.md` dosyalarını kabul eder. +- Gateway destekli beceri bağımlılığı kurulumları (`skills.install`, onboarding ve Skills ayarları arayüzü), kurulum metadatasını çalıştırmadan önce yerleşik tehlikeli kod tarayıcısını çalıştırır. `critical` bulgular, çağıran taraf tehlikeli geçersiz kılmayı açıkça ayarlamadıkça varsayılan olarak engeller; şüpheli bulgular ise yine yalnızca uyarır. +- `openclaw skills install ` farklıdır — bir ClawHub beceri klasörünü çalışma alanına indirir ve yukarıdaki kurulum metadata yolunu kullanmaz. +- `skills.entries.*.env` ve `skills.entries.*.apiKey`, sırları o agent turu için **host** sürecine enjekte eder (sandbox'a değil). Sırları prompt'lardan ve günlüklerden uzak tutun. -Daha geniş bir tehdit modeli ve kontrol listeleri için [Güvenlik](/tr/gateway/security) bölümüne bakın. +Daha geniş tehdit modeli ve kontrol listeleri için [Güvenlik](/tr/gateway/security) bölümüne bakın. ## SKILL.md biçimi @@ -174,37 +184,35 @@ description: Generate or edit images via a provider-backed image workflow --- ``` -OpenClaw, düzen/amaç için AgentSkills belirtimini izler. Gömülü ajan -tarafından kullanılan ayrıştırıcı yalnızca **tek satırlık** frontmatter -anahtarlarını destekler; `metadata` bir **tek satırlık JSON nesnesi** -olmalıdır. Talimatlarda beceri klasörü yoluna başvurmak için `{baseDir}` -kullanın. +OpenClaw düzen/amaç için AgentSkills spesifikasyonunu izler. Gömülü agent +tarafından kullanılan ayrıştırıcı yalnızca **tek satırlı** frontmatter +anahtarlarını destekler; `metadata` bir **tek satırlı JSON nesnesi** olmalıdır. +Beceri klasörü yoluna başvurmak için talimatlarda `{baseDir}` kullanın. ### İsteğe bağlı frontmatter anahtarları - macOS Skills UI içinde "Web sitesi" olarak gösterilen URL. `metadata.openclaw.homepage` üzerinden de desteklenir. + macOS Skills arayüzünde "Web sitesi" olarak gösterilen URL. `metadata.openclaw.homepage` üzerinden de desteklenir. - `true` olduğunda beceri, kullanıcı slash komutu olarak sunulur. + `true` olduğunda beceri kullanıcı slash komutu olarak gösterilir. - `true` olduğunda beceri, model isteminden çıkarılır (kullanıcı çağrısıyla yine kullanılabilir). + `true` olduğunda beceri model prompt'undan çıkarılır (kullanıcı çağrısıyla hâlâ kullanılabilir). - `tool` olarak ayarlandığında slash komutu modeli atlar ve doğrudan bir araca gönderilir. + `tool` olarak ayarlandığında slash komutu modeli atlar ve doğrudan bir araca iletilir. `command-dispatch: tool` ayarlandığında çağrılacak araç adı. - Araç gönderimi için ham argüman dizesini araca iletir (çekirdek ayrıştırma yok). Araç `{ command: "", commandName: "", skillName: "" }` ile çağrılır. + Araç iletimi için ham argüman dizesini araca iletir (çekirdek ayrıştırma yoktur). Araç `{ command: "", commandName: "", skillName: "" }` ile çağrılır. -## Kapılama (yükleme zamanı filtreleri) +## Geçitleme (yükleme zamanı filtreleri) -OpenClaw, `metadata` (tek satırlık JSON) kullanarak becerileri yükleme -zamanında filtreler: +OpenClaw, becerileri yükleme zamanında `metadata` (tek satırlı JSON) kullanarak filtreler: ```markdown --- @@ -224,53 +232,53 @@ metadata: `metadata.openclaw` altındaki alanlar: - `true` olduğunda beceriyi her zaman dahil et (diğer kapıları atla). + `true` olduğunda beceriyi her zaman dahil et (diğer geçitleri atla). - macOS Skills UI tarafından kullanılan isteğe bağlı emoji. + macOS Skills arayüzü tarafından kullanılan isteğe bağlı emoji. - macOS Skills UI içinde "Web sitesi" olarak gösterilen isteğe bağlı URL. + macOS Skills arayüzünde "Web sitesi" olarak gösterilen isteğe bağlı URL. - İsteğe bağlı platform listesi. Ayarlanırsa beceri yalnızca bu işletim sistemlerinde uygundur. + İsteğe bağlı platform listesi. Ayarlanırsa beceri yalnızca bu OS'lerde uygun olur. - Her biri `PATH` üzerinde bulunmalıdır. + Her biri `PATH` üzerinde mevcut olmalıdır. - En az biri `PATH` üzerinde bulunmalıdır. + En az biri `PATH` üzerinde mevcut olmalıdır. - Ortam değişkeni bulunmalı veya yapılandırmada sağlanmalıdır. + Env var mevcut olmalı veya config içinde sağlanmalıdır. - Doğru değerli olması gereken `openclaw.json` yollarının listesi. + Truthy olması gereken `openclaw.json` yollarının listesi. - `skills.entries..apiKey` ile ilişkili ortam değişkeni adı. + `skills.entries..apiKey` ile ilişkili env var adı. - macOS Skills UI tarafından kullanılan isteğe bağlı kurulum belirtimleri (brew/node/go/uv/download). + macOS Skills arayüzü tarafından kullanılan isteğe bağlı kurulum spesifikasyonları (brew/node/go/uv/download). -`metadata.openclaw` yoksa beceri her zaman uygundur (yapılandırmada devre dışı -bırakılmadıkça veya paketle gelen beceriler için `skills.allowBundled` -tarafından engellenmedikçe). +`metadata.openclaw` yoksa, beceri her zaman uygun kabul edilir (config içinde +devre dışı bırakılmadığı veya paketle gelen beceriler için `skills.allowBundled` +tarafından engellenmediği sürece). -Eski `metadata.clawdbot` blokları, `metadata.openclaw` yokken hâlâ kabul edilir; -böylece daha eski kurulu beceriler bağımlılık kapılarını ve kurulum ipuçlarını -korur. Yeni ve güncellenmiş beceriler `metadata.openclaw` kullanmalıdır. +Eski `metadata.clawdbot` blokları, `metadata.openclaw` olmadığında hâlâ kabul +edilir; böylece daha eski kurulu beceriler bağımlılık geçitlerini ve kurulum +ipuçlarını korur. Yeni ve güncellenen beceriler `metadata.openclaw` kullanmalıdır. -### Sandboxing notları +### Sandbox notları - `requires.bins`, beceri yükleme zamanında **host** üzerinde denetlenir. -- Bir ajan sandbox içindese, ikili dosya **konteynerin içinde** de bulunmalıdır. Bunu `agents.defaults.sandbox.docker.setupCommand` (veya özel bir imaj) ile kurun. `setupCommand`, konteyner oluşturulduktan sonra bir kez çalışır. Paket kurulumları ayrıca ağ çıkışı, yazılabilir kök FS ve sandbox içinde root kullanıcı gerektirir. -- Örnek: `summarize` becerisi (`skills/summarize/SKILL.md`), orada çalışmak için sandbox konteynerinde `summarize` CLI aracına ihtiyaç duyar. +- Bir agent sandbox içindeyse, ikili dosya **container içinde** de mevcut olmalıdır. Bunu `agents.defaults.sandbox.docker.setupCommand` (veya özel bir image) üzerinden kurun. `setupCommand`, container oluşturulduktan sonra bir kez çalışır. Paket kurulumları ayrıca ağ çıkışı, yazılabilir root FS ve sandbox içinde bir root kullanıcı gerektirir. +- Örnek: `summarize` becerisi (`skills/summarize/SKILL.md`) orada çalışmak için sandbox container içinde `summarize` CLI'ye ihtiyaç duyar. -### Kurulum belirtimleri +### Kurulum spesifikasyonları ```markdown --- @@ -298,17 +306,17 @@ metadata: ``` - - - Birden fazla yükleyici listelenirse gateway tek bir tercih edilen seçenek seçer (varsa brew, aksi halde node). - - Tüm yükleyiciler `download` ise OpenClaw, mevcut artifaktları görebilmeniz için her girdiyi listeler. - - Yükleyici tanımları, seçenekleri platforma göre filtrelemek için `os: ["darwin"|"linux"|"win32"]` içerebilir. - - Node kurulumları, `openclaw.json` içindeki `skills.install.nodeManager` ayarına uyar (varsayılan: npm; seçenekler: npm/pnpm/yarn/bun). Bu yalnızca skill kurulumlarını etkiler; Gateway çalışma zamanı yine Node olmalıdır — Bun, WhatsApp/Telegram için önerilmez. - - Gateway destekli yükleyici seçimi tercih odaklıdır: kurulum tanımları türleri karıştırdığında OpenClaw, `skills.install.preferBrew` etkinse ve `brew` varsa önce Homebrew'i, sonra `uv`'yi, sonra yapılandırılan node yöneticisini, ardından `go` veya `download` gibi diğer yedekleri tercih eder. - - Her kurulum tanımı `download` ise OpenClaw, tek bir tercih edilen yükleyiciye indirgemek yerine tüm indirme seçeneklerini gösterir. + + - Birden çok kurucu listelenmişse gateway tek bir tercih edilen seçenek seçer (varsa brew, aksi halde node). + - Tüm kurucular `download` ise OpenClaw her girdiyi listeler, böylece kullanılabilir yapıtları görebilirsiniz. + - Kurucu belirtimleri, seçenekleri platforma göre filtrelemek için `os: ["darwin"|"linux"|"win32"]` içerebilir. + - Node kurulumları `openclaw.json` içindeki `skills.install.nodeManager` değerini dikkate alır (varsayılan: npm; seçenekler: npm/pnpm/yarn/bun). Bu yalnızca Skills kurulumlarını etkiler; Gateway çalışma zamanı yine Node olmalıdır — Bun, WhatsApp/Telegram için önerilmez. + - Gateway destekli kurucu seçimi tercihe dayalıdır: kurulum belirtimleri farklı türleri karıştırdığında OpenClaw, `skills.install.preferBrew` etkinse ve `brew` mevcutsa Homebrew'ı tercih eder, ardından `uv`, sonra yapılandırılmış node yöneticisi, sonra `go` veya `download` gibi diğer yedekler gelir. + - Her kurulum belirtimi `download` ise OpenClaw, tek bir tercih edilen kurucuya indirgemek yerine tüm indirme seçeneklerini gösterir. - - - **Go kurulumları:** `go` eksikse ve `brew` kullanılabiliyorsa gateway önce Homebrew üzerinden Go kurar ve mümkün olduğunda `GOBIN` değerini Homebrew'in `bin` dizinine ayarlar. + + - **Go kurulumları:** `go` yoksa ve `brew` kullanılabiliyorsa gateway önce Homebrew üzerinden Go kurar ve mümkün olduğunda `GOBIN` değerini Homebrew'ın `bin` dizinine ayarlar. - **İndirme kurulumları:** `url` (zorunlu), `archive` (`tar.gz` | `tar.bz2` | `zip`), `extract` (varsayılan: arşiv algılandığında otomatik), `stripComponents`, `targetDir` (varsayılan: `~/.openclaw/tools/`). @@ -316,8 +324,8 @@ metadata: ## Yapılandırma geçersiz kılmaları -Paketle gelen ve yönetilen skills, `~/.openclaw/openclaw.json` içindeki -`skills.entries` altında açılıp kapatılabilir ve env değerleriyle beslenebilir: +Paketle gelen ve yönetilen Skills, `~/.openclaw/openclaw.json` içindeki +`skills.entries` altında açılıp kapatılabilir ve env değerleriyle sağlanabilir: ```json5 { @@ -342,37 +350,37 @@ Paketle gelen ve yönetilen skills, `~/.openclaw/openclaw.json` içindeki ``` - `false`, paketle gelmiş veya kurulmuş olsa bile skill'i devre dışı bırakır. - Paketle gelen `coding-agent` skill'i isteğe bağlıdır: agent'lara sunmadan önce - `skills.entries.coding-agent.enabled: true` ayarını yapın, - ardından `claude`, `codex`, `opencode` veya `pi` içinden birinin kurulu olduğundan ve - kendi CLI'ı için kimliğinin doğrulandığından emin olun. + `false`, paketle gelmiş veya kurulmuş olsa bile Skill'i devre dışı bırakır. + Paketle gelen `coding-agent` Skill'i isteğe bağlıdır: agent'lara açmadan önce + `skills.entries.coding-agent.enabled: true` ayarlayın, + ardından `claude`, `codex`, `opencode` veya `pi` seçeneklerinden birinin kurulu olduğundan ve + kendi CLI'ı için kimlik doğrulamasının yapıldığından emin olun. - `metadata.openclaw.primaryEnv` bildiren skills için kolaylık sağlar. Düz metni veya SecretRef'i destekler. + `metadata.openclaw.primaryEnv` bildiren Skills için kolaylık sağlar. Düz metin veya SecretRef destekler. - Yalnızca değişken süreçte zaten ayarlı değilse enjekte edilir. + Yalnızca değişken süreçte zaten ayarlanmamışsa enjekte edilir. - Özel skill başına alanlar için isteğe bağlı torba. Özel anahtarlar burada bulunmalıdır. + Özel Skill bazlı alanlar için isteğe bağlı torba. Özel anahtarlar burada bulunmalıdır. - Yalnızca **paketle gelen** skills için isteğe bağlı izin listesi. Ayarlanırsa yalnızca listedeki paketle gelen skills uygun olur (yönetilen/çalışma alanı skills etkilenmez). + Yalnızca **paketle gelen** Skills için isteğe bağlı izin listesi. Ayarlanırsa yalnızca listedeki paketle gelen Skills uygun olur (yönetilen/çalışma alanı Skills etkilenmez). Skill adı kısa çizgiler içeriyorsa anahtarı tırnak içine alın (JSON5 tırnaklı -anahtarlara izin verir). Yapılandırma anahtarları varsayılan olarak **skill adı** ile eşleşir — bir skill +anahtarlara izin verir). Yapılandırma anahtarları varsayılan olarak **Skill adı** ile eşleşir — bir Skill `metadata.openclaw.skillKey` tanımlıyorsa `skills.entries` altında bu anahtarı kullanın. -OpenClaw içinde stok görsel oluşturma/düzenleme için paketle gelen bir skill yerine +OpenClaw içinde hazır görüntü oluşturma/düzenleme için paketle gelen bir Skill yerine `agents.defaults.imageGenerationModel` ile çekirdek -`image_generate` aracını kullanın. Buradaki skill örnekleri özel veya üçüncü taraf -iş akışları içindir. Yerel görsel analizi için +`image_generate` aracını kullanın. Buradaki Skill örnekleri özel veya üçüncü taraf +iş akışları içindir. Yerel görüntü analizi için `agents.defaults.imageModel` ile `image` aracını kullanın. `openai/*`, `google/*`, -`fal/*` veya sağlayıcıya özgü başka bir görsel modeli seçerseniz o sağlayıcının -kimlik doğrulama/API anahtarını da ekleyin. +`fal/*` veya başka bir sağlayıcıya özgü görüntü modeli seçerseniz o sağlayıcının +auth/API anahtarını da ekleyin. ## Ortam enjeksiyonu @@ -381,37 +389,37 @@ Bir agent çalıştırması başladığında OpenClaw: 1. Skill metadata'sını okur. 2. `skills.entries..env` ve `skills.entries..apiKey` değerlerini `process.env` üzerine uygular. -3. Sistem istemini **uygun** skills ile oluşturur. +3. Sistem istemini **uygun** Skills ile oluşturur. 4. Çalıştırma sona erdikten sonra özgün ortamı geri yükler. Ortam enjeksiyonu genel bir shell ortamı değil, **agent çalıştırmasıyla sınırlıdır**. -Paketle gelen `claude-cli` arka ucu için OpenClaw aynı uygun anlık görüntüyü -geçici bir Claude Code plugin'i olarak da somutlaştırır ve -`--plugin-dir` ile geçirir. Claude Code daha sonra kendi yerel skill çözücüsünü kullanabilir; -OpenClaw ise önceliği, agent başına izin listelerini, kapılamayı ve -`skills.entries.*` env/API anahtarı enjeksiyonunu yönetmeye devam eder. Diğer CLI arka uçları yalnızca +Paketle gelen `claude-cli` arka ucu için OpenClaw aynı +uygun anlık görüntüyü geçici bir Claude Code Plugin'i olarak da oluşturur ve bunu +`--plugin-dir` ile geçirir. Claude Code daha sonra kendi yerel Skill çözücüsünü kullanabilir; OpenClaw ise +öncelik, agent bazlı izin listeleri, gating ve +`skills.entries.*` env/API anahtarı enjeksiyonunun sahibi olmaya devam eder. Diğer CLI arka uçları yalnızca istem kataloğunu kullanır. ## Anlık görüntüler ve yenileme -OpenClaw, uygun skills için **bir oturum başladığında** anlık görüntü alır ve +OpenClaw, **bir oturum başladığında** uygun Skills'in anlık görüntüsünü alır ve aynı oturumdaki sonraki turlarda bu listeyi yeniden kullanır. Skills veya yapılandırmadaki değişiklikler bir sonraki yeni oturumda etkili olur. Skills oturum ortasında iki durumda yenilenebilir: -- Skills watcher etkindir. -- Yeni bir uygun uzak node görünür. +- Skills izleyicisi etkindir. +- Yeni uygun bir uzak node görünür. -Bunu bir **hot reload** olarak düşünün: yenilenen liste bir sonraki -agent turunda alınır. Bu oturum için geçerli agent skill izin listesi değişirse -OpenClaw anlık görüntüyü yeniler, böylece görünür skills mevcut agent ile uyumlu kalır. +Bunu bir **sıcak yeniden yükleme** olarak düşünün: yenilenmiş liste +bir sonraki agent turunda alınır. O oturum için etkili agent Skill izin listesi değişirse +OpenClaw anlık görüntüyü yeniler, böylece görünür Skills geçerli agent ile uyumlu kalır. -### Skills watcher +### Skills izleyicisi -Varsayılan olarak OpenClaw skill klasörlerini izler ve `SKILL.md` dosyaları -değiştiğinde skills anlık görüntüsünü artırır. `skills.load` altında yapılandırın: +Varsayılan olarak OpenClaw Skill klasörlerini izler ve `SKILL.md` dosyaları değiştiğinde +Skills anlık görüntüsünü artırır. `skills.load` altında yapılandırın: ```json5 { @@ -426,54 +434,53 @@ değiştiğinde skills anlık görüntüsünü artırır. `skills.load` altında ### Uzak macOS node'ları (Linux gateway) -Gateway Linux üzerinde çalışıyor ancak `system.run` izni verilmiş bir **macOS node'u** +Gateway Linux üzerinde çalışıyor ancak `system.run` izinli bir **macOS node'u** bağlıysa (Exec onayları güvenliği `deny` olarak ayarlanmamışsa), -OpenClaw, gerekli ikili dosyalar o node üzerinde mevcut olduğunda yalnızca macOS skills'i uygun kabul edebilir. -Agent bu skills'i `host=node` ile `exec` aracı üzerinden çalıştırmalıdır. +gerekli binary'ler o node üzerinde bulunduğunda OpenClaw yalnızca macOS'a özgü Skills'i uygun kabul edebilir. +Agent bu Skills'i `host=node` ile `exec` aracı üzerinden yürütmelidir. -Bu, node'un komut desteğini raporlamasına ve `system.which` veya `system.run` -üzerinden yapılan bir bin probe'a dayanır. Çevrimdışı node'lar **uzaklara özel** skills'i -görünür yapmaz. Bağlı bir node bin probe'larına yanıt vermeyi bırakırsa -OpenClaw, önbelleğe alınmış bin eşleşmelerini temizler; böylece agent'lar şu anda orada -çalışamayan skills'i artık görmez. +Bu, node'un komut desteğini bildirmesine ve `system.which` veya `system.run` üzerinden +bir bin yoklamasına dayanır. Çevrimdışı node'lar **yalnızca uzak** Skills'i görünür yapmaz. +Bağlı bir node bin yoklamalarına yanıt vermeyi durdurursa OpenClaw önbelleğe alınmış bin eşleşmelerini temizler, +böylece agent'lar artık şu anda orada çalıştırılamayan Skills'i görmez. ## Token etkisi -Skills uygun olduğunda OpenClaw, mevcut skills'in kompakt bir XML listesini -sistem istemine enjekte eder (`pi-coding-agent` içindeki `formatSkillsForPrompt` -üzerinden). Maliyet deterministiktir: +Skills uygun olduğunda OpenClaw, sistem istemine kullanılabilir Skills'in kompakt bir XML listesini +(`pi-coding-agent` içindeki `formatSkillsForPrompt` üzerinden) enjekte eder. +Maliyet deterministiktir: -- **Temel ek yük** (yalnızca ≥1 skill olduğunda): 195 karakter. +- **Temel ek yük** (yalnızca ≥1 Skill olduğunda): 195 karakter. - **Skill başına:** 97 karakter + XML kaçışlı ``, `` ve `` değerlerinin uzunluğu. -Formül (karakterler): +Formül (karakter): ```text total = 195 + Σ (97 + len(name_escaped) + len(description_escaped) + len(location_escaped)) ``` -XML kaçışlama `& < > " '` karakterlerini varlıklara (`&`, `<` vb.) -genişleterek uzunluğu artırır. Token sayıları model tokenizer'ına göre değişir. Kabaca +XML kaçışı `& < > " '` karakterlerini entity'lere (`&`, `<` vb.) genişletir, +bu da uzunluğu artırır. Token sayıları model tokenizer'ına göre değişir. Kabaca OpenAI tarzı bir tahmin ~4 karakter/token olduğundan **97 karakter ≈ 24 token** eder; -buna skill başına gerçek alan uzunluklarınız eklenir. +buna Skill başına gerçek alan uzunluklarınız eklenir. -## Yönetilen skills yaşam döngüsü +## Yönetilen Skills yaşam döngüsü -OpenClaw, kurulumla (npm paketi veya OpenClaw.app) birlikte temel bir skills kümesini -**paketle gelen skills** olarak gönderir. `~/.openclaw/skills`, yerel geçersiz kılmalar için vardır — -örneğin paketle gelen kopyayı değiştirmeden bir skill'i sabitlemek veya yamamak için. -Çalışma alanı skills kullanıcıya aittir ve ad çakışmalarında ikisinin de üzerine yazar. +OpenClaw, kurulumla (npm paketi veya OpenClaw.app) birlikte temel bir Skills kümesini +**paketle gelen Skills** olarak gönderir. `~/.openclaw/skills`, yerel geçersiz kılmalar için vardır — +örneğin paketle gelen kopyayı değiştirmeden bir Skill'i sabitlemek veya yamamak için. +Çalışma alanı Skills kullanıcıya aittir ve ad çakışmalarında ikisini de geçersiz kılar. -## Daha fazla skill mi arıyorsunuz? +## Daha fazla Skill mi arıyorsunuz? [https://clawhub.ai](https://clawhub.ai) adresine göz atın. Tam yapılandırma şeması: [Skills yapılandırması](/tr/tools/skills-config). ## İlgili -- [ClawHub](/tr/tools/clawhub) — herkese açık skills kayıt defteri -- [Skill oluşturma](/tr/tools/creating-skills) — özel skills oluşturma -- [Plugins](/tr/tools/plugin) — plugin sistemi genel bakışı -- [Skill Workshop plugin](/tr/plugins/skill-workshop) — agent çalışmasından skills üretin -- [Skills yapılandırması](/tr/tools/skills-config) — skill yapılandırması başvurusu -- [Slash komutları](/tr/tools/slash-commands) — mevcut tüm slash komutları +- [ClawHub](/tr/tools/clawhub) — herkese açık Skills kayıt defteri +- [Skills oluşturma](/tr/tools/creating-skills) — özel Skills oluşturma +- [Plugins](/tr/tools/plugin) — Plugin sistemi genel bakışı +- [Skill Workshop Plugin'i](/tr/plugins/skill-workshop) — agent çalışmasından Skills oluşturma +- [Skills yapılandırması](/tr/tools/skills-config) — Skill yapılandırma başvurusu +- [Eğik çizgi komutları](/tr/tools/slash-commands) — kullanılabilir tüm eğik çizgi komutları