स्थानीय कमांड सुरक्षित रूप से चलाना
डेस्कटॉप एप्लिकेशन में सहायक आपकी चैट के कार्य फ़ोल्डर में कमांड और परीक्षण चला सकता है। चैट में यह कैसे काम करता है, यह स्थानीय फ़ाइल पहुँच में पढ़ें। इस पेज पर आप सेट करते हैं कि यह बिना पूछे कब हो सकता है और कमांड कितनी अलग-थलग चलती हैं।
कमांड सेटिंग खोलना
किसी चैट में कमांड पैनल खोलें और इस फ़ोल्डर के लिए कमांड सेटिंग चुनें। सेटिंग हर फ़ोल्डर पर अलग से लागू होती हैं।
सहायक कमांड कब चला सकता है?
इन तीन मोड में से एक चुनें:
- हमेशा पूछें: आप हर कमांड को स्वीकृति देते हैं।
- भरोसेमंद कमांड अपने-आप: आपकी सहेजी गई कमांड बिना पूछे शुरू होती हैं। दूसरी कमांड अब भी अनुमति माँगती हैं।
- सैंडबॉक्स में अपने-आप: सब कुछ बिना पूछे शुरू होता है, लेकिन एक अलग-थलग परिवेश में।
हर मोड में ये नियम भी लागू होते हैं:
- हानिरहित कमांड बिना कार्ड के शुरू होते हैं:
mkdir,ls,cat,head,tail,wc,grep,find(-execया-deleteके बिना),touch,pwd,treeऔर वर्शन जाँच (node,npm,npx,python,pipऔरaischool-pythonके--version,-vया-V)। ये उससे ज़्यादा कुछ नहीं करते जो बिल्ट-इन फ़ाइल टूल पहले से बिना पूछे करते हैं। ये सैंडबॉक्स में, बिना नेटवर्क के और केवल कार्य फ़ोल्डर के अंदर के पथों के साथ चलते हैं, लिंक का पालन करने के बाद भी (कोई पूर्ण पथ,~या..नहीं)। अगर कोई लिंक फ़ोल्डर से बाहर ले जाता है, तो कार्ड दिखता है। इसके लिए सैंडबॉक्स (macOS और Linux) और लोकल कमांड चालू होने चाहिए, लेकिन व्यवस्थापक की अपने-आप चलाने की अनुमति दें सेटिंग ज़रूरी नहीं है। तब कमांड पैनल में स्वचालित (हानिरहित कमांड) दिखता है। घुंघराले कोष्ठकों में सूची, जैसेmkdir -p src/{components,utils}, भी बिना कार्ड के शुरू होती है: ऐप उसे अलग-अलग पथों में बदलता है और हर पथ की जाँच करता है। - हर कार्ड पर सटीक कमांड दिखता है, और ऑनलाइन कार्रवाइयों में सटीक पता भी। उसके नीचे छोटे अक्षरों में सहायक की व्याख्या होती है।
- अगर सैंडबॉक्स उपलब्ध है और व्यवस्थापक स्वचालित रूप से चलाने की अनुमति देता है, तो सैंडबॉक्स में चलने वाले कमांड के कार्ड पर अब से इस फ़ोल्डर में अपने-आप सैंडबॉक्स में बटन भी होता है। यह फ़ोल्डर को सैंडबॉक्स में अपने-आप पर कर देता है, ताकि आगे के कमांड बिना कार्ड के शुरू हों। जिन कमांड को नेटवर्क चाहिए, वे फिर भी एक बार पूछते हैं, जब तक पैकेज इंस्टॉल की अनुमति न दी गई हो।
- किसी फ़ोल्डर का पहला कार्ड जो सैंडबॉक्स में चलता है और नेटवर्क नहीं माँगता, एक बार इस प्रोजेक्ट पर भरोसा करें दिखाता है। यह कमांड चलाता है, फ़ोल्डर को सैंडबॉक्स में अपने-आप पर करता है और बिना पूछे पैकेज इंस्टॉल की अनुमति दें चालू करता है। इसके बाद
npm test,npm run buildऔरnode --testजैसे टेस्ट और बिल्ड बिना कार्ड के, बिना नेटवर्क वाले सैंडबॉक्स में शुरू होते हैं। जिन कमांड को किसी और काम के लिए नेटवर्क चाहिए या जो सैंडबॉक्स के बाहर चलती हैं, वे पूछती रहती हैं। चलाएँ या अस्वीकार करें के बाद यह सवाल इस फ़ोल्डर में फिर नहीं आता; मोड आप कमांड सेटिंग्स में बदलते हैं। अगर अपने-आप चलाना बंद है, तो हर कार्ड बताता है कि ऐसा आपके एडमिन ने किया है या इस कंप्यूटर की डिवाइस नीति ने।
भरोसेमंद कमांड सहेजना
किसी कमांड पर इस फ़ोल्डर में हमेशा अनुमति दें चुनें और फिर ठीक यही कमांड या इससे शुरू होने वाली हर चीज़। सहेजी गई कमांड आगे से बिना पूछे शुरू होती हैं। विशेष वर्णों (जैसे ; | > $) वाली कमांड हमेशा अनुमति माँगती हैं।
सहेजे गए नियम कमांड सेटिंग में इस फ़ोल्डर में हमेशा अनुमति के नीचे दिखते हैं। आप उन्हें वहाँ से हटा भी सकते हैं।
सैंडबॉक्स और नेटवर्क
- सैंडबॉक्स का उपयोग करें: कमांड केवल इसी फ़ोल्डर में लिख सकती हैं। यह विकल्प macOS और Linux पर डिफ़ॉल्ट रूप से चालू है।
- नेटवर्क की अनुमति दें: तय करता है कि कमांड को इंटरनेट मिलता है या नहीं। यह विकल्प डिफ़ॉल्ट रूप से बंद है। सैंडबॉक्स के बिना कमांड के पास हमेशा नेटवर्क पहुँच होती है।
हर कमांड कार्ड दिखाता है कि सैंडबॉक्स और नेटवर्क चालू हैं या नहीं।
अगर नेटवर्क की अनुमति दें बंद है और सहायक कुछ डाउनलोड करना चाहता है, जैसे npm install से, तो कमांड कार्ड पूछता है कि क्या आप ठीक वही कमांड नेटवर्क के साथ चलाना चाहते हैं। इसलिए आपको पूरे फ़ोल्डर के लिए नेटवर्क चालू करने की ज़रूरत नहीं है।
Windows पर अभी सैंडबॉक्स उपलब्ध नहीं है।
पैकेज इंस्टॉल करना
ऐप में अपना Node.js और npm शामिल है। इसलिए node, npm और npx जैसी कमांड तब भी काम करती हैं, जब आपके कंप्यूटर पर Node.js इंस्टॉल न हो। अगर आपने खुद Node.js इंस्टॉल किया है, तो ऐप उसी संस्करण का उपयोग करता है। अपवाद: जो प्रोजेक्ट खुद Electron शुरू करता है (electron .), उसे आपका खुद इंस्टॉल किया हुआ Node.js चाहिए।
बिना पूछे पैकेज इंस्टॉल की अनुमति दें
इस फ़ोल्डर के लिए कमांड सेटिंग में बिना पूछे पैकेज इंस्टॉल की अनुमति दें स्विच चालू करें। तब नाम वाले पैकेज के इंस्टॉलेशन बिना कार्ड के शुरू होते हैं: npm install <नाम> और package.json से npm install, install या add के साथ pnpm, yarn या bun, और pip install <नाम> (uv के ज़रिए भी)। ये हमेशा सैंडबॉक्स में, नेटवर्क के साथ चलते हैं। दूसरी कमांड उसी मोड का पालन करती हैं, जो आपने फ़ोल्डर के लिए चुना है।
इन इंस्टॉलेशन पर अब भी कार्ड दिखता है:
- प्रोजेक्ट स्टार्टर, जैसे
npm create vite@latestऔरnpx create-…, क्योंकि वे अपना कोड चलाते हैं; pip install .,pip install -r requirements.txt, किसी दूसरी रजिस्ट्री से इंस्टॉलेशन (--registry,-i,--index-url) और git पते, URL या पथ से पैकेज।
यह स्विच केवल सैंडबॉक्स (macOS और Linux) के साथ काम करता है, और तभी जब आपका व्यवस्थापक अपने-आप चलाने की अनुमति देता है। वरना आप इसे चालू नहीं कर सकते।
इस तरह इंस्टॉल होने वाले पैकेज कभी अपनी इंस्टॉलेशन स्क्रिप्ट नहीं चलाते (npm --ignore-scripts के साथ चलता है)। Python पैकेज केवल तैयार wheels के रूप में इंस्टॉल होते हैं।
लोकल सर्वर और बिल्ट-इन ब्राउज़र
सहायक ऐसा डेवलपमेंट सर्वर भी शुरू कर सकता है जो चलता रहता है, जैसे Vite वाले छोटे React प्रोजेक्ट के लिए npm run dev। इसके लिए वही नियम लागू होते हैं जो दूसरी कमांड के लिए: आप ठीक वही कमांड स्वीकृत करते हैं, या वह किसी सहेजे गए नियम से या सैंडबॉक्स में अपने-आप शुरू होती है। अधिकतम समय की जगह कार्ड पर लिखा होता है: "जब तक आप इसे रोकें नहीं, यह लोकल सर्वर के रूप में चलता रहता है।"
सहायक के जवाब देने के बाद भी सर्वर चलता रहता है। कमांड पैनल में कार्ड सर्वर चल रहा है स्थिति दिखाता है, साथ में ब्राउज़र में खोलें और रोकें बटन। एक साथ ज़्यादा से ज़्यादा 4 सर्वर चल सकते हैं। सर्वर तब रुकते हैं जब आप उन्हें रोकते हैं या ऐप बंद करते हैं।
बिना नेटवर्क वाले सैंडबॉक्स में सर्वर केवल इसी कंप्यूटर (localhost) पर सुन सकता है। सहायक पैकेज कैसे इंस्टॉल करता है, यह पैकेज इंस्टॉल करना में पढ़ें।
एक सरल वेब पेज दिखाना
साधारण वेब पेज (CSS और JavaScript वाला index.html, बिना बिल्ड चरण के) के लिए किसी कमांड की ज़रूरत नहीं होती। तब सहायक ऐप के बिल्ट-इन वेब सर्वर का उपयोग करता है:
- फ़ोल्डर केवल इसी कंप्यूटर पर, किसी रैंडम पोर्ट के साथ
http://127.0.0.1पर दिखता है। - छिपी हुई फ़ाइलें, जैसे
.gitऔर.env, कभी नहीं दिखाई जातीं। - किसी फ़ाइल के बदलने पर पेज अपने-आप फिर से लोड होता है।
इसके लिए कोई स्वीकृति कार्ड नहीं आता। सर्वर कमांड पैनल में ब्राउज़र में खोलें और रोकें के साथ दिखता है, और 4 सर्वर की अधिकतम सीमा में गिना जाता है।
नतीजा आप बिल्ट-इन ब्राउज़र में देखते हैं: ऊपरी पट्टी में दाईं ओर ब्राउज़र बटन (ग्लोब आइकन)। पैनल चैट के बगल में खुलता है, जिसमें पीछे, आगे, फिर से लोड करें (लोड होते समय रोकें), पता पट्टी और अपने डिफ़ॉल्ट ब्राउज़र में खोलें होते हैं।
- किसी लोकल सर्वर का नतीजा दिखाने के लिए सहायक खुद ब्राउज़र खोलता है। यह केवल लोकल पतों के साथ काम करता है, जैसे
http://localhost:5173। - जवाब में किसी localhost लिंक पर क्लिक करने पर वह बिल्ट-इन ब्राउज़र में खुलता है। दूसरे लिंक आपके डिफ़ॉल्ट ब्राउज़र में खुलते हैं।
- आप खुद भी कोई भी वेब पता टाइप कर सकते हैं।
- ब्राउज़र का अपना अलग सत्र होता है: उसमें आप AI-Public में लॉग इन नहीं होते, वेबसाइटों को कैमरा या माइक्रोफ़ोन जैसी अनुमतियाँ नहीं मिलतीं और डाउनलोड संभव नहीं है।
- जब तक ऐप का कोई मेनू या डायलॉग खुला है, पेज कुछ देर के लिए छिपा रहता है।
उदाहरण:
इस फ़ोल्डर में Vite से काउंटर वाला एक छोटा React ऐप बनाओ। डिपेंडेंसी इंस्टॉल करो, डेव सर्वर शुरू करो और नतीजा ब्राउज़र में दिखाओ।
सहायक से पेज दिखवाना
जब आप सहायक से बिल्ट-इन ब्राउज़र का पेज देखने को कहते हैं, तो वह पेज का पता, शीर्षक, दिखने वाला टेक्स्ट, एक स्क्रीनशॉट और हाल के त्रुटि संदेश पढ़ता है। ये AI मॉडल को भेजे जाते हैं।
- इस कंप्यूटर का पेज (
localhostया127.0.0.1) सहायक बिना पूछे देखता है। - किसी भी दूसरी वेबसाइट पर, जैसे ऐसा पेज जिसमें आप साइन इन हैं, सहायक पहले एक कार्ड दिखाता है: "सहायक onedrive.live.com देखना चाहता है।" देखने की अनुमति दें या अस्वीकार करें पर क्लिक करें। वह हर बार दोबारा पूछता है।
- अगर आपकी अनुमति के बाद पेज किसी दूसरी वेबसाइट पर चला जाए, तो सहायक कुछ नहीं पढ़ता।
- सहायक ख़ुद केवल इस कंप्यूटर के पेज पर क्लिक और टाइप करता है, ताकि वह अपने बनाए काम की जाँच कर सके। दूसरी वेबसाइटों पर वह न क्लिक करता है, न टाइप करता है, न नेविगेट करता है, और उसे कोई कुकी या पासवर्ड नहीं मिलता।
- ऑफ़लाइन मोड में सहायक केवल इस कंप्यूटर के पेज देखता है।
संस्करण और GitHub
सहायक में git बिल्ट-इन है। इसलिए आपको git इंस्टॉल करने की ज़रूरत नहीं है, Windows पर भी नहीं। सहायक संस्करण सहेज सकता है, दिखा सकता है कि क्या बदला है, ब्रांच बना सकता है और प्रोजेक्ट ऑनलाइन डाल सकता है।
- इस फ़ोल्डर में होने वाली कार्रवाइयाँ, जैसे संस्करण सहेजना, बिना पूछे शुरू होती हैं। जो फ़ाइलें गोपनीय जानकारी जैसी लगती हैं (जैसे
.envफ़ाइलें, कोड में कुंजियाँ या टोकन, औरAIzaसे शुरू होने वाली Google API कुंजियाँ भी), वे कभी किसी संस्करण में शामिल नहीं होतीं। अगर सहायक कुछ छोड़ता है, तो वह आपको बताता है। - ऑनलाइन कार्रवाइयाँ (प्रोजेक्ट डाउनलोड करना, सबसे नया संस्करण लाना, ऑनलाइन डालना और GitHub रिपॉज़िटरी बनाना) पहले एक कार्ड दिखाती हैं, जिसमें सटीक पता और ऐप में बिल्ट-इन और नेटवर्क चालू लेबल होते हैं। अगर पता github.com नहीं है या कोई नई रिपॉज़िटरी सार्वजनिक बनेगी, तो कार्ड चेतावनी देता है। ऑनलाइन डालते समय कार्ड दिखाता है कि कौन-सी फ़ाइलें भेजी जाएँगी। चलाएँ या अस्वीकार करें चुनें।
- github.com के बाहर की किसी रिपॉज़िटरी को जोड़ने से पहले भी अनुमति माँगी जाती है।
GitHub कैसे जोड़ें और प्रोजेक्ट ऑनलाइन कैसे डालें, यह वाइब कोडिंग में पढ़ें।
ऑफ़लाइन मोड में कमांड हमेशा बिना नेटवर्क के सैंडबॉक्स में चलते हैं। तब नेटवर्क वाले पैकेज इंस्टॉल और बिल्ट-इन git की ऑनलाइन क्रियाएँ (डाउनलोड, पुल, पुश और GitHub) काम नहीं करतीं। वर्शन सहेजना और एक सरल वेब पेज दिखाना फिर भी काम करते हैं।
व्यवस्थापकों के लिए सेटिंग
व्यवस्थापक परिवेश में सभी के लिए स्थानीय कमांड या अपने-आप चलाना बंद कर सकते हैं। वे यह प्रबंधन परिवेश में विशेषताएँ (परिवेश स्तर पर) के अंतर्गत डेस्कटॉप ऐप कार्ड में करते हैं:
- स्थानीय कमांड की अनुमति दें: यह बंद होने पर सहायक कोई कमांड नहीं चला सकता। तब बिल्ट-इन git की ऑनलाइन कार्रवाइयाँ भी काम नहीं करतीं। संस्करण सहेजना और ब्रांच फिर भी काम करते हैं: वे फ़ाइल टूल की तरह केवल फ़ोल्डर की फ़ाइलें बदलते हैं।
- अपने-आप चलाने की अनुमति दें: यह बंद होने पर हर कमांड अनुमति माँगती है और आप बिना पूछे पैकेज इंस्टॉल की अनुमति दें चालू नहीं कर सकते।
- Office फ़ाइलों के लिए ऐप के Python की अनुमति दें: टेम्पलेट, चार्ट और विश्लेषण के लिए। यह Python बिना इंटरनेट के चलता है, केवल कार्य फ़ोल्डर में लिखता है और दूसरे प्रोग्राम शुरू नहीं कर सकता। अगर कुछ भी सेट नहीं है, तो यह स्थानीय कमांड की अनुमति दें का पालन करता है। सैंडबॉक्स के बिना (Windows) यह केवल तभी उपलब्ध होता है जब स्थानीय कमांड चालू हों, और हर बार अनुमति माँगता है।