chore(i18n): refresh tr translations

This commit is contained in:
openclaw-docs-i18n[bot] 2026-04-23 15:00:54 +00:00
parent fdce0bc61d
commit 6ab5f5a9ae
6 changed files with 1098 additions and 1246 deletions

View File

@ -0,0 +1,157 @@
---
read_when:
- Kendi barındırdığınız Synapse veya Tuwunel için Matrix sessiz akışını ayarlama
- Kullanıcılar her önizleme düzenlemesinde değil, yalnızca tamamlanmış bloklarda bildirim almak istiyor
summary: Sessiz sonlandırılmış önizleme düzenlemeleri için alıcı bazında Matrix push kuralları
title: Sessiz önizlemeler için Matrix push kuralları
x-i18n:
generated_at: "2026-04-23T14:56:38Z"
model: gpt-5.4
provider: openai
source_hash: dbfdf2552ca352858d4e8d03a2a0f5f3b420d33b01063c111c0335c0229f0534
source_path: channels/matrix-push-rules.md
workflow: 15
---
# Sessiz önizlemeler için Matrix push kuralları
`channels.matrix.streaming` değeri `"quiet"` olduğunda, OpenClaw tek bir önizleme olayını yerinde düzenler ve sonlandırılmış düzenlemeyi özel bir içerik bayrağıyla işaretler. Matrix istemcileri yalnızca kullanıcı başına bir push kuralı bu bayrakla eşleşirse son düzenlemede bildirim gönderir. Bu sayfa, Matrix'i kendi barındıran ve bu kuralı her alıcı hesabı için kurmak isteyen operatörler içindir.
Yalnızca standart Matrix bildirim davranışını istiyorsanız `streaming: "partial"` kullanın veya akışı kapalı bırakın. Bkz. [Matrix kanal kurulumu](/tr/channels/matrix#streaming-previews).
## Önkoşullar
- alıcı kullanıcı = bildirimi alması gereken kişi
- 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 anahtarını kullanın
- push kuralındaki `sender` değerini bot kullanıcısının tam MXID'siyle eşleştirin
- alıcı hesabında çalışan pusher'lar zaten olmalıdır — sessiz önizleme kuralları yalnızca normal Matrix push teslimi sağlıklı olduğunda çalışır
## Adımlar
<Steps>
<Step title="Sessiz önizlemeleri yapılandırın">
```json5
{
channels: {
matrix: {
streaming: "quiet",
},
},
}
```
</Step>
<Step title="Alıcının erişim anahtarını alın">
Mümkünse mevcut bir istemci oturumu anahtarını yeniden kullanın. Yenisini oluşturmak için:
```bash
curl -sS -X POST \
"https://matrix.example.org/_matrix/client/v3/login" \
-H "Content-Type: application/json" \
--data '{
"type": "m.login.password",
"identifier": { "type": "m.id.user", "user": "@alice:example.org" },
"password": "REDACTED"
}'
```
</Step>
<Step title="Pusher'ların var olduğunu doğrulayın">
```bash
curl -sS \
-H "Authorization: Bearer $USER_ACCESS_TOKEN" \
"https://matrix.example.org/_matrix/client/v3/pushers"
```
Hiç pusher dönmezse, devam etmeden önce bu hesap için normal Matrix push teslimini düzeltin.
</Step>
<Step title="Override push kuralını kurun">
OpenClaw, sonlandırılmış yalnızca metin içeren önizleme düzenlemelerini `content["com.openclaw.finalized_preview"] = true` ile işaretler. Bu işaretçiyle ve gönderici olarak bot MXID'siyle eşleşen bir kural kurun:
```bash
curl -sS -X PUT \
"https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname" \
-H "Authorization: Bearer $USER_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
--data '{
"conditions": [
{ "kind": "event_match", "key": "type", "pattern": "m.room.message" },
{
"kind": "event_property_is",
"key": "content.m\\.relates_to.rel_type",
"value": "m.replace"
},
{
"kind": "event_property_is",
"key": "content.com\\.openclaw\\.finalized_preview",
"value": true
},
{ "kind": "event_match", "key": "sender", "pattern": "@bot:example.org" }
],
"actions": [
"notify",
{ "set_tweak": "sound", "value": "default" },
{ "set_tweak": "highlight", "value": false }
]
}'
```
Çalıştırmadan önce şunları değiştirin:
- `https://matrix.example.org`: homeserver temel URL'niz
- `$USER_ACCESS_TOKEN`: alıcı kullanıcının erişim anahtarı
- `openclaw-finalized-preview-botname`: alıcı başına bot başına benzersiz bir kural kimliği (`openclaw-finalized-preview-<botname>` deseni)
- `@bot:example.org`: alıcının değil, OpenClaw bot MXID'niz
</Step>
<Step title="Doğrulayın">
```bash
curl -sS \
-H "Authorization: Bearer $USER_ACCESS_TOKEN" \
"https://matrix.example.org/_matrix/client/v3/pushrules/global/override/openclaw-finalized-preview-botname"
```
Ardından akışlı bir yanıtı test edin. Sessiz modda oda sessiz bir taslak önizleme gösterir ve blok veya tur tamamlandığında bir kez bildirim gönderir.
</Step>
</Steps>
Kuralı daha sonra kaldırmak için aynı kural URL'sine alıcının anahtarıyla `DELETE` gönderin.
## Çoklu bot notları
Push kuralları `ruleId` ile anahtarlanır: aynı kimliğe yeniden `PUT` çalıştırmak tek bir kuralı günceller. Aynı alıcıya bildirim gönderen birden fazla OpenClaw botu için, farklı bir gönderici eşleşmesiyle bot başına bir kural 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 parametresine gerek yoktur. Kural yalnızca yerinde sonlandırılabilen yalnızca metin içeren önizleme düzenlemelerini etkiler; medya geri dönüşleri ve bayat önizleme geri dönüşleri normal Matrix teslimini kullanır.
## Homeserver notları
<AccordionGroup>
<Accordion title="Synapse">
Özel bir `homeserver.yaml` değişikliği gerekmez. Normal Matrix bildirimleri bu kullanıcıya zaten ulaşıyorsa, alıcı anahtarı + 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. Push teslimi ana süreç veya `synapse.app.pusher` / yapılandırılmış pusher worker'ları tarafından işlenir — bunların sağlıklı olduğundan emin olun.
</Accordion>
<Accordion title="Tuwunel">
Synapse ile aynı akış; sonlandırılmış önizleme işaretçisi için Tuwunel'e özgü bir yapılandırma gerekmez.
Kullanıcı başka bir cihazda etkinken bildirimler kayboluyorsa `suppress_push_when_active` etkin mi kontrol edin. Tuwunel bu seçeneği 1.4.2 sürümünde (Eylül 2025) ekledi ve bir cihaz etkinken diğer cihazlara gönderilen push'ları bilerek bastırabilir.
</Accordion>
</AccordionGroup>
## İlgili
- [Matrix kanal kurulumu](/tr/channels/matrix)
- [Akış kavramları](/tr/concepts/streaming)

File diff suppressed because it is too large Load Diff

View File

@ -1,100 +1,101 @@
---
read_when:
- Bir CI işinin neden çalıştığını veya neden çalışmadığını anlamanız gerekir.
- Başarısız GitHub Actions kontrollerinde hata ayıklıyorsunuz.
- Bir CI işinin neden çalıştığını veya neden çalışmadığını anlamanız gerekir
- Başarısız GitHub Actions kontrollerinde hata ayıklıyorsunuz
summary: CI iş grafiği, kapsam geçitleri ve yerel komut eşdeğerleri
title: CI işlem hattı
title: CI İşlem Hattı
x-i18n:
generated_at: "2026-04-23T13:58:02Z"
generated_at: "2026-04-23T14:56:39Z"
model: gpt-5.4
provider: openai
source_hash: c5a8ea0d8e428826169b0e6aced1caeb993106fe79904002125ace86b48cae1f
source_hash: e9a03440ae28a15167fc08d9c66bb1fd719ddfa1517aaecb119c80f2ad826c0d
source_path: ci.md
workflow: 15
---
# CI İşlem Hattı
CI, `main` dalına yapılan her push işleminde ve her pull request'te çalışır. Yalnızca ilgisiz alanlar değiştiğinde pahalı işleri atlamak için akıllı kapsamlandırma kullanır.
CI, `main` dalına yapılan her push ve her pull request için çalışır. Yalnızca ilgisiz alanlar değiştiğinde pahalı işleri atlamak için akıllı kapsamlandırma kullanır.
QA Lab, ana akıllı kapsamlı iş akışının dışında özel CI hatlarına sahiptir. `Parity gate` iş akışı, eşleşen PR değişikliklerinde ve manuel tetikleme ile çalışır; özel QA çalışma zamanını derler ve sahte GPT-5.4 ile Opus 4.6 etmen paketlerini karşılaştırır. `QA-Lab - All Lanes` iş akışı, `main` üzerinde gecelik olarak ve manuel tetikleme ile çalışır; sahte parity gate, canlı Matrix hattı ve canlı Telegram hattını paralel işler olarak dağıtır. Canlı işler `qa-live-shared` environment'ını kullanır ve Telegram hattı Convex kiralamalarını kullanır. `OpenClaw Release Checks` de sürüm onayından önce aynı QA Lab hatlarını çalıştırır.
QA Lab, ana akıllı kapsamlı iş akışının dışında ayrılmış CI şeritlerine sahiptir. `Parity gate` iş akışı, eşleşen PR değişikliklerinde ve manuel tetiklemede çalışır; özel QA çalışma zamanını derler ve sahte GPT-5.4 ile Opus 4.6 agentic paketlerini karşılaştırır. `QA-Lab - All Lanes` iş akışı, `main` üzerinde geceleri ve manuel tetiklemede çalışır; sahte parity gate, canlı Matrix şeridi ve canlı Telegram şeridini paralel işler olarak dağıtır. Canlı işler `qa-live-shared` ortamını kullanır ve Telegram şeridi Convex leaselerini kullanır. `OpenClaw Release Checks` de sürüm onayından önce aynı QA Lab şeritlerini çalıştırır.
## İş Genel Görünümü
## İş Genel Bakışı
| İş | Amaç | Ne zaman çalışır |
| -------------------------------- | -------------------------------------------------------------------------------------------- | ----------------------------------- |
| `preflight` | Yalnızca dokümantasyon değişikliklerini, değişen kapsamları, değişen eklentileri algılar ve CI manifestini oluşturur | Taslak olmayan push ve PR'lerde her zaman |
| `security-scm-fast` | `zizmor` aracılığıyla özel anahtar algılama ve iş akışı denetimi | Taslak olmayan push ve PR'lerde her zaman |
| `security-dependency-audit` | npm advisory'lerine karşı bağımlılıksız üretim lockfile denetimi | Taslak olmayan push ve PR'lerde her zaman |
| `security-fast` | Hızlı güvenlik işleri için zorunlu toplu iş | Taslak olmayan push ve PR'lerde her zaman |
| `build-artifacts` | `dist/`, Control UI, derlenmiş artifact kontrolleri ve yeniden kullanılabilir aşağı akış artifact'lerini derler | Node ile ilgili değişiklikler |
| `checks-fast-core` | bundled/plugin-contract/protocol kontrolleri gibi hızlı Linux doğruluk hatları | Node ile ilgili değişiklikler |
| `checks-fast-contracts-channels` | Kararlı bir toplu kontrol sonucu ile shard'lanmış kanal sözleşme kontrolleri | Node ile ilgili değişiklikler |
| `checks-node-extensions` | eklenti paketi genelinde tam bundled-plugin test shard'ları | Node ile ilgili değişiklikler |
| `checks-node-core-test` | kanal, bundled, contract ve eklenti hatları hariç çekirdek Node test shard'ları | Node ile ilgili değişiklikler |
| `extension-fast` | Yalnızca değişen bundled plugin'ler için odaklı testler | eklenti değişiklikleri olan pull request'ler |
| `check` | shard'lanmış ana yerel geçit eşdeğeri: prod türleri, lint, guard'lar, test türleri ve katı smoke | Node ile ilgili değişiklikler |
| `check-additional` | Mimari, sınır, eklenti yüzeyi guard'ları, package-boundary ve gateway-watch shard'ları | Node ile ilgili değişiklikler |
| `preflight` | Yalnızca dokümantasyon değişikliklerini, değişen kapsamları, değişen eklentileri algılar ve CI manifestini oluşturur | Taslak olmayan push ve PRlerde her zaman |
| `security-scm-fast` | `zizmor` aracılığıyla özel anahtar tespiti ve iş akışı denetimi | Taslak olmayan push ve PRlerde her zaman |
| `security-dependency-audit` | npm advisoriese karşı bağımlılıksız üretim lockfile denetimi | Taslak olmayan push ve PRlerde her zaman |
| `security-fast` | Hızlı güvenlik işleri için zorunlu toplu iş | Taslak olmayan push ve PRlerde her zaman |
| `build-artifacts` | `dist/`, Control UI, derlenmiş artifact kontrolleri ve yeniden kullanılabilir alt akış artifactlerini derler | Node ile ilgili değişiklikler |
| `checks-fast-core` | bundled/plugin-contract/protocol kontrolleri gibi hızlı Linux doğruluk şeritleri | Node ile ilgili değişiklikler |
| `checks-fast-contracts-channels` | Kararlı bir toplu kontrol sonucu ile shardlanmış kanal sözleşmesi kontrolleri | Node ile ilgili değişiklikler |
| `checks-node-extensions` | eklenti paketi genelinde tam bundled-plugin test shardları | Node ile ilgili değişiklikler |
| `checks-node-core-test` | Kanal, bundled, contract ve extension şeritleri hariç çekirdek Node test shardları | Node ile ilgili değişiklikler |
| `extension-fast` | Yalnızca değişen bundled pluginler için odaklanmış testler | Eklenti değişiklikleri içeren pull requestler |
| `check` | Shardlanmış ana yerel geçit eşdeğeri: prod türleri, lint, guardlar, test türleri ve katı smoke | Node ile ilgili değişiklikler |
| `check-additional` | Mimari, sınır, extension-surface guardları, package-boundary ve gateway-watch shardları | Node ile ilgili değişiklikler |
| `build-smoke` | Derlenmiş CLI smoke testleri ve başlangıç belleği smoke testi | Node ile ilgili değişiklikler |
| `checks` | Derlenmiş artifact kanal testleri artı yalnızca push için Node 22 uyumluluğu doğrulayıcısı | Node ile ilgili değişiklikler |
| `checks` | Derlenmiş artifact kanal testleri ile yalnızca push için Node 22 uyumluluğu doğrulayıcısı | Node ile ilgili değişiklikler |
| `check-docs` | Dokümantasyon biçimlendirme, lint ve bozuk bağlantı kontrolleri | Dokümantasyon değiştiğinde |
| `skills-python` | Python destekli Skills için Ruff + pytest | Python skill ile ilgili değişiklikler |
| `checks-windows` | Windows'a özgü test hatları | Windows ile ilgili değişiklikler |
| `macos-node` | Paylaşılan derlenmiş artifact'leri kullanan macOS TypeScript test hattı | macOS ile ilgili değişiklikler |
| `macos-swift` | macOS uygulaması için Swift lint, build ve testler | macOS ile ilgili değişiklikler |
| `android` | Her iki flavor için Android birim testleri artı bir debug APK build'i | Android ile ilgili değişiklikler |
| `skills-python` | Python tabanlı Skills için Ruff + pytest | Python-skill ile ilgili değişiklikler |
| `checks-windows` | Windowsa özgü test şeritleri | Windows ile ilgili değişiklikler |
| `macos-node` | Paylaşılan derlenmiş artifactleri kullanan macOS TypeScript test şeridi | macOS ile ilgili değişiklikler |
| `macos-swift` | macOS uygulaması için Swift lint, derleme ve testler | macOS ile ilgili değişiklikler |
| `android` | Her iki flavor için Android birim testleri ve bir debug APK derlemesi | Android ile ilgili değişiklikler |
## Önce Hızlı Başarısız Olma Sırası
## Hızlı Başarısız Olma Sırası
İşler, pahalı işler çalışmadan önce ucuz kontroller başarısız olacak şekilde sıralanır:
1. `preflight`, hangi hatların var olacağına karar verir. `docs-scope` ve `changed-scope` mantığı bağımsız işler değil, bu işin içindeki adımlardır.
1. `preflight`, hangi şeritlerin var olacağına karar verir. `docs-scope` ve `changed-scope` mantığı bağımsız işler değil, bu işin içindeki adımlardır.
2. `security-scm-fast`, `security-dependency-audit`, `security-fast`, `check`, `check-additional`, `check-docs` ve `skills-python`, daha ağır artifact ve platform matris işlerini beklemeden hızlıca başarısız olur.
3. `build-artifacts`, hızlı Linux hatlarıyla çakışacak şekilde çalışır, böylece aşağı akış tüketicileri paylaşılan build hazır olur olmaz başlayabilir.
4. Daha ağır platform ve çalışma zamanı hatları bundan sonra dağıtılır: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-extensions`, `checks-node-core-test`, yalnızca PR için `extension-fast`, `checks`, `checks-windows`, `macos-node`, `macos-swift` ve `android`.
3. `build-artifacts`, paylaşılan derleme hazır olur olmaz alt tüketiciler başlayabilsin diye hızlı Linux şeritleriyle örtüşür.
4. Daha ağır platform ve çalışma zamanı şeritleri bundan sonra dağıtılır: `checks-fast-core`, `checks-fast-contracts-channels`, `checks-node-extensions`, `checks-node-core-test`, yalnızca PR için `extension-fast`, `checks`, `checks-windows`, `macos-node`, `macos-swift` ve `android`.
Kapsam mantığı `scripts/ci-changed-scope.mjs` içinde bulunur ve `src/scripts/ci-changed-scope.test.ts` içindeki birim testleriyle kapsanır.
CI iş akışı düzenlemeleri Node CI grafiğini ve iş akışı lint denetimini doğrular, ancak tek başına Windows, Android veya macOS yerel build'lerini zorlamaz; bu platform hatları platform kaynak değişikliklerine göre kapsamlı kalır.
Windows Node kontrolleri, Windows'a özgü işlem/yol sarmalayıcılarına, npm/pnpm/UI çalıştırıcı yardımcılarına, paket yöneticisi yapılandırmasına ve bu hattı çalıştıran CI iş akışı yüzeylerine göre kapsamlandırılır; ilgisiz kaynak, eklenti, install-smoke ve yalnızca test değişiklikleri Linux Node hatlarında kalır, böylece normal test shard'ları tarafından zaten kullanılan kapsam için 16-vCPU'lu bir Windows worker ayrılmaz.
Ayrı `install-smoke` iş akışı aynı kapsam betiğini kendi `preflight` işi üzerinden yeniden kullanır. `run_install_smoke` değerini daha dar changed-smoke sinyalinden hesaplar; böylece Docker/install smoke, kurulum, paketleme, container ile ilgili değişiklikler, bundled extension üretim değişiklikleri ve Docker smoke işlerinin kullandığı çekirdek plugin/channel/gateway/Plugin SDK yüzeyleri için çalışır. Yalnızca test ve yalnızca dokümantasyon düzenlemeleri Docker worker'ları ayırmaz. QR paket smoke testi, Docker `pnpm install` katmanını yeniden çalışmaya zorlar ve BuildKit pnpm store önbelleğini korur; böylece her çalıştırmada bağımlılıkları yeniden indirmeden kurulumu yine de test eder. gateway-network e2e, işin başında oluşturulan çalışma zamanı imajını yeniden kullanır; böylece başka bir Docker build eklemeden gerçek container-to-container WebSocket kapsamı ekler. Yerel `test:docker:all`, paylaşılan bir canlı test imajını ve paylaşılan bir `scripts/e2e/Dockerfile` built-app imajını önceden derler, ardından canlı/E2E smoke hatlarını `OPENCLAW_SKIP_DOCKER_BUILD=1` ile paralel çalıştırır; varsayılan 4 eşzamanlılığını `OPENCLAW_DOCKER_ALL_PARALLELISM` ile ayarlayın. Yerel toplu çalıştırma, varsayılan olarak ilk başarısızlıktan sonra yeni havuzlanmış hatları zamanlamayı durdurur ve her hattın `OPENCLAW_DOCKER_ALL_LANE_TIMEOUT_MS` ile geçersiz kılınabilen 120 dakikalık bir zaman aşımı vardır. Başlangıca veya sağlayıcıya duyarlı hatlar paralel havuzdan sonra özel olarak çalışır. Yeniden kullanılabilir canlı/E2E iş akışı, Docker matrisinden önce SHA etiketli tek bir GHCR Docker E2E imajı oluşturup göndererek paylaşılan imaj modelini yansıtır, ardından matrisi `OPENCLAW_SKIP_DOCKER_BUILD=1` ile çalıştırır. Zamanlanmış canlı/E2E iş akışı, tam sürüm yolundaki Docker paketini her gün çalıştırır. QR ve yükleyici Docker testleri kendi kurulum odaklı Dockerfile'larını korur. Ayrı bir `docker-e2e-fast` işi, 120 saniyelik komut zaman aşımı altında sınırlı bundled-plugin Docker profilini çalıştırır: setup-entry bağımlılık onarımı artı sentetik bundled-loader başarısızlık izolasyonu. Tam bundled update/channel matrisi manuel/tam paket olarak kalır çünkü tekrar eden gerçek npm update ve doctor repair geçişleri yapar.
Kapsam mantığı `scripts/ci-changed-scope.mjs` içinde yer alır ve `src/scripts/ci-changed-scope.test.ts` içindeki birim testleriyle kapsanır.
CI iş akışı düzenlemeleri Node CI grafiğini ve iş akışı lintingini doğrular, ancak tek başına Windows, Android veya macOS yerel derlemelerini zorunlu kılmaz; bu platform şeritleri platform kaynak kodu değişiklikleriyle kapsamlı kalır.
Windows Node kontrolleri, Windowsa özgü process/path wrapperları, npm/pnpm/UI runner yardımcıları, paket yöneticisi yapılandırması ve bu şeridi çalıştıran CI iş akışı yüzeyleriyle kapsamlandırılır; ilgisiz kaynak kodu, eklenti, install-smoke ve yalnızca test değişiklikleri Linux Node şeritlerinde kalır, böylece zaten normal test shardlarında kapsanan kapsam için 16-vCPUlu bir Windows worker ayrılmaz.
Ayrı `install-smoke` iş akışı, kendi `preflight` işi aracılığıyla aynı kapsam betiğini yeniden kullanır. Daha dar changed-smoke sinyalinden `run_install_smoke` hesaplar; böylece Docker/install smoke, install, paketleme, container ile ilgili değişiklikler, bundled extension üretim değişiklikleri ve Docker smoke işlerinin çalıştırdığı çekirdek plugin/channel/gateway/Plugin SDK yüzeyleri için çalışır. Yalnızca test ve yalnızca dokümantasyon düzenlemeleri Docker workerlarını ayırmaz. QR paket smoke, BuildKit pnpm store önbelleğini korurken Docker `pnpm install` katmanını yeniden çalıştırmaya zorlar, böylece her çalıştırmada bağımlılıkları yeniden indirmeden kurulumu yine de sınar. gateway-network e2e, işin daha önce oluşturduğu çalışma zamanı imajını yeniden kullanır; böylece başka bir Docker derlemesi eklemeden gerçek container-to-container WebSocket kapsamı ekler. Yerel `test:docker:all`, paylaşılan bir canlı test imajı ve paylaşılan bir `scripts/e2e/Dockerfile` derlenmiş uygulama imajını önceden oluşturur, ardından canlı/E2E smoke şeritlerini `OPENCLAW_SKIP_DOCKER_BUILD=1` ile paralel çalıştırır; varsayılan 4 eşzamanlılığı `OPENCLAW_DOCKER_ALL_PARALLELISM` ile ayarlayın. Yerel toplu akış varsayılan olarak ilk başarısızlıktan sonra yeni havuzlanmış şeritler planlamayı durdurur ve her şeridin `OPENCLAW_DOCKER_ALL_LANE_TIMEOUT_MS` ile geçersiz kılınabilen 120 dakikalık zaman aşımı vardır. Başlangıca veya sağlayıcıya duyarlı şeritler paralel havuzdan sonra münhasıran çalışır. Yeniden kullanılabilir canlı/E2E iş akışı, Docker matrisinden önce SHA etiketli tek bir GHCR Docker E2E imajı derleyip göndererek paylaşılan imaj modelini yansıtır, ardından matrisi `OPENCLAW_SKIP_DOCKER_BUILD=1` ile çalıştırır. Zamanlanmış canlı/E2E iş akışı, tam sürüm yolu Docker paketini günlük çalıştırır. QR ve yükleyici Docker testleri kendi kurulum odaklı Dockerfilelarını korur. Ayrı bir `docker-e2e-fast` işi, sınırlandırılmış bundled-plugin Docker profilini 120 saniyelik komut zaman aşımı altında çalıştırır: setup-entry bağımlılık onarımı ve sentetik bundled-loader failure isolation. Tam bundled update/channel matrisi manuel/tam paket olarak kalır çünkü tekrarlanan gerçek npm update ve doctor onarım geçişleri yapar.
Yerel changed-lane mantığı `scripts/changed-lanes.mjs` içinde bulunur ve `scripts/check-changed.mjs` tarafından çalıştırılır. Bu yerel geçit, geniş CI platform kapsamına kıyasla mimari sınırlar konusunda daha katıdır: çekirdek üretim değişiklikleri çekirdek prod typecheck artı çekirdek testlerini çalıştırır, çekirdek yalnızca test değişiklikleri yalnızca çekirdek test typecheck/testlerini çalıştırır, eklenti üretim değişiklikleri eklenti prod typecheck artı eklenti testlerini çalıştırır ve eklenti yalnızca test değişiklikleri yalnızca eklenti test typecheck/testlerini çalıştırır. Herkese açık Plugin SDK veya plugin-contract değişiklikleri, eklenti doğrulamasını genişletir çünkü eklentiler bu çekirdek sözleşmelere bağımlıdır. Yalnızca sürüm metaverisi içeren version bump'ları hedefli sürüm/yapılandırma/kök bağımlılık kontrollerini çalıştırır. Bilinmeyen root/config değişiklikleri güvenli olacak şekilde tüm hatlara başarısız olur.
Yerel changed-lane mantığı `scripts/changed-lanes.mjs` içinde yer alır ve `scripts/check-changed.mjs` tarafından yürütülür. Bu yerel geçit, geniş CI platform kapsamına göre mimari sınırlarda daha katıdır: çekirdek üretim değişiklikleri çekirdek prod typecheck artı çekirdek testleri çalıştırır, yalnızca çekirdek test değişiklikleri yalnızca çekirdek test typecheck/testlerini çalıştırır, extension üretim değişiklikleri extension prod typecheck artı extension testlerini çalıştırır ve yalnızca extension test değişiklikleri yalnızca extension test typecheck/testlerini çalıştırır. Genel Plugin SDK veya plugin-contract değişiklikleri extension doğrulamasına genişler çünkü extensionlar bu çekirdek sözleşmelere bağımlıdır. Yalnızca sürüm metaverisi içeren version bumpları hedeflenmiş version/config/root-dependency kontrolleri çalıştırır. Bilinmeyen root/config değişiklikleri güvenli tarafta kalıp tüm şeritlere yayılır.
Push işlemlerinde `checks` matrisi yalnızca push için olan `compat-node22` hattını ekler. Pull request'lerde bu hat atlanır ve matris normal test/kanal hatlarına odaklı kalır.
Pushlarda `checks` matrisi yalnızca push için olan `compat-node22` şeridini ekler. Pull requestlerde bu şerit atlanır ve matris normal test/kanal şeritlerine odaklı kalır.
En yavaş Node test aileleri, her iş küçük kalsın diye bölünür veya dengelenir: kanal sözleşmeleri, registry ve çekirdek kapsamı toplam altıırlıklı shard'a böler, bundled plugin testleri altı eklenti worker'ı arasında dengelenir, auto-reply altı küçük worker yerine üç dengeli worker olarak çalışır ve agentic gateway/plugin yapılandırmaları derlenmiş artifact'leri beklemek yerine mevcut yalnızca kaynak agentic Node işlerine dağıtılır. Geniş browser, QA, medya ve çeşitli eklenti testleri, paylaşılan eklenti genel amaçlı yapılandırma yerine özel Vitest yapılandırmalarını kullanır. Geniş agents hattı, tek bir yavaş test dosyasına ait olmak yerine import/zamanlama ağırlıklı olduğu için paylaşılan Vitest dosya-paralel zamanlayıcısını kullanır. `runtime-config`, paylaşılan çalışma zamanı shard'ının kuyruğun sonunu sahiplenmesini önlemek için infra core-runtime shard'ı ile çalışır. `check-additional`, package-boundary derleme/canary işlerini birlikte tutar ve çalışma zamanı topolojisi mimarisini gateway watch kapsamından ayırır; boundary guard shard'ı küçük bağımsız guard'larını tek bir iş içinde eşzamanlı çalıştırır. Gateway watch, kanal testleri ve çekirdek support-boundary shard'ı, `dist/` ve `dist-runtime/` zaten derlendikten sonra `build-artifacts` içinde eşzamanlı çalışır; böylece iki ek Blacksmith worker'ı ve ikinci bir artifact-consumer kuyruğu oluşturmadan eski kontrol adlarını hafif doğrulayıcı işler olarak korur.
Android CI, hem `testPlayDebugUnitTest` hem de `testThirdPartyDebugUnitTest` çalıştırır, ardından Play debug APK'sını derler. third-party flavor için ayrı bir kaynak kümesi veya manifest yoktur; birim test hattı yine de bu flavor'ı SMS/call-log BuildConfig bayraklarıyla derler, aynı zamanda Android ile ilgili her push'ta yinelenen bir debug APK paketleme işinden kaçınır.
`extension-fast` yalnızca PR içindir çünkü push çalıştırmaları zaten tam bundled plugin shard'larını yürütür. Bu, `checks-node-extensions` içinde zaten bulunan kapsam için `main` üzerinde ek bir Blacksmith worker ayırmadan incelemeler için değişen eklenti geri bildirimi sağlar.
En yavaş Node test aileleri bölünür veya dengelenir, böylece her iş runnerları gereğinden fazla ayırmadan küçük kalır: kanal sözleşmeleri üç ağırlıklı shard olarak çalışır, bundled plugin testleri altı extension worker arasında dengelenir, küçük çekirdek birim şeritleri eşleştirilir, auto-reply altı küçük worker yerine üç dengeli worker olarak çalışır ve agentic gateway/plugin yapılandırmaları derlenmiş artifactleri beklemek yerine mevcut yalnızca kaynak agentic Node işlerine dağıtılır. Geniş browser, QA, medya ve çeşitli plugin testleri, paylaşılan plugin catch-all yerine kendilerine ayrılmış Vitest yapılandırmalarını kullanır. Geniş agents şeridi, tek bir yavaş test dosyasına ait olmaktan çok import/zamanlama ağırlıklı olduğu için paylaşılan Vitest dosya paralel zamanlayıcısını kullanır. `runtime-config`, paylaşılan runtime shardının kuyruğun sonuna kalmasını önlemek için infra core-runtime shardı ile çalışır. `check-additional`, package-boundary derleme/canary işlerini bir arada tutar ve runtime topology architectureı gateway watch kapsamından ayırır; boundary guard shardı küçük bağımsız guardlarını tek iş içinde eşzamanlı çalıştırır. Gateway watch, kanal testleri ve çekirdek support-boundary shardı, `dist/` ve `dist-runtime/` zaten derlendikten sonra `build-artifacts` içinde eşzamanlı çalışır; eski kontrol adlarını hafif doğrulayıcı işler olarak korurken iki ek Blacksmith workerı ve ikinci bir artifact consumer kuyruğunu önler.
Android CI hem `testPlayDebugUnitTest` hem de `testThirdPartyDebugUnitTest` çalıştırır, ardından Play debug APKsını derler. third-party flavorın ayrı bir kaynak kümesi veya manifesti yoktur; birim test şeridi yine de bu flavorı SMS/call-log BuildConfig işaretleriyle derlerken, Android ile ilgili her pushta yinelenen bir debug APK paketleme işinden kaçınır.
`extension-fast` yalnızca PR içindir çünkü push çalıştırmaları zaten tam bundled plugin shardlarını yürütür. Bu, incelemeler için değişen plugin geri bildirimini korurken `main` üzerinde zaten `checks-node-extensions` içinde bulunan kapsam için ek bir Blacksmith worker ayrılmasını önler.
GitHub, aynı PR veya `main` referansına daha yeni bir push geldiğinde yerini alan işleri `cancelled` olarak işaretleyebilir. Aynı referans için en yeni çalıştırma da başarısız olmuyorsa bunu CI gürültüsü olarak değerlendirin. Toplu shard kontrolleri `!cancelled() && always()` kullanır, böylece normal shard hatalarını yine bildirirler ancak tüm iş akışı zaten yerini almışsa kuyruğa girmezler.
GitHub, aynı PR veya `main` refi üzerine daha yeni bir push geldiğinde yerini alan işleri `cancelled` olarak işaretleyebilir. Aynı ref için en yeni çalıştırma da başarısız olmadıa bunu CI gürültüsü olarak değerlendirin. Toplu shard kontrolleri `!cancelled() && always()` kullanır; böylece normal shard başarısızlıklarını yine raporlarlar ancak tüm iş akışı zaten yerini yenisine bıraktığında kuyruğa girmezler.
CI eşzamanlılık anahtarı sürümlüdür (`CI-v7-*`); böylece eski bir kuyruk grubundaki GitHub taraflı bir zombi, daha yeni main çalıştırmalarını süresiz olarak engelleyemez.
## Çalıştırıcılar
| Çalıştırıcı | İşler |
| -------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ubuntu-24.04` | `preflight`, hızlı güvenlik işleri ve toplu işler (`security-scm-fast`, `security-dependency-audit`, `security-fast`), hızlı protocol/contract/bundled kontrolleri, shard'lanmış kanal sözleşme kontrolleri, lint dışındaki `check` shard'ları, `check-additional` shard'ları ve toplu işleri, Node test toplu doğrulayıcıları, dokümantasyon kontrolleri, Python Skills, workflow-sanity, labeler, auto-response; install-smoke preflight da GitHub barındırmalı Ubuntu kullanır, böylece Blacksmith matrisi daha erken kuyruğa girebilir |
| `blacksmith-8vcpu-ubuntu-2404` | `build-artifacts`, build-smoke, Linux Node test shard'ları, bundled plugin test shard'ları, `android` |
| `blacksmith-16vcpu-ubuntu-2404` | `check-lint`; bu iş hâlâ CPU'ya yeterince duyarlıdır ve 8 vCPU tasarruf ettirdiğinden daha fazla maliyet yaratmıştır; install-smoke Docker build'leri, burada 32-vCPU kuyruk süresi tasarruf ettirdiğinden daha fazla maliyet yaratmıştır |
| `blacksmith-16vcpu-windows-2025` | `checks-windows` |
| `blacksmith-6vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-node`; fork'lar `macos-latest` değerine geri döner |
| `blacksmith-12vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-swift`; fork'lar `macos-latest` değerine geri döner |
| Çalıştırıcı | İşler |
| -------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ubuntu-24.04` | `preflight`, hızlı güvenlik işleri ve toplu işler (`security-scm-fast`, `security-dependency-audit`, `security-fast`), hızlı protocol/contract/bundled kontrolleri, shardlanmış kanal sözleşmesi kontrolleri, lint dışındaki `check` shardları, `check-additional` shardları ve toplu işleri, Node test toplu doğrulayıcıları, dokümantasyon kontrolleri, Python Skills, workflow-sanity, labeler, auto-response; install-smoke preflight da Blacksmith matrisi daha erken kuyruğa girebilsin diye GitHub-hosted Ubuntu kullanır |
| `blacksmith-8vcpu-ubuntu-2404` | `build-artifacts`, build-smoke, Linux Node test shardları, bundled plugin test shardları, `android` |
| `blacksmith-16vcpu-ubuntu-2404` | `check-lint`; bu iş CPUya yeterince duyarlı kaldığı için 8 vCPU tasarruf ettiğinden daha pahalıya mal oldu; install-smoke Docker derlemeleri; burada 32-vCPU kuyruk süresi sağladığı tasarruftan daha pahalıya mal oldu |
| `blacksmith-16vcpu-windows-2025` | `checks-windows` |
| `blacksmith-6vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-node`; forklar `macos-latest` değerine geri döner |
| `blacksmith-12vcpu-macos-latest` | `openclaw/openclaw` üzerinde `macos-swift`; forklar `macos-latest` değerine geri döner |
## Yerel Eşdeğerler
```bash
pnpm changed:lanes # origin/main...HEAD için yerel changed-lane sınıflandırıcısını inceleyin
pnpm check:changed # akıllı yerel geçit: sınır hattına göre değişen typecheck/lint/testler
pnpm check # hızlı yerel geçit: production tsgo + shard'lanmış lint + paralel hızlı guard'lar
pnpm check:changed # akıllı yerel geçit: sınır şeridine göre değişen typecheck/lint/testler
pnpm check # hızlı yerel geçit: üretim tsgo + shardlanmış lint + paralel hızlı guardlar
pnpm check:test-types
pnpm check:timed # aşama başına zamanlamalarla aynı geçit
pnpm check:timed # aynı geçit, aşama başına sürelerle birlikte
pnpm build:strict-smoke
pnpm check:architecture
pnpm test:gateway:watch-regression
pnpm test # Vitest testleri
pnpm test # vitest testleri
pnpm test:channels
pnpm test:contracts:channels
pnpm check:docs # dokümantasyon biçimlendirme + lint + bozuk bağlantılar
pnpm build # CI artifact/build-smoke hatları önemliyse dist build'i
node scripts/ci-run-timings.mjs <run-id> # toplam süreyi, kuyruk süresini ve en yavaş işleri özetleyin
pnpm build # CI artifact/build-smoke şeritleri önemli olduğunda dist derleyin
node scripts/ci-run-timings.mjs <run-id> # duvar saati süresi, kuyruk süresi ve en yavaş işleri özetleyin
node scripts/ci-run-timings.mjs --recent 10 # son başarılı main CI çalıştırmalarını karşılaştırın
```

View File

@ -1,14 +1,14 @@
---
read_when:
- Model kimlik doğrulamasını veya OAuth süresinin dolmasını hata ayıklarken
- Kimlik doğrulamayı veya kimlik bilgisi depolamayı belgelendirirken
summary: 'Model kimlik doğrulaması: OAuth, API anahtarları, Claude CLI yeniden kullanımı ve Anthropic setup-token'
title: Kimlik Doğrulama
- Model kimlik doğrulamasında veya OAuth süresinin dolmasında hata ayıklama
- Kimlik doğrulamasını veya kimlik bilgisi depolamayı belgeleme
summary: 'Model kimlik doğrulaması: OAuth, API anahtarları, Claude CLI yeniden kullanımı ve Anthropic kurulum jetonu'
title: Kimlik doğrulama
x-i18n:
generated_at: "2026-04-07T08:44:29Z"
generated_at: "2026-04-23T14:56:42Z"
model: gpt-5.4
provider: openai
source_hash: 9db0ad9eccd7e3e3ca328adaad260bc4288a8ccdbe2dc0c24d9fd049b7ab9231
source_hash: 37a7c20872b915d1d079f0578c933e43cbdb97eca1c60d8c4e6e5137ca83f8b2
source_path: gateway/authentication.md
workflow: 15
---
@ -16,37 +16,30 @@ x-i18n:
# Kimlik Doğrulama (Model Sağlayıcıları)
<Note>
Bu sayfa **model sağlayıcısı** kimlik doğrulamasını kapsar (API anahtarları, OAuth, Claude CLI yeniden kullanımı ve Anthropic setup-token). **Gateway bağlantısı** kimlik doğrulaması için (token, parola, trusted-proxy), bkz. [Configuration](/tr/gateway/configuration) ve [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth).
Bu sayfa **model sağlayıcısı** kimlik doğrulamasını kapsar (API anahtarları, OAuth, Claude CLI yeniden kullanımı ve Anthropic kurulum jetonu). **Gateway bağlantısı** kimlik doğrulaması için (jeton, parola, trusted-proxy), [Configuration](/tr/gateway/configuration) ve [Trusted Proxy Auth](/tr/gateway/trusted-proxy-auth) sayfalarına bakın.
</Note>
OpenClaw, model sağlayıcıları için OAuth ve API anahtarlarını destekler. Sürekli
çalışan gateway host'ları için API anahtarları genellikle en öngörülebilir
seçenektir. Abonelik/OAuth akışları da sağlayıcı hesap modelinizle eşleştiğinde
desteklenir.
OpenClaw, model sağlayıcıları için OAuth ve API anahtarlarını destekler. Her zaman açık Gateway ana bilgisayarları için API anahtarları genellikle en öngörülebilir seçenektir. Sağlayıcı hesap modelinizle eşleştiğinde abonelik/OAuth akışları da desteklenir.
Tam OAuth akışı ve depolama düzeni için bkz. [/concepts/oauth](/tr/concepts/oauth).
SecretRef tabanlı kimlik doğrulama için (`env`/`file`/`exec` sağlayıcıları), bkz. [Secrets Management](/tr/gateway/secrets).
`models status --probe` tarafından kullanılan kimlik bilgisi uygunluğu/neden-kodu kuralları için
bkz. [Auth Credential Semantics](/tr/auth-credential-semantics).
Tam OAuth akışı ve depolama düzeni için [/concepts/oauth](/tr/concepts/oauth) sayfasına bakın.
SecretRef tabanlı kimlik doğrulama için (`env`/`file`/`exec` sağlayıcıları), [Secrets Management](/tr/gateway/secrets) sayfasına bakın.
`models status --probe` tarafından kullanılan kimlik bilgisi uygunluğu/neden kodu kuralları için bkz.
[Auth Credential Semantics](/tr/auth-credential-semantics).
## Önerilen kurulum (API anahtarı, herhangi bir sağlayıcı)
Uzun ömürlü bir gateway çalıştırıyorsanız, seçtiğiniz sağlayıcı için bir API
anahtarıyla başlayın.
Özellikle Anthropic için, API anahtarı kimlik doğrulaması hâlâ en öngörülebilir
sunucu kurulumudur, ancak OpenClaw yerel bir Claude CLI oturumunu yeniden
kullanmayı da destekler.
Uzun ömürlü bir Gateway çalıştırıyorsanız, seçtiğiniz sağlayıcı için bir API anahtarıyla başlayın.
Özellikle Anthropic için, API anahtarı kimlik doğrulaması hâlâ en öngörülebilir sunucu kurulumudur, ancak OpenClaw yerel bir Claude CLI oturumunun yeniden kullanılmasını da destekler.
1. Sağlayıcı konsolunuzda bir API anahtarı oluşturun.
2. Bunu **gateway host** üzerine koyun (`openclaw gateway` çalıştıran makine).
2. Bunu **Gateway ana bilgisayarına** koyun (`openclaw gateway` çalıştıran makine).
```bash
export <PROVIDER>_API_KEY="..."
openclaw models status
```
3. Gateway systemd/launchd altında çalışıyorsa, anahtarı daemon'ın okuyabilmesi için
`~/.openclaw/.env` içine koymayı tercih edin:
3. Gateway systemd/launchd altında çalışıyorsa, daemon'ın okuyabilmesi için anahtarı `~/.openclaw/.env` içine koymayı tercih edin:
```bash
cat >> ~/.openclaw/.env <<'EOF'
@ -61,44 +54,51 @@ openclaw models status
openclaw doctor
```
Ortam değişkenlerini kendiniz yönetmek istemiyorsanız, onboarding API
anahtarlarını daemon kullanımı için saklayabilir: `openclaw onboard`.
Ortam değişkenlerini kendiniz yönetmek istemiyorsanız, onboarding API anahtarlarını daemon kullanımı için depolayabilir: `openclaw onboard`.
Ortam devralma ayrıntıları için bkz. [Help](/tr/help) (`env.shellEnv`,
`~/.openclaw/.env`, systemd/launchd).
`env.shellEnv`, `~/.openclaw/.env`, systemd/launchd içindeki ortam devralma ayrıntıları için [Help](/tr/help) sayfasına bakın.
## Anthropic: Claude CLI ve token uyumluluğu
## Anthropic: Claude CLI ve jeton uyumluluğu
Anthropic setup-token kimlik doğrulaması, OpenClaw'da desteklenen bir token
yolu olarak hâlâ kullanılabilir. Anthropic çalışanları daha sonra bize
OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini söyledi; bu nedenle
Anthropic yeni bir politika yayımlamadıkça OpenClaw bu entegrasyon için Claude CLI
yeniden kullanımını ve `claude -p` kullanımını onaylanmış kabul eder. Host üzerinde
Claude CLI yeniden kullanımı mevcutsa, artık tercih edilen yol budur.
Anthropic kurulum-jetonu kimlik doğrulaması, OpenClaw içinde desteklenen bir jeton yolu olarak hâlâ kullanılabilir. Anthropic çalışanları o zamandan beri bize OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini söyledi, bu nedenle OpenClaw, Anthropic yeni bir politika yayımlamadığı sürece Claude CLI yeniden kullanımını ve `claude -p` kullanımını bu entegrasyon için onaylanmış kabul eder. Claude CLI yeniden kullanımı ana bilgisayarda mevcutsa, artık tercih edilen yol budur.
Uzun ömürlü gateway host'ları için Anthropic API anahtarı hâlâ en öngörülebilir
kurulumdur. Aynı host üzerindeki mevcut bir Claude oturumunu yeniden kullanmak
istiyorsanız, onboarding/configure içindeki Anthropic Claude CLI yolunu kullanın.
Uzun ömürlü Gateway ana bilgisayarları için Anthropic API anahtarı hâlâ en öngörülebilir kurulumdur. Aynı ana bilgisayarda mevcut bir Claude oturumunu yeniden kullanmak istiyorsanız, onboarding/configure içinde Anthropic Claude CLI yolunu kullanın.
Elle token girişi (herhangi bir sağlayıcı; `auth-profiles.json` yazar + config'i günceller):
Claude CLI yeniden kullanımı için önerilen ana bilgisayar kurulumu:
```bash
# Gateway ana bilgisayarında çalıştırın
claude auth login
claude auth status --text
openclaw models auth login --provider anthropic --method cli --set-default
```
Bu iki adımlı bir kurulumdur:
1. Claude Code'u Gateway ana bilgisayarında Anthropic'e giriş yapmış duruma getirin.
2. OpenClaw'a Anthropic model seçimini yerel `claude-cli` arka ucuna geçirmesini ve eşleşen OpenClaw kimlik doğrulama profilini depolamasını söyleyin.
`claude`, `PATH` üzerinde değilse önce Claude Code'u yükleyin veya `agents.defaults.cliBackends.claude-cli.command` değerini gerçek ikili dosya yoluna ayarlayın.
El ile jeton girişi (herhangi bir sağlayıcı; `auth-profiles.json` dosyasını yazar + yapılandırmayı günceller):
```bash
openclaw models auth paste-token --provider openrouter
```
Kimlik doğrulama profili referansları, statik kimlik bilgileri için de desteklenir:
Kimlik doğrulama profil başvuruları statik kimlik bilgileri için de desteklenir:
- `api_key` kimlik bilgileri `keyRef: { source, provider, id }` kullanabilir
- `token` kimlik bilgileri `tokenRef: { source, provider, id }` kullanabilir
- OAuth modundaki profiller SecretRef kimlik bilgilerini desteklemez; `auth.profiles.<id>.mode` `"oauth"` olarak ayarlanırsa, o profil için SecretRef destekli `keyRef`/`tokenRef` girişi reddedilir.
- OAuth modundaki profiller SecretRef kimlik bilgilerini desteklemez; `auth.profiles.<id>.mode` `"oauth"` olarak ayarlanmışsa, bu profil için SecretRef destekli `keyRef`/`tokenRef` girişi reddedilir.
Otomasyon dostu kontrol (süresi dolmuş/eksikse çıkış `1`, süresi dolmak üzereyse `2`):
Otomasyon dostu kontrol (eksik/süresi dolmuşsa çıkış `1`, süresi dolmak üzereyse `2`):
```bash
openclaw models status --check
```
Canlı kimlik doğrulama probları:
Canlı kimlik doğrulama yoklamaları:
```bash
openclaw models status --probe
@ -106,27 +106,21 @@ openclaw models status --probe
Notlar:
- Prob satırları kimlik doğrulama profillerinden, ortam kimlik bilgilerinden veya `models.json` dosyasından gelebilir.
- Açık `auth.order.<provider>` saklanan bir profili dışarıda bırakırsa, prob
onu denemek yerine o profil için `excluded_by_auth_order` bildirir.
- Kimlik doğrulama varsa ancak OpenClaw bu sağlayıcı için prob yapılabilir bir model adayı çözemiyorsa,
prob `status: no_model` bildirir.
- Hız sınırı cooldown'ları model kapsamlı olabilir. Bir model için cooldown durumundaki bir profil,
aynı sağlayıcıdaki kardeş bir model için yine de kullanılabilir olabilir.
- Yoklama satırları kimlik doğrulama profillerinden, ortam kimlik bilgilerinden veya `models.json` dosyasından gelebilir.
- Açık `auth.order.<provider>`, depolanmış bir profili içermezse, yoklama o profili denemek yerine bu profil için `excluded_by_auth_order` bildirir.
- Kimlik doğrulama mevcutsa ancak OpenClaw bu sağlayıcı için yoklanabilir bir model adayı çözemiyorsa, yoklama `status: no_model` bildirir.
- Hız sınırı bekleme süreleri model kapsamlı olabilir. Bir model için bekleme süresinde olan bir profil, aynı sağlayıcıdaki kardeş bir model için yine de kullanılabilir olabilir.
İsteğe bağlı operasyon betikleri (systemd/Termux) burada belgelenmiştir:
İsteğe bağlı işlem betikleri (systemd/Termux) burada belgelenmiştir:
[Kimlik doğrulama izleme betikleri](/tr/help/scripts#auth-monitoring-scripts)
## Anthropic notu
Anthropic `claude-cli` backend yeniden desteklenmektedir.
Anthropic `claude-cli` arka ucu yeniden desteklenmektedir.
- Anthropic çalışanları bize bu OpenClaw entegrasyon yoluna yeniden izin verildiğini söyledi.
- Bu nedenle OpenClaw, Anthropic yeni bir politika yayımlamadıkça
Anthropic destekli çalıştırmalar için Claude CLI yeniden kullanımını ve `claude -p` kullanımını
onaylanmış kabul eder.
- Anthropic API anahtarları, uzun ömürlü gateway host'ları ve açık sunucu tarafı
faturalama kontrolü için en öngörülebilir seçenek olmaya devam eder.
- Bu nedenle OpenClaw, Anthropic yeni bir politika yayımlamadığı sürece Claude CLI yeniden kullanımını ve `claude -p` kullanımını Anthropic destekli çalıştırmalar için onaylanmış kabul eder.
- Anthropic API anahtarları, uzun ömürlü Gateway ana bilgisayarları ve açık sunucu tarafı faturalandırma kontrolü için en öngörülebilir seçenek olmaya devam eder.
## Model kimlik doğrulama durumunu kontrol etme
@ -135,23 +129,19 @@ openclaw models status
openclaw doctor
```
## API anahtarı döndürme davranışı (gateway)
## API anahtarı döndürme davranışı (Gateway)
Bazı sağlayıcılar, bir API çağrısı sağlayıcı hız sınırına takıldığında
isteği alternatif anahtarlarla yeniden denemeyi destekler.
Bazı sağlayıcılar, bir API çağrısı sağlayıcı hız sınırına takıldığında isteği alternatif anahtarlarla yeniden denemeyi destekler.
- Öncelik sırası:
- `OPENCLAW_LIVE_<PROVIDER>_KEY` (tek geçersiz kılma)
- `<PROVIDER>_API_KEYS`
- `<PROVIDER>_API_KEY`
- `<PROVIDER>_API_KEY_*`
- Google sağlayıcıları ek yedek olarak `GOOGLE_API_KEY` değerini de içerir.
- Aynı anahtar listesi kullanılmadan önce tekrarları kaldırılarak tekilleştirilir.
- OpenClaw yalnızca hız sınırı hatalarında bir sonraki anahtarla yeniden dener (örneğin
`429`, `rate_limit`, `quota`, `resource exhausted`, `Too many concurrent
requests`, `ThrottlingException`, `concurrency limit reached` veya
`workers_ai ... quota limit exceeded`).
- Hız sınırı dışındaki hatalar alternatif anahtarlarla yeniden denenmez.
- Google sağlayıcıları ek bir geri dönüş olarak `GOOGLE_API_KEY` değerini de içerir.
- Aynı anahtar listesi kullanılmadan önce tekilleştirilir.
- OpenClaw yalnızca hız sınırı hataları için bir sonraki anahtarla yeniden dener (örneğin `429`, `rate_limit`, `quota`, `resource exhausted`, `Too many concurrent requests`, `ThrottlingException`, `concurrency limit reached` veya `workers_ai ... quota limit exceeded`).
- Hız sınırı dışındaki hatalarda alternatif anahtarlarla yeniden deneme yapılmaz.
- Tüm anahtarlar başarısız olursa, son denemeden gelen son hata döndürülür.
## Hangi kimlik bilgisinin kullanılacağını kontrol etme
@ -160,11 +150,11 @@ requests`, `ThrottlingException`, `concurrency limit reached` veya
Geçerli oturum için belirli bir sağlayıcı kimlik bilgisini sabitlemek üzere `/model <alias-or-id>@<profileId>` kullanın (örnek profil kimlikleri: `anthropic:default`, `anthropic:work`).
Kompakt bir seçici için `/model` (veya `/model list`) kullanın; tam görünüm için `/model status` kullanın (adaylar + sonraki kimlik doğrulama profili, ayrıca yapılandırılmışsa sağlayıcı uç nokta ayrıntıları).
Kompakt bir seçici için `/model` (veya `/model list`) kullanın; tam görünüm için `/model status` kullanın (adaylar + sonraki kimlik doğrulama profili ve yapılandırıldığında sağlayıcı uç nokta ayrıntıları).
### Aracı başına (CLI geçersiz kılma)
Bir aracı için açık kimlik doğrulama profili sırası geçersiz kılmasını ayarlayın (o aracının `auth-state.json` dosyasında saklanır):
Bir aracı için açık bir kimlik doğrulama profili sırası geçersiz kılması ayarlayın (o aracının `auth-state.json` dosyasında depolanır):
```bash
openclaw models auth order get --provider anthropic
@ -172,25 +162,20 @@ openclaw models auth order set --provider anthropic anthropic:default
openclaw models auth order clear --provider anthropic
```
Belirli bir aracıyı hedeflemek için `--agent <id>` kullanın; yapılandırılmış varsayılan aracıyı kullanmak için bunu atlayın.
Sıra sorunlarını hata ayıklarken, `openclaw models status --probe` dışarıda bırakılan
saklanan profilleri sessizce atlamak yerine `excluded_by_auth_order` olarak gösterir.
Cooldown sorunlarını hata ayıklarken, hız sınırı cooldown'larının tüm sağlayıcı profiline değil,
tek bir model kimliğine bağlı olabileceğini unutmayın.
Belirli bir aracı hedeflemek için `--agent <id>` kullanın; yapılandırılmış varsayılan aracı kullanmak için bunu atlayın.
Sıra sorunlarında hata ayıklarken, `openclaw models status --probe` atlanan depolanmış profilleri sessizce geçmek yerine `excluded_by_auth_order` olarak gösterir.
Bekleme süresi sorunlarında hata ayıklarken, hız sınırı bekleme sürelerinin tüm sağlayıcı profili yerine tek bir model kimliğine bağlı olabileceğini unutmayın.
## Sorun giderme
### "No credentials found"
### "Kimlik bilgisi bulunamadı"
Anthropic profili eksikse, **gateway host** üzerinde bir Anthropic API anahtarı yapılandırın
veya Anthropic setup-token yolunu kurun, ardından yeniden kontrol edin:
Anthropic profili eksikse, **Gateway ana bilgisayarında** bir Anthropic API anahtarı yapılandırın veya Anthropic kurulum-jetonu yolunu kurun, ardından tekrar kontrol edin:
```bash
openclaw models status
```
### Token süresi dolmak üzere/dolmuş
### Jetonun süresi doluyor/dolmuş
Hangi profilin süresinin dolmak üzere olduğunu doğrulamak için `openclaw models status` çalıştırın. Bir
Anthropic token profili eksikse veya süresi dolmuşsa, bu kurulumu
setup-token ile yenileyin veya bir Anthropic API anahtarına geçin.
Hangi profilin süresinin dolmak üzere olduğunu doğrulamak için `openclaw models status` çalıştırın. Bir Anthropic jeton profili eksikse veya süresi dolmuşsa, bu kurulumu kurulum-jetonu ile yenileyin veya bir Anthropic API anahtarına geçin.

View File

@ -1,48 +1,41 @@
---
read_when:
- API provider'ları başarısız olduğunda güvenilir bir geri dönüş istiyorsunuz.
- Codex CLI veya diğer yerel AI CLI'ları çalıştırıyorsunuz ve bunları yeniden kullanmak istiyorsunuz.
- CLI arka ucu araç erişimi için MCP loopback köprüsünü anlamak istiyorsunuz.
summary: 'CLI arka uçları: isteğe bağlı MCP araç köprüsüne sahip yerel AI CLI geri dönüşü'
- API sağlayıcıları başarısız olduğunda güvenilir bir yedek istersiniz
- Codex CLI veya diğer yerel AI CLI'leri çalıştırıyorsunuz ve bunları yeniden kullanmak istiyorsunuz
- CLI arka ucu araç erişimi için MCP local loopback köprüsünü anlamak istiyorsunuz
summary: 'CLI arka uçları: isteğe bağlı MCP araç köprüsü ile yerel AI CLI yedeği'
title: CLI Arka Uçları
x-i18n:
generated_at: "2026-04-23T09:02:24Z"
generated_at: "2026-04-23T14:56:41Z"
model: gpt-5.4
provider: openai
source_hash: 475923b36e4580d3e4e57014ff2e6b89e9eb52c11b0a0ab1fc8241655b07836e
source_hash: ff7458d18b8a5b716930579241177917fd3edffcf7f6e211c7d570cf76519316
source_path: gateway/cli-backends.md
workflow: 15
---
# CLI arka uçları (geri dönüş çalışma zamanı)
# CLI arka uçları (yedek çalışma zamanı)
OpenClaw, API provider'lar kapalıyken,
hız sınırına takıldığında veya geçici olarak hatalı davrandığında **metin odaklı geri dönüş** olarak **yerel AI CLI'larını** çalıştırabilir. Bu özellikle temkinli şekilde tasarlanmıştır:
OpenClaw, API sağlayıcıları kapalıyken, hız sınırına takıldığında veya geçici olarak hatalı davrandığında **metinle sınırlı bir yedek** olarak **yerel AI CLI'leri** çalıştırabilir. Bu kasıtlı olarak temkinli tasarlanmıştır:
- **OpenClaw araçları doğrudan enjekte edilmez**, ancak `bundleMcp: true` olan arka uçlar
Gateway araçlarını bir loopback MCP köprüsü üzerinden alabilir.
- Bunu destekleyen CLI'lar için **JSONL akışı**.
- **Oturumlar desteklenir** (böylece takip eden dönüşler tutarlı kalır).
- CLI görüntü yollarını kabul ediyorsa **görüntüler iletilebilir**.
- **OpenClaw araçları doğrudan eklenmez**, ancak `bundleMcp: true` olan arka uçlar döngüsel bir MCP köprüsü üzerinden gateway araçlarını alabilir.
- Bunu destekleyen CLI'ler için **JSONL akışı**.
- **Oturumlar desteklenir** (böylece takip eden turlar tutarlı kalır).
- CLI görüntü yollarını kabul ediyorsa **görüntüler aktarılabilir**.
Bu, birincil yol olmaktan çok bir **güvenlik ağı** olarak tasarlanmıştır. Harici API'lere güvenmeden
“her zaman çalışan” metin yanıtları istediğinizde kullanın.
Bu, birincil yol olmaktan çok bir **güvenlik ağı** olarak tasarlanmıştır. Harici API'lere bağlı kalmadan “her zaman çalışır” metin yanıtları istediğinizde kullanın.
Tam bir harness çalışma zamanı; ACP oturum denetimleri, arka plan görevleri,
thread/konuşma bağlama ve kalıcı harici coding oturumları istiyorsanız
bunun yerine [ACP Agents](/tr/tools/acp-agents) kullanın. CLI arka uçları ACP değildir.
ACP oturum denetimleri, arka plan görevleri, iş parçacığı/konuşma bağlama ve kalıcı harici kodlama oturumları içeren tam bir harness çalışma zamanı istiyorsanız, bunun yerine [ACP Ajanları](/tr/tools/acp-agents) kullanın. CLI arka uçları ACP değildir.
## Yeni başlayanlar için hızlı başlangıç
## Başlangıç için hızlı kurulum
Codex CLI'ı **hiç yapılandırma olmadan** kullanabilirsiniz (paketli OpenAI Plugin'i
varsayılan bir arka uç kaydeder):
Codex CLI'yi **hiç yapılandırma olmadan** kullanabilirsiniz (paketlenmiş OpenAI plugin'i varsayılan bir arka uç kaydeder):
```bash
openclaw agent --message "hi" --model codex-cli/gpt-5.4
```
Gateway'iniz launchd/systemd altında çalışıyorsa ve PATH sınırlıysa, yalnızca
komut yolunu ekleyin:
Gateway'niz launchd/systemd altında çalışıyorsa ve PATH sınırlıysa, yalnızca komut yolunu ekleyin:
```json5
{
@ -58,15 +51,13 @@ komut yolunu ekleyin:
}
```
Hepsi bu. CLI'ın kendisinin gerektirdiği şeylerin ötesinde anahtar, ek kimlik doğrulama yapılandırması gerekmez.
Hepsi bu kadar. CLI'nin kendisinin ötesinde anahtar gerekmez, ek kimlik doğrulama yapılandırması gerekmez.
Paketli bir CLI arka ucunu Gateway host'unda **birincil mesaj provider'ı** olarak kullanırsanız,
yapılandırmanız bu arka uca açıkça bir model ref içinde veya
`agents.defaults.cliBackends` altında başvuruyorsa OpenClaw artık ilgili paketli Plugin'i otomatik yükler.
Paketlenmiş bir CLI arka ucunu bir gateway ana makinesinde **birincil mesaj sağlayıcısı** olarak kullanıyorsanız, OpenClaw artık yapılandırmanız bu arka uca bir model başvurusunda veya `agents.defaults.cliBackends` altında açıkça başvuruyorsa ilgili paketlenmiş plugin'i otomatik olarak yükler.
## Geri dönüş olarak kullanma
## Yedek olarak kullanma
Bir CLI arka ucunu geri dönüş listenize ekleyin; böylece yalnızca birincil modeller başarısız olduğunda çalışır:
Bir CLI arka ucunu yedek listenize ekleyin; böylece yalnızca birincil modeller başarısız olduğunda çalışır:
```json5
{
@ -87,26 +78,25 @@ Bir CLI arka ucunu geri dönüş listenize ekleyin; böylece yalnızca birincil
Notlar:
- `agents.defaults.models` (allowlist) kullanıyorsanız CLI arka ucu modellerinizi de oraya eklemelisiniz.
- Birincil provider başarısız olursa (kimlik doğrulama, hız sınırları, zaman aşımları), OpenClaw
sırada CLI arka ucunu dener.
- `agents.defaults.models` (izin verilenler listesi) kullanıyorsanız, CLI arka ucu modellerinizi de oraya eklemeniz gerekir.
- Birincil sağlayıcı başarısız olursa (kimlik doğrulama, hız sınırları, zaman aşımları), OpenClaw sırada CLI arka ucunu dener.
## Yapılandırmaya genel bakış
Tüm CLI arka uçları şunun altında bulunur:
Tüm CLI arka uçları şurada bulunur:
```
agents.defaults.cliBackends
```
Her giriş bir **provider id** ile anahtarlanır (ör. `codex-cli`, `my-cli`).
Provider id, model ref'inizin sol tarafı olur:
Her giriş bir **sağlayıcı kimliği** ile anahtarlanır (ör. `codex-cli`, `my-cli`).
Sağlayıcı kimliği model başvurunuzun sol tarafı olur:
```
<provider>/<model>
```
### Örnek yapılandırma
### Yapılandırma örneği
```json5
{
@ -130,7 +120,7 @@ Provider id, model ref'inizin sol tarafı olur:
sessionMode: "existing",
sessionIdFields: ["session_id", "conversation_id"],
systemPromptArg: "--system",
// Codex tarzı CLI'lar bunun yerine bir istem dosyasına işaret edebilir:
// Codex tarzı CLI'ler bunun yerine bir prompt dosyasına işaret edebilir:
// systemPromptFileConfigArg: "-c",
// systemPromptFileConfigKey: "model_instructions_file",
systemPromptWhen: "first",
@ -146,65 +136,55 @@ Provider id, model ref'inizin sol tarafı olur:
## Nasıl çalışır
1. Provider önekine göre (`codex-cli/...`) **bir arka uç seçer**.
2. Aynı OpenClaw istemi + çalışma alanı bağlamını kullanarak **bir sistem istemi oluşturur**.
3. Geçmiş tutarlı kalsın diye CLI'ı bir oturum kimliğiyle çalıştırır (destekleniyorsa).
Paketli `claude-cli` arka ucu, her
OpenClaw oturumu için bir Claude stdio sürecini canlı tutar ve takip eden dönüşleri stream-json stdin üzerinden gönderir.
1. Sağlayıcı önekine göre (`codex-cli/...`) **bir arka uç seçer**.
2. Aynı OpenClaw prompt + çalışma alanı bağlamını kullanarak **bir sistem prompt'u oluşturur**.
3. Geçmiş tutarlı kalsın diye, destekleniyorsa, bir oturum kimliği ile **CLI'yi çalıştırır**.
Paketlenmiş `claude-cli` arka ucu OpenClaw oturumu başına bir Claude stdio sürecini canlı tutar ve takip eden turları stream-json stdin üzerinden gönderir.
4. **Çıktıyı ayrıştırır** (JSON veya düz metin) ve son metni döndürür.
5. **Oturum kimliklerini** arka uç başına kalıcılaştırır; böylece takip eden dönüşler aynı CLI oturumunu yeniden kullanır.
5. Takip eden istekler aynı CLI oturumunu yeniden kullansın diye arka uç başına **oturum kimliklerini kalıcılaştırır**.
<Note>
Paketli Anthropic `claude-cli` arka ucu yeniden desteklenmektedir. Anthropic çalışanları
bize OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini
söyledi; bu nedenle Anthropic yeni bir ilke yayımlamadığı sürece OpenClaw,
`claude -p` kullanımını bu entegrasyon için onaylanmış kabul eder.
Paketlenmiş Anthropic `claude-cli` arka ucu yeniden desteklenmektedir. Anthropic çalışanları bize OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini söyledi; bu nedenle Anthropic yeni bir politika yayımlamadıkça OpenClaw bu entegrasyon için `claude -p` kullanımını onaylı kabul eder.
</Note>
Paketli OpenAI `codex-cli` arka ucu, OpenClaw'un sistem istemini
Codex'in `model_instructions_file` yapılandırma geçersiz kılması (`-c
model_instructions_file="..."`) üzerinden geçirir. Codex, Claude tarzı
bir `--append-system-prompt` bayrağı sunmadığından OpenClaw, her yeni Codex CLI oturumu için birleştirilmiş istemi geçici bir dosyaya yazar.
Paketlenmiş OpenAI `codex-cli` arka ucu OpenClaw'ın sistem prompt'unu Codex'in `model_instructions_file` yapılandırma geçersiz kılması üzerinden geçirir (`-c
model_instructions_file="..."`). Codex, Claude tarzı bir
`--append-system-prompt` bayrağı sunmadığından, OpenClaw her yeni Codex CLI oturumu için derlenen prompt'u geçici bir dosyaya yazar.
Paketli Anthropic `claude-cli` arka ucu, OpenClaw Skills anlık görüntüsünü
iki yolla alır: eklenmiş sistem istemindeki kompakt OpenClaw Skills kataloğu ve
`--plugin-dir` ile geçirilen geçici bir Claude Code Plugin'i. Plugin yalnızca o agent/oturum için uygun Skills öğelerini içerir; böylece Claude Code'un yerel skill çözücüsü, OpenClaw'un istemde başka türlü duyuracağı aynı filtrelenmiş kümeyi görür. Skill env/API anahtarı geçersiz kılmaları yine de çalışma için alt süreç ortamına OpenClaw tarafından uygulanır.
Paketlenmiş Anthropic `claude-cli` arka ucu OpenClaw Skills anlık görüntüsünü iki şekilde alır: eklenen sistem prompt'undaki derli toplu OpenClaw Skills kataloğu ve `--plugin-dir` ile geçirilen geçici bir Claude Code plugin'i. Plugin yalnızca o ajan/oturum için uygun Skills öğelerini içerir; böylece Claude Code'un yerel beceri çözücüsü, OpenClaw'ın aksi halde prompt'ta duyuracağı aynı filtrelenmiş kümeyi görür. Skill env/API anahtarı geçersiz kılmaları çalıştırma için alt süreç ortamına yine OpenClaw tarafından uygulanır.
OpenClaw paketlenmiş `claude-cli` arka ucunu kullanmadan önce, Claude Code'un kendisi aynı ana makinede zaten oturum açmış olmalıdır:
```bash
claude auth login
claude auth status --text
openclaw models auth login --provider anthropic --method cli --set-default
```
`claude` ikili dosyası zaten `PATH` üzerinde değilse yalnızca `agents.defaults.cliBackends.claude-cli.command` kullanın.
## Oturumlar
- CLI oturumları destekliyorsa, oturum kimliğini birden çok bayrağa
yerleştirmek gerektiğinde `sessionArg` (ör. `--session-id`) veya
`sessionArgs` (`{sessionId}` yer tutucusu) ayarlayın.
- CLI, farklı bayraklarla **resume alt komutu** kullanıyorsa,
`resumeArgs` (`resume` sırasında `args` yerine geçer) ve isteğe bağlı olarak
`resumeOutput` (JSON olmayan resume durumları için) ayarlayın.
- CLI oturumları destekliyorsa, `sessionArg` (ör. `--session-id`) veya kimliğin birden fazla bayrağa eklenmesi gerektiğinde `sessionArgs` (`{sessionId}` yer tutucusu) ayarlayın.
- CLI farklı bayraklarla bir **resume alt komutu** kullanıyorsa, `resumeArgs` ayarlayın (`args` yerine geçer) ve isteğe bağlı olarak `resumeOutput` ayarlayın (JSON olmayan resume işlemleri için).
- `sessionMode`:
- `always`: her zaman bir oturum kimliği gönderir (saklanmış yoksa yeni UUID).
- `existing`: yalnızca daha önce bir oturum kimliği saklandıysa gönderir.
- `always`: her zaman bir oturum kimliği gönderir (depolanmış yoksa yeni UUID).
- `existing`: yalnızca daha önce depolanmışsa bir oturum kimliği gönderir.
- `none`: asla oturum kimliği göndermez.
- `claude-cli` varsayılan olarak `liveSession: "claude-stdio"`, `output: "jsonl"`
ve `input: "stdin"` kullanır; böylece takip eden dönüşler etkin olduğu sürece
canlı Claude sürecini yeniden kullanır. Sıcak stdio artık varsayılandır; taşıma alanlarını atlayan özel yapılandırmalarda da böyledir. Gateway yeniden başlarsa veya boşta duran süreç
çıkarsa OpenClaw saklanan Claude oturum kimliğinden resume yapar. Saklanan oturum kimlikleri,
resume öncesinde mevcut okunabilir bir proje transcript'ine karşı doğrulanır; böylece hayalet bağlar
`--resume` altında sessizce yeni bir Claude CLI oturumu başlatmak yerine `reason=transcript-missing`
ile temizlenir.
- Saklanan CLI oturumları provider'a ait sürekliliktir. Örtük günlük oturum
sıfırlaması bunları kesmez; `/reset` ve açık `session.reset` ilkeleri yine keser.
- `claude-cli` varsayılan olarak `liveSession: "claude-stdio"`, `output: "jsonl"` ve `input: "stdin"` kullanır; böylece takip eden turlar etkin olduğu sürece canlı Claude sürecini yeniden kullanır.
Özel yapılandırmalar aktarım alanlarını atladığında da sıcak stdio artık varsayılandır. Gateway yeniden başlarsa veya boşta bekleyen süreç çıkarsa, OpenClaw depolanan Claude oturum kimliğinden devam eder. Depolanan oturum kimlikleri, devam etmeden önce mevcut ve okunabilir bir proje dökümüne karşı doğrulanır; böylece hayali bağlamalar `--resume` altında sessizce yeni bir Claude CLI oturumu başlatmak yerine `reason=transcript-missing` ile temizlenir.
- Depolanan CLI oturumları sağlayıcıya ait sürekliliktir. Örtük günlük oturum sıfırlaması bunları kesmez; `/reset` ve açık `session.reset` ilkeleri keser.
Serileştirme notları:
- `serialize: true`, aynı şeritli çalıştırmaları sıralı tutar.
- Çoğu CLI tek bir provider şeridinde serileştirilir.
- Seçilen kimlik doğrulama kimliği değiştiğinde OpenClaw saklanan CLI oturumu yeniden kullanımını bırakır;
buna değişen auth profile id, statik API anahtarı, statik token veya CLI bunu sunuyorsa OAuth
hesap kimliği dahildir. OAuth erişim ve yenileme token'ı
dönüşümü saklanan CLI oturumunu kesmez. Bir CLI kararlı bir OAuth hesap kimliği sunmuyorsa,
OpenClaw resume izinlerini o CLI'ın uygulamasına bırakır.
- `serialize: true`, aynı lane'deki çalıştırmaların sıralı kalmasını sağlar.
- Çoğu CLI tek bir sağlayıcı lane'i üzerinde serileştirilir.
- OpenClaw, seçilen kimlik doğrulama kimliği değiştiğinde depolanan CLI oturumu yeniden kullanımını bırakır; buna değişmiş auth profil kimliği, statik API anahtarı, statik token veya CLI bunlardan birini açığa çıkarıyorsa OAuth hesap kimliği dahildir.
OAuth erişim ve yenileme token'ı rotasyonu depolanan CLI oturumunu kesmez. Bir CLI kararlı bir OAuth hesap kimliği açığa çıkarmıyorsa, OpenClaw o CLI'nin resume izinlerini uygulamasına izin verir.
## Görüntüler (iletim)
## Görüntüler (aktarım)
CLI'ınız görüntü yollarını kabul ediyorsa `imageArg` ayarlayın:
CLI'niz görüntü yollarını kabul ediyorsa, `imageArg` ayarlayın:
```json5
imageArg: "--image",
@ -212,28 +192,26 @@ imageMode: "repeat"
```
OpenClaw base64 görüntüleri geçici dosyalara yazar. `imageArg` ayarlanmışsa bu
yollar CLI bağımsız değişkenleri olarak geçirilir. `imageArg` eksikse OpenClaw
dosya yollarını isteme ekler (yol enjeksiyonu); bu, düz yollardan yerel dosyaları otomatik
yükleyen CLI'lar için yeterlidir.
yollar CLI argümanları olarak geçirilir. `imageArg` eksikse, OpenClaw dosya
yollarını prompt'a ekler (yol enjeksiyonu); bu, düz yollardan yerel dosyaları
otomatik yükleyen CLI'ler için yeterlidir.
## Girdiler / çıktılar
- `output: "json"` (varsayılan), JSON ayrıştırmayı ve metin + oturum kimliği çıkarmayı dener.
- Gemini CLI JSON çıktısı için OpenClaw, `usage` eksik veya boş olduğunda
yanıt metnini `response` içinden ve kullanımı `stats` içinden okur.
- `output: "jsonl"`, JSONL akışlarını ayrıştırır (örneğin Codex CLI `--json`) ve son agent mesajını, varsa oturum
tanımlayıcılarıyla birlikte çıkarır.
- `output: "text"`, stdout'u son yanıt olarak kabul eder.
- `output: "json"` (varsayılan) JSON ayrıştırmayı dener ve metin + oturum kimliğini çıkarır.
- Gemini CLI JSON çıktısı için OpenClaw, `usage` eksik veya boş olduğunda yanıt metnini `response` içinden ve kullanımı `stats` içinden okur.
- `output: "jsonl"` JSONL akışlarını ayrıştırır (örneğin Codex CLI `--json`) ve mevcut olduğunda son ajan mesajını ve oturum tanımlayıcılarını çıkarır.
- `output: "text"` stdout'u son yanıt olarak ele alır.
Girdi modları:
- `input: "arg"` (varsayılan), istemi son CLI bağımsız değişkeni olarak geçirir.
- `input: "stdin"`, istemi stdin üzerinden gönderir.
- İstem çok uzunsa ve `maxPromptArgChars` ayarlanmışsa stdin kullanılır.
- `input: "arg"` (varsayılan) prompt'u son CLI argümanı olarak geçirir.
- `input: "stdin"` prompt'u stdin üzerinden gönderir.
- Prompt çok uzunsa ve `maxPromptArgChars` ayarlanmışsa stdin kullanılır.
## Varsayılanlar (Plugin'e ait)
## Varsayılanlar (plugin'e ait)
Paketli OpenAI Plugin'i ayrıca `codex-cli` için bir varsayılan kaydeder:
Paketlenmiş OpenAI plugin'i ayrıca `codex-cli` için bir varsayılan kaydeder:
- `command: "codex"`
- `args: ["exec","--json","--color","never","--sandbox","workspace-write","--skip-git-repo-check"]`
@ -244,7 +222,7 @@ Paketli OpenAI Plugin'i ayrıca `codex-cli` için bir varsayılan kaydeder:
- `imageArg: "--image"`
- `sessionMode: "existing"`
Paketli Google Plugin'i ayrıca `google-gemini-cli` için bir varsayılan kaydeder:
Paketlenmiş Google plugin'i ayrıca `google-gemini-cli` için bir varsayılan kaydeder:
- `command: "gemini"`
- `args: ["--output-format", "json", "--prompt", "{prompt}"]`
@ -255,32 +233,27 @@ Paketli Google Plugin'i ayrıca `google-gemini-cli` için bir varsayılan kayded
- `sessionMode: "existing"`
- `sessionIdFields: ["session_id", "sessionId"]`
Ön koşul: yerel Gemini CLI kurulu olmalı ve `PATH` üzerinde
`gemini` olarak erişilebilir olmalıdır (`brew install gemini-cli` veya
`npm install -g @google/gemini-cli`).
Önkoşul: yerel Gemini CLI kurulmuş olmalı ve `PATH` üzerinde `gemini` olarak kullanılabilir olmalıdır (`brew install gemini-cli` veya `npm install -g @google/gemini-cli`).
Gemini CLI JSON notları:
- Yanıt metni JSON `response` alanından okunur.
- `usage` yoksa veya boşsa kullanım için `stats` geri dönüş olarak kullanılır.
- `stats.cached`, OpenClaw `cacheRead` içine normalize edilir.
- `stats.input` eksikse OpenClaw giriş token'larını
`stats.input_tokens - stats.cached` üzerinden türetir.
- `usage` yoksa veya boşsa, kullanım için `stats` yedek olarak kullanılır.
- `stats.cached`, OpenClaw `cacheRead` biçimine normalize edilir.
- `stats.input` eksikse, OpenClaw girdi token'larını `stats.input_tokens - stats.cached` üzerinden türetir.
Yalnızca gerektiğinde geçersiz kılın (yaygın durum: mutlak `command` yolu).
Yalnızca gerekirse geçersiz kılın (yaygın durum: mutlak `command` yolu).
## Plugin'e ait varsayılanlar
CLI arka ucu varsayılanları artık Plugin yüzeyinin parçasıdır:
CLI arka ucu varsayılanları artık plugin yüzeyinin bir parçasıdır:
- Plugin'ler bunları `api.registerCliBackend(...)` ile kaydeder.
- Arka uç `id` değeri, model ref'lerde provider öneki olur.
- `agents.defaults.cliBackends.<id>` içindeki kullanıcı yapılandırması yine de Plugin varsayılanını geçersiz kılar.
- Arka uca özgü yapılandırma temizliği, isteğe bağlı
`normalizeConfig` kancası üzerinden Plugin'e ait kalır.
- Arka uç `id` değeri model başvurularında sağlayıcı öneki olur.
- `agents.defaults.cliBackends.<id>` altındaki kullanıcı yapılandırması plugin varsayılanını yine geçersiz kılar.
- Arka uca özgü yapılandırma temizliği, isteğe bağlı `normalizeConfig` hook'u üzerinden plugin'e ait kalır.
Küçük istem/mesaj uyumluluk uyarlamalarına ihtiyaç duyan Plugin'ler,
bir provider veya CLI arka ucunu değiştirmeden çift yönlü metin dönüşümleri bildirebilir:
Küçük prompt/mesaj uyumluluk uyarlamalarına ihtiyaç duyan plugin'ler, bir sağlayıcıyı veya CLI arka ucunu değiştirmeden çift yönlü metin dönüşümleri tanımlayabilir:
```typescript
api.registerTextTransforms({
@ -297,51 +270,41 @@ api.registerTextTransforms({
});
```
`input`, CLI'a geçirilen sistem istemini ve kullanıcı istemini yeniden yazar. `output`,
OpenClaw kendi denetim işaretleyicilerini ve kanal teslimatını ele almadan önce
akışlı assistant deltalarını ve ayrıştırılmış son metni yeniden yazar.
`input`, CLI'ye geçirilen sistem prompt'unu ve kullanıcı prompt'unu yeniden yazar. `output`, OpenClaw kendi kontrol işaretçilerini ve kanal teslimini işlemeden önce akış halindeki asistan deltalarını ve ayrıştırılmış son metni yeniden yazar.
Claude Code stream-json uyumlu JSONL üreten CLI'lar için,
o arka ucun yapılandırmasında `jsonlDialect: "claude-stream-json"` ayarlayın.
Claude Code stream-json ile uyumlu JSONL üreten CLI'ler için, o arka ucun yapılandırmasında `jsonlDialect: "claude-stream-json"` ayarlayın.
## MCP paket bindirmeleri
## Bundle MCP katmanları
CLI arka uçları OpenClaw araç çağrılarını **doğrudan** almaz, ancak bir arka uç
`bundleMcp: true` ile üretilmiş bir MCP yapılandırma bindirmesine katılabilir.
CLI arka uçları OpenClaw araç çağrılarını **doğrudan** almaz, ancak bir arka uç `bundleMcp: true` ile oluşturulmuş bir MCP yapılandırma katmanını kullanmayı seçebilir.
Geçerli paketli davranış:
Mevcut paketlenmiş davranış:
- `claude-cli`: üretilmiş katı MCP yapılandırma dosyası
- `claude-cli`: oluşturulmuş katı MCP yapılandırma dosyası
- `codex-cli`: `mcp_servers` için satır içi yapılandırma geçersiz kılmaları
- `google-gemini-cli`: üretilmiş Gemini sistem ayarları dosyası
- `google-gemini-cli`: oluşturulmuş Gemini sistem ayarları dosyası
MCP paketi etkinleştirildiğinde OpenClaw:
Bundle MCP etkinleştirildiğinde OpenClaw:
- CLI sürecine Gateway araçlarını sunan bir loopback HTTP MCP sunucusu başlatır
- köprüyü oturum başına token ile kimlik doğrular (`OPENCLAW_MCP_TOKEN`)
- CLI sürecine gateway araçlarını sunan döngüsel bir HTTP MCP sunucusu başlatır
- köprüyü oturum başına bir token ile doğrular (`OPENCLAW_MCP_TOKEN`)
- araç erişimini geçerli oturum, hesap ve kanal bağlamıyla sınırlar
- geçerli çalışma alanı için etkin bundle-MCP sunucularını yükler
- bunları mevcut arka uç MCP yapılandırması/ayar biçimiyle birleştirir
- başlatma yapılandırmasını, ilgili extension'dan gelen arka uca ait entegrasyon modunu kullanarak yeniden yazar
- bunları mevcut arka uç MCP yapılandırması/ayar şekli ile birleştirir
- başlatma yapılandırmasını sahibi olan eklentinin sahip olduğu entegrasyon modunu kullanarak yeniden yazar
Hiçbir MCP sunucusu etkin değilse bile, bir arka uç
bundle MCP'ye katıldığında OpenClaw yine de katı bir yapılandırma enjekte eder; böylece arka plan çalıştırmaları yalıtılmış kalır.
Hiçbir MCP sunucusu etkin değilse, OpenClaw bir arka uç bundle MCP'yi seçtiğinde arka plan çalıştırmaları yalıtılmış kalsın diye yine de katı bir yapılandırma ekler.
## Sınırlamalar
- **Doğrudan OpenClaw araç çağrıları yoktur.** OpenClaw, CLI arka ucu protokolüne
araç çağrıları enjekte etmez. Arka uçlar Gateway araçlarını yalnızca
`bundleMcp: true` seçeneğine katıldıklarında görür.
- **Akış arka uca özeldir.** Bazı arka uçlar JSONL akışı yapar; diğerleri
çıkışa kadar tamponlar.
- **Yapılandırılmış çıktılar**, CLI'ın JSON biçimine bağlıdır.
- **Codex CLI oturumları**, metin çıktısı üzerinden resume eder (JSONL yoktur); bu,
ilk `--json` çalıştırmasına göre daha az yapılandırılmıştır. OpenClaw oturumları yine de normal çalışır.
- **Doğrudan OpenClaw araç çağrıları yoktur.** OpenClaw, CLI arka ucu protokolüne araç çağrıları eklemez. Arka uçlar gateway araçlarını yalnızca `bundleMcp: true` seçtiklerinde görür.
- **Akış arka uca özeldir.** Bazı arka uçlar JSONL akışı yapar; diğerleri çıkışa kadar tamponlar.
- **Yapılandırılmış çıktılar** CLI'nin JSON biçimine bağlıdır.
- **Codex CLI oturumları** metin çıktısı üzerinden sürdürülür (JSONL yoktur); bu, ilk `--json` çalıştırmasına göre daha az yapılandırılmıştır. OpenClaw oturumları yine de normal çalışır.
## Sorun giderme
- **CLI bulunamadı**: `command` değerini tam yol olarak ayarlayın.
- **Yanlış model adı**: `provider/model` → CLI model eşlemesi yapmak için `modelAliases` kullanın.
- **Oturum sürekliliği yok**: `sessionArg` ayarlandığından ve `sessionMode` değerinin
`none` olmadığından emin olun (Codex CLI şu anda JSON çıktısıyla resume edemez).
- **Görüntüler yok sayılıyor**: `imageArg` ayarlayın (ve CLI'ın dosya yollarını desteklediğini doğrulayın).
- **Yanlış model adı**: `provider/model` → CLI modeli eşlemesi için `modelAliases` kullanın.
- **Oturum sürekliliği yok**: `sessionArg` ayarlandığından ve `sessionMode` değerinin `none` olmadığından emin olun (Codex CLI şu anda JSON çıktısı ile sürdüremez).
- **Görüntüler yok sayılıyor**: `imageArg` ayarlayın (ve CLI'nin dosya yollarını desteklediğini doğrulayın).

File diff suppressed because it is too large Load Diff