Skills

कौशल कार्यशाला

Status: proposal

Skill Workshop, कार्यस्थान Skills बनाने और अपडेट करने के लिए OpenClaw का नियंत्रित मार्ग है। इस मार्ग से एजेंट और ऑपरेटर कभी भी SKILL.md को सीधे नहीं लिखते — वे एक प्रस्ताव बनाते हैं (सामग्री, लक्ष्य बाइंडिंग, स्कैनर स्थिति, हैश और रोलबैक मेटाडेटा वाला लंबित ड्राफ़्ट), जो लागू किए जाने पर ही लाइव Skill बनता है।

Skill Workshop केवल कार्यस्थान Skills लिखता है। यह कभी भी बंडल किए गए, Plugin, ClawHub, अतिरिक्त-रूट, प्रबंधित, व्यक्तिगत-एजेंट या सिस्टम Skills को नहीं छूता।

यह कैसे काम करता है

  • पहले प्रस्ताव: जनरेट की गई सामग्री PROPOSAL.md के रूप में संग्रहीत होती है, न कि SKILL.md के रूप में।
  • लागू करना ही एकमात्र लाइव लेखन है: बनाना, अपडेट करना और संशोधित करना कभी भी सक्रिय Skills को नहीं बदलते।
  • कार्यस्थान तक सीमित: बनाए गए Skills कार्यस्थान के skills/ रूट को लक्षित करते हैं; अपडेट केवल लिखने योग्य कार्यस्थान Skills के लिए अनुमत हैं।
  • ओवरराइट नहीं: यदि लक्ष्य Skill पहले से मौजूद है, तो बनाना विफल हो जाता है।
  • हैश से बंधा: अपडेट प्रस्ताव वर्तमान लक्ष्य हैश से बंधते हैं और यदि लागू करने से पहले लाइव Skill बदल जाता है, तो stale हो जाते हैं।
  • स्कैनर द्वारा नियंत्रित: लागू करने से पहले सुरक्षा स्कैनर दोबारा चलता है।
  • पुनर्प्राप्त करने योग्य: लागू करने की प्रक्रिया लाइव फ़ाइलों को छूने से पहले रोलबैक मेटाडेटा लिखती है।
  • सुसंगत सतहें: चैट, CLI और Gateway सभी एक ही सेवा को कॉल करते हैं।

जीवनचक्र

text
बनाना/अपडेट करना -> लंबितसंशोधित करना     -> लंबितलागू करना        -> लागूअस्वीकार करना    -> अस्वीकृतक्वारंटीन करना   -> क्वारंटीनलक्ष्य परिवर्तन  -> अप्रचलित

केवल pending प्रस्ताव को संशोधित, लागू, अस्वीकार या क्वारंटीन किया जा सकता है।

जीवनचक्र प्रबंधन

Gateway साझा स्थिति डेटाबेस में Skill के समग्र उपयोग को ट्रैक करता है। दिन में एक बार, यह Skill Workshop द्वारा बनाए और लागू किए गए Skills की समीक्षा करता है। 30 दिनों से अधिक समय तक उपयोग न किए गए Skills stale हो जाते हैं; 90 दिनों के बाद वे archived हो जाते हैं और नए एजेंट Skill स्नैपशॉट में शामिल नहीं किए जाते। संग्रहित Skill फ़ाइलें डिस्क पर अपरिवर्तित रहती हैं। मैन्युअल रूप से लिखे गए Skills का कभी प्रबंधन नहीं किया जाता; केवल Skill Workshop प्रस्तावों द्वारा बनाए गए Skills जीवनचक्र प्रबंधन में शामिल होते हैं।

पिन किए गए Skills जीवनचक्र संक्रमणों से बाहर रहते हैं। किसी अप्रचलित Skill का उपयोग होने और अगला स्वीप चलने के बाद वह active पर लौट आता है। संग्रहित Skills केवल स्पष्ट पुनर्स्थापना के माध्यम से लौटते हैं:

जीवनचक्र संक्रमण और पुनर्स्थापनाएँ नए सत्रों पर लागू होते हैं; चल रहे सत्र अपने वर्तमान Skill स्नैपशॉट को बनाए रखते हैं।

bash
openclaw skills curator statusopenclaw skills curator pin <skill>openclaw skills curator unpin <skill>openclaw skills curator restore <skill>

