OpenClaw जैसा AI agent कैसे बनाएं
OpenClaw जैसा personal AI agent खुद बनाने का तरीका जानें। यह लेख सर्वर सुरक्षा, CVE-2026-32922 जैसी खामियों और shell commands को सुरक्षित रूप से चलाने की पूरी प्रक्रिया समझाता है।
OpenClaw वास्तव में क्या है
OpenClaw एक self-hosted personal AI agent है। आप इसे अपने सर्वर पर चलाते हैं, इसे उन chat apps से जोड़ते हैं जिनका आप पहले से उपयोग कर रहे हैं, और यह shell commands चला सकता है, browser को नियंत्रित कर सकता है, आपकी files को पढ़ और लिख सकता है, और आपके द्वारा भेजे गए संदेशों पर कार्रवाई कर सकता है। यह MIT-licensed है, local-first है, और mid-2026 तक इसके GitHub पर 380,000 से अधिक stars हैं, जो इसे platform पर सबसे अधिक stars वाले projects में से एक बनाता है। शोर के नीचे यह समझदारी से आपस में जुड़े हुए हिस्सों का एक छोटा सा समूह है। यह पोस्ट उन हिस्सों के बारे में बताती है ताकि आप समझ सकें कि इस तरह का टूल कैसे बनाया जाता है, और इसमें जोखिम कहाँ हैं।
शुरुआत में ही एक चेतावनी, क्योंकि यह नीचे दिए गए हर design विकल्प को प्रभावित करती है। मार्च 2026 में OpenClaw के maintainers ने सुरक्षा सलाहों (security advisories) की एक बाढ़ जारी की: केवल 13 मार्च को 22 और 16 मार्च को पांच और, जबकि National Vulnerability Database ने उस महीने 199 OpenClaw CVEs प्रकाशित किए। 13 मार्च के बैच में 10 में से 9.9 रेटिंग वाली दो गंभीर खामियां शामिल थीं, जिनमें से एक privilege-escalation bug (CVE-2026-32922) था जिसने केवल pairing rights रखने वाले device को पूर्ण admin tokens बनाने की अनुमति दी। यह project आपके, यानी operator के द्वारा सुरक्षित (harden) किए जाने के लिए डिज़ाइन किया गया है। कोई भी command चलाने में सक्षम agent उतना ही सुरक्षित है जितना कि वह box जिस पर वह चलता है और वे सीमाएं जो आप उस पर लगाते हैं। इसे पढ़ते समय इस बात को ध्यान में रखें।
Gateway daemon: एक process, जिसे private रखा जाता है
केंद्र में एक अकेली long-running process होती है, जिसे आमतौर पर gateway कहा जाता है। यह control plane है। यह संदेश प्राप्त करती है, निर्णय लेती है कि क्या करना है, tools चलाती है, और उत्तर वापस भेजती है। बाकी सब कुछ इससे जुड़ता है।
Gateway के बारे में सबसे महत्वपूर्ण तथ्य यह है कि यह कहाँ listen करता है। सामान्य host install पर OpenClaw इसे loopback address, 127.0.0.1, पर bind करता है, इसलिए यह internet से तब तक पहुंच योग्य नहीं होता जब तक कि आप इसे expose करने के लिए विशेष प्रयास न करें। Container images इसका अपवाद हैं: OpenClaw के अपने security docs कहते हैं कि वे डिफ़ॉल्ट रूप से एक exposed bind पर सेट होते हैं, इसलिए यदि आप container चलाते हैं, तो authentication चालू रखें और इसके port को internet पर publish न करें। किसी भी स्थिति में, इसे private रखें। यह वह एकमात्र process है जो काम करने के लिए commands चलाती है, इसलिए एक exposed gateway इसे खोजने वाले किसी भी व्यक्ति को आपके सर्वर में remote foothold दे देता है। जब आपको अपने laptop से इसे access करने की आवश्यकता हो, तो port खोलने के बजाय इसे VPN या SSH tunnel के माध्यम से करें। कोई भी उस port पर हमला नहीं कर सकता जिसे वह access नहीं कर सकता।
चैनल कनेक्टर्स: संदेश प्राप्त करना और उत्तर भेजना
एक पर्सनल एजेंट तभी उपयोगी होता है जब आप अपने द्वारा पहले से उपयोग किए जा रहे ऐप्स से उससे बात कर सकें। चैनल कनेक्टर्स यही काम करते हैं। प्रत्येक कनेक्टर एक विशिष्ट प्लेटफॉर्म, जैसे Telegram, WhatsApp, Slack, या Discord से, उस प्लेटफॉर्म के bot API या webhooks का उपयोग करके बात करता है।
सभी कनेक्टर्स का स्वरूप एक जैसा होता है। कनेक्टर प्लेटफॉर्म के साथ एक bot रजिस्टर करता है, आपका आने वाला संदेश प्राप्त करता है (प्लेटफॉर्म को पोल करके या प्लेटफॉर्म द्वारा भेजे गए webhook को प्राप्त करके), उस संदेश को gateway को सौंपता है, और gateway के उत्तर को उसी API के माध्यम से वापस पोस्ट करता है। कनेक्टर एक पतली अनुवाद परत (thin translation layer) है। यह "एक Telegram संदेश आया" को "एजेंट के लिए यहाँ टेक्स्ट है" में बदलता है और वापस भी ऐसा ही करता है। अपना स्वयं का कनेक्टर बनाना मुख्य रूप से किसी एक प्लेटफॉर्म के bot documentation को पढ़ने और उसके संदेश प्रारूप को gateway के प्रारूप के साथ मैप करने का विषय है।
ब्रेन और टूल लूप
गेटवे के अंदर वह हिस्सा होता है जो इसे चैटबॉट के बजाय एक एजेंट बनाता है। यह एक लूप है।
एक संदेश प्राप्त होता है। गेटवे इसे उन टूल्स की सूची के साथ एक लैंग्वेज मॉडल को भेजता है जिनका उपयोग करने की अनुमति मॉडल को है। मॉडल संदेश को पढ़ता है और निर्णय लेता है: सीधे उत्तर दें, या किसी टूल को कॉल करें। यदि यह किसी टूल को कॉल करता है, तो गेटवे उस टूल को चलाता है, परिणाम को कैप्चर करता है, और परिणाम को वापस मॉडल को भेज देता है। मॉडल परिणाम को देखता है और फिर से निर्णय लेता है। यह तब तक दोहराया जाता है जब तक कि मॉडल के पास करने के लिए कुछ न बचे और वह अंतिम उत्तर तैयार न कर दे।
वह लूप ही एक एजेंट का पूरा विचार है, और यह वही लूप है चाहे एजेंट किसी चैट ऐप में रहता हो या टर्मिनल में। टूल्स को मानक तरीके से उस लूप से कैसे जोड़ा जाता है, इसके लिए Model Context Protocol के माध्यम से टूल्स को कनेक्ट करना अगला अच्छा लेख है, और मॉडल पक्ष के लिए, अपने स्वयं के हार्डवेयर पर मॉडल को चलाना दूसरा आधा हिस्सा पूरा करता है।
टूल सेट ही मुख्य उद्देश्य है, और यही खतरा भी
OpenClaw को शक्तिशाली बनाने वाली चीज इसके टूल्स हैं। एक टूल जो shell command चलाता है, एक टूल जो browser को नियंत्रित करता है, और एक टूल जो फाइलों को पढ़ता और लिखता है। यदि आप ऊपर दिए गए लूप को इन तक पहुंच प्रदान करते हैं, तो यह लगभग वह सब कुछ कर सकता है जो आप कीबोर्ड के माध्यम से कर सकते हैं। यही पहुंच इस पूरे प्रोडक्ट का आधार है, और यही इसका सबसे बड़ा जोखिम भी है।
एक एजेंट जो किसी भी command को चला सकता है और chat app से प्राप्त निर्देशों पर काम करता है, वह एक बड़ा attack surface बनाता है। एक गलत निर्देश, browser टूल द्वारा विजिट किए गए वेब पेज में छिपा prompt-injection हमला, या March 2026 की खामियों जैसा कोई bug, "मेरा कैलेंडर पढ़ो" को "मेरी फाइलें डिलीट करो" में बदल सकता है। इसलिए, सीमाएं (limits) वैकल्पिक नहीं हैं। एजेंट को एक समर्पित, unprivileged user के रूप में चलाएं जिसके पास sudo न हो, ताकि compromise होने पर अधिकार न बढ़ सकें। खतरनाक टूल्स को एक approval step के पीछे रखें ताकि कुछ भी विनाशकारी करने से पहले एजेंट आपसे अनुमति मांगे। टूल execution को sandbox में रखें ताकि कोई भी अनियंत्रित command सीमित रहे। मॉडल की API key को अलग रखें ताकि leak होने पर हमलावर के हाथ आपका अकाउंट न लगे। उसी बॉक्स पर मौजूद अन्य secrets के बारे में भी सोचें, क्योंकि Vaultwarden के वास्तविक कमजोर बिंदु उसका admin token और backup फाइल है, न कि उसकी encryption, और shell access वाला एजेंट इन दोनों तक पहुंच सकता है।
इससे पहले कि आप ऐसी किसी चीज को expose करें जो shell commands चलाती है, बुनियादी बातों को सावधानीपूर्वक पूरा करें। अपने बॉक्स के लिए यहां एक चेकलिस्ट तैयार करें, और फिर उसका ऊपर से नीचे तक पालन करें:
Unprivileged-user वाला हिस्सा unprivileged user के रूप में services चलाना में विस्तार से बताया गया है, और वास्तविक प्रोजेक्ट के लिए सुरक्षित सेटअप का पूरा विवरण VPS पर OpenClaw को सुरक्षित रूप से चलाना में उपलब्ध है।
Plain files के रूप में memory
ज्यादातर लोग उम्मीद करते हैं कि एक agent की memory database में रहती है। OpenClaw की memory ऐसा नहीं करती है। यह memory को disk पर plain Markdown files के रूप में संग्रहीत करती है, और वह विकल्प अपनाने योग्य है। ये files ही सत्य का स्रोत (source of truth) हैं; डिफ़ॉल्ट memory engine उनके बगल में एक SQLite search index रखता है, और उस index को files से फिर से बनाया जा सकता है।
Files सरल होती हैं। इसमें migrate करने के लिए कोई schema नहीं है, चलाने के लिए कोई service नहीं है, और सीखने के लिए कोई query language नहीं है। वे inspectable हैं: आप folder खोल सकते हैं और पढ़ सकते हैं कि agent आपके बारे में वास्तव में क्या मानता है, किसी file को edit करके गलत note को सुधार सकते हैं, या किसी file को हटाकर memory को delete कर सकते हैं। और वे portable हैं, क्योंकि agent को एक नए सर्वर पर ले जाना केवल एक directory को copy करने का मामला है। एक single-user personal agent के लिए, text files का एक folder पर्याप्त है, और यह पूरे system को समझने में आसान बनाता है।
Skills: क्षमताएं जोड़ने का एक पोर्टेबल तरीका
इन-बिल्ट टूल्स के अलावा, OpenClaw एक पोर्टेबल skill फॉर्मेट का उपयोग करता है ताकि कम्युनिटी इसके कोर में बदलाव किए बिना इसकी क्षमताओं का विस्तार कर सके। एक skill निर्देशों और कभी-कभी कोड का एक आत्मनिर्भर बंडल होता है, जो एजेंट को एक नया कार्य करना सिखाता है। जब कार्य की आवश्यकता होती है, तो एजेंट उस skill को लोड कर लेता है। वेब सर्च आमतौर पर पहली skill है जिसे लोग जोड़ते हैं, और उस skill को अपने स्वयं के SearXNG instance की ओर निर्देशित करना आपकी क्वेरीज़ को कमर्शियल सर्च API से दूर रखता है। साथ ही, यह स्पष्ट करता है कि skill की ट्रस्ट बाउंड्री कहाँ है, क्योंकि इसके द्वारा लौटाया गया सारा डेटा किसी अनजान व्यक्ति द्वारा लिखा गया टेक्स्ट होता है।
इस तरह के फॉर्मेट का मूल्य यह है कि क्षमताएं साझा करने योग्य बन जाती हैं। कोई व्यक्ति किसी विशिष्ट कार्य के लिए skill लिखता है, उसे पब्लिश करता है, और अन्य लोग उसे इस्तेमाल कर लेते हैं। यह सुविधा दोनों तरफ से काम करती है, क्योंकि एक skill किसी अनजान व्यक्ति का कोड है जिसे आपका एजेंट बिना किसी हिचकिचाहट के चलाएगा। इसलिए, किसी भी ऐसी चीज़ को लोड करने से पहले जिसे आपने खुद नहीं लिखा है, उसे अपने द्वारा होस्ट किए गए सिक्योरिटी स्कैनर से गुजारना उचित है। यदि आप अपना खुद का एजेंट बना रहे हैं, तो शुरुआत में ही एक छोटा और स्पष्ट एक्सटेंशन फॉर्मेट परिभाषित करने से आप बाद में हर क्षमता को कोर में हार्ड-कोड करने की समस्या से बच जाएंगे।
अपना मॉडल स्वयं लाएं
OpenClaw मॉडल-अज्ञेयवादी (model-agnostic) है। यह अपना स्वयं का भाषा मॉडल साथ नहीं लाता है। इसके बजाय, यह आपके द्वारा चुने गए मॉडल से जुड़ता है, जो एक होस्टेड API हो सकता है या ऐसा मॉडल जिसे आप स्वयं चलाते हैं।
यह विभाजन लागत, गोपनीयता और नियंत्रण के लिए महत्वपूर्ण है। एक होस्टेड API आपको बिना किसी हार्डवेयर प्रबंधन के सबसे शक्तिशाली मॉडल देता है, जिसका भुगतान प्रति-टोकन (per-token) आधार पर होता है और इसमें आपके प्रॉम्प्ट्स आपके सर्वर से बाहर जाते हैं। एक सेल्फ-होस्टेड मॉडल, जिसे Ollama जैसे किसी टूल के साथ सर्व किया जाता है, हर संदेश को आपके अपने बॉक्स पर रखता है और इसकी लागत केवल हार्डवेयर और बिजली तक सीमित रहती है, जिसकी कीमत एक छोटे या धीमे मॉडल को चलाने के रूप में चुकानी पड़ती है। कई लोग इन दोनों का मिश्रण उपयोग करते हैं। यदि आप किसी एजेंट को पूरी तरह से निजी रखना चाहते हैं, तो अपने VPS पर मॉडल को सेल्फ-होस्ट करना वह कदम है जो उस अंतिम अंतर को समाप्त करता है, और Hermes Agent एक अन्य सेल्फ-होस्टेड एजेंट है जिसकी तुलना करना सार्थक है।
क्या आपको इसे बनाना चाहिए?
आप यह सब बना सकते हैं। इसके घटक असाधारण नहीं हैं: एक daemon, कुछ chat connectors, एक model-and-tools loop, Markdown का एक फोल्डर, और एक plugin format। इन्हें समझना वास्तव में उपयोगी है, क्योंकि यह आपके द्वारा उपयोग किए जाने वाले हर agent के रहस्य को खोल देता है और आपको ठीक-ठीक बताता है कि खतरा कहाँ छिपा है।
लेकिन अधिकांश लोगों के लिए ईमानदार उत्तर यही है कि इसे फिर से बनाने के बजाय वास्तविक चीज़ चलाएँ और उसे harden करें। OpenClaw ने connectors, loop और skill format की समस्याएँ पहले ही हल कर दी हैं, और इसकी वास्तविक security scrutiny भी हो चुकी है। अपना प्रयास उस हिस्से पर लगाना अधिक उपयोगी है जिसे सही तरीके से configure करना आपके जिम्मे है: अपने server पर setup और hardening। यदि आप पहले सीखने का मार्ग अपनाना चाहते हैं, तो concepts को चरणबद्ध तरीके से समझना agent source code को बिना संदर्भ सीधे पढ़ने से बेहतर है, क्योंकि हर चरण के अंत में आपके पास वास्तव में बनाया हुआ एक component होता है। सीखने के लिए एक छोटा agent बनाएँ। उपयोग के लिए वास्तविक agent चलाएँ और उसे lock down करें।
सामान्य आधार VPS पर अपना AI agent बनाना में दिए गए हैं, और Claude के साथ एक agent बनाना उसी विचार को एक विशिष्ट model को मस्तिष्क के रूप में उपयोग करके दिखाता है।
FAQ
क्या OpenClaw जैसा agent बनाना कठिन है?
व्यक्तिगत हिस्से कठिन नहीं हैं। एक gateway process, एक chat connector, एक model-and-tools loop, और files का एक folder, ये सभी अपने आप में सीधे हैं। कठिन हिस्सा इसे सुरक्षित रूप से करना है। एक agent जो chat संदेशों से shell commands चलाता है, वह एक गंभीर सुरक्षा सतह (security surface) है, और sandboxing, permissions, और unprivileged-user setup को सही ढंग से करना सुविधाओं को आपस में जोड़ने से कहीं अधिक काम है।
OpenClaw memory को database के बजाय Markdown files के रूप में क्यों संग्रहीत करता है?
क्योंकि एक single-user personal agent के लिए, files पर्याप्त और बहुत सरल हैं। चलाने के लिए कोई database service नहीं है, memory को हाथ से पढ़ना और सुधारना आसान है, और agent को दूसरे सर्वर पर ले जाना केवल एक directory को copy करना है। एक database बड़े पैमाने पर अपनी जगह बनाता है, यहाँ नहीं।
personal AI agent का सबसे खतरनाक हिस्सा क्या है?
वे tools जो इसे कार्य करने देते हैं: shell commands चलाना, browser को नियंत्रित करना, और files लिखना। ये ही इसे बनाने का कारण हैं और यही कारण है कि यह आपको नुकसान पहुँचा सकता है। OpenClaw की मार्च 2026 की सुरक्षा सलाहों की लहर, 13 से 16 मार्च के बीच प्रकाशित 27 सलाहें जिनमें 9.9-रेटिंग वाली दो गंभीर खामियां शामिल हैं, टूल लेयर को सावधानी से संभालने का सबसे स्पष्ट तर्क है: unprivileged user के रूप में चलाएं, विनाशकारी कार्यों को नियंत्रित करें, और execution को sandbox करें।
क्या मुझे इसे बनाने के लिए अपने स्वयं के language model की आवश्यकता है?
नहीं। OpenClaw जैसे agents model-agnostic होते हैं, इसलिए आप अपनी पसंद का एक model जोड़ते हैं। यह सबसे शक्तिशाली models के लिए एक hosted API हो सकता है, या पूर्ण गोपनीयता के लिए आपके द्वारा स्वयं चलाया जाने वाला model हो सकता है। Ollama के साथ self-hosting हर संदेश को आपके अपने सर्वर पर रखता है, जिसकी कीमत एक छोटा model चलाने के रूप में चुकानी पड़ती है।