CLI arka uçları (geri dönüş çalışma zamanı)
OpenClaw, API sağlayıcıları kapalı olduğunda, hız sınırlamasına takıldığında veya geçici olarak hatalı davrandığında metinle sınırlı bir geri dönüş olarak yerel AI CLI’leri çalıştırabilir. Bu tasarım kasıtlı olarak temkinlidir:- OpenClaw araçları doğrudan eklenmez, ancak
bundleMcp: trueolan arka uçlar araçları bir loopback MCP köprüsü üzerinden 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 iletilebilir.
Yeni başlayanlar için hızlı başlangıç
Codex CLI’yi hiç yapılandırma olmadan kullanabilirsiniz (paketle gelen OpenAI Plugin varsayılan bir arka uç kaydeder):agents.defaults.cliBackends altında açıkça başvurduğunda OpenClaw artık ilgili paketli Plugin’i otomatik olarak yükler.
Bunu geri dönüş olarak kullanma
Yalnızca birincil modeller başarısız olduğunda çalışması için geri dönüş listenize bir CLI arka ucu ekleyin:agents.defaults.models(izin listesi) kullanıyorsanız, CLI arka uç modellerinizi de oraya eklemeniz gerekir.- Birincil sağlayıcı başarısız olursa (kimlik doğrulama, hız sınırları, zaman aşımları), OpenClaw sıradaki CLI arka ucunu dener.
Yapılandırmaya genel bakış
Tüm CLI arka uçları şunun altında bulunur:codex-cli, my-cli gibi).
Sağlayıcı kimliği, model ref’inizin sol tarafı olur:
Örnek yapılandırma
Nasıl çalışır
- Sağlayıcı önekine göre (
codex-cli/...) bir arka uç seçer. - Aynı OpenClaw istemi + çalışma alanı bağlamını kullanarak bir sistem istemi oluşturur.
- Geçmiş tutarlı kalsın diye CLI’yi bir oturum kimliğiyle (destekleniyorsa) çalıştırır.
- Çıktıyı (JSON veya düz metin) ayrıştırır ve son metni döndürür.
- Arka uç başına oturum kimliklerini kalıcılaştırır, böylece takip eden istekler aynı CLI oturumunu yeniden kullanır.
Paketle gelen 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 yüzden OpenClaw
Anthropic yeni bir ilke yayımlamadıkça bu entegrasyon için
claude -p kullanımını onaylanmış kabul eder.codex-cli arka ucu, OpenClaw’ın 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ğı sunmaz, bu yüzden OpenClaw her yeni Codex CLI oturumu için
oluşturulan istemi geçici bir dosyaya yazar.
Paketle gelen Anthropic claude-cli arka ucu, OpenClaw Skills anlık görüntüsünü
iki yolla alır: eklenen sistem istemindeki kompakt OpenClaw Skills kataloğu ve
--plugin-dir ile geçirilen geçici bir Claude Code Plugin. Plugin yalnızca o agent/oturum için
uygun Skills öğelerini içerir; böylece Claude Code’un yerel beceri çözücüsü,
OpenClaw’ın istemde normalde duyuracağı aynı filtrelenmiş kümesi 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.
Oturumlar
- CLI oturumları destekliyorsa, oturum kimliği gönderilmesi için
sessionArg(--session-idgibi) veya kimliğin birden çok bayrağa eklenmesi gerekiyorsasessionArgs({sessionId}yer tutuculu) ayarlayın. - CLI farklı bayraklara sahip bir resume alt komutu kullanıyorsa,
resumeArgsayarlayın (yeniden devam ederkenargsyerine geçer) ve isteğe bağlı olarakresumeOutputayarlayın (JSON olmayan devamlar için). sessionMode:always: her zaman bir oturum kimliği gönderir (saklanmış yoksa yeni bir UUID).existing: yalnızca daha önce saklanmış bir oturum kimliği varsa gönderir.none: hiçbir zaman oturum kimliği göndermez.
serialize: true, aynı şeritteki çalıştırmaları sıralı tutar.- Çoğu CLI tek bir sağlayıcı şeridinde serileştirme yapar.
- Kimlik doğrulama durumu değiştiğinde OpenClaw saklanan CLI oturumu yeniden kullanımını bırakır; buna yeniden giriş, belirteç döndürme veya değiştirilmiş kimlik doğrulama profili kimlik bilgisi dahildir.
Görüntüler (iletim)
CLI’niz görüntü yollarını kabul ediyorsa,imageArg ayarlayın:
imageArg ayarlanmışsa bu
yollar CLI bağımsız değişkenleri olarak geçirilir. imageArg eksikse OpenClaw
dosya yollarını isteme ekler (yol ekleme); 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,
usageeksik veya boş olduğunda OpenClaw yanıt metniniresponsealanından, kullanımı isestatsalanından okur. output: "jsonl", JSONL akışlarını ayrıştırır (örneğin Codex CLI--json) ve mevcutsa son agent mesajını artı oturum tanımlayıcılarını çıkarır.output: "text", stdout’u son yanıt olarak ele alır.
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
maxPromptArgCharsayarlanmışsa stdin kullanılır.
Varsayılanlar (Plugin sahipliğinde)
Paketle gelen OpenAI Plugin ayrıcacodex-cli için bir varsayılan kaydeder:
command: "codex"args: ["exec","--json","--color","never","--sandbox","workspace-write","--skip-git-repo-check"]resumeArgs: ["exec","resume","{sessionId}","-c","sandbox_mode=\"workspace-write\"","--skip-git-repo-check"]output: "jsonl"resumeOutput: "text"modelArg: "--model"imageArg: "--image"sessionMode: "existing"
google-gemini-cli için bir varsayılan kaydeder:
command: "gemini"args: ["--output-format", "json", "--prompt", "{prompt}"]resumeArgs: ["--resume", "{sessionId}", "--output-format", "json", "--prompt", "{prompt}"]imageArg: "@"imagePathScope: "workspace"modelArg: "--model"sessionMode: "existing"sessionIdFields: ["session_id", "sessionId"]
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
responsealanından okunur. usageyoksa veya boşsa kullanımstatsalanına geri döner.stats.cached, OpenClawcacheReaddeğerine normalize edilir.stats.inputeksikse OpenClaw girdi belirteçlerinistats.input_tokens - stats.cachedüzerinden türetir.
command yolu).
Plugin sahipliğindeki varsayılanlar
CLI arka ucu varsayılanları artık Plugin yüzeyinin bir parçasıdır:- Plugin’ler bunları
api.registerCliBackend(...)ile kaydeder. - Arka uç
iddeğeri, model ref’lerdeki sağlayıcı ö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ı
normalizeConfigkancası aracılığıyla Plugin sahipliğinde kalır.
input, CLI’ye geçirilen sistem istemini ve kullanıcı istemini yeniden yazar. output
ise OpenClaw kendi denetim işaretçilerini ve kanal teslimini işlemeden önce
akışlı asistan deltalarını ve ayrıştırılmış son metni yeniden yazar.
Claude Code stream-json uyumlu JSONL üreten CLI’ler için,
o arka ucun yapılandırmasında jsonlDialect: "claude-stream-json" ayarlayın.
Bundle MCP katmanları
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ına katılabilir.
Mevcut paketli davranış:
claude-cli: oluşturulmuş sıkı MCP yapılandırma dosyasıcodex-cli:mcp_serversiçin satır içi yapılandırma geçersiz kılmalarıgoogle-gemini-cli: oluşturulmuş Gemini sistem ayarları dosyası
- CLI sürecine gateway araçlarını açan bir loopback HTTP MCP sunucusu başlatır
- köprüyü oturum başına bir belirteçle (
OPENCLAW_MCP_TOKEN) kimlik doğrular - araç erişimini geçerli oturum, hesap ve kanal bağlamıyla sınırlar
- geçerli çalışma alanı için etkin bundle-MCP sunucularını yükler
- bunları mevcut arka uç MCP yapılandırması/ayar şekliyle birleştirir
- başlatma yapılandırmasını sahip olan uzantının arka uç sahipliğindeki entegrasyon modunu kullanarak yeniden yazar
Sınırlamalar
- Doğrudan OpenClaw araç çağrıları yoktur. OpenClaw, araç çağrılarını
CLI arka ucu protokolüne eklemez. Arka uçlar gateway araçlarını yalnızca
bundleMcp: trueile katıldıklarında görür. - Akış arka uca özeldir. Bazı arka uçlar JSONL akışı yapar; diğerleri çıkışa kadar arabelleğe alır.
- Yapılandırılmış çıktılar, CLI’nin JSON biçimine bağlıdır.
- Codex CLI oturumları, metin çıktısı üzerinden devam eder (JSONL yoktur); bu da
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ı:
commanddeğerini tam yol olarak ayarlayın. - Yanlış model adı:
provider/model→ CLI modeli eşlemesi içinmodelAliaseskullanın. - Oturum sürekliliği yok:
sessionArgayarlı olduğundan vesessionModedeğerininnoneolmadığından emin olun (Codex CLIşu anda JSON çıktısıyla devam edemez). - Görüntüler yok sayılıyor:
imageArgayarlayın (ve CLI’nin dosya yollarını desteklediğini doğrulayın).