सभी क्यूरेटर कमांड --json स्वीकार करते हैं। स्थिति नियतात्मक ओवरलैप उम्मीदवारों को भी केवल सुझावों के रूप में रिपोर्ट करती है; यह कभी Skills को मर्ज नहीं करती या किसी मॉडल को कॉल नहीं करती।

चैट

एजेंट से इच्छित Skill के लिए कहें; वह skill_workshop को कॉल करता है और प्रस्ताव आईडी लौटाता है।

हाल के कार्य से सीखें

वर्तमान वार्तालाप या नामित स्रोतों को मानक-निर्देशित Skill प्रस्ताव में बदलने के लिए /learn का उपयोग करें:

text
/learn/learn docs/runbook.md और https://example.com/guide; पुनर्प्राप्ति पर ध्यान दें

अनुरोध न होने पर, /learn एजेंट से वर्तमान वार्तालाप से पुनः उपयोग योग्य कार्यप्रवाह निकालने के लिए कहता है। अनुरोध होने पर, एजेंट फ़ोकस, दायरे और नामकरण आवश्यकताओं का पालन करते हुए पथों, URL, चिपकाए गए नोट्स और वार्तालाप संदर्भों को स्रोत मानता है। वह अपने मौजूदा टूल से स्रोत एकत्र करता है, फिर skill_workshop को action: "create" के साथ कॉल करता है।

परिणामी प्रस्ताव pending बना रहता है; /learn उसे कभी लागू नहीं करता। सामान्य अनुमोदन प्रवाह या openclaw skills workshop के माध्यम से उसकी समीक्षा करें और उसे लागू करें।

बनाएँ:

text
morning-catchup नाम का एक Skill बनाएँ जो मेरी सोमवार की इनबॉक्स दिनचर्या चलाए।

मौजूदा कार्यस्थान Skill अपडेट करें:

text
trip-planning को अपडेट करें ताकि बुकिंग से पहले सीट मैप भी जाँचे।

लंबित प्रस्ताव पर पुनरावृत्ति करें:

text
मुझे morning-catchup प्रस्ताव दिखाएँ।इसे संशोधित करें ताकि urgent चिह्नित किसी भी चीज़ को भी फ़्लैग करे।morning-catchup प्रस्ताव लागू करें।

एजेंट द्वारा शुरू किए गए apply, reject और quarantine डिफ़ॉल्ट रूप से अतिरिक्त अनुमोदन संकेत के बिना चलते हैं। उन कार्रवाइयों से पहले ऑपरेटर अनुमोदन आवश्यक करने के लिए skills.workshop.approvalPolicy को "pending" पर सेट करें।

जब अनुमोदन आवश्यक होता है, तो संकेत प्रस्ताव आईडी और लक्ष्य Skill की पहचान करता है और प्रस्ताव का विवरण, सहायक-फ़ाइल संख्या तथा मुख्य सामग्री का आकार दिखाता है। अनुमोदन अनुरोधों को एजेंट टूल वॉचडॉग से पहले पूरा होने के लिए सीमित किया जाता है। यदि संकेत समाप्त होने से पहले कोई निर्णय नहीं आता, तो जीवनचक्र कार्रवाई नहीं चलती: प्रस्ताव लंबित और अपरिवर्तित रहता है। बाद में Skill Workshop UI में निर्णय लें या openclaw skills workshop apply|reject|quarantine <proposal-id> चलाएँ। एजेंटों को समाप्त हो चुकी जीवनचक्र कार्रवाई को लूप में दोबारा नहीं आज़माना चाहिए।

CLI

bash
# बनाएँopenclaw skills workshop propose-create \  --name morning-catchup \  --description "दैनिक इनबॉक्स समीक्षा: छँटाई, संग्रह, प्रमुखता, ड्राफ़्ट, योजना" \  --proposal ./PROPOSAL.md # मौजूदा कार्यस्थान Skill अपडेट करेंopenclaw skills workshop propose-update trip-planning --proposal ./PROPOSAL.md # सूचीबद्ध करें और निरीक्षण करेंopenclaw skills workshop listopenclaw skills workshop inspect <proposal-id> # अनुमोदन से पहले संशोधित करेंopenclaw skills workshop revise <proposal-id> --proposal ./PROPOSAL.md # समाप्त करेंopenclaw skills workshop apply <proposal-id>openclaw skills workshop reject <proposal-id> --reason "डुप्लिकेट"openclaw skills workshop quarantine <proposal-id> --reason "सुरक्षा समीक्षा आवश्यक"

