OpenClaw, API sağlayıcıları devre dışı kaldığında, hız sınırına takıldığında veya geçici olarak hatalı davrandığında yerel AI CLI’larını yalnızca metin yedeği olarak çalıştırabilir. Bu bilinçli olarak korumacı tasarlanmıştır:Documentation Index
Fetch the complete documentation index at: https://docs.openclaw.ai/llms.txt
Use this file to discover all available pages before exploring further.
- OpenClaw araçları doğrudan enjekte edilmez, ancak
bundleMcp: trueolan backend’ler bir loopback MCP köprüsü üzerinden gateway araçlarını alabilir. - Destekleyen CLI’lar için JSONL akışı.
- Oturumlar desteklenir (böylece takip turları tutarlı kalır).
- CLI görüntü yollarını kabul ediyorsa görüntüler geçirilebilir.
Yeni başlayanlar için hızlı başlangıç
Codex CLI’ı herhangi bir yapılandırma olmadan kullanabilirsiniz (birlikte gelen OpenAI plugin’i varsayılan bir backend kaydeder):agents.defaults.cliBackends altında açıkça başvurduğunda OpenClaw artık sahibi olan birlikte gelen plugin’i otomatik olarak yükler.
Yedek olarak kullanma
Birincil modeller başarısız olduğunda yalnızca o zaman çalışması için yedek listenize bir CLI backend’i ekleyin:agents.defaults.models(izin listesi) kullanıyorsanız, CLI backend modellerinizi de oraya eklemelisiniz.- Birincil sağlayıcı başarısız olursa (kimlik doğrulama, hız sınırları, zaman aşımları), OpenClaw sonraki olarak CLI backend’ini dener.
Yapılandırma özeti
Tüm CLI backend’leri şu konumda bulunur:codex-cli, my-cli).
Sağlayıcı kimliği, model ref’inizin sol tarafı olur:
Örnek yapılandırma
Nasıl çalışır?
- Sağlayıcı önekine (
codex-cli/...) göre bir backend seçer. - Aynı OpenClaw istemi + çalışma alanı bağlamını kullanarak bir sistem istemi oluşturur.
- Geçmişin tutarlı kalması için CLI’ı bir oturum kimliğiyle (destekleniyorsa) çalıştırır.
Birlikte gelen
claude-clibackend’i, her OpenClaw oturumu için bir Claude stdio sürecini canlı tutar ve takip turlarını stream-json stdin üzerinden gönderir. - Çıktıyı ayrıştırır (JSON veya düz metin) ve son metni döndürür.
- Takiplerin aynı CLI oturumunu yeniden kullanması için backend başına oturum kimliklerini kalıcı hale getirir.
Birlikte gelen Anthropic
claude-cli backend’i yeniden desteklenmektedir. Anthropic çalışanları
bize OpenClaw tarzı Claude CLI kullanımına yeniden izin verildiğini söyledi; bu nedenle OpenClaw,
Anthropic yeni bir politika yayımlamadıkça bu entegrasyon için claude -p kullanımını onaylı kabul eder.codex-cli backend’i, OpenClaw’ın sistem istemini
Codex’in model_instructions_file yapılandırma geçersiz kılması üzerinden geçirir (-c model_instructions_file="..."). Codex, Claude tarzı bir
--append-system-prompt bayrağı sunmadığından, OpenClaw derlenen istemi her yeni Codex CLI oturumu için
geçici bir dosyaya yazar.
Birlikte gelen Anthropic claude-cli backend’i, 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’i. Plugin,
yalnızca o ajan/oturum için uygun Skills’i içerir; böylece Claude Code’un yerel skill
çözümleyicisi, OpenClaw’ın aksi halde istemde duyuracağı aynı filtrelenmiş kümeyi görür.
Skill env/API anahtarı geçersiz kılmaları, çalışma için child process ortamına hâlâ OpenClaw tarafından uygulanır.
Claude CLI’ın kendi etkileşimsiz izin modu da vardır. OpenClaw, Claude’a özgü yapılandırma eklemek yerine bunu
mevcut exec politikasına eşler: geçerli istenen exec politikası YOLO olduğunda (tools.exec.security: "full" ve
tools.exec.ask: "off"), OpenClaw --permission-mode bypassPermissions ekler.
Ajan başına agents.list[].tools.exec ayarları, o ajan için global tools.exec ayarlarını geçersiz kılar.
Farklı bir Claude modunu zorlamak için agents.defaults.cliBackends.claude-cli.args ve eşleşen resumeArgs altında
--permission-mode default veya --permission-mode acceptEdits gibi açık raw backend argümanları ayarlayın.
Birlikte gelen Anthropic claude-cli backend’i, OpenClaw /think düzeylerini
kapalı olmayan düzeyler için Claude Code’un yerel --effort bayrağına da eşler. minimal ve
low, low değerine; adaptive ve medium, medium değerine; high,
xhigh ve max ise doğrudan eşlenir. Diğer CLI backend’lerinde /think’in başlatılan CLI’ı etkileyebilmesi için
sahibi olan plugin’in eşdeğer bir argv eşleyicisi bildirmesi gerekir.
OpenClaw birlikte gelen claude-cli backend’ini kullanmadan önce, Claude Code’un kendisi
aynı ana makinede zaten oturum açmış olmalıdır:
agents.defaults.cliBackends.claude-cli.command değerini yalnızca claude
binary’si zaten PATH üzerinde değilse kullanın.
Oturumlar
- CLI oturumları destekliyorsa, kimliğin birden çok bayrağa eklenmesi gerektiğinde
sessionArg(örn.--session-id) veyasessionArgs(yer tutucu{sessionId}) ayarlayın. - CLI farklı bayraklarla bir resume alt komutu kullanıyorsa,
resumeArgs(sürdürürkenargsyerine geçer) ve isteğe bağlı olarakresumeOutput(JSON olmayan sürdürmeler için) ayarlayın. sessionMode:always: her zaman bir oturum kimliği gönderir (saklanan yoksa yeni UUID).existing: yalnızca daha önce saklanan bir oturum kimliği varsa gönderir.none: hiçbir zaman oturum kimliği göndermez.
claude-clivarsayılan olarakliveSession: "claude-stdio",output: "jsonl"veinput: "stdin"kullanır; böylece takip turları 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ırmalar için de geçerlidir. Gateway yeniden başlatılırsa veya boşta duran süreç çıkarsa, OpenClaw saklanan Claude oturum kimliğinden sürdürür. Saklanan oturum kimlikleri, sürdürmeden önce mevcut okunabilir bir proje transkriptiyle doğrulanır; böylece hayalet bağlar--resumealtında sessizce yeni bir Claude CLI oturumu başlatmak yerinereason=transcript-missingile temizlenir.- Claude canlı oturumları sınırlı JSONL çıktı korumalarını korur. Varsayılanlar tur başına
8 MiB ve 20.000 raw JSONL satırına kadar izin verir. Araç yoğun Claude turları bunları backend başına
agents.defaults.cliBackends.claude-cli.reliability.outputLimits.maxTurnRawCharsvemaxTurnLinesile artırabilir; OpenClaw bu ayarları 64 MiB ve 100.000 satırla sınırlar. - Saklanan CLI oturumları sağlayıcıya ait sürekliliktir. Örtük günlük oturum sıfırlaması
bunları kesmez;
/resetve açıksession.resetpolitikaları yine keser. - Yeni CLI oturumları normalde yalnızca OpenClaw’ın Compaction özeti
ve Compaction sonrası kuyruğundan yeniden tohumlanır. Compaction öncesinde geçersiz kılınan
kısa oturumları kurtarmak için bir backend
reseedFromRawTranscriptWhenUncompacted: trueile katılabilir. OpenClaw raw transkript yeniden tohumlamayı yine sınırlı tutar ve bunu eksik CLI transkriptleri, sistem istemi/MCP değişiklikleri veya oturum süresi dolmuş yeniden denemesi gibi güvenli geçersiz kılmalarla sınırlar; kimlik doğrulama profili veya kimlik bilgisi epoch değişiklikleri raw transkript geçmişini asla yeniden tohumlamaz.
serialize: true, aynı kulvardaki çalıştırmaları sıralı tutar.- Çoğu CLI tek bir sağlayıcı kulvarında serileştirir.
- Seçilen kimlik doğrulama kimliği değiştiğinde OpenClaw, saklanan CLI oturumunun yeniden kullanımını bırakır; buna değişen kimlik doğrulama profili kimliği, statik API anahtarı, statik token veya CLI’ın sunduğu durumlarda OAuth hesap kimliği dahildir. OAuth erişim ve yenileme token rotasyonu, saklanan CLI oturumunu kesmez. Bir CLI kararlı bir OAuth hesap kimliği sunmuyorsa, OpenClaw sürdürme izinlerini o CLI’ın uygulamasına bırakır.
claude-cli oturumlarından yedek başlangıcı
Birclaude-cli denemesi
agents.defaults.model.fallbacks içindeki CLI olmayan bir adaya devredildiğinde, OpenClaw
sonraki denemeyi Claude Code’un ~/.claude/projects/ konumundaki yerel
JSONL transkriptinden toplanan bir bağlam başlangıcıyla tohumlar. Bu tohum olmadan, OpenClaw’ın kendi oturum transkripti
claude-cli çalıştırmaları için boş olduğundan yedek sağlayıcı soğuk başlar.
- Başlangıç, en son
/compactözetini veyacompact_boundaryişaretçisini tercih eder, ardından karakter bütçesine kadar en yeni sınır sonrası turları ekler. Sınır öncesi turlar, özet zaten onları temsil ettiği için atılır. - Araç blokları, istem bütçesini doğru tutmak için kompakt
(tool call: name)ve(tool result: …)ipuçlarında birleştirilir. Özet taşarsa(truncated)olarak etiketlenir. - Aynı sağlayıcı
claude-cli->claude-cliyedekleri Claude’un kendi--resumemekanizmasına dayanır ve başlangıcı atlar. - Tohum, mevcut Claude oturum dosyası yolu doğrulamasını yeniden kullanır; bu nedenle rastgele yollar okunamaz.
Görüntüler (geçirme)
CLI’ınız görüntü yollarını kabul ediyorsaimageArg ayarlayın:
imageArg ayarlanmışsa, bu
yollar CLI argümanları olarak geçirilir. imageArg eksikse, OpenClaw dosya yollarını
isteme ekler (yol enjeksiyonu); bu, yerel dosyaları düz yollardan otomatik yükleyen CLI’lar 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,
usageeksik veya boş olduğunda yanıt metniniresponseiçinden ve kullanımıstatsiçinden okur. output: "jsonl", JSONL akışlarını (örneğin Codex CLI--json) ayrıştırır ve varsa son ajan iletisini ve oturum tanımlayıcılarını çıkarır.output: "text", stdout’u son yanıt olarak kabul eder.
input: "arg"(varsayılan), istemi son CLI argümanı olarak geçirir.input: "stdin", istemi stdin üzerinden gönderir.- İstem çok uzunsa ve
maxPromptArgCharsayarlanmışsa stdin kullanılır.
Varsayılanlar (plugin’e ait)
Birlikte gelen OpenAI plugin’i 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"]
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
responsealanından okunur. usageyoksa veya boşsa kullanımstatsdeğerine geri döner.stats.cached, OpenClawcacheReadolarak normalleştirilir.stats.inputeksikse OpenClaw giriş token’larınıstats.input_tokens - stats.cacheddeğerinden türetir.
command yolu).
Plugin’e ait varsayılanlar
CLI arka uç varsayılanları artık Plugin yüzeyinin bir parçasıdır:- Plugin’ler bunları
api.registerCliBackend(...)ile kaydeder. - Arka uç
iddeğeri, model başvurularında 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ı
normalizeConfighook’u üzerinden Plugin’e ait kalır.
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ıştaki asistan deltalarını ve ayrıştırılmış son metni yeniden yazar.
Claude Code stream-json uyumlu JSONL yayan CLI’ler için, o arka ucun yapılandırmasında
jsonlDialect: "claude-stream-json" ayarlayın.
Bundle MCP kaplamaları
CLI arka uçları OpenClaw araç çağrılarını doğrudan almaz, ancak bir arka uçbundleMcp: true ile oluşturulan MCP yapılandırma kaplamasına dahil olmayı seçebilir.
Geçerli paketlenmiş davranış:
claude-cli: oluşturulan katı MCP yapılandırma dosyasıcodex-cli:mcp_serversiçin satır içi yapılandırma geçersiz kılmaları; oluşturulan OpenClaw loopback sunucusu, MCP çağrılarının yerel onay prompt’larında takılmaması için Codex’in sunucu başına araç onay modu ile işaretlenirgoogle-gemini-cli: oluşturulan Gemini sistem ayarları dosyası
- CLI sürecine Gateway araçlarını sunan bir loopback HTTP MCP sunucusu başlatır
- köprünün kimliğini 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 etkinleştirilmiş bundle-MCP sunucularını yükler
- bunları mevcut arka uç MCP yapılandırma/ayar biçimleriyle birleştirir
- başlatma yapılandırmasını, sahip uzantıdan gelen arka uca ait entegrasyon modunu kullanarak yeniden yazar
mcp.sessionIdleTtlMs milisaniye boşta kalma süresinden sonra temizlenir (varsayılan 10
dakika; devre dışı bırakmak için 0 ayarlayın). Kimlik doğrulama yoklamaları,
slug oluşturma ve active-memory recall gibi tek seferlik gömülü çalıştırmalar, stdio
alt süreçlerinin ve Streamable HTTP/SSE akışlarının çalıştırmadan daha uzun yaşamaması için çalıştırma sonunda temizlik ister.
Sınırlamalar
- Doğrudan OpenClaw araç çağrısı yok. OpenClaw, araç çağrılarını
CLI arka uç protokolüne enjekte etmez. Arka uçlar Gateway araçlarını yalnızca
bundleMcp: trueseçtiklerinde görür. - Akış arka uca özgüdür. Bazı arka uçlar JSONL akışı yapar; diğerleri çıkışa kadar arabelleğe alır.
- Yapılandırılmış çıktılar CLI’nin JSON biçimine bağlıdır.
- Codex CLI oturumları metin çıktısı üzerinden sürdürülür (JSONL yoktur), bu da ilk
--jsonçalıştırmasına göre daha az yapılandırılmıştır. OpenClaw oturumları yine de normal şekilde çalışır.
Sorun giderme
- CLI bulunamadı:
commanddeğerini tam bir yol olarak ayarlayın. - Yanlış model adı:
provider/model→ CLI model eşlemesi içinmodelAliaseskullanın. - Oturum sürekliliği yok:
sessionArgayarlandığından vesessionModedeğerininnoneolmadığından emin olun (Codex CLI şu anda JSON çıktısıyla sürdürülemez). - Görseller yok sayıldı:
imageArgayarlayın (ve CLI’nin dosya yollarını desteklediğini doğrulayın).