gekro
GitHub LinkedIn
Architecture

Raspberry Pi AI स्वार्मला आर्थिकदृष्ट्या एअर-गॅप करणे

6 मिनिटांचे वाचन

हा इंग्रजी मूळ लेखाचा यांत्रिक अनुवाद आहे. काही बारकावे हरवू शकतात, म्हणून संदर्भासाठी इंग्रजी आवृत्तीच ग्राह्य धरावी. मूळ लेख इंग्रजीत वाचा

थोडक्यात

खर्च कमी करण्यासाठी मी Pi 5 ला MCP राउटर आणि वेगळ्या OpenClaw वर्कर नेटवर्कसह स्थानिक ऑर्केस्ट्रेटर कसे बनवले.
मी माझ्या तीन Raspberry Pi 5 (16GB + M.2 256GB) नोड्सपैकी एकाला आर्थिकदृष्ट्या एअर-गॅप्ड ऑर्केस्ट्रेशन शेलमध्ये बदलले, जो पूर्ण सक्षम, रोज वापरले जाणारे AI वैयक्तिक सहायक चालवतो. स्प्लिट-ब्रेन आर्किटेक्चरमध्ये, जिथे मास्टर कंट्रोल प्रोग्राम (MCP) बहुउद्देशीय OpenClaw वर्कर्सवर देखरेख ठेवतो, सिस्टीम Telegram इंटरफेसपासून व्यवसाय साधनांच्या इंटिग्रेशनपर्यंत सर्व काही स्वायत्तपणे हाताळू शकते. हा दृष्टिकोन अतिशय सक्षम एजंट्सवर त्यांच्या क्षमता कृत्रिमपणे मर्यादित न करता कठोर खर्च-नियंत्रण लादतो, आणि सिद्ध करतो की प्रगत AI सहाय्य आणि अंदाज बांधता येणारे API बिलिंग यांतून तुम्हाला निवड करावी लागत नाही.

मी माझ्या तीन Raspberry Pi 5 (16GB + M.2 256GB) नोड्सपैकी एक वेगळा केला, जेणेकरून तो मास्टर कंट्रोल प्रोग्रामद्वारे (MCP) नियंत्रित, आर्थिकदृष्ट्या एअर-गॅप्ड AI ऑर्केस्ट्रेटर म्हणून काम करेल. उद्दिष्ट सक्षम, बहुउद्देशीय AI सहायक प्रणाली बनवणे होते जी मी रोज वापरू शकेन, आणि सततच्या स्टेट-मेंटेनन्समुळे माझे “Pro” टियरचे API बिल पूर्णपणे उडून जाणार नाही.

या प्रणालीतील वर्कर्स संकुचित, एकच-उद्देशाचे डेमन नाहीत. ते पूर्ण कार्यक्षम वैयक्तिक सहायक आहेत जे सक्रियपणे प्रणालींवर लक्ष ठेवतात, स्वायत्त बॅकग्राउंड कामे करतात, वैयक्तिक उत्पादकता साधनांशी जोडले जातात आणि Telegram द्वारे प्रश्नांची उत्तरे देतात. तरीही या अतिशय सक्षम सहायकांना चालवण्यासाठी एक सुरक्षा कवच हवे. उपाय म्हणजे आक्रमक रूटिंग धोरण: वातावरणावर देखरेख ठेवण्यासाठी केंद्रीय MCP वापरणे, तर खरे सहायक खाते-स्तरावरील कठोर खर्च-मर्यादा असलेल्या एग्रिगेटरद्वारे डॉकराइज्ड बॅकग्राउंड प्रोसेस म्हणून चालतात. Pi आता सर्वसाधारण-उद्देशाची होम लॅब राहिलेला नाही: त्याला समर्पित, नेटवर्कशी जोडलेला OpenClaw शेल बनवण्यासाठी बाकी प्रत्येक कंटेनर काढून टाकला गेला.

आर्किटेक्चर

