सैंडबॉक्सिंग
बैकएंड और मोड — संपूर्ण सैंडबॉक्स संदर्भ।
सैंडबॉक्स बनाम टूल नीति बनाम एलिवेटेड
“यह अवरुद्ध क्यों है?” की डीबगिंग करें।
एलिवेटेड मोड
विश्वसनीय प्रेषकों के लिए एलिवेटेड निष्पादन।
कॉन्फ़िगरेशन के उदाहरण
उदाहरण 1: व्यक्तिगत + प्रतिबंधित पारिवारिक एजेंट
उदाहरण 1: व्यक्तिगत + प्रतिबंधित पारिवारिक एजेंट
mainएजेंट: होस्ट पर चलता है, सभी टूल तक पूर्ण पहुँच।familyएजेंट: Docker में चलता है (प्रति एजेंट एक कंटेनर), केवलreadऔर वर्तमान वार्तालाप में संदेश भेज सकता है।
उदाहरण 2: साझा सैंडबॉक्स वाला कार्य एजेंट
उदाहरण 2: साझा सैंडबॉक्स वाला कार्य एजेंट
उदाहरण 2b: वैश्विक कोडिंग प्रोफ़ाइल + केवल-संदेश एजेंट
उदाहरण 2b: वैश्विक कोडिंग प्रोफ़ाइल + केवल-संदेश एजेंट
- डिफ़ॉल्ट एजेंटों को कोडिंग टूल मिलते हैं।
supportएजेंट केवल-संदेश वाला है (+ Slack टूल)।
उदाहरण 3: प्रत्येक एजेंट के लिए अलग-अलग सैंडबॉक्स मोड
उदाहरण 3: प्रत्येक एजेंट के लिए अलग-अलग सैंडबॉक्स मोड
कॉन्फ़िगरेशन की प्राथमिकता
जब वैश्विक (agents.defaults.*) और एजेंट-विशिष्ट (agents.entries.*.*) दोनों कॉन्फ़िगरेशन मौजूद हों:
सैंडबॉक्स कॉन्फ़िगरेशन
एजेंट-विशिष्ट सेटिंग वैश्विक सेटिंग को ओवरराइड करती हैं:agents.entries.*.sandbox.{docker,browser,prune}.* उस एजेंट के लिए agents.defaults.sandbox.{docker,browser,prune}.* को ओवरराइड करता है (जब सैंडबॉक्स का दायरा "shared" के रूप में निर्धारित होता है, तो इसे अनदेखा कर दिया जाता है)।टूल प्रतिबंध
फ़िल्टर करने का क्रम यह है:1
टूल प्रोफ़ाइल
tools.profile या agents.entries.*.tools.profile।2
प्रदाता टूल प्रोफ़ाइल
tools.byProvider[provider].profile या agents.entries.*.tools.byProvider[provider].profile।3
वैश्विक टूल नीति
tools.allow / tools.deny।4
प्रदाता टूल नीति
tools.byProvider[provider].allow/deny।5
एजेंट-विशिष्ट टूल नीति
agents.entries.*.tools.allow/deny।6
एजेंट प्रदाता नीति
agents.entries.*.tools.byProvider[provider].allow/deny।7
सैंडबॉक्स टूल नीति
tools.sandbox.tools या agents.entries.*.tools.sandbox.tools।8
उप-एजेंट टूल नीति
यदि लागू हो, तो
tools.subagents.tools।प्राथमिकता नियम
प्राथमिकता नियम
- प्रत्येक स्तर टूल को और प्रतिबंधित कर सकता है, लेकिन पहले के स्तरों पर अस्वीकृत टूल को वापस अनुमति नहीं दे सकता।
- यदि
agents.entries.*.tools.sandbox.toolsसेट है, तो यह उस एजेंट के लिएtools.sandbox.toolsको प्रतिस्थापित करता है। - यदि
agents.entries.*.tools.profileसेट है, तो यह उस एजेंट के लिएtools.profileको ओवरराइड करता है। - प्रदाता टूल कुंजियाँ
provider(उदाहरण के लिएgoogle-antigravity) याprovider/model(उदाहरण के लिएopenai/gpt-5.4) में से किसी एक को स्वीकार करती हैं।
खाली अनुमति-सूची का व्यवहार
खाली अनुमति-सूची का व्यवहार
यदि इस श्रृंखला की कोई भी स्पष्ट अनुमति-सूची रन को बिना किसी कॉल किए जा सकने वाले टूल के छोड़ देती है, तो OpenClaw मॉडल को प्रॉम्प्ट भेजने से पहले रुक जाता है। यह जानबूझकर किया गया है:
agents.entries.*.tools.allow: ["query_db"] जैसे अनुपलब्ध टूल के साथ कॉन्फ़िगर किए गए एजेंट को तब तक स्पष्ट रूप से विफल होना चाहिए, जब तक query_db पंजीकृत करने वाला Plugin सक्षम न हो जाए; उसे केवल-पाठ एजेंट के रूप में जारी नहीं रहना चाहिए।group:* संक्षिप्त रूपों का समर्थन करती हैं, जो कई टूल में विस्तारित होते हैं। पूरी सूची के लिए टूल समूह देखें।
प्रति-एजेंट एलिवेटेड ओवरराइड (agents.entries.*.tools.elevated) विशिष्ट एजेंटों के लिए एलिवेटेड निष्पादन को और प्रतिबंधित कर सकते हैं। विवरण के लिए एलिवेटेड मोड देखें।
एकल एजेंट से माइग्रेशन
- पहले (एकल एजेंट)
- बाद में (बहु-एजेंट)
पुरानी
agents.defaults.*/agents.entries.*.* कॉन्फ़िगरेशन कुंजियाँ (जैसे sandbox.perSession, agentRuntime, embeddedPi) को openclaw doctor द्वारा माइग्रेट किया जाता है; आगे से agents.defaults + agents.entries को प्राथमिकता दें।टूल प्रतिबंध के उदाहरण
- केवल-पठन एजेंट
- फ़ाइल-सिस्टम टूल अक्षम रखते हुए शेल निष्पादन
- केवल-संचार
सामान्य समस्या: “non-main”
परीक्षण
बहु-एजेंट सैंडबॉक्स और टूल कॉन्फ़िगर करने के बाद:1
एजेंट निर्धारण जाँचें
2
सैंडबॉक्स कंटेनर सत्यापित करें
3
टूल प्रतिबंधों का परीक्षण करें
- प्रतिबंधित टूल की आवश्यकता वाला संदेश भेजें।
- सत्यापित करें कि एजेंट अस्वीकृत टूल का उपयोग नहीं कर सकता।
4
लॉग की निगरानी करें
समस्या निवारण
`mode: 'all'` के बावजूद एजेंट सैंडबॉक्स में नहीं है
`mode: 'all'` के बावजूद एजेंट सैंडबॉक्स में नहीं है
- जाँचें कि क्या कोई वैश्विक
agents.defaults.sandbox.modeइसे ओवरराइड कर रहा है। - एजेंट-विशिष्ट कॉन्फ़िगरेशन को प्राथमिकता मिलती है, इसलिए
agents.entries.*.sandbox.mode: "all"सेट करें।
अस्वीकरण सूची के बावजूद टूल अभी भी उपलब्ध हैं
अस्वीकरण सूची के बावजूद टूल अभी भी उपलब्ध हैं
- पूर्ण फ़िल्टरिंग क्रम देखें: प्रोफ़ाइल → प्रदाता प्रोफ़ाइल → वैश्विक नीति → प्रदाता नीति → एजेंट नीति → एजेंट प्रदाता नीति → सैंडबॉक्स → उप-एजेंट।
- प्रत्येक स्तर केवल और अधिक प्रतिबंध लगा सकता है, अनुमति वापस नहीं दे सकता।
- चरण-दर-चरण डीबगिंग के लिए सैंडबॉक्स बनाम टूल नीति बनाम एलिवेटेड देखें।
कंटेनर प्रत्येक एजेंट के लिए पृथक नहीं है
कंटेनर प्रत्येक एजेंट के लिए पृथक नहीं है
- डिफ़ॉल्ट
scope,"agent"है (प्रत्येक एजेंट आईडी के लिए एक कंटेनर)। - प्रत्येक सत्र के लिए एक कंटेनर हेतु
scope: "session"सेट करें, या सभी एजेंटों में एक कंटेनर का पुनः उपयोग करने के लिएscope: "shared"सेट करें।
संबंधित
- एलिवेटेड मोड
- मल्टी-एजेंट रूटिंग
- सैंडबॉक्स कॉन्फ़िगरेशन
- सैंडबॉक्स बनाम टूल नीति बनाम एलिवेटेड — “यह अवरुद्ध क्यों है?” की डीबगिंग
- सैंडबॉक्सिंग — सैंडबॉक्स का पूर्ण संदर्भ (मोड, स्कोप, बैकएंड, इमेज)
- सत्र प्रबंधन