Skip to main content
Plugin अनुमति अनुरोध, उपयोगकर्ता द्वारा किसी टूल कॉल या Plugin-स्वामित्व वाले ऑपरेशन को स्वीकृत या अस्वीकृत किए जाने तक Plugin कोड को रोकने देते हैं। वे Gateway plugin.approval.* प्रवाह और उन्हीं स्वीकृति UI सतहों का उपयोग करते हैं जो चैट स्वीकृति बटन और /approve कमांड संभालती हैं। Plugin/ऐप अनुमतियों के लिए Plugin अनुमति अनुरोधों का उपयोग करें। वे होस्ट exec स्वीकृतियों, वैकल्पिक टूल अनुमति-सूचियों या Codex की मूल अनुमति समीक्षा का स्थान नहीं लेते।

सही गेट चुनें

ऐसा गेट चुनें जो आवश्यक निर्णय बिंदु से मेल खाता हो: वैकल्पिक टूल खोज-समय का गेट हैं। Plugin अनुमति अनुरोध प्रति-कॉल गेट हैं। जब किसी संवेदनशील टूल को मॉडल के सामने दिखाई देने से पहले स्पष्ट ऑप्ट-इन और कार्रवाई चलने से पहले स्वीकृति की आवश्यकता हो, तो दोनों का उपयोग करें।

टूल कॉल से पहले स्वीकृति का अनुरोध करें

अधिकांश Plugin-निर्मित प्रॉम्प्ट किसी before_tool_call हुक में शुरू होने चाहिए। यह हुक मॉडल द्वारा टूल चुने जाने के बाद और OpenClaw द्वारा उसे निष्पादित किए जाने से पहले चलता है:
उस व्यक्ति के लिए प्रॉम्प्ट टेक्स्ट लिखें जो कार्रवाई को स्वीकृति देगा:
  • title को संक्षिप्त और कार्रवाई-केंद्रित रखें; Gateway इसे 80 वर्णों तक सीमित करता है।
  • description को विशिष्ट और सीमित रखें; Gateway इसे 512 वर्णों तक सीमित करता है।
  • कार्रवाई, लक्ष्य और जोखिम शामिल करें। ऐसे सीक्रेट, टोकन या निजी पेलोड शामिल न करें जिन्हें चैट स्वीकृति सतहों पर दिखाई नहीं देना चाहिए।
  • यदि severity नहीं दिया गया है, तो यह डिफ़ॉल्ट रूप से "warning" होता है। "critical" का उपयोग केवल उन कार्रवाइयों के लिए करें जिनमें गलत निर्णय से उत्पादन को क्षति या डेटा हानि हो सकती है।
  • यदि allowedDecisions नहीं दिया गया है, तो यह डिफ़ॉल्ट रूप से ["allow-once", "allow-always", "deny"] होता है। जिस कार्रवाई के लिए स्थायी विश्वास असुरक्षित हो, उसमें ["allow-once", "deny"] पास करें।
  • timeoutMs डिफ़ॉल्ट रूप से 120000 (2 मिनट) होता है और अनुरोधित मान चाहे जो हो, इसकी अधिकतम सीमा 600000 (10 मिनट) है।

निर्णय का व्यवहार

OpenClaw एक plugin: ID के साथ लंबित स्वीकृति बनाता है, उसे उपलब्ध स्वीकृति सतहों तक पहुंचाता है और निर्णय की प्रतीक्षा करता है। केवल अनुरोध द्वारा अनुमत सटीक allow-once और allow-always निर्णय ही निष्पादन की अनुमति देते हैं। अज्ञात, विकृत, बेमेल, अनुपस्थित और समय-सीमा समाप्त निर्णय सुरक्षित रूप से विफल होते हैं। पुराना timeoutBehavior फ़ील्ड Plugin संगतता के लिए अभी भी स्वीकार किया जाता है, लेकिन यह अप्रचलित है और अनदेखा किया जाता है; इसे नए हुक में सेट न करें। allow-always केवल तभी स्थायी होता है जब अनुरोध करने वाला Plugin या रनटाइम उस स्थायित्व को लागू करता है। सामान्य before_tool_call.requireApproval हुक के लिए, OpenClaw allow-once और allow-always को वर्तमान कॉल के स्वीकृति निर्णय मानता है और समाधान किया गया मान onResolution को भेजता है। यदि आपका Plugin allow-always प्रदान करता है, तो सटीक रूप से दस्तावेज़ित और लागू करें कि वह भविष्य की किन कॉल पर विश्वास करता है। यदि हुक params भी लौटाता है, तो OpenClaw उन पैरामीटर परिवर्तनों को केवल स्वीकृति सफल होने के बाद लागू करता है। उच्च-प्राथमिकता वाले हुक द्वारा स्वीकृति का अनुरोध किए जाने के बाद भी निम्न-प्राथमिकता वाला हुक कार्रवाई को अवरुद्ध कर सकता है। allowedDecisions उपयोगकर्ता को दिखाए जाने वाले बटन और कमांड सीमित करता है। अनुरोध में प्रस्तुत नहीं किए गए किसी भी निर्णय के समाधान प्रयास को Gateway अस्वीकार करता है।

