Skip to main content
Gateway एक छोटा OpenAI-संगत Chat Completions सरफेस प्रदान कर सकता है। यह डिफ़ॉल्ट रूप से अक्षम है। सक्षम किए जाने पर, यह इन सभी को Gateway के समान पोर्ट पर प्रदान करता है (WS + HTTP मल्टीप्लेक्स): अनुरोध सामान्य Gateway एजेंट रन के रूप में चलते हैं (openclaw agent के समान कोडपाथ), इसलिए रूटिंग, अनुमतियाँ और कॉन्फ़िगरेशन आपके Gateway से मेल खाते हैं।

एंडपॉइंट सक्षम करना

अक्षम करने के लिए enabled: false सेट करें (या इसे छोड़ दें)।

सुरक्षा सीमा (महत्वपूर्ण)

इस एंडपॉइंट को Gateway इंस्टेंस की पूर्ण ऑपरेटर पहुँच मानें:
  • इस एंडपॉइंट के लिए मान्य Gateway टोकन/पासवर्ड किसी सीमित प्रति-उपयोगकर्ता दायरे के बजाय स्वामी/ऑपरेटर क्रेडेंशियल के समतुल्य है।
  • अनुरोध विश्वसनीय ऑपरेटर कार्रवाइयों वाले उसी कंट्रोल-प्लेन एजेंट पथ से चलते हैं, इसलिए यदि लक्षित एजेंट की नीति संवेदनशील टूल की अनुमति देती है, तो यह एंडपॉइंट उनका उपयोग कर सकता है।
  • इसे केवल लूपबैक/टेलनेट/निजी इनग्रेस पर रखें। इसे सार्वजनिक इंटरनेट पर उजागर न करें।
प्रमाणीकरण मैट्रिक्स: ऑपरेटर दायरे, सुरक्षा, और दूरस्थ पहुँच देखें।

प्रमाणीकरण

Gateway प्रमाणीकरण कॉन्फ़िगरेशन का उपयोग करता है (उस मोड के विवरण के लिए विश्वसनीय प्रॉक्सी प्रमाणीकरण देखें): टिप्पणियाँ:
  • trusted-proxy Gateway पर प्रॉक्सी को बायपास करने वाले समान-होस्ट कॉलर सीधे gateway.auth.password / OPENCLAW_GATEWAY_PASSWORD का उपयोग कर सकते हैं। इसके बजाय किसी भी Forwarded, X-Forwarded-*, या X-Real-IP हेडर का प्रमाण अनुरोध को विश्वसनीय-प्रॉक्सी पथ पर बनाए रखता है।
  • यदि gateway.auth.rateLimit कॉन्फ़िगर किया गया है और बहुत अधिक प्रमाणीकरण प्रयास विफल होते हैं, तो एंडपॉइंट Retry-After हेडर के साथ 429 लौटाता है।

इस एंडपॉइंट का उपयोग कब करें

  • यदि आपका इंटीग्रेशन उसी Gateway के लिए केवल एक अन्य ऑपरेटर/क्लाइंट सरफेस है, तो नया अंतर्निहित चैनल जोड़ने के बजाय इसे प्राथमिकता दें।
  • दूरस्थ Gateway से सीधे कनेक्ट होने वाले नेटिव मोबाइल क्लाइंट के लिए, युग्मित-डिवाइस बूटस्ट्रैप/डिवाइस-टोकन प्रवाह के साथ WebChat या Gateway प्रोटोकॉल को प्राथमिकता दें, ताकि डिवाइस को साझा HTTP टोकन/पासवर्ड की आवश्यकता न हो।
  • इसके बजाय चैनल Plugin तब बनाएँ, जब किसी ऐसे बाहरी मैसेजिंग नेटवर्क को इंटीग्रेट कर रहे हों जिसके अपने उपयोगकर्ता, रूम, Webhook डिलीवरी या आउटबाउंड ट्रांसपोर्ट हों। Plugin बनाना देखें।

एजेंट-प्रथम मॉडल अनुबंध

OpenClaw, OpenAI के model फ़ील्ड को रॉ प्रदाता मॉडल आईडी नहीं, बल्कि एजेंट लक्ष्य मानता है। वैकल्पिक अनुरोध हेडर: /v1/models शीर्ष-स्तरीय एजेंट लक्ष्य (openclaw, openclaw/default, openclaw/<agentId>) सूचीबद्ध करता है, बैकएंड प्रदाता मॉडल या उप-एजेंट नहीं; उप-एजेंट आंतरिक निष्पादन टोपोलॉजी बने रहते हैं। यदि आप x-openclaw-model छोड़ देते हैं, तो चयनित एजेंट अपने सामान्य कॉन्फ़िगर किए गए मॉडल के साथ चलता है। /v1/embeddings समान एजेंट-लक्ष्य model आईडी का उपयोग करता है। किसी विशिष्ट एम्बेडिंग मॉडल को चुनने के लिए x-openclaw-model भेजें (साझा-सीक्रेट कॉलर से, या operator.admin वाले पहचान-सहित कॉलर से); अन्यथा अनुरोध चयनित एजेंट के सामान्य एम्बेडिंग सेटअप का उपयोग करता है।

