इस प्रोजेक्ट के बारे में

NVIDIA का OpenShell, न्यूनतम-विशेषाधिकार पहुंच के साथ स्वायत्त AI एजेंट्स के फ्लीट चलाने के लिए एक रनटाइम और कंट्रोल प्लेन है। एजेंट्स फाइलें पढ़ सकते हैं, पैकेज इंस्टॉल कर सकते हैं, API कॉल कर सकते हैं, और क्रेडेंशियल का उपयोग कर सकते हैं, लेकिन प्रत्येक क्रिया अप्रतिबंधित होस्ट पहुंच के बजाय घोषणात्मक नीति द्वारा नियंत्रित होती है। आर्किटेक्चर में पृथक एजेंट सैंडबॉक्स, एक सुपरवाइज़र और एक गेटवे शामिल हैं। कर्नेल-स्तरीय नियंत्रण फाइल पहुंच और सिस्टम कॉल को प्रतिबंधित करते हैं, जबकि नेटवर्क कनेक्शन सैंडबॉक्स से बाहर जाने से पहले नीति के विरुद्ध जांचे जाते हैं। वास्तविक क्रेडेंशियल एजेंट्स से छिपे रहते हैं और केवल स्वीकृत एंडपॉइंट्स के लिए भेजे जाने वाले अनुरोधों से जोड़े जाते हैं। नीति परिवर्तनों की समीक्षा लागू करने से पहले की जाती है। OpenShell नई दी गई पहुंच की पहचान करने के लिए औपचारिक सत्यापन का उपयोग करता है, जैसे किसी नए होस्ट को क्रेडेंशियल भेजना या किसी नई API विधि को सक्षम करना, जिससे जोखिम भरे परिवर्तनों को मानवीय अनुमोदन के लिए रोका जा सके। नीतियां फाइलसिस्टम, नेटवर्क और प्रोसेस व्यवहार को कवर करती हैं, जिसमें सलाहकार और प्रूवर टूलिंग का वर्णन दस्तावेज़ में किया गया है। क्विकस्टार्ट के लिए Linux, Apple Silicon पर macOS, या प्रायोगिक प्लेटफॉर्म के रूप में WSL 2 वाला Windows, साथ ही Docker, Podman, या होस्ट वर्चुअलाइज़ेशन आवश्यक है। इंस्टॉलर CLI और एक स्थानीय गेटवे को कॉन्फ़िगर करता है; डिफ़ॉल्ट सैंडबॉक्स एक न्यूनतम Ubuntu इमेज है जिसमें कोई एजेंट पहले से इंस्टॉल नहीं है। दस्तावेज़ित प्रथम-एजेंट वर्कफ़्लो OpenCode का उपयोग OpenRouter मॉडल के साथ करता है और अतिरिक्त पहुंच को स्वीकृत करने का प्रदर्शन करता है। डिप्लॉयमेंट और इंटीग्रेशन विकल्पों में Helm के माध्यम से Kubernetes इंस्टॉलेशन, सैंडबॉक्स और नीतियों के लिए गेटवे प्रबंधन, GPU और रनटाइम कॉन्फ़िगरेशन, मिडलवेयर और इंटरसेप्टर, और कंप्यूट ड्राइवर शामिल हैं। अनुप्रयोगों को OpenShell गेटवे से जोड़ने के लिए Python, TypeScript, Go, और Rust के लिए SDK उपलब्ध हैं। सार्वजनिक कोडिंग-एजेंट स्किल्स इंस्टॉल की जा सकती हैं ताकि एजेंट्स को CLI का उपयोग करने, नीतियां लिखने, और गेटवे और इन्फरेंस रूटिंग को डीबग करने में मदद मिल सके। OpenShell अनाम परिचालनात्मक टेलीमेट्री एकत्र करता है जो श्रेणियों और गणनाओं तक सीमित है। README के अनुसार, यह सैंडबॉक्स नाम, होस्टनाम, फाइल पथ, प्रॉम्प्ट, क्रेडेंशियल, प्रोवाइडर या मॉडल नाम, या उपयोगकर्ता सामग्री एकत्र नहीं करता है। टेलीमेट्री को एक एनवायरनमेंट वेरिएबल या Helm सेटिंग के माध्यम से अक्षम किया जा सकता है, और इसे कंपाइल से बाहर भी किया जा सकता है। यह प्रोजेक्ट Apache License 2.0 के तहत जारी किया गया है।