प्रत्येक सबकमांड --agent <id> (लक्ष्य कार्यस्थान; डिफ़ॉल्ट रूप से पहले cwd से अनुमानित, फिर डिफ़ॉल्ट एजेंट) और --json (संरचित आउटपुट) लेता है। propose-create, propose-update और revise, --proposal के साथ प्रस्ताव संदर्भ रिकॉर्ड करने के लिए --goal <text> और --evidence <text> भी लेते हैं।

प्रस्ताव सामग्री

लंबित रहते समय, प्रस्ताव को केवल-प्रस्ताव फ्रंटमैटर के साथ PROPOSAL.md के रूप में संग्रहीत किया जाता है:

markdown
---name: "morning-catchup"description: "दैनिक इनबॉक्स समीक्षा: छँटाई, संग्रह, प्रमुखता, ड्राफ़्ट, योजना"status: proposalversion: "v1"date: "2026-05-30T00:00:00.000Z"---

लागू होने पर, Skill Workshop सक्रिय SKILL.md लिखता है और केवल-प्रस्ताव फ़ील्ड हटा देता है: status, प्रस्ताव version और प्रस्ताव date

सहायक फ़ाइलें

जब प्रस्तावित Skill को PROPOSAL.md के पास फ़ाइलों की आवश्यकता हो, तो --proposal-dir का उपयोग करें:

bash
openclaw skills workshop propose-create \  --name weekly-update \  --description "शुक्रवार समापन: आँकड़े, मुख्य बिंदु, अगले सप्ताह के शीर्ष तीन" \  --proposal-dir ./weekly-update-proposal

निर्देशिका में PROPOSAL.md होना आवश्यक है। सहायक फ़ाइलें assets/, examples/, references/, scripts/ या templates/ के अंतर्गत होनी चाहिए। Skill Workshop उन्हें स्कैन करता है, हैश करता है और प्रस्ताव के साथ संग्रहीत करता है, फिर केवल लागू करने पर उन्हें लाइव SKILL.md के पास लिखता है।

अस्वीकृत सहायक-फ़ाइल पथ: पूर्ण पथ, छिपे हुए पथ खंड, पथ ट्रैवर्सल, ओवरलैप होते पथ, निष्पादन योग्य फ़ाइलें, गैर-UTF-8 पाठ, नल बाइट्स और मानक सहायक फ़ोल्डरों से बाहर के पथ।

एजेंट टूल

मॉडल एक आवश्यक action: create | update | revise | list | inspect | apply | reject | quarantine के साथ skill_workshop का उपयोग करता है। अन्य पैरामीटर कार्रवाई के अनुसार लागू होते हैं:

पैरामीटर इनके द्वारा उपयोग किया जाता है टिप्पणियाँ
name create, inspect, revise create के लिए आवश्यक; अन्यथा नाम से लंबित प्रस्ताव हल करता है
description create, update, revise अधिकतम 160 बाइट
skill_name update मौजूदा Skill नाम या कुंजी
proposal_content create, update, revise PROPOSAL.md के रूप में संग्रहीत; skills.workshop.maxSkillBytes द्वारा सीमित
support_files create, update, revise { path, content } की सरणी
goal, evidence create, update, revise मुक्त-पाठ संदर्भ
proposal_id inspect, revise, apply, reject, quarantine लक्ष्य प्रस्ताव
reason apply, reject, quarantine वैकल्पिक
query, status, limit list फ़िल्टर/पृष्ठांकन; limit अधिकतम 50, डिफ़ॉल्ट 20

एजेंटों को जनरेट किए गए Skill कार्य के लिए skill_workshop का उपयोग करना आवश्यक है। उन्हें write, edit, exec, शेल कमांड या प्रत्यक्ष फ़ाइल सिस्टम कार्रवाइयों के माध्यम से प्रस्ताव फ़ाइलें बनानी या बदलनी नहीं चाहिए।

सुझाए गए Skills