प्रणाली स्प्लिट-ब्रेन, टियर्ड आर्किटेक्चरवर चालते. मुळाशी MCP बसला आहे. एकच महागडे मॉडेल हार्डकोड करण्याऐवजी MCP एक manifest.ai स्किल अंगभूत राउटर म्हणून वापरतो. तो प्रशासकीय कामाची जटिलता गतिशीलपणे तपासतो आणि कोणते Gemini मॉडेल बोलवायचे ते ठरवतो, मूलभूत कार्यक्षमतेसाठी Gemini च्या नेटिव्ह ऑटो मोडला डिफॉल्ट ठेवून.

त्याच्या खाली, समर्पित Docker ब्रिज नेटवर्कवर (claw_net) पूर्णपणे वेगळे, दोन काम-विशिष्ट वर्कर्स बसतात. जड काम वर्कर्स प्रीपेड OpenRouter कनेक्शनद्वारे करतात. MCP त्यांच्या लॉगवर लक्ष ठेवतो, ते अपयशी ठरल्यास त्यांचे कॉन्फिगरेशन पुन्हा लिहितो आणि त्यांचे कंटेनर रीस्टार्ट करतो.

स्तरइन्स्टन्सप्रोव्हायडर/मॉडेलभूमिका आणि क्षमताखर्चाची रचना
सुपरवायझरMCP (रूट)Google AI (manifest.ai राउटर / Gemini Auto)गतिशील रूटिंग, कॉन्फिग बदलतो, Docker डेमन नियंत्रित करतो.बदलणारी / ऑप्टिमाइझ्ड
सब-प्रोसेसWorker 01OpenRouter (DeepSeek V3)जलद डेटा पार्सिंग, Telegram इंटरफेस.$0.14 / 1M टोकन
सब-प्रोसेसWorker 02OpenRouter (DeepSeek V3)जटिल API कृती, Telegram इंटरफेस.$0.14 / 1M टोकन

बांधणी

या संक्रमणासाठी पोर्ट संघर्ष आणि CPU ओव्हरहेड दूर करायला Pi 5 पुसावा लागला. हार्डवेअर आता केवळ OpenClaw होस्ट आहे.

आधी मला स्वच्छ पाटी हवी होती. कोणताही भुताटकी कंटेनर मेमरी फस्त करू नये किंवा माझ्या रूटिंग स्तरांशी भिडू नये यासाठी मी विद्यमान इन्फ्रास्ट्रक्चरची पूर्ण सफाई केली. मग मी वेगळे नेटवर्क (claw_net) बनवले. वर्कर्सना Telegram API आणि OpenRouter साठी बाहेर जाणारे इंटरनेट हवे, पण त्यांना त्यांच्या स्वतःच्या ब्रिज नेटवर्कवर वेगळे ठेवल्याने त्यांच्याकडे कोणताही इनबाउंड प्रवेश नसतो आणि ते एकमेकांचा ट्रॅफिक पाहू शकत नाहीत याची खात्री होते.

# Purge all non-essential containers and images
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
docker system prune -a --volumes -f

# Create the dedicated network for the swarm
docker network create --driver bridge claw_net

उतरंड प्रतिबिंबित करण्यासाठी मी /opt/openclaw मध्ये फाइल सिस्टीमची पुनर्रचना केली, ज्यामुळे MCP ला वर्कर्सच्या कॉन्फिगरेशन फाइल्सवर पूर्ण दृश्यमानता मिळाली.

mkdir -p /opt/openclaw/{mcp,workers/worker-01,workers/worker-02}

पुढे मी वेगळे केलेले वर्कर्स कॉन्फिगर केले. त्यांचे ऑथेंटिकेशन फक्त OpenRouter पुरते मर्यादित केले आणि थेट खाते-स्तरावर दरमहा कठोर खर्च-मर्यादा लादली. यामुळे बॅकएंडवर खर्चाचा अतिरेक आवरला जातो: एखादा लूप घडला तरी कमाल नुकसान स्पष्टपणे मर्यादित आहे, जे मला 500 डॉलरच्या अचानक मासिक बिलापासून वाचवते. प्रत्यक्षात, हे पूर्ण सक्षम, रोज वापरले जाणारे AI सहायक चालवण्याचा माझा वास्तववादी खर्च दरमहा 8 ते 15 डॉलर दरम्यान येतो. मनमानी क्षमता-मर्यादा लादण्याऐवजी मी त्यांचे maxOutputTokens आणि maxHistoryTurns हे विचारपूर्वक निवडलेले कामगिरी-कॅलिब्रेशन पॅरामीटर म्हणून ट्यून केले. ही मूल्ये प्रत्येक वर्करच्या भूमिकेच्या स्वरूपाशी जुळवली आहेत, म्हणजे जलद उत्तरे विरुद्ध जटिल कृतींसाठी कॉन्टेक्स्ट विंडो ऑप्टिमाइझ करणे, जेणेकरून गणनेचा ओव्हरहेड वाया न घालवता ते पूर्ण कार्यक्षम राहतात.

