CLI commands
Yapılandırma
openclaw.json için etkileşimsiz yardımcılar: yol üzerinden bir değeri getirin/ayarlayın/yamalayın/kaldırın, şemayı doğrulayın veya etkin dosya yolunu yazdırın. Alt komut olmadan openclaw config çalıştırıldığında, openclaw configure ile aynı yönlendirmeli sihirbaz açılır.
Kök seçenekleri
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Ii0tc2VjdGlvbiA8c2VjdGlvbg
" type="string">
Alt komut olmadan openclaw config çalıştırdığınızda kullanılabilen, yinelenebilir yönlendirmeli kurulum bölümü filtresi.
Yönlendirmeli bölümler: workspace, model, web, gateway, daemon, channels, plugins, skills, health.
Örnekler
openclaw config fileopenclaw config --section modelopenclaw config --section gateway --section daemonopenclaw config schemaopenclaw config get browser.executablePathopenclaw config set browser.executablePath "/usr/bin/google-chrome"openclaw config set browser.profiles.work.executablePath "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"openclaw config set agents.defaults.heartbeat.every "2h"openclaw config set 'agents.list[0].tools.exec.node' "node-id-or-name"openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeopenclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKENopenclaw config set secrets.providers.vaultfile --provider-source file --provider-path /etc/openclaw/secrets.json --provider-mode jsonopenclaw config patch --file ./openclaw.patch.json5 --dry-runopenclaw config unset plugins.entries.brave.config.webSearch.apiKeyopenclaw config set channels.discord.token --ref-provider default --ref-source env --ref-id DISCORD_BOT_TOKEN --dry-runopenclaw config validateopenclaw config validate --jsonYollar
Nokta veya köşeli ayraç gösterimi. zsh'nin [0] ifadesini glob deseni olarak genişletmemesi için kabuk örneklerindeki köşeli ayraçlı yolları tırnak içine alın:
openclaw config get agents.defaults.workspaceopenclaw config get 'agents.list[0].id'openclaw config get agents.listopenclaw config set 'agents.list[1].tools.exec.node' "node-id-or-name"config get
Gizli bilgileri çıkarılmış yapılandırma anlık görüntüsünden bir değer okur (gizli bilgiler hiçbir zaman yazdırılmaz). --json, ham değeri JSON olarak yazdırır; aksi takdirde dizeler/sayılar/boole değerleri yalın, nesneler/diziler ise biçimlendirilmiş JSON olarak yazdırılır.
openclaw config get browser.executablePathopenclaw config get agents.defaults.model --jsonconfig file
OPENCLAW_CONFIG_PATH veya varsayılan konumdan çözümlenen etkin yapılandırma dosyasının yolunu yazdırır. Yol, sembolik bağlantıyı değil normal bir dosyayı belirtir; bkz. Yazma güvenliği.
config schema
openclaw.json için oluşturulan JSON şemasını standart çıktıya yazdırır.
İçerdikleri
- Geçerli kök yapılandırma şeması ve düzenleyici araçları için kök düzeyinde bir
$schemadize alanı. - Control UI tarafından kullanılan
title/descriptionalan dokümantasyonu meta verileri. - Eşleşen alan dokümantasyonu mevcut olduğunda iç içe nesne, joker karakter (
*) ve dizi öğesi ([]) düğümleri aynıtitle/descriptionmeta verilerini devralır. anyOf/oneOf/allOfdalları da aynı dokümantasyon meta verilerini devralır.- Çalışma zamanı manifestleri yüklenebildiğinde azami çabayla elde edilen canlı Plugin + kanal şeması meta verileri.
- Geçerli yapılandırma geçersiz olsa bile temiz bir yedek şema.
İlgili çalışma zamanı RPC'si
config.schema.lookup, yüzeysel bir şema düğümü (title, description, type, enum, const, yaygın sınırlar), eşleşen kullanıcı arayüzü ipucu meta verileri ve doğrudan alt öğe özetleriyle birlikte normalleştirilmiş tek bir yapılandırma yolu döndürür. Control UI veya özel istemcilerde yol kapsamlı ayrıntıya inmek için bunu kullanın.
openclaw config schemaopenclaw config schema > openclaw.schema.jsonconfig validate
Gateway'i başlatmadan geçerli yapılandırmayı etkin şemaya göre doğrular.
openclaw config validateopenclaw config validate --jsonDeğerler
Değerler mümkün olduğunda JSON5 olarak ayrıştırılır; aksi takdirde ham dizeler olarak değerlendirilir. Dizeye geri dönüş olmadan standart JSON gerektirmek için --strict-json kullanın (yorumlar, sondaki virgüller veya tırnaksız anahtarlar gibi yalnızca JSON5'e özgü sözdizimleri bu durumda reddedilir). --json, config set üzerinde --strict-json için eski bir takma addır.
openclaw config set agents.defaults.heartbeat.every "0m"openclaw config set gateway.port 19001 --strict-jsonopenclaw config set channels.whatsapp.groups '["*"]' --strict-jsonconfig get <path> --json, terminal için biçimlendirilmiş metin yerine ham değeri JSON olarak yazdırır.
Bu eşlemelere girdiler eklerken --merge kullanın:
openclaw config set agents.defaults.models '{"openai/gpt-5.4":{}}' --strict-json --mergeopenclaw config set models.providers.ollama.models '[{"id":"llama3.2","name":"Llama 3.2"}]' --strict-json --merge--replace seçeneğini yalnızca sağlanan değerin bilinçli olarak hedef değerin tamamı olması gerektiğinde kullanın.
config set kipleri
Değer kipi
openclaw config set <path> <value>SecretRef oluşturucu kipi
openclaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKENSağlayıcı oluşturucu kipi
Yalnızca secrets.providers.<alias> yollarını hedefler:
openclaw config set secrets.providers.vault \ --provider-source exec \ --provider-command /usr/local/bin/openclaw-vault \ --provider-arg read \ --provider-arg openai/api-key \ --provider-timeout-ms 5000Toplu kip
openclaw config set --batch-json '[ { "path": "secrets.providers.default", "provider": { "source": "env" } }, { "path": "channels.discord.token", "ref": { "source": "env", "provider": "default", "id": "DISCORD_BOT_TOKEN" } }]'openclaw config set --batch-file ./config-set.batch.json --dry-runToplu ayrıştırma, doğruluk kaynağı olarak her zaman toplu yükü (--batch-json/--batch-file) kullanır; --strict-json / --json, toplu ayrıştırma davranışını değiştirmez.
JSON yol/değer kipi, SecretRef'ler ve sağlayıcılar için doğrudan da çalışır:
openclaw config set channels.discord.token \ '{"source":"env","provider":"default","id":"DISCORD_BOT_TOKEN"}' \ --strict-json openclaw config set secrets.providers.vaultfile \ '{"source":"file","path":"/etc/openclaw/secrets.json","mode":"json"}' \ --strict-jsonSağlayıcı oluşturucu bayrakları
Sağlayıcı oluşturucu hedefleri yol olarak secrets.providers.<alias> kullanmalıdır.
Ortak bayraklar
--provider-source <env|file|exec>--provider-timeout-ms <ms>(file,exec)
Ortam sağlayıcısı (--provider-source env)
--provider-allowlist <ENV_VAR>(yinelenebilir)
Dosya sağlayıcısı (--provider-source file)
--provider-path <path>(zorunlu)--provider-mode <singleValue|json>--provider-max-bytes <bytes>--provider-allow-insecure-path
Çalıştırma sağlayıcısı (--provider-source exec)
--provider-command <path>(zorunlu)--provider-arg <arg>(yinelenebilir)--provider-no-output-timeout-ms <ms>--provider-max-output-bytes <bytes>--provider-json-only--provider-env <KEY=VALUE>(yinelenebilir)--provider-pass-env <ENV_VAR>(yinelenebilir)--provider-trusted-dir <path>(yinelenebilir)--provider-allow-insecure-path--provider-allow-symlink-command
Güçlendirilmiş çalıştırma sağlayıcısı örneği:
openclaw config set secrets.providers.vault \ --provider-source exec \ --provider-command /usr/local/bin/openclaw-vault \ --provider-arg read \ --provider-arg openai/api-key \ --provider-json-only \ --provider-pass-env VAULT_TOKEN \ --provider-trusted-dir /usr/local/bin \ --provider-timeout-ms 5000config patch
Yol tabanlı çok sayıda config set komutu çalıştırmak yerine yapılandırma biçimli bir JSON5 yamasını yapıştırın veya boru hattıyla aktarın. Nesneler özyinelemeli olarak birleştirilir; diziler ve skaler değerler hedefi değiştirir; null, hedef yolu siler.
openclaw config patch --file ./openclaw.patch.json5 --dry-runopenclaw config patch --file ./openclaw.patch.json5Uzak kurulum betikleri için bir yamayı standart girdi üzerinden aktarın:
ssh user@gateway-host 'openclaw config patch --stdin --dry-run' < ./openclaw.patch.json5ssh user@gateway-host 'openclaw config patch --stdin' < ./openclaw.patch.json5Örnek yama:
{ channels: { slack: { enabled: true, mode: "socket", botToken: { source: "env", provider: "default", id: "SLACK_BOT_TOKEN" }, appToken: { source: "env", provider: "default", id: "SLACK_APP_TOKEN" }, groupPolicy: "open", requireMention: false, }, discord: { enabled: true, token: { source: "env", provider: "default", id: "DISCORD_BOT_TOKEN" }, dmPolicy: "disabled", dm: { enabled: false }, groupPolicy: "allowlist", }, }, agents: { defaults: { model: { primary: "openai/gpt-5.6-sol" }, models: { "openai/gpt-5.6-sol": { params: { fastMode: true } }, }, }, },}Bir nesne veya dizinin özyinelemeli olarak yamalanmak yerine tam olarak sağlanan değer olması gerektiğinde --replace-path <path> kullanın:
openclaw config patch --file ./discord.patch.json5 --replace-path 'channels.discord.guilds["123"].channels'--dry-run, yazmadan şema ve SecretRef çözümlenebilirliği denetimlerini çalıştırır. Çalıştırma tabanlı SecretRef'ler, deneme çalıştırması sırasında varsayılan olarak atlanır; deneme çalıştırmasının sağlayıcı komutlarını çalıştırmasını bilinçli olarak istediğinizde --allow-exec ekleyin.
Deneme çalıştırması
--dry-run, değişiklikleri openclaw.json dosyasına yazmadan doğrular. config set, config patch ve config unset üzerinde kullanılabilir.
openclaw config set channels.discord.token \ --ref-provider default \ --ref-source env \ --ref-id DISCORD_BOT_TOKEN \ --dry-run \ --json openclaw config set channels.discord.token \ --ref-provider vault \ --ref-source exec \ --ref-id discord/token \ --dry-run \ --allow-execDeneme çalıştırması davranışı
- Oluşturucu modu: değiştirilen referanslar/sağlayıcılar için SecretRef çözümlenebilirlik denetimlerini çalıştırır.
- JSON modu (
--strict-json,--jsonveya toplu iş modu): şema doğrulamasını ve SecretRef çözümlenebilirlik denetimlerini çalıştırır. - İlke doğrulaması, değişiklik sonrası yapılandırmanın tamamına uygulanır; bu nedenle üst nesne yazımları (örneğin
hooksdeğerini bir nesne olarak ayarlamak) desteklenmeyen yüzey doğrulamasını atlayamaz. - Komut yan etkilerini önlemek için Exec SecretRef denetimleri varsayılan olarak atlanır; etkinleştirmek için
--allow-execseçeneğini iletin (bu, sağlayıcı komutlarını çalıştırabilir).--allow-execyalnızca deneme çalıştırmasında kullanılabilir ve--dry-runolmadan hata verir.
--dry-run --json alanları
ok: deneme çalıştırmasının başarılı olup olmadığıoperations: değerlendirilen atama sayısıchecks: şema/çözümlenebilirlik denetimlerinin çalışıp çalışmadığıchecks.resolvabilityComplete: çözümlenebilirlik denetimlerinin tamamlanıp tamamlanmadığı (exec referansları atlandığında false)refsChecked: deneme çalıştırması sırasında gerçekten çözümlenen referans sayısıskippedExecRefs:--allow-execayarlanmadığı için atlanan exec referansı sayısıerrors:ok=falseolduğunda yapılandırılmış eksik yol, şema veya çözümlenebilirlik hataları
JSON çıktı biçimi
{ ok: boolean, operations: number, configPath: string, inputModes: ["value" | "json" | "builder" | "unset", ...], checks: { schema: boolean, resolvability: boolean, resolvabilityComplete: boolean, }, refsChecked: number, skippedExecRefs: number, errors?: [ { kind: "missing-path" | "schema" | "resolvability", message: string, ref?: string, // çözümlenebilirlik hatalarında bulunur }, ],}Başarı örneği
{ "ok": true, "operations": 1, "configPath": "~/.openclaw/openclaw.json", "inputModes": ["builder"], "checks": { "schema": false, "resolvability": true, "resolvabilityComplete": true }, "refsChecked": 1, "skippedExecRefs": 0}Hata örneği
{ "ok": false, "operations": 1, "configPath": "~/.openclaw/openclaw.json", "inputModes": ["builder"], "checks": { "schema": false, "resolvability": true, "resolvabilityComplete": true }, "refsChecked": 1, "skippedExecRefs": 0, "errors": [ { "kind": "resolvability", "message": "Hata: \"MISSING_TEST_SECRET\" ortam değişkeni ayarlanmamış.", "ref": "env:default:MISSING_TEST_SECRET" } ]}Deneme çalıştırması başarısız olursa
config schema validation failed: değişiklik sonrası yapılandırmanızın biçimi geçersizdir; yolu/değeri veya sağlayıcı/referans nesnesinin biçimini düzeltin.Config policy validation failed: unsupported SecretRef usage: ilgili kimlik bilgisini yeniden düz metin/dize girdisine taşıyın; SecretRef'leri yalnızca desteklenen yüzeylerde tutun.SecretRef assignment(s) could not be resolved: başvurulan sağlayıcı/referans şu anda çözümlenemiyor (eksik ortam değişkeni, geçersiz dosya işaretçisi, exec sağlayıcısı hatası veya sağlayıcı/kaynak uyuşmazlığı).Dry run note: skipped <n> exec SecretRef resolvability check(s): exec çözümlenebilirlik doğrulamasına ihtiyacınız varsa--allow-execile yeniden çalıştırın.- Toplu iş modunda, başarısız girdileri düzeltin ve yazma işleminden önce
--dry-runseçeneğini yeniden çalıştırın.
Değişiklikleri uygulama
Her başarılı config set / config patch / config unset işleminden sonra CLI, Gateway'in yeniden başlatılması gerekip gerekmediğini bilmeniz için üç ipucundan birini yazdırır:
| İpucu | Anlamı |
|---|---|
Restart the gateway to apply. |
Değiştirilen yol için tam yeniden başlatma gerekir. |
Change will apply without restarting the gateway. |
Çalışırken yeniden yükleme bunu otomatik olarak alır. |
No gateway restart needed. |
Çalışma zamanıyla ilgili hiçbir şey değişmemiştir. |
CLI, her Plugin'in yeniden yükleme meta verilerinin yüklendiğini doğrulayamadığından, plugins.entries alanına (veya herhangi bir alt yoluna) yapılan yazma işlemleri her zaman yeniden başlatma gerektirir.
Yazma güvenliği
openclaw config set ve OpenClaw'a ait diğer yapılandırma yazıcıları, yapılandırmayı diske kaydetmeden önce değişiklik sonrası yapılandırmanın tamamını doğrular. Yeni yük şema doğrulamasını geçemezse veya yıkıcı bir üzerine yazma gibi görünürse etkin yapılandırmaya dokunulmaz ve reddedilen yük yanına openclaw.json.rejected.* olarak kaydedilir.
Küçük düzenlemelerde CLI ile yazmayı tercih edin:
openclaw config set gateway.reload.mode hybrid --dry-runopenclaw config set gateway.reload.mode hybridopenclaw config validateBir yazma işlemi reddedilirse kaydedilen yükü inceleyin ve yapılandırmanın tamamını düzeltin:
CONFIG="$(openclaw config file)"ls -lt "$CONFIG".rejected.* 2>/dev/null | headopenclaw config validateDüzenleyiciyle doğrudan yazmaya hâlâ izin verilir ancak çalışan Gateway, bunlar doğrulanana kadar güvenilmeyen değişiklikler olarak değerlendirir. Geçersiz doğrudan düzenlemeler başlatmanın başarısız olmasına neden olur veya çalışırken yeniden yükleme tarafından atlanır; Gateway, openclaw.json dosyasını yeniden yazmaz. Önek eklenmiş/üzerine yazılmış yapılandırmayı onarmak veya bilinen son sağlam kopyayı geri yüklemek için openclaw doctor --fix komutunu çalıştırın. Bkz. Gateway sorunlarını giderme.
Dosyanın tamamını kurtarma yalnızca doctor onarımına ayrılmıştır. Plugin şeması değişiklikleri veya minHostVersion uyumsuzluğu; modeller, sağlayıcılar, kimlik doğrulama profilleri, kanallar, Gateway erişimi, araçlar, bellek, tarayıcı veya Cron yapılandırması gibi ilgisiz kullanıcı ayarlarını geri almak yerine açıkça hata vermeye devam eder.
Onarım döngüsü
openclaw config validate başarılı olduktan sonra, her değişikliği aynı terminalden doğrularken gömülü bir ajanın etkin yapılandırmayı belgelerle karşılaştırmasını sağlamak için yerel TUI'yi kullanın:
openclaw chatTUI içinde, baştaki ! işareti değişmez bir yerel kabuk komutunu çalıştırır (oturum başına bir kez gösterilen onay isteminden sonra):
!openclaw config file!openclaw docs gateway auth token secretref!openclaw config validate!openclaw doctorBelgelerle karşılaştırın
Ajandan mevcut yapılandırmanızı ilgili belge sayfasıyla karşılaştırmasını ve en küçük düzeltmeyi önermesini isteyin.
Hedefli düzenlemeleri uygulayın
openclaw config set veya openclaw configure ile hedefli düzenlemeler uygulayın.
Yeniden doğrulayın
Her değişiklikten sonra openclaw config validate komutunu yeniden çalıştırın.
Çalışma zamanı sorunları için doctor kullanın
Doğrulama başarılı olduğu hâlde çalışma zamanı hâlâ sağlıksızsa geçiş ve onarım yardımı için openclaw doctor veya openclaw doctor --fix komutunu çalıştırın.