From 33a137e83f0842c035f87a9b1f8b7ad43c4e8bec Mon Sep 17 00:00:00 2001 From: "openclaw-docs-i18n[bot]" Date: Wed, 15 Apr 2026 19:52:25 +0000 Subject: [PATCH] chore(i18n): refresh tr translations --- docs/tr/channels/matrix.md | 572 ++++---- docs/tr/concepts/system-prompt.md | 184 +-- docs/tr/gateway/configuration-reference.md | 1489 +++++++++++--------- docs/tr/plugins/sdk-channel-plugins.md | 325 ++--- docs/tr/plugins/sdk-entrypoints.md | 196 +-- docs/tr/plugins/sdk-runtime.md | 123 +- docs/tr/plugins/sdk-setup.md | 257 ++-- docs/tr/plugins/sdk-testing.md | 120 +- docs/tr/reference/token-use.md | 165 ++- 9 files changed, 1759 insertions(+), 1672 deletions(-) diff --git a/docs/tr/channels/matrix.md b/docs/tr/channels/matrix.md index e1632aba7..6139c7526 100644 --- a/docs/tr/channels/matrix.md +++ b/docs/tr/channels/matrix.md @@ -1,14 +1,14 @@ --- read_when: - - OpenClaw içinde Matrix kurulumu - - Matrix E2EE ve doğrulamayı yapılandırma + - OpenClaw'da Matrix kurulumu + - Matrix E2EE ve doğrulamasını yapılandırma summary: Matrix desteği durumu, kurulum ve yapılandırma örnekleri title: Matrix x-i18n: - generated_at: "2026-04-15T08:53:14Z" + generated_at: "2026-04-15T19:41:52Z" model: gpt-5.4 provider: openai - source_hash: 631f6fdcfebc23136c1a66b04851a25c047535d13cceba5650b8b421bc3afcf8 + source_hash: bd730bb9d0c8a548ee48b20931b3222e9aa1e6e95f1390b0c236645e03f3576d source_path: channels/matrix.md workflow: 15 --- @@ -16,35 +16,35 @@ x-i18n: # Matrix Matrix, OpenClaw için paketlenmiş bir kanal Plugin'idir. -Resmi `matrix-js-sdk` kullanır ve DM'leri, odaları, iş parçacıklarını, medyayı, tepkileri, anketleri, konumu ve E2EE'yi destekler. +Resmi `matrix-js-sdk` kullanır ve DM'leri, odaları, başlıkları, medyayı, tepkileri, anketleri, konumu ve E2EE'yi destekler. ## Paketlenmiş Plugin -Matrix, güncel OpenClaw sürümlerinde paketlenmiş bir Plugin olarak gelir; bu nedenle normal +Matrix, mevcut OpenClaw sürümlerinde paketlenmiş bir Plugin olarak gelir; bu nedenle normal paketlenmiş derlemelerde ayrı bir kurulum gerekmez. -Matrix'i dışlayan daha eski bir derlemeyi veya özel bir kurulumu kullanıyorsanız, onu -elle yükleyin: +Eski bir derlemeyi veya Matrix'i içermeyen özel bir kurulumu kullanıyorsanız, onu +elle kurun: -npm'den yükleyin: +npm'den kurun: ```bash openclaw plugins install @openclaw/matrix ``` -Yerel bir checkout'tan yükleyin: +Yerel bir checkout'tan kurun: ```bash openclaw plugins install ./path/to/local/matrix-plugin ``` -Plugin davranışı ve yükleme kuralları için [Plugins](/tr/tools/plugin) sayfasına bakın. +Plugin davranışı ve kurulum kuralları için bkz. [Plugins](/tr/tools/plugin). ## Kurulum 1. Matrix Plugin'inin kullanılabilir olduğundan emin olun. - - Güncel paketlenmiş OpenClaw sürümleri bunu zaten içerir. - - Eski/özel kurulumlar bunu yukarıdaki komutlarla elle ekleyebilir. + - Mevcut paketlenmiş OpenClaw sürümleri bunu zaten içerir. + - Eski/özel kurulumlar, yukarıdaki komutlarla bunu manuel olarak ekleyebilir. 2. Homeserver'ınızda bir Matrix hesabı oluşturun. 3. `channels.matrix` yapılandırmasını şu seçeneklerden biriyle yapın: - `homeserver` + `accessToken`, veya @@ -63,27 +63,27 @@ openclaw configure --section channels Matrix sihirbazı şunları ister: - homeserver URL'si -- kimlik doğrulama yöntemi: access token veya parola -- kullanıcı kimliği (yalnızca parola kimlik doğrulaması) +- kimlik doğrulama yöntemi: erişim belirteci veya parola +- kullanıcı kimliği (yalnızca parola ile kimlik doğrulama) - isteğe bağlı cihaz adı - E2EE'nin etkinleştirilip etkinleştirilmeyeceği - oda erişimi ve davet otomatik katılımının yapılandırılıp yapılandırılmayacağı Sihirbazın temel davranışları: -- Matrix kimlik doğrulama ortam değişkenleri zaten varsa ve bu hesap için yapılandırmada henüz kimlik doğrulama kaydedilmemişse, sihirbaz kimlik doğrulamayı ortam değişkenlerinde tutmak için bir ortam kısayolu sunar. -- Hesap adları hesap kimliğine normalize edilir. Örneğin, `Ops Bot`, `ops-bot` olur. -- DM allowlist girdileri doğrudan `@user:server` kabul eder; görünen adlar yalnızca canlı dizin araması tek bir kesin eşleşme bulduğunda çalışır. -- Oda allowlist girdileri doğrudan oda kimliklerini ve takma adları kabul eder. `!room:server` veya `#alias:server` tercih edin; çözümlenemeyen adlar allowlist çözümlemesi sırasında çalışma zamanında yok sayılır. -- Davet otomatik katılım allowlist modunda yalnızca kararlı davet hedefleri kullanın: `!roomId:server`, `#alias:server` veya `*`. Düz oda adları reddedilir. -- Kaydetmeden önce oda adlarını çözümlemek için `openclaw channels resolve --channel matrix "Project Room"` kullanın. +- Matrix kimlik doğrulama ortam değişkenleri zaten varsa ve o hesap için kimlik doğrulama henüz yapılandırmada kaydedilmemişse, sihirbaz kimlik doğrulamayı ortam değişkenlerinde tutmak için bir ortam kısayolu sunar. +- Hesap adları, hesap kimliğine normalize edilir. Örneğin, `Ops Bot`, `ops-bot` olur. +- DM allowlist girişleri doğrudan `@user:server` kabul eder; görünen adlar yalnızca canlı dizin araması tam olarak bir eşleşme bulduğunda çalışır. +- Oda allowlist girişleri, oda kimliklerini ve takma adları doğrudan kabul eder. `!room:server` veya `#alias:server` tercih edin; çözümlenmemiş adlar allowlist çözümlemesi sırasında çalışma zamanında yok sayılır. +- Davet otomatik katılımı allowlist modunda yalnızca kararlı davet hedeflerini kullanın: `!roomId:server`, `#alias:server` veya `*`. Düz oda adları reddedilir. +- Oda adlarını kaydetmeden önce çözümlemek için `openclaw channels resolve --channel matrix "Project Room"` kullanın. -`channels.matrix.autoJoin` varsayılan olarak `off` değerindedir. +`channels.matrix.autoJoin` için varsayılan değer `off`'tur. -Bunu ayarlamazsanız, bot davet edilen odalara veya yeni DM tarzı davetlere katılmaz; bu nedenle önce elle katılmadığınız sürece yeni gruplarda veya davet edilen DM'lerde görünmez. +Bunu ayarlamazsanız, bot davet edilen odalara veya yeni DM tarzı davetlere katılmaz; dolayısıyla önce manuel olarak katılmazsanız yeni gruplarda veya davet edilen DM'lerde görünmez. -Kabul ettiği davetleri sınırlamak için `autoJoin: "allowlist"` ile birlikte `autoJoinAllowlist` ayarlayın veya her davete katılmasını istiyorsanız `autoJoin: "always"` ayarlayın. +Hangi davetleri kabul edeceğini kısıtlamak için `autoJoinAllowlist` ile birlikte `autoJoin: "allowlist"` ayarlayın veya her davete katılmasını istiyorsanız `autoJoin: "always"` ayarlayın. `allowlist` modunda `autoJoinAllowlist` yalnızca `!roomId:server`, `#alias:server` veya `*` kabul eder. @@ -118,7 +118,7 @@ Her davete katıl: } ``` -En az düzeyde token tabanlı kurulum: +Belirteç tabanlı en düşük kurulum: ```json5 { @@ -133,7 +133,7 @@ En az düzeyde token tabanlı kurulum: } ``` -Parola tabanlı kurulum (girişten sonra token önbelleğe alınır): +Parola tabanlı kurulum (girişten sonra belirteç önbelleğe alınır): ```json5 { @@ -151,7 +151,7 @@ Parola tabanlı kurulum (girişten sonra token önbelleğe alınır): Matrix, önbelleğe alınmış kimlik bilgilerini `~/.openclaw/credentials/matrix/` içinde saklar. Varsayılan hesap `credentials.json` kullanır; adlandırılmış hesaplar `credentials-.json` kullanır. -Önbelleğe alınmış kimlik bilgileri burada mevcut olduğunda, geçerli kimlik doğrulama doğrudan yapılandırmada ayarlanmamış olsa bile OpenClaw, kurulum, doctor ve kanal durumu keşfi için Matrix'i yapılandırılmış kabul eder. +Önbelleğe alınmış kimlik bilgileri burada mevcut olduğunda, OpenClaw geçerli kimlik doğrulama doğrudan yapılandırmada ayarlanmamış olsa bile kurulum, doctor ve kanal durumu keşfi için Matrix'i yapılandırılmış kabul eder. Ortam değişkeni eşdeğerleri (yapılandırma anahtarı ayarlanmadığında kullanılır): @@ -181,14 +181,14 @@ Normalize edilmiş `ops-bot` hesap kimliği için şunları kullanın: - `MATRIX_OPS_X2D_BOT_HOMESERVER` - `MATRIX_OPS_X2D_BOT_ACCESS_TOKEN` -Matrix, hesap kimliklerindeki noktalama işaretlerini, hesap kapsamlı ortam değişkenlerinin çakışmasız kalmasını sağlamak için kaçışlar. -Örneğin, `-`, `_X2D_` olur; bu nedenle `ops-prod`, `MATRIX_OPS_X2D_PROD_*` ile eşlenir. +Matrix, hesap kapsamlı ortam değişkenlerinde çakışmaları önlemek için hesap kimliklerindeki noktalama işaretlerini kaçışlar. +Örneğin, `-`, `_X2D_` olur; dolayısıyla `ops-prod`, `MATRIX_OPS_X2D_PROD_*` ile eşlenir. -Etkileşimli sihirbaz, ortam değişkeni kısayolunu yalnızca bu kimlik doğrulama ortam değişkenleri zaten mevcutsa ve seçilen hesap için yapılandırmada zaten Matrix kimlik doğrulaması kaydedilmemişse sunar. +Etkileşimli sihirbaz, bu kimlik doğrulama ortam değişkenleri zaten mevcutsa ve seçilen hesap için Matrix kimlik doğrulaması yapılandırmaya zaten kaydedilmemişse yalnızca ortam değişkeni kısayolunu sunar. ## Yapılandırma örneği -Bu, DM pairing, oda allowlist ve etkin E2EE ile pratik bir temel yapılandırmadır: +Bu, DM pairing, oda allowlist'i ve etkinleştirilmiş E2EE ile pratik bir temel yapılandırmadır: ```json5 { @@ -223,16 +223,15 @@ Bu, DM pairing, oda allowlist ve etkin E2EE ile pratik bir temel yapılandırmad } ``` -`autoJoin`, DM tarzı davetler dahil tüm Matrix davetleri için geçerlidir. OpenClaw, -davet edilen bir odayı davet anında güvenilir biçimde DM veya grup olarak sınıflandıramaz; bu nedenle tüm davetler önce `autoJoin` +`autoJoin`, DM tarzı davetler dahil tüm Matrix davetleri için geçerlidir. OpenClaw, davet anında +davet edilen bir odayı güvenilir şekilde DM veya grup olarak sınıflandıramaz; bu yüzden tüm davetler önce `autoJoin` üzerinden geçer. `dm.policy`, bot katıldıktan ve oda DM olarak sınıflandırıldıktan sonra uygulanır. ## Akış önizlemeleri Matrix yanıt akışı isteğe bağlıdır. -OpenClaw'ın tek bir canlı önizleme -yanıtı göndermesini, model metin üretirken bu önizlemeyi yerinde düzenlemesini ve ardından +OpenClaw'ın tek bir canlı önizleme yanıtı göndermesini, model metin üretirken bu önizlemeyi yerinde düzenlemesini ve ardından yanıt tamamlandığında bunu sonlandırmasını istiyorsanız `channels.matrix.streaming` değerini `"partial"` olarak ayarlayın: ```json5 @@ -245,38 +244,38 @@ yanıt tamamlandığında bunu sonlandırmasını istiyorsanız `channels.matrix } ``` -- `streaming: "off"` varsayılan değerdir. OpenClaw son yanıtı bekler ve bir kez gönderir. -- `streaming: "partial"`, mevcut asistan bloğu için normal Matrix metin mesajları kullanarak düzenlenebilir bir önizleme mesajı oluşturur. Bu, Matrix'in eski önizleme-önce bildirim davranışını korur; bu nedenle standart istemciler bitmiş blok yerine ilk akış önizleme metninde bildirim gönderebilir. -- `streaming: "quiet"`, mevcut asistan bloğu için düzenlenebilir sessiz bir önizleme bildirimi oluşturur. Bunu yalnızca sonlandırılmış önizleme düzenlemeleri için alıcı push kuralları da yapılandırdığınızda kullanın. -- `blockStreaming: true`, ayrı Matrix ilerleme mesajlarını etkinleştirir. Önizleme akışı etkin olduğunda Matrix, mevcut blok için canlı taslağı korur ve tamamlanan blokları ayrı mesajlar olarak saklar. -- Önizleme akışı açıkken ve `blockStreaming` kapalıyken Matrix, canlı taslağı yerinde düzenler ve blok veya dönüş bittiğinde aynı olayı sonlandırır. +- `streaming: "off"` varsayılandır. OpenClaw son yanıtı bekler ve bir kez gönderir. +- `streaming: "partial"`, geçerli assistant bloğu için normal Matrix metin mesajlarını kullanarak düzenlenebilir bir önizleme mesajı oluşturur. Bu, Matrix'in eski önizleme-önce bildirim davranışını korur; bu nedenle standart istemciler tamamlanmış blok yerine ilk akış önizleme metni için bildirim gösterebilir. +- `streaming: "quiet"`, geçerli assistant bloğu için düzenlenebilir bir sessiz önizleme bildirimi oluşturur. Bunu yalnızca tamamlanmış önizleme düzenlemeleri için alıcı push kurallarını da yapılandırdığınızda kullanın. +- `blockStreaming: true`, ayrı Matrix ilerleme mesajlarını etkinleştirir. Önizleme akışı etkinleştirildiğinde Matrix, geçerli blok için canlı taslağı korur ve tamamlanan blokları ayrı mesajlar olarak saklar. +- Önizleme akışı açıkken ve `blockStreaming` kapalıyken Matrix, canlı taslağı yerinde düzenler ve blok veya tur tamamlandığında aynı olayı sonlandırır. - Önizleme artık tek bir Matrix olayına sığmıyorsa OpenClaw önizleme akışını durdurur ve normal son teslimata geri döner. -- Medya yanıtları ekleri normal şekilde göndermeye devam eder. Eski bir önizleme artık güvenle yeniden kullanılamıyorsa OpenClaw, son medya yanıtını göndermeden önce bunu redact eder. -- Önizleme düzenlemeleri ek Matrix API çağrıları gerektirir. En tutucu hız sınırı davranışını istiyorsanız akışı kapalı bırakın. +- Medya yanıtları yine ekleri normal şekilde gönderir. Eski bir önizleme artık güvenle yeniden kullanılamıyorsa OpenClaw son medya yanıtını göndermeden önce onu redakte eder. +- Önizleme düzenlemeleri ek Matrix API çağrılarına mal olur. En temkinli oran sınırı davranışını istiyorsanız akışı kapalı bırakın. -`blockStreaming` tek başına taslak önizlemelerini etkinleştirmez. -Önizleme düzenlemeleri için `streaming: "partial"` veya `streaming: "quiet"` kullanın; ardından yalnızca tamamlanmış asistan bloklarının ayrı ilerleme mesajları olarak görünür kalmasını da istiyorsanız `blockStreaming: true` ekleyin. +`blockStreaming`, tek başına taslak önizlemelerini etkinleştirmez. +Önizleme düzenlemeleri için `streaming: "partial"` veya `streaming: "quiet"` kullanın; ardından yalnızca tamamlanmış assistant bloklarının ayrı ilerleme mesajları olarak görünür kalmasını da istiyorsanız `blockStreaming: true` ekleyin. -Özel push kuralları olmadan standart Matrix bildirimlerine ihtiyacınız varsa, önizleme-önce davranışı için `streaming: "partial"` kullanın veya yalnızca son teslimat için `streaming` seçeneğini kapalı bırakın. `streaming: "off"` ile: +Özel push kuralları olmadan standart Matrix bildirimlerine ihtiyacınız varsa önizleme-önce davranışı için `streaming: "partial"` kullanın veya yalnızca son teslimat için `streaming` değerini kapalı bırakın. `streaming: "off"` ile: -- `blockStreaming: true`, tamamlanan her bloğu normal, bildirim gönderen bir Matrix mesajı olarak yollar. -- `blockStreaming: false`, yalnızca son tamamlanmış yanıtı normal, bildirim gönderen bir Matrix mesajı olarak yollar. +- `blockStreaming: true`, tamamlanan her bloğu normal bildirim veren bir Matrix mesajı olarak gönderir. +- `blockStreaming: false`, yalnızca son tamamlanmış yanıtı normal bildirim veren bir Matrix mesajı olarak gönderir. ### Sessiz sonlandırılmış önizlemeler için self-hosted push kuralları Kendi Matrix altyapınızı çalıştırıyorsanız ve sessiz önizlemelerin yalnızca bir blok veya -son yanıt tamamlandığında bildirim göndermesini istiyorsanız, `streaming: "quiet"` ayarlayın ve sonlandırılmış önizleme düzenlemeleri için kullanıcı başına bir push kuralı ekleyin. +son yanıt tamamlandığında bildirim vermesini istiyorsanız `streaming: "quiet"` ayarlayın ve sonlandırılmış önizleme düzenlemeleri için kullanıcı başına bir push kuralı ekleyin. -Bu genellikle homeserver genelinde bir yapılandırma değişikliği değil, alıcı kullanıcı kurulumu olur: +Bu genellikle homeserver genelinde bir yapılandırma değişikliği değil, alıcı kullanıcıya yönelik bir kurulumdur: Başlamadan önce hızlı eşleme: - alıcı kullanıcı = bildirimi alması gereken kişi -- bot kullanıcı = yanıtı gönderen OpenClaw Matrix hesabı -- aşağıdaki API çağrıları için alıcı kullanıcının access token'ını kullanın -- push kuralındaki `sender` değerini bot kullanıcının tam MXID'siyle eşleştirin +- bot kullanıcısı = yanıtı gönderen OpenClaw Matrix hesabı +- aşağıdaki API çağrıları için alıcı kullanıcının erişim belirtecini kullanın +- push kuralındaki `sender` değerini bot kullanıcısının tam MXID'siyle eşleştirin -1. OpenClaw'ı sessiz önizlemeleri kullanacak şekilde yapılandırın: +1. OpenClaw'ı sessiz önizlemeler kullanacak şekilde yapılandırın: ```json5 { @@ -289,12 +288,12 @@ Başlamadan önce hızlı eşleme: ``` 2. Alıcı hesabın zaten normal Matrix push bildirimleri aldığından emin olun. Sessiz önizleme - kuralları yalnızca bu kullanıcı zaten çalışan pusher'lara/cihazlara sahipse çalışır. + kuralları yalnızca o kullanıcıda çalışan pusher'lar/cihazlar zaten varsa çalışır. -3. Alıcı kullanıcının access token'ını alın. - - Bot'un token'ını değil, alıcı kullanıcının token'ını kullanın. - - Mevcut bir istemci oturumu token'ını yeniden kullanmak genellikle en kolay yoldur. - - Yeni bir token üretmeniz gerekiyorsa, standart Matrix Client-Server API üzerinden giriş yapabilirsiniz: +3. Alıcı kullanıcının erişim belirtecini alın. + - Botun belirtecini değil, alan kullanıcının belirtecini kullanın. + - Mevcut bir istemci oturumu belirtecini yeniden kullanmak genellikle en kolay yoldur. + - Yeni bir belirteç üretmeniz gerekiyorsa standart Matrix Client-Server API üzerinden oturum açabilirsiniz: ```bash curl -sS -X POST \ @@ -318,10 +317,10 @@ curl -sS \ "https://matrix.example.org/_matrix/client/v3/pushers" ``` -Bu çağrı etkin pusher/dönüş cihazı döndürmüyorsa, aşağıdaki -OpenClaw kuralını eklemeden önce önce normal Matrix bildirimlerini düzeltin. +Bu, etkin pusher/cihaz döndürmüyorsa aşağıdaki +OpenClaw kuralını eklemeden önce normal Matrix bildirimlerini düzeltin. -OpenClaw, sonlandırılmış yalnızca metin içeren önizleme düzenlemelerini şu şekilde işaretler: +OpenClaw, sonlandırılmış yalnızca metin önizleme düzenlemelerini şu şekilde işaretler: ```json { @@ -362,19 +361,19 @@ curl -sS -X PUT \ Komutu çalıştırmadan önce şu değerleri değiştirin: - `https://matrix.example.org`: homeserver temel URL'niz -- `$USER_ACCESS_TOKEN`: alıcı kullanıcının access token'ı -- `openclaw-finalized-preview-botname`: bu bot için bu alıcı kullanıcıya özgü bir kural kimliği -- `@bot:example.org`: alıcı kullanıcının MXID'si değil, OpenClaw Matrix bot MXID'niz +- `$USER_ACCESS_TOKEN`: alan kullanıcının erişim belirteci +- `openclaw-finalized-preview-botname`: bu alan kullanıcı için bu bota özgü bir kural kimliği +- `@bot:example.org`: alan kullanıcının MXID'si değil, OpenClaw Matrix bot MXID'niz -Çoklu bot kurulumları için önemli: +Çok botlu kurulumlar için önemli: - Push kuralları `ruleId` ile anahtarlanır. Aynı kural kimliğine karşı `PUT` işlemini yeniden çalıştırmak, o tek kuralı günceller. -- Bir alıcı kullanıcı birden fazla OpenClaw Matrix bot hesabı için bildirim alacaksa, her `sender` eşleşmesi için benzersiz bir kural kimliğiyle bot başına bir kural oluşturun. +- Bir alan kullanıcı birden fazla OpenClaw Matrix bot hesabı için bildirim alacaksa, her `sender` eşleşmesi için benzersiz bir kural kimliğiyle bot başına bir kural oluşturun. - Basit bir desen `openclaw-finalized-preview-` şeklindedir; örneğin `openclaw-finalized-preview-ops` veya `openclaw-finalized-preview-support`. -Kural, olayın göndericisine göre değerlendirilir: +Kural, olay gönderenine göre değerlendirilir: -- alıcı kullanıcının token'ı ile kimlik doğrulaması yapın +- alan kullanıcının belirteciyle kimlik doğrulayın - `sender` değerini OpenClaw bot MXID'siyle eşleştirin 6. Kuralın mevcut olduğunu doğrulayın: @@ -385,10 +384,10 @@ curl -sS \ "https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname" ``` -7. Akışlı bir yanıtı test edin. Sessiz modda, oda sessiz bir taslak önizleme göstermeli ve son - yerinde düzenleme blok veya dönüş tamamlandığında bir kez bildirim göndermelidir. +7. Akışlı bir yanıtı test edin. Sessiz modda oda sessiz bir taslak önizleme göstermeli ve son + yerinde düzenleme, blok veya tur tamamlandığında bir kez bildirim vermelidir. -Kuralı daha sonra kaldırmanız gerekirse, aynı kural kimliğini alıcı kullanıcının token'ı ile silin: +Kuralı daha sonra kaldırmanız gerekirse, alan kullanıcının belirteciyle aynı kural kimliğini silin: ```bash curl -sS -X DELETE \ @@ -398,33 +397,33 @@ curl -sS -X DELETE \ Notlar: -- Kuralı botun token'ı ile değil, alıcı kullanıcının access token'ı ile oluşturun. -- Yeni kullanıcı tanımlı `override` kuralları varsayılan bastırma kurallarının önüne eklenir, bu nedenle ek bir sıralama parametresi gerekmez. -- Bu yalnızca OpenClaw'ın güvenli şekilde yerinde sonlandırabildiği yalnızca metin içeren önizleme düzenlemelerini etkiler. Medya fallback'leri ve eski önizleme fallback'leri yine normal Matrix teslimatını kullanır. -- `GET /_matrix/client/v3/pushers` hiçbir pusher göstermiyorsa, kullanıcı bu hesap/cihaz için henüz çalışan Matrix push teslimatına sahip değildir. +- Kuralı botun değil, alan kullanıcının erişim belirteciyle oluşturun. +- Yeni kullanıcı tanımlı `override` kuralları varsayılan bastırma kurallarının önüne eklenir; bu nedenle ek bir sıralama parametresi gerekmez. +- Bu yalnızca OpenClaw'ın güvenle yerinde sonlandırabildiği yalnızca metin önizleme düzenlemelerini etkiler. Medya fallback'leri ve eski önizleme fallback'leri hâlâ normal Matrix teslimatını kullanır. +- `GET /_matrix/client/v3/pushers` hiçbir pusher göstermiyorsa, kullanıcının bu hesap/cihaz için henüz çalışan Matrix push teslimi yoktur. #### Synapse -Synapse için, yukarıdaki kurulum genellikle tek başına yeterlidir: +Synapse için yukarıdaki kurulum genellikle tek başına yeterlidir: - Sonlandırılmış OpenClaw önizleme bildirimleri için özel bir `homeserver.yaml` değişikliği gerekmez. -- Synapse dağıtımınız zaten normal Matrix push bildirimleri gönderiyorsa, kullanıcı token'ı + yukarıdaki `pushrules` çağrısı ana kurulum adımıdır. -- Synapse'i bir reverse proxy veya worker'ların arkasında çalıştırıyorsanız, `/_matrix/client/.../pushrules/` yolunun Synapse'e doğru ulaştığından emin olun. -- Synapse worker'ları kullanıyorsanız, pusher'ların sağlıklı olduğundan emin olun. Push teslimatı ana süreç veya `synapse.app.pusher` / yapılandırılmış pusher worker'ları tarafından işlenir. +- Synapse dağıtımınız zaten normal Matrix push bildirimleri gönderiyorsa, kullanıcı belirteci + yukarıdaki `pushrules` çağrısı ana kurulum adımıdır. +- Synapse'i ters proxy veya worker'lar arkasında çalıştırıyorsanız `/_matrix/client/.../pushrules/` yolunun Synapse'e doğru ulaştığından emin olun. +- Synapse worker'ları kullanıyorsanız pusher'ların sağlıklı olduğundan emin olun. Push teslimi ana süreç veya `synapse.app.pusher` / yapılandırılmış pusher worker'ları tarafından gerçekleştirilir. #### Tuwunel -Tuwunel için, yukarıda gösterilen aynı kurulum akışını ve push-rule API çağrısını kullanın: +Tuwunel için yukarıda gösterilen aynı kurulum akışını ve push-rule API çağrısını kullanın: - Sonlandırılmış önizleme işaretleyicisinin kendisi için Tuwunel'e özgü bir yapılandırma gerekmez. -- O kullanıcı için normal Matrix bildirimleri zaten çalışıyorsa, kullanıcı token'ı + yukarıdaki `pushrules` çağrısı ana kurulum adımıdır. -- Kullanıcı başka bir cihazda etkinken bildirimler kayboluyor gibi görünüyorsa, `suppress_push_when_active` seçeneğinin etkin olup olmadığını kontrol edin. Tuwunel bu seçeneği 12 Eylül 2025'te Tuwunel 1.4.2 sürümünde ekledi ve bir cihaz etkinken diğer cihazlara gönderilen push'ları kasıtlı olarak bastırabilir. +- Normal Matrix bildirimleri o kullanıcı için zaten çalışıyorsa, kullanıcı belirteci + yukarıdaki `pushrules` çağrısı ana kurulum adımıdır. +- Kullanıcı başka bir cihazda etkin durumdayken bildirimler kayboluyor gibi görünüyorsa `suppress_push_when_active` etkin mi kontrol edin. Tuwunel bu seçeneği 12 Eylül 2025'te Tuwunel 1.4.2 sürümünde ekledi ve bir cihaz etkin durumdayken diğer cihazlara push göndermeyi kasıtlı olarak bastırabilir. -## Botlar arası odalar +## Bottan bota odalar Varsayılan olarak, yapılandırılmış diğer OpenClaw Matrix hesaplarından gelen Matrix mesajları yok sayılır. -Kasıtlı olarak agent'lar arası Matrix trafiği istiyorsanız `allowBots` kullanın: +Kasıtlı olarak ajanlar arası Matrix trafiği istediğinizde `allowBots` kullanın: ```json5 { @@ -442,16 +441,16 @@ Kasıtlı olarak agent'lar arası Matrix trafiği istiyorsanız `allowBots` kull ``` - `allowBots: true`, izin verilen odalarda ve DM'lerde yapılandırılmış diğer Matrix bot hesaplarından gelen mesajları kabul eder. -- `allowBots: "mentions"`, bu mesajları yalnızca odalarda bu bottan görünür şekilde bahsettiklerinde kabul eder. DM'lere yine izin verilir. -- `groups..allowBots`, tek bir oda için hesap düzeyindeki ayarı geçersiz kılar. -- OpenClaw, kendi kendine yanıt döngülerini önlemek için aynı Matrix kullanıcı kimliğinden gelen mesajları yine yok sayar. -- Matrix burada yerel bir bot işareti sunmaz; OpenClaw, "bot-authored" kavramını "bu OpenClaw gateway üzerinde yapılandırılmış başka bir Matrix hesabı tarafından gönderilmiş" olarak ele alır. +- `allowBots: "mentions"`, bu mesajları odalarda yalnızca bu bottan görünür şekilde bahsettiklerinde kabul eder. DM'lere yine izin verilir. +- `groups..allowBots`, hesap düzeyi ayarı tek bir oda için geçersiz kılar. +- OpenClaw, kendine yanıt döngülerini önlemek için aynı Matrix kullanıcı kimliğinden gelen mesajları yine yok sayar. +- Matrix burada yerel bir bot bayrağı sunmaz; OpenClaw "bot tarafından yazılmış" ifadesini "bu OpenClaw gateway üzerinde yapılandırılmış başka bir Matrix hesabı tarafından gönderilmiş" olarak değerlendirir. -Paylaşılan odalarda botlar arası trafiği etkinleştirirken sıkı oda allowlist'leri ve bahsetme gereksinimleri kullanın. +Paylaşılan odalarda bottan bota trafiği etkinleştirirken sıkı oda allowlist'leri ve bahsetme gereksinimleri kullanın. ## Şifreleme ve doğrulama -Şifrelenmiş (E2EE) odalarda, giden görsel olayları `thumbnail_file` kullanır; böylece görsel önizlemeleri tam ek ile birlikte şifrelenir. Şifrelenmemiş odalar hâlâ düz `thumbnail_url` kullanır. Yapılandırma gerekmez — Plugin, E2EE durumunu otomatik olarak algılar. +Şifrelenmiş (E2EE) odalarda, giden görsel olayları `thumbnail_file` kullanır; böylece görsel önizlemeleri tam ekle birlikte şifrelenir. Şifrelenmemiş odalar yine düz `thumbnail_url` kullanır. Hiçbir yapılandırma gerekmez — Plugin E2EE durumunu otomatik olarak algılar. Şifrelemeyi etkinleştirin: @@ -475,37 +474,37 @@ Doğrulama durumunu kontrol edin: openclaw matrix verify status ``` -Ayrıntılı durum (tam tanı): +Ayrıntılı durum (tam tanılama): ```bash openclaw matrix verify status --verbose ``` -Makine tarafından okunabilir çıktıya saklanan recovery key'i ekleyin: +Makine tarafından okunabilir çıktıya saklanan kurtarma anahtarını dahil edin: ```bash openclaw matrix verify status --include-recovery-key --json ``` -Cross-signing ve doğrulama durumunu bootstrap edin: +Çapraz imzalama ve doğrulama durumunu bootstrap edin: ```bash openclaw matrix verify bootstrap ``` -Ayrıntılı bootstrap tanısı: +Ayrıntılı bootstrap tanılaması: ```bash openclaw matrix verify bootstrap --verbose ``` -Bootstrap öncesinde yeni bir cross-signing kimliği sıfırlamasını zorlayın: +Bootstrap öncesinde yeni bir çapraz imzalama kimliği sıfırlamasını zorlayın: ```bash openclaw matrix verify bootstrap --force-reset-cross-signing ``` -Bu cihazı bir recovery key ile doğrulayın: +Bu cihazı bir kurtarma anahtarı ile doğrulayın: ```bash openclaw matrix verify device "" @@ -517,43 +516,43 @@ Ayrıntılı cihaz doğrulama ayrıntıları: openclaw matrix verify device "" --verbose ``` -Oda anahtarı yedeği sağlığını kontrol edin: +Oda anahtarı yedekleme sağlığını kontrol edin: ```bash openclaw matrix verify backup status ``` -Ayrıntılı yedek sağlığı tanısı: +Ayrıntılı yedekleme sağlığı tanılaması: ```bash openclaw matrix verify backup status --verbose ``` -Sunucu yedeğinden oda anahtarlarını geri yükleyin: +Oda anahtarlarını sunucu yedeğinden geri yükleyin: ```bash openclaw matrix verify backup restore ``` -Ayrıntılı geri yükleme tanısı: +Ayrıntılı geri yükleme tanılaması: ```bash openclaw matrix verify backup restore --verbose ``` Geçerli sunucu yedeğini silin ve yeni bir yedek temel çizgisi oluşturun. Saklanan -yedek anahtarı temiz biçimde yüklenemiyorsa, bu sıfırlama secret storage'ı da yeniden oluşturabilir; böylece -gelecekteki soğuk başlangıçlar yeni yedek anahtarını yükleyebilir: +yedek anahtarı temiz şekilde yüklenemiyorsa, bu sıfırlama secret storage'ı da yeniden oluşturabilir; böylece +gelecekteki soğuk başlatmalar yeni yedek anahtarını yükleyebilir: ```bash openclaw matrix verify backup reset --yes ``` -Tüm `verify` komutları varsayılan olarak kısa çıktı verir (sessiz dahili SDK günlükleri dahil) ve ayrıntılı tanıyı yalnızca `--verbose` ile gösterir. +Tüm `verify` komutları varsayılan olarak kısa çıktılıdır (sessiz iç SDK günlükleri dahil) ve ayrıntılı tanılamayı yalnızca `--verbose` ile gösterir. Betik yazarken tam makine tarafından okunabilir çıktı için `--json` kullanın. -Çok hesaplı kurulumlarda Matrix CLI komutları, `--account ` geçmezseniz örtük Matrix varsayılan hesabını kullanır. -Birden fazla adlandırılmış hesap yapılandırırsanız, önce `channels.matrix.defaultAccount` ayarlayın; aksi halde bu örtük CLI işlemleri durur ve sizden açıkça bir hesap seçmenizi ister. +Çok hesaplı kurulumlarda, Matrix CLI komutları `--account ` vermediğiniz sürece örtük Matrix varsayılan hesabını kullanır. +Birden fazla adlandırılmış hesap yapılandırırsanız, önce `channels.matrix.defaultAccount` ayarlayın; aksi hâlde bu örtük CLI işlemleri durur ve sizden açıkça bir hesap seçmenizi ister. Doğrulama veya cihaz işlemlerinin açıkça adlandırılmış bir hesabı hedeflemesini istediğinizde `--account` kullanın: ```bash @@ -562,42 +561,43 @@ openclaw matrix verify backup restore --account assistant openclaw matrix devices list --account assistant ``` -Adlandırılmış bir hesap için şifreleme devre dışıysa veya kullanılamıyorsa, Matrix uyarıları ve doğrulama hataları o hesabın yapılandırma anahtarını işaret eder; örneğin `channels.matrix.accounts.assistant.encryption`. +Şifreleme devre dışıysa veya adlandırılmış bir hesap için kullanılamıyorsa, Matrix uyarıları ve doğrulama hataları o hesabın yapılandırma anahtarını işaret eder; örneğin `channels.matrix.accounts.assistant.encryption`. -### "Doğrulandı" ne anlama gelir +### "Doğrulanmış" ne anlama gelir -OpenClaw, bu Matrix cihazını yalnızca kendi cross-signing kimliğiniz tarafından doğrulandığında doğrulanmış olarak kabul eder. +OpenClaw bu Matrix cihazını yalnızca kendi çapraz imzalama kimliğiniz tarafından doğrulandığında doğrulanmış kabul eder. Pratikte `openclaw matrix verify status --verbose`, üç güven sinyali gösterir: -- `Locally trusted`: bu cihaza yalnızca mevcut istemci güvenir -- `Cross-signing verified`: SDK, cihazın cross-signing yoluyla doğrulandığını bildirir -- `Signed by owner`: cihaz, kendi self-signing anahtarınız tarafından imzalanmıştır +- `Locally trusted`: bu cihaz yalnızca mevcut istemci tarafından güvenilir kabul edilir +- `Cross-signing verified`: SDK, cihazı çapraz imzalama yoluyla doğrulanmış olarak bildirir +- `Signed by owner`: cihaz, sizin self-signing anahtarınız tarafından imzalanmıştır -`Verified by owner`, yalnızca cross-signing doğrulaması veya owner-signing mevcut olduğunda `yes` olur. -Yalnızca yerel güven, OpenClaw'ın cihazı tam doğrulanmış kabul etmesi için yeterli değildir. +`Verified by owner`, yalnızca çapraz imzalama doğrulaması veya sahip imzası mevcut olduğunda `yes` olur. +Tek başına yerel güven, OpenClaw'ın cihazı tam doğrulanmış olarak değerlendirmesi için yeterli değildir. ### Bootstrap ne yapar -`openclaw matrix verify bootstrap`, şifreli Matrix hesapları için onarım ve kurulum komutudur. +`openclaw matrix verify bootstrap`, şifrelenmiş Matrix hesapları için onarım ve kurulum komutudur. Sırayla aşağıdakilerin tümünü yapar: -- mümkün olduğunda mevcut recovery key'i yeniden kullanarak secret storage'ı bootstrap eder -- cross-signing'i bootstrap eder ve eksik genel cross-signing anahtarlarını yükler -- mevcut cihazı işaretlemeyi ve cross-sign etmeyi dener -- henüz yoksa sunucu tarafında yeni bir oda anahtarı yedeği oluşturur +- mümkün olduğunda mevcut kurtarma anahtarını yeniden kullanarak secret storage'ı bootstrap eder +- çapraz imzalamayı bootstrap eder ve eksik ortak çapraz imzalama anahtarlarını yükler +- geçerli cihazı işaretlemeyi ve çapraz imzalamayı dener +- zaten yoksa yeni bir sunucu tarafı oda anahtarı yedeği oluşturur -Homeserver, cross-signing anahtarlarını yüklemek için etkileşimli kimlik doğrulama gerektiriyorsa OpenClaw önce kimlik doğrulama olmadan, ardından `m.login.dummy` ile, `channels.matrix.password` yapılandırılmışsa da `m.login.password` ile yüklemeyi dener. +Homeserver çapraz imzalama anahtarlarını yüklemek için etkileşimli kimlik doğrulama gerektiriyorsa OpenClaw yüklemeyi önce kimlik doğrulama olmadan, sonra `m.login.dummy` ile, ardından `channels.matrix.password` yapılandırılmışsa `m.login.password` ile dener. -`--force-reset-cross-signing` seçeneğini yalnızca mevcut cross-signing kimliğini bilerek atmak ve yenisini oluşturmak istediğinizde kullanın. +Yalnızca geçerli çapraz imzalama kimliğini kasıtlı olarak atmak ve yenisini oluşturmak istiyorsanız `--force-reset-cross-signing` kullanın. -Mevcut oda anahtarı yedeğini bilerek atmak ve gelecekteki mesajlar için yeni -bir yedek temel çizgisi başlatmak istiyorsanız, `openclaw matrix verify backup reset --yes` kullanın. -Bunu yalnızca kurtarılamayan eski şifreli geçmişin erişilemez kalacağını ve OpenClaw'ın mevcut yedek -gizlisi güvenle yüklenemiyorsa secret storage'ı yeniden oluşturabileceğini kabul ediyorsanız yapın. +Geçerli oda anahtarı yedeğini kasıtlı olarak atmak ve gelecekteki mesajlar için yeni +bir yedek temel çizgisi başlatmak istiyorsanız `openclaw matrix verify backup reset --yes` kullanın. +Bunu yalnızca kurtarılamayan eski şifreli geçmişin erişilemez +kalacağını ve OpenClaw'ın geçerli yedek +gizlisi güvenle yüklenemiyorsa secret storage'ı yeniden oluşturabileceğini kabul ettiğinizde yapın. ### Yeni yedek temel çizgisi -Gelecekteki şifreli mesajların çalışmaya devam etmesini istiyor ve kurtarılamayan eski geçmişi kaybetmeyi kabul ediyorsanız, şu komutları sırayla çalıştırın: +Gelecekteki şifreli mesajların çalışmasını sürdürmek ve kurtarılamayan eski geçmişi kaybetmeyi kabul etmek istiyorsanız şu komutları sırayla çalıştırın: ```bash openclaw matrix verify backup reset --yes @@ -605,23 +605,24 @@ openclaw matrix verify backup status --verbose openclaw matrix verify status ``` -Adlandırılmış bir Matrix hesabını açıkça hedeflemek istediğinizde her komuta `--account ` ekleyin. +Açıkça adlandırılmış bir Matrix hesabını hedeflemek istediğinizde her komuta `--account ` ekleyin. ### Başlangıç davranışı -`encryption: true` olduğunda Matrix varsayılan olarak `startupVerification` değerini `"if-unverified"` yapar. -Başlangıçta bu cihaz hâlâ doğrulanmamışsa Matrix, başka bir Matrix istemcisinde self-verification ister, -biri zaten beklemedeyken yinelenen istekleri atlar ve yeniden başlatmalardan sonra yeniden denemeden önce yerel bir bekleme süresi uygular. -Başarısız istek denemeleri varsayılan olarak başarılı istek oluşturmaya göre daha erken yeniden denenir. +`encryption: true` olduğunda Matrix, `startupVerification` değerini varsayılan olarak `"if-unverified"` yapar. +Başlangıçta bu cihaz hâlâ doğrulanmamışsa Matrix başka bir Matrix istemcisinde self-verification isteyecek, +biri zaten beklemedeyken yinelenen istekleri atlayacak ve yeniden başlatmalardan sonra yeniden denemeden önce yerel bir bekleme süresi uygulayacaktır. +Başarısız istek denemeleri varsayılan olarak başarılı istek oluşturmalardan daha erken yeniden denenir. Otomatik başlangıç isteklerini devre dışı bırakmak için `startupVerification: "off"` ayarlayın veya daha kısa ya da daha uzun bir yeniden deneme penceresi istiyorsanız `startupVerificationCooldownHours` değerini ayarlayın. -Başlangıç ayrıca otomatik olarak tutucu bir kripto bootstrap geçişi de yapar. -Bu geçiş önce mevcut secret storage ve cross-signing kimliğini yeniden kullanmayı dener ve açık bir bootstrap onarım akışı çalıştırmadığınız sürece cross-signing'i sıfırlamaktan kaçınır. +Başlangıç ayrıca otomatik olarak temkinli bir crypto bootstrap geçişi gerçekleştirir. +Bu geçiş önce geçerli secret storage ve çapraz imzalama kimliğini yeniden kullanmayı dener ve siz açık bir bootstrap onarım akışı çalıştırmadıkça çapraz imzalamayı sıfırlamaktan kaçınır. -Başlangıç bozuk bootstrap durumu bulursa ve `channels.matrix.password` yapılandırılmışsa, OpenClaw daha sıkı bir onarım yolu deneyebilir. -Mevcut cihaz zaten owner-signed ise, OpenClaw bu kimliği otomatik olarak sıfırlamak yerine korur. +Başlangıç yine de bozuk bootstrap durumu bulursa, OpenClaw `channels.matrix.password` yapılandırılmamış olsa bile korumalı bir onarım yolu deneyebilir. +Homeserver bu onarım için parola tabanlı UIA gerektiriyorsa OpenClaw bir uyarı günlüğe kaydeder ve botu sonlandırmak yerine başlangıcı ölümcül olmayan durumda tutar. +Geçerli cihaz zaten sahip tarafından imzalanmışsa OpenClaw bu kimliği otomatik olarak sıfırlamak yerine korur. -Tam yükseltme akışı, sınırlar, kurtarma komutları ve yaygın geçiş mesajları için [Matrix migration](/tr/install/migrating-matrix) sayfasına bakın. +Tam yükseltme akışı, sınırlar, kurtarma komutları ve yaygın geçiş mesajları için bkz. [Matrix migration](/tr/install/migrating-matrix). ### Doğrulama bildirimleri @@ -629,22 +630,22 @@ Matrix, doğrulama yaşam döngüsü bildirimlerini doğrudan katı DM doğrulam Buna şunlar dahildir: - doğrulama isteği bildirimleri -- doğrulama hazır bildirimleri (açık "Emoji ile doğrula" yönlendirmesiyle) +- doğrulama hazır bildirimleri ("Emoji ile doğrula" yönlendirmesi açıkça dahil) - doğrulama başlangıç ve tamamlanma bildirimleri -- varsa SAS ayrıntıları (emoji ve ondalık) +- mevcut olduğunda SAS ayrıntıları (emoji ve ondalık) -Başka bir Matrix istemcisinden gelen doğrulama istekleri OpenClaw tarafından izlenir ve otomatik olarak kabul edilir. -Self-verification akışları için OpenClaw, emoji doğrulaması kullanılabilir olduğunda SAS akışını da otomatik olarak başlatır ve kendi tarafını onaylar. -Başka bir Matrix kullanıcısı/cihazından gelen doğrulama istekleri için OpenClaw isteği otomatik olarak kabul eder ve ardından SAS akışının normal şekilde ilerlemesini bekler. -Doğrulamayı tamamlamak için yine de Matrix istemcinizde emoji veya ondalık SAS'ı karşılaştırmanız ve orada "Eşleşiyorlar"ı onaylamanız gerekir. +Başka bir Matrix istemcisinden gelen doğrulama istekleri OpenClaw tarafından izlenir ve otomatik kabul edilir. +Self-verification akışları için OpenClaw, emoji doğrulaması kullanılabilir olduğunda SAS akışını da otomatik başlatır ve kendi tarafını onaylar. +Başka bir Matrix kullanıcısı/cihazından gelen doğrulama istekleri için OpenClaw isteği otomatik kabul eder ve ardından SAS akışının normal şekilde ilerlemesini bekler. +Doğrulamayı tamamlamak için yine de Matrix istemcinizde emoji veya ondalık SAS değerini karşılaştırmanız ve orada "Eşleşiyorlar" onayı vermeniz gerekir. -OpenClaw, kendi başlattığı yinelenen akışları körü körüne otomatik kabul etmez. Bir self-verification isteği zaten beklemedeyse başlangıç yeni bir istek oluşturmayı atlar. +OpenClaw, kendi başlattığı yinelenen akışları körü körüne otomatik kabul etmez. Başlangıç, bir self-verification isteği zaten beklemedeyse yeni bir istek oluşturmayı atlar. -Doğrulama protokolü/sistem bildirimleri agent sohbet ardışık düzenine iletilmez; bu nedenle `NO_REPLY` üretmezler. +Doğrulama protokolü/sistem bildirimleri ajan sohbet işlem hattına iletilmez; bu nedenle `NO_REPLY` üretmezler. ### Cihaz hijyeni -Eski OpenClaw tarafından yönetilen Matrix cihazları hesapta birikebilir ve şifreli oda güveninin anlaşılmasını zorlaştırabilir. +OpenClaw tarafından yönetilen eski Matrix cihazları hesapta birikebilir ve şifreli oda güvenini anlamayı zorlaştırabilir. Bunları şu komutla listeleyin: ```bash @@ -657,23 +658,22 @@ Eski OpenClaw tarafından yönetilen cihazları şu komutla kaldırın: openclaw matrix devices prune-stale ``` -### Kripto deposu +### Crypto store -Matrix E2EE, Node içinde resmi `matrix-js-sdk` Rust kripto yolunu kullanır; IndexedDB shim'i olarak `fake-indexeddb` kullanılır. Kripto durumu bir anlık görüntü dosyasına (`crypto-idb-snapshot.json`) kalıcı olarak yazılır ve başlangıçta geri yüklenir. Anlık görüntü dosyası, kısıtlayıcı dosya izinleriyle saklanan hassas çalışma zamanı durumudur. +Matrix E2EE, Node içinde resmi `matrix-js-sdk` Rust crypto yolunu kullanır; IndexedDB shim'i olarak `fake-indexeddb` kullanılır. Crypto durumu bir anlık görüntü dosyasına (`crypto-idb-snapshot.json`) kalıcı olarak yazılır ve başlangıçta geri yüklenir. Anlık görüntü dosyası, kısıtlayıcı dosya izinleriyle saklanan hassas çalışma zamanı durumudur. -Şifrelenmiş çalışma zamanı durumu, hesap başına ve kullanıcı token-hash kökleri altında -`~/.openclaw/matrix/accounts//__//` -dizininde bulunur. -Bu dizin sync deposunu (`bot-storage.json`), kripto deposunu (`crypto/`), -recovery key dosyasını (`recovery-key.json`), IndexedDB anlık görüntüsünü (`crypto-idb-snapshot.json`), -iş parçacığı bağlarını (`thread-bindings.json`) ve başlangıç doğrulama durumunu (`startup-verification.json`) içerir. -Token değiştiğinde ancak hesap kimliği aynı kaldığında, OpenClaw o hesap/homeserver/kullanıcı üçlüsü için -mevcut en iyi kökü yeniden kullanır; böylece önceki sync durumu, kripto durumu, iş parçacığı bağları -ve başlangıç doğrulama durumu görünür kalır. +Şifrelenmiş çalışma zamanı durumu, hesap başına ve kullanıcı belirteci karması kökleri altında +`~/.openclaw/matrix/accounts//__//` içinde yaşar. +Bu dizin sync store (`bot-storage.json`), crypto store (`crypto/`), +recovery key dosyası (`recovery-key.json`), IndexedDB anlık görüntüsü (`crypto-idb-snapshot.json`), +thread binding'ler (`thread-bindings.json`) ve başlangıç doğrulama durumu (`startup-verification.json`) içerir. +Belirteç değiştiğinde ancak hesap kimliği aynı kaldığında OpenClaw, önceki sync durumu, crypto durumu, thread binding'leri +ve başlangıç doğrulama durumu görünür kalacak şekilde o hesap/homeserver/kullanıcı demeti için en uygun mevcut +kökü yeniden kullanır. ## Profil yönetimi -Seçilen hesap için Matrix self-profile'ını şu komutla güncelleyin: +Seçilen hesap için Matrix self-profile'ı şu komutla güncelleyin: ```bash openclaw matrix profile set --name "OpenClaw Assistant" @@ -682,47 +682,47 @@ openclaw matrix profile set --avatar-url https://cdn.example.org/avatar.png Açıkça adlandırılmış bir Matrix hesabını hedeflemek istediğinizde `--account ` ekleyin. -Matrix, `mxc://` avatar URL'lerini doğrudan kabul eder. `http://` veya `https://` avatar URL'si verdiğinizde OpenClaw önce bunu Matrix'e yükler ve çözümlenen `mxc://` URL'sini tekrar `channels.matrix.avatarUrl` içine (veya seçilen hesap geçersiz kılmasına) yazar. +Matrix, `mxc://` avatar URL'lerini doğrudan kabul eder. `http://` veya `https://` avatar URL'si verdiğinizde OpenClaw önce bunu Matrix'e yükler ve çözümlenen `mxc://` URL'sini yeniden `channels.matrix.avatarUrl` içine (veya seçilen hesap override'ına) yazar. -## İş parçacıkları +## Thread'ler -Matrix, hem otomatik yanıtlar hem de mesaj aracı gönderimleri için yerel Matrix iş parçacıklarını destekler. +Matrix, hem otomatik yanıtlar hem de message-tool gönderimleri için yerel Matrix thread'lerini destekler. -- `dm.sessionScope: "per-user"` (varsayılan), Matrix DM yönlendirmesini gönderici kapsamlı tutar; böylece aynı eşe çözümlendiklerinde birden fazla DM odası tek bir oturumu paylaşabilir. -- `dm.sessionScope: "per-room"`, normal DM kimlik doğrulama ve allowlist kontrollerini kullanmaya devam ederken her Matrix DM odasını kendi oturum anahtarına izole eder. -- Açık Matrix konuşma bağları yine de `dm.sessionScope` ayarına üstün gelir; bu nedenle bağlanmış odalar ve iş parçacıkları seçtikleri hedef oturumu korur. -- `threadReplies: "off"`, yanıtları üst düzeyde tutar ve gelen iş parçacıklı mesajları üst oturumda tutar. -- `threadReplies: "inbound"`, yalnızca gelen mesaj zaten o iş parçacığındaysa iş parçacığı içinde yanıt verir. -- `threadReplies: "always"`, oda yanıtlarını tetikleyici mesaja köklenen bir iş parçacığında tutar ve o konuşmayı ilk tetikleyici mesajdan itibaren eşleşen iş parçacığı kapsamlı oturum üzerinden yönlendirir. -- `dm.threadReplies`, yalnızca DM'ler için üst düzey ayarı geçersiz kılar. Örneğin, odalardaki iş parçacıklarını izole ederken DM'leri düz tutabilirsiniz. -- Gelen iş parçacıklı mesajlar, iş parçacığının kök mesajını ek agent bağlamı olarak içerir. -- Mesaj aracı gönderimleri, açık bir `threadId` verilmediği sürece hedef aynı oda veya aynı DM kullanıcı hedefi olduğunda mevcut Matrix iş parçacığını otomatik olarak devralır. -- Aynı oturumlu DM kullanıcı hedefi yeniden kullanımı yalnızca mevcut oturum meta verileri aynı Matrix hesabındaki aynı DM eşini kanıtladığında devreye girer; aksi durumda OpenClaw normal kullanıcı kapsamlı yönlendirmeye geri döner. -- OpenClaw, bir Matrix DM odasının aynı paylaşılan Matrix DM oturumundaki başka bir DM odasıyla çakıştığını gördüğünde, iş parçacığı bağları etkinse ve `dm.sessionScope` ipucu varsa o odaya `/focus` kaçış kapağıyla tek seferlik bir `m.notice` gönderir. -- Çalışma zamanı iş parçacığı bağları Matrix için desteklenir. `/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age` ve iş parçacığına bağlı `/acp spawn`, Matrix odalarında ve DM'lerde çalışır. -- Üst düzey Matrix oda/DM `/focus`, `threadBindings.spawnSubagentSessions=true` olduğunda yeni bir Matrix iş parçacığı oluşturur ve onu hedef oturuma bağlar. -- Mevcut bir Matrix iş parçacığı içinde `/focus` veya `/acp spawn --thread here` çalıştırmak bunun yerine o mevcut iş parçacığını bağlar. +- `dm.sessionScope: "per-user"` (varsayılan), Matrix DM yönlendirmesini gönderici kapsamlı tutar; böylece aynı eş kullanıcıya çözümlendiklerinde birden fazla DM odası tek bir oturumu paylaşabilir. +- `dm.sessionScope: "per-room"`, normal DM kimlik doğrulama ve allowlist denetimlerini kullanmaya devam ederken her Matrix DM odasını kendi oturum anahtarına yalıtır. +- Açık Matrix konuşma binding'leri hâlâ `dm.sessionScope` üzerinde önceliklidir; bu nedenle bağlanmış odalar ve thread'ler seçilmiş hedef oturumlarını korur. +- `threadReplies: "off"`, yanıtları üst düzeyde tutar ve gelen thread'li mesajları üst oturumda tutar. +- `threadReplies: "inbound"`, yalnızca gelen mesaj zaten o thread içindeyse thread içinde yanıt verir. +- `threadReplies: "always"`, oda yanıtlarını tetikleyici mesaja köklenen bir thread içinde tutar ve o konuşmayı ilk tetikleyici mesajdan itibaren eşleşen thread kapsamlı oturum üzerinden yönlendirir. +- `dm.threadReplies`, yalnızca DM'ler için üst düzey ayarı geçersiz kılar. Örneğin, odalardaki thread'leri yalıtılmış tutarken DM'leri düz tutabilirsiniz. +- Gelen thread'li mesajlar, ek ajan bağlamı olarak thread kök mesajını içerir. +- Message-tool gönderimleri, açık bir `threadId` sağlanmadıkça, hedef aynı oda veya aynı DM kullanıcı hedefi olduğunda geçerli Matrix thread'ini otomatik olarak devralır. +- Aynı oturumda DM kullanıcı hedefi yeniden kullanımı yalnızca geçerli oturum meta verileri aynı Matrix hesabında aynı DM eş kullanıcısını kanıtlarsa devreye girer; aksi takdirde OpenClaw normal kullanıcı kapsamlı yönlendirmeye geri döner. +- OpenClaw, bir Matrix DM odasının aynı paylaşılan Matrix DM oturumunda başka bir DM odasıyla çakıştığını görürse, thread binding'leri etkin olduğunda ve `dm.sessionScope` ipucu mevcutsa o odada `/focus` kaçış kapağı ile tek seferlik bir `m.notice` gönderir. +- Matrix için çalışma zamanı thread binding'leri desteklenir. `/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age` ve thread'e bağlı `/acp spawn`, Matrix odalarında ve DM'lerde çalışır. +- Üst düzey Matrix oda/DM `/focus`, `threadBindings.spawnSubagentSessions=true` olduğunda yeni bir Matrix thread'i oluşturur ve bunu hedef oturuma bağlar. +- Mevcut bir Matrix thread'i içinde `/focus` veya `/acp spawn --thread here` çalıştırmak, bunun yerine o geçerli thread'i bağlar. -## ACP konuşma bağları +## ACP konuşma binding'leri -Matrix odaları, DM'ler ve mevcut Matrix iş parçacıkları, sohbet yüzeyi değiştirilmeden kalıcı ACP çalışma alanlarına dönüştürülebilir. +Matrix odaları, DM'ler ve mevcut Matrix thread'leri sohbet yüzeyini değiştirmeden kalıcı ACP çalışma alanlarına dönüştürülebilir. Hızlı operatör akışı: -- Kullanmaya devam etmek istediğiniz Matrix DM, oda veya mevcut iş parçacığı içinde `/acp spawn codex --bind here` çalıştırın. -- Üst düzey bir Matrix DM veya odasında, mevcut DM/oda sohbet yüzeyi olarak kalır ve gelecekteki mesajlar oluşturulan ACP oturumuna yönlendirilir. -- Mevcut bir Matrix iş parçacığı içinde `--bind here`, o mevcut iş parçacığını yerinde bağlar. +- Kullanmayı sürdürmek istediğiniz Matrix DM, oda veya mevcut thread içinde `/acp spawn codex --bind here` çalıştırın. +- Üst düzey bir Matrix DM veya odasında, geçerli DM/oda sohbet yüzeyi olarak kalır ve gelecekteki mesajlar oluşturulan ACP oturumuna yönlendirilir. +- Mevcut bir Matrix thread'i içinde `--bind here`, o geçerli thread'i yerinde bağlar. - `/new` ve `/reset`, aynı bağlı ACP oturumunu yerinde sıfırlar. -- `/acp close`, ACP oturumunu kapatır ve bağı kaldırır. +- `/acp close`, ACP oturumunu kapatır ve binding'i kaldırır. Notlar: -- `--bind here` alt bir Matrix iş parçacığı oluşturmaz. -- `threadBindings.spawnAcpSessions`, yalnızca OpenClaw'ın alt bir Matrix iş parçacığı oluşturması veya bağlaması gereken `/acp spawn --thread auto|here` için gereklidir. +- `--bind here`, bir alt Matrix thread'i oluşturmaz. +- `threadBindings.spawnAcpSessions` yalnızca `/acp spawn --thread auto|here` için gereklidir; burada OpenClaw'ın bir alt Matrix thread'i oluşturması veya bağlaması gerekir. -### İş parçacığı bağlama yapılandırması +### Thread binding yapılandırması -Matrix, genel varsayılanları `session.threadBindings` içinden devralır ve ayrıca kanal başına geçersiz kılmaları destekler: +Matrix, genel varsayılanları `session.threadBindings` üzerinden devralır ve kanal başına override'ları da destekler: - `threadBindings.enabled` - `threadBindings.idleHours` @@ -730,35 +730,35 @@ Matrix, genel varsayılanları `session.threadBindings` içinden devralır ve ay - `threadBindings.spawnSubagentSessions` - `threadBindings.spawnAcpSessions` -Matrix iş parçacığına bağlı oluşturma bayrakları isteğe bağlıdır: +Matrix thread'e bağlı oluşturma bayrakları isteğe bağlıdır: -- Üst düzey `/focus` komutunun yeni Matrix iş parçacıkları oluşturup bağlamasına izin vermek için `threadBindings.spawnSubagentSessions: true` ayarlayın. -- `/acp spawn --thread auto|here` komutunun ACP oturumlarını Matrix iş parçacıklarına bağlamasına izin vermek için `threadBindings.spawnAcpSessions: true` ayarlayın. +- Üst düzey `/focus` komutunun yeni Matrix thread'leri oluşturup bağlayabilmesi için `threadBindings.spawnSubagentSessions: true` ayarlayın. +- `/acp spawn --thread auto|here` komutunun ACP oturumlarını Matrix thread'lerine bağlayabilmesi için `threadBindings.spawnAcpSessions: true` ayarlayın. ## Tepkiler Matrix, giden tepki eylemlerini, gelen tepki bildirimlerini ve gelen ack tepkilerini destekler. -- Giden tepki araçları `channels["matrix"].actions.reactions` ile denetlenir. +- Giden tepki araçları `channels["matrix"].actions.reactions` tarafından denetlenir. - `react`, belirli bir Matrix olayına tepki ekler. -- `reactions`, belirli bir Matrix olayı için mevcut tepki özetini listeler. -- `emoji=""`, bot hesabının o olaydaki kendi tepkilerini kaldırır. -- `remove: true`, yalnızca bot hesabındaki belirtilen emoji tepkisini kaldırır. +- `reactions`, belirli bir Matrix olayı için geçerli tepki özetini listeler. +- `emoji=""`, bot hesabının o olay üzerindeki kendi tepkilerini kaldırır. +- `remove: true`, bot hesabından yalnızca belirtilen emoji tepkisini kaldırır. Ack tepkileri standart OpenClaw çözümleme sırasını kullanır: - `channels["matrix"].accounts..ackReaction` - `channels["matrix"].ackReaction` - `messages.ackReaction` -- agent kimliği emoji fallback'i +- ajan kimliği emoji fallback'i -Ack tepki kapsamı şu sırayla çözülür: +Ack tepki kapsamı şu sırayla çözümlenir: - `channels["matrix"].accounts..ackReactionScope` - `channels["matrix"].ackReactionScope` - `messages.ackReactionScope` -Tepki bildirim modu şu sırayla çözülür: +Tepki bildirim modu şu sırayla çözümlenir: - `channels["matrix"].accounts..reactionNotifications` - `channels["matrix"].reactionNotifications` @@ -768,26 +768,26 @@ Davranış: - `reactionNotifications: "own"`, bot tarafından yazılmış Matrix mesajlarını hedeflediklerinde eklenen `m.reaction` olaylarını iletir. - `reactionNotifications: "off"`, tepki sistem olaylarını devre dışı bırakır. -- Tepki kaldırmaları sistem olaylarına dönüştürülmez; çünkü Matrix bunları bağımsız `m.reaction` kaldırmaları olarak değil, redaction olarak gösterir. +- Tepki kaldırmaları, Matrix bunları bağımsız `m.reaction` kaldırmaları olarak değil, redaksiyonlar olarak sunduğu için sistem olaylarına sentezlenmez. ## Geçmiş bağlamı -- `channels.matrix.historyLimit`, bir Matrix oda mesajı agent'ı tetiklediğinde kaç son oda mesajının `InboundHistory` olarak dahil edileceğini kontrol eder. `messages.groupChat.historyLimit` değerine fallback yapar; ikisi de ayarlanmazsa etkin varsayılan `0` olur. Devre dışı bırakmak için `0` ayarlayın. -- Matrix oda geçmişi yalnızca oda içindir. DM'ler normal oturum geçmişini kullanmaya devam eder. -- Matrix oda geçmişi yalnızca bekleyen mesajlardan oluşur: OpenClaw henüz yanıt tetiklememiş oda mesajlarını tamponlar, sonra bir mention veya başka bir tetikleyici geldiğinde bu pencerenin anlık görüntüsünü alır. -- Mevcut tetikleyici mesaj `InboundHistory` içine dahil edilmez; o dönüş için ana gelen gövdede kalır. +- `channels.matrix.historyLimit`, bir Matrix oda mesajı ajanı tetiklediğinde `InboundHistory` olarak dahil edilen son oda mesajı sayısını denetler. `messages.groupChat.historyLimit` değerine fallback yapar; ikisi de ayarlı değilse etkili varsayılan `0` olur. Devre dışı bırakmak için `0` ayarlayın. +- Matrix oda geçmişi yalnızca odaya özeldir. DM'ler normal oturum geçmişini kullanmaya devam eder. +- Matrix oda geçmişi yalnızca beklemede olan geçmişten oluşur: OpenClaw henüz bir yanıt tetiklememiş oda mesajlarını arabelleğe alır, ardından bir mention veya başka bir tetikleyici geldiğinde bu pencerenin anlık görüntüsünü alır. +- Geçerli tetikleyici mesaj `InboundHistory` içine dahil edilmez; o tur için ana gelen gövde içinde kalır. - Aynı Matrix olayının yeniden denemeleri, daha yeni oda mesajlarına kaymak yerine özgün geçmiş anlık görüntüsünü yeniden kullanır. ## Bağlam görünürlüğü -Matrix, getirilen yanıt metni, iş parçacığı kökleri ve bekleyen geçmiş gibi ek oda bağlamı için paylaşılan `contextVisibility` denetimini destekler. +Matrix, alınan yanıt metni, thread kökleri ve bekleyen geçmiş gibi ek oda bağlamı için paylaşılan `contextVisibility` denetimini destekler. - `contextVisibility: "all"` varsayılandır. Ek bağlam alındığı gibi tutulur. -- `contextVisibility: "allowlist"`, ek bağlamı etkin oda/kullanıcı allowlist kontrolleri tarafından izin verilen göndericilerle sınırlar. -- `contextVisibility: "allowlist_quote"`, `allowlist` gibi davranır, ancak yine de tek bir açık alıntı yanıtı korur. +- `contextVisibility: "allowlist"`, ek bağlamı etkin oda/kullanıcı allowlist denetimlerinin izin verdiği göndericilere filtreler. +- `contextVisibility: "allowlist_quote"`, `allowlist` gibi davranır ancak yine de açıkça alıntılanmış tek bir yanıtı korur. -Bu ayar, ek bağlam görünürlüğünü etkiler; gelen iletinin kendisinin bir yanıtı tetikleyip tetikleyemeyeceğini etkilemez. -Tetikleyici yetkilendirmesi yine `groupPolicy`, `groups`, `groupAllowFrom` ve DM ilke ayarlarından gelir. +Bu ayar, ek bağlam görünürlüğünü etkiler; gelen mesajın kendisinin bir yanıtı tetikleyip tetikleyemeyeceğini etkilemez. +Tetikleyici yetkilendirmesi hâlâ `groupPolicy`, `groups`, `groupAllowFrom` ve DM ilke ayarlarından gelir. ## DM ve oda ilkesi @@ -812,7 +812,7 @@ Tetikleyici yetkilendirmesi yine `groupPolicy`, `groups`, `groupAllowFrom` ve DM } ``` -Mention geçitleme ve allowlist davranışı için [Groups](/tr/channels/groups) sayfasına bakın. +Mention denetimi ve allowlist davranışı için bkz. [Groups](/tr/channels/groups). Matrix DM'leri için pairing örneği: @@ -821,13 +821,13 @@ openclaw pairing list matrix openclaw pairing approve matrix ``` -Onaylanmamış bir Matrix kullanıcısı onaydan önce size mesaj göndermeye devam ederse, OpenClaw aynı bekleyen pairing kodunu yeniden kullanır ve yeni bir kod üretmek yerine kısa bir bekleme süresinden sonra yeniden bir hatırlatma yanıtı gönderebilir. +Onaylanmamış bir Matrix kullanıcısı onaydan önce size mesaj atmaya devam ederse, OpenClaw aynı bekleyen pairing kodunu yeniden kullanır ve yeni bir kod üretmek yerine kısa bir bekleme süresinden sonra yeniden bir hatırlatma yanıtı gönderebilir. -Paylaşılan DM pairing akışı ve depolama düzeni için [Pairing](/tr/channels/pairing) sayfasına bakın. +Paylaşılan DM pairing akışı ve depolama düzeni için bkz. [Pairing](/tr/channels/pairing). ## Doğrudan oda onarımı -Doğrudan mesaj durumu senkron dışına çıkarsa, OpenClaw canlı DM yerine eski tekli odaları işaret eden bayat `m.direct` eşlemeleriyle kalabilir. Bir eş için mevcut eşlemeyi şu komutla inceleyin: +Doğrudan mesaj durumu senkron dışı kalırsa, OpenClaw canlı DM yerine eski tekil odaları işaret eden bayat `m.direct` eşlemeleriyle karşılaşabilir. Bir eş kullanıcı için geçerli eşlemeyi şu komutla inceleyin: ```bash openclaw matrix direct inspect --user-id @alice:example.org @@ -841,16 +841,16 @@ openclaw matrix direct repair --user-id @alice:example.org Onarım akışı: -- zaten `m.direct` içinde eşlenmiş olan katı 1:1 DM'yi tercih eder -- bu kullanıcıyla mevcutta katılınmış herhangi bir katı 1:1 DM'ye fallback yapar -- sağlıklı bir DM yoksa yeni bir doğrudan oda oluşturur ve `m.direct` eşlemesini yeniden yazar +- zaten `m.direct` içinde eşlenmiş katı 1:1 DM'yi tercih eder +- bununla bir sağlıkli DM yoksa, o kullanıcıyla şu anda katılmış olan herhangi bir katı 1:1 DM'ye fallback yapar +- sağlıklı bir DM yoksa yeni bir direct room oluşturur ve `m.direct` öğesini yeniden yazar -Onarım akışı eski odaları otomatik olarak silmez. Yalnızca sağlıklı DM'yi seçer ve eşlemeyi günceller; böylece yeni Matrix gönderimleri, doğrulama bildirimleri ve diğer doğrudan mesaj akışları yeniden doğru odayı hedefler. +Onarım akışı eski odaları otomatik olarak silmez. Yalnızca sağlıklı DM'yi seçer ve eşlemeyi günceller; böylece yeni Matrix gönderimleri, doğrulama bildirimleri ve diğer direct-message akışları yeniden doğru odayı hedefler. ## Exec onayları Matrix, bir Matrix hesabı için yerel bir onay istemcisi olarak davranabilir. Yerel -DM/kanal yönlendirme düğmeleri yine exec onay yapılandırması altında bulunur: +DM/kanal yönlendirme düğmeleri exec onay yapılandırması altında yaşamaya devam eder: - `channels.matrix.execApprovals.enabled` - `channels.matrix.execApprovals.approvers` (isteğe bağlı; `channels.matrix.dm.allowFrom` değerine fallback yapar) @@ -858,38 +858,38 @@ DM/kanal yönlendirme düğmeleri yine exec onay yapılandırması altında bulu - `channels.matrix.execApprovals.agentFilter` - `channels.matrix.execApprovals.sessionFilter` -Onaylayanlar `@owner:example.org` gibi Matrix kullanıcı kimlikleri olmalıdır. `enabled` ayarlanmamışsa veya `"auto"` ise ve en az bir onaylayan çözümlenebiliyorsa Matrix yerel onayları otomatik etkinleştirir. Exec onayları önce `execApprovals.approvers` kullanır ve `channels.matrix.dm.allowFrom` değerine fallback yapabilir. Plugin onayları `channels.matrix.dm.allowFrom` üzerinden yetkilendirilir. Matrix'i yerel bir onay istemcisi olarak açıkça devre dışı bırakmak için `enabled: false` ayarlayın. Aksi halde onay istekleri diğer yapılandırılmış onay yollarına veya onay fallback ilkesine geri düşer. +Onaylayıcılar `@owner:example.org` gibi Matrix kullanıcı kimlikleri olmalıdır. Matrix, `enabled` ayarsız veya `"auto"` olduğunda ve en az bir onaylayıcı çözümlenebildiğinde yerel onayları otomatik etkinleştirir. Exec onayları önce `execApprovals.approvers` kullanır ve `channels.matrix.dm.allowFrom` değerine fallback yapabilir. Plugin onayları `channels.matrix.dm.allowFrom` üzerinden yetkilendirilir. Matrix'i yerel bir onay istemcisi olarak açıkça devre dışı bırakmak için `enabled: false` ayarlayın. Bunun dışında onay istekleri, yapılandırılmış diğer onay yollarına veya onay fallback ilkesine geri döner. Matrix yerel yönlendirmesi her iki onay türünü de destekler: -- `channels.matrix.execApprovals.*`, Matrix onay istemleri için yerel DM/kanal fanout modunu kontrol eder. -- Exec onayları, `execApprovals.approvers` veya `channels.matrix.dm.allowFrom` içinden gelen exec onaylayan kümesini kullanır. +- `channels.matrix.execApprovals.*`, Matrix onay istemleri için yerel DM/kanal yayılım modunu denetler. +- Exec onayları, `execApprovals.approvers` veya `channels.matrix.dm.allowFrom` içindeki exec onaylayıcı kümesini kullanır. - Plugin onayları, `channels.matrix.dm.allowFrom` içindeki Matrix DM allowlist'ini kullanır. -- Matrix tepki kısayolları ve mesaj güncellemeleri hem exec hem de Plugin onayları için geçerlidir. +- Matrix tepki kısayolları ve mesaj güncellemeleri hem exec hem de Plugin onaylarına uygulanır. -Teslimat kuralları: +Teslim kuralları: -- `target: "dm"`, onay istemlerini onaylayan DM'lerine gönderir -- `target: "channel"`, istemi kaynak Matrix oda veya DM'ye geri gönderir -- `target: "both"`, onaylayan DM'lerine ve kaynak Matrix oda veya DM'ye gönderir +- `target: "dm"`, onay istemlerini onaylayıcı DM'lerine gönderir +- `target: "channel"`, istemi kaynak Matrix odasına veya DM'ye geri gönderir +- `target: "both"`, istemi onaylayıcı DM'lerine ve kaynak Matrix odasına veya DM'ye gönderir -Matrix onay istemleri, birincil onay mesajında tepki kısayollarını başlatır: +Matrix onay istemleri, birincil onay mesajı üzerinde tepki kısayolları tohumlar: - `✅` = bir kez izin ver - `❌` = reddet -- `♾️` = bu karar etkin exec ilkesi tarafından izin verildiğinde her zaman izin ver +- `♾️` = bu karar etkili exec ilkesi tarafından izin verildiğinde her zaman izin ver -Onaylayanlar bu mesaja tepki verebilir veya fallback slash komutlarını kullanabilir: `/approve allow-once`, `/approve allow-always` veya `/approve deny`. +Onaylayıcılar bu mesaja tepki verebilir veya fallback slash komutlarını kullanabilir: `/approve allow-once`, `/approve allow-always` veya `/approve deny`. -Yalnızca çözümlenmiş onaylayanlar onay verebilir veya reddedebilir. Exec onaylarında kanal teslimatı komut metnini içerir; bu nedenle `channel` veya `both` seçeneklerini yalnızca güvenilen odalarda etkinleştirin. +Yalnızca çözümlenmiş onaylayıcılar onaylayabilir veya reddedebilir. Exec onayları için kanal teslimi komut metnini içerir; bu nedenle `channel` veya `both` seçeneklerini yalnızca güvenilir odalarda etkinleştirin. -Hesap başına geçersiz kılma: +Hesap başına override: - `channels.matrix.accounts..execApprovals` İlgili belgeler: [Exec approvals](/tr/tools/exec-approvals) -## Çok hesaplı +## Çok hesap ```json5 { @@ -919,25 +919,25 @@ Hesap başına geçersiz kılma: } ``` -Üst düzey `channels.matrix` değerleri, bir hesap bunları geçersiz kılmadığı sürece adlandırılmış hesaplar için varsayılan görevi görür. -Devralınan oda girdilerini bir Matrix hesabına `groups..account` ile kapsamlandırabilirsiniz. -`account` içermeyen girdiler tüm Matrix hesapları arasında paylaşılmış kalır ve `account: "default"` içeren girdiler, varsayılan hesap doğrudan üst düzey `channels.matrix.*` üzerinde yapılandırıldığında yine çalışır. -Kısmi paylaşılan kimlik doğrulama varsayılanları kendi başlarına ayrı bir örtük varsayılan hesap oluşturmaz. OpenClaw üst düzey `default` hesabını yalnızca o varsayılan hesapta yeni kimlik doğrulama varsa (`homeserver` artı `accessToken` veya `homeserver` artı `userId` ve `password`) sentezler; adlandırılmış hesaplar ise önbelleğe alınmış kimlik bilgileri daha sonra kimlik doğrulamayı karşıladığında `homeserver` artı `userId` ile keşfedilebilir kalabilir. -Matrix'te zaten tam olarak bir adlandırılmış hesap varsa veya `defaultAccount` mevcut bir adlandırılmış hesap anahtarını işaret ediyorsa, tek hesaptan çok hesaba onarım/kurulum yükseltmesi yeni bir `accounts.default` girdisi oluşturmak yerine o hesabı korur. Yalnızca Matrix kimlik doğrulama/bootstrap anahtarları bu yükseltilmiş hesaba taşınır; paylaşılan teslimat ilkesi anahtarları üst düzeyde kalır. -Örtük yönlendirme, probing ve CLI işlemleri için OpenClaw'ın adlandırılmış Matrix hesaplarından birini tercih etmesini istiyorsanız `defaultAccount` ayarlayın. -Birden fazla Matrix hesabı yapılandırılmışsa ve hesap kimliklerinden biri `default` ise, `defaultAccount` ayarlanmamış olsa bile OpenClaw bu hesabı örtük olarak kullanır. -Birden fazla adlandırılmış hesap yapılandırırsanız, örtük hesap seçimine dayanan CLI komutları için `defaultAccount` ayarlayın veya `--account ` geçin. -Bu örtük seçimi tek bir komut için geçersiz kılmak istediğinizde `openclaw matrix verify ...` ve `openclaw matrix devices ...` komutlarına `--account ` geçin. +Üst düzey `channels.matrix` değerleri, bir hesap bunları override etmediği sürece adlandırılmış hesaplar için varsayılan olarak davranır. +Devralınan oda girişlerini bir Matrix hesabına `groups..account` ile kapsamlayabilirsiniz. +`account` içermeyen girişler tüm Matrix hesapları arasında paylaşımlı kalır ve `account: "default"` içeren girişler, varsayılan hesap doğrudan üst düzey `channels.matrix.*` üzerinde yapılandırıldığında da çalışmaya devam eder. +Kısmi paylaşımlı kimlik doğrulama varsayılanları kendi başlarına ayrı bir örtük varsayılan hesap oluşturmaz. OpenClaw, yalnızca o varsayılan taze kimlik doğrulamaya sahipse (`homeserver` artı `accessToken` veya `homeserver` artı `userId` ve `password`) üst düzey `default` hesabını sentezler; adlandırılmış hesaplar, önbelleğe alınmış kimlik bilgileri daha sonra kimlik doğrulamayı karşıladığında `homeserver` artı `userId` üzerinden keşfedilebilir kalabilir. +Matrix zaten tam olarak bir adlandırılmış hesaba sahipse veya `defaultAccount` mevcut bir adlandırılmış hesap anahtarını işaret ediyorsa, tek hesaplıdan çok hesaplıya onarım/kurulum yükseltmesi yeni bir `accounts.default` girişi oluşturmak yerine o hesabı korur. Yalnızca Matrix kimlik doğrulama/bootstrap anahtarları bu yükseltilmiş hesaba taşınır; paylaşılan teslim ilkesi anahtarları üst düzeyde kalır. +OpenClaw'ın örtük yönlendirme, probing ve CLI işlemleri için bir adlandırılmış Matrix hesabını tercih etmesini istiyorsanız `defaultAccount` ayarlayın. +Birden fazla Matrix hesabı yapılandırılmışsa ve hesap kimliklerinden biri `default` ise, `defaultAccount` ayarlı olmasa bile OpenClaw bu hesabı örtük olarak kullanır. +Birden fazla adlandırılmış hesap yapılandırırsanız, örtük hesap seçimine dayanan CLI komutları için `defaultAccount` ayarlayın veya `--account ` verin. +Bir komut için bu örtük seçimi override etmek istediğinizde `openclaw matrix verify ...` ve `openclaw matrix devices ...` komutlarına `--account ` verin. -Paylaşılan çok hesaplı desen için [Configuration reference](/tr/gateway/configuration-reference#multi-account-all-channels) sayfasına bakın. +Paylaşılan çok hesap deseni için bkz. [Configuration reference](/tr/gateway/configuration-reference#multi-account-all-channels). ## Özel/LAN homeserver'lar -Varsayılan olarak OpenClaw, SSRF koruması için özel/dahili Matrix homeserver'larını engeller; siz -hesap başına açıkça izin vermedikçe bağlanmaz. +Varsayılan olarak OpenClaw, siz +hesap başına açıkça izin vermediğiniz sürece SSRF koruması için özel/iç Matrix homeserver'larını engeller. -Homeserver'ınız localhost, bir LAN/Tailscale IP'si veya dahili bir host adı üzerinde çalışıyorsa, -o Matrix hesabı için `network.dangerouslyAllowPrivateNetwork` seçeneğini etkinleştirin: +Homeserver'ınız localhost, bir LAN/Tailscale IP'si veya iç bir ana makine adında çalışıyorsa, +o Matrix hesabı için `network.dangerouslyAllowPrivateNetwork` ayarını etkinleştirin: ```json5 { @@ -963,12 +963,12 @@ openclaw matrix account add \ --access-token syt_ops_xxx ``` -Bu açık katılım yalnızca güvenilen özel/dahili hedeflere izin verir. Aşağıdaki gibi herkese açık düz metin homeserver'lar -`http://matrix.example.org:8008` yine engellenir. Mümkün olduğunda `https://` tercih edin. +Bu isteğe bağlı etkinleştirme yalnızca güvenilir özel/iç hedeflere izin verir. `http://matrix.example.org:8008` gibi +genel açık metin homeserver'lar engellenmeye devam eder. Mümkün olduğunda `https://` tercih edin. -## Matrix trafiğini proxy üzerinden geçirmek +## Matrix trafiğini proxy'leme -Matrix dağıtımınız açık bir giden HTTP(S) proxy gerektiriyorsa, `channels.matrix.proxy` ayarlayın: +Matrix dağıtımınız açık bir giden HTTP(S) proxy gerektiriyorsa `channels.matrix.proxy` ayarlayın: ```json5 { @@ -982,22 +982,22 @@ Matrix dağıtımınız açık bir giden HTTP(S) proxy gerektiriyorsa, `channels } ``` -Adlandırılmış hesaplar, üst düzey varsayılanı `channels.matrix.accounts..proxy` ile geçersiz kılabilir. -OpenClaw aynı proxy ayarını çalışma zamanı Matrix trafiği ve hesap durum probing işlemleri için kullanır. +Adlandırılmış hesaplar, üst düzey varsayılanı `channels.matrix.accounts..proxy` ile override edebilir. +OpenClaw, aynı proxy ayarını çalışma zamanı Matrix trafiği ve hesap durumu probing'leri için kullanır. ## Hedef çözümleme -Matrix, OpenClaw'ın sizden bir oda veya kullanıcı hedefi istediği her yerde şu hedef biçimlerini kabul eder: +Matrix, OpenClaw'ın sizden oda veya kullanıcı hedefi istediği her yerde şu hedef biçimlerini kabul eder: - Kullanıcılar: `@user:server`, `user:@user:server` veya `matrix:user:@user:server` - Odalar: `!room:server`, `room:!room:server` veya `matrix:room:!room:server` - Takma adlar: `#alias:server`, `channel:#alias:server` veya `matrix:channel:#alias:server` -Canlı dizin araması, oturum açılmış Matrix hesabını kullanır: +Canlı dizin araması oturum açmış Matrix hesabını kullanır: -- Kullanıcı aramaları, o homeserver üzerindeki Matrix kullanıcı dizinini sorgular. -- Oda aramaları açık oda kimliklerini ve takma adları doğrudan kabul eder, ardından o hesap için katılınmış oda adlarını aramaya fallback yapar. -- Katılınmış oda adı araması best-effort çalışır. Bir oda adı oda kimliğine veya takma ada çözümlenemiyorsa, çalışma zamanı allowlist çözümlemesi sırasında yok sayılır. +- Kullanıcı aramaları, o homeserver'daki Matrix kullanıcı dizinini sorgular. +- Oda aramaları açık oda kimliklerini ve takma adları doğrudan kabul eder, ardından o hesap için katılınmış oda adlarında aramaya fallback yapar. +- Katılınmış oda adı araması en iyi çabayladır. Bir oda adı kimlik veya takma ad olarak çözümlenemiyorsa çalışma zamanı allowlist çözümlemesi tarafından yok sayılır. ## Yapılandırma başvurusu @@ -1005,63 +1005,63 @@ Canlı dizin araması, oturum açılmış Matrix hesabını kullanır: - `name`: hesap için isteğe bağlı etiket. - `defaultAccount`: birden fazla Matrix hesabı yapılandırıldığında tercih edilen hesap kimliği. - `homeserver`: homeserver URL'si, örneğin `https://matrix.example.org`. -- `network.dangerouslyAllowPrivateNetwork`: bu Matrix hesabının özel/dahili homeserver'lara bağlanmasına izin verir. Homeserver `localhost`, bir LAN/Tailscale IP'si veya `matrix-synapse` gibi dahili bir ana makineye çözümleniyorsa bunu etkinleştirin. -- `proxy`: Matrix trafiği için isteğe bağlı HTTP(S) proxy URL'si. Adlandırılmış hesaplar üst düzey varsayılanı kendi `proxy` ayarlarıyla geçersiz kılabilir. +- `network.dangerouslyAllowPrivateNetwork`: bu Matrix hesabının özel/iç homeserver'lara bağlanmasına izin verir. Homeserver `localhost`, bir LAN/Tailscale IP'si veya `matrix-synapse` gibi iç bir ana makineye çözümleniyorsa bunu etkinleştirin. +- `proxy`: Matrix trafiği için isteğe bağlı HTTP(S) proxy URL'si. Adlandırılmış hesaplar üst düzey varsayılanı kendi `proxy` değerleriyle override edebilir. - `userId`: tam Matrix kullanıcı kimliği, örneğin `@bot:example.org`. -- `accessToken`: token tabanlı kimlik doğrulama için access token. Düz metin değerler ve SecretRef değerleri, env/file/exec sağlayıcıları genelinde `channels.matrix.accessToken` ve `channels.matrix.accounts..accessToken` için desteklenir. Bkz. [Secrets Management](/tr/gateway/secrets). +- `accessToken`: belirteç tabanlı kimlik doğrulama için erişim belirteci. Düz metin değerler ve SecretRef değerleri, env/file/exec sağlayıcıları genelinde `channels.matrix.accessToken` ve `channels.matrix.accounts..accessToken` için desteklenir. Bkz. [Secrets Management](/tr/gateway/secrets). - `password`: parola tabanlı oturum açma için parola. Düz metin değerler ve SecretRef değerleri desteklenir. - `deviceId`: açık Matrix cihaz kimliği. -- `deviceName`: parola ile oturum açma için cihaz görünen adı. -- `avatarUrl`: profil senkronizasyonu ve `profile set` güncellemeleri için depolanan self-avatar URL'si. -- `initialSyncLimit`: başlangıç sync sırasında getirilen en yüksek olay sayısı. +- `deviceName`: parola ile giriş için cihaz görünen adı. +- `avatarUrl`: profil eşitlemesi ve `profile set` güncellemeleri için saklanan self-avatar URL'si. +- `initialSyncLimit`: başlangıç eşitlemesi sırasında getirilen azami olay sayısı. - `encryption`: E2EE'yi etkinleştirir. -- `allowlistOnly`: `true` olduğunda, `open` oda ilkesini `allowlist` olarak yükseltir ve `disabled` dışındaki tüm etkin DM ilkelerini (`pairing` ve `open` dahil) `allowlist` olmaya zorlar. `disabled` ilkelerini etkilemez. +- `allowlistOnly`: `true` olduğunda `open` oda ilkesini `allowlist`'e yükseltir ve `disabled` dışındaki tüm etkin DM ilkelerini (`pairing` ve `open` dahil) `allowlist` olmaya zorlar. `disabled` ilkelerini etkilemez. - `allowBots`: yapılandırılmış diğer OpenClaw Matrix hesaplarından gelen mesajlara izin verir (`true` veya `"mentions"`). - `groupPolicy`: `open`, `allowlist` veya `disabled`. - `contextVisibility`: ek oda bağlamı görünürlük modu (`all`, `allowlist`, `allowlist_quote`). -- `groupAllowFrom`: oda trafiği için kullanıcı kimliği allowlist'i. Girdiler tam Matrix kullanıcı kimlikleri olmalıdır; çözümlenmemiş adlar çalışma zamanında yok sayılır. -- `historyLimit`: grup geçmiş bağlamı olarak dahil edilecek en yüksek oda mesajı sayısı. `messages.groupChat.historyLimit` değerine fallback yapar; ikisi de ayarlanmazsa etkin varsayılan `0` olur. Devre dışı bırakmak için `0` ayarlayın. +- `groupAllowFrom`: oda trafiği için kullanıcı kimlikleri allowlist'i. Girişler tam Matrix kullanıcı kimlikleri olmalıdır; çözümlenmemiş adlar çalışma zamanında yok sayılır. +- `historyLimit`: grup geçmiş bağlamı olarak eklenecek azami oda mesajı sayısı. `messages.groupChat.historyLimit` değerine fallback yapar; ikisi de ayarlı değilse etkili varsayılan `0` olur. Devre dışı bırakmak için `0` ayarlayın. - `replyToMode`: `off`, `first`, `all` veya `batched`. - `markdown`: giden Matrix metni için isteğe bağlı Markdown işleme yapılandırması. -- `streaming`: `off` (varsayılan), `"partial"`, `"quiet"`, `true` veya `false`. `"partial"` ve `true`, normal Matrix metin mesajlarıyla önizleme-önce taslak güncellemelerini etkinleştirir. `"quiet"`, self-hosted push-rule kurulumları için bildirim göndermeyen önizleme bildirimlerini kullanır. `false`, `"off"` ile eşdeğerdir. -- `blockStreaming`: `true`, taslak önizleme akışı etkinken tamamlanmış asistan blokları için ayrı ilerleme mesajlarını etkinleştirir. +- `streaming`: `off` (varsayılan), `"partial"`, `"quiet"`, `true` veya `false`. `"partial"` ve `true`, normal Matrix metin mesajlarıyla önizleme-önce taslak güncellemelerini etkinleştirir. `"quiet"`, self-hosted push-rule kurulumları için bildirim vermeyen önizleme bildirimlerini kullanır. `false`, `"off"` ile eşdeğerdir. +- `blockStreaming`: `true`, taslak önizleme akışı etkin olduğunda tamamlanan assistant blokları için ayrı ilerleme mesajlarını etkinleştirir. - `threadReplies`: `off`, `inbound` veya `always`. -- `threadBindings`: iş parçacığına bağlı oturum yönlendirmesi ve yaşam döngüsü için kanal başına geçersiz kılmalar. +- `threadBindings`: thread'e bağlı oturum yönlendirmesi ve yaşam döngüsü için kanal başına override'lar. - `startupVerification`: başlangıçta otomatik self-verification istek modu (`if-unverified`, `off`). -- `startupVerificationCooldownHours`: otomatik başlangıç doğrulama istekleri yeniden denenmeden önceki bekleme süresi. +- `startupVerificationCooldownHours`: otomatik başlangıç doğrulama isteklerini yeniden denemeden önceki bekleme süresi. - `textChunkLimit`: karakter cinsinden giden mesaj parça boyutu (`chunkMode`, `length` olduğunda uygulanır). - `chunkMode`: `length`, mesajları karakter sayısına göre böler; `newline`, satır sınırlarında böler. -- `responsePrefix`: bu kanal için tüm giden yanıtlara eklenen isteğe bağlı dize. -- `ackReaction`: bu kanal/hesap için isteğe bağlı ack tepki geçersiz kılması. -- `ackReactionScope`: isteğe bağlı ack tepki kapsamı geçersiz kılması (`group-mentions`, `group-all`, `direct`, `all`, `none`, `off`). +- `responsePrefix`: bu kanal için tüm giden yanıtların başına eklenen isteğe bağlı dize. +- `ackReaction`: bu kanal/hesap için isteğe bağlı ack tepki override'ı. +- `ackReactionScope`: isteğe bağlı ack tepki kapsamı override'ı (`group-mentions`, `group-all`, `direct`, `all`, `none`, `off`). - `reactionNotifications`: gelen tepki bildirim modu (`own`, `off`). - `mediaMaxMb`: giden gönderimler ve gelen medya işleme için MB cinsinden medya boyutu üst sınırı. -- `autoJoin`: davet otomatik katılım ilkesi (`always`, `allowlist`, `off`). Varsayılan: `off`. DM tarzı davetler dahil tüm Matrix davetleri için geçerlidir. -- `autoJoinAllowlist`: `autoJoin`, `allowlist` olduğunda izin verilen odalar/takma adlar. Takma ad girdileri davet işleme sırasında oda kimliklerine çözülür; OpenClaw, davet edilen oda tarafından bildirilen takma ad durumuna güvenmez. +- `autoJoin`: davet otomatik katılım ilkesi (`always`, `allowlist`, `off`). Varsayılan: `off`. DM tarzı davetler dahil tüm Matrix davetlerine uygulanır. +- `autoJoinAllowlist`: `autoJoin`, `allowlist` olduğunda izin verilen odalar/takma adlar. Takma ad girişleri davet işleme sırasında oda kimliklerine çözümlenir; OpenClaw davet edilen odanın iddia ettiği takma ad durumuna güvenmez. - `dm`: DM ilke bloğu (`enabled`, `policy`, `allowFrom`, `sessionScope`, `threadReplies`). -- `dm.policy`: OpenClaw odaya katılıp onu DM olarak sınıflandırdıktan sonra DM erişimini kontrol eder. Bir davetin otomatik katılıp katılınmayacağını değiştirmez. -- `dm.allowFrom`: girdiler, siz bunları canlı dizin aramasıyla zaten çözümlemediyseniz tam Matrix kullanıcı kimlikleri olmalıdır. -- `dm.sessionScope`: `per-user` (varsayılan) veya `per-room`. Eş aynı olsa bile her Matrix DM odasının ayrı bağlam korumasını istiyorsanız `per-room` kullanın. -- `dm.threadReplies`: yalnızca DM'lere yönelik iş parçacığı ilkesi geçersiz kılması (`off`, `inbound`, `always`). Hem yanıt yerleşimi hem de DM'lerde oturum izolasyonu için üst düzey `threadReplies` ayarını geçersiz kılar. -- `execApprovals`: Matrix'e özgü yerel exec onayı teslimatı (`enabled`, `approvers`, `target`, `agentFilter`, `sessionFilter`). -- `execApprovals.approvers`: exec isteklerini onaylamasına izin verilen Matrix kullanıcı kimlikleri. `dm.allowFrom` zaten onaylayanları tanımlıyorsa isteğe bağlıdır. +- `dm.policy`: OpenClaw odaya katıldıktan ve onu bir DM olarak sınıflandırdıktan sonra DM erişimini denetler. Bir davetin otomatik olarak katılıp katılmayacağını değiştirmez. +- `dm.allowFrom`: girişler, siz bunları canlı dizin aramasıyla zaten çözümlemediyseniz tam Matrix kullanıcı kimlikleri olmalıdır. +- `dm.sessionScope`: `per-user` (varsayılan) veya `per-room`. Aynı eş kullanıcı olsa bile her Matrix DM odasının ayrı bağlam tutmasını istiyorsanız `per-room` kullanın. +- `dm.threadReplies`: yalnızca DM için thread ilke override'ı (`off`, `inbound`, `always`). Hem yanıt yerleşimi hem de DM'lerde oturum yalıtımı için üst düzey `threadReplies` ayarını override eder. +- `execApprovals`: Matrix yerel exec onay teslimi (`enabled`, `approvers`, `target`, `agentFilter`, `sessionFilter`). +- `execApprovals.approvers`: exec isteklerini onaylamasına izin verilen Matrix kullanıcı kimlikleri. `dm.allowFrom` onaylayıcıları zaten tanımlıyorsa isteğe bağlıdır. - `execApprovals.target`: `dm | channel | both` (varsayılan: `dm`). -- `accounts`: adlandırılmış hesap başına geçersiz kılmalar. Üst düzey `channels.matrix` değerleri bu girdiler için varsayılan görevi görür. +- `accounts`: hesap başına adlandırılmış override'lar. Üst düzey `channels.matrix` değerleri bu girişler için varsayılan olarak davranır. - `groups`: oda başına ilke eşlemesi. Oda kimliklerini veya takma adları tercih edin; çözümlenmemiş oda adları çalışma zamanında yok sayılır. Oturum/grup kimliği çözümlemeden sonra kararlı oda kimliğini kullanır. -- `groups..account`: çok hesaplı kurulumlarda tek bir devralınmış oda girdisini belirli bir Matrix hesabıyla sınırlar. -- `groups..allowBots`: yapılandırılmış bot göndericileri için oda düzeyinde geçersiz kılma (`true` veya `"mentions"`). -- `groups..users`: oda başına gönderici allowlist'i. -- `groups..tools`: oda başına araç izin/verme veya reddetme geçersiz kılmaları. -- `groups..autoReply`: oda düzeyinde mention geçitleme geçersiz kılması. `true`, o oda için mention gereksinimlerini devre dışı bırakır; `false`, bunları yeniden zorunlu kılar. -- `groups..skills`: isteğe bağlı oda düzeyinde Skills filtresi. -- `groups..systemPrompt`: isteğe bağlı oda düzeyinde system prompt parçacığı. +- `groups..account`: çok hesaplı kurulumlarda devralınan bir oda girişini belirli bir Matrix hesabıyla sınırlar. +- `groups..allowBots`: yapılandırılmış bot gönderenler için oda düzeyi override (`true` veya `"mentions"`). +- `groups..users`: oda başına gönderen allowlist'i. +- `groups..tools`: oda başına araç izin/verme veya engelleme override'ları. +- `groups..autoReply`: oda düzeyi mention denetimi override'ı. `true`, o oda için mention gereksinimlerini devre dışı bırakır; `false`, bunları yeniden zorunlu kılar. +- `groups..skills`: isteğe bağlı oda düzeyi beceri filtresi. +- `groups..systemPrompt`: isteğe bağlı oda düzeyi sistem istemi parçacığı. - `rooms`: `groups` için eski takma ad. -- `actions`: eylem başına araç geçitleme (`messages`, `reactions`, `pins`, `profile`, `memberInfo`, `channelInfo`, `verification`). +- `actions`: eylem başına araç denetimi (`messages`, `reactions`, `pins`, `profile`, `memberInfo`, `channelInfo`, `verification`). ## İlgili - [Channels Overview](/tr/channels) — desteklenen tüm kanallar -- [Pairing](/tr/channels/pairing) — DM kimlik doğrulaması ve pairing akışı -- [Groups](/tr/channels/groups) — grup sohbeti davranışı ve mention geçitleme +- [Pairing](/tr/channels/pairing) — DM kimlik doğrulama ve pairing akışı +- [Groups](/tr/channels/groups) — grup sohbeti davranışı ve mention denetimi - [Channel Routing](/tr/channels/channel-routing) — mesajlar için oturum yönlendirmesi - [Security](/tr/gateway/security) — erişim modeli ve sağlamlaştırma diff --git a/docs/tr/concepts/system-prompt.md b/docs/tr/concepts/system-prompt.md index ec9ff1a45..556c188d0 100644 --- a/docs/tr/concepts/system-prompt.md +++ b/docs/tr/concepts/system-prompt.md @@ -1,103 +1,81 @@ --- read_when: - - Sistem istemi metnini, araç listesini veya zaman/heartbeat bölümlerini düzenleme - - Çalışma alanı önyükleme işlemini veya Skills ekleme davranışını değiştirme -summary: OpenClaw sistem isteminin neler içerdiği ve nasıl bir araya getirildiği + - Sistem istemi metnini, araçlar listesini ya da zaman/heartbeat bölümlerini düzenleme + - Çalışma alanı önyüklemesini veya Skills ekleme davranışını değiştirme +summary: OpenClaw sistem isteminin neler içerdiği ve nasıl oluşturulduğu title: Sistem İstemi x-i18n: - generated_at: "2026-04-12T08:32:52Z" + generated_at: "2026-04-15T19:41:48Z" model: gpt-5.4 provider: openai - source_hash: 057f01aac51f7737b5223f61f5d55e552d9011232aebb130426e269d8f6c257f + source_hash: c740e4646bc4980567338237bfb55126af0df72499ca00a48e4848d9a3608ab4 source_path: concepts/system-prompt.md workflow: 15 --- # Sistem İstemi -OpenClaw, her agent çalıştırması için özel bir sistem istemi oluşturur. Bu istem **OpenClaw tarafından sahiplenilir** ve pi-coding-agent varsayılan istemini kullanmaz. +OpenClaw, her ajan çalıştırması için özel bir sistem istemi oluşturur. Bu istem **OpenClaw tarafından sahiplenilir** ve pi-coding-agent varsayılan istemini kullanmaz. -İstem, OpenClaw tarafından bir araya getirilir ve her agent çalıştırmasına enjekte edilir. +İstem, OpenClaw tarafından oluşturulur ve her ajan çalıştırmasına enjekte edilir. -Sağlayıcı eklentileri, OpenClaw’a ait tam istemin yerini almadan önbellek farkındalığına sahip istem yönlendirmeleri ekleyebilir. Sağlayıcı çalışma zamanı şunları yapabilir: +Sağlayıcı Plugin'leri, tam OpenClaw sahipli istemi değiştirmeden önbellek farkında istem yönlendirmesi sağlayabilir. Sağlayıcı çalışma zamanı şunları yapabilir: -- adlandırılmış az sayıda çekirdek bölümü değiştirebilir (`interaction_style`, +- adlandırılmış az sayıdaki çekirdek bölümü değiştirebilir (`interaction_style`, `tool_call_style`, `execution_bias`) -- istem önbelleği sınırının üstüne **kararlı bir önek** enjekte edebilir +- istem önbelleği sınırının üzerine **kararlı bir önek** enjekte edebilir - istem önbelleği sınırının altına **dinamik bir sonek** enjekte edebilir -Model ailesine özgü ayarlar için sağlayıcıya ait katkıları kullanın. Eski -`before_prompt_build` istem mutasyonunu uyumluluk veya gerçekten genel istem -değişiklikleri için saklayın; normal sağlayıcı davranışı için değil. +Model ailesine özgü ayarlamalar için sağlayıcıya ait katkıları kullanın. Eski +`before_prompt_build` istem mutasyonunu, normal sağlayıcı davranışı için değil, +uyumluluk veya gerçekten genel istem değişiklikleri için koruyun. ## Yapı -İstem bilerek kompakt tutulur ve sabit bölümler kullanır: +İstem bilinçli olarak kompakt tutulur ve sabit bölümler kullanır: -- **Araçlar**: yapılandırılmış araçlar için doğruluk kaynağı hatırlatması ve çalışma zamanı araç kullanımı yönlendirmesi. -- **Güvenlik**: güç peşinde koşan davranışlardan veya denetimi aşmaktan kaçınmak için kısa koruma hatırlatması. -- **Skills** (varsa): modele gerektiğinde skill yönergelerini nasıl yükleyeceğini söyler. -- **OpenClaw Self-Update**: yapılandırmayı - `config.schema.lookup` ile güvenli biçimde nasıl inceleyeceği, yapılandırmayı `config.patch` ile nasıl yamalayacağı, tam yapılandırmayı - `config.apply` ile nasıl değiştireceği ve `update.run` komutunu yalnızca - açık kullanıcı isteğiyle nasıl çalıştıracağı. Yalnızca sahip için kullanılabilen `gateway` aracı ayrıca - `tools.exec.ask` / `tools.exec.security` yeniden yazmayı da reddeder; buna bu korumalı exec yollarına normalize edilen eski `tools.bash.*` - takma adları da dahildir. -- **Çalışma Alanı**: çalışma dizini (`agents.defaults.workspace`). -- **Belgeler**: OpenClaw belgelerine giden yerel yol (repo veya npm paketi) ve bunların ne zaman okunacağı. -- **Çalışma Alanı Dosyaları (enjekte edilir)**: önyükleme dosyalarının aşağıya dahil edildiğini belirtir. -- **Korumalı Alan** (etkin olduğunda): korumalı çalışma zamanını, korumalı alan yollarını ve yükseltilmiş exec kullanılabilirliğini belirtir. -- **Geçerli Tarih ve Saat**: kullanıcı yerel saati, saat dilimi ve saat biçimi. -- **Yanıt Etiketleri**: desteklenen sağlayıcılar için isteğe bağlı yanıt etiketi sözdizimi. -- **Heartbeat’ler**: varsayılan agent için heartbeat’ler etkin olduğunda heartbeat istemi ve onay davranışı. -- **Çalışma Zamanı**: ana makine, işletim sistemi, node, model, repo kökü (algılandığında), düşünme düzeyi (tek satır). -- **Akıl Yürütme**: geçerli görünürlük düzeyi + /reasoning geçiş ipucu. +- **Araçlar**: yapılandırılmış araçlar için kaynak gerçeklik hatırlatması ve çalışma zamanı araç kullanımı yönlendirmesi. +- **Güvenlik**: güç peşinde koşan davranışlardan veya denetimi atlamaktan kaçınmak için kısa koruma hatırlatması. +- **Skills** (mevcut olduğunda): modele, ihtiyaç halinde skill talimatlarını nasıl yükleyeceğini söyler. +- **OpenClaw Self-Update**: yapılandırmayı `config.schema.lookup` ile güvenli biçimde nasıl inceleyeceği, yapılandırmayı `config.patch` ile nasıl yamalayacağı, tam yapılandırmayı `config.apply` ile nasıl değiştireceği ve `update.run` komutunu yalnızca kullanıcı açıkça isterse nasıl çalıştıracağı. Yalnızca sahipte kullanılabilen `gateway` aracı ayrıca, korunan exec yollarına normalize edilen eski `tools.bash.*` takma adları dahil olmak üzere `tools.exec.ask` / `tools.exec.security` değerlerini yeniden yazmayı reddeder. +- **Workspace**: çalışma dizini (`agents.defaults.workspace`). +- **Documentation**: OpenClaw belgelerinin yerel yolu (repo veya npm paketi) ve bunların ne zaman okunacağı. +- **Workspace Files (injected)**: önyükleme dosyalarının aşağıda dahil edildiğini belirtir. +- **Sandbox** (etkin olduğunda): sandbox'lı çalışma zamanını, sandbox yollarını ve yükseltilmiş exec kullanımının mevcut olup olmadığını belirtir. +- **Current Date & Time**: kullanıcı yerel saati, saat dilimi ve saat biçimi. +- **Reply Tags**: desteklenen sağlayıcılar için isteğe bağlı yanıt etiketi sözdizimi. +- **Heartbeats**: varsayılan ajan için heartbeat etkin olduğunda heartbeat istemi ve onay davranışı. +- **Runtime**: host, işletim sistemi, node, model, repo kökü (tespit edildiğinde), düşünme seviyesi (tek satır). +- **Reasoning**: geçerli görünürlük seviyesi + `/reasoning` geçiş ipucu. -Araçlar bölümü ayrıca uzun süren işler için çalışma zamanı yönlendirmeleri de içerir: +Araçlar bölümü ayrıca uzun süren işler için çalışma zamanı yönlendirmesi de içerir: -- gelecekteki takip işlemleri için cron kullanın (`daha sonra tekrar kontrol et`, hatırlatmalar, yinelenen işler); - `exec` uyku döngüleri, `yieldMs` gecikme hileleri veya yinelenen `process` - yoklaması yerine -- `exec` / `process` araçlarını yalnızca şimdi başlayan ve arka planda - çalışmayı sürdüren komutlar için kullanın -- otomatik tamamlanma uyandırması etkin olduğunda, komutu bir kez başlatın ve - çıktı ürettiğinde veya başarısız olduğunda itme tabanlı uyandırma yoluna güvenin +- gelecekteki takipler için (`daha sonra tekrar kontrol et`, hatırlatmalar, yinelenen işler) `exec` uyku döngüleri, `yieldMs` gecikme hileleri veya tekrarlanan `process` yoklaması yerine cron kullanın +- `exec` / `process` yalnızca şimdi başlayan ve arka planda çalışmaya devam eden komutlar için kullanın +- otomatik tamamlanma uyandırması etkinse, komutu bir kez başlatın ve çıktı verdiğinde veya başarısız olduğunda push tabanlı uyandırma yoluna güvenin - çalışan bir komutu incelemeniz gerektiğinde günlükler, durum, girdi veya müdahale için `process` kullanın -- görev daha büyükse `sessions_spawn` tercih edin; alt agent tamamlanması - itme tabanlıdır ve istekte bulunana otomatik olarak duyurulur -- yalnızca tamamlanmayı beklemek için `subagents list` / `sessions_list` araçlarını döngü içinde yoklamayın +- görev daha büyükse, `sessions_spawn` tercih edin; alt ajan tamamlanması push tabanlıdır ve istekte bulunana otomatik olarak bildirilir +- yalnızca tamamlanmayı beklemek için döngü içinde `subagents list` / `sessions_list` yoklaması yapmayın -Deneysel `update_plan` aracı etkin olduğunda, Araçlar bölümü modele ayrıca -bunu yalnızca önemsiz olmayan çok adımlı işler için kullanmasını, tam olarak bir -`in_progress` adımı tutmasını ve her güncellemeden sonra tüm planı -tekrarlamaktan kaçınmasını söyler. +Deneysel `update_plan` aracı etkin olduğunda, Araçlar bölümü ayrıca modele bunu yalnızca önemsiz olmayan çok adımlı işler için kullanmasını, tam olarak bir `in_progress` adımı tutmasını ve her güncellemeden sonra tüm planı tekrarlamaktan kaçınmasını söyler. -Sistem istemindeki güvenlik korumaları tavsiye niteliğindedir. Model davranışını yönlendirirler ancak politikayı zorla uygulatmazlar. Kesin uygulama için araç politikası, exec onayları, korumalı alan ve kanal izin listelerini kullanın; operatörler tasarım gereği bunları devre dışı bırakabilir. +Sistem istemindeki güvenlik korumaları yönlendiricidir. Model davranışına rehberlik ederler ancak politikayı zorunlu kılmazlar. Sıkı uygulama için araç politikasını, exec onaylarını, sandboxing'i ve kanal izin listelerini kullanın; operatörler bunları tasarım gereği devre dışı bırakabilir. -Yerel onay kartları/düğmeleri bulunan kanallarda, çalışma zamanı istemi artık -agent’e önce bu yerel onay arayüzüne güvenmesini söyler. Yalnızca araç sonucu sohbet içi onayların kullanılamadığını veya -tek yolun manuel onay olduğunu belirtiyorsa elle yazılan bir -`/approve` komutu eklemelidir. +Yerel onay kartları/düğmeleri olan kanallarda, çalışma zamanı istemi artık ajana önce bu yerel onay arayüzüne güvenmesini söyler. Yalnızca araç sonucu sohbet içi onayların kullanılamadığını veya tek yolun manuel onay olduğunu söylediğinde manuel bir `/approve` komutu eklemelidir. -## İstem modları +## İstem kipleri -OpenClaw, alt agent’ler için daha küçük sistem istemleri oluşturabilir. Çalışma zamanı her çalıştırma için bir -`promptMode` ayarlar (kullanıcıya dönük bir yapılandırma değildir): +OpenClaw, alt ajanlar için daha küçük sistem istemleri oluşturabilir. Çalışma zamanı her çalıştırma için bir `promptMode` ayarlar (kullanıcıya açık bir yapılandırma değildir): - `full` (varsayılan): yukarıdaki tüm bölümleri içerir. -- `minimal`: alt agent’ler için kullanılır; **Skills**, **Memory Recall**, **OpenClaw - Self-Update**, **Model Aliases**, **User Identity**, **Reply Tags**, - **Messaging**, **Silent Replies** ve **Heartbeats** bölümlerini çıkarır. Araçlar, **Güvenlik**, - Çalışma Alanı, Korumalı Alan, Geçerli Tarih ve Saat (biliniyorsa), Çalışma Zamanı ve enjekte edilen - bağlam kullanılabilir olmaya devam eder. +- `minimal`: alt ajanlar için kullanılır; **Skills**, **Memory Recall**, **OpenClaw Self-Update**, **Model Aliases**, **User Identity**, **Reply Tags**, **Messaging**, **Silent Replies** ve **Heartbeats** bölümlerini çıkarır. Araçlar, **Güvenlik**, Workspace, Sandbox, Current Date & Time (biliniyorsa), Runtime ve enjekte edilen bağlam kullanılabilir olmaya devam eder. - `none`: yalnızca temel kimlik satırını döndürür. -`promptMode=minimal` olduğunda, ek enjekte edilen istemler **Group Chat Context** yerine **Subagent -Context** olarak etiketlenir. +`promptMode=minimal` olduğunda, fazladan enjekte edilen istemler **Group Chat Context** yerine **Subagent Context** olarak etiketlenir. -## Çalışma alanı önyükleme enjeksiyonu +## Workspace önyükleme ekleme işlemi -Önyükleme dosyaları kırpılır ve **Project Context** altında eklenir; böylece model, açık okuma gerektirmeden kimlik ve profil bağlamını görür: +Önyükleme dosyaları kırpılır ve **Project Context** altında eklenir; böylece model, açıkça okuma gerektirmeden kimlik ve profil bağlamını görür: - `AGENTS.md` - `SOUL.md` @@ -106,66 +84,51 @@ Context** olarak etiketlenir. - `USER.md` - `HEARTBEAT.md` - `BOOTSTRAP.md` (yalnızca yepyeni çalışma alanlarında) -- varsa `MEMORY.md`, yoksa küçük harfli geri dönüş olarak `memory.md` +- varsa `MEMORY.md`, yoksa küçük harfli yedek olarak `memory.md` -Bu dosyaların tümü, dosyaya özgü bir geçit uygulanmadığı sürece, her turda **bağlam penceresine enjekte edilir**. -`HEARTBEAT.md`, normal çalıştırmalarda heartbeat’ler varsayılan agent için devre dışıysa veya -`agents.defaults.heartbeat.includeSystemPromptSection` false ise -çıkarılır. Enjekte edilen dosyaları kısa tutun — özellikle zamanla büyüyebilen ve -beklenmedik ölçüde yüksek bağlam kullanımına ve daha sık sıkıştırmaya yol açabilen `MEMORY.md` dosyasını. +Bu dosyaların tümü, dosyaya özel bir geçit uygulanmadığı sürece, her turda **bağlam penceresine enjekte edilir**. `HEARTBEAT.md`, varsayılan ajan için heartbeat devre dışıysa veya `agents.defaults.heartbeat.includeSystemPromptSection` false ise normal çalıştırmalarda çıkarılır. Enjekte edilen dosyaları kısa tutun — özellikle zaman içinde büyüyebilen ve beklenmedik derecede yüksek bağlam kullanımına ve daha sık Compaction işlemine yol açabilen `MEMORY.md` dosyasını. > **Not:** `memory/*.md` günlük dosyaları, normal önyükleme -> Project Context’in parçası **değildir**. Normal turlarda bunlara -> `memory_search` ve `memory_get` araçları aracılığıyla ihtiyaç halinde erişilir; bu nedenle model bunları açıkça okumadıkça -> bağlam penceresine dahil olmazlar. Salt `/new` ve -> `/reset` turları istisnadır: çalışma zamanı, bu ilk tur için -> son günlük belleği tek seferlik bir başlangıç bağlamı bloğu olarak öne ekleyebilir. +> Project Context parçası **değildir**. Normal turlarda bunlara +> `memory_search` ve `memory_get` araçları aracılığıyla ihtiyaç üzerine erişilir; bu nedenle model bunları açıkça okumadıkça +> bağlam penceresinden pay almazlar. Çıplak `/new` ve +> `/reset` turları istisnadır: çalışma zamanı ilk tur için +> yakın tarihli günlük belleği tek seferlik bir başlangıç bağlamı bloğu olarak öne ekleyebilir. -Büyük dosyalar bir işaretleyiciyle kırpılır. Dosya başına azami boyut -`agents.defaults.bootstrapMaxChars` tarafından kontrol edilir (varsayılan: 20000). Dosyalar arasında enjekte edilen toplam önyükleme -içeriği `agents.defaults.bootstrapTotalMaxChars` -tarafından sınırlandırılır (varsayılan: 150000). Eksik dosyalar kısa bir eksik-dosya işaretleyicisi enjekte eder. Kırpma -olduğunda OpenClaw, Project Context içine bir uyarı bloğu enjekte edebilir; bunu +Büyük dosyalar bir işaretleyici ile kesilir. Dosya başına maksimum boyut +`agents.defaults.bootstrapMaxChars` tarafından kontrol edilir (varsayılan: 20000). Dosyalar genelinde enjekte edilen toplam önyükleme içeriği +`agents.defaults.bootstrapTotalMaxChars` ile sınırlandırılır +(varsayılan: 150000). Eksik dosyalar kısa bir eksik dosya işaretleyicisi enjekte eder. Kesilme olduğunda, OpenClaw Project Context içinde bir uyarı bloğu enjekte edebilir; bunu `agents.defaults.bootstrapPromptTruncationWarning` ile kontrol edin (`off`, `once`, `always`; varsayılan: `once`). -Alt agent oturumları yalnızca `AGENTS.md` ve `TOOLS.md` enjekte eder (diğer önyükleme dosyaları -alt agent bağlamını küçük tutmak için filtrelenir). +Alt ajan oturumları yalnızca `AGENTS.md` ve `TOOLS.md` enjekte eder (alt ajan bağlamını küçük tutmak için diğer önyükleme dosyaları filtrelenir). -İç hook’lar bu adımı `agent:bootstrap` aracılığıyla durdurup enjekte edilen önyükleme dosyalarını değiştirebilir veya -yerine koyabilir (örneğin `SOUL.md` yerine alternatif bir persona kullanmak gibi). +Dahili hook'lar bu adımı `agent:bootstrap` üzerinden yakalayarak enjekte edilen önyükleme dosyalarını değiştirebilir veya değiştirilmiş sürümleriyle değiştirebilir (örneğin `SOUL.md` yerine alternatif bir persona kullanmak gibi). -Agent’in daha az genel duyulmasını istiyorsanız, başlangıç noktası olarak -[SOUL.md Personality Guide](/tr/concepts/soul) belgesini kullanın. +Ajanın daha az genel duyulmasını istiyorsanız, +[SOUL.md Personality Guide](/tr/concepts/soul) ile başlayın. -Her enjekte edilen dosyanın ne kadar katkı yaptığını incelemek için (ham ve enjekte edilen boyut, kırpma ve araç şeması ek yükü dahil), `/context list` veya `/context detail` kullanın. Bkz. [Context](/tr/concepts/context). +Her enjekte edilen dosyanın ne kadar katkıda bulunduğunu (ham ve enjekte edilen, kesilme, ayrıca araç şeması ek yükü) incelemek için `/context list` veya `/context detail` kullanın. Bkz. [Context](/tr/concepts/context). ## Zaman işleme -Kullanıcı saat dilimi biliniyorsa sistem istemi özel bir **Geçerli Tarih ve Saat** bölümü içerir. -İstem önbelleğini kararlı tutmak için artık yalnızca **saat dilimini** içerir (dinamik saat veya saat biçimi yoktur). +Sistem istemi, kullanıcı saat dilimi bilindiğinde özel bir **Current Date & Time** bölümü içerir. İstem önbelleğini kararlı tutmak için artık yalnızca **saat dilimini** içerir (dinamik saat veya saat biçimi yoktur). -Agent’in geçerli saati bilmesi gerektiğinde `session_status` kullanın; durum kartı -bir zaman damgası satırı içerir. Aynı araç isteğe bağlı olarak oturum başına bir model -geçersiz kılma da ayarlayabilir (`model=default` bunu temizler). +Ajanın geçerli saati bilmesi gerektiğinde `session_status` kullanın; durum kartı bir zaman damgası satırı içerir. Aynı araç isteğe bağlı olarak oturum başına model geçersiz kılma da ayarlayabilir (`model=default` bunu temizler). Şunlarla yapılandırın: - `agents.defaults.userTimezone` - `agents.defaults.timeFormat` (`auto` | `12` | `24`) -Davranışın tüm ayrıntıları için bkz. [Date & Time](/tr/date-time). +Tam davranış ayrıntıları için bkz. [Date & Time](/tr/date-time). ## Skills -Uygun skill’ler mevcut olduğunda OpenClaw, her skill için **dosya yolunu** içeren kompakt bir **kullanılabilir skill listesi** -(`formatSkillsForPrompt`) enjekte eder. İstem, modele listelenen -konumdaki SKILL.md dosyasını yüklemek için `read` kullanmasını söyler (çalışma alanı, yönetilen veya paketlenmiş). Uygun skill yoksa -Skills bölümü çıkarılır. +Uygun Skills mevcut olduğunda, OpenClaw her skill için **dosya yolunu** içeren kompakt bir **kullanılabilir skills listesi** (`formatSkillsForPrompt`) enjekte eder. İstem, modele listelenen konumdaki SKILL.md dosyasını yüklemek için `read` kullanmasını söyler (workspace, yönetilen veya paketlenmiş). Uygun skill yoksa Skills bölümü çıkarılır. -Uygunluk; skill meta veri geçitlerini, çalışma zamanı ortamı/yapılandırma kontrollerini -ve `agents.defaults.skills` veya -`agents.list[].skills` yapılandırıldığında etkin agent skill izin listesini içerir. +Uygunluk; skill meta veri geçitlerini, çalışma zamanı ortamı/yapılandırma kontrollerini ve `agents.defaults.skills` veya `agents.list[].skills` yapılandırıldığında etkin ajan skill izin listesini içerir. ``` @@ -177,13 +140,20 @@ ve `agents.defaults.skills` veya ``` -Bu, hedefe yönelik skill kullanımını yine de mümkün kılarken temel istemi küçük tutar. +Bu, temel istemi küçük tutarken hedefli skill kullanımını yine de mümkün kılar. + +Skills listesi bütçesi Skills alt sistemi tarafından yönetilir: + +- Genel varsayılan: `skills.limits.maxSkillsPromptChars` +- Ajan başına geçersiz kılma: `agents.list[].skillsLimits.maxSkillsPromptChars` + +Genel sınırlı çalışma zamanı alıntıları farklı bir yüzey kullanır: + +- `agents.defaults.contextLimits.*` +- `agents.list[].contextLimits.*` + +Bu ayrım, Skills boyutlandırmasını `memory_get`, canlı araç sonuçları ve Compaction sonrası AGENTS.md yenilemeleri gibi çalışma zamanı okuma/ekleme boyutlandırmasından ayrı tutar. ## Belgeler -Mevcut olduğunda sistem istemi, yerel OpenClaw belgeleri dizinine işaret eden bir **Belgeler** bölümü içerir -(repo çalışma alanındaki `docs/` veya paketlenmiş npm -paketi belgeleri) ve ayrıca herkese açık yansıyı, kaynak repo’yu, topluluk Discord’unu ve -skill keşfi için ClawHub’ı ([https://clawhub.ai](https://clawhub.ai)) belirtir. İstem, modelin OpenClaw davranışı, komutlar, yapılandırma veya mimari için -önce yerel belgelere başvurmasını ve mümkün olduğunda -`openclaw status` komutunu kendisinin çalıştırmasını söyler (erişimi olmadığında yalnızca kullanıcıya sorar). +Mevcut olduğunda, sistem istemi yerel OpenClaw belge dizinine işaret eden bir **Documentation** bölümü içerir (repo çalışma alanındaki `docs/` veya paketlenmiş npm paketi belgeleri) ve ayrıca genel aynayı, kaynak repoyu, topluluk Discord sunucusunu ve Skills keşfi için ClawHub'ı ([https://clawhub.ai](https://clawhub.ai)) belirtir. İstem, modele OpenClaw davranışı, komutlar, yapılandırma veya mimari için önce yerel belgelere başvurmasını ve mümkün olduğunda `openclaw status` komutunu kendisinin çalıştırmasını (erişimi yoksa yalnızca kullanıcıya sormasını) söyler. diff --git a/docs/tr/gateway/configuration-reference.md b/docs/tr/gateway/configuration-reference.md index b059d7cf2..e52943d88 100644 --- a/docs/tr/gateway/configuration-reference.md +++ b/docs/tr/gateway/configuration-reference.md @@ -1,70 +1,70 @@ --- read_when: - - Tam alan düzeyinde yapılandırma anlamlarına veya varsayılanlarına ihtiyacınız var + - Tam alan düzeyinde yapılandırma semantiğine veya varsayılanlara ihtiyacınız var - Kanal, model, Gateway veya araç yapılandırma bloklarını doğruluyorsunuz -summary: Çekirdek OpenClaw anahtarları, varsayılanlar ve özel alt sistem referanslarına bağlantılar için Gateway yapılandırma referansı -title: Yapılandırma Referansı +summary: Temel OpenClaw anahtarları, varsayılanlar ve özel alt sistem başvurularına bağlantılar için Gateway yapılandırma başvurusu +title: Yapılandırma Başvurusu x-i18n: - generated_at: "2026-04-15T14:40:31Z" + generated_at: "2026-04-15T19:41:49Z" model: gpt-5.4 provider: openai - source_hash: 7a4da3b41d0304389bd6359aac1185c231e529781b607656ab352f8a8104bdba + source_hash: 2bdb0f3e56e4a4d767fb4d6150526ae9b3926ef5b213b458001f41d02762436d source_path: gateway/configuration-reference.md workflow: 15 --- -# Yapılandırma Referansı +# Yapılandırma Başvurusu -`~/.openclaw/openclaw.json` için çekirdek yapılandırma referansı. Görev odaklı bir genel bakış için bkz. [Yapılandırma](/tr/gateway/configuration). +`~/.openclaw/openclaw.json` için temel yapılandırma başvurusu. Görev odaklı bir genel bakış için bkz. [Configuration](/tr/gateway/configuration). -Bu sayfa, ana OpenClaw yapılandırma yüzeylerini kapsar ve bir alt sistemin kendi daha derin referansı olduğunda ilgili bağlantılara yönlendirir. Her kanalın/plugin sahipli komut kataloğunu veya her derin bellek/QMD ayarını tek bir sayfada satır içine almaya çalışmaz. +Bu sayfa, ana OpenClaw yapılandırma yüzeylerini kapsar ve bir alt sistemin kendine ait daha derin bir başvurusu olduğunda ilgili yerlere bağlantı verir. **Her** kanal/Plugin sahipli komut kataloğunu veya her derin bellek/QMD ayarını tek bir sayfada satır içi vermeyi amaçlamaz. -Kod gerçekliği: +Kod gerçeği: -- `openclaw config schema`, doğrulama ve Control UI için kullanılan canlı JSON Şemasını yazdırır; kullanılabilir olduğunda bundled/plugin/channel meta verileri bununla birleştirilir +- `openclaw config schema`, doğrulama ve Control UI için kullanılan canlı JSON Şemasını yazdırır; uygun olduğunda bundled/Plugin/kanal meta verileri birleştirilmiş olarak gelir - `config.schema.lookup`, ayrıntılı inceleme araçları için yol kapsamlı tek bir şema düğümü döndürür -- `pnpm config:docs:check` / `pnpm config:docs:gen`, yapılandırma belge temel hash’ini mevcut şema yüzeyine karşı doğrular +- `pnpm config:docs:check` / `pnpm config:docs:gen`, yapılandırma belge taban çizgisi hash'ini mevcut şema yüzeyine karşı doğrular -Ayrılmış derin referanslar: +Özel derin başvurular: -- `agents.defaults.memorySearch.*`, `memory.qmd.*`, `memory.citations` ve `plugins.entries.memory-core.config.dreaming` altındaki dreaming yapılandırması için [Bellek yapılandırma referansı](/tr/reference/memory-config) -- Güncel yerleşik + bundled komut kataloğu için [Slash Komutları](/tr/tools/slash-commands) -- kanala özgü komut yüzeyleri için ilgili kanal/plugin sayfaları +- `agents.defaults.memorySearch.*`, `memory.qmd.*`, `memory.citations` ve `plugins.entries.memory-core.config.dreaming` altındaki dreaming yapılandırması için [Memory configuration reference](/tr/reference/memory-config) +- Güncel built-in + bundled komut kataloğu için [Slash Commands](/tr/tools/slash-commands) +- Kanala özgü komut yüzeyleri için ilgili kanal/Plugin sayfaları -Yapılandırma biçimi **JSON5**’tir (yorumlara + sondaki virgüllere izin verilir). Tüm alanlar isteğe bağlıdır — OpenClaw, atlandıklarında güvenli varsayılanlar kullanır. +Yapılandırma biçimi **JSON5**'tir (yorumlara + sonlandırıcı virgüllere izin verilir). Tüm alanlar isteğe bağlıdır — OpenClaw atlandıklarında güvenli varsayılanları kullanır. --- ## Kanallar -Her kanal, yapılandırma bölümü mevcut olduğunda otomatik olarak başlar (`enabled: false` olmadığı sürece). +Her kanal, yapılandırma bölümü mevcut olduğunda otomatik olarak başlar (`enabled: false` değilse). ### DM ve grup erişimi Tüm kanallar DM ilkelerini ve grup ilkelerini destekler: -| DM ilkesi | Davranış | -| ------------------- | ------------------------------------------------------------- | -| `pairing` (varsayılan) | Bilinmeyen göndericiler tek kullanımlık bir eşleştirme kodu alır; sahibin onaylaması gerekir | -| `allowlist` | Yalnızca `allowFrom` içindeki (veya eşleştirilmiş izin deposundaki) göndericiler | -| `open` | Tüm gelen DM’lere izin ver ( `allowFrom: ["*"]` gerektirir ) | -| `disabled` | Tüm gelen DM’leri yok say | +| DM ilkesi | Davranış | +| -------------------- | -------------------------------------------------------------- | +| `pairing` (varsayılan) | Bilinmeyen göndericiler tek seferlik bir eşleştirme kodu alır; sahibi onaylamalıdır | +| `allowlist` | Yalnızca `allowFrom` içindeki göndericiler (veya eşleştirilmiş izin deposu) | +| `open` | Tüm gelen DM'lere izin ver (şunu gerektirir: `allowFrom: ["*"]`) | +| `disabled` | Tüm gelen DM'leri yok say | -| Grup ilkesi | Davranış | -| --------------------- | ---------------------------------------------------- | +| Grup ilkesi | Davranış | +| -------------------- | ----------------------------------------------------- | | `allowlist` (varsayılan) | Yalnızca yapılandırılmış izin listesiyle eşleşen gruplar | -| `open` | Grup izin listelerini atla (mention-gating yine de uygulanır) | -| `disabled` | Tüm grup/oda mesajlarını engelle | +| `open` | Grup izin listelerini atla (mention-gating yine de uygulanır) | +| `disabled` | Tüm grup/oda mesajlarını engelle | -`channels.defaults.groupPolicy`, bir sağlayıcının `groupPolicy` değeri ayarlanmamış olduğunda varsayılanı belirler. -Eşleştirme kodlarının süresi 1 saat sonra dolar. Bekleyen DM eşleştirme istekleri **kanal başına 3** ile sınırlandırılır. -Bir sağlayıcı bloğu tamamen eksikse (`channels.` yoksa), çalışma zamanı grup ilkesi başlangıçta bir uyarıyla birlikte `allowlist` (başarısız olduğunda kapalı) değerine geri döner. +`channels.defaults.groupPolicy`, bir sağlayıcının `groupPolicy` değeri ayarlanmamışsa varsayılanı belirler. +Eşleştirme kodlarının süresi 1 saat sonra dolar. Bekleyen DM eşleştirme istekleri **kanal başına 3** ile sınırlandırılmıştır. +Bir sağlayıcı bloğu tamamen eksikse (`channels.` yoksa), çalışma zamanı grup ilkesi başlangıç uyarısıyla birlikte `allowlist` (fail-closed) olarak geri döner. ### Kanal model geçersiz kılmaları -Belirli kanal kimliklerini bir modele sabitlemek için `channels.modelByChannel` kullanın. Değerler `provider/model` veya yapılandırılmış model takma adlarını kabul eder. Kanal eşlemesi, bir oturumda zaten bir model geçersiz kılması yoksa uygulanır (örneğin `/model` ile ayarlanmışsa). +Belirli kanal kimliklerini bir modele sabitlemek için `channels.modelByChannel` kullanın. Değerler `provider/model` veya yapılandırılmış model takma adlarını kabul eder. Kanal eşlemesi, bir oturumda zaten model geçersiz kılması yoksa uygulanır (örneğin `/model` ile ayarlanmışsa). ```json5 { @@ -105,15 +105,15 @@ Sağlayıcılar arasında paylaşılan grup ilkesi ve Heartbeat davranışı iç } ``` -- `channels.defaults.groupPolicy`: sağlayıcı düzeyindeki `groupPolicy` ayarlanmamış olduğunda geri dönüş grup ilkesi. -- `channels.defaults.contextVisibility`: tüm kanallar için varsayılan ek bağlam görünürlüğü modu. Değerler: `all` (varsayılan, alıntılanan/iş parçacığı/geçmiş bağlamının tümünü içerir), `allowlist` (yalnızca izin verilen göndericilerden gelen bağlamı içerir), `allowlist_quote` (allowlist ile aynıdır ancak açık alıntı/yanıt bağlamını korur). Kanal başına geçersiz kılma: `channels..contextVisibility`. +- `channels.defaults.groupPolicy`: sağlayıcı düzeyindeki `groupPolicy` ayarlanmamışsa kullanılacak yedek grup ilkesi. +- `channels.defaults.contextVisibility`: tüm kanallar için varsayılan ek bağlam görünürlüğü modu. Değerler: `all` (varsayılan, alıntılanan/iş parçacığı/geçmiş bağlamının tamamını dahil et), `allowlist` (yalnızca izin verilen göndericilerden gelen bağlamı dahil et), `allowlist_quote` (allowlist ile aynı ama açık alıntı/yanıt bağlamını korur). Kanal başına geçersiz kılma: `channels..contextVisibility`. - `channels.defaults.heartbeat.showOk`: Heartbeat çıktısına sağlıklı kanal durumlarını dahil et. - `channels.defaults.heartbeat.showAlerts`: Heartbeat çıktısına bozulmuş/hata durumlarını dahil et. - `channels.defaults.heartbeat.useIndicator`: kompakt gösterge tarzı Heartbeat çıktısı oluştur. ### WhatsApp -WhatsApp, Gateway’in web kanalı (Baileys Web) üzerinden çalışır. Bağlı bir oturum mevcut olduğunda otomatik olarak başlar. +WhatsApp, Gateway'in web kanalı üzerinden çalışır (Baileys Web). Bağlanmış bir oturum mevcut olduğunda otomatik olarak başlar. ```json5 { @@ -164,8 +164,8 @@ WhatsApp, Gateway’in web kanalı (Baileys Web) üzerinden çalışır. Bağlı } ``` -- Giden komutlar, varsa varsayılan olarak `default` hesabını; aksi halde yapılandırılmış ilk hesap kimliğini (sıralı) kullanır. -- İsteğe bağlı `channels.whatsapp.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde bu geri dönüş varsayılan hesap seçimini geçersiz kılar. +- Giden komutlar, varsa varsayılan olarak `default` hesabını kullanır; aksi halde ilk yapılandırılmış hesap kimliğini kullanır (sıralanmış). +- İsteğe bağlı `channels.whatsapp.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde bu yedek varsayılan hesap seçimini geçersiz kılar. - Eski tek hesaplı Baileys auth dizini, `openclaw doctor` tarafından `whatsapp/default` içine taşınır. - Hesap başına geçersiz kılmalar: `channels.whatsapp.accounts..sendReadReceipts`, `channels.whatsapp.accounts..dmPolicy`, `channels.whatsapp.accounts..allowFrom`. @@ -225,13 +225,13 @@ WhatsApp, Gateway’in web kanalı (Baileys Web) üzerinden çalışır. Bağlı } ``` -- Bot token’ı: `channels.telegram.botToken` veya `channels.telegram.tokenFile` (yalnızca normal dosya; symlink’ler reddedilir), varsayılan hesap için geri dönüş olarak `TELEGRAM_BOT_TOKEN`. +- Bot token'ı: `channels.telegram.botToken` veya `channels.telegram.tokenFile` (yalnızca normal dosya; symlink'ler reddedilir); varsayılan hesap için yedek olarak `TELEGRAM_BOT_TOKEN` kullanılır. - İsteğe bağlı `channels.telegram.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. -- Çok hesaplı kurulumlarda (2+ hesap kimliği), geri dönüş yönlendirmesini önlemek için açık bir varsayılan ayarlayın (`channels.telegram.defaultAccount` veya `channels.telegram.accounts.default`); bu eksik veya geçersiz olduğunda `openclaw doctor` uyarı verir. -- `configWrites: false`, Telegram tarafından başlatılan yapılandırma yazımlarını engeller (supergroup ID geçişleri, `/config set|unset`). -- `type: "acp"` içeren üst düzey `bindings[]` girdileri, forum konuları için kalıcı ACP bağlarını yapılandırır (`match.peer.id` içinde kurallı `chatId:topic:topicId` kullanın). Alan anlamları [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde ortaktır. +- Çok hesaplı kurulumlarda (2+ hesap kimliği), yedek yönlendirmeyi önlemek için açık bir varsayılan ayarlayın (`channels.telegram.defaultAccount` veya `channels.telegram.accounts.default`); bu eksik veya geçersiz olduğunda `openclaw doctor` uyarır. +- `configWrites: false`, Telegram tarafından başlatılan yapılandırma yazımlarını engeller (supergroup kimliği taşımaları, `/config set|unset`). +- `type: "acp"` içeren üst düzey `bindings[]` girdileri, forum konuları için kalıcı ACP bağlamalarını yapılandırır (`match.peer.id` içinde kanonik `chatId:topic:topicId` kullanın). Alan anlamları [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde paylaşılır. - Telegram akış önizlemeleri `sendMessage` + `editMessageText` kullanır (doğrudan ve grup sohbetlerinde çalışır). -- Yeniden deneme ilkesi: bkz. [Yeniden deneme ilkesi](/tr/concepts/retry). +- Yeniden deneme ilkesi: bkz. [Retry policy](/tr/concepts/retry). ### Discord @@ -286,7 +286,7 @@ WhatsApp, Gateway’in web kanalı (Baileys Web) üzerinden çalışır. Bağlı historyLimit: 20, textChunkLimit: 2000, chunkMode: "length", // length | newline - streaming: "off", // off | partial | block | progress (progress, Discord’da partial’a eşlenir) + streaming: "off", // off | partial | block | progress (progress Discord'da partial olarak eşlenir) maxLinesPerMessage: 17, ui: { components: { @@ -333,36 +333,36 @@ WhatsApp, Gateway’in web kanalı (Baileys Web) üzerinden çalışır. Bağlı } ``` -- Token: `channels.discord.token`; varsayılan hesap için geri dönüş olarak `DISCORD_BOT_TOKEN` kullanılır. -- Açık bir Discord `token` sağlayan doğrudan giden çağrılar, çağrı için bu token’ı kullanır; hesap yeniden deneme/ilke ayarları ise etkin çalışma zamanı anlık görüntüsünde seçilen hesaptan gelmeye devam eder. +- Token: `channels.discord.token`; varsayılan hesap için yedek olarak `DISCORD_BOT_TOKEN` kullanılır. +- Açık bir Discord `token` sağlayan doğrudan giden çağrılar, çağrı için o token'ı kullanır; hesap yeniden deneme/ilke ayarları ise etkin çalışma zamanı anlık görüntüsünde seçilen hesaptan gelmeye devam eder. - İsteğe bağlı `channels.discord.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. - Teslim hedefleri için `user:` (DM) veya `channel:` (sunucu kanalı) kullanın; yalın sayısal kimlikler reddedilir. -- Sunucu slug’ları küçük harflidir ve boşluklar `-` ile değiştirilir; kanal anahtarları sluglaştırılmış adı kullanır (`#` yoktur). Sunucu kimliklerini tercih edin. +- Sunucu slug'ları küçük harflidir ve boşluklar `-` ile değiştirilir; kanal anahtarları slug'lanmış adı kullanır (`#` yok). Sunucu kimliklerini tercih edin. - Bot tarafından yazılan mesajlar varsayılan olarak yok sayılır. `allowBots: true` bunları etkinleştirir; yalnızca botu mention eden bot mesajlarını kabul etmek için `allowBots: "mentions"` kullanın (botun kendi mesajları yine filtrelenir). -- `channels.discord.guilds..ignoreOtherMentions` (ve kanal geçersiz kılmaları), botu değil başka bir kullanıcıyı veya rolü mention eden mesajları düşürür (`@everyone`/`@here` hariç). +- `channels.discord.guilds..ignoreOtherMentions` (ve kanal geçersiz kılmaları), botu değil başka bir kullanıcıyı veya rolü mention eden mesajları düşürür (@everyone/@here hariç). - `maxLinesPerMessage` (varsayılan 17), 2000 karakterin altında olsalar bile uzun mesajları böler. - `channels.discord.threadBindings`, Discord iş parçacığına bağlı yönlendirmeyi kontrol eder: - `enabled`: iş parçacığına bağlı oturum özellikleri için Discord geçersiz kılması (`/focus`, `/unfocus`, `/agents`, `/session idle`, `/session max-age` ve bağlı teslim/yönlendirme) - - `idleHours`: hareketsizlik nedeniyle otomatik odak kaldırma için saat cinsinden Discord geçersiz kılması (`0` devre dışı bırakır) - - `maxAgeHours`: sert maksimum yaş için saat cinsinden Discord geçersiz kılması (`0` devre dışı bırakır) + - `idleHours`: saat cinsinden hareketsizlikte otomatik odak kaldırma için Discord geçersiz kılması (`0` devre dışı bırakır) + - `maxAgeHours`: saat cinsinden katı azami yaş için Discord geçersiz kılması (`0` devre dışı bırakır) - `spawnSubagentSessions`: `sessions_spawn({ thread: true })` otomatik iş parçacığı oluşturma/bağlama için isteğe bağlı etkinleştirme anahtarı -- `type: "acp"` içeren üst düzey `bindings[]` girdileri, kanallar ve iş parçacıkları için kalıcı ACP bağlarını yapılandırır (`match.peer.id` içinde kanal/iş parçacığı kimliğini kullanın). Alan anlamları [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde ortaktır. -- `channels.discord.ui.components.accentColor`, Discord components v2 kapsayıcıları için vurgu rengini ayarlar. +- `type: "acp"` içeren üst düzey `bindings[]` girdileri, kanallar ve iş parçacıkları için kalıcı ACP bağlamalarını yapılandırır (`match.peer.id` içinde kanal/iş parçacığı kimliğini kullanın). Alan anlamları [ACP Agents](/tr/tools/acp-agents#channel-specific-settings) içinde paylaşılır. +- `channels.discord.ui.components.accentColor`, Discord bileşenleri v2 kapsayıcıları için vurgu rengini ayarlar. - `channels.discord.voice`, Discord ses kanalı konuşmalarını ve isteğe bağlı otomatik katılma + TTS geçersiz kılmalarını etkinleştirir. -- `channels.discord.voice.daveEncryption` ve `channels.discord.voice.decryptionFailureTolerance`, `@discordjs/voice` DAVE seçeneklerine doğrudan aktarılır (varsayılan olarak `true` ve `24`). -- OpenClaw ayrıca tekrarlanan şifre çözme hatalarından sonra bir ses oturumundan ayrılıp yeniden katılarak ses alımını kurtarmayı dener. -- `channels.discord.streaming`, kurallı akış modu anahtarıdır. Eski `streamMode` ve boole `streaming` değerleri otomatik olarak taşınır. -- `channels.discord.autoPresence`, çalışma zamanı kullanılabilirliğini bot varlığına eşler (sağlıklı => online, bozulmuş => idle, tükenmiş => dnd) ve isteğe bağlı durum metni geçersiz kılmalarına izin verir. -- `channels.discord.dangerouslyAllowNameMatching`, değiştirilebilir ad/etiket eşleştirmesini yeniden etkinleştirir (acil durum uyumluluk modu). -- `channels.discord.execApprovals`: Discord’a özgü exec onay teslimi ve onaylayıcı yetkilendirmesi. - - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda, exec onayları `approvers` veya `commands.ownerAllowFrom` üzerinden onaylayıcılar çözümlenebildiğinde etkinleşir. +- `channels.discord.voice.daveEncryption` ve `channels.discord.voice.decryptionFailureTolerance`, `@discordjs/voice` DAVE seçeneklerine aynen aktarılır (varsayılan olarak `true` ve `24`). +- OpenClaw ayrıca, tekrarlanan şifre çözme hatalarından sonra bir ses oturumundan ayrılıp yeniden katılarak ses alımını kurtarmayı dener. +- `channels.discord.streaming`, kanonik akış modu anahtarıdır. Eski `streamMode` ve boolean `streaming` değerleri otomatik olarak taşınır. +- `channels.discord.autoPresence`, çalışma zamanı kullanılabilirliğini bot varlığına eşler (healthy => online, degraded => idle, exhausted => dnd) ve isteğe bağlı durum metni geçersiz kılmalarına izin verir. +- `channels.discord.dangerouslyAllowNameMatching`, değiştirilebilir ad/etiket eşleştirmesini yeniden etkinleştirir (son çare uyumluluk modu). +- `channels.discord.execApprovals`: Discord yerel exec onay teslimi ve onaylayıcı yetkilendirmesi. + - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda exec onayları, onaylayıcılar `approvers` veya `commands.ownerAllowFrom` üzerinden çözümlenebildiğinde etkinleşir. - `approvers`: exec isteklerini onaylamasına izin verilen Discord kullanıcı kimlikleri. Atlandığında `commands.ownerAllowFrom` değerine geri döner. - - `agentFilter`: isteğe bağlı agent ID izin listesi. Tüm agent’lar için onayları iletmek üzere atlayın. + - `agentFilter`: isteğe bağlı ajan kimliği izin listesi. Tüm ajanlar için onayları iletmek üzere atlayın. - `sessionFilter`: isteğe bağlı oturum anahtarı desenleri (alt dize veya regex). - - `target`: onay istemlerinin nereye gönderileceği. `"dm"` (varsayılan) onaylayıcı DM’lerine gönderir, `"channel"` kaynak kanala gönderir, `"both"` her ikisine de gönderir. Hedef `"channel"` içerdiğinde, düğmeler yalnızca çözümlenen onaylayıcılar tarafından kullanılabilir. - - `cleanupAfterResolve`: `true` olduğunda, onaylama, reddetme veya zaman aşımından sonra onay DM’lerini siler. + - `target`: onay istemlerinin nereye gönderileceği. `"dm"` (varsayılan) onaylayıcı DM'lerine gönderir, `"channel"` kaynak kanala gönderir, `"both"` her ikisine de gönderir. Hedef `"channel"` içerdiğinde düğmeler yalnızca çözümlenmiş onaylayıcılar tarafından kullanılabilir. + - `cleanupAfterResolve`: `true` olduğunda, onay, ret veya zaman aşımı sonrasında onay DM'lerini siler. -**Tepki bildirim modları:** `off` (yok), `own` (botun mesajları, varsayılan), `all` (tüm mesajlar), `allowlist` (`guilds..users` içinden, tüm mesajlarda). +**Tepki bildirim modları:** `off` (yok), `own` (botun mesajları, varsayılan), `all` (tüm mesajlar), `allowlist` (tüm mesajlarda `guilds..users` içinden). ### Google Chat @@ -393,11 +393,11 @@ WhatsApp, Gateway’in web kanalı (Baileys Web) üzerinden çalışır. Bağlı } ``` -- Hizmet hesabı JSON’u: satır içi (`serviceAccount`) veya dosya tabanlı (`serviceAccountFile`). +- Hizmet hesabı JSON'u: satır içi (`serviceAccount`) veya dosya tabanlı (`serviceAccountFile`). - Hizmet hesabı SecretRef de desteklenir (`serviceAccountRef`). -- Ortam geri dönüşleri: `GOOGLE_CHAT_SERVICE_ACCOUNT` veya `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`. +- Ortam yedekleri: `GOOGLE_CHAT_SERVICE_ACCOUNT` veya `GOOGLE_CHAT_SERVICE_ACCOUNT_FILE`. - Teslim hedefleri için `spaces/` veya `users/` kullanın. -- `channels.googlechat.dangerouslyAllowNameMatching`, değiştirilebilir e-posta principal eşleştirmesini yeniden etkinleştirir (acil durum uyumluluk modu). +- `channels.googlechat.dangerouslyAllowNameMatching`, değiştirilebilir e-posta principal eşleştirmesini yeniden etkinleştirir (son çare uyumluluk modu). ### Slack @@ -449,7 +449,7 @@ WhatsApp, Gateway’in web kanalı (Baileys Web) üzerinden çalışır. Bağlı chunkMode: "length", streaming: { mode: "partial", // off | partial | block | progress - nativeTransport: true, // mode=partial olduğunda Slack’in yerel akış API’sini kullan + nativeTransport: true, // mode=partial olduğunda Slack yerel akış API'sini kullan }, mediaMaxMb: 20, execApprovals: { @@ -464,39 +464,35 @@ WhatsApp, Gateway’in web kanalı (Baileys Web) üzerinden çalışır. Bağlı } ``` -- **Socket mode**, hem `botToken` hem de `appToken` gerektirir (varsayılan hesap ortam geri dönüşü için `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`). -- **HTTP mode**, `botToken` ile birlikte `signingSecret` gerektirir (kök düzeyde veya hesap başına). +- **Socket mode** için hem `botToken` hem `appToken` gerekir (varsayılan hesap ortam yedeği olarak `SLACK_BOT_TOKEN` + `SLACK_APP_TOKEN`). +- **HTTP mode** için `botToken` ile birlikte `signingSecret` gerekir (kök düzeyde veya hesap başına). - `botToken`, `appToken`, `signingSecret` ve `userToken`, düz metin dizeleri veya SecretRef nesnelerini kabul eder. -- Slack hesap anlık görüntüleri, hesap başına kimlik bilgisi kaynağı/durum alanlarını gösterir; örneğin - `botTokenSource`, `botTokenStatus`, `appTokenStatus` ve HTTP modunda - `signingSecretStatus`. `configured_unavailable`, hesabın - SecretRef üzerinden yapılandırıldığı ancak mevcut komut/çalışma zamanı yolunun - gizli değerini çözemediği anlamına gelir. +- Slack hesap anlık görüntüleri, `botTokenSource`, `botTokenStatus`, `appTokenStatus` ve HTTP modunda `signingSecretStatus` gibi kimlik bilgisi başına kaynak/durum alanlarını gösterir. `configured_unavailable`, hesabın SecretRef aracılığıyla yapılandırıldığı ancak mevcut komut/çalışma zamanı yolunun gizli değerini çözemediği anlamına gelir. - `configWrites: false`, Slack tarafından başlatılan yapılandırma yazımlarını engeller. - İsteğe bağlı `channels.slack.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. -- `channels.slack.streaming.mode`, kurallı Slack akış modu anahtarıdır. `channels.slack.streaming.nativeTransport`, Slack’in yerel akış taşımasını kontrol eder. Eski `streamMode`, boole `streaming` ve `nativeStreaming` değerleri otomatik olarak taşınır. +- `channels.slack.streaming.mode`, kanonik Slack akış modu anahtarıdır. `channels.slack.streaming.nativeTransport`, Slack'in yerel akış taşımasını kontrol eder. Eski `streamMode`, boolean `streaming` ve `nativeStreaming` değerleri otomatik olarak taşınır. - Teslim hedefleri için `user:` (DM) veya `channel:` kullanın. **Tepki bildirim modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden). **İş parçacığı oturum yalıtımı:** `thread.historyScope` iş parçacığı başına (varsayılan) veya kanal genelinde paylaşılır. `thread.inheritParent`, üst kanal dökümünü yeni iş parçacıklarına kopyalar. -- Slack’in yerel akışı ve Slack assistant tarzı "is typing..." iş parçacığı durumu, yanıt için iş parçacığı hedefi gerektirir. Üst düzey DM’ler varsayılan olarak iş parçacığı dışında kaldığından, iş parçacığı tarzı önizleme yerine `typingReaction` veya normal teslim kullanırlar. -- `typingReaction`, bir yanıt çalışırken gelen Slack mesajına geçici bir tepki ekler, ardından tamamlandığında kaldırır. `"hourglass_flowing_sand"` gibi bir Slack emoji kısa kodu kullanın. -- `channels.slack.execApprovals`: Slack’e özgü exec onay teslimi ve onaylayıcı yetkilendirmesi. Discord ile aynı şema: `enabled` (`true`/`false`/`"auto"`), `approvers` (Slack kullanıcı kimlikleri), `agentFilter`, `sessionFilter` ve `target` (`"dm"`, `"channel"` veya `"both"`). +- Slack yerel akışı ve Slack asistan tarzı "yazıyor..." iş parçacığı durumu için bir yanıt iş parçacığı hedefi gerekir. Üst düzey DM'ler varsayılan olarak iş parçacığı dışında kalır; bu yüzden iş parçacığı tarzı önizleme yerine `typingReaction` veya normal teslim kullanırlar. +- `typingReaction`, bir yanıt çalışırken gelen Slack mesajına geçici bir tepki ekler, ardından tamamlanınca kaldırır. `"hourglass_flowing_sand"` gibi bir Slack emoji kısa kodu kullanın. +- `channels.slack.execApprovals`: Slack yerel exec onay teslimi ve onaylayıcı yetkilendirmesi. Discord ile aynı şema: `enabled` (`true`/`false`/`"auto"`), `approvers` (Slack kullanıcı kimlikleri), `agentFilter`, `sessionFilter` ve `target` (`"dm"`, `"channel"` veya `"both"`). -| Eylem grubu | Varsayılan | Notlar | -| ----------- | ---------- | --------------------- | +| Eylem grubu | Varsayılan | Notlar | +| ----------- | ---------- | ---------------------- | | reactions | etkin | Tepki ver + tepkileri listele | | messages | etkin | Oku/gönder/düzenle/sil | | pins | etkin | Sabitle/sabitlemeyi kaldır/listele | -| memberInfo | etkin | Üye bilgisi | -| emojiList | etkin | Özel emoji listesi | +| memberInfo | etkin | Üye bilgisi | +| emojiList | etkin | Özel emoji listesi | ### Mattermost -Mattermost bir Plugin olarak dağıtılır: `openclaw plugins install @openclaw/mattermost`. +Mattermost bir Plugin olarak sunulur: `openclaw plugins install @openclaw/mattermost`. ```json5 { @@ -526,17 +522,16 @@ Mattermost bir Plugin olarak dağıtılır: `openclaw plugins install @openclaw/ } ``` -Sohbet modları: `oncall` (@-mention olduğunda yanıt ver, varsayılan), `onmessage` (her mesaj), `onchar` (tetikleyici önek ile başlayan mesajlar). +Sohbet modları: `oncall` (@-mention ile yanıt ver, varsayılan), `onmessage` (her mesaj), `onchar` (tetikleyici önekle başlayan mesajlar). Mattermost yerel komutları etkinleştirildiğinde: - `commands.callbackPath`, tam URL değil bir yol olmalıdır (örneğin `/api/channels/mattermost/command`). - `commands.callbackUrl`, OpenClaw Gateway uç noktasına çözülmeli ve Mattermost sunucusundan erişilebilir olmalıdır. -- Yerel slash callback’leri, Mattermost tarafından slash komut kaydı sırasında döndürülen komut başına token’larla kimlik doğrulaması yapar. Kayıt başarısız olursa veya hiç komut etkinleştirilmezse, OpenClaw callback’leri şu hatayla reddeder: +- Yerel slash callback'leri, Mattermost'un slash komut kaydı sırasında döndürdüğü komut başına token'larla doğrulanır. Kayıt başarısız olursa veya hiç komut etkinleştirilmezse OpenClaw, callback'leri şu hatayla reddeder: `Unauthorized: invalid command token.` -- Özel/tailnet/iç callback ana makineleri için Mattermost, - `ServiceSettings.AllowedUntrustedInternalConnections` içine callback ana makinesinin/alan adının eklenmesini gerektirebilir. - Tam URL değil, ana makine/alan adı değerleri kullanın. +- Özel/tailnet/dahili callback ana bilgisayarları için Mattermost, `ServiceSettings.AllowedUntrustedInternalConnections` içine callback ana bilgisayarını/alan adını eklemeyi gerektirebilir. + Tam URL değil, ana bilgisayar/alan adı değerlerini kullanın. - `channels.mattermost.configWrites`: Mattermost tarafından başlatılan yapılandırma yazımlarına izin ver veya reddet. - `channels.mattermost.requireMention`: kanallarda yanıt vermeden önce `@mention` gerektir. - `channels.mattermost.groups..requireMention`: kanal başına mention-gating geçersiz kılması (varsayılan için `"*"`). @@ -563,13 +558,13 @@ Mattermost yerel komutları etkinleştirildiğinde: **Tepki bildirim modları:** `off`, `own` (varsayılan), `all`, `allowlist` (`reactionAllowlist` içinden). -- `channels.signal.account`: kanal başlatmayı belirli bir Signal hesap kimliğine sabitle. +- `channels.signal.account`: kanal başlatmayı belirli bir Signal hesap kimliğine sabitler. - `channels.signal.configWrites`: Signal tarafından başlatılan yapılandırma yazımlarına izin ver veya reddet. - İsteğe bağlı `channels.signal.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. ### BlueBubbles -BlueBubbles, önerilen iMessage yoludur (Plugin desteklidir, `channels.bluebubbles` altında yapılandırılır). +BlueBubbles, önerilen iMessage yoludur (Plugin destekli, `channels.bluebubbles` altında yapılandırılır). ```json5 { @@ -577,21 +572,21 @@ BlueBubbles, önerilen iMessage yoludur (Plugin desteklidir, `channels.bluebubbl bluebubbles: { enabled: true, dmPolicy: "pairing", - // serverUrl, password, webhookPath, group controls ve advanced actions: + // serverUrl, password, webhookPath, group controls, and advanced actions: // bkz. /channels/bluebubbles }, }, } ``` -- Burada kapsanan çekirdek anahtar yolları: `channels.bluebubbles`, `channels.bluebubbles.dmPolicy`. +- Burada kapsanan temel anahtar yolları: `channels.bluebubbles`, `channels.bluebubbles.dmPolicy`. - İsteğe bağlı `channels.bluebubbles.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. - `type: "acp"` içeren üst düzey `bindings[]` girdileri, BlueBubbles konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde bir BlueBubbles handle veya hedef dizesi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan anlamları: [ACP Agents](/tr/tools/acp-agents#channel-specific-settings). - Tam BlueBubbles kanal yapılandırması [BlueBubbles](/tr/channels/bluebubbles) içinde belgelenmiştir. ### iMessage -OpenClaw, `imsg rpc` işlemini başlatır (stdio üzerinden JSON-RPC). Daemon veya port gerekmez. +OpenClaw, `imsg rpc` başlatır (stdio üzerinden JSON-RPC). Daemon veya port gerekmez. ```json5 { @@ -617,13 +612,13 @@ OpenClaw, `imsg rpc` işlemini başlatır (stdio üzerinden JSON-RPC). Daemon ve - İsteğe bağlı `channels.imessage.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. -- Messages veritabanı için Full Disk Access gerekir. +- Messages DB için Full Disk Access gerekir. - `chat_id:` hedeflerini tercih edin. Sohbetleri listelemek için `imsg chats --limit 20` kullanın. -- `cliPath`, bir SSH sarmalayıcısını işaret edebilir; SCP ek dosyası alma için `remoteHost` (`host` veya `user@host`) ayarlayın. -- `attachmentRoots` ve `remoteAttachmentRoots`, gelen ek dosya yollarını sınırlar (varsayılan: `/Users/*/Library/Messages/Attachments`). -- SCP, katı host-key denetimi kullanır; bu yüzden aktarma ana makinesi anahtarının zaten `~/.ssh/known_hosts` içinde bulunduğundan emin olun. +- `cliPath`, bir SSH sarmalayıcısına işaret edebilir; SCP ek alma işlemi için `remoteHost` (`host` veya `user@host`) ayarlayın. +- `attachmentRoots` ve `remoteAttachmentRoots`, gelen ek yollarını sınırlar (varsayılan: `/Users/*/Library/Messages/Attachments`). +- SCP katı host-key denetimi kullanır; bu nedenle aktarma ana bilgisayar anahtarının zaten `~/.ssh/known_hosts` içinde bulunduğundan emin olun. - `channels.imessage.configWrites`: iMessage tarafından başlatılan yapılandırma yazımlarına izin ver veya reddet. -- `type: "acp"` içeren üst düzey `bindings[]` girdileri, iMessage konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde normalize edilmiş bir handle veya açık sohbet hedefi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan anlamları: [ACP Agents](/tr/tools/acp-agents#channel-specific-settings). +- `type: "acp"` içeren üst düzey `bindings[]` girdileri, iMessage konuşmalarını kalıcı ACP oturumlarına bağlayabilir. `match.peer.id` içinde normalize edilmiş bir handle veya açık bir sohbet hedefi (`chat_id:*`, `chat_guid:*`, `chat_identifier:*`) kullanın. Paylaşılan alan anlamları: [ACP Agents](/tr/tools/acp-agents#channel-specific-settings). @@ -668,18 +663,18 @@ Matrix, eklenti desteklidir ve `channels.matrix` altında yapılandırılır. - Token kimlik doğrulaması `accessToken` kullanır; parola kimlik doğrulaması `userId` + `password` kullanır. - `channels.matrix.proxy`, Matrix HTTP trafiğini açık bir HTTP(S) proxy üzerinden yönlendirir. Adlandırılmış hesaplar bunu `channels.matrix.accounts..proxy` ile geçersiz kılabilir. -- `channels.matrix.network.dangerouslyAllowPrivateNetwork`, özel/dahili homeserver’lara izin verir. `proxy` ve bu ağ için isteğe bağlı etkinleştirme birbirinden bağımsız denetimlerdir. +- `channels.matrix.network.dangerouslyAllowPrivateNetwork`, özel/dahili homeserver'lara izin verir. `proxy` ve bu ağ katılımı birbirinden bağımsız denetimlerdir. - `channels.matrix.defaultAccount`, çok hesaplı kurulumlarda tercih edilen hesabı seçer. -- `channels.matrix.autoJoin` varsayılan olarak `off` değerindedir; bu nedenle davet edilen odalar ve yeni DM tarzı davetler, `autoJoin: "allowlist"` ile `autoJoinAllowlist` ayarlayana veya `autoJoin: "always"` yapana kadar yok sayılır. -- `channels.matrix.execApprovals`: Matrix’e özgü exec onay teslimi ve onaylayıcı yetkilendirmesi. - - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda, exec onayları `approvers` veya `commands.ownerAllowFrom` üzerinden onaylayıcılar çözümlenebildiğinde etkinleşir. +- `channels.matrix.autoJoin` varsayılan olarak `off` durumundadır; bu yüzden davet edilen odalar ve yeni DM tarzı davetler, siz `autoJoin: "allowlist"` ile `autoJoinAllowlist` ayarlayana veya `autoJoin: "always"` kullanana kadar yok sayılır. +- `channels.matrix.execApprovals`: Matrix yerel exec onay teslimi ve onaylayıcı yetkilendirmesi. + - `enabled`: `true`, `false` veya `"auto"` (varsayılan). Otomatik modda exec onayları, onaylayıcılar `approvers` veya `commands.ownerAllowFrom` üzerinden çözümlenebildiğinde etkinleşir. - `approvers`: exec isteklerini onaylamasına izin verilen Matrix kullanıcı kimlikleri (ör. `@owner:example.org`). - - `agentFilter`: isteğe bağlı agent ID izin listesi. Tüm agent’lar için onayları iletmek üzere atlayın. + - `agentFilter`: isteğe bağlı ajan kimliği izin listesi. Tüm ajanlar için onayları iletmek üzere atlayın. - `sessionFilter`: isteğe bağlı oturum anahtarı desenleri (alt dize veya regex). - `target`: onay istemlerinin nereye gönderileceği. `"dm"` (varsayılan), `"channel"` (kaynak oda) veya `"both"`. - Hesap başına geçersiz kılmalar: `channels.matrix.accounts..execApprovals`. -- `channels.matrix.dm.sessionScope`, Matrix DM’lerinin oturumlar içinde nasıl gruplanacağını kontrol eder: `per-user` (varsayılan) yönlendirilen eşe göre paylaşır, `per-room` ise her DM odasını izole eder. -- Matrix durum probları ve canlı dizin aramaları, çalışma zamanı trafiği ile aynı proxy ilkesini kullanır. +- `channels.matrix.dm.sessionScope`, Matrix DM'lerinin oturumlara nasıl gruplandırılacağını kontrol eder: `per-user` (varsayılan) yönlendirilen eşe göre paylaşır, `per-room` ise her DM odasını yalıtır. +- Matrix durum probları ve canlı dizin aramaları, çalışma zamanı trafiğiyle aynı proxy ilkesini kullanır. - Tam Matrix yapılandırması, hedefleme kuralları ve kurulum örnekleri [Matrix](/tr/channels/matrix) içinde belgelenmiştir. ### Microsoft Teams @@ -699,8 +694,8 @@ Microsoft Teams, eklenti desteklidir ve `channels.msteams` altında yapılandır } ``` -- Burada kapsanan çekirdek anahtar yolları: `channels.msteams`, `channels.msteams.configWrites`. -- Tam Teams yapılandırması (kimlik bilgileri, webhook, DM/grup ilkesi, takım başına/kanal başına geçersiz kılmalar) [Microsoft Teams](/tr/channels/msteams) içinde belgelenmiştir. +- Burada kapsanan temel anahtar yolları: `channels.msteams`, `channels.msteams.configWrites`. +- Tam Teams yapılandırması (kimlik bilgileri, webhook, DM/grup ilkesi, takım/kanal başına geçersiz kılmalar) [Microsoft Teams](/tr/channels/msteams) içinde belgelenmiştir. ### IRC @@ -725,13 +720,13 @@ IRC, eklenti desteklidir ve `channels.irc` altında yapılandırılır. } ``` -- Burada kapsanan çekirdek anahtar yolları: `channels.irc`, `channels.irc.dmPolicy`, `channels.irc.configWrites`, `channels.irc.nickserv.*`. +- Burada kapsanan temel anahtar yolları: `channels.irc`, `channels.irc.dmPolicy`, `channels.irc.configWrites`, `channels.irc.nickserv.*`. - İsteğe bağlı `channels.irc.defaultAccount`, yapılandırılmış bir hesap kimliğiyle eşleştiğinde varsayılan hesap seçimini geçersiz kılar. - Tam IRC kanal yapılandırması (host/port/TLS/channels/allowlists/mention gating) [IRC](/tr/channels/irc) içinde belgelenmiştir. ### Çok hesaplı (tüm kanallar) -Kanal başına birden fazla hesap çalıştırın (her biri kendi `accountId` değeriyle): +Kanal başına birden çok hesap çalıştırın (her biri kendi `accountId` değerine sahip olacak şekilde): ```json5 { @@ -753,27 +748,27 @@ Kanal başına birden fazla hesap çalıştırın (her biri kendi `accountId` de ``` - `accountId` atlandığında `default` kullanılır (CLI + yönlendirme). -- Ortam token’ları yalnızca **default** hesap için geçerlidir. +- Ortam token'ları yalnızca **default** hesap için geçerlidir. - Temel kanal ayarları, hesap başına geçersiz kılınmadıkça tüm hesaplara uygulanır. -- Her hesabı farklı bir agente yönlendirmek için `bindings[].match.accountId` kullanın. -- Tek hesaplı üst düzey kanal yapılandırmasındayken `openclaw channels add` (veya kanal onboarding) ile varsayılan olmayan bir hesap eklerseniz, OpenClaw önce hesap kapsamlı üst düzey tek hesap değerlerini kanal hesap haritasına yükseltir; böylece özgün hesap çalışmaya devam eder. Çoğu kanal bunları `channels..accounts.default` içine taşır; Matrix ise bunun yerine mevcut eşleşen bir named/default hedefi koruyabilir. -- Mevcut yalnızca kanal kapsamlı bağlar (`accountId` yok) varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlar isteğe bağlı olmaya devam eder. -- `openclaw doctor --fix`, hesap kapsamlı üst düzey tek hesap değerlerini o kanal için seçilen yükseltilmiş hesaba taşıyarak karışık şekilleri de onarır. Çoğu kanal `accounts.default` kullanır; Matrix ise bunun yerine mevcut eşleşen bir named/default hedefi koruyabilir. +- Her hesabı farklı bir ajana yönlendirmek için `bindings[].match.accountId` kullanın. +- Varsayılan olmayan bir hesabı `openclaw channels add` (veya kanal onboarding) ile eklediğinizde ve hâlâ tek hesaplı üst düzey kanal yapılandırmasındaysanız, OpenClaw önce hesap kapsamlı üst düzey tek hesap değerlerini kanal hesap eşlemesine taşır; böylece orijinal hesap çalışmaya devam eder. Çoğu kanal bunları `channels..accounts.default` içine taşır; Matrix bunun yerine mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir. +- Mevcut yalnızca kanal bağlamaları (`accountId` yok) varsayılan hesapla eşleşmeye devam eder; hesap kapsamlı bağlamalar isteğe bağlı olmaya devam eder. +- `openclaw doctor --fix` ayrıca hesap kapsamlı üst düzey tek hesap değerlerini, o kanal için seçilen yükseltilmiş hesaba taşıyarak karışık şekilleri onarır. Çoğu kanal `accounts.default` kullanır; Matrix bunun yerine mevcut eşleşen adlandırılmış/varsayılan hedefi koruyabilir. ### Diğer eklenti kanalları -Birçok eklenti kanalı `channels.` olarak yapılandırılır ve özel kanal sayfalarında belgelenir (örneğin Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat ve Twitch). -Tam kanal dizini için bkz.: [Kanallar](/tr/channels). +Birçok eklenti kanalı `channels.` olarak yapılandırılır ve kendi özel kanal sayfalarında belgelenir (örneğin Feishu, Matrix, LINE, Nostr, Zalo, Nextcloud Talk, Synology Chat ve Twitch). +Tam kanal dizinine bakın: [Channels](/tr/channels). ### Grup sohbeti mention-gating -Grup mesajları varsayılan olarak **mention gerektirir** (meta veri mention’ı veya güvenli regex desenleri). WhatsApp, Telegram, Discord, Google Chat ve iMessage grup sohbetleri için geçerlidir. +Grup mesajları varsayılan olarak **mention gerektirir** (meta veri mention veya güvenli regex desenleri). Bu, WhatsApp, Telegram, Discord, Google Chat ve iMessage grup sohbetleri için geçerlidir. **Mention türleri:** -- **Meta veri mention’ları**: Yerel platform @-mention’ları. WhatsApp self-chat modunda yok sayılır. +- **Meta veri mention'ları**: Yerel platform @-mention'ları. WhatsApp self-chat modunda yok sayılır. - **Metin desenleri**: `agents.list[].groupChat.mentionPatterns` içindeki güvenli regex desenleri. Geçersiz desenler ve güvenli olmayan iç içe tekrarlar yok sayılır. -- Mention-gating yalnızca algılama mümkün olduğunda uygulanır (yerel mention’lar veya en az bir desen). +- Mention-gating yalnızca algılama mümkün olduğunda uygulanır (yerel mention'lar veya en az bir desen). ```json5 { @@ -803,13 +798,13 @@ Grup mesajları varsayılan olarak **mention gerektirir** (meta veri mention’ } ``` -Çözümleme: DM başına geçersiz kılma → sağlayıcı varsayılanı → sınır yok (tümü tutulur). +Çözümleme: DM başına geçersiz kılma → sağlayıcı varsayılanı → sınır yok (hepsi tutulur). Desteklenenler: `telegram`, `whatsapp`, `discord`, `slack`, `signal`, `imessage`, `msteams`. #### Self-chat modu -Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekleyin (yerel @-mention’ları yok sayar, yalnızca metin desenlerine yanıt verir): +Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekleyin (yerel @-mention'ları yok sayar, yalnızca metin desenlerine yanıt verir): ```json5 { @@ -836,15 +831,15 @@ Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekl { commands: { native: "auto", // desteklendiğinde yerel komutları kaydet - nativeSkills: "auto", // desteklendiğinde yerel skill komutlarını kaydet + nativeSkills: "auto", // desteklendiğinde yerel Skills komutlarını kaydet text: true, // sohbet mesajlarında /commands ayrıştır - bash: false, // ! kullanımına izin ver (takma ad: /bash) + bash: false, // ! komutuna izin ver (takma ad: /bash) bashForegroundMs: 2000, - config: false, // /config kullanımına izin ver - mcp: false, // /mcp kullanımına izin ver - plugins: false, // /plugins kullanımına izin ver - debug: false, // /debug kullanımına izin ver - restart: true, // /restart + Gateway yeniden başlatma aracına izin ver + config: false, // /config izni ver + mcp: false, // /mcp izni ver + plugins: false, // /plugins izni ver + debug: false, // /debug izni ver + restart: true, // /restart + gateway restart aracına izin ver ownerAllowFrom: ["discord:123456789012345678"], ownerDisplay: "raw", // raw | hash ownerDisplaySecret: "${OWNER_ID_HASH_SECRET}", @@ -859,30 +854,30 @@ Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekl -- Bu blok, komut yüzeylerini yapılandırır. Güncel yerleşik + bundled komut kataloğu için bkz. [Slash Komutları](/tr/tools/slash-commands). -- Bu sayfa bir **yapılandırma anahtarı referansıdır**, tam komut kataloğu değildir. QQ Bot `/bot-ping` `/bot-help` `/bot-logs`, LINE `/card`, device-pair `/pair`, memory `/dreaming`, phone-control `/phone` ve Talk `/voice` gibi kanal/plugin sahipli komutlar, kendi kanal/plugin sayfalarında ve [Slash Komutları](/tr/tools/slash-commands) içinde belgelenmiştir. +- Bu blok, komut yüzeylerini yapılandırır. Güncel built-in + bundled komut kataloğu için bkz. [Slash Commands](/tr/tools/slash-commands). +- Bu sayfa tam komut kataloğu değil, bir **yapılandırma anahtarı başvurusudur**. QQ Bot `/bot-ping` `/bot-help` `/bot-logs`, LINE `/card`, device-pair `/pair`, memory `/dreaming`, phone-control `/phone` ve Talk `/voice` gibi kanal/Plugin sahipli komutlar, kendi kanal/Plugin sayfalarında ve [Slash Commands](/tr/tools/slash-commands) içinde belgelenmiştir. - Metin komutları, başında `/` bulunan **bağımsız** mesajlar olmalıdır. -- `native: "auto"`, Discord/Telegram için yerel komutları açar, Slack’i kapalı bırakır. -- `nativeSkills: "auto"`, Discord/Telegram için yerel skill komutlarını açar, Slack’i kapalı bırakır. +- `native: "auto"`, Discord/Telegram için yerel komutları açar, Slack'i kapalı bırakır. +- `nativeSkills: "auto"`, Discord/Telegram için yerel Skills komutlarını açar, Slack'i kapalı bırakır. - Kanal başına geçersiz kılma: `channels.discord.commands.native` (bool veya `"auto"`). `false`, daha önce kaydedilmiş komutları temizler. -- Kanal başına yerel skill kaydını `channels..commands.nativeSkills` ile geçersiz kılın. +- Yerel skill kaydını kanal başına `channels..commands.nativeSkills` ile geçersiz kılın. - `channels.telegram.customCommands`, ek Telegram bot menü girdileri ekler. -- `bash: true`, host kabuğu için `! ` kullanımını etkinleştirir. `tools.elevated.enabled` gerekir ve gönderici `tools.elevated.allowFrom.` içinde olmalıdır. -- `config: true`, `/config` komutunu etkinleştirir (`openclaw.json` dosyasını okur/yazar). Gateway `chat.send` istemcileri için kalıcı `/config set|unset` yazımları ayrıca `operator.admin` gerektirir; salt okunur `/config show`, normal yazma kapsamlı operatör istemcileri için kullanılabilir kalır. +- `bash: true`, ana makine kabuğu için `! ` kullanımını etkinleştirir. `tools.elevated.enabled` ve göndericinin `tools.elevated.allowFrom.` içinde olması gerekir. +- `config: true`, `/config` komutunu etkinleştirir (`openclaw.json` üzerinde okuma/yazma yapar). Gateway `chat.send` istemcilerinde, kalıcı `/config set|unset` yazımları ayrıca `operator.admin` gerektirir; salt okunur `/config show`, normal write kapsamlı operator istemcileri için kullanılabilir kalır. - `mcp: true`, `mcp.servers` altındaki OpenClaw tarafından yönetilen MCP sunucu yapılandırması için `/mcp` komutunu etkinleştirir. -- `plugins: true`, Plugin keşfi, yükleme ve etkinleştirme/devre dışı bırakma denetimleri için `/plugins` komutunu etkinleştirir. -- `channels..configWrites`, kanal başına yapılandırma değişikliklerini sınırlar (varsayılan: true). -- Çok hesaplı kanallar için `channels..accounts..configWrites`, o hesabı hedefleyen yazımları da sınırlar (örneğin `/allowlist --config --account ` veya `/config set channels..accounts....`). -- `restart: false`, `/restart` ve Gateway yeniden başlatma aracı eylemlerini devre dışı bırakır. Varsayılan: `true`. -- `ownerAllowFrom`, yalnızca sahip için olan komutlar/araçlar için açık sahip izin listesidir. `allowFrom`’dan ayrıdır. -- `ownerDisplay: "hash"`, sistem isteminde sahip kimliklerini hash’ler. Hash’lemeyi denetlemek için `ownerDisplaySecret` ayarlayın. -- `allowFrom`, sağlayıcı başınadır. Ayarlandığında, **tek** yetkilendirme kaynağı olur (kanal izin listeleri/eşleştirme ve `useAccessGroups` yok sayılır). -- `useAccessGroups: false`, `allowFrom` ayarlanmamışken komutların erişim grubu ilkelerini atlamasına izin verir. +- `plugins: true`, Plugin keşfi, kurulum ve etkinleştirme/devre dışı bırakma denetimleri için `/plugins` komutunu etkinleştirir. +- `channels..configWrites`, kanal başına yapılandırma değişikliklerini denetler (varsayılan: true). +- Çok hesaplı kanallarda, `channels..accounts..configWrites` de o hesabı hedefleyen yazımları denetler (örneğin `/allowlist --config --account ` veya `/config set channels..accounts....`). +- `restart: false`, `/restart` ve gateway yeniden başlatma aracı eylemlerini devre dışı bırakır. Varsayılan: `true`. +- `ownerAllowFrom`, yalnızca sahibe açık komutlar/araçlar için açık sahip izin listesidir. `allowFrom` listesinden ayrıdır. +- `ownerDisplay: "hash"`, sistem isteminde sahip kimliklerini hash'ler. Hash işlemini denetlemek için `ownerDisplaySecret` ayarlayın. +- `allowFrom`, sağlayıcı başınadır. Ayarlandığında **tek** yetkilendirme kaynağı budur (kanal izin listeleri/eşleştirme ve `useAccessGroups` yok sayılır). +- `useAccessGroups: false`, `allowFrom` ayarlanmadığında komutların erişim grubu ilkelerini atlamasına izin verir. - Komut belgeleri eşlemesi: - - yerleşik + bundled katalog: [Slash Komutları](/tr/tools/slash-commands) - - kanala özgü komut yüzeyleri: [Kanallar](/tr/channels) + - built-in + bundled katalog: [Slash Commands](/tr/tools/slash-commands) + - kanala özgü komut yüzeyleri: [Channels](/tr/channels) - QQ Bot komutları: [QQ Bot](/tr/channels/qqbot) - - eşleştirme komutları: [Eşleştirme](/tr/channels/pairing) + - eşleştirme komutları: [Pairing](/tr/channels/pairing) - LINE kart komutu: [LINE](/tr/channels/line) - memory dreaming: [Dreaming](/tr/concepts/dreaming) @@ -890,7 +885,7 @@ Self-chat modunu etkinleştirmek için kendi numaranızı `allowFrom` içine ekl --- -## Agent varsayılanları +## Ajan varsayılanları ### `agents.defaults.workspace` @@ -904,7 +899,7 @@ Varsayılan: `~/.openclaw/workspace`. ### `agents.defaults.repoRoot` -Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ayarlanmamışsa OpenClaw, workspace’den yukarı doğru yürüyerek otomatik algılar. +Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ayarlanmamışsa OpenClaw, çalışma alanından yukarı doğru ilerleyerek otomatik algılar. ```json5 { @@ -914,7 +909,7 @@ Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ay ### `agents.defaults.skills` -`agents.list[].skills` ayarlamayan agent’lar için isteğe bağlı varsayılan skill izin listesi. +`agents.list[].skills` ayarlamayan ajanlar için isteğe bağlı varsayılan skill izin listesi. ```json5 { @@ -929,15 +924,14 @@ Sistem isteminin Runtime satırında gösterilen isteğe bağlı depo kökü. Ay } ``` -- Varsayılan olarak sınırsız skill için `agents.defaults.skills` alanını atlayın. -- Varsayılanları devralmak için `agents.list[].skills` alanını atlayın. +- Varsayılan olarak kısıtlanmamış Skills için `agents.defaults.skills` değerini atlayın. +- Varsayılanları devralmak için `agents.list[].skills` değerini atlayın. - Hiç skill olmaması için `agents.list[].skills: []` ayarlayın. -- Boş olmayan bir `agents.list[].skills` listesi, o agent için son kümedir; - varsayılanlarla birleştirilmez. +- Boş olmayan bir `agents.list[].skills` listesi, o ajan için son kümedir; varsayılanlarla birleştirilmez. ### `agents.defaults.skipBootstrap` -Workspace bootstrap dosyalarının (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md`) otomatik oluşturulmasını devre dışı bırakır. +Çalışma alanı bootstrap dosyalarının (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, `BOOTSTRAP.md`) otomatik oluşturulmasını devre dışı bırakır. ```json5 { @@ -947,9 +941,9 @@ Workspace bootstrap dosyalarının (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTIT ### `agents.defaults.contextInjection` -Workspace bootstrap dosyalarının sistem istemine ne zaman ekleneceğini kontrol eder. Varsayılan: `"always"`. +Çalışma alanı bootstrap dosyalarının sistem istemine ne zaman enjekte edileceğini denetler. Varsayılan: `"always"`. -- `"continuation-skip"`: güvenli devam dönüşleri (tamamlanmış bir asistan yanıtından sonra), workspace bootstrap yeniden eklemeyi atlar ve istem boyutunu azaltır. Heartbeat çalıştırmaları ve Compaction sonrası yeniden denemeler yine de bağlamı yeniden oluşturur. +- `"continuation-skip"`: güvenli devam dönüşlerinde (tamamlanmış bir asistan yanıtından sonra), çalışma alanı bootstrap yeniden enjeksiyonu atlanır; böylece istem boyutu azalır. Heartbeat çalıştırmaları ve Compaction sonrası yeniden denemeler bağlamı yine de yeniden oluşturur. ```json5 { @@ -959,7 +953,7 @@ Workspace bootstrap dosyalarının sistem istemine ne zaman ekleneceğini kontro ### `agents.defaults.bootstrapMaxChars` -Kırpmadan önce workspace bootstrap dosyası başına en fazla karakter. Varsayılan: `20000`. +Kesmeden önce çalışma alanı bootstrap dosyası başına azami karakter sayısı. Varsayılan: `20000`. ```json5 { @@ -969,7 +963,7 @@ Kırpmadan önce workspace bootstrap dosyası başına en fazla karakter. Varsay ### `agents.defaults.bootstrapTotalMaxChars` -Tüm workspace bootstrap dosyalarında eklenen toplam en fazla karakter. Varsayılan: `150000`. +Tüm çalışma alanı bootstrap dosyalarına enjekte edilen toplam azami karakter sayısı. Varsayılan: `150000`. ```json5 { @@ -979,12 +973,12 @@ Tüm workspace bootstrap dosyalarında eklenen toplam en fazla karakter. Varsay ### `agents.defaults.bootstrapPromptTruncationWarning` -Bootstrap bağlamı kırpıldığında agent’ın görebileceği uyarı metnini kontrol eder. +Bootstrap bağlamı kesildiğinde ajana görünür uyarı metnini denetler. Varsayılan: `"once"`. -- `"off"`: sistem istemine hiçbir zaman uyarı metni ekleme. -- `"once"`: her benzersiz kırpma imzası için uyarıyı bir kez ekle (önerilir). -- `"always"`: kırpma mevcut olduğunda her çalıştırmada uyarı ekle. +- `"off"`: sistem istemine asla uyarı metni enjekte etmez. +- `"once"`: her benzersiz kesme imzası için bir kez uyarı enjekte eder (önerilir). +- `"always"`: kesme olduğunda her çalıştırmada uyarı enjekte eder. ```json5 { @@ -992,12 +986,137 @@ Varsayılan: `"once"`. } ``` +### Bağlam bütçesi sahiplik haritası + +OpenClaw birden çok yüksek hacimli istem/bağlam bütçesine sahiptir ve bunlar, tek bir genel ayar üzerinden akmak yerine alt sistemlere göre kasıtlı olarak ayrılmıştır. + +- `agents.defaults.bootstrapMaxChars` / + `agents.defaults.bootstrapTotalMaxChars`: + normal çalışma alanı bootstrap enjeksiyonu. +- `agents.defaults.startupContext.*`: + son günlük `memory/*.md` dosyaları dahil, tek seferlik `/new` ve `/reset` başlangıç önsözü. +- `skills.limits.*`: + sistem istemine enjekte edilen kompakt Skills listesi. +- `agents.defaults.contextLimits.*`: + sınırlı çalışma zamanı alıntıları ve enjekte edilen çalışma zamanı sahipli bloklar. +- `memory.qmd.limits.*`: + indekslenmiş bellek arama kesiti ve enjeksiyon boyutlandırması. + +Yalnızca bir ajanın farklı bir bütçeye ihtiyaç duyması durumunda eşleşen ajan başına geçersiz kılmayı kullanın: + +- `agents.list[].skillsLimits.maxSkillsPromptChars` +- `agents.list[].contextLimits.*` + +#### `agents.defaults.startupContext` + +Çıplak `/new` ve `/reset` çalıştırmalarında enjekte edilen ilk dönüş başlangıç önsözünü denetler. + +```json5 +{ + agents: { + defaults: { + startupContext: { + enabled: true, + applyOn: ["new", "reset"], + dailyMemoryDays: 2, + maxFileBytes: 16384, + maxFileChars: 1200, + maxTotalChars: 2800, + }, + }, + }, +} +``` + +#### `agents.defaults.contextLimits` + +Sınırlı çalışma zamanı bağlam yüzeyleri için paylaşılan varsayılanlar. + +```json5 +{ + agents: { + defaults: { + contextLimits: { + memoryGetMaxChars: 12000, + memoryGetDefaultLines: 120, + toolResultMaxChars: 16000, + postCompactionMaxChars: 1800, + }, + }, + }, +} +``` + +- `memoryGetMaxChars`: kesme meta verileri ve devam bildirimi eklenmeden önce varsayılan `memory_get` alıntı sınırı. +- `memoryGetDefaultLines`: `lines` atlandığında varsayılan `memory_get` satır penceresi. +- `toolResultMaxChars`: kalıcı sonuçlar ve taşma kurtarma için kullanılan canlı araç sonucu sınırı. +- `postCompactionMaxChars`: Compaction sonrası yenileme enjeksiyonu sırasında kullanılan AGENTS.md alıntı sınırı. + +#### `agents.list[].contextLimits` + +Paylaşılan `contextLimits` ayarları için ajan başına geçersiz kılma. Atlanan alanlar `agents.defaults.contextLimits` değerlerinden devralınır. + +```json5 +{ + agents: { + defaults: { + contextLimits: { + memoryGetMaxChars: 12000, + toolResultMaxChars: 16000, + }, + }, + list: [ + { + id: "tiny-local", + contextLimits: { + memoryGetMaxChars: 6000, + toolResultMaxChars: 8000, + }, + }, + ], + }, +} +``` + +#### `skills.limits.maxSkillsPromptChars` + +Sistem istemine enjekte edilen kompakt Skills listesi için genel üst sınır. Bu, isteğe bağlı `SKILL.md` dosyalarının okunmasını etkilemez. + +```json5 +{ + skills: { + limits: { + maxSkillsPromptChars: 18000, + }, + }, +} +``` + +#### `agents.list[].skillsLimits.maxSkillsPromptChars` + +Skills istem bütçesi için ajan başına geçersiz kılma. + +```json5 +{ + agents: { + list: [ + { + id: "tiny-local", + skillsLimits: { + maxSkillsPromptChars: 6000, + }, + }, + ], + }, +} +``` + ### `agents.defaults.imageMaxDimensionPx` -Sağlayıcı çağrılarından önce transcript/tool görsel bloklarında görselin en uzun kenarı için en yüksek piksel boyutu. +Sağlayıcı çağrılarından önce transcript/araç görüntü bloklarında görüntünün en uzun kenarı için azami piksel boyutu. Varsayılan: `1200`. -Daha düşük değerler genellikle ekran görüntüsü ağırlıklı çalıştırmalarda vision token kullanımını ve istek yük boyutunu azaltır. +Daha düşük değerler genellikle ekran görüntüsü ağırlıklı çalıştırmalarda vision-token kullanımını ve istek yük boyutunu azaltır. Daha yüksek değerler daha fazla görsel ayrıntıyı korur. ```json5 @@ -1008,7 +1127,7 @@ Daha yüksek değerler daha fazla görsel ayrıntıyı korur. ### `agents.defaults.userTimezone` -Sistem istemi bağlamı için saat dilimi (mesaj zaman damgaları için değil). Host saat dilimine geri döner. +Sistem istemi bağlamı için saat dilimi (mesaj zaman damgaları için değil). Ana makine saat dilimine geri döner. ```json5 { @@ -1058,7 +1177,7 @@ Sistem istemindeki saat biçimi. Varsayılan: `auto` (OS tercihi). }, params: { cacheRetention: "long" }, // genel varsayılan sağlayıcı parametreleri embeddedHarness: { - runtime: "auto", // auto | pi | kayıtlı harness id, ör. codex + runtime: "auto", // auto | pi | kayıtlı harness kimliği, ör. codex fallback: "pi", // pi | none }, pdfMaxBytesMb: 10, @@ -1077,47 +1196,46 @@ Sistem istemindeki saat biçimi. Varsayılan: `auto` (OS tercihi). - `model`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. - Dize biçimi yalnızca birincil modeli ayarlar. - - Nesne biçimi, birincil modeli ve sıralı yedek modelleri ayarlar. + - Nesne biçimi, birincil modeli ve sıralı failover modellerini ayarlar. - `imageModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. - - Vision model yapılandırması olarak `image` araç yolunda kullanılır. - - Ayrıca seçili/varsayılan model görsel girişi kabul edemediğinde yedek yönlendirme için kullanılır. + - `image` araç yolu tarafından vision model yapılandırması olarak kullanılır. + - Ayrıca, seçilen/varsayılan model görüntü girdisini kabul edemediğinde yedek yönlendirme olarak da kullanılır. - `imageGenerationModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. - - Paylaşılan görsel oluşturma yeteneği ve görsel üreten gelecekteki tüm araç/Plugin yüzeyleri tarafından kullanılır. - - Tipik değerler: yerel Gemini görsel üretimi için `google/gemini-3.1-flash-image-preview`, fal için `fal/fal-ai/flux/dev` veya OpenAI Images için `openai/gpt-image-1`. - - Doğrudan bir sağlayıcı/model seçerseniz, eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın (örneğin `google/*` için `GEMINI_API_KEY` veya `GOOGLE_API_KEY`, `openai/*` için `OPENAI_API_KEY`, `fal/*` için `FAL_KEY`). - - Atlanırsa `image_generate`, yine de kimlik doğrulamalı bir varsayılan sağlayıcı çıkarımı yapabilir. Önce geçerli varsayılan sağlayıcıyı, ardından provider-id sırasıyla kayıtlı kalan görsel oluşturma sağlayıcılarını dener. + - Paylaşılan görüntü üretme yeteneği ve görüntü üreten gelecekteki tüm araç/Plugin yüzeyleri tarafından kullanılır. + - Tipik değerler: yerel Gemini görüntü üretimi için `google/gemini-3.1-flash-image-preview`, fal için `fal/fal-ai/flux/dev` veya OpenAI Images için `openai/gpt-image-1`. + - Bir sağlayıcı/modeli doğrudan seçerseniz eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın (örneğin `google/*` için `GEMINI_API_KEY` veya `GOOGLE_API_KEY`, `openai/*` için `OPENAI_API_KEY`, `fal/*` için `FAL_KEY`). + - Atlanırsa `image_generate`, kimlik doğrulama destekli bir sağlayıcı varsayılanını yine de çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından kayıtlı kalan görüntü üretim sağlayıcılarını sağlayıcı kimliği sırasına göre dener. - `musicGenerationModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. - - Paylaşılan müzik oluşturma yeteneği ve yerleşik `music_generate` aracı tarafından kullanılır. + - Paylaşılan müzik üretme yeteneği ve built-in `music_generate` aracı tarafından kullanılır. - Tipik değerler: `google/lyria-3-clip-preview`, `google/lyria-3-pro-preview` veya `minimax/music-2.5+`. - - Atlanırsa `music_generate`, yine de kimlik doğrulamalı bir varsayılan sağlayıcı çıkarımı yapabilir. Önce geçerli varsayılan sağlayıcıyı, ardından provider-id sırasıyla kayıtlı kalan müzik oluşturma sağlayıcılarını dener. - - Doğrudan bir sağlayıcı/model seçerseniz, eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın. + - Atlanırsa `music_generate`, kimlik doğrulama destekli bir sağlayıcı varsayılanını yine de çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından kayıtlı kalan müzik üretim sağlayıcılarını sağlayıcı kimliği sırasına göre dener. + - Bir sağlayıcı/modeli doğrudan seçerseniz eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın. - `videoGenerationModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. - - Paylaşılan video oluşturma yeteneği ve yerleşik `video_generate` aracı tarafından kullanılır. + - Paylaşılan video üretme yeteneği ve built-in `video_generate` aracı tarafından kullanılır. - Tipik değerler: `qwen/wan2.6-t2v`, `qwen/wan2.6-i2v`, `qwen/wan2.6-r2v`, `qwen/wan2.6-r2v-flash` veya `qwen/wan2.7-r2v`. - - Atlanırsa `video_generate`, yine de kimlik doğrulamalı bir varsayılan sağlayıcı çıkarımı yapabilir. Önce geçerli varsayılan sağlayıcıyı, ardından provider-id sırasıyla kayıtlı kalan video oluşturma sağlayıcılarını dener. - - Doğrudan bir sağlayıcı/model seçerseniz, eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın. - - Bundled Qwen video oluşturma sağlayıcısı en fazla 1 çıktı videosu, 1 girdi görseli, 4 girdi videosu, 10 saniye süre ve sağlayıcı düzeyinde `size`, `aspectRatio`, `resolution`, `audio` ve `watermark` seçeneklerini destekler. + - Atlanırsa `video_generate`, kimlik doğrulama destekli bir sağlayıcı varsayılanını yine de çıkarabilir. Önce geçerli varsayılan sağlayıcıyı, ardından kayıtlı kalan video üretim sağlayıcılarını sağlayıcı kimliği sırasına göre dener. + - Bir sağlayıcı/modeli doğrudan seçerseniz eşleşen sağlayıcı kimlik doğrulamasını/API anahtarını da yapılandırın. + - Bundled Qwen video üretim sağlayıcısı en fazla 1 çıktı videosu, 1 girdi görüntüsü, 4 girdi videosu, 10 saniye süre ve sağlayıcı düzeyinde `size`, `aspectRatio`, `resolution`, `audio` ve `watermark` seçeneklerini destekler. - `pdfModel`: bir dize (`"provider/model"`) veya bir nesne (`{ primary, fallbacks }`) kabul eder. - - Model yönlendirmesi için `pdf` aracı tarafından kullanılır. - - Atlanırsa PDF aracı önce `imageModel`, sonra çözümlenen oturum/varsayılan modele geri döner. + - `pdf` aracı tarafından model yönlendirmesi için kullanılır. + - Atlanırsa PDF aracı, önce `imageModel`e, ardından çözümlenmiş oturum/varsayılan modele geri döner. - `pdfMaxBytesMb`: çağrı sırasında `maxBytesMb` geçirilmediğinde `pdf` aracı için varsayılan PDF boyut sınırı. -- `pdfMaxPages`: `pdf` aracında çıkarım geri dönüş modu tarafından dikkate alınan varsayılan en yüksek sayfa sayısı. -- `verboseDefault`: agent’lar için varsayılan ayrıntı düzeyi. Değerler: `"off"`, `"on"`, `"full"`. Varsayılan: `"off"`. -- `elevatedDefault`: agent’lar için varsayılan elevated-output düzeyi. Değerler: `"off"`, `"on"`, `"ask"`, `"full"`. Varsayılan: `"on"`. -- `model.primary`: `provider/model` biçimi (ör. `openai/gpt-5.4`). Sağlayıcıyı atlarsanız OpenClaw önce bir takma adı, sonra tam bu model kimliği için benzersiz yapılandırılmış sağlayıcı eşleşmesini dener ve ancak ondan sonra yapılandırılmış varsayılan sağlayıcıya geri döner (kullanımdan kalkmış uyumluluk davranışı; bu yüzden açık `provider/model` tercih edin). Bu sağlayıcı artık yapılandırılmış varsayılan modeli sunmuyorsa OpenClaw, eski kaldırılmış sağlayıcı varsayılanını göstermemek için ilk yapılandırılmış sağlayıcı/modele geri döner. -- `models`: `/model` için yapılandırılmış model kataloğu ve izin listesi. Her girdi `alias` (kısayol) ve `params` (sağlayıcıya özgü; örneğin `temperature`, `maxTokens`, `cacheRetention`, `context1m`) içerebilir. +- `pdfMaxPages`: `pdf` aracında çıkarım yedek modunun dikkate aldığı varsayılan azami sayfa sayısı. +- `verboseDefault`: ajanlar için varsayılan ayrıntı düzeyi. Değerler: `"off"`, `"on"`, `"full"`. Varsayılan: `"off"`. +- `elevatedDefault`: ajanlar için varsayılan elevated-output düzeyi. Değerler: `"off"`, `"on"`, `"ask"`, `"full"`. Varsayılan: `"on"`. +- `model.primary`: biçim `provider/model` (örn. `openai/gpt-5.4`). Sağlayıcıyı atlarsanız OpenClaw önce bir takma adı, sonra o tam model kimliği için benzersiz yapılandırılmış sağlayıcı eşleşmesini dener ve ancak ondan sonra yapılandırılmış varsayılan sağlayıcıya geri döner (kullanımdan kaldırılmış uyumluluk davranışı; bu yüzden açık `provider/model` tercih edin). Bu sağlayıcı artık yapılandırılmış varsayılan modeli sunmuyorsa OpenClaw, eski ve kaldırılmış bir sağlayıcı varsayılanını göstermekte ısrar etmek yerine ilk yapılandırılmış sağlayıcı/modele geri döner. +- `models`: `/model` için yapılandırılmış model kataloğu ve izin listesi. Her giriş `alias` (kısayol) ve `params` (sağlayıcıya özgü; örneğin `temperature`, `maxTokens`, `cacheRetention`, `context1m`) içerebilir. - `params`: tüm modellere uygulanan genel varsayılan sağlayıcı parametreleri. `agents.defaults.params` altında ayarlanır (örn. `{ cacheRetention: "long" }`). -- `params` birleştirme önceliği (yapılandırma): `agents.defaults.params` (genel temel), `agents.defaults.models["provider/model"].params` (model başına) tarafından geçersiz kılınır; ardından `agents.list[].params` (eşleşen agent id) anahtar bazında geçersiz kılar. Ayrıntılar için bkz. [Prompt Caching](/tr/reference/prompt-caching). -- `embeddedHarness`: varsayılan düşük seviyeli gömülü agent çalışma zamanı ilkesi. Kayıtlı Plugin harness’lerinin desteklenen modelleri talep etmesine izin vermek için `runtime: "auto"`, yerleşik PI harness’i zorlamak için `runtime: "pi"` veya `runtime: "codex"` gibi kayıtlı bir harness id kullanın. Otomatik PI geri dönüşünü devre dışı bırakmak için `fallback: "none"` ayarlayın. -- Bu alanları değiştiren yapılandırma yazıcıları (örneğin `/models set`, `/models set-image` ve yedek ekleme/kaldırma komutları), kurallı nesne biçimini kaydeder ve mümkün olduğunda mevcut yedek listelerini korur. -- `maxConcurrent`: oturumlar arasında paralel agent çalıştırma üst sınırı (her oturum yine de serileştirilir). Varsayılan: 4. +- `params` birleştirme önceliği (config): `agents.defaults.params` (genel taban), `agents.defaults.models["provider/model"].params` (model başına) tarafından geçersiz kılınır; ardından `agents.list[].params` (eşleşen ajan kimliği) anahtar bazında geçersiz kılar. Ayrıntılar için bkz. [Prompt Caching](/tr/reference/prompt-caching). +- `embeddedHarness`: varsayılan düşük düzey embedded ajan çalışma zamanı ilkesi. Kayıtlı Plugin harness'lerinin desteklenen modelleri sahiplenmesine izin vermek için `runtime: "auto"` kullanın, built-in Pi harness'ini zorlamak için `runtime: "pi"` kullanın veya `runtime: "codex"` gibi kayıtlı bir harness kimliği kullanın. Otomatik Pi yedeğini devre dışı bırakmak için `fallback: "none"` ayarlayın. +- Bu alanları değiştiren yapılandırma yazıcıları (örneğin `/models set`, `/models set-image` ve fallback ekleme/kaldırma komutları) kanonik nesne biçimini kaydeder ve mümkün olduğunda mevcut fallback listelerini korur. +- `maxConcurrent`: oturumlar arasında eşzamanlı azami ajan çalıştırma sayısı (her oturum yine de serileştirilir). Varsayılan: 4. ### `agents.defaults.embeddedHarness` -`embeddedHarness`, gömülü agent dönüşlerini hangi düşük seviyeli yürütücünün çalıştıracağını kontrol eder. +`embeddedHarness`, embedded ajan dönüşlerini hangi düşük düzey yürütücünün çalıştıracağını denetler. Çoğu dağıtım varsayılan `{ runtime: "auto", fallback: "pi" }` değerini korumalıdır. -Bundled -Codex uygulama sunucusu harness’i gibi güvenilir bir Plugin yerel harness sağladığında bunu kullanın. +Bundled Codex app-server harness gibi güvenilir bir Plugin yerel bir harness sağladığında bunu kullanın. ```json5 { @@ -1133,13 +1251,13 @@ Codex uygulama sunucusu harness’i gibi güvenilir bir Plugin yerel harness sa } ``` -- `runtime`: `"auto"`, `"pi"` veya kayıtlı bir Plugin harness id. Bundled Codex Plugin’i `codex` kaydeder. -- `fallback`: `"pi"` veya `"none"`. `"pi"`, yerleşik PI harness’ini uyumluluk geri dönüşü olarak korur. `"none"`, eksik veya desteklenmeyen Plugin harness seçiminin PI’yi sessizce kullanmak yerine başarısız olmasını sağlar. -- Ortam geçersiz kılmaları: `OPENCLAW_AGENT_RUNTIME=`, `runtime` değerini geçersiz kılar; `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, bu süreç için PI geri dönüşünü devre dışı bırakır. +- `runtime`: `"auto"`, `"pi"` veya kayıtlı bir Plugin harness kimliği. Bundled Codex Plugin'i `codex` kaydeder. +- `fallback`: `"pi"` veya `"none"`. `"pi"`, built-in Pi harness'ini uyumluluk yedeği olarak tutar. `"none"`, eksik veya desteklenmeyen Plugin harness seçiminin PI'yi sessizce kullanması yerine başarısız olmasını sağlar. +- Ortam geçersiz kılmaları: `OPENCLAW_AGENT_RUNTIME=`, `runtime` değerini geçersiz kılar; `OPENCLAW_AGENT_HARNESS_FALLBACK=none`, bu işlem için Pi yedeğini devre dışı bırakır. - Yalnızca Codex dağıtımları için `model: "codex/gpt-5.4"`, `embeddedHarness.runtime: "codex"` ve `embeddedHarness.fallback: "none"` ayarlayın. -- Bu yalnızca gömülü sohbet harness’ini kontrol eder. Medya üretimi, vision, PDF, müzik, video ve TTS yine kendi sağlayıcı/model ayarlarını kullanır. +- Bu yalnızca embedded sohbet harness'ini kontrol eder. Medya üretimi, vision, PDF, müzik, video ve TTS yine kendi sağlayıcı/model ayarlarını kullanır. -**Yerleşik takma ad kısayolları** (yalnızca model `agents.defaults.models` içinde olduğunda geçerlidir): +**Built-in takma ad kısayolları** (yalnızca model `agents.defaults.models` içinde olduğunda uygulanır): | Takma ad | Model | | ------------------- | -------------------------------------- | @@ -1154,13 +1272,13 @@ Codex uygulama sunucusu harness’i gibi güvenilir bir Plugin yerel harness sa Yapılandırdığınız takma adlar her zaman varsayılanlara üstün gelir. -Z.AI GLM-4.x modelleri, `--thinking off` ayarlamadığınız veya `agents.defaults.models["zai/"].params.thinking` değerini kendiniz tanımlamadığınız sürece thinking modunu otomatik olarak etkinleştirir. +Z.AI GLM-4.x modelleri, siz `--thinking off` ayarlamadıkça veya `agents.defaults.models["zai/"].params.thinking` değerini kendiniz tanımlamadıkça düşünme modunu otomatik olarak etkinleştirir. Z.AI modelleri, araç çağrısı akışı için varsayılan olarak `tool_stream` etkinleştirir. Devre dışı bırakmak için `agents.defaults.models["zai/"].params.tool_stream` değerini `false` yapın. -Anthropic Claude 4.6 modelleri, açık bir thinking düzeyi ayarlanmadığında varsayılan olarak `adaptive` thinking kullanır. +Anthropic Claude 4.6 modelleri, açık bir düşünme düzeyi ayarlanmadığında varsayılan olarak `adaptive` düşünmeyi kullanır. ### `agents.defaults.cliBackends` -Salt metin geri dönüş çalıştırmaları için isteğe bağlı CLI arka uçları (araç çağrısı yok). API sağlayıcıları başarısız olduğunda yedek olarak kullanışlıdır. +Yalnızca metin tabanlı yedek çalıştırmalar için isteğe bağlı CLI arka uçları (araç çağrısı yok). API sağlayıcıları başarısız olduğunda yedek olarak kullanışlıdır. ```json5 { @@ -1190,17 +1308,17 @@ Salt metin geri dönüş çalıştırmaları için isteğe bağlı CLI arka uçl - CLI arka uçları öncelikle metin içindir; araçlar her zaman devre dışıdır. - `sessionArg` ayarlandığında oturumlar desteklenir. -- `imageArg` dosya yollarını kabul ettiğinde görsel geçişi desteklenir. +- `imageArg` dosya yollarını kabul ettiğinde görüntü geçirme desteklenir. ### `agents.defaults.systemPromptOverride` -OpenClaw tarafından oluşturulan sistem isteminin tamamını sabit bir dizeyle değiştirin. Varsayılan düzeyinde (`agents.defaults.systemPromptOverride`) veya agent başına (`agents.list[].systemPromptOverride`) ayarlayın. Agent başına değerler önceliklidir; boş veya yalnızca boşluk içeren bir değer yok sayılır. Denetimli istem deneyleri için kullanışlıdır. +OpenClaw tarafından oluşturulan sistem isteminin tamamını sabit bir dizeyle değiştirin. Varsayılan düzeyde (`agents.defaults.systemPromptOverride`) veya ajan başına (`agents.list[].systemPromptOverride`) ayarlanır. Ajan başına değerler önceliklidir; boş veya yalnızca boşluk içeren değerler yok sayılır. Denetimli istem deneyleri için kullanışlıdır. ```json5 { agents: { defaults: { - systemPromptOverride: "Yardımsever bir asistansın.", + systemPromptOverride: "You are a helpful assistant.", }, }, } @@ -1208,7 +1326,7 @@ OpenClaw tarafından oluşturulan sistem isteminin tamamını sabit bir dizeyle ### `agents.defaults.heartbeat` -Düzenli Heartbeat çalıştırmaları. +Periyodik Heartbeat çalıştırmaları. ```json5 { @@ -1219,13 +1337,13 @@ Düzenli Heartbeat çalıştırmaları. model: "openai/gpt-5.4-mini", includeReasoning: false, includeSystemPromptSection: true, // varsayılan: true; false, Heartbeat bölümünü sistem isteminden çıkarır - lightContext: false, // varsayılan: false; true, workspace bootstrap dosyalarından yalnızca HEARTBEAT.md dosyasını tutar + lightContext: false, // varsayılan: false; true, çalışma alanı bootstrap dosyalarından yalnızca HEARTBEAT.md dosyasını tutar isolatedSession: false, // varsayılan: false; true, her Heartbeat'i yeni bir oturumda çalıştırır (konuşma geçmişi yok) session: "main", to: "+15555550123", directPolicy: "allow", // allow (varsayılan) | block target: "none", // varsayılan: none | seçenekler: last | whatsapp | telegram | discord | ... - prompt: "Varsa HEARTBEAT.md dosyasını okuyun...", + prompt: "Read HEARTBEAT.md if it exists...", ackMaxChars: 300, suppressToolErrorWarnings: false, timeoutSeconds: 45, @@ -1236,14 +1354,14 @@ Düzenli Heartbeat çalıştırmaları. ``` - `every`: süre dizesi (ms/s/m/h). Varsayılan: `30m` (API anahtarı kimlik doğrulaması) veya `1h` (OAuth kimlik doğrulaması). Devre dışı bırakmak için `0m` ayarlayın. -- `includeSystemPromptSection`: false olduğunda, Heartbeat bölümünü sistem isteminden çıkarır ve bootstrap bağlamına `HEARTBEAT.md` eklenmesini atlar. Varsayılan: `true`. -- `suppressToolErrorWarnings`: true olduğunda, Heartbeat çalıştırmaları sırasında araç hata uyarısı yüklerini bastırır. -- `timeoutSeconds`: iptal edilmeden önce bir Heartbeat agent dönüşü için izin verilen en yüksek saniye sayısı. `agents.defaults.timeoutSeconds` kullanılsın isterseniz ayarlamadan bırakın. -- `directPolicy`: doğrudan/DM teslim ilkesi. `allow` (varsayılan), doğrudan hedefe teslimata izin verir. `block`, doğrudan hedefe teslimatı bastırır ve `reason=dm-blocked` üretir. -- `lightContext`: true olduğunda, Heartbeat çalıştırmaları hafif bootstrap bağlamı kullanır ve workspace bootstrap dosyalarından yalnızca `HEARTBEAT.md` dosyasını tutar. -- `isolatedSession`: true olduğunda, her Heartbeat önceki konuşma geçmişi olmadan yeni bir oturumda çalışır. Cron `sessionTarget: "isolated"` ile aynı yalıtım deseni. Heartbeat başına token maliyetini ~100K’den ~2-5K token’a düşürür. -- Agent başına: `agents.list[].heartbeat` ayarlayın. Herhangi bir agent `heartbeat` tanımlarsa, **yalnızca bu agent’lar** Heartbeat çalıştırır. -- Heartbeat’ler tam agent dönüşleri çalıştırır — daha kısa aralıklar daha fazla token tüketir. +- `includeSystemPromptSection`: false olduğunda Heartbeat bölümünü sistem isteminden çıkarır ve `HEARTBEAT.md` enjeksiyonunu bootstrap bağlamına atlar. Varsayılan: `true`. +- `suppressToolErrorWarnings`: true olduğunda Heartbeat çalıştırmaları sırasında araç hata uyarısı payload'larını bastırır. +- `timeoutSeconds`: iptal edilmeden önce bir Heartbeat ajan dönüşü için izin verilen azami saniye sayısı. `agents.defaults.timeoutSeconds` kullanılsın istiyorsanız ayarlamadan bırakın. +- `directPolicy`: doğrudan/DM teslim ilkesi. `allow` (varsayılan), doğrudan hedef teslimine izin verir. `block`, doğrudan hedef teslimini bastırır ve `reason=dm-blocked` üretir. +- `lightContext`: true olduğunda Heartbeat çalıştırmaları hafif bootstrap bağlamı kullanır ve çalışma alanı bootstrap dosyalarından yalnızca `HEARTBEAT.md` dosyasını tutar. +- `isolatedSession`: true olduğunda her Heartbeat, önceki konuşma geçmişi olmayan yeni bir oturumda çalışır. Cron `sessionTarget: "isolated"` ile aynı yalıtım deseni. Heartbeat başına token maliyetini yaklaşık 100K'den yaklaşık 2-5K token'a düşürür. +- Ajan başına: `agents.list[].heartbeat` ayarlayın. Herhangi bir ajan `heartbeat` tanımlarsa, Heartbeat yalnızca **o ajanlar** için çalışır. +- Heartbeat'ler tam ajan dönüşleri çalıştırır — daha kısa aralıklar daha fazla token harcar. ### `agents.defaults.compaction` @@ -1253,19 +1371,19 @@ Düzenli Heartbeat çalıştırmaları. defaults: { compaction: { mode: "safeguard", // default | safeguard - provider: "my-provider", // kayıtlı bir Compaction sağlayıcı Plugin'inin id'si (isteğe bağlı) + provider: "my-provider", // kayıtlı bir Compaction sağlayıcı Plugin'inin kimliği (isteğe bağlı) timeoutSeconds: 900, reserveTokensFloor: 24000, identifierPolicy: "strict", // strict | off | custom - identifierInstructions: "Dağıtım kimliklerini, bilet kimliklerini ve host:port çiftlerini aynen koruyun.", // identifierPolicy=custom olduğunda kullanılır - postCompactionSections: ["Session Startup", "Red Lines"], // [] yeniden eklemeyi devre dışı bırakır + identifierInstructions: "Dağıtım kimliklerini, bilet kimliklerini ve host:port çiftlerini tam olarak koru.", // identifierPolicy=custom olduğunda kullanılır + postCompactionSections: ["Session Startup", "Red Lines"], // [] yeniden enjeksiyonu devre dışı bırakır model: "openrouter/anthropic/claude-sonnet-4-6", // yalnızca Compaction için isteğe bağlı model geçersiz kılması - notifyUser: true, // Compaction başladığında kullanıcıya kısa bir bildirim gönder (varsayılan: false) + notifyUser: true, // Compaction başladığında kısa bir bildirim gönder (varsayılan: false) memoryFlush: { enabled: true, softThresholdTokens: 6000, - systemPrompt: "Oturum Compaction sınırına yaklaşıyor. Kalıcı anıları şimdi saklayın.", - prompt: "Kalıcı notları memory/YYYY-MM-DD.md dosyasına yazın; saklanacak bir şey yoksa tam olarak sessiz NO_REPLY token'ı ile yanıt verin.", + systemPrompt: "Oturum Compaction sınırına yaklaşıyor. Kalıcı anıları şimdi depola.", + prompt: "Kalıcı notları memory/YYYY-MM-DD.md dosyasına yaz; depolanacak bir şey yoksa tam olarak NO_REPLY sessiz belirtecini yanıtla.", }, }, }, @@ -1273,19 +1391,19 @@ Düzenli Heartbeat çalıştırmaları. } ``` -- `mode`: `default` veya `safeguard` (uzun geçmişler için parçalara ayrılmış özetleme). Bkz. [Compaction](/tr/concepts/compaction). -- `provider`: kayıtlı bir Compaction sağlayıcı Plugin'inin id'si. Ayarlandığında, yerleşik LLM özetleme yerine sağlayıcının `summarize()` yöntemi çağrılır. Başarısızlıkta yerleşik olana geri döner. Bir sağlayıcı ayarlamak `mode: "safeguard"` değerini zorunlu kılar. Bkz. [Compaction](/tr/concepts/compaction). -- `timeoutSeconds`: OpenClaw bunu iptal etmeden önce tek bir Compaction işlemi için izin verilen en yüksek saniye sayısı. Varsayılan: `900`. -- `identifierPolicy`: `strict` (varsayılan), `off` veya `custom`. `strict`, Compaction özetlemesi sırasında yerleşik opak tanımlayıcı koruma yönergelerini başa ekler. +- `mode`: `default` veya `safeguard` (uzun geçmişler için parçalı özetleme). Bkz. [Compaction](/tr/concepts/compaction). +- `provider`: kayıtlı bir Compaction sağlayıcı Plugin'inin kimliği. Ayarlandığında built-in LLM özetleme yerine sağlayıcının `summarize()` işlevi çağrılır. Başarısızlık durumunda built-in davranışa geri döner. Bir sağlayıcı ayarlamak `mode: "safeguard"` değerini zorunlu kılar. Bkz. [Compaction](/tr/concepts/compaction). +- `timeoutSeconds`: OpenClaw onu iptal etmeden önce tek bir Compaction işlemi için izin verilen azami saniye sayısı. Varsayılan: `900`. +- `identifierPolicy`: `strict` (varsayılan), `off` veya `custom`. `strict`, Compaction özetleme sırasında built-in opak tanımlayıcı koruma yönergesini başa ekler. - `identifierInstructions`: `identifierPolicy=custom` olduğunda kullanılan isteğe bağlı özel tanımlayıcı koruma metni. -- `postCompactionSections`: Compaction sonrası yeniden eklenecek isteğe bağlı AGENTS.md H2/H3 bölüm adları. Varsayılan `["Session Startup", "Red Lines"]`; yeniden eklemeyi devre dışı bırakmak için `[]` ayarlayın. Ayarlanmamışsa veya açıkça bu varsayılan çift olarak ayarlanmışsa, eski `Every Session`/`Safety` başlıkları da eski uyumluluk geri dönüşü olarak kabul edilir. -- `model`: yalnızca Compaction özetlemesi için isteğe bağlı `provider/model-id` geçersiz kılması. Ana oturum bir modeli kullanmaya devam ederken Compaction özetlerinin başka bir modelde çalışmasını istediğinizde bunu kullanın; ayarlanmadığında Compaction, oturumun birincil modelini kullanır. -- `notifyUser`: `true` olduğunda, Compaction başladığında kullanıcıya kısa bir bildirim gönderir (örneğin "Bağlam sıkıştırılıyor..."). Compaction'ı sessiz tutmak için varsayılan olarak devre dışıdır. -- `memoryFlush`: otomatik Compaction öncesinde kalıcı anıları saklamak için sessiz agent dönüşü. Workspace salt okunursa atlanır. +- `postCompactionSections`: Compaction sonrasında yeniden enjekte edilecek isteğe bağlı AGENTS.md H2/H3 bölüm adları. Varsayılan `["Session Startup", "Red Lines"]`; yeniden enjeksiyonu devre dışı bırakmak için `[]` ayarlayın. Ayarlanmamışsa veya açıkça bu varsayılan çifte ayarlanmışsa, eski `Every Session`/`Safety` başlıkları da eski uyumluluk yedeği olarak kabul edilir. +- `model`: yalnızca Compaction özetleme için isteğe bağlı `provider/model-id` geçersiz kılması. Ana oturumun bir modeli kullanmaya devam etmesi ama Compaction özetlerinin başka bir modelde çalışması gerektiğinde bunu kullanın; ayarlanmamışsa Compaction, oturumun birincil modelini kullanır. +- `notifyUser`: `true` olduğunda Compaction başladığında kullanıcıya kısa bir bildirim gönderir (örneğin, "Bağlam sıkıştırılıyor..."). Compaction'ı sessiz tutmak için varsayılan olarak devre dışıdır. +- `memoryFlush`: otomatik Compaction öncesinde kalıcı anıları depolamak için sessiz ajan dönüşü. Çalışma alanı salt okunursa atlanır. ### `agents.defaults.contextPruning` -LLM'ye göndermeden önce bellek içi bağlamdan **eski araç sonuçlarını** budar. Diskteki oturum geçmişini **değiştirmez**. +LLM'ye göndermeden önce bellek içi bağlamdan **eski araç sonuçlarını** budar. Disk üzerindeki oturum geçmişini **değiştirmez**. ```json5 { @@ -1309,23 +1427,23 @@ LLM'ye göndermeden önce bellek içi bağlamdan **eski araç sonuçlarını** b -- `mode: "cache-ttl"` budama geçişlerini etkinleştirir. -- `ttl`, budamanın ne sıklıkla tekrar çalışabileceğini kontrol eder (son önbellek dokunuşundan sonra). -- Budama önce büyük araç sonuçlarını yumuşak şekilde kırpar, gerekirse daha eski araç sonuçlarını tamamen temizler. +- `mode: "cache-ttl"`, budama geçişlerini etkinleştirir. +- `ttl`, budamanın ne kadar sıklıkla yeniden çalışabileceğini kontrol eder (son önbellek dokunuşundan sonra). +- Budama önce aşırı büyük araç sonuçlarını yumuşak biçimde keser, ardından gerekirse eski araç sonuçlarını tamamen temizler. -**Yumuşak kırpma**, başlangıcı + sonu korur ve ortaya `...` ekler. +**Yumuşak kesme**, başı + sonu korur ve ortaya `...` ekler. -**Tam temizleme**, tüm araç sonucunu yer tutucu ile değiştirir. +**Tam temizleme**, tüm araç sonucunu yer tutucuyla değiştirir. Notlar: -- Görsel blokları hiçbir zaman kırpılmaz/temizlenmez. +- Görüntü blokları asla kesilmez/temizlenmez. - Oranlar tam token sayıları değil, karakter tabanlıdır (yaklaşık). - `keepLastAssistants` sayısından daha az asistan mesajı varsa budama atlanır. -Davranış ayrıntıları için bkz. [Oturum Budama](/tr/concepts/session-pruning). +Davranış ayrıntıları için bkz. [Session Pruning](/tr/concepts/session-pruning). ### Blok akışı @@ -1343,11 +1461,11 @@ Davranış ayrıntıları için bkz. [Oturum Budama](/tr/concepts/session-prunin } ``` -- Telegram dışındaki kanallarda blok yanıtlarını etkinleştirmek için açık `*.blockStreaming: true` gerekir. -- Kanal geçersiz kılmaları: `channels..blockStreamingCoalesce` (ve hesap başına varyantları). Signal/Slack/Discord/Google Chat varsayılanı `minChars: 1500`. -- `humanDelay`: blok yanıtlar arasındaki rastgele duraklama. `natural` = 800–2500ms. Agent başına geçersiz kılma: `agents.list[].humanDelay`. +- Telegram dışındaki kanallar, blok yanıtları etkinleştirmek için açık `*.blockStreaming: true` gerektirir. +- Kanal geçersiz kılmaları: `channels..blockStreamingCoalesce` (ve hesap başına varyantları). Signal/Slack/Discord/Google Chat için varsayılan `minChars: 1500`. +- `humanDelay`: blok yanıtlar arasındaki rastgele duraklama. `natural` = 800–2500 ms. Ajan başına geçersiz kılma: `agents.list[].humanDelay`. -Davranış + parçalama ayrıntıları için bkz. [Akış](/tr/concepts/streaming). +Davranış + parçalara ayırma ayrıntıları için bkz. [Streaming](/tr/concepts/streaming). ### Yazıyor göstergeleri @@ -1365,13 +1483,13 @@ Davranış + parçalama ayrıntıları için bkz. [Akış](/tr/concepts/streamin - Varsayılanlar: doğrudan sohbetler/mention'lar için `instant`, mention içermeyen grup sohbetleri için `message`. - Oturum başına geçersiz kılmalar: `session.typingMode`, `session.typingIntervalSeconds`. -Bkz. [Yazıyor Göstergeleri](/tr/concepts/typing-indicators). +Bkz. [Typing Indicators](/tr/concepts/typing-indicators). ### `agents.defaults.sandbox` -Gömülü agent için isteğe bağlı sandbox kullanımı. Tam kılavuz için bkz. [Sandboxing](/tr/gateway/sandboxing). +Embedded ajan için isteğe bağlı sandboxing. Tam kılavuz için bkz. [Sandboxing](/tr/gateway/sandboxing). ```json5 { @@ -1471,7 +1589,7 @@ Gömülü agent için isteğe bağlı sandbox kullanımı. Tam kılavuz için bk **Arka uç:** - `docker`: yerel Docker çalışma zamanı (varsayılan) -- `ssh`: genel SSH destekli uzak çalışma zamanı +- `ssh`: genel SSH tabanlı uzak çalışma zamanı - `openshell`: OpenShell çalışma zamanı `backend: "openshell"` seçildiğinde, çalışma zamanına özgü ayarlar @@ -1481,9 +1599,9 @@ Gömülü agent için isteğe bağlı sandbox kullanımı. Tam kılavuz için bk - `target`: `user@host[:port]` biçiminde SSH hedefi - `command`: SSH istemci komutu (varsayılan: `ssh`) -- `workspaceRoot`: kapsam başına workspace'ler için kullanılan mutlak uzak kök +- `workspaceRoot`: kapsam başına çalışma alanları için kullanılan mutlak uzak kök - `identityFile` / `certificateFile` / `knownHostsFile`: OpenSSH'ye geçirilen mevcut yerel dosyalar -- `identityData` / `certificateData` / `knownHostsData`: OpenClaw'ın çalışma zamanında geçici dosyalara dönüştürdüğü satır içi içerikler veya SecretRef'ler +- `identityData` / `certificateData` / `knownHostsData`: OpenClaw'un çalışma zamanında geçici dosyalara dönüştürdüğü satır içi içerikler veya SecretRef'ler - `strictHostKeyChecking` / `updateHostKeys`: OpenSSH host-key ilkesi ayarları **SSH kimlik doğrulama önceliği:** @@ -1491,27 +1609,27 @@ Gömülü agent için isteğe bağlı sandbox kullanımı. Tam kılavuz için bk - `identityData`, `identityFile` değerine üstün gelir - `certificateData`, `certificateFile` değerine üstün gelir - `knownHostsData`, `knownHostsFile` değerine üstün gelir -- SecretRef destekli `*Data` değerleri, sandbox oturumu başlamadan önce etkin secrets çalışma zamanı anlık görüntüsünden çözülür +- SecretRef destekli `*Data` değerleri, sandbox oturumu başlamadan önce etkin secrets çalışma zamanı anlık görüntüsünden çözümlenir **SSH arka uç davranışı:** -- uzak workspace'i oluşturma veya yeniden oluşturma sonrasında bir kez tohumlar -- ardından uzak SSH workspace'ini kurallı tutar +- oluşturma veya yeniden oluşturma sonrasında uzak çalışma alanını bir kez tohumlar +- ardından uzak SSH çalışma alanını kanonik tutar - `exec`, dosya araçları ve medya yollarını SSH üzerinden yönlendirir -- uzak değişiklikleri otomatik olarak host'a geri eşitlemez +- uzak değişiklikleri otomatik olarak ana makineye geri eşitlemez - sandbox tarayıcı kapsayıcılarını desteklemez -**Workspace erişimi:** +**Çalışma alanı erişimi:** -- `none`: `~/.openclaw/sandboxes` altında kapsam başına sandbox workspace -- `ro`: sandbox workspace `/workspace` altında, agent workspace ise salt okunur olarak `/agent` altında bağlanır -- `rw`: agent workspace okuma/yazma olarak `/workspace` altında bağlanır +- `none`: `~/.openclaw/sandboxes` altında kapsam başına sandbox çalışma alanı +- `ro`: `/workspace` üzerinde sandbox çalışma alanı, `/agent` üzerinde salt okunur bağlanmış ajan çalışma alanı +- `rw`: `/workspace` üzerinde okuma/yazma bağlanmış ajan çalışma alanı **Kapsam:** -- `session`: oturum başına kapsayıcı + workspace -- `agent`: agent başına bir kapsayıcı + workspace (varsayılan) -- `shared`: paylaşılan kapsayıcı ve workspace (oturumlar arası yalıtım yok) +- `session`: oturum başına kapsayıcı + çalışma alanı +- `agent`: ajan başına tek kapsayıcı + çalışma alanı (varsayılan) +- `shared`: paylaşılan kapsayıcı ve çalışma alanı (oturumlar arası yalıtım yok) **OpenShell Plugin yapılandırması:** @@ -1528,7 +1646,7 @@ Gömülü agent için isteğe bağlı sandbox kullanımı. Tam kılavuz için bk remoteAgentWorkspaceDir: "/agent", gateway: "lab", // isteğe bağlı gatewayEndpoint: "https://lab.example", // isteğe bağlı - policy: "strict", // isteğe bağlı OpenShell politika id'si + policy: "strict", // isteğe bağlı OpenShell ilke kimliği providers: ["openai"], // isteğe bağlı autoProviders: true, timeoutSeconds: 120, @@ -1541,30 +1659,30 @@ Gömülü agent için isteğe bağlı sandbox kullanımı. Tam kılavuz için bk **OpenShell modu:** -- `mirror`: exec öncesinde uzağı yerelden tohumla, exec sonrasında geri eşitle; yerel workspace kurallı kalır -- `remote`: sandbox oluşturulduğunda uzağı bir kez tohumla, ardından uzak workspace'i kurallı tut +- `mirror`: `exec` öncesinde yerelden uzağa tohumlar, `exec` sonrasında geri eşitler; yerel çalışma alanı kanonik kalır +- `remote`: sandbox oluşturulduğunda uzağı bir kez tohumlar, ardından uzak çalışma alanını kanonik tutar -`remote` modunda, tohumlama adımından sonra OpenClaw dışında yapılan host-yerel düzenlemeler sandbox içine otomatik olarak eşitlenmez. -Taşıma SSH üzerinden OpenShell sandbox'ına yapılır, ancak sandbox yaşam döngüsü ve isteğe bağlı yansıtma eşitlemesi Plugin tarafından yönetilir. +`remote` modunda, OpenClaw dışında yapılan ana makine yerel düzenlemeleri tohumlama adımından sonra sandbox içine otomatik olarak eşitlenmez. +Taşıma SSH ile OpenShell sandbox içine yapılır, ancak sandbox yaşam döngüsü ve isteğe bağlı ayna eşitleme Plugin tarafından sahiplenilir. -**`setupCommand`**, kapsayıcı oluşturulduktan sonra bir kez çalışır (`sh -lc` ile). Ağ çıkışı, yazılabilir kök ve root kullanıcı gerekir. +**`setupCommand`**, kapsayıcı oluşturulduktan sonra bir kez çalışır (`sh -lc` aracılığıyla). Ağ çıkışı, yazılabilir kök ve root kullanıcı gerektirir. -**Kapsayıcıların varsayılanı `network: "none"`** — agent'ın dış erişime ihtiyacı varsa `"bridge"` (veya özel bir bridge ağı) olarak ayarlayın. -`"host"` engellenir. `"container:"` varsayılan olarak engellenir; ancak açıkça -`sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true` ayarlarsanız izin verilir (acil durum modu). +**Kapsayıcılar varsayılan olarak `network: "none"` kullanır** — ajanın dış erişime ihtiyacı varsa `"bridge"` (veya özel bir bridge ağı) olarak ayarlayın. +`"host"` engellenir. `"container:"`, açıkça +`sandbox.docker.dangerouslyAllowContainerNamespaceJoin: true` ayarlamadığınız sürece varsayılan olarak engellenir (son çare modu). -**Gelen ekler**, etkin workspace içinde `media/inbound/*` altına hazırlanır. +**Gelen ekler**, etkin çalışma alanındaki `media/inbound/*` altına aşamalandırılır. -**`docker.binds`**, ek host dizinlerini bağlar; genel ve agent başına bind'ler birleştirilir. +**`docker.binds`**, ek ana makine dizinlerini bağlar; genel ve ajan başına bağlamalar birleştirilir. -**Sandbox tarayıcı** (`sandbox.browser.enabled`): kapsayıcı içinde Chromium + CDP. noVNC URL'si sistem istemine eklenir. `openclaw.json` içinde `browser.enabled` gerektirmez. -noVNC gözlemci erişimi varsayılan olarak VNC kimlik doğrulamasını kullanır ve OpenClaw, parolayı paylaşılan URL'de açığa çıkarmak yerine kısa ömürlü bir token URL'si üretir. +**Sandbox tarayıcı** (`sandbox.browser.enabled`): kapsayıcı içinde Chromium + CDP. noVNC URL'si sistem istemine enjekte edilir. `openclaw.json` içinde `browser.enabled` gerektirmez. +noVNC gözlemci erişimi varsayılan olarak VNC kimlik doğrulaması kullanır ve OpenClaw, paylaşılan URL'de parolayı açığa çıkarmak yerine kısa ömürlü bir token URL'si üretir. -- `allowHostControl: false` (varsayılan), sandbox oturumlarının host tarayıcıyı hedeflemesini engeller. -- `network` varsayılan olarak `openclaw-sandbox-browser` değerini kullanır (özel bridge ağı). Yalnızca genel bridge bağlantısını açıkça istediğinizde `bridge` olarak ayarlayın. -- `cdpSourceRange`, isteğe bağlı olarak kapsayıcı kenarında CDP girişini bir CIDR aralığıyla sınırlar (örneğin `172.21.0.1/32`). -- `sandbox.browser.binds`, ek host dizinlerini yalnızca sandbox tarayıcı kapsayıcısına bağlar. Ayarlandığında (`[]` dahil), tarayıcı kapsayıcısı için `docker.binds` değerinin yerine geçer. -- Başlatma varsayılanları `scripts/sandbox-browser-entrypoint.sh` içinde tanımlanır ve kapsayıcı host'ları için ayarlanmıştır: +- `allowHostControl: false` (varsayılan), sandbox oturumlarının ana makine tarayıcısını hedeflemesini engeller. +- `network` varsayılan olarak `openclaw-sandbox-browser` değerini kullanır (özel bridge ağı). Genel bridge bağlantısını açıkça istediğinizde yalnızca `bridge` olarak ayarlayın. +- `cdpSourceRange`, isteğe bağlı olarak CDP girişini kapsayıcı sınırında bir CIDR aralığıyla kısıtlar (örneğin `172.21.0.1/32`). +- `sandbox.browser.binds`, ek ana makine dizinlerini yalnızca sandbox tarayıcı kapsayıcısına bağlar. Ayarlandığında (`[]` dahil), tarayıcı kapsayıcısı için `docker.binds` değerinin yerine geçer. +- Başlatma varsayılanları `scripts/sandbox-browser-entrypoint.sh` içinde tanımlanır ve kapsayıcı ana makineleri için ayarlanmıştır: - `--remote-debugging-address=127.0.0.1` - `--remote-debugging-port=` - `--user-data-dir=${HOME}/.chrome` @@ -1583,29 +1701,29 @@ noVNC gözlemci erişimi varsayılan olarak VNC kimlik doğrulamasını kullanı - `--metrics-recording-only` - `--disable-extensions` (varsayılan olarak etkin) - `--disable-3d-apis`, `--disable-software-rasterizer` ve `--disable-gpu` - varsayılan olarak etkindir; WebGL/3D kullanımı gerektiriyorsa + varsayılan olarak etkindir ve WebGL/3D kullanımı bunu gerektiriyorsa `OPENCLAW_BROWSER_DISABLE_GRAPHICS_FLAGS=0` ile devre dışı bırakılabilir. - - İş akışınız buna bağlıysa uzantıları yeniden etkinleştirmek için - `OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0` kullanın. + - İş akışınız bunlara bağlıysa + `OPENCLAW_BROWSER_DISABLE_EXTENSIONS=0`, uzantıları yeniden etkinleştirir. - `--renderer-process-limit=2`, `OPENCLAW_BROWSER_RENDERER_PROCESS_LIMIT=` ile değiştirilebilir; Chromium'un - varsayılan işlem sınırını kullanmak için `0` ayarlayın. + varsayılan süreç sınırını kullanmak için `0` ayarlayın. - ayrıca `noSandbox` etkin olduğunda `--no-sandbox` ve `--disable-setuid-sandbox`. - - Varsayılanlar kapsayıcı imajı temel çizgisidir; kapsayıcı varsayılanlarını değiştirmek için - özel bir entrypoint'e sahip özel bir tarayıcı imajı kullanın. + - Varsayılanlar kapsayıcı imajının taban çizgisidir; kapsayıcı varsayılanlarını değiştirmek için özel bir + entrypoint ile özel bir tarayıcı imajı kullanın. -Tarayıcı sandbox kullanımı ve `sandbox.docker.binds` yalnızca Docker içindir. +Tarayıcı sandboxing ve `sandbox.docker.binds` yalnızca Docker içindir. -İmajları derleyin: +İmajları oluşturun: ```bash scripts/sandbox-setup.sh # ana sandbox imajı scripts/sandbox-browser-setup.sh # isteğe bağlı tarayıcı imajı ``` -### `agents.list` (agent başına geçersiz kılmalar) +### `agents.list` (ajan başına geçersiz kılmalar) ```json5 { @@ -1618,9 +1736,9 @@ scripts/sandbox-browser-setup.sh # isteğe bağlı tarayıcı imajı workspace: "~/.openclaw/workspace", agentDir: "~/.openclaw/agents/main/agent", model: "anthropic/claude-opus-4-6", // veya { primary, fallbacks } - thinkingDefault: "high", // agent başına thinking düzeyi geçersiz kılması - reasoningDefault: "on", // agent başına reasoning görünürlüğü geçersiz kılması - fastModeDefault: false, // agent başına hızlı mod geçersiz kılması + thinkingDefault: "high", // ajan başına düşünme düzeyi geçersiz kılması + reasoningDefault: "on", // ajan başına akıl yürütme görünürlüğü geçersiz kılması + fastModeDefault: false, // ajan başına hızlı mod geçersiz kılması embeddedHarness: { runtime: "auto", fallback: "pi" }, params: { cacheRetention: "none" }, // eşleşen defaults.models params değerlerini anahtar bazında geçersiz kılar skills: ["docs-search"], // ayarlandığında agents.defaults.skills değerinin yerine geçer @@ -1654,27 +1772,27 @@ scripts/sandbox-browser-setup.sh # isteğe bağlı tarayıcı imajı } ``` -- `id`: kararlı agent kimliği (zorunlu). -- `default`: birden fazla ayarlandığında ilki kazanır (uyarı günlüğe yazılır). Hiçbiri ayarlanmamışsa ilk liste girdisi varsayılandır. -- `model`: dize biçimi yalnızca `primary` değerini geçersiz kılar; nesne biçimi `{ primary, fallbacks }` her ikisini de geçersiz kılar (`[]`, genel yedekleri devre dışı bırakır). Yalnızca `primary` geçersiz kılan Cron işleri, `fallbacks: []` ayarlamadığınız sürece varsayılan yedekleri devralmaya devam eder. -- `params`: `agents.defaults.models` içindeki seçili model girdisinin üzerine birleştirilen agent başına akış parametreleri. Tüm model kataloğunu çoğaltmadan `cacheRetention`, `temperature` veya `maxTokens` gibi agent'a özgü geçersiz kılmalar için bunu kullanın. -- `skills`: isteğe bağlı agent başına skill izin listesi. Atlanırsa agent, ayarlı olduğunda `agents.defaults.skills` değerini devralır; açık bir liste varsayılanlarla birleştirilmek yerine onların yerini alır ve `[]` skill olmadığı anlamına gelir. -- `thinkingDefault`: isteğe bağlı agent başına varsayılan thinking düzeyi (`off | minimal | low | medium | high | xhigh | adaptive`). Mesaj başına veya oturum geçersiz kılması ayarlanmadığında bu agent için `agents.defaults.thinkingDefault` değerini geçersiz kılar. -- `reasoningDefault`: isteğe bağlı agent başına varsayılan reasoning görünürlüğü (`on | off | stream`). Mesaj başına veya oturum reasoning geçersiz kılması ayarlanmadığında uygulanır. -- `fastModeDefault`: isteğe bağlı agent başına hızlı mod varsayılanı (`true | false`). Mesaj başına veya oturum hızlı mod geçersiz kılması ayarlanmadığında uygulanır. -- `embeddedHarness`: isteğe bağlı agent başına düşük seviyeli harness ilkesi geçersiz kılması. Bir agent'ı yalnızca Codex yaparken diğer agent'ların varsayılan PI geri dönüşünü koruması için `{ runtime: "codex", fallback: "none" }` kullanın. -- `runtime`: isteğe bağlı agent başına çalışma zamanı tanımlayıcısı. Agent varsayılan olarak ACP harness oturumları kullanacaksa `runtime.acp` varsayılanları (`agent`, `backend`, `mode`, `cwd`) ile `type: "acp"` kullanın. -- `identity.avatar`: workspace'e göreli yol, `http(s)` URL'si veya `data:` URI. -- `identity`, varsayılanları türetir: `emoji` değerinden `ackReaction`, `name`/`emoji` değerlerinden `mentionPatterns`. -- `subagents.allowAgents`: `sessions_spawn` için agent kimlikleri izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı agent). -- Sandbox devralma koruması: istekte bulunan oturum sandbox içindeyse `sessions_spawn`, sandbox olmadan çalışacak hedefleri reddeder. -- `subagents.requireAgentId`: true olduğunda `agentId` belirtilmeyen `sessions_spawn` çağrılarını engeller (açık profil seçimini zorlar; varsayılan: false). +- `id`: kararlı ajan kimliği (zorunlu). +- `default`: birden fazla ayarlandığında ilki kazanır (uyarı kaydedilir). Hiçbiri ayarlanmazsa ilk liste girdisi varsayılan olur. +- `model`: dize biçimi yalnızca `primary` değerini geçersiz kılar; nesne biçimi `{ primary, fallbacks }` her ikisini de geçersiz kılar (`[]`, genel fallback'leri devre dışı bırakır). Yalnızca `primary` değerini geçersiz kılan Cron işleri, `fallbacks: []` ayarlamadığınız sürece varsayılan fallback'leri devralmaya devam eder. +- `params`: `agents.defaults.models` içindeki seçili model girdisi üzerine birleştirilen ajan başına akış parametreleri. Bunu, tüm model kataloğunu çoğaltmadan `cacheRetention`, `temperature` veya `maxTokens` gibi ajana özgü geçersiz kılmalar için kullanın. +- `skills`: isteğe bağlı ajan başına skill izin listesi. Atlanırsa ajan, ayarlanmışsa `agents.defaults.skills` değerini devralır; açık bir liste varsayılanlarla birleştirilmek yerine onların yerine geçer ve `[]` hiçbir skill olmadığı anlamına gelir. +- `thinkingDefault`: isteğe bağlı ajan başına varsayılan düşünme düzeyi (`off | minimal | low | medium | high | xhigh | adaptive`). İleti başına veya oturum düzeyinde bir geçersiz kılma ayarlanmadığında bu ajan için `agents.defaults.thinkingDefault` değerinin yerine geçer. +- `reasoningDefault`: isteğe bağlı ajan başına varsayılan akıl yürütme görünürlüğü (`on | off | stream`). İleti başına veya oturum düzeyinde bir akıl yürütme geçersiz kılması ayarlanmadığında uygulanır. +- `fastModeDefault`: hızlı mod için isteğe bağlı ajan başına varsayılan (`true | false`). İleti başına veya oturum düzeyinde hızlı mod geçersiz kılması ayarlanmadığında uygulanır. +- `embeddedHarness`: isteğe bağlı ajan başına düşük düzey harness ilkesi geçersiz kılması. Bir ajanı yalnızca Codex yaparken diğer ajanların varsayılan Pi fallback'ini koruması için `{ runtime: "codex", fallback: "none" }` kullanın. +- `runtime`: isteğe bağlı ajan başına çalışma zamanı tanımlayıcısı. Ajanın varsayılan olarak ACP harness oturumları kullanması gerektiğinde `runtime.acp` varsayılanlarıyla (`agent`, `backend`, `mode`, `cwd`) birlikte `type: "acp"` kullanın. +- `identity.avatar`: çalışma alanına göreli yol, `http(s)` URL'si veya `data:` URI'si. +- `identity`, varsayılanları türetir: `ackReaction` için `emoji`, `mentionPatterns` için `name`/`emoji`. +- `subagents.allowAgents`: `sessions_spawn` için ajan kimliği izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı ajan). +- Sandbox devralma koruması: istekte bulunan oturum sandbox içindeyse `sessions_spawn`, sandbox dışında çalışacak hedefleri reddeder. +- `subagents.requireAgentId`: true olduğunda `agentId` belirtmeyen `sessions_spawn` çağrılarını engeller (açık profil seçimini zorunlu kılar; varsayılan: false). --- -## Çok agent'lı yönlendirme +## Çok ajanlı yönlendirme -Tek bir Gateway içinde birden fazla yalıtılmış agent çalıştırın. Bkz. [Çoklu Agent](/tr/concepts/multi-agent). +Tek bir Gateway içinde birden çok yalıtılmış ajan çalıştırın. Bkz. [Multi-Agent](/tr/concepts/multi-agent). ```json5 { @@ -1691,11 +1809,11 @@ Tek bir Gateway içinde birden fazla yalıtılmış agent çalıştırın. Bkz. } ``` -### Binding eşleşme alanları +### Bağlama eşleşme alanları -- `type` (isteğe bağlı): normal yönlendirme için `route` (eksik type varsayılan olarak route olur), kalıcı ACP konuşma bağları için `acp`. +- `type` (isteğe bağlı): normal yönlendirme için `route` (eksik `type`, route varsayılanına gelir), kalıcı ACP konuşma bağlamaları için `acp`. - `match.channel` (zorunlu) -- `match.accountId` (isteğe bağlı; `*` = herhangi hesap; atlanırsa = varsayılan hesap) +- `match.accountId` (isteğe bağlı; `*` = herhangi bir hesap; atlanırsa = varsayılan hesap) - `match.peer` (isteğe bağlı; `{ kind: direct|group|channel, id }`) - `match.guildId` / `match.teamId` (isteğe bağlı; kanala özgü) - `acp` (isteğe bağlı; yalnızca `type: "acp"` için): `{ mode, label, cwd, backend }` @@ -1705,15 +1823,15 @@ Tek bir Gateway içinde birden fazla yalıtılmış agent çalıştırın. Bkz. 1. `match.peer` 2. `match.guildId` 3. `match.teamId` -4. `match.accountId` (tam eşleşme, peer/guild/team olmadan) +4. `match.accountId` (tam eşleşme, peer/guild/team yok) 5. `match.accountId: "*"` (kanal genelinde) -6. Varsayılan agent +6. Varsayılan ajan -Her katmanda ilk eşleşen `bindings` girdisi kazanır. +Her katman içinde ilk eşleşen `bindings` girdisi kazanır. -`type: "acp"` girdileri için OpenClaw, tam konuşma kimliğine göre çözümler (`match.channel` + hesap + `match.peer.id`) ve yukarıdaki route binding katman sırasını kullanmaz. +`type: "acp"` girdileri için OpenClaw, tam konuşma kimliğine göre (`match.channel` + hesap + `match.peer.id`) çözümler ve yukarıdaki route bağlama katmanı sırasını kullanmaz. -### Agent başına erişim profilleri +### Ajan başına erişim profilleri @@ -1733,7 +1851,7 @@ Her katmanda ilk eşleşen `bindings` girdisi kazanır. - + ```json5 { @@ -1808,7 +1926,7 @@ Her katmanda ilk eşleşen `bindings` girdisi kazanır. -Öncelik ayrıntıları için bkz. [Çoklu Agent Sandbox & Araçlar](/tr/tools/multi-agent-sandbox-tools). +Öncelik ayrıntıları için bkz. [Multi-Agent Sandbox & Tools](/tr/tools/multi-agent-sandbox-tools). --- @@ -1834,7 +1952,7 @@ Her katmanda ilk eşleşen `bindings` girdisi kazanır. }, resetTriggers: ["/new", "/reset"], store: "~/.openclaw/agents/{agentId}/sessions/sessions.json", - parentForkMaxTokens: 100000, // bu token sayısının üzerinde parent-thread fork işlemini atla (0 devre dışı bırakır) + parentForkMaxTokens: 100000, // bu token sayısının üstünde üst iş parçacığı çatallamasını atla (0 devre dışı bırakır) maintenance: { mode: "warn", // warn | enforce pruneAfter: "30d", @@ -1842,12 +1960,12 @@ Her katmanda ilk eşleşen `bindings` girdisi kazanır. rotateBytes: "10mb", resetArchiveRetention: "30d", // süre veya false maxDiskBytes: "500mb", // isteğe bağlı katı bütçe - highWaterBytes: "400mb", // isteğe bağlı temizlik hedefi + highWaterBytes: "400mb", // isteğe bağlı temizleme hedefi }, threadBindings: { enabled: true, - idleHours: 24, // varsayılan hareketsizlik nedeniyle otomatik odak kaldırma süresi, saat cinsinden (`0` devre dışı bırakır) - maxAgeHours: 0, // varsayılan sert maksimum yaş, saat cinsinden (`0` devre dışı bırakır) + idleHours: 24, // saat cinsinden varsayılan hareketsizlikte otomatik odak kaldırma (`0` devre dışı bırakır) + maxAgeHours: 0, // saat cinsinden varsayılan katı azami yaş (`0` devre dışı bırakır) }, mainKey: "main", // eski (çalışma zamanı her zaman "main" kullanır) agentToAgent: { maxPingPongTurns: 5 }, @@ -1862,34 +1980,34 @@ Her katmanda ilk eşleşen `bindings` girdisi kazanır. - **`scope`**: grup sohbeti bağlamları için temel oturum gruplama stratejisi. - - `per-sender` (varsayılan): her gönderici, kanal bağlamı içinde yalıtılmış bir oturum alır. + - `per-sender` (varsayılan): her gönderici, bir kanal bağlamı içinde yalıtılmış bir oturum alır. - `global`: kanal bağlamındaki tüm katılımcılar tek bir oturumu paylaşır (yalnızca paylaşılan bağlam amaçlandığında kullanın). -- **`dmScope`**: DM'lerin nasıl gruplanacağı. +- **`dmScope`**: DM'lerin nasıl gruplandırıldığı. - `main`: tüm DM'ler ana oturumu paylaşır. - - `per-peer`: kanallar genelinde gönderici kimliğine göre yalıtır. + - `per-peer`: kanallar arasında gönderici kimliğine göre yalıtır. - `per-channel-peer`: kanal + gönderici başına yalıtır (çok kullanıcılı gelen kutuları için önerilir). - - `per-account-channel-peer`: hesap + kanal + gönderici başına yalıtır (çok hesaplı kullanım için önerilir). -- **`identityLinks`**: kanallar arası oturum paylaşımı için kurallı kimlikleri sağlayıcı önekli eşlere eşler. -- **`reset`**: birincil sıfırlama ilkesi. `daily`, yerel saatte `atHour` anında sıfırlar; `idle`, `idleMinutes` sonrasında sıfırlar. Her ikisi de yapılandırıldığında, hangisinin süresi önce dolarsa o kazanır. -- **`resetByType`**: tür başına geçersiz kılmalar (`direct`, `group`, `thread`). Eski `dm`, `direct` için takma ad olarak kabul edilir. -- **`parentForkMaxTokens`**: çatallanmış iş parçacığı oturumu oluştururken izin verilen en yüksek üst oturum `totalTokens` değeri (varsayılan `100000`). + - `per-account-channel-peer`: hesap + kanal + gönderici başına yalıtır (çok hesaplı yapı için önerilir). +- **`identityLinks`**: kanallar arası oturum paylaşımı için kanonik kimlikleri sağlayıcı önekli eşlere eşler. +- **`reset`**: birincil sıfırlama ilkesi. `daily`, yerel saatte `atHour` anında sıfırlar; `idle`, `idleMinutes` sonrasında sıfırlar. Her ikisi de yapılandırıldığında önce süresi dolan kazanır. +- **`resetByType`**: türe göre geçersiz kılmalar (`direct`, `group`, `thread`). Eski `dm`, `direct` için takma ad olarak kabul edilir. +- **`parentForkMaxTokens`**: çatallanmış iş parçacığı oturumu oluşturulurken izin verilen azami üst oturum `totalTokens` değeri (varsayılan `100000`). - Üst `totalTokens` bu değerin üzerindeyse OpenClaw, üst transcript geçmişini devralmak yerine yeni bir iş parçacığı oturumu başlatır. - - Bu korumayı devre dışı bırakmak ve üst çatallamaya her zaman izin vermek için `0` ayarlayın. + - Bu korumayı devre dışı bırakmak ve üst çatallanmasına her zaman izin vermek için `0` ayarlayın. - **`mainKey`**: eski alan. Çalışma zamanı, ana doğrudan sohbet kovası için her zaman `"main"` kullanır. -- **`agentToAgent.maxPingPongTurns`**: agent'tan agent'a alışverişlerde agent'lar arasındaki en fazla geri yanıt dönüşü (tam sayı, aralık: `0`–`5`). `0`, ping-pong zincirlemeyi devre dışı bırakır. +- **`agentToAgent.maxPingPongTurns`**: ajanlar arası değiş tokuşlar sırasında ajanlar arasında izin verilen azami geri-yanıt dönüşü (tamsayı, aralık: `0`–`5`). `0`, ping-pong zincirlemesini devre dışı bırakır. - **`sendPolicy`**: `channel`, `chatType` (`direct|group|channel`, eski `dm` takma adıyla), `keyPrefix` veya `rawKeyPrefix` ile eşleştirin. İlk deny kazanır. - **`maintenance`**: oturum deposu temizliği + saklama denetimleri. - `mode`: `warn` yalnızca uyarı üretir; `enforce` temizliği uygular. - - `pruneAfter`: bayat girdiler için yaş kesimi (varsayılan `30d`). - - `maxEntries`: `sessions.json` içindeki en yüksek girdi sayısı (varsayılan `500`). + - `pruneAfter`: eski girdiler için yaş kesim noktası (varsayılan `30d`). + - `maxEntries`: `sessions.json` içindeki azami girdi sayısı (varsayılan `500`). - `rotateBytes`: `sessions.json` bu boyutu aştığında döndürülür (varsayılan `10mb`). - - `resetArchiveRetention`: `*.reset.` transcript arşivleri için saklama süresi. Varsayılan olarak `pruneAfter` kullanılır; devre dışı bırakmak için `false` ayarlayın. - - `maxDiskBytes`: isteğe bağlı oturumlar dizini disk bütçesi. `warn` modunda uyarı yazar; `enforce` modunda en eski artifaktları/oturumları önce kaldırır. + - `resetArchiveRetention`: `*.reset.` transcript arşivleri için saklama süresi. Varsayılan olarak `pruneAfter` kullanır; devre dışı bırakmak için `false` ayarlayın. + - `maxDiskBytes`: oturumlar dizini için isteğe bağlı disk bütçesi. `warn` modunda uyarı kaydeder; `enforce` modunda en eski yapıtları/oturumları önce kaldırır. - `highWaterBytes`: bütçe temizliğinden sonraki isteğe bağlı hedef. Varsayılan olarak `maxDiskBytes` değerinin `%80`'idir. - **`threadBindings`**: iş parçacığına bağlı oturum özellikleri için genel varsayılanlar. - `enabled`: ana varsayılan anahtar (sağlayıcılar geçersiz kılabilir; Discord `channels.discord.threadBindings.enabled` kullanır) - - `idleHours`: hareketsizlik nedeniyle otomatik odak kaldırma için varsayılan saat değeri (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) - - `maxAgeHours`: sert maksimum yaş için varsayılan saat değeri (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) + - `idleHours`: saat cinsinden varsayılan hareketsizlikte otomatik odak kaldırma (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) + - `maxAgeHours`: saat cinsinden varsayılan katı azami yaş (`0` devre dışı bırakır; sağlayıcılar geçersiz kılabilir) @@ -1929,34 +2047,34 @@ Her katmanda ilk eşleşen `bindings` girdisi kazanır. Kanal/hesap başına geçersiz kılmalar: `channels..responsePrefix`, `channels..accounts..responsePrefix`. -Çözümleme (en özeli kazanır): hesap → kanal → genel. `""` devre dışı bırakır ve zincirlemeyi durdurur. `"auto"` değeri `[{identity.name}]` türetir. +Çözümleme (en özel olan kazanır): hesap → kanal → genel. `""` devre dışı bırakır ve zinciri durdurur. `"auto"`, `[{identity.name}]` türetir. **Şablon değişkenleri:** -| Değişken | Açıklama | Örnek | -| ---------------- | ---------------------- | --------------------------- | -| `{model}` | Kısa model adı | `claude-opus-4-6` | -| `{modelFull}` | Tam model tanımlayıcısı| `anthropic/claude-opus-4-6` | -| `{provider}` | Sağlayıcı adı | `anthropic` | -| `{thinkingLevel}`| Geçerli thinking düzeyi| `high`, `low`, `off` | -| `{identity.name}`| Agent kimlik adı | (`"auto"` ile aynı) | +| Değişken | Açıklama | Örnek | +| ---------------- | ----------------------- | --------------------------- | +| `{model}` | Kısa model adı | `claude-opus-4-6` | +| `{modelFull}` | Tam model tanımlayıcısı | `anthropic/claude-opus-4-6` | +| `{provider}` | Sağlayıcı adı | `anthropic` | +| `{thinkingLevel}`| Geçerli düşünme düzeyi | `high`, `low`, `off` | +| `{identity.name}`| Ajan kimlik adı | (`"auto"` ile aynı) | Değişkenler büyük/küçük harfe duyarsızdır. `{think}`, `{thinkingLevel}` için bir takma addır. -### Onay tepkisi +### Ack tepkisi -- Varsayılan olarak etkin agent'ın `identity.emoji` değeri, aksi halde `"👀"` kullanılır. Devre dışı bırakmak için `""` ayarlayın. +- Varsayılan olarak etkin ajanın `identity.emoji` değeridir, aksi halde `"👀"` kullanılır. Devre dışı bırakmak için `""` ayarlayın. - Kanal başına geçersiz kılmalar: `channels..ackReaction`, `channels..accounts..ackReaction`. -- Çözümleme sırası: hesap → kanal → `messages.ackReaction` → kimlik geri dönüşü. +- Çözümleme sırası: hesap → kanal → `messages.ackReaction` → kimlik yedeği. - Kapsam: `group-mentions` (varsayılan), `group-all`, `direct`, `all`. -- `removeAckAfterReply`: Slack, Discord ve Telegram'da yanıttan sonra onayı kaldırır. +- `removeAckAfterReply`: Slack, Discord ve Telegram'da yanıttan sonra ack'i kaldırır. - `messages.statusReactions.enabled`: Slack, Discord ve Telegram'da yaşam döngüsü durum tepkilerini etkinleştirir. - Slack ve Discord'da ayarlanmamış olması, onay tepkileri etkin olduğunda durum tepkilerini etkin tutar. - Telegram'da yaşam döngüsü durum tepkilerini etkinleştirmek için bunu açıkça `true` olarak ayarlayın. + Slack ve Discord'da ayarlanmamış olması, ack tepkileri etkin olduğunda durum tepkilerini etkin tutar. + Telegram'da yaşam döngüsü durum tepkilerini etkinleştirmek için bunu açıkça `true` yapın. ### Gelen debounce -Aynı göndericiden gelen hızlı, yalnızca metin içeren mesajları tek bir agent dönüşünde toplar. Medya/ekler hemen boşaltılır. Kontrol komutları debounce'u atlar. +Aynı göndericiden gelen hızlı yalnızca metin mesajlarını tek bir ajan dönüşünde toplar. Medya/ekler hemen boşaltılır. Denetim komutları debounce'u atlar. ### TTS (metinden konuşmaya) @@ -1999,12 +2117,12 @@ Aynı göndericiden gelen hızlı, yalnızca metin içeren mesajları tek bir ag } ``` -- `auto`, varsayılan otomatik TTS modunu kontrol eder: `off`, `always`, `inbound` veya `tagged`. `/tts on|off` yerel tercihleri geçersiz kılabilir ve `/tts status` etkin durumu gösterir. -- `summaryModel`, otomatik özet için `agents.defaults.model.primary` değerini geçersiz kılar. +- `auto`, varsayılan otomatik TTS modunu denetler: `off`, `always`, `inbound` veya `tagged`. `/tts on|off`, yerel tercihleri geçersiz kılabilir ve `/tts status` etkin durumu gösterir. +- `summaryModel`, otomatik özetleme için `agents.defaults.model.primary` değerinin yerine geçer. - `modelOverrides` varsayılan olarak etkindir; `modelOverrides.allowProvider` varsayılan olarak `false` değerindedir (isteğe bağlı etkinleştirme). -- API anahtarları için geri dönüşler `ELEVENLABS_API_KEY`/`XI_API_KEY` ve `OPENAI_API_KEY`'dir. -- `openai.baseUrl`, OpenAI TTS uç noktasını geçersiz kılar. Çözümleme sırası: yapılandırma, ardından `OPENAI_TTS_BASE_URL`, ardından `https://api.openai.com/v1`. -- `openai.baseUrl` OpenAI dışı bir uç noktayı işaret ettiğinde OpenClaw bunu OpenAI uyumlu bir TTS sunucusu olarak değerlendirir ve model/ses doğrulamasını gevşetir. +- API anahtarları `ELEVENLABS_API_KEY`/`XI_API_KEY` ve `OPENAI_API_KEY` değerlerine geri döner. +- `openai.baseUrl`, OpenAI TTS uç noktasının yerine geçer. Çözümleme sırası yapılandırma, sonra `OPENAI_TTS_BASE_URL`, sonra `https://api.openai.com/v1` şeklindedir. +- `openai.baseUrl`, OpenAI dışı bir uç noktaya işaret ettiğinde OpenClaw bunu OpenAI uyumlu bir TTS sunucusu olarak değerlendirir ve model/ses doğrulamasını gevşetir. --- @@ -2034,13 +2152,13 @@ Talk modu için varsayılanlar (macOS/iOS/Android). } ``` -- Birden fazla Talk sağlayıcısı yapılandırıldığında `talk.provider`, `talk.providers` içindeki bir anahtarla eşleşmelidir. +- `talk.provider`, birden fazla Talk sağlayıcısı yapılandırıldığında `talk.providers` içindeki bir anahtarla eşleşmelidir. - Eski düz Talk anahtarları (`talk.voiceId`, `talk.voiceAliases`, `talk.modelId`, `talk.outputFormat`, `talk.apiKey`) yalnızca uyumluluk içindir ve otomatik olarak `talk.providers.` içine taşınır. -- Ses kimlikleri için geri dönüşler `ELEVENLABS_VOICE_ID` veya `SAG_VOICE_ID` değerleridir. +- Voice ID'ler `ELEVENLABS_VOICE_ID` veya `SAG_VOICE_ID` değerlerine geri döner. - `providers.*.apiKey`, düz metin dizeleri veya SecretRef nesnelerini kabul eder. -- `ELEVENLABS_API_KEY` geri dönüşü yalnızca hiçbir Talk API anahtarı yapılandırılmadığında uygulanır. +- `ELEVENLABS_API_KEY` yedeği yalnızca hiçbir Talk API anahtarı yapılandırılmadığında uygulanır. - `providers.*.voiceAliases`, Talk yönergelerinin kolay adlar kullanmasına izin verir. -- `silenceTimeoutMs`, Talk modunun transcript'i göndermeden önce kullanıcı sessizliğinden sonra ne kadar bekleyeceğini kontrol eder. Ayarlanmamışsa platform varsayılan duraklama penceresi korunur (`macOS ve Android'de 700 ms, iOS'ta 900 ms`). +- `silenceTimeoutMs`, Talk modunun transcript'i göndermeden önce kullanıcı sessizliğinden sonra ne kadar bekleyeceğini denetler. Ayarlanmamışsa platform varsayılan duraklama penceresi korunur (`macOS ve Android'de 700 ms, iOS'ta 900 ms`). --- @@ -2048,22 +2166,22 @@ Talk modu için varsayılanlar (macOS/iOS/Android). ### Araç profilleri -`tools.profile`, `tools.allow`/`tools.deny` öncesinde temel bir izin listesi ayarlar: +`tools.profile`, `tools.allow`/`tools.deny` öncesinde temel bir izin listesini ayarlar: Yerel onboarding, ayarlanmamış yeni yerel yapılandırmaları varsayılan olarak `tools.profile: "coding"` ile oluşturur (mevcut açık profiller korunur). -| Profil | İçerir | -| ----------- | ------------------------------------------------------------------------------------------------------------------------------- | -| `minimal` | yalnızca `session_status` | +| Profil | İçerir | +| ----------- | ----------------------------------------------------------------------------------------------------------------------------- | +| `minimal` | yalnızca `session_status` | | `coding` | `group:fs`, `group:runtime`, `group:web`, `group:sessions`, `group:memory`, `cron`, `image`, `image_generate`, `video_generate` | -| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` | -| `full` | Kısıtlama yok (ayarlanmamış ile aynı) | +| `messaging` | `group:messaging`, `sessions_list`, `sessions_history`, `sessions_send`, `session_status` | +| `full` | Kısıtlama yok (ayarlanmamışla aynı) | ### Araç grupları | Grup | Araçlar | | ------------------ | ----------------------------------------------------------------------------------------------------------------------- | -| `group:runtime` | `exec`, `process`, `code_execution` (`bash`, `exec` için takma ad olarak kabul edilir) | +| `group:runtime` | `exec`, `process`, `code_execution` (`bash`, `exec` için takma ad olarak kabul edilir) | | `group:fs` | `read`, `write`, `edit`, `apply_patch` | | `group:sessions` | `sessions_list`, `sessions_history`, `sessions_send`, `sessions_spawn`, `sessions_yield`, `subagents`, `session_status` | | `group:memory` | `memory_search`, `memory_get` | @@ -2074,11 +2192,11 @@ Yerel onboarding, ayarlanmamış yeni yerel yapılandırmaları varsayılan olar | `group:nodes` | `nodes` | | `group:agents` | `agents_list` | | `group:media` | `image`, `image_generate`, `video_generate`, `tts` | -| `group:openclaw` | Tüm yerleşik araçlar (sağlayıcı Plugin'leri hariç) | +| `group:openclaw` | Tüm built-in araçlar (sağlayıcı Plugin'leri hariç) | ### `tools.allow` / `tools.deny` -Genel araç izin/verme engelleme ilkesi (deny kazanır). Büyük/küçük harfe duyarsızdır, `*` joker karakterlerini destekler. Docker sandbox kapalıyken bile uygulanır. +Genel araç izin/engelleme ilkesi (engelleme kazanır). Büyük/küçük harfe duyarsızdır, `*` joker karakterlerini destekler. Docker sandbox kapalı olsa bile uygulanır. ```json5 { @@ -2088,7 +2206,7 @@ Genel araç izin/verme engelleme ilkesi (deny kazanır). Büyük/küçük harfe ### `tools.byProvider` -Belirli sağlayıcılar veya modeller için araçları daha da kısıtlayın. Sıra: temel profil → sağlayıcı profili → allow/deny. +Belirli sağlayıcılar veya modeller için araçları daha da kısıtlar. Sıra: temel profil → sağlayıcı profili → allow/deny. ```json5 { @@ -2104,7 +2222,7 @@ Belirli sağlayıcılar veya modeller için araçları daha da kısıtlayın. S ### `tools.elevated` -Sandbox dışındaki elevated exec erişimini kontrol eder: +Sandbox dışındaki elevated `exec` erişimini denetler: ```json5 { @@ -2120,9 +2238,9 @@ Sandbox dışındaki elevated exec erişimini kontrol eder: } ``` -- Agent başına geçersiz kılma (`agents.list[].tools.elevated`) yalnızca daha fazla kısıtlama getirebilir. -- `/elevated on|off|ask|full`, durumu oturum başına saklar; satır içi yönergeler tek mesaja uygulanır. -- Elevated `exec`, sandbox kullanımını atlar ve yapılandırılmış kaçış yolunu kullanır (varsayılan olarak `gateway` veya exec hedefi `node` olduğunda `node`). +- Ajan başına geçersiz kılma (`agents.list[].tools.elevated`) yalnızca daha fazla kısıtlama getirebilir. +- `/elevated on|off|ask|full`, durumu oturum başına depolar; satır içi yönergeler tek mesaja uygulanır. +- Elevated `exec`, sandboxing'i atlar ve yapılandırılmış çıkış yolunu kullanır (varsayılan olarak `gateway`, `exec` hedefi `node` olduğunda ise `node`). ### `tools.exec` @@ -2147,7 +2265,7 @@ Sandbox dışındaki elevated exec erişimini kontrol eder: ### `tools.loopDetection` Araç döngüsü güvenlik denetimleri varsayılan olarak **devre dışıdır**. Algılamayı etkinleştirmek için `enabled: true` ayarlayın. -Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve agent başına `agents.list[].tools.loopDetection` ile geçersiz kılınabilir. +Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve ajan başına `agents.list[].tools.loopDetection` ile geçersiz kılınabilir. ```json5 { @@ -2168,13 +2286,13 @@ Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve agent ba } ``` -- `historySize`: döngü analizi için tutulan en yüksek araç çağrısı geçmişi. -- `warningThreshold`: uyarılar için tekrarlanan ilerleme olmayan desen eşiği. -- `criticalThreshold`: kritik döngüleri engellemek için daha yüksek tekrarlama eşiği. -- `globalCircuitBreakerThreshold`: herhangi bir ilerleme olmayan çalışma için katı durdurma eşiği. -- `detectors.genericRepeat`: aynı araç/aynı argüman çağrılarının tekrarına karşı uyarı verir. -- `detectors.knownPollNoProgress`: bilinen poll araçlarında (`process.poll`, `command_status` vb.) ilerleme olmaması durumunda uyarır/engeller. -- `detectors.pingPong`: dönüşümlü ilerleme olmayan çift desenlerinde uyarır/engeller. +- `historySize`: döngü analizi için tutulan azami araç çağrısı geçmişi. +- `warningThreshold`: uyarılar için yinelenen ilerleme yok kalıbı eşiği. +- `criticalThreshold`: kritik döngüleri engellemek için daha yüksek yinelenme eşiği. +- `globalCircuitBreakerThreshold`: ilerleme olmayan herhangi bir çalışma için kesin durdurma eşiği. +- `detectors.genericRepeat`: aynı araç/aynı argüman çağrılarının tekrarında uyar. +- `detectors.knownPollNoProgress`: bilinen anket araçlarında (`process.poll`, `command_status` vb.) ilerleme yoksa uyar/engelle. +- `detectors.pingPong`: sırayla değişen ilerleme yok çift kalıplarında uyar/engelle. - `warningThreshold >= criticalThreshold` veya `criticalThreshold >= globalCircuitBreakerThreshold` ise doğrulama başarısız olur. ### `tools.web` @@ -2209,7 +2327,7 @@ Ayarlar genel olarak `tools.loopDetection` altında tanımlanabilir ve agent ba ### `tools.media` -Gelen medya anlama işlemini yapılandırır (görsel/ses/video): +Gelen medya anlama işlemini yapılandırır (görüntü/ses/video): ```json5 { @@ -2241,12 +2359,12 @@ Gelen medya anlama işlemini yapılandırır (görsel/ses/video): } ``` - + **Sağlayıcı girdisi** (`type: "provider"` veya atlanmış): -- `provider`: API sağlayıcı id'si (`openai`, `anthropic`, `google`/`gemini`, `groq` vb.) -- `model`: model id geçersiz kılması +- `provider`: API sağlayıcı kimliği (`openai`, `anthropic`, `google`/`gemini`, `groq` vb.) +- `model`: model kimliği geçersiz kılması - `profile` / `preferredProfile`: `auth-profiles.json` profil seçimi **CLI girdisi** (`type: "cli"`): @@ -2257,16 +2375,16 @@ Gelen medya anlama işlemini yapılandırır (görsel/ses/video): **Ortak alanlar:** - `capabilities`: isteğe bağlı liste (`image`, `audio`, `video`). Varsayılanlar: `openai`/`anthropic`/`minimax` → image, `google` → image+audio+video, `groq` → audio. -- `prompt`, `maxChars`, `maxBytes`, `timeoutSeconds`, `language`: girdi başına geçersiz kılmalar. -- Başarısızlıklar bir sonraki girdiye geri döner. +- `prompt`, `maxChars`, `maxBytes`, `timeoutSeconds`, `language`: giriş başına geçersiz kılmalar. +- Hatalar bir sonraki girdiye geri döner. -Sağlayıcı kimlik doğrulaması standart sırayı izler: `auth-profiles.json` → env değişkenleri → `models.providers.*.apiKey`. +Sağlayıcı kimlik doğrulaması standart sırayı izler: `auth-profiles.json` → ortam değişkenleri → `models.providers.*.apiKey`. **Eşzamansız tamamlama alanları:** - `asyncCompletion.directSend`: `true` olduğunda tamamlanan eşzamansız `music_generate` ve `video_generate` görevleri önce doğrudan kanal teslimini dener. Varsayılan: `false` - (eski istekçi-oturumu uyandırma/model-teslim yolu). + (eski istekçi-oturum uyandırma/model-teslim yolu). @@ -2285,9 +2403,9 @@ Sağlayıcı kimlik doğrulaması standart sırayı izler: `auth-profiles.json` ### `tools.sessions` -Hangi oturumların session araçları (`sessions_list`, `sessions_history`, `sessions_send`) tarafından hedeflenebileceğini kontrol eder. +Oturum araçları (`sessions_list`, `sessions_history`, `sessions_send`) tarafından hangi oturumların hedeflenebileceğini denetler. -Varsayılan: `tree` (geçerli oturum + onun tarafından başlatılan oturumlar, örneğin subagent'lar). +Varsayılan: `tree` (geçerli oturum + onun tarafından oluşturulan oturumlar; örneğin alt ajanlar). ```json5 { @@ -2303,14 +2421,14 @@ Varsayılan: `tree` (geçerli oturum + onun tarafından başlatılan oturumlar, Notlar: - `self`: yalnızca geçerli oturum anahtarı. -- `tree`: geçerli oturum + geçerli oturum tarafından başlatılan oturumlar (subagent'lar). -- `agent`: geçerli agent id'sine ait herhangi bir oturum (aynı agent id altında gönderici başına oturumlar çalıştırıyorsanız başka kullanıcıları da içerebilir). -- `all`: herhangi bir oturum. Agent'lar arası hedefleme için yine de `tools.agentToAgent` gerekir. -- Sandbox sıkıştırması: geçerli oturum sandbox içindeyse ve `agents.defaults.sandbox.sessionToolsVisibility="spawned"` ise, `tools.sessions.visibility="all"` olsa bile görünürlük `tree` olmaya zorlanır. +- `tree`: geçerli oturum + geçerli oturum tarafından oluşturulan oturumlar (alt ajanlar). +- `agent`: geçerli ajan kimliğine ait herhangi bir oturum (aynı ajan kimliği altında gönderici başına oturumlar çalıştırıyorsanız başka kullanıcıları da içerebilir). +- `all`: herhangi bir oturum. Ajanlar arası hedefleme yine de `tools.agentToAgent` gerektirir. +- Sandbox kıskacı: geçerli oturum sandbox içindeyse ve `agents.defaults.sandbox.sessionToolsVisibility="spawned"` ise `tools.sessions.visibility="all"` olsa bile görünürlük `tree` olmaya zorlanır. ### `tools.sessions_spawn` -`sessions_spawn` için satır içi ek desteğini kontrol eder. +`sessions_spawn` için satır içi ek desteğini denetler. ```json5 { @@ -2331,21 +2449,21 @@ Notlar: Notlar: - Ekler yalnızca `runtime: "subagent"` için desteklenir. ACP çalışma zamanı bunları reddeder. -- Dosyalar, `.manifest.json` ile birlikte alt çalışma alanında `.openclaw/attachments//` içine dönüştürülür. -- Ek içeriği transcript kalıcılığından otomatik olarak sansürlenir. -- Base64 girdileri katı alfabe/dolgu denetimleri ve çözme öncesi boyut koruması ile doğrulanır. -- Dosya izinleri dizinler için `0700`, dosyalar için `0600` olur. -- Temizleme, `cleanup` ilkesini izler: `delete` her zaman ekleri kaldırır; `keep`, yalnızca `retainOnSessionKeep: true` olduğunda korur. +- Dosyalar alt çalışma alanında `.openclaw/attachments//` içine `.manifest.json` ile birlikte dönüştürülür. +- Ek içeriği transcript kalıcılığından otomatik olarak redakte edilir. +- Base64 girdileri, katı alfabe/dolgu denetimleri ve çözümleme öncesi boyut korumasıyla doğrulanır. +- Dosya izinleri dizinler için `0700`, dosyalar için `0600` şeklindedir. +- Temizleme `cleanup` ilkesini izler: `delete` ekleri her zaman kaldırır; `keep` ise yalnızca `retainOnSessionKeep: true` olduğunda korur. ### `tools.experimental` -Deneysel yerleşik araç bayrakları. Katı agentic GPT-5 otomatik etkinleştirme kuralı uygulanmadıkça varsayılan olarak kapalıdır. +Deneysel built-in araç bayrakları. Katı-agentic GPT-5 otomatik etkinleştirme kuralı uygulanmadıkça varsayılan olarak kapalıdır. ```json5 { tools: { experimental: { - planTool: true, // deneysel update_plan aracını etkinleştir + planTool: true, // deneysel update_plan etkinleştir }, }, } @@ -2354,8 +2472,8 @@ Deneysel yerleşik araç bayrakları. Katı agentic GPT-5 otomatik etkinleştirm Notlar: - `planTool`: önemsiz olmayan çok adımlı iş takibi için yapılandırılmış `update_plan` aracını etkinleştirir. -- Varsayılan: `false`; ancak `agents.defaults.embeddedPi.executionContract` (veya agent başına geçersiz kılma) OpenAI veya OpenAI Codex GPT-5 ailesi çalıştırmasında `"strict-agentic"` olarak ayarlanmışsa hariç. Bu kapsam dışında aracı zorla açmak için `true`, strict-agentic GPT-5 çalıştırmaları için bile kapalı tutmak için `false` ayarlayın. -- Etkinleştirildiğinde sistem istemi de kullanım yönergeleri ekler; böylece model bunu yalnızca önemli işler için kullanır ve en fazla bir adımı `in_progress` olarak tutar. +- Varsayılan: `false`; ancak `agents.defaults.embeddedPi.executionContract` (veya ajan başına geçersiz kılma) bir OpenAI ya da OpenAI Codex GPT-5 ailesi çalıştırması için `"strict-agentic"` olarak ayarlanmışsa hariç. Bu kapsam dışında aracı zorla açmak için `true`, katı-agentic GPT-5 çalıştırmalarında bile kapalı tutmak için `false` ayarlayın. +- Etkin olduğunda sistem istemi, modelin bunu yalnızca önemli işler için kullanmasını ve en fazla bir adımı `in_progress` durumda tutmasını sağlayacak kullanım yönergesini de ekler. ### `agents.defaults.subagents` @@ -2375,16 +2493,16 @@ Notlar: } ``` -- `model`: başlatılan sub-agent'lar için varsayılan model. Atlanırsa sub-agent'lar çağıranın modelini devralır. -- `allowAgents`: istekte bulunan agent kendi `subagents.allowAgents` değerini ayarlamadığında `sessions_spawn` için hedef agent id'lerinin varsayılan izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı agent). -- `runTimeoutSeconds`: araç çağrısı `runTimeoutSeconds` belirtmediğinde `sessions_spawn` için varsayılan zaman aşımı (saniye). `0`, zaman aşımı olmadığı anlamına gelir. -- Sub-agent başına araç ilkesi: `tools.subagents.tools.allow` / `tools.subagents.tools.deny`. +- `model`: oluşturulan alt ajanlar için varsayılan model. Atlanırsa alt ajanlar çağıranın modelini devralır. +- `allowAgents`: istekte bulunan ajan kendi `subagents.allowAgents` değerini ayarlamıyorsa `sessions_spawn` için hedef ajan kimliklerinin varsayılan izin listesi (`["*"]` = herhangi biri; varsayılan: yalnızca aynı ajan). +- `runTimeoutSeconds`: araç çağrısı `runTimeoutSeconds` geçmiyorsa `sessions_spawn` için varsayılan zaman aşımı (saniye). `0`, zaman aşımı olmadığı anlamına gelir. +- Alt ajan başına araç ilkesi: `tools.subagents.tools.allow` / `tools.subagents.tools.deny`. --- ## Özel sağlayıcılar ve temel URL'ler -OpenClaw yerleşik model kataloğunu kullanır. Özel sağlayıcıları yapılandırmada `models.providers` veya `~/.openclaw/agents//agent/models.json` aracılığıyla ekleyin. +OpenClaw, built-in model kataloğunu kullanır. Özel sağlayıcıları yapılandırmada `models.providers` veya `~/.openclaw/agents//agent/models.json` aracılığıyla ekleyin. ```json5 { @@ -2413,48 +2531,48 @@ OpenClaw yerleşik model kataloğunu kullanır. Özel sağlayıcıları yapılan } ``` -- Özel kimlik doğrulama gereksinimleri için `authHeader: true` + `headers` kullanın. -- Agent yapılandırma kökünü `OPENCLAW_AGENT_DIR` ile geçersiz kılın (veya eski ortam değişkeni takma adı olan `PI_CODING_AGENT_DIR` ile). -- Eşleşen sağlayıcı id'leri için birleştirme önceliği: - - Boş olmayan agent `models.json` `baseUrl` değerleri kazanır. - - Boş olmayan agent `apiKey` değerleri, yalnızca o sağlayıcı mevcut yapılandırma/auth-profile bağlamında SecretRef tarafından yönetilmiyorsa kazanır. - - SecretRef tarafından yönetilen sağlayıcı `apiKey` değerleri, çözümlenmiş gizli değerleri kalıcılaştırmak yerine kaynak işaretleyicilerinden (`env` başvuruları için `ENV_VAR_NAME`, dosya/exec başvuruları için `secretref-managed`) yenilenir. - - SecretRef tarafından yönetilen sağlayıcı başlık değerleri, kaynak işaretleyicilerinden (`env` başvuruları için `secretref-env:ENV_VAR_NAME`, dosya/exec başvuruları için `secretref-managed`) yenilenir. - - Boş veya eksik agent `apiKey`/`baseUrl` değerleri, yapılandırmadaki `models.providers` değerlerine geri döner. +- Özel kimlik doğrulama ihtiyaçları için `authHeader: true` + `headers` kullanın. +- Ajan yapılandırma kökünü `OPENCLAW_AGENT_DIR` ile geçersiz kılın (veya eski ortam değişkeni takma adı olan `PI_CODING_AGENT_DIR` ile). +- Eşleşen sağlayıcı kimlikleri için birleştirme önceliği: + - Boş olmayan ajan `models.json` `baseUrl` değerleri kazanır. + - Boş olmayan ajan `apiKey` değerleri yalnızca o sağlayıcı mevcut yapılandırma/auth-profile bağlamında SecretRef tarafından yönetilmiyorsa kazanır. + - SecretRef tarafından yönetilen sağlayıcı `apiKey` değerleri, çözümlenmiş gizli değerleri kalıcılaştırmak yerine kaynak işaretleyicilerden (`ENV_VAR_NAME` ortam başvuruları için, `secretref-managed` dosya/exec başvuruları için) yenilenir. + - SecretRef tarafından yönetilen sağlayıcı başlık değerleri de kaynak işaretleyicilerden yenilenir (`secretref-env:ENV_VAR_NAME` ortam başvuruları için, `secretref-managed` dosya/exec başvuruları için). + - Boş veya eksik ajan `apiKey`/`baseUrl` değerleri, yapılandırmadaki `models.providers` değerlerine geri döner. - Eşleşen model `contextWindow`/`maxTokens`, açık yapılandırma ile örtük katalog değerleri arasından daha yüksek olanı kullanır. - - Eşleşen model `contextTokens`, mevcut olduğunda açık çalışma zamanı sınırını korur; yerel model meta verilerini değiştirmeden etkili bağlamı sınırlamak için bunu kullanın. - - Yapılandırmanın `models.json` dosyasını tamamen yeniden yazmasını istediğinizde `models.mode: "replace"` kullanın. - - İşaretleyici kalıcılığı kaynak açısından yetkilidir: işaretleyiciler, çözümlenmiş çalışma zamanı gizli değerlerinden değil, etkin kaynak yapılandırma anlık görüntüsünden (çözümleme öncesi) yazılır. + - Eşleşen model `contextTokens`, varsa açık çalışma zamanı sınırını korur; yerel model meta verisini değiştirmeden etkili bağlamı sınırlamak için bunu kullanın. + - Yapılandırmanın `models.json` dosyasını tamamen yeniden yazmasını istiyorsanız `models.mode: "replace"` kullanın. + - İşaretleyici kalıcılığı kaynak yetkilidir: işaretleyiciler çözümlenmiş çalışma zamanı gizli değerlerinden değil, etkin kaynak yapılandırma anlık görüntüsünden (çözümleme öncesi) yazılır. ### Sağlayıcı alanı ayrıntıları - `models.mode`: sağlayıcı katalog davranışı (`merge` veya `replace`). -- `models.providers`: sağlayıcı id'sine göre anahtarlanan özel sağlayıcı eşlemesi. +- `models.providers`: sağlayıcı kimliğine göre anahtarlanmış özel sağlayıcı eşlemesi. - `models.providers.*.api`: istek bağdaştırıcısı (`openai-completions`, `openai-responses`, `anthropic-messages`, `google-generative-ai` vb.). -- `models.providers.*.apiKey`: sağlayıcı kimlik bilgisi (SecretRef/env substitution tercih edilir). +- `models.providers.*.apiKey`: sağlayıcı kimlik bilgisi (tercihen SecretRef/env ikamesi kullanın). - `models.providers.*.auth`: kimlik doğrulama stratejisi (`api-key`, `token`, `oauth`, `aws-sdk`). - `models.providers.*.injectNumCtxForOpenAICompat`: Ollama + `openai-completions` için isteklere `options.num_ctx` ekler (varsayılan: `true`). -- `models.providers.*.authHeader`: gerektiğinde kimlik bilgisinin `Authorization` başlığında taşınmasını zorlar. -- `models.providers.*.baseUrl`: upstream API temel URL'si. -- `models.providers.*.headers`: proxy/tenant yönlendirme için ek statik başlıklar. +- `models.providers.*.authHeader`: gerektiğinde kimlik bilgisinin `Authorization` üstbilgisinde taşınmasını zorlar. +- `models.providers.*.baseUrl`: yukarı akış API temel URL'si. +- `models.providers.*.headers`: proxy/tenant yönlendirmesi için ek statik üstbilgiler. - `models.providers.*.request`: model-sağlayıcı HTTP istekleri için taşıma geçersiz kılmaları. - - `request.headers`: ek başlıklar (sağlayıcı varsayılanlarıyla birleştirilir). Değerler SecretRef kabul eder. - - `request.auth`: kimlik doğrulama stratejisi geçersiz kılması. Modlar: `"provider-default"` (sağlayıcının yerleşik kimlik doğrulamasını kullan), `"authorization-bearer"` (`token` ile), `"header"` (`headerName`, `value`, isteğe bağlı `prefix` ile). - - `request.proxy`: HTTP proxy geçersiz kılması. Modlar: `"env-proxy"` (`HTTP_PROXY`/`HTTPS_PROXY` env değişkenlerini kullan), `"explicit-proxy"` (`url` ile). Her iki mod da isteğe bağlı bir `tls` alt nesnesi kabul eder. - - `request.tls`: doğrudan bağlantılar için TLS geçersiz kılması. Alanlar: `ca`, `cert`, `key`, `passphrase` (tümü SecretRef kabul eder), `serverName`, `insecureSkipVerify`. - - `request.allowPrivateNetwork`: `true` olduğunda, DNS özel, CGNAT veya benzeri aralıklara çözüldüğünde `baseUrl` için HTTPS'e izin verir; bu işlem sağlayıcı HTTP fetch koruması üzerinden yapılır (güvenilir, kendinden host edilen OpenAI uyumlu uç noktalar için operatör isteğe bağlı etkinleştirmesi). WebSocket başlıklar/TLS için aynı `request` nesnesini kullanır, ancak bu fetch SSRF korumasını kullanmaz. Varsayılan `false`. -- `models.providers.*.models`: açık sağlayıcı model katalog girdileri. + - `request.headers`: ek üstbilgiler (sağlayıcı varsayılanlarıyla birleştirilir). Değerler SecretRef kabul eder. + - `request.auth`: kimlik doğrulama stratejisi geçersiz kılması. Modlar: `"provider-default"` (sağlayıcının built-in kimlik doğrulamasını kullan), `"authorization-bearer"` (`token` ile), `"header"` (`headerName`, `value`, isteğe bağlı `prefix` ile). + - `request.proxy`: HTTP proxy geçersiz kılması. Modlar: `"env-proxy"` (`HTTP_PROXY`/`HTTPS_PROXY` ortam değişkenlerini kullan), `"explicit-proxy"` (`url` ile). Her iki mod da isteğe bağlı bir `tls` alt nesnesi kabul eder. + - `request.tls`: doğrudan bağlantılar için TLS geçersiz kılması. Alanlar: `ca`, `cert`, `key`, `passphrase` (hepsi SecretRef kabul eder), `serverName`, `insecureSkipVerify`. + - `request.allowPrivateNetwork`: `true` olduğunda, sağlayıcı HTTP fetch koruması aracılığıyla DNS özel, CGNAT veya benzeri aralıklara çözümlendiğinde `baseUrl` için HTTPS'e izin verir (güvenilen self-hosted OpenAI uyumlu uç noktalar için operatör katılımı). WebSocket, üstbilgiler/TLS için aynı `request` nesnesini kullanır ama bu fetch SSRF kapısını kullanmaz. Varsayılan `false`. +- `models.providers.*.models`: açık sağlayıcı model kataloğu girdileri. - `models.providers.*.models.*.contextWindow`: yerel model bağlam penceresi meta verisi. -- `models.providers.*.models.*.contextTokens`: isteğe bağlı çalışma zamanı bağlam sınırı. Modelin yerel `contextWindow` değerinden daha küçük etkili bir bağlam bütçesi istiyorsanız bunu kullanın. -- `models.providers.*.models.*.compat.supportsDeveloperRole`: isteğe bağlı uyumluluk ipucu. Yerel olmayan boş olmayan bir `baseUrl` (host `api.openai.com` değil) ile `api: "openai-completions"` kullanıldığında OpenClaw bunu çalışma zamanında `false` olmaya zorlar. Boş/atlanmış `baseUrl`, varsayılan OpenAI davranışını korur. +- `models.providers.*.models.*.contextTokens`: isteğe bağlı çalışma zamanı bağlam sınırı. Modelin yerel `contextWindow` değerinden daha küçük etkili bir bağlam bütçesi istediğinizde bunu kullanın. +- `models.providers.*.models.*.compat.supportsDeveloperRole`: isteğe bağlı uyumluluk ipucu. `api: "openai-completions"` ile boş olmayan, yerel olmayan bir `baseUrl` için (host `api.openai.com` değilse) OpenClaw bunu çalışma zamanında `false` olmaya zorlar. Boş/atlanmış `baseUrl`, varsayılan OpenAI davranışını korur. - `models.providers.*.models.*.compat.requiresStringContent`: yalnızca dize kabul eden OpenAI uyumlu sohbet uç noktaları için isteğe bağlı uyumluluk ipucu. `true` olduğunda OpenClaw, istek göndermeden önce yalnızca metin içeren `messages[].content` dizilerini düz dizelere indirger. -- `plugins.entries.amazon-bedrock.config.discovery`: Bedrock otomatik keşif ayarlarının kökü. +- `plugins.entries.amazon-bedrock.config.discovery`: Bedrock otomatik keşif ayarları kökü. - `plugins.entries.amazon-bedrock.config.discovery.enabled`: örtük keşfi aç/kapat. - `plugins.entries.amazon-bedrock.config.discovery.region`: keşif için AWS bölgesi. -- `plugins.entries.amazon-bedrock.config.discovery.providerFilter`: hedefli keşif için isteğe bağlı provider-id filtresi. -- `plugins.entries.amazon-bedrock.config.discovery.refreshInterval`: keşif yenileme için yoklama aralığı. -- `plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow`: keşfedilen modeller için geri dönüş bağlam penceresi. -- `plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens`: keşfedilen modeller için geri dönüş en yüksek çıktı token sayısı. +- `plugins.entries.amazon-bedrock.config.discovery.providerFilter`: hedefli keşif için isteğe bağlı sağlayıcı kimliği filtresi. +- `plugins.entries.amazon-bedrock.config.discovery.refreshInterval`: keşif yenileme yoklama aralığı. +- `plugins.entries.amazon-bedrock.config.discovery.defaultContextWindow`: keşfedilen modeller için yedek bağlam penceresi. +- `plugins.entries.amazon-bedrock.config.discovery.defaultMaxTokens`: keşfedilen modeller için yedek azami çıktı token sayısı. ### Sağlayıcı örnekleri @@ -2492,7 +2610,7 @@ OpenClaw yerleşik model kataloğunu kullanır. Özel sağlayıcıları yapılan } ``` -Cerebras için `cerebras/zai-glm-4.7`; doğrudan Z.AI için `zai/glm-4.7` kullanın. +Cerebras için `cerebras/zai-glm-4.7`; Z.AI doğrudan için `zai/glm-4.7` kullanın. @@ -2530,7 +2648,7 @@ Cerebras için `cerebras/zai-glm-4.7`; doğrudan Z.AI için `zai/glm-4.7` kullan - Genel uç nokta: `https://api.z.ai/api/paas/v4` - Kodlama uç noktası (varsayılan): `https://api.z.ai/api/coding/paas/v4` -- Genel uç nokta için, temel URL geçersiz kılmasıyla özel bir sağlayıcı tanımlayın. +- Genel uç nokta için temel URL geçersiz kılmalı özel bir sağlayıcı tanımlayın. @@ -2572,8 +2690,7 @@ Cerebras için `cerebras/zai-glm-4.7`; doğrudan Z.AI için `zai/glm-4.7` kullan Çin uç noktası için: `baseUrl: "https://api.moonshot.cn/v1"` veya `openclaw onboard --auth-choice moonshot-api-key-cn`. Yerel Moonshot uç noktaları, paylaşılan -`openai-completions` taşımasında akış kullanımı uyumluluğu bildirir ve OpenClaw bunu yalnızca yerleşik sağlayıcı id'sine değil -uç nokta yeteneklerine göre anahtarlar. +`openai-completions` taşımasında akış kullanımı uyumluluğunu duyurur ve OpenClaw bunu yalnızca built-in sağlayıcı kimliğine değil, uç nokta yeteneklerine göre anahtarlar. @@ -2591,11 +2708,11 @@ uç nokta yeteneklerine göre anahtarlar. } ``` -Anthropic uyumlu, yerleşik sağlayıcı. Kısayol: `openclaw onboard --auth-choice kimi-code-api-key`. +Anthropic uyumlu, built-in sağlayıcı. Kısayol: `openclaw onboard --auth-choice kimi-code-api-key`. - + ```json5 { @@ -2634,7 +2751,7 @@ Temel URL `/v1` içermemelidir (Anthropic istemcisi bunu ekler). Kısayol: `open - + ```json5 { @@ -2673,9 +2790,8 @@ Temel URL `/v1` içermemelidir (Anthropic istemcisi bunu ekler). Kısayol: `open `MINIMAX_API_KEY` ayarlayın. Kısayollar: `openclaw onboard --auth-choice minimax-global-api` veya `openclaw onboard --auth-choice minimax-cn-api`. -Model kataloğu varsayılan olarak yalnızca M2.7'dir. -Anthropic uyumlu akış yolunda OpenClaw, siz açıkça `thinking` ayarlamadığınız sürece -MiniMax thinking özelliğini varsayılan olarak devre dışı bırakır. `/fast on` veya +Model kataloğu varsayılan olarak yalnızca M2.7 kullanır. +Anthropic uyumlu akış yolunda OpenClaw, siz açıkça `thinking` ayarlamadıkça MiniMax düşünmesini varsayılan olarak devre dışı bırakır. `/fast on` veya `params.fastMode: true`, `MiniMax-M2.7` değerini `MiniMax-M2.7-highspeed` olarak yeniden yazar. @@ -2683,7 +2799,7 @@ MiniMax thinking özelliğini varsayılan olarak devre dışı bırakır. `/fast -Bkz. [Yerel Modeller](/tr/gateway/local-models). Kısacası: güçlü donanımda LM Studio Responses API üzerinden büyük bir yerel model çalıştırın; geri dönüş için host edilen modellerin birleştirilmiş kalmasını sağlayın. +Bkz. [Local Models](/tr/gateway/local-models). Kısaca: ciddi donanımda LM Studio Responses API aracılığıyla büyük bir yerel model çalıştırın; fallback için hosted modelleri birleştirilmiş halde tutun. @@ -2714,14 +2830,13 @@ Bkz. [Yerel Modeller](/tr/gateway/local-models). Kısacası: güçlü donanımda } ``` -- `allowBundled`: yalnızca bundled Skills için isteğe bağlı izin listesi (managed/workspace Skills etkilenmez). -- `load.extraDirs`: ek paylaşılan Skill kökleri (en düşük öncelik). -- `install.preferBrew`: `true` olduğunda ve `brew` - kullanılabilir olduğunda, diğer yükleyici türlerine geri dönmeden önce Homebrew yükleyicilerini tercih eder. +- `allowBundled`: yalnızca bundled skills için isteğe bağlı izin listesi (managed/workspace skills etkilenmez). +- `load.extraDirs`: ek paylaşılan skill kökleri (en düşük öncelik). +- `install.preferBrew`: `true` olduğunda ve `brew` kullanılabilir olduğunda diğer kurucu türlerine geri dönmeden önce Homebrew kurucularını tercih eder. - `install.nodeManager`: `metadata.openclaw.install` - özellikleri için node yükleyici tercihi (`npm` | `pnpm` | `yarn` | `bun`). -- `entries..enabled: false`, bundled/yüklü olsa bile bir Skill'i devre dışı bırakır. -- `entries..apiKey`: birincil env değişkeni bildiren Skills için kolaylık alanı (düz metin dize veya SecretRef nesnesi). + belirtimleri için node kurucu tercihi (`npm` | `pnpm` | `yarn` | `bun`). +- `entries..enabled: false`, bundled/kurulu olsa bile bir skill'i devre dışı bırakır. +- `entries..apiKey`: birincil ortam değişkeni bildiren skills için kolaylık alanı (düz metin dize veya SecretRef nesnesi). --- @@ -2749,41 +2864,41 @@ Bkz. [Yerel Modeller](/tr/gateway/local-models). Kısacası: güçlü donanımda } ``` -- `~/.openclaw/extensions`, `/.openclaw/extensions` ve `plugins.load.paths` içinden yüklenir. -- Keşif; yerel OpenClaw Plugin'lerini, uyumlu Codex bundle'larını ve Claude bundle'larını, ayrıca manifest'siz Claude varsayılan düzen bundle'larını kabul eder. -- **Yapılandırma değişiklikleri Gateway yeniden başlatması gerektirir.** +- Şunlardan yüklenir: `~/.openclaw/extensions`, `/.openclaw/extensions` ve `plugins.load.paths`. +- Keşif; yerel OpenClaw Plugin'lerini, uyumlu Codex bundle'larını ve Claude bundle'larını, manifest dosyası olmayan varsayılan Claude düzeni bundle'ları dahil kabul eder. +- **Yapılandırma değişiklikleri bir gateway yeniden başlatması gerektirir.** - `allow`: isteğe bağlı izin listesi (yalnızca listelenen Plugin'ler yüklenir). `deny` kazanır. - `plugins.entries..apiKey`: Plugin düzeyinde API anahtarı kolaylık alanı (Plugin destekliyorsa). -- `plugins.entries..env`: Plugin kapsamlı env değişkeni eşlemesi. -- `plugins.entries..hooks.allowPromptInjection`: `false` olduğunda çekirdek, `before_prompt_build` işlemini engeller ve eski `before_agent_start` içindeki istemi değiştiren alanları yok sayar; eski `modelOverride` ve `providerOverride` korunur. Yerel Plugin hook'larına ve desteklenen bundle kaynaklı hook dizinlerine uygulanır. -- `plugins.entries..subagent.allowModelOverride`: bu Plugin'e, arka plan subagent çalıştırmaları için çalışma başına `provider` ve `model` geçersiz kılmaları isteme konusunda açık güven verir. -- `plugins.entries..subagent.allowedModels`: güvenilen subagent geçersiz kılmaları için isteğe bağlı kurallı `provider/model` hedef izin listesi. Herhangi bir modele izin vermek istediğinizden eminseniz yalnızca `"*"` kullanın. -- `plugins.entries..config`: Plugin tanımlı yapılandırma nesnesi (kullanılabilir olduğunda yerel OpenClaw Plugin şemasıyla doğrulanır). +- `plugins.entries..env`: Plugin kapsamlı ortam değişkeni eşlemesi. +- `plugins.entries..hooks.allowPromptInjection`: `false` olduğunda çekirdek `before_prompt_build` işlemini engeller ve eski `before_agent_start` içinden gelen istem değiştirici alanları yok sayar; eski `modelOverride` ve `providerOverride` değerlerini ise korur. Yerel Plugin hook'larına ve desteklenen bundle kaynaklı hook dizinlerine uygulanır. +- `plugins.entries..subagent.allowModelOverride`: bu Plugin'e arka plan alt ajan çalıştırmaları için çalışma başına `provider` ve `model` geçersiz kılmaları isteme konusunda açıkça güvenilir izin verin. +- `plugins.entries..subagent.allowedModels`: güvenilen alt ajan geçersiz kılmaları için kanonik `provider/model` hedeflerinin isteğe bağlı izin listesi. Yalnızca herhangi bir modele izin vermek istediğinizde `"*"` kullanın. +- `plugins.entries..config`: Plugin tarafından tanımlanan yapılandırma nesnesi (mevcut olduğunda yerel OpenClaw Plugin şemasıyla doğrulanır). - `plugins.entries.firecrawl.config.webFetch`: Firecrawl web-fetch sağlayıcı ayarları. - - `apiKey`: Firecrawl API anahtarı (SecretRef kabul eder). `plugins.entries.firecrawl.config.webSearch.apiKey`, eski `tools.web.fetch.firecrawl.apiKey` veya `FIRECRAWL_API_KEY` env değişkenine geri döner. + - `apiKey`: Firecrawl API anahtarı (SecretRef kabul eder). `plugins.entries.firecrawl.config.webSearch.apiKey`, eski `tools.web.fetch.firecrawl.apiKey` veya `FIRECRAWL_API_KEY` ortam değişkenine geri döner. - `baseUrl`: Firecrawl API temel URL'si (varsayılan: `https://api.firecrawl.dev`). - `onlyMainContent`: sayfalardan yalnızca ana içeriği çıkar (varsayılan: `true`). - - `maxAgeMs`: milisaniye cinsinden en yüksek önbellek yaşı (varsayılan: `172800000` / 2 gün). - - `timeoutSeconds`: scrape isteği zaman aşımı, saniye cinsinden (varsayılan: `60`). + - `maxAgeMs`: milisaniye cinsinden azami önbellek yaşı (varsayılan: `172800000` / 2 gün). + - `timeoutSeconds`: scrape isteği zaman aşımı süresi saniye cinsinden (varsayılan: `60`). - `plugins.entries.xai.config.xSearch`: xAI X Search (Grok web araması) ayarları. - `enabled`: X Search sağlayıcısını etkinleştir. - - `model`: arama için kullanılacak Grok modeli (ör. `"grok-4-1-fast"`). + - `model`: arama için kullanılacak Grok modeli (örn. `"grok-4-1-fast"`). - `plugins.entries.memory-core.config.dreaming`: memory dreaming ayarları. Aşamalar ve eşikler için bkz. [Dreaming](/tr/concepts/dreaming). - `enabled`: ana dreaming anahtarı (varsayılan `false`). - - `frequency`: her tam dreaming taraması için Cron sıklığı (varsayılan `"0 3 * * *"`). + - `frequency`: her tam dreaming taraması için Cron temposu (varsayılan olarak `"0 3 * * *"`). - aşama ilkesi ve eşikler uygulama ayrıntılarıdır (kullanıcıya dönük yapılandırma anahtarları değildir). -- Tam memory yapılandırması [Bellek yapılandırma referansı](/tr/reference/memory-config) içinde bulunur: +- Tam memory yapılandırması [Memory configuration reference](/tr/reference/memory-config) içinde bulunur: - `agents.defaults.memorySearch.*` - `memory.backend` - `memory.citations` - `memory.qmd.*` - `plugins.entries.memory-core.config.dreaming` -- Etkin Claude bundle Plugin'leri ayrıca `settings.json` içinden gömülü Pi varsayılanları sağlayabilir; OpenClaw bunları ham OpenClaw yapılandırma yamaları olarak değil, temizlenmiş agent ayarları olarak uygular. -- `plugins.slots.memory`: etkin memory Plugin id'sini seçin veya memory Plugin'lerini devre dışı bırakmak için `"none"` kullanın. -- `plugins.slots.contextEngine`: etkin context engine Plugin id'sini seçin; başka bir engine kurup seçmediğiniz sürece varsayılan `"legacy"` olur. -- `plugins.installs`: `openclaw plugins update` tarafından kullanılan CLI yönetimli kurulum meta verisi. +- Etkin Claude bundle Plugin'leri, `settings.json` içinden embedded Pi varsayılanları da sağlayabilir; OpenClaw bunları ham OpenClaw yapılandırma yamaları olarak değil, temizlenmiş ajan ayarları olarak uygular. +- `plugins.slots.memory`: etkin memory Plugin kimliğini seçin veya memory Plugin'lerini devre dışı bırakmak için `"none"` kullanın. +- `plugins.slots.contextEngine`: etkin context engine Plugin kimliğini seçin; başka bir engine kurup seçmediğiniz sürece varsayılan `"legacy"` olur. +- `plugins.installs`: `openclaw plugins update` tarafından kullanılan CLI yönetimli kurulum meta verileri. - `source`, `spec`, `sourcePath`, `installPath`, `version`, `resolvedName`, `resolvedVersion`, `resolvedSpec`, `integrity`, `shasum`, `resolvedAt`, `installedAt` içerir. - - `plugins.installs.*` alanlarını yönetilen durum olarak değerlendirin; el ile düzenleme yerine CLI komutlarını tercih edin. + - `plugins.installs.*` değerlerini yönetilen durum olarak ele alın; elle düzenlemek yerine CLI komutlarını tercih edin. Bkz. [Plugins](/tr/tools/plugin). @@ -2798,7 +2913,7 @@ Bkz. [Plugins](/tr/tools/plugin). evaluateEnabled: true, defaultProfile: "user", ssrfPolicy: { - // dangerouslyAllowPrivateNetwork: true, // yalnızca güvenilir özel ağ erişimi için isteğe bağlı etkinleştirin + // dangerouslyAllowPrivateNetwork: true, // yalnızca güvenilen özel ağ erişimi için isteğe bağlı etkinleştirin // allowPrivateNetwork: true, // eski takma ad // hostnameAllowlist: ["*.example.com", "example.com"], // allowedHostnames: ["localhost"], @@ -2826,28 +2941,22 @@ Bkz. [Plugins](/tr/tools/plugin). ``` - `evaluateEnabled: false`, `act:evaluate` ve `wait --fn` işlemlerini devre dışı bırakır. -- `ssrfPolicy.dangerouslyAllowPrivateNetwork`, ayarlanmamış olduğunda devre dışıdır; bu yüzden tarayıcı gezinmesi varsayılan olarak katı kalır. -- Yalnızca özel ağ tarayıcı gezinmesine bilinçli olarak güvendiğinizde `ssrfPolicy.dangerouslyAllowPrivateNetwork: true` ayarlayın. -- Katı modda uzak CDP profil uç noktaları (`profiles.*.cdpUrl`), erişilebilirlik/keşif denetimleri sırasında aynı özel ağ engellemesine tabidir. +- `ssrfPolicy.dangerouslyAllowPrivateNetwork`, ayarlanmamışsa devre dışıdır; bu nedenle tarayıcı gezinmesi varsayılan olarak katı kalır. +- `ssrfPolicy.dangerouslyAllowPrivateNetwork: true` değerini yalnızca özel ağ tarayıcı gezinmesine bilerek güvendiğinizde ayarlayın. +- Katı modda, uzak CDP profil uç noktaları (`profiles.*.cdpUrl`) erişilebilirlik/keşif denetimleri sırasında aynı özel ağ engellemesine tabidir. - `ssrfPolicy.allowPrivateNetwork`, eski takma ad olarak desteklenmeye devam eder. - Katı modda açık istisnalar için `ssrfPolicy.hostnameAllowlist` ve `ssrfPolicy.allowedHostnames` kullanın. -- Uzak profiller yalnızca ekleme modundadır (başlat/durdur/sıfırla devre dışı). +- Uzak profiller yalnızca bağlanma modundadır (başlat/durdur/sıfırla devre dışı). - `profiles.*.cdpUrl`, `http://`, `https://`, `ws://` ve `wss://` kabul eder. - OpenClaw'ın `/json/version` keşfetmesini istediğinizde HTTP(S) kullanın; doğrudan bir DevTools WebSocket URL'si sağlayıcınız varsa WS(S) - kullanın. -- `existing-session` profilleri yalnızca host içindir ve CDP yerine Chrome MCP kullanır. -- `existing-session` profilleri, Brave veya Edge gibi belirli bir - Chromium tabanlı tarayıcı profilini hedeflemek için `userDataDir` ayarlayabilir. -- `existing-session` profilleri mevcut Chrome MCP rota sınırlarını korur: - CSS seçici hedefleme yerine snapshot/ref tabanlı eylemler, tek dosya yükleme - hook'ları, iletişim kutusu zaman aşımı geçersiz kılmaları yok, `wait --load networkidle` yok ve - `responsebody`, PDF dışa aktarma, indirme yakalama veya toplu eylemler yok. -- Yerel yönetilen `openclaw` profilleri otomatik olarak `cdpPort` ve `cdpUrl` atar; yalnızca - uzak CDP için `cdpUrl` açıkça ayarlayın. + OpenClaw'ın `/json/version` bulmasını istediğinizde HTTP(S) kullanın; sağlayıcınız size doğrudan bir DevTools WebSocket URL'si verdiğinde WS(S) kullanın. +- `existing-session` profilleri yalnızca ana makine içindir ve CDP yerine Chrome MCP kullanır. +- `existing-session` profilleri, Brave veya Edge gibi belirli bir Chromium tabanlı tarayıcı profilini hedeflemek için `userDataDir` ayarlayabilir. +- `existing-session` profilleri mevcut Chrome MCP yol sınırlarını korur: + CSS seçici hedefleme yerine snapshot/ref tabanlı eylemler, tek dosya yükleme hook'ları, iletişim kutusu zaman aşımı geçersiz kılmaları yok, `wait --load networkidle` yok ve `responsebody`, PDF dışa aktarma, indirme yakalama veya toplu eylemler yok. +- Yerel yönetilen `openclaw` profilleri `cdpPort` ve `cdpUrl` değerlerini otomatik atar; yalnızca uzak CDP için `cdpUrl` değerini açıkça ayarlayın. - Otomatik algılama sırası: varsayılan tarayıcı Chromium tabanlıysa → Chrome → Brave → Edge → Chromium → Chrome Canary. - Denetim hizmeti: yalnızca loopback (port `gateway.port` değerinden türetilir, varsayılan `18791`). -- `extraArgs`, yerel Chromium başlatmasına ek bayraklar ekler (örneğin - `--disable-gpu`, pencere boyutlandırma veya hata ayıklama bayrakları). +- `extraArgs`, yerel Chromium başlatmasına ek başlatma bayrakları ekler (örneğin `--disable-gpu`, pencere boyutlandırma veya hata ayıklama bayrakları). --- @@ -2859,14 +2968,14 @@ Bkz. [Plugins](/tr/tools/plugin). seamColor: "#FF4500", assistant: { name: "OpenClaw", - avatar: "CB", // emoji, kısa metin, görsel URL'si veya data URI + avatar: "CB", // emoji, kısa metin, görüntü URL'si veya data URI }, }, } ``` -- `seamColor`: yerel uygulama UI çerçevesi için vurgu rengi (Talk Mode balon tonu vb.). -- `assistant`: Control UI kimlik geçersiz kılması. Etkin agent kimliğine geri döner. +- `seamColor`: yerel uygulama UI chrome'u için vurgu rengi (Talk Mode baloncuk tonu vb.). +- `assistant`: Control UI kimlik geçersiz kılması. Etkin ajan kimliğine geri döner. --- @@ -2901,8 +3010,8 @@ Bkz. [Plugins](/tr/tools/plugin). // root: "dist/control-ui", // embedSandbox: "scripts", // strict | scripts | trusted // allowExternalEmbedUrls: false, // tehlikeli: mutlak harici http(s) embed URL'lerine izin ver - // allowedOrigins: ["https://control.example.com"], // loopback olmayan Control UI için gerekli - // dangerouslyAllowHostHeaderOriginFallback: false, // tehlikeli Host-header origin geri dönüş modu + // allowedOrigins: ["https://control.example.com"], // loopback dışı Control UI için gerekli + // dangerouslyAllowHostHeaderOriginFallback: false, // tehlikeli Host-header origin fallback modu // allowInsecureAuth: false, // dangerouslyDisableDeviceAuth: false, }, @@ -2916,9 +3025,9 @@ Bkz. [Plugins](/tr/tools/plugin). // İsteğe bağlı. Varsayılan false. allowRealIpFallback: false, tools: { - // Ek /tools/invoke HTTP deny'leri + // Ek /tools/invoke HTTP engelleri deny: ["browser"], - // Varsayılan HTTP deny listesinden araçları kaldır + // Varsayılan HTTP engel listesinden araçları kaldır allow: ["gateway"], }, push: { @@ -2935,64 +3044,63 @@ Bkz. [Plugins](/tr/tools/plugin). -- `mode`: `local` (gateway'i çalıştır) veya `remote` (uzak Gateway'e bağlan). Gateway, `local` olmadıkça başlatmayı reddeder. -- `port`: WS + HTTP için tek çoklamalı port. Öncelik: `--port` > `OPENCLAW_GATEWAY_PORT` > `gateway.port` > `18789`. +- `mode`: `local` (gateway'i çalıştır) veya `remote` (uzak gateway'e bağlan). Gateway, `local` olmadığı sürece başlatmayı reddeder. +- `port`: WS + HTTP için tek çoklanmış port. Öncelik: `--port` > `OPENCLAW_GATEWAY_PORT` > `gateway.port` > `18789`. - `bind`: `auto`, `loopback` (varsayılan), `lan` (`0.0.0.0`), `tailnet` (yalnızca Tailscale IP'si) veya `custom`. -- **Eski bind takma adları**: `gateway.bind` içinde host takma adlarını (`0.0.0.0`, `127.0.0.1`, `localhost`, `::`, `::1`) değil, bind modu değerlerini (`auto`, `loopback`, `lan`, `tailnet`, `custom`) kullanın. -- **Docker notu**: varsayılan `loopback` bind'i kapsayıcı içinde `127.0.0.1` üzerinde dinler. Docker bridge ağı kullanıldığında (`-p 18789:18789`), trafik `eth0` üzerinden gelir; bu nedenle Gateway'e erişilemez. `--network host` kullanın veya tüm arayüzlerde dinlemek için `bind: "lan"` (ya da `customBindHost: "0.0.0.0"` ile `bind: "custom"`) ayarlayın. -- **Auth**: varsayılan olarak gereklidir. Loopback dışındaki bind'ler Gateway kimlik doğrulaması gerektirir. Pratikte bu, paylaşılan bir token/parola veya `gateway.auth.mode: "trusted-proxy"` kullanan kimlik farkındalığı olan bir reverse proxy anlamına gelir. Onboarding sihirbazı varsayılan olarak bir token üretir. -- Hem `gateway.auth.token` hem de `gateway.auth.password` yapılandırılmışsa (SecretRef'ler dahil), `gateway.auth.mode` değerini açıkça `token` veya `password` olarak ayarlayın. Her ikisi de yapılandırılmış ve mode ayarlanmamışsa başlatma ve hizmet yükleme/onarma akışları başarısız olur. -- `gateway.auth.mode: "none"`: açık no-auth modu. Yalnızca güvenilir local loopback kurulumlarında kullanın; bu seçenek bilinçli olarak onboarding istemlerinde sunulmaz. -- `gateway.auth.mode: "trusted-proxy"`: kimlik doğrulamayı kimlik farkındalığı olan bir reverse proxy'ye devredin ve `gateway.trustedProxies` içinden gelen kimlik başlıklarına güvenin (bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth)). Bu mod bir **loopback dışı** proxy kaynağı bekler; aynı host üzerindeki loopback reverse proxy'ler trusted-proxy auth gereksinimini karşılamaz. -- `gateway.auth.allowTailscale`: `true` olduğunda, Tailscale Serve kimlik başlıkları Control UI/WebSocket auth için yeterli olabilir (`tailscale whois` ile doğrulanır). HTTP API uç noktaları bu Tailscale başlık kimlik doğrulamasını kullanmaz; bunun yerine Gateway'in normal HTTP auth modunu izler. Bu tokensız akış Gateway host'unun güvenilir olduğunu varsayar. `tailscale.mode = "serve"` olduğunda varsayılan `true` olur. -- `gateway.auth.rateLimit`: isteğe bağlı başarısız auth sınırlayıcısı. İstemci IP'si ve auth kapsamı başına uygulanır (paylaşılan gizli anahtar ve device-token bağımsız izlenir). Engellenen denemeler `429` + `Retry-After` döndürür. - - Eşzamansız Tailscale Serve Control UI yolunda aynı `{scope, clientIp}` için başarısız denemeler, başarısızlık yazımından önce serileştirilir. Bu nedenle aynı istemciden eşzamanlı hatalı denemeler düz uyuşmazlıklar olarak birlikte geçmek yerine ikinci istekte sınırlayıcıyı tetikleyebilir. - - `gateway.auth.rateLimit.exemptLoopback` varsayılan olarak `true` değerindedir; localhost trafiğinin de sınırlanmasını bilinçli olarak istiyorsanız (`test` kurulumları veya katı proxy dağıtımları için) `false` ayarlayın. -- Tarayıcı kökenli WS auth denemeleri, loopback muafiyeti devre dışı olacak şekilde her zaman sınırlanır (tarayıcı tabanlı localhost brute force'a karşı ek savunma). +- **Eski bind takma adları**: `gateway.bind` içinde host takma adları (`0.0.0.0`, `127.0.0.1`, `localhost`, `::`, `::1`) değil, bind modu değerlerini (`auto`, `loopback`, `lan`, `tailnet`, `custom`) kullanın. +- **Docker notu**: varsayılan `loopback` bind, kapsayıcı içinde `127.0.0.1` üzerinde dinler. Docker bridge ağı (`-p 18789:18789`) ile trafik `eth0` üzerinden geldiği için gateway'e erişilemez. `--network host` kullanın veya tüm arayüzlerde dinlemek için `bind: "lan"` (ya da `customBindHost: "0.0.0.0"` ile `bind: "custom"`) ayarlayın. +- **Kimlik doğrulama**: varsayılan olarak gereklidir. Loopback dışı bind'ler gateway kimlik doğrulaması gerektirir. Uygulamada bu, paylaşılan bir token/parola veya `gateway.auth.mode: "trusted-proxy"` ile kimlik farkındalıklı bir ters proxy anlamına gelir. Onboarding sihirbazı varsayılan olarak bir token üretir. +- Hem `gateway.auth.token` hem `gateway.auth.password` yapılandırılmışsa (SecretRef'ler dahil), `gateway.auth.mode` değerini açıkça `token` veya `password` olarak ayarlayın. Her ikisi de yapılandırılmışken mod ayarlanmamışsa başlatma ve hizmet kurma/onarım akışları başarısız olur. +- `gateway.auth.mode: "none"`: açık kimlik doğrulamasız mod. Bunu yalnızca güvenilen yerel loopback kurulumlarında kullanın; onboarding istemlerinde kasıtlı olarak sunulmaz. +- `gateway.auth.mode: "trusted-proxy"`: kimlik doğrulamayı kimlik farkındalıklı bir ters proxy'ye devret ve `gateway.trustedProxies` içinden gelen kimlik üstbilgilerine güven (bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth)). Bu mod bir **loopback dışı** proxy kaynağı bekler; aynı ana makinedeki loopback ters proxy'leri trusted-proxy kimlik doğrulamasını karşılamaz. +- `gateway.auth.allowTailscale`: `true` olduğunda Tailscale Serve kimlik üstbilgileri, Control UI/WebSocket kimlik doğrulamasını karşılayabilir (`tailscale whois` ile doğrulanır). HTTP API uç noktaları bu Tailscale üstbilgi kimlik doğrulamasını kullanmaz; bunun yerine gateway'in normal HTTP kimlik doğrulama modunu izler. Bu token'sız akış, gateway ana makinesinin güvenilir olduğunu varsayar. `tailscale.mode = "serve"` olduğunda varsayılan olarak `true` olur. +- `gateway.auth.rateLimit`: isteğe bağlı başarısız kimlik doğrulama sınırlayıcısı. İstemci IP'si ve kimlik doğrulama kapsamı başına uygulanır (paylaşılan gizli anahtar ve device-token bağımsız izlenir). Engellenen denemeler `429` + `Retry-After` döndürür. + - Eşzamansız Tailscale Serve Control UI yolunda aynı `{scope, clientIp}` için başarısız denemeler, hata yazımından önce serileştirilir. Bu nedenle aynı istemciden gelen eşzamanlı kötü denemeler, ikisinin de düz uyumsuzluk olarak geçmesi yerine ikinci istekte sınırlayıcıyı tetikleyebilir. + - `gateway.auth.rateLimit.exemptLoopback` varsayılan olarak `true` değerindedir; localhost trafiğinin de hız sınırına tabi olmasını bilerek istiyorsanız (`test` kurulumları veya katı proxy dağıtımları için) `false` yapın. +- Tarayıcı kökenli WS kimlik doğrulama denemeleri, loopback muafiyeti devre dışı olacak şekilde her zaman kısıtlanır (tarayıcı tabanlı localhost kaba kuvvet denemelerine karşı savunma derinliği). - Loopback üzerinde bu tarayıcı kökenli kilitlemeler, normalize edilmiş `Origin` - değerine göre yalıtılır; böylece bir localhost origin'inden tekrarlanan başarısızlıklar - başka bir origin'i otomatik olarak kilitlemez. -- `tailscale.mode`: `serve` (yalnızca tailnet, loopback bind) veya `funnel` (genel erişim, auth gerektirir). -- `controlUi.allowedOrigins`: Gateway WebSocket bağlantıları için açık tarayıcı origin izin listesi. Tarayıcı istemcilerinin loopback dışı origin'lerden gelmesi bekleniyorsa gereklidir. -- `controlUi.dangerouslyAllowHostHeaderOriginFallback`: Host-header origin ilkesine bilinçli olarak dayanan dağıtımlar için Host-header origin geri dönüşünü etkinleştiren tehlikeli mod. + değeri başına yalıtılır; bu nedenle bir localhost origin'inden gelen tekrarlı başarısızlıklar farklı bir origin'i otomatik olarak kilitlemez. +- `tailscale.mode`: `serve` (yalnızca tailnet, loopback bind) veya `funnel` (genel, kimlik doğrulama gerektirir). +- `controlUi.allowedOrigins`: Gateway WebSocket bağlantıları için açık tarayıcı origin izin listesi. Tarayıcı istemcileri loopback dışı origin'lerden beklendiğinde gereklidir. +- `controlUi.dangerouslyAllowHostHeaderOriginFallback`: Host-header origin ilkesine kasıtlı olarak dayanan dağıtımlar için Host-header origin fallback'i etkinleştiren tehlikeli mod. - `remote.transport`: `ssh` (varsayılan) veya `direct` (ws/wss). `direct` için `remote.url`, `ws://` veya `wss://` olmalıdır. -- `OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1`: güvenilir özel ağ IP'lerine düz metin `ws://` izni veren istemci tarafı acil durum geçersiz kılması; varsayılan olarak düz metin yalnızca loopback için açık kalır. -- `gateway.remote.token` / `.password`, uzak istemci kimlik bilgisi alanlarıdır. Bunlar tek başlarına Gateway auth yapılandırmaz. -- `gateway.push.apns.relay.baseUrl`: resmi/TestFlight iOS sürümleri relay destekli kayıtları Gateway'e yayımladıktan sonra kullanılan harici APNs relay için temel HTTPS URL'si. Bu URL, iOS derlemesine gömülen relay URL'si ile eşleşmelidir. -- `gateway.push.apns.relay.timeoutMs`: Gateway'den relay'e gönderim zaman aşımı, milisaniye cinsinden. Varsayılan `10000`. -- Relay destekli kayıtlar belirli bir Gateway kimliğine devredilir. Eşlenen iOS uygulaması `gateway.identity.get` çağırır, bu kimliği relay kaydına ekler ve kayıt kapsamlı bir gönderim iznini Gateway'e iletir. Başka bir Gateway bu saklanan kaydı yeniden kullanamaz. -- `OPENCLAW_APNS_RELAY_BASE_URL` / `OPENCLAW_APNS_RELAY_TIMEOUT_MS`: yukarıdaki relay yapılandırması için geçici env geçersiz kılmaları. +- `OPENCLAW_ALLOW_INSECURE_PRIVATE_WS=1`: güvenilen özel ağ IP'lerine düz metin `ws://` kullanımına izin veren istemci tarafı son çare geçersiz kılması; varsayılan davranış düz metin için yalnızca loopback olarak kalır. +- `gateway.remote.token` / `.password`, uzak istemci kimlik bilgisi alanlarıdır. Gateway kimlik doğrulamasını tek başlarına yapılandırmazlar. +- `gateway.push.apns.relay.baseUrl`: resmi/TestFlight iOS yapıları relay destekli kayıtları gateway'e yayınladıktan sonra kullanılan harici APNs relay'i için temel HTTPS URL'si. Bu URL, iOS yapısına derlenmiş relay URL'siyle eşleşmelidir. +- `gateway.push.apns.relay.timeoutMs`: milisaniye cinsinden gateway'den relay'e gönderim zaman aşımı. Varsayılan `10000`. +- Relay destekli kayıtlar belirli bir gateway kimliğine devredilir. Eşlenmiş iOS uygulaması `gateway.identity.get` getirir, bu kimliği relay kaydına ekler ve kayıt kapsamlı bir gönderim iznini gateway'e iletir. Başka bir gateway, depolanmış bu kaydı yeniden kullanamaz. +- `OPENCLAW_APNS_RELAY_BASE_URL` / `OPENCLAW_APNS_RELAY_TIMEOUT_MS`: yukarıdaki relay yapılandırması için geçici ortam geçersiz kılmaları. - `OPENCLAW_APNS_RELAY_ALLOW_HTTP=true`: loopback HTTP relay URL'leri için yalnızca geliştirme amaçlı kaçış kapağı. Üretim relay URL'leri HTTPS üzerinde kalmalıdır. -- `gateway.channelHealthCheckMinutes`: kanal sağlık izleyici aralığı, dakika cinsinden. Sağlık izleyici yeniden başlatmalarını genel olarak devre dışı bırakmak için `0` ayarlayın. Varsayılan: `5`. -- `gateway.channelStaleEventThresholdMinutes`: bayat soket eşiği, dakika cinsinden. Bunu `gateway.channelHealthCheckMinutes` değerinden büyük veya ona eşit tutun. Varsayılan: `30`. -- `gateway.channelMaxRestartsPerHour`: kayan bir saat içinde kanal/hesap başına en yüksek sağlık izleyici yeniden başlatma sayısı. Varsayılan: `10`. -- `channels..healthMonitor.enabled`: genel izleyiciyi etkin tutarken sağlık izleyici yeniden başlatmaları için kanal başına devre dışı bırakma. +- `gateway.channelHealthCheckMinutes`: kanal durum izleyici aralığı, dakika cinsinden. Durum izleyici yeniden başlatmalarını genel olarak devre dışı bırakmak için `0` ayarlayın. Varsayılan: `5`. +- `gateway.channelStaleEventThresholdMinutes`: bayat soket eşiği, dakika cinsinden. Bunu `gateway.channelHealthCheckMinutes` değerine eşit veya ondan büyük tutun. Varsayılan: `30`. +- `gateway.channelMaxRestartsPerHour`: kayan bir saat içinde kanal/hesap başına azami durum izleyici yeniden başlatma sayısı. Varsayılan: `10`. +- `channels..healthMonitor.enabled`: genel izleyiciyi etkin tutarken durum izleyici yeniden başlatmaları için kanal başına devre dışı bırakma seçeneği. - `channels..accounts..healthMonitor.enabled`: çok hesaplı kanallar için hesap başına geçersiz kılma. Ayarlandığında kanal düzeyindeki geçersiz kılmaya üstün gelir. -- Yerel Gateway çağrı yolları, yalnızca `gateway.auth.*` ayarlanmamışsa geri dönüş olarak `gateway.remote.*` kullanabilir. -- `gateway.auth.token` / `gateway.auth.password`, SecretRef aracılığıyla açıkça yapılandırılmışsa ve çözümlenmemişse çözümleme kapalı başarısız olur (uzak geri dönüş bunu maskeleyemez). -- `trustedProxies`: TLS'i sonlandıran veya yönlendirilmiş istemci başlıkları ekleyen reverse proxy IP'leri. Yalnızca sizin denetlediğiniz proxy'leri listeleyin. Loopback girdileri, aynı host proxy/yerel algılama kurulumları için hâlâ geçerlidir (örneğin Tailscale Serve veya yerel reverse proxy), ancak loopback isteklerini `gateway.auth.mode: "trusted-proxy"` için uygun hâle getirmez. -- `allowRealIpFallback`: `true` olduğunda, `X-Forwarded-For` eksikse Gateway `X-Real-IP` kabul eder. Kapalı varsayılan davranış için varsayılan `false`. -- `gateway.tools.deny`: HTTP `POST /tools/invoke` için engellenen ek araç adları (varsayılan deny listesini genişletir). -- `gateway.tools.allow`: araç adlarını varsayılan HTTP deny listesinden kaldırır. +- Yerel gateway çağrı yolları `gateway.remote.*` değerlerini yalnızca `gateway.auth.*` ayarlanmamışsa yedek olarak kullanabilir. +- `gateway.auth.token` / `gateway.auth.password`, SecretRef aracılığıyla açıkça yapılandırılmış ama çözümlenmemişse çözümleme fail-closed olur (uzak fallback bunu maskeleyemez). +- `trustedProxies`: TLS sonlandıran veya iletilen istemci üstbilgileri ekleyen ters proxy IP'leri. Yalnızca denetlediğiniz proxy'leri listeleyin. Loopback girdileri, aynı ana makine proxy/yerel algılama kurulumları için hâlâ geçerlidir (örneğin Tailscale Serve veya yerel ters proxy), ancak bunlar loopback isteklerini `gateway.auth.mode: "trusted-proxy"` için uygun hâle getirmez. +- `allowRealIpFallback`: `true` olduğunda `X-Forwarded-For` eksikse gateway `X-Real-IP` kabul eder. Fail-closed davranış için varsayılan `false`. +- `gateway.tools.deny`: HTTP `POST /tools/invoke` için engellenecek ek araç adları (varsayılan engel listesini genişletir). +- `gateway.tools.allow`: varsayılan HTTP engel listesinden araç adlarını kaldırır. ### OpenAI uyumlu uç noktalar -- Chat Completions: varsayılan olarak devre dışıdır. `gateway.http.endpoints.chatCompletions.enabled: true` ile etkinleştirin. +- Chat Completions: varsayılan olarak devre dışı. `gateway.http.endpoints.chatCompletions.enabled: true` ile etkinleştirin. - Responses API: `gateway.http.endpoints.responses.enabled`. -- Responses URL girdisi güçlendirmesi: +- Responses URL girdi güçlendirmesi: - `gateway.http.endpoints.responses.maxUrlParts` - `gateway.http.endpoints.responses.files.urlAllowlist` - `gateway.http.endpoints.responses.images.urlAllowlist` Boş izin listeleri ayarlanmamış kabul edilir; URL getirmeyi devre dışı bırakmak için `gateway.http.endpoints.responses.files.allowUrl=false` ve/veya `gateway.http.endpoints.responses.images.allowUrl=false` kullanın. -- İsteğe bağlı yanıt güçlendirme başlığı: - - `gateway.http.securityHeaders.strictTransportSecurity` (yalnızca denetlediğiniz HTTPS origin'ler için ayarlayın; bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth#tls-termination-and-hsts)) +- İsteğe bağlı yanıt güçlendirme üstbilgisi: + - `gateway.http.securityHeaders.strictTransportSecurity` (yalnızca denetlediğiniz HTTPS origin'leri için ayarlayın; bkz. [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth#tls-termination-and-hsts)) ### Çok örnekli yalıtım -Tek bir host üzerinde benzersiz portlar ve durum dizinleriyle birden fazla Gateway çalıştırın: +Bir ana makinede benzersiz portlar ve durum dizinleri ile birden çok gateway çalıştırın: ```bash OPENCLAW_CONFIG_PATH=~/.openclaw/a.json \ @@ -3002,7 +3110,7 @@ openclaw gateway --port 19001 Kolaylık bayrakları: `--dev` (`~/.openclaw-dev` + port `19001` kullanır), `--profile ` (`~/.openclaw-` kullanır). -Bkz. [Birden Fazla Gateway](/tr/gateway/multiple-gateways). +Bkz. [Multiple Gateways](/tr/gateway/multiple-gateways). ### `gateway.tls` @@ -3020,8 +3128,8 @@ Bkz. [Birden Fazla Gateway](/tr/gateway/multiple-gateways). } ``` -- `enabled`: Gateway dinleyicisinde TLS sonlandırmasını etkinleştirir (HTTPS/WSS) (varsayılan: `false`). -- `autoGenerate`: açık dosyalar yapılandırılmamışsa yerel, kendinden imzalı bir sertifika/anahtar çifti üretir; yalnızca yerel/geliştirme kullanımı içindir. +- `enabled`: gateway dinleyicisinde TLS sonlandırmasını etkinleştirir (HTTPS/WSS) (varsayılan: `false`). +- `autoGenerate`: açık dosyalar yapılandırılmamışsa yerel self-signed sertifika/anahtar çifti otomatik oluşturur; yalnızca yerel/geliştirme kullanımı içindir. - `certPath`: TLS sertifika dosyasının dosya sistemi yolu. - `keyPath`: TLS özel anahtar dosyasının dosya sistemi yolu; izinleri kısıtlı tutun. - `caPath`: istemci doğrulaması veya özel güven zincirleri için isteğe bağlı CA paketi yolu. @@ -3040,13 +3148,13 @@ Bkz. [Birden Fazla Gateway](/tr/gateway/multiple-gateways). } ``` -- `mode`: yapılandırma düzenlemelerinin çalışma zamanında nasıl uygulanacağını kontrol eder. +- `mode`: yapılandırma düzenlemelerinin çalışma zamanında nasıl uygulanacağını denetler. - `"off"`: canlı düzenlemeleri yok say; değişiklikler açık yeniden başlatma gerektirir. - - `"restart"`: yapılandırma değiştiğinde her zaman Gateway sürecini yeniden başlat. + - `"restart"`: yapılandırma değişikliğinde gateway sürecini her zaman yeniden başlat. - `"hot"`: değişiklikleri yeniden başlatmadan süreç içinde uygula. - `"hybrid"` (varsayılan): önce hot reload dene; gerekirse yeniden başlatmaya geri dön. -- `debounceMs`: yapılandırma değişiklikleri uygulanmadan önce ms cinsinden debounce penceresi (negatif olmayan tam sayı). -- `deferralTimeoutMs`: yeniden başlatmayı zorlamadan önce devam eden işlemleri beklemek için en yüksek süre, ms cinsinden (varsayılan: `300000` = 5 dakika). +- `debounceMs`: yapılandırma değişiklikleri uygulanmadan önce milisaniye cinsinden debounce penceresi (negatif olmayan tamsayı). +- `deferralTimeoutMs`: yeniden başlatmayı zorlamadan önce devam eden işlemler için beklenecek azami milisaniye süresi (varsayılan: `300000` = 5 dakika). --- @@ -3083,13 +3191,13 @@ Bkz. [Birden Fazla Gateway](/tr/gateway/multiple-gateways). } ``` -Auth: `Authorization: Bearer ` veya `x-openclaw-token: `. +Kimlik doğrulama: `Authorization: Bearer ` veya `x-openclaw-token: `. Sorgu dizesi hook token'ları reddedilir. Doğrulama ve güvenlik notları: -- `hooks.enabled=true` için boş olmayan bir `hooks.token` gerekir. -- `hooks.token`, `gateway.auth.token` değerinden **farklı** olmalıdır; Gateway token'ını yeniden kullanmak reddedilir. +- `hooks.enabled=true`, boş olmayan bir `hooks.token` gerektirir. +- `hooks.token`, `gateway.auth.token` değerinden **farklı** olmalıdır; aynı Gateway token'ını yeniden kullanmak reddedilir. - `hooks.path`, `/` olamaz; `/hooks` gibi özel bir alt yol kullanın. - `hooks.allowRequestSessionKey=true` ise `hooks.allowedSessionKeyPrefixes` değerini sınırlandırın (örneğin `["hook:"]`). @@ -3097,23 +3205,23 @@ Doğrulama ve güvenlik notları: - `POST /hooks/wake` → `{ text, mode?: "now"|"next-heartbeat" }` - `POST /hooks/agent` → `{ message, name?, agentId?, sessionKey?, wakeMode?, deliver?, channel?, to?, model?, thinking?, timeoutSeconds? }` - - İstek yükündeki `sessionKey`, yalnızca `hooks.allowRequestSessionKey=true` olduğunda kabul edilir (varsayılan: `false`). -- `POST /hooks/` → `hooks.mappings` üzerinden çözümlenir + - İstek yükünden gelen `sessionKey` yalnızca `hooks.allowRequestSessionKey=true` olduğunda kabul edilir (varsayılan: `false`). +- `POST /hooks/` → `hooks.mappings` aracılığıyla çözülür - `match.path`, `/hooks` sonrasındaki alt yolu eşleştirir (ör. `/hooks/gmail` → `gmail`). -- `match.source`, genel yollar için bir yük alanını eşleştirir. -- `{{messages[0].subject}}` gibi şablonlar yükten okunur. -- `transform`, bir hook eylemi döndüren JS/TS modülünü işaret edebilir. - - `transform.module` göreli bir yol olmalıdır ve `hooks.transformsDir` içinde kalır (mutlak yollar ve yol geçişi reddedilir). -- `agentId`, belirli bir agent'a yönlendirir; bilinmeyen kimlikler varsayılan agente geri döner. +- `match.source`, genel yollar için bir payload alanını eşleştirir. +- `{{messages[0].subject}}` gibi şablonlar payload'dan okur. +- `transform`, bir hook eylemi döndüren bir JS/TS modülüne işaret edebilir. + - `transform.module` göreli bir yol olmalıdır ve `hooks.transformsDir` içinde kalır (mutlak yollar ve dizin dolaşımı reddedilir). +- `agentId`, belirli bir ajana yönlendirir; bilinmeyen kimlikler varsayılan ajana geri döner. - `allowedAgentIds`: açık yönlendirmeyi kısıtlar (`*` veya atlanmış = tümüne izin ver, `[]` = tümünü reddet). -- `defaultSessionKey`: açık `sessionKey` olmadan yapılan hook agent çalıştırmaları için isteğe bağlı sabit oturum anahtarı. -- `allowRequestSessionKey`: `/hooks/agent` çağıranlarının `sessionKey` ayarlamasına izin verir (varsayılan: `false`). -- `allowedSessionKeyPrefixes`: açık `sessionKey` değerleri (istek + eşleme) için isteğe bağlı önek izin listesi, ör. `["hook:"]`. +- `defaultSessionKey`: açık `sessionKey` olmadan çalışan hook ajan çalıştırmaları için isteğe bağlı sabit oturum anahtarı. +- `allowRequestSessionKey`: `/hooks/agent` çağıranlarının `sessionKey` ayarlamasına izin ver (varsayılan: `false`). +- `allowedSessionKeyPrefixes`: açık `sessionKey` değerleri için isteğe bağlı önek izin listesi (istek + eşleme), ör. `["hook:"]`. - `deliver: true`, son yanıtı bir kanala gönderir; `channel` varsayılan olarak `last` olur. -- `model`, bu hook çalıştırması için LLM'i geçersiz kılar (model kataloğu ayarlıysa izinli olmalıdır). +- `model`, bu hook çalıştırması için LLM'yi geçersiz kılar (model kataloğu ayarlıysa izin verilmiş olmalıdır). @@ -3140,7 +3248,7 @@ Doğrulama ve güvenlik notları: } ``` -- Yapılandırıldığında Gateway, açılışta `gog gmail watch serve` işlemini otomatik başlatır. Devre dışı bırakmak için `OPENCLAW_SKIP_GMAIL_WATCHER=1` ayarlayın. +- Yapılandırıldığında Gateway açılışta `gog gmail watch serve` işlemini otomatik başlatır. Devre dışı bırakmak için `OPENCLAW_SKIP_GMAIL_WATCHER=1` ayarlayın. - Gateway ile birlikte ayrı bir `gog gmail watch serve` çalıştırmayın. --- @@ -3157,17 +3265,17 @@ Doğrulama ve güvenlik notları: } ``` -- Agent tarafından düzenlenebilir HTML/CSS/JS ve A2UI öğelerini Gateway portu altında HTTP üzerinden sunar: +- Ajan tarafından düzenlenebilir HTML/CSS/JS ve A2UI öğelerini Gateway portu altında HTTP üzerinden sunar: - `http://:/__openclaw__/canvas/` - `http://:/__openclaw__/a2ui/` -- Yalnızca yerel: `gateway.bind: "loopback"` (varsayılan) olarak bırakın. -- Loopback dışı bind'ler: canvas yolları, diğer Gateway HTTP yüzeylerinde olduğu gibi Gateway auth (token/password/trusted-proxy) gerektirir. -- Node WebView'lar genellikle auth başlıkları göndermez; bir node eşleştirildikten ve bağlandıktan sonra Gateway, canvas/A2UI erişimi için node kapsamlı yetenek URL'leri duyurur. -- Yetenek URL'leri etkin node WS oturumuna bağlıdır ve hızla sona erer. IP tabanlı geri dönüş kullanılmaz. -- Sunulan HTML içine live-reload istemcisi ekler. +- Yalnızca yerel: `gateway.bind: "loopback"` (varsayılan) olarak tutun. +- Loopback dışı bind'lerde: canvas yolları, diğer Gateway HTTP yüzeyleri gibi Gateway kimlik doğrulaması gerektirir (token/password/trusted-proxy). +- Node WebView'ler genellikle kimlik doğrulama üstbilgileri göndermez; bir node eşleştirilip bağlandıktan sonra Gateway, canvas/A2UI erişimi için node kapsamlı yetenek URL'leri duyurur. +- Yetenek URL'leri etkin node WS oturumuna bağlıdır ve kısa sürede sona erer. IP tabanlı fallback kullanılmaz. +- Sunulan HTML içine live-reload istemcisi enjekte eder. - Boş olduğunda başlangıç `index.html` dosyasını otomatik oluşturur. -- A2UI'yi ayrıca `/__openclaw__/a2ui/` altında sunar. -- Değişiklikler Gateway yeniden başlatması gerektirir. +- Ayrıca A2UI'yi `/__openclaw__/a2ui/` altında sunar. +- Değişiklikler bir gateway yeniden başlatması gerektirir. - Büyük dizinlerde veya `EMFILE` hatalarında live reload'u devre dışı bırakın. --- @@ -3186,9 +3294,9 @@ Doğrulama ve güvenlik notları: } ``` -- `minimal` (varsayılan): TXT kayıtlarından `cliPath` + `sshPort` alanlarını çıkarır. -- `full`: `cliPath` + `sshPort` alanlarını içerir. -- Hostname varsayılan olarak `openclaw` olur. `OPENCLAW_MDNS_HOSTNAME` ile geçersiz kılın. +- `minimal` (varsayılan): TXT kayıtlarından `cliPath` + `sshPort` öğelerini çıkarır. +- `full`: `cliPath` + `sshPort` içerir. +- Ana makine adı varsayılan olarak `openclaw` olur. `OPENCLAW_MDNS_HOSTNAME` ile geçersiz kılın. ### Geniş alan (DNS-SD) @@ -3200,7 +3308,7 @@ Doğrulama ve güvenlik notları: } ``` -`~/.openclaw/dns/` altında tek yönlü bir DNS-SD bölgesi yazar. Ağlar arası keşif için bunu bir DNS sunucusuyla (CoreDNS önerilir) + Tailscale split DNS ile eşleştirin. +`~/.openclaw/dns/` altında bir unicast DNS-SD bölgesi yazar. Ağlar arası keşif için bir DNS sunucusuyla (CoreDNS önerilir) + Tailscale split DNS ile eşleştirin. Kurulum: `openclaw dns setup --apply`. @@ -3208,7 +3316,7 @@ Kurulum: `openclaw dns setup --apply`. ## Ortam -### `env` (satır içi env değişkenleri) +### `env` (satır içi ortam değişkenleri) ```json5 { @@ -3225,14 +3333,14 @@ Kurulum: `openclaw dns setup --apply`. } ``` -- Satır içi env değişkenleri yalnızca süreç env'sinde anahtar eksikse uygulanır. +- Satır içi ortam değişkenleri yalnızca işlem ortamında anahtar eksikse uygulanır. - `.env` dosyaları: CWD `.env` + `~/.openclaw/.env` (hiçbiri mevcut değişkenleri geçersiz kılmaz). -- `shellEnv`: beklenen eksik anahtarları oturum açma kabuğu profilinizden içe aktarır. -- Tam öncelik için bkz. [Ortam](/tr/help/environment). +- `shellEnv`: beklenen eksik anahtarları giriş kabuğu profilinizden içe aktarır. +- Tam öncelik için bkz. [Environment](/tr/help/environment). -### Env değişkeni yer değiştirmesi +### Ortam değişkeni ikamesi -Herhangi bir yapılandırma dizesinde env değişkenlerine `${VAR_NAME}` ile başvurun: +Herhangi bir yapılandırma dizesinde ortam değişkenlerine `${VAR_NAME}` ile başvurun: ```json5 { @@ -3242,16 +3350,16 @@ Herhangi bir yapılandırma dizesinde env değişkenlerine `${VAR_NAME}` ile ba } ``` -- Yalnızca büyük harfli adlar eşleştirilir: `[A-Z_][A-Z0-9_]*`. -- Eksik/boş değişkenler yapılandırma yüklenirken hata üretir. -- Gerçek bir `${VAR}` için `$${VAR}` ile kaçış yapın. +- Yalnızca şu desene uyan büyük harfli adlar eşleştirilir: `[A-Z_][A-Z0-9_]*`. +- Eksik/boş değişkenler yapılandırma yüklenirken hata verir. +- Düz `${VAR}` için `$${VAR}` ile kaçış yapın. - `$include` ile çalışır. --- ## Gizli bilgiler -SecretRef'ler toplamsaldır: düz metin değerler yine çalışır. +SecretRef'ler eklemelidir: düz metin değerler yine çalışır. ### `SecretRef` @@ -3267,15 +3375,15 @@ Doğrulama: - `source: "env"` id deseni: `^[A-Z][A-Z0-9_]{0,127}$` - `source: "file"` id: mutlak JSON pointer (örneğin `"/providers/openai/apiKey"`) - `source: "exec"` id deseni: `^[A-Za-z0-9][A-Za-z0-9._:/-]{0,255}$` -- `source: "exec"` id'leri `.` veya `..` eğik çizgiyle ayrılmış yol segmentleri içermemelidir (örneğin `a/../b` reddedilir) +- `source: "exec"` kimlikleri `.` veya `..` içeren eğik çizgiyle ayrılmış yol bölümleri içermemelidir (örneğin `a/../b` reddedilir) ### Desteklenen kimlik bilgisi yüzeyi -- Kurallı matris: [SecretRef Kimlik Bilgisi Yüzeyi](/tr/reference/secretref-credential-surface) +- Kanonik matris: [SecretRef Credential Surface](/tr/reference/secretref-credential-surface) - `secrets apply`, desteklenen `openclaw.json` kimlik bilgisi yollarını hedefler. -- `auth-profiles.json` başvuruları çalışma zamanı çözümlemesine ve denetim kapsamına dahildir. +- `auth-profiles.json` referansları çalışma zamanı çözümlemesine ve denetim kapsamına dahildir. -### Secret sağlayıcı yapılandırması +### Gizli bilgi sağlayıcıları yapılandırması ```json5 { @@ -3306,16 +3414,16 @@ Doğrulama: Notlar: - `file` sağlayıcısı `mode: "json"` ve `mode: "singleValue"` destekler (`singleValue` modunda `id`, `"value"` olmalıdır). -- `exec` sağlayıcısı mutlak bir `command` yolu gerektirir ve stdin/stdout üzerinde protokol yükleri kullanır. -- Varsayılan olarak symlink komut yolları reddedilir. Symlink yollarına izin verirken çözümlenen hedef yolu doğrulamak için `allowSymlinkCommand: true` ayarlayın. -- `trustedDirs` yapılandırılmışsa güvenilir dizin denetimi çözümlenen hedef yola uygulanır. -- `exec` alt süreç ortamı varsayılan olarak asgaridir; gerekli değişkenleri `passEnv` ile açıkça iletin. -- Secret başvuruları etkinleştirme sırasında bellek içi bir anlık görüntüye çözümlenir, ardından istek yolları yalnızca bu anlık görüntüyü okur. -- Etkin yüzey filtrelemesi etkinleştirme sırasında uygulanır: etkin yüzeylerdeki çözümlenmemiş başvurular başlatma/yeniden yüklemeyi başarısız kılar; etkin olmayan yüzeyler ise tanılama ile atlanır. +- `exec` sağlayıcısı mutlak bir `command` yolu gerektirir ve stdin/stdout üzerinde protokol payload'ları kullanır. +- Varsayılan olarak symlink komut yolları reddedilir. Çözümlenmiş hedef yolunu doğrularken symlink yollarına izin vermek için `allowSymlinkCommand: true` ayarlayın. +- `trustedDirs` yapılandırılmışsa, trusted-dir denetimi çözümlenmiş hedef yola uygulanır. +- `exec` alt süreç ortamı varsayılan olarak asgaridir; gerekli değişkenleri `passEnv` ile açıkça geçin. +- SecretRef'ler etkinleştirme anında bellek içi bir anlık görüntüye çözülür, ardından istek yolları yalnızca bu anlık görüntüyü okur. +- Etkin yüzey filtrelemesi etkinleştirme sırasında uygulanır: etkin yüzeylerdeki çözümlenmemiş referanslar başlatma/yeniden yüklemeyi başarısız kılar, etkin olmayan yüzeyler ise tanılarla birlikte atlanır. --- -## Auth depolama +## Kimlik doğrulama depolaması ```json5 { @@ -3333,11 +3441,11 @@ Notlar: } ``` -- Agent başına profiller `/auth-profiles.json` içinde saklanır. -- `auth-profiles.json`, statik kimlik bilgisi modları için değer düzeyinde başvuruları destekler (`api_key` için `keyRef`, `token` için `tokenRef`). +- Ajan başına profiller `/auth-profiles.json` içinde depolanır. +- `auth-profiles.json`, statik kimlik bilgisi modları için değer düzeyinde referansları destekler (`api_key` için `keyRef`, `token` için `tokenRef`). - OAuth modlu profiller (`auth.profiles..mode = "oauth"`), SecretRef destekli auth-profile kimlik bilgilerini desteklemez. -- Statik çalışma zamanı kimlik bilgileri, bellek içi çözümlenmiş anlık görüntülerden gelir; bulunan eski statik `auth.json` girdileri temizlenir. -- Eski OAuth içe aktarmaları `~/.openclaw/credentials/oauth.json` içinden yapılır. +- Statik çalışma zamanı kimlik bilgileri bellek içi çözülmüş anlık görüntülerden gelir; eski statik `auth.json` girdileri bulunduğunda temizlenir. +- Eski OAuth içe aktarımları `~/.openclaw/credentials/oauth.json` dosyasından yapılır. - Bkz. [OAuth](/tr/concepts/oauth). - Secrets çalışma zamanı davranışı ve `audit/configure/apply` araçları: [Secrets Management](/tr/gateway/secrets). @@ -3361,21 +3469,20 @@ Notlar: } ``` -- `billingBackoffHours`: bir profil gerçek - faturalama/yetersiz kredi hataları nedeniyle başarısız olduğunda saat cinsinden temel geri çekilme süresi (varsayılan: `5`). Açık faturalama metni +- `billingBackoffHours`: bir profil gerçek faturalama/yetersiz kredi hataları nedeniyle başarısız olduğunda temel geri çekilme süresi, saat cinsinden + (varsayılan: `5`). Açık faturalama metni `401`/`403` yanıtlarında bile buraya düşebilir, ancak sağlayıcıya özgü metin - eşleyicileri bunların sahibi olan sağlayıcı ile sınırlı kalır (örneğin OpenRouter + eşleştiriciler bunlara sahip olan sağlayıcıyla sınırlı kalır (örneğin OpenRouter `Key limit exceeded`). Yeniden denenebilir HTTP `402` kullanım penceresi veya - kuruluş/workspace harcama sınırı mesajları bunun yerine `rate_limit` yolunda - kalır. + kuruluş/çalışma alanı harcama sınırı iletileri bunun yerine `rate_limit` yolunda kalır. - `billingBackoffHoursByProvider`: faturalama geri çekilme süresi için isteğe bağlı sağlayıcı başına geçersiz kılmalar. -- `billingMaxHours`: faturalama geri çekilme üstel büyümesi için saat cinsinden üst sınır (varsayılan: `24`). +- `billingMaxHours`: faturalama geri çekilmesinin üstel büyümesi için saat cinsinden üst sınır (varsayılan: `24`). - `authPermanentBackoffMinutes`: yüksek güvenli `auth_permanent` hataları için dakika cinsinden temel geri çekilme süresi (varsayılan: `10`). - `authPermanentMaxMinutes`: `auth_permanent` geri çekilme büyümesi için dakika cinsinden üst sınır (varsayılan: `60`). -- `failureWindowHours`: geri çekilme sayaçları için kullanılan kayan pencere, saat cinsinden (varsayılan: `24`). -- `overloadedProfileRotations`: model geri dönüşüne geçmeden önce overloaded hataları için aynı sağlayıcı auth-profile döndürmelerinin en yüksek sayısı (varsayılan: `1`). `ModelNotReadyException` gibi sağlayıcı meşgul şekilleri buraya düşer. -- `overloadedBackoffMs`: overloaded sağlayıcı/profil döndürmesini yeniden denemeden önce sabit gecikme (varsayılan: `0`). -- `rateLimitedProfileRotations`: model geri dönüşüne geçmeden önce rate-limit hataları için aynı sağlayıcı auth-profile döndürmelerinin en yüksek sayısı (varsayılan: `1`). Bu rate-limit kovası `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded` ve `resource exhausted` gibi sağlayıcı biçimli metinleri içerir. +- `failureWindowHours`: geri çekilme sayaçları için kullanılan saat cinsinden kayan pencere (varsayılan: `24`). +- `overloadedProfileRotations`: aşırı yüklenme hataları için model fallback'ine geçmeden önce aynı sağlayıcı auth-profile döndürme sayısının azami değeri (varsayılan: `1`). `ModelNotReadyException` gibi sağlayıcı meşgul şekilleri burada yer alır. +- `overloadedBackoffMs`: aşırı yüklenmiş bir sağlayıcı/profil döndürmesini yeniden denemeden önce sabit gecikme (varsayılan: `0`). +- `rateLimitedProfileRotations`: oran sınırı hataları için model fallback'ine geçmeden önce aynı sağlayıcı auth-profile döndürme sayısının azami değeri (varsayılan: `1`). Bu rate-limit kovası, `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached`, `workers_ai ... quota limit exceeded` ve `resource exhausted` gibi sağlayıcı biçimli metinleri içerir. --- @@ -3396,12 +3503,12 @@ Notlar: - Varsayılan günlük dosyası: `/tmp/openclaw/openclaw-YYYY-MM-DD.log`. - Kararlı bir yol için `logging.file` ayarlayın. -- `consoleLevel`, `--verbose` olduğunda `debug` düzeyine yükselir. -- `maxFileBytes`: yazmalar bastırılmadan önce günlük dosyası için en yüksek bayt boyutu (pozitif tam sayı; varsayılan: `524288000` = 500 MB). Üretim dağıtımları için harici günlük döndürme kullanın. +- `--verbose` kullanıldığında `consoleLevel`, `debug` düzeyine yükselir. +- `maxFileBytes`: yazmalar bastırılmadan önce günlük dosyasının azami bayt boyutu (pozitif tamsayı; varsayılan: `524288000` = 500 MB). Üretim dağıtımları için harici günlük döndürme kullanın. --- -## Tanılama +## Tanılar ```json5 { @@ -3434,20 +3541,20 @@ Notlar: } ``` -- `enabled`: instrumentation çıktısı için ana anahtar (varsayılan: `true`). +- `enabled`: enstrümantasyon çıktısı için ana anahtar (varsayılan: `true`). - `flags`: hedefli günlük çıktısını etkinleştiren bayrak dizeleri dizisi (`"telegram.*"` veya `"*"` gibi joker karakterleri destekler). -- `stuckSessionWarnMs`: bir oturum işleniyor durumunda kalırken takılı oturum uyarıları üretmek için ms cinsinden yaş eşiği. -- `otel.enabled`: OpenTelemetry dışa aktarma hattını etkinleştirir (varsayılan: `false`). -- `otel.endpoint`: OTel dışa aktarma için toplayıcı URL'si. +- `stuckSessionWarnMs`: bir oturum işleme durumunda kalırken takılmış oturum uyarıları üretmek için milisaniye cinsinden yaş eşiği. +- `otel.enabled`: OpenTelemetry dışa aktarma işlem hattını etkinleştirir (varsayılan: `false`). +- `otel.endpoint`: OTel dışa aktarması için toplayıcı URL'si. - `otel.protocol`: `"http/protobuf"` (varsayılan) veya `"grpc"`. -- `otel.headers`: OTel dışa aktarma istekleriyle gönderilen ek HTTP/gRPC meta veri başlıkları. +- `otel.headers`: OTel dışa aktarma istekleriyle gönderilen ek HTTP/gRPC meta veri üstbilgileri. - `otel.serviceName`: kaynak öznitelikleri için hizmet adı. -- `otel.traces` / `otel.metrics` / `otel.logs`: izleme, metrik veya günlük dışa aktarmasını etkinleştirir. -- `otel.sampleRate`: iz örnekleme oranı `0`–`1`. -- `otel.flushIntervalMs`: ms cinsinden düzenli telemetri boşaltma aralığı. -- `cacheTrace.enabled`: gömülü çalıştırmalar için önbellek izleme anlık görüntülerini günlüğe kaydeder (varsayılan: `false`). +- `otel.traces` / `otel.metrics` / `otel.logs`: iz, metrik veya günlük dışa aktarmasını etkinleştirir. +- `otel.sampleRate`: `0`–`1` iz örnekleme oranı. +- `otel.flushIntervalMs`: milisaniye cinsinden periyodik telemetri boşaltma aralığı. +- `cacheTrace.enabled`: embedded çalıştırmalar için önbellek izleme anlık görüntülerini günlüğe kaydeder (varsayılan: `false`). - `cacheTrace.filePath`: önbellek izleme JSONL çıktısı yolu (varsayılan: `$OPENCLAW_STATE_DIR/logs/cache-trace.jsonl`). -- `cacheTrace.includeMessages` / `includePrompt` / `includeSystem`: önbellek izleme çıktısına nelerin dahil edileceğini kontrol eder (tümü için varsayılan: `true`). +- `cacheTrace.includeMessages` / `includePrompt` / `includeSystem`: önbellek izleme çıktısına nelerin dahil edileceğini denetler (hepsinin varsayılanı: `true`). --- @@ -3470,11 +3577,11 @@ Notlar: ``` - `channel`: npm/git kurulumları için sürüm kanalı — `"stable"`, `"beta"` veya `"dev"`. -- `checkOnStart`: Gateway başladığında npm güncellemelerini denetler (varsayılan: `true`). +- `checkOnStart`: gateway başladığında npm güncellemelerini denetler (varsayılan: `true`). - `auto.enabled`: paket kurulumları için arka planda otomatik güncellemeyi etkinleştirir (varsayılan: `false`). -- `auto.stableDelayHours`: stable kanalında otomatik uygulama öncesi saat cinsinden en düşük gecikme (varsayılan: `6`; en fazla: `168`). -- `auto.stableJitterHours`: stable kanalındaki yayılım penceresi için saat cinsinden ek dağıtım aralığı (varsayılan: `12`; en fazla: `168`). -- `auto.betaCheckIntervalHours`: beta kanal denetimlerinin saat cinsinden sıklığı (varsayılan: `1`; en fazla: `24`). +- `auto.stableDelayHours`: stable kanalında otomatik uygulamadan önce saat cinsinden asgari gecikme (varsayılan: `6`; azami: `168`). +- `auto.stableJitterHours`: stable kanalı yayılımı için saat cinsinden ek yayma penceresi (varsayılan: `12`; azami: `168`). +- `auto.betaCheckIntervalHours`: beta kanalı denetimlerinin saat cinsinden çalışma sıklığı (varsayılan: `1`; azami: `24`). --- @@ -3509,19 +3616,19 @@ Notlar: - `enabled`: genel ACP özellik kapısı (varsayılan: `false`). - `dispatch.enabled`: ACP oturum dönüşü dağıtımı için bağımsız kapı (varsayılan: `true`). ACP komutlarını kullanılabilir tutarken yürütmeyi engellemek için `false` ayarlayın. -- `backend`: varsayılan ACP çalışma zamanı arka uç id'si (kayıtlı bir ACP çalışma zamanı Plugin'iyle eşleşmelidir). -- `defaultAgent`: başlatmalar açık bir hedef belirtmediğinde geri dönüş ACP hedef agent id'si. -- `allowedAgents`: ACP çalışma zamanı oturumları için izin verilen agent kimliklerinin izin listesi; boş olması ek kısıtlama olmadığı anlamına gelir. -- `maxConcurrentSessions`: eşzamanlı etkin ACP oturumlarının en yüksek sayısı. -- `stream.coalesceIdleMs`: akışlı metin için ms cinsinden boşta birleştirme penceresi. -- `stream.maxChunkChars`: akışlı blok izdüşümü bölünmeden önce en yüksek parça boyutu. -- `stream.repeatSuppression`: dönüş başına tekrarlanan durum/araç satırlarını bastırır (varsayılan: `true`). -- `stream.deliveryMode`: `"live"` artımlı akış yapar; `"final_only"` dönüş son olaylarına kadar tamponlar. -- `stream.hiddenBoundarySeparator`: gizli araç olaylarından sonra görünür metinden önce kullanılacak ayırıcı (varsayılan: `"paragraph"`). -- `stream.maxOutputChars`: ACP dönüşü başına yansıtılan en yüksek asistan çıktı karakteri. -- `stream.maxSessionUpdateChars`: yansıtılan ACP durum/güncelleme satırları için en yüksek karakter sayısı. -- `stream.tagVisibility`: akışlı olaylar için etiket adlarını boole görünürlük geçersiz kılmalarına eşleyen kayıt. -- `runtime.ttlMinutes`: ACP oturum çalışanları için temizlik uygunluğundan önceki boşta TTL, dakika cinsinden. +- `backend`: varsayılan ACP çalışma zamanı arka uç kimliği (kayıtlı bir ACP çalışma zamanı Plugin'iyle eşleşmelidir). +- `defaultAgent`: oluşturma işlemleri açık hedef belirtmediğinde kullanılacak yedek ACP hedef ajan kimliği. +- `allowedAgents`: ACP çalışma zamanı oturumları için izin verilen ajan kimliklerinin izin listesi; boş olması ek kısıtlama olmadığı anlamına gelir. +- `maxConcurrentSessions`: eşzamanlı etkin ACP oturumlarının azami sayısı. +- `stream.coalesceIdleMs`: akışlı metin için milisaniye cinsinden boşta birleştirme boşaltma penceresi. +- `stream.maxChunkChars`: akışlı blok yansıtımı bölünmeden önceki azami parça boyutu. +- `stream.repeatSuppression`: dönüş başına yinelenen durum/araç satırlarını bastırır (varsayılan: `true`). +- `stream.deliveryMode`: `"live"` artımlı akış yapar; `"final_only"` dönüş sonu olaylarına kadar tamponlar. +- `stream.hiddenBoundarySeparator`: gizli araç olaylarından sonra görünen metinden önceki ayırıcı (varsayılan: `"paragraph"`). +- `stream.maxOutputChars`: ACP dönüşü başına yansıtılan azami asistan çıktı karakteri sayısı. +- `stream.maxSessionUpdateChars`: yansıtılan ACP durum/güncelleme satırları için azami karakter sayısı. +- `stream.tagVisibility`: akışlı olaylar için etiket adlarından boolean görünürlük geçersiz kılmalarına kayıt. +- `runtime.ttlMinutes`: ACP oturum çalışanları için temizliğe uygun hâle gelmeden önce dakika cinsinden boşta TTL. - `runtime.installCommand`: ACP çalışma zamanı ortamı önyüklenirken çalıştırılacak isteğe bağlı kurulum komutu. --- @@ -3538,17 +3645,17 @@ Notlar: } ``` -- `cli.banner.taglineMode`, banner slogan stilini kontrol eder: - - `"random"` (varsayılan): dönüşümlü komik/mevsimsel sloganlar. - - `"default"`: sabit nötr slogan (`Tüm sohbetleriniz, tek bir OpenClaw.`). +- `cli.banner.taglineMode`, banner slogan stilini denetler: + - `"random"` (varsayılan): dönen eğlenceli/mevsimsel sloganlar. + - `"default"`: sabit nötr slogan (`All your chats, one OpenClaw.`). - `"off"`: slogan metni yok (banner başlığı/sürüm yine gösterilir). -- Banner'ın tamamını gizlemek için (yalnızca sloganları değil) env `OPENCLAW_HIDE_BANNER=1` ayarlayın. +- Tüm banner'ı gizlemek için (yalnızca sloganları değil) `OPENCLAW_HIDE_BANNER=1` ortam değişkenini ayarlayın. --- ## Sihirbaz -CLI yönlendirmeli kurulum akışları tarafından yazılan meta veri (`onboard`, `configure`, `doctor`): +CLI rehberli kurulum akışları (`onboard`, `configure`, `doctor`) tarafından yazılan meta veriler: ```json5 { @@ -3566,15 +3673,15 @@ CLI yönlendirmeli kurulum akışları tarafından yazılan meta veri (`onboard` ## Kimlik -[Agent varsayılanları](#agent-defaults) altında `agents.list` kimlik alanlarına bakın. +[Agent defaults](#agent-defaults) altında `agents.list` kimlik alanlarına bakın. --- ## Bridge (eski, kaldırıldı) -Güncel derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzerinden bağlanır. `bridge.*` anahtarları artık yapılandırma şemasının parçası değildir (kaldırılana kadar doğrulama başarısız olur; `openclaw doctor --fix` bilinmeyen anahtarları temizleyebilir). +Geçerli yapılar artık TCP bridge içermez. Node'lar Gateway WebSocket üzerinden bağlanır. `bridge.*` anahtarları artık yapılandırma şemasının parçası değildir (kaldırılana kadar doğrulama başarısız olur; `openclaw doctor --fix` bilinmeyen anahtarları temizleyebilir). - + ```json { @@ -3601,8 +3708,8 @@ Güncel derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzeri cron: { enabled: true, maxConcurrentRuns: 2, - webhook: "https://example.invalid/legacy", // saklanan notify:true işler için kullanımdan kalkmış geri dönüş - webhookToken: "replace-with-dedicated-token", // giden webhook auth için isteğe bağlı bearer token + webhook: "https://example.invalid/legacy", // depolanmış notify:true işleri için kullanımdan kaldırılmış yedek + webhookToken: "replace-with-dedicated-token", // giden webhook kimlik doğrulaması için isteğe bağlı bearer token sessionRetention: "24h", // süre dizesi veya false runLog: { maxBytes: "2mb", // varsayılan 2_000_000 bayt @@ -3612,11 +3719,11 @@ Güncel derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzeri } ``` -- `sessionRetention`: tamamlanan yalıtılmış Cron çalıştırma oturumlarını `sessions.json` içinden budamadan önce ne kadar süre saklayacağını belirler. Ayrıca arşivlenmiş silinmiş Cron transcript'lerinin temizliğini de kontrol eder. Varsayılan: `24h`; devre dışı bırakmak için `false` ayarlayın. -- `runLog.maxBytes`: budamadan önce çalıştırma günlüğü dosyası başına en yüksek boyut (`cron/runs/.jsonl`). Varsayılan: `2_000_000` bayt. -- `runLog.keepLines`: çalıştırma günlüğü budaması tetiklendiğinde saklanan en yeni satırlar. Varsayılan: `2000`. -- `webhookToken`: Cron webhook POST teslimi için kullanılan bearer token (`delivery.mode = "webhook"`); atlanırsa auth başlığı gönderilmez. -- `webhook`: yalnızca hâlâ `notify: true` olan saklanan işler için kullanılan, kullanımdan kalkmış eski geri dönüş webhook URL'si (http/https). +- `sessionRetention`: tamamlanan yalıtılmış Cron çalıştırma oturumlarının `sessions.json` dosyasından budanmadan önce ne kadar süre tutulacağını belirler. Ayrıca arşivlenmiş silinmiş Cron transcript'lerinin temizliğini de denetler. Varsayılan: `24h`; devre dışı bırakmak için `false` ayarlayın. +- `runLog.maxBytes`: budamadan önce çalıştırma günlüğü dosyası başına azami boyut (`cron/runs/.jsonl`). Varsayılan: `2_000_000` bayt. +- `runLog.keepLines`: çalıştırma günlüğü budaması tetiklendiğinde tutulacak en yeni satırlar. Varsayılan: `2000`. +- `webhookToken`: Cron webhook POST teslimi için kullanılan bearer token (`delivery.mode = "webhook"`); atlanırsa hiçbir auth üstbilgisi gönderilmez. +- `webhook`: yalnızca hâlâ `notify: true` olan depolanmış işler için kullanılan, kullanımdan kaldırılmış eski yedek webhook URL'si (http/https). ### `cron.retry` @@ -3632,11 +3739,11 @@ Güncel derlemeler artık TCP bridge içermez. Node'lar Gateway WebSocket üzeri } ``` -- `maxAttempts`: geçici hatalarda tek seferlik işler için en yüksek yeniden deneme sayısı (varsayılan: `3`; aralık: `0`–`10`). -- `backoffMs`: her yeniden deneme girişimi için ms cinsinden backoff gecikmeleri dizisi (varsayılan: `[30000, 60000, 300000]`; 1–10 girdi). -- `retryOn`: yeniden denemeyi tetikleyen hata türleri — `"rate_limit"`, `"overloaded"`, `"network"`, `"timeout"`, `"server_error"`. Tüm geçici türleri yeniden denemek için atlayın. +- `maxAttempts`: geçici hatalarda tek seferlik işler için azami yeniden deneme sayısı (varsayılan: `3`; aralık: `0`–`10`). +- `backoffMs`: her yeniden deneme girişimi için ms cinsinden geri çekilme gecikmeleri dizisi (varsayılan: `[30000, 60000, 300000]`; 1–10 girdi). +- `retryOn`: yeniden denemeleri tetikleyen hata türleri — `"rate_limit"`, `"overloaded"`, `"network"`, `"timeout"`, `"server_error"`. Tüm geçici türlerde yeniden denemek için atlayın. -Yalnızca tek seferlik Cron işleri için geçerlidir. Yineleyen işler ayrı hata işleme kullanır. +Yalnızca tek seferlik Cron işleri için geçerlidir. Yinelenen işler ayrı hata işleme kullanır. ### `cron.failureAlert` @@ -3655,10 +3762,10 @@ Yalnızca tek seferlik Cron işleri için geçerlidir. Yineleyen işler ayrı ha ``` - `enabled`: Cron işleri için hata uyarılarını etkinleştirir (varsayılan: `false`). -- `after`: bir uyarı tetiklenmeden önceki art arda hata sayısı (pozitif tam sayı, en az: `1`). -- `cooldownMs`: aynı iş için yinelenen uyarılar arasında en az milisaniye sayısı (negatif olmayan tam sayı). +- `after`: bir uyarı tetiklenmeden önce art arda gereken hata sayısı (pozitif tamsayı, min: `1`). +- `cooldownMs`: aynı iş için yinelenen uyarılar arasında gereken asgari milisaniye sayısı (negatif olmayan tamsayı). - `mode`: teslim modu — `"announce"` bir kanal mesajı üzerinden gönderir; `"webhook"` yapılandırılmış webhook'a POST eder. -- `accountId`: uyarı teslimini kapsamlandırmak için isteğe bağlı hesap veya kanal id'si. +- `accountId`: uyarı teslimini kapsamlandırmak için isteğe bağlı hesap veya kanal kimliği. ### `cron.failureDestination` @@ -3676,15 +3783,15 @@ Yalnızca tek seferlik Cron işleri için geçerlidir. Yineleyen işler ayrı ha ``` - Tüm işler genelinde Cron hata bildirimleri için varsayılan hedef. -- `mode`: `"announce"` veya `"webhook"`; yeterli hedef verisi varsa varsayılan olarak `"announce"` olur. -- `channel`: announce teslimi için kanal geçersiz kılması. `"last"`, bilinen son teslim kanalını yeniden kullanır. +- `mode`: `"announce"` veya `"webhook"`; yeterli hedef verisi olduğunda varsayılan `"announce"` olur. +- `channel`: announce teslimi için kanal geçersiz kılması. `"last"`, son bilinen teslim kanalını yeniden kullanır. - `to`: açık announce hedefi veya webhook URL'si. Webhook modu için gereklidir. - `accountId`: teslim için isteğe bağlı hesap geçersiz kılması. -- İş başına `delivery.failureDestination`, bu genel varsayılanı geçersiz kılar. -- Genel veya iş başına hata hedefi ayarlanmadığında, zaten `announce` ile teslim edilen işler hata durumunda bu birincil announce hedefine geri döner. -- `delivery.failureDestination` yalnızca `sessionTarget="isolated"` işleri için desteklenir; işin birincil `delivery.mode` değeri `"webhook"` ise bu kural uygulanmaz. +- İş başına `delivery.failureDestination`, bu genel varsayılanın yerine geçer. +- Ne genel ne de iş başına hata hedefi ayarlanmışsa, zaten `announce` ile teslim eden işler hata durumunda o birincil announce hedefine geri döner. +- `delivery.failureDestination`, işin birincil `delivery.mode` değeri `"webhook"` olmadıkça yalnızca `sessionTarget="isolated"` işleri için desteklenir. -Bkz. [Cron İşleri](/tr/automation/cron-jobs). Yalıtılmış Cron yürütmeleri [arka plan görevleri](/tr/automation/tasks) olarak izlenir. +Bkz. [Cron Jobs](/tr/automation/cron-jobs). Yalıtılmış Cron yürütmeleri [background tasks](/tr/automation/tasks) olarak izlenir. --- @@ -3692,27 +3799,27 @@ Bkz. [Cron İşleri](/tr/automation/cron-jobs). Yalıtılmış Cron yürütmeler `tools.media.models[].args` içinde genişletilen şablon yer tutucuları: -| Değişken | Açıklama | -| ----------------- | --------------------------------------------- | -| `{{Body}}` | Tam gelen mesaj gövdesi | -| `{{RawBody}}` | Ham gövde (geçmiş/gönderici sarmalayıcıları yok) | -| `{{BodyStripped}}`| Grup mention'ları çıkarılmış gövde | -| `{{From}}` | Gönderici tanımlayıcısı | -| `{{To}}` | Hedef tanımlayıcısı | -| `{{MessageSid}}` | Kanal mesaj id'si | -| `{{SessionId}}` | Geçerli oturum UUID'si | -| `{{IsNewSession}}`| Yeni oturum oluşturulduğunda `"true"` | -| `{{MediaUrl}}` | Gelen medya sahte URL'si | -| `{{MediaPath}}` | Yerel medya yolu | -| `{{MediaType}}` | Medya türü (image/audio/document/…) | -| `{{Transcript}}` | Ses transcript'i | -| `{{Prompt}}` | CLI girdileri için çözümlenen medya istemi | -| `{{MaxChars}}` | CLI girdileri için çözümlenen en yüksek çıktı karakteri | -| `{{ChatType}}` | `"direct"` veya `"group"` | -| `{{GroupSubject}}`| Grup konusu (mümkün olduğunca) | -| `{{GroupMembers}}`| Grup üyeleri önizlemesi (mümkün olduğunca) | -| `{{SenderName}}` | Gönderici görünen adı (mümkün olduğunca) | -| `{{SenderE164}}` | Gönderici telefon numarası (mümkün olduğunca) | +| Değişken | Açıklama | +| ----------------- | ----------------------------------------------- | +| `{{Body}}` | Tam gelen mesaj gövdesi | +| `{{RawBody}}` | Ham gövde (geçmiş/gönderen sarmalayıcıları yok) | +| `{{BodyStripped}}`| Grup mention'ları çıkarılmış gövde | +| `{{From}}` | Gönderen tanımlayıcısı | +| `{{To}}` | Hedef tanımlayıcısı | +| `{{MessageSid}}` | Kanal mesaj kimliği | +| `{{SessionId}}` | Geçerli oturum UUID'si | +| `{{IsNewSession}}`| Yeni oturum oluşturulduğunda `"true"` | +| `{{MediaUrl}}` | Gelen medya pseudo-URL'si | +| `{{MediaPath}}` | Yerel medya yolu | +| `{{MediaType}}` | Medya türü (image/audio/document/…) | +| `{{Transcript}}` | Ses transcript'i | +| `{{Prompt}}` | CLI girdileri için çözümlenmiş medya istemi | +| `{{MaxChars}}` | CLI girdileri için çözümlenmiş azami çıktı karakteri | +| `{{ChatType}}` | `"direct"` veya `"group"` | +| `{{GroupSubject}}`| Grup konusu (best effort) | +| `{{GroupMembers}}`| Grup üyeleri önizlemesi (best effort) | +| `{{SenderName}}` | Gönderen görüntü adı (best effort) | +| `{{SenderE164}}` | Gönderen telefon numarası (best effort) | | `{{Provider}}` | Sağlayıcı ipucu (whatsapp, telegram, discord vb.) | --- @@ -3734,13 +3841,13 @@ Yapılandırmayı birden çok dosyaya bölün: **Birleştirme davranışı:** -- Tek dosya: kapsayan nesnenin yerini alır. -- Dosya dizisi: sırayla derin birleştirilir (sonraki öncekini geçersiz kılar). -- Kardeş anahtarlar: include'lardan sonra birleştirilir (include edilen değerleri geçersiz kılar). +- Tek dosya: kapsayan nesnenin yerine geçer. +- Dosya dizisi: sırayla derinlemesine birleştirilir (sonrakiler öncekilerin yerine geçer). +- Kardeş anahtarlar: include'lardan sonra birleştirilir (include edilen değerlerin yerine geçer). - İç içe include'lar: en fazla 10 seviye derinlik. -- Yollar: include eden dosyaya göre çözülür, ancak üst düzey yapılandırma dizini sınırı içinde kalmalıdır (`openclaw.json` için `dirname`). Mutlak/`../` biçimlerine yalnızca yine bu sınır içinde çözülüyorlarsa izin verilir. +- Yollar: include eden dosyaya göre çözülür, ancak üst düzey yapılandırma dizini (`openclaw.json` dosyasının `dirname` değeri) içinde kalmalıdır. Mutlak/`../` biçimlerine yalnızca yine bu sınır içinde çözülürlerse izin verilir. - Hatalar: eksik dosyalar, ayrıştırma hataları ve döngüsel include'lar için açık iletiler. --- -_İlgili: [Yapılandırma](/tr/gateway/configuration) · [Yapılandırma Örnekleri](/tr/gateway/configuration-examples) · [Doctor](/tr/gateway/doctor)_ +_İlgili: [Configuration](/tr/gateway/configuration) · [Configuration Examples](/tr/gateway/configuration-examples) · [Doctor](/tr/gateway/doctor)_ diff --git a/docs/tr/plugins/sdk-channel-plugins.md b/docs/tr/plugins/sdk-channel-plugins.md index 728a4e670..bbb707bde 100644 --- a/docs/tr/plugins/sdk-channel-plugins.md +++ b/docs/tr/plugins/sdk-channel-plugins.md @@ -1,110 +1,88 @@ --- read_when: - - Yeni bir mesajlaşma kanal Plugin'i oluşturuyorsunuz - - OpenClaw'ı bir mesajlaşma platformuna bağlamak istiyorsunuz + - Yeni bir mesajlaşma kanalı Plugin'i oluşturuyorsunuz + - OpenClaw'u bir mesajlaşma platformuna bağlamak istiyorsunuz - ChannelPlugin bağdaştırıcı yüzeyini anlamanız gerekiyor sidebarTitle: Channel Plugins -summary: OpenClaw için bir mesajlaşma kanal Plugin'i oluşturma adım adım kılavuzu +summary: OpenClaw için bir mesajlaşma kanalı Plugin'i oluşturma adım adım kılavuzu title: Kanal Plugin'leri Oluşturma x-i18n: - generated_at: "2026-04-15T08:53:15Z" + generated_at: "2026-04-15T19:41:49Z" model: gpt-5.4 provider: openai - source_hash: a7f4c746fe3163a8880e14c433f4db4a1475535d91716a53fb879551d8d62f65 + source_hash: 80e47e61d1e47738361692522b79aff276544446c58a7b41afe5296635dfad4b source_path: plugins/sdk-channel-plugins.md workflow: 15 --- # Kanal Plugin'leri Oluşturma -Bu kılavuz, OpenClaw'ı bir mesajlaşma platformuna bağlayan bir kanal plugin'i oluşturma sürecini adım adım açıklar. Sonunda DM güvenliği, eşleme, yanıt iş parçacığı oluşturma ve giden mesajlaşma özelliklerine sahip çalışan bir kanalınız olacak. +Bu kılavuz, OpenClaw'u bir mesajlaşma platformuna bağlayan bir kanal plugin'i oluşturma sürecini anlatır. Sonunda DM güvenliği, eşleştirme, yanıt dizileme ve giden mesajlaşma özelliklerine sahip çalışan bir kanalınız olacak. - Daha önce hiç OpenClaw plugin'i oluşturmadıysanız, temel paket - yapısı ve manifest kurulumu için önce [Başlangıç](/tr/plugins/building-plugins) - bölümünü okuyun. + Daha önce hiç OpenClaw plugin'i oluşturmadıysanız, temel paket yapısı ve manifest kurulumu için önce [Başlangıç](/tr/plugins/building-plugins) bölümünü okuyun. ## Kanal plugin'leri nasıl çalışır -Kanal plugin'lerinin kendi send/edit/react araçlarına ihtiyacı yoktur. OpenClaw, çekirdekte tek bir paylaşılan `message` aracını tutar. Plugin'iniz şunlardan sorumludur: +Kanal plugin'lerinin kendi gönder/düzenle/tepki ver araçlarına ihtiyacı yoktur. OpenClaw, çekirdekte tek bir paylaşılan `message` aracını tutar. Plugin'iniz şunlardan sorumludur: -- **Config** — hesap çözümleme ve kurulum sihirbazı -- **Security** — DM ilkesi ve izin listeleri -- **Pairing** — DM onay akışı -- **Session grammar** — sağlayıcıya özgü konuşma kimliklerinin temel sohbetlere, iş parçacığı kimliklerine ve üst öğe geri dönüşlerine nasıl eşlendiği -- **Outbound** — platforma metin, medya ve anket gönderme -- **Threading** — yanıtların nasıl iş parçacığına alındığı +- **Yapılandırma** — hesap çözümleme ve kurulum sihirbazı +- **Güvenlik** — DM ilkesi ve izin listeleri +- **Eşleştirme** — DM onay akışı +- **Oturum dil bilgisi** — sağlayıcıya özgü konuşma kimliklerinin temel sohbetlere, iş parçacığı kimliklerine ve üst öğe geri dönüşlerine nasıl eşlendiği +- **Giden** — platforma metin, medya ve anket gönderme +- **Dizileme** — yanıtların nasıl dizilendiği -Çekirdek; paylaşılan message aracından, istem bağlamasından, dış oturum-anahtarı biçiminden, genel `:thread:` kayıtlarından ve dağıtımdan sorumludur. +Çekirdek; paylaşılan mesaj aracından, istem kablolamasından, dış oturum anahtarı biçiminden, genel `:thread:` kayıtlarından ve dağıtımdan sorumludur. -Kanalınız medya kaynakları taşıyan message-tool parametreleri ekliyorsa, bu -parametre adlarını `describeMessageTool(...).mediaSourceParams` üzerinden açığa çıkarın. -Çekirdek bu açık listeyi sandbox yol normalleştirmesi ve giden medya erişim -ilkesi için kullanır; böylece plugin'lerin sağlayıcıya özgü avatar, -ek veya kapak görseli parametreleri için paylaşılan çekirdekte özel durumlara -ihtiyacı olmaz. -Tercihen -`{ "set-profile": ["avatarUrl", "avatarPath"] }` gibi eylem anahtarlı bir eşleme döndürün; böylece ilgisiz eylemler başka bir eylemin medya argümanlarını devralmaz. -Düz bir dizi de, açığa çıkarılan tüm eylemler arasında bilerek paylaşılan -parametreler için çalışmaya devam eder. +Kanalınız medya kaynakları taşıyan mesaj aracı parametreleri ekliyorsa, bu parametre adlarını `describeMessageTool(...).mediaSourceParams` üzerinden sunun. Çekirdek, bu açık listeyi sandbox yol normalizasyonu ve giden medya erişim ilkesi için kullanır; böylece plugin'lerin sağlayıcıya özgü avatar, ek veya kapak görseli parametreleri için paylaşılan çekirdekte özel durumlara ihtiyacı olmaz. +İlgisiz eylemlerin başka bir eylemin medya argümanlarını devralmaması için tercihen +`{ "set-profile": ["avatarUrl", "avatarPath"] }` +gibi eylem anahtarlı bir eşleme döndürün. Düz bir dizi de, tüm sunulan eylemler arasında kasıtlı olarak paylaşılan parametreler için yine çalışır. -Platformunuz konuşma kimlikleri içinde ek kapsam depoluyorsa, bu ayrıştırmayı -plugin içinde `messaging.resolveSessionConversation(...)` ile tutun. Bu, -`rawId` değerini temel konuşma kimliğine, isteğe bağlı iş parçacığı -kimliğine, açık `baseConversationId` değerine ve herhangi bir -`parentConversationCandidates` değerine eşlemek için kanonik kancadır. +Platformunuz konuşma kimlikleri içinde ek kapsam saklıyorsa, bu ayrıştırmayı plugin içinde `messaging.resolveSessionConversation(...)` ile tutun. `rawId` değerini temel konuşma kimliğine, isteğe bağlı iş parçacığı kimliğine, açık `baseConversationId` değerine ve herhangi bir `parentConversationCandidates` değerine eşlemek için kanonik kanca budur. `parentConversationCandidates` döndürdüğünüzde, bunları en dar üst öğeden en geniş/temel konuşmaya doğru sıralı tutun. -Kanal kayıt defteri başlatılmadan önce aynı ayrıştırmaya ihtiyaç duyan paketli -plugin'ler ayrıca eşleşen bir -`resolveSessionConversation(...)` dışa aktarımı içeren üst düzey bir `session-key-api.ts` -dosyası da sunabilir. Çekirdek bu önyükleme açısından güvenli yüzeyi -yalnızca çalışma zamanı plugin kayıt defteri henüz kullanılabilir olmadığında kullanır. +Kanal kayıt defteri başlatılmadan önce aynı ayrıştırmaya ihtiyaç duyan paketlenmiş plugin'ler, eşleşen bir `resolveSessionConversation(...)` dışa aktarımı ile üst düzey bir `session-key-api.ts` dosyası da sunabilir. Çekirdek, yalnızca çalışma zamanı plugin kayıt defteri henüz mevcut değilse bu bootstrap için güvenli yüzeyi kullanır. -`messaging.resolveParentConversationCandidates(...)`, bir plugin yalnızca -genel/raw kimliğin üzerine üst öğe geri dönüşlerine ihtiyaç duyduğunda eski -uyumluluk geri dönüşü olarak kullanılmaya devam eder. Her iki kanca da varsa, -çekirdek önce -`resolveSessionConversation(...).parentConversationCandidates` kullanır ve yalnızca kanonik kanca bunları -atlanırsa `resolveParentConversationCandidates(...)` kancasına geri döner. +`messaging.resolveParentConversationCandidates(...)`, bir plugin yalnızca genel/raw kimliğin üzerine üst öğe geri dönüşlerine ihtiyaç duyduğunda eski uyumluluk geri dönüşü olarak kullanılmaya devam eder. Her iki kanca da varsa çekirdek önce `resolveSessionConversation(...).parentConversationCandidates` kullanır ve yalnızca kanonik kanca bunları atladığında `resolveParentConversationCandidates(...)` kancasına geri döner. ## Onaylar ve kanal yetenekleri Çoğu kanal plugin'inin onaya özgü koda ihtiyacı yoktur. -- Çekirdek aynı sohbet içi `/approve`, paylaşılan onay düğmesi payload'ları ve genel geri dönüş teslimatından sorumludur. +- Çekirdek; aynı sohbette `/approve`, paylaşılan onay düğmesi payload'ları ve genel geri dönüş teslimatından sorumludur. - Kanal onaya özgü davranış gerektiriyorsa, kanal plugin'inde tek bir `approvalCapability` nesnesini tercih edin. - `ChannelPlugin.approvals` kaldırıldı. Onay teslimatı/yerel işleme/görselleştirme/yetkilendirme bilgilerini `approvalCapability` içine koyun. - `plugin.auth` yalnızca giriş/çıkış içindir; çekirdek artık bu nesneden onay yetkilendirme kancalarını okumaz. -- `approvalCapability.authorizeActorAction` ve `approvalCapability.getActionAvailabilityState`, onay yetkilendirmesi için kanonik kancadır. -- Aynı sohbet içi onay yetkilendirme kullanılabilirliği için `approvalCapability.getActionAvailabilityState` kullanın. -- Kanalınız yerel exec onaylarını açığa çıkarıyorsa, başlatıcı yüzey/yerel istemci durumu aynı sohbet içi onay yetkilendirmesinden farklı olduğunda `approvalCapability.getExecInitiatingSurfaceState` kullanın. Çekirdek bu exec'e özgü kancayı `enabled` ile `disabled` durumlarını ayırt etmek, başlatıcı kanalın yerel exec onaylarını destekleyip desteklemediğine karar vermek ve kanalı yerel istemci geri dönüş yönlendirmesine dahil etmek için kullanır. `createApproverRestrictedNativeApprovalCapability(...)` bunu yaygın durum için doldurur. +- `approvalCapability.authorizeActorAction` ve `approvalCapability.getActionAvailabilityState`, onay yetkilendirmesi için kanonik bağlantı yüzeyidir. +- Aynı sohbette onay yetkilendirme kullanılabilirliği için `approvalCapability.getActionAvailabilityState` kullanın. +- Kanalınız yerel exec onaylarını sunuyorsa, başlatan yüzey/yerel istemci durumu aynı sohbetteki onay yetkilendirmesinden farklı olduğunda `approvalCapability.getExecInitiatingSurfaceState` kullanın. Çekirdek bu exec'e özgü kancayı `enabled` ile `disabled` ayrımını yapmak, başlatan kanalın yerel exec onaylarını destekleyip desteklemediğine karar vermek ve kanalı yerel istemci geri dönüş rehberliğine dahil etmek için kullanır. `createApproverRestrictedNativeApprovalCapability(...)`, yaygın durum için bunu doldurur. - Yinelenen yerel onay istemlerini gizleme veya teslimattan önce yazıyor göstergeleri gönderme gibi kanala özgü payload yaşam döngüsü davranışları için `outbound.shouldSuppressLocalPayloadPrompt` veya `outbound.beforeDeliverPayload` kullanın. -- `approvalCapability.delivery` yalnızca yerel onay yönlendirmesi veya geri dönüş bastırma için kullanın. -- Kanala ait yerel onay bilgileri için `approvalCapability.nativeRuntime` kullanın. Bunu sıcak kanal giriş noktalarında `createLazyChannelApprovalNativeRuntimeAdapter(...)` ile tembel tutun; bu, çekirdeğin onay yaşam döngüsünü oluşturmaya devam etmesine izin verirken çalışma zamanı modülünüzü gerektiğinde içe aktarabilir. -- Kanalın paylaşılan oluşturucu yerine gerçekten özel onay payload'larına ihtiyacı olduğunda yalnızca `approvalCapability.render` kullanın. -- Kanal, devre dışı yol yanıtının yerel exec onaylarını etkinleştirmek için gereken tam config ayarlarını açıklamasını istiyorsa `approvalCapability.describeExecApprovalSetup` kullanın. Bu kanca `{ channel, channelLabel, accountId }` alır; adlandırılmış hesap kanalları, üst düzey varsayılanlar yerine `channels..accounts..execApprovals.*` gibi hesap kapsamlı yolları oluşturmalıdır. -- Bir kanal mevcut config'den kararlı sahip benzeri DM kimliklerini çıkarabiliyorsa, onaya özgü çekirdek mantığı eklemeden aynı sohbet içi `/approve` erişimini kısıtlamak için `openclaw/plugin-sdk/approval-runtime` içinden `createResolvedApproverActionAuthAdapter` kullanın. -- Kanalın yerel onay teslimatına ihtiyacı varsa, kanal kodunu hedef normalizasyonu ile taşıma/sunum bilgilerine odaklı tutun. `openclaw/plugin-sdk/approval-runtime` içinden `createChannelExecApprovalProfile`, `createChannelNativeOriginTargetResolver`, `createChannelApproverDmTargetResolver` ve `createApproverRestrictedNativeApprovalCapability` kullanın. Kanala özgü bilgileri `approvalCapability.nativeRuntime` arkasına koyun; tercihen `createChannelApprovalNativeRuntimeAdapter(...)` veya `createLazyChannelApprovalNativeRuntimeAdapter(...)` üzerinden. Böylece çekirdek işleyiciyi oluşturabilir ve istek filtreleme, yönlendirme, tekilleştirme, süre sonu, Gateway aboneliği ve başka yere yönlendirildi bildirimlerini yönetebilir. `nativeRuntime` birkaç küçük parçaya ayrılmıştır: -- `availability` — hesabın yapılandırılmış olup olmadığı ve bir isteğin işlenip işlenmemesi gerektiği -- `presentation` — paylaşılan onay görünüm modelini beklemede/çözümlendi/süresi doldu yerel payload'larına veya son eylemlere eşleme +- `approvalCapability.delivery` değerini yalnızca yerel onay yönlendirmesi veya geri dönüş bastırma için kullanın. +- Kanalın sahip olduğu yerel onay bilgileri için `approvalCapability.nativeRuntime` kullanın. Çekirdeğin onay yaşam döngüsünü bir araya getirmesine izin verirken çalışma zamanı modülünüzü isteğe bağlı olarak içe aktarabilen `createLazyChannelApprovalNativeRuntimeAdapter(...)` ile bunu sıcak kanal giriş noktalarında tembel tutun. +- `approvalCapability.render` değerini yalnızca bir kanal, paylaşılan işleyici yerine gerçekten özel onay payload'larına ihtiyaç duyduğunda kullanın. +- Kanal devre dışı yol yanıtının yerel exec onaylarını etkinleştirmek için gereken tam yapılandırma ayarlarını açıklamasını istiyorsa `approvalCapability.describeExecApprovalSetup` kullanın. Kanca `{ channel, channelLabel, accountId }` alır; adlandırılmış hesap kanalları, üst düzey varsayılanlar yerine `channels..accounts..execApprovals.*` gibi hesap kapsamlı yollar üretmelidir. +- Bir kanal mevcut yapılandırmadan kararlı sahip benzeri DM kimliklerini çıkarabiliyorsa, onaya özgü çekirdek mantığı eklemeden aynı sohbette `/approve` kısıtlamak için `openclaw/plugin-sdk/approval-runtime` içinden `createResolvedApproverActionAuthAdapter` kullanın. +- Kanalınız yerel onay teslimatına ihtiyaç duyuyorsa, kanal kodunu hedef normalizasyonu ile aktarım/sunum bilgilerine odaklı tutun. `openclaw/plugin-sdk/approval-runtime` içinden `createChannelExecApprovalProfile`, `createChannelNativeOriginTargetResolver`, `createChannelApproverDmTargetResolver` ve `createApproverRestrictedNativeApprovalCapability` kullanın. Kanala özgü bilgileri `approvalCapability.nativeRuntime` arkasına koyun; ideal olarak `createChannelApprovalNativeRuntimeAdapter(...)` veya `createLazyChannelApprovalNativeRuntimeAdapter(...)` aracılığıyla. Böylece çekirdek işleyiciyi bir araya getirebilir ve istek filtreleme, yönlendirme, tekilleştirme, süre sonu, Gateway aboneliği ve başka yere yönlendirildi bildirimlerinden sorumlu olabilir. `nativeRuntime` birkaç küçük yüzeye ayrılmıştır: +- `availability` — hesabın yapılandırılıp yapılandırılmadığı ve bir isteğin işlenip işlenmemesi gerektiği +- `presentation` — paylaşılan onay görünüm modelini bekleyen/çözümlenmiş/süresi dolmuş yerel payload'lara veya son eylemlere eşleme - `transport` — hedefleri hazırlama ve yerel onay mesajlarını gönderme/güncelleme/silme -- `interactions` — yerel düğmeler veya tepkiler için isteğe bağlı bind/unbind/clear-action kancaları +- `interactions` — yerel düğmeler veya tepkiler için isteğe bağlı bağla/çöz/eylem temizleme kancaları - `observe` — isteğe bağlı teslimat tanılama kancaları -- Kanalın istemci, token, Bolt uygulaması veya Webhook alıcısı gibi çalışma zamanına ait nesnelere ihtiyacı varsa, bunları `openclaw/plugin-sdk/channel-runtime-context` üzerinden kaydedin. Genel runtime-context kayıt defteri, çekirdeğin onaya özgü sarmalayıcı yapıştırıcısı eklemeden kanal başlangıç durumundan yetenek odaklı işleyicileri önyüklemesine olanak tanır. -- Yalnızca yetenek odaklı kanca henüz yeterince ifade gücüne sahip değilse daha alt düzey `createChannelApprovalHandler` veya `createChannelNativeApprovalRuntime` çözümlerine başvurun. -- Yerel onay kanalları, bu yardımcılar üzerinden hem `accountId` hem de `approvalKind` yönlendirmelidir. `accountId`, çok hesaplı onay ilkesini doğru bot hesabı kapsamına taşır; `approvalKind` ise exec ile plugin onayı davranışını çekirdekte sabit kodlu dallanmalar olmadan kanal için kullanılabilir tutar. -- Çekirdek artık onay yeniden yönlendirme bildirimlerinden de sorumludur. Kanal plugin'leri, `createChannelNativeApprovalRuntime` içinden kendi "onay DM'lere / başka bir kanala gitti" takip mesajlarını göndermemelidir; bunun yerine paylaşılan onay yeteneği yardımcıları üzerinden doğru origin + approver-DM yönlendirmesini açığa çıkarın ve çekirdek, başlatıcı sohbete herhangi bir bildirim göndermeden önce gerçek teslimatları toplasın. -- Teslim edilen onay kimliği türünü uçtan uca koruyun. Yerel istemciler exec ile plugin onayı yönlendirmesini kanal yerel durumundan tahmin etmemeli veya yeniden yazmamalıdır. -- Farklı onay türleri bilerek farklı yerel yüzeyler açığa çıkarabilir. - Güncel paketli örnekler: +- Kanalın istemci, token, Bolt uygulaması veya Webhook alıcısı gibi çalışma zamanına ait nesnelere ihtiyacı varsa, bunları `openclaw/plugin-sdk/channel-runtime-context` üzerinden kaydedin. Genel runtime-context kayıt defteri, çekirdeğin onaya özgü sarmalayıcı yapıştırıcı eklemeden kanal başlatma durumundan yetenek odaklı işleyicileri bootstrap etmesine olanak tanır. +- Daha alt düzey `createChannelApprovalHandler` veya `createChannelNativeApprovalRuntime` seçeneklerine yalnızca yetenek odaklı yüzey henüz yeterince ifade edici değilse başvurun. +- Yerel onay kanalları bu yardımcılar üzerinden hem `accountId` hem de `approvalKind` yönlendirmelidir. `accountId`, çok hesaplı onay ilkesini doğru bot hesabı kapsamında tutar; `approvalKind` ise çekirdekte sabit kodlanmış dallanmalar olmadan exec ile plugin onay davranışını kanala kullanılabilir halde tutar. +- Çekirdek artık onay yeniden yönlendirme bildirimlerinden de sorumludur. Kanal plugin'leri, `createChannelNativeApprovalRuntime` içinden kendi "onay DM'lere / başka bir kanala gitti" takip mesajlarını göndermemelidir; bunun yerine paylaşılan onay yeteneği yardımcıları üzerinden doğru kaynak + onaylayıcı-DM yönlendirmesini sunmalı ve başlatan sohbete herhangi bir bildirim göndermeden önce çekirdeğin gerçek teslimatları toplamasına izin vermelidir. +- Teslim edilen onay kimliği türünü uçtan uca koruyun. Yerel istemciler, exec ile plugin onay yönlendirmesini kanal yerel durumundan tahmin etmemeli veya yeniden yazmamalıdır. +- Farklı onay türleri kasıtlı olarak farklı yerel yüzeyler sunabilir. + Mevcut paketlenmiş örnekler: - Slack, hem exec hem de plugin kimlikleri için yerel onay yönlendirmesini kullanılabilir tutar. - - Matrix, yetkilendirmenin onay türüne göre farklılaşmasına izin verirken exec ve plugin onayları için aynı yerel DM/kanal yönlendirmesi ve tepki kullanıcı deneyimini korur. -- `createApproverRestrictedNativeApprovalAdapter` uyumluluk sarmalayıcısı olarak hâlâ vardır, ancak yeni kod `capability` oluşturucusunu tercih etmeli ve plugin üzerinde `approvalCapability` açığa çıkarmalıdır. + - Matrix, exec ve plugin onayları için aynı yerel DM/kanal yönlendirmesini ve tepki UX'ini korurken, yine de yetkilendirmenin onay türüne göre farklılaşmasına izin verir. +- `createApproverRestrictedNativeApprovalAdapter` hâlâ uyumluluk sarmalayıcısı olarak mevcuttur, ancak yeni kod `capability` oluşturucuyu tercih etmeli ve plugin üzerinde `approvalCapability` sunmalıdır. -Sıcak kanal giriş noktaları için, bu ailenin yalnızca bir parçasına -ihtiyacınız olduğunda daha dar runtime alt yollarını tercih edin: +Sıcak kanal giriş noktalarında, bu ailenin yalnızca bir parçasına ihtiyacınız olduğunda daha dar çalışma zamanı alt yollarını tercih edin: - `openclaw/plugin-sdk/approval-auth-runtime` - `openclaw/plugin-sdk/approval-client-runtime` @@ -116,101 +94,90 @@ ihtiyacınız olduğunda daha dar runtime alt yollarını tercih edin: - `openclaw/plugin-sdk/approval-reply-runtime` - `openclaw/plugin-sdk/channel-runtime-context` -Benzer şekilde, daha geniş şemsiye -yüzeye ihtiyacınız yoksa `openclaw/plugin-sdk/setup-runtime`, +Benzer şekilde, daha geniş şemsiye yüzeye ihtiyacınız yoksa `openclaw/plugin-sdk/setup-runtime`, `openclaw/plugin-sdk/setup-adapter-runtime`, `openclaw/plugin-sdk/reply-runtime`, `openclaw/plugin-sdk/reply-dispatch-runtime`, `openclaw/plugin-sdk/reply-reference` ve -`openclaw/plugin-sdk/reply-chunking` yollarını tercih edin. +`openclaw/plugin-sdk/reply-chunking` +yollarını tercih edin. -Kurulum için özel olarak: +Özellikle kurulum için: - `openclaw/plugin-sdk/setup-runtime`, çalışma zamanında güvenli kurulum yardımcılarını kapsar: - içe aktarma açısından güvenli kurulum yama bağdaştırıcıları (`createPatchedAccountSetupAdapter`, + içe aktarma için güvenli kurulum yama bağdaştırıcıları (`createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, - `createSetupInputPresenceValidator`), lookup-note çıktısı, - `promptResolvedAllowFrom`, `splitSetupEntries` ve devredilmiş + `createSetupInputPresenceValidator`), arama notu çıktısı, + `promptResolvedAllowFrom`, `splitSetupEntries` ve temsil edilen setup-proxy oluşturucuları -- `openclaw/plugin-sdk/setup-adapter-runtime`, `createEnvPatchedAccountSetupAdapter` - için dar, ortam farkındalıklı bağdaştırıcı - kancasıdır +- `openclaw/plugin-sdk/setup-adapter-runtime`, `createEnvPatchedAccountSetupAdapter` için dar, ortam farkındalıklı bağdaştırıcı yüzeyidir - `openclaw/plugin-sdk/channel-setup`, isteğe bağlı kurulum oluşturucularını ve birkaç kurulum açısından güvenli ilkel öğeyi kapsar: `createOptionalChannelSetupSurface`, `createOptionalChannelSetupAdapter`, -Kanalınız ortam güdümlü kurulum veya yetkilendirme destekliyorsa ve genel başlangıç/config -akışlarının çalışma zamanı yüklenmeden önce bu ortam adlarını bilmesi gerekiyorsa, -bunları plugin manifest içinde `channelEnvVars` ile bildirin. Kanal çalışma zamanı `envVars` -veya yerel sabitlerini yalnızca operatöre dönük metinler için kullanın. +Kanalınız ortam değişkeni güdümlü kurulum veya yetkilendirmeyi destekliyorsa ve genel başlatma/yapılandırma akışlarının çalışma zamanı yüklenmeden önce bu ortam adlarını bilmesi gerekiyorsa, bunları plugin manifest'inde `channelEnvVars` ile bildirin. Kanal çalışma zamanı `envVars` değerlerini veya yerel sabitleri yalnızca operatör odaklı kopya için tutun. `createOptionalChannelSetupWizard`, `DEFAULT_ACCOUNT_ID`, `createTopLevelChannelDmPolicy`, `setSetupChannelEnabled` ve `splitSetupEntries` -- yalnızca daha ağır paylaşılan kurulum/config yardımcılarına da ihtiyaç duyduğunuzda - daha geniş `openclaw/plugin-sdk/setup` kancasını kullanın; örneğin +- yalnızca daha ağır paylaşılan kurulum/yapılandırma yardımcılarına da ihtiyacınız varsa daha geniş `openclaw/plugin-sdk/setup` yüzeyine başvurun; örneğin `moveSingleAccountChannelSectionToDefaultAccount(...)` -Kanalınız yalnızca kurulum yüzeylerinde "önce bu plugin'i yükleyin" bilgisini -duyurmak istiyorsa, `createOptionalChannelSetupSurface(...)` çözümünü tercih edin. Üretilen -bağdaştırıcı/sihirbaz config yazımlarında ve sonlandırmada güvenli biçimde başarısız olur -ve doğrulama, sonlandırma ve docs-link -metinlerinde aynı yükleme gerekli mesajını yeniden kullanır. +Kanalınız yalnızca kurulum yüzeylerinde "önce bu plugin'i yükleyin" bilgisini göstermek istiyorsa, `createOptionalChannelSetupSurface(...)` tercih edin. Üretilen bağdaştırıcı/sihirbaz yapılandırma yazımlarında ve sonlandırmada kapalı varsayılanla başarısız olur ve aynı kurulum gerekli mesajını doğrulama, sonlandırma ve belge bağlantısı metni boyunca yeniden kullanır. -Diğer sıcak kanal yolları için, daha geniş eski yüzeyler yerine daha dar -yardımcıları tercih edin: +Diğer sıcak kanal yolları için, daha geniş eski yüzeyler yerine dar yardımcıları tercih edin: -- çok hesaplı config ve - varsayılan hesap geri dönüşü için `openclaw/plugin-sdk/account-core`, +- `openclaw/plugin-sdk/account-core`, `openclaw/plugin-sdk/account-id`, `openclaw/plugin-sdk/account-resolution` ve - `openclaw/plugin-sdk/account-helpers` -- gelen rota/zarf ve - kaydet-ve-dağıt bağlaması için `openclaw/plugin-sdk/inbound-envelope` ve - `openclaw/plugin-sdk/inbound-reply-dispatch` -- hedef ayrıştırma/eşleştirme için `openclaw/plugin-sdk/messaging-targets` -- medya yükleme ile giden - kimlik/gönderim delegeleri için `openclaw/plugin-sdk/outbound-media` ve - `openclaw/plugin-sdk/outbound-runtime` -- iş parçacığı bağlama yaşam döngüsü - ve bağdaştırıcı kaydı için `openclaw/plugin-sdk/thread-bindings-runtime` -- yalnızca eski agent/media - payload alan düzeni hâlâ gerekiyorsa `openclaw/plugin-sdk/agent-media-payload` -- Telegram özel komut - normalizasyonu, yinelenen/çakışan doğrulama ve geri dönüş açısından kararlı komut - config sözleşmesi için `openclaw/plugin-sdk/telegram-command-config` + `openclaw/plugin-sdk/account-helpers` çok hesaplı yapılandırma ve + varsayılan hesap geri dönüşü için +- `openclaw/plugin-sdk/inbound-envelope` ve + `openclaw/plugin-sdk/inbound-reply-dispatch` gelen rota/zarf ile + kaydet-ve-dağıt kablolaması için +- `openclaw/plugin-sdk/messaging-targets` hedef ayrıştırma/eşleştirme için +- `openclaw/plugin-sdk/outbound-media` ve + `openclaw/plugin-sdk/outbound-runtime` medya yükleme ile giden + kimlik/gönderme temsilcileri için +- `openclaw/plugin-sdk/thread-bindings-runtime` iş parçacığı bağlama yaşam döngüsü + ve bağdaştırıcı kaydı için +- `openclaw/plugin-sdk/agent-media-payload` yalnızca eski bir agent/media + payload alan düzeni hâlâ gerekiyorsa +- `openclaw/plugin-sdk/telegram-command-config` Telegram özel komut + normalizasyonu, yinelenen/çakışan doğrulama ve geri dönüşte kararlı komut + yapılandırması sözleşmesi için -Yalnızca yetkilendirme kullanan kanallar genellikle varsayılan yolda kalabilir: çekirdek onayları yönetir ve plugin yalnızca outbound/auth yeteneklerini açığa çıkarır. Matrix, Slack, Telegram ve özel sohbet taşıma katmanları gibi yerel onay kanalları, kendi onay yaşam döngülerini yazmak yerine paylaşılan yerel yardımcıları kullanmalıdır. +Yalnızca yetkilendirme yapan kanallar genellikle varsayılan yolda kalabilir: çekirdek onayları yönetir ve plugin yalnızca giden/yetkilendirme yeteneklerini sunar. Matrix, Slack, Telegram ve özel sohbet taşıma katmanları gibi yerel onay kanalları, kendi onay yaşam döngülerini yazmak yerine paylaşılan yerel yardımcıları kullanmalıdır. -## Gelen mention ilkesi +## Gelen bahsetme ilkesi -Gelen mention işlemeyi iki katmana bölünmüş tutun: +Gelen bahsetme işlemesini iki katmana ayrılmış halde tutun: -- plugin'e ait kanıt toplama +- plugin'in sahip olduğu kanıt toplama - paylaşılan ilke değerlendirmesi Paylaşılan katman için `openclaw/plugin-sdk/channel-inbound` kullanın. Plugin'e yerel mantık için uygun örnekler: -- bot'a yanıt algılama -- bot alıntısı algılama +- bota yanıt tespiti +- bottan alıntı tespiti - iş parçacığı katılımı kontrolleri -- servis/sistem mesajı hariç tutmaları -- bot katılımını kanıtlamak için gereken platforma özgü önbellekler +- hizmet/sistem mesajı hariç tutmaları +- bot katılımını kanıtlamak için gereken platform yerel önbellekleri Paylaşılan yardımcı için uygun örnekler: - `requireMention` -- açık mention sonucu -- örtük mention izin listesi +- açık bahsetme sonucu +- örtük bahsetme izin listesi - komut baypası - son atlama kararı Tercih edilen akış: -1. Yerel mention bilgilerini hesaplayın. +1. Yerel bahsetme bilgilerini hesaplayın. 2. Bu bilgileri `resolveInboundMentionDecision({ facts, policy })` içine geçirin. -3. Gelen kapınızda `decision.effectiveWasMentioned`, `decision.shouldBypassMention` ve `decision.shouldSkip` değerlerini kullanın. +3. Gelen kapısında `decision.effectiveWasMentioned`, `decision.shouldBypassMention` ve `decision.shouldSkip` kullanın. ```typescript import { @@ -249,8 +216,7 @@ const decision = resolveInboundMentionDecision({ if (decision.shouldSkip) return; ``` -`api.runtime.channel.mentions`, çalışma zamanı enjeksiyonuna zaten bağımlı olan -paketlenmiş kanal plugin'leri için aynı paylaşılan mention yardımcılarını sunar: +`api.runtime.channel.mentions`, çalışma zamanı enjeksiyonuna zaten bağımlı olan paketlenmiş kanal plugin'leri için aynı paylaşılan bahsetme yardımcılarını sunar: - `buildMentionRegexes` - `matchesMentionPatterns` @@ -258,19 +224,18 @@ paketlenmiş kanal plugin'leri için aynı paylaşılan mention yardımcıların - `implicitMentionKindWhen` - `resolveInboundMentionDecision` -Eski `resolveMentionGating*` yardımcıları, -yalnızca uyumluluk dışa aktarımları olarak +Eski `resolveMentionGating*` yardımcıları, yalnızca uyumluluk dışa aktarımları olarak `openclaw/plugin-sdk/channel-inbound` üzerinde kalmaya devam eder. Yeni kod `resolveInboundMentionDecision({ facts, policy })` kullanmalıdır. -## Adım adım örnek +## Adım adım - Standart plugin dosyalarını oluşturun. `package.json` içindeki `channel` alanı + Standart plugin dosyalarını oluşturun. `package.json` içindeki `channel` alanı, bunun bir kanal plugin'i olmasını sağlar. Tam paket meta verisi yüzeyi için - bkz. [Plugin Kurulumu ve Config](/tr/plugins/sdk-setup#openclaw-channel): + [Plugin Kurulumu ve Yapılandırma](/tr/plugins/sdk-setup#openclaw-channel) bölümüne bakın: ```json package.json @@ -284,7 +249,7 @@ yalnızca uyumluluk dışa aktarımları olarak "channel": { "id": "acme-chat", "label": "Acme Chat", - "blurb": "OpenClaw'ı Acme Chat'e bağlayın." + "blurb": "OpenClaw'u Acme Chat'e bağlayın." } } } @@ -320,10 +285,9 @@ yalnızca uyumluluk dışa aktarımları olarak - `ChannelPlugin` arayüzü birçok isteğe bağlı bağdaştırıcı yüzeyine sahiptir. En az - gereksinimle başlayın — `id` ve `setup` — ve ihtiyaç duydukça bağdaştırıcılar ekleyin. + `ChannelPlugin` arayüzünün birçok isteğe bağlı bağdaştırıcı yüzeyi vardır. En az olanla başlayın — `id` ve `setup` — ve ihtiyaç duydukça bağdaştırıcılar ekleyin. - `src/channel.ts` dosyasını oluşturun: + `src/channel.ts` oluşturun: ```typescript src/channel.ts import { @@ -372,7 +336,7 @@ yalnızca uyumluluk dışa aktarımları olarak }, }), - // DM güvenliği: bota kim mesaj gönderebilir + // DM security: who can message the bot security: { dm: { channelKey: "acme-chat", @@ -382,21 +346,21 @@ yalnızca uyumluluk dışa aktarımları olarak }, }, - // Eşleme: yeni DM kişileri için onay akışı + // Pairing: approval flow for new DM contacts pairing: { text: { idLabel: "Acme Chat kullanıcı adı", message: "Kimliğinizi doğrulamak için bu kodu gönderin:", notify: async ({ target, code }) => { - await acmeChatApi.sendDm(target, `Eşleme kodu: ${code}`); + await acmeChatApi.sendDm(target, `Pairing code: ${code}`); }, }, }, - // İş parçacığı oluşturma: yanıtlar nasıl teslim edilir + // Threading: how replies are delivered threading: { topLevelReplyToMode: "reply" }, - // Giden: platforma mesaj gönder + // Outbound: send messages to the platform outbound: { attachedResults: { sendText: async (params) => { @@ -417,24 +381,22 @@ yalnızca uyumluluk dışa aktarımları olarak ``` - Düşük seviyeli bağdaştırıcı arayüzlerini elle uygulamak yerine, - bildirime dayalı seçenekler verirsiniz ve oluşturucu bunları birleştirir: + Alt düzey bağdaştırıcı arayüzlerini elle uygulamak yerine, bildirimsel seçenekler geçirirsiniz ve oluşturucu bunları birleştirir: | Seçenek | Bağladığı şey | | --- | --- | - | `security.dm` | Config alanlarından kapsamlı DM güvenlik çözümleyicisi | - | `pairing.text` | Kod alışverişiyle metin tabanlı DM eşleme akışı | - | `threading` | Reply-to modu çözümleyicisi (sabit, hesap kapsamlı veya özel) | - | `outbound.attachedResults` | Sonuç meta verisi döndüren gönderim fonksiyonları (mesaj kimlikleri) | + | `security.dm` | Yapılandırma alanlarından kapsamlı DM güvenlik çözümleyicisi | + | `pairing.text` | Kod değiş tokuşu ile metin tabanlı DM eşleştirme akışı | + | `threading` | Reply-to kip çözümleyicisi (sabit, hesap kapsamlı veya özel) | + | `outbound.attachedResults` | Sonuç meta verisi döndüren gönderme işlevleri (mesaj kimlikleri) | - Tam denetime ihtiyaç duyarsanız bildirime dayalı seçenekler yerine ham - bağdaştırıcı nesneleri de geçebilirsiniz. + Tam denetime ihtiyacınız varsa bildirimsel seçenekler yerine ham bağdaştırıcı nesneleri de geçirebilirsiniz. - `index.ts` dosyasını oluşturun: + `index.ts` oluşturun: ```typescript index.ts import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core"; @@ -469,17 +431,13 @@ yalnızca uyumluluk dışa aktarımları olarak }); ``` - Kanalın sahip olduğu CLI tanımlayıcılarını `registerCliMetadata(...)` içine koyun; böylece OpenClaw - tam kanal çalışma zamanını etkinleştirmeden bunları kök yardımda gösterebilir, - normal tam yüklemeler de gerçek komut kaydı için aynı tanımlayıcıları alır. - `registerFull(...)` yöntemini çalışma zamanına özgü işler için kullanın. + Kanalın sahip olduğu CLI tanımlayıcılarını `registerCliMetadata(...)` içine koyun; böylece OpenClaw, tam kanal çalışma zamanını etkinleştirmeden bunları kök yardımda gösterebilir. Normal tam yüklemeler de gerçek komut kaydı için aynı tanımlayıcıları almaya devam eder. `registerFull(...)` değerini yalnızca çalışma zamanına özgü işler için tutun. `registerFull(...)` Gateway RPC yöntemleri kaydediyorsa, plugin'e özgü bir önek kullanın. Çekirdek yönetici ad alanları (`config.*`, - `exec.approvals.*`, `wizard.*`, `update.*`) ayrılmıştır ve her zaman - `operator.admin` çözümüne gider. - `defineChannelPluginEntry`, kayıt modu ayrımını otomatik olarak yönetir. Tüm - seçenekler için bkz. - [Giriş Noktaları](/tr/plugins/sdk-entrypoints#definechannelpluginentry). + `exec.approvals.*`, `wizard.*`, `update.*`) ayrılmış kalır ve her zaman + `operator.admin` olarak çözülür. + `defineChannelPluginEntry`, kayıt kipi ayrımını otomatik olarak işler. Tüm + seçenekler için [Giriş Noktaları](/tr/plugins/sdk-entrypoints#definechannelpluginentry) bölümüne bakın. @@ -493,28 +451,32 @@ yalnızca uyumluluk dışa aktarımları olarak export default defineSetupPluginEntry(acmeChatPlugin); ``` - OpenClaw, kanal devre dışıysa - veya yapılandırılmamışsa tam giriş yerine bunu yükler. - Bu, kurulum akışları sırasında ağır çalışma zamanı kodunun yüklenmesini önler. - Ayrıntılar için bkz. [Kurulum ve Config](/tr/plugins/sdk-setup#setup-entry). + OpenClaw, kanal devre dışıyken veya yapılandırılmamışken tam giriş yerine bunu yükler. + Bu, kurulum akışları sırasında ağır çalışma zamanı kodunun çekilmesini önler. + Ayrıntılar için [Kurulum ve Yapılandırma](/tr/plugins/sdk-setup#setup-entry) bölümüne bakın. + + Kurulum açısından güvenli dışa aktarımları yan modüllere ayıran paketlenmiş çalışma alanı kanalları, + açık bir kurulum zamanı runtime setter'a da ihtiyaç duyduklarında + `openclaw/plugin-sdk/channel-entry-contract` içinden + `defineBundledChannelSetupEntry(...)` kullanabilir. - Plugin'inizin platformdan mesaj alması ve bunları - OpenClaw'a iletmesi gerekir. Tipik desen, isteği doğrulayan - ve kanalınızın gelen işleyicisi üzerinden dağıtan bir Webhook'tur: + Plugin'inizin platformdan mesaj alması ve bunları OpenClaw'a iletmesi gerekir. + Tipik kalıp, isteği doğrulayan ve kanalınızın gelen işleyicisi üzerinden + dağıtan bir Webhook'tur: ```typescript registerFull(api) { api.registerHttpRoute({ path: "/acme-chat/webhook", - auth: "plugin", // plugin tarafından yönetilen auth (imzaları kendiniz doğrulayın) + auth: "plugin", // plugin tarafından yönetilen yetkilendirme (imzaları kendiniz doğrulayın) handler: async (req, res) => { const event = parseWebhookPayload(req); // Gelen işleyiciniz mesajı OpenClaw'a dağıtır. - // Tam bağlama platform SDK'nıza bağlıdır — + // Kesin kablolama platform SDK'nıza bağlıdır — // gerçek bir örnek için paketlenmiş Microsoft Teams veya Google Chat plugin paketine bakın. await handleAcmeChatInbound(api, event); @@ -528,23 +490,22 @@ yalnızca uyumluluk dışa aktarımları olarak Gelen mesaj işleme kanala özgüdür. Her kanal plugin'i - kendi gelen işlem hattına sahiptir. Gerçek desenler için paketlenmiş kanal plugin'lerine - (örneğin Microsoft Teams veya Google Chat plugin paketi) - bakın. + kendi gelen işlem hattına sahiptir. Gerçek kalıplar için paketlenmiş kanal plugin'lerine + (örneğin Microsoft Teams veya Google Chat plugin paketi) bakın. - -`src/channel.test.ts` içinde aynı yerde testler yazın: + +Eş konumlu testleri `src/channel.test.ts` içinde yazın: ```typescript src/channel.test.ts import { describe, it, expect } from "vitest"; import { acmeChatPlugin } from "./channel.js"; describe("acme-chat plugin", () => { - it("config içinden hesabı çözümler", () => { + it("resolves account from config", () => { const cfg = { channels: { "acme-chat": { token: "test-token", allowFrom: ["user1"] }, @@ -554,7 +515,7 @@ yalnızca uyumluluk dışa aktarımları olarak expect(account.token).toBe("test-token"); }); - it("gizli verileri somutlaştırmadan hesabı inceler", () => { + it("inspects account without materializing secrets", () => { const cfg = { channels: { "acme-chat": { token: "test-token" } }, } as any; @@ -563,7 +524,7 @@ yalnızca uyumluluk dışa aktarımları olarak expect(result.tokenStatus).toBe("available"); }); - it("eksik config'i bildirir", () => { + it("reports missing config", () => { const cfg = { channels: {} } as any; const result = acmeChatPlugin.setup!.inspectAccount!(cfg, undefined); expect(result.configured).toBe(false); @@ -575,7 +536,7 @@ yalnızca uyumluluk dışa aktarımları olarak pnpm test -- /acme-chat/ ``` - Paylaşılan test yardımcıları için bkz. [Test](/tr/plugins/sdk-testing). + Paylaşılan test yardımcıları için [Test](/tr/plugins/sdk-testing) bölümüne bakın. @@ -585,7 +546,7 @@ yalnızca uyumluluk dışa aktarımları olarak ``` /acme-chat/ ├── package.json # openclaw.channel meta verileri -├── openclaw.plugin.json # Config şemalı manifest +├── openclaw.plugin.json # Yapılandırma şemalı Manifest ├── index.ts # defineChannelPluginEntry ├── setup-entry.ts # defineSetupPluginEntry ├── api.ts # Genel dışa aktarımlar (isteğe bağlı) @@ -600,30 +561,30 @@ yalnızca uyumluluk dışa aktarımları olarak ## Gelişmiş konular - - Sabit, hesap kapsamlı veya özel yanıt modları + + Sabit, hesap kapsamlı veya özel yanıt kipleri - + describeMessageTool ve eylem keşfi inferTargetChatType, looksLikeId, resolveTarget - api.runtime üzerinden TTS, STT, medya, alt ajan + api.runtime üzerinden TTS, STT, medya, alt agent -Bazı paketlenmiş yardımcı kancalar, paketlenmiş plugin bakımı ve -uyumluluk için hâlâ mevcuttur. Bunlar yeni kanal plugin'leri için önerilen desen değildir; -o paketlenmiş plugin ailesini doğrudan siz bakımını yapmıyorsanız, +Bazı paketlenmiş yardımcı yüzeyleri, paketlenmiş plugin bakımı ve +uyumluluk için hâlâ mevcuttur. Bunlar yeni kanal plugin'leri için önerilen +kalıp değildir; bu paketlenmiş plugin ailesini doğrudan korumuyorsanız, ortak SDK yüzeyindeki genel channel/setup/reply/runtime alt yollarını tercih edin. ## Sonraki adımlar -- [Provider Plugin'leri](/tr/plugins/sdk-provider-plugins) — plugin'iniz aynı zamanda modeller de sağlıyorsa +- [Provider Plugin'leri](/tr/plugins/sdk-provider-plugins) — plugin'iniz ayrıca model de sağlıyorsa - [SDK Genel Bakış](/tr/plugins/sdk-overview) — tam alt yol içe aktarma başvurusu -- [SDK Test](/tr/plugins/sdk-testing) — test yardımcıları ve sözleşme testleri -- [Plugin Manifesti](/tr/plugins/manifest) — tam manifest şeması +- [SDK Test](/tr/plugins/sdk-testing) — test yardımcı araçları ve sözleşme testleri +- [Plugin Manifest](/tr/plugins/manifest) — tam manifest şeması diff --git a/docs/tr/plugins/sdk-entrypoints.md b/docs/tr/plugins/sdk-entrypoints.md index 9bf02d387..11e9881c7 100644 --- a/docs/tr/plugins/sdk-entrypoints.md +++ b/docs/tr/plugins/sdk-entrypoints.md @@ -1,37 +1,36 @@ --- read_when: - - definePluginEntry veya defineChannelPluginEntry için tam tür imzasına ihtiyaç duyduğunuzda - - kayıt modunu anlamak istediğinizde (tam, kurulum veya CLI meta verisi) - - giriş noktası seçeneklerine baktığınızda + - definePluginEntry veya defineChannelPluginEntry için tam tür imzasına ihtiyacınız var + - Kayıt modunu anlamak istiyorsunuz (tam, kurulum veya CLI meta verileri) + - Giriş noktası seçeneklerini arıyorsunuz sidebarTitle: Entry Points -summary: definePluginEntry, defineChannelPluginEntry ve defineSetupPluginEntry için başvuru +summary: definePluginEntry, defineChannelPluginEntry ve defineSetupPluginEntry için referans title: Plugin Giriş Noktaları x-i18n: - generated_at: "2026-04-05T14:01:59Z" + generated_at: "2026-04-15T19:41:57Z" model: gpt-5.4 provider: openai - source_hash: 799dbfe71e681dd8ba929a7a631dfe745c3c5c69530126fea2f9c137b120f51f + source_hash: aabca25bc9b8ff1b5bb4852bafe83640ffeba006ea6b6a8eff4e2c37a10f1fe4 source_path: plugins/sdk-entrypoints.md workflow: 15 --- # Plugin Giriş Noktaları -Her plugin varsayılan bir giriş nesnesi dışa aktarır. SDK bunları oluşturmak -için üç yardımcı sağlar. +Her Plugin varsayılan bir giriş nesnesi dışa aktarır. SDK, bunları oluşturmak için +üç yardımcı sağlar. - **Adım adım bir kılavuz mu arıyorsunuz?** Adım adım kılavuzlar için - [Channel Plugins](/plugins/sdk-channel-plugins) veya - [Provider Plugins](/plugins/sdk-provider-plugins) sayfalarına bakın. + **Adım adım bir rehber mi arıyorsunuz?** Adım adım kılavuzlar için [Kanal Pluginleri](/tr/plugins/sdk-channel-plugins) + veya [Sağlayıcı Pluginleri](/tr/plugins/sdk-provider-plugins) sayfalarına bakın. ## `definePluginEntry` **İçe aktarma:** `openclaw/plugin-sdk/plugin-entry` -Provider plugin'leri, araç plugin'leri, hook plugin'leri ve mesajlaşma kanalı -**olmayan** her şey için. +Sağlayıcı pluginleri, araç pluginleri, kanca pluginleri ve bir mesajlaşma +kanalı **olmayan** her şey için. ```typescript import { definePluginEntry } from "openclaw/plugin-sdk/plugin-entry"; @@ -60,19 +59,19 @@ export default definePluginEntry({ | `configSchema` | `OpenClawPluginConfigSchema \| () => OpenClawPluginConfigSchema` | Hayır | Boş nesne şeması | | `register` | `(api: OpenClawPluginApi) => void` | Evet | — | -- `id`, `openclaw.plugin.json` manifest dosyanızla eşleşmelidir. -- `kind`, ayrıcalıklı slot'lar içindir: `"memory"` veya `"context-engine"`. -- `configSchema`, gecikmeli değerlendirme için bir işlev olabilir. -- OpenClaw bu şemayı ilk erişimde çözer ve belleğe alır; böylece maliyetli şema +- `id`, `openclaw.plugin.json` manifestinizle eşleşmelidir. +- `kind`, özel yuvalar içindir: `"memory"` veya `"context-engine"`. +- `configSchema`, geç değerlendirme için bir fonksiyon olabilir. +- OpenClaw bu şemayı ilk erişimde çözümler ve belleğe alır; böylece maliyetli şema oluşturucular yalnızca bir kez çalışır. ## `defineChannelPluginEntry` **İçe aktarma:** `openclaw/plugin-sdk/channel-core` -Kanal-özel bağlamayla `definePluginEntry`'yi sarar. Otomatik olarak -`api.registerChannel({ plugin })` çağırır, isteğe bağlı bir kök yardım CLI meta -verisi yüzeyi sunar ve `registerFull` işlemini kayıt moduna göre sınırlar. +Kanal özelindeki bağlantıları ekleyerek `definePluginEntry` işlevini sarmalar. +`api.registerChannel({ plugin })` çağrısını otomatik olarak yapar, isteğe bağlı bir +kök yardım CLI meta verisi arayüzü sunar ve `registerFull` çağrısını kayıt moduna göre sınırlar. ```typescript import { defineChannelPluginEntry } from "openclaw/plugin-sdk/channel-core"; @@ -103,25 +102,25 @@ export default defineChannelPluginEntry({ | `registerCliMetadata` | `(api: OpenClawPluginApi) => void` | Hayır | — | | `registerFull` | `(api: OpenClawPluginApi) => void` | Hayır | — | -- `setRuntime`, çalışma zamanı başvurusunu saklayabilmeniz için kayıt sırasında - çağrılır (genellikle `createPluginRuntimeStore` ile). CLI meta verisi +- `setRuntime`, kayıt sırasında çağrılır; böylece çalışma zamanı başvurusunu + saklayabilirsiniz (genellikle `createPluginRuntimeStore` aracılığıyla). CLI meta verisi yakalama sırasında atlanır. -- `registerCliMetadata`, hem `api.registrationMode === "cli-metadata"` - hem de `api.registrationMode === "full"` sırasında çalışır. - Bunu, kök yardımın etkinleştirme yapmamasını sağlarken normal CLI komut kaydının - tam plugin yüklemeleriyle uyumlu kalması için kanalın sahip olduğu CLI tanımlayıcılarının - standart yeri olarak kullanın. -- `registerFull`, yalnızca `api.registrationMode === "full"` olduğunda çalışır. - Yalnızca kurulum yüklemesi sırasında atlanır. -- `definePluginEntry` gibi `configSchema` da gecikmeli bir fabrika olabilir ve - OpenClaw çözülen şemayı ilk erişimde belleğe alır. +- `registerCliMetadata`, hem `api.registrationMode === "cli-metadata"` hem de + `api.registrationMode === "full"` sırasında çalışır. + Bunu, kanala ait CLI tanımlayıcıları için kanonik yer olarak kullanın; böylece kök yardım + etkinleştirme yapmadan kalır ve normal CLI komut kaydı tam Plugin yüklemeleriyle + uyumlu olmaya devam eder. +- `registerFull` yalnızca `api.registrationMode === "full"` olduğunda çalışır. Yalnızca kurulum + yüklemesi sırasında atlanır. +- `definePluginEntry` gibi, `configSchema` da geç bir fabrika olabilir ve OpenClaw + çözümlenen şemayı ilk erişimde belleğe alır. - Plugin'e ait kök CLI komutları için, komutun kök CLI ayrıştırma ağacından - kaybolmadan gecikmeli yüklenmesini istediğinizde - `api.registerCli(..., { descriptors: [...] })` tercih edin. Kanal plugin'leri için - bu tanımlayıcıları `registerCliMetadata(...)` içinden kaydetmeyi tercih edin ve - `registerFull(...)` işlemini yalnızca çalışma zamanı işlerine odaklı tutun. -- `registerFull(...)` ayrıca gateway RPC yöntemleri de kaydediyorsa bunları - plugin'e özgü bir önek üzerinde tutun. Ayrılmış çekirdek yönetici ad alanları + kaybolmadan geç yüklenmesini istiyorsanız `api.registerCli(..., { descriptors: [...] })` + kullanımını tercih edin. Kanal pluginlerinde, bu tanımlayıcıları + `registerCliMetadata(...)` içinden kaydetmeyi tercih edin ve `registerFull(...)` + işlevini yalnızca çalışma zamanına özgü işlere odaklı tutun. +- Eğer `registerFull(...)` aynı zamanda Gateway RPC yöntemlerini de kaydediyorsa, + bunları Plugin'e özgü bir önek altında tutun. Ayrılmış çekirdek yönetici ad alanları (`config.*`, `exec.approvals.*`, `wizard.*`, `update.*`) her zaman `operator.admin` olarak zorlanır. @@ -129,7 +128,7 @@ export default defineChannelPluginEntry({ **İçe aktarma:** `openclaw/plugin-sdk/channel-core` -Hafif `setup-entry.ts` dosyası için. Çalışma zamanı veya CLI bağlaması olmadan +Hafif `setup-entry.ts` dosyası için. Çalışma zamanı veya CLI bağlantısı olmadan yalnızca `{ plugin }` döndürür. ```typescript @@ -138,37 +137,60 @@ import { defineSetupPluginEntry } from "openclaw/plugin-sdk/channel-core"; export default defineSetupPluginEntry(myChannelPlugin); ``` -OpenClaw bunu, bir kanal devre dışı olduğunda, yapılandırılmadığında veya -ertelenmiş yükleme etkin olduğunda tam giriş yerine yükler. Bunun ne zaman önemli -olduğu için [Setup and Config](/plugins/sdk-setup#setup-entry) sayfasına bakın. +OpenClaw, bir kanal devre dışı olduğunda, yapılandırılmadığında veya ertelenmiş +yükleme etkin olduğunda tam giriş yerine bunu yükler. Bunun ne zaman önemli olduğunu +öğrenmek için [Kurulum ve Yapılandırma](/tr/plugins/sdk-setup#setup-entry) sayfasına bakın. -Pratikte `defineSetupPluginEntry(...)` ile dar kurulum yardımcı ailelerini eşleyin: +Pratikte, `defineSetupPluginEntry(...)` işlevini dar kapsamlı kurulum yardımcı +aileleriyle eşleştirin: -- `openclaw/plugin-sdk/setup-runtime`: - içe aktarma açısından güvenli kurulum yama bağdaştırıcıları, lookup-note çıktısı, - `promptResolvedAllowFrom`, `splitSetupEntries` ve devredilmiş kurulum proxy'leri gibi - çalışma zamanı açısından güvenli kurulum yardımcıları için -- `openclaw/plugin-sdk/channel-setup`: - isteğe bağlı yükleme kurulum yüzeyleri için -- `openclaw/plugin-sdk/setup-tools`: - kurulum/yükleme CLI/arşiv/belge yardımcıları için +- `openclaw/plugin-sdk/setup-runtime`: içe aktarması güvenli kurulum yama bağdaştırıcıları, + lookup-note çıktısı, `promptResolvedAllowFrom`, `splitSetupEntries` ve devredilen kurulum + proxy'leri gibi çalışma zamanında güvenli kurulum yardımcıları için +- `openclaw/plugin-sdk/channel-setup`: isteğe bağlı kurulum yapı yüzeyleri için +- `openclaw/plugin-sdk/setup-tools`: kurulum/kurma CLI/arşiv/belgeler yardımcıları için -Ağır SDK'ları, CLI kaydını ve uzun ömürlü çalışma zamanı hizmetlerini tam -girişte tutun. +Ağır SDK'ları, CLI kaydını ve uzun ömürlü çalışma zamanı hizmetlerini tam girişte +tutun. + +Kurulum ve çalışma zamanı yüzeylerini ayıran paketlenmiş çalışma alanı kanalları, +bunun yerine `openclaw/plugin-sdk/channel-entry-contract` içinden +`defineBundledChannelSetupEntry(...)` kullanabilir. Bu sözleşme, kurulum girişinin +hafif bir çalışma zamanı ayarlayıcısı sunmaya devam ederken kuruluma güvenli +Plugin/gizli anahtar dışa aktarımlarını korumasını sağlar: + +```typescript +import { defineBundledChannelSetupEntry } from "openclaw/plugin-sdk/channel-entry-contract"; + +export default defineBundledChannelSetupEntry({ + importMetaUrl: import.meta.url, + plugin: { + specifier: "./channel-plugin-api.js", + exportName: "myChannelPlugin", + }, + runtime: { + specifier: "./runtime-api.js", + exportName: "setMyChannelRuntime", + }, +}); +``` + +Bu paketlenmiş sözleşmeyi yalnızca kurulum akışlarının, tam kanal girişi yüklenmeden +önce gerçekten hafif bir çalışma zamanı ayarlayıcısına ihtiyaç duyduğu durumlarda kullanın. ## Kayıt modu -`api.registrationMode`, plugin'inize nasıl yüklendiğini söyler: +`api.registrationMode`, Plugininize nasıl yüklendiğini bildirir: -| Mod | Ne zaman | Ne kaydedilmeli | -| ----------------- | -------------------------------- | ------------------------------------------------------------------------------------- | -| `"full"` | Normal gateway başlangıcı | Her şey | -| `"setup-only"` | Devre dışı/yapılandırılmamış kanal | Yalnızca kanal kaydı | -| `"setup-runtime"` | Çalışma zamanı mevcut kurulum akışı | Kanal kaydı artı tam giriş yüklenmeden önce gereken yalnızca hafif çalışma zamanı | -| `"cli-metadata"` | Kök yardım / CLI meta verisi yakalama | Yalnızca CLI tanımlayıcıları | +| Mod | Ne zaman | Ne kaydedilmeli | +| ----------------- | -------------------------------- | ---------------------------------------------------------------------------------------- | +| `"full"` | Normal Gateway başlatma | Her şey | +| `"setup-only"` | Devre dışı/yapılandırılmamış kanal | Yalnızca kanal kaydı | +| `"setup-runtime"` | Çalışma zamanı mevcut kurulum akışı | Kanal kaydı ve tam giriş yüklenmeden önce gereken yalnızca hafif çalışma zamanı | +| `"cli-metadata"` | Kök yardım / CLI meta verisi yakalama | Yalnızca CLI tanımlayıcıları | -`defineChannelPluginEntry` bu ayrımı otomatik olarak yönetir. Bir kanal için -doğrudan `definePluginEntry` kullanıyorsanız modu kendiniz denetleyin: +`defineChannelPluginEntry` bu ayrımı otomatik olarak yönetir. Bir kanal için doğrudan +`definePluginEntry` kullanırsanız, modu kendiniz denetleyin: ```typescript register(api) { @@ -180,43 +202,43 @@ register(api) { api.registerChannel({ plugin: myPlugin }); if (api.registrationMode !== "full") return; - // Yalnızca çalışma zamanına ait ağır kayıtlar + // Yalnızca çalışma zamanına özgü ağır kayıtlar api.registerService(/* ... */); } ``` -`"setup-runtime"` durumunu, tam paketlenmiş kanal çalışma zamanına yeniden -girmeden yalnızca kurulum başlangıç yüzeylerinin var olması gereken pencere -olarak değerlendirin. Uygun örnekler arasında kanal kaydı, kurulum açısından güvenli -HTTP rotaları, kurulum açısından güvenli gateway yöntemleri ve devredilmiş -kurulum yardımcıları bulunur. Ağır arka plan hizmetleri, CLI kaydedicileri ve -provider/client SDK önyüklemeleri yine `"full"` moduna aittir. +`"setup-runtime"` modunu, yalnızca kurulum başlangıç yüzeylerinin tam paketlenmiş kanal +çalışma zamanına yeniden girmeden var olması gereken pencere olarak değerlendirin. +Buna uygun örnekler arasında kanal kaydı, kuruluma güvenli HTTP rotaları, kuruluma +güvenli Gateway yöntemleri ve devredilen kurulum yardımcıları bulunur. Ağır arka plan +hizmetleri, CLI kaydedicileri ve sağlayıcı/istemci SDK önyüklemeleri ise yine `"full"` +moduna aittir. Özellikle CLI kaydedicileri için: -- Kaydedici bir veya daha fazla kök komutun sahibiyse ve OpenClaw'un ilk çağrıda - gerçek CLI modülünü gecikmeli yüklemesini istiyorsanız `descriptors` kullanın -- Bu tanımlayıcıların, kaydedici tarafından açığa çıkarılan her üst düzey komut - kökünü kapsadığından emin olun -- Açgözlü uyumluluk yolları için yalnızca `commands` kullanın +- Kaydedici bir veya daha fazla kök komuta sahipse ve gerçek CLI modülünün ilk çağrıda + OpenClaw tarafından geç yüklenmesini istiyorsanız `descriptors` kullanın +- Bu tanımlayıcıların, kaydedici tarafından açığa çıkarılan her üst düzey komut kökünü + kapsadığından emin olun +- Yalnızca hevesli uyumluluk yolları için tek başına `commands` kullanın -## Plugin şekilleri +## Plugin biçimleri -OpenClaw, yüklü plugin'leri kayıt davranışlarına göre sınıflandırır: +OpenClaw, yüklenen pluginleri kayıt davranışlarına göre sınıflandırır: -| Şekil | Açıklama | -| -------------------- | ----------------------------------------------------- | -| **plain-capability** | Tek yetenek türü (ör. yalnızca provider) | -| **hybrid-capability**| Birden çok yetenek türü (ör. provider + speech) | -| **hook-only** | Yetenek yok, yalnızca hook'lar | -| **non-capability** | Araçlar/komutlar/hizmetler var ama yetenek yok | +| Biçim | Açıklama | +| -------------------- | -------------------------------------------------- | +| **plain-capability** | Tek bir yetenek türü (ör. yalnızca sağlayıcı) | +| **hybrid-capability** | Birden fazla yetenek türü (ör. sağlayıcı + konuşma) | +| **hook-only** | Yalnızca kancalar, yetenek yok | +| **non-capability** | Araçlar/komutlar/hizmetler var ama yetenek yok | -Bir plugin'in şeklini görmek için `openclaw plugins inspect ` kullanın. +Bir Pluginin biçimini görmek için `openclaw plugins inspect ` kullanın. ## İlgili -- [SDK Genel Bakış](/plugins/sdk-overview) — kayıt API'si ve alt yol başvurusu -- [Çalışma Zamanı Yardımcıları](/plugins/sdk-runtime) — `api.runtime` ve `createPluginRuntimeStore` -- [Kurulum ve Yapılandırma](/plugins/sdk-setup) — manifest, kurulum girişi, ertelenmiş yükleme -- [Channel Plugins](/plugins/sdk-channel-plugins) — `ChannelPlugin` nesnesini oluşturma -- [Provider Plugins](/plugins/sdk-provider-plugins) — provider kaydı ve hook'lar +- [SDK Genel Bakış](/tr/plugins/sdk-overview) — kayıt API'si ve alt yol referansı +- [Çalışma Zamanı Yardımcıları](/tr/plugins/sdk-runtime) — `api.runtime` ve `createPluginRuntimeStore` +- [Kurulum ve Yapılandırma](/tr/plugins/sdk-setup) — manifest, kurulum girişi, ertelenmiş yükleme +- [Kanal Pluginleri](/tr/plugins/sdk-channel-plugins) — `ChannelPlugin` nesnesini oluşturma +- [Sağlayıcı Pluginleri](/tr/plugins/sdk-provider-plugins) — sağlayıcı kaydı ve kancalar diff --git a/docs/tr/plugins/sdk-runtime.md b/docs/tr/plugins/sdk-runtime.md index 90c89efd3..38631572a 100644 --- a/docs/tr/plugins/sdk-runtime.md +++ b/docs/tr/plugins/sdk-runtime.md @@ -1,29 +1,29 @@ --- read_when: - - Bir eklentiden çekirdek yardımcıları çağırmanız gerekiyor (TTS, STT, görüntü üretimi, web araması, alt aracı) - - '`api.runtime`’ın neleri kullanıma sunduğunu anlamak istiyorsunuz' + - Bir eklentiden çekirdek yardımcıları çağırmanız gerekir (TTS, STT, görüntü oluşturma, web araması, alt aracı) + - '`api.runtime`''ın neleri sunduğunu anlamak istiyorsunuz' - Eklenti kodundan yapılandırma, aracı veya medya yardımcılarına erişiyorsunuz sidebarTitle: Runtime Helpers -summary: api.runtime -- eklentiler için kullanılabilir enjekte edilmiş çalışma zamanı yardımcıları -title: Eklenti Çalışma Zamanı Yardımcıları +summary: api.runtime -- eklentiler için kullanılabilir olan enjekte edilmiş çalışma zamanı yardımcıları +title: Plugin Çalışma Zamanı Yardımcıları x-i18n: - generated_at: "2026-04-11T02:46:46Z" + generated_at: "2026-04-15T19:41:53Z" model: gpt-5.4 provider: openai - source_hash: fbf8a6ecd970300f784b8aca20eed40ba12c83107abd27385bfdc3347d2544be + source_hash: c77a6e9cd48c84affa17dce684bbd0e072c8b63485e4a5d569f3793a4ea4f9c8 source_path: plugins/sdk-runtime.md workflow: 15 --- -# Eklenti Çalışma Zamanı Yardımcıları +# Plugin Çalışma Zamanı Yardımcıları Kayıt sırasında her eklentiye enjekte edilen `api.runtime` nesnesi için başvuru. -Ana bilgisayar iç bileşenlerini doğrudan içe aktarmak yerine bu yardımcıları kullanın. +Doğrudan ana makine iç bileşenlerini içe aktarmak yerine bu yardımcıları kullanın. - **Adım adım bir rehber mi arıyorsunuz?** Bu yardımcıların bağlam içinde nasıl - kullanıldığını gösteren yönergeli kılavuzlar için [Channel Plugins](/tr/plugins/sdk-channel-plugins) - veya [Provider Plugins](/tr/plugins/sdk-provider-plugins) bölümlerine bakın. + **Adım adım bir rehber mi arıyorsunuz?** Bu yardımcıları bağlam içinde + gösteren adım adım kılavuzlar için [Kanal Eklentileri](/tr/plugins/sdk-channel-plugins) + veya [Sağlayıcı Eklentileri](/tr/plugins/sdk-provider-plugins) sayfalarına bakın. ```typescript @@ -48,7 +48,7 @@ const workspaceDir = api.runtime.agent.resolveAgentWorkspaceDir(cfg); // Aracı kimliğini al const identity = api.runtime.agent.resolveAgentIdentity(cfg); -// Varsayılan düşünme seviyesini al +// Varsayılan düşünme düzeyini al const thinking = api.runtime.agent.resolveThinkingDefault(cfg, provider, model); // Aracı zaman aşımını al @@ -57,7 +57,7 @@ const timeoutMs = api.runtime.agent.resolveAgentTimeoutMs(cfg); // Çalışma alanının var olduğundan emin ol await api.runtime.agent.ensureAgentWorkspace(cfg); -// Gömülü bir aracı dönüşü çalıştır +// Gömülü bir aracı turu çalıştır const agentDir = api.runtime.agent.resolveAgentDir(cfg); const result = await api.runtime.agent.runEmbeddedAgent({ sessionId: "my-plugin:task-1", @@ -69,13 +69,13 @@ const result = await api.runtime.agent.runEmbeddedAgent({ }); ``` -`runEmbeddedAgent(...)`, eklenti kodundan normal bir OpenClaw -aracı dönüşü başlatmak için nötr yardımcıdır. Kanal tetiklemeli yanıtlarla aynı -sağlayıcı/model çözümlemesini ve aracı harness seçimini kullanır. +`runEmbeddedAgent(...)`, eklenti kodundan normal bir OpenClaw aracı turu +başlatmak için tarafsız yardımcıdır. Kanal tarafından tetiklenen yanıtlarla aynı +sağlayıcı/model çözümlemesini ve aracı koşum takımı seçimini kullanır. -`runEmbeddedPiAgent(...)` uyumluluk takma adı olarak kalır. +`runEmbeddedPiAgent(...)`, uyumluluk takma adı olarak kalmaktadır. -**Oturum deposu yardımcıları** `api.runtime.agent.session` altında bulunur: +**Oturum deposu yardımcıları** `api.runtime.agent.session` altındadır: ```typescript const storePath = api.runtime.agent.session.resolveStorePath(cfg); @@ -124,21 +124,23 @@ await api.runtime.subagent.deleteSession({ Model geçersiz kılmaları (`provider`/`model`), yapılandırmada - `plugins.entries..subagent.allowModelOverride: true` ile operatör onayı gerektirir. - Güvenilmeyen eklentiler yine de alt aracı çalıştırabilir, ancak geçersiz kılma istekleri reddedilir. + `plugins.entries..subagent.allowModelOverride: true` aracılığıyla + operatör onayı gerektirir. Güvenilmeyen eklentiler yine de alt aracılar + çalıştırabilir, ancak geçersiz kılma istekleri reddedilir. ### `api.runtime.taskFlow` -Bir Task Flow çalışma zamanını mevcut bir OpenClaw oturum anahtarına veya güvenilir araç -bağlamına bağlayın, ardından her çağrıda sahip bilgisi geçmeden Task Flow'lar oluşturup yönetin. +Bir TaskFlow çalışma zamanını mevcut bir OpenClaw oturum anahtarına veya güvenilir +araç bağlamına bağlayın, ardından her çağrıda sahip bilgisi geçmeden TaskFlow'lar +oluşturun ve yönetin. ```typescript const taskFlow = api.runtime.taskFlow.fromToolContext(ctx); const created = taskFlow.createManaged({ controllerId: "my-plugin/review-batch", - goal: "Yeni pull request'leri incele", + goal: "Yeni çekme isteklerini incele", }); const child = taskFlow.runTask({ @@ -159,11 +161,12 @@ const waiting = taskFlow.setWaiting({ ``` Kendi bağlama katmanınızdan zaten güvenilir bir OpenClaw oturum anahtarınız varsa -`bindSession({ sessionKey, requesterOrigin })` kullanın. Ham kullanıcı girdisinden bağlama yapmayın. +`bindSession({ sessionKey, requesterOrigin })` kullanın. Ham kullanıcı girdisinden +bağlama yapmayın. ### `api.runtime.tts` -Metinden sese sentezi. +Metinden konuşma sentezi. ```typescript // Standart TTS @@ -172,7 +175,7 @@ const clip = await api.runtime.tts.textToSpeech({ cfg: api.config, }); -// Telefoni için optimize edilmiş TTS +// Telefon için optimize edilmiş TTS const telephonyClip = await api.runtime.tts.textToSpeechTelephony({ text: "OpenClaw'dan merhaba", cfg: api.config, @@ -186,14 +189,14 @@ const voices = await api.runtime.tts.listVoices({ ``` Çekirdek `messages.tts` yapılandırmasını ve sağlayıcı seçimini kullanır. PCM ses -tamponu + örnekleme hızı döndürür. +arabelleği + örnekleme oranı döndürür. ### `api.runtime.mediaUnderstanding` Görüntü, ses ve video analizi. ```typescript -// Bir görseli tanımla +// Bir görüntüyü tanımla const image = await api.runtime.mediaUnderstanding.describeImageFile({ filePath: "/tmp/inbound-photo.jpg", cfg: api.config, @@ -204,7 +207,7 @@ const image = await api.runtime.mediaUnderstanding.describeImageFile({ const { text } = await api.runtime.mediaUnderstanding.transcribeAudioFile({ filePath: "/tmp/inbound-audio.ogg", cfg: api.config, - mime: "audio/ogg", // MIME çıkarılamadığında isteğe bağlı + mime: "audio/ogg", // MIME çıkarılamadığında isteğe bağlıdır }); // Bir videoyu tanımla @@ -224,12 +227,13 @@ const result = await api.runtime.mediaUnderstanding.runFile({ `api.runtime.stt.transcribeAudioFile(...)`, uyumluluk takma adı olarak - `api.runtime.mediaUnderstanding.transcribeAudioFile(...)` için varlığını sürdürür. + `api.runtime.mediaUnderstanding.transcribeAudioFile(...)` için kullanılmaya + devam etmektedir. ### `api.runtime.imageGeneration` -Görüntü üretimi. +Görüntü oluşturma. ```typescript const result = await api.runtime.imageGeneration.generate({ @@ -255,7 +259,7 @@ const result = await api.runtime.webSearch.search({ ### `api.runtime.media` -Düşük seviyeli medya yardımcı programları. +Düşük düzey medya yardımcı programları. ```typescript const webMedia = await api.runtime.media.loadWebMedia(url); @@ -310,7 +314,7 @@ const childLogger = api.runtime.logging.getChildLogger({ plugin: "my-plugin" }, ### `api.runtime.modelAuth` -Model ve sağlayıcı auth çözümlemesi. +Model ve sağlayıcı kimlik doğrulama çözümlemesi. ```typescript const auth = await api.runtime.modelAuth.getApiKeyForModel({ model, cfg }); @@ -322,7 +326,7 @@ const providerAuth = await api.runtime.modelAuth.resolveApiKeyForProvider({ ### `api.runtime.state` -Durum dizini çözümleme. +Durum dizini çözümlemesi. ```typescript const stateDir = api.runtime.state.resolveStateDir(); @@ -342,8 +346,8 @@ api.runtime.tools.registerMemoryCli(/* ... */); Kanala özgü çalışma zamanı yardımcıları (bir kanal eklentisi yüklendiğinde kullanılabilir). -`api.runtime.channel.mentions`, çalışma zamanı enjeksiyonu kullanan -paketli kanal eklentileri için paylaşılan gelen bahsetme ilkesi yüzeyidir: +`api.runtime.channel.mentions`, çalışma zamanı enjeksiyonu kullanan paketli kanal +eklentileri için paylaşılan gelen mention ilkesi yüzeyidir: ```typescript const mentionMatch = api.runtime.channel.mentions.matchesMentionWithExplicit(text, { @@ -370,7 +374,7 @@ const decision = api.runtime.channel.mentions.resolveInboundMentionDecision({ }); ``` -Kullanılabilir bahsetme yardımcıları: +Kullanılabilir mention yardımcıları: - `buildMentionRegexes` - `matchesMentionPatterns` @@ -379,24 +383,27 @@ Kullanılabilir bahsetme yardımcıları: - `resolveInboundMentionDecision` `api.runtime.channel.mentions`, eski -`resolveMentionGating*` uyumluluk yardımcılarını bilerek açığa çıkarmaz. Normalize edilmiş -`{ facts, policy }` yolunu tercih edin. +`resolveMentionGating*` uyumluluk yardımcılarını kasıtlı olarak açığa çıkarmaz. +Normalize edilmiş `{ facts, policy }` yolunu tercih edin. -## Çalışma zamanı referanslarını saklama +## Çalışma zamanı başvurularını saklama -`register` geri çağrısının dışında kullanmak için çalışma zamanı referansını saklamak üzere -`createPluginRuntimeStore` kullanın: +`register` geri çağrısı dışında kullanılmak üzere çalışma zamanı başvurusunu +saklamak için `createPluginRuntimeStore` kullanın: ```typescript import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store"; import type { PluginRuntime } from "openclaw/plugin-sdk/runtime-store"; -const store = createPluginRuntimeStore("my-plugin runtime not initialized"); +const store = createPluginRuntimeStore({ + pluginId: "my-plugin", + errorMessage: "my-plugin runtime başlatılmadı", +}); // Giriş noktanızda export default defineChannelPluginEntry({ id: "my-plugin", - name: "Eklentim", + name: "My Plugin", description: "Örnek", plugin: myPlugin, setRuntime: store.setRuntime, @@ -412,22 +419,26 @@ export function tryGetRuntime() { } ``` +Çalışma zamanı deposu kimliği için `pluginId` tercih edin. Daha düşük düzeyli +`key` biçimi, bir eklentinin kasıtlı olarak birden fazla çalışma zamanı yuvasına +ihtiyaç duyduğu alışılmadık durumlar içindir. + ## Diğer üst düzey `api` alanları -`api.runtime` dışında API nesnesi ayrıca şunları da sağlar: +`api.runtime` ötesinde, API nesnesi ayrıca şunları da sağlar: -| Alan | Tür | Açıklama | -| ------------------------ | ------------------------- | -------------------------------------------------------------------------------------------- | -| `api.id` | `string` | Eklenti kimliği | -| `api.name` | `string` | Eklenti görünen adı | +| Alan | Tür | Açıklama | +| ------------------------ | ------------------------- | ------------------------------------------------------------------------------------------- | +| `api.id` | `string` | Plugin kimliği | +| `api.name` | `string` | Plugin görüntüleme adı | | `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 eklentiye özgü yapılandırma | -| `api.logger` | `PluginLogger` | Kapsamlı günlükleyici (`debug`, `info`, `warn`, `error`) | -| `api.registrationMode` | `PluginRegistrationMode` | Geçerli yükleme modu; `"setup-runtime"` tam giriş öncesi hafif başlatma/kurulum penceresidir | -| `api.resolvePath(input)` | `(string) => string` | Eklenti köküne göre bir yolu çözümle | +| `api.pluginConfig` | `Record` | `plugins.entries..config` içinden eklentiye özgü yapılandırma | +| `api.logger` | `PluginLogger` | Kapsamlı günlükleyici (`debug`, `info`, `warn`, `error`) | +| `api.registrationMode` | `PluginRegistrationMode` | Geçerli yükleme modu; `"setup-runtime"` hafif tam giriş öncesi başlatma/kurulum penceresidir | +| `api.resolvePath(input)` | `(string) => string` | Eklenti köküne göre bir yolu çözümle | ## İlgili -- [SDK Overview](/tr/plugins/sdk-overview) -- alt yol başvurusu -- [SDK Entry Points](/tr/plugins/sdk-entrypoints) -- `definePluginEntry` seçenekleri -- [Plugin Internals](/tr/plugins/architecture) -- yetenek modeli ve kayıt defteri +- [SDK Genel Bakış](/tr/plugins/sdk-overview) -- alt yol başvurusu +- [SDK Giriş Noktaları](/tr/plugins/sdk-entrypoints) -- `definePluginEntry` seçenekleri +- [Plugin İç Bileşenleri](/tr/plugins/architecture) -- yetenek modeli ve kayıt defteri diff --git a/docs/tr/plugins/sdk-setup.md b/docs/tr/plugins/sdk-setup.md index b9f666ab7..01b6496f3 100644 --- a/docs/tr/plugins/sdk-setup.md +++ b/docs/tr/plugins/sdk-setup.md @@ -1,16 +1,16 @@ --- read_when: - - Bir plugin'e kurulum sihirbazı ekliyorsunuz - - setup-entry.ts ile index.ts arasındaki farkı anlamanız gerekiyor - - Plugin yapılandırma şemalarını veya package.json içindeki openclaw meta verilerini tanımlıyorsunuz + - Bir Plugin'e kurulum sihirbazı ekliyorsunuz + - '`setup-entry.ts` ile `index.ts` arasındaki farkı anlamanız gerekir' + - Plugin yapılandırma şemalarını veya `package.json` içindeki `openclaw` meta verilerini tanımlıyorsunuz sidebarTitle: Setup and Config summary: Kurulum sihirbazları, setup-entry.ts, yapılandırma şemaları ve package.json meta verileri title: Plugin Kurulumu ve Yapılandırması x-i18n: - generated_at: "2026-04-06T03:11:07Z" + generated_at: "2026-04-15T19:41:49Z" model: gpt-5.4 provider: openai - source_hash: eac2586516d27bcd94cc4c259fe6274c792b3f9938c7ddd6dbf04a6dbb988dc9 + source_hash: ddf28e25e381a4a38ac478e531586f59612e1a278732597375f87c2eeefc521b source_path: plugins/sdk-setup.md workflow: 15 --- @@ -18,18 +18,18 @@ x-i18n: # Plugin Kurulumu ve Yapılandırması Plugin paketleme (`package.json` meta verileri), manifestler -(`openclaw.plugin.json`), kurulum girişleri ve yapılandırma şemaları için başvuru. +(`openclaw.plugin.json`), kurulum girişleri ve yapılandırma şemaları için +başvuru. - **Adım adım bir kılavuz mu arıyorsunuz?** Nasıl yapılır kılavuzları paketlemeyi bağlam içinde ele alır: + **Adım adım bir rehber mi arıyorsunuz?** Nasıl yapılır rehberleri paketlemeyi bağlam içinde ele alır: [Kanal Plugin'leri](/tr/plugins/sdk-channel-plugins#step-1-package-and-manifest) ve [Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins#step-1-package-and-manifest). ## Paket meta verileri -`package.json` dosyanızda, plugin sistemine -plugin'inizin ne sağladığını söyleyen bir `openclaw` alanı bulunmalıdır: +`package.json` dosyanızda, plugin sistemine plugin'inizin ne sağladığını söyleyen bir `openclaw` alanı bulunmalıdır: **Kanal plugin'i:** @@ -50,7 +50,7 @@ plugin'inizin ne sağladığını söyleyen bir `openclaw` alanı bulunmalıdır } ``` -**Sağlayıcı plugin'i / ClawHub yayımlama temeli:** +**Sağlayıcı plugin'i / ClawHub yayımlama tabanı:** ```json openclaw-clawhub-package.json { @@ -79,39 +79,39 @@ alanları zorunludur. Kanonik yayımlama parçacıkları | Alan | Tür | Açıklama | | ------------ | ---------- | ----------------------------------------------------------------------------------------------------- | -| `extensions` | `string[]` | Giriş noktası dosyaları (paket kök dizinine göre göreli) | -| `setupEntry` | `string` | Hafif, yalnızca kurulum için giriş (isteğe bağlı) | +| `extensions` | `string[]` | Giriş noktası dosyaları (paket kök dizinine göre) | +| `setupEntry` | `string` | Yalnızca kurulum için hafif giriş (isteğe bağlı) | | `channel` | `object` | Kurulum, seçici, hızlı başlangıç ve durum yüzeyleri için kanal katalog meta verileri | | `providers` | `string[]` | Bu plugin tarafından kaydedilen sağlayıcı kimlikleri | | `install` | `object` | Kurulum ipuçları: `npmSpec`, `localPath`, `defaultChoice`, `minHostVersion`, `allowInvalidConfigRecovery` | -| `startup` | `object` | Başlangıç davranışı bayrakları | +| `startup` | `object` | Başlatma davranışı bayrakları | ### `openclaw.channel` `openclaw.channel`, çalışma zamanı yüklenmeden önce kanal keşfi ve kurulum -yüzeyleri için düşük maliyetli paket meta verileridir. +yüzeyleri için düşük maliyetli paket meta verisidir. | Alan | Tür | Anlamı | | -------------------------------------- | ---------- | ----------------------------------------------------------------------------- | | `id` | `string` | Kanonik kanal kimliği. | | `label` | `string` | Birincil kanal etiketi. | | `selectionLabel` | `string` | `label` değerinden farklı olması gerektiğinde seçici/kurulum etiketi. | -| `detailLabel` | `string` | Daha zengin kanal katalogları ve durum yüzeyleri için ikincil ayrıntı etiketi.| +| `detailLabel` | `string` | Daha zengin kanal katalogları ve durum yüzeyleri için ikincil ayrıntı etiketi. | | `docsPath` | `string` | Kurulum ve seçim bağlantıları için belge yolu. | -| `docsLabel` | `string` | Kanal kimliğinden farklı olması gerektiğinde belgeler bağlantısı için geçersiz kılma etiketi. | +| `docsLabel` | `string` | Kanal kimliğinden farklı olması gerektiğinde belge bağlantıları için kullanılan geçersiz kılma etiketi. | | `blurb` | `string` | Kısa onboarding/katalog açıklaması. | | `order` | `number` | Kanal kataloglarındaki sıralama düzeni. | | `aliases` | `string[]` | Kanal seçimi için ek arama diğer adları. | -| `preferOver` | `string[]` | Bu kanalın geride bırakması gereken daha düşük öncelikli plugin/kanal kimlikleri. | -| `systemImage` | `string` | Kanal UI katalogları için isteğe bağlı simge/sistem görseli adı. | +| `preferOver` | `string[]` | Bu kanalın daha üstte yer alması gereken daha düşük öncelikli plugin/kanal kimlikleri. | +| `systemImage` | `string` | Kanal UI katalogları için isteğe bağlı simge/system-image adı. | | `selectionDocsPrefix` | `string` | Seçim yüzeylerinde belge bağlantılarından önce gelen önek metin. | -| `selectionDocsOmitLabel` | `boolean` | Seçim metninde etiketli belge bağlantısı yerine belge yolunu doğrudan gösterir. | -| `selectionExtras` | `string[]` | Seçim metnine eklenen ek kısa dizeler. | -| `markdownCapable` | `boolean` | Giden biçimlendirme kararları için kanalı markdown uyumlu olarak işaretler. | +| `selectionDocsOmitLabel` | `boolean` | Seçim metninde etiketli bir belge bağlantısı yerine belge yolunu doğrudan gösterir. | +| `selectionExtras` | `string[]` | Seçim metnine eklenen kısa ek dizeler. | +| `markdownCapable` | `boolean` | Giden biçimlendirme kararları için kanalı markdown destekli olarak işaretler. | | `exposure` | `object` | Kurulum, yapılandırılmış listeler ve belge yüzeyleri için kanal görünürlük denetimleri. | | `quickstartAllowFrom` | `boolean` | Bu kanalı standart hızlı başlangıç `allowFrom` kurulum akışına dahil eder. | -| `forceAccountBinding` | `boolean` | Yalnızca bir hesap olsa bile açık hesap bağlamasını zorunlu kılar. | -| `preferSessionLookupForAnnounceTarget` | `boolean` | Bu kanal için duyuru hedeflerini çözerken oturum aramasını tercih eder. | +| `forceAccountBinding` | `boolean` | Yalnızca bir hesap olsa bile açık hesap bağlamayı zorunlu kılar. | +| `preferSessionLookupForAnnounceTarget` | `boolean` | Duyuru hedeflerini çözümlerken bu kanal için oturum aramasını tercih eder. | Örnek: @@ -145,11 +145,11 @@ yüzeyleri için düşük maliyetli paket meta verileridir. `exposure` şunları destekler: -- `configured`: kanalı yapılandırılmış/durum benzeri listeleme yüzeylerine dahil et -- `setup`: kanalı etkileşimli kurulum/yapılandırma seçicilerine dahil et -- `docs`: kanalı belge/gezinme yüzeylerinde herkese açık olarak işaretle +- `configured`: kanalı yapılandırılmış/durum tarzı listeleme yüzeylerine dahil eder +- `setup`: kanalı etkileşimli kurulum/yapılandırma seçicilerine dahil eder +- `docs`: kanalı belge/gezinme yüzeylerinde herkese açık olarak işaretler -`showConfigured` ve `showInSetup` eski diğer adlar olarak desteklenmeye devam eder. Tercihen +`showConfigured` ve `showInSetup` eski takma adlar olarak desteklenmeye devam eder. Tercihen `exposure` kullanın. ### `openclaw.install` @@ -159,23 +159,23 @@ yüzeyleri için düşük maliyetli paket meta verileridir. | Alan | Tür | Anlamı | | ---------------------------- | -------------------- | -------------------------------------------------------------------------------- | | `npmSpec` | `string` | Kurulum/güncelleme akışları için kanonik npm belirtimi. | -| `localPath` | `string` | Yerel geliştirme veya paketli kurulum yolu. | -| `defaultChoice` | `"npm"` \| `"local"` | Her ikisi de mevcutsa tercih edilen kurulum kaynağı. | -| `minHostVersion` | `string` | `>=x.y.z` biçiminde desteklenen en düşük OpenClaw sürümü. | -| `allowInvalidConfigRecovery` | `boolean` | Paketli plugin yeniden kurulum akışlarının belirli eski yapılandırma hatalarından kurtulmasını sağlar. | +| `localPath` | `string` | Yerel geliştirme veya paketlenmiş kurulum yolu. | +| `defaultChoice` | `"npm"` \| `"local"` | Her ikisi de mevcut olduğunda tercih edilen kurulum kaynağı. | +| `minHostVersion` | `string` | `>=x.y.z` biçimindeki minimum desteklenen OpenClaw sürümü. | +| `allowInvalidConfigRecovery` | `boolean` | Paketlenmiş plugin yeniden kurulum akışlarının belirli eski yapılandırma hatalarından kurtulmasına izin verir. | -`minHostVersion` ayarlanmışsa hem kurulum hem de manifest-kayıt defteri yükleme bunu -uygular. Eski ana bilgisayarlar plugin'i atlar; geçersiz sürüm dizeleri reddedilir. +`minHostVersion` ayarlanmışsa, hem kurulum hem de manifest-kayıt yükleme bunu +zorunlu kılar. Daha eski host'lar plugin'i atlar; geçersiz sürüm dizeleri reddedilir. -`allowInvalidConfigRecovery`, bozuk yapılandırmalar için genel bir baypas değildir. Bu -yalnızca dar kapsamlı paketli plugin kurtarma içindir; böylece yeniden kurulum/kurulum, -eksik paketli plugin yolu veya aynı plugin için eski `channels.` -girdisi gibi bilinen yükseltme kalıntılarını onarabilir. Yapılandırma -ilgisiz nedenlerle bozuksa kurulum yine kapalı güvenli şekilde başarısız olur ve operatöre `openclaw doctor --fix` çalıştırmasını söyler. +`allowInvalidConfigRecovery`, bozuk yapılandırmalar için genel bir atlama yolu değildir. Bu, +yalnızca dar kapsamlı paketlenmiş plugin kurtarma içindir; böylece yeniden kurulum/kurulum, +eksik paketlenmiş plugin yolu veya aynı plugin için eski `channels.` +girdisi gibi bilinen yükseltme kalıntılarını onarabilir. Yapılandırma ilgisiz nedenlerle bozuksa, kurulum +yine kapalı şekilde başarısız olur ve operatöre `openclaw doctor --fix` çalıştırmasını söyler. ### Ertelenmiş tam yükleme -Kanal plugin'leri şu şekilde ertelenmiş yüklemeyi seçebilir: +Kanal plugin'leri şu şekilde ertelenmiş yüklemeyi tercih edebilir: ```json { @@ -189,25 +189,21 @@ Kanal plugin'leri şu şekilde ertelenmiş yüklemeyi seçebilir: } ``` -Etkinleştirildiğinde OpenClaw, ön dinleme başlangıç -aşamasında, önceden yapılandırılmış kanallar için bile yalnızca `setupEntry` yükler. Tam giriş, gateway dinlemeye başladıktan sonra yüklenir. +Etkinleştirildiğinde, OpenClaw ön-dinleme başlatma aşamasında, daha önce yapılandırılmış kanallar için bile yalnızca `setupEntry` yükler. Tam giriş, Gateway dinlemeye başladıktan sonra yüklenir. - Ertelenmiş yüklemeyi yalnızca `setupEntry` dosyanız gateway'in - dinlemeye başlamadan önce ihtiyaç duyduğu her şeyi kaydediyorsa etkinleştirin - (kanal kaydı, HTTP yolları, gateway yöntemleri). Tam giriş gerekli başlangıç yeteneklerine sahipse - varsayılan davranışı koruyun. + Ertelenmiş yüklemeyi yalnızca `setupEntry` dosyanız, Gateway dinlemeye başlamadan önce ihtiyaç duyduğu her şeyi kaydediyorsa etkinleştirin (kanal kaydı, HTTP rotaları, Gateway yöntemleri). Tam giriş gerekli başlatma yeteneklerine sahipse, varsayılan davranışı koruyun. -Kurulum/tam girişiniz gateway RPC yöntemleri kaydediyorsa bunları -plugin'e özgü bir önek altında tutun. Ayrılmış çekirdek yönetici ad alanları (`config.*`, -`exec.approvals.*`, `wizard.*`, `update.*`) çekirdeğe ait kalır ve her zaman -`operator.admin` değerine çözülür. +Kurulum/tam girişiniz Gateway RPC yöntemleri kaydediyorsa, bunları +plugin'e özgü bir önekte tutun. Ayrılmış çekirdek yönetici ad alanları (`config.*`, +`exec.approvals.*`, `wizard.*`, `update.*`) çekirdeğe aittir ve her zaman +`operator.admin` olarak çözülür. ## Plugin manifesti -Her yerel plugin paket kök dizininde bir `openclaw.plugin.json` dosyası taşımalıdır. -OpenClaw bunu, plugin kodunu yürütmeden yapılandırmayı doğrulamak için kullanır. +Her yerel plugin, paket kök dizininde bir `openclaw.plugin.json` ile gelmelidir. +OpenClaw bunu, plugin kodunu çalıştırmadan yapılandırmayı doğrulamak için kullanır. ```json { @@ -242,7 +238,7 @@ Kanal plugin'leri için `kind` ve `channels` ekleyin: } ``` -Yapılandırması olmayan plugin'ler bile bir şema taşımalıdır. Boş bir şema geçerlidir: +Yapılandırması olmayan plugin'ler bile bir şema ile gelmelidir. Boş bir şema geçerlidir: ```json { @@ -254,25 +250,25 @@ Yapılandırması olmayan plugin'ler bile bir şema taşımalıdır. Boş bir ş } ``` -Tam şema başvurusu için bkz. [Plugin Manifest](/tr/plugins/manifest). +Tam şema başvurusu için bkz. [Plugin Manifesti](/tr/plugins/manifest). -## ClawHub'da yayımlama +## ClawHub yayımlama -Plugin paketleri için pakete özel ClawHub komutunu kullanın: +Plugin paketleri için pakete özgü ClawHub komutunu kullanın: ```bash clawhub package publish your-org/your-plugin --dry-run clawhub package publish your-org/your-plugin ``` -Eski yalnızca-skill yayımlama diğer adı skill'ler içindir. Plugin paketleri +Eski, yalnızca Skills için yayımlama takma adı Skills içindir. Plugin paketleri her zaman `clawhub package publish` kullanmalıdır. ## Kurulum girişi -`setup-entry.ts` dosyası, OpenClaw'ın yalnızca kurulum yüzeylerine ihtiyaç duyduğunda yüklediği -(index.ts'ye göre) hafif bir alternatiftir (onboarding, yapılandırma onarımı, -devre dışı kanal incelemesi). +`setup-entry.ts` dosyası, OpenClaw'un yalnızca kurulum yüzeylerine ihtiyaç duyduğunda yüklediği +(onboarding, yapılandırma onarımı, +devre dışı kanal incelemesi) `index.ts` için hafif bir alternatiftir. ```typescript // setup-entry.ts @@ -282,70 +278,76 @@ import { myChannelPlugin } from "./src/channel.js"; export default defineSetupPluginEntry(myChannelPlugin); ``` -Bu, kurulum akışları sırasında ağır çalışma zamanı kodlarının (kripto kitaplıkları, CLI kayıtları, -arka plan servisleri) yüklenmesini önler. +Bu, kurulum akışları sırasında ağır çalışma zamanı kodunun (kriptografi kütüphaneleri, CLI kayıtları, +arka plan hizmetleri) yüklenmesini önler. -**OpenClaw'ın tam giriş yerine `setupEntry` kullandığı durumlar:** +Kuruluma güvenli dışa aktarımları yardımcı modüllerde tutan paketlenmiş çalışma alanı kanalları, +`defineSetupPluginEntry(...)` yerine +`openclaw/plugin-sdk/channel-entry-contract` içinden `defineBundledChannelSetupEntry(...)` +kullanabilir. Bu paketlenmiş sözleşme ayrıca isteğe bağlı bir +`runtime` dışa aktarımını da destekler; böylece kurulum zamanındaki çalışma zamanı bağlantıları hafif ve açık kalabilir. + +**OpenClaw'un tam giriş yerine `setupEntry` kullandığı durumlar:** - Kanal devre dışıdır ancak kurulum/onboarding yüzeylerine ihtiyaç duyar - Kanal etkindir ancak yapılandırılmamıştır - Ertelenmiş yükleme etkindir (`deferConfiguredChannelFullLoadUntilAfterListen`) -**`setupEntry` tarafından kaydedilmesi gerekenler:** +**`setupEntry` dosyasının kaydetmesi gerekenler:** - Kanal plugin nesnesi (`defineSetupPluginEntry` aracılığıyla) -- Gateway dinlemesinden önce gerekli olan tüm HTTP yolları -- Başlangıç sırasında gereken tüm gateway yöntemleri +- Gateway dinlemeye başlamadan önce gerekli tüm HTTP rotaları +- Başlatma sırasında gereken tüm Gateway yöntemleri -Bu başlangıç gateway yöntemleri yine de `config.*` veya `update.*` -gibi ayrılmış çekirdek yönetici ad alanlarından kaçınmalıdır. +Bu başlatma Gateway yöntemleri yine de `config.*` veya `update.*` gibi ayrılmış çekirdek yönetici +ad alanlarından kaçınmalıdır. **`setupEntry` içinde OLMAMASI gerekenler:** - CLI kayıtları -- Arka plan servisleri -- Ağır çalışma zamanı içe aktarımları (kripto, SDK'lar) -- Yalnızca başlangıç sonrası gereken gateway yöntemleri +- Arka plan hizmetleri +- Ağır çalışma zamanı içe aktarımları (kriptografi, SDK'ler) +- Yalnızca başlatmadan sonra gereken Gateway yöntemleri ### Dar kurulum yardımcı içe aktarımları -Sıcak yalnızca-kurulum yolları için, kurulum yüzeyinin yalnızca bir bölümüne ihtiyaç duyduğunuzda -daha geniş `plugin-sdk/setup` şemsiyesi yerine dar kurulum yardımcı bağlantı yüzeylerini tercih edin: +Yalnızca kurulum için kullanılan sıcak yollar için, kurulum yüzeyinin yalnızca bir bölümüne ihtiyacınız olduğunda daha geniş +`plugin-sdk/setup` şemsiyesi yerine dar kurulum yardımcı dikişlerini tercih edin: -| İçe aktarma yolu | Şunun için kullanın | Temel dışa aktarımlar | -| --------------------------------- | -------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `plugin-sdk/setup-runtime` | `setupEntry` / ertelenmiş kanal başlangıcında kullanılabilir kalan kurulum zamanı çalışma zamanı yardımcıları | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` | -| `plugin-sdk/setup-adapter-runtime` | ortam farkındalıklı hesap kurulum bağdaştırıcıları | `createEnvPatchedAccountSetupAdapter` | -| `plugin-sdk/setup-tools` | kurulum/yükleme CLI/arşiv/belge yardımcıları | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` | +| İçe aktarma yolu | Kullanım amacı | Temel dışa aktarımlar | +| ----------------------------------- | --------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `plugin-sdk/setup-runtime` | `setupEntry` / ertelenmiş kanal başlatmasında kullanılabilir kalan kurulum zamanı çalışma zamanı yardımcıları | `createPatchedAccountSetupAdapter`, `createEnvPatchedAccountSetupAdapter`, `createSetupInputPresenceValidator`, `noteChannelLookupFailure`, `noteChannelLookupSummary`, `promptResolvedAllowFrom`, `splitSetupEntries`, `createAllowlistSetupWizardProxy`, `createDelegatedSetupWizardProxy` | +| `plugin-sdk/setup-adapter-runtime` | ortama duyarlı hesap kurulum bağdaştırıcıları | `createEnvPatchedAccountSetupAdapter` | +| `plugin-sdk/setup-tools` | kurulum/yükleme CLI/arşiv/belge yardımcıları | `formatCliCommand`, `detectBinary`, `extractArchive`, `resolveBrewExecutable`, `formatDocsLink`, `CONFIG_DIR` | -Yapılandırma yama yardımcıları gibi tam paylaşılan kurulum -araç kutusunu istediğinizde daha geniş `plugin-sdk/setup` bağlantı yüzeyini kullanın; örneğin -`moveSingleAccountChannelSectionToDefaultAccount(...)`. +Yapılandırma yama yardımcıları gibi +`moveSingleAccountChannelSectionToDefaultAccount(...)` da dahil olmak üzere tam paylaşılan kurulum +araç kutusunu istediğinizde daha geniş `plugin-sdk/setup` dikişini kullanın. -Kurulum yama bağdaştırıcıları içe aktarma sırasında sıcak yol için güvenli kalır. Bunların paketli -tek hesap yükseltme sözleşme-yüzeyi araması tembeldir; yani -`plugin-sdk/setup-runtime` içe aktarmak, bağdaştırıcı fiilen kullanılmadan önce paketli sözleşme-yüzeyi -keşfini erken yüklemez. +Kurulum yama bağdaştırıcıları, içe aktarıldığında sıcak yol açısından güvenli kalır. Paketlenmiş +tek hesap yükseltme sözleşme-yüzeyi araması tembeldir; bu nedenle +`plugin-sdk/setup-runtime` içe aktarmak, bağdaştırıcı gerçekten kullanılmadan önce paketlenmiş sözleşme-yüzeyi +keşfini hevesli şekilde yüklemez. -### Kanalın sahip olduğu tek hesap yükseltmesi +### Kanala ait tek hesap yükseltmesi -Bir kanal tek hesaplı üst düzey yapılandırmadan -`channels..accounts.*` yapısına yükseltildiğinde, varsayılan paylaşılan davranış -yükseltilen hesap kapsamlı değerleri `accounts.default` içine taşımaktır. +Bir kanal, tek hesaplı üst düzey bir yapılandırmadan +`channels..accounts.*` yapısına yükseltildiğinde, varsayılan paylaşılan davranış yükseltilen +hesap kapsamlı değerleri `accounts.default` içine taşımaktır. -Paketli kanallar bu yükseltmeyi kurulum -sözleşme yüzeyleri üzerinden daraltabilir veya geçersiz kılabilir: +Paketlenmiş kanallar, kurulum +sözleşme yüzeyleri aracılığıyla bu yükseltmeyi daraltabilir veya geçersiz kılabilir: - `singleAccountKeysToMove`: yükseltilen hesaba taşınması gereken ek üst düzey anahtarlar -- `namedAccountPromotionKeys`: adlandırılmış hesaplar zaten varsa yalnızca bu - anahtarlar yükseltilen hesaba taşınır; paylaşılan ilke/teslimat anahtarları kanal kökünde kalır +- `namedAccountPromotionKeys`: adlandırılmış hesaplar zaten mevcutsa, yalnızca bu + anahtarlar yükseltilen hesaba taşınır; paylaşılan ilke/teslim anahtarları kanal kökünde kalır - `resolveSingleAccountPromotionTarget(...)`: yükseltilen değerleri hangi mevcut hesabın alacağını seçer -Mevcut paketli örnek Matrix'tir. Zaten tam olarak bir adlandırılmış Matrix hesabı -varsa veya `defaultAccount`, `Ops` gibi mevcut kanonik olmayan bir anahtarı -işaret ediyorsa yükseltme yeni bir `accounts.default` girdisi oluşturmak yerine bu hesabı korur. +Matrix mevcut paketlenmiş örnektir. Tam olarak bir adlandırılmış Matrix hesabı +zaten varsa veya `defaultAccount`, `Ops` gibi mevcut ancak kanonik olmayan bir anahtarı işaret ediyorsa, +yükseltme yeni bir `accounts.default` girdisi oluşturmak yerine bu hesabı korur. ## Yapılandırma şeması @@ -366,7 +368,7 @@ plugin'leri şu şekilde yapılandırır: } ``` -Plugin'iniz bu yapılandırmayı kayıt sırasında `api.pluginConfig` olarak alır. +Plugin'iniz, kayıt sırasında bu yapılandırmayı `api.pluginConfig` olarak alır. Kanala özgü yapılandırma için bunun yerine kanal yapılandırma bölümünü kullanın: @@ -383,7 +385,7 @@ Kanala özgü yapılandırma için bunun yerine kanal yapılandırma bölümün ### Kanal yapılandırma şemaları oluşturma -Bir Zod şemasını OpenClaw'ın doğruladığı `ChannelConfigSchema` +Bir Zod şemasını OpenClaw'un doğruladığı `ChannelConfigSchema` sarmalayıcısına dönüştürmek için `openclaw/plugin-sdk/core` içinden `buildChannelConfigSchema` kullanın: ```typescript @@ -402,7 +404,7 @@ const configSchema = buildChannelConfigSchema(accountSchema); ## Kurulum sihirbazları -Kanal plugin'leri `openclaw onboard` için etkileşimli kurulum sihirbazları sağlayabilir. +Kanal plugin'leri, `openclaw onboard` için etkileşimli kurulum sihirbazları sağlayabilir. Sihirbaz, `ChannelPlugin` üzerindeki bir `ChannelSetupWizard` nesnesidir: ```typescript @@ -438,23 +440,21 @@ const setupWizard: ChannelSetupWizard = { `ChannelSetupWizard` türü `credentials`, `textInputs`, `dmPolicy`, `allowFrom`, `groupAccess`, `prepare`, `finalize` ve daha fazlasını destekler. -Tam örnekler için paketli plugin paketlerine (örneğin Discord plugin'inin `src/channel.setup.ts` dosyasına) bakın. +Tam örnekler için paketlenmiş plugin paketlerine bakın (örneğin Discord plugin'i `src/channel.setup.ts`). Yalnızca standart -`not -> prompt -> parse -> merge -> patch` akışına ihtiyaç duyan DM izin listesi istemleri için -`openclaw/plugin-sdk/setup` içindeki paylaşılan kurulum +`note -> prompt -> parse -> merge -> patch` akışına ihtiyaç duyan DM izin listesi istemleri için, `openclaw/plugin-sdk/setup` içindeki paylaşılan kurulum yardımcılarını tercih edin: `createPromptParsedAllowFromForAccount(...)`, `createTopLevelChannelParsedAllowFromPrompt(...)` ve `createNestedChannelParsedAllowFromPrompt(...)`. Yalnızca etiketler, puanlar ve isteğe bağlı -ek satırlarda değişen kanal kurulum durum blokları için, -her plugin'de aynı `status` nesnesini elle yazmak yerine -`openclaw/plugin-sdk/setup` içinden `createStandardChannelSetupStatus(...)` kullanın. +ek satırlar bakımından değişen kanal kurulum durum blokları için, aynı `status` nesnesini +her plugin'de elle yazmak yerine `openclaw/plugin-sdk/setup` içindeki `createStandardChannelSetupStatus(...)` +kullanın. -Yalnızca belirli bağlamlarda görünmesi gereken isteğe bağlı kurulum yüzeyleri için -`openclaw/plugin-sdk/channel-setup` içinden -`createOptionalChannelSetupSurface` kullanın: +Yalnızca belirli bağlamlarda görünmesi gereken isteğe bağlı kurulum yüzeyleri için, +`openclaw/plugin-sdk/channel-setup` içinden `createOptionalChannelSetupSurface` kullanın: ```typescript import { createOptionalChannelSetupSurface } from "openclaw/plugin-sdk/channel-setup"; @@ -468,41 +468,42 @@ const setupSurface = createOptionalChannelSetupSurface({ // Returns { setupAdapter, setupWizard } ``` -`plugin-sdk/channel-setup`, yalnızca bu isteğe bağlı kurulum yüzeyinin -yarısına ihtiyaç duyduğunuzda daha düşük seviyeli +`plugin-sdk/channel-setup`, ayrıca +isteğe bağlı yükleme yüzeyinin yalnızca bir yarısına ihtiyacınız olduğunda daha düşük seviyeli `createOptionalChannelSetupAdapter(...)` ve -`createOptionalChannelSetupWizard(...)` oluşturucularını da sunar. +`createOptionalChannelSetupWizard(...)` oluşturucularını da dışa aktarır. -Üretilen isteğe bağlı bağdaştırıcı/sihirbaz, gerçek yapılandırma yazmalarında kapalı güvenli davranır. Bunlar +Oluşturulan isteğe bağlı bağdaştırıcı/sihirbaz, gerçek yapılandırma yazımlarında kapalı şekilde başarısız olur. Bunlar `validateInput`, -`applyAccountConfig` ve `finalize` arasında tek bir kurulum-gerekli iletisini yeniden kullanır ve `docsPath` -ayarlıysa bir belge bağlantısı ekler. +`applyAccountConfig` ve `finalize` genelinde tek bir yükleme-gerekli iletisini yeniden kullanır ve `docsPath` +ayarlandığında bir belge bağlantısı ekler. -İkili dosya destekli kurulum arayüzleri için, her kanala aynı ikili/durum yapıştırıcısını +İkili dosya destekli kurulum UI'leri için, her kanala aynı ikili/durum yapıştırıcısını kopyalamak yerine paylaşılan devredilmiş yardımcıları tercih edin: -- yalnızca etiketler, - ipuçları, puanlar ve ikili algılamasında değişen durum blokları için `createDetectedBinaryStatus(...)` -- yol destekli metin girişleri için `createCliPathTextInput(...)` -- `setupEntry` daha ağır bir tam sihirbaza tembel biçimde iletmek zorundaysa +- Yalnızca etiketler, + ipuçları, puanlar ve ikili algılama bakımından değişen durum blokları için `createDetectedBinaryStatus(...)` +- Yol destekli metin girdileri için `createCliPathTextInput(...)` +- `setupEntry` tembel şekilde daha ağır bir tam sihirbaza iletmesi gerektiğinde `createDelegatedSetupWizardStatusResolvers(...)`, `createDelegatedPrepare(...)`, `createDelegatedFinalize(...)` ve `createDelegatedResolveConfigured(...)` - `setupEntry` yalnızca bir `textInputs[*].shouldPrompt` kararını - devretmek zorundaysa `createDelegatedTextInputShouldPrompt(...)` + devretmek zorunda olduğunda `createDelegatedTextInputShouldPrompt(...)` ## Yayımlama ve kurulum -**Harici plugin'ler:** [ClawHub](/tr/tools/clawhub) veya npm üzerinde yayımlayın, sonra kurun: +**Harici plugin'ler:** [ClawHub](/tr/tools/clawhub) veya npm'e yayımlayın, ardından kurun: ```bash openclaw plugins install @myorg/openclaw-my-plugin ``` -OpenClaw önce ClawHub'ı dener ve sonra otomatik olarak npm'e geri döner. ClawHub'ı açıkça zorlamak için de şunu kullanabilirsiniz: +OpenClaw önce ClawHub'ı dener ve otomatik olarak npm'e geri döner. Ayrıca +ClawHub'ı açıkça zorlayabilirsiniz: ```bash -openclaw plugins install clawhub:@myorg/openclaw-my-plugin # yalnızca ClawHub +openclaw plugins install clawhub:@myorg/openclaw-my-plugin # Yalnızca ClawHub ``` Buna karşılık gelen bir `npm:` geçersiz kılması yoktur. ClawHub geri dönüşünden sonra npm yolunu @@ -512,17 +513,17 @@ istediğinizde normal npm paket belirtimini kullanın: openclaw plugins install @myorg/openclaw-my-plugin ``` -**Repo içi plugin'ler:** paketli plugin çalışma alanı ağacı altına yerleştirin; derleme sırasında otomatik -olarak keşfedilirler. +**Depo içi plugin'ler:** paketlenmiş plugin çalışma alanı ağacının altına yerleştirin; bunlar derleme sırasında otomatik olarak +keşfedilir. -**Kullanıcılar şunu kurabilir:** +**Kullanıcılar şunu yükleyebilir:** ```bash openclaw plugins install ``` - npm kaynaklı kurulumlarda `openclaw plugins install`, + npm kaynaklı kurulumlar için, `openclaw plugins install` `npm install --ignore-scripts` çalıştırır (yaşam döngüsü betikleri yoktur). Plugin bağımlılık ağaçlarını saf JS/TS tutun ve `postinstall` derlemeleri gerektiren paketlerden kaçının. @@ -530,5 +531,5 @@ openclaw plugins install ## İlgili - [SDK Giriş Noktaları](/tr/plugins/sdk-entrypoints) -- `definePluginEntry` ve `defineChannelPluginEntry` -- [Plugin Manifest](/tr/plugins/manifest) -- tam manifest şeması başvurusu -- [Plugin Oluşturma](/tr/plugins/building-plugins) -- adım adım başlangıç kılavuzu +- [Plugin Manifesti](/tr/plugins/manifest) -- tam manifest şema başvurusu +- [Plugin Oluşturma](/tr/plugins/building-plugins) -- adım adım başlangıç rehberi diff --git a/docs/tr/plugins/sdk-testing.md b/docs/tr/plugins/sdk-testing.md index 1a5d74d65..fc43627f0 100644 --- a/docs/tr/plugins/sdk-testing.md +++ b/docs/tr/plugins/sdk-testing.md @@ -1,36 +1,35 @@ --- read_when: - - Bir plugin için test yazarken - - plugin SDK'dan test yardımcılarına ihtiyaç duyduğunuzda - - paketlenmiş plugin'ler için sözleşme testlerini anlamak istediğinizde + - Bir plugin için testler yazıyorsunuz + - Plugin SDK'den test yardımcı programlarına ihtiyacınız var + - Paketlenmiş plugin'ler için sözleşme testlerini anlamak istiyorsunuz sidebarTitle: Testing -summary: OpenClaw plugin'leri için test yardımcıları ve kalıpları -title: Plugin Testleri +summary: OpenClaw Plugin'leri için test yardımcı programları ve kalıpları +title: Plugin Testi x-i18n: - generated_at: "2026-04-05T14:02:49Z" + generated_at: "2026-04-15T19:42:21Z" model: gpt-5.4 provider: openai - source_hash: 2e95ed58ed180feadad17bb5138bd09e3b45f1f3ecdff4e2fba4874bb80099fe + source_hash: 2f75bd3f3b5ba34b05786e0dd96d493c36db73a1d258998bf589e27e45c0bd09 source_path: plugins/sdk-testing.md workflow: 15 --- -# Plugin Testleri +# Plugin Testi -OpenClaw plugin'leri için test yardımcıları, kalıplar ve lint zorunluluğuna -ilişkin başvuru. +OpenClaw plugin'leri için test yardımcı programları, kalıpları ve lint zorlamasına ilişkin başvuru. - **Test örnekleri mi arıyorsunuz?** Nasıl yapılır kılavuzları, işlenmiş test örnekleri içerir: - [Channel plugin testleri](/plugins/sdk-channel-plugins#step-6-test) ve - [Provider plugin testleri](/plugins/sdk-provider-plugins#step-6-test). + **Test örnekleri mi arıyorsunuz?** Nasıl yapılır kılavuzları, üzerinde çalışılmış test örnekleri içerir: + [Kanal plugin testleri](/tr/plugins/sdk-channel-plugins#step-6-test) ve + [Sağlayıcı plugin testleri](/tr/plugins/sdk-provider-plugins#step-6-test). -## Test yardımcıları +## Test yardımcı programları **İçe aktarma:** `openclaw/plugin-sdk/testing` -Testing alt yolu, plugin yazarları için dar bir yardımcı kümesi dışa aktarır: +Testing alt yolu, plugin yazarları için dar kapsamlı bir yardımcı kümesi dışa aktarır: ```typescript import { @@ -42,15 +41,15 @@ import { ### Kullanılabilir dışa aktarımlar -| Dışa aktarım | Amaç | -| -------------------------------------- | ----------------------------------------------------- | +| Dışa aktarma | Amaç | +| ------------------------------------ | ------------------------------------------------------ | | `installCommonResolveTargetErrorCases` | Hedef çözümleme hata işleme için paylaşılan test durumları | -| `shouldAckReaction` | Bir kanalın ack reaction ekleyip eklememesi gerektiğini denetler | -| `removeAckReactionAfterReply` | Yanıt tesliminden sonra ack reaction'ı kaldırır | +| `shouldAckReaction` | Bir kanalın ack tepkisi ekleyip eklememesi gerektiğini kontrol eder | +| `removeAckReactionAfterReply` | Yanıt tesliminden sonra ack tepkisini kaldırır | ### Türler -Testing alt yolu, test dosyalarında yararlı olan türleri de yeniden dışa aktarır: +Testing alt yolu ayrıca test dosyalarında kullanışlı türleri yeniden dışa aktarır: ```typescript import type { @@ -65,8 +64,7 @@ import type { ## Hedef çözümlemeyi test etme -Kanal hedef çözümlemesi için standart hata durumları eklemek üzere -`installCommonResolveTargetErrorCases` kullanın: +Kanal hedef çözümlemesi için standart hata durumlarını eklemek üzere `installCommonResolveTargetErrorCases` kullanın: ```typescript import { describe } from "vitest"; @@ -75,13 +73,13 @@ import { installCommonResolveTargetErrorCases } from "openclaw/plugin-sdk/testin describe("my-channel target resolution", () => { installCommonResolveTargetErrorCases({ resolveTarget: ({ to, mode, allowFrom }) => { - // Kanalınızın hedef çözümleme mantığı + // Your channel's target resolution logic return myChannelResolveTarget({ to, mode, allowFrom }); }, implicitAllowFrom: ["user1", "user2"], }); - // Kanala özgü test durumları ekleyin + // Add channel-specific test cases it("should resolve @username targets", () => { // ... }); @@ -90,7 +88,7 @@ describe("my-channel target resolution", () => { ## Test kalıpları -### Bir channel plugin'ini birim testiyle test etme +### Bir kanal plugin'ini birim testi ile test etme ```typescript import { describe, it, expect, vi } from "vitest"; @@ -120,13 +118,13 @@ describe("my-channel plugin", () => { const inspection = myPlugin.setup.inspectAccount(cfg, undefined); expect(inspection.configured).toBe(true); expect(inspection.tokenStatus).toBe("available"); - // Hiçbir token değeri açığa çıkarılmaz + // No token value exposed expect(inspection).not.toHaveProperty("token"); }); }); ``` -### Bir provider plugin'ini birim testiyle test etme +### Bir sağlayıcı plugin'ini birim testi ile test etme ```typescript import { describe, it, expect } from "vitest"; @@ -135,7 +133,7 @@ describe("my-provider plugin", () => { it("should resolve dynamic models", () => { const model = myProvider.resolveDynamicModel({ modelId: "custom-model-v2", - // ... bağlam + // ... context }); expect(model.id).toBe("custom-model-v2"); @@ -146,7 +144,7 @@ describe("my-provider plugin", () => { it("should return catalog when API key is available", async () => { const result = await myProvider.catalog.run({ resolveProviderApiKey: () => ({ apiKey: "test-key" }), - // ... bağlam + // ... context }); expect(result?.provider?.models).toHaveLength(2); @@ -154,51 +152,54 @@ describe("my-provider plugin", () => { }); ``` -### Plugin çalışma zamanını taklit etme +### Plugin çalışma zamanını mock'lama -`createPluginRuntimeStore` kullanan kod için testlerde çalışma zamanını taklit edin: +`createPluginRuntimeStore` kullanan kodlar için testlerde çalışma zamanını mock'layın: ```typescript import { createPluginRuntimeStore } from "openclaw/plugin-sdk/runtime-store"; import type { PluginRuntime } from "openclaw/plugin-sdk/runtime-store"; -const store = createPluginRuntimeStore("test runtime not set"); +const store = createPluginRuntimeStore({ + pluginId: "test-plugin", + errorMessage: "test runtime not set", +}); -// Test kurulumu içinde +// In test setup const mockRuntime = { agent: { resolveAgentDir: vi.fn().mockReturnValue("/tmp/agent"), - // ... diğer taklitler + // ... other mocks }, config: { loadConfig: vi.fn(), writeConfigFile: vi.fn(), }, - // ... diğer ad alanları + // ... other namespaces } as unknown as PluginRuntime; store.setRuntime(mockRuntime); -// Testlerden sonra +// After tests store.clearRuntime(); ``` ### Örnek başına stub'larla test etme -Prototype mutation yerine örnek başına stub'ları tercih edin: +Prototype mutasyonu yerine örnek başına stub'ları tercih edin: ```typescript -// Tercih edilen: örnek başına stub +// Preferred: per-instance stub const client = new MyChannelClient(); client.sendMessage = vi.fn().mockResolvedValue({ id: "msg-1" }); -// Kaçının: prototype mutation +// Avoid: prototype mutation // MyChannelClient.prototype.sendMessage = vi.fn(); ``` ## Sözleşme testleri (repo içi plugin'ler) -Paketlenmiş plugin'lerin, kayıt sahipliğini doğrulayan sözleşme testleri vardır: +Paketlenmiş plugin'lerde kayıt sahipliğini doğrulayan sözleşme testleri vardır: ```bash pnpm test -- src/plugins/contracts/ @@ -206,10 +207,10 @@ pnpm test -- src/plugins/contracts/ Bu testler şunları doğrular: -- Hangi plugin'lerin hangi provider'ları kaydettiği -- Hangi plugin'lerin hangi speech provider'larını kaydettiği -- Kayıt şeklinin doğruluğu -- Çalışma zamanı sözleşmesine uyumluluk +- Hangi plugin'lerin hangi sağlayıcıları kaydettiğini +- Hangi plugin'lerin hangi konuşma sağlayıcılarını kaydettiğini +- Kayıt şeklinin doğruluğunu +- Çalışma zamanı sözleşmesine uyumluluğu ### Kapsamlı testleri çalıştırma @@ -227,32 +228,31 @@ pnpm test -- src/plugins/contracts/auth.contract.test.ts pnpm test -- src/plugins/contracts/runtime.contract.test.ts ``` -## Lint zorunluluğu (repo içi plugin'ler) +## Lint zorlaması (repo içi plugin'ler) -Repo içi plugin'ler için `pnpm check` tarafından üç kural zorunlu tutulur: +Repo içi plugin'ler için `pnpm check` tarafından üç kural zorlanır: -1. **Monolitik kök içe aktarımları yok** -- `openclaw/plugin-sdk` kök barrel reddedilir -2. **Doğrudan `src/` içe aktarımları yok** -- plugin'ler `../../src/` yolunu doğrudan içe aktaramaz -3. **Kendi kendine içe aktarma yok** -- plugin'ler kendi `plugin-sdk/` alt yolunu içe aktaramaz +1. **Monolitik kök içe aktarmalar yok** -- `openclaw/plugin-sdk` kök barrel reddedilir +2. **Doğrudan `src/` içe aktarmaları yok** -- plugin'ler `../../src/` yolunu doğrudan içe aktaramaz +3. **Kendini içe aktarma yok** -- plugin'ler kendi `plugin-sdk/` alt yolunu içe aktaramaz -Harici plugin'ler bu lint kurallarına tabi değildir, ancak aynı kalıpların -izlenmesi önerilir. +Harici plugin'ler bu lint kurallarına tabi değildir, ancak aynı kalıpların izlenmesi önerilir. ## Test yapılandırması -OpenClaw, V8 kapsam eşikleriyle Vitest kullanır. Plugin testleri için: +OpenClaw, V8 kapsam eşikleriyle birlikte Vitest kullanır. Plugin testleri için: ```bash -# Tüm testleri çalıştır +# Run all tests pnpm test -# Belirli plugin testlerini çalıştır +# Run specific plugin tests pnpm test -- /my-channel/src/channel.test.ts -# Belirli bir test adı filtresiyle çalıştır +# Run with a specific test name filter pnpm test -- /my-channel/ -t "resolves account" -# Kapsamla birlikte çalıştır +# Run with coverage pnpm test:coverage ``` @@ -264,7 +264,7 @@ OPENCLAW_VITEST_MAX_WORKERS=1 pnpm test ## İlgili -- [SDK Genel Bakış](/plugins/sdk-overview) -- içe aktarma kuralları -- [SDK Channel Plugins](/plugins/sdk-channel-plugins) -- channel plugin arabirimi -- [SDK Provider Plugins](/plugins/sdk-provider-plugins) -- provider plugin hook'ları -- [Plugin Geliştirme](/plugins/building-plugins) -- başlangıç kılavuzu +- [SDK Genel Bakış](/tr/plugins/sdk-overview) -- içe aktarma kuralları +- [SDK Kanal Plugin'leri](/tr/plugins/sdk-channel-plugins) -- kanal plugin arayüzü +- [SDK Sağlayıcı Plugin'leri](/tr/plugins/sdk-provider-plugins) -- sağlayıcı plugin hook'ları +- [Plugin Oluşturma](/tr/plugins/building-plugins) -- başlangıç kılavuzu diff --git a/docs/tr/reference/token-use.md b/docs/tr/reference/token-use.md index 78e3063a3..1e35758dd 100644 --- a/docs/tr/reference/token-use.md +++ b/docs/tr/reference/token-use.md @@ -1,131 +1,146 @@ --- read_when: - Token kullanımını, maliyetleri veya bağlam pencerelerini açıklama - - Bağlam büyümesini veya sıkıştırma davranışını hata ayıklama -summary: OpenClaw’ın istem bağlamını nasıl oluşturduğu ve token kullanımını + maliyetleri nasıl raporladığı + - Bağlam büyümesini veya Compaction davranışını hata ayıklama +summary: OpenClaw'ın istem bağlamını nasıl oluşturduğu ve token kullanımını + maliyetleri nasıl raporladığı title: Token Kullanımı ve Maliyetler x-i18n: - generated_at: "2026-04-12T08:33:31Z" + generated_at: "2026-04-15T19:42:31Z" model: gpt-5.4 provider: openai - source_hash: f8c856549cd28b8364a640e6fa9ec26aa736895c7a993e96cbe85838e7df2dfb + source_hash: 9a706d3df8b2ea1136b3535d216c6b358e43aee2a31a4759824385e1345e6fe5 source_path: reference/token-use.md workflow: 15 --- # Token kullanımı ve maliyetler -OpenClaw **karakterleri değil, token’ları** izler. Token’lar modele özgüdür, ancak çoğu -OpenAI tarzı model İngilizce metinde token başına ortalama ~4 karakter kullanır. +OpenClaw, karakterleri değil **token**'ları izler. Token'lar modele özeldir, ancak çoğu +OpenAI tarzı model İngilizce metinde ortalama token başına ~4 karakter kullanır. ## Sistem istemi nasıl oluşturulur OpenClaw her çalıştırmada kendi sistem istemini oluşturur. Şunları içerir: - Araç listesi + kısa açıklamalar -- Skills listesi (yalnızca meta veriler; yönergeler ihtiyaç halinde `read` ile yüklenir) -- Self-update yönergeleri -- Çalışma alanı + önyükleme dosyaları (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, yeni olduğunda `BOOTSTRAP.md`, ayrıca varsa `MEMORY.md` veya küçük harfli geri dönüş olarak `memory.md`). Büyük dosyalar `agents.defaults.bootstrapMaxChars` ile kırpılır (varsayılan: 20000) ve toplam önyükleme enjeksiyonu `agents.defaults.bootstrapTotalMaxChars` ile sınırlandırılır (varsayılan: 150000). `memory/*.md` günlük dosyaları normal önyükleme isteminin parçası değildir; normal turlarda bellek araçları üzerinden ihtiyaç halinde erişilebilir olarak kalırlar, ancak çıplak `/new` ve `/reset` ilk tur için son günlük belleği içeren tek seferlik bir başlangıç bağlamı bloğunu başa ekleyebilir. Bu başlangıç giriş bölümü `agents.defaults.startupContext` ile kontrol edilir. +- Skills listesi (yalnızca meta veri; talimatlar ihtiyaç halinde `read` ile yüklenir). + Kompakt skills bloğu `skills.limits.maxSkillsPromptChars` ile sınırlandırılır, + ve ajan başına isteğe bağlı geçersiz kılma + `agents.list[].skillsLimits.maxSkillsPromptChars` konumundadır. +- Self-update talimatları +- Workspace + önyükleme dosyaları (`AGENTS.md`, `SOUL.md`, `TOOLS.md`, `IDENTITY.md`, `USER.md`, `HEARTBEAT.md`, yeniyse `BOOTSTRAP.md`, ayrıca varsa `MEMORY.md` veya küçük harfli yedek olarak `memory.md`). Büyük dosyalar `agents.defaults.bootstrapMaxChars` ile kesilir (varsayılan: 12000), toplam önyükleme ekleme ise `agents.defaults.bootstrapTotalMaxChars` ile sınırlandırılır (varsayılan: 60000). `memory/*.md` günlük dosyaları normal önyükleme isteminin parçası değildir; normal turlarda memory araçları üzerinden ihtiyaç halinde kalırlar, ancak çıplak `/new` ve `/reset` ilk tur için son günlük belleği içeren tek seferlik bir başlangıç bağlamı bloğunu öne ekleyebilir. Bu başlangıç ön eki `agents.defaults.startupContext` tarafından kontrol edilir. - Zaman (UTC + kullanıcı saat dilimi) - Yanıt etiketleri + heartbeat davranışı -- Çalışma zamanı meta verileri (ana makine/işletim sistemi/model/düşünme) +- Çalışma zamanı meta verileri (host/OS/model/düşünme) Tam döküm için bkz. [System Prompt](/tr/concepts/system-prompt). -## Bağlam penceresinde ne sayılır +## Bağlam penceresinde neler sayılır -Modelin aldığı her şey bağlam sınırına dahil edilir: +Modele gönderilen her şey bağlam sınırına dahil olur: - Sistem istemi (yukarıda listelenen tüm bölümler) - Konuşma geçmişi (kullanıcı + asistan mesajları) - Araç çağrıları ve araç sonuçları -- Ekler/dökümler (görseller, ses, dosyalar) -- Sıkıştırma özetleri ve budama artifaktları -- Sağlayıcı sarmalayıcıları veya güvenlik başlıkları (görünmezler, ancak yine de sayılırlar) +- Ekler/transkriptler (görseller, ses, dosyalar) +- Compaction özetleri ve budama yapıtları +- Sağlayıcı sarmalayıcıları veya güvenlik başlıkları (görünmezler, ama yine de sayılırlar) -Görseller için OpenClaw, sağlayıcı çağrılarından önce döküm/araç görsel yüklerini küçültür. +Bazı çalışma zamanı açısından ağır yüzeylerin kendi açık sınırları vardır: + +- `agents.defaults.contextLimits.memoryGetMaxChars` +- `agents.defaults.contextLimits.memoryGetDefaultLines` +- `agents.defaults.contextLimits.toolResultMaxChars` +- `agents.defaults.contextLimits.postCompactionMaxChars` + +Ajan başına geçersiz kılmalar `agents.list[].contextLimits` altında bulunur. Bu ayarlar +sınırlı çalışma zamanı alıntıları ve çalışma zamanına ait enjekte edilen bloklar +içindir. Önyükleme sınırlarından, başlangıç bağlamı sınırlarından ve skills istem +sınırlarından ayrıdırlar. + +Görseller için OpenClaw, sağlayıcı çağrılarından önce transkript/araç görsel yüklerini küçültür. Bunu ayarlamak için `agents.defaults.imageMaxDimensionPx` kullanın (varsayılan: `1200`): - Daha düşük değerler genellikle vision token kullanımını ve yük boyutunu azaltır. -- Daha yüksek değerler OCR/arayüz ağırlıklı ekran görüntülerinde daha fazla görsel ayrıntıyı korur. +- Daha yüksek değerler OCR/UI ağırlıklı ekran görüntüleri için daha fazla görsel ayrıntıyı korur. -Pratik bir döküm için (enjekte edilen dosya başına, araçlar, skills ve sistem istemi boyutu), `/context list` veya `/context detail` kullanın. Bkz. [Context](/tr/concepts/context). +Pratik bir döküm için (enjekte edilen dosya başına, araçlar, Skills ve sistem istemi boyutu), `/context list` veya `/context detail` kullanın. Bkz. [Context](/tr/concepts/context). -## Geçerli token kullanımını nasıl görebilirsiniz +## Geçerli token kullanımı nasıl görülür Sohbette şunları kullanın: -- `/status` → oturum modelini, bağlam kullanımını, - son yanıtın girdi/çıktı token’larını ve **tahmini maliyeti** (yalnızca API anahtarı) gösteren **emoji açısından zengin durum kartı**. -- `/usage off|tokens|full` → her yanıta **yanıt başına kullanım altbilgisi** ekler. +- `/status` → oturum modeli, bağlam kullanımı, + son yanıt giriş/çıkış token'ları ve **tahmini maliyet** içeren + **emoji açısından zengin durum kartı** (yalnızca API anahtarı). +- `/usage off|tokens|full` → her yanıta **yanıt başına kullanım alt bilgisi** ekler. - Oturum başına kalıcıdır (`responseUsage` olarak saklanır). - - OAuth kimlik doğrulaması **maliyeti gizler** (yalnızca token’lar). + - OAuth kimlik doğrulaması **maliyeti gizler** (yalnızca token'lar). - `/usage cost` → OpenClaw oturum günlüklerinden yerel bir maliyet özeti gösterir. Diğer yüzeyler: - **TUI/Web TUI:** `/status` + `/usage` desteklenir. -- **CLI:** `openclaw status --usage` ve `openclaw channels list` - normalize edilmiş sağlayıcı kota pencerelerini gösterir (`%X kaldı`, yanıt başına maliyet değil). +- **CLI:** `openclaw status --usage` ve `openclaw channels list`, + normalize edilmiş sağlayıcı kota pencerelerini gösterir + (`%X kaldı`, yanıt başına maliyet değil). Geçerli kullanım penceresi sağlayıcıları: Anthropic, GitHub Copilot, Gemini CLI, OpenAI Codex, MiniMax, Xiaomi ve z.ai. -Kullanım yüzeyleri, görüntülemeden önce yaygın sağlayıcıya özgü alan takma adlarını normalize eder. +Kullanım yüzeyleri, gösterimden önce yaygın sağlayıcıya özgü alan takma adlarını normalize eder. OpenAI ailesi Responses trafiği için buna hem `input_tokens` / -`output_tokens` hem de `prompt_tokens` / `completion_tokens` dahildir; böylece taşıma biçimine özgü +`output_tokens` hem de `prompt_tokens` / `completion_tokens` dahildir; böylece iletime özgü alan adları `/status`, `/usage` veya oturum özetlerini değiştirmez. -Gemini CLI JSON kullanımı da normalize edilir: yanıt metni `response` alanından gelir ve -CLI açık bir `stats.input` alanı vermediğinde -`stats.cached`, `cacheRead` alanına eşlenir ve `stats.input_tokens - stats.cached` -kullanılır. -Yerel OpenAI ailesi Responses trafiğinde WebSocket/SSE kullanım takma adları da -aynı şekilde normalize edilir ve `total_tokens` eksikse veya `0` ise toplamlar normalize edilmiş girdi + çıktıdan geri alınır. +Gemini CLI JSON kullanımı da normalize edilir: yanıt metni `response` içinden gelir ve +CLI açık bir `stats.input` alanı vermediğinde `stats.cached`, `cacheRead` olarak eşlenir; +`stats.input_tokens - stats.cached` kullanılır. +Yerel OpenAI ailesi Responses trafiğinde, WebSocket/SSE kullanım takma adları da +aynı şekilde normalize edilir ve `total_tokens` eksikse veya `0` ise toplamlar normalize edilmiş giriş + çıkıştan geri doldurulur. Geçerli oturum anlık görüntüsü seyrek olduğunda, `/status` ve `session_status` -ayrıca en son döküm kullanım günlüğünden token/önbellek sayaçlarını ve etkin çalışma zamanı model etiketini de -geri alabilir. -Var olan sıfır olmayan canlı değerler yine de döküm geri dönüş değerlerinden önceliklidir ve daha büyük istem odaklı -döküm toplamları, saklanan toplamlar eksikse veya daha küçükse üstün gelebilir. -Sağlayıcı kota pencereleri için kullanım kimlik doğrulaması, mevcut olduğunda sağlayıcıya özgü hook’lardan gelir; -aksi takdirde OpenClaw, auth profilleri, ortam veya yapılandırmadan eşleşen OAuth/API anahtarı kimlik bilgilerine geri döner. +ayrıca en son transkript kullanım günlüğünden token/önbellek sayaçlarını ve etkin çalışma zamanı model etiketini de kurtarabilir. +Mevcut sıfır olmayan canlı değerler yine de transkript geri doldurma değerlerine göre önceliklidir ve depolanan toplamlar eksikse veya daha küçükse +istem odaklı daha büyük transkript toplamları kazanabilir. +Sağlayıcı kota pencereleri için kullanım kimlik doğrulaması, mevcut olduğunda sağlayıcıya özgü hook'lardan gelir; aksi halde OpenClaw auth profillerinden, ortamdan veya yapılandırmadan eşleşen OAuth/API anahtarı kimlik bilgilerine geri döner. ## Maliyet tahmini (gösterildiğinde) -Maliyetler model fiyatlandırma yapılandırmanızdan tahmin edilir: +Maliyetler, model fiyatlandırma yapılandırmanızdan tahmin edilir: ``` models.providers..models[].cost ``` Bunlar `input`, `output`, `cacheRead` ve -`cacheWrite` için **1 milyon token başına USD** değerleridir. Fiyatlandırma eksikse OpenClaw yalnızca token’ları gösterir. OAuth token’ları +`cacheWrite` için **1M token başına USD** cinsindendir. Fiyatlandırma eksikse OpenClaw yalnızca token'ları gösterir. OAuth token'ları asla dolar maliyeti göstermez. -## Önbellek TTL’si ve budama etkisi +## Önbellek TTL ve budama etkisi -Sağlayıcı istem önbelleklemesi yalnızca önbellek TTL penceresi içinde uygulanır. OpenClaw -isteğe bağlı olarak **cache-ttl budaması** çalıştırabilir: önbellek TTL’si -sona erdiğinde oturumu budar, ardından önbellek penceresini sıfırlar; böylece sonraki istekler tüm geçmişi yeniden önbelleğe almak yerine -yeni önbelleğe alınmış bağlamı yeniden kullanabilir. Bu, bir oturum TTL sonrasına kadar boşta kalırsa -önbellek yazma maliyetlerini daha düşük tutar. +Sağlayıcı istem önbelleklemesi yalnızca önbellek TTL penceresi içinde geçerlidir. OpenClaw +isteğe bağlı olarak **cache-ttl pruning** çalıştırabilir: önbellek TTL süresi +dolduğunda oturumu budar, sonra önbellek penceresini sıfırlar; böylece sonraki +istekler tam geçmişi tekrar önbelleğe yazmak yerine yeni önbelleğe alınmış bağlamı yeniden kullanabilir. +Bu, bir oturum TTL sonrasında boşta kaldığında önbellek yazma maliyetlerini +daha düşük tutar. -Bunu [Gateway configuration](/tr/gateway/configuration) altında yapılandırın ve -davranış ayrıntıları için [Session pruning](/tr/concepts/session-pruning) belgesine bakın. +Bunu [Gateway configuration](/tr/gateway/configuration) içinde yapılandırın ve +davranış ayrıntılarını [Session pruning](/tr/concepts/session-pruning) içinde görün. -Heartbeat, boşluk süreleri boyunca önbelleği **sıcak** tutabilir. Model önbellek TTL’niz -`1h` ise, heartbeat aralığını bunun hemen altına ayarlamak (örneğin `55m`) tüm istemin -yeniden önbelleğe alınmasını önleyebilir ve önbellek yazma maliyetlerini azaltabilir. +Heartbeat, önbelleği boşta geçen aralıklarda **sıcak** tutabilir. Model önbellek TTL'niz +`1h` ise, heartbeat aralığını bunun biraz altına ayarlamak (`55m` gibi) +tam istemin yeniden önbelleğe alınmasını önleyebilir ve önbellek yazma maliyetlerini azaltabilir. -Çok agent’li kurulumlarda, tek bir paylaşılan model yapılandırmasını koruyabilir ve önbellek davranışını -agent başına `agents.list[].params.cacheRetention` ile ayarlayabilirsiniz. +Çok ajanlı kurulumlarda, ortak bir model yapılandırmasını koruyup önbellek davranışını +ajan başına `agents.list[].params.cacheRetention` ile ayarlayabilirsiniz. -Düğme düğme tam rehber için bkz. [Prompt Caching](/tr/reference/prompt-caching). +Düğme bazında tam kılavuz için bkz. [Prompt Caching](/tr/reference/prompt-caching). -Anthropic API fiyatlandırmasında, önbellek okumaları girdi -token’larından belirgin ölçüde daha ucuzdur; önbellek yazmaları ise daha yüksek bir çarpanla faturalandırılır. En güncel oranlar ve TTL çarpanları için Anthropic’in +Anthropic API fiyatlandırmasında, önbellek okumaları giriş +token'larından belirgin biçimde daha ucuzdur; önbellek yazmaları ise daha yüksek bir çarpanla ücretlendirilir. En güncel oranlar ve TTL çarpanları için Anthropic’in istem önbellekleme fiyatlandırmasına bakın: [https://docs.anthropic.com/docs/build-with-claude/prompt-caching](https://docs.anthropic.com/docs/build-with-claude/prompt-caching) -### Örnek: heartbeat ile 1 saatlik önbelleği sıcak tutma +### Örnek: heartbeat ile 1h önbelleği sıcak tutma ```yaml agents: @@ -140,7 +155,7 @@ agents: every: "55m" ``` -### Örnek: agent başına önbellek stratejisiyle karma trafik +### Örnek: ajan başına önbellek stratejisiyle karma trafik ```yaml agents: @@ -150,7 +165,7 @@ agents: models: "anthropic/claude-opus-4-6": params: - cacheRetention: "long" # çoğu agent için varsayılan temel çizgi + cacheRetention: "long" # çoğu ajan için varsayılan temel çizgi list: - id: "research" default: true @@ -158,17 +173,17 @@ agents: every: "55m" # derin oturumlar için uzun önbelleği sıcak tut - id: "alerts" params: - cacheRetention: "none" # patlamalı bildirimler için önbellek yazmalarını önle + cacheRetention: "none" # patlamalı bildirimler için önbellek yazımlarını önle ``` -`agents.list[].params`, seçili modelin `params` alanının üzerine birleştirilir; böylece yalnızca -`cacheRetention` değerini geçersiz kılabilir ve diğer model varsayılanlarını değiştirmeden devralabilirsiniz. +`agents.list[].params`, seçilen modelin `params` alanının üzerine birleştirilir; böylece yalnızca +`cacheRetention` değerini geçersiz kılıp diğer model varsayılanlarını değiştirmeden devralabilirsiniz. ### Örnek: Anthropic 1M bağlam beta başlığını etkinleştirme -Anthropic’in 1M bağlam penceresi şu anda beta kapısıyla sınırlandırılmıştır. OpenClaw, -desteklenen Opus -veya Sonnet modellerinde `context1m` etkinleştirildiğinde gerekli `anthropic-beta` değerini enjekte edebilir. +Anthropic'in 1M bağlam penceresi şu anda beta geçidi arkasındadır. OpenClaw, desteklenen Opus +veya Sonnet modellerinde `context1m` etkinleştirildiğinde gerekli +`anthropic-beta` değerini enjekte edebilir. ```yaml agents: @@ -179,22 +194,22 @@ agents: context1m: true ``` -Bu, Anthropic’in `context-1m-2025-08-07` beta başlığına eşlenir. +Bu, Anthropic'in `context-1m-2025-08-07` beta başlığına eşlenir. -Bu yalnızca o model girdisinde `context1m: true` ayarlandığında uygulanır. +Bu yalnızca ilgili model girdisinde `context1m: true` ayarlandığında geçerlidir. -Gereksinim: kimlik bilgisi uzun bağlam kullanımı için uygun olmalıdır. Değilse, -Anthropic bu istek için sağlayıcı taraflı bir hız sınırı hatası döndürür. +Gereksinim: kimlik bilgilerinin uzun bağlam kullanımı için uygun olması gerekir. Aksi halde, +Anthropic o istek için sağlayıcı taraflı hız sınırı hatası döndürür. -Anthropic’i OAuth/abonelik token’larıyla (`sk-ant-oat-*`) kimlik doğrularsanız, -OpenClaw `context-1m-*` beta başlığını atlar; çünkü Anthropic şu anda -bu birleşimi HTTP 401 ile reddetmektedir. +Anthropic'e OAuth/abonelik token'larıyla (`sk-ant-oat-*`) kimlik doğrulaması yaparsanız, +OpenClaw `context-1m-*` beta başlığını atlar çünkü Anthropic şu anda +bu birleşimi HTTP 401 ile reddeder. ## Token baskısını azaltma ipuçları - Uzun oturumları özetlemek için `/compact` kullanın. -- İş akışlarınızda büyük araç çıktıları kırpın. -- Ekran görüntüsü ağırlıklı oturumlarda `agents.defaults.imageMaxDimensionPx` değerini düşürün. +- İş akışlarınızda büyük araç çıktılarını kırpın. +- Ekran görüntüsü ağırlıklı oturumlar için `agents.defaults.imageMaxDimensionPx` değerini düşürün. - Skill açıklamalarını kısa tutun (skill listesi isteme enjekte edilir). - Ayrıntılı, keşif amaçlı işler için daha küçük modelleri tercih edin.