From 65c9aa7b6ecdd3053a344ade5b15f1252d18caf6 Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Mon, 4 May 2026 18:26:19 +0000 Subject: [PATCH] chore(i18n): refresh tr translations --- docs/tr/channels/zalouser.md | 100 ++++---- docs/tr/cli/daemon.md | 41 ++-- docs/tr/cli/gateway.md | 268 ++++++++++----------- docs/tr/cli/models.md | 164 ++++++------- docs/tr/cli/proxy.md | 34 +-- docs/tr/gateway/cli-backends.md | 292 ++++++++++++++--------- docs/tr/help/testing-live.md | 373 ++++++++++++++++-------------- docs/tr/plugins/hooks.md | 213 ++++++++--------- docs/tr/plugins/sdk-overview.md | 338 +++++++++++++-------------- docs/tr/security/network-proxy.md | 140 +++++------ docs/tr/tools/thinking.md | 159 ++++++------- 11 files changed, 1120 insertions(+), 1002 deletions(-) diff --git a/docs/tr/channels/zalouser.md b/docs/tr/channels/zalouser.md index 20d610f63..a6bf96cb9 100644 --- a/docs/tr/channels/zalouser.md +++ b/docs/tr/channels/zalouser.md @@ -2,42 +2,42 @@ read_when: - OpenClaw için Zalo Personal kurulumu - Zalo Personal oturum açma veya mesaj akışında hata ayıklama -summary: Yerel zca-js (QR ile oturum açma) aracılığıyla Zalo kişisel hesabı desteği, yetenekleri ve yapılandırması +summary: Yerel zca-js (QR ile oturum açma) üzerinden Zalo kişisel hesabı desteği, yetenekleri ve yapılandırması title: Zalo kişisel x-i18n: - generated_at: "2026-05-02T22:17:14Z" + generated_at: "2026-05-04T18:23:37Z" model: gpt-5.5 provider: openai - source_hash: 0096775e0017e504130f2e19e05ab8114eadb873a9e11f79ea8f0dd91297567f + source_hash: 0f6d27f0ca502e6426abe21d609efd0a168a0b6b0fafe8d52d59f1a717da1ed5 source_path: channels/zalouser.md workflow: 16 --- -Durum: deneysel. Bu entegrasyon, OpenClaw içinde yerel `zca-js` aracılığıyla **kişisel bir Zalo hesabını** otomatikleştirir. +Status: deneysel. Bu entegrasyon, OpenClaw içinde yerel `zca-js` aracılığıyla bir **kişisel Zalo hesabını** otomatikleştirir. -Bu resmi olmayan bir entegrasyondur ve hesabın askıya alınmasına veya yasaklanmasına neden olabilir. Kendi sorumluluğunuzda kullanın. +Bu resmi olmayan bir entegrasyondur ve hesabın askıya alınmasına veya yasaklanmasına neden olabilir. Kullanım riski size aittir. -## Paketle gelen Plugin +## Birlikte gelen Plugin -Zalo Personal, güncel OpenClaw sürümlerinde paketle gelen bir Plugin olarak sunulur; bu nedenle normal paketlenmiş derlemeler ayrı bir kurulum gerektirmez. +Zalo Personal, mevcut OpenClaw sürümlerinde birlikte gelen bir Plugin olarak sunulur, bu nedenle normal paketlenmiş derlemeler ayrı bir kurulum gerektirmez. -Daha eski bir derleme kullanıyorsanız veya Zalo Personal'ı hariç tutan özel bir kurulumunuz varsa npm paketini doğrudan kurun: +Daha eski bir derlemedeyseniz veya Zalo Personal'ı hariç tutan özel bir kurulum kullanıyorsanız, npm paketini doğrudan kurun: -- CLI ile kurun: `openclaw plugins install @openclaw/zalouser` +- CLI ile kurulum: `openclaw plugins install @openclaw/zalouser` - Sabitlenmiş sürüm: `openclaw plugins install @openclaw/zalouser@2026.5.2` -- Ya da kaynak checkout'tan: `openclaw plugins install ./path/to/local/zalouser-plugin` +- Veya kaynak checkout'tan: `openclaw plugins install ./path/to/local/zalouser-plugin` - Ayrıntılar: [Plugins](/tr/tools/plugin) Harici bir `zca`/`openzca` CLI ikili dosyası gerekmez. ## Hızlı kurulum (başlangıç) -1. Zalo Personal Plugin'in kullanılabilir olduğundan emin olun. - - Güncel paketlenmiş OpenClaw sürümleri bunu zaten paketle birlikte içerir. - - Eski/özel kurulumlar yukarıdaki komutlarla bunu elle ekleyebilir. -2. Giriş yapın (QR, Gateway makinesinde): +1. Zalo Personal Plugin'inin kullanılabilir olduğundan emin olun. + - Mevcut paketlenmiş OpenClaw sürümleri bunu zaten birlikte sunar. + - Daha eski/özel kurulumlar, yukarıdaki komutlarla bunu elle ekleyebilir. +2. Oturum açın (QR, Gateway makinesinde): - `openclaw channels login --channel zalouser` - QR kodunu Zalo mobil uygulamasıyla tarayın. 3. Kanalı etkinleştirin: @@ -54,22 +54,22 @@ Harici bir `zca`/`openzca` CLI ikili dosyası gerekmez. ``` 4. Gateway'i yeniden başlatın (veya kurulumu tamamlayın). -5. DM erişimi varsayılan olarak eşleştirmeye ayarlıdır; ilk temasta eşleştirme kodunu onaylayın. +5. DM erişimi varsayılan olarak eşleştirmeye ayarlıdır; ilk iletişimde eşleştirme kodunu onaylayın. ## Nedir -- Tamamen işlem içinde `zca-js` üzerinden çalışır. +- Tamamen süreç içinde `zca-js` üzerinden çalışır. - Gelen mesajları almak için yerel olay dinleyicilerini kullanır. - Yanıtları doğrudan JS API üzerinden gönderir (metin/medya/bağlantı). -- Zalo Bot API'nin kullanılamadığı “kişisel hesap” kullanım durumları için tasarlanmıştır. +- Zalo Bot API'nin kullanılamadığı “kişisel hesap” kullanım senaryoları için tasarlanmıştır. ## Adlandırma -Kanal kimliği, bunun **kişisel bir Zalo kullanıcı hesabını** otomatikleştirdiğini açıkça göstermek için `zalouser` şeklindedir (resmi olmayan). `zalo` adını gelecekteki olası resmi Zalo API entegrasyonu için ayrılmış tutuyoruz. +Kanal kimliği, bunun bir **kişisel Zalo kullanıcı hesabını** otomatikleştirdiğini açıkça belirtmek için `zalouser` şeklindedir (resmi olmayan). `zalo` adını gelecekteki olası resmi bir Zalo API entegrasyonu için ayrılmış tutuyoruz. ## Kimlikleri bulma (dizin) -Eşleri/grupları ve kimliklerini keşfetmek için dizin CLI'sini kullanın: +Eşleri/grupları ve kimliklerini keşfetmek için dizin CLI'ını kullanın: ```bash openclaw directory self --channel zalouser @@ -79,14 +79,16 @@ openclaw directory groups list --channel zalouser --query "work" ## Sınırlar -- Giden metin yaklaşık 2000 karakterlik parçalara bölünür (Zalo istemci sınırları). -- Akış varsayılan olarak engellenir. +- Giden metin ~2000 karakterlik parçalara bölünür (Zalo istemci sınırları). +- Streaming varsayılan olarak engellenir. ## Erişim denetimi (DM'ler) `channels.zalouser.dmPolicy` şunları destekler: `pairing | allowlist | open | disabled` (varsayılan: `pairing`). -`channels.zalouser.allowFrom`, kullanıcı kimliklerini veya adlarını kabul eder. Kurulum sırasında adlar, Plugin'in işlem içi kişi araması kullanılarak kimliklere çözümlenir. +`channels.zalouser.allowFrom` kararlı Zalo kullanıcı kimliklerini kullanmalıdır. Etkileşimli kurulum sırasında girilen adlar, Plugin'in süreç içi kişi araması kullanılarak kimliklere çözümlenebilir. + +Yapılandırmada ham bir ad kalırsa, başlangıç bunu yalnızca `channels.zalouser.dangerouslyAllowNameMatching: true` etkinleştirildiğinde çözümler. Bu açık onay olmadan, çalışma zamanı gönderici denetimleri yalnızca kimlik tabanlıdır ve ham adlar yetkilendirme için yok sayılır. Şununla onaylayın: @@ -95,18 +97,18 @@ openclaw directory groups list --channel zalouser --query "work" ## Grup erişimi (isteğe bağlı) -- Varsayılan: `channels.zalouser.groupPolicy = "open"` (gruplara izin verilir). Ayarlanmamış olduğunda varsayılanı geçersiz kılmak için `channels.defaults.groupPolicy` kullanın. -- İzin verilenler listesiyle sınırlayın: +- Varsayılan: `channels.zalouser.groupPolicy = "open"` (gruplara izin verilir). Ayarlanmadığında varsayılanı geçersiz kılmak için `channels.defaults.groupPolicy` kullanın. +- Bir izin listesiyle sınırlandırın: - `channels.zalouser.groupPolicy = "allowlist"` - - `channels.zalouser.groups` (anahtarlar kararlı grup kimlikleri olmalıdır; mümkün olduğunda adlar başlangıçta kimliklere çözümlenir) - - `channels.zalouser.groupAllowFrom` (izin verilen gruplardaki hangi gönderenlerin botu tetikleyebileceğini denetler) -- Tüm grupları engelleyin: `channels.zalouser.groupPolicy = "disabled"`. -- Yapılandırma sihirbazı grup izin listeleri için istem gösterebilir. -- Başlangıçta OpenClaw, izin listelerindeki grup/kullanıcı adlarını kimliklere çözümler ve eşlemeyi günlüğe yazar. -- Grup izin listesi eşleştirmesi varsayılan olarak yalnızca kimlik bazlıdır. Çözümlenmemiş adlar, `channels.zalouser.dangerouslyAllowNameMatching: true` etkinleştirilmediği sürece kimlik doğrulama için yok sayılır. -- `channels.zalouser.dangerouslyAllowNameMatching: true`, değişken grup adı eşleştirmesini yeniden etkinleştiren acil durum uyumluluk modudur. -- `groupAllowFrom` ayarlanmamışsa çalışma zamanı, grup gönderen denetimleri için `allowFrom` değerine geri döner. -- Gönderen denetimleri hem normal grup mesajlarına hem de denetim komutlarına uygulanır (örneğin `/new`, `/reset`). + - `channels.zalouser.groups` (anahtarlar kararlı grup kimlikleri olmalıdır; adlar yalnızca `channels.zalouser.dangerouslyAllowNameMatching: true` etkinleştirildiğinde başlangıçta kimliklere çözümlenir) + - `channels.zalouser.groupAllowFrom` (izin verilen gruplarda hangi göndericilerin botu tetikleyebileceğini denetler) +- Tüm grupları engelle: `channels.zalouser.groupPolicy = "disabled"`. +- Yapılandırma sihirbazı grup izin listelerini sorabilir. +- Başlangıçta OpenClaw, izin listelerindeki grup/kullanıcı adlarını kimliklere çözümler ve eşlemeyi yalnızca `channels.zalouser.dangerouslyAllowNameMatching: true` etkinleştirildiğinde günlüğe yazar. +- Grup izin listesi eşleştirmesi varsayılan olarak yalnızca kimlik tabanlıdır. Çözümlenmemiş adlar, `channels.zalouser.dangerouslyAllowNameMatching: true` etkinleştirilmedikçe kimlik doğrulama için yok sayılır. +- `channels.zalouser.dangerouslyAllowNameMatching: true`, değiştirilebilir başlangıç ad çözümlemesini ve çalışma zamanı grup adı eşleştirmesini yeniden etkinleştiren acil durum uyumluluk modudur. +- `groupAllowFrom` ayarlanmamışsa, çalışma zamanı grup gönderici denetimleri için `allowFrom` değerine geri döner. +- Gönderici denetimleri hem normal grup mesajlarına hem de denetim komutlarına uygulanır (örneğin `/new`, `/reset`). Örnek: @@ -125,14 +127,14 @@ openclaw directory groups list --channel zalouser --query "work" } ``` -### Grup bahsi geçidi +### Grup bahsi kapısı -- `channels.zalouser.groups..requireMention`, grup yanıtlarının bir bahis gerektirip gerektirmediğini denetler. -- Çözümleme sırası: tam grup kimliği/adı -> normalleştirilmiş grup kısa adı -> `*` -> varsayılan (`true`). -- Bu, hem izin verilen listedeki gruplara hem de açık grup moduna uygulanır. -- Bir bot mesajından alıntı yapmak, grup etkinleştirmesi için örtük bir bahis sayılır. -- Yetkili denetim komutları (örneğin `/new`) bahis geçidini atlayabilir. -- Bir grup mesajı bahis gerektiği için atlandığında OpenClaw bunu bekleyen grup geçmişi olarak saklar ve bir sonraki işlenen grup mesajına dahil eder. +- `channels.zalouser.groups..requireMention`, grup yanıtlarının bir bahsetme gerektirip gerektirmediğini denetler. +- Çözümleme sırası: tam grup kimliği/adı -> normalleştirilmiş grup slug'ı -> `*` -> varsayılan (`true`). +- Bu hem izin listesindeki gruplar hem de açık grup modu için geçerlidir. +- Bir bot mesajını alıntılamak, grup etkinleştirmesi için örtük bir bahsetme sayılır. +- Yetkili denetim komutları (örneğin `/new`) bahsetme kapısını atlayabilir. +- Bahsetme gerektiği için bir grup mesajı atlandığında, OpenClaw bunu bekleyen grup geçmişi olarak saklar ve bir sonraki işlenen grup mesajına dahil eder. - Grup geçmişi sınırı varsayılan olarak `messages.groupChat.historyLimit` değeridir (geri dönüş `50`). Hesap başına `channels.zalouser.historyLimit` ile geçersiz kılabilirsiniz. Örnek: @@ -153,7 +155,7 @@ openclaw directory groups list --channel zalouser --query "work" ## Çoklu hesap -Hesaplar, OpenClaw durumundaki `zalouser` profilleriyle eşlenir. Örnek: +Hesaplar OpenClaw durumunda `zalouser` profillerine eşlenir. Örnek: ```json5 { @@ -169,34 +171,34 @@ Hesaplar, OpenClaw durumundaki `zalouser` profilleriyle eşlenir. Örnek: } ``` -## Yazıyor durumu, tepkiler ve teslim alındıları +## Yazıyor göstergesi, tepkiler ve teslim alındıları - OpenClaw, bir yanıt göndermeden önce yazıyor olayı gönderir (en iyi çabayla). - Mesaj tepki eylemi `react`, kanal eylemlerinde `zalouser` için desteklenir. - Bir mesajdan belirli bir tepki emojisini kaldırmak için `remove: true` kullanın. - Tepki semantiği: [Tepkiler](/tr/tools/reactions) -- Olay meta verisi içeren gelen mesajlar için OpenClaw, teslim edildi + görüldü alındıları gönderir (en iyi çabayla). +- Olay meta verileri içeren gelen mesajlar için OpenClaw teslim edildi + görüldü alındıları gönderir (en iyi çabayla). ## Sorun giderme -**Giriş kalıcı olmuyor:** +**Oturum açma kalıcı olmuyor:** - `openclaw channels status --probe` -- Yeniden giriş yapın: `openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser` +- Yeniden oturum açın: `openclaw channels logout --channel zalouser && openclaw channels login --channel zalouser` **İzin listesi/grup adı çözümlenmedi:** -- `allowFrom`/`groupAllowFrom`/`groups` içinde sayısal kimlikler ya da tam arkadaş/grup adları kullanın. +- `allowFrom`/`groupAllowFrom` içinde sayısal kimlikleri ve `groups` içinde kararlı grup kimliklerini kullanın. Özellikle tam arkadaş/grup adlarına ihtiyacınız varsa `channels.zalouser.dangerouslyAllowNameMatching: true` etkinleştirin. **Eski CLI tabanlı kurulumdan yükseltildi:** -- Eski harici `zca` süreci varsayımlarını kaldırın. +- Eski harici `zca` süreç varsayımlarını kaldırın. - Kanal artık harici CLI ikili dosyaları olmadan tamamen OpenClaw içinde çalışır. ## İlgili - [Kanallara Genel Bakış](/tr/channels) — desteklenen tüm kanallar - [Eşleştirme](/tr/channels/pairing) — DM kimlik doğrulaması ve eşleştirme akışı -- [Gruplar](/tr/channels/groups) — grup sohbeti davranışı ve bahis geçidi +- [Gruplar](/tr/channels/groups) — grup sohbeti davranışı ve bahsetme kapısı - [Kanal Yönlendirme](/tr/channels/channel-routing) — mesajlar için oturum yönlendirmesi -- [Güvenlik](/tr/gateway/security) — erişim modeli ve sağlamlaştırma +- [Güvenlik](/tr/gateway/security) — erişim modeli ve güçlendirme diff --git a/docs/tr/cli/daemon.md b/docs/tr/cli/daemon.md index 54966f734..8ec786c46 100644 --- a/docs/tr/cli/daemon.md +++ b/docs/tr/cli/daemon.md @@ -1,14 +1,14 @@ --- read_when: - Betiklerde hâlâ `openclaw daemon ...` kullanıyorsunuz - - Hizmet yaşam döngüsü komutlarına ihtiyacınız var (install/start/stop/restart/status) -summary: '`openclaw daemon` için CLI başvurusu (Gateway hizmet yönetimi için eski diğer ad)' -title: Arka plan süreci + - Hizmet yaşam döngüsü komutlarına (install/start/stop/restart/status) ihtiyacınız var +summary: '`openclaw daemon` için CLI referansı (Gateway hizmet yönetimi için eski takma ad)' +title: Arka plan hizmeti x-i18n: - generated_at: "2026-05-02T22:17:32Z" + generated_at: "2026-05-04T18:23:44Z" model: gpt-5.5 provider: openai - source_hash: 3f11b75bf2781e69f6f59b23364f06cf359f9f24407f25f19b9d2186f7158512 + source_hash: f84e11fc50bdf38da518a8fcf415ae461a2688c2299f996eee384357c0d04a05 source_path: cli/daemon.md workflow: 16 --- @@ -32,40 +32,41 @@ openclaw daemon uninstall ## Alt komutlar -- `status`: hizmet kurulum durumunu gösterir ve Gateway sağlığını yoklar +- `status`: hizmetin kurulum durumunu gösterir ve Gateway sağlığını yoklar - `install`: hizmeti kurar (`launchd`/`systemd`/`schtasks`) - `uninstall`: hizmeti kaldırır - `start`: hizmeti başlatır - `stop`: hizmeti durdurur - `restart`: hizmeti yeniden başlatır -## Yaygın seçenekler +## Ortak seçenekler - `status`: `--url`, `--token`, `--password`, `--timeout`, `--no-probe`, `--require-rpc`, `--deep`, `--json` - `install`: `--port`, `--runtime `, `--token`, `--force`, `--json` -- `restart`: `--force`, `--wait `, `--json` +- `restart`: `--safe`, `--force`, `--wait `, `--json` - yaşam döngüsü (`uninstall|start|stop`): `--json` Notlar: -- `status`, mümkün olduğunda yoklama kimlik doğrulaması için yapılandırılmış kimlik doğrulama SecretRefs öğelerini çözümler. -- Bu komut yolunda gerekli bir kimlik doğrulama SecretRef çözümlenmemişse, yoklama bağlantısı/kimlik doğrulaması başarısız olduğunda `daemon status --json`, `rpc.authWarning` bildirir; `--token`/`--password` değerini açıkça iletin veya önce gizli kaynak kaynağını çözümleyin. -- Yoklama başarılı olursa, yanlış pozitiflerden kaçınmak için çözümlenmemiş auth-ref uyarıları bastırılır. -- `status --deep`, en iyi çabayla sistem düzeyinde bir hizmet taraması ekler. Başka gateway benzeri hizmetler bulduğunda, insan çıktısı temizleme ipuçları yazdırır ve makine başına bir gateway'in hâlâ normal öneri olduğu konusunda uyarır. +- `status`, mümkün olduğunda yoklama kimlik doğrulaması için yapılandırılmış kimlik doğrulama SecretRef'lerini çözer. +- Bu komut yolunda gerekli bir kimlik doğrulama SecretRef'i çözümlenmemişse, yoklama bağlantısı/kimlik doğrulaması başarısız olduğunda `daemon status --json` `rpc.authWarning` bildirir; `--token`/`--password` değerini açıkça geçirin veya önce gizli kaynak kaynağını çözümleyin. +- Yoklama başarılı olursa, yanlış pozitifleri önlemek için çözümlenmemiş auth-ref uyarıları bastırılır. +- `status --deep`, en iyi çabayla sistem düzeyinde bir hizmet taraması ekler. Başka gateway benzeri hizmetler bulduğunda, insan tarafından okunabilir çıktı temizlik ipuçları yazdırır ve makine başına bir gateway'in hâlâ normal öneri olduğu konusunda uyarır. - Linux systemd kurulumlarında, `status` token sapması denetimleri hem `Environment=` hem de `EnvironmentFile=` birim kaynaklarını içerir. -- Sapma denetimleri, birleştirilmiş çalışma zamanı ortamını kullanarak `gateway.auth.token` SecretRefs öğelerini çözümler (önce hizmet komutu ortamı, ardından süreç ortamı yedeği). -- Token kimlik doğrulaması etkin olarak aktif değilse (açık `gateway.auth.mode` değeri `password`/`none`/`trusted-proxy` ise veya parola kazanabilecekken mod ayarlanmamışsa ve hiçbir token adayı kazanamıyorsa), token sapması denetimleri yapılandırma token çözümlemesini atlar. -- Token kimlik doğrulaması bir token gerektirdiğinde ve `gateway.auth.token` SecretRef tarafından yönetildiğinde, `install` SecretRef öğesinin çözümlenebilir olduğunu doğrular ancak çözümlenen token'ı hizmet ortamı meta verilerine kalıcı olarak yazmaz. -- Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılmış token SecretRef çözümlenmemişse, kurulum kapalı durumda başarısız olur. +- Sapma denetimleri, birleştirilmiş çalışma zamanı env kullanarak `gateway.auth.token` SecretRef'lerini çözer (önce hizmet komutu env, ardından süreç env yedeği). +- Token kimlik doğrulaması etkin olarak aktif değilse (açık `gateway.auth.mode` değeri `password`/`none`/`trusted-proxy` ise veya parola kazanabilirken mod ayarlanmamışsa ve hiçbir token adayı kazanamıyorsa), token sapması denetimleri yapılandırma token çözümlemesini atlar. +- Token kimlik doğrulaması bir token gerektirdiğinde ve `gateway.auth.token` SecretRef ile yönetildiğinde, `install` SecretRef'in çözülebilir olduğunu doğrular ancak çözülen token'ı hizmet ortamı meta verilerine kalıcı olarak yazmaz. +- Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılan token SecretRef'i çözümlenmemişse, kurulum güvenli şekilde başarısız olur. - Hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa ve `gateway.auth.mode` ayarlanmamışsa, mod açıkça ayarlanana kadar kurulum engellenir. -- macOS'ta `install`, LaunchAgent plist dosyalarını yalnızca sahip erişimli tutar ve API anahtarlarını veya auth-profile ortam başvurularını `EnvironmentVariables` içine serileştirmek yerine yönetilen hizmet ortamı değerlerini yalnızca sahip erişimli bir dosya ve sarmalayıcı üzerinden yükler. -- Tek bir ana makinede bilerek birden fazla gateway çalıştırıyorsanız, portları, yapılandırmayı/durumu ve çalışma alanlarını yalıtın; bkz. [/gateway#multiple-gateways-same-host](/tr/gateway#multiple-gateways-same-host). +- macOS'te `install`, LaunchAgent plist'lerini yalnızca sahip erişimli tutar ve API anahtarlarını veya auth-profile env ref'lerini `EnvironmentVariables` içine serileştirmek yerine yönetilen hizmet ortamı değerlerini yalnızca sahip erişimli bir dosya ve wrapper üzerinden yükler. +- Bir ana bilgisayarda kasıtlı olarak birden fazla gateway çalıştırıyorsanız portları, yapılandırmayı/durumu ve çalışma alanlarını izole edin; bkz. [/gateway#multiple-gateways-same-host](/tr/gateway#multiple-gateways-same-host). +- `restart --safe`, çalışan Gateway'den etkin işleri önceden kontrol etmesini ve etkin işler boşaldıktan sonra birleştirilmiş tek bir yeniden başlatma zamanlamasını ister. Düz `restart` mevcut hizmet yöneticisi davranışını korur; `--force` anında geçersiz kılma yolu olarak kalır. -## Tercih Edin +## Tercih edin Güncel dokümanlar ve örnekler için [`openclaw gateway`](/tr/cli/gateway) kullanın. ## İlgili - [CLI başvurusu](/tr/cli) -- [Gateway runbook](/tr/gateway) +- [Gateway runbook'u](/tr/gateway) diff --git a/docs/tr/cli/gateway.md b/docs/tr/cli/gateway.md index 33e1e2de2..8b55d4c9b 100644 --- a/docs/tr/cli/gateway.md +++ b/docs/tr/cli/gateway.md @@ -1,16 +1,16 @@ --- read_when: - - Gateway'i CLI'den çalıştırma (geliştirme veya sunucular) - - Gateway kimlik doğrulaması, bağlama modları ve bağlantıda hata ayıklama - - Gateway'leri Bonjour aracılığıyla keşfetme (yerel + geniş alan DNS-SD) + - Gateway’i CLI’den çalıştırma (geliştirme veya sunucular) + - Gateway kimlik doğrulamasında, bağlama modlarında ve bağlantıda hata ayıklama + - Bonjour ile Gateway'leri keşfetme (yerel + geniş alan DNS-SD) sidebarTitle: Gateway -summary: OpenClaw Gateway CLI (`openclaw gateway`) — Gateway'leri çalıştırın, sorgulayın ve keşfedin +summary: OpenClaw Gateway CLI (`openclaw gateway`) — Gateway'leri çalıştırma, sorgulama ve keşfetme title: Gateway x-i18n: - generated_at: "2026-05-02T22:17:35Z" + generated_at: "2026-05-04T18:23:48Z" model: gpt-5.5 provider: openai - source_hash: f7f948a8f0ee6e065afa02f354e690ad5cc4f71bdb8b8674f1b0396c439ab242 + source_hash: 310867c59148577f2e8ce6f708da6bce936e09243ce7fbe5daeb453c6b3b370d source_path: cli/gateway.md workflow: 16 --- @@ -18,39 +18,39 @@ x-i18n: The Gateway, OpenClaw'ın WebSocket sunucusudur (kanallar, düğümler, oturumlar, hook'lar). Bu sayfadaki alt komutlar `openclaw gateway …` altında bulunur. - + Yerel mDNS + geniş alan DNS-SD kurulumu. - - OpenClaw'ın gateway'leri nasıl duyurduğu ve bulduğu. + + OpenClaw'ın Gateway'leri nasıl duyurduğu ve bulduğu. - + Üst düzey gateway yapılandırma anahtarları. ## Gateway'i çalıştırma -Yerel bir Gateway işlemi çalıştırın: +Yerel bir Gateway süreci çalıştırın: ```bash openclaw gateway ``` -Ön plan takma adı: +Ön planda çalıştırma takma adı: ```bash openclaw gateway run ``` - - - Varsayılan olarak Gateway, `~/.openclaw/openclaw.json` içinde `gateway.mode=local` ayarlanmadıkça başlamayı reddeder. Geçici/geliştirme çalıştırmaları için `--allow-unconfigured` kullanın. - - `openclaw onboard --mode local` ve `openclaw setup` komutlarının `gateway.mode=local` yazması beklenir. Dosya varsa ancak `gateway.mode` eksikse, bunu örtük olarak yerel mod varsaymak yerine bozuk veya üzerine yazılmış bir yapılandırma olarak ele alın ve onarın. - - Dosya varsa ve `gateway.mode` eksikse Gateway bunu şüpheli yapılandırma hasarı olarak değerlendirir ve sizin için "yerel tahmini" yapmayı reddeder. - - Kimlik doğrulama olmadan loopback dışına bağlanma engellenir (güvenlik korkuluğu). - - `SIGUSR1`, yetkilendirildiğinde işlem içi yeniden başlatmayı tetikler (`commands.restart` varsayılan olarak etkindir; manuel yeniden başlatmayı engellemek için `commands.restart: false` ayarlayın, gateway aracı/yapılandırma apply/update işlemleri ise izinli kalır). - - `SIGINT`/`SIGTERM` işleyicileri gateway işlemini durdurur, ancak özel terminal durumunu geri yüklemez. CLI'ı bir TUI veya raw-mode girdiyle sarıyorsanız, çıkmadan önce terminali geri yükleyin. + + - Varsayılan olarak Gateway, `~/.openclaw/openclaw.json` içinde `gateway.mode=local` ayarlanmadıkça başlatılmayı reddeder. Geçici/geliştirme çalıştırmaları için `--allow-unconfigured` kullanın. + - `openclaw onboard --mode local` ve `openclaw setup` komutlarının `gateway.mode=local` yazması beklenir. Dosya varsa ancak `gateway.mode` eksikse, bunu yerel modu örtük olarak varsaymak yerine bozuk veya üzerine yazılmış bir yapılandırma olarak değerlendirin ve onarın. + - Dosya varsa ve `gateway.mode` eksikse, Gateway bunu şüpheli yapılandırma hasarı olarak değerlendirir ve sizin için "yereli tahmin etmeyi" reddeder. + - Kimlik doğrulama olmadan loopback dışına bağlanma engellenir (güvenlik koruması). + - Yetkilendirildiğinde `SIGUSR1` süreç içinde yeniden başlatmayı tetikler (`commands.restart` varsayılan olarak etkindir; manuel yeniden başlatmayı engellemek için `commands.restart: false` ayarlayın, gateway aracı/yapılandırma apply/update işlemleri izinli kalır). + - `SIGINT`/`SIGTERM` işleyicileri gateway sürecini durdurur, ancak özel terminal durumunu geri yüklemezler. CLI'yi bir TUI veya raw-mode girişle sarmalıyorsanız, çıkmadan önce terminali geri yükleyin. @@ -58,16 +58,16 @@ openclaw gateway run ### Seçenekler - WebSocket portu (varsayılan config/env'den gelir; genellikle `18789`). + WebSocket portu (varsayılan yapılandırmadan/env'den gelir; genellikle `18789`). - Dinleyici bind modu. + Dinleyici bağlama modu. Kimlik doğrulama modu geçersiz kılması. - Token geçersiz kılması (işlem için `OPENCLAW_GATEWAY_TOKEN` da ayarlar). + Token geçersiz kılması (süreç için `OPENCLAW_GATEWAY_TOKEN` da ayarlar). Parola geçersiz kılması. @@ -76,13 +76,13 @@ openclaw gateway run Gateway parolasını bir dosyadan okuyun. - Gateway'i Tailscale üzerinden açığa çıkarın. + Gateway'i Tailscale üzerinden dışa açın. Kapanışta Tailscale serve/funnel yapılandırmasını sıfırlayın. - Yapılandırmada `gateway.mode=local` olmadan gateway başlatmaya izin verin. Yalnızca geçici/geliştirme bootstrap için başlatma korumasını atlar; yapılandırma dosyasını yazmaz veya onarmaz. + Yapılandırmada `gateway.mode=local` olmadan gateway başlatmaya izin verin. Başlatma korumasını yalnızca geçici/geliştirme bootstrap için atlar; yapılandırma dosyasını yazmaz veya onarmaz. Eksikse geliştirme yapılandırması + çalışma alanı oluşturun (`BOOTSTRAP.md` atlanır). @@ -91,13 +91,13 @@ openclaw gateway run Geliştirme yapılandırmasını + kimlik bilgilerini + oturumları + çalışma alanını sıfırlayın (`--dev` gerektirir). - Başlamadan önce seçilen porttaki mevcut dinleyiciyi sonlandırın. + Başlamadan önce seçilen porttaki mevcut dinleyicileri sonlandırın. Ayrıntılı günlükler. - Konsolda yalnızca CLI backend günlüklerini göster (ve stdout/stderr'yi etkinleştir). + Konsolda yalnızca CLI backend günlüklerini gösterin (ve stdout/stderr'i etkinleştirin). Websocket günlük stili. @@ -106,45 +106,55 @@ openclaw gateway run `--ws-log compact` için takma ad. - Ham model akış olaylarını jsonl'ye günlüğe kaydet. + Ham model akışı olaylarını jsonl'ye günlüğe yazın. Ham akış jsonl yolu. +## Gateway'i yeniden başlatma + +```bash +openclaw gateway restart +openclaw gateway restart --safe +openclaw gateway restart --force +``` + +`openclaw gateway restart --safe`, çalışan Gateway'den yeniden başlatmadan önce etkin OpenClaw işlerini ön kontrolden geçirmesini ister. Kuyruktaki işlemler, yanıt teslimi, gömülü çalıştırmalar veya görev çalıştırmaları etkinse Gateway engelleyicileri bildirir, yinelenen güvenli yeniden başlatma isteklerini birleştirir ve etkin iş boşaldıktan sonra yeniden başlatır. Düz `restart`, uyumluluk için mevcut servis yöneticisi davranışını korur. `--force` yalnızca açıkça anlık geçersiz kılma yolunu istediğinizde kullanın. + -Satır içi `--password`, yerel işlem listelerinde açığa çıkabilir. `--password-file`, env veya SecretRef destekli `gateway.auth.password` tercih edin. +Satır içi `--password`, yerel süreç listelerinde açığa çıkabilir. `--password-file`, env veya SecretRef destekli `gateway.auth.password` tercih edin. ### Başlatma profilleme -- Gateway başlatılırken aşama sürelerini günlüğe kaydetmek için `OPENCLAW_GATEWAY_STARTUP_TRACE=1` ayarlayın; buna her aşama için `eventLoopMax` gecikmesi ve installed-index, manifest registry, başlatma planlama ve owner-map çalışması için plugin arama tablosu süreleri dahildir. -- Harici QA koşumları için best-effort JSONL başlatma tanılama zaman çizelgesi yazmak üzere `OPENCLAW_DIAGNOSTICS=timeline` değerini `OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=` ile ayarlayın. Bayrağı yapılandırmada `diagnostics.flags: ["timeline"]` ile de etkinleştirebilirsiniz; yol yine env üzerinden sağlanır. Event-loop örneklerini dahil etmek için `OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1` ekleyin. -- Gateway başlatmasını benchmark etmek için `pnpm test:startup:gateway -- --runs 5 --warmup 1` çalıştırın. Benchmark ilk işlem çıktısını, `/healthz`, `/readyz`, başlatma trace sürelerini, event-loop gecikmesini ve plugin arama tablosu zamanlama ayrıntılarını kaydeder. +- Gateway başlatması sırasında faz zamanlamalarını günlüğe yazmak için `OPENCLAW_GATEWAY_STARTUP_TRACE=1` ayarlayın; buna faz başına `eventLoopMax` gecikmesi ve kurulu dizin, manifest kayıt defteri, başlatma planlaması ve owner-map işleri için plugin arama tablosu zamanlamaları dahildir. +- Harici QA düzenekleri için en iyi çaba JSONL başlatma tanılama zaman çizelgesi yazmak üzere `OPENCLAW_DIAGNOSTICS_TIMELINE_PATH=` ile `OPENCLAW_DIAGNOSTICS=timeline` ayarlayın. Bayrağı yapılandırmada `diagnostics.flags: ["timeline"]` ile de etkinleştirebilirsiniz; yol yine env tarafından sağlanır. Olay döngüsü örneklerini dahil etmek için `OPENCLAW_DIAGNOSTICS_EVENT_LOOP=1` ekleyin. +- Gateway başlatmasını karşılaştırmalı ölçmek için `pnpm test:startup:gateway -- --runs 5 --warmup 1` çalıştırın. Karşılaştırmalı ölçüm ilk süreç çıktısını, `/healthz`, `/readyz`, başlatma izleme zamanlamalarını, olay döngüsü gecikmesini ve plugin arama tablosu zamanlama ayrıntılarını kaydeder. ## Çalışan bir Gateway'i sorgulama Tüm sorgu komutları WebSocket RPC kullanır. - + - Varsayılan: insan tarafından okunabilir (TTY'de renkli). - `--json`: makine tarafından okunabilir JSON (stil/spinner yok). - - `--no-color` (veya `NO_COLOR=1`): insan düzenini korurken ANSI'yi devre dışı bırakır. + - `--no-color` (veya `NO_COLOR=1`): insan düzenini korurken ANSI'yi devre dışı bırakın. - + - `--url `: Gateway WebSocket URL'si. - `--token `: Gateway token'ı. - `--password `: Gateway parolası. - `--timeout `: zaman aşımı/bütçe (komuta göre değişir). - - `--expect-final`: "final" yanıtını bekle (ajan çağrıları). + - `--expect-final`: "final" yanıtı bekleyin (agent çağrıları). -`--url` ayarladığınızda CLI, yapılandırma veya ortam kimlik bilgilerine geri dönmez. `--token` veya `--password` değerini açıkça geçirin. Açık kimlik bilgilerinin eksik olması bir hatadır. +`--url` ayarladığınızda CLI, yapılandırma veya ortam kimlik bilgilerine geri dönmez. `--token` veya `--password` açıkça iletin. Açık kimlik bilgilerinin eksik olması hatadır. ### `gateway health` @@ -153,11 +163,11 @@ Tüm sorgu komutları WebSocket RPC kullanır. openclaw gateway health --url ws://127.0.0.1:18789 ``` -HTTP `/healthz` endpoint'i bir liveness probe'dur: sunucu HTTP'ye yanıt verebildiğinde döner. HTTP `/readyz` endpoint'i daha katıdır ve başlatma plugin sidecar'ları, kanallar veya yapılandırılmış hook'lar hâlâ yerleşirken kırmızı kalır. Yerel veya kimliği doğrulanmış ayrıntılı readiness yanıtları, event-loop gecikmesi, event-loop kullanımı, CPU çekirdek oranı ve `degraded` bayrağı içeren bir `eventLoop` tanılama bloğu içerir. +HTTP `/healthz` uç noktası bir canlılık probudur: sunucu HTTP'ye yanıt verebildiğinde döner. HTTP `/readyz` uç noktası daha katıdır ve başlatma plugin sidecar'ları, kanallar veya yapılandırılmış hook'lar hâlâ yerleşirken kırmızı kalır. Yerel veya kimliği doğrulanmış ayrıntılı hazır olma yanıtları, olay döngüsü gecikmesi, olay döngüsü kullanımı, CPU çekirdek oranı ve `degraded` bayrağı içeren bir `eventLoop` tanılama bloğu içerir. ### `gateway usage-cost` -Oturum günlüklerinden kullanım maliyeti özetlerini getirir. +Oturum günlüklerinden kullanım maliyeti özetlerini alın. ```bash openclaw gateway usage-cost @@ -171,7 +181,7 @@ openclaw gateway usage-cost --json ### `gateway stability` -Çalışan bir Gateway'den son tanılama kararlılık kaydedicisini getirir. +Çalışan bir Gateway'den son tanılama kararlılık kaydedicisini alın. ```bash openclaw gateway stability @@ -182,16 +192,16 @@ openclaw gateway stability --json ``` - Dahil edilecek en fazla son olay sayısı (maksimum `1000`). + Dahil edilecek son olayların en fazla sayısı (maks. `1000`). - `payload.large` veya `diagnostic.memory.pressure` gibi tanılama olay türüne göre filtrele. + `payload.large` veya `diagnostic.memory.pressure` gibi tanılama olay türüne göre filtreleyin. - Yalnızca bir tanılama sıra numarasından sonraki olayları dahil et. + Yalnızca bir tanılama sıra numarasından sonraki olayları dahil edin. - Çalışan Gateway'i çağırmak yerine kalıcı bir kararlılık paketini okuyun. Durum dizini altındaki en yeni paket için `--bundle latest` (veya yalnızca `--bundle`) kullanın ya da doğrudan bir paket JSON yolu geçirin. + Çalışan Gateway'i çağırmak yerine kalıcı bir kararlılık paketini okuyun. Durum dizini altındaki en yeni paket için `--bundle latest` (veya yalnızca `--bundle`) kullanın ya da doğrudan bir paket JSON yolu iletin. Kararlılık ayrıntılarını yazdırmak yerine paylaşılabilir bir destek tanılama zip'i yazın. @@ -201,16 +211,16 @@ openclaw gateway stability --json - - - Kayıtlar operasyonel metadata tutar: olay adları, sayımlar, byte boyutları, bellek okumaları, kuyruk/oturum durumu, kanal/plugin adları ve redakte edilmiş oturum özetleri. Sohbet metni, webhook gövdeleri, araç çıktıları, ham istek veya yanıt gövdeleri, token'lar, çerezler, gizli değerler, hostname'ler veya ham oturum kimlikleri tutmazlar. Kaydediciyi tamamen devre dışı bırakmak için `diagnostics.enabled: false` ayarlayın. - - Ölümcül Gateway çıkışlarında, kapanış zaman aşımlarında ve yeniden başlatma başlangıç hatalarında OpenClaw, kaydedicide olaylar olduğunda aynı tanılama anlık görüntüsünü `~/.openclaw/logs/stability/openclaw-stability-*.json` konumuna yazar. En yeni paketi `openclaw gateway stability --bundle latest` ile inceleyin; `--limit`, `--type` ve `--since-seq` de paket çıktısına uygulanır. + + - Kayıtlar operasyonel meta verileri saklar: olay adları, sayılar, bayt boyutları, bellek okumaları, kuyruk/oturum durumu, kanal/plugin adları ve redakte edilmiş oturum özetleri. Sohbet metnini, webhook gövdelerini, araç çıktılarını, ham istek veya yanıt gövdelerini, token'ları, çerezleri, gizli değerleri, host adlarını veya ham oturum kimliklerini saklamazlar. Kaydediciyi tamamen devre dışı bırakmak için `diagnostics.enabled: false` ayarlayın. + - Ölümcül Gateway çıkışlarında, kapanma zaman aşımlarında ve yeniden başlatma başlatma hatalarında, kaydedicide olaylar varsa OpenClaw aynı tanılama anlık görüntüsünü `~/.openclaw/logs/stability/openclaw-stability-*.json` konumuna yazar. En yeni paketi `openclaw gateway stability --bundle latest` ile inceleyin; `--limit`, `--type` ve `--since-seq` paket çıktısına da uygulanır. ### `gateway diagnostics export` -Hata raporlarına eklenmek üzere tasarlanmış yerel bir tanılama zip'i yazın. Gizlilik modeli ve paket içeriği için [Tanılama Dışa Aktarımı](/tr/gateway/diagnostics) bölümüne bakın. +Hata raporlarına eklenmek üzere tasarlanmış yerel bir tanılama zip'i yazın. Gizlilik modeli ve paket içerikleri için [Diagnostics Export](/tr/gateway/diagnostics) bölümüne bakın. ```bash openclaw gateway diagnostics export @@ -219,13 +229,13 @@ openclaw gateway diagnostics export --json ``` - Çıktı zip yolu. Varsayılan olarak durum dizini altında bir destek dışa aktarımı kullanılır. + Çıktı zip yolu. Varsayılan olarak durum dizini altında bir destek dışa aktarımıdır. - Dahil edilecek en fazla sanitize edilmiş günlük satırı. + Dahil edilecek en fazla temizlenmiş günlük satırı. - İncelenecek en fazla günlük byte'ı. + İncelenecek en fazla günlük baytı. Sağlık anlık görüntüsü için Gateway WebSocket URL'si. @@ -240,19 +250,19 @@ openclaw gateway diagnostics export --json Durum/sağlık anlık görüntüsü zaman aşımı. - Kalıcı kararlılık paketi aramasını atla. + Kalıcı kararlılık paketi aramasını atlayın. - Yazılan yolu, boyutu ve manifesti JSON olarak yazdır. + Yazılan yolu, boyutu ve manifest'i JSON olarak yazdırın. -Dışa aktarım bir manifest, Markdown özeti, yapılandırma şekli, sanitize edilmiş yapılandırma ayrıntıları, sanitize edilmiş günlük özetleri, sanitize edilmiş Gateway durum/sağlık anlık görüntüleri ve varsa en yeni kararlılık paketini içerir. +Dışa aktarım bir manifest, Markdown özeti, yapılandırma şekli, temizlenmiş yapılandırma ayrıntıları, temizlenmiş günlük özetleri, temizlenmiş Gateway durum/sağlık anlık görüntüleri ve varsa en yeni kararlılık paketini içerir. -Paylaşılmak için tasarlanmıştır. Hata ayıklamaya yardımcı olan güvenli OpenClaw günlük alanları, alt sistem adları, durum kodları, süreler, yapılandırılmış modlar, portlar, plugin kimlikleri, provider kimlikleri, gizli olmayan özellik ayarları ve redakte edilmiş operasyonel günlük mesajları gibi operasyonel ayrıntıları tutar. Sohbet metni, webhook gövdeleri, araç çıktıları, kimlik bilgileri, çerezler, hesap/mesaj tanımlayıcıları, prompt/talimat metni, hostname'ler ve gizli değerleri çıkarır veya redakte eder. LogTape tarzı bir mesaj kullanıcı/sohbet/araç payload metni gibi göründüğünde dışa aktarım yalnızca bir mesajın çıkarıldığını ve byte sayısını tutar. +Paylaşılmak üzere tasarlanmıştır. Hata ayıklamaya yardımcı olan güvenli OpenClaw günlük alanları, alt sistem adları, durum kodları, süreler, yapılandırılmış modlar, portlar, plugin kimlikleri, provider kimlikleri, gizli olmayan özellik ayarları ve redakte edilmiş operasyonel günlük mesajları gibi operasyonel ayrıntıları korur. Sohbet metnini, webhook gövdelerini, araç çıktılarını, kimlik bilgilerini, çerezleri, hesap/mesaj tanımlayıcılarını, prompt/talimat metnini, host adlarını ve gizli değerleri atlar veya redakte eder. LogTape tarzı bir mesaj kullanıcı/sohbet/araç yük metni gibi göründüğünde dışa aktarım yalnızca bir mesajın atlandığı bilgisini ve bayt sayısını tutar. ### `gateway status` -`gateway status`, Gateway hizmetini (launchd/systemd/schtasks) ve isteğe bağlı bağlantı/kimlik doğrulama yeteneği probe'unu gösterir. +`gateway status`, Gateway servisini (launchd/systemd/schtasks) ve isteğe bağlı olarak bağlantı/kimlik doğrulama yeteneği probunu gösterir. ```bash openclaw gateway status @@ -261,63 +271,63 @@ openclaw gateway status --require-rpc ``` - Açık bir probe hedefi ekleyin. Yapılandırılmış remote + localhost yine de probe edilir. + Açık bir yoklama hedefi ekleyin. Yapılandırılmış uzak + localhost yine de yoklanır. - Probe için token kimlik doğrulaması. + Yoklama için token kimlik doğrulaması. - Probe için parola kimlik doğrulaması. + Yoklama için parola kimlik doğrulaması. - Probe zaman aşımı. + Yoklama zaman aşımı. - Bağlantı probe'unu atla (yalnızca hizmet görünümü). + Bağlantı yoklamasını atla (yalnızca hizmet görünümü). Sistem düzeyi hizmetleri de tara. - Varsayılan bağlantı probe'unu bir okuma probe'una yükseltir ve bu okuma probe'u başarısız olduğunda sıfır olmayan kodla çıkar. `--no-probe` ile birleştirilemez. + Varsayılan bağlantı yoklamasını bir okuma yoklamasına yükselt ve bu okuma yoklaması başarısız olduğunda sıfır olmayan kodla çık. `--no-probe` ile birlikte kullanılamaz. - `gateway status`, yerel CLI yapılandırması eksik veya geçersiz olsa bile tanılama için kullanılabilir kalır. - - Varsayılan `gateway status`, hizmet durumunu, WebSocket bağlantısını ve el sıkışma sırasında görünen kimlik doğrulama yetkinliğini kanıtlar. Okuma/yazma/yönetici işlemlerini kanıtlamaz. - - Tanılama probları, ilk kez cihaz kimlik doğrulaması için değişiklik yapmaz: varsa mevcut önbelleğe alınmış cihaz belirtecini yeniden kullanır, ancak yalnızca durumu denetlemek için yeni bir CLI cihaz kimliği veya salt okunur cihaz eşleştirme kaydı oluşturmaz. - - `gateway status`, mümkün olduğunda prob kimlik doğrulaması için yapılandırılmış kimlik doğrulama SecretRef'lerini çözümler. - - Bu komut yolunda gerekli bir kimlik doğrulama SecretRef'i çözümlenmemişse, prob bağlantısı/kimlik doğrulaması başarısız olduğunda `gateway status --json` `rpc.authWarning` bildirir; `--token`/`--password` değerini açıkça geçirin veya önce secret kaynağını çözümleyin. - - Prob başarılı olursa, yanlış pozitifleri önlemek için çözümlenmemiş auth-ref uyarıları bastırılır. + - Varsayılan `gateway status`, hizmet durumunu, WebSocket bağlantısını ve el sıkışma anında görünen kimlik doğrulama yetkinliğini kanıtlar. Okuma/yazma/yönetici işlemlerini kanıtlamaz. + - Tanılama yoklamaları, ilk kez cihaz kimlik doğrulaması için mutasyon yapmaz: varsa mevcut önbelleğe alınmış cihaz token'ını yeniden kullanır, ancak yalnızca durumu denetlemek için yeni bir CLI cihaz kimliği veya salt okunur cihaz eşleştirme kaydı oluşturmaz. + - `gateway status`, mümkün olduğunda yoklama kimlik doğrulaması için yapılandırılmış kimlik doğrulama SecretRef'lerini çözer. + - Gerekli bir kimlik doğrulama SecretRef'i bu komut yolunda çözülemezse, yoklama bağlantısı/kimlik doğrulaması başarısız olduğunda `gateway status --json` `rpc.authWarning` bildirir; `--token`/`--password` değerini açıkça geçin veya önce gizli kaynak kaynağını çözün. + - Yoklama başarılı olursa, yanlış pozitifleri önlemek için çözülemeyen auth-ref uyarıları bastırılır. - Dinleyen bir hizmet yeterli olmadığında ve okuma kapsamlı RPC çağrılarının da sağlıklı olması gerektiğinde betiklerde ve otomasyonda `--require-rpc` kullanın. - - `--deep`, ek launchd/systemd/schtasks kurulumları için en iyi çaba taraması ekler. Birden fazla gateway benzeri hizmet algılandığında, insan çıktısı temizlik ipuçları yazdırır ve çoğu kurulumun makine başına bir Gateway çalıştırması gerektiği konusunda uyarır. - - İnsan çıktısı, profil veya state-dir kaymasını tanılamaya yardımcı olmak için çözümlenen dosya günlük yolunu ve CLI-hizmet yapılandırma yolları/geçerlilik anlık görüntüsünü içerir. + - `--deep`, ek launchd/systemd/schtasks kurulumları için en iyi çaba taraması ekler. Birden çok Gateway benzeri hizmet algılandığında, insan çıktısı temizleme ipuçları yazdırır ve çoğu kurulumun makine başına bir Gateway çalıştırması gerektiği konusunda uyarır. + - İnsan çıktısı, profil veya state-dir sapmasını tanılamaya yardımcı olmak için çözümlenen dosya günlük yolu ile CLI ve hizmet yapılandırma yolları/geçerlilik anlık görüntüsünü içerir. - - - Linux systemd kurulumlarında, hizmet kimlik doğrulama kayması denetimleri birimden hem `Environment=` hem de `EnvironmentFile=` değerlerini okur (`%h`, tırnaklı yollar, birden çok dosya ve isteğe bağlı `-` dosyaları dahil). - - Kayma denetimleri, `gateway.auth.token` SecretRef'lerini birleştirilmiş çalışma zamanı env ile çözümler (önce hizmet komutu env, ardından süreç env geri dönüşü). - - Token kimlik doğrulaması etkin olarak aktif değilse (`password`/`none`/`trusted-proxy` şeklinde açık `gateway.auth.mode` veya parolanın kazanabildiği ve hiçbir token adayının kazanamadığı ayarlanmamış mod), token kayması denetimleri yapılandırma token çözümlemesini atlar. + + - Linux systemd kurulumlarında, hizmet kimlik doğrulama sapması denetimleri birimden hem `Environment=` hem de `EnvironmentFile=` değerlerini okur (`%h`, tırnaklı yollar, birden çok dosya ve isteğe bağlı `-` dosyaları dahil). + - Sapma denetimleri, birleştirilmiş çalışma zamanı env kullanarak `gateway.auth.token` SecretRef'lerini çözer (önce hizmet komutu env, sonra süreç env yedeği). + - Token kimlik doğrulaması etkin şekilde aktif değilse (açık `gateway.auth.mode` değeri `password`/`none`/`trusted-proxy` ise ya da mod ayarlanmamış, parolanın kazanabileceği ve hiçbir token adayının kazanamayacağı durumdaysa), token sapması denetimleri yapılandırma token çözümünü atlar. ### `gateway probe` -`gateway probe`, "her şeyde hata ayıkla" komutudur. Her zaman şunları problar: +`gateway probe`, "her şeyin hatasını ayıkla" komutudur. Her zaman şunları yoklar: -- yapılandırılmış uzak Gateway'inizi (ayarlanmışsa) ve -- localhost (loopback) **uzak yapılandırılmış olsa bile**. +- yapılandırılmış uzak gateway'iniz (ayarlanmışsa) ve +- uzak yapılandırılmış olsa bile localhost (loopback). -`--url` geçirirseniz, bu açık hedef her ikisinden önce eklenir. İnsan çıktısı hedefleri şöyle etiketler: +`--url` geçirirseniz, bu açık hedef ikisinin önüne eklenir. İnsan çıktısı hedefleri şöyle etiketler: - `URL (explicit)` - `Remote (configured)` veya `Remote (configured, inactive)` - `Local loopback` -Birden fazla Gateway erişilebilirse, hepsini yazdırır. Yalıtılmış profiller/portlar kullandığınızda (ör. kurtarma botu) birden fazla Gateway desteklenir, ancak çoğu kurulum yine de tek bir Gateway çalıştırır. +Birden çok gateway erişilebilir durumdaysa, hepsini yazdırır. Yalıtılmış profiller/bağlantı noktaları kullandığınızda (ör. bir kurtarma botu) birden çok gateway desteklenir, ancak çoğu kurulum yine de tek bir gateway çalıştırır. ```bash @@ -328,50 +338,50 @@ openclaw gateway probe --json - `Reachable: yes`, en az bir hedefin WebSocket bağlantısını kabul ettiği anlamına gelir. - - `Capability: read-only|write-capable|admin-capable|pairing-pending|connect-only`, probun kimlik doğrulama hakkında neyi kanıtlayabildiğini bildirir. Erişilebilirlikten ayrıdır. + - `Capability: read-only|write-capable|admin-capable|pairing-pending|connect-only`, yoklamanın kimlik doğrulama hakkında neyi kanıtlayabildiğini bildirir. Erişilebilirlikten ayrıdır. - `Read probe: ok`, okuma kapsamlı ayrıntı RPC çağrılarının (`health`/`status`/`system-presence`/`config.get`) da başarılı olduğu anlamına gelir. - - `Read probe: limited - missing scope: operator.read`, bağlantının başarılı olduğunu ancak okuma kapsamlı RPC'nin sınırlı olduğunu belirtir. Bu, tam hata değil, **bozulmuş** erişilebilirlik olarak bildirilir. - - `Connect: ok` sonrasında `Read probe: failed`, Gateway'in WebSocket bağlantısını kabul ettiği, ancak sonraki okuma tanılamalarının zaman aşımına uğradığı veya başarısız olduğu anlamına gelir. Bu da erişilemeyen bir Gateway değil, **bozulmuş** erişilebilirliktir. + - `Read probe: limited - missing scope: operator.read`, bağlantının başarılı olduğunu ancak okuma kapsamlı RPC'nin sınırlı olduğunu belirtir. Bu, tam hata değil **bozulmuş** erişilebilirlik olarak bildirilir. + - `Connect: ok` sonrasında `Read probe: failed`, Gateway'in WebSocket bağlantısını kabul ettiği, ancak takip eden okuma tanılamalarının zaman aşımına uğradığı veya başarısız olduğu anlamına gelir. Bu da erişilemeyen bir Gateway değil, **bozulmuş** erişilebilirliktir. - `gateway status` gibi, probe mevcut önbelleğe alınmış cihaz kimlik doğrulamasını yeniden kullanır ancak ilk kez cihaz kimliği veya eşleştirme durumu oluşturmaz. - - Çıkış kodu yalnızca problanan hiçbir hedef erişilebilir olmadığında sıfır olmayan değerdedir. + - Çıkış kodu yalnızca yoklanan hiçbir hedef erişilebilir değilse sıfırdan farklıdır. - Üst seviye: + Üst düzey: - `ok`: en az bir hedef erişilebilir. - - `degraded`: en az bir hedef bağlantı kabul etti ancak tam ayrıntı RPC tanılamalarını tamamlamadı. - - `capability`: erişilebilir hedefler genelinde görülen en iyi yetkinlik (`read_only`, `write_capable`, `admin_capable`, `pairing_pending`, `connected_no_operator_scope` veya `unknown`). - - `primaryTargetId`: bu sırayla aktif kazanan olarak ele alınacak en iyi hedef: açık URL, SSH tüneli, yapılandırılmış uzak, ardından local loopback. + - `degraded`: en az bir hedef bağlantıyı kabul etti ancak tam ayrıntı RPC tanılamalarını tamamlamadı. + - `capability`: erişilebilir hedeflerde görülen en iyi yetkinlik (`read_only`, `write_capable`, `admin_capable`, `pairing_pending`, `connected_no_operator_scope` veya `unknown`). + - `primaryTargetId`: şu sırayla etkin kazanan olarak ele alınacak en iyi hedef: açık URL, SSH tüneli, yapılandırılmış uzak ve ardından local loopback. - `warnings[]`: `code`, `message` ve isteğe bağlı `targetIds` içeren en iyi çaba uyarı kayıtları. - `network`: geçerli yapılandırmadan ve ana makine ağından türetilen local loopback/tailnet URL ipuçları. - - `discovery.timeoutMs` ve `discovery.count`: bu probe geçişi için kullanılan gerçek keşif bütçesi/sonuç sayısı. + - `discovery.timeoutMs` ve `discovery.count`: bu yoklama geçişi için kullanılan gerçek keşif bütçesi/sonuç sayısı. Hedef başına (`targets[].connect`): - `ok`: bağlantı + bozulmuş sınıflandırma sonrası erişilebilirlik. - `rpcOk`: tam ayrıntı RPC başarısı. - - `scopeLimited`: ayrıntı RPC, eksik operator kapsamı nedeniyle başarısız oldu. + - `scopeLimited`: ayrıntı RPC, eksik operatör kapsamı nedeniyle başarısız oldu. Hedef başına (`targets[].auth`): - - `role`: mevcut olduğunda `hello-ok` içinde bildirilen kimlik doğrulama rolü. - - `scopes`: mevcut olduğunda `hello-ok` içinde bildirilen verilmiş kapsamlar. - - `capability`: bu hedef için yüzeye çıkarılan kimlik doğrulama yetkinliği sınıflandırması. + - `role`: varsa `hello-ok` içinde bildirilen kimlik doğrulama rolü. + - `scopes`: varsa `hello-ok` içinde bildirilen verilmiş kapsamlar. + - `capability`: o hedef için yüzeye çıkarılan kimlik doğrulama yetkinliği sınıflandırması. - - `ssh_tunnel_failed`: SSH tüneli kurulumu başarısız oldu; komut doğrudan problara geri döndü. - - `multiple_gateways`: birden fazla hedef erişilebilirdi; kurtarma botu gibi yalıtılmış profilleri kasıtlı olarak çalıştırmıyorsanız bu olağan dışıdır. - - `auth_secretref_unresolved`: yapılandırılmış bir kimlik doğrulama SecretRef'i başarısız bir hedef için çözümlenemedi. - - `probe_scope_limited`: WebSocket bağlantısı başarılı oldu, ancak okuma probu eksik `operator.read` nedeniyle sınırlandı. + - `ssh_tunnel_failed`: SSH tüneli kurulumu başarısız oldu; komut doğrudan yoklamalara geri döndü. + - `multiple_gateways`: birden fazla hedef erişilebilirdi; kurtarma botu gibi yalıtılmış profilleri bilerek çalıştırmıyorsanız bu olağan dışıdır. + - `auth_secretref_unresolved`: yapılandırılmış bir kimlik doğrulama SecretRef'i başarısız bir hedef için çözülemedi. + - `probe_scope_limited`: WebSocket bağlantısı başarılı oldu, ancak okuma yoklaması eksik `operator.read` nedeniyle sınırlı kaldı. -#### SSH üzerinden uzak (Mac uygulaması eşdeğeri) +#### SSH üzerinden uzak (Mac uygulaması eşliği) -macOS uygulamasının "Remote over SSH" modu, uzak Gateway'in (yalnızca loopback'e bağlı olabilir) `ws://127.0.0.1:` üzerinde erişilebilir olmasını sağlamak için yerel port yönlendirme kullanır. +macOS uygulamasının "SSH üzerinden uzak" modu, uzak gateway'in (yalnızca loopback'e bağlanmış olabilir) `ws://127.0.0.1:` adresinde erişilebilir hale gelmesi için yerel bir port yönlendirme kullanır. CLI eşdeğeri: @@ -380,13 +390,13 @@ openclaw gateway probe --ssh user@gateway-host ``` - `user@host` veya `user@host:port` (port varsayılanı `22`). + `user@host` veya `user@host:port` (port varsayılan olarak `22`). Kimlik dosyası. - Çözümlenen keşif uç noktasından (`local.` artı yapılandırılmış geniş alan alan adı, varsa) ilk keşfedilen Gateway ana makinesini SSH hedefi olarak seçer. Yalnızca TXT ipuçları yok sayılır. + Çözümlenen keşif uç noktasından (`local.` artı varsa yapılandırılmış geniş alan etki alanı) ilk keşfedilen gateway ana makinesini SSH hedefi olarak seç. Yalnızca TXT ipuçları yok sayılır. Yapılandırma (isteğe bağlı, varsayılan olarak kullanılır): @@ -396,7 +406,7 @@ Yapılandırma (isteğe bağlı, varsayılan olarak kullanılır): ### `gateway call ` -Düşük seviyeli RPC yardımcısı. +Düşük düzey RPC yardımcısı. ```bash openclaw gateway call status @@ -404,7 +414,7 @@ openclaw gateway call logs.tail --params '{"sinceMs": 60000}' ``` - Params için JSON nesnesi dizesi. + Parametreler için JSON nesnesi dizesi. Gateway WebSocket URL'si. @@ -419,7 +429,7 @@ openclaw gateway call logs.tail --params '{"sinceMs": 60000}' Zaman aşımı bütçesi. - Temel olarak son yükten önce ara olayları akış olarak gönderen agent tarzı RPC'ler içindir. + Temelde son yükten önce ara olaylar akıtan ajan tarzı RPC'ler içindir. Makine tarafından okunabilir JSON çıktısı. @@ -439,10 +449,10 @@ openclaw gateway restart openclaw gateway uninstall ``` -### Bir wrapper ile yükleme +### Bir sarmalayıcı ile kurun Yönetilen hizmetin başka bir yürütülebilir dosya üzerinden başlaması gerektiğinde `--wrapper` kullanın; örneğin bir -secrets manager shim'i veya run-as yardımcısı. Wrapper normal Gateway argümanlarını alır ve +gizli yöneticisi shim'i veya run-as yardımcısı. Sarmalayıcı normal Gateway argümanlarını alır ve sonunda bu argümanlarla `openclaw` veya Node'u exec etmekten sorumludur. ```bash @@ -457,16 +467,16 @@ openclaw gateway install --wrapper ~/.local/bin/openclaw-doppler --force openclaw gateway restart ``` -Wrapper'ı ortam üzerinden de ayarlayabilirsiniz. `gateway install`, yolun yürütülebilir bir dosya olduğunu doğrular, -wrapper'ı hizmet `ProgramArguments` içine yazar ve sonraki zorunlu yeniden yüklemeler, güncellemeler ve doctor -onarımları için hizmet ortamında `OPENCLAW_WRAPPER` değerini kalıcı hale getirir. +Sarmalayıcıyı ortam üzerinden de ayarlayabilirsiniz. `gateway install`, yolun +yürütülebilir bir dosya olduğunu doğrular, sarmalayıcıyı hizmet `ProgramArguments` içine yazar ve daha sonraki zorunlu yeniden kurulumlar, güncellemeler ve doctor +onarımları için `OPENCLAW_WRAPPER` değerini hizmet ortamında kalıcı hale getirir. ```bash OPENCLAW_WRAPPER="$HOME/.local/bin/openclaw-doppler" openclaw gateway install --force openclaw doctor ``` -Kalıcı bir wrapper'ı kaldırmak için yeniden yüklerken `OPENCLAW_WRAPPER` değerini temizleyin: +Kalıcı hale getirilmiş bir sarmalayıcıyı kaldırmak için yeniden kurarken `OPENCLAW_WRAPPER` değerini temizleyin: ```bash OPENCLAW_WRAPPER= openclaw gateway install --force @@ -482,40 +492,40 @@ openclaw gateway restart - - Yönetilen bir hizmeti yeniden başlatmak için `gateway restart` kullanın. Yeniden başlatma yerine `gateway stop` ve `gateway start` komutlarını zincirlemeyin; macOS'ta `gateway stop`, durdurmadan önce LaunchAgent'ı kasıtlı olarak devre dışı bırakır. - - `gateway restart --wait 30s`, o yeniden başlatma için yapılandırılmış yeniden başlatma drain bütçesini geçersiz kılar. Çıplak sayılar milisaniyedir; `s`, `m` ve `h` gibi birimler kabul edilir. `--wait 0` süresiz bekler. - - `gateway restart --force`, aktif çalışma drain'ini atlar ve hemen yeniden başlatır. Bir operatör listelenen görev engelleyicilerini zaten incelediğinde ve Gateway'i hemen geri istediğinde kullanın. + - Yönetilen bir hizmeti yeniden başlatmak için `gateway restart` kullanın. `gateway stop` ve `gateway start` komutlarını yeniden başlatma yerine zincirlemeyin; macOS'ta `gateway stop`, durdurmadan önce LaunchAgent'ı kasıtlı olarak devre dışı bırakır. + - `gateway restart --wait 30s`, o yeniden başlatma için yapılandırılmış yeniden başlatma boşaltma bütçesini geçersiz kılar. Yalın sayılar milisaniyedir; `s`, `m` ve `h` gibi birimler kabul edilir. `--wait 0` süresiz bekler. + - `gateway restart --force`, etkin iş boşaltmasını atlar ve hemen yeniden başlatır. Bir operatör listelenen görev engelleyicilerini zaten incelemişse ve gateway'i hemen geri istiyorsa kullanın. - Yaşam döngüsü komutları betik yazımı için `--json` kabul eder. - - - Token kimlik doğrulaması token gerektirdiğinde ve `gateway.auth.token` SecretRef tarafından yönetildiğinde, `gateway install` SecretRef'in çözümlenebilir olduğunu doğrular ancak çözümlenen token'ı hizmet ortamı metadata'sında kalıcı hale getirmez. - - Token kimlik doğrulaması token gerektiriyorsa ve yapılandırılmış token SecretRef'i çözümlenmemişse, yükleme geri dönüş düz metnini kalıcı hale getirmek yerine kapalı şekilde başarısız olur. + + - Token kimlik doğrulaması bir token gerektirdiğinde ve `gateway.auth.token` SecretRef tarafından yönetildiğinde, `gateway install` SecretRef'in çözülebilir olduğunu doğrular ancak çözümlenen token'ı hizmet ortamı meta verilerine kalıcı olarak yazmaz. + - Token kimlik doğrulaması bir token gerektiriyorsa ve yapılandırılmış token SecretRef'i çözülemiyorsa, kurulum yedek düz metni kalıcı hale getirmek yerine kapalı başarısız olur. - `gateway run` üzerinde parola kimlik doğrulaması için satır içi `--password` yerine `OPENCLAW_GATEWAY_PASSWORD`, `--password-file` veya SecretRef destekli `gateway.auth.password` tercih edin. - - Çıkarımsanan kimlik doğrulama modunda, yalnızca shell'de bulunan `OPENCLAW_GATEWAY_PASSWORD` yükleme token gereksinimlerini gevşetmez; yönetilen bir hizmet yüklerken dayanıklı yapılandırma (`gateway.auth.password` veya yapılandırma `env`) kullanın. - - Hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa ve `gateway.auth.mode` ayarlanmamışsa, mod açıkça ayarlanana kadar yükleme engellenir. + - Çıkarımlı kimlik doğrulama modunda, yalnızca kabukta bulunan `OPENCLAW_GATEWAY_PASSWORD` kurulum token gereksinimlerini gevşetmez; yönetilen hizmet kurarken dayanıklı yapılandırma (`gateway.auth.password` veya yapılandırma `env`) kullanın. + - Hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa ve `gateway.auth.mode` ayarlanmamışsa, mod açıkça ayarlanana kadar kurulum engellenir. ## Gateway'leri keşfedin (Bonjour) -`gateway discover`, Gateway beacon'larını (`_openclaw-gw._tcp`) tarar. +`gateway discover`, Gateway işaretçilerini (`_openclaw-gw._tcp`) tarar. -- Multicast DNS-SD: `local.` -- Unicast DNS-SD (Wide-Area Bonjour): bir alan adı seçin (örnek: `openclaw.internal.`) ve split DNS + bir DNS sunucusu kurun; bkz. [Bonjour](/tr/gateway/bonjour). +- Çok noktaya yayın DNS-SD: `local.` +- Tek noktaya yayın DNS-SD (Geniş Alan Bonjour): bir alan adı seçin (örnek: `openclaw.internal.`) ve split DNS + bir DNS sunucusu kurun; bkz. [Bonjour](/tr/gateway/bonjour). -Yalnızca Bonjour keşfi etkin olan Gateway'ler (varsayılan) beacon'ı duyurur. +Yalnızca Bonjour keşfi etkin olan Gateway'ler (varsayılan) işareti yayımlar. -Wide-Area keşif kayıtları şunları içerir (TXT): +Geniş Alan keşif kayıtları şunları içerir (TXT): - `role` (Gateway rol ipucu) -- `transport` (transport ipucu, ör. `gateway`) +- `transport` (taşıma ipucu, ör. `gateway`) - `gatewayPort` (WebSocket portu, genellikle `18789`) -- `sshPort` (isteğe bağlı; istemciler olmadığında SSH hedeflerini varsayılan olarak `22` yapar) -- `tailnetDns` (MagicDNS ana makine adı, mevcut olduğunda) +- `sshPort` (isteğe bağlı; yoksa istemciler varsayılan SSH hedeflerini `22` olarak kullanır) +- `tailnetDns` (varsa MagicDNS ana makine adı) - `gatewayTls` / `gatewayTlsSha256` (TLS etkin + sertifika parmak izi) -- `cliPath` (geniş alan bölgesine yazılan uzak yükleme ipucu) +- `cliPath` (geniş alan bölgesine yazılan uzaktan kurulum ipucu) ### `gateway discover` @@ -524,10 +534,10 @@ openclaw gateway discover ``` - Komut başına zaman aşımı (browse/resolve). + Komut başına zaman aşımı (göz atma/çözümleme). - Makine tarafından okunabilir çıktı (stili/döndürücüyü de devre dışı bırakır). + Makine tarafından okunabilir çıktı (biçimlendirmeyi/dönen göstergeyi de devre dışı bırakır). Örnekler: @@ -538,13 +548,13 @@ openclaw gateway discover --json | jq '.beacons[].wsUrl' ``` -- CLI, biri etkinleştirildiğinde `local.` ile yapılandırılmış geniş alan etki alanını tarar. +- CLI, `local.` ile birlikte etkinleştirildiğinde yapılandırılmış geniş alan adını tarar. - JSON çıktısındaki `wsUrl`, `lanHost` veya `tailnetDns` gibi yalnızca TXT ipuçlarından değil, çözümlenen hizmet uç noktasından türetilir. -- `local.` mDNS üzerinde `sshPort` ve `cliPath`, yalnızca `discovery.mdns.mode` değeri `full` olduğunda yayınlanır. Geniş alan DNS-SD yine de `cliPath` yazar; `sshPort` orada da isteğe bağlı kalır. +- `local.` mDNS üzerinde `sshPort` ve `cliPath` yalnızca `discovery.mdns.mode` değeri `full` olduğunda yayımlanır. Geniş alan DNS-SD yine de `cliPath` yazar; `sshPort` orada da isteğe bağlı kalır. ## İlgili - [CLI başvurusu](/tr/cli) -- [Gateway operasyon kılavuzu](/tr/gateway) +- [Gateway runbook](/tr/gateway) diff --git a/docs/tr/cli/models.md b/docs/tr/cli/models.md index e03bf91b5..0876bcf21 100644 --- a/docs/tr/cli/models.md +++ b/docs/tr/cli/models.md @@ -5,22 +5,22 @@ read_when: summary: '`openclaw models` için CLI başvurusu (status/list/set/scan, takma adlar, geri dönüşler, kimlik doğrulama)' title: Modeller x-i18n: - generated_at: "2026-05-01T08:59:06Z" + generated_at: "2026-05-04T18:23:40Z" model: gpt-5.5 provider: openai - source_hash: 538d3e4808329737fdc044dc6e14e5c7c78052e75d8a8b3b257b1ebd821c84d1 + source_hash: dc7842f02e29aa0ac2ae88f3d42bba71f1890a58ab22d818dbee0585bc562fea source_path: cli/models.md workflow: 16 --- # `openclaw models` -Model keşfi, tarama ve yapılandırma (varsayılan model, yedekler, kimlik doğrulama profilleri). +Model keşfi, tarama ve yapılandırma (varsayılan model, geri dönüşler, kimlik doğrulama profilleri). İlgili: - Sağlayıcılar + modeller: [Modeller](/tr/providers/models) -- Model seçimi kavramları + `/models` slash komutu: [Modeller kavramı](/tr/concepts/models) +- Model seçimi kavramları + `/models` eğik çizgi komutu: [Modeller kavramı](/tr/concepts/models) - Sağlayıcı kimlik doğrulama kurulumu: [Başlarken](/tr/start/getting-started) ## Yaygın komutlar @@ -32,78 +32,78 @@ openclaw models set openclaw models scan ``` -`openclaw models status`, çözümlenen varsayılanı/yedekleri ve bir kimlik doğrulama genel görünümünü gösterir. -Sağlayıcı kullanım anlık görüntüleri kullanılabilir olduğunda, OAuth/API anahtarı durum bölümü +`openclaw models status`, çözümlenen varsayılanı/geri dönüşleri ve bir kimlik doğrulama genel görünümünü gösterir. +Sağlayıcı kullanım anlık görüntüleri kullanılabilir olduğunda, OAuth/API anahtarı durumu bölümü sağlayıcı kullanım pencerelerini ve kota anlık görüntülerini içerir. Geçerli kullanım penceresi sağlayıcıları: Anthropic, GitHub Copilot, Gemini CLI, OpenAI -Codex, MiniMax, Xiaomi ve z.ai. Kullanım kimlik doğrulaması, mevcut olduğunda -sağlayıcıya özgü hook'lardan gelir; aksi takdirde OpenClaw, kimlik doğrulama -profillerinden, env'den veya yapılandırmadan eşleşen OAuth/API anahtarı +Codex, MiniMax, Xiaomi ve z.ai. Kullanım kimlik doğrulaması, kullanılabilir olduğunda +sağlayıcıya özgü hook'lardan gelir; aksi halde OpenClaw, kimlik doğrulama profilleri, +env veya config içindeki eşleşen OAuth/API anahtarı kimlik bilgilerine geri döner. -`--json` çıktısında `auth.providers`, env/config/store farkındalıklı sağlayıcı +`--json` çıktısında `auth.providers`, env/config/store duyarlı sağlayıcı genel görünümüdür; `auth.oauth` ise yalnızca auth-store profil sağlığıdır. Yapılandırılmış her sağlayıcı profiline karşı canlı kimlik doğrulama yoklamaları çalıştırmak için `--probe` ekleyin. Yoklamalar gerçek isteklerdir (token tüketebilir ve hız sınırlarını tetikleyebilir). -Yapılandırılmış bir ajanın model/kimlik doğrulama durumunu incelemek için `--agent ` kullanın. Atlanırsa, -komut ayarlanmışsa `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR` değerini, aksi takdirde -yapılandırılmış varsayılan ajanı kullanır. +Yapılandırılmış bir aracının model/kimlik doğrulama durumunu incelemek için `--agent ` kullanın. Atlandığında, +komut ayarlanmışsa `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR` kullanır, aksi halde +yapılandırılmış varsayılan aracıyı kullanır. Yoklama satırları kimlik doğrulama profillerinden, env kimlik bilgilerinden veya `models.json` içinden gelebilir. Notlar: -- `models set `, `provider/model` veya bir takma adı kabul eder. -- `models list` salt okunurdur: yapılandırmayı, kimlik doğrulama profillerini, mevcut katalog - durumunu ve sağlayıcıya ait katalog satırlarını okur, ancak +- `models set `, `provider/model` veya bir takma ad kabul eder. +- `models list` salt okunurdur: config, kimlik doğrulama profilleri, mevcut katalog + durumu ve sağlayıcıya ait katalog satırlarını okur, ancak `models.json` dosyasını yeniden yazmaz. - `Auth` sütunu sağlayıcı düzeyindedir ve salt okunurdur. Yerel - kimlik doğrulama profili meta verilerinden, env işaretçilerinden, yapılandırılmış sağlayıcı anahtarlarından, yerel sağlayıcı - işaretçilerinden, AWS Bedrock env/profil işaretçilerinden ve Plugin sentetik kimlik doğrulama meta verilerinden hesaplanır; - sağlayıcı runtime'ını yüklemez, keychain gizlerini okumaz, sağlayıcı - API'lerini çağırmaz veya model başına kesin yürütme hazırlığını kanıtlamaz. -- `models list --all --provider `, henüz o sağlayıcıyla kimlik doğrulaması - yapmamış olsanız bile Plugin manifestlerinden veya paketlenmiş sağlayıcı katalog meta verilerinden sağlayıcıya ait statik katalog - satırlarını içerebilir. Bu satırlar, eşleşen kimlik doğrulaması yapılandırılana kadar yine de - kullanılamaz olarak görünür. -- `models list`, sağlayıcı katalog keşfi yavaşken control plane'i duyarlı tutar. - Varsayılan ve yapılandırılmış görünümler, kısa bir beklemeden sonra yapılandırılmış veya - sentetik model satırlarına geri döner ve keşfin arka planda bitmesine izin verir. - Kesin tam keşfedilmiş kataloğa ihtiyaç duyduğunuzda ve sağlayıcı keşfini - beklemeye razı olduğunuzda `--all` kullanın. -- Geniş `models list --all`, sağlayıcı runtime destek hook'larını yüklemeden + kimlik doğrulama profili metaverileri, env işaretçileri, yapılandırılmış sağlayıcı anahtarları, yerel sağlayıcı + işaretçileri, AWS Bedrock env/profil işaretçileri ve Plugin sentetik kimlik doğrulama metaverilerinden hesaplanır; + sağlayıcı runtime'ını yüklemez, keychain sırlarını okumaz, sağlayıcı + API'lerini çağırmaz veya model başına tam yürütme hazır olduğunu kanıtlamaz. +- `models list --all --provider `, o sağlayıcıyla henüz kimlik doğrulaması + yapmamış olsanız bile Plugin manifestlerinden veya paketlenmiş sağlayıcı katalog metaverilerinden + sağlayıcıya ait statik katalog satırlarını içerebilir. Bu satırlar, eşleşen + kimlik doğrulama yapılandırılana kadar yine de kullanılamaz görünür. +- `models list`, sağlayıcı katalog keşfi yavaşken kontrol düzlemini yanıt verebilir + tutar. Varsayılan ve yapılandırılmış görünümler, kısa bir beklemeden sonra yapılandırılmış veya + sentetik model satırlarına geri döner ve keşfin arka planda + tamamlanmasına izin verir. Tam keşfedilmiş kataloğa kesin olarak ihtiyacınız olduğunda ve + sağlayıcı keşfini beklemeye razı olduğunuzda `--all` kullanın. +- Geniş `models list --all`, sağlayıcı runtime ek hook'larını yüklemeden manifest katalog satırlarını registry satırlarının üzerine birleştirir. Sağlayıcı filtreli manifest - hızlı yolları yalnızca `static` olarak işaretlenmiş sağlayıcıları kullanır; `refreshable` olarak işaretlenmiş sağlayıcılar - registry/cache destekli kalır ve manifest satırlarını destek olarak eklerken, - `runtime` olarak işaretlenmiş sağlayıcılar registry/runtime keşfinde kalır. -- `models list`, yerel model meta verilerini ve runtime sınırlarını ayrı tutar. Tablo - çıktısında, etkili bir runtime sınırı yerel context penceresinden farklı olduğunda `Ctx` - `contextTokens/contextWindow` gösterir; JSON satırları, bir sağlayıcı bu sınırı sunduğunda - `contextTokens` içerir. + hızlı yolları yalnızca `static` olarak işaretlenmiş sağlayıcıları kullanır; `refreshable` olarak işaretlenmiş + sağlayıcılar registry/cache destekli kalır ve manifest satırlarını ekler olarak ekler, `runtime` olarak işaretlenmiş + sağlayıcılar ise registry/runtime keşfinde kalır. +- `models list`, yerel model metaverilerini ve runtime sınırlarını ayrı tutar. Tablo + çıktısında `Ctx`, etkin runtime + sınırı yerel bağlam penceresinden farklı olduğunda `contextTokens/contextWindow` gösterir; JSON satırları, bir sağlayıcı bu sınırı sunduğunda `contextTokens` + içerir. - `models list --provider `, `moonshot` veya `openai-codex` gibi sağlayıcı kimliğine göre filtreler. Etkileşimli sağlayıcı seçicilerinden gelen `Moonshot AI` gibi görüntü etiketlerini kabul etmez. -- Model referansları **ilk** `/` karakterine göre bölünerek ayrıştırılır. Model ID'si `/` içeriyorsa (OpenRouter tarzı), sağlayıcı önekini ekleyin (örnek: `openrouter/moonshotai/kimi-k2`). -- Sağlayıcıyı atlarsanız OpenClaw girdiyi önce takma ad olarak, sonra - tam model id'si için benzersiz yapılandırılmış sağlayıcı eşleşmesi olarak çözer ve ancak ondan sonra - kullanımdan kaldırma uyarısıyla yapılandırılmış varsayılan sağlayıcıya geri döner. - Bu sağlayıcı artık yapılandırılmış varsayılan modeli sunmuyorsa OpenClaw, - eski kaldırılmış sağlayıcı varsayılanını göstermek yerine ilk yapılandırılmış - sağlayıcı/modele geri döner. -- `models status`, gizli olmayan yer tutucular için kimlik doğrulama çıktısında bunları gizli olarak maskelemek yerine `marker()` gösterebilir (örneğin `OPENAI_API_KEY`, `secretref-managed`, `minimax-oauth`, `oauth:chutes`, `ollama-local`). +- Model referansları **ilk** `/` üzerinden bölünerek ayrıştırılır. Model kimliği `/` içeriyorsa (OpenRouter tarzı), sağlayıcı önekini ekleyin (örnek: `openrouter/moonshotai/kimi-k2`). +- Sağlayıcıyı atlarsanız, OpenClaw girdiyi önce bir takma ad olarak, ardından + tam model kimliği için benzersiz bir yapılandırılmış sağlayıcı eşleşmesi olarak çözer ve ancak bundan sonra + bir kullanımdan kaldırma uyarısıyla yapılandırılmış varsayılan sağlayıcıya + geri döner. Bu sağlayıcı artık yapılandırılmış varsayılan modeli sunmuyorsa, OpenClaw + eski kaldırılmış sağlayıcı varsayılanını göstermek yerine ilk yapılandırılmış sağlayıcı/modele + geri döner. +- `models status`, kimlik doğrulama çıktısında gizli olmayan yer tutucular için (örneğin `OPENAI_API_KEY`, `secretref-managed`, `minimax-oauth`, `oauth:chutes`, `ollama-local`) bunları sır olarak maskelemek yerine `marker()` gösterebilir. ### Modelleri tarama `models scan`, OpenRouter'ın herkese açık `:free` kataloğunu okur ve adayları -yedek kullanım için sıralar. Kataloğun kendisi herkese açıktır; bu nedenle yalnızca meta veri taramaları -OpenRouter anahtarı gerektirmez. +geri dönüş kullanımı için sıralar. Kataloğun kendisi herkese açıktır, bu nedenle yalnızca metaveri taramaları +bir OpenRouter anahtarı gerektirmez. -Varsayılan olarak OpenClaw, canlı model çağrılarıyla araç ve görüntü desteğini yoklamayı dener. -OpenRouter anahtarı yapılandırılmamışsa komut yalnızca meta veri +Varsayılan olarak OpenClaw, canlı model çağrılarıyla araç ve görsel desteğini yoklamaya çalışır. +Hiç OpenRouter anahtarı yapılandırılmamışsa, komut yalnızca metaveri çıktısına geri döner ve `:free` modellerin yoklamalar ve çıkarım için yine de `OPENROUTER_API_KEY` gerektirdiğini açıklar. Seçenekler: -- `--no-probe` (yalnızca meta veri; config/gizli araması yok) +- `--no-probe` (yalnızca metaveri; config/sır araması yok) - `--min-params ` - `--max-age-days ` - `--provider ` @@ -116,10 +116,10 @@ Seçenekler: - `--set-image` - `--json` -`--set-default` ve `--set-image` canlı yoklama gerektirir; yalnızca meta veri tarama -sonuçları bilgilendirme amaçlıdır ve yapılandırmaya uygulanmaz. +`--set-default` ve `--set-image` canlı yoklamalar gerektirir; yalnızca metaveri taraması +sonuçları bilgilendirme amaçlıdır ve config'e uygulanmaz. -### Modellerin durumu +### Modeller durumu Seçenekler: @@ -127,18 +127,18 @@ Seçenekler: - `--plain` - `--check` (çıkış 1=süresi dolmuş/eksik, 2=süresi dolmak üzere) - `--probe` (yapılandırılmış kimlik doğrulama profillerinin canlı yoklaması) -- `--probe-provider ` (tek sağlayıcıyı yokla) -- `--probe-profile ` (profil kimliklerini tekrarla veya virgülle ayır) +- `--probe-provider ` (tek bir sağlayıcıyı yokla) +- `--probe-profile ` (tekrarlanan veya virgülle ayrılmış profil kimlikleri) - `--probe-timeout ` - `--probe-concurrency ` - `--probe-max-tokens ` -- `--agent ` (yapılandırılmış ajan kimliği; `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR` değerlerini geçersiz kılar) +- `--agent ` (yapılandırılmış aracı kimliği; `OPENCLAW_AGENT_DIR`/`PI_CODING_AGENT_DIR` değerlerini geçersiz kılar) `--json`, stdout'u JSON yükü için ayrılmış tutar. Kimlik doğrulama profili, sağlayıcı -ve başlangıç tanılamaları stderr'ye yönlendirilir; böylece betikler stdout'u doğrudan +ve başlangıç tanılama çıktıları stderr'e yönlendirilir; böylece betikler stdout'u doğrudan `jq` gibi araçlara pipe edebilir. -Yoklama durumu kovaları: +Yoklama durumu grupları: - `ok` - `auth` @@ -149,17 +149,17 @@ Yoklama durumu kovaları: - `unknown` - `no_model` -Beklenebilecek yoklama ayrıntısı/neden kodu durumları: +Beklenmesi gereken yoklama ayrıntısı/neden kodu durumları: -- `excluded_by_auth_order`: saklanan bir profil vardır, ancak açık - `auth.order.` bunu atlamıştır; bu yüzden yoklama denemek yerine +- `excluded_by_auth_order`: depolanmış bir profil vardır, ancak açık + `auth.order.` onu atlamıştır; bu nedenle yoklama denemek yerine dışlamayı bildirir. - `missing_credential`, `invalid_expires`, `expired`, `unresolved_ref`: profil mevcuttur ancak uygun/çözümlenebilir değildir. - `no_model`: sağlayıcı kimlik doğrulaması vardır, ancak OpenClaw o sağlayıcı için yoklanabilir - bir model adayını çözememiştir. + bir model adayı çözememiştir. -## Takma adlar + yedekler +## Takma adlar + geri dönüşler ```bash openclaw models aliases list @@ -170,45 +170,51 @@ openclaw models fallbacks list ```bash openclaw models auth add +openclaw models auth list [--provider ] [--json] openclaw models auth login --provider openclaw models auth setup-token --provider openclaw models auth paste-token ``` `models auth add`, etkileşimli kimlik doğrulama yardımcısıdır. Seçtiğiniz -sağlayıcıya bağlı olarak bir sağlayıcı kimlik doğrulama akışı (OAuth/API anahtarı) -başlatabilir veya sizi manuel token yapıştırmaya yönlendirebilir. +sağlayıcıya bağlı olarak bir sağlayıcı kimlik doğrulama akışı (OAuth/API anahtarı) başlatabilir veya +sizi elle token yapıştırmaya yönlendirebilir. + +`models auth list`, seçilen aracı için kaydedilmiş kimlik doğrulama profillerini +token, API anahtarı veya OAuth sır materyali yazdırmadan listeler. `openai-codex` gibi +tek bir sağlayıcıya filtrelemek için `--provider `, betikleme için `--json` kullanın. `models auth login`, bir sağlayıcı Plugin'inin kimlik doğrulama akışını (OAuth/API anahtarı) çalıştırır. Hangi sağlayıcıların kurulu olduğunu görmek için `openclaw plugins list` kullanın. -Kimlik doğrulama sonuçlarını belirli bir yapılandırılmış ajan deposuna yazmak için +Kimlik doğrulama sonuçlarını belirli bir yapılandırılmış aracı deposuna yazmak için `openclaw models auth --agent ` kullanın. Üst `--agent` bayrağı -`add`, `login`, `setup-token`, `paste-token` ve `login-github-copilot` tarafından dikkate alınır. +`add`, `list`, `login`, `setup-token`, `paste-token` ve +`login-github-copilot` tarafından dikkate alınır. Örnekler: ```bash openclaw models auth login --provider openai-codex --set-default +openclaw models auth list --provider openai-codex ``` Notlar: - `setup-token` ve `paste-token`, token kimlik doğrulama yöntemleri sunan sağlayıcılar için genel token komutları olarak kalır. -- `setup-token` etkileşimli bir TTY gerektirir ve sağlayıcının token-auth - yöntemini çalıştırır (sağlayıcı bir tane sunuyorsa varsayılan olarak o sağlayıcının - `setup-token` yöntemini kullanır). -- `paste-token`, başka yerde veya otomasyondan üretilmiş bir token dizesini kabul eder. -- `paste-token`, `--provider` gerektirir, token değerini ister ve - `--profile-id` geçmediğiniz sürece bunu varsayılan profil kimliği - `:manual` içine yazar. +- `setup-token`, etkileşimli bir TTY gerektirir ve sağlayıcının token kimlik doğrulama + yöntemini çalıştırır (sağlayıcı bir yöntem sunduğunda varsayılan olarak o sağlayıcının + `setup-token` yöntemine döner). +- `paste-token`, başka yerde veya otomasyonla oluşturulmuş bir token dizesini kabul eder. +- `paste-token`, `--provider` gerektirir, token değeri için istem gösterir ve + `--profile-id` geçmediğiniz sürece bunu varsayılan profil kimliği `:manual` içine yazar. - `paste-token --expires-in `, `365d` veya `12h` gibi göreli bir süreden - mutlak token sona erme zamanını depolar. -- Anthropic notu: Anthropic çalışanları bize OpenClaw tarzı Claude CLI kullanımına tekrar izin verildiğini söyledi; bu nedenle OpenClaw, Anthropic yeni bir politika yayımlamadığı sürece bu entegrasyon için Claude CLI yeniden kullanımını ve `claude -p` kullanımını onaylı kabul eder. -- Anthropic `setup-token` / `paste-token`, desteklenen bir OpenClaw token yolu olarak kullanılabilir kalır; ancak OpenClaw artık mevcut olduğunda Claude CLI yeniden kullanımını ve `claude -p` komutunu tercih eder. + mutlak token süresi bitimini saklar. +- Anthropic notu: Anthropic çalışanları bize OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini söyledi; bu nedenle Anthropic yeni bir politika yayımlamadığı sürece OpenClaw, Claude CLI yeniden kullanımını ve `claude -p` kullanımını bu entegrasyon için onaylanmış kabul eder. +- Anthropic `setup-token` / `paste-token`, desteklenen bir OpenClaw token yolu olarak kullanılabilir kalır, ancak OpenClaw artık mevcut olduğunda Claude CLI yeniden kullanımını ve `claude -p` kullanımını tercih eder. ## İlgili -- [CLI referansı](/tr/cli) +- [CLI başvurusu](/tr/cli) - [Model seçimi](/tr/concepts/model-providers) -- [Model yedeklemeye geçişi](/tr/concepts/model-failover) +- [Model yedeklemesi](/tr/concepts/model-failover) diff --git a/docs/tr/cli/proxy.md b/docs/tr/cli/proxy.md index 109ff5439..e16f416a2 100644 --- a/docs/tr/cli/proxy.md +++ b/docs/tr/cli/proxy.md @@ -1,15 +1,15 @@ --- read_when: - Dağıtımdan önce operatör tarafından yönetilen proxy yönlendirmesini doğrulamanız gerekir - - Hata ayıklama için OpenClaw taşıma trafiğini yerel olarak yakalamanız gerekir - - Hata ayıklama proxy oturumlarını, blob'ları veya yerleşik sorgu ön ayarlarını incelemek istiyorsunuz -summary: '`openclaw proxy` için CLI başvurusu; operatör tarafından yönetilen proxy doğrulaması ve yerel hata ayıklama proxy yakalama denetleyicisi dahil' + - Hata ayıklama için OpenClaw aktarım trafiğini yerel olarak yakalamanız gerekir + - Hata ayıklama proxy oturumlarını, blob’ları veya yerleşik sorgu ön ayarlarını incelemek istiyorsunuz +summary: '`openclaw proxy` için CLI referansı; operatör tarafından yönetilen proxy doğrulaması ve yerel hata ayıklama proxy yakalama inceleyicisi dahil' title: Vekil sunucu x-i18n: - generated_at: "2026-05-04T07:02:58Z" + generated_at: "2026-05-04T18:23:49Z" model: gpt-5.5 provider: openai - source_hash: 9589bedafb97c31bcb6536a04307cd0c6550e1f307693bd4401785d79f34a1eb + source_hash: 092c4e946dcab5e78e37d6fc77bb067b7a649368f8571fa127e462a85fa14ce5 source_path: cli/proxy.md workflow: 16 --- @@ -18,14 +18,14 @@ x-i18n: Operatör tarafından yönetilen proxy yönlendirmesini doğrulayın veya yerel açık hata ayıklama proxy'sini çalıştırıp yakalanan trafiği inceleyin. -OpenClaw proxy yönlendirmesini etkinleştirmeden önce operatör tarafından yönetilen bir ileri proxy için ön kontrol yapmak üzere `validate` kullanın. Diğer komutlar aktarım düzeyi inceleme için hata ayıklama araçlarıdır: yerel bir proxy başlatabilir, yakalama etkin olarak bir alt komut çalıştırabilir, yakalama oturumlarını listeleyebilir, yaygın trafik kalıplarını sorgulayabilir, yakalanan blob'ları okuyabilir ve yerel yakalama verilerini temizleyebilirler. +OpenClaw proxy yönlendirmesini etkinleştirmeden önce operatör tarafından yönetilen bir ileri proxy'yi önceden denetlemek için `validate` kullanın. Diğer komutlar, aktarım düzeyi inceleme için hata ayıklama araçlarıdır: yerel bir proxy başlatabilir, yakalama etkinleştirilmiş halde bir alt komut çalıştırabilir, yakalama oturumlarını listeleyebilir, yaygın trafik örüntülerini sorgulayabilir, yakalanan blob'ları okuyabilir ve yerel yakalama verilerini temizleyebilirler. ## Komutlar ```bash openclaw proxy start [--host ] [--port ] openclaw proxy run [--host ] [--port ] -- -openclaw proxy validate [--json] [--proxy-url ] [--allowed-url ] [--denied-url ] [--timeout-ms ] +openclaw proxy validate [--json] [--proxy-url ] [--allowed-url ] [--denied-url ] [--apns-reachable] [--apns-authority ] [--timeout-ms ] openclaw proxy coverage openclaw proxy sessions [--limit ] openclaw proxy query --preset [--session ] @@ -35,17 +35,19 @@ openclaw proxy purge ## Doğrulama -`openclaw proxy validate`, `--proxy-url`, yapılandırma veya `OPENCLAW_PROXY_URL` üzerinden geçerli operatör tarafından yönetilen proxy URL'sini denetler. Hiçbir proxy etkinleştirilmemiş ve yapılandırılmamışsa bir yapılandırma sorunu bildirir; yapılandırmayı değiştirmeden önce tek seferlik bir ön kontrol için `--proxy-url` kullanın. Varsayılan olarak, herkese açık bir hedefe proxy üzerinden başarıyla erişildiğini ve proxy'nin geçici bir loopback kanaryasına ulaşamadığını doğrular. Özel reddedilen hedefler fail-closed çalışır: dağıtıma özgü bir ret sinyalini ayrıca doğrulayamadığınız sürece hem HTTP yanıtları hem de belirsiz aktarım hataları başarısız sayılır. +`openclaw proxy validate`, `--proxy-url`, yapılandırma veya `OPENCLAW_PROXY_URL` üzerinden etkili operatör tarafından yönetilen proxy URL'sini denetler. Proxy etkinleştirilmemiş ve yapılandırılmamışsa bir yapılandırma sorunu bildirir; yapılandırmayı değiştirmeden önce tek seferlik bir ön denetim için `--proxy-url` kullanın. Varsayılan olarak, genel bir hedefin proxy üzerinden başarılı olduğunu ve proxy'nin geçici bir loopback kanaryasına ulaşamadığını doğrular. Özel reddedilen hedefler kapalıya düşecek şekilde davranır: dağıtıma özgü bir ret sinyalini ayrıca doğrulayamadığınız sürece hem HTTP yanıtları hem de belirsiz aktarım hataları başarısız sayılır. Proxy üzerinden bir APNs HTTP/2 CONNECT tüneli açıp sandbox APNs'in yanıt verdiğini doğrulamak için `--apns-reachable` ekleyin; denetim bilerek geçersiz bir sağlayıcı belirteci kullanır, bu nedenle APNs `403 InvalidProviderToken` yanıtı başarılı bir erişilebilirlik sinyalidir. Seçenekler: - `--json`: makine tarafından okunabilir JSON yazdırır. -- `--proxy-url `: yapılandırma veya env yerine bu proxy URL'sini doğrular. -- `--allowed-url `: proxy üzerinden başarılı olması beklenen bir hedef ekler. Birden çok hedefi denetlemek için tekrarlayın. -- `--denied-url `: proxy tarafından engellenmesi beklenen bir hedef ekler. Birden çok hedefi denetlemek için tekrarlayın. +- `--proxy-url `: yapılandırma veya ortam yerine bu proxy URL'sini doğrular. +- `--allowed-url `: proxy üzerinden başarılı olması beklenen bir hedef ekler. Birden fazla hedefi denetlemek için yineleyin. +- `--denied-url `: proxy tarafından engellenmesi beklenen bir hedef ekler. Birden fazla hedefi denetlemek için yineleyin. +- `--apns-reachable`: sandbox APNs HTTP/2'nin proxy üzerinden erişilebilir olduğunu da doğrular. +- `--apns-authority `: `--apns-reachable` ile denetlenecek APNs yetkilisi (varsayılan olarak `https://api.sandbox.push.apple.com`; üretim `https://api.push.apple.com`). - `--timeout-ms `: istek başına milisaniye cinsinden zaman aşımı. -Dağıtım rehberi ve ret semantiği için [Ağ Proxy'si](/tr/security/network-proxy) bölümüne bakın. +Dağıtım kılavuzu ve ret semantiği için [Ağ Proxy'si](/tr/security/network-proxy) bölümüne bakın. ## Sorgu ön ayarları @@ -60,10 +62,10 @@ Dağıtım rehberi ve ret semantiği için [Ağ Proxy'si](/tr/security/network-p ## Notlar -- `--host` ayarlanmadıkça `start` varsayılan olarak `127.0.0.1` kullanır. -- `run` yerel bir hata ayıklama proxy'si başlatır ve ardından `--` sonrasındaki komutu çalıştırır. -- Hata ayıklama proxy'sinin doğrudan yukarı akış yönlendirmesi, tanılama için yukarı akış soketleri açar. OpenClaw tarafından yönetilen proxy modu etkin olduğunda, proxy istekleri ve CONNECT tünelleri için doğrudan yönlendirme varsayılan olarak devre dışıdır; `OPENCLAW_DEBUG_PROXY_ALLOW_DIRECT_CONNECT_WITH_MANAGED_PROXY=1` değerini yalnızca onaylanmış yerel tanılamalar için ayarlayın. -- Proxy yapılandırması veya hedef denetimleri başarısız olduğunda `validate` kod 1 ile çıkar. +- `--host` ayarlanmadığı sürece `start` varsayılan olarak `127.0.0.1` kullanır. +- `run`, yerel bir hata ayıklama proxy'si başlatır ve ardından `--` sonrasındaki komutu çalıştırır. +- Hata ayıklama proxy'sinin doğrudan üst akışa iletimi, tanılama için üst akış soketleri açar. OpenClaw yönetilen proxy modu etkin olduğunda, proxy istekleri ve CONNECT tünelleri için doğrudan iletim varsayılan olarak devre dışıdır; `OPENCLAW_DEBUG_PROXY_ALLOW_DIRECT_CONNECT_WITH_MANAGED_PROXY=1` değerini yalnızca onaylı yerel tanılama için ayarlayın. +- `validate`, proxy yapılandırması veya hedef denetimleri başarısız olduğunda kod 1 ile çıkar. - Yakalamalar yerel hata ayıklama verileridir; işiniz bittiğinde `openclaw proxy purge` kullanın. ## İlgili diff --git a/docs/tr/gateway/cli-backends.md b/docs/tr/gateway/cli-backends.md index 48c283b20..518386c09 100644 --- a/docs/tr/gateway/cli-backends.md +++ b/docs/tr/gateway/cli-backends.md @@ -1,43 +1,45 @@ --- read_when: - - API sağlayıcıları başarısız olduğunda güvenilir bir yedek çözüm istersiniz - - Codex CLI veya diğer yerel yapay zeka CLI'larını çalıştırıyor ve bunları yeniden kullanmak istiyorsunuz + - API sağlayıcıları başarısız olduğunda güvenilir bir geri dönüş seçeneği istersiniz + - Codex CLI veya diğer yerel yapay zeka CLI'larını çalıştırıyorsunuz ve bunları yeniden kullanmak istiyorsunuz - CLI arka uç araç erişimi için MCP loopback köprüsünü anlamak istiyorsunuz -summary: 'CLI arka uçları: isteğe bağlı MCP araç köprüsüyle yerel yapay zekâ CLI yedeği' +summary: 'CLI arka uçları: isteğe bağlı MCP araç köprüsüyle yerel yapay zeka CLI yedeği' title: CLI arka uçları x-i18n: - generated_at: "2026-05-02T08:53:35Z" + generated_at: "2026-05-04T18:23:45Z" model: gpt-5.5 provider: openai - source_hash: f343469d6a42dc6146196355dc2ba3feed045515c3d8446941b90971aadc9a16 + source_hash: 55534c48c5e226857b9320fd369416583e5c2efc80eabd4746f939afdd027dc1 source_path: gateway/cli-backends.md workflow: 16 --- -OpenClaw, API sağlayıcıları kapalıyken, hız sınırına takılmışken veya geçici olarak hatalı davranırken **yalnızca metin yedeği** olarak **yerel AI CLI'leri** çalıştırabilir. Bu, bilinçli olarak temkinli tasarlanmıştır: +OpenClaw, API sağlayıcıları devre dışı kaldığında, +hız sınırına takıldığında veya geçici olarak hatalı davrandığında **yerel AI CLI'larını** **yalnızca metin yedeği** olarak çalıştırabilir. Bu bilinçli olarak temkinli tasarlanmıştır: - **OpenClaw araçları doğrudan enjekte edilmez**, ancak `bundleMcp: true` olan arka uçlar - bir loopback MCP köprüsü üzerinden gateway araçlarını alabilir. -- Destekleyen CLI'ler için **JSONL akışı**. + loopback MCP köprüsü üzerinden gateway araçlarını alabilir. +- Destekleyen CLI'lar için **JSONL akışı**. - **Oturumlar desteklenir** (böylece takip eden turlar tutarlı kalır). - CLI görüntü yollarını kabul ediyorsa **görüntüler geçirilebilir**. -Bu, birincil yol olmaktan çok bir **güvenlik ağı** olarak tasarlanmıştır. Harici API'lere bağlı kalmadan -“her zaman çalışır” metin yanıtları istediğinizde bunu kullanın. +Bu, birincil yol olmaktan ziyade bir **güvenlik ağı** olarak tasarlanmıştır. Harici API'lere +bağımlı olmadan “her zaman çalışır” metin yanıtları istediğinizde kullanın. -ACP oturum kontrolleri, arka plan görevleri, iş parçacığı/konuşma bağlama ve kalıcı harici kodlama oturumları içeren eksiksiz bir harness runtime istiyorsanız bunun yerine -[ACP Agents](/tr/tools/acp-agents) kullanın. CLI arka uçları ACP değildir. +ACP oturum denetimleri, arka plan görevleri, +iş parçacığı/konuşma bağlama ve kalıcı harici kodlama oturumları olan tam bir çalışma zamanı altyapısı istiyorsanız bunun yerine +[ACP Aracıları](/tr/tools/acp-agents) kullanın. CLI arka uçları ACP değildir. -## Yeni başlayanlar için hızlı başlangıç +## Yeni başlayanlara uygun hızlı başlangıç -Codex CLI'yi **herhangi bir config olmadan** kullanabilirsiniz (paketlenmiş OpenAI plugin'i +Codex CLI'ı **hiç yapılandırma olmadan** kullanabilirsiniz (paketle gelen OpenAI Plugin'i varsayılan bir arka uç kaydeder): ```bash openclaw agent --message "hi" --model codex-cli/gpt-5.5 ``` -Gateway'iniz launchd/systemd altında çalışıyorsa ve PATH sınırlıysa, yalnızca +Gateway'iniz launchd/systemd altında çalışıyorsa ve PATH en düşük düzeydeyse yalnızca komut yolunu ekleyin: ```json5 @@ -54,14 +56,15 @@ komut yolunu ekleyin: } ``` -Bu kadar. CLI'nin kendisi dışında anahtar veya ek kimlik doğrulama config'i gerekmez. +Hepsi bu. CLI'ın kendisi dışında anahtar veya ek kimlik doğrulama yapılandırması gerekmez. -Paketlenmiş bir CLI arka ucunu bir gateway host'unda **birincil mesaj sağlayıcısı** olarak kullanırsanız, config'iniz bir model ref içinde veya -`agents.defaults.cliBackends` altında o arka uca açıkça başvurduğunda OpenClaw artık sahibi olan paketlenmiş plugin'i otomatik olarak yükler. +Bir Gateway ana makinesinde paketle gelen bir CLI arka ucunu **birincil ileti sağlayıcısı** olarak kullanıyorsanız, yapılandırmanız +bu arka uca bir model başvurusunda veya +`agents.defaults.cliBackends` altında açıkça referans verdiğinde OpenClaw artık sahip olan paketli Plugin'i otomatik olarak yükler. -## Bunu yedek olarak kullanma +## Yedek olarak kullanma -CLI arka ucunu fallback listenize ekleyin; böylece yalnızca birincil modeller başarısız olduğunda çalışır: +Bir CLI arka ucunu yedek listenize ekleyin; böylece yalnızca birincil modeller başarısız olduğunda çalışır: ```json5 { @@ -84,9 +87,9 @@ Notlar: - `agents.defaults.models` (izin listesi) kullanıyorsanız, CLI arka uç modellerinizi de oraya eklemeniz gerekir. - Birincil sağlayıcı başarısız olursa (kimlik doğrulama, hız sınırları, zaman aşımları), OpenClaw - sonraki olarak CLI arka ucunu dener. + sırada CLI arka ucunu dener. -## Yapılandırma özeti +## Yapılandırmaya genel bakış Tüm CLI arka uçları şunun altında bulunur: @@ -94,8 +97,8 @@ Tüm CLI arka uçları şunun altında bulunur: agents.defaults.cliBackends ``` -Her giriş, bir **sağlayıcı id** ile anahtarlanır (ör. `codex-cli`, `my-cli`). -Sağlayıcı id, model ref'inizin sol tarafı olur: +Her giriş bir **sağlayıcı kimliği** ile anahtarlanır (örn. `codex-cli`, `my-cli`). +Sağlayıcı kimliği model başvurunuzun sol tarafı olur: ``` / @@ -141,36 +144,51 @@ Sağlayıcı id, model ref'inizin sol tarafı olur: } ``` -## Nasıl çalışır +## Nasıl çalışır? -1. Sağlayıcı prefix'ine (`codex-cli/...`) göre **bir arka uç seçer**. -2. Aynı OpenClaw prompt'unu + workspace bağlamını kullanarak **bir system prompt oluşturur**. -3. Geçmişin tutarlı kalması için (destekleniyorsa) CLI'yi bir oturum id'siyle **çalıştırır**. - Paketlenmiş `claude-cli` arka ucu, her OpenClaw oturumu için bir Claude stdio sürecini canlı tutar ve takip turlarını stream-json stdin üzerinden gönderir. -4. **Çıktıyı ayrıştırır** (JSON veya düz metin) ve son metni döndürür. -5. Takip turlarının aynı CLI oturumunu yeniden kullanması için her arka uç başına **oturum id'lerini kalıcı hale getirir**. +1. Sağlayıcı önekine (`codex-cli/...`) göre **bir arka uç seçer**. +2. Aynı OpenClaw istemi ve çalışma alanı bağlamını kullanarak **bir sistem istemi oluşturur**. +3. Geçmişin tutarlı kalması için CLI'ı bir oturum kimliğiyle (destekleniyorsa) **çalıştırır**. + Paketle gelen `claude-cli` arka ucu, her OpenClaw oturumu için bir Claude stdio sürecini canlı tutar + ve takip turlarını stream-json stdin üzerinden gönderir. +4. **Çıktıyı ayrıştırır** (JSON veya düz metin) ve nihai metni döndürür. +5. Takip turlarının aynı CLI oturumunu yeniden kullanabilmesi için arka uç başına **oturum kimliklerini kalıcılaştırır**. -Paketlenmiş Anthropic `claude-cli` arka ucu yeniden destekleniyor. Anthropic personeli, +Paketle gelen Anthropic `claude-cli` arka ucu yeniden destekleniyor. Anthropic personeli, OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini bize söyledi; bu nedenle OpenClaw, -Anthropic yeni bir policy yayımlamadığı sürece bu entegrasyon için `claude -p` kullanımını onaylı kabul eder. +Anthropic yeni bir politika yayımlamadıkça bu entegrasyon için `claude -p` kullanımını onaylı kabul eder. -Paketlenmiş OpenAI `codex-cli` arka ucu, OpenClaw'ın system prompt'unu -Codex'in `model_instructions_file` config override'ı (`-c -model_instructions_file="..."`) üzerinden geçirir. Codex, Claude tarzı bir -`--append-system-prompt` flag'i sunmaz; bu nedenle OpenClaw, her yeni Codex CLI oturumu için birleştirilmiş prompt'u geçici bir dosyaya yazar. +Paketle gelen OpenAI `codex-cli` arka ucu, OpenClaw'ın sistem istemini Codex'in +`model_instructions_file` yapılandırma geçersiz kılması üzerinden geçirir (`-c +model_instructions_file="..."`). Codex, Claude tarzı bir +`--append-system-prompt` bayrağı sunmaz; bu nedenle OpenClaw, her yeni Codex CLI oturumu için birleştirilen istemi +geçici bir dosyaya yazar. -Paketlenmiş Anthropic `claude-cli` arka ucu OpenClaw skills snapshot'ını iki yoldan alır: eklenen system prompt içindeki kompakt OpenClaw skills kataloğu ve -`--plugin-dir` ile geçirilen geçici bir Claude Code plugin'i. Plugin yalnızca o agent/oturum için uygun skills'leri içerir; böylece Claude Code'un yerel skill çözücüsü, OpenClaw'ın aksi halde prompt'ta duyuracağı aynı filtrelenmiş kümeyi görür. Skill env/API key override'ları çalıştırma için OpenClaw tarafından child process ortamına yine uygulanır. +Paketle gelen Anthropic `claude-cli` arka ucu, OpenClaw skills anlık görüntüsünü +iki şekilde alır: eklenen sistem istemindeki kompakt OpenClaw skills kataloğu ve +`--plugin-dir` ile geçirilen geçici bir Claude Code Plugin'i. Plugin yalnızca +o aracı/oturum için uygun Skills öğelerini içerir; böylece Claude Code'un yerel skill +çözümleyicisi, OpenClaw'ın aksi halde istemde duyuracağı aynı filtrelenmiş kümeyi görür. +Skill env/API anahtarı geçersiz kılmaları, çalıştırma için OpenClaw tarafından +alt süreç ortamına yine uygulanır. -Claude CLI'nin ayrıca kendi etkileşimsiz izin modu vardır. OpenClaw bunu Claude'a özgü config eklemek yerine mevcut exec policy'ye eşler: etkin istenen exec policy YOLO olduğunda (`tools.exec.security: "full"` ve +Claude CLI'ın kendi etkileşimsiz izin modu da vardır. OpenClaw bunu +Claude'a özgü yapılandırma eklemek yerine mevcut exec politikasına eşler: etkili istenen exec politikası YOLO olduğunda (`tools.exec.security: "full"` ve `tools.exec.ask: "off"`), OpenClaw `--permission-mode bypassPermissions` ekler. -Agent başına `agents.list[].tools.exec` ayarları, o agent için global `tools.exec` ayarını geçersiz kılar. Farklı bir Claude modunu zorlamak için -`agents.defaults.cliBackends.claude-cli.args` ve eşleşen `resumeArgs` altında -`--permission-mode default` veya `--permission-mode acceptEdits` gibi açık raw arka uç argümanları ayarlayın. +Aracı başına `agents.list[].tools.exec` ayarları, o aracı için genel `tools.exec` ayarlarını geçersiz kılar. +Farklı bir Claude modunu zorlamak için `agents.defaults.cliBackends.claude-cli.args` altında +`--permission-mode default` veya `--permission-mode acceptEdits` gibi açık ham arka uç argümanları ve eşleşen `resumeArgs` ayarlayın. -OpenClaw paketlenmiş `claude-cli` arka ucunu kullanmadan önce Claude Code'un kendisi aynı host'ta zaten oturum açmış olmalıdır: +Paketle gelen Anthropic `claude-cli` arka ucu ayrıca OpenClaw `/think` düzeylerini, +kapalı olmayan düzeyler için Claude Code'un yerel `--effort` bayrağına eşler. `minimal` ve +`low`, `low` değerine; `adaptive` ve `medium`, `medium` değerine; `high`, +`xhigh` ve `max` ise doğrudan eşlenir. Diğer CLI arka uçlarının, `/think` oluşturulan CLI'ı etkileyebilmeden önce +sahip Plugin'lerinin eşdeğer bir argv eşleyici bildirmesi gerekir. + +OpenClaw paketle gelen `claude-cli` arka ucunu kullanmadan önce, Claude Code'un kendisi +aynı ana makinede zaten oturum açmış olmalıdır: ```bash claude auth login @@ -178,72 +196,99 @@ claude auth status --text openclaw models auth login --provider anthropic --method cli --set-default ``` -`agents.defaults.cliBackends.claude-cli.command` değerini yalnızca `claude` -binary'si zaten `PATH` üzerinde değilse kullanın. +`agents.defaults.cliBackends.claude-cli.command` ayarını yalnızca `claude` +ikilisi zaten `PATH` üzerinde değilse kullanın. ## Oturumlar -- CLI oturumları destekliyorsa, ID'nin birden çok flag içine eklenmesi gerektiğinde `sessionArg` (ör. `--session-id`) veya - `sessionArgs` (placeholder `{sessionId}`) ayarlayın. -- CLI farklı flag'lere sahip bir **resume subcommand** kullanıyorsa, - `resumeArgs` (devam ederken `args` yerine geçer) ve isteğe bağlı olarak `resumeOutput` - (JSON olmayan devamlar için) ayarlayın. +- CLI oturumları destekliyorsa, kimliğin birden fazla bayrağa eklenmesi gerektiğinde + `sessionArg` (örn. `--session-id`) veya `sessionArgs` (yer tutucu `{sessionId}`) ayarlayın. +- CLI farklı bayraklara sahip bir **resume alt komutu** kullanıyorsa + `resumeArgs` (`args` yerine geçer) ve isteğe bağlı olarak `resumeOutput` + (JSON olmayan resume işlemleri için) ayarlayın. - `sessionMode`: - - `always`: her zaman bir oturum id'si gönder (saklanan yoksa yeni UUID). - - `existing`: yalnızca daha önce saklanmışsa bir oturum id'si gönder. - - `none`: hiçbir zaman oturum id'si gönderme. -- `claude-cli` varsayılan olarak `liveSession: "claude-stdio"`, `output: "jsonl"` ve `input: "stdin"` kullanır; böylece takip turları, aktifken canlı Claude sürecini yeniden kullanır. Sıcak stdio artık varsayılandır; transport alanlarını atlayan özel config'ler de buna dahildir. Gateway yeniden başlarsa veya boşta duran süreç çıkarsa, OpenClaw saklanan Claude oturum id'sinden devam eder. Saklanan oturum id'leri, devam etmeden önce mevcut okunabilir bir proje transcript'ine karşı doğrulanır; böylece hayalet bağlamalar `--resume` altında sessizce yeni bir Claude CLI oturumu başlatmak yerine `reason=transcript-missing` ile temizlenir. -- Claude canlı oturumları sınırlı JSONL çıktı korumalarını tutar. Varsayılanlar tur başına 8 MiB ve 20.000 raw JSONL satırına kadar izin verir. Araç yoğun Claude turları bunları arka uç başına + - `always`: her zaman bir oturum kimliği gönderir (kayıtlı yoksa yeni UUID). + - `existing`: yalnızca önceden kayıtlı bir oturum kimliği varsa gönderir. + - `none`: hiçbir zaman oturum kimliği göndermez. +- `claude-cli` varsayılan olarak `liveSession: "claude-stdio"`, `output: "jsonl"` ve + `input: "stdin"` kullanır; böylece takip turları aktifken canlı Claude sürecini yeniden kullanır. + Sıcak stdio artık, taşıma alanlarını atlayan özel yapılandırmalar dahil, varsayılandır. + Gateway yeniden başlatılırsa veya boşta olan süreç çıkarsa, + OpenClaw kayıtlı Claude oturum kimliğinden sürdürür. Kayıtlı oturum + kimlikleri, resume işleminden önce mevcut okunabilir bir proje transkriptiyle doğrulanır; böylece hayalet bağlamalar, + `--resume` altında sessizce yeni bir Claude CLI oturumu başlatmak yerine + `reason=transcript-missing` ile temizlenir. +- Claude canlı oturumları sınırlı JSONL çıktı korumaları tutar. Varsayılanlar, + tur başına 8 MiB'ye ve 20.000 ham JSONL satırına kadar izin verir. Araç yoğun Claude turları bunları arka uç başına `agents.defaults.cliBackends.claude-cli.reliability.outputLimits.maxTurnRawChars` - ve `maxTurnLines` ile artırabilir; OpenClaw bu ayarları 64 MiB ve 100.000 satırla sınırlar. -- Saklanan CLI oturumları, sağlayıcıya ait sürekliliktir. Örtük günlük oturum reset'i bunları kesmez; `/reset` ve açık `session.reset` policy'leri yine keser. + ve `maxTurnLines` ile artırabilir; OpenClaw bu ayarları 64 MiB ve 100.000 + satırla sınırlar. +- Kayıtlı CLI oturumları sağlayıcıya ait sürekliliktir. Örtük günlük oturum + sıfırlaması bunları kesmez; `/reset` ve açık `session.reset` politikaları yine + keser. Serileştirme notları: -- `serialize: true` aynı lane çalıştırmalarını sıralı tutar. -- Çoğu CLI tek bir sağlayıcı lane'inde serileştirir. -- Seçilen auth identity değiştiğinde OpenClaw saklanan CLI oturumu yeniden kullanımını bırakır; buna değişen auth profile id, statik API key, statik token veya CLI bir OAuth hesap identity'si açığa çıkarıyorsa OAuth hesap identity'si dahildir. OAuth erişim ve yenileme token'ı rotasyonu saklanan CLI oturumunu kesmez. Bir CLI kararlı bir OAuth hesap id'si açığa çıkarmıyorsa OpenClaw, resume izinlerini o CLI'nin uygulamasına izin verir. +- `serialize: true` aynı hat çalıştırmalarını sıralı tutar. +- Çoğu CLI tek bir sağlayıcı hattında serileştirir. +- Seçili kimlik doğrulama kimliği değiştiğinde OpenClaw kayıtlı CLI oturumu yeniden kullanımını bırakır; + buna değişen kimlik doğrulama profili kimliği, statik API anahtarı, statik token veya CLI birini açığa çıkarıyorsa OAuth + hesap kimliği dahildir. OAuth erişim ve yenileme token rotasyonu, + kayıtlı CLI oturumunu kesmez. Bir CLI kararlı bir OAuth hesap kimliği açığa çıkarmıyorsa, + OpenClaw resume izinlerini o CLI'ın uygulamasına bırakır. -## claude-cli oturumlarından fallback başlangıcı +## claude-cli oturumlarından yedek başlangıç metni -Bir `claude-cli` denemesi [`agents.defaults.model.fallbacks`](/tr/concepts/model-failover) içindeki CLI olmayan bir adaya devredildiğinde, OpenClaw sonraki denemeyi Claude Code'un `~/.claude/projects/` konumundaki yerel JSONL transcript'inden toplanan bir bağlam başlangıcıyla besler. Bu seed olmadan fallback sağlayıcısı soğuk başlardı, çünkü OpenClaw'ın kendi oturum transcript'i `claude-cli` çalıştırmaları için boştur. +Bir `claude-cli` denemesi +[`agents.defaults.model.fallbacks`](/tr/concepts/model-failover) içindeki CLI olmayan bir adaya devredildiğinde, OpenClaw +sonraki denemeyi Claude Code'un `~/.claude/projects/` içindeki yerel +JSONL transkriptinden derlenen bir bağlam başlangıç metniyle tohumlar. Bu tohum olmadan, +OpenClaw'ın kendi oturum transkripti `claude-cli` çalıştırmaları için boş olduğundan yedek +sağlayıcı soğuk başlardı. -- Başlangıç, en son `/compact` özetini veya `compact_boundary` - marker'ını tercih eder, sonra char budget'a kadar en son sınır sonrası turları ekler. Sınır öncesi turlar atılır, çünkü özet zaten onları temsil eder. -- Tool blokları, prompt budget'ını dürüst tutmak için kompakt `(tool call: name)` ve - `(tool result: …)` ipuçlarına birleştirilir. Özet taşarsa `(truncated)` etiketiyle işaretlenir. -- Aynı sağlayıcı `claude-cli` ile `claude-cli` fallback'leri Claude'un kendi - `--resume` özelliğine dayanır ve başlangıcı atlar. -- Seed mevcut Claude oturum dosyası yolu doğrulamasını yeniden kullanır; bu nedenle - keyfi yollar okunamaz. +- Başlangıç metni en son `/compact` özetini veya `compact_boundary` + işaretleyicisini tercih eder, ardından en son sınır sonrası turları karakter + bütçesine kadar ekler. Sınır öncesi turlar, özet zaten onları temsil ettiği için + düşürülür. +- Araç blokları, istem bütçesini dürüst tutmak için kompakt `(tool call: name)` ve + `(tool result: …)` ipuçlarında birleştirilir. Özet taşarsa + `(truncated)` olarak etiketlenir. +- Aynı sağlayıcı `claude-cli` -> `claude-cli` yedekleri, Claude'un kendi + `--resume` mekanizmasına dayanır ve başlangıç metnini atlar. +- Tohum, mevcut Claude oturum dosyası yolu doğrulamasını yeniden kullanır; bu nedenle + rastgele yollar okunamaz. ## Görüntüler (geçirme) -CLI'niz görüntü yollarını kabul ediyorsa `imageArg` ayarlayın: +CLI'ınız görüntü yollarını kabul ediyorsa `imageArg` ayarlayın: ```json5 imageArg: "--image", imageMode: "repeat" ``` -OpenClaw base64 görüntülerini temp dosyalarına yazar. `imageArg` ayarlanmışsa, bu yollar CLI argümanları olarak geçirilir. `imageArg` yoksa, OpenClaw dosya yollarını prompt'a ekler (path injection); bu, düz yollardan yerel dosyaları otomatik yükleyen CLI'ler için yeterlidir. +OpenClaw base64 görüntüleri geçici dosyalara yazar. `imageArg` ayarlıysa bu +yollar CLI argümanları olarak geçirilir. `imageArg` eksikse OpenClaw +dosya yollarını isteme ekler (yol enjeksiyonu); bu, düz yollardan yerel dosyaları otomatik yükleyen CLI'lar için yeterlidir. ## Girdiler / çıktılar -- `output: "json"` (varsayılan) JSON ayrıştırmayı ve metin + oturum id'si çıkarmayı dener. -- Gemini CLI JSON çıktısı için OpenClaw, `usage` eksik veya boş olduğunda yanıt metnini `response` alanından ve kullanımı `stats` alanından okur. -- `output: "jsonl"` JSONL akışlarını ayrıştırır (örneğin Codex CLI `--json`) ve varsa son agent mesajını ve oturum tanımlayıcılarını çıkarır. -- `output: "text"` stdout'u son yanıt olarak ele alır. +- `output: "json"` (varsayılan) JSON ayrıştırmayı ve metin + oturum kimliği çıkarmayı dener. +- Gemini CLI JSON çıktısı için OpenClaw yanıt metnini `response` içinden, + kullanım bilgisini ise `usage` eksik veya boş olduğunda `stats` içinden okur. +- `output: "jsonl"` JSONL akışlarını (örneğin Codex CLI `--json`) ayrıştırır ve varsa nihai aracı iletisini ve oturum + tanımlayıcılarını çıkarır. +- `output: "text"` stdout'u nihai yanıt olarak ele alır. -Girdi modları: +Giriş modları: -- `input: "arg"` (varsayılan) prompt'u son CLI argümanı olarak geçirir. -- `input: "stdin"` prompt'u stdin üzerinden gönderir. -- Prompt çok uzunsa ve `maxPromptArgChars` ayarlanmışsa stdin kullanılır. +- `input: "arg"` (varsayılan) istemi son CLI argümanı olarak geçirir. +- `input: "stdin"` istemi stdin üzerinden gönderir. +- İstem çok uzunsa ve `maxPromptArgChars` ayarlıysa stdin kullanılır. -## Varsayılanlar (plugin'e ait) +## Varsayılanlar (Plugin'e ait) -Paketlenmiş OpenAI plugin'i ayrıca `codex-cli` için bir varsayılan kaydeder: +Paketle gelen OpenAI Plugin'i ayrıca `codex-cli` için bir varsayılan kaydeder: - `command: "codex"` - `args: ["exec","--json","--color","never","--sandbox","workspace-write","--skip-git-repo-check"]` @@ -254,7 +299,7 @@ Paketlenmiş OpenAI plugin'i ayrıca `codex-cli` için bir varsayılan kaydeder: - `imageArg: "--image"` - `sessionMode: "existing"` -Paketlenmiş Google plugin'i ayrıca `google-gemini-cli` için bir varsayılan kaydeder: +Paketle gelen Google Plugin'i ayrıca `google-gemini-cli` için bir varsayılan kaydeder: - `command: "gemini"` - `args: ["--output-format", "json", "--prompt", "{prompt}"]` @@ -272,23 +317,25 @@ Paketlenmiş Google plugin'i ayrıca `google-gemini-cli` için bir varsayılan k Gemini CLI JSON notları: - Yanıt metni JSON `response` alanından okunur. -- `usage` yoksa veya boşsa kullanım `stats` alanına fallback eder. -- `stats.cached`, OpenClaw `cacheRead` olarak normalize edilir. -- `stats.input` eksikse, OpenClaw girdi token'larını +- `usage` yoksa veya boşsa, kullanım bilgisi `stats` alanına geri döner. +- `stats.cached`, OpenClaw `cacheRead` biçimine normalize edilir. +- `stats.input` eksikse, OpenClaw giriş tokenlerini `stats.input_tokens - stats.cached` değerinden türetir. -Yalnızca gerekiyorsa override edin (yaygın: mutlak `command` yolu). +Yalnızca gerekiyorsa geçersiz kılın (yaygın: mutlak `command` yolu). ## Plugin'e ait varsayılanlar -CLI arka uç varsayılanları artık plugin yüzeyinin parçasıdır: +CLI arka uç varsayılanları artık Plugin yüzeyinin parçasıdır: - Plugin'ler bunları `api.registerCliBackend(...)` ile kaydeder. -- Backend `id` değeri, model referanslarında sağlayıcı öneki olur. -- `agents.defaults.cliBackends.` içindeki kullanıcı yapılandırması yine Plugin varsayılanını geçersiz kılar. -- Backend'e özel yapılandırma temizliği, isteğe bağlı `normalizeConfig` kancası üzerinden Plugin sahipliğinde kalır. +- Arka uç `id` değeri, model referanslarında sağlayıcı öneki olur. +- `agents.defaults.cliBackends.` içindeki kullanıcı yapılandırması yine de Plugin varsayılanını geçersiz kılar. +- Arka uca özgü yapılandırma temizliği, isteğe bağlı + `normalizeConfig` hook'u üzerinden Plugin'e ait kalır. -Küçük prompt/mesaj uyumluluk dolgularına ihtiyaç duyan Plugin'ler, bir sağlayıcıyı veya CLI backend'ini değiştirmeden çift yönlü metin dönüşümleri tanımlayabilir: +Küçük prompt/mesaj uyumluluğu shim'lerine ihtiyaç duyan Plugin'ler, bir sağlayıcıyı veya CLI arka ucunu değiştirmeden +çift yönlü metin dönüşümleri bildirebilir: ```typescript api.registerTextTransforms({ @@ -305,46 +352,63 @@ api.registerTextTransforms({ }); ``` -`input`, CLI'ye geçirilen sistem prompt'unu ve kullanıcı prompt'unu yeniden yazar. `output`, OpenClaw kendi denetim işaretleyicilerini ve kanal teslimini işlemeden önce akışa verilen asistan deltalarını ve ayrıştırılmış son metni yeniden yazar. +`input`, CLI'ye iletilen sistem prompt'unu ve kullanıcı prompt'unu yeniden yazar. `output`, +OpenClaw kendi denetim işaretçilerini ve kanal teslimini işlemeden önce +akışla gelen asistan deltalarını ve ayrıştırılmış son metni yeniden yazar. -Claude Code stream-json uyumlu JSONL yayan CLI'ler için, ilgili backend yapılandırmasında `jsonlDialect: "claude-stream-json"` ayarlayın. +Claude Code stream-json uyumlu JSONL üreten CLI'ler için, ilgili arka ucun yapılandırmasında +`jsonlDialect: "claude-stream-json"` ayarlayın. -## Paket MCP katmanları +## Bundle MCP kaplamaları -CLI backend'leri OpenClaw araç çağrılarını doğrudan almaz, ancak bir backend `bundleMcp: true` ile oluşturulan bir MCP yapılandırma katmanına katılabilir. +CLI arka uçları OpenClaw araç çağrılarını doğrudan almaz, ancak bir arka uç +`bundleMcp: true` ile üretilmiş bir MCP yapılandırma kaplamasına dahil olmayı seçebilir. -Geçerli paket davranışı: +Geçerli paketlenmiş davranış: -- `claude-cli`: oluşturulan katı MCP yapılandırma dosyası -- `codex-cli`: `mcp_servers` için satır içi yapılandırma geçersiz kılmaları; oluşturulan OpenClaw loopback sunucusu, MCP çağrılarının yerel onay prompt'larında takılı kalmaması için Codex'in sunucu başına araç onay moduyla işaretlenir -- `google-gemini-cli`: oluşturulan Gemini sistem ayarları dosyası +- `claude-cli`: üretilmiş katı MCP yapılandırma dosyası +- `codex-cli`: `mcp_servers` için satır içi yapılandırma geçersiz kılmaları; üretilmiş + OpenClaw loopback sunucusu, MCP çağrılarının yerel onay istemlerinde takılmaması için + Codex'in sunucu başına araç onay modu ile işaretlenir +- `google-gemini-cli`: üretilmiş Gemini sistem ayarları dosyası -Paket MCP etkinleştirildiğinde, OpenClaw: +Bundle MCP etkinleştirildiğinde, OpenClaw: -- Gateway araçlarını CLI sürecine açan bir loopback HTTP MCP sunucusu başlatır -- köprünün kimliğini oturum başına token (`OPENCLAW_MCP_TOKEN`) ile doğrular +- Gateway araçlarını CLI sürecine sunan bir loopback HTTP MCP sunucusu başlatır +- köprünün kimliğini oturum başına bir token (`OPENCLAW_MCP_TOKEN`) ile doğrular - araç erişimini geçerli oturum, hesap ve kanal bağlamıyla sınırlar -- geçerli çalışma alanı için etkin paket-MCP sunucularını yükler -- bunları mevcut backend MCP yapılandırması/ayarları biçimiyle birleştirir -- başlatma yapılandırmasını, sahip uzantıdan gelen backend sahipliğindeki entegrasyon modunu kullanarak yeniden yazar +- geçerli çalışma alanı için etkinleştirilmiş bundle-MCP sunucularını yükler +- bunları mevcut arka uç MCP yapılandırma/ayar şekliyle birleştirir +- başlatma yapılandırmasını, sahip uzantıdan gelen arka uca ait entegrasyon modunu kullanarak yeniden yazar -Hiçbir MCP sunucusu etkin değilse, OpenClaw yine de bir backend paket MCP'ye katıldığında arka plan çalıştırmalarının yalıtılmış kalması için katı bir yapılandırma enjekte eder. +Etkin MCP sunucusu yoksa, bir arka uç bundle MCP'ye dahil olmayı seçtiğinde +OpenClaw yine de katı bir yapılandırma enjekte eder; böylece arka plan çalıştırmaları yalıtılmış kalır. -Oturum kapsamlı paket MCP çalışma zamanları, bir oturum içinde yeniden kullanılmak üzere önbelleğe alınır, ardından `mcp.sessionIdleTtlMs` milisaniye boşta kalma süresinden sonra temizlenir (varsayılan 10 dakika; devre dışı bırakmak için `0` ayarlayın). Kimlik doğrulama yoklamaları, slug oluşturma ve Active Memory geri çağırma isteği gibi tek seferlik gömülü çalıştırmalar, stdio alt süreçlerinin ve Streamable HTTP/SSE akışlarının çalıştırmadan daha uzun yaşamaması için çalıştırma sonunda temizlik yapar. +Oturum kapsamlı paketlenmiş MCP çalışma zamanları, bir oturum içinde yeniden kullanım için önbelleğe alınır, ardından +`mcp.sessionIdleTtlMs` milisaniyelik boşta kalma süresinden sonra temizlenir (varsayılan 10 +dakika; devre dışı bırakmak için `0` ayarlayın). Kimlik doğrulama yoklamaları, +slug üretimi ve active-memory recall isteği gibi tek seferlik gömülü çalıştırmalar, stdio +alt süreçleri ve Streamable HTTP/SSE akışları çalıştırmadan daha uzun yaşamaması için çalıştırma sonunda temizlenir. ## Sınırlamalar -- **Doğrudan OpenClaw araç çağrısı yoktur.** OpenClaw, CLI backend protokolüne araç çağrıları enjekte etmez. Backend'ler Gateway araçlarını yalnızca `bundleMcp: true` ile katıldıklarında görür. -- **Akış backend'e özeldir.** Bazı backend'ler JSONL akışı verir; diğerleri çıkışa kadar tamponlar. +- **Doğrudan OpenClaw araç çağrısı yok.** OpenClaw, araç çağrılarını + CLI arka uç protokolüne enjekte etmez. Arka uçlar gateway araçlarını yalnızca + `bundleMcp: true` ile dahil olduklarında görür. +- **Akış arka uca özgüdür.** Bazı arka uçlar JSONL akışı yapar; diğerleri + çıkışa kadar arabelleğe alır. - **Yapılandırılmış çıktılar** CLI'nin JSON biçimine bağlıdır. -- **Codex CLI oturumları** metin çıktısı üzerinden sürdürülür (JSONL yoktur), bu da ilk `--json` çalıştırmasından daha az yapılandırılmıştır. OpenClaw oturumları yine normal şekilde çalışır. +- **Codex CLI oturumları** metin çıktısı üzerinden sürdürülür (JSONL yoktur); bu, + ilk `--json` çalıştırmasına göre daha az yapılandırılmıştır. OpenClaw oturumları yine de + normal çalışır. ## Sorun giderme - **CLI bulunamadı**: `command` değerini tam yol olarak ayarlayın. - **Yanlış model adı**: `provider/model` → CLI modeli eşlemesi için `modelAliases` kullanın. -- **Oturum sürekliliği yok**: `sessionArg` ayarlandığından ve `sessionMode` değerinin `none` olmadığından emin olun (Codex CLI şu anda JSON çıktısıyla sürdüremez). -- **Görseller yok sayılıyor**: `imageArg` ayarlayın (ve CLI'nin dosya yollarını desteklediğini doğrulayın). +- **Oturum sürekliliği yok**: `sessionArg` değerinin ayarlı olduğundan ve `sessionMode` değerinin + `none` olmadığından emin olun (Codex CLI şu anda JSON çıktısıyla sürdürülemez). +- **Görseller yok sayılıyor**: `imageArg` değerini ayarlayın (ve CLI'nin dosya yollarını desteklediğini doğrulayın). ## İlgili diff --git a/docs/tr/help/testing-live.md b/docs/tr/help/testing-live.md index 91224ce30..2eaf5b7ae 100644 --- a/docs/tr/help/testing-live.md +++ b/docs/tr/help/testing-live.md @@ -1,16 +1,16 @@ --- read_when: - - Canlı model matrisi / CLI arka ucu / ACP / media-provider duman testlerini çalıştırma + - Canlı model matrisi / CLI arka ucu / ACP / medya sağlayıcı duman testlerini çalıştırma - Canlı test kimlik bilgisi çözümlemesinde hata ayıklama - - Sağlayıcıya özel yeni bir canlı test ekleme + - Sağlayıcıya özgü yeni bir canlı test ekleme sidebarTitle: Live tests summary: 'Canlı (ağa erişen) testler: model matrisi, CLI arka uçları, ACP, medya sağlayıcıları, kimlik bilgileri' title: 'Test: canlı test paketleri' x-i18n: - generated_at: "2026-05-03T08:56:32Z" + generated_at: "2026-05-04T18:23:49Z" model: gpt-5.5 provider: openai - source_hash: 4057d8875fa3404108e89e4381c1dd14e96abbc2af13c4934fc6c0dbf878fc00 + source_hash: 03b8ca6348137a55c8d5f67c9c166a130a75a744f6a433cb00496756b29d7016 source_path: help/testing-live.md workflow: 16 --- @@ -22,7 +22,7 @@ kimlik bilgisi işleme. ## Canlı: yerel profil smoke komutları -Geçici canlı kontrollerden önce `~/.profile` dosyasını kaynak olarak yükleyin; böylece sağlayıcı anahtarları ve yerel araç +Geçici canlı kontrollerden önce `~/.profile` kaynağını yükleyin; böylece sağlayıcı anahtarları ve yerel araç yolları kabuğunuzla eşleşir: ```bash @@ -37,105 +37,105 @@ pnpm openclaw infer tts convert --local --json \ --output /tmp/openclaw-live-smoke.mp3 ``` -Güvenli sesli arama hazırlık smoke testi: +Güvenli sesli arama hazır olma smoke testi: ```bash pnpm openclaw voicecall setup --json pnpm openclaw voicecall smoke --to "+15555550123" ``` -`voicecall smoke`, `--yes` de yoksa kuru çalıştırmadır. `--yes` seçeneğini yalnızca +`voicecall smoke`, `--yes` de bulunmadıkça bir dry run’dır. `--yes` seçeneğini yalnızca bilerek gerçek bir bildirim araması yapmak istediğinizde kullanın. Twilio, Telnyx ve -Plivo için başarılı bir hazırlık kontrolü herkese açık bir webhook URL'si gerektirir; yalnızca yerel +Plivo için başarılı bir hazır olma kontrolü herkese açık bir webhook URL’si gerektirir; yalnızca yerel loopback/özel yedekler tasarım gereği reddedilir. -## Canlı: Android düğümü yetenek taraması +## Canlı: Android düğüm yeteneği taraması - Test: `src/gateway/android-node.capabilities.live.test.ts` - Betik: `pnpm android:test:integration` -- Hedef: bağlı bir Android düğümü tarafından **şu anda duyurulan her komutu** çağırmak ve komut sözleşmesi davranışını doğrulamak. +- Amaç: bağlı bir Android düğümü tarafından **şu anda duyurulan her komutu** çağırmak ve komut sözleşmesi davranışını doğrulamak. - Kapsam: - - Ön koşullu/manuel kurulum (paket uygulamayı kurmaz/çalıştırmaz/eşleştirmez). - - Seçilen Android düğümü için komut komut gateway `node.invoke` doğrulaması. + - Önkoşullu/manuel kurulum (paket uygulamayı kurmaz/çalıştırmaz/eşleştirmez). + - Seçilen Android düğümü için komut bazında Gateway `node.invoke` doğrulaması. - Gerekli ön kurulum: - - Android uygulaması zaten Gateway'e bağlı ve eşleştirilmiş. - - Uygulama ön planda tutulmuş. - - Geçmesini beklediğiniz yetenekler için izinler/yakalama onayı verilmiş. + - Android uygulaması zaten bağlı ve gateway ile eşleştirilmiş olmalı. + - Uygulama ön planda tutulmalı. + - Geçmesini beklediğiniz yetenekler için izinler/yakalama onayı verilmiş olmalı. - İsteğe bağlı hedef geçersiz kılmaları: - `OPENCLAW_ANDROID_NODE_ID` veya `OPENCLAW_ANDROID_NODE_NAME`. - `OPENCLAW_ANDROID_GATEWAY_URL` / `OPENCLAW_ANDROID_GATEWAY_TOKEN` / `OPENCLAW_ANDROID_GATEWAY_PASSWORD`. -- Tam Android kurulum ayrıntıları: [Android App](/tr/platforms/android) +- Tam Android kurulum ayrıntıları: [Android Uygulaması](/tr/platforms/android) ## Canlı: model smoke testi (profil anahtarları) -Canlı testler iki katmana ayrılmıştır; böylece hataları yalıtabiliriz: +Canlı testler, hataları yalıtabilmemiz için iki katmana ayrılmıştır: -- "Doğrudan model", sağlayıcının/modelin verilen anahtarla en azından yanıt verebildiğini gösterir. -- "Gateway smoke", tam gateway+agent işlem hattının o model için çalıştığını gösterir (oturumlar, geçmiş, araçlar, sandbox ilkesi vb.). +- “Doğrudan model”, sağlayıcının/modelin verilen anahtarla hiç yanıt verip veremediğini gösterir. +- “Gateway smoke”, o model için tam gateway+agent işlem hattının çalıştığını gösterir (oturumlar, geçmiş, araçlar, sandbox ilkesi vb.). -### Katman 1: Doğrudan model tamamlama (Gateway yok) +### Katman 1: Doğrudan model tamamlama (gateway yok) - Test: `src/agents/models.profiles.live.test.ts` -- Hedef: +- Amaç: - Keşfedilen modelleri numaralandırmak - Kimlik bilgileriniz olan modelleri seçmek için `getApiKeyForModel` kullanmak - Model başına küçük bir tamamlama çalıştırmak (ve gerektiğinde hedefli regresyonlar) - Etkinleştirme: - - `pnpm test:live` (veya Vitest'i doğrudan çağırıyorsanız `OPENCLAW_LIVE_TEST=1`) -- Bu paketi gerçekten çalıştırmak için `OPENCLAW_LIVE_MODELS=modern` (veya `all`, modern için takma ad) ayarlayın; aksi halde `pnpm test:live` odağını Gateway smoke testinde tutmak için atlar + - `pnpm test:live` (veya Vitest doğrudan çağrılıyorsa `OPENCLAW_LIVE_TEST=1`) +- Bu paketi gerçekten çalıştırmak için `OPENCLAW_LIVE_MODELS=modern` (veya modern için takma ad olan `all`) ayarlayın; aksi halde `pnpm test:live` odağını gateway smoke üzerinde tutmak için atlar - Model seçme: - Modern izin listesini çalıştırmak için `OPENCLAW_LIVE_MODELS=modern` (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, DeepSeek V4, GLM 4.7, MiniMax M2.7, Grok 4.3) - `OPENCLAW_LIVE_MODELS=all`, modern izin listesi için bir takma addır - - veya `OPENCLAW_LIVE_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,..."` (virgüllü izin listesi) - - Modern/all taramaları varsayılan olarak düzenlenmiş yüksek sinyalli bir sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_MAX_MODELS=0` veya daha küçük bir sınır için pozitif bir sayı ayarlayın. - - Kapsamlı taramalar, tüm doğrudan model testi zaman aşımı için `OPENCLAW_LIVE_TEST_TIMEOUT_MS` kullanır. Varsayılan: 60 dakika. - - Doğrudan model yoklamaları varsayılan olarak 20'li paralellikle çalışır; geçersiz kılmak için `OPENCLAW_LIVE_MODEL_CONCURRENCY` ayarlayın. + - veya `OPENCLAW_LIVE_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,..."` (virgülle ayrılmış izin listesi) + - Modern/all taramaları varsayılan olarak özenle seçilmiş yüksek sinyalli bir üst sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_MAX_MODELS=0`, daha küçük bir üst sınır için pozitif bir sayı ayarlayın. + - Kapsamlı taramalar, tüm doğrudan-model test zaman aşımı için `OPENCLAW_LIVE_TEST_TIMEOUT_MS` kullanır. Varsayılan: 60 dakika. + - Doğrudan-model yoklamaları varsayılan olarak 20’li paralellikle çalışır; geçersiz kılmak için `OPENCLAW_LIVE_MODEL_CONCURRENCY` ayarlayın. - Sağlayıcı seçme: - - `OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"` (virgüllü izin listesi) + - `OPENCLAW_LIVE_PROVIDERS="google,google-antigravity,google-gemini-cli"` (virgülle ayrılmış izin listesi) - Anahtarların geldiği yer: - Varsayılan olarak: profil deposu ve env yedekleri - - Yalnızca **profil deposu** kullanımını zorunlu kılmak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` ayarlayın + - Yalnızca **profil deposunu** zorunlu kılmak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` ayarlayın - Bunun var olma nedeni: - - "sağlayıcı API'si bozuk / anahtar geçersiz" durumunu "Gateway agent işlem hattı bozuk" durumundan ayırır - - Küçük, yalıtılmış regresyonlar içerir (örnek: OpenAI Responses/Codex Responses akıl yürütme yeniden oynatma + araç çağrısı akışları) + - “sağlayıcı API’si bozuk / anahtar geçersiz” durumunu “gateway agent işlem hattı bozuk” durumundan ayırır + - Küçük, yalıtılmış regresyonlar içerir (örnek: OpenAI Responses/Codex Responses reasoning replay + tool-call akışları) -### Katman 2: Gateway + geliştirme agent smoke testi ("@openclaw" gerçekte ne yapar) +### Katman 2: Gateway + geliştirme agent smoke testi ("@openclaw"ın gerçekte yaptığı) - Test: `src/gateway/gateway-models.profiles.live.test.ts` -- Hedef: - - İşlem içi bir Gateway başlatmak +- Amaç: + - İşlem içi bir gateway başlatmak - Bir `agent:dev:*` oturumu oluşturmak/yamamak (çalıştırma başına model geçersiz kılması) - - Anahtarlı modeller üzerinde yinelemek ve şunları doğrulamak: - - "anlamlı" yanıt (araç yok) + - Anahtarları olan modeller üzerinde yinelemek ve şunları doğrulamak: + - “anlamlı” yanıt (araç yok) - gerçek bir araç çağrısı çalışır (okuma yoklaması) - isteğe bağlı ek araç yoklamaları (exec+read yoklaması) - - OpenAI regresyon yolları (yalnızca araç çağrısı → takip) çalışmaya devam eder -- Yoklama ayrıntıları (hataları hızlıca açıklayabilmeniz için): - - `read` yoklaması: test, çalışma alanına bir nonce dosyası yazar ve agent'tan bunu `read` edip nonce değerini geri yankılamasını ister. - - `exec+read` yoklaması: test, agent'tan bir geçici dosyaya nonce değerini `exec` ile yazmasını, sonra geri `read` etmesini ister. - - görüntü yoklaması: test üretilmiş bir PNG (cat + rastgele kod) ekler ve modelin `cat ` döndürmesini bekler. + - OpenAI regresyon yolları (yalnızca tool-call → takip) çalışmaya devam eder +- Yoklama ayrıntıları (hataları hızlı açıklayabilmeniz için): + - `read` yoklaması: test çalışma alanına bir nonce dosyası yazar ve agent’tan bunu `read` etmesini ve nonce’u geri yankılamasını ister. + - `exec+read` yoklaması: test agent’tan bir geçici dosyaya `exec` ile nonce yazmasını, ardından onu geri `read` etmesini ister. + - image yoklaması: test üretilmiş bir PNG (cat + rastgele kod) ekler ve modelin `cat ` döndürmesini bekler. - Uygulama referansı: `src/gateway/gateway-models.profiles.live.test.ts` ve `src/gateway/live-image-probe.ts`. - Etkinleştirme: - - `pnpm test:live` (veya Vitest'i doğrudan çağırıyorsanız `OPENCLAW_LIVE_TEST=1`) + - `pnpm test:live` (veya Vitest doğrudan çağrılıyorsa `OPENCLAW_LIVE_TEST=1`) - Model seçme: - Varsayılan: modern izin listesi (Opus/Sonnet 4.6+, GPT-5.2 + Codex, Gemini 3, DeepSeek V4, GLM 4.7, MiniMax M2.7, Grok 4.3) - `OPENCLAW_LIVE_GATEWAY_MODELS=all`, modern izin listesi için bir takma addır - - Veya daraltmak için `OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"` (veya virgüllü liste) ayarlayın - - Modern/all Gateway taramaları varsayılan olarak düzenlenmiş yüksek sinyalli bir sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0` veya daha küçük bir sınır için pozitif bir sayı ayarlayın. -- Sağlayıcı seçme ("OpenRouter her şey" durumundan kaçının): - - `OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"` (virgüllü izin listesi) -- Araç + görüntü yoklamaları bu canlı testte her zaman açıktır: + - Veya daraltmak için `OPENCLAW_LIVE_GATEWAY_MODELS="provider/model"` (veya virgülle ayrılmış liste) ayarlayın + - Modern/all gateway taramaları varsayılan olarak özenle seçilmiş yüksek sinyalli bir üst sınır kullanır; kapsamlı bir modern tarama için `OPENCLAW_LIVE_GATEWAY_MAX_MODELS=0`, daha küçük bir üst sınır için pozitif bir sayı ayarlayın. +- Sağlayıcı seçme (“OpenRouter her şey” durumundan kaçınma): + - `OPENCLAW_LIVE_GATEWAY_PROVIDERS="google,google-antigravity,google-gemini-cli,openai,anthropic,zai,minimax"` (virgülle ayrılmış izin listesi) +- Bu canlı testte araç + image yoklamaları her zaman açıktır: - `read` yoklaması + `exec+read` yoklaması (araç stres testi) - - görüntü yoklaması, model görüntü girişi desteği duyurduğunda çalışır + - model image girdisi desteği duyurduğunda image yoklaması çalışır - Akış (üst düzey): - - Test, "CAT" + rastgele kod içeren küçük bir PNG üretir (`src/gateway/live-image-probe.ts`) - - Bunu `agent` üzerinden `attachments: [{ mimeType: "image/png", content: "" }]` olarak gönderir - - Gateway, ekleri `images[]` içine ayrıştırır (`src/gateway/server-methods/agent.ts` + `src/gateway/chat-attachments.ts`) - - Gömülü agent, çok modlu bir kullanıcı mesajını modele iletir - - Doğrulama: yanıt `cat` + kod içerir (OCR toleransı: küçük hatalara izin verilir) + - Test, “CAT” + rastgele kod içeren küçük bir PNG üretir (`src/gateway/live-image-probe.ts`) + - Bunu `agent` aracılığıyla `attachments: [{ mimeType: "image/png", content: "" }]` olarak gönderir + - Gateway ekleri `images[]` içine ayrıştırır (`src/gateway/server-methods/agent.ts` + `src/gateway/chat-attachments.ts`) + - Gömülü agent, çok modlu bir kullanıcı iletisini modele iletir + - Doğrulama: yanıt `cat` + kodu içerir (OCR toleransı: küçük hatalara izin verilir) -Makinenizde neyi test edebileceğinizi (ve tam `provider/model` kimliklerini) görmek için şunu çalıştırın: +Makinenizde neleri test edebileceğinizi (ve tam `provider/model` kimliklerini) görmek için şunu çalıştırın: ```bash openclaw models list @@ -144,27 +144,27 @@ openclaw models list --json -## Canlı: CLI arka uç smoke testi (Claude, Codex, Gemini veya diğer yerel CLI'lar) +## Canlı: CLI arka uç smoke testi (Claude, Codex, Gemini veya diğer yerel CLI’lar) - Test: `src/gateway/gateway-cli-backend.live.test.ts` -- Hedef: varsayılan yapılandırmanıza dokunmadan, yerel bir CLI arka ucu kullanarak Gateway + agent işlem hattını doğrulamak. -- Arka uca özel smoke varsayılanları, sahibi olan Plugin'in `cli-backend.ts` tanımıyla birlikte bulunur. -- Etkinleştir: - - `pnpm test:live` (veya Vitest'i doğrudan çağırıyorsanız `OPENCLAW_LIVE_TEST=1`) +- Amaç: varsayılan yapılandırmanıza dokunmadan yerel bir CLI arka ucu kullanarak Gateway + agent işlem hattını doğrulamak. +- Arka uca özgü smoke varsayılanları, sahip uzantının `cli-backend.ts` tanımıyla birlikte bulunur. +- Etkinleştirme: + - `pnpm test:live` (veya Vitest doğrudan çağrılıyorsa `OPENCLAW_LIVE_TEST=1`) - `OPENCLAW_LIVE_CLI_BACKEND=1` - Varsayılanlar: - Varsayılan sağlayıcı/model: `claude-cli/claude-sonnet-4-6` - - Komut/argüman/görüntü davranışı, sahibi olan CLI arka uç Plugin meta verisinden gelir. + - Komut/args/image davranışı, sahip CLI arka uç plugin meta verilerinden gelir. - Geçersiz kılmalar (isteğe bağlı): - `OPENCLAW_LIVE_CLI_BACKEND_MODEL="codex-cli/gpt-5.5"` - `OPENCLAW_LIVE_CLI_BACKEND_COMMAND="/full/path/to/codex"` - `OPENCLAW_LIVE_CLI_BACKEND_ARGS='["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]'` - - Gerçek bir görüntü eki göndermek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1` (yollar prompt içine enjekte edilir). Docker tariflerinde bu, açıkça istenmedikçe varsayılan olarak kapalıdır. - - Görüntü dosyası yollarını prompt enjeksiyonu yerine CLI argümanları olarak geçirmek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image"`. - - `IMAGE_ARG` ayarlandığında görüntü argümanlarının nasıl geçirileceğini denetlemek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"` (veya `"list"`). - - İkinci bir tur göndermek ve sürdürme akışını doğrulamak için `OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1`. - - Seçilen model bir geçiş hedefini desteklediğinde Claude Sonnet -> Opus aynı oturum süreklilik yoklamasına katılmak için `OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=1`. Docker tariflerinde bu, toplu güvenilirlik için varsayılan olarak kapalıdır. - - MCP/araç loopback yoklamasına katılmak için `OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1`. Docker tariflerinde bu, açıkça istenmedikçe varsayılan olarak kapalıdır. + - Gerçek bir image eki göndermek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_PROBE=1` (yollar prompt içine enjekte edilir). Docker tarifleri, açıkça istenmedikçe bunu varsayılan olarak kapalı tutar. + - Image dosyası yollarını prompt enjeksiyonu yerine CLI args olarak geçirmek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_ARG="--image"`. + - `IMAGE_ARG` ayarlandığında image args değerlerinin nasıl geçirileceğini denetlemek için `OPENCLAW_LIVE_CLI_BACKEND_IMAGE_MODE="repeat"` (veya `"list"`). + - İkinci bir tur göndermek ve resume akışını doğrulamak için `OPENCLAW_LIVE_CLI_BACKEND_RESUME_PROBE=1`. + - Seçilen model bir geçiş hedefini desteklediğinde Claude Sonnet -> Opus aynı oturum sürekliliği yoklamasına katılmak için `OPENCLAW_LIVE_CLI_BACKEND_MODEL_SWITCH_PROBE=1`. Docker tarifleri, toplu güvenilirlik için bunu varsayılan olarak kapalı tutar. + - MCP/araç loopback yoklamasına katılmak için `OPENCLAW_LIVE_CLI_BACKEND_MCP_PROBE=1`. Docker tarifleri, açıkça istenmedikçe bunu varsayılan olarak kapalı tutar. Örnek: @@ -181,8 +181,8 @@ OPENCLAW_LIVE_TEST=1 \ pnpm test:live src/agents/cli-runner/bundle-mcp.gemini.live.test.ts ``` -Bu, Gemini'den yanıt üretmesini istemez. OpenClaw'ın Gemini'ye verdiği aynı sistem -ayarlarını yazar, ardından kayıtlı bir `transport: "streamable-http"` sunucusunun Gemini'nin HTTP MCP +Bu, Gemini’den yanıt üretmesini istemez. OpenClaw’ın Gemini’ye verdiği aynı sistem +ayarlarını yazar, ardından kaydedilmiş bir `transport: "streamable-http"` sunucusunun Gemini’nin HTTP MCP biçimine normalleştirildiğini ve yerel bir streamable-HTTP MCP sunucusuna bağlanabildiğini kanıtlamak için `gemini --debug mcp list` çalıştırır. Docker tarifi: @@ -203,26 +203,35 @@ pnpm test:docker:live-cli-backend:gemini Notlar: - Docker çalıştırıcısı `scripts/test-live-cli-backend-docker.sh` konumundadır. -- Canlı CLI arka uç smoke testini repo Docker görüntüsünün içinde root olmayan `node` kullanıcısı olarak çalıştırır. -- CLI smoke meta verisini sahibi olan Plugin'den çözer, ardından eşleşen Linux CLI paketini (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) `OPENCLAW_DOCKER_CLI_TOOLS_DIR` içindeki önbelleğe alınmış yazılabilir bir öneke kurar (varsayılan: `~/.cache/openclaw/docker-cli-tools`). -- `pnpm test:docker:live-cli-backend:claude-subscription`, `claudeAiOauth.subscriptionType` içeren `~/.claude/.credentials.json` veya `claude setup-token` üzerinden `CLAUDE_CODE_OAUTH_TOKEN` aracılığıyla taşınabilir Claude Code aboneliği OAuth gerektirir. Önce Docker içinde doğrudan `claude -p` kanıtı alır, ardından Anthropic API anahtarı env var'larını korumadan iki Gateway CLI arka uç turu çalıştırır. Bu abonelik hattı, Claude şu anda üçüncü taraf uygulama kullanımını normal abonelik planı sınırları yerine ek kullanım faturalaması üzerinden yönlendirdiği için Claude MCP/araç ve görüntü yoklamalarını varsayılan olarak devre dışı bırakır. -- Canlı CLI arka uç smoke testi artık Claude, Codex ve Gemini için aynı uçtan uca akışı çalıştırır: metin turu, görüntü sınıflandırma turu, ardından gateway CLI üzerinden doğrulanan MCP `cron` araç çağrısı. -- Claude'un varsayılan smoke testi ayrıca oturumu Sonnet'ten Opus'a yamalar ve sürdürülen oturumun daha önceki bir notu hâlâ hatırladığını doğrular. +- Canlı CLI arka uç smoke testini repo Docker image’ı içinde root olmayan `node` kullanıcısı olarak çalıştırır. +- CLI smoke meta verilerini sahip uzantıdan çözer, ardından eşleşen Linux CLI paketini (`@anthropic-ai/claude-code`, `@openai/codex` veya `@google/gemini-cli`) `OPENCLAW_DOCKER_CLI_TOOLS_DIR` konumundaki önbelleğe alınmış yazılabilir bir öneke kurar (varsayılan: `~/.cache/openclaw/docker-cli-tools`). +- `pnpm test:docker:live-cli-backend:claude-subscription`, `claudeAiOauth.subscriptionType` içeren `~/.claude/.credentials.json` veya `claude setup-token` kaynaklı `CLAUDE_CODE_OAUTH_TOKEN` üzerinden taşınabilir Claude Code abonelik OAuth’u gerektirir. Önce Docker’da doğrudan `claude -p` çalıştığını kanıtlar, ardından Anthropic API anahtarı env vars değerlerini korumadan iki Gateway CLI arka uç turu çalıştırır. Bu abonelik şeridi, Claude şu anda üçüncü taraf uygulama kullanımını normal abonelik planı sınırları yerine ekstra kullanım faturalandırması üzerinden yönlendirdiği için Claude MCP/araç ve image yoklamalarını varsayılan olarak devre dışı bırakır. +- Canlı CLI arka uç smoke testi artık Claude, Codex ve Gemini için aynı uçtan uca akışı uygular: metin turu, image sınıflandırma turu, ardından gateway CLI üzerinden doğrulanan MCP `cron` araç çağrısı. +- Claude’un varsayılan smoke testi ayrıca oturumu Sonnet’ten Opus’a yamalar ve sürdürülmüş oturumun daha önceki bir notu hâlâ hatırladığını doğrular. -## Canlı: ACP bağlama smoke testi (`/acp spawn ... --bind here`) +## Canlı: APNs HTTP/2 proxy erişilebilirliği + +- Test: `src/infra/push-apns-http2.live.test.ts` +- Amaç: yerel bir HTTP CONNECT proxy üzerinden Apple’ın sandbox APNs uç noktasına tünel açmak, APNs HTTP/2 doğrulama isteğini göndermek ve Apple’ın gerçek `403 InvalidProviderToken` yanıtının proxy yolu üzerinden geri geldiğini doğrulamak. +- Etkinleştirme: + - `OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_APNS_REACHABILITY=1 pnpm test:live src/infra/push-apns-http2.live.test.ts` +- İsteğe bağlı zaman aşımı: + - `OPENCLAW_LIVE_APNS_TIMEOUT_MS=30000` + +## Canlı: ACP bind smoke testi (`/acp spawn ... --bind here`) - Test: `src/gateway/gateway-acp-bind.live.test.ts` -- Hedef: canlı bir ACP aracısıyla gerçek ACP konuşma bağlama akışını doğrulamak: +- Hedef: canlı bir ACP ajanıyla gerçek ACP konuşma bağlama akışını doğrulamak: - `/acp spawn --bind here` gönder - sentetik bir mesaj kanalı konuşmasını yerinde bağla - aynı konuşmada normal bir takip mesajı gönder - - takip mesajının bağlı ACP oturumu dökümüne ulaştığını doğrula -- Etkinleştirme: + - takip mesajının bağlı ACP oturumu transkriptine ulaştığını doğrula +- Etkinleştir: - `pnpm test:live src/gateway/gateway-acp-bind.live.test.ts` - `OPENCLAW_LIVE_ACP_BIND=1` - Varsayılanlar: - - Docker içindeki ACP aracıları: `claude,codex,gemini` - - Doğrudan `pnpm test:live ...` için ACP aracısı: `claude` + - Docker içindeki ACP ajanları: `claude,codex,gemini` + - Doğrudan `pnpm test:live ...` için ACP ajanı: `claude` - Sentetik kanal: Slack DM tarzı konuşma bağlamı - ACP arka ucu: `acpx` - Geçersiz kılmalar: @@ -239,9 +248,9 @@ Notlar: - `OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1` - `OPENCLAW_LIVE_ACP_BIND_PARENT_MODEL=openai/gpt-5.5` - Notlar: - - Bu hat, testlerin dışarıya teslim ediyormuş gibi yapmadan mesaj kanalı bağlamı ekleyebilmesi için yalnızca yöneticiye açık sentetik kaynak rota alanlarıyla Gateway `chat.send` yüzeyini kullanır. - - `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND` ayarlanmamışsa test, seçili ACP koşum aracısı için gömülü `acpx` Plugin'inin yerleşik aracı kaydını kullanır. - - Bağlı oturum Cron MCP oluşturma varsayılan olarak en iyi çaba esaslıdır, çünkü harici ACP koşumları bağlama/görüntü kanıtı geçtikten sonra MCP çağrılarını iptal edebilir; bağlama sonrası Cron yoklamasını katı hale getirmek için `OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1` ayarlayın. + - Bu hat, testlerin dışarıya teslim ediyor gibi davranmadan mesaj kanalı bağlamı ekleyebilmesi için yalnızca yöneticilere açık sentetik kaynak rota alanlarıyla Gateway `chat.send` yüzeyini kullanır. + - `OPENCLAW_LIVE_ACP_BIND_AGENT_COMMAND` ayarlanmamışsa test, seçilen ACP donanım ajanı için gömülü `acpx` Plugin'inin yerleşik ajan kayıt defterini kullanır. + - Bağlı oturum Cron MCP oluşturma varsayılan olarak en iyi çaba şeklindedir, çünkü harici ACP donanımları bağlama/görüntü kanıtı geçtikten sonra MCP çağrılarını iptal edebilir; bağlama sonrası Cron yoklamasını katı hale getirmek için `OPENCLAW_LIVE_ACP_BIND_REQUIRE_CRON=1` ayarlayın. Örnek: @@ -257,7 +266,7 @@ Docker tarifi: pnpm test:docker:live-acp-bind ``` -Tek aracılı Docker tarifleri: +Tek ajanlı Docker tarifleri: ```bash pnpm test:docker:live-acp-bind:claude @@ -270,32 +279,36 @@ pnpm test:docker:live-acp-bind:opencode Docker notları: - Docker çalıştırıcısı `scripts/test-live-acp-bind-docker.sh` konumundadır. -- Varsayılan olarak ACP bağlama duman testini toplu canlı CLI aracılarına sırasıyla karşı çalıştırır: `claude`, `codex`, ardından `gemini`. +- Varsayılan olarak ACP bağlama smoke testini toplu canlı CLI ajanlarına sırasıyla karşı çalıştırır: `claude`, `codex`, ardından `gemini`. - Matrisi daraltmak için `OPENCLAW_LIVE_ACP_BIND_AGENTS=claude`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=codex`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=droid`, `OPENCLAW_LIVE_ACP_BIND_AGENTS=gemini` veya `OPENCLAW_LIVE_ACP_BIND_AGENTS=opencode` kullanın. -- `~/.profile` dosyasını kaynak olarak alır, eşleşen CLI kimlik doğrulama materyalini konteynere hazırlar, ardından eksikse istenen canlı CLI'yi (`@anthropic-ai/claude-code`, `@openai/codex`, Factory Droid via `https://app.factory.ai/cli`, `@google/gemini-cli` veya `opencode-ai`) kurar. ACP arka ucunun kendisi, resmi `acpx` Plugin'inden gömülü `acpx/runtime` paketidir. -- Droid Docker varyantı ayarlar için `~/.factory` hazırlar, `FACTORY_API_KEY` iletir ve yerel Factory OAuth/keyring kimlik doğrulaması konteynere taşınabilir olmadığından bu API anahtarını gerektirir. ACPX'in yerleşik `droid exec --output-format acp` kayıt girdisini kullanır. -- OpenCode Docker varyantı katı bir tek aracılı regresyon hattıdır. `~/.profile` kaynak olarak alındıktan sonra `OPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL` üzerinden geçici bir `OPENCODE_CONFIG_CONTENT` varsayılan modeli yazar (varsayılan `opencode/kimi-k2.6`) ve `pnpm test:docker:live-acp-bind:opencode`, genel bağlama sonrası atlamayı kabul etmek yerine bağlı bir asistan dökümü gerektirir. -- Doğrudan `acpx` CLI çağrıları yalnızca Gateway dışındaki davranışı karşılaştırmak için manuel/geçici çözüm yoludur. Docker ACP bağlama duman testi OpenClaw'ın gömülü `acpx` çalışma zamanı arka ucunu çalıştırır. +- `~/.profile` dosyasını kaynak olarak alır, eşleşen CLI kimlik doğrulama materyalini kapsayıcıya hazırlar, ardından istenen canlı CLI'yi (`@anthropic-ai/claude-code`, `@openai/codex`, `https://app.factory.ai/cli` üzerinden Factory Droid, `@google/gemini-cli` veya `opencode-ai`) eksikse yükler. ACP arka ucunun kendisi resmi `acpx` Plugin'inden gömülü `acpx/runtime` paketidir. +- Droid Docker varyantı ayarlar için `~/.factory` dosyasını hazırlar, `FACTORY_API_KEY` değerini iletir ve yerel Factory OAuth/keyring kimlik doğrulaması kapsayıcıya taşınabilir olmadığı için bu API anahtarını gerektirir. ACPX'in yerleşik `droid exec --output-format acp` kayıt defteri girdisini kullanır. +- OpenCode Docker varyantı katı bir tek ajan regresyon hattıdır. `~/.profile` kaynak olarak alındıktan sonra `OPENCLAW_LIVE_ACP_BIND_OPENCODE_MODEL` değerinden (varsayılan `opencode/kimi-k2.6`) geçici bir `OPENCODE_CONFIG_CONTENT` varsayılan modeli yazar ve `pnpm test:docker:live-acp-bind:opencode`, genel bağlama sonrası atlamayı kabul etmek yerine bağlı bir asistan transkripti gerektirir. +- Doğrudan `acpx` CLI çağrıları yalnızca Gateway dışındaki davranışı karşılaştırmak için manuel/geçici çözüm yoludur. Docker ACP bağlama smoke testi, OpenClaw'un gömülü `acpx` çalışma zamanı arka ucunu çalıştırır. -## Canlı: Codex uygulama sunucusu koşumu duman testi +## Canlı: Codex app-server donanımı smoke testi -- Hedef: Plugin'e ait Codex koşumunu normal gateway +- Hedef: Plugin'e ait Codex donanımını normal Gateway `agent` yöntemi üzerinden doğrulamak: - paketlenmiş `codex` Plugin'ini yükle - `OPENCLAW_AGENT_RUNTIME=codex` seç - - Codex koşumu zorunlu kılınmış şekilde `openai/gpt-5.5` hedefine ilk gateway aracı turunu gönder - - aynı OpenClaw oturumuna ikinci bir tur gönder ve uygulama sunucusu - iş parçacığının sürdürülebildiğini doğrula - - aynı gateway komut yolu üzerinden `/codex status` ve `/codex models` çalıştır - - isteğe bağlı olarak Guardian tarafından incelenen iki yükseltilmiş kabuk yoklaması çalıştır: onaylanması gereken zararsız bir komut ve reddedilmesi gereken sahte gizli bilgi yüklemesi, böylece aracı geri soru sorar + - Codex donanımı zorunlu kılınmış olarak `openai/gpt-5.5` modeline ilk Gateway ajan turunu gönder + - aynı OpenClaw oturumuna ikinci bir tur gönder ve app-server + iş parçacığının devam edebildiğini doğrula + - aynı Gateway komut yolu üzerinden `/codex status` ve `/codex models` çalıştır + - isteğe bağlı olarak Guardian incelemeli iki yükseltilmiş kabuk yoklaması çalıştır: onaylanması gereken zararsız + bir komut ve reddedilmesi gereken sahte gizli bilgi yüklemesi, böylece ajan geri soru sorar - Test: `src/gateway/gateway-codex-harness.live.test.ts` -- Etkinleştirme: `OPENCLAW_LIVE_CODEX_HARNESS=1` +- Etkinleştir: `OPENCLAW_LIVE_CODEX_HARNESS=1` - Varsayılan model: `openai/gpt-5.5` - İsteğe bağlı görüntü yoklaması: `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=1` - İsteğe bağlı MCP/araç yoklaması: `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=1` - İsteğe bağlı Guardian yoklaması: `OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=1` -- Duman testi `agentRuntime.id: "codex"` kullanır; böylece bozuk bir Codex koşumu sessizce PI'ye geri düşerek geçemez. -- Kimlik doğrulama: Yerel Codex abonelik oturum açmasından Codex uygulama sunucusu kimlik doğrulaması. Docker duman testleri, geçerli olduğunda Codex dışı yoklamalar için `OPENAI_API_KEY` ve isteğe bağlı kopyalanmış `~/.codex/auth.json` ile `~/.codex/config.toml` da sağlayabilir. +- Smoke testi `agentRuntime.id: "codex"` kullanır; böylece bozuk bir Codex donanımı + sessizce PI'a geri düşerek geçemez. +- Kimlik doğrulama: yerel Codex abonelik oturum açmasından Codex app-server kimlik doğrulaması. Docker + smoke testleri, uygulanabilir olduğunda Codex dışı yoklamalar için `OPENAI_API_KEY` de sağlayabilir; + ayrıca isteğe bağlı olarak kopyalanmış `~/.codex/auth.json` ve `~/.codex/config.toml` dosyaları kullanılabilir. Yerel tarif: @@ -319,48 +332,54 @@ pnpm test:docker:live-codex-harness Docker notları: - Docker çalıştırıcısı `scripts/test-live-codex-harness-docker.sh` konumundadır. -- Bağlanan `~/.profile` dosyasını kaynak olarak alır, `OPENAI_API_KEY` iletir, mevcut olduğunda Codex CLI kimlik doğrulama dosyalarını kopyalar, `@openai/codex` paketini yazılabilir bağlı bir npm ön ekine kurar, kaynak ağacını hazırlar ve ardından yalnızca Codex koşumu canlı testini çalıştırır. -- Docker varsayılan olarak görüntü, MCP/araç ve Guardian yoklamalarını etkinleştirir. Daha dar bir hata ayıklama çalıştırmasına ihtiyaç duyduğunuzda `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0` veya `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0` veya `OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0` ayarlayın. -- Docker aynı açık Codex çalışma zamanı yapılandırmasını kullanır; bu nedenle eski takma adlar veya PI geri dönüşü bir Codex koşumu regresyonunu gizleyemez. +- Bağlanmış `~/.profile` dosyasını kaynak olarak alır, `OPENAI_API_KEY` değerini geçirir, varsa Codex CLI + kimlik doğrulama dosyalarını kopyalar, `@openai/codex` paketini yazılabilir bağlı bir npm + önekine yükler, kaynak ağacını hazırlar, ardından yalnızca Codex donanımı canlı testini çalıştırır. +- Docker varsayılan olarak görüntü, MCP/araç ve Guardian yoklamalarını etkinleştirir. Daha dar bir hata ayıklama + çalıştırması gerektiğinde `OPENCLAW_LIVE_CODEX_HARNESS_IMAGE_PROBE=0` veya + `OPENCLAW_LIVE_CODEX_HARNESS_MCP_PROBE=0` ya da + `OPENCLAW_LIVE_CODEX_HARNESS_GUARDIAN_PROBE=0` ayarlayın. +- Docker aynı açık Codex çalışma zamanı yapılandırmasını kullanır; bu nedenle eski takma adlar veya PI + geri dönüşü bir Codex donanımı regresyonunu gizleyemez. ### Önerilen canlı tarifler -Dar ve açık izin listeleri en hızlı ve en az kırılgandır: +Dar, açık izin listeleri en hızlı ve en az kırılgan olanlardır: -- Tek model, doğrudan (gateway yok): +- Tek model, doğrudan (Gateway yok): - `OPENCLAW_LIVE_MODELS="openai/gpt-5.5" pnpm test:live src/agents/models.profiles.live.test.ts` -- Tek model, gateway duman testi: +- Tek model, Gateway smoke testi: - `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` -- Birkaç sağlayıcı genelinde araç çağırma: +- Birkaç sağlayıcıda araç çağırma: - `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,google/gemini-3-flash-preview,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` - Google odağı (Gemini API anahtarı + Antigravity): - Gemini (API anahtarı): `OPENCLAW_LIVE_GATEWAY_MODELS="google/gemini-3-flash-preview" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` - Antigravity (OAuth): `OPENCLAW_LIVE_GATEWAY_MODELS="google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-pro-high" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` -- Google uyarlamalı düşünme duman testi: +- Google uyarlamalı düşünme smoke testi: - Yerel anahtarlar kabuk profilindeyse: `source ~/.profile` - - Gemini 3 dinamik varsayılanı: `pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-3.1-pro-preview --alt-model google/gemini-3.1-pro-preview --message '/think adaptive Reply exactly: GEMINI_ADAPTIVE_OK' --timeout-ms 180000` - - Gemini 2.5 dinamik bütçesi: `pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-2.5-flash --alt-model google/gemini-2.5-flash --message '/think adaptive Reply exactly: GEMINI25_ADAPTIVE_OK' --timeout-ms 180000` + - Gemini 3 dinamik varsayılan: `pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-3.1-pro-preview --alt-model google/gemini-3.1-pro-preview --message '/think adaptive Reply exactly: GEMINI_ADAPTIVE_OK' --timeout-ms 180000` + - Gemini 2.5 dinamik bütçe: `pnpm openclaw qa manual --provider-mode live-frontier --model google/gemini-2.5-flash --alt-model google/gemini-2.5-flash --message '/think adaptive Reply exactly: GEMINI25_ADAPTIVE_OK' --timeout-ms 180000` Notlar: - `google/...` Gemini API'sini kullanır (API anahtarı). -- `google-antigravity/...` Antigravity OAuth köprüsünü kullanır (Cloud Code Assist tarzı aracı uç noktası). -- `google-gemini-cli/...` makinenizdeki yerel Gemini CLI'yi kullanır (ayrı kimlik doğrulama + araç kullanımı özellikleri). -- Gemini API ile Gemini CLI karşılaştırması: - - API: OpenClaw, Google'ın barındırılan Gemini API'sini HTTP üzerinden çağırır (API anahtarı / profil kimlik doğrulaması); çoğu kullanıcının “Gemini” derken kastettiği budur. - - CLI: OpenClaw yerel bir `gemini` ikilisine kabuk üzerinden çağrı yapar; kendi kimlik doğrulaması vardır ve farklı davranabilir (akış/araç desteği/sürüm uyumsuzluğu). +- `google-antigravity/...` Antigravity OAuth köprüsünü kullanır (Cloud Code Assist tarzı ajan uç noktası). +- `google-gemini-cli/...` makinenizdeki yerel Gemini CLI'yi kullanır (ayrı kimlik doğrulama + araç kullanımı ayrıntıları). +- Gemini API ile Gemini CLI: + - API: OpenClaw, HTTP üzerinden Google'ın barındırılan Gemini API'sini çağırır (API anahtarı / profil kimlik doğrulaması); çoğu kullanıcının “Gemini” derken kastettiği budur. + - CLI: OpenClaw yerel bir `gemini` ikili dosyasını kabukta çalıştırır; kendi kimlik doğrulaması vardır ve farklı davranabilir (akış/araç desteği/sürüm uyuşmazlığı). ## Canlı: model matrisi (kapsadıklarımız) -Sabit bir “CI model listesi” yoktur (canlı isteğe bağlıdır), ancak bunlar anahtarları olan bir geliştirme makinesinde düzenli olarak kapsanması **önerilen** modellerdir. +Sabit bir “CI model listesi” yoktur (canlı testler isteğe bağlıdır), ancak anahtarları olan bir geliştirme makinesinde düzenli olarak kapsanması **önerilen** modeller şunlardır. -### Modern duman testi kümesi (araç çağırma + görüntü) +### Modern smoke seti (araç çağırma + görüntü) -Bu, çalışır durumda tutmayı beklediğimiz “yaygın modeller” çalıştırmasıdır: +Çalışır durumda kalmasını beklediğimiz “yaygın modeller” çalıştırması budur: - OpenAI (Codex dışı): `openai/gpt-5.5` - OpenAI Codex OAuth: `openai-codex/gpt-5.5` @@ -371,12 +390,12 @@ Bu, çalışır durumda tutmayı beklediğimiz “yaygın modeller” çalışt - Z.AI (GLM): `zai/glm-5.1` - MiniMax: `minimax/MiniMax-M2.7` -Araçlar + görüntü ile gateway duman testini çalıştırın: +Gateway smoke testini araçlar + görüntü ile çalıştır: `OPENCLAW_LIVE_GATEWAY_MODELS="openai/gpt-5.5,openai-codex/gpt-5.5,anthropic/claude-opus-4-6,google/gemini-3.1-pro-preview,google/gemini-3-flash-preview,google-antigravity/claude-opus-4-6-thinking,google-antigravity/gemini-3-flash,deepseek/deepseek-v4-flash,zai/glm-5.1,minimax/MiniMax-M2.7" pnpm test:live src/gateway/gateway-models.profiles.live.test.ts` -### Temel çizgi: araç çağırma (Read + isteğe bağlı Exec) +### Temel seviye: araç çağırma (Read + isteğe bağlı Exec) -Her sağlayıcı ailesinden en az birini seçin: +Her sağlayıcı ailesinden en az bir tane seçin: - OpenAI: `openai/gpt-5.5` - Anthropic: `anthropic/claude-opus-4-6` (veya `anthropic/claude-sonnet-4-6`) @@ -387,29 +406,29 @@ Her sağlayıcı ailesinden en az birini seçin: İsteğe bağlı ek kapsam (olması iyi olur): -- xAI: `xai/grok-4.3` (veya mevcut en yeni) +- xAI: `xai/grok-4.3` (veya mevcut en yeni sürüm) - Mistral: `mistral/`… (etkinleştirdiğiniz “tools” yetenekli bir model seçin) - Cerebras: `cerebras/`… (erişiminiz varsa) - LM Studio: `lmstudio/`… (yerel; araç çağırma API moduna bağlıdır) -### Görü: görüntü gönderme (ek → çok modlu mesaj) +### Vision: görüntü gönderimi (ek → çok modlu mesaj) -Görüntü yoklamasını çalıştırmak için `OPENCLAW_LIVE_GATEWAY_MODELS` içine en az bir görüntü yetenekli model ekleyin (Claude/Gemini/OpenAI görüntü yetenekli varyantları vb.). +Görüntü yoklamasını çalıştırmak için `OPENCLAW_LIVE_GATEWAY_MODELS` içine en az bir görüntü yetenekli model ekleyin (Claude/Gemini/OpenAI vision yetenekli varyantları vb.). -### Toplayıcılar / alternatif gateway'ler +### Toplayıcılar / alternatif Gateway'ler -Anahtarlarınız etkinse şu yollarla testi de destekleriz: +Anahtarlarınız etkinse şunlar üzerinden testi de destekliyoruz: - OpenRouter: `openrouter/...` (yüzlerce model; araç+görüntü yetenekli adayları bulmak için `openclaw models scan` kullanın) -- OpenCode: Zen için `opencode/...` ve Go için `opencode-go/...` (`OPENCODE_API_KEY` / `OPENCODE_ZEN_API_KEY` ile kimlik doğrulama) +- OpenCode: Zen için `opencode/...` ve Go için `opencode-go/...` (`OPENCODE_API_KEY` / `OPENCODE_ZEN_API_KEY` üzerinden kimlik doğrulama) Canlı matrise ekleyebileceğiniz daha fazla sağlayıcı (kimlik bilgileriniz/yapılandırmanız varsa): - Yerleşik: `openai`, `openai-codex`, `anthropic`, `google`, `google-vertex`, `google-antigravity`, `google-gemini-cli`, `zai`, `openrouter`, `opencode`, `opencode-go`, `xai`, `groq`, `cerebras`, `mistral`, `github-copilot` -- `models.providers` üzerinden (özel uç noktalar): `minimax` (bulut/API), artı OpenAI/Anthropic uyumlu herhangi bir proxy (LM Studio, vLLM, LiteLLM vb.) +- `models.providers` üzerinden (özel uç noktalar): `minimax` (bulut/API), ayrıca herhangi bir OpenAI/Anthropic uyumlu proxy (LM Studio, vLLM, LiteLLM vb.) -Belgelerde "all models" sabit kodlamayın. Yetkili liste, makinenizde `discoverModels(...)` ne döndürüyorsa ve hangi anahtarlar mevcutsa odur. +Belgelerde "all models" değerini sabit kodlamayın. Yetkili liste, makinenizde `discoverModels(...)` tarafından döndürülenler ve mevcut anahtarlardır. ## Kimlik bilgileri (asla commit etmeyin) @@ -417,14 +436,14 @@ Belgelerde "all models" sabit kodlamayın. Yetkili liste, makinenizde `discoverM Canlı testler kimlik bilgilerini CLI ile aynı şekilde keşfeder. Pratik sonuçlar: - CLI çalışıyorsa, canlı testler aynı anahtarları bulmalıdır. -- Bir canlı test “kimlik bilgisi yok” diyorsa, `openclaw models list` / model seçimi sorununu nasıl ayıklıyorsanız aynı şekilde ayıklayın. +- Bir canlı test “no creds” diyorsa, `openclaw models list` / model seçimi için hata ayıklarken kullanacağınız aynı yöntemle hata ayıklayın. -- Aracı başına kimlik doğrulama profilleri: `~/.openclaw/agents//agent/auth-profiles.json` (canlı testlerde “profil anahtarları” ile kastedilen budur) +- Ajan başına kimlik doğrulama profilleri: `~/.openclaw/agents//agent/auth-profiles.json` (canlı testlerde “profile keys” ifadesi bunun anlamına gelir) - Yapılandırma: `~/.openclaw/openclaw.json` (veya `OPENCLAW_CONFIG_PATH`) -- Eski durum dizini: `~/.openclaw/credentials/` (varsa aşamalanmış canlı ana dizine kopyalanır, ancak ana profil anahtarı deposu değildir) -- Canlı yerel çalıştırmalar varsayılan olarak etkin yapılandırmayı, aracı başına `auth-profiles.json` dosyalarını, eski `credentials/` dizinini ve desteklenen harici CLI kimlik doğrulama dizinlerini geçici bir test ana dizinine kopyalar; aşamalanmış canlı ana dizinler `workspace/` ve `sandboxes/` dizinlerini atlar, ayrıca `agents.*.workspace` / `agentDir` yol geçersiz kılmaları kaldırılır, böylece yoklamalar gerçek ana makine çalışma alanınızdan uzak kalır. +- Eski durum dizini: `~/.openclaw/credentials/` (var olduğunda hazırlanmış canlı home içine kopyalanır, ancak ana profil anahtarı deposu değildir) +- Canlı yerel çalıştırmalar varsayılan olarak etkin yapılandırmayı, ajan başına `auth-profiles.json` dosyalarını, eski `credentials/` dizinini ve desteklenen harici CLI kimlik doğrulama dizinlerini geçici bir test home içine kopyalar; hazırlanmış canlı home'lar `workspace/` ve `sandboxes/` dizinlerini atlar ve probların gerçek ana makine çalışma alanınızdan uzak kalması için `agents.*.workspace` / `agentDir` yol geçersiz kılmaları çıkarılır. -Env anahtarlarına güvenmek istiyorsanız (ör. `~/.profile` içinde dışa aktarılmışsa), yerel testleri `source ~/.profile` sonrasında çalıştırın veya aşağıdaki Docker çalıştırıcılarını kullanın (bunlar `~/.profile` dosyasını konteyner içine bağlayabilir). +Env anahtarlarına güvenmek istiyorsanız (ör. `~/.profile` içinde dışa aktarılmış), yerel testleri `source ~/.profile` sonrasında çalıştırın veya aşağıdaki Docker çalıştırıcılarını kullanın (bunlar `~/.profile` dosyasını container içine bağlayabilir). ## Deepgram canlı (ses transkripsiyonu) @@ -442,24 +461,24 @@ Env anahtarlarına güvenmek istiyorsanız (ör. `~/.profile` içinde dışa akt - Test: `extensions/comfy/comfy.live.test.ts` - Etkinleştirme: `OPENCLAW_LIVE_TEST=1 COMFY_LIVE_TEST=1 pnpm test:live -- extensions/comfy/comfy.live.test.ts` - Kapsam: - - Paketlenmiş comfy görüntü, video ve `music_generate` yollarını çalıştırır - - `plugins.entries.comfy.config.` yapılandırılmadıkça her yeteneği atlar - - comfy iş akışı gönderimi, yoklama, indirmeler veya Plugin kaydı değiştirildikten sonra kullanışlıdır + - Yerleşik comfy görüntü, video ve `music_generate` yollarını çalıştırır + - `plugins.entries.comfy.config.` yapılandırılmadığı sürece her yeteneği atlar + - Comfy iş akışı gönderimi, yoklama, indirmeler veya Plugin kaydı değiştirildikten sonra kullanışlıdır -## Görüntü oluşturma canlı +## Görüntü üretimi canlı - Test: `test/image-generation.runtime.live.test.ts` - Komut: `pnpm test:live test/image-generation.runtime.live.test.ts` -- Donanım: `pnpm test:live:media image` +- Çalıştırma düzeneği: `pnpm test:live:media image` - Kapsam: - - Kayıtlı her görüntü oluşturma sağlayıcı Plugin'ini listeler - - Yoklama öncesinde eksik sağlayıcı env değişkenlerini oturum açma kabuğunuzdan (`~/.profile`) yükler - - Varsayılan olarak depolanmış kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır, böylece `auth-profiles.json` içindeki bayat test anahtarları gerçek kabuk kimlik bilgilerini maskelemez + - Kayıtlı her görüntü üretimi sağlayıcı Plugin'ini listeler + - Prob yapmadan önce eksik sağlayıcı env değişkenlerini oturum açma shell'inizden (`~/.profile`) yükler + - Varsayılan olarak saklanan kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır, böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez - Kullanılabilir kimlik doğrulaması/profili/modeli olmayan sağlayıcıları atlar - - Yapılandırılmış her sağlayıcıyı paylaşılan görüntü oluşturma çalışma zamanı üzerinden çalıştırır: + - Yapılandırılmış her sağlayıcıyı paylaşılan görüntü üretimi runtime'ı üzerinden çalıştırır: - `:generate` - Sağlayıcı düzenleme desteği bildirdiğinde `:edit` -- Kapsanan güncel paketli sağlayıcılar: +- Kapsanan mevcut yerleşik sağlayıcılar: - `deepinfra` - `fal` - `google` @@ -476,7 +495,7 @@ Env anahtarlarına güvenmek istiyorsanız (ör. `~/.profile` içinde dışa akt - İsteğe bağlı kimlik doğrulama davranışı: - Profil deposu kimlik doğrulamasını zorunlu kılmak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` -Gönderilen CLI yolu için, sağlayıcı/çalışma zamanı canlı testi geçtikten sonra bir `infer` smoke ekleyin: +Gönderilen CLI yolu için, sağlayıcı/runtime canlı testi geçtikten sonra bir `infer` duman testi ekleyin: ```bash OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_INFER_CLI_TEST=1 pnpm test:live -- test/image-generation.infer-cli.live.test.ts @@ -488,23 +507,23 @@ openclaw infer image generate \ --json ``` -Bu, CLI argüman ayrıştırmayı, yapılandırma/varsayılan aracı çözümlemeyi, paketlenmiş Plugin etkinleştirmeyi, paylaşılan görüntü oluşturma çalışma zamanını ve canlı sağlayıcı isteğini kapsar. Plugin bağımlılıklarının çalışma zamanı yüklemesinden önce mevcut olması beklenir. +Bu, CLI argüman ayrıştırmasını, yapılandırma/varsayılan ajan çözümlemeyi, yerleşik Plugin etkinleştirmeyi, paylaşılan görüntü üretimi runtime'ını ve canlı sağlayıcı isteğini kapsar. Plugin bağımlılıklarının runtime yüklemesinden önce mevcut olması beklenir. -## Müzik oluşturma canlı +## Müzik üretimi canlı - Test: `extensions/music-generation-providers.live.test.ts` - Etkinleştirme: `OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/music-generation-providers.live.test.ts` -- Donanım: `pnpm test:live:media music` +- Çalıştırma düzeneği: `pnpm test:live:media music` - Kapsam: - - Paylaşılan paketli müzik oluşturma sağlayıcı yolunu çalıştırır + - Paylaşılan yerleşik müzik üretimi sağlayıcı yolunu çalıştırır - Şu anda Google ve MiniMax'i kapsar - - Yoklama öncesinde sağlayıcı env değişkenlerini oturum açma kabuğunuzdan (`~/.profile`) yükler - - Varsayılan olarak depolanmış kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır, böylece `auth-profiles.json` içindeki bayat test anahtarları gerçek kabuk kimlik bilgilerini maskelemez + - Prob yapmadan önce sağlayıcı env değişkenlerini oturum açma shell'inizden (`~/.profile`) yükler + - Varsayılan olarak saklanan kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır, böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez - Kullanılabilir kimlik doğrulaması/profili/modeli olmayan sağlayıcıları atlar - - Mevcut olduğunda bildirilen iki çalışma zamanı modunu da çalıştırır: - - Yalnızca istem girdisiyle `generate` + - Mevcut olduğunda bildirilen her iki runtime modunu çalıştırır: + - Yalnızca prompt girişli `generate` - Sağlayıcı `capabilities.edit.enabled` bildirdiğinde `edit` - - Güncel paylaşılan hat kapsamı: + - Mevcut paylaşılan kulvar kapsamı: - `google`: `generate`, `edit` - `minimax`: `generate` - `comfy`: ayrı Comfy canlı dosyası, bu paylaşılan tarama değil @@ -514,49 +533,49 @@ Bu, CLI argüman ayrıştırmayı, yapılandırma/varsayılan aracı çözümlem - İsteğe bağlı kimlik doğrulama davranışı: - Profil deposu kimlik doğrulamasını zorunlu kılmak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` -## Video oluşturma canlı +## Video üretimi canlı - Test: `extensions/video-generation-providers.live.test.ts` - Etkinleştirme: `OPENCLAW_LIVE_TEST=1 pnpm test:live -- extensions/video-generation-providers.live.test.ts` -- Donanım: `pnpm test:live:media video` +- Çalıştırma düzeneği: `pnpm test:live:media video` - Kapsam: - - Paylaşılan paketli video oluşturma sağlayıcı yolunu çalıştırır - - Varsayılan olarak sürüm için güvenli smoke yolunu kullanır: FAL dışı sağlayıcılar, sağlayıcı başına bir metinden videoya isteği, bir saniyelik ıstakoz istemi ve `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS` değerinden sağlayıcı başına işlem sınırı (varsayılan olarak `180000`) - - Sağlayıcı tarafı kuyruk gecikmesi sürüm süresini baskılayabildiği için FAL varsayılan olarak atlanır; açıkça çalıştırmak için `--video-providers fal` veya `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"` iletin - - Yoklama öncesinde sağlayıcı env değişkenlerini oturum açma kabuğunuzdan (`~/.profile`) yükler - - Varsayılan olarak depolanmış kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır, böylece `auth-profiles.json` içindeki bayat test anahtarları gerçek kabuk kimlik bilgilerini maskelemez + - Paylaşılan yerleşik video üretimi sağlayıcı yolunu çalıştırır + - Varsayılan olarak sürüm için güvenli duman testi yolunu kullanır: FAL olmayan sağlayıcılar, sağlayıcı başına bir metinden videoya isteği, bir saniyelik lobster prompt'u ve `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS` üzerinden sağlayıcı başına işlem sınırı (varsayılan `180000`) + - Sağlayıcı tarafındaki kuyruk gecikmesi sürüm süresine baskın olabileceği için varsayılan olarak FAL'ı atlar; açıkça çalıştırmak için `--video-providers fal` veya `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="fal"` iletin + - Prob yapmadan önce sağlayıcı env değişkenlerini oturum açma shell'inizden (`~/.profile`) yükler + - Varsayılan olarak saklanan kimlik doğrulama profillerinden önce canlı/env API anahtarlarını kullanır, böylece `auth-profiles.json` içindeki eski test anahtarları gerçek shell kimlik bilgilerini maskelemez - Kullanılabilir kimlik doğrulaması/profili/modeli olmayan sağlayıcıları atlar - Varsayılan olarak yalnızca `generate` çalıştırır - Mevcut olduğunda bildirilen dönüştürme modlarını da çalıştırmak için `OPENCLAW_LIVE_VIDEO_GENERATION_FULL_MODES=1` ayarlayın: - - Sağlayıcı `capabilities.imageToVideo.enabled` bildirdiğinde ve seçili sağlayıcı/model paylaşılan taramada arabellek destekli yerel görüntü girdisini kabul ettiğinde `imageToVideo` - - Sağlayıcı `capabilities.videoToVideo.enabled` bildirdiğinde ve seçili sağlayıcı/model paylaşılan taramada arabellek destekli yerel video girdisini kabul ettiğinde `videoToVideo` - - Paylaşılan taramada güncel bildirilen ama atlanan `imageToVideo` sağlayıcıları: - - Paketli `veo3` yalnızca metin olduğu ve paketli `kling` uzak bir görüntü URL'si gerektirdiği için `vydra` + - Sağlayıcı `capabilities.imageToVideo.enabled` bildirdiğinde ve seçili sağlayıcı/model paylaşılan taramada buffer destekli yerel görüntü girişini kabul ettiğinde `imageToVideo` + - Sağlayıcı `capabilities.videoToVideo.enabled` bildirdiğinde ve seçili sağlayıcı/model paylaşılan taramada buffer destekli yerel video girişini kabul ettiğinde `videoToVideo` + - Paylaşılan taramada mevcut bildirilen-ancak-atlanan `imageToVideo` sağlayıcıları: + - `vydra`, çünkü yerleşik `veo3` yalnızca metin desteklidir ve yerleşik `kling` uzak bir görüntü URL'si gerektirir - Sağlayıcıya özgü Vydra kapsamı: - `OPENCLAW_LIVE_TEST=1 OPENCLAW_LIVE_VYDRA_VIDEO=1 pnpm test:live -- extensions/vydra/vydra.live.test.ts` - - Bu dosya, `veo3` metinden videoya ve varsayılan olarak uzak görüntü URL fikstürü kullanan bir `kling` hattı çalıştırır - - Güncel `videoToVideo` canlı kapsamı: - - Yalnızca seçili model `runway/gen4_aleph` olduğunda `runway` - - Paylaşılan taramada güncel bildirilen ama atlanan `videoToVideo` sağlayıcıları: - - Bu yollar şu anda uzak `http(s)` / MP4 referans URL'leri gerektirdiği için `alibaba`, `qwen`, `xai` - - Güncel paylaşılan Gemini/Veo hattı yerel arabellek destekli girdi kullandığı ve bu yol paylaşılan taramada kabul edilmediği için `google` - - Güncel paylaşılan hatta kuruluşa özgü video inpaint/remix erişim garantileri bulunmadığı için `openai` + - bu dosya varsayılan olarak `veo3` metinden videoya ve uzak görüntü URL fikstürü kullanan bir `kling` kulvarı çalıştırır + - Mevcut `videoToVideo` canlı kapsamı: + - yalnızca seçili model `runway/gen4_aleph` olduğunda `runway` + - Paylaşılan taramada mevcut bildirilen-ancak-atlanan `videoToVideo` sağlayıcıları: + - `alibaba`, `qwen`, `xai`, çünkü bu yollar şu anda uzak `http(s)` / MP4 referans URL'leri gerektirir + - `google`, çünkü mevcut paylaşılan Gemini/Veo kulvarı yerel buffer destekli giriş kullanır ve bu yol paylaşılan taramada kabul edilmez + - `openai`, çünkü mevcut paylaşılan kulvarda kuruluşa özgü video inpaint/remix erişim garantileri yoktur - İsteğe bağlı daraltma: - `OPENCLAW_LIVE_VIDEO_GENERATION_PROVIDERS="deepinfra,google,openai,runway"` - `OPENCLAW_LIVE_VIDEO_GENERATION_MODELS="google/veo-3.1-fast-generate-preview,openai/sora-2,runway/gen4_aleph"` - FAL dahil varsayılan taramadaki her sağlayıcıyı dahil etmek için `OPENCLAW_LIVE_VIDEO_GENERATION_SKIP_PROVIDERS=""` - - Agresif bir smoke çalıştırması için her sağlayıcı işlem sınırını azaltmak üzere `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000` + - Agresif bir duman testi çalıştırmasında her sağlayıcı işlem sınırını düşürmek için `OPENCLAW_LIVE_VIDEO_GENERATION_TIMEOUT_MS=60000` - İsteğe bağlı kimlik doğrulama davranışı: - Profil deposu kimlik doğrulamasını zorunlu kılmak ve yalnızca env geçersiz kılmalarını yok saymak için `OPENCLAW_LIVE_REQUIRE_PROFILE_KEYS=1` -## Medya canlı donanımı +## Medya canlı çalıştırma düzeneği - Komut: `pnpm test:live:media` - Amaç: - - Paylaşılan görüntü, müzik ve video canlı takımlarını tek bir repo yerel giriş noktası üzerinden çalıştırır - - Eksik sağlayıcı env değişkenlerini `~/.profile` içinden otomatik yükler - - Her takımı varsayılan olarak şu anda kullanılabilir kimlik doğrulaması olan sağlayıcılarla otomatik daraltır - - `scripts/test-live.mjs` dosyasını yeniden kullanır, böylece Heartbeat ve sessiz mod davranışı tutarlı kalır + - Paylaşılan görüntü, müzik ve video canlı paketlerini tek bir repo yerel giriş noktası üzerinden çalıştırır + - Eksik sağlayıcı env değişkenlerini `~/.profile` üzerinden otomatik yükler + - Her paketi varsayılan olarak şu anda kullanılabilir kimlik doğrulaması olan sağlayıcılara otomatik daraltır + - `scripts/test-live.mjs` öğesini yeniden kullanır, böylece Heartbeat ve sessiz mod davranışı tutarlı kalır - Örnekler: - `pnpm test:live:media` - `pnpm test:live:media image video --providers openai,google,minimax` @@ -565,4 +584,4 @@ Bu, CLI argüman ayrıştırmayı, yapılandırma/varsayılan aracı çözümlem ## İlgili -- [Test Etme](/tr/help/testing) — birim, entegrasyon, QA ve Docker takımları +- [Test Etme](/tr/help/testing) — birim, entegrasyon, QA ve Docker paketleri diff --git a/docs/tr/plugins/hooks.md b/docs/tr/plugins/hooks.md index 6ce2165d8..f79952c2a 100644 --- a/docs/tr/plugins/hooks.md +++ b/docs/tr/plugins/hooks.md @@ -1,26 +1,26 @@ --- read_when: - - before_tool_call, before_agent_reply, mesaj kancaları veya yaşam döngüsü kancaları gerektiren bir Plugin oluşturuyorsunuz - - Bir Plugin tarafından yapılan araç çağrılarını engellemeniz, yeniden yazmanız veya onay gerektirmeniz gerekir + - before_tool_call, before_agent_reply, mesaj kancaları veya yaşam döngüsü kancalarına ihtiyaç duyan bir Plugin oluşturuyorsunuz + - Bir Plugin'den gelen araç çağrılarını engellemeniz, yeniden yazmanız veya onay gerektirmeniz gerekir. - Dahili kancalar ile Plugin kancaları arasında karar veriyorsunuz -summary: 'Plugin hook''ları: agent, araç, mesaj, oturum ve Gateway yaşam döngüsü olaylarını yakalayın' +summary: 'Plugin kancaları: ajan, araç, mesaj, oturum ve Gateway yaşam döngüsü olaylarını yakalayın' title: Plugin kancaları x-i18n: - generated_at: "2026-05-03T21:36:28Z" + generated_at: "2026-05-04T18:23:54Z" model: gpt-5.5 provider: openai - source_hash: 2c4ed060f1b89917e1f2f46d2da9448cd562edbcd6ce03bc9b1a83da3ed9a591 + source_hash: 37c7273036463c87e478db5678822b676c89447caee65f2f3f47a45194d1e37b source_path: plugins/hooks.md workflow: 16 --- -Plugin hook'ları, OpenClaw Plugin'leri için işlem içi genişletme noktalarıdır. Bir Plugin'in agent çalıştırmalarını, tool çağrılarını, mesaj akışını, oturum yaşam döngüsünü, subagent yönlendirmesini, kurulumları veya Gateway başlangıcını incelemesi ya da değiştirmesi gerektiğinde bunları kullanın. +Plugin hook'ları, OpenClaw Plugin'leri için işlem içi genişletme noktalarıdır. Bir Plugin'in agent çalıştırmalarını, araç çağrılarını, mesaj akışını, oturum yaşam döngüsünü, subagent yönlendirmesini, kurulumları veya Gateway başlatmasını incelemesi ya da değiştirmesi gerektiğinde bunları kullanın. -`/new`, `/reset`, `/stop`, `agent:bootstrap` veya `gateway:startup` gibi komut ve Gateway olayları için operatör tarafından kurulmuş küçük bir `HOOK.md` betiği istiyorsanız bunun yerine [dahili hook'ları](/tr/automation/hooks) kullanın. +`/new`, `/reset`, `/stop`, `agent:bootstrap` veya `gateway:startup` gibi komut ve Gateway olayları için operatör tarafından kurulmuş küçük bir `HOOK.md` betiği istediğinizde bunun yerine [iç hook'ları](/tr/automation/hooks) kullanın. ## Hızlı başlangıç -Plugin girişinizden `api.on(...)` ile tiplenmiş Plugin hook'larını kaydedin: +Plugin girişinizden `api.on(...)` ile tipli Plugin hook'ları kaydedin: ```typescript import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; @@ -52,14 +52,14 @@ export default definePluginEntry({ }); ``` -Hook işleyicileri azalan `priority` sırasıyla ardışık çalışır. Aynı öncelikteki hook'lar kayıt sırasını korur. +Hook işleyicileri azalan `priority` sırasıyla ardışık çalışır. Aynı önceliğe sahip hook'lar kayıt sırasını korur. `api.on(name, handler, opts?)` şunları kabul eder: -- `priority` — işleyici sıralaması (daha yüksek önce çalışır). -- `timeoutMs` — hook başına isteğe bağlı süre bütçesi. Ayarlandığında hook çalıştırıcısı, yavaş kurulum veya hatırlama işinin çağıranın yapılandırılmış model zaman aşımını tüketmesine izin vermek yerine, bütçe dolduktan sonra ilgili işleyiciyi durdurur ve sonrakine devam eder. Hook çalıştırıcısının genel olarak uyguladığı varsayılan gözlem/karar zaman aşımını kullanmak için bunu atlayın. +- `priority` — işleyici sıralaması (daha yüksek olan önce çalışır). +- `timeoutMs` — hook başına isteğe bağlı bütçe. Ayarlandığında hook çalıştırıcısı, yavaş kurulum veya hatırlama işinin çağıranın yapılandırılmış model zaman aşımını tüketmesine izin vermek yerine, bütçe dolduktan sonra bu işleyiciyi sonlandırır ve sonrakiyle devam eder. Hook çalıştırıcısının genel olarak uyguladığı varsayılan gözlem/karar zaman aşımını kullanmak için bunu atlayın. -Operatörler Plugin kodunu yamamadan da hook bütçeleri ayarlayabilir: +Operatörler, Plugin kodunu yamamadan da hook bütçeleri ayarlayabilir: ```json { @@ -79,64 +79,64 @@ Operatörler Plugin kodunu yamamadan da hook bütçeleri ayarlayabilir: } ``` -`hooks.timeouts.`, `hooks.timeoutMs` değerini geçersiz kılar; o da Plugin tarafından yazılmış `api.on(..., { timeoutMs })` değerini geçersiz kılar. Yapılandırılan her değer, 600000 milisaniyeden büyük olmayan pozitif bir tam sayı olmalıdır. Bilinen yavaş hook'lar için hook başına geçersiz kılmaları tercih edin; böylece tek bir Plugin her yerde daha uzun bütçe almaz. +`hooks.timeouts.`, `hooks.timeoutMs` değerini geçersiz kılar; bu da Plugin tarafından yazılmış `api.on(..., { timeoutMs })` değerini geçersiz kılar. Yapılandırılan her değer, 600000 milisaniyeden büyük olmayan pozitif bir tam sayı olmalıdır. Bilinen yavaş hook'lar için hook başına geçersiz kılmaları tercih edin; böylece bir Plugin her yerde daha uzun bütçe almaz. -Her hook, o işleyiciyi kaydeden Plugin için çözümlenmiş yapılandırma olan `event.context.pluginConfig` alır. Mevcut Plugin seçeneklerine ihtiyaç duyan hook kararlarında bunu kullanın; OpenClaw, diğer Plugin'lerin gördüğü paylaşılan olay nesnesini değiştirmeden bunu işleyici başına enjekte eder. +Her hook, o işleyiciyi kaydeden Plugin için çözümlenmiş yapılandırma olan `event.context.pluginConfig` değerini alır. Geçerli Plugin seçeneklerine ihtiyaç duyan hook kararları için bunu kullanın; OpenClaw bunu, diğer Plugin'lerin gördüğü paylaşılan olay nesnesini değiştirmeden her işleyiciye enjekte eder. ## Hook kataloğu -Hook'lar genişlettikleri yüzeye göre gruplanır. **Kalın** adlar bir karar sonucu (engelleme, iptal, geçersiz kılma veya onay isteme) kabul eder; diğerlerinin tümü yalnızca gözlemdir. +Hook'lar genişlettikleri yüzeye göre gruplanır. **Kalın** adlar bir karar sonucu kabul eder (engelleme, iptal, geçersiz kılma veya onay isteme); diğer tümü yalnızca gözlem amaçlıdır. **Agent turu** -- `before_model_resolve` — oturum mesajları yüklenmeden önce sağlayıcıyı veya modeli geçersiz kıl -- `agent_turn_prepare` — sıraya alınmış Plugin turu enjeksiyonlarını tüket ve prompt hook'larından önce aynı tur bağlamı ekle -- `before_prompt_build` — model çağrısından önce dinamik bağlam veya sistem prompt metni ekle +- `before_model_resolve` — oturum mesajları yüklenmeden önce sağlayıcıyı veya modeli geçersiz kılar +- `agent_turn_prepare` — kuyruğa alınmış Plugin tur enjeksiyonlarını tüketir ve prompt hook'larından önce aynı tur bağlamı ekler +- `before_prompt_build` — model çağrısından önce dinamik bağlam veya sistem prompt metni ekler - `before_agent_start` — yalnızca uyumluluk amaçlı birleşik faz; yukarıdaki iki hook'u tercih edin -- **`before_agent_reply`** — model turunu sentetik bir yanıt veya sessizlikle kısa devreye al -- **`before_agent_finalize`** — doğal nihai yanıtı incele ve bir model geçişi daha iste -- `agent_end` — nihai mesajları, başarı durumunu ve çalışma süresini gözlemle -- `heartbeat_prompt_contribution` — arka plan izleyici ve yaşam döngüsü Plugin'leri için yalnızca Heartbeat bağlamı ekle +- **`before_agent_reply`** — model turunu sentetik yanıt veya sessizlik ile kısa devreye alır +- **`before_agent_finalize`** — doğal nihai yanıtı inceler ve bir model geçişi daha ister +- `agent_end` — nihai mesajları, başarı durumunu ve çalıştırma süresini gözlemler +- `heartbeat_prompt_contribution` — arka plan izleyici ve yaşam döngüsü Plugin'leri için yalnızca heartbeat bağlamı ekler **Konuşma gözlemi** -- `model_call_started` / `model_call_ended` — prompt veya yanıt içeriği olmadan, temizlenmiş sağlayıcı/model çağrısı üst verilerini, zamanlamayı, sonucu ve sınırlı istek kimliği hash'lerini gözlemle -- `llm_input` — sağlayıcı girişini gözlemle (sistem prompt'u, prompt, geçmiş) -- `llm_output` — sağlayıcı çıktısını gözlemle +- `model_call_started` / `model_call_ended` — prompt veya yanıt içeriği olmadan temizlenmiş sağlayıcı/model çağrısı meta verilerini, zamanlamayı, sonucu ve sınırlı istek kimliği karmalarını gözlemler +- `llm_input` — sağlayıcı girdisini gözlemler (sistem prompt'u, prompt, geçmiş) +- `llm_output` — sağlayıcı çıktısını gözlemler **Araçlar** -- **`before_tool_call`** — tool parametrelerini yeniden yaz, yürütmeyi engelle veya onay iste -- `after_tool_call` — tool sonuçlarını, hataları ve süreyi gözlemle -- **`tool_result_persist`** — bir tool sonucundan üretilen asistan mesajını yeniden yaz -- **`before_message_write`** — devam eden bir mesaj yazımını incele veya engelle (nadiren) +- **`before_tool_call`** — araç parametrelerini yeniden yazar, yürütmeyi engeller veya onay ister +- `after_tool_call` — araç sonuçlarını, hataları ve süreyi gözlemler +- **`tool_result_persist`** — bir araç sonucundan üretilen assistant mesajını yeniden yazar +- **`before_message_write`** — devam eden bir mesaj yazımını inceler veya engeller (nadir) **Mesajlar ve teslimat** -- **`inbound_claim`** — agent yönlendirmesinden önce gelen bir mesajı sahiplen (sentetik yanıtlar) -- `message_received` — gelen içeriği, göndereni, iş parçacığını ve üst verileri gözlemle -- **`message_sending`** — giden içeriği yeniden yaz veya teslimatı iptal et -- `message_sent` — giden teslimat başarısını veya başarısızlığını gözlemle -- **`before_dispatch`** — kanal devrinden önce giden bir gönderimi incele veya yeniden yaz -- **`reply_dispatch`** — nihai yanıt gönderim hattına katıl +- **`inbound_claim`** — agent yönlendirmesinden önce gelen bir mesajı üstlenir (sentetik yanıtlar) +- `message_received` — gelen içeriği, göndereni, thread'i ve meta verileri gözlemler +- **`message_sending`** — giden içeriği yeniden yazar veya teslimatı iptal eder +- `message_sent` — giden teslimat başarısını veya hatasını gözlemler +- **`before_dispatch`** — kanal devrinden önce giden bir dispatch'i inceler veya yeniden yazar +- **`reply_dispatch`** — nihai yanıt dispatch pipeline'ına katılır **Oturumlar ve Compaction** -- `session_start` / `session_end` — oturum yaşam döngüsü sınırlarını takip et -- `before_compaction` / `after_compaction` — Compaction döngülerini gözlemle veya açıklama ekle -- `before_reset` — oturum sıfırlama olaylarını gözlemle (`/reset`, programatik sıfırlamalar) +- `session_start` / `session_end` — oturum yaşam döngüsü sınırlarını izler +- `before_compaction` / `after_compaction` — Compaction döngülerini gözlemler veya anotasyon ekler +- `before_reset` — oturum sıfırlama olaylarını gözlemler (`/reset`, programatik sıfırlamalar) **Subagent'lar** -- `subagent_spawning` / `subagent_delivery_target` / `subagent_spawned` / `subagent_ended` — subagent yönlendirmesini ve tamamlama teslimatını koordine et +- `subagent_spawning` / `subagent_delivery_target` / `subagent_spawned` / `subagent_ended` — subagent yönlendirmesini ve tamamlama teslimatını koordine eder **Yaşam döngüsü** -- `gateway_start` / `gateway_stop` — Gateway ile Plugin'e ait hizmetleri başlat veya durdur -- `cron_changed` — Gateway'e ait Cron yaşam döngüsü değişikliklerini gözlemle (eklendi, güncellendi, kaldırıldı, başlatıldı, tamamlandı, zamanlandı) -- **`before_install`** — Skill veya Plugin kurulum taramalarını incele ve isteğe bağlı olarak engelle +- `gateway_start` / `gateway_stop` — Plugin'e ait servisleri Gateway ile başlatır veya durdurur +- `cron_changed` — Gateway'e ait Cron yaşam döngüsü değişikliklerini gözlemler (eklendi, güncellendi, kaldırıldı, başlatıldı, tamamlandı, zamanlandı) +- **`before_install`** — skill veya Plugin kurulum taramalarını inceler ve isteğe bağlı olarak engeller -## Tool çağrısı ilkesi +## Araç çağrısı politikası `before_tool_call` şunları alır: @@ -144,7 +144,7 @@ Hook'lar genişlettikleri yüzeye göre gruplanır. **Kalın** adlar bir karar s - `event.params` - isteğe bağlı `event.runId` - isteğe bağlı `event.toolCallId` -- `ctx.agentId`, `ctx.sessionKey`, `ctx.sessionId`, `ctx.runId`, `ctx.jobId` (cron odaklı çalıştırmalarda ayarlanır) ve tanılama amaçlı `ctx.trace` gibi bağlam alanları +- `ctx.agentId`, `ctx.sessionKey`, `ctx.sessionId`, `ctx.runId`, `ctx.jobId` (Cron tarafından tetiklenen çalıştırmalarda ayarlanır) ve tanılama amaçlı `ctx.trace` gibi bağlam alanları Şunu döndürebilir: @@ -170,44 +170,57 @@ type BeforeToolCallResult = { Kurallar: - `block: true` terminaldir ve daha düşük öncelikli işleyicileri atlar. -- `block: false` karar yok gibi değerlendirilir. -- `params`, yürütme için tool parametrelerini yeniden yazar. -- `requireApproval`, agent çalıştırmasını duraklatır ve Plugin onayları üzerinden kullanıcıya sorar. `/approve` komutu hem exec hem de Plugin onaylarını onaylayabilir. +- `block: false` karar yok olarak ele alınır. +- `params`, yürütme için araç parametrelerini yeniden yazar. +- `requireApproval`, agent çalıştırmasını duraklatır ve kullanıcıdan Plugin onayları üzerinden onay ister. `/approve` komutu hem exec hem de Plugin onaylarını onaylayabilir. - Daha düşük öncelikli bir `block: true`, daha yüksek öncelikli bir hook onay istemiş olsa bile hâlâ engelleyebilir. -- `onResolution`, çözümlenen onay kararını alır — `allow-once`, `allow-always`, `deny`, `timeout` veya `cancelled`. +- `onResolution`, çözümlenmiş onay kararını alır: `allow-once`, `allow-always`, `deny`, `timeout` veya `cancelled`. -Host düzeyi ilkeye ihtiyaç duyan paketli Plugin'ler `api.registerTrustedToolPolicy(...)` ile güvenilir tool ilkeleri kaydedebilir. Bunlar normal `before_tool_call` hook'larından ve harici Plugin kararlarından önce çalışır. Bunları yalnızca çalışma alanı ilkesi, bütçe uygulaması veya ayrılmış iş akışı güvenliği gibi host tarafından güvenilen geçitler için kullanın. Harici Plugin'ler normal `before_tool_call` hook'larını kullanmalıdır. +Ana bilgisayar düzeyi politikaya ihtiyaç duyan paketli Plugin'ler, `api.registerTrustedToolPolicy(...)` ile güvenilir araç politikaları kaydedebilir. Bunlar sıradan `before_tool_call` hook'larından ve harici Plugin kararlarından önce çalışır. Bunları yalnızca çalışma alanı politikası, bütçe zorlaması veya ayrılmış iş akışı güvenliği gibi ana bilgisayar tarafından güvenilen kapılar için kullanın. Harici Plugin'ler normal `before_tool_call` hook'larını kullanmalıdır. -### Tool sonucu kalıcılığı +### Araç sonucu kalıcılığı -Tool sonuçları, UI işleme, tanılama, medya yönlendirme veya Plugin'e ait üst veriler için yapılandırılmış `details` içerebilir. `details` öğesini prompt içeriği değil, çalışma zamanı üst verisi olarak ele alın: +Araç sonuçları, UI işleme, tanılama, medya yönlendirme veya Plugin'e ait meta veriler için yapılandırılmış `details` içerebilir. `details` değerini prompt içeriği olarak değil, çalışma zamanı meta verisi olarak ele alın: -- OpenClaw, üst verinin model bağlamına dönüşmemesi için sağlayıcı yeniden oynatımı ve Compaction girdisinden önce `toolResult.details` öğesini çıkarır. -- Kalıcı oturum girdileri yalnızca sınırlı `details` tutar. Aşırı büyük ayrıntılar kompakt bir özet ve `persistedDetailsTruncated: true` ile değiştirilir. -- `tool_result_persist` ve `before_message_write`, nihai kalıcılık sınırından önce çalışır. Hook'lar yine de döndürülen `details` öğesini küçük tutmalı ve prompt açısından ilgili metni yalnızca `details` içine koymaktan kaçınmalıdır; modelin görebileceği tool çıktısını `content` içine koyun. +- OpenClaw, meta verilerin model bağlamına dönüşmemesi için sağlayıcı yeniden oynatımı ve Compaction girdisinden önce `toolResult.details` değerini çıkarır. +- Kalıcı oturum girdileri yalnızca sınırlı `details` tutar. Aşırı büyük details, kompakt bir özet ve `persistedDetailsTruncated: true` ile değiştirilir. +- `tool_result_persist` ve `before_message_write`, nihai kalıcılık sınırından önce çalışır. Hook'lar yine de döndürülen `details` değerlerini küçük tutmalı ve prompt ile ilgili metni yalnızca `details` içine yerleştirmekten kaçınmalıdır; modelin görebileceği araç çıktısını `content` içine koyun. ## Prompt ve model hook'ları -Yeni Plugin'ler için faza özel hook'ları kullanın: +Yeni Plugin'ler için faza özgü hook'ları kullanın: -- `before_model_resolve`: yalnızca mevcut prompt'u ve ek üst verilerini alır. `providerOverride` veya `modelOverride` döndürür. -- `agent_turn_prepare`: mevcut prompt'u, hazırlanmış oturum mesajlarını ve bu oturum için boşaltılmış tam olarak bir kez sıraya alınmış enjeksiyonları alır. `prependContext` veya `appendContext` döndürür. -- `before_prompt_build`: mevcut prompt'u ve oturum mesajlarını alır. `prependContext`, `appendContext`, `systemPrompt`, `prependSystemContext` veya `appendSystemContext` döndürür. -- `heartbeat_prompt_contribution`: yalnızca Heartbeat turlarında çalışır ve `prependContext` veya `appendContext` döndürür. Kullanıcı tarafından başlatılan turları değiştirmeden mevcut durumu özetlemesi gereken arka plan izleyicileri için tasarlanmıştır. +- `before_model_resolve`: yalnızca geçerli prompt'u ve ek meta verilerini alır. `providerOverride` veya `modelOverride` döndürün. +- `agent_turn_prepare`: geçerli prompt'u, hazırlanmış oturum mesajlarını ve bu oturum için boşaltılmış tam bir kez kuyruğa alınmış enjeksiyonları alır. `prependContext` veya `appendContext` döndürün. +- `before_prompt_build`: geçerli prompt'u ve oturum mesajlarını alır. `prependContext`, `appendContext`, `systemPrompt`, `prependSystemContext` veya `appendSystemContext` döndürün. +- `heartbeat_prompt_contribution`: yalnızca heartbeat turlarında çalışır ve `prependContext` veya `appendContext` döndürür. Kullanıcı tarafından başlatılan turları değiştirmeden geçerli durumu özetlemesi gereken arka plan izleyicileri için tasarlanmıştır. -`before_agent_start` uyumluluk için kalır. Plugin'inizin eski birleşik faza bağımlı olmaması için yukarıdaki açık hook'ları tercih edin. +`before_agent_start` uyumluluk için kalır. Plugin'inizin eski birleşik bir faza bağımlı olmaması için yukarıdaki açık hook'ları tercih edin. -OpenClaw etkin çalıştırmayı tanımlayabildiğinde `before_agent_start` ve `agent_end`, `event.runId` içerir. Aynı değer `ctx.runId` üzerinde de kullanılabilir. Cron odaklı çalıştırmalar ayrıca `ctx.jobId` (kaynak cron işi kimliği) gösterir; böylece Plugin hook'ları metrikleri, yan etkileri veya durumu belirli bir zamanlanmış işe göre kapsamlandırabilir. +OpenClaw etkin çalıştırmayı tanımlayabildiğinde `before_agent_start` ve `agent_end`, `event.runId` içerir. Aynı değer `ctx.runId` üzerinde de kullanılabilir. Cron tarafından tetiklenen çalıştırmalar ayrıca `ctx.jobId` değerini de sunar (kaynak Cron iş kimliği); böylece Plugin hook'ları metrikleri, yan etkileri veya durumu belirli bir zamanlanmış işe göre kapsamlandırabilir. -Kanal kaynaklı çalıştırmalarda `ctx.messageProvider`, `discord` veya `telegram` gibi sağlayıcı yüzeyidir; `ctx.channelId` ise OpenClaw bunu oturum anahtarından veya teslimat üst verilerinden çıkarabildiğinde konuşma hedefi tanımlayıcısıdır. +Kanal kaynaklı çalıştırmalar için `ctx.messageProvider`, `discord` veya `telegram` gibi sağlayıcı yüzeyidir; `ctx.channelId` ise OpenClaw'ın oturum anahtarından veya teslimat meta verilerinden türetebildiği durumlarda konuşma hedef tanımlayıcısıdır. -`agent_end` bir gözlem hook'udur ve turdan sonra fire-and-forget olarak çalışır. Hook çalıştırıcısı, takılmış bir Plugin'in veya embedding uç noktasının hook promise'ini sonsuza dek beklemede bırakmaması için 30 saniyelik zaman aşımı uygular. Zaman aşımı günlüğe yazılır ve OpenClaw devam eder; Plugin ayrıca kendi abort sinyalini kullanmadığı sürece Plugin'e ait ağ işini iptal etmez. +`agent_end` bir gözlem hook'udur ve turdan sonra fire-and-forget çalışır. Hook çalıştırıcısı 30 saniyelik zaman aşımı uygular; böylece takılmış bir Plugin veya embedding uç noktası hook promise'ini sonsuza kadar beklemede bırakamaz. Zaman aşımı günlüğe yazılır ve OpenClaw devam eder; Plugin kendi abort sinyalini de kullanmadıkça Plugin'e ait ağ işini iptal etmez. -Ham prompt'ları, geçmişi, yanıtları, üst bilgileri, istek gövdelerini veya sağlayıcı istek kimliklerini almaması gereken sağlayıcı çağrısı telemetrisi için `model_call_started` ve `model_call_ended` kullanın. Bu hook'lar `runId`, `callId`, `provider`, `model`, isteğe bağlı `api`/`transport`, terminal `durationMs`/`outcome` ve OpenClaw sınırlı bir sağlayıcı istek kimliği hash'i türetebildiğinde `upstreamRequestIdHash` gibi kararlı üst verileri içerir. +Ham prompt'ları, geçmişi, yanıtları, başlıkları, istek gövdelerini veya sağlayıcı istek kimliklerini almaması gereken sağlayıcı çağrısı telemetrisi için `model_call_started` ve `model_call_ended` kullanın. Bu hook'lar `runId`, `callId`, `provider`, `model`, isteğe bağlı `api`/`transport`, terminal `durationMs`/`outcome` ve OpenClaw sınırlı bir sağlayıcı istek kimliği karması türetebildiğinde `upstreamRequestIdHash` gibi kararlı meta veriler içerir. -`before_agent_finalize` yalnızca bir harness doğal bir nihai asistan yanıtını kabul etmek üzereyken çalışır. Bu, `/stop` iptal yolu değildir ve kullanıcı bir turu iptal ettiğinde çalışmaz. Sonlandırmadan önce harness'ten bir model geçişi daha istemek için `{ action: "revise", reason }`, sonlandırmayı zorlamak için `{ action: "finalize", reason? }` döndürün veya devam etmek için sonuç döndürmeyin. Codex yerel `Stop` hook'ları, OpenClaw `before_agent_finalize` kararları olarak bu hook'a aktarılır. +`before_agent_finalize` yalnızca bir harness doğal nihai assistant yanıtını kabul etmek üzereyken çalışır. Bu, `/stop` iptal yolu değildir ve kullanıcı bir turu iptal ettiğinde çalışmaz. Nihai hale getirmeden önce harness'tan bir model geçişi daha istemek için `{ action: "revise", reason }`, nihai hale getirmeyi zorlamak için `{ action: +"finalize", reason? }` döndürün veya devam etmek için sonuç döndürmeyin. Codex yerel `Stop` hook'ları bu hook'a OpenClaw `before_agent_finalize` kararları olarak aktarılır. -`llm_input`, `llm_output`, `before_agent_finalize` veya `agent_end` gerektiren paketli olmayan Plugin'ler şunu ayarlamalıdır: +`action: "revise"` döndürürken Plugin'ler, ek model geçişini sınırlı ve yeniden oynatmaya güvenli kılmak için `retry` meta verileri içerebilir: + +```typescript +type BeforeAgentFinalizeRetry = { + instruction: string; + idempotencyKey?: string; + maxAttempts?: number; +}; +``` + +`instruction`, harness'a gönderilen revizyon nedenine eklenir. `idempotencyKey`, ana bilgisayarın eşdeğer finalize kararları boyunca aynı Plugin isteği için yeniden denemeleri saymasına olanak tanır; `maxAttempts` ise ana bilgisayarın doğal nihai yanıtla devam etmeden önce kaç ek geçişe izin vereceğini sınırlar. + +`llm_input`, `llm_output`, `before_agent_finalize` veya `agent_end` değerlerine ihtiyaç duyan paketli olmayan Plugin'ler şunu ayarlamalıdır: ```json { @@ -223,71 +236,65 @@ Ham prompt'ları, geçmişi, yanıtları, üst bilgileri, istek gövdelerini vey } ``` -Prompt'u değiştiren hook'lar ve dayanıklı sonraki tur enjeksiyonları, Plugin başına `plugins.entries..hooks.allowPromptInjection=false` ile devre dışı bırakılabilir. +Prompt'u değiştiren hook'lar ve kalıcı sonraki tur enjeksiyonları, `plugins.entries..hooks.allowPromptInjection=false` ile Plugin başına devre dışı bırakılabilir. ### Oturum uzantıları ve sonraki tur enjeksiyonları -İş akışı Plugin'leri `api.registerSessionExtension(...)` ile küçük, JSON uyumlu oturum durumunu kalıcı hale getirebilir ve Gateway `sessions.pluginPatch` yöntemiyle güncelleyebilir. Oturum satırları kayıtlı uzantı durumunu `pluginExtensions` üzerinden yansıtır; böylece Control UI ve diğer istemciler, Plugin iç yapılarını öğrenmeden Plugin'e ait durumu işleyebilir. +İş akışı plugin'leri, `api.registerSessionExtension(...)` ile küçük JSON uyumlu oturum durumunu kalıcı hale getirebilir ve Gateway `sessions.pluginPatch` yöntemi üzerinden güncelleyebilir. Oturum satırları, kayıtlı uzantı durumunu `pluginExtensions` üzerinden yansıtır; böylece Control UI ve diğer istemciler, plugin iç ayrıntılarını öğrenmeden plugin'e ait durumu işleyebilir. -`api.enqueueNextTurnInjection(...)` işlevini, bir Plugin’in dayanıklı bağlamı sonraki model turuna tam olarak bir kez ulaştırması gerektiğinde kullanın. OpenClaw, sıraya alınmış eklemeleri prompt hook’larından önce boşaltır, süresi dolmuş eklemeleri bırakır ve Plugin başına `idempotencyKey` ile tekilleştirir. Bu, sonraki turda model tarafından görülebilir olması gereken ancak kalıcı sistem prompt metnine dönüşmemesi gereken onay sürdürmeleri, ilke özetleri, arka plan izleyici deltaları ve komut devamları için doğru dikiştir. +Bir plugin'in dayanıklı bağlamı tam olarak bir kez sonraki model turuna ulaştırması gerektiğinde `api.enqueueNextTurnInjection(...)` kullanın. OpenClaw, kuyruğa alınmış enjeksiyonları istem kancalarından önce boşaltır, süresi dolmuş enjeksiyonları düşürür ve plugin başına `idempotencyKey` ile yinelenenleri kaldırır. Bu, onay sürdürmeleri, ilke özetleri, arka plan izleyici deltaları ve sonraki turda model tarafından görünür olması gereken ancak kalıcı sistem istemi metnine dönüşmemesi gereken komut devamları için doğru bağlantı noktasıdır. -Temizleme semantiği sözleşmenin bir parçasıdır. Oturum extension temizliği ve runtime yaşam döngüsü temizleme callback’leri `reset`, `delete`, `disable` veya `restart` alır. Host, reset/delete/disable için sahip Plugin’in kalıcı oturum extension durumunu ve bekleyen sonraki tur eklemelerini kaldırır; restart, dayanıklı oturum durumunu korurken temizleme callback’leri Plugin’lerin eski runtime nesli için scheduler işlerini, run bağlamını ve diğer bant dışı kaynakları serbest bırakmasına izin verir. +Temizleme semantiği sözleşmenin parçasıdır. Oturum uzantısı temizleme ve çalışma zamanı yaşam döngüsü temizleme geri çağrıları `reset`, `delete`, `disable` veya `restart` alır. Ana makine, reset/delete/disable için sahip plugin'in kalıcı oturum uzantısı durumunu ve bekleyen sonraki tur enjeksiyonlarını kaldırır; restart ise dayanıklı oturum durumunu korur, temizleme geri çağrıları da plugin'lerin eski çalışma zamanı üretimi için zamanlayıcı işleri, çalışma bağlamı ve diğer bant dışı kaynakları serbest bırakmasına olanak tanır. -## Mesaj hook’ları +## İleti kancaları -Mesaj hook’larını kanal düzeyi yönlendirme ve teslim ilkesi için kullanın: +Kanal düzeyi yönlendirme ve teslim ilkesi için ileti kancalarını kullanın: -- `message_received`: gelen içeriği, göndereni, `threadId`, `messageId`, - `senderId`, isteğe bağlı run/oturum korelasyonunu ve metadata’yı gözlemleyin. -- `message_sending`: `content` öğesini yeniden yazın veya `{ cancel: true }` döndürün. -- `message_sent`: nihai başarıyı veya hatayı gözlemleyin. +- `message_received`: gelen içeriği, göndereni, `threadId`, `messageId`, `senderId`, isteğe bağlı çalıştırma/oturum korelasyonunu ve meta verileri gözlemleyin. +- `message_sending`: `content` değerini yeniden yazın veya `{ cancel: true }` döndürün. +- `message_sent`: son başarıyı veya hatayı gözlemleyin. -Yalnızca sesli TTS yanıtları için, kanal payload’ında görünür metin/açıklama olmasa bile `content` gizli söylenen transkripti içerebilir. Bu `content` öğesini yeniden yazmak yalnızca hook tarafından görülebilen transkripti günceller; medya açıklaması olarak render edilmez. +Yalnızca sesli TTS yanıtları için `content`, kanal yükünde görünür metin/altyazı olmasa bile gizli konuşulan dökümü içerebilir. Bu `content` değerini yeniden yazmak yalnızca kanca tarafından görülebilen dökümü günceller; medya altyazısı olarak işlenmez. -Mesaj hook bağlamları, mevcut olduğunda kararlı korelasyon alanlarını açığa çıkarır: -`ctx.sessionKey`, `ctx.runId`, `ctx.messageId`, `ctx.senderId`, `ctx.trace`, -`ctx.traceId`, `ctx.spanId`, `ctx.parentSpanId` ve `ctx.callDepth`. Eski metadata’yı okumadan önce bu birinci sınıf alanları tercih edin. +İleti kancası bağlamları, mevcut olduğunda kararlı korelasyon alanlarını gösterir: `ctx.sessionKey`, `ctx.runId`, `ctx.messageId`, `ctx.senderId`, `ctx.trace`, `ctx.traceId`, `ctx.spanId`, `ctx.parentSpanId` ve `ctx.callDepth`. Eski meta verileri okumadan önce bu birinci sınıf alanları tercih edin. -Kanala özgü metadata kullanmadan önce tipli `threadId` ve `replyToId` alanlarını tercih edin. +Kanala özgü meta verileri kullanmadan önce tipli `threadId` ve `replyToId` alanlarını tercih edin. Karar kuralları: -- `cancel: true` ile `message_sending` terminaldir. -- `cancel: false` ile `message_sending` karar yok olarak ele alınır. -- Daha sonra gelen bir hook teslimi iptal etmediği sürece yeniden yazılmış `content` daha düşük öncelikli hook’lara devam eder. +- `cancel: true` içeren `message_sending` kesindir. +- `cancel: false` içeren `message_sending` karar yok olarak değerlendirilir. +- Yeniden yazılmış `content`, daha sonraki bir kanca teslimi iptal etmediği sürece daha düşük öncelikli kancalara devam eder. -## Kurulum hook’ları +## Kurulum kancaları -`before_install`, Skills ve Plugin kurulumları için yerleşik taramadan sonra çalışır. Kurulumu durdurmak için ek bulgular veya `{ block: true, blockReason }` döndürün. +`before_install`, skill ve plugin kurulumları için yerleşik taramadan sonra çalışır. Kurulumu durdurmak için ek bulgular veya `{ block: true, blockReason }` döndürün. -`block: true` terminaldir. `block: false` karar yok olarak ele alınır. +`block: true` kesindir. `block: false` karar yok olarak değerlendirilir. ## Gateway yaşam döngüsü -Gateway’e ait duruma ihtiyaç duyan Plugin hizmetleri için `gateway_start` kullanın. Bağlam, Cron incelemesi ve güncellemeleri için `ctx.config`, `ctx.workspaceDir` ve `ctx.getCron?.()` öğelerini açığa çıkarır. Uzun süre çalışan kaynakları temizlemek için `gateway_stop` kullanın. +Gateway'e ait duruma ihtiyaç duyan plugin hizmetleri için `gateway_start` kullanın. Bağlam, cron incelemesi ve güncellemeleri için `ctx.config`, `ctx.workspaceDir` ve `ctx.getCron?.()` değerlerini gösterir. Uzun süre çalışan kaynakları temizlemek için `gateway_stop` kullanın. -Plugin’e ait runtime hizmetleri için dahili `gateway:startup` hook’una güvenmeyin. +Plugin'e ait çalışma zamanı hizmetleri için dahili `gateway:startup` kancasına güvenmeyin. -`cron_changed`, gateway’e ait Cron yaşam döngüsü olayları için `added`, `updated`, `removed`, `started`, `finished` ve `scheduled` nedenlerini kapsayan tipli bir event payload’ı ile tetiklenir. Event, bir `PluginHookGatewayCronJob` anlık görüntüsü (`state.nextRunAtMs`, `state.lastRunStatus` ve mevcut olduğunda `state.lastError` dahil) ile birlikte `not-requested` | `delivered` | `not-delivered` | `unknown` değerlerinden oluşan bir `PluginHookGatewayCronDeliveryStatus` taşır. Kaldırılmış event’ler, dış scheduler’ların durumu uzlaştırabilmesi için silinen iş anlık görüntüsünü yine de taşır. Dış wake scheduler’ları senkronize ederken runtime bağlamından `ctx.getCron?.()` ve `ctx.config` kullanın ve zamanı gelen kontroller ile yürütme için doğruluk kaynağı olarak OpenClaw’ı koruyun. +`cron_changed`, `added`, `updated`, `removed`, `started`, `finished` ve `scheduled` nedenlerini kapsayan tipli bir olay yüküyle gateway'e ait cron yaşam döngüsü olayları için tetiklenir. Olay, bir `PluginHookGatewayCronJob` anlık görüntüsü (varsa `state.nextRunAtMs`, `state.lastRunStatus` ve `state.lastError` dahil) ile `not-requested` | `delivered` | `not-delivered` | `unknown` değerlerinden oluşan bir `PluginHookGatewayCronDeliveryStatus` taşır. Kaldırılan olaylar, dış zamanlayıcıların durumu uzlaştırabilmesi için silinen iş anlık görüntüsünü taşımaya devam eder. Dış uyandırma zamanlayıcılarını eşitlerken çalışma zamanı bağlamından `ctx.getCron?.()` ve `ctx.config` kullanın ve vade kontrolleri ile yürütme için doğruluk kaynağı olarak OpenClaw'ı koruyun. ## Yaklaşan kullanımdan kaldırmalar -Hook’a yakın birkaç yüzey kullanımdan kaldırılmıştır ancak hâlâ desteklenir. Sonraki major sürümden önce geçiş yapın: +Bazı kanca bitişiği yüzeyler kullanımdan kaldırılmıştır ancak hâlâ desteklenir. Sonraki büyük sürümden önce geçiş yapın: -- `inbound_claim` ve `message_received` handler’larında **düz metin kanal zarfları**. Düz zarf metnini ayrıştırmak yerine `BodyForAgent` ve yapılandırılmış kullanıcı bağlamı bloklarını okuyun. Bkz. - [Düz metin kanal zarfları → BodyForAgent](/tr/plugins/sdk-migration#active-deprecations). -- **`before_agent_start`** uyumluluk için kalır. Yeni Plugin’ler, birleşik aşama yerine `before_model_resolve` ve `before_prompt_build` kullanmalıdır. -- **`before_tool_call` içinde `onResolution`** artık serbest biçimli bir `string` yerine tipli `PluginApprovalResolution` union’ını (`allow-once` / `allow-always` / `deny` / - `timeout` / `cancelled`) kullanır. +- **Düz metin kanal zarfları** `inbound_claim` ve `message_received` işleyicilerinde. Düz zarf metnini ayrıştırmak yerine `BodyForAgent` ve yapılandırılmış kullanıcı bağlamı bloklarını okuyun. Bkz. [Düz metin kanal zarfları → BodyForAgent](/tr/plugins/sdk-migration#active-deprecations). +- **`before_agent_start`** uyumluluk için kalır. Yeni plugin'ler, birleşik aşama yerine `before_model_resolve` ve `before_prompt_build` kullanmalıdır. +- **`before_tool_call` içindeki `onResolution`** artık serbest biçimli `string` yerine tipli `PluginApprovalResolution` birleşimini (`allow-once` / `allow-always` / `deny` / `timeout` / `cancelled`) kullanır. -Tam liste için — bellek capability kaydı, provider thinking profili, dış auth provider’ları, provider discovery tipleri, task runtime erişimcileri ve `command-auth` → `command-status` yeniden adlandırması — bkz. -[Plugin SDK geçişi → Aktif kullanımdan kaldırmalar](/tr/plugins/sdk-migration#active-deprecations). +Tam liste için — bellek yeteneği kaydı, sağlayıcı düşünme profili, dış kimlik doğrulama sağlayıcıları, sağlayıcı keşif tipleri, görev çalışma zamanı erişicileri ve `command-auth` → `command-status` yeniden adlandırması — bkz. [Plugin SDK geçişi → Etkin kullanımdan kaldırmalar](/tr/plugins/sdk-migration#active-deprecations). ## İlgili -- [Plugin SDK geçişi](/tr/plugins/sdk-migration) — aktif kullanımdan kaldırmalar ve kaldırma zaman çizelgesi -- [Plugin geliştirme](/tr/plugins/building-plugins) -- [Plugin SDK genel bakış](/tr/plugins/sdk-overview) +- [Plugin SDK geçişi](/tr/plugins/sdk-migration) — etkin kullanımdan kaldırmalar ve kaldırma zaman çizelgesi +- [Plugin oluşturma](/tr/plugins/building-plugins) +- [Plugin SDK genel bakışı](/tr/plugins/sdk-overview) - [Plugin giriş noktaları](/tr/plugins/sdk-entrypoints) -- [Dahili hook’lar](/tr/automation/hooks) -- [Plugin mimarisi iç yapıları](/tr/plugins/architecture-internals) +- [Dahili kancalar](/tr/automation/hooks) +- [Plugin mimarisi iç ayrıntıları](/tr/plugins/architecture-internals) diff --git a/docs/tr/plugins/sdk-overview.md b/docs/tr/plugins/sdk-overview.md index 99299831d..5eefe4c1b 100644 --- a/docs/tr/plugins/sdk-overview.md +++ b/docs/tr/plugins/sdk-overview.md @@ -1,33 +1,33 @@ --- read_when: - Hangi SDK alt yolundan içe aktarım yapmanız gerektiğini bilmeniz gerekir - - OpenClawPluginApi üzerindeki tüm kayıt yöntemleri için bir başvuru kaynağı istiyorsunuz + - OpenClawPluginApi'deki tüm kayıt yöntemlerine ilişkin bir referans istiyorsunuz. - Belirli bir SDK dışa aktarımını arıyorsunuz sidebarTitle: Plugin SDK overview summary: İçe aktarma haritası, kayıt API referansı ve SDK mimarisi title: Plugin SDK genel bakışı x-i18n: - generated_at: "2026-05-02T09:03:24Z" + generated_at: "2026-05-04T18:24:52Z" model: gpt-5.5 provider: openai - source_hash: be5fa531e603fb6d87f84e3193ebd61be1431b57b8f284871ae15f34ca93fc69 + source_hash: 8187e7d4cfb9d6fb19bbdebfbaea0bb4d98fa5cea4742d0f82a765ae5bc60127 source_path: plugins/sdk-overview.md workflow: 16 --- -Plugin SDK, Plugin'ler ile çekirdek arasındaki tipli sözleşmedir. Bu sayfa -**nelerin içe aktarılacağı** ve **nelerin kaydedilebileceği** için referanstır. +Plugin SDK, pluginler ile çekirdek arasındaki türlendirilmiş sözleşmedir. Bu sayfa, +**neyi içe aktaracağınız** ve **neyi kaydedebileceğiniz** için referanstır. Bu sayfa, OpenClaw içinde `openclaw/plugin-sdk/*` kullanan Plugin yazarları - içindir. Gateway üzerinden aracıları çalıştırmak isteyen harici uygulamalar, + içindir. Gateway üzerinden ajanları çalıştırmak isteyen harici uygulamalar, betikler, panolar, CI işleri ve IDE uzantıları için bunun yerine [OpenClaw App SDK](/tr/concepts/openclaw-sdk) ve `@openclaw/sdk` paketini kullanın. -Bunun yerine bir nasıl yapılır rehberi mi arıyorsunuz? [Plugin oluşturma](/tr/plugins/building-plugins) ile başlayın, kanal Plugin'leri için [Kanal Plugin'leri](/tr/plugins/sdk-channel-plugins), sağlayıcı Plugin'leri için [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins) ve araç ya da yaşam döngüsü kancası Plugin'leri için [Plugin kancaları](/tr/plugins/hooks) sayfasını kullanın. +Bunun yerine bir nasıl yapılır rehberi mi arıyorsunuz? [Plugin oluşturma](/tr/plugins/building-plugins) ile başlayın; kanal pluginleri için [Kanal pluginleri](/tr/plugins/sdk-channel-plugins), sağlayıcı pluginleri için [Sağlayıcı pluginleri](/tr/plugins/sdk-provider-plugins) ve araç veya yaşam döngüsü kancası pluginleri için [Plugin kancaları](/tr/plugins/hooks) sayfalarını kullanın. ## İçe aktarma kuralı @@ -39,170 +39,169 @@ import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core"; ``` -Her alt yol küçük, kendi kendine yeterli bir modüldür. Bu, başlangıcı hızlı -tutar ve döngüsel bağımlılık sorunlarını önler. Kanala özgü giriş/derleme +Her alt yol küçük, kendi kendine yeten bir modüldür. Bu, başlatmayı hızlı tutar +ve döngüsel bağımlılık sorunlarını önler. Kanala özgü giriş/oluşturma yardımcıları için `openclaw/plugin-sdk/channel-core` tercih edin; -`openclaw/plugin-sdk/core` daha geniş çatı yüzeyi ve -`buildChannelConfigSchema` gibi paylaşılan yardımcılar için kalsın. +`openclaw/plugin-sdk/core` yolunu daha geniş şemsiye yüzey ve +`buildChannelConfigSchema` gibi paylaşılan yardımcılar için ayırın. -Kanal yapılandırması için kanalın sahip olduğu JSON Schema'yı +Kanal yapılandırması için kanalın sahibi olduğu JSON Schema'yı `openclaw.plugin.json#channelConfigs` üzerinden yayımlayın. `plugin-sdk/channel-config-schema` -alt yolu, paylaşılan şema temel öğeleri ve genel oluşturucu içindir. OpenClaw'ın -paketle gelen Plugin'leri, korunan paketle gelen kanal şemaları için +alt yolu, paylaşılan şema ilkelleri ve genel oluşturucu içindir. OpenClaw'ın +paketlenmiş pluginleri, korunmuş paketli kanal şemaları için `plugin-sdk/bundled-channel-config-schema` kullanır. Kullanımdan kaldırılmış uyumluluk dışa aktarımları `plugin-sdk/channel-config-schema-legacy` üzerinde -kalmaya devam eder; paketle gelen şema alt yollarının hiçbiri yeni Plugin'ler -için bir kalıp değildir. +kalmaya devam eder; paketli şema alt yollarının hiçbiri yeni pluginler için bir +kalıp değildir. - Sağlayıcı veya kanal markalı kolaylık yüzeylerini içe aktarmayın (örneğin + Sağlayıcı veya kanal markalı kolaylık bağlantılarını içe aktarmayın (örneğin `openclaw/plugin-sdk/slack`, `.../discord`, `.../signal`, `.../whatsapp`). - Paketle gelen Plugin'ler, genel SDK alt yollarını kendi `api.ts` / - `runtime-api.ts` çatı dosyaları içinde birleştirir; çekirdek tüketicileri ya - bu Plugin yerel çatı dosyalarını kullanmalı ya da bir ihtiyaç gerçekten - kanallar arası olduğunda dar bir genel SDK sözleşmesi eklemelidir. + Paketli pluginler, genel SDK alt yollarını kendi `api.ts` / + `runtime-api.ts` barrel'ları içinde birleştirir; çekirdek tüketicileri ya bu + plugin yerel barrel'ları kullanmalı ya da ihtiyaç gerçekten kanallar arasıysa + dar bir genel SDK sözleşmesi eklemelidir. -Paketle gelen Plugin yardımcı yüzeylerinin küçük bir kümesi, izlenen sahip -kullanımı olduğunda oluşturulan dışa aktarma haritasında hâlâ görünür. Bunlar -yalnızca paketle gelen Plugin bakımı için vardır ve yeni üçüncü taraf -Plugin'ler için önerilen içe aktarma yolları değildir. +Sahip kullanımı izlenen küçük bir paketli Plugin yardımcı bağlantıları kümesi, +oluşturulan dışa aktarma haritasında hâlâ görünür. Bunlar yalnızca paketli +Plugin bakımı için vardır ve yeni üçüncü taraf pluginler için önerilen içe +aktarma yolları değildir. -`openclaw/plugin-sdk/discord` ve `openclaw/plugin-sdk/telegram-account`, izlenen -sahip kullanımı için kullanımdan kaldırılmış uyumluluk cepheleri olarak da -tutulmaktadır. Bu içe aktarma yollarını yeni Plugin'lere kopyalamayın; bunun -yerine enjekte edilen çalışma zamanı yardımcılarını ve genel kanal SDK alt -yollarını kullanın. +`openclaw/plugin-sdk/discord` ve `openclaw/plugin-sdk/telegram-account` da +izlenen sahip kullanımı için kullanımdan kaldırılmış uyumluluk cepheleri olarak +tutulur. Bu içe aktarma yollarını yeni pluginlere kopyalamayın; bunun yerine +enjekte edilen çalışma zamanı yardımcılarını ve genel kanal SDK alt yollarını +kullanın. ## Alt yol referansı Plugin SDK, alana göre gruplanmış dar alt yollar kümesi olarak sunulur (Plugin -girişi, kanal, sağlayıcı, kimlik doğrulama, çalışma zamanı, yetenek, bellek ve -ayrılmış paketle gelen Plugin yardımcıları). Gruplanmış ve bağlantılanmış tam -katalog için [Plugin SDK alt yolları](/tr/plugins/sdk-subpaths) sayfasına bakın. +girişi, kanal, sağlayıcı, kimlik doğrulama, çalışma zamanı, kabiliyet, bellek ve +ayrılmış paketli Plugin yardımcıları). Gruplanmış ve bağlantılanmış tam katalog +için [Plugin SDK alt yolları](/tr/plugins/sdk-subpaths) sayfasına bakın. -Oluşturulan 200+ alt yol listesi `scripts/lib/plugin-sdk-entrypoints.json` içinde yer alır. +Oluşturulan 200+ alt yol listesi `scripts/lib/plugin-sdk-entrypoints.json` içinde bulunur. ## Kayıt API'si -`register(api)` geri çağrısı, şu yöntemlere sahip bir `OpenClawPluginApi` -nesnesi alır: +`register(api)` geri çağrısı, şu yöntemlere sahip bir `OpenClawPluginApi` nesnesi alır: -### Yetenek kaydı +### Kabiliyet kaydı -| Yöntem | Ne kaydeder | -| ------------------------------------------------ | -------------------------------------- | -| `api.registerProvider(...)` | Metin çıkarımı (LLM) | -| `api.registerAgentHarness(...)` | Deneysel düşük seviyeli aracı yürütücü | -| `api.registerCliBackend(...)` | Yerel CLI çıkarım arka ucu | -| `api.registerChannel(...)` | Mesajlaşma kanalı | -| `api.registerSpeechProvider(...)` | Metinden sese / STT sentezi | -| `api.registerRealtimeTranscriptionProvider(...)` | Akışlı gerçek zamanlı transkripsiyon | +| Yöntem | Neyi kaydeder | +| ------------------------------------------------ | ------------------------------------- | +| `api.registerProvider(...)` | Metin çıkarımı (LLM) | +| `api.registerAgentHarness(...)` | Deneysel düşük seviyeli ajan yürütücü | +| `api.registerCliBackend(...)` | Yerel CLI çıkarım arka ucu | +| `api.registerChannel(...)` | Mesajlaşma kanalı | +| `api.registerSpeechProvider(...)` | Metinden konuşmaya / STT sentezi | +| `api.registerRealtimeTranscriptionProvider(...)` | Akışlı gerçek zamanlı transkripsiyon | | `api.registerRealtimeVoiceProvider(...)` | Çift yönlü gerçek zamanlı ses oturumları | -| `api.registerMediaUnderstandingProvider(...)` | Görüntü/ses/video analizi | -| `api.registerImageGenerationProvider(...)` | Görüntü üretimi | -| `api.registerMusicGenerationProvider(...)` | Müzik üretimi | -| `api.registerVideoGenerationProvider(...)` | Video üretimi | -| `api.registerWebFetchProvider(...)` | Web getirme / kazıma sağlayıcısı | -| `api.registerWebSearchProvider(...)` | Web araması | +| `api.registerMediaUnderstandingProvider(...)` | Görüntü/ses/video analizi | +| `api.registerImageGenerationProvider(...)` | Görüntü üretimi | +| `api.registerMusicGenerationProvider(...)` | Müzik üretimi | +| `api.registerVideoGenerationProvider(...)` | Video üretimi | +| `api.registerWebFetchProvider(...)` | Web getirme / kazıma sağlayıcısı | +| `api.registerWebSearchProvider(...)` | Web araması | ### Araçlar ve komutlar -| Yöntem | Ne kaydeder | -| ------------------------------ | ------------------------------------------------ | -| `api.registerTool(tool, opts?)` | Aracı aracı (gerekli veya `{ optional: true }`) | -| `api.registerCommand(def)` | Özel komut (LLM'yi atlar) | +| Yöntem | Neyi kaydeder | +| ------------------------------ | -------------------------------------------------- | +| `api.registerTool(tool, opts?)` | Ajan aracı (zorunlu veya `{ optional: true }`) | +| `api.registerCommand(def)` | Özel komut (LLM'yi atlar) | -Plugin komutları, aracının kısa, komuta ait bir yönlendirme ipucuna ihtiyaç -duyduğu durumlarda `agentPromptGuidance` ayarlayabilir. Bu metni komutun kendisi -hakkında tutun; çekirdek prompt oluşturucularına sağlayıcıya veya Plugin'e özgü -politika eklemeyin. +Plugin komutları, ajanın kısa ve komutun sahibi olduğu bir yönlendirme ipucuna +ihtiyacı olduğunda `agentPromptGuidance` ayarlayabilir. Bu metni komutun +kendisiyle ilgili tutun; çekirdek istem oluşturucularına sağlayıcıya veya +Plugin'e özgü politika eklemeyin. ### Altyapı -| Yöntem | Ne kaydeder | -| ---------------------------------------------- | --------------------------------------------- | -| `api.registerHook(events, handler, opts?)` | Olay kancası | -| `api.registerHttpRoute(params)` | Gateway HTTP uç noktası | -| `api.registerGatewayMethod(name, handler)` | Gateway RPC yöntemi | -| `api.registerGatewayDiscoveryService(service)` | Yerel Gateway keşif ilan edicisi | -| `api.registerCli(registrar, opts?)` | CLI alt komutu | -| `api.registerService(service)` | Arka plan hizmeti | -| `api.registerInteractiveHandler(registration)` | Etkileşimli işleyici | -| `api.registerAgentToolResultMiddleware(...)` | Çalışma zamanı araç-sonucu ara yazılımı | -| `api.registerMemoryPromptSupplement(builder)` | Eklemeli bellek-komşu prompt bölümü | -| `api.registerMemoryCorpusSupplement(adapter)` | Eklemeli bellek arama/okuma derlemi | +| Yöntem | Neyi kaydeder | +| ---------------------------------------------- | ---------------------------------------------- | +| `api.registerHook(events, handler, opts?)` | Olay kancası | +| `api.registerHttpRoute(params)` | Gateway HTTP uç noktası | +| `api.registerGatewayMethod(name, handler)` | Gateway RPC yöntemi | +| `api.registerGatewayDiscoveryService(service)` | Yerel Gateway keşif duyurucusu | +| `api.registerCli(registrar, opts?)` | CLI alt komutu | +| `api.registerService(service)` | Arka plan hizmeti | +| `api.registerInteractiveHandler(registration)` | Etkileşimli işleyici | +| `api.registerAgentToolResultMiddleware(...)` | Çalışma zamanı araç sonucu ara katmanı | +| `api.registerMemoryPromptSupplement(builder)` | Eklemeli, belleğe bitişik istem bölümü | +| `api.registerMemoryCorpusSupplement(adapter)` | Eklemeli bellek arama/okuma külliyatı | -### İş akışı Plugin'leri için ana makine kancaları +### İş akışı pluginleri için ana makine kancaları Ana makine kancaları, yalnızca bir sağlayıcı, kanal veya araç eklemek yerine ana -makine yaşam döngüsüne katılması gereken Plugin'ler için SDK yüzeyleridir. -Bunlar genel sözleşmelerdir; Plan Modu bunları kullanabilir, ancak onay iş +makine yaşam döngüsüne katılması gereken pluginler için SDK bağlantılarıdır. +Bunlar genel sözleşmelerdir; Plan Mode bunları kullanabilir, ancak onay iş akışları, çalışma alanı politika kapıları, arka plan izleyicileri, kurulum -sihirbazları ve UI eşlikçi Plugin'leri de kullanabilir. +sihirbazları ve UI eşlikçi pluginleri de kullanabilir. | Yöntem | Sahip olduğu sözleşme | | ------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------- | -| `api.registerSessionExtension(...)` | Gateway oturumları üzerinden yansıtılan, Plugin'e ait JSON uyumlu oturum durumu | -| `api.enqueueNextTurnInjection(...)` | Bir oturum için sonraki aracı turuna enjekte edilen kalıcı tam olarak bir kez bağlam | -| `api.registerTrustedToolPolicy(...)` | Araç parametrelerini engelleyebilen veya yeniden yazabilen paketle gelen/güvenilen Plugin öncesi araç politikası | -| `api.registerToolMetadata(...)` | Araç uygulamasını değiştirmeden araç kataloğu görüntüleme meta verileri | +| `api.registerSessionExtension(...)` | Gateway oturumları üzerinden yansıtılan, Plugin'in sahibi olduğu JSON uyumlu oturum durumu | +| `api.enqueueNextTurnInjection(...)` | Bir oturum için sonraki ajan turuna enjekte edilen dayanıklı, tam olarak bir kezlik bağlam | +| `api.registerTrustedToolPolicy(...)` | Araç parametrelerini engelleyebilen veya yeniden yazabilen paketli/güvenilir Plugin öncesi araç politikası | +| `api.registerToolMetadata(...)` | Araç uygulamasını değiştirmeden araç kataloğu görüntüleme meta verisi | | `api.registerCommand(...)` | Kapsamlı Plugin komutları; komut sonuçları `continueAgent: true` ayarlayabilir; Discord yerel komutları `descriptionLocalizations` destekler | | `api.registerControlUiDescriptor(...)` | Oturum, araç, çalıştırma veya ayarlar yüzeyleri için Control UI katkı tanımlayıcıları | -| `api.registerRuntimeLifecycle(...)` | Sıfırlama/silme/yeniden yükleme yollarında Plugin'e ait çalışma zamanı kaynakları için temizleme geri çağrıları | -| `api.registerAgentEventSubscription(...)` | İş akışı durumu ve izleyiciler için arındırılmış olay abonelikleri | -| `api.setRunContext(...)` / `getRunContext(...)` / `clearRunContext(...)` | Terminal çalıştırma yaşam döngüsünde temizlenen çalıştırma başına Plugin geçici durumu | -| `api.registerSessionSchedulerJob(...)` | Deterministik temizleme ile Plugin'e ait oturum zamanlayıcı iş kayıtları | +| `api.registerRuntimeLifecycle(...)` | Sıfırlama/silme/yeniden yükleme yollarında Plugin'in sahibi olduğu çalışma zamanı kaynakları için temizlik geri çağrıları | +| `api.registerAgentEventSubscription(...)` | İş akışı durumu ve izleyiciler için temizlenmiş olay abonelikleri | +| `api.setRunContext(...)` / `getRunContext(...)` / `clearRunContext(...)` | Terminal çalıştırma yaşam döngüsünde temizlenen çalıştırma başına Plugin geçici durumu | +| `api.registerSessionSchedulerJob(...)` | Deterministik temizlikle Plugin'in sahibi olduğu oturum zamanlayıcı işi kayıtları | Sözleşmeler yetkiyi bilinçli olarak ayırır: -- Harici Plugin'ler oturum uzantılarına, UI tanımlayıcılarına, komutlara, araç +- Harici pluginler oturum uzantılarına, UI tanımlayıcılarına, komutlara, araç meta verilerine, sonraki tur enjeksiyonlarına ve normal kancalara sahip olabilir. -- Güvenilen araç politikaları sıradan `before_tool_call` kancalarından önce - çalışır ve ana makine güvenlik politikasına katıldıkları için yalnızca paketle - gelenler içindir. -- Ayrılmış komut sahipliği yalnızca paketle gelenler içindir. Harici Plugin'ler - kendi komut adlarını veya takma adlarını kullanmalıdır. +- Güvenilir araç politikaları sıradan `before_tool_call` kancalarından önce + çalışır ve ana makine güvenlik politikasına katıldıkları için yalnızca + paketlidir. +- Ayrılmış komut sahipliği yalnızca paketlidir. Harici pluginler kendi komut + adlarını veya takma adlarını kullanmalıdır. - `allowPromptInjection=false`, `agent_turn_prepare`, `before_prompt_build`, - `heartbeat_prompt_contribution`, eski `before_agent_start` içindeki prompt - alanları ve `enqueueNextTurnInjection` dahil prompt değiştiren kancaları devre - dışı bırakır. + `heartbeat_prompt_contribution`, eski `before_agent_start` içindeki istem + alanları ve `enqueueNextTurnInjection` dahil istemi değiştiren kancaları + devre dışı bırakır. Plan dışı tüketici örnekleri: -| Plugin arketipi | Kullanılan kancalar | -| ---------------------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| Plugin arketipi | Kullanılan kancalar | +| ---------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | | Onay iş akışı | Oturum uzantısı, komut devamı, sonraki tur enjeksiyonu, UI tanımlayıcısı | -| Bütçe/çalışma alanı politika kapısı | Güvenilen araç politikası, araç meta verileri, oturum projeksiyonu | -| Arka plan yaşam döngüsü izleyicisi | Çalışma zamanı yaşam döngüsü temizliği, aracı olay aboneliği, oturum zamanlayıcı sahipliği/temizliği, heartbeat prompt katkısı, UI tanımlayıcısı | -| Kurulum veya ilk kullanım sihirbazı | Oturum uzantısı, kapsamlı komutlar, Control UI tanımlayıcısı | +| Bütçe/çalışma alanı politika kapısı | Güvenilir araç politikası, araç meta verisi, oturum projeksiyonu | +| Arka plan yaşam döngüsü izleyicisi | Çalışma zamanı yaşam döngüsü temizliği, ajan olay aboneliği, oturum zamanlayıcı sahipliği/temizliği, Heartbeat istem katkısı, UI tanımlayıcısı | +| Kurulum veya ilk kullanım sihirbazı | Oturum uzantısı, kapsamlı komutlar, Control UI tanımlayıcısı | - Ayrılmış çekirdek yönetici ad alanları (`config.*`, `exec.approvals.*`, - `wizard.*`, `update.*`), bir Plugin daha dar bir Gateway yöntemi kapsamı - atamaya çalışsa bile her zaman `operator.admin` olarak kalır. Plugin'e ait + Ayrılmış çekirdek yönetici ad alanları (`config.*`, `exec.approvals.*`, `wizard.*`, + `update.*`), bir Plugin daha dar bir Gateway yöntemi kapsamı atamaya çalışsa + bile her zaman `operator.admin` olarak kalır. Plugin'in sahibi olduğu yöntemler için Plugin'e özgü önekleri tercih edin. - - Paketle gelen Plugin'ler, yürütmeden sonra ve çalışma zamanı bu sonucu modele - geri beslemeden önce bir araç sonucunu yeniden yazmaları gerektiğinde + + Paketli pluginler, yürütmeden sonra ve çalışma zamanı sonucu modele geri + beslemeden önce bir araç sonucunu yeniden yazmaları gerektiğinde `api.registerAgentToolResultMiddleware(...)` kullanabilir. Bu, tokenjuice gibi - eşzamansız çıktı azaltıcıları için güvenilen, çalışma zamanı tarafsız - yüzeydir. + async çıktı indirgeyicileri için güvenilir, çalışma zamanından bağımsız + bağlantıdır. -Paketle gelen Plugin'ler, hedeflenen her çalışma zamanı için +Paketli pluginler, hedeflenen her çalışma zamanı için `contracts.agentToolResultMiddleware` bildirmelidir; örneğin `["pi", "codex"]`. -Harici Plugin'ler bu ara yazılımı kaydedemez; model öncesi araç-sonucu +Harici pluginler bu ara katmanı kaydedemez; model öncesi araç sonucu zamanlamasına ihtiyaç duymayan işler için normal OpenClaw Plugin kancalarını -kullanın. Eski yalnızca Pi'ye özgü gömülü uzantı fabrikası kayıt yolu +kullanın. Eski yalnızca Pi için olan gömülü uzantı fabrikası kayıt yolu kaldırılmıştır. ### Gateway keşif kaydı -`api.registerGatewayDiscoveryService(...)`, bir plugin'in etkin Gateway'i mDNS/Bonjour gibi bir yerel keşif aktarımı üzerinde duyurmasını sağlar. OpenClaw, yerel keşif etkinleştirildiğinde Gateway başlangıcı sırasında servisi çağırır, geçerli Gateway bağlantı noktalarını ve gizli olmayan TXT ipucu verilerini geçirir ve Gateway kapanışı sırasında döndürülen `stop` işleyicisini çağırır. +`api.registerGatewayDiscoveryService(...)`, bir Plugin'in etkin Gateway'i mDNS/Bonjour gibi bir yerel keşif aktarımı üzerinde duyurmasını sağlar. OpenClaw, yerel keşif etkinleştirildiğinde Gateway başlatma sırasında hizmeti çağırır, mevcut Gateway portlarını ve gizli olmayan TXT ipucu verilerini iletir ve döndürülen `stop` işleyicisini Gateway kapatma sırasında çağırır. ```typescript api.registerGatewayDiscoveryService({ @@ -218,16 +217,16 @@ api.registerGatewayDiscoveryService({ }); ``` -Gateway keşif plugin'leri, duyurulan TXT değerlerini sır veya kimlik doğrulama olarak görmemelidir. Keşif bir yönlendirme ipucudur; Gateway kimlik doğrulaması ve TLS pinleme hâlâ güvenin sahibidir. +Gateway keşif Plugin'leri, duyurulan TXT değerlerini sır veya kimlik doğrulama olarak ele almamalıdır. Keşif bir yönlendirme ipucudur; güven Gateway kimlik doğrulaması ve TLS sabitlemesine aittir. -### CLI kayıt meta verileri +### CLI kayıt üst verileri -`api.registerCli(registrar, opts?)` iki tür üst düzey meta veri kabul eder: +`api.registerCli(registrar, opts?)` iki tür üst düzey üst veri kabul eder: -- `commands`: kayıt ediciye ait açık komut kökleri -- `descriptors`: kök CLI yardımı, yönlendirme ve tembel plugin CLI kaydı için kullanılan ayrıştırma zamanı komut tanımlayıcıları +- `commands`: kayıt edene ait açık komut kökleri +- `descriptors`: kök CLI yardımı, yönlendirme ve tembel Plugin CLI kaydı için kullanılan ayrıştırma zamanı komut tanımlayıcıları -Bir plugin komutunun normal kök CLI yolunda tembel yüklemeli kalmasını istiyorsanız, o kayıt edicinin açığa çıkardığı her üst düzey komut kökünü kapsayan `descriptors` sağlayın. +Bir Plugin komutunun normal kök CLI yolunda tembel yüklenmiş kalmasını istiyorsanız, o kayıt edenin açığa çıkardığı her üst düzey komut kökünü kapsayan `descriptors` sağlayın. ```typescript api.registerCli( @@ -249,60 +248,61 @@ api.registerCli( `commands` öğesini tek başına yalnızca tembel kök CLI kaydına ihtiyacınız olmadığında kullanın. Bu istekli uyumluluk yolu desteklenmeye devam eder, ancak ayrıştırma zamanı tembel yükleme için tanımlayıcı destekli yer tutucular kurmaz. -### CLI arka uç kaydı +### CLI backend kaydı -`api.registerCliBackend(...)`, bir plugin'in `codex-cli` gibi yerel bir AI CLI arka ucu için varsayılan yapılandırmanın sahibi olmasını sağlar. +`api.registerCliBackend(...)`, bir Plugin'in `codex-cli` gibi yerel bir AI CLI backend'i için varsayılan yapılandırmaya sahip olmasını sağlar. -- Arka uç `id` değeri, `codex-cli/gpt-5` gibi model referanslarında sağlayıcı ön eki olur. -- Arka uç `config` değeri, `agents.defaults.cliBackends.` ile aynı şekli kullanır. -- Kullanıcı yapılandırması yine önceliklidir. OpenClaw, CLI'yı çalıştırmadan önce `agents.defaults.cliBackends.` değerini plugin varsayılanının üzerine birleştirir. -- Bir arka uç, birleştirme sonrasında uyumluluk yeniden yazımlarına ihtiyaç duyduğunda `normalizeConfig` kullanın (örneğin eski bayrak şekillerini normalleştirmek için). +- Backend `id` değeri, `codex-cli/gpt-5` gibi model başvurularında sağlayıcı öneki olur. +- Backend `config`, `agents.defaults.cliBackends.` ile aynı şekli kullanır. +- Kullanıcı yapılandırması yine önceliklidir. OpenClaw, CLI'ı çalıştırmadan önce `agents.defaults.cliBackends.` değerini Plugin varsayılanının üzerine birleştirir. +- Bir backend birleştirme sonrasında uyumluluk yeniden yazmalarına ihtiyaç duyduğunda `normalizeConfig` kullanın (örneğin eski bayrak şekillerini normalleştirme). +- OpenClaw düşünme düzeylerini yerel bir çaba bayrağına eşlemek gibi CLI lehçesine ait istek kapsamlı argv yeniden yazmaları için `resolveExecutionArgs` kullanın. -### Tekil slotlar +### Özel yuvalar -| Yöntem | Ne kaydeder | -| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `api.registerContextEngine(id, factory)` | Bağlam motoru (aynı anda bir etkin). `assemble()` geri çağırması `availableTools` ve `citationsMode` alır, böylece motor prompt eklemelerini özelleştirebilir. | -| `api.registerMemoryCapability(capability)` | Birleşik bellek yeteneği | -| `api.registerMemoryPromptSection(builder)` | Bellek prompt bölümü oluşturucusu | -| `api.registerMemoryFlushPlan(resolver)` | Bellek boşaltma planı çözücüsü | -| `api.registerMemoryRuntime(runtime)` | Bellek çalışma zamanı bağdaştırıcısı | +| Yöntem | Kaydettiği şey | +| ------------------------------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `api.registerContextEngine(id, factory)` | Bağlam motoru (aynı anda bir tane etkin). `assemble()` geri çağrısı `availableTools` ve `citationsMode` alır, böylece motor istem eklemelerini uyarlayabilir. | +| `api.registerMemoryCapability(capability)` | Birleşik bellek yeteneği | +| `api.registerMemoryPromptSection(builder)` | Bellek istem bölümü oluşturucu | +| `api.registerMemoryFlushPlan(resolver)` | Bellek boşaltma planı çözümleyici | +| `api.registerMemoryRuntime(runtime)` | Bellek çalışma zamanı adaptörü | -### Bellek gömme bağdaştırıcıları +### Bellek embedding adaptörleri -| Yöntem | Ne kaydeder | -| ---------------------------------------------- | ------------------------------------------------ | -| `api.registerMemoryEmbeddingProvider(adapter)` | Etkin plugin için bellek gömme bağdaştırıcısı | +| Yöntem | Kaydettiği şey | +| ---------------------------------------------- | ------------------------------------------- | +| `api.registerMemoryEmbeddingProvider(adapter)` | Etkin Plugin için bellek embedding adaptörü | -- `registerMemoryCapability`, tercih edilen tekil bellek-plugin API'sidir. -- `registerMemoryCapability` ayrıca, eşlik eden plugin'lerin belirli bir bellek plugin'inin özel düzenine erişmek yerine dışa aktarılan bellek yapıtlarını `openclaw/plugin-sdk/memory-host-core` üzerinden tüketebilmesi için `publicArtifacts.listArtifacts(...)` açığa çıkarabilir. -- `registerMemoryPromptSection`, `registerMemoryFlushPlan` ve `registerMemoryRuntime` eskiyle uyumlu tekil bellek-plugin API'leridir. -- `MemoryFlushPlan.model`, boşaltma turunu etkin geri dönüş zincirini devralmadan `ollama/qwen3:8b` gibi kesin bir `provider/model` referansına sabitleyebilir. -- `registerMemoryEmbeddingProvider`, etkin bellek plugin'inin bir veya daha fazla gömme bağdaştırıcısı kimliği kaydetmesini sağlar (örneğin `openai`, `gemini` veya plugin tarafından tanımlanmış özel bir kimlik). -- `agents.defaults.memorySearch.provider` ve `agents.defaults.memorySearch.fallback` gibi kullanıcı yapılandırmaları, bu kayıtlı bağdaştırıcı kimliklerine göre çözümlenir. +- `registerMemoryCapability` tercih edilen özel bellek Plugin'i API'sidir. +- `registerMemoryCapability`, eşlik eden Plugin'lerin dışa aktarılan bellek yapıtlarını belirli bir bellek Plugin'inin özel düzenine erişmek yerine `openclaw/plugin-sdk/memory-host-core` üzerinden tüketebilmesi için `publicArtifacts.listArtifacts(...)` de açığa çıkarabilir. +- `registerMemoryPromptSection`, `registerMemoryFlushPlan` ve `registerMemoryRuntime` eski sürüm uyumlu özel bellek Plugin'i API'leridir. +- `MemoryFlushPlan.model`, boşaltma turunu etkin yedek zincirini devralmadan `ollama/qwen3:8b` gibi tam bir `provider/model` başvurusuna sabitleyebilir. +- `registerMemoryEmbeddingProvider`, etkin bellek Plugin'inin bir veya daha fazla embedding adaptörü kimliği kaydetmesini sağlar (örneğin `openai`, `gemini` veya Plugin tarafından tanımlanan özel bir kimlik). +- `agents.defaults.memorySearch.provider` ve `agents.defaults.memorySearch.fallback` gibi kullanıcı yapılandırmaları bu kayıtlı adaptör kimliklerine göre çözümlenir. ### Olaylar ve yaşam döngüsü -| Yöntem | Ne yapar | -| -------------------------------------------- | ------------------------------------- | -| `api.on(hookName, handler, opts?)` | Türlendirilmiş yaşam döngüsü kancası | -| `api.onConversationBindingResolved(handler)` | Konuşma bağlama geri çağırması | +| Yöntem | Yaptığı şey | +| -------------------------------------------- | ------------------------------ | +| `api.on(hookName, handler, opts?)` | Tipli yaşam döngüsü kancası | +| `api.onConversationBindingResolved(handler)` | Konuşma bağlama geri çağrısı | Örnekler, yaygın kanca adları ve koruma semantiği için [Plugin kancaları](/tr/plugins/hooks) bölümüne bakın. ### Kanca karar semantiği - `before_tool_call`: `{ block: true }` döndürmek sonlandırıcıdır. Herhangi bir işleyici bunu ayarladığında, daha düşük öncelikli işleyiciler atlanır. -- `before_tool_call`: `{ block: false }` döndürmek karar yok olarak değerlendirilir (`block` atlamakla aynı), geçersiz kılma olarak değil. +- `before_tool_call`: `{ block: false }` döndürmek karar yok olarak ele alınır (`block` öğesini atlamakla aynı), geçersiz kılma olarak değil. - `before_install`: `{ block: true }` döndürmek sonlandırıcıdır. Herhangi bir işleyici bunu ayarladığında, daha düşük öncelikli işleyiciler atlanır. -- `before_install`: `{ block: false }` döndürmek karar yok olarak değerlendirilir (`block` atlamakla aynı), geçersiz kılma olarak değil. +- `before_install`: `{ block: false }` döndürmek karar yok olarak ele alınır (`block` öğesini atlamakla aynı), geçersiz kılma olarak değil. - `reply_dispatch`: `{ handled: true, ... }` döndürmek sonlandırıcıdır. Herhangi bir işleyici gönderimi üstlendiğinde, daha düşük öncelikli işleyiciler ve varsayılan model gönderim yolu atlanır. - `message_sending`: `{ cancel: true }` döndürmek sonlandırıcıdır. Herhangi bir işleyici bunu ayarladığında, daha düşük öncelikli işleyiciler atlanır. -- `message_sending`: `{ cancel: false }` döndürmek karar yok olarak değerlendirilir (`cancel` atlamakla aynı), geçersiz kılma olarak değil. -- `message_received`: gelen iş parçacığı/konu yönlendirmesine ihtiyaç duyduğunuzda türlendirilmiş `threadId` alanını kullanın. `metadata` alanını kanala özgü ekler için saklayın. -- `message_sending`: kanala özgü `metadata` değerine geri dönmeden önce türlendirilmiş `replyToId` / `threadId` yönlendirme alanlarını kullanın. -- `gateway_start`: dahili `gateway:startup` kancalarına güvenmek yerine Gateway'e ait başlangıç durumu için `ctx.config`, `ctx.workspaceDir` ve `ctx.getCron?.()` kullanın. -- `cron_changed`: Gateway'e ait cron yaşam döngüsü değişikliklerini gözlemleyin. Harici uyandırma zamanlayıcılarını eşitlerken `event.job?.state?.nextRunAtMs` ve `ctx.getCron?.()` kullanın ve vade kontrolleri ile yürütme için OpenClaw'ı doğruluk kaynağı olarak tutun. +- `message_sending`: `{ cancel: false }` döndürmek karar yok olarak ele alınır (`cancel` öğesini atlamakla aynı), geçersiz kılma olarak değil. +- `message_received`: gelen iş parçacığı/konu yönlendirmesine ihtiyaç duyduğunuzda tipli `threadId` alanını kullanın. `metadata` öğesini kanala özgü ekler için tutun. +- `message_sending`: kanala özgü `metadata` değerine geri dönmeden önce tipli `replyToId` / `threadId` yönlendirme alanlarını kullanın. +- `gateway_start`: dahili `gateway:startup` kancalarına güvenmek yerine Gateway'e ait başlatma durumu için `ctx.config`, `ctx.workspaceDir` ve `ctx.getCron?.()` kullanın. +- `cron_changed`: Gateway'e ait Cron yaşam döngüsü değişikliklerini gözlemleyin. Harici uyandırma zamanlayıcılarını senkronize ederken `event.job?.state?.nextRunAtMs` ve `ctx.getCron?.()` kullanın ve vade denetimleri ile yürütme için doğruluk kaynağı olarak OpenClaw'ı koruyun. ### API nesnesi alanları @@ -311,17 +311,17 @@ api.registerCli( | `api.id` | `string` | Plugin kimliği | | `api.name` | `string` | Görünen ad | | `api.version` | `string?` | Plugin sürümü (isteğe bağlı) | -| `api.description` | `string?` | Plugin açıklaması (isteğe bağlı) | +| `api.description` | `string?` | Plugin açıklaması (isteğe bağlı) | | `api.source` | `string` | Plugin kaynak yolu | -| `api.rootDir` | `string?` | Plugin kök dizini (isteğe bağlı) | -| `api.config` | `OpenClawConfig` | Geçerli yapılandırma anlık görüntüsü (varsa etkin bellek içi çalışma zamanı anlık görüntüsü) | -| `api.pluginConfig` | `Record` | `plugins.entries..config` içinden plugin'e özgü yapılandırma | -| `api.runtime` | `PluginRuntime` | [Çalışma zamanı yardımcıları](/tr/plugins/sdk-runtime) | +| `api.rootDir` | `string?` | Plugin kök dizini (isteğe bağlı) | +| `api.config` | `OpenClawConfig` | Mevcut yapılandırma anlık görüntüsü (varsa etkin bellek içi çalışma zamanı anlık görüntüsü) | +| `api.pluginConfig` | `Record` | `plugins.entries..config` içinden Plugin'e özgü yapılandırma | +| `api.runtime` | `PluginRuntime` | [Çalışma zamanı yardımcıları](/tr/plugins/sdk-runtime) | | `api.logger` | `PluginLogger` | Kapsamlı günlükleyici (`debug`, `info`, `warn`, `error`) | -| `api.registrationMode` | `PluginRegistrationMode` | Geçerli yükleme modu; `"setup-runtime"` hafif tam giriş öncesi başlangıç/kurulum penceresidir | +| `api.registrationMode` | `PluginRegistrationMode` | Mevcut yükleme modu; `"setup-runtime"` hafif tam giriş öncesi başlatma/kurulum penceresidir | | `api.resolvePath(input)` | `(string) => string` | Plugin köküne göre yolu çözümle | -## Dahili modül kuralı +## Dahili modül düzeni Plugin'iniz içinde, dahili içe aktarmalar için yerel barrel dosyaları kullanın: @@ -334,22 +334,22 @@ my-plugin/ ``` - Üretim kodundan kendi plugin'inizi asla `openclaw/plugin-sdk/` + Üretim kodunda kendi Plugin'inizi asla `openclaw/plugin-sdk/` üzerinden içe aktarmayın. Dahili içe aktarmaları `./api.ts` veya - `./runtime-api.ts` üzerinden yönlendirin. SDK yolu yalnızca dış sözleşmedir. + `./runtime-api.ts` üzerinden yönlendirin. SDK yolu yalnızca harici sözleşmedir. -Facade ile yüklenen paketlenmiş plugin genel yüzeyleri (`api.ts`, `runtime-api.ts`, `index.ts`, `setup-entry.ts` ve benzer genel giriş dosyaları), OpenClaw zaten çalışıyorsa etkin çalışma zamanı yapılandırma anlık görüntüsünü tercih eder. Henüz çalışma zamanı anlık görüntüsü yoksa, diskteki çözümlenmiş yapılandırma dosyasına geri dönerler. Paketlenmiş plugin facade'ları OpenClaw'ın plugin facade yükleyicileri üzerinden yüklenmelidir; `dist/extensions/...` içinden doğrudan içe aktarmalar, paketli kurulumların plugin'e ait kod için kullandığı manifest ve çalışma zamanı sidecar kontrollerini atlar. +Facade ile yüklenen paketlenmiş Plugin ortak yüzeyleri (`api.ts`, `runtime-api.ts`, `index.ts`, `setup-entry.ts` ve benzer ortak giriş dosyaları), OpenClaw zaten çalışıyorken etkin çalışma zamanı yapılandırma anlık görüntüsünü tercih eder. Henüz çalışma zamanı anlık görüntüsü yoksa, diskte çözümlenen yapılandırma dosyasına geri dönerler. Paketlenmiş paket Plugin facade'ları OpenClaw'ın Plugin facade yükleyicileri üzerinden yüklenmelidir; `dist/extensions/...` içinden doğrudan içe aktarmalar, paketli kurulumların Plugin'e ait kod için kullandığı manifest ve çalışma zamanı sidecar denetimlerini atlar. -Sağlayıcı plugin'leri, bir yardımcı özellikle sağlayıcıya özgü olduğunda ve henüz genel bir SDK alt yoluna ait olmadığında dar bir plugin-yerel sözleşme barrel'ı açığa çıkarabilir. Paketlenmiş örnekler: +Sağlayıcı Plugin'leri, bir yardımcı bilerek sağlayıcıya özgü olduğunda ve henüz genel bir SDK alt yoluna ait olmadığında dar bir Plugin yerel sözleşme barrel'ı açığa çıkarabilir. Paketlenmiş örnekler: -- **Anthropic**: Claude beta-header ve `service_tier` akış yardımcıları için genel `api.ts` / `contract-api.ts` sınırı. -- **`@openclaw/openai-provider`**: `api.ts` sağlayıcı oluşturucularını, varsayılan model yardımcılarını ve gerçek zamanlı sağlayıcı oluşturucularını dışa aktarır. -- **`@openclaw/openrouter-provider`**: `api.ts` sağlayıcı oluşturucusunu ve katılım/yapılandırma yardımcılarını dışa aktarır. +- **Anthropic**: Claude beta-header ve `service_tier` akış yardımcıları için ortak `api.ts` / `contract-api.ts` yüzeyi. +- **`@openclaw/openai-provider`**: `api.ts` sağlayıcı oluşturucuları, varsayılan model yardımcılarını ve realtime sağlayıcı oluşturucularını dışa aktarır. +- **`@openclaw/openrouter-provider`**: `api.ts` sağlayıcı oluşturucusunu ve onboarding/yapılandırma yardımcılarını dışa aktarır. - Eklenti üretim kodu ayrıca `openclaw/plugin-sdk/` - içe aktarmalarından kaçınmalıdır. Bir yardımcı gerçekten paylaşılıyorsa, iki plugin'i birbirine bağlamak yerine onu `openclaw/plugin-sdk/speech`, `.../provider-model-shared` veya başka bir yetenek odaklı yüzey gibi tarafsız bir SDK alt yoluna yükseltin. + Extension üretim kodu da `openclaw/plugin-sdk/` + içe aktarmalarından kaçınmalıdır. Bir yardımcı gerçekten paylaşılıyorsa, iki Plugin'i birbirine bağlamak yerine onu `openclaw/plugin-sdk/speech`, `.../provider-model-shared` veya başka bir yetenek odaklı yüzey gibi tarafsız bir SDK alt yoluna yükseltin. ## İlgili @@ -359,7 +359,7 @@ Sağlayıcı plugin'leri, bir yardımcı özellikle sağlayıcıya özgü olduğ `definePluginEntry` ve `defineChannelPluginEntry` seçenekleri. - Tam `api.runtime` ad alanı referansı. + Tam `api.runtime` ad alanı başvurusu. Paketleme, manifestler ve yapılandırma şemaları. @@ -370,7 +370,7 @@ Sağlayıcı plugin'leri, bir yardımcı özellikle sağlayıcıya özgü olduğ Kullanımdan kaldırılan yüzeylerden geçiş. - - Derinlemesine mimari ve yetenek modeli. + + Derin mimari ve yetenek modeli. diff --git a/docs/tr/security/network-proxy.md b/docs/tr/security/network-proxy.md index ab916f36b..c269ae91a 100644 --- a/docs/tr/security/network-proxy.md +++ b/docs/tr/security/network-proxy.md @@ -1,40 +1,40 @@ --- read_when: - - SSRF ve DNS yeniden bağlama saldırılarına karşı katmanlı savunma istiyorsunuz + - SSRF ve DNS rebinding saldırılarına karşı derinlemesine savunma istiyorsunuz - OpenClaw çalışma zamanı trafiği için harici bir ileri proxy yapılandırma summary: OpenClaw çalışma zamanı HTTP ve WebSocket trafiğini operatör tarafından yönetilen bir filtreleme proxy'si üzerinden yönlendirme title: Ağ proxy'si x-i18n: - generated_at: "2026-05-04T07:08:19Z" + generated_at: "2026-05-04T18:24:35Z" model: gpt-5.5 provider: openai - source_hash: fc7140c5ced0e7454a6f85d1ea8f3256bbd28cc0cb42eeafe8e5e6439b90e3f0 + source_hash: eedbf3bac14800c34c7ca2e3b6879dac360a88d51b5b7449ddf41a4dd471648b source_path: security/network-proxy.md workflow: 16 --- # Ağ Proxy'si -OpenClaw, çalışma zamanı HTTP ve WebSocket trafiğini operatör tarafından yönetilen bir ileri proxy üzerinden yönlendirebilir. Bu, merkezi çıkış kontrolü, daha güçlü SSRF koruması ve daha iyi ağ denetlenebilirliği isteyen dağıtımlar için isteğe bağlı katmanlı savunmadır. +OpenClaw, çalışma zamanı HTTP ve WebSocket trafiğini operatör tarafından yönetilen bir ileri proxy üzerinden yönlendirebilir. Bu, merkezi çıkış kontrolü, daha güçlü SSRF koruması ve daha iyi ağ denetlenebilirliği isteyen dağıtımlar için isteğe bağlı derinlemesine savunmadır. -OpenClaw bir proxy göndermez, indirmez, başlatmaz, yapılandırmaz veya sertifikalandırmaz. Ortamınıza uyan proxy teknolojisini siz çalıştırırsınız ve OpenClaw normal süreç-yerel HTTP ve WebSocket istemcilerini bunun üzerinden yönlendirir. +OpenClaw bir proxy göndermez, indirmez, başlatmaz, yapılandırmaz veya sertifikalandırmaz. Ortamınıza uyan proxy teknolojisini siz çalıştırırsınız ve OpenClaw normal süreç yerelindeki HTTP ve WebSocket istemcilerini bunun üzerinden yönlendirir. -## Neden Proxy Kullanmalı? +## Neden Proxy Kullanılmalı? -Proxy, operatörlere giden HTTP ve WebSocket trafiği için tek bir ağ denetim noktası sağlar. Bu, SSRF sertleştirmesi dışında bile yararlı olabilir: +Proxy, operatörlere giden HTTP ve WebSocket trafiği için tek bir ağ kontrol noktası sağlar. Bu, SSRF güçlendirmesi dışında da yararlı olabilir: -- Merkezi ilke: her uygulama HTTP çağrı noktasının ağ kurallarını doğru uygulamasına güvenmek yerine tek bir çıkış ilkesi sürdürün. -- Bağlantı zamanı kontrolleri: hedefi DNS çözümlemesinden sonra ve proxy yukarı akış bağlantısını açmadan hemen önce değerlendirin. -- DNS yeniden bağlama savunması: uygulama düzeyindeki DNS kontrolü ile gerçek giden bağlantı arasındaki boşluğu azaltın. -- Daha geniş JavaScript kapsamı: sıradan `fetch`, `node:http`, `node:https`, WebSocket, axios, got, node-fetch ve benzer istemcileri aynı yoldan yönlendirin. +- Merkezi politika: her uygulama HTTP çağrı noktasının ağ kurallarını doğru uygulamasına güvenmek yerine tek bir çıkış politikası sürdürün. +- Bağlantı zamanı denetimleri: hedefi DNS çözümlemesinden sonra ve proxy yukarı akış bağlantısını açmadan hemen önce değerlendirin. +- DNS rebinding savunması: uygulama düzeyindeki DNS denetimi ile gerçek giden bağlantı arasındaki boşluğu azaltın. +- Daha geniş JavaScript kapsamı: sıradan `fetch`, `node:http`, `node:https`, WebSocket, axios, got, node-fetch ve benzeri istemcileri aynı yol üzerinden yönlendirin. - Denetlenebilirlik: izin verilen ve reddedilen hedefleri çıkış sınırında günlüğe kaydedin. -- Operasyonel kontrol: OpenClaw'ı yeniden derlemeden hedef kuralları, ağ segmentasyonu, hız sınırları veya giden izin listeleri uygulayın. +- Operasyonel kontrol: OpenClaw'u yeniden derlemeden hedef kuralları, ağ segmentasyonu, hız sınırları veya giden izin listeleri uygulayın. -Proxy yönlendirmesi, normal HTTP ve WebSocket çıkışı için süreç düzeyinde bir güvenlik rayıdır. Operatörlere desteklenen JavaScript HTTP istemcilerini kendi filtreleme proxy'leri üzerinden yönlendirmek için varsayılan olarak kapalı başarısız olan bir yol sağlar; ancak bu, işletim sistemi düzeyinde bir ağ sanal alanı değildir ve OpenClaw'ın proxy'nin hedef ilkesini sertifikalandırmasını sağlamaz. +Proxy yönlendirmesi, normal HTTP ve WebSocket çıkışı için süreç düzeyinde bir koruma sınırıdır. Operatörlere desteklenen JavaScript HTTP istemcilerini kendi filtreleme proxy'leri üzerinden yönlendirmek için kapalı başarısız olan bir yol sağlar, ancak işletim sistemi düzeyinde bir ağ sanal alanı değildir ve OpenClaw'un proxy'nin hedef politikasını sertifikalandırmasını sağlamaz. ## OpenClaw Trafiği Nasıl Yönlendirir? -`proxy.enabled=true` olduğunda ve bir proxy URL'si yapılandırıldığında, `openclaw gateway run`, `openclaw node run` ve `openclaw agent --local` gibi korunan çalışma zamanı süreçleri normal HTTP ve WebSocket çıkışını yapılandırılmış proxy üzerinden yönlendirir: +`proxy.enabled=true` olduğunda ve bir proxy URL'si yapılandırıldığında, `openclaw gateway run`, `openclaw node run` ve `openclaw agent --local` gibi korumalı çalışma zamanı süreçleri normal HTTP ve WebSocket çıkışını yapılandırılmış proxy üzerinden yönlendirir: ```text OpenClaw process @@ -43,27 +43,27 @@ OpenClaw process WebSocket clients -> operator-managed filtering proxy -> public internet ``` -Genel sözleşme, bunu uygulamak için kullanılan dahili Node kancaları değil, yönlendirme davranışıdır. OpenClaw Gateway denetim düzlemi WebSocket istemcileri, Gateway URL'si `localhost` veya `127.0.0.1` ya da `[::1]` gibi değişmez bir loopback IP kullandığında local loopback Gateway RPC trafiği için dar bir doğrudan yol kullanır. Bu denetim düzlemi yolu, operatör proxy'si loopback hedeflerini engellese bile loopback Gateway'lere ulaşabilmelidir. Normal çalışma zamanı HTTP ve WebSocket istekleri yine yapılandırılmış proxy'yi kullanır. +Genel sözleşme, bunu uygulamak için kullanılan dahili Node kancaları değil, yönlendirme davranışıdır. OpenClaw Gateway kontrol düzlemi WebSocket istemcileri, Gateway URL'si `localhost` veya `127.0.0.1` ya da `[::1]` gibi değişmez bir loopback IP kullandığında local loopback Gateway RPC trafiği için dar bir doğrudan yol kullanır. Bu kontrol düzlemi yolu, operatör proxy'si loopback hedeflerini engellese bile loopback Gateway'lere ulaşabilmelidir. Normal çalışma zamanı HTTP ve WebSocket istekleri yine de yapılandırılmış proxy'yi kullanır. -OpenClaw, bu özellik için dahili olarak iki süreç düzeyinde yönlendirme kancası kullanır: +OpenClaw bu özellik için dahili olarak iki süreç düzeyinde yönlendirme kancası kullanır: -- Undici dağıtıcı yönlendirmesi `fetch`, undici destekli istemciler ve kendi undici dağıtıcısını sağlayan taşıyıcıları kapsar. -- `global-agent` yönlendirmesi, `http.request`, `https.request`, `http.get` ve `https.get` üzerine katmanlanmış birçok kitaplık dahil olmak üzere Node çekirdek `node:http` ve `node:https` çağıranlarını kapsar. Yönetilen proxy modu, açık Node HTTP ajanlarının operatör proxy'sini yanlışlıkla atlamaması için bu küresel ajanı zorunlu kılar. +- Undici dispatcher yönlendirmesi `fetch`, undici destekli istemciler ve kendi undici dispatcher'ını sağlayan taşıyıcıları kapsar. +- `global-agent` yönlendirmesi, `http.request`, `https.request`, `http.get` ve `https.get` üzerine katmanlanan birçok kitaplık dahil olmak üzere Node çekirdek `node:http` ve `node:https` çağıranlarını kapsar. Yönetilen proxy modu, açık Node HTTP agent'larının operatör proxy'sini yanlışlıkla atlamaması için bu global agent'ı zorunlu kılar. -Bazı Plugin'ler, süreç düzeyinde yönlendirme mevcut olsa bile açık proxy bağlantılaması gerektiren özel taşıyıcılara sahiptir. Örneğin, Telegram'ın Bot API taşıyıcısı kendi HTTP/1 undici dağıtıcısını kullanır ve bu nedenle sahibine özel taşıyıcı yolunda süreç proxy ortamına ek olarak yönetilen `OPENCLAW_PROXY_URL` yedeğini de dikkate alır. +Bazı plugin'ler, süreç düzeyinde yönlendirme mevcut olsa bile açık proxy bağlantısı gerektiren özel taşıyıcılara sahiptir. Örneğin, Telegram'ın Bot API taşıyıcısı kendi HTTP/1 undici dispatcher'ını kullanır ve bu nedenle ilgili sahip özelindeki taşıyıcı yolunda süreç proxy ortam değişkenlerini ve yönetilen `OPENCLAW_PROXY_URL` yedeğini dikkate alır. -Proxy URL'sinin kendisi `http://` kullanmalıdır. HTTPS hedefleri proxy üzerinden HTTP `CONNECT` ile hâlâ desteklenir; bu yalnızca OpenClaw'ın `http://127.0.0.1:3128` gibi düz bir HTTP ileri proxy dinleyicisi beklediği anlamına gelir. +Proxy URL'sinin kendisi `http://` kullanmalıdır. HTTPS hedefleri proxy üzerinden HTTP `CONNECT` ile hâlâ desteklenir; bu yalnızca OpenClaw'un `http://127.0.0.1:3128` gibi düz bir HTTP ileri proxy dinleyicisi beklediği anlamına gelir. -Proxy etkinken OpenClaw `no_proxy`, `NO_PROXY` ve `GLOBAL_AGENT_NO_PROXY` değerlerini temizler. Bu atlama listeleri hedef tabanlıdır; bu nedenle `localhost` veya `127.0.0.1` değerlerini orada bırakmak, yüksek riskli SSRF hedeflerinin filtreleme proxy'sini atlamasına izin verirdi. +Proxy etkinken OpenClaw `no_proxy`, `NO_PROXY` ve `GLOBAL_AGENT_NO_PROXY` değerlerini temizler. Bu atlama listeleri hedef tabanlıdır, bu yüzden `localhost` veya `127.0.0.1` değerlerini orada bırakmak, yüksek riskli SSRF hedeflerinin filtreleme proxy'sini atlamasına izin verir. Kapatma sırasında OpenClaw önceki proxy ortamını geri yükler ve önbelleğe alınmış süreç yönlendirme durumunu sıfırlar. ## İlgili Proxy Terimleri - `proxy.enabled` / `proxy.proxyUrl`: OpenClaw çalışma zamanı çıkışı için giden ileri proxy yönlendirmesi. Bu sayfa bu özelliği belgeler. -- `gateway.auth.mode: "trusted-proxy"`: Gateway erişimi için gelen kimlik farkındalıklı ters proxy kimlik doğrulaması. Bkz. [Güvenilir proxy kimlik doğrulaması](/tr/gateway/trusted-proxy-auth). -- `openclaw proxy`: geliştirme ve destek için yerel hata ayıklama proxy'si ve yakalama denetçisi. Bkz. [openclaw proxy](/tr/cli/proxy). -- Kanala veya sağlayıcıya özel proxy ayarları: belirli bir taşıyıcı için sahibine özel geçersiz kılmalar. Hedef çalışma zamanı genelinde merkezi çıkış kontrolüyse yönetilen ağ proxy'sini tercih edin. +- `gateway.auth.mode: "trusted-proxy"`: Gateway erişimi için gelen kimlik duyarlı ters proxy kimlik doğrulaması. Bkz. [Güvenilir proxy kimlik doğrulaması](/tr/gateway/trusted-proxy-auth). +- `openclaw proxy`: geliştirme ve destek için yerel hata ayıklama proxy'si ve yakalama inceleyicisi. Bkz. [openclaw proxy](/tr/cli/proxy). +- Kanal veya sağlayıcıya özel proxy ayarları: belirli bir taşıyıcı için sahip özelindeki geçersiz kılmalar. Amaç çalışma zamanı genelinde merkezi çıkış kontrolü olduğunda yönetilen ağ proxy'sini tercih edin. ## Yapılandırma @@ -73,15 +73,15 @@ proxy: proxyUrl: http://127.0.0.1:3128 ``` -Ayrıca yapılandırmada `proxy.enabled=true` tutarken URL'yi ortam üzerinden de sağlayabilirsiniz: +URL'yi ortam üzerinden de sağlayabilir ve yapılandırmada `proxy.enabled=true` tutabilirsiniz: ```bash OPENCLAW_PROXY_URL=http://127.0.0.1:3128 openclaw gateway run ``` -`proxy.proxyUrl`, `OPENCLAW_PROXY_URL` değerinden önceliklidir. +`proxy.proxyUrl`, `OPENCLAW_PROXY_URL` üzerinde önceliğe sahiptir. -`enabled=true` ise ancak geçerli bir proxy URL'si yapılandırılmamışsa, korunan komutlar doğrudan ağ erişimine geri dönmek yerine başlangıçta başarısız olur. +`enabled=true` ise ancak geçerli bir proxy URL'si yapılandırılmamışsa, korumalı komutlar doğrudan ağ erişimine geri dönmek yerine başlangıçta başarısız olur. `openclaw gateway start` ile başlatılan yönetilen gateway hizmetleri için URL'yi yapılandırmada saklamayı tercih edin: @@ -92,63 +92,63 @@ openclaw gateway install --force openclaw gateway start ``` -Ortam yedeği ön planda çalıştırmalar için en uygunudur. Bunu kurulu bir hizmetle kullanırsanız, `OPENCLAW_PROXY_URL` değerini `$OPENCLAW_STATE_DIR/.env` veya `~/.openclaw/.env` gibi hizmetin kalıcı ortamına koyun, ardından launchd, systemd veya Scheduled Tasks gateway'i bu değerle başlatsın diye hizmeti yeniden kurun. +Ortam yedeği ön planda çalışan komutlar için en uygunudur. Bunu kurulu bir hizmetle kullanırsanız, `OPENCLAW_PROXY_URL` değerini `$OPENCLAW_STATE_DIR/.env` veya `~/.openclaw/.env` gibi hizmetin kalıcı ortamına koyun, ardından launchd, systemd veya Scheduled Tasks gateway'i bu değerle başlatsın diye hizmeti yeniden kurun. -`openclaw --container ...` komutları için OpenClaw, ayarlandığında `OPENCLAW_PROXY_URL` değerini kapsayıcı hedefli alt CLI'ye iletir. URL kapsayıcının içinden erişilebilir olmalıdır; `127.0.0.1` ana makineyi değil, kapsayıcının kendisini ifade eder. OpenClaw, bu güvenlik kontrolünü açıkça geçersiz kılmadığınız sürece kapsayıcı hedefli komutlar için loopback proxy URL'lerini reddeder. +`openclaw --container ...` komutları için OpenClaw, ayarlı olduğunda `OPENCLAW_PROXY_URL` değerini konteyner hedefli alt CLI'ye iletir. URL konteynerin içinden erişilebilir olmalıdır; `127.0.0.1` ana makineyi değil, konteynerin kendisini ifade eder. OpenClaw, bu güvenlik denetimini açıkça geçersiz kılmadığınız sürece konteyner hedefli komutlar için loopback proxy URL'lerini reddeder. ## Proxy Gereksinimleri -Proxy ilkesi güvenlik sınırıdır. OpenClaw proxy'nin doğru hedefleri engellediğini doğrulayamaz. +Proxy politikası güvenlik sınırıdır. OpenClaw, proxy'nin doğru hedefleri engellediğini doğrulayamaz. Proxy'yi şunları yapacak şekilde yapılandırın: -- Yalnızca loopback'e veya özel güvenilir bir arayüze bağlansın. -- Erişimi yalnızca OpenClaw süreci, ana makine, kapsayıcı veya hizmet hesabı kullanabilecek şekilde kısıtlasın. +- Yalnızca loopback veya özel güvenilir bir arayüze bağlanın. +- Erişimi yalnızca OpenClaw süreci, ana makine, konteyner veya hizmet hesabı kullanabilecek şekilde kısıtlayın. - Hedefleri kendisi çözümlesin ve DNS çözümlemesinden sonra hedef IP'leri engellesin. -- Hem düz HTTP istekleri hem de HTTPS `CONNECT` tünelleri için bağlantı zamanında ilke uygulasın. +- Hem düz HTTP istekleri hem de HTTPS `CONNECT` tünelleri için bağlantı zamanında politika uygulasın. - Loopback, özel, link-local, metadata, multicast, ayrılmış veya dokümantasyon aralıkları için hedef tabanlı atlamaları reddetsin. -- DNS çözümleme yoluna tamamen güvenmediğiniz sürece ana makine adı izin listelerinden kaçınsın. -- İstek gövdelerini, yetkilendirme başlıklarını, çerezleri veya diğer sırları günlüğe kaydetmeden hedefi, kararı, durumu ve nedeni günlüğe kaydetsin. -- Proxy ilkesini sürüm kontrolü altında tutsun ve değişiklikleri güvenlik açısından hassas yapılandırma gibi gözden geçirsin. +- DNS çözümleme yoluna tamamen güvenmediğiniz sürece ana makine adı izin listelerinden kaçının. +- İstek gövdelerini, yetkilendirme başlıklarını, çerezleri veya diğer sırları günlüğe kaydetmeden hedefi, kararı, durumu ve nedeni günlüğe kaydedin. +- Proxy politikasını sürüm kontrolü altında tutun ve değişiklikleri güvenlik açısından hassas yapılandırma gibi gözden geçirin. -## Önerilen Engellenen Hedefler +## Önerilen Engellenmiş Hedefler -Bu reddetme listesini herhangi bir ileri proxy, güvenlik duvarı veya çıkış ilkesi için başlangıç noktası olarak kullanın. +Bu reddetme listesini herhangi bir ileri proxy, güvenlik duvarı veya çıkış politikası için başlangıç noktası olarak kullanın. -OpenClaw uygulama düzeyindeki sınıflandırıcı mantığı `src/infra/net/ssrf.ts` ve `src/shared/net/ip.ts` içinde bulunur. İlgili eşdeğerlik kancaları `BLOCKED_HOSTNAMES`, `BLOCKED_IPV4_SPECIAL_USE_RANGES`, `BLOCKED_IPV6_SPECIAL_USE_RANGES`, `RFC2544_BENCHMARK_PREFIX` ve NAT64, 6to4, Teredo, ISATAP ve IPv4 eşlenmiş biçimler için gömülü IPv4 sentinel işlemesidir. Bu dosyalar harici bir proxy ilkesini sürdürürken yararlı referanslardır, ancak OpenClaw bu kuralları proxy'nize otomatik olarak dışa aktarmaz veya orada uygulamaz. +OpenClaw uygulama düzeyi sınıflandırıcı mantığı `src/infra/net/ssrf.ts` ve `src/shared/net/ip.ts` içinde bulunur. İlgili eşlik kancaları `BLOCKED_HOSTNAMES`, `BLOCKED_IPV4_SPECIAL_USE_RANGES`, `BLOCKED_IPV6_SPECIAL_USE_RANGES`, `RFC2544_BENCHMARK_PREFIX` ve NAT64, 6to4, Teredo, ISATAP ve IPv4 eşlemeli biçimler için gömülü IPv4 sentinel işlemesidir. Bu dosyalar harici bir proxy politikası sürdürürken yararlı referanslardır, ancak OpenClaw bu kuralları proxy'nize otomatik olarak dışa aktarmaz veya orada uygulamaz. -| Aralık veya ana makine | Engelleme nedeni | -| ------------------------------------------------------------------------------------ | --------------------------------------------------- | -| `127.0.0.0/8`, `localhost`, `localhost.localdomain` | IPv4 loopback | -| `::1/128` | IPv6 loopback | -| `0.0.0.0/8`, `::/128` | Belirtilmemiş ve bu-ağ adresleri | -| `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16` | RFC1918 özel ağları | -| `169.254.0.0/16`, `fe80::/10` | Link-local adresler ve yaygın bulut metadata yolları | -| `169.254.169.254`, `metadata.google.internal` | Bulut metadata hizmetleri | -| `100.64.0.0/10` | Taşıyıcı sınıfı NAT paylaşımlı adres alanı | -| `198.18.0.0/15`, `2001:2::/48` | Kıyaslama aralıkları | -| `192.0.0.0/24`, `192.0.2.0/24`, `198.51.100.0/24`, `203.0.113.0/24`, `2001:db8::/32` | Özel kullanım ve dokümantasyon aralıkları | -| `224.0.0.0/4`, `ff00::/8` | Multicast | -| `240.0.0.0/4` | Ayrılmış IPv4 | -| `fc00::/7`, `fec0::/10` | IPv6 yerel/özel aralıkları | -| `100::/64`, `2001:20::/28` | IPv6 atma ve ORCHIDv2 aralıkları | -| `64:ff9b::/96`, `64:ff9b:1::/48` | Gömülü IPv4 içeren NAT64 önekleri | -| `2002::/16`, `2001::/32` | Gömülü IPv4 içeren 6to4 ve Teredo | -| `::/96`, `::ffff:0:0/96` | IPv4 uyumlu ve IPv4 eşlenmiş IPv6 | +| Aralık veya ana makine | Engelleme nedeni | +| ------------------------------------------------------------------------------------ | ----------------------------------------------------- | +| `127.0.0.0/8`, `localhost`, `localhost.localdomain` | IPv4 loopback | +| `::1/128` | IPv6 loopback | +| `0.0.0.0/8`, `::/128` | Belirtilmemiş ve bu-ağ adresleri | +| `10.0.0.0/8`, `172.16.0.0/12`, `192.168.0.0/16` | RFC1918 özel ağları | +| `169.254.0.0/16`, `fe80::/10` | Link-local adresler ve yaygın bulut metadata yolları | +| `169.254.169.254`, `metadata.google.internal` | Bulut metadata hizmetleri | +| `100.64.0.0/10` | Taşıyıcı sınıfı NAT paylaşımlı adres alanı | +| `198.18.0.0/15`, `2001:2::/48` | Karşılaştırma testi aralıkları | +| `192.0.0.0/24`, `192.0.2.0/24`, `198.51.100.0/24`, `203.0.113.0/24`, `2001:db8::/32` | Özel kullanım ve dokümantasyon aralıkları | +| `224.0.0.0/4`, `ff00::/8` | Multicast | +| `240.0.0.0/4` | Ayrılmış IPv4 | +| `fc00::/7`, `fec0::/10` | IPv6 yerel/özel aralıkları | +| `100::/64`, `2001:20::/28` | IPv6 discard ve ORCHIDv2 aralıkları | +| `64:ff9b::/96`, `64:ff9b:1::/48` | Gömülü IPv4 içeren NAT64 önekleri | +| `2002::/16`, `2001::/32` | Gömülü IPv4 içeren 6to4 ve Teredo | +| `::/96`, `::ffff:0:0/96` | IPv4 uyumlu ve IPv4 eşlemeli IPv6 | Bulut sağlayıcınız veya ağ platformunuz ek metadata ana makineleri ya da ayrılmış aralıklar belgeliyorsa, bunları da ekleyin. ## Doğrulama -Proxy'yi OpenClaw'ı çalıştıran aynı ana makineden, kapsayıcıdan veya hizmet hesabından doğrulayın: +Proxy'yi OpenClaw'u çalıştıran aynı ana makineden, konteynerden veya hizmet hesabından doğrulayın: ```bash openclaw proxy validate --proxy-url http://127.0.0.1:3128 ``` -Varsayılan olarak, özel hedef sağlanmadığında komut `https://example.com/` adresinin başarılı olduğunu kontrol eder ve proxy'nin ulaşmaması gereken geçici bir loopback kanaryası başlatır. Varsayılan reddedilen kontrol, proxy 2xx olmayan bir red yanıtı döndürdüğünde veya kanaryayı bir taşıma hatasıyla engellediğinde geçer; başarılı bir yanıt kanaryaya ulaşırsa başarısız olur. Hiçbir proxy etkinleştirilmemiş ve yapılandırılmamışsa doğrulama bir yapılandırma sorunu bildirir; yapılandırmayı değiştirmeden önce tek seferlik ön kontrol için `--proxy-url` kullanın. Dağıtıma özel beklentileri test etmek için `--allowed-url` ve `--denied-url` kullanın. Özel reddedilen hedefler varsayılan olarak kapalı başarısız olur: herhangi bir HTTP yanıtı hedefin proxy üzerinden erişilebilir olduğu anlamına gelir ve herhangi bir taşıma hatası sonuçsuz olarak bildirilir, çünkü OpenClaw proxy'nin erişilebilir bir kaynağı engellediğini kanıtlayamaz. Doğrulama başarısız olduğunda komut 1 koduyla çıkar. +Varsayılan olarak, özel hedefler sağlanmadığında komut `https://example.com/` adresinin başarılı olduğunu denetler ve proxy'nin ulaşmaması gereken geçici bir loopback canary başlatır. Varsayılan reddedilen denetim, proxy 2xx olmayan bir reddetme yanıtı döndürdüğünde veya canary'yi bir taşıma hatasıyla engellediğinde başarılı olur; başarılı bir yanıt canary'ye ulaşırsa başarısız olur. Hiçbir proxy etkinleştirilmemiş ve yapılandırılmamışsa doğrulama bir yapılandırma sorunu bildirir; yapılandırmayı değiştirmeden önce tek seferlik ön kontrol için `--proxy-url` kullanın. Dağıtıma özel beklentileri test etmek için `--allowed-url` ve `--denied-url` kullanın. Proxy üzerinden doğrudan APNs HTTP/2 teslimatının bir CONNECT tüneli açabildiğini ve sandbox APNs yanıtı alabildiğini de doğrulamak için `--apns-reachable` ekleyin; prob kasıtlı olarak geçersiz bir sağlayıcı token'ı kullanır, bu nedenle `403 InvalidProviderToken` beklenir ve erişilebilir sayılır. Özel reddedilen hedefler kapalı başarısızdır: herhangi bir HTTP yanıtı hedefe proxy üzerinden ulaşılabildiği anlamına gelir ve herhangi bir taşıma hatası sonuçsuz olarak raporlanır çünkü OpenClaw, proxy'nin erişilebilir bir kaynağı engellediğini kanıtlayamaz. Doğrulama başarısız olduğunda komut kod 1 ile çıkar. -Otomasyon için `--json` kullanın. JSON çıktısı genel sonucu, etkin proxy yapılandırma kaynağını, yapılandırma hatalarını ve her hedef kontrolünü içerir. Proxy URL kimlik bilgileri metin ve JSON çıktısında redakte edilir: +Otomasyon için `--json` kullanın. JSON çıktısı genel sonucu, etkili proxy yapılandırma kaynağını, varsa yapılandırma hatalarını ve her hedef denetimini içerir. Proxy URL kimlik bilgileri metin ve JSON çıktısında redakte edilir: ```json { @@ -165,12 +165,18 @@ Otomasyon için `--json` kullanın. JSON çıktısı genel sonucu, etkin proxy y "url": "https://example.com/", "ok": true, "status": 200 + }, + { + "kind": "apns", + "url": "https://api.sandbox.push.apple.com", + "ok": true, + "status": 403 } ] } ``` -`curl` ile elle de doğrulayabilirsiniz: +`curl` ile el ile de doğrulayabilirsiniz: ```bash curl -x http://127.0.0.1:3128 https://example.com/ @@ -178,7 +184,7 @@ curl -x http://127.0.0.1:3128 http://127.0.0.1/ curl -x http://127.0.0.1:3128 http://169.254.169.254/ ``` -Genel istek başarılı olmalıdır. Geri döngü ve meta veri istekleri proxy tarafından engellenmelidir. `openclaw proxy validate` için yerleşik geri döngü kanaryası, bir proxy reddini erişilebilir bir kaynaktan ayırt edebilir. Özel `--denied-url` denetimlerinde bu kanarya yoktur; bu nedenle proxy'niz ayrı olarak doğrulayabileceğiniz dağıtıma özgü bir red sinyali sunmuyorsa hem HTTP yanıtlarını hem de belirsiz aktarım hatalarını doğrulama hatası olarak değerlendirin. +Genel istek başarılı olmalıdır. Geri döngü ve meta veri istekleri proxy tarafından engellenmelidir. `openclaw proxy validate` için yerleşik geri döngü kanaryası, proxy reddini erişilebilir bir kaynaktan ayırt edebilir. Özel `--denied-url` denetimlerinde bu kanarya yoktur; bu nedenle proxy'niz ayrı olarak doğrulayabileceğiniz dağıtıma özgü bir ret sinyali sunmadığı sürece hem HTTP yanıtlarını hem de belirsiz aktarım hatalarını doğrulama hatası olarak değerlendirin. Ardından OpenClaw proxy yönlendirmesini etkinleştirin: @@ -198,11 +204,11 @@ proxy: ## Sınırlar -- Proxy, süreç içi JavaScript HTTP ve WebSocket istemcileri için kapsamı iyileştirir, ancak işletim sistemi düzeyinde bir ağ sanal alanı değildir. +- Proxy, süreç yerelindeki JavaScript HTTP ve WebSocket istemcileri için kapsamı iyileştirir, ancak işletim sistemi düzeyinde bir ağ sanal alanı değildir. - Ham `net`, `tls` ve `http2` soketleri, yerel eklentiler ve alt süreçler, proxy ortam değişkenlerini devralıp bunlara uymadıkları sürece Node düzeyindeki proxy yönlendirmesini atlayabilir. -- IRC, operatör tarafından yönetilen ileri proxy yönlendirmesinin dışında kalan ham bir TCP/TLS kanalıdır. Tüm dış trafiğin bu ileri proxy üzerinden geçmesini gerektiren dağıtımlarda, doğrudan IRC dış trafiği açıkça onaylanmadıkça `channels.irc.enabled=false` ayarlayın. -- Yerel hata ayıklama proxy'si tanılama aracıdır ve proxy istekleri ile CONNECT tünelleri için doğrudan yukarı akış iletimi, yönetilen proxy modu etkinken varsayılan olarak devre dışıdır; doğrudan iletimi yalnızca onaylı yerel tanılamalar için etkinleştirin. -- Kullanıcı yerel WebUI'leri ve yerel model sunucuları gerektiğinde operatör proxy politikasında izin listesine eklenmelidir; OpenClaw bunlar için genel bir yerel ağ atlaması sunmaz. -- Gateway denetim düzlemi proxy atlaması özellikle `localhost` ve değişmez geri döngü IP URL'leriyle sınırlıdır. Yerel doğrudan Gateway denetim düzlemi bağlantıları için `ws://127.0.0.1:18789`, `ws://[::1]:18789` veya `ws://localhost:18789` kullanın; diğer ana makine adları sıradan ana makine adına dayalı trafik gibi yönlendirilir. +- IRC, operatör tarafından yönetilen ileri proxy yönlendirmesinin dışında kalan ham bir TCP/TLS kanalıdır. Tüm çıkış trafiğinin bu ileri proxy üzerinden geçmesini gerektiren dağıtımlarda, doğrudan IRC çıkış trafiği açıkça onaylanmadıkça `channels.irc.enabled=false` ayarlayın. +- Yerel hata ayıklama proxy'si tanılama aracıdır ve proxy istekleri ile CONNECT tünelleri için doğrudan üst kaynağa iletimi, yönetilen proxy modu etkinken varsayılan olarak devre dışıdır; doğrudan iletimi yalnızca onaylı yerel tanılamalar için etkinleştirin. +- Kullanıcı yerel WebUI'leri ve yerel model sunucuları gerektiğinde operatör proxy politikasında izin listesine alınmalıdır; OpenClaw bunlar için genel bir yerel ağ atlama yolu sunmaz. +- Gateway denetim düzlemi proxy atlaması kasıtlı olarak `localhost` ve değişmez geri döngü IP URL'leriyle sınırlıdır. Yerel doğrudan Gateway denetim düzlemi bağlantıları için `ws://127.0.0.1:18789`, `ws://[::1]:18789` veya `ws://localhost:18789` kullanın; diğer ana makine adları sıradan ana makine adına dayalı trafik gibi yönlendirilir. - OpenClaw proxy politikanızı incelemez, test etmez veya sertifikalandırmaz. - Proxy politikası değişikliklerini güvenlik açısından hassas operasyonel değişiklikler olarak değerlendirin. diff --git a/docs/tr/tools/thinking.md b/docs/tr/tools/thinking.md index cec69c161..b69ed6b2a 100644 --- a/docs/tr/tools/thinking.md +++ b/docs/tr/tools/thinking.md @@ -1,143 +1,144 @@ --- read_when: - - Düşünme, fast-mode veya verbose yönerge ayrıştırmasını ya da varsayılanlarını ayarlama -summary: /think, /fast, /verbose, /trace ve akıl yürütme görünürlüğü için yönerge söz dizimi + - thinking, fast-mode veya verbose yönerge ayrıştırmasını ya da varsayılanlarını ayarlama +summary: /think, /fast, /verbose, /trace için yönerge sözdizimi ve akıl yürütme görünürlüğü title: Düşünme düzeyleri x-i18n: - generated_at: "2026-05-04T07:09:30Z" + generated_at: "2026-05-04T18:24:34Z" model: gpt-5.5 provider: openai - source_hash: 6fa1b0a2b5f7b93a706488c3ad39dfe08c08eed0bdd30880eb4c07d730ee4d4f + source_hash: fcd1cd76ca5d0b08656e0629df656ad8aa037201d8de68093b3e46eb0708f811 source_path: tools/thinking.md workflow: 16 --- -## Ne yapar +## Ne Yapar -- Herhangi bir gelen gövdede satır içi direktif: `/t `, `/think:` veya `/thinking `. +- Herhangi bir gelen gövdede satır içi yönerge: `/t `, `/think:` veya `/thinking `. - Düzeyler (takma adlar): `off | minimal | low | medium | high | xhigh | adaptive | max` - minimal → “düşün” - - low → “sıkı düşün” - - medium → “daha sıkı düşün” - - high → “ultra düşün” (maksimum bütçe) - - xhigh → “ultra düşün+” (GPT-5.2+ ve Codex modelleri, ayrıca Anthropic Claude Opus 4.7 effort) + - low → “yoğun düşün” + - medium → “daha yoğun düşün” + - high → “ultrathink” (en yüksek bütçe) + - xhigh → “ultrathink+” (GPT-5.2+ ve Codex modelleri, ayrıca Anthropic Claude Opus 4.7 çabası) - adaptive → sağlayıcı tarafından yönetilen uyarlanabilir düşünme (Anthropic/Bedrock üzerinde Claude 4.6, Anthropic Claude Opus 4.7 ve Google Gemini dinamik düşünme için desteklenir) - - max → sağlayıcı maksimum akıl yürütmesi (Anthropic Claude Opus 4.7; Ollama bunu en yüksek yerel `think` effort düzeyine eşler) + - max → sağlayıcı en yüksek akıl yürütme (Anthropic Claude Opus 4.7; Ollama bunu kendi en yüksek yerel `think` çabasına eşler) - `x-high`, `x_high`, `extra-high`, `extra high` ve `extra_high`, `xhigh` değerine eşlenir. - `highest`, `high` değerine eşlenir. - Sağlayıcı notları: - - Düşünme menüleri ve seçicileri sağlayıcı profili tarafından belirlenir. Sağlayıcı Plugin bileşenleri, seçilen model için tam düzey kümesini, ikili `on` gibi etiketler dahil olmak üzere bildirir. - - `adaptive`, `xhigh` ve `max` yalnızca bunları destekleyen sağlayıcı/model profilleri için gösterilir. Desteklenmeyen düzeyler için yazılan direktifler, o modelin geçerli seçenekleriyle reddedilir. - - Mevcut kayıtlı desteklenmeyen düzeyler, sağlayıcı profili sıralamasına göre yeniden eşlenir. `adaptive`, uyarlanabilir olmayan modellerde `medium` değerine geri dönerken, `xhigh` ve `max` seçilen model için desteklenen en büyük `off` dışı düzeye geri döner. + - Düşünme menüleri ve seçiciler, sağlayıcı profiline göre yönlendirilir. Sağlayıcı Plugin'leri, seçili model için ikili `on` gibi etiketler dahil tam düzey kümesini bildirir. + - `adaptive`, `xhigh` ve `max` yalnızca bunları destekleyen sağlayıcı/model profilleri için gösterilir. Desteklenmeyen düzeyler için yazılan yönergeler, o modelin geçerli seçenekleriyle reddedilir. + - Mevcut kayıtlı desteklenmeyen düzeyler, sağlayıcı profili sıralamasına göre yeniden eşlenir. `adaptive`, uyarlanabilir olmayan modellerde `medium` değerine geri dönerken `xhigh` ve `max`, seçili model için desteklenen en büyük `off` dışı düzeye geri döner. - Anthropic Claude 4.6 modelleri, açık bir düşünme düzeyi ayarlanmadığında varsayılan olarak `adaptive` kullanır. - - Anthropic Claude Opus 4.7 varsayılan olarak uyarlanabilir düşünmeye geçmez. Açıkça bir düşünme düzeyi ayarlamadığınız sürece API effort varsayılanı sağlayıcıya aittir. - - Anthropic Claude Opus 4.7, `/think xhigh` değerini uyarlanabilir düşünme artı `output_config.effort: "xhigh"` olarak eşler; çünkü `/think` bir düşünme direktifidir ve `xhigh` Opus 4.7 effort ayarıdır. - - Anthropic Claude Opus 4.7 ayrıca `/think max` sunar; bu, aynı sağlayıcıya ait maksimum effort yoluna eşlenir. - - DeepSeek V4 modelleri `/think xhigh|max` sunar; ikisi de DeepSeek `reasoning_effort: "max"` değerine eşlenirken daha düşük `off` dışı düzeyler `high` değerine eşlenir. - - Ollama düşünme özellikli modeller `/think low|medium|high|max` sunar; `max`, yerel `think: "high"` değerine eşlenir çünkü Ollama'nın yerel API'si `low`, `medium` ve `high` effort dizgilerini kabul eder. - - OpenAI GPT modelleri, `/think` değerini modele özgü Responses API effort desteği üzerinden eşler. `/think off`, yalnızca hedef model desteklediğinde `reasoning.effort: "none"` gönderir; aksi halde OpenClaw desteklenmeyen bir değer göndermek yerine devre dışı akıl yürütme yükünü atlar. - - Özel OpenAI uyumlu katalog girdileri, `models.providers..models[].compat.supportedReasoningEfforts` değerini `"xhigh"` içerecek şekilde ayarlayarak `/think xhigh` özelliğine katılabilir. Bu, giden OpenAI akıl yürütme effort yüklerini eşleyen aynı uyumluluk meta verilerini kullanır; böylece menüler, oturum doğrulaması, ajan CLI'ı ve `llm-task` taşıma davranışıyla uyumlu olur. - - Eski yapılandırılmış OpenRouter Hunter Alpha başvuruları, emekli edilmiş rota akıl yürütme alanları üzerinden nihai yanıt metni döndürebileceği için proxy akıl yürütme enjeksiyonunu atlar. - - Google Gemini, `/think adaptive` değerini Gemini'nin sağlayıcıya ait dinamik düşünmesine eşler. Gemini 3 istekleri sabit bir `thinkingLevel` atlar, Gemini 2.5 istekleri ise `thinkingBudget: -1` gönderir; sabit düzeyler yine de o model ailesi için en yakın Gemini `thinkingLevel` değerine veya bütçesine eşlenir. + - Anthropic Claude Opus 4.7 varsayılan olarak uyarlanabilir düşünme kullanmaz. Açıkça bir düşünme düzeyi ayarlamadığınız sürece API çabası varsayılanı sağlayıcıya aittir. + - Anthropic Claude Opus 4.7, `/think xhigh` değerini uyarlanabilir düşünmeye ve `output_config.effort: "xhigh"` değerine eşler; çünkü `/think` bir düşünme yönergesidir ve `xhigh`, Opus 4.7 çaba ayarıdır. + - Anthropic Claude Opus 4.7 ayrıca `/think max` değerini sunar; bu değer aynı sağlayıcıya ait en yüksek çaba yoluna eşlenir. + - DeepSeek V4 modelleri `/think xhigh|max` değerlerini sunar; her ikisi de DeepSeek `reasoning_effort: "max"` değerine eşlenirken daha düşük `off` dışı düzeyler `high` değerine eşlenir. + - Ollama düşünme yetenekli modelleri `/think low|medium|high|max` değerlerini sunar; Ollama'nın yerel API'si `low`, `medium` ve `high` çaba dizelerini kabul ettiği için `max`, yerel `think: "high"` değerine eşlenir. + - OpenAI GPT modelleri, `/think` değerini modele özgü Responses API çaba desteği üzerinden eşler. `/think off`, `reasoning.effort: "none"` değerini yalnızca hedef model desteklediğinde gönderir; aksi halde OpenClaw, desteklenmeyen bir değer göndermek yerine devre dışı akıl yürütme yükünü atlar. + - Özel OpenAI uyumlu katalog girişleri, `models.providers..models[].compat.supportedReasoningEfforts` değerini `"xhigh"` içerecek şekilde ayarlayarak `/think xhigh` kullanımına katılabilir. Bu, giden OpenAI akıl yürütme çabası yüklerini eşleyen aynı uyumluluk meta verisini kullanır; böylece menüler, oturum doğrulaması, aracı CLI ve `llm-task` taşıma davranışıyla uyumlu olur. + - Eski yapılandırılmış OpenRouter Hunter Alpha başvuruları, o kullanımdan kaldırılmış rota son yanıt metnini akıl yürütme alanları üzerinden döndürebileceği için proxy akıl yürütme enjeksiyonunu atlar. + - Google Gemini, `/think adaptive` değerini Gemini'nin sağlayıcıya ait dinamik düşünmesine eşler. Gemini 3 istekleri sabit bir `thinkingLevel` değerini atlar; Gemini 2.5 istekleri ise `thinkingBudget: -1` gönderir. Sabit düzeyler yine de o model ailesi için en yakın Gemini `thinkingLevel` değerine veya bütçesine eşlenir. - Anthropic uyumlu akış yolundaki MiniMax (`minimax/*`), model parametrelerinde veya istek parametrelerinde açıkça düşünme ayarlamadığınız sürece varsayılan olarak `thinking: { type: "disabled" }` kullanır. Bu, MiniMax'in yerel olmayan Anthropic akış biçiminden `reasoning_content` deltalarının sızmasını önler. - - Z.AI (`zai/*`) yalnızca ikili düşünmeyi (`on`/`off`) destekler. `off` dışındaki herhangi bir düzey `on` olarak değerlendirilir (`low` değerine eşlenir). - - Moonshot (`moonshot/*`), `/think off` değerini `thinking: { type: "disabled" }` olarak ve `off` dışındaki herhangi bir düzeyi `thinking: { type: "enabled" }` olarak eşler. Düşünme etkinleştirildiğinde Moonshot yalnızca `tool_choice` için `auto|none` kabul eder; OpenClaw uyumsuz değerleri `auto` olarak normalleştirir. + - Z.AI (`zai/*`) yalnızca ikili düşünmeyi (`on`/`off`) destekler. `off` dışındaki her düzey `on` olarak ele alınır (`low` değerine eşlenir). + - Moonshot (`moonshot/*`), `/think off` değerini `thinking: { type: "disabled" }` değerine, `off` dışındaki her düzeyi ise `thinking: { type: "enabled" }` değerine eşler. Düşünme etkin olduğunda Moonshot yalnızca `tool_choice` için `auto|none` değerlerini kabul eder; OpenClaw uyumsuz değerleri `auto` olarak normalleştirir. -## Çözümleme sırası +## Çözüm Sırası -1. İletideki satır içi direktif (yalnızca o iletiye uygulanır). -2. Oturum geçersiz kılması (yalnızca direktif içeren bir ileti gönderilerek ayarlanır). -3. Ajan başına varsayılan (config içinde `agents.list[].thinkingDefault`). -4. Genel varsayılan (config içinde `agents.defaults.thinkingDefault`). -5. Geri dönüş: mevcutsa sağlayıcı tarafından bildirilen varsayılan; aksi halde akıl yürütme özellikli modeller `medium` değerine veya o model için desteklenen en yakın `off` dışı düzeye çözümlenir, akıl yürütmesiz modeller ise `off` kalır. +1. İletideki satır içi yönerge (yalnızca o iletiye uygulanır). +2. Oturum geçersiz kılması (yalnızca yönerge içeren bir ileti gönderilerek ayarlanır). +3. Aracı başına varsayılan (yapılandırmada `agents.list[].thinkingDefault`). +4. Genel varsayılan (yapılandırmada `agents.defaults.thinkingDefault`). +5. Geri dönüş: varsa sağlayıcı tarafından bildirilen varsayılan; aksi halde akıl yürütme yetenekli modeller `medium` değerine veya o model için desteklenen en yakın `off` dışı düzeye çözümlenir, akıl yürütme yeteneği olmayan modeller ise `off` kalır. -## Oturum varsayılanı ayarlama +## Oturum Varsayılanı Ayarlama -- **Yalnızca** direktiften oluşan bir ileti gönderin (boşluklara izin verilir), ör. `/think:medium` veya `/t high`. -- Bu, geçerli oturum için kalıcı olur (varsayılan olarak gönderen başına); `/think:off` veya oturum boşta sıfırlama ile temizlenir. +- **Yalnızca** yönergeden oluşan bir ileti gönderin (boşluklara izin verilir), ör. `/think:medium` veya `/t high`. +- Bu, geçerli oturum için kalıcı olur (varsayılan olarak gönderen başına); `/think:off` veya oturum boşta kalma sıfırlaması ile temizlenir. - Onay yanıtı gönderilir (`Thinking level set to high.` / `Thinking disabled.`). Düzey geçersizse (ör. `/thinking big`), komut bir ipucuyla reddedilir ve oturum durumu değiştirilmez. - Geçerli düşünme düzeyini görmek için argümansız `/think` (veya `/think:`) gönderin. -## Ajana göre uygulama +## Aracıya Göre Uygulama -- **Gömülü Pi**: çözümlenen düzey, süreç içi Pi ajan çalışma zamanına iletilir. +- **Gömülü Pi**: çözümlenen düzey, süreç içi Pi aracı çalışma zamanına iletilir. +- **Claude CLI arka ucu**: `claude-cli` kullanılırken `off` dışı düzeyler Claude Code'a `--effort` olarak iletilir; bkz. [CLI arka uçları](/tr/gateway/cli-backends). -## Hızlı mod (/fast) +## Hızlı Mod (/fast) - Düzeyler: `on|off`. -- Yalnızca direktif içeren ileti, oturum hızlı mod geçersiz kılmasını açıp kapatır ve `Fast mode enabled.` / `Fast mode disabled.` yanıtını verir. +- Yalnızca yönerge içeren ileti, oturum hızlı mod geçersiz kılmasını açıp kapatır ve `Fast mode enabled.` / `Fast mode disabled.` yanıtını verir. - Geçerli etkili hızlı mod durumunu görmek için modsuz `/fast` (veya `/fast status`) gönderin. - OpenClaw hızlı modu şu sırayla çözümler: - 1. Satır içi/yalnızca direktif `/fast on|off` + 1. Satır içi/yalnızca yönerge `/fast on|off` 2. Oturum geçersiz kılması - 3. Ajan başına varsayılan (`agents.list[].fastModeDefault`) - 4. Model başına config: `agents.defaults.models["/"].params.fastMode` + 3. Aracı başına varsayılan (`agents.list[].fastModeDefault`) + 4. Model başına yapılandırma: `agents.defaults.models["/"].params.fastMode` 5. Geri dönüş: `off` - `openai/*` için hızlı mod, desteklenen Responses isteklerinde `service_tier=priority` göndererek OpenAI öncelikli işlemeye eşlenir. -- `openai-codex/*` için hızlı mod, Codex Responses üzerinde aynı `service_tier=priority` bayrağını gönderir. OpenClaw her iki kimlik doğrulama yolu genelinde tek bir ortak `/fast` anahtarı tutar. -- `api.anthropic.com` adresine gönderilen OAuth kimlik doğrulamalı trafik dahil doğrudan herkese açık `anthropic/*` istekleri için hızlı mod Anthropic hizmet katmanlarına eşlenir: `/fast on`, `service_tier=auto` ayarlar; `/fast off`, `service_tier=standard_only` ayarlar. +- `openai-codex/*` için hızlı mod, Codex Responses üzerinde aynı `service_tier=priority` bayrağını gönderir. OpenClaw her iki kimlik doğrulama yolu arasında tek bir ortak `/fast` anahtarı tutar. +- OAuth ile kimliği doğrulanmış ve `api.anthropic.com` adresine gönderilen trafik dahil doğrudan herkese açık `anthropic/*` istekleri için hızlı mod Anthropic hizmet katmanlarına eşlenir: `/fast on`, `service_tier=auto` ayarlar; `/fast off`, `service_tier=standard_only` ayarlar. - Anthropic uyumlu yoldaki `minimax/*` için `/fast on` (veya `params.fastMode: true`), `MiniMax-M2.7` değerini `MiniMax-M2.7-highspeed` olarak yeniden yazar. -- Açık Anthropic `serviceTier` / `service_tier` model parametreleri, ikisi de ayarlandığında hızlı mod varsayılanını geçersiz kılar. OpenClaw yine de Anthropic olmayan proxy temel URL'leri için Anthropic hizmet katmanı enjeksiyonunu atlar. +- Açık Anthropic `serviceTier` / `service_tier` model parametreleri, ikisi de ayarlandığında hızlı mod varsayılanını geçersiz kılar. OpenClaw, Anthropic olmayan proxy temel URL'leri için Anthropic hizmet katmanı enjeksiyonunu yine de atlar. - `/status`, hızlı mod yalnızca etkin olduğunda `Fast` gösterir. -## Ayrıntılı direktifler (/verbose veya /v) +## Ayrıntılı Yönergeler (/verbose veya /v) - Düzeyler: `on` (minimal) | `full` | `off` (varsayılan). -- Yalnızca direktif içeren ileti, oturum ayrıntılı günlüğünü açıp kapatır ve `Verbose logging enabled.` / `Verbose logging disabled.` yanıtını verir; geçersiz düzeyler durumu değiştirmeden bir ipucu döndürür. -- `/verbose off` açık bir oturum geçersiz kılması saklar; bunu Sessions UI üzerinden `inherit` seçerek temizleyin. -- Satır içi direktif yalnızca o iletiyi etkiler; aksi halde oturum/genel varsayılanlar uygulanır. -- Geçerli ayrıntı düzeyini görmek için argümansız `/verbose` (veya `/verbose:`) gönderin. -- Ayrıntılı mod açıkken, yapılandırılmış araç sonuçları yayan ajanlar (Pi, diğer JSON ajanları) her araç çağrısını, mevcut olduğunda ` : ` önekiyle kendi meta veri odaklı iletisi olarak geri gönderir. Bu araç özetleri her araç başlar başlamaz gönderilir (ayrı baloncuklar), akış deltaları olarak değil. -- Araç hatası özetleri normal modda görünür kalır, ancak ham hata ayrıntısı son ekleri ayrıntılı mod `on` veya `full` olmadıkça gizlenir. -- Ayrıntılı mod `full` olduğunda, araç çıktıları tamamlanmadan sonra da iletilir (ayrı baloncuk, güvenli bir uzunluğa kırpılmış). Bir çalışma devam ederken `/verbose on|full|off` değiştirirseniz, sonraki araç baloncukları yeni ayara uyar. -- `agents.defaults.toolProgressDetail`, `/verbose` araç özetlerinin ve ilerleme taslağı araç satırlarının biçimini denetler. `🛠️ Exec: checking JS syntax` gibi kompakt insan etiketleri için `"explain"` (varsayılan) kullanın; hata ayıklama için ham komut/ayrıntının da eklenmesini istediğinizde `"raw"` kullanın. Ajan başına `agents.list[].toolProgressDetail` varsayılanı geçersiz kılar. +- Yalnızca yönerge içeren ileti, oturum ayrıntılı modunu açıp kapatır ve `Verbose logging enabled.` / `Verbose logging disabled.` yanıtını verir; geçersiz düzeyler durumu değiştirmeden bir ipucu döndürür. +- `/verbose off`, açık bir oturum geçersiz kılması kaydeder; bunu Sessions UI üzerinden `inherit` seçerek temizleyin. +- Satır içi yönerge yalnızca o iletiyi etkiler; aksi halde oturum/genel varsayılanları uygulanır. +- Geçerli ayrıntılı düzeyi görmek için argümansız `/verbose` (veya `/verbose:`) gönderin. +- Ayrıntılı mod açık olduğunda, yapılandırılmış araç sonuçları yayan aracılar (Pi, diğer JSON aracıları), her araç çağrısını kendi meta veri içeren iletisi olarak geri gönderir; mümkün olduğunda ` : ` ön eki kullanılır. Bu araç özetleri, her araç başlar başlamaz gönderilir (ayrı baloncuklar), akış deltaları olarak değil. +- Araç başarısızlığı özetleri normal modda görünür kalır, ancak ham hata ayrıntısı sonekleri ayrıntılı mod `on` veya `full` değilse gizlenir. +- Ayrıntılı mod `full` olduğunda, araç çıktıları tamamlanmadan sonra da iletilir (ayrı baloncuk, güvenli bir uzunluğa kırpılmış). Bir çalışma sürerken `/verbose on|full|off` değerini değiştirirseniz sonraki araç baloncukları yeni ayarı uygular. +- `agents.defaults.toolProgressDetail`, `/verbose` araç özetlerinin ve ilerleme taslağı araç satırlarının biçimini denetler. `🛠️ Exec: checking JS syntax` gibi kısa insan etiketleri için `"explain"` (varsayılan) kullanın; hata ayıklama için ham komut/ayrıntının da eklenmesini istiyorsanız `"raw"` kullanın. Aracı başına `agents.list[].toolProgressDetail` varsayılanı geçersiz kılar. - `explain`: `🛠️ Exec: check JS syntax for /tmp/app.js` - `raw`: `🛠️ Exec: check JS syntax for /tmp/app.js, node --check /tmp/app.js` -## Plugin izleme direktifleri (/trace) +## Plugin İzleme Yönergeleri (/trace) - Düzeyler: `on` | `off` (varsayılan). -- Yalnızca direktif içeren ileti, oturum Plugin izleme çıktısını açıp kapatır ve `Plugin trace enabled.` / `Plugin trace disabled.` yanıtını verir. -- Satır içi direktif yalnızca o iletiyi etkiler; aksi halde oturum/genel varsayılanlar uygulanır. +- Yalnızca yönerge içeren ileti, oturum Plugin izleme çıktısını açıp kapatır ve `Plugin trace enabled.` / `Plugin trace disabled.` yanıtını verir. +- Satır içi yönerge yalnızca o iletiyi etkiler; aksi halde oturum/genel varsayılanları uygulanır. - Geçerli izleme düzeyini görmek için argümansız `/trace` (veya `/trace:`) gönderin. -- `/trace`, `/verbose` değerinden daha dardır: yalnızca Active Memory hata ayıklama özetleri gibi Plugin tarafından sahiplenilen izleme/hata ayıklama satırlarını gösterir. +- `/trace`, `/verbose` değerinden daha dardır: yalnızca Active Memory hata ayıklama özetleri gibi Plugin'e ait izleme/hata ayıklama satırlarını gösterir. - İzleme satırları `/status` içinde ve normal asistan yanıtından sonra takip tanılama iletisi olarak görünebilir. -## Akıl yürütme görünürlüğü (/reasoning) +## Akıl Yürütme Görünürlüğü (/reasoning) - Düzeyler: `on|off|stream`. -- Yalnızca direktif içeren ileti, düşünme bloklarının yanıtlarda gösterilip gösterilmeyeceğini açıp kapatır. -- Etkinleştirildiğinde akıl yürütme, `Reasoning:` önekiyle **ayrı bir ileti** olarak gönderilir. -- `stream` (yalnızca Telegram): yanıt oluşturulurken akıl yürütmeyi Telegram taslak baloncuğuna akıtır, ardından nihai yanıtı akıl yürütme olmadan gönderir. +- Yalnızca yönerge içeren ileti, düşünme bloklarının yanıtlarda gösterilip gösterilmeyeceğini açıp kapatır. +- Etkin olduğunda akıl yürütme, `Reasoning:` ön ekiyle **ayrı bir ileti** olarak gönderilir. +- `stream` (yalnızca Telegram): yanıt oluşturulurken akıl yürütmeyi Telegram taslak baloncuğuna akıtır, ardından son yanıtı akıl yürütme olmadan gönderir. - Takma ad: `/reason`. - Geçerli akıl yürütme düzeyini görmek için argümansız `/reasoning` (veya `/reasoning:`) gönderin. -- Çözümleme sırası: satır içi direktif, ardından oturum geçersiz kılması, ardından ajan başına varsayılan (`agents.list[].reasoningDefault`), ardından geri dönüş (`off`). +- Çözüm sırası: satır içi yönerge, ardından oturum geçersiz kılması, ardından aracı başına varsayılan (`agents.list[].reasoningDefault`), ardından geri dönüş (`off`). -Hatalı biçimlendirilmiş yerel model akıl yürütme etiketleri ihtiyatlı şekilde ele alınır. Kapalı `...` blokları normal yanıtlarda gizli kalır ve zaten görünür metinden sonraki kapatılmamış akıl yürütme de gizlenir. Bir yanıt tamamen tek bir kapatılmamış açılış etiketiyle sarılmışsa ve aksi halde boş metin olarak teslim edilecekse, OpenClaw hatalı biçimlendirilmiş açılış etiketini kaldırır ve kalan metni teslim eder. +Hatalı biçimlendirilmiş yerel model akıl yürütme etiketleri temkinli şekilde ele alınır. Kapalı `...` blokları normal yanıtlarda gizli kalır ve zaten görünür metinden sonra kapatılmamış akıl yürütme de gizlenir. Bir yanıt tek bir kapatılmamış açılış etiketiyle tamamen sarılmışsa ve aksi halde boş metin olarak teslim edilecekse OpenClaw hatalı biçimlendirilmiş açılış etiketini kaldırır ve kalan metni teslim eder. ## İlgili - Yükseltilmiş mod belgeleri [Yükseltilmiş mod](/tr/tools/elevated) içinde bulunur. -## Heartbeat +## Heartbeats -- Heartbeat yoklama gövdesi, yapılandırılmış Heartbeat istemidir (varsayılan: `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`). Bir Heartbeat iletisindeki satır içi direktifler normal şekilde uygulanır (ancak Heartbeat iletilerinden oturum varsayılanlarını değiştirmekten kaçının). -- Heartbeat teslimi varsayılan olarak yalnızca nihai yüke yapılır. Ayrı `Reasoning:` iletisini de göndermek için (mevcut olduğunda), `agents.defaults.heartbeat.includeReasoning: true` veya ajan başına `agents.list[].heartbeat.includeReasoning: true` ayarlayın. +- Heartbeat yoklama gövdesi yapılandırılmış Heartbeat istemidir (varsayılan: `Read HEARTBEAT.md if it exists (workspace context). Follow it strictly. Do not infer or repeat old tasks from prior chats. If nothing needs attention, reply HEARTBEAT_OK.`). Heartbeat iletisindeki satır içi yönergeler her zamanki gibi uygulanır (ancak Heartbeat'lerden oturum varsayılanlarını değiştirmekten kaçının). +- Heartbeat teslimi varsayılan olarak yalnızca son yükü gönderir. Ayrı `Reasoning:` iletisini de (varsa) göndermek için `agents.defaults.heartbeat.includeReasoning: true` veya aracı başına `agents.list[].heartbeat.includeReasoning: true` ayarlayın. -## Web sohbet UI +## Web Sohbet UI -- Web sohbet düşünme seçicisi, sayfa yüklendiğinde oturumun saklanan düzeyini gelen oturum deposundan/config içinden yansıtır. -- Başka bir düzey seçmek, `sessions.patch` üzerinden oturum geçersiz kılmasını hemen yazar; bir sonraki gönderimi beklemez ve tek seferlik bir `thinkingOnce` geçersiz kılması değildir. -- İlk seçenek her zaman `Default ()` olur; çözümlenen varsayılan, etkin oturum modelinin sağlayıcı düşünme profilinden ve `/status` ile `session_status` tarafından kullanılan aynı geri dönüş mantığından gelir. -- Seçici, eski etiket listesi olarak tutulan `thinkingOptions` ile birlikte Gateway oturum satırı/varsayılanları tarafından döndürülen `thinkingLevels` değerini kullanır. Tarayıcı UI kendi sağlayıcı regex listesini tutmaz; modele özgü düzey kümelerinin sahibi Plugin tarafıdır. -- `/think:` hâlâ çalışır ve aynı saklanan oturum düzeyini günceller; böylece sohbet direktifleri ve seçici eşzamanlı kalır. +- Web sohbet düşünme seçicisi, sayfa yüklendiğinde gelen oturum deposu/yapılandırmasından oturumun kayıtlı düzeyini yansıtır. +- Başka bir düzey seçmek, `sessions.patch` üzerinden oturum geçersiz kılmasını hemen yazar; bir sonraki göndermeyi beklemez ve tek kullanımlık bir `thinkingOnce` geçersiz kılması değildir. +- İlk seçenek her zaman `Default ()` olur; burada çözümlenen varsayılan, etkin oturum modelinin sağlayıcı düşünme profilinden ve `/status` ile `session_status` tarafından kullanılan aynı geri dönüş mantığından gelir. +- Seçici, Gateway oturum satırı/varsayılanları tarafından döndürülen `thinkingLevels` değerini kullanır; `thinkingOptions` ise eski etiket listesi olarak korunur. Tarayıcı UI kendi sağlayıcı regex listesini tutmaz; modele özgü düzey kümeleri Plugin'lere aittir. +- `/think:` yine çalışır ve aynı kayıtlı oturum düzeyini günceller; böylece sohbet yönergeleri ve seçici senkron kalır. -## Sağlayıcı profilleri +## Sağlayıcı Profilleri -- Sağlayıcı Plugin'leri, modelin desteklenen düzeylerini ve varsayılanını tanımlamak için `resolveThinkingProfile(ctx)` sunabilir. -- Claude modellerine proxy görevi yapan sağlayıcı Plugin'leri, doğrudan Anthropic ve proxy kataloglarının uyumlu kalması için `openclaw/plugin-sdk/provider-model-shared` içinden `resolveClaudeThinkingProfile(modelId)` öğesini yeniden kullanmalıdır. -- Her profil düzeyinin saklanan standart bir `id` değeri vardır (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `adaptive` veya `max`) ve bir görüntüleme `label` değeri içerebilir. İkili sağlayıcılar `{ id: "low", label: "on" }` kullanır. -- Açık bir düşünme geçersiz kılmasını doğrulaması gereken araç Plugin'leri, `api.runtime.agent.resolveThinkingPolicy({ provider, model })` ile `api.runtime.agent.normalizeThinkingLevel(...)` kullanmalıdır; kendi sağlayıcı/model düzeyi listelerini tutmamalıdır. -- Yapılandırılmış özel model meta verilerine erişimi olan araç Plugin'leri, `compat.supportedReasoningEfforts` katılımlarının Plugin tarafı doğrulamaya yansıtılması için `catalog` değerini `resolveThinkingPolicy` içine geçirebilir. +- Sağlayıcı Plugin'leri, modelin desteklenen düzeylerini ve varsayılanını tanımlamak için `resolveThinkingProfile(ctx)` gösterebilir. +- Claude modellerini proxy eden sağlayıcı Plugin'leri, doğrudan Anthropic ve proxy kataloglarının hizalı kalması için `openclaw/plugin-sdk/provider-model-shared` içindeki `resolveClaudeThinkingProfile(modelId)` öğesini yeniden kullanmalıdır. +- Her profil düzeyinin saklanan kurallı bir `id` değeri (`off`, `minimal`, `low`, `medium`, `high`, `xhigh`, `adaptive` veya `max`) vardır ve bir görüntüleme `label` değeri içerebilir. İkili sağlayıcılar `{ id: "low", label: "on" }` kullanır. +- Açık bir düşünme geçersiz kılmasını doğrulaması gereken araç Plugin'leri, `api.runtime.agent.resolveThinkingPolicy({ provider, model })` ile `api.runtime.agent.normalizeThinkingLevel(...)` kullanmalıdır; kendi sağlayıcı/model düzeyi listelerini tutmamalıdırlar. +- Yapılandırılmış özel model meta verilerine erişimi olan araç Plugin'leri, `compat.supportedReasoningEfforts` katılımlarının Plugin tarafı doğrulamaya yansıması için `resolveThinkingPolicy` içine `catalog` iletebilir. - Yayımlanmış eski hook'lar (`supportsXHighThinking`, `isBinaryThinking` ve `resolveDefaultThinkingLevel`) uyumluluk adaptörleri olarak kalır, ancak yeni özel düzey kümeleri `resolveThinkingProfile` kullanmalıdır. -- Gateway satırları/varsayılanları, ACP/sohbet istemcilerinin çalışma zamanı doğrulamasının kullandığı aynı profil kimliklerini ve etiketlerini işlemesi için `thinkingLevels`, `thinkingOptions` ve `thinkingDefault` sunar. +- Gateway satırları/varsayılanları `thinkingLevels`, `thinkingOptions` ve `thinkingDefault` değerlerini gösterir; böylece ACP/sohbet istemcileri, çalışma zamanı doğrulamasının kullandığı aynı profil kimliklerini ve etiketlerini işler.