गेटवे के बिना
- प्रत्येक चैनल को अपनी एजेंट एकीकरण की आवश्यकता होती है
- सत्र और पहचान प्रवेश बिंदुओं के बीच बहती हैं
- उपकरण और अनुमतियाँ कई स्थानों पर कॉन्फ़िगर की जाती हैं
- ऑपरेटर पूरे एजेंट सिस्टम को नहीं देख सकते
मल्टी-चैनल एजेंट संचालन
ADK गेटवे मैसेजिंग चैनल, वेब एप्लिकेशन, और अन्य एजेंट्स को ADK-Rust एजेंट्स की टीम से जोड़ता है। यह प्रत्येक अनुरोध को रूट करता है, सही संदर्भ पुनर्स्थापित करता है, संचालन नीति लागू करता है, और डेवलपर्स को सिस्टम देखने और नियंत्रित करने के लिए एक स्थान देता है।
लोग और सिस्टम
पहचान · राउटर · रनर
एजेंट टीम
गेटवे क्यों?
एक ADK-Rust एजेंट तर्क कर सकता है, टूल्स कॉल कर सकता है, और इवेंट्स स्ट्रीम कर सकता है। एक वास्तविक तैनाती को व्यावहारिक प्रश्नों का भी उत्तर देना होता है: अनुरोध कहाँ आते हैं? कौन सा एजेंट उन्हें प्राप्त करना चाहिए? किसका सत्र पुनर्स्थापित किया जाना चाहिए? उस एजेंट को क्या करने की अनुमति है?
ADK गेटवे वह साझा संचालन परत प्रदान करता है। Telegram, Slack, WhatsApp, Discord, Matrix, वेबहुक्स, और एजेंट-फेसिंग वेब अनुरोध एडेप्टर के माध्यम से प्रवेश करते हैं। गेटवे उन्हें एक संदेश रूप में बदलता है, पहुँच नियम लागू करता है, उन्हें सिस्टम या विशेषज्ञ एजेंट को रूट करता है, और प्रगति वापस मूल चैनल के माध्यम से पहुंचाता है।
गेटवे हर एजेंट को एक सहायक में विलय नहीं करता। डेवलपर्स अनुसंधान, समर्थन, संचालन, और कोडिंग एजेंट्स को अलग रख सकते हैं—विभिन्न मॉडल, टूल्स, कार्यक्षेत्र, अनुमतियाँ, और चैनल बाइंडिंग के साथ—जबकि उन्हें एक नियंत्रण सतह के माध्यम से संचालित करते हैं।
आर्किटेक्चर
बाएँ से दाएँ वास्तुकला पढ़ें। अनुरोध मानव या एजेंट चैनलों के माध्यम से आते हैं। पहचान और रूटिंग तय करते हैं कि वे कहाँ जाते हैं। ADK-Rust चयनित एजेंट को उसके अपने राज्य और क्षमताओं के साथ चलाता है। नियंत्रण विमान हर स्तर का निरीक्षण करता है बिना वार्तालाप का हिस्सा बने।
प्रवेश बिंदु
ट्रस्ट एज
गेटवे रनटाइम
एजेंट टीम
क्षमताएँ
ऑपरेटर नियंत्रण विमान
पूर्ण अनुरोध पथ को कॉन्फ़िगर करें, अनुमोदित करें, निरीक्षण करें, पुनर्प्राप्त करें, और ऑडिट करें।
एक अनुरोध का पालन करें
हर समर्थित चैनल पर वही प्रवाह लागू होता है। केवल एडेप्टर और वितरण प्रारूप बदलता है; रूटिंग, सत्र, एजेंट निष्पादन, नीति, और साक्ष्य साझा रहते हैं।
टेलीग्राम, स्लैक, व्हाट्सएप, डिस्कॉर्ड, मैट्रिक्स, और वेबहुक्स विभिन्न प्रारूपों में आते हैं। प्रत्येक एडेप्टर उन्हें एक समान इनबाउंड संदेश अनुबंध में बदल देता है।
पेयरिंग नियम, अनुमति सूचियाँ, समूह उल्लेख नीति, बहु-उपयोगकर्ता पहचान, दर सीमाएँ, और वैकल्पिक JWT जांच अनुरोध एजेंट तक पहुँचने से पहले चलती हैं।
रूटिंग चैनल, खाता, और व्यक्ति या समूह की जांच करता है। सबसे विशिष्ट मिलान जीतता है; सिस्टम एजेंट अंतिम विकल्प है।
रनर एजेंट निष्पादन शुरू होने से पहले सही सत्र, उपयोगकर्ता संदर्भ, मेमोरी, रद्दीकरण स्थिति, और मॉडल फॉलबैक चेन संलग्न करता है।
चयनित एजेंट अपने Rust टूल्स, MCP सर्वर, ज्ञान, वर्कफ़्लोज़, या अनुमोदित ACP कोडिंग एजेंट का उपयोग कर सकता है। भूमिका नीति सीमित करती है कि यह क्या कॉल कर सकता है।
टाइप किए गए इवेंट टाइपिंग संकेतक, प्रगति संदेश, छवियाँ, या अंतिम प्रतिक्रिया बन जाते हैं। मेट्रिक्स, लॉग, कार्य इतिहास, और ऑडिट इवेंट बताते हैं क्या हुआ।
Rust में रूटिंग
एक डेवलपर एक एजेंट को पूरे चैनल, उस चैनल पर एक खाते, या एक विशिष्ट व्यक्ति या समूह से बाँध सकता है। राउटर सबसे विशिष्ट नियम पहले जांचता है और पूर्वानुमानित रूप से वापस गिरता है।
उदाहरण पठनीयता के लिए स्रोत कार्यान्वयन को संक्षिप्त करता है। रिपॉजिटरी सटीक, खाता-स्तरीय, चैनल-स्तरीय, लेगसी, और डिफ़ॉल्ट रूटिंग व्यवहार का परीक्षण करता है।
/// Most-specific binding wins.
pub fn resolve_agent(&self, message: &InboundMessage) -> &str {
// 1. channel + account + person or group
if let Some(agent) = self.exact_binding(message) {
return agent;
}
// 2. channel + account, then channel-only
if let Some(agent) = self.account_binding(message)
.or_else(|| self.channel_binding(message))
{
return agent;
}
// 3. configured legacy rules, then the system agent
self.legacy_binding(message)
.unwrap_or(&self.default_agent_id)
}{
"agent": {
"model": {
"primary": "openai/gpt-5.4-mini",
"fallbacks": ["openai/gpt-5.4-nano"]
}
},
"channels": {
"telegram": {
"enabled": true,
"botToken": "${TELEGRAM_BOT_TOKEN}",
"dmPolicy": "pairing"
}
},
"user_agents": [{
"id": "support",
"name": "Customer support",
"tools": ["order_lookup", "refund_request"],
"channel_bindings": [{ "channel_type": "telegram" }],
"role": {
"allow": ["order_lookup", "refund_request"],
"deny": ["refund_issue"]
},
"auto_start": true
}]
}एम्बेडेड कंट्रोल पैनल
React नियंत्रण पैनल Rust बाइनरी में संकलित होता है और परोसा जाता है /ui. It is the operator interface for configuration, agent lifecycle, approvals, sessions, memory, scheduled work, logs, and health.
मॉडल प्रदाताओं का चयन करें, क्रेडेंशियल्स स्टोर करें, चैनल खातों को कनेक्ट करें, और उपयोगकर्ताओं के लिए गेटवे खोलने से पहले इसे मान्य करें।
विशेषज्ञ बनाएं, उपकरण और चैनल असाइन करें, उनके प्रक्रियाएं शुरू या रोकें, और परिभाषित करें कि कौन से एजेंट कार्य सौंप सकते हैं।
संवेदनशील उपकरण कॉल की समीक्षा करें, उपयोगकर्ताओं को जोड़ी बनाएं, सत्र समाप्त करें, सहमति जांचें, और जब कोई कार्य जारी नहीं रहना चाहिए तो हस्तक्षेप करें।
चैनल और एजेंट्स को रियलटाइम में देखें, त्रुटियों का निरीक्षण करें, मेमोरी खोजें, और चल रहे गेटवे के स्वास्थ्य का पालन करें।
प्रोटोकॉल सीमाएँ खोलें
चैनल गेटवे को लोगों से जोड़ते हैं। प्रोटोकॉल इसे क्षमताओं और अन्य सॉफ़्टवेयर से जोड़ते हैं। प्रत्येक सीमा का एक अलग कार्य होता है, इसलिए डेवलपर्स पूरे रनटाइम को पुनः डिज़ाइन किए बिना एक जोड़ सकते हैं।
MCP
ब्राउज़र, कंप्यूटर, मीडिया, डेटा, और व्यवसाय प्रणालियों के लिए क्षमता सर्वर कनेक्ट करें। गेटवे बिना हर एकीकरण को अपने बाइनरी में शामिल किए कॉन्फ़िगर किए गए MCP सर्वर जोड़, सूचीबद्ध और हटाने में सक्षम है।
ACP
सुपरवाइज्ड सीमा के पीछे समर्थित कोडिंग-एजेंट प्रक्रियाएं चलाएं। कार्यक्षेत्र नीति, अनुमति अनुरोध, प्रगति, लागत, कतार स्थिति, और कार्य इतिहास गेटवे को दिखाई देते रहते हैं।
AWP
डिस्कवरी, क्षमताएँ, स्वास्थ्य, सहमति, सदस्यताएँ, और एजेंट संदेश एंडपॉइंट प्रकाशित करें ताकि अन्य सॉफ़्टवेयर गेटवे के साथ काम करना समझ सके।
HTTP + WebSocket
इनबाउंड वेबहुक अन्य अनुप्रयोगों से कार्य लाते हैं। HTTP API और लाइव WebSocket इवेंट एम्बेडेड कंट्रोल पैनल और बाहरी संचालन टूलिंग को संचालित करते हैं।
वर्तमान सीमा: स्रोत अपने एजेंट-संदेश रूट को AWP सतह के तहत उजागर करता है। पृष्ठ अलग से सत्यापित, पूर्ण A2A सर्वर सतह या उत्पादन AWP कॉमर्स कार्यान्वयन का दावा नहीं करता।
शासन
एजेंट स्वायत्तता एक कॉन्फ़िगर की गई संचालन निर्णय होनी चाहिए। ADK गेटवे उसी निष्पादन पथ के चारों ओर पहचान, अधिकार, सीमाएं, और प्रमाण रखता है जो अनुरोध ले जाता है।
पेयरिंग, अनुमति सूचियाँ, बहु-उपयोगकर्ता सत्र, JWT/JWKS, और भूमिका मानचित्रण यह निर्धारित करते हैं कि अनुरोध कौन कर रहा है।
प्रति-एजेंट अनुमति और अस्वीकृति नियम और टूल अनुमोदन यह निर्धारित करते हैं कि कोई व्यक्ति या एजेंट कौन-कौन सी क्षमताएँ उपयोग कर सकता है।
दर सीमाएँ, अनुरोध टाइमआउट, रद्दीकरण, सीमित टूल लूप, और स्वास्थ्य नीति यह सीमित करते हैं कि कार्य कितनी देर तक जारी रह सकता है।
ऑडिट इवेंट्स, लॉग्स, मेट्रिक्स, टास्क इतिहास, टूल परिणाम, और स्वास्थ्य इतिहास एक परिचालन रिकॉर्ड प्रदान करते हैं।
तैनाती
एक डेवलपर वर्कस्टेशन, एक आंतरिक सर्वर, या एक कंटेनर एक ही गेटवे रूप चला सकता है। सत्र संग्रहण स्थानीय प्रयोग के लिए मेमोरी में रह सकता है या तैनात प्रणाली के लिए SQLite, PostgreSQL, Redis, या Firestore में स्थानांतरित हो सकता है।
Rust सेवा संकलित React नियंत्रण पैनल को एम्बेड करती है। एक निष्पादन योग्य स्थापित करें या कॉपी करें और इसके बगल में कॉन्फ़िगरेशन रखें।
रिपॉजिटरी में कंटेनर तैनाती के लिए Dockerfile और दस्तावेजीकृत वॉल्यूम और पोर्ट अनुबंध शामिल हैं।
एक systemd यूनिट बूट स्टार्टअप, पुनः आरंभ नीति, तत्परता, लॉग, और ऑपरेटर-स्वामित्व वाली पर्यावरण फ़ाइलों का समर्थन करता है।
एक launchd परिभाषा डेवलपर और वर्कस्टेशन एजेंट्स के लिए एक स्थायी स्थानीय गेटवे चलाती है।
माइग्रेशन और सत्यापन
इस पृष्ठ पर उत्पाद क्षमताएँ स्थानीय गेटवे स्रोत, कॉन्फ़िगरेशन, दस्तावेज़, और परीक्षण सूट से आती हैं। ADK-Rust v2 माइग्रेशन अब इसकी लाइब्रेरी, प्रॉपर्टी, इंटीग्रेशन, जनरेटेड-एजेंट, और कंट्रोल-पैनल सत्यापन पास करता है।
चैनल एडाप्टर, संदेश रूटिंग, एजेंट रजिस्ट्री, प्रक्रिया जीवनचक्र, सत्र, मेमोरी, RAG, अनुसूचित कार्य, उपकरण अनुमोदन, पहुँच नियंत्रण, नियंत्रण-पैनल मार्ग, AWP, MCP, ACP एकीकरण, तैनाती संसाधन, और परीक्षण समीक्षा किए गए रिपॉजिटरी में मौजूद हैं।
प्रत्येक ADK निर्भरता स्थानीय 2.0 कार्यक्षेत्र पर हल होती है। Rust 2024 और Rust 1.95 सभी लक्ष्यों और विशेषताओं पर संकलित होते हैं। सभी 845 पुस्तकालय परीक्षण, 276 स्वतंत्र संपत्ति और एकीकरण परीक्षण, और 81 नियंत्रण-पैनल परीक्षण सफल होते हैं।
सत्यापित v2 स्थिति वर्तमान में एक स्थानीय स्रोत माइग्रेशन है, न कि प्रकाशित adk-gateway v2 क्रेट। स्थापना मार्गदर्शन को स्रोत चेकआउट को crates.io v1 रिलीज़ से अलग करना जारी रखना चाहिए।
प्रत्येक संदेश प्रदाता, मॉडल प्रदाता, बाहरी MCP सर्वर, स्थायी बैकएंड, पहचान प्रदाता, और उत्पादन तैनाती को अभी भी उसके ऑपरेटर से प्रमाण-पत्र, अवसंरचना, और सुरक्षा समीक्षा की आवश्यकता है।
मल्टी-एजेंट कोड जनरेशन अभी भी प्लेसहोल्डर A2A एंडपॉइंट्स का दस्तावेजीकरण करता है, और AWP कॉमर्स घोषित है लेकिन पूर्ण लेनदेन प्रणाली के रूप में लागू नहीं किया गया है। इनमें से कोई भी यहाँ उत्पादन-तैयार के रूप में प्रस्तुत नहीं है।
स्रोत समीक्षा: सभी ADK निर्भरताएँ स्थानीय v2.0.0 वर्कस्पेस पर हल होती हैं, परियोजना Rust 2024 को लक्षित करती है MSRV 1.94 के साथ, और सभी-लक्ष्य/सभी-फ़ीचर संकलन सफल होता है। सत्यापन 845 लाइब्रेरी परीक्षण, 276 स्वतंत्र प्रॉपर्टी और इंटीग्रेशन परीक्षण, और 81 कंट्रोल-पैनल परीक्षण पास करता है; crates.io v1 रिलीज़ प्रकाशित करना जारी रखता है।
ADK Gateway स्रोत-आधारित सॉफ़्टवेयर के रूप में प्रस्तुत किया गया है, न कि वेबसाइट-होस्टेड सेवा के रूप में। स्थानीय v2 माइग्रेशन सत्यापित है, जबकि crates.io v1 पर बना हुआ है। मैसेजिंग चैनल, मॉडल प्रदाता, बाहरी MCP टूल, स्थायी बैकएंड, और उत्पादन सुरक्षा ऑपरेटर क्रेडेंशियल और तैनाती कॉन्फ़िगरेशन पर निर्भर करते हैं; प्रायोगिक कोड जनरेशन और AWP कॉमर्स स्रोत दस्तावेज़ में स्पष्ट रूप से सीमित हैं।
ऑपरेटिंग लेयर बनाएं
सत्यापित v2 स्रोत से शुरू करें। रिपॉजिटरी में गेटवे, एम्बेडेड कंट्रोल पैनल, कॉन्फ़िगरेशन संदर्भ, चैनल गाइड, डिप्लॉयमेंट एसेट्स, और परीक्षण सूट शामिल हैं जो पूरे सिस्टम को समझने और संचालित करने के लिए आवश्यक हैं।