इंटरैक्टिव टर्न समाप्त होने पर OpenClaw “अगली बार,” “याद रखें,” और प्रतिक्रियात्मक सुधारों जैसे टिकाऊ निर्देशों का पता लगाता है, जिसमें विफल टर्न भी शामिल हैं। अगले टर्न पर, एजेंट skill_workshop के माध्यम से सबसे हाल में पहचाने गए कार्यप्रवाह को सहेजने की पेशकश करता है; उपयोगकर्ता तय करता है कि प्रस्ताव बनाना है या नहीं। यह अंतर्निर्मित सुझाव स्वयं कोई Skill बनाता या बदलता नहीं है। इसके बजाय सीधे लंबित प्रस्ताव बनाने के लिए skills.workshop.autonomous.enabled सक्षम करें। Control UI में, Workshop टैब पृष्ठ शीर्षलेख में Self-learning टॉगल के रूप में और खाली प्रस्ताव बोर्ड पर सक्षम करने वाले बटन के रूप में यही सेटिंग प्रदान करता है।

पिछले सत्र स्कैन करें

Control UI स्वायत्त स्व-अधिगम सक्षम किए बिना पुराने कार्य की समीक्षा कर सकता है। Plugins → Workshop खोलें और Find skill ideas चुनें। स्कैन नवीनतम योग्य सत्रों से शुरू होता है और पर्याप्त कार्य की एक सीमित विंडो की समीक्षा करता है। यह cron, heartbeat, hook, subagent, ACP, Plugin-स्वामित्व वाले और आंतरिक समीक्षा सत्रों के साथ-साथ छह से कम मॉडल टर्न वाली वार्ताओं को छोड़ देता है।

समीक्षक चयनित एजेंट के कॉन्फ़िगर किए गए मॉडल का उपयोग करता है और उसे गोपनीय जानकारी से संशोधित, आकार-सीमित ट्रांसक्रिप्ट बंडल मिलता है। यह अनुभव समीक्षा जैसी ही रूढ़िवादी कसौटी लागू करता है: कोई ठोस पुनर्प्राप्ति पैटर्न या स्थिर प्रक्रिया जो भविष्य के कम-से-कम दो मॉडल या टूल कॉल हटा दे। नियमित कार्य और एकबारगी तथ्यों से कोई प्रस्ताव नहीं बनना चाहिए।

एक स्कैन अधिकतम तीन लंबित प्रस्ताव बना या संशोधित कर सकता है। यह किसी लाइव Skill को लागू, अस्वीकार, क्वारंटीन या संपादित नहीं कर सकता। Workshop संचयी कवरेज दिखाता है, उदाहरण के लिए 20 सत्रों की समीक्षा हुई · 18 जून–आज · 2 विचार मिले। स्थायी सबसे-पुराने-सत्र कर्सर से जारी रखने के लिए Scan earlier work चुनें। उपलब्ध इतिहास समाप्त होने के बाद, कार्रवाई Scan new work बन जाती है।

ऐतिहासिक समीक्षा मैन्युअल होती है, भले ही skills.workshop.autonomous.enabled का मान false हो। प्रत्येक क्लिक एक मॉडल रन शुरू करता है, इसलिए प्रदाता के मूल्य निर्धारण और डेटा-प्रबंधन की शर्तें लागू होती हैं। कर्सर और कवरेज की संख्याएँ साझा OpenClaw स्थिति डेटाबेस में संग्रहीत होती हैं; ट्रांसक्रिप्ट की सामग्री को स्कैन स्थिति में कॉपी नहीं किया जाता।

स्वायत्त कैप्चर सक्षम होने पर, OpenClaw सफल और पर्याप्त कार्य के बाद तथा संपूर्ण एजेंट सिस्टम के निष्क्रिय हो जाने के बाद एक सतर्क समीक्षा भी कर सकता है। वह पृथक समीक्षा अधिकतम एक लंबित प्रस्ताव बना या संशोधित कर सकती है। वह किसी सक्रिय स्किल को अपडेट नहीं कर सकती या किसी प्रस्ताव को लागू, अस्वीकार अथवा क्वारंटीन नहीं कर सकती, भले ही approvalPolicy का मान "auto" हो।

सक्षमता, पात्रता, गोपनीयता और लागत के विवरण, प्रस्ताव सीमा तथा समस्या निवारण के लिए स्व-अधिगम देखें।

अनुमोदन और स्वायत्तता