# Configure Worker 01
cd /opt/openclaw/workers/worker-01
openclaw onboard --auth-choice apiKey --token-provider openrouter --token "$OPENROUTER_API_KEY" --non-interactive
openclaw config set agents.defaults.model.primary "openrouter/deepseek/deepseek-chat"
openclaw config set agents.defaults.maxOutputTokens 250
openclaw config set agents.defaults.maxHistoryTurns 5

# Configure Worker 02
cd /opt/openclaw/workers/worker-02
openclaw onboard --auth-choice apiKey --token-provider openrouter --token "$OPENROUTER_API_KEY" --non-interactive
openclaw config set agents.defaults.model.primary "openrouter/deepseek/deepseek-chat"
openclaw config set agents.defaults.maxOutputTokens 600
openclaw config set agents.defaults.maxHistoryTurns 8

मी वर्कर्सना वेगळ्या नेटवर्कशी जोडून सुरू केले. त्यांच्या त्यांच्या कॉन्फिगरेशन डिरेक्टरी थेट कंटेनरमध्ये माउंट केल्याने MCP नंतर पुढे येऊन Docker सॉकेटद्वारे ते कॉन्फिग वाचू शकतो आणि एखादा वर्कर बिघडू लागल्यास गतिशीलपणे ते पुन्हा लिहू शकतो.

docker run -d --name worker-01 \
  --network claw_net \
  -v /opt/openclaw/workers/worker-01:/app/config \
  openclaw/core:latest

docker run -d --name worker-02 \
  --network claw_net \
  -v /opt/openclaw/workers/worker-02:/app/config \
  openclaw/core:latest

शेवटी, मास्टर कंट्रोल प्रोग्राम. MCP ला Google AI क्रेडेन्शियल हवे, पण टोकनचा अनावश्यक खर्च रोखण्यासाठी मी manifest.ai रूटिंग स्किल राबवली. मी Docker सॉकेट आणि रूट /opt/openclaw/workers डिरेक्टरी त्याच्या कंटेनरमध्ये माउंट केली, जेणेकरून तो सब-प्रोसेसेसवर नेटिव्ह पद्धतीने देखरेख करू शकेल. राज्याच्या किल्ल्या असलेला MCP हा एकमेव कंटेनर आहे.

cd /opt/openclaw/mcp
openclaw onboard --auth-choice oauth --token-provider google --non-interactive

# Inject the manifest.ai router skill and set dynamic defaults
openclaw skill add manifest.ai/router
openclaw config set agents.defaults.model.primary "google/gemini-auto"
openclaw config set routing.strategy "manifest-dynamic"

docker run -d --name mcp \
  --network claw_net \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /opt/openclaw/workers:/supervised_workers \
  -v /opt/openclaw/mcp:/app/config \
  openclaw/core:latest

तडजोडी

LLM-चालित कंटेनरमध्ये /var/run/docker.sock माउंट करणे हे प्रोडक्शन वातावरणात विनाशकारी सुरक्षा जोखीम आहे. MCP वर प्रॉम्प्ट इंजेक्शन हल्ला झाला, तर Pi च्या Docker डेमनवर त्याचे रूट-स्तराचे नियंत्रण असते. मी ही जोखीम स्वीकारली कारण Pi 5 भौतिकदृष्ट्या वेगळा आणि फक्त या प्रयोगासाठी समर्पित आहे, पण हा एंटरप्राइझ तैनातीसाठीचा पॅटर्न नाही.

