AI OpenHands का उपयोग कैसे करें: सेटअप, प्रॉम्प्ट और वास्तविक दुनिया के वर्कफ़्लो के लिए एक व्यावहारिक गाइड
अगर आपने कभी चाहा है कि कोई सक्षम डेवलपर आपके साथ 24/7 पेयर-प्रोग्रामिंग कर सके, तो AI OpenHands काफ़ी हद तक वैसा ही है। यह एक ओपन-सोर्स "AI इंजीनियर" है जो आपकी रेपो को पढ़ सकता है, कोड लिख सकता है, टर्मिनल चला सकता है, डॉक्स ब्राउज़ कर सकता है और दोहरा सकता है—काफ़ी हद तक एक जूनियर देव की तरह जो जल्दी सीखता है और अथक परिश्रम करता है। लेकिन इसकी शक्ति तभी समझ में आती है जब आप इसे सही ढंग से सेट करते हैं और इसे चलाना सीखते हैं।
यह गाइड आपको AI OpenHands का चरण-दर-चरण उपयोग करने का तरीका बताती है—इंस्टॉल से लेकर उन्नत वर्कफ़्लो तक—ताकि आप आत्मविश्वास के साथ तेज़ी से शिप कर सकें।
- इंस्टॉलेशन विकल्प और त्वरित शुरुआत
- OpenHands को स्थानीय रूप से या क्लाउड मॉडल के साथ चलाना
- प्रॉम्प्ट, रेपो और कार्यों के लिए सर्वोत्तम अभ्यास
- फ़ीचर वर्क, डिबगिंग, टेस्ट और डॉक्स के लिए सिद्ध वर्कफ़्लो
- गार्डरेल, गोपनीयता और सहयोग
ध्यान देने योग्य: OpenHands को All Hands टीम और समुदाय द्वारा सक्रिय रूप से विकसित किया जा रहा है। वर्तमान निर्देशों और युक्तियों के लिए आधिकारिक डॉक्स आपका उत्तरी तारा है। आप उन चिकित्सकों से हैंड्स-ऑन इंस्टॉलेशन गाइड भी फॉलो कर सकते हैं जिन्होंने स्थानीय और VM सेटअप का दस्तावेजीकरण किया है। स्थानीय मॉडल के साथ चलाने के लिए, डॉक्स में विशिष्ट मार्गदर्शन भी शामिल है।
AI OpenHands क्या है—और इसका उपयोग क्यों करें?
AI OpenHands को कीबोर्ड वाले AI टीम के साथी के रूप में सोचें। केवल चैट-आधारित सहायकों के विपरीत, OpenHands ये कर सकता है:
- प्रोजेक्ट फ़ाइलें खोलें और पढ़ें
- कमांड, टेस्ट और लिंटर चलाने के लिए टर्मिनल का उपयोग करें
- फ़ाइलों और निर्देशिकाओं में कोड संपादित करें
- वेब ब्राउज़ करें (कॉन्फ़िगरेशन के आधार पर)
- चरण-दर-चरण योजनाओं का प्रस्ताव और लागू करें
यह इसे फ़ीचर लागू करने, बग ठीक करने, टेस्ट लिखने, डॉक्स बनाने, रिफैक्टरिंग करने और कोडबेस को आधुनिक बनाने जैसे कार्यों के लिए आदर्श बनाता है। प्रॉम्प्ट को कॉपी/पेस्ट करने के बजाय, आप OpenHands को एक लक्ष्य देते हैं और इसे दोहराने देते हैं, आप इसकी गतिविधियों की निगरानी करते हैं।
क्विक स्टार्ट: OpenHands का उपयोग करने का सबसे तेज़ तरीका
शुरू करने के कई तरीके हैं। आपकी पसंद इस बात पर निर्भर करती है कि आप क्लाउड LLM का उपयोग करना चाहते हैं या सब कुछ स्थानीय रूप से चलाना चाहते हैं।
विकल्प A: क्लाउड LLM का उपयोग करें (सबसे आसान)
- ऐप को इंस्टॉल और चलाने के लिए आधिकारिक "स्टार्ट बिल्डिंग" और "गेटिंग स्टार्टेड" डॉक्स का पालन करें। आप आम तौर पर ये करेंगे:
- आवश्यक शर्तें इंस्टॉल करें (पथ के आधार पर Docker, Node, Python, Git)
- समर्थित क्लाउड मॉडल के लिए एक API कुंजी प्रदान करें (जैसे, OpenAI, Anthropic, या अन्य जो प्रोजेक्ट उस समय सपोर्ट करता है)
- OpenHands इंटरफ़ेस लॉन्च करें और अपनी रिपॉजिटरी कनेक्ट करें
यह पथ आपको न्यूनतम कम्प्यूट ओवरहेड के साथ जल्दी से उत्पादक बना देता है।
विकल्प B: लोकल LLM के साथ OpenHands चलाएं
- यदि आप कोड और प्रॉम्प्ट को क्लाउड से दूर रखना पसंद करते हैं या API लागतों से बचना चाहते हैं, तो आधिकारिक डॉक्स में लोकल LLMs गाइड का उपयोग करें।
- एक संगत लोकल मॉडल सेट करें (Ollama या उस समय समर्थित अन्य बैकएंड के माध्यम से)
- मॉडल एंडपॉइंट और संदर्भ सीमाएं कॉन्फ़िगर करें
- सुनिश्चित करें कि आपकी मशीन में पर्याप्त VRAM/CPU और डिस्क स्थान है
विकल्प C: VM में तैनात करें
- यदि आपको एक समर्पित वातावरण की आवश्यकता है, तो चिकित्सकों ने दस्तावेजीकरण किया है कि VM पर OpenHands को कैसे घुमाया जाए और मिनटों में एक ऐप बनाया जाए। यह उन टीमों के लिए उपयोगी है जो एक स्थिर, साझा AI इंजीनियर इंस्टेंस चाहते हैं।
पहला रन: प्रोजेक्ट सेटअप और टास्क फ़्रेमिंग
OpenHands तब चमकता है जब वह आपका कोड देख सकता है। इससे शुरुआत करें:
- उस रिपॉजिटरी को खोलना जिस पर आप इसे काम करवाना चाहते हैं।
- प्रोजेक्ट को चलाना या इंडेक्स करना ताकि OpenHands संरचना को मैप कर सके।
- इसे बाधाओं के साथ एक स्पष्ट लक्ष्य देना।
अच्छा टास्क फ़्रेमिंग उदाहरण:
- "{Add user password reset to the
auth service using token-based email links. Use existing mailer module. Add unit tests for token generation and expiry. Do not change user data schema.}"
यह क्यों काम करता है:
- यह घटक, स्कोप, निर्भरताएँ और सीमाएँ बताता है। आप जितने स्पष्ट होंगे, OpenHands उतनी ही बेहतर योजना बनाएगा और निष्पादित करेगा।
OpenHands के लिए प्रभावी प्रॉम्प्ट कैसे लिखें
प्रॉम्प्ट को संक्षिप्त टिकटों के रूप में सोचें। सबसे अच्छे:
- परिणाम को परिभाषित करें: "Y बाधाओं के साथ X लागू करें"
- फ़ाइलों, मॉड्यूल या टेस्ट का संदर्भ लें: "
auth/routes.py और tests/test_auth.py देखें"
- बाधाओं को बताएं: "कोई DB स्कीमा परिवर्तन नहीं; मौजूदा इंटरफेस रखें"
- स्वीकृति मानदंड शामिल करें: "टेस्ट पास होने चाहिए:
pytest -k password_reset"
टेम्पलेट जिसका आप पुन: उपयोग कर सकते हैं:
लक्ष्य: <आप क्या बनाना या ठीक करना चाहते हैं>
संदर्भ: <प्रासंगिक फ़ाइलें, ज्ञात बाधाएँ, बाहरी सेवाएँ>
स्वीकृति: <पासिंग कैसा दिखता है: टेस्ट, एंडपॉइंट, मेट्रिक्स>
सीमाएँ: <क्या बदलना नहीं है या किन दृष्टिकोणों से बचना है>
उपकरण: <कमांड जो इसे चला सकता है, स्क्रिप्ट या डेटा स्रोत>
कोर वर्कफ़्लो: योजना → निष्पादित करें → सत्यापित करें → परिष्कृत करें
OpenHands आमतौर पर एक बहु-चरणीय योजना का प्रस्ताव करता है। यहाँ इसे मार्गदर्शन देने का तरीका बताया गया है:
- शुरुआत में अपनी योजना को अनुमोदित या समायोजित करें। असफलताओं को आधार रेखा बनाने के लिए इसे पहले टेस्ट चलाने के लिए पुश करें।
- सफलता को परिभाषित करने के लिए इसे एक टेस्ट बनाने या अपडेट करने के लिए कहें, फिर कोड लागू करें।
- इसे बार-बार टेस्ट सूट और लिंटर चलाने दें।
- यदि यह रुक जाता है, तो अधिक संदर्भ जोड़ें: फ़ाइल नाम, स्टैक ट्रेस या लॉग।
प्रो टिप: मोनोलिथिक संपादन के बजाय छोटे PR आकार के परिवर्तनों को प्रोत्साहित करें। यह समीक्षा और रोलबैक में मदद करता है।
उदाहरण वर्कफ़्लो जिन्हें आप कॉपी कर सकते हैं
1) फ़ीचर कार्यान्वयन
- प्रॉम्प्ट: "
ऑर्डर पेज में CSV एक्सपोर्ट जोड़ें। सर्वर-साइड पेजिनेशन का उपयोग करें, text/csv के माध्यम से परिणाम स्ट्रीम करें। OrdersTable.jsx में एक्सपोर्ट बटन और routes/orders.ts में एंडपॉइंट जोड़ें। पेजिनेशन और हेडर के लिए टेस्ट शामिल करें।"
- रेपो स्कैन करता है; योजना का मसौदा तैयार करता है
- एंडपॉइंट और क्लाइंट बटन जोड़ता है
- टेस्ट लिखता है और उन्हें चलाता है
- आप निगरानी करते हैं, परिवर्तनों को मंजूरी देते हैं, और एक बार हरी बत्ती मिलने पर मर्ज कर देते हैं।
2) विफल बिल्ड को डिबग करना
- प्रॉम्प्ट: "CI Node 20 पर विफल हो रहा है।
build.mjs में ESM/CJS आयात त्रुटियों को ठीक करें। मौजूदा रोलअप प्लगइन रखें; CI पास करने के लिए कॉन्फ़िग और कोड अपडेट करें।"
- लॉग प्रदान करें या CI आर्टिफैक्ट से लिंक करें।
- OpenHands को स्थानीय रूप से (
npm run build) दोहराने और न्यूनतम डिफ प्रस्तावित करने के लिए कहें।
3) टेस्ट कवरेज और हार्डनिंग
- प्रॉम्प्ट: "
payments/service.py के लिए कवरेज 62% से बढ़ाकर 85% करें। retry_charge, refund, webhook_signature के लिए यूनिट टेस्ट जोड़ें। व्यवसाय तर्क को संशोधित न करें जब तक कि टेस्ट किसी बग को उजागर न करे।"
- OpenHands को टेस्ट उत्पन्न करने, उन्हें चलाने और परिष्कृत करने दें।
4) डॉक्स और डेवलपर अनुभव
- प्रॉम्प्ट: इस रेपो के लिए एक
CONTRIBUTING.md और DEVELOPMENT.md बनाएं। पर्यावरण सेटअप, स्क्रिप्ट, टेस्ट कमांड और PR दिशानिर्देश शामिल करें।"
- इसे वास्तव में चलाकर कमांड को सत्यापित करने दें।
गार्डरेल: OpenHands को सहायक और सुरक्षित रखें
- डायरेक्टरी स्कोप: इसे कहीं और आकस्मिक संपादन से बचने के लिए एक विशिष्ट रेपो या डायरेक्टरी में इंगित करें।
- फ़ाइल सुरक्षा: कॉन्फ़िग फ़ाइलों या महत्वपूर्ण बुनियादी ढांचे को जहाँ तक हो सके रीड-ओनली के रूप में चिह्नित करें।
- कमांड ऑडिटिंग: विनाशकारी कमांड (जैसे,
rm -rf, डेटाबेस रीसेट) के लिए अनुमोदन की आवश्यकता होती है।
- सीक्रेट्स हाइजीन: प्रॉम्प्ट में कभी भी API कुंजी पेस्ट न करें। पर्यावरण चर और मास्क्ड लॉग का उपयोग करें।
- नेटवर्क एक्सेस: यदि ब्राउज़िंग सक्षम है, तो इसे सैंडबॉक्स करें और आउटबाउंड कॉल लॉग करें।
स्थानीय बनाम क्लाउड मॉडल: आपके लिए सही क्या है चुनना
- फायदे: मजबूत तर्क/कोडिंग, न्यूनतम सेटअप, तेज़ पुनरावृत्ति
- नुकसान: चल रही लागत, डेटा गवर्नेंस संबंधी विचार
- फायदे: गोपनीयता, नियंत्रण, लागत पूर्वानुमेयता
- नुकसान: हार्डवेयर की मांग, मॉडल की गुणवत्ता अलग-अलग होती है, अधिक ट्यूनिंग की आवश्यकता होती है
मॉडल बैकएंड और मेमोरी सीमाएँ कॉन्फ़िगर करने के लिए आधिकारिक लोकल LLMs निर्देश देखें।
टीम प्ले: एक सहयोगात्मक प्रवाह में OpenHands का उपयोग करना
- ब्रांच-फर्स्ट वर्कफ़्लो: OpenHands को एक फ़ीचर शाखा बनाने और PR समीक्षा के लिए परिवर्तन पुश करने दें।
- कमिट हाइजीन: इसे स्पष्ट संदेशों के साथ परमाणु कमिट उत्पन्न करने और समस्या संख्याओं का संदर्भ देने के लिए कहें।
- PR टेम्पलेट: PR टेम्पलेट उत्पन्न करें और लागू करें ताकि समीक्षकों को पता चले कि क्या बदला है और क्यों।
- कोड मालिक: AI-जनरेटेड PR को सही समीक्षकों को रूट करने के लिए CODEOWNERS के साथ मिलाएं।
आम समस्याओं का निवारण
- यह अटक जाता है या लूप करता है: स्कोप को संकीर्ण करें। इसे अपना अगला कदम समझाने के लिए कहें। एक विफल टेस्ट प्रदान करें।
- मेसी डिफ: एक छोटी, मंचित योजना का अनुरोध करें—पहले टेस्ट, फिर न्यूनतम कोड परिवर्तन।
- गलत फ़ाइल संपादन: सटीक पथ निर्दिष्ट करें और इसे सीमाओं की याद दिलाएँ।
- स्थानीय रूप से पास हो रहा है लेकिन CI में विफल हो रहा है: CI पर्यावरण विवरण और लॉग साझा करें; इसे एक कंटेनर के साथ दोहराने के लिए कहें।
प्रदर्शन युक्तियाँ और पावर मूव
- वार्म-स्टार्ट संदर्भ: इसे पहले प्रमुख फ़ाइलें पढ़ने के लिए कहें (
README, package.json, मुख्य सेवा फ़ाइलें)।
- इसे स्क्रिप्ट दें: एक
make test या npm run verify प्रदान करें ताकि यह जल्दी से मान्य कर सके।
- डोमेन सिखाओ: एक संक्षिप्त वास्तुशिल्प अवलोकन प्रदान करें; यह कम तर्क त्रुटियों में भुगतान करता है।
- शैली लागू करें:
.eslintrc, .prettierrc, black/ruff कॉन्फ़िगरेशन की ओर इशारा करें ताकि यह सही ढंग से प्रारूपित हो।
- चौकियों का उपयोग करें: प्रत्येक मील के पत्थर के बाद, इसे ट्रैक पर रखने के लिए सारांश और अगले चरणों के लिए कहें।
वास्तविक दुनिया का परिदृश्य: बग रिपोर्ट से एक घंटे में पैच तक
- स्थिति: एक उत्पादन बग
ऑर्डर API में खराब JSON पेलोड पर अनियंत्रित 500s को गिराता है।
- आपका प्रॉम्प्ट: "
ऑर्डर POST में खराब JSON पर 500 को पुन: पेश करें। स्कीमा सत्यापन जोड़ें और त्रुटि विवरण के साथ 400 लौटाएं। खराब पेलोड को कवर करने के लिए टेस्ट अपडेट करें।"
- API को स्थानीय रूप से चलाता है, त्रुटि को पुन: पेश करता है
- एक सत्यापन परत और त्रुटि हैंडलर जोड़ता है
- टेस्ट अपडेट करता है और सुनिश्चित करता है कि CI पास हो
- चेंजलॉग प्रविष्टि के साथ एक कॉम्पैक्ट PR उत्पन्न करता है
समय की बचत: आपने प्रभाव विश्लेषण और रोलआउट पर ध्यान केंद्रित किया, जबकि OpenHands ने स्केफोल्डिंग को संभाला।
एकीकरण जो OpenHands को सुपरचार्ज करते हैं
- टेस्ट रनर: pytest, Jest, Vitest, JUnit
- बिल्ड उपकरण: Vite, Webpack, Rollup, Babel
- पैकेज प्रबंधक: npm, pnpm, yarn, pip/poetry
- लिंटर/फॉर्मेटर: ESLint, Prettier, black, ruff
- कंटेनर: CI के साथ स्थानीय समता के लिए Docker Compose
इन उपकरणों को मानकीकृत करके, OpenHands आपके स्टैक के बारे में अधिक मज़बूती से तर्क कर सकता है और देव लूप के अधिक भाग को स्वचालित कर सकता है।
वैसे: OpenHands के साथ Sider.AI का उपयोग करना
प्रासंगिकता स्कोर: 8/10. यदि आप OpenHands को अपने AI इंजीनियर के रूप में उपयोग कर रहे हैं, तो इसे विनिर्देशों, PR विवरण और दस्तावेज़ीकरण के लिए एक शोध और मसौदा तैयार करने वाले सह-पायलट के साथ जोड़ना सार्थक है। वैसे, Sider.AI आपको तकनीकी विनिर्देशों का मसौदा जल्दी से तैयार करने, RFC को संक्षेप में प्रस्तुत करने या OpenHands रन लॉग को साफ चेंजलॉग और रिलीज़ नोट्स में बदलने में मदद कर सकता है। संयोजन संदर्भ-स्विचिंग को कम करता है: OpenHands कोड क्रियाओं को संभालता है जबकि Sider.AI परिणामों को साफ, उपयोगकर्ता-सामना करने वाले डॉक्स में बदल देता है।
सुरक्षा, गोपनीयता और अनुपालन चेकलिस्ट
- env vars में सीक्रेट्स रखें; प्रॉम्प्ट में कभी भी कुंजी एम्बेड न करें
- प्रत्येक AI-जनरेटेड परिवर्तन की समीक्षा करें जैसे कि आप एक जूनियर देव के PR की करते हैं
- ऑडिट योग्यता के लिए कमांड और क्रियाएं लॉग करें
- टूलचेन संस्करणों को पिन करें; लॉकफाइलों में आकस्मिक उन्नयन से बचें
- यदि क्लाउड LLMs का उपयोग कर रहे हैं, तो अपनी डेटा प्रतिधारण नीतियों के साथ संरेखित करें
OpenHands का उपयोग कब न करें
- मजबूत टेस्ट या विनिर्देश स्केफोल्डिंग के बिना उपन्यास एल्गोरिथ्म डिजाइन
- एक मजबूत समीक्षा प्रक्रिया के बिना अत्यधिक विनियमित कोडबेस
- एकमुश्त थ्रोअवे स्क्रिप्ट जहां मैनुअल कोडिंग तेज है
OpenHands के साथ आपके पहले 60 मिनट: एक मिनी प्लेबुक
- मिनट 0-10: आधिकारिक क्विकस्टार्ट का उपयोग करके इंस्टॉल करें और लॉन्च करें
- मिनट 10-20: अपनी रेपो कनेक्ट करें; इसे प्रोजेक्ट संरचना को मैप करने के लिए कहें
- मिनट 20-35: एक छोटा, परीक्षण योग्य लक्ष्य परिभाषित करें; अपनी योजना को स्वीकृत करें
- मिनट 35-50: इसे लागू करने और टेस्ट चलाने दें; आवश्यकतानुसार संकेत दें
- मिनट 50-60: डिफ की समीक्षा करें, परिष्कृत करें और एक फ़ीचर शाखा में मर्ज करें
प्रमुख लिंक और अगले चरण
- OpenHands के लिए आधिकारिक "स्टार्ट बिल्डिंग" और उपयोग डॉक्स: युक्तियाँ, त्वरित शुरुआत और सर्वोत्तम अभ्यास।
- लोकल LLM सेटअप गाइड: अपने मशीन पर पूरी तरह से OpenHands को कॉन्फ़िगर और चलाएं।
- VM पर समुदाय-संचालित इंस्टॉलेशन वॉकथ्रू: वास्तविक दुनिया के इंस्टॉलेशन चरण और एक त्वरित डेमो प्रोजेक्ट।
टेकअवे
- स्पष्ट स्वीकृति मानदंडों के साथ टिकटों की तरह कार्यों को फ्रेम करें।
- पुनरावृत्तियों को छोटा रखें; जल्दी और अक्सर टेस्ट करें।
- गार्डरेल का उपयोग करें और परिवर्तनों की समीक्षा करें—इसे एक जूनियर टीम के साथी की तरह मानें।
- सुविधा के लिए क्लाउड चुनें, गोपनीयता के लिए स्थानीय मॉडल।
- विनिर्देशों और रिलीज़ नोट्स को गति देने के लिए दस्तावेज़ीकरण उपकरणों (जैसे, Sider.AI) के साथ जोड़ी बनाएं।
FAQ
Q1: मैं AI OpenHands को जल्दी से कैसे इंस्टॉल और उपयोग करना शुरू करूं?
आवश्यक शर्तों को इंस्टॉल करने के लिए आधिकारिक क्विकस्टार्ट का उपयोग करें, एक समर्थित LLM (क्लाउड या लोकल) प्लग इन करें, और अपनी रिपॉजिटरी को कनेक्ट करने के लिए UI लॉन्च करें। "स्टार्ट बिल्डिंग" डॉक्स सेटअप युक्तियों के साथ चरण-दर-चरण निर्देश प्रदान करते हैं।
Q2: क्या मैं क्लाउड मॉडल के बजाय लोकल LLM के साथ OpenHands चला सकता हूं?
हां। लोकल मॉडल बैकएंड को कॉन्फ़िगर करने और संदर्भ सेटिंग्स को समायोजित करने के लिए लोकल LLMs गाइड का पालन करें। यह गोपनीयता-संवेदनशील परियोजनाओं या API लागतों से बचने के लिए आदर्श है।
Q3: कोडिंग कार्यों के लिए OpenHands को प्रॉम्प्ट करने का सबसे अच्छा तरीका क्या है?
संक्षिप्त टिकटों की तरह प्रॉम्प्ट लिखें: लक्ष्य को परिभाषित करें, विशिष्ट फ़ाइलों का संदर्भ लें, सीमाएँ निर्धारित करें और स्वीकृति मानदंड शामिल करें। प्रगति को मान्य करने के लिए इसे टेस्ट बनाने या चलाने के लिए कहें।
Q4: क्या AI OpenHands उत्पादन कोड पर उपयोग करने के लिए सुरक्षित है?
इसे एक जूनियर डेवलपर की तरह मानें: परिवर्तनों को मान्य करने के लिए शाखा सुरक्षा, कोड समीक्षा और CI का उपयोग करें। कमांड के लिए गार्डरेल जोड़ें और प्रॉम्प्ट से सीक्रेट्स को दूर रखें।
Q5: OpenHands की तुलना पारंपरिक कोड सहायक से कैसे की जाती है?
केवल चैट-आधारित टूल के विपरीत, OpenHands आपके रेपो के भीतर कमांड चला सकता है, फ़ाइलें संपादित कर सकता है और स्वायत्त रूप से दोहरा सकता है। यह सुविधाओं, डिबगिंग और टेस्ट जैसे एंड-टू-एंड कार्यों के लिए बनाया गया है।