/v1/* सतह की तरह, साझा-सीक्रेट बियरर प्रमाणीकरण को पूरे Gateway के लिए विश्वसनीय ऑपरेटर पहुँच माना जाता है।
POST /tools/invoke- Gateway वाला ही पोर्ट (WS + HTTP मल्टीप्लेक्स):
http://<gateway-host>:<port>/tools/invoke - डिफ़ॉल्ट अधिकतम अनुरोध बॉडी आकार: 2 MB
प्रमाणीकरण
Gateway प्रमाणीकरण कॉन्फ़िगरेशन का उपयोग करता है। सामान्य HTTP प्रमाणीकरण पथ:- साझा-सीक्रेट प्रमाणीकरण (
gateway.auth.mode="token"या"password"):Authorization: Bearer <token-or-password> - विश्वसनीय पहचान-युक्त HTTP प्रमाणीकरण (
gateway.auth.mode="trusted-proxy"): कॉन्फ़िगर किए गए पहचान-सजग प्रॉक्सी के माध्यम से रूट करें और उसे आवश्यक पहचान हेडर इंजेक्ट करने दें - निजी-इनग्रेस खुला प्रमाणीकरण (
gateway.auth.mode="none"): किसी प्रमाणीकरण हेडर की आवश्यकता नहीं
mode="token"gateway.auth.token(याOPENCLAW_GATEWAY_TOKEN) का उपयोग करता है।mode="password"gateway.auth.password(याOPENCLAW_GATEWAY_PASSWORD) का उपयोग करता है।mode="trusted-proxy"के लिए HTTP अनुरोध का कॉन्फ़िगर किए गए विश्वसनीय प्रॉक्सी स्रोत से आना आवश्यक है; समान-होस्ट लूपबैक प्रॉक्सी के लिए स्पष्टgateway.auth.trustedProxy.allowLoopback = trueआवश्यक है।- प्रॉक्सी को बायपास करने वाले आंतरिक समान-होस्ट कॉलर स्थानीय प्रत्यक्ष फ़ॉलबैक के रूप में
gateway.auth.password/OPENCLAW_GATEWAY_PASSWORDका उपयोग कर सकते हैं। इसके बजाय कोई भीForwarded,X-Forwarded-*, याX-Real-IPहेडर साक्ष्य अनुरोध को विश्वसनीय-प्रॉक्सी पथ पर बनाए रखता है। - यदि
gateway.auth.rateLimitकॉन्फ़िगर है और बहुत अधिक प्रमाणीकरण विफलताएँ होती हैं, तो एंडपॉइंटRetry-Afterके साथ429लौटाता है।
सुरक्षा सीमा (महत्वपूर्ण)
इस एंडपॉइंट को Gateway इंस्टेंस के लिए पूर्ण ऑपरेटर-पहुँच सतह मानें।- यहाँ HTTP बियरर प्रमाणीकरण कोई संकीर्ण प्रति-उपयोगकर्ता स्कोप मॉडल नहीं है।
- इस एंडपॉइंट के लिए मान्य Gateway टोकन/पासवर्ड को स्वामी/ऑपरेटर क्रेडेंशियल जैसा माना जाना चाहिए।
- साझा-सीक्रेट प्रमाणीकरण मोड (
tokenऔरpassword) के लिए, एंडपॉइंट सामान्य पूर्ण ऑपरेटर डिफ़ॉल्ट पुनर्स्थापित करता है, भले ही कॉलर अधिक संकीर्णx-openclaw-scopesहेडर भेजे। - साझा-सीक्रेट प्रमाणीकरण इस एंडपॉइंट पर प्रत्यक्ष टूल इनवोकेशन को स्वामी-प्रेषक टर्न भी मानता है।
- विश्वसनीय पहचान-युक्त HTTP मोड (विश्वसनीय प्रॉक्सी प्रमाणीकरण, या निजी इनग्रेस पर
gateway.auth.mode="none") मौजूद होने परx-openclaw-scopesका सम्मान करते हैं और अन्यथा सामान्य ऑपरेटर डिफ़ॉल्ट स्कोप सेट पर फ़ॉलबैक करते हैं। - इस एंडपॉइंट को केवल लूपबैक/टेलनेट/निजी इनग्रेस पर रखें; इसे सीधे सार्वजनिक इंटरनेट पर उजागर न करें।
अनुरोध बॉडी
tool/name(स्ट्रिंग, आवश्यक): इनवोक किए जाने वाले टूल का नाम। दोनों भेजे जाने परnameको प्राथमिकता मिलती है।action(स्ट्रिंग, वैकल्पिक): यदि टूल स्कीमाactionप्रॉपर्टी का समर्थन करता है औरargsने पहले से कोई सेट नहीं की है, तो इसेargs.actionमें मर्ज किया जाता है।args(ऑब्जेक्ट, वैकल्पिक): टूल-विशिष्ट आर्ग्युमेंट।sessionKey(स्ट्रिंग, वैकल्पिक): लक्षित सेशन कुंजी। छोड़े जाने या"main"होने पर, Gateway कॉन्फ़िगर की गई मुख्य सेशन कुंजी का उपयोग करता है (session.mainKeyऔर डिफ़ॉल्ट एजेंट, या वैश्विक सेशन स्कोप मेंglobalका सम्मान करता है)।agentId(स्ट्रिंग, वैकल्पिक): उस एजेंट के लिए सेशन कुंजी का समाधान करता है। यदि यह किसी स्पष्टsessionKeyसे टकराता है, जो पहले से किसी भिन्न एजेंट पर मैप है, तो400के साथ त्रुटि देता है।idempotencyKey(स्ट्रिंग, वैकल्पिक): इनवोकेशन के लिए स्थिर टूल-कॉल आईडी प्राप्त करने हेतु उपयोग किया जाता है।dryRun(बूलियन, वैकल्पिक): भविष्य में उपयोग के लिए आरक्षित; वर्तमान में अनदेखा किया जाता है।
नीति + रूटिंग व्यवहार
टूल उपलब्धता को Gateway एजेंटों द्वारा उपयोग की जाने वाली उसी नीति शृंखला के माध्यम से फ़िल्टर किया जाता है:tools.profile/tools.byProvider.profiletools.allow/tools.byProvider.allowagents.<id>.tools.allow/agents.<id>.tools.byProvider.allow- समूह नीतियाँ (यदि सेशन कुंजी किसी समूह या चैनल पर मैप होती है)
- उप-एजेंट नीति (उप-एजेंट सेशन कुंजी के साथ इनवोक करते समय)
- एक्ज़ेक अनुमोदन ऑपरेटर सुरक्षा-नियंत्रण हैं, इस HTTP एंडपॉइंट के लिए अलग प्राधिकरण सीमा नहीं। यदि कोई टूल यहाँ Gateway प्रमाणीकरण + टूल नीति के माध्यम से पहुँच योग्य है, तो
/tools/invokeकोई अतिरिक्त प्रति-कॉल अनुमोदन प्रॉम्प्ट नहीं जोड़ता। - यदि
execयहाँ पहुँच योग्य है, तो इसे परिवर्तनकारी शेल सतह मानें।write,edit,apply_patch, या HTTP फ़ाइल-सिस्टम लेखन टूल को अस्वीकार करने से शेल निष्पादन केवल-पढ़ने योग्य नहीं हो जाता। - अविश्वसनीय कॉलरों के साथ Gateway बियरर क्रेडेंशियल साझा न करें। यदि विश्वास सीमाओं के बीच पृथक्करण आवश्यक है, तो अलग-अलग Gateway चलाएँ (आदर्श रूप से अलग OS उपयोगकर्ताओं/होस्ट पर)।
cron, gateway, और nodes भी केवल-स्वामी हैं: इस डिफ़ॉल्ट निषेध सूची से बाहर भी, गैर-स्वामी कॉलर इस सतह पर उन्हें इनवोक नहीं कर सकते।
सामान्य निषेध सूची को gateway.tools के माध्यम से अनुकूलित करें:
gateway.tools.allow एक एक्सपोज़र ओवरराइड है, स्कोप अपग्रेड नहीं। पहचान-युक्त HTTP मोड में, cron, gateway, और nodes स्वामी/एडमिन पहचान (operator.admin) के बिना कॉलरों के लिए अनुपलब्ध रहते हैं, भले ही वे gateway.tools.allow में सूचीबद्ध हों। साझा-सीक्रेट बियरर प्रमाणीकरण अभी भी ऊपर दिए गए पूर्ण विश्वसनीय-ऑपरेटर नियम का पालन करता है।
समूह नीतियों को संदर्भ निर्धारित करने में सहायता के लिए, वैकल्पिक रूप से ये सेट किए जा सकते हैं:
x-openclaw-message-channel: <channel>(उदाहरण:slack,telegram)x-openclaw-account-id: <accountId>(जब एकाधिक अकाउंट मौजूद हों)x-openclaw-message-to: <target>(संदेश-टूल नीति के लिए डिलीवरी लक्ष्य)x-openclaw-thread-id: <threadId>(संदेश-टूल नीति के लिए थ्रेड संदर्भ)