शिवाय, manifest.ai राउटर हुशार आहे, पण अचूक नाही. जेव्हा Worker 02 ने विकृत API पेलोडमुळे प्रचंड स्टॅक ट्रेस फेकला, तेव्हा राउटरने त्याला बरोबर “जटिल डीबगिंग टास्क” म्हणून ओळखले आणि हलक्या Flash व्हेरिएंटऐवजी अंमलबजावणी जड रीझनिंग मॉडेलकडे नेली. उपाय सुचवण्यापूर्वी MCP ने एरर लॉग वाचण्यात 40,000 टोकन गिळले. त्याने Worker 02 चा आउटपुट स्कीमा यशस्वीपणे पुन्हा लिहिला आणि कंटेनर रीस्टार्ट केला, पण त्या एकाच डीबगिंग कृतीने ऑटो मोडची बचत वगळली आणि DeepSeek वर Worker 02 च्या संपूर्ण कार्य-आठवड्यापेक्षा जास्त खर्च केला.

मी काय शिकलो

रूटिंग लॉजिक राबवण्यापूर्वी, Worker 01 खरोखर शांतपणे अपयशी ठरला होता. तो Telegram कडून आलेला विकृत JSON पेलोड पार्स करू शकला नाही आणि तिथेच अडकला, API वारंवार टाइमआउट होत असताना Pi ची मेमरी शांतपणे खात राहिला. मला दोन दिवस हे कळले नाही. ती शांतता, आणि त्यातून होऊ शकणारे साखळी-अपयश, यांनीच मला सुरुवातीला MCP बनवायला प्रवृत्त केले.

प्रणाली सध्या मी स्वतः MCP ला वर्कर्सची तपासणी करायला सांगण्यावर अवलंबून आहे, जो अर्धवट उपाय आहे. आर्किटेक्चरचा तार्किक निष्कर्ष, आणि लॅबमधील माझा पुढचा प्रोजेक्ट, म्हणजे सतत हार्टबीट मॉनिटर उभारणे. वर्कर्सच्या हेल्थ चेक्स Pi वरील हलक्या लोकल व्हेक्टर स्टोअरमध्ये पाइप केल्यास, MCP स्वायत्तपणे जुन्या क्रॅश डेटाची चौकशी करू शकेल आणि अपयश साखळीने पसरण्यापूर्वी आधीच वर्कर्सचे DeepSeek तापमान किंवा टोकन मर्यादा सक्रियपणे समायोजित करू शकेल.

या प्रयोगाने सिद्ध केले की जटिल AI प्रणाली चालवण्यासाठी प्रचंड, मोनोलिथिक क्लाउड इन्फ्रास्ट्रक्चरची गरज नाही. आर्किटेक्चरला एकाच Raspberry Pi 5 च्या भौतिक मर्यादा आणि 8–15 डॉलरच्या मासिक खर्च-मर्यादेच्या आर्थिक मर्यादेत बसवल्याने निकाल तडजोड केलेला किंवा बांधलेला सँडबॉक्स आला नाही. त्या बंधनांनी प्रत्यक्षात अधिक शिस्तबद्ध, अतिशय सक्षम ऑर्केस्ट्रेशन प्रणाली घडवली. आज हे फक्त संकुचित स्क्रिप्ट नाहीत; हे खरोखर प्रभावी, रोज वापरले जाणारे AI वैयक्तिक सहायक आहेत जे माझे वर्कफ्लो सक्रियपणे सांभाळतात. लॅब अखेर हुशारीने चालत आहे, सहायक पूर्णपणे मोकळे सोडले आहेत, आणि माझे बिलिंग पेज अखेर कंटाळवाणे आहे.

Rohit Burani

लेखक

Rohit Burani

AI इंजिनिअर, जे लॅबमधून लोकल-फर्स्ट सिस्टीम, सेल्फ-होस्टेड इन्फ्रास्ट्रक्चर आणि स्वायत्त टूल्स तयार करतात.

वाचल्याबद्दल धन्यवाद.

हा लेख आवडला असेल तर तो तुमच्या नेटवर्कसोबत शेअर करा.

← ब्लॉगवर परत जा