openclaw.json के लिए गैर-इंटरैक्टिव सहायक: पथ के अनुसार कोई मान प्राप्त/सेट/पैच/अनसेट करें, स्कीमा प्रिंट करें, सत्यापन करें, या सक्रिय फ़ाइल पथ प्रिंट करें। openclaw configure जैसा ही निर्देशित विज़ार्ड खोलने के लिए openclaw config को बिना किसी उपकमांड के चलाएँ।
जब
OPENCLAW_NIX_MODE=1, तब OpenClaw openclaw.json को अपरिवर्तनीय मानता है। केवल-पढ़ने वाले कमांड (config get, config file, config schema, config validate) फिर भी काम करते हैं; कॉन्फ़िग लेखक इनकार कर देते हैं। इसके बजाय इंस्टॉल के लिए Nix स्रोत संपादित करें; प्रथम-पक्ष nix-openclaw वितरण के लिए, nix-openclaw त्वरित शुरुआत का उपयोग करें और मानों को programs.openclaw.config या instances.<name>.config के अंतर्गत सेट करें।रूट विकल्प
string
जब आप
openclaw config को बिना किसी उपकमांड के चलाते हैं, तब दोहराया जा सकने वाला निर्देशित-सेटअप अनुभाग फ़िल्टर।workspace, model, web, gateway, daemon, channels, plugins, skills, health।
उदाहरण
पथ
डॉट या ब्रैकेट संकेतन। शेल उदाहरणों में ब्रैकेट पथों को उद्धरण चिह्नों में रखें, ताकि zsh[0] को ग्लोब-विस्तारित न करे:
config get
संशोधित कॉन्फ़िग स्नैपशॉट से कोई मान पढ़ता है (गोपनीय मान कभी प्रिंट नहीं होते)। --json मूल मान को JSON के रूप में प्रिंट करता है; अन्यथा स्ट्रिंग/संख्या/बूलियन बिना आवरण के प्रिंट होते हैं और ऑब्जेक्ट/ऐरे स्वरूपित JSON के रूप में प्रिंट होते हैं।
जब पथ अनुपस्थित होता है, तब --json stdout पर { "error": "Config path not found: <path>" } लिखता है और स्थिति 1 के साथ बाहर निकलता है। --json के बिना, निदान stderr पर ही रहता है।
config file
OPENCLAW_CONFIG_PATH या डिफ़ॉल्ट स्थान से निर्धारित सक्रिय कॉन्फ़िग फ़ाइल पथ प्रिंट करता है। पथ किसी नियमित फ़ाइल को निर्दिष्ट करता है, सिमलिंक को नहीं; लेखन सुरक्षा देखें।
config schema
openclaw.json के लिए जनरेट किया गया JSON स्कीमा stdout पर प्रिंट करता है।
इसमें क्या शामिल है
इसमें क्या शामिल है
- वर्तमान रूट कॉन्फ़िग स्कीमा, साथ ही संपादक टूलिंग के लिए एक रूट
$schemaस्ट्रिंग फ़ील्ड। - Control UI द्वारा उपयोग किया जाने वाला फ़ील्ड
title/descriptionदस्तावेज़ मेटाडेटा। - जब मेल खाने वाले फ़ील्ड दस्तावेज़ मौजूद हों, तब नेस्टेड ऑब्जेक्ट, वाइल्डकार्ड (
*), और ऐरे-आइटम ([]) नोड समानtitle/descriptionमेटाडेटा इनहेरिट करते हैं। anyOf/oneOf/allOfशाखाएँ भी समान दस्तावेज़ मेटाडेटा इनहेरिट करती हैं।- रनटाइम मैनिफ़ेस्ट लोड किए जा सकने पर सर्वोत्तम-प्रयास वाला लाइव Plugin + चैनल स्कीमा मेटाडेटा।
- वर्तमान कॉन्फ़िग अमान्य होने पर भी एक स्वच्छ फ़ॉलबैक स्कीमा।
संबंधित रनटाइम RPC
संबंधित रनटाइम RPC
config.schema.lookup एक सामान्यीकृत कॉन्फ़िग पथ को उथले स्कीमा नोड (title, description, type, enum, const, सामान्य सीमाएँ), मेल खाने वाले UI संकेत मेटाडेटा और निकटतम चाइल्ड सारांशों के साथ लौटाता है। Control UI या कस्टम क्लाइंट में पथ-स्कोप्ड ड्रिल-डाउन के लिए इसका उपयोग करें।config validate
Gateway शुरू किए बिना वर्तमान कॉन्फ़िग को सक्रिय स्कीमा के विरुद्ध सत्यापित करता है।
यदि सत्यापन पहले से विफल हो रहा है, तो
openclaw configure या openclaw doctor --fix से शुरू करें। openclaw chat अमान्य-कॉन्फ़िग गार्ड को बायपास नहीं करता।मान
जहाँ संभव हो, मानों को JSON5 के रूप में पार्स किया जाता है; अन्यथा उन्हें मूल स्ट्रिंग माना जाता है। बिना किसी स्ट्रिंग फ़ॉलबैक के मानक JSON आवश्यक करने के लिए--strict-json का उपयोग करें (तब केवल-JSON5 सिंटैक्स, जैसे टिप्पणियाँ, अनुगामी कॉमा या उद्धरण-रहित कुंजियाँ, अस्वीकार कर दिए जाते हैं)। config set पर --json, --strict-json का एक पुराना उपनाम है।
config get <path> --json टर्मिनल-स्वरूपित टेक्स्ट के बजाय मूल मान को JSON के रूप में प्रिंट करता है।
जब कोई लेखन agents.defaults.model या प्रति-एजेंट agents.entries.*.model को बदलता है, तब OpenClaw लिखने से पहले प्रत्येक बदले हुए प्राथमिक या फ़ॉलबैक को कॉन्फ़िगर किए गए प्रदाता कैटलॉग के माध्यम से निर्धारित करता है। अज्ञात मॉडल संदर्भ सक्रिय कॉन्फ़िग को बदले बिना अस्वीकार कर दिए जाते हैं; उपलब्ध मॉडल देखने के लिए openclaw models list चलाएँ।
ऑब्जेक्ट असाइनमेंट डिफ़ॉल्ट रूप से लक्ष्य पथ को प्रतिस्थापित करता है। सामान्यतः उपयोगकर्ता द्वारा जोड़ी गई प्रविष्टियाँ रखने वाले संरक्षित पथ ऐसे प्रतिस्थापनों को अस्वीकार करते हैं जो मौजूदा प्रविष्टियाँ हटा देंगे, जब तक कि आप
--replace न दें: agents.defaults.models, agents.entries, models.providers, models.providers.<id>, models.providers.<id>.models, plugins.entries, और auth.profiles।--merge का उपयोग करें:
--replace का उपयोग केवल तभी करें, जब दिया गया मान जानबूझकर पूर्ण लक्ष्य मान बनना चाहिए।
config set मोड
- मान मोड
- SecretRef बिल्डर मोड
- प्रदाता बिल्डर मोड
- बैच मोड
--batch-json/--batch-file) को सत्य का स्रोत मानती है; --strict-json / --json बैच पार्सिंग व्यवहार को नहीं बदलते।
JSON पथ/मान मोड सीधे SecretRefs और प्रदाताओं के लिए भी काम करता है:
प्रदाता बिल्डर फ़्लैग
प्रदाता बिल्डर लक्ष्यों में पथ के रूप मेंsecrets.providers.<alias> का उपयोग होना आवश्यक है।
सामान्य फ़्लैग
सामान्य फ़्लैग
--provider-source <env|file|exec>--provider-timeout-ms <ms>(file,exec)
Env प्रदाता (--provider-source env)
Env प्रदाता (--provider-source env)
--provider-allowlist <ENV_VAR>(दोहराया जा सकता है)
फ़ाइल प्रदाता (--provider-source file)
फ़ाइल प्रदाता (--provider-source file)
--provider-path <path>(आवश्यक)--provider-mode <singleValue|json>--provider-max-bytes <bytes>--provider-allow-insecure-path
Exec प्रदाता (--provider-source exec)
Exec प्रदाता (--provider-source exec)
--provider-command <path>(आवश्यक)--provider-arg <arg>(दोहराया जा सकता है)--provider-no-output-timeout-ms <ms>--provider-max-output-bytes <bytes>--provider-json-only--provider-env <KEY=VALUE>(दोहराया जा सकता है)--provider-pass-env <ENV_VAR>(दोहराया जा सकता है)--provider-trusted-dir <path>(दोहराया जा सकता है)--provider-allow-insecure-path--provider-allow-symlink-command
config patch
कई पथ-आधारित config set कमांड चलाने के बजाय कॉन्फ़िग-आकार का JSON5 पैच चिपकाएँ या पाइप करें। ऑब्जेक्ट पुनरावर्ती रूप से मर्ज होते हैं; ऐरे और स्केलर मान लक्ष्य को प्रतिस्थापित करते हैं; null लक्ष्य पथ को हटाता है।
--stdin पैच अधिकतम 1 MiB तक सीमित हैं।
दूरस्थ सेटअप स्क्रिप्ट के लिए stdin के माध्यम से पैच पाइप करें:
--replace-path <path> का उपयोग करें:
--dry-run बिना लिखे स्कीमा और SecretRef की समाधान-क्षमता की जाँच करता है। ड्राई रन के दौरान Exec-समर्थित SecretRefs डिफ़ॉल्ट रूप से छोड़ दिए जाते हैं; जब आप जानबूझकर चाहते हों कि ड्राई रन प्रदाता कमांड निष्पादित करे, तब --allow-exec जोड़ें।
ड्राई रन
--dry-run, openclaw.json लिखे बिना परिवर्तनों को सत्यापित करता है। यह config set, config patch, और config unset पर उपलब्ध है।
ड्राई-रन का व्यवहार
ड्राई-रन का व्यवहार
- बिल्डर मोड: बदले गए refs/प्रदाताओं के लिए SecretRef की समाधान-क्षमता की जाँच करता है।
- JSON मोड (
--strict-json,--json, या बैच मोड): स्कीमा सत्यापन के साथ SecretRef की समाधान-क्षमता की जाँच करता है। - नीति सत्यापन परिवर्तन के बाद की पूरी कॉन्फ़िगरेशन पर चलता है, इसलिए पैरेंट-ऑब्जेक्ट लेखन (उदाहरण के लिए
hooksको ऑब्जेक्ट के रूप में सेट करना) असमर्थित सतह के सत्यापन को बायपास नहीं कर सकता। - कमांड के दुष्प्रभावों से बचने के लिए Exec SecretRef जाँच डिफ़ॉल्ट रूप से छोड़ दी जाती है; इसे चुनने के लिए
--allow-execपास करें (इससे प्रदाता कमांड निष्पादित हो सकते हैं)।--allow-execकेवल ड्राई-रन के लिए है और--dry-runके बिना त्रुटि देता है।
--dry-run --json फ़ील्ड
--dry-run --json फ़ील्ड
ok: ड्राई-रन सफल हुआ या नहींoperations: मूल्यांकित असाइनमेंट की संख्याchecks: स्कीमा/समाधान-क्षमता की जाँच चली या नहींchecks.resolvabilityComplete: समाधान-क्षमता की जाँच पूरी हुई या नहीं (exec refs छोड़े जाने पर false)refsChecked: ड्राई-रन के दौरान वास्तव में समाधान किए गए refs की संख्याskippedExecRefs:--allow-execसेट न होने के कारण छोड़े गए exec refs की संख्याerrors:ok=falseहोने पर संरचित अनुपलब्ध-पथ, स्कीमा, या समाधान-क्षमता विफलताएँ
JSON आउटपुट की संरचना
- सफलता का उदाहरण
- विफलता का उदाहरण
यदि ड्राई-रन विफल हो
यदि ड्राई-रन विफल हो
config schema validation failed: परिवर्तन के बाद आपकी कॉन्फ़िगरेशन संरचना अमान्य है; पथ/मान या प्रदाता/ref ऑब्जेक्ट संरचना ठीक करें।Config policy validation failed: unsupported SecretRef usage: उस क्रेडेंशियल को वापस प्लेनटेक्स्ट/स्ट्रिंग इनपुट में ले जाएँ; SecretRefs को केवल समर्थित सतहों पर रखें।SecretRef assignment(s) could not be resolved: संदर्भित प्रदाता/ref का वर्तमान में समाधान नहीं किया जा सकता (अनुपलब्ध env var, अमान्य फ़ाइल पॉइंटर, exec प्रदाता की विफलता, या प्रदाता/स्रोत का असंगत होना)।model reference validation failed: बदला गया टेक्स्ट-मॉडल प्राथमिक या फ़ॉलबैक अज्ञात है;openclaw models listचलाएँ और उपलब्ध मॉडल चुनें।Dry run note: skipped <n> exec SecretRef resolvability check(s): यदि आपको exec समाधान-क्षमता सत्यापन चाहिए, तो--allow-execके साथ दोबारा चलाएँ।- बैच मोड के लिए, विफल प्रविष्टियाँ ठीक करें और लिखने से पहले
--dry-runदोबारा चलाएँ।
परिवर्तन लागू करना
प्रत्येक सफलconfig set / config patch / config unset के बाद, CLI तीन संकेतों में से एक प्रिंट करता है, ताकि आपको पता चले कि Gateway को पुनः आरंभ करने की आवश्यकता है या नहीं:
plugins.entries (या उसके किसी भी उपपथ) में लेखन के लिए हमेशा पुनः आरंभ आवश्यक होता है, क्योंकि CLI यह प्रमाणित नहीं कर सकता कि प्रत्येक Plugin का रीलोड मेटाडेटा लोड हुआ है।
लेखन सुरक्षा
openclaw config set और OpenClaw के स्वामित्व वाले अन्य कॉन्फ़िगरेशन राइटर, डिस्क पर कमिट करने से पहले परिवर्तन के बाद की पूरी कॉन्फ़िगरेशन को सत्यापित करते हैं। यदि नया पेलोड स्कीमा सत्यापन में विफल होता है या विनाशकारी ओवरराइट जैसा दिखता है, तो सक्रिय कॉन्फ़िगरेशन को अपरिवर्तित छोड़ा जाता है और अस्वीकृत पेलोड को उसके पास openclaw.json.rejected.* के रूप में सहेजा जाता है।
OpenClaw के स्वामित्व वाले लेखन JSON5 को मानक JSON के रूप में फिर से क्रमबद्ध करते हैं। जब स्रोत में टिप्पणियाँ होती हैं, तो राइटर उन्हें हटाने से ठीक पहले चेतावनी देता है; टिप्पणियाँ सुरक्षित रखना महत्वपूर्ण हो तो सीधे एडिटर का उपयोग करें।
छोटे संपादनों के लिए CLI लेखन को प्राथमिकता दें:
openclaw.json को फिर से नहीं लिखता। उपसर्गयुक्त/ओवरराइट की गई कॉन्फ़िगरेशन की मरम्मत करने या अंतिम ज्ञात-सही प्रति पुनर्स्थापित करने के लिए openclaw doctor --fix चलाएँ। Gateway समस्या निवारण देखें।
पूरी फ़ाइल की पुनर्प्राप्ति केवल डॉक्टर द्वारा मरम्मत के लिए आरक्षित है। Plugin स्कीमा परिवर्तन या minHostVersion असंगति, मॉडल, प्रदाता, प्रमाणीकरण प्रोफ़ाइल, चैनल, Gateway एक्सपोज़र, टूल, मेमोरी, ब्राउज़र, या Cron कॉन्फ़िगरेशन जैसी असंबंधित उपयोगकर्ता सेटिंग्स को वापस लेने के बजाय स्पष्ट त्रुटि देते हैं।
मरम्मत चक्र
openclaw config validate सफल होने के बाद, स्थानीय TUI का उपयोग करके किसी एम्बेडेड एजेंट से सक्रिय कॉन्फ़िगरेशन की दस्तावेज़ों से तुलना करवाएँ, जबकि आप उसी टर्मिनल से प्रत्येक परिवर्तन को सत्यापित करें:
! एक शाब्दिक स्थानीय शेल कमांड चलाता है (प्रति सत्र एक बार पुष्टिकरण संकेत मिलने के बाद):
1
दस्तावेज़ों से तुलना करें
एजेंट से अपनी वर्तमान कॉन्फ़िगरेशन की संबंधित दस्तावेज़ पृष्ठ से तुलना करने और सबसे छोटा सुधार सुझाने के लिए कहें।
2
लक्षित संपादन लागू करें
openclaw config set या openclaw configure के साथ लक्षित संपादन लागू करें।3
दोबारा सत्यापित करें
प्रत्येक परिवर्तन के बाद
openclaw config validate दोबारा चलाएँ।4
रनटाइम समस्याओं के लिए डॉक्टर
यदि सत्यापन सफल हो जाता है लेकिन रनटाइम अभी भी अस्वस्थ है, तो माइग्रेशन और मरम्मत सहायता के लिए
openclaw doctor या openclaw doctor --fix चलाएँ।