CLI commands
अनुमोदन
openclaw approvals
स्थानीय होस्ट, Gateway होस्ट, या Node होस्ट के लिए exec अनुमोदन प्रबंधित करें। कोई लक्ष्य फ़्लैग न होने पर, कमांड डिस्क पर मौजूद स्थानीय अनुमोदन फ़ाइल को पढ़ते/लिखते हैं। Gateway को लक्षित करने के लिए --gateway, या किसी विशिष्ट Node को लक्षित करने के लिए --node <id|name|ip> का उपयोग करें।
उपनाम: openclaw exec-approvals
संबंधित: Exec अनुमोदन, Nodes
openclaw exec-policy
openclaw exec-policy केवल-स्थानीय सुविधा कमांड है, जो अनुरोधित tools.exec.* कॉन्फ़िगरेशन और स्थानीय होस्ट अनुमोदन फ़ाइल को एक ही चरण में समन्वयित रखता है:
openclaw exec-policy showopenclaw exec-policy show --json openclaw exec-policy preset yoloopenclaw exec-policy preset cautious --json openclaw exec-policy set --host gateway --security full --ask off --ask-fallback fullप्रीसेट (yolo, cautious, deny-all) host, security, ask, और askFallback को एक साथ लागू करते हैं। set केवल आपके द्वारा दिए गए फ़्लैग लागू करता है; प्रत्येक स्वीकृत मान सत्यापित किया जाता है (--host auto|sandbox|gateway|node, --security deny|allowlist|full, --ask off|on-miss|always, --ask-fallback deny|allowlist|full)।
दायरा:
- स्थानीय कॉन्फ़िगरेशन फ़ाइल और स्थानीय अनुमोदन फ़ाइल को एक साथ अपडेट करता है; नीति को Gateway या किसी Node होस्ट पर पुश नहीं करता।
--host nodeअस्वीकार किया जाता है: Node exec अनुमोदन रनटाइम पर Node से प्राप्त किए जाते हैं, इसलिए स्थानीयexec-policyउन्हें समन्वयित नहीं कर सकता। इसके बजायopenclaw approvals set --node <id|name|ip>का उपयोग करें।exec-policy show,host=nodeदायरों को स्थानीय अनुमोदन फ़ाइल से प्रभावी नीति प्राप्त करने के बजाय रनटाइम पर Node-प्रबंधित के रूप में चिह्नित करता है।
दूरस्थ होस्ट अनुमोदनों के लिए, सीधे openclaw approvals set --gateway या openclaw approvals set --node <id|name|ip> का उपयोग करें।
सामान्य कमांड
openclaw approvals getopenclaw approvals get --node <id|name|ip>openclaw approvals get --gatewayopenclaw approvals pendingopenclaw approvals resolve <id> <allow-once|allow-always|deny>get लक्ष्य के लिए प्रभावी exec नीति दिखाता है: अनुरोधित tools.exec नीति, होस्ट की अनुमोदन-फ़ाइल नीति, और मर्ज किया गया प्रभावी परिणाम। Windows companion जैसी होस्ट-नेटिव नीति वाले Nodes, OpenClaw अनुमोदन-फ़ाइल नीति की गणना लागू करने के बजाय उस नीति को सीधे दिखाते हैं।
फ़ाइल-समर्थित Nodes के लिए, मर्ज किए गए दृश्य को होस्ट द्वारा समाधान किया गया नीति स्नैपशॉट चाहिए। पुराने Nodes यह मानने के बजाय प्रभावी नीति को अनुपलब्ध दिखाते हैं कि Gateway की अनुरोधित नीति होस्ट पर भी लागू होती है।
प्राथमिकता क्रम:
- होस्ट अनुमोदन फ़ाइल लागू किए जा सकने वाले सत्य का स्रोत है।
- अनुरोधित
tools.execनीति अभिप्राय को संकीर्ण या व्यापक कर सकती है, लेकिन प्रभावी परिणाम होस्ट नियमों से प्राप्त होता है। --nodeNode होस्ट अनुमोदन फ़ाइल को Gateway कीtools.execनीति के साथ संयोजित करता है (दोनों रनटाइम पर लागू होते हैं)।- यदि Gateway कॉन्फ़िगरेशन अनुपलब्ध है, तो CLI Node अनुमोदन स्नैपशॉट पर फ़ॉलबैक करता है और सूचित करता है कि अंतिम रनटाइम नीति की गणना नहीं की जा सकी।
लंबित अनुमोदन
Gateway से लंबित exec, Plugin और OpenClaw सिस्टम-एजेंट अनुमोदन सूचीबद्ध करें:
openclaw approvals pendingopenclaw approvals pending --jsonपूर्ण गणना और उससे मेल खाने वाला ऑपरेटर-व्यापी resolve प्रवाह operator.admin का उपयोग करते हैं, क्योंकि अन्यथा अनुमोदन रिकॉर्ड अनुरोधकर्ता/समीक्षक फ़िल्टरिंग बनाए रखते हैं। समाधान समर्पित operator.approvals दायरे का भी अनुरोध करता है। मानक CLI ऑपरेटर अनुदान में दोनों दायरे शामिल होते हैं; किसी प्रतिबंधित तृतीय-पक्ष क्लाइंट को केवल इस कमांड का अनुकरण करने के लिए एडमिन का अनुरोध नहीं करना चाहिए।
मानवीय आउटपुट अनुमोदन का प्रकार, एजेंट/सत्र संबद्धता, अनुरोध की आयु, समाप्ति तक का समय, संक्षिप्त कमांड या सारांश, और शेल-निरपेक्ष id64_<base64url> id टोकन दिखाता है। संक्षिप्त तालिका के बाद हमेशा एक Full request text ब्लॉक आता है, जिसमें प्रत्येक पूर्ण टोकन और बिना किसी हानि के एस्केप किया गया अनुरोध होता है, ताकि टर्मिनल-चौड़ाई के कारण किया गया संक्षिप्तीकरण किसी प्रत्यय या समाधान के लिए आवश्यक टोकन को न छिपा सके। पूर्ण टोकन को resolve में कॉपी करें। अन्य फ़ील्ड में असुरक्षित टर्मिनल वर्ण दृश्यमान Unicode एस्केप के रूप में दिखाए जाते हैं। JSON आउटपुट approvals के अंतर्गत सामान्यीकृत प्रविष्टियाँ लौटाता है और स्क्रिप्ट के लिए मूल अपरिष्कृत id, summary, createdAtMs, और expiresAtMs सुरक्षित रखता है; अपरिष्कृत ids को resolve द्वारा तब तक स्वीकार किया जाता है, जब तक वे आरक्षित id64_ प्रदर्शन-टोकन उपसर्ग का उपयोग न करें।
यदि दिया गया id64_ मान किसी शाब्दिक अपरिष्कृत id और किसी अन्य अनुमोदन के डीकोड किए गए प्रदर्शन टोकन—दोनों से मेल खाता है, तो CLI गलत अनुरोध का समाधान करने का जोखिम लेने के बजाय उसे अस्पष्ट मानकर अस्वीकार कर देता है।
किसी एक अनुमोदन को उसके पूर्ण id से हल करें:
openclaw approvals resolve <id> allow-onceopenclaw approvals resolve <id> allow-alwaysopenclaw approvals resolve <id> deny --reason "रखरखाव के दौरान अपेक्षित नहीं"CLI अनुमोदन का प्रकार चुनने के लिए एकीकृत अनुमोदन रिकॉर्ड पढ़ता है, अनुरोधित निर्णय को रिकॉर्ड के अनुमत निर्णयों के विरुद्ध जाँचता है, और फिर एकीकृत समाधानकर्ता को कॉल करता है। पहला सफल निर्णय 0 के साथ समाप्त होता है। दर्ज किए गए निर्णय को दोहराने पर भी प्रक्रिया 0 के साथ समाप्त होती है और already resolved (same decision) की सूचना देती है। कोई परस्पर-विरोधी निर्णय, अनुपलब्ध अनुमोदन, समाप्त अनुमोदन, या उस अनुमोदन प्रकार के लिए अनुपलब्ध निर्णय एक स्पष्ट त्रुटि प्रिंट करता है और गैर-शून्य स्थिति के साथ समाप्त होता है।
--reason CLI पुष्टि में एक स्थानीय टिप्पणी जोड़ता है। वर्तमान Gateway अनुमोदन रिकॉर्ड में मुक्त-पाठ समाधान-कारण फ़ील्ड नहीं है, इसलिए यह टिप्पणी स्थायी रूप से संग्रहीत नहीं होती और अन्य अनुमोदन सतहों पर नहीं भेजी जाती।
फ़ाइल से अनुमोदन बदलें
openclaw approvals set --file ./exec-approvals.jsonopenclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" } }EOFopenclaw approvals set --node <id|name|ip> --file ./exec-approvals.jsonopenclaw approvals set --gateway --file ./exec-approvals.jsonset केवल सख्त JSON ही नहीं, बल्कि JSON5 भी स्वीकार करता है। --file या --stdin में से किसी एक का उपयोग करें, दोनों का नहीं।
होस्ट-नेटिव Windows Nodes अपनी स्वयं की नीति संरचना का उपयोग करते हैं:
openclaw approvals set --node <id|name|ip> --stdin <<'EOF'{ defaultAction: "deny", rules: [{ pattern: "hostname", action: "allow" }]}EOFCLI पहले Node का वर्तमान हैश पढ़ता है और उसे अपडेट के साथ भेजता है, ताकि समवर्ती स्थानीय संपादन अधिलेखित होने के बजाय अस्वीकार किए जाएँ। rules आवश्यक है क्योंकि यह कार्रवाई Node की पूरी नियम सूची को बदलती है; defaultAction वैकल्पिक है। जो Node अपनी नेटिव नीति को अक्षम बताता है, उसे दूरस्थ रूप से कॉन्फ़िगर नहीं किया जा सकता; पहले उस होस्ट पर नीति सक्षम या कॉन्फ़िगर करें। होस्ट-नेटिव नीतियाँ allowlist add|remove सहायक सुविधाओं का समर्थन नहीं करतीं।
"कभी संकेत न दें" / YOLO उदाहरण
जिस होस्ट को exec अनुमोदनों पर कभी नहीं रुकना चाहिए, उसके लिए होस्ट अनुमोदन की डिफ़ॉल्ट सेटिंग्स को full + off पर सेट करें:
openclaw approvals set --stdin <<'EOF'{ version: 1, defaults: { security: "full", ask: "off", askFallback: "full" }}EOFOpenClaw अनुमोदन फ़ाइल उपलब्ध कराने वाले Nodes के लिए, openclaw approvals set --node <id|name|ip> --stdin के साथ उसी बॉडी का उपयोग करें। होस्ट-नेटिव Nodes को ऊपर दिखाई गई उनकी स्वामी-विशिष्ट संरचना की आवश्यकता होती है।
यह केवल होस्ट अनुमोदन फ़ाइल बदलता है। अनुरोधित OpenClaw नीति को संरेखित रखने के लिए, यह भी सेट करें:
openclaw config set tools.exec.host gatewayopenclaw config set tools.exec.mode fulltools.exec.host=gateway को यहाँ स्पष्ट रूप से दिया गया है क्योंकि host=auto का अर्थ अब भी "उपलब्ध होने पर sandbox, अन्यथा gateway" है: YOLO अनुमोदनों के बारे में है, रूटिंग के बारे में नहीं। sandbox कॉन्फ़िगर होने पर भी होस्ट exec चाहिए, तो gateway (या /exec host=gateway) का उपयोग करें।
छोड़े गए askFallback का डिफ़ॉल्ट मान deny होता है। बिना UI वाले ऐसे होस्ट को अपग्रेड करते समय, जिसे कभी-संकेत-न-देने वाला व्यवहार बनाए रखना चाहिए, askFallback: "full" को स्पष्ट रूप से सेट करें।
केवल स्थानीय मशीन पर समान अभिप्राय के लिए स्थानीय शॉर्टकट:
openclaw exec-policy preset yoloअनुमत-सूची सहायक सुविधाएँ
openclaw approvals allowlist add "~/Projects/**/bin/rg"openclaw approvals allowlist add --agent main --node <id|name|ip> "/usr/bin/uptime"openclaw approvals allowlist add --agent "*" "/usr/bin/uname" openclaw approvals allowlist remove "~/Projects/**/bin/rg"सामान्य विकल्प
get, set, और allowlist add|remove सभी इसका समर्थन करते हैं:
--node <id|name|ip>(id, नाम, IP, या id उपसर्ग का समाधान करता है;openclaw nodesके समान समाधानकर्ता)--gateway- साझा Node RPC विकल्प:
--url,--token,--timeout,--json
कोई लक्ष्य फ़्लैग न होने का अर्थ है डिस्क पर मौजूद स्थानीय अनुमोदन फ़ाइल।
allowlist add|remove, --agent <id> का भी समर्थन करता है (डिफ़ॉल्ट "*", जो सभी एजेंट पर लागू होता है)।
pending और resolve हमेशा Gateway का उपयोग करते हैं क्योंकि लंबित अनुरोध लाइव Gateway स्थिति होते हैं। वे साझा Gateway कनेक्शन विकल्पों --url, --token, और --timeout का समर्थन करते हैं; pending, --json का भी समर्थन करता है।
टिप्पणियाँ
- Node होस्ट को
system.execApprovals.get/setका विज्ञापन करना आवश्यक है (macOS ऐप, हेडलेस Node होस्ट, या Windows companion)। - अनुमोदन फ़ाइलें OpenClaw स्थिति डायरेक्टरी में प्रति होस्ट संग्रहीत होती हैं:
$OPENCLAW_STATE_DIR/exec-approvals.json, या वेरिएबल सेट न होने पर~/.openclaw/exec-approvals.json।