सत्र व्यवहार

डिफ़ॉल्ट रूप से एंडपॉइंट प्रति अनुरोध स्टेटलेस होता है (प्रत्येक कॉल पर नई सत्र कुंजी जनरेट होती है)। यदि अनुरोध में OpenAI की user स्ट्रिंग शामिल है, तो Gateway उससे एक स्थिर सत्र कुंजी प्राप्त करता है, ताकि दोहराई गई कॉल एक एजेंट सत्र साझा कर सकें। कस्टम ऐप के लिए, प्रत्येक वार्तालाप थ्रेड में समान user मान का पुनः उपयोग करें; खाता-स्तरीय पहचानकर्ताओं से बचें, जब तक आप एक OpenClaw सत्र को कई वार्तालापों/डिवाइसों के बीच साझा नहीं करना चाहते। x-openclaw-session-key का उपयोग केवल तभी करें, जब आपको कई क्लाइंट/थ्रेड में स्पष्ट रूटिंग नियंत्रण की आवश्यकता हो; इसके लिए ऐप्लिकेशन-स्वामित्व वाली ऐसी कुंजियाँ उपयोग करें जो ऊपर दिए गए आरक्षित नेमस्पेस से बचें।

अनुरोध सीमाएँ

एंडपॉइंट प्रति अनुरोध बॉडी के लिए 20 MB, नवीनतम उपयोगकर्ता संदेश से 8 image_url भाग और संचयी डीकोड किए गए चित्र डेटा के लिए 20 MB की अंतर्निहित सीमाओं का उपयोग करता है। चित्र स्रोत नीति gateway.http.endpoints.chatCompletions.images के अंतर्गत कॉन्फ़िगर करने योग्य रहती है:
चित्र सेटिंग के डिफ़ॉल्ट मान: HEIC/HEIF image_url स्रोत स्वीकार किए जाते हैं और साझा OpenClaw चित्र प्रोसेसर (Rastermill) के माध्यम से प्रदाता को भेजने से पहले JPEG में सामान्यीकृत किए जाते हैं; बाहरी कोडेक समर्थन की आवश्यकता वाले प्रारूपों के लिए यह सिस्टम कन्वर्टर (sips, ImageMagick, GraphicsMagick, या ffmpeg) का उपयोग करता है। सुरक्षा टिप्पणी: किसी होस्टनाम को अनुमति-सूची में डालने से निजी/आंतरिक IP अवरोधन बायपास नहीं होता। इंटरनेट पर उजागर Gateway के लिए, ऐप-स्तरीय सुरक्षा उपायों के अतिरिक्त नेटवर्क इग्रेस नियंत्रण लागू करें। सुरक्षा देखें।

चैट टूल अनुबंध

/v1/chat/completions सामान्य OpenAI Chat क्लाइंट के साथ संगत फ़ंक्शन-टूल उपसमुच्चय का समर्थन करता है।

समर्थित अनुरोध फ़ील्ड

सभी सैंपलिंग और टोकन-सीमा फ़ील्ड एक ही एजेंट स्ट्रीम-पैरामीटर चैनल से जाते हैं और सर्वोत्तम प्रयास के आधार पर अग्रेषित किए जाते हैं:
  • टोकन सीमा: वायर फ़ील्ड का नाम प्रदाता ट्रांसपोर्ट द्वारा चुना जाता है: OpenAI-परिवार के एंडपॉइंट के लिए max_completion_tokens, और केवल लीगेसी नाम स्वीकार करने वाले प्रदाताओं (Mistral, Chutes) के लिए max_tokens
  • stop को ट्रांसपोर्ट के स्टॉप फ़ील्ड से मैप किया जाता है: Chat Completions बैकएंड के लिए stop, Anthropic के लिए stop_sequences। OpenAI Responses API में कोई स्टॉप पैरामीटर नहीं है, इसलिए Responses-आधारित मॉडल पर stop लागू नहीं किया जाता।
  • ChatGPT-आधारित Codex Responses बैकएंड निश्चित सर्वर-साइड सैंपलिंग का उपयोग करता है और अनुरोध के उस बैकएंड तक पहुँचने से पहले temperature/top_p (साथ ही max_output_tokens, metadata, prompt_cache_retention, service_tier) को हटा देता है।