स्वीकृति प्रॉम्प्ट रूट करें

स्वीकृति प्रॉम्प्ट स्थानीय UI सतहों या स्वीकृति प्रबंधन का समर्थन करने वाले चैट चैनलों में हल किए जा सकते हैं। Plugin स्वीकृति प्रॉम्प्ट को स्पष्ट चैट लक्ष्यों पर अग्रेषित करने के लिए approvals.plugin कॉन्फ़िगर करें:
approvals.plugin, approvals.exec से स्वतंत्र है। Exec स्वीकृति अग्रेषण सक्षम करने से Plugin स्वीकृति प्रॉम्प्ट रूट नहीं होते, और Plugin स्वीकृति अग्रेषण सक्षम करने से होस्ट exec नीति नहीं बदलती। जब किसी प्रॉम्प्ट में मैन्युअल स्वीकृति टेक्स्ट शामिल हो, तो प्रस्तुत निर्णयों में से किसी एक से उसका समाधान करें:
संपूर्ण अग्रेषण मॉडल, समान-चैट स्वीकृति व्यवहार, मूल चैनल वितरण और चैनल-विशिष्ट स्वीकर्ता नियमों के लिए उन्नत exec स्वीकृतियाँ देखें।

Codex की मूल अनुमतियाँ

Codex के मूल अनुमति प्रॉम्प्ट भी Plugin स्वीकृतियों के माध्यम से भेजे जा सकते हैं, लेकिन उनका स्वामित्व Plugin-निर्मित हुक से अलग होता है।
  • Codex ऐप-सर्वर स्वीकृति अनुरोध, Codex समीक्षा के बाद OpenClaw के माध्यम से रूट होते हैं।
  • मूल हुक permission_request रिले, सक्षम होने पर plugin.approval.request के माध्यम से पूछ सकता है।
  • जब Codex _meta.codex_approval_kind को "mcp_tool_call" के रूप में चिह्नित करता है, तो MCP टूल स्वीकृति अनुरोध Plugin स्वीकृतियों के माध्यम से रूट होते हैं।
Codex-विशिष्ट व्यवहार और फ़ॉलबैक नियमों के लिए Codex हार्नेस रनटाइम देखें।

समस्या निवारण

टूल बताता है कि Plugin स्वीकृतियाँ उपलब्ध नहीं हैं। किसी स्वीकृति UI या कॉन्फ़िगर किए गए स्वीकृति रूट ने अनुरोध स्वीकार नहीं किया। स्वीकृति-सक्षम क्लाइंट कनेक्ट करें, ऐसा चैनल उपयोग करें जो समान-चैट /approve का समर्थन करता हो या approvals.plugin कॉन्फ़िगर करें। allow-always दिखाई देता है, लेकिन अगली कॉल फिर प्रॉम्प्ट करती है। सामान्य Plugin स्वीकृति प्रवाह मनमाने हुक के लिए विश्वास को स्वचालित रूप से स्थायी नहीं बनाता। onResolution("allow-always") के बाद अपने Plugin में Plugin-स्वामित्व वाला विश्वास स्थायी करें, या केवल allow-once और deny प्रस्तुत करें। /approve निर्णय को अस्वीकार करता है। अनुरोध ने allowedDecisions को सीमित किया था। प्रॉम्प्ट में मुद्रित निर्णयों में से किसी एक का उपयोग करें। Discord, Matrix, Slack या Telegram प्रॉम्प्ट का रूट exec स्वीकृतियों से अलग होता है। Plugin स्वीकृतियाँ और exec स्वीकृतियाँ अलग-अलग कॉन्फ़िगरेशन का उपयोग करती हैं और उनकी प्राधिकरण जांच भी अलग हो सकती है। केवल approvals.exec जांचने के बजाय approvals.plugin और चैनल के Plugin स्वीकृति समर्थन को सत्यापित करें।

संबंधित