json5
{  skills: {    workshop: {      autonomous: {        enabled: false,      },      allowSymlinkTargetWrites: false,      approvalPolicy: "auto",      maxPending: 50,      maxSkillBytes: 40000,    },  },}
सेटिंग डिफ़ॉल्ट प्रभाव
autonomous.enabled false स्पष्ट सुधारों से और निष्क्रियता की देरी के बाद, पुनः उपयोग योग्य पुनर्प्राप्ति या सार्थक राउंड-ट्रिप बचत वाले पर्याप्त रूप से पूर्ण किए गए कार्य से लंबित प्रस्ताव बनाता है।
allowSymlinkTargetWrites false लागू करने की कार्रवाई को ऐसे वर्कस्पेस स्किल सिमलिंक के माध्यम से लिखने देता है जिनका वास्तविक लक्ष्य skills.load.allowSymlinkTargets में सूचीबद्ध है।
approvalPolicy "auto" "auto", एजेंट द्वारा आरंभ किए गए apply, reject, या quarantine के लिए अतिरिक्त संकेत छोड़ देता है (एजेंट को फिर भी कार्रवाई कॉल करनी होती है)। "pending" के लिए अनुमोदन आवश्यक है।
maxPending 50 प्रति वर्कस्पेस लंबित और क्वारंटीन किए गए प्रस्तावों की सीमा निर्धारित करता है (1-200)।
maxSkillBytes 40000 प्रस्ताव के मुख्य भाग का आकार बाइट में सीमित करता है (1024-200000)।

स्वायत्त कैप्चर भावी नियमों (उदाहरण के लिए, “अब से”) और प्रतिक्रियात्मक सुधारों (उदाहरण के लिए, “मैंने यह नहीं माँगा था”) को पहचानता है। यह नए निर्देशों को विषय के आधार पर प्रत्येक टर्न में अधिकतम तीन प्रस्तावों में समूहित करता है, शब्दावली के मेल को मौजूदा लिखने योग्य वर्कस्पेस स्किल तक भेजता है, और जब कोई अन्य सुधार उसी स्किल को लक्षित करता है, तो अपने ही लंबित प्रस्ताव को संशोधित करता है।

स्पष्ट सुधार के बिना सफल और पर्याप्त कार्य के लिए, चयनित मॉडल का एक पृथक रन तय करता है कि पूर्ण किया गया कार्य-प्रवाह सतर्क प्रस्ताव मानदंड को पूरा करता है या नहीं। प्रतिक्रिया देने से पहले अग्रभूमि मॉडल को सीखने का संकेत नहीं दिया जाता। पृष्ठभूमि समीक्षक प्रस्ताव के स्रोत के रूप में अग्रभूमि रन को सुरक्षित रखता है, सामान्य एजेंट टूल तक नहीं पहुँच सकता और जीवनचक्र संबंधी निर्णय नहीं ले सकता। समीक्षा केवल तभी शुरू होती है जब अग्रभूमि रनटाइम अपने सटीक रिज़ॉल्व किए गए मॉडल और यह कि skill_workshop वास्तव में उपलब्ध था, दोनों की सूचना देता है। इसलिए प्रतिबंधात्मक या अज्ञात टूल नीति सुरक्षित रूप से विफल होती है और कोई प्रस्ताव नहीं बनाती।

पूर्ण स्वायत्त समीक्षा व्यवहार और सुरक्षा मॉडल के लिए स्व-अधिगम देखें।

प्रस्ताव के विवरण हमेशा 160 बाइट तक सीमित होते हैं, चाहे maxSkillBytes का मान कुछ भी हो।

Gateway विधियाँ

विधि दायरा
skills.proposals.list operator.read
skills.proposals.inspect operator.read
skills.proposals.historyStatus operator.read
skills.proposals.historyScan operator.admin
skills.proposals.create operator.admin
skills.proposals.update operator.admin
skills.proposals.revise operator.admin
skills.proposals.requestRevision operator.admin
skills.proposals.apply operator.admin
skills.proposals.reject operator.admin
skills.proposals.quarantine operator.admin
skills.curator.status operator.read
skills.curator.pin operator.admin
skills.curator.unpin operator.admin
skills.curator.restore operator.admin

