स्थानीय कमांडों को सुरक्षित रूप से चलाना
डेस्कटॉप एप्लिकेशन में सहायक आपकी चैट के कार्य-फ़ोल्डर में कमांड और टेस्ट चला सकता है। यह चैट में कैसे काम करता है, यह आप स्थानीय फ़ाइल पहुँच में पढ़ सकते हैं। इस पृष्ठ पर आप तय करते हैं कि यह बिना पूछे कब चले और कमांड कितनी सुरक्षित तरीके से चलें।
कमांड सेटिंग्स खोलना
चैट में कमांड्स पैनल खोलें और इस फ़ोल्डर के लिए कमांड सेटिंग्स चुनें। सेटिंग्स प्रति फ़ोल्डर लागू होती हैं।
सहायक कब कमांड चला सकता है?
इन तीन स्थितियों में से एक चुनें:
- हमेशा पूछें: आप हर कमांड को मंज़ूरी देते हैं।
- विश्वसनीय कमांडों को स्वचालित रूप से: जो कमांड आपने सहेजे हैं, वे बिना पूछे शुरू होते हैं। अन्य कमांडों के लिए अभी भी अनुमति माँगी जाती है।
- स्वचालित रूप से सैंडबॉक्स में: सब कुछ बिना पूछे शुरू होता है, लेकिन एक सुरक्षित वातावरण में।
हर स्थिति में ये नियम भी लागू होते हैं:
- हानिरहित कमांड बिना कार्ड के शुरू होते हैं:
mkdir,ls,cat,head,tail,wc,grep,find(-execया-deleteके बिना),touch,pwd,treeऔर संस्करण जाँच (node,npm,npx,python,pipऔरaischool-pythonके--version,-vया-V)। ये वही करते हैं जो अंतर्निहित फ़ाइल टूल्स वैसे ही बिना पूछे कर सकते हैं। ये सैंडबॉक्स में बिना नेटवर्क और केवल कार्य-फ़ोल्डर के भीतर के पथों के साथ चलते हैं, लिंक का अनुसरण करने के बाद भी (कोई absolute path,~या..नहीं)। अगर कोई लिंक फ़ोल्डर के बाहर जाता है, तो कार्ड दिखता है। इसके लिए सैंडबॉक्स (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, pnpm, yarn या bun के साथ install या add, और 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)। सहायक पैकेज कैसे इंस्टॉल करता है, यह पैकेज इंस्टॉल करना में पढ़ें।
एक सरल वेबपेज दिखाना
साधारण वेबपेज के लिए (एक index.html जिसमें CSS और JavaScript हो, बिना बिल्ड स्टेप के) किसी कमांड की ज़रूरत नहीं है। तब सहायक ऐप के अंतर्निहित वेब सर्वर का उपयोग करता है:
- फ़ोल्डर केवल इस कंप्यूटर पर दिखाई देता है,
http://127.0.0.1पर किसी भी पोर्ट के साथ। - छिपी हुई फ़ाइलें, जैसे
.gitऔर.env, कभी नहीं दिखाई जातीं। - यदि कोई फ़ाइल बदलती है, तो पेज अपने आप फिर से लोड हो जाता है।
इसके लिए कोई अनुमोदन कार्ड नहीं आता। सर्वर कमांड्स पैनल में होता है, ब्राउज़र में खोलें और रोकें के साथ, और 4 सर्वरों की अधिकतम सीमा में गिना जाता है।
परिणाम आप अंतर्निहित ब्राउज़र में देखते हैं: ऊपरी बार के दाईं ओर ब्राउज़र बटन (ग्लोब आइकन)। पैनल चैट के बगल में खुलता है, जिसमें पीछे, आगे, फिर से लोड (लोड करते समय रोकना), एक पता पट्टी और अपने डिफ़ॉल्ट ब्राउज़र में खोलें होते हैं।
- सहायक स्थानीय सर्वर का परिणाम दिखाने के लिए खुद ब्राउज़र खोलता है। यह केवल स्थानीय पतों, जैसे
http://localhost:5173, के साथ ही संभव है। - अगर आप किसी जवाब में localhost लिंक पर क्लिक करते हैं, तो वह अंतर्निहित ब्राउज़र में खुलता है। अन्य लिंक आपके डिफ़ॉल्ट ब्राउज़र में खुलते हैं।
- आप खुद भी कोई वेब पता टाइप कर सकते हैं।
- ब्राउज़र का अपना, अलग सत्र है: आप वहाँ AI-Public में लॉग इन नहीं हैं, वेबसाइटों को कैमरा या माइक्रोफ़ोन जैसी अनुमतियाँ नहीं मिलतीं, और डाउनलोड नहीं हो सकता।
- जब तक ऐप का कोई मेनू या डायलॉग खुला है, पेज अस्थायी रूप से छिपा रहता है।
उदाहरण:
इस फ़ोल्डर में Vite के साथ एक छोटा React ऐप बनाओ जिसमें काउंटर हो। dependencies इंस्टॉल करो, dev-server शुरू करो और परिणाम ब्राउज़र में दिखाओ।
सहायक को झाँकने देना
अगर आप सहायक से अंतर्निहित ब्राउज़र में पेज देखने को कहते हैं, तो वह पता, शीर्षक, दिखाई देने वाला टेक्स्ट, एक स्क्रीनशॉट और पेज के नवीनतम त्रुटि संदेश पढ़ता है। ये AI मॉडल को भेजे जाते हैं।
- इस कंप्यूटर पर मौजूद पेज (
localhostया127.0.0.1) को सहायक बिना पूछे देखता है। - किसी अन्य वेबसाइट पर, उदाहरण के लिए जिस पेज पर आप लॉग इन हैं, सहायक पहले एक कार्ड दिखाता है: "सहायक onedrive.live.com पर झाँकना चाहता है." झाँकने की अनुमति दें या अस्वीकार करें चुनें। यह हर बार फिर पूछता है।
- अगर आपकी अनुमति के बाद पेज किसी दूसरी वेबसाइट पर चला जाता है, तो सहायक कुछ नहीं पढ़ता।
- केवल इस कंप्यूटर के पेज पर ही सहायक खुद क्लिक और टाइप करता है, ताकि देख सके कि उसने क्या बनाया है। अन्य वेबसाइटों पर वह क्लिक, टाइप या नेविगेट नहीं करता। उसे cookies या पासवर्ड नहीं मिलते।
- ऑफ़लाइन मोड में सहायक केवल इस कंप्यूटर के पेज देखता है।
संस्करण और GitHub
सहायक में अंतर्निहित git है। इसलिए आपको git इंस्टॉल करने की ज़रूरत नहीं है, Windows पर भी नहीं। सहायक संस्करण सहेज सकता है, हुए बदलाव दिखा सकता है, branches बना सकता है और किसी प्रोजेक्ट को ऑनलाइन डाल सकता है।
- इस फ़ोल्डर में क्रियाएँ, जैसे संस्करण सहेजना, बिना पूछे शुरू होती हैं। जो फ़ाइलें रहस्यों जैसी लगती हैं (जैसे
.envफ़ाइलें, कोड में keys या tokens, जिनमेंAIzaसे शुरू होने वाली Google API keys भी शामिल हैं) वे कभी भी किसी संस्करण में शामिल नहीं की जातीं। सहायक बताएगा अगर वह कुछ छोड़ देता है। - ऑनलाइन क्रियाएँ (किसी प्रोजेक्ट को डाउनलोड करना, नवीनतम संस्करण लेना, ऑनलाइन डालना और GitHub repository बनाना) पहले सटीक पते और ऐप में अंतर्निहित तथा नेटवर्क चालू लेबल के साथ एक कार्ड दिखाती हैं। अगर पता github.com नहीं है या नई repository सार्वजनिक होगी, तो कार्ड चेतावनी देता है। ऑनलाइन डालते समय कार्ड दिखाता है कि कौन-सी फ़ाइलें भेजी जाएँगी। चलाएँ या अस्वीकार करें चुनें।
- github.com के बाहर किसी repository को जोड़ने के लिए भी पहले अनुमति चाहिए।
GitHub कैसे जोड़ें और प्रोजेक्ट को ऑनलाइन कैसे डालें, यह Vibe कोडिंग में पढ़ें।
ऑफ़लाइन मोड में कमांड हमेशा नेटवर्क के बिना सैंडबॉक्स में चलते हैं। नेटवर्क वाली पैकेज इंस्टॉलेशन और अंतर्निहित git की ऑनलाइन क्रियाएँ (डाउनलोड, प्राप्त करना, ऑनलाइन डालना और GitHub) तब काम नहीं करतीं। संस्करण सहेजना और एक सरल वेबपेज दिखाना काम करते हैं।
व्यवस्थापकों के लिए सेटिंग्स
व्यवस्थापक स्थानीय कमांड या स्वचालित निष्पादन को वातावरण में सभी के लिए बंद कर सकते हैं। वे इसे प्रबंधन वातावरण में फ़ीचर्स (पर्यावरण स्तर पर), Desktop-app कार्ड में करते हैं:
- स्थानीय कमांडों की अनुमति दें: अगर यह बंद है, तो सहायक कोई कमांड नहीं चला सकता। तब अंतर्निहित git की ऑनलाइन क्रियाएँ भी काम नहीं करतीं। संस्करण सहेजना और branches फिर भी काम करते हैं: वे केवल फ़ोल्डर में फ़ाइलें बदलते हैं, ठीक फ़ाइल टूल्स की तरह।
- स्वचालित निष्पादन की अनुमति दें: अगर यह बंद है, तो हर कमांड अनुमति माँगता है और आप बिना पूछे पैकेज इंस्टॉलेशन की अनुमति दें चालू नहीं कर सकते।
- Office फ़ाइलों के लिए ऐप के Python की अनुमति दें: टेम्पलेट, चार्ट और विश्लेषण के लिए। यह Python बिना इंटरनेट के काम करता है, केवल कार्य-फ़ोल्डर में लिखता है और अन्य प्रोग्राम शुरू नहीं कर सकता। अगर कुछ सेट नहीं है, तो यह स्थानीय कमांडों की अनुमति दें का पालन करता है। सैंडबॉक्स के बिना (Windows) यह केवल तब उपलब्ध है जब स्थानीय कमांड चालू हों, और हर बार अनुमति माँगता है।