असमर्थित वैरिएंट

निम्न के लिए 400 invalid_request_error लौटाता है:
  • गैर-सरणी tools, गैर-फ़ंक्शन टूल प्रविष्टियाँ, या अनुपस्थित tool.function.name
  • tool_choice वैरिएंट, जैसे allowed_tools और custom
  • tool_choice.function.name मान जो दिए गए टूल से मेल नहीं खाते
tool_choice: "required" और फ़ंक्शन-पिन किए गए tool_choice के लिए, एंडपॉइंट उपलब्ध कराए गए क्लाइंट फ़ंक्शन-टूल सेट को सीमित करता है, रनटाइम को उत्तर देने से पहले क्लाइंट टूल कॉल करने का निर्देश देता है, और यदि एजेंट की प्रतिक्रिया में कोई मेल खाता संरचित क्लाइंट-टूल कॉल न हो तो त्रुटि देता है। यह कॉलर द्वारा दी गई HTTP tools सूची पर लागू होता है, प्रत्येक आंतरिक OpenClaw एजेंट टूल पर नहीं।

गैर-स्ट्रीमिंग टूल प्रतिक्रिया का स्वरूप

जब एजेंट टूल कॉल करता है, तो प्रतिक्रिया में इसका उपयोग होता है:
  • choices[0].finish_reason = "tool_calls"
  • choices[0].message.tool_calls[] प्रविष्टियाँ जिनमें id, type: "function", function.name, function.arguments (JSON स्ट्रिंग) होते हैं
  • टूल कॉल से पहले सहायक की टिप्पणी, choices[0].message.content में (संभवतः खाली)

स्ट्रीमिंग टूल प्रतिक्रिया का स्वरूप

जब stream: true, टूल कॉल वृद्धिशील SSE चंक के रूप में आते हैं: एक प्रारंभिक सहायक भूमिका डेल्टा, वैकल्पिक सहायक टिप्पणी डेल्टा, टूल की पहचान और आर्ग्युमेंट अंशों वाले एक या अधिक delta.tool_calls चंक, फिर finish_reason: "tool_calls" और data: [DONE] वाला अंतिम चंक। यदि stream_options.include_usage=true, तो [DONE] से पहले अंतिम उपयोग चंक उत्सर्जित किया जाता है।

टूल अनुवर्ती लूप

tool_calls प्राप्त करने के बाद, अनुरोधित फ़ंक्शन निष्पादित करें और एक अनुवर्ती अनुरोध भेजें जिसमें पिछला सहायक टूल-कॉल संदेश और मेल खाते tool_call_id वाले एक या अधिक role: "tool" संदेश शामिल हों। यह अंतिम उत्तर देने के लिए उसी एजेंट रीज़निंग लूप को जारी रखता है।

स्ट्रीमिंग (SSE)

Server-Sent Events प्राप्त करने के लिए stream: true सेट करें:
  • Content-Type: text/event-stream
  • प्रत्येक इवेंट पंक्ति data: <json> होती है
  • स्ट्रीम data: [DONE] के साथ समाप्त होती है

Open WebUI का त्वरित सेटअप

  • बेस URL: http://127.0.0.1:18789/v1
  • macOS पर Docker का बेस URL: http://host.docker.internal:18789/v1
  • API कुंजी: आपका Gateway बेयरर टोकन
  • मॉडल: openclaw/default
अपेक्षित व्यवहार: GET /v1/models, openclaw/default को सूचीबद्ध करता है, और Open WebUI इसे चैट मॉडल आईडी के रूप में उपयोग करता है। किसी विशिष्ट बैकएंड प्रदाता/मॉडल के लिए, एजेंट का सामान्य डिफ़ॉल्ट मॉडल सेट करें या x-openclaw-model भेजें (साझा-सीक्रेट कॉलर, या operator.admin वाला पहचान-धारी कॉलर)। त्वरित स्मोक परीक्षण:
यदि यह openclaw/default लौटाता है, तो अधिकांश Open WebUI सेटअप उसी बेस URL और टोकन से कनेक्ट हो सकते हैं।

उदाहरण

एक ऐप वार्तालाप के लिए स्थिर सत्र:
उसी एजेंट सत्र को जारी रखने के लिए उस वार्तालाप की बाद की कॉल में वही user मान दोबारा उपयोग करें। गैर-स्ट्रीमिंग:
स्ट्रीमिंग:
मॉडल सूचीबद्ध करें:
एक मॉडल प्राप्त करें:
एम्बेडिंग बनाएँ:
/v1/embeddings, input को स्ट्रिंग या स्ट्रिंग की सरणी के रूप में समर्थित करता है।

संबंधित