CLI arka uçları (yedek çalışma zamanı)
OpenClaw, API sağlayıcıları kapalıyken, oran sınırlamasına takıldığında veya geçici olarak hatalı davrandığında yalnızca metinli bir yedek olarak yerel AI CLI’lerini çalıştırabilir. Bu bilinçli olarak temkinli bir yaklaşımdır:- Araçlar devre dışıdır (araç çağrısı yok).
- Metin gir → metin çık (güvenilir).
- Oturumlar desteklenir (takip eden turların tutarlı kalması için).
- CLI görüntü yollarını kabul ediyorsa, görüntüler iletilebilir.
Yeni başlayanlar için hızlı başlangıç
Claude Code CLI’yi hiçbir yapılandırma olmadan kullanabilirsiniz (OpenClaw yerleşik bir varsayılanla gelir):Yedek olarak kullanma
Birincil modeller başarısız olduğunda çalışması için yedek listenize bir CLI arka ucu ekleyin:agents.defaults.models(izin listesi) kullanıyorsanız,claude-cli/...eklemelisiniz.- Birincil sağlayıcı başarısız olursa (kimlik doğrulama, oran sınırlamaları, zaman aşımları), OpenClaw sıradaki olarak CLI arka ucunu dener.
Yapılandırmaya genel bakış
Tüm CLI arka uçları şurada bulunur:claude-cli, my-cli).
Sağlayıcı kimliği, model referansınızın sol tarafı olur:
Örnek yapılandırma
Nasıl çalışır
- Bir arka uç seçer, sağlayıcı önekine göre (
claude-cli/...). - Bir sistem istemi oluşturur, aynı OpenClaw istemi + çalışma alanı bağlamını kullanarak.
- CLI’yi çalıştırır, geçmişin tutarlı kalması için (destekleniyorsa) bir oturum kimliğiyle.
- Çıktıyı ayrıştırır (JSON veya düz metin) ve nihai metni döndürür.
- Oturum kimliklerini kalıcılaştırır, böylece takip eden istekler aynı CLI oturumunu yeniden kullanır.
Sessions
- CLI oturumları destekliyorsa,
sessionArg(örn.--session-id) veya kimliğin birden fazla bayrağa eklenmesi gerektiğindesessionArgs(yer tutucu{sessionId}) ayarlayın. - CLI farklı bayraklara sahip bir resume alt komutu kullanıyorsa,
resumeArgsayarlayın (devam ederkenargsyerine geçer) ve isteğe bağlı olarakresumeOutput(JSON olmayan devamlar için). sessionMode:always: her zaman bir oturum kimliği gönder (saklı yoksa yeni bir UUID).existing: yalnızca daha önce saklanmış bir oturum kimliği varsa gönder.none: asla oturum kimliği gönderme.
Görüntüler (iletim)
CLI’niz görüntü yollarını kabul ediyorsa,imageArg ayarlayın:
imageArg ayarlanırsa, bu
yollar CLI argümanları olarak iletilir. imageArg eksikse, OpenClaw dosya
yollarını isteme ekler (yol enjeksiyonu); bu, düz yollardan yerel dosyaları otomatik
yükleyen CLI’ler için yeterlidir (Claude Code CLI davranışı).
Girdiler / çıktılar
output: "json"(varsayılan) JSON’u ayrıştırmayı ve metin + oturum kimliğini çıkarmayı dener.output: "jsonl", JSONL akışlarını (Codex CLI--json) ayrıştırır ve mevcutsa son ajan mesajını vethread_id’u çıkarır.output: "text", stdout’u nihai yanıt olarak ele alır.
input: "arg"(varsayılan) istemi son CLI argümanı olarak iletir.input: "stdin", istemi stdin üzerinden gönderir.- İstem çok uzunsa ve
maxPromptArgCharsayarlıysa, stdin kullanılır.
Varsayılanlar (yerleşik)
OpenClaw,claude-cli için bir varsayılanla gelir:
command: "claude"args: ["-p", "--output-format", "json", "--dangerously-skip-permissions"]resumeArgs: ["-p", "--output-format", "json", "--dangerously-skip-permissions", "--resume", "{sessionId}"]modelArg: "--model"systemPromptArg: "--append-system-prompt"sessionArg: "--session-id"systemPromptWhen: "first"sessionMode: "always"
codex-cli için de bir varsayılanla gelir:
command: "codex"args: ["exec","--json","--color","never","--sandbox","read-only","--skip-git-repo-check"]resumeArgs: ["exec","resume","{sessionId}","--color","never","--sandbox","read-only","--skip-git-repo-check"]output: "jsonl"resumeOutput: "text"modelArg: "--model"imageArg: "--image"sessionMode: "existing"
command yolu).
Sınırlamalar
- OpenClaw araçları yok (CLI arka ucu hiçbir zaman araç çağrıları almaz). Bazı CLI’ler kendi ajan araçlarını yine de çalıştırabilir.
- Akış yok (CLI çıktısı toplanır, sonra döndürülür).
- Yapılandırılmış çıktılar, CLI’nin JSON formatına bağlıdır.
- Codex CLI oturumları, metin çıktısı üzerinden devam eder (JSONL yoktur); bu,
ilk
--jsonçalıştırmasına kıyasla daha az yapılandırılmıştır. OpenClaw oturumları yine de normal şekilde çalışır.
Sorun Giderme
- CLI bulunamadı:
command’i tam bir yol olarak ayarlayın. - Yanlış model adı:
modelAliaseskullanarakprovider/model→ CLI model eşlemesi yapın. - Oturum sürekliliği yok:
sessionArg’in ayarlı olduğundan vesessionMode’unnoneolmadığından emin olun (Codex CLI şu anda JSON çıktısıyla devam edemez). - Görüntüler yok sayılıyor:
imageArg’i ayarlayın (ve CLI’nin dosya yollarını desteklediğini doğrulayın).