requestRevision केवल Gateway के लिए है (कोई CLI या एजेंट-टूल समकक्ष नहीं): यह PROPOSAL.md को सीधे बदलने के बजाय स्वतंत्र-पाठ संशोधन निर्देशों को स्वामी एजेंट के चैट सत्र में अग्रेषित करता है, उन UI के लिए जो एजेंट से शाब्दिक नई सामग्री सबमिट करने के बजाय संशोधन करने को कहते हैं।

historyStatus और historyScan Control UI की सहायक विधियाँ हैं। historyScan direction: "older" | "newer" स्वीकार करता है; यह परिणामों को हमेशा लंबित प्रस्तावों के रूप में छोड़ता है।

संग्रहण

text
&lt;OPENCLAW_STATE_DIR&gt;/skill-workshop/  proposals.json  proposals/<proposal-id>/    proposal.json    PROPOSAL.md    rollback.json    assets/    examples/    references/    scripts/    templates/

डिफ़ॉल्ट स्थिति डायरेक्टरी: ~/.openclaw

  • proposal.json: प्रामाणिक प्रस्ताव रिकॉर्ड।
  • proposals.json: तेज़ सूचीकरण सूचकांक, प्रस्ताव फ़ोल्डरों से पुनर्निर्माण योग्य।
  • PROPOSAL.md: लंबित स्किल प्रस्ताव।
  • rollback.json: लागू करने की कार्रवाई द्वारा सक्रिय फ़ाइलें बदलने से पहले लिखा गया पुनर्प्राप्ति मेटाडेटा।

सीमाएँ

सीमा मान
विवरण 160 बाइट
प्रस्ताव का मुख्य भाग skills.workshop.maxSkillBytes (डिफ़ॉल्ट 40,000; अधिकतम सीमा 1 MiB)
सहायक फ़ाइलें प्रति प्रस्ताव 64
सहायक फ़ाइल का आकार प्रत्येक 256 KiB, कुल 2 MiB
लंबित + क्वारंटीन किए गए प्रस्ताव प्रति वर्कस्पेस skills.workshop.maxPending (डिफ़ॉल्ट 50)

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

समस्या समाधान
Skill proposal description is too large description को छोटा करके 160 बाइट या उससे कम करें।
Skill proposal content is too large प्रस्ताव के मुख्य भाग को छोटा करें या skills.workshop.maxSkillBytes बढ़ाएँ।
Target skill changed after proposal creation वर्तमान लक्ष्य के अनुरूप प्रस्ताव को संशोधित करें या नया प्रस्ताव बनाएँ।
Proposal scan failed स्कैनर के निष्कर्षों की जाँच करें, फिर प्रस्ताव को संशोधित या क्वारंटीन करें।
untrusted symlink target skills.load.allowSymlinkTargets कॉन्फ़िगर करें और केवल जानबूझकर साझा किए गए स्किल रूट के लिए skills.workshop.allowSymlinkTargetWrites सक्षम करें।
Support file paths must be under one of... सहायक फ़ाइलों को assets/, examples/, references/, scripts/, या templates/ के अंतर्गत ले जाएँ।
प्रस्ताव सूची में दिखाई नहीं देता चयनित --agent वर्कस्पेस और OPENCLAW_STATE_DIR की जाँच करें।
एजेंट skill_workshop कॉल नहीं कर सकता सक्रिय टूल नीति और रन मोड की जाँच करें। coding में यह टूल शामिल है; प्रतिबंधात्मक tools.allow नीतियों में इसे स्पष्ट रूप से सूचीबद्ध करना आवश्यक है, और सैंडबॉक्स किए गए रन को सामान्य होस्ट-साइड एजेंट सत्र या CLI का उपयोग करना होगा।

टूल-नीति निदान

स्वायत्त कैप्चर सक्षम होने पर, openclaw doctor डिफ़ॉल्ट एजेंट के लिए core/doctor/skill-workshop-tool-policy जाँच चलाता है। यदि नीति skill_workshop को छिपाती है, तो चेतावनी में बहिष्कृत करने वाली पहली कॉन्फ़िगरेशन परत और किए जाने वाले सटीक allow या alsoAllow परिवर्तन का नाम दिया जाता है। पुराने रनबुक अभी भी openclaw plugins inspect skill-workshop का उपयोग कर सकते हैं; वह कमांड अब बताता है कि स्किल वर्कशॉप अंतर्निहित है और लागू होने पर वही नीति संकेत प्रिंट करता है।

संबंधित

Was this useful?
On this page

On this page