VPS वर OpenCode कसे इन्स्टॉल करावे?
VPS वर OpenCode कोडिंग एजंट सुरक्षितपणे कसे चालवायचे ते शिका. अनप्रिव्हिलेज्ड युजर तयार करणे, tmux वापरणे आणि API की सुरक्षित ठेवणे याबद्दलची संपूर्ण माहिती येथे उपलब्ध आहे.
OpenCode म्हणजे काय आणि तुम्ही काय सेट करत आहात
OpenCode हे टर्मिनलसाठी तयार केलेले एक ओपन सोर्स AI कोडिंग एजंट आहे. तुम्ही ते प्रोजेक्ट डिरेक्टरीमध्ये सुरू करता, त्यानंतर ते तुमचा कोड वाचते, बदलांचे प्रस्ताव मांडते, फाईल्स एडिट करते आणि कमांड्स रन करते; हे सर्व एका टर्मिनल युजर इंटरफेस (TUI) द्वारे केले जाते. हे MIT लायसन्स अंतर्गत उपलब्ध आहे, 75 पेक्षा जास्त मॉडेल प्रोव्हाइडर्सशी कनेक्ट होते आणि 2026 च्या मध्यापर्यंत सुमारे 165,000 GitHub स्टार्ससह, हे सर्वाधिक स्टार्स असलेले ओपन सोर्स कोडिंग एजंट आहे. VPS वर OpenCode चालवण्यासाठी, तुम्ही ते एका समर्पित अनप्रिव्हिलेज्ड युजर अंतर्गत इन्स्टॉल करता, तुमची मॉडेल API की एका खाजगी फाईलमध्ये ठेवता आणि ते tmux मध्ये सुरू करता, जेणेकरून तुमचे कनेक्शन तुटले तरी सेशन सुरू राहील. हे मार्गदर्शक नेमके याच क्रमाने ते कसे करायचे, हे सांगते.
नामांकनाबाबत एक महत्त्वाची टीप गोंधळ टाळण्यास मदत करेल. अधिकृत रिपॉझिटरी anomalyco/opencode आहे, जी Anomaly टीमद्वारे (पूर्वीची SST) मेंटेन केली जाते आणि हा प्रोजेक्ट पूर्वी sst/opencode वर उपलब्ध होता. GitHub वर opencode-ai/opencode नावाचे एक जुने आणि असंबद्ध रिपॉझिटरी देखील अस्तित्वात आहे, त्यामुळे तुम्ही योग्य प्रोजेक्टचे डॉक्युमेंटेशन वाचत आहात याची खात्री करा. अधिकृत वेबसाईट opencode.ai ही आहे.
OpenCode VPS वर का चालवावे
कोडिंग एजंटचे सत्र दीर्घकाळ चालते. OpenCode ला रिफॅक्टरिंग किंवा टेस्ट सूट पूर्ण करण्यासाठी अनेक मिनिटे लागू शकतात. जर हे तुमच्या लॅपटॉपवर चालत असेल, तर लॅपटॉप बंद केल्यामुळे किंवा Wi-Fi कनेक्शन तुटल्यामुळे सत्र मध्येच खंडित होऊ शकते. tmux मधील VPS वर, तुम्ही डिस्कनेक्ट झाल्यानंतरही एजंट काम करत राहतो आणि तुम्ही नंतर पुन्हा अटॅच होऊन त्याने काय केले ते पाहू शकता. हे tmux सह VPS वर Claude Code चालवण्यासारखेच आहे आणि एजंटला लॅपटॉपवरून हलवण्याचा हा सर्वात मोठा फायदा आहे.
दुसरे कारण म्हणजे प्लेसमेंट. VPS तुम्ही डिप्लॉय करत असलेल्या कोडच्या जवळ असतो: रिपॉझिटरी, बिल्ड टूल्स, टेस्ट डेटाबेस आणि अनेकदा स्टेजिंग एन्व्हायर्नमेंट तिथेच किंवा त्याच्या जवळ असते. जो एजंट कोड एडिट करतो आणि टेस्ट रन करतो, तो त्याच मशीनवर सर्वोत्तम काम करतो जिथे त्या टेस्ट प्रत्यक्षात चालतात. आणि हे सर्व्हर तुमच्या नियंत्रणात असल्याने, तुम्ही एजंटला हेतुपुरस्सर एक मर्यादित एन्व्हायर्नमेंट देऊ शकता, जे पुढील विभागात दिले आहे.
जर तुम्ही अजूनही टूल निवडत असाल, तर VPS वर कोडिंग AI एजंट चालवणे हे Aider आणि Goose सह इतर पर्यायांची तुलना करते.
OpenCode साठी स्वतंत्र युजर तयार करा
याची सुरुवात प्रामाणिकपणे करणे आवश्यक आहे: एक कोडिंग एजंट फाईल्स एडिट करतो आणि कमांड्स रन करतो. हे त्याचे काम आहे आणि हाच त्याचा धोकाही आहे. OpenCode बिल्ड्स, टेस्ट्स आणि कामासाठी आवश्यक असलेल्या कोणत्याही शेल कमांड्स रन करेल. मॉडेलचा निर्णय चांगला असला तरी तो परिपूर्ण नसतो. एजंट ज्या अकाउंटवरून रन होतो, ती मर्यादा ठरवते की एखादी चुकीची कमांड किती नुकसान करू शकते. म्हणून, ते root युजर म्हणून रन करू नका आणि सर्व्हर ॲडमिनिस्टर करणाऱ्या युजरच्या अकाउंटवरूनही ते रन करू नका.
बॅकग्राउंड एजंटच्या विपरीत, OpenCode हे इंटरअॅक्टिव्ह आहे, त्यामुळे त्याच्या युजरला रिअल शेल आणि होम डिरेक्टरीची आवश्यकता असते:
sudo useradd --create-home --shell /bin/bash opencode
sudo -iu opencodeज्या प्रोजेक्ट्सवर तुम्हाला काम करायचे आहे, ते /home/opencode अंतर्गत ठेवा आणि त्या युजरद्वारे क्लोन करा. या अकाउंटला कोणतेही sudo अधिकार देऊ नका. जर एजंटने एखादी विनाशकारी कमांड रन केली, तर ती फक्त या अकाउंटच्या मालकीच्या फाईल्सचेच नुकसान करू शकेल. हेच तर्क unprivileged युजर म्हणून सर्व्हिसेस रन करण्यामागे असते. तसेच, git रिपॉझिटरीमध्ये काम करा, कारण रिपॉझिटरीमुळे कोणत्याही चुकीच्या एडिटचे रूपांतर git revert मध्ये होते, ज्यामुळे डेटाचे नुकसान टळते.
OpenCode इंस्टॉल करा
या प्रकल्पासाठी दोन प्रकारचे इंस्टॉलेशन दस्तऐवजीकरण उपलब्ध आहे. इंस्टॉलेशन स्क्रिप्ट हा सर्वात जलद मार्ग आहे आणि ती opencode वापरकर्त्याच्या खात्यातून चालवल्यास सर्व फाइल्स त्या वापरकर्त्याच्या होम डिरेक्टरीमध्येच राहतात:
curl -fsSL https://opencode.ai/install | bashयेथेही curl | bash ची नेहमीची सवय पाळा: ज्या सर्व्हरची तुम्हाला काळजी आहे, त्यावर आधी स्क्रिप्ट डाउनलोड करा, ती वाचा आणि मगच चालवा. इंस्टॉलेशननंतर, नवीन शेल सुरू करा जेणेकरून इंस्टॉलरने केलेले PATH मधील बदल लागू होतील, त्यानंतर बायनरी योग्य प्रतिसाद देते का ते तपासा:
opencode --versionजर तुम्हाला पॅकेज मॅनेजर वापरणे सोयीचे वाटत असेल आणि Node.js आधीच सर्व्हरवर असेल, तर npm मार्गाने तुम्ही हे टूल संपूर्ण सिस्टमसाठी इंस्टॉल करू शकता. यामुळे opencode बायनरी सर्व वापरकर्त्यांसाठी PATH मध्ये उपलब्ध होईल:
sudo npm install -g opencode-aiकोणताही मार्ग निवडला तरी, तपासणीची पद्धत एकच आहे: opencode --version कमांड आवृत्ती क्रमांक दर्शवते. स्क्रिप्ट इंस्टॉल केल्यानंतर command not found एरर येत असेल, तर याचा अर्थ सध्याच्या शेलने अद्ययावत केलेला PATH वाचलेला नाही. अशा वेळी लॉग आउट करा आणि पुन्हा opencode वापरकर्ता म्हणून लॉग इन करा.
API key एका खाजगी फाईलमध्ये ठेवा
OpenCode ला तुम्ही वापरत असलेल्या मॉडेल प्रोव्हायडरसाठी एका की (key) ची आवश्यकता असते. ही की तुमचे पैसे खर्च करू शकते, त्यामुळे तिला पासवर्डप्रमाणेच सुरक्षित ठेवा. फक्त opencode युजर वाचू शकेल अशी एक फाईल तयार करा, तिला 600 मोड द्या आणि की तिथेच ठेवा. ती कमांड्समध्ये टाईप करू नका, कारण तसे केल्यास ती तुमच्या शेल हिस्ट्रीमध्ये (shell history) साठवली जाईल:
install -m 600 /dev/null ~/opencode.env
nano ~/opencode.envत्यामध्ये तुमच्या प्रोव्हायडरचा व्हेरिएबल ठेवा, उदाहरणार्थ ANTHROPIC_API_KEY=... किंवा तुमच्या प्रोव्हायडरसाठी लागू असलेला समतुल्य व्हेरिएबल, कारण OpenCode मानक प्रोव्हायडर एन्व्हायर्नमेंट व्हेरिएबल्स स्वीकारते. एजंट सुरू करण्यापूर्वी फाईल तुमच्या शेलमध्ये लोड करा:
set -a; source ~/opencode.env; set +aOpenCode मध्ये एक इंटरअॅक्टिव्ह पर्याय देखील उपलब्ध आहे: TUI मधील /connect कमांड तुम्हाला प्रोव्हायडर जोडण्याच्या प्रक्रियेत मार्गदर्शन करते आणि क्रेडेंशियल युजरच्या होम डिरेक्टरीमधील ~/.local/share/opencode/auth.json मध्ये सेव्ह करते. जर तुम्ही हा मार्ग निवडला, तर chmod 600 ~/.local/share/opencode/auth.json वापरून फाईल खाजगी असल्याची खात्री करा. दोन्ही पद्धती की ला तुमच्या कमांड लाईनपासून दूर ठेवतात; यापैकी एक निवडा आणि तीच पद्धत वापरा.
tmux मध्ये OpenCode सुरू करा
tmux मुळेच VPS सेटअप फायदेशीर ठरतो, कारण तुमचे SSH कनेक्शन तुटले तरी tmux सत्र (session) सुरूच राहते. एक सत्र सुरू करा, तुमच्या प्रोजेक्ट डिरेक्टरीमध्ये जा आणि एजंट लाँच करा:
tmux new -s opencode
cd ~/my-project
opencodeतुम्हाला TUI उघडलेली दिसेल, ज्यामध्ये तळाला प्रॉम्प्ट असेल आणि इंटरफेसमध्ये तुमच्या प्रोजेक्टचे नाव दिसेल. त्याला साध्या भाषेत एखादे काम द्या, म्हणजे तो फाइल्स वाचण्यास आणि बदलांचे प्रस्ताव देण्यास सुरुवात करेल. जेव्हा तुम्हाला बाहेर पडायचे असेल, तेव्हा Ctrl-b आणि त्यानंतर d दाबून detach करा; तुमचा लॅपटॉप बंद असला तरीही एजंट काम करत राहील. नंतर पुन्हा जोडण्यासाठी (reattach) खालील कमांड वापरा:
tmux attach -t opencodeसत्र, संभाषण आणि चालू असलेले कोणतेही काम अगदी त्याच स्थितीत राहते जिथे तुम्ही ते सोडले होते. हे तुमच्या डिस्कनेक्शननंतरही टिकून राहते, परंतु सर्व्हर रीबूट झाल्यास हे शक्य नाही. त्यामुळे रीबूटनंतर तुम्हाला त्याच पद्धतीने नवीन tmux सत्र सुरू करावे लागेल. तुम्ही दुसरे tmux विंडो उघडून पहिल्याच्या बाजूला दुसरा एजंट चालवू शकता, यात कोणतीही अडचण नाही. मात्र, OpenCode सत्रे एकमेकांपासून स्वतंत्र राहतात, तर एकाच सर्व्हरवरील Claude Code सत्रे एकमेकांना संदेश पाठवू शकतात, जो काम विभागण्याचा एक वेगळा मार्ग आहे.
मॉडेलकडे निर्देशित करा
OpenCode हे provider agnostic आहे. हे AI SDK आणि Models.dev कॅटलॉगचा वापर करून 75 पेक्षा जास्त प्रोव्हाइडर्सना सपोर्ट करते. त्यामुळे, हेच साधन Anthropic, OpenAI, Google आणि स्थानिक सर्व्हरसह इतर अनेक प्रोव्हाइडर्ससोबत काम करते. TUI मधील /connect कमांड हा सर्वात जलद मार्ग आहे, जो प्रोव्हाइडर्सची यादी दाखवतो आणि क्रेडेंशियल्स हाताळतो. तुम्ही कमिट आणि पुन्हा वापरू शकाल अशा सेटअपसाठी, प्रोजेक्टच्या रूटमध्ये एक opencode.json फाईल ठेवा आणि मॉडेलला provider/model-id म्हणून सेट करा:
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-20250514"
}स्थानिक मॉडेल देखील याच फाईलद्वारे काम करते, कारण कोणताही OpenAI-compatible सर्व्हर प्रोव्हाइडर म्हणून घोषित करता येतो. जर तुम्ही त्याच VPS वर Ollama वापरून एखादे मॉडेल सर्व्ह करत असाल, तर कॉन्फिगरेशन त्याच्या स्थानिक API कडे निर्देशित करते आणि मॉडेलचे नाव तुमच्या बॉक्सवर ollama list जे दाखवते तेच असते:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"ollama": {
"npm": "@ai-sdk/openai-compatible",
"name": "Ollama (local)",
"options": { "baseURL": "http://127.0.0.1:11434/v1" },
"models": { "your-model-name": { "name": "Local coding model" } }
}
}
}एक अंगभूत सवय पहिल्या दिवसापासून लावणे फायदेशीर ठरते. OpenCode मध्ये दोन एजंट्स असतात, ज्यांच्या दरम्यान तुम्ही Tab की वापरून स्विच करू शकता: Build, जो पूर्ण ॲक्सेस असलेला डीफॉल्ट एजंट आहे, आणि Plan, जो बदल करण्याची क्षमता अक्षम करतो. Plan मध्ये नवीन कार्य सुरू करा, त्याला कोड वाचू द्या आणि दृष्टिकोन सुचवू द्या, आणि जेव्हा तुम्ही योजनेशी सहमत असाल तेव्हाच Build वर स्विच करा. सर्व्हरवर, रीड-ओन्ली फर्स्ट पास ही एक स्वस्त सुरक्षा आहे. Claude Code याच निर्णयाला एजंट्सऐवजी परमिशन मोड्स म्हणून मांडते, आणि जर तुम्ही दोन्ही साधने वापरत असाल तर त्याचे ऑटो मोडकडे डीफॉल्ट म्हणून होणारे स्थित्यंतर वाचण्यासारखे आहे, कारण सेशन कोणत्या मोडमध्ये सुरू होते यावर ठरते की एखादा अनवॉच्ड एजंट किती बदल करू शकतो.
ब्लास्ट रेडियस (परिणामांची व्याप्ती)
कोडिंग एजंट निष्क्रिय नसतो, त्यामुळे ही सेटअप काय करते आणि काय करत नाही हे स्पष्टपणे समजून घ्या. यात फाईल डॅमेजची शक्यता असते: opencode वापरकर्ता फक्त स्वतःच्या होम डिरेक्टरीचा मालक असतो, त्यामुळे त्याचे बदल किंवा डिलीशन त्या मर्यादेबाहेर जात नाहीत. यात क्रेडेंशियल एक्सपोजरची शक्यता असते: की (key) एका फाईलमध्ये mode 600 सह एकाच अकाउंटमध्ये साठवलेली असते. हे अकाउंट काय काय करू शकते यावर यात मर्यादा नसतात, त्यामुळे जर प्रोजेक्ट डिरेक्टरीमध्ये प्रोडक्शन डिप्लॉयमेंटची क्रेडेंशियल्स असतील, तर एजंट ती वापरू शकतो; अशा गोष्टी एजंटच्या अकाउंटपासून पूर्णपणे दूर ठेवा.
OpenClaw सारख्या गेटवे एजंटच्या विपरीत, OpenCode हा एक इंटरअॅक्टिव्ह टर्मिनल प्रोग्राम आहे, डेमन (daemon) नाही. तो कोणताही पोर्ट लिसनिंग मोडमध्ये उघडत नाही आणि कोणतीही दीर्घकाळ चालणारी सर्व्हिस नसल्यामुळे, यासाठी कोणतीही systemd युनिट लिहिण्याची किंवा एजंटसाठी फायरवॉल पोर्ट उघडण्याची गरज नसते. याचे कंटेनमेंट (नियंत्रण) हे वापरकर्ता अकाउंट आणि प्रोजेक्ट डिरेक्टरीपुरते मर्यादित असते, म्हणूनच या मार्गदर्शिकेचा पहिला विभाग सर्वात महत्त्वाचा आहे.
याला सुरक्षित ठेवण्यासाठी नेहमीची काळजी घेणे आवश्यक आहे, कारण कोडिंग VPS हा एक सार्वजनिक सर्व्हर असतो: SSH hardening on a VPS मध्ये सांगितल्याप्रमाणे, रूट लॉगिन बंद करून फक्त की-आधारित SSH वापरा, डिफॉल्ट-डिनाय फायरवॉल ठेवा आणि नियमित अपडेट्स करा. तसेच, एजंटने तयार केलेल्या कोडचे पुनरावलोकन करा. कोड पुश करण्यापूर्वी त्याचे diffs वाचा, जसे तुम्ही एखाद्या नवीन कॉन्ट्रिब्युटरची पुल रिक्वेस्ट वाचता, कारण शेवटी तुम्हीच तो निकाल डिप्लॉय करत असता.
शेवटी, टूल नेहमी अपडेट ठेवा. OpenCode चे नवीन व्हर्जन वारंवार येतात आणि त्यामध्ये अशा प्रोग्रामसाठी महत्त्वाचे फिक्स असतात जे तुमच्या सर्व्हरवर कमांड्स रन करतात. अपडेट करण्यासाठी त्याच मार्गाचा वापर करा ज्याने तुम्ही इन्स्टॉल केले होते: opencode वापरकर्ता म्हणून इन्स्टॉल स्क्रिप्ट पुन्हा रन करा, किंवा जर तुम्ही npm द्वारे इन्स्टॉल केले असेल तर sudo npm update -g opencode-ai रन करा, आणि त्यानंतर opencode --version वापरून नवीन व्हर्जनची खात्री करा. काही महिन्यांपूर्वीच्या बिल्डमधील त्रुटी शोधण्यापेक्षा, अधूनमधून एक मिनिटाचे मेंटेनन्स करणे अधिक सोयीचे असते.
FAQ
OpenCode सशुल्क API ऐवजी स्थानिक (local) मॉडेल वापरू शकते का?
हो. OpenCode कोणत्याही OpenAI-सुसंगत सर्व्हरला प्रदाता (provider) म्हणून स्वीकारते. त्यामुळे, त्याच VPS वर Ollama द्वारे चालवलेले मॉडेल वापरता येते: opencode.json मध्ये स्थानिक baseURL आणि Ollama ने दर्शवलेले मॉडेलचे नाव घोषित करा. यामध्ये हार्डवेअरची मर्यादा लक्षात घेणे आवश्यक आहे, कारण कोडिंगसाठी सक्षम असलेल्या मॉडेलला मोठ्या मेमरीची गरज असते. त्यामुळे मॉडेल डाउनलोड करण्यापूर्वी सर्व्हरची क्षमता तपासा.
लॅपटॉप बंद केल्यानंतरही OpenCode चालू कसे ठेवावे?
ते VPS वरील tmux मध्ये चालवा. tmux new -s opencode वापरून एका named session मध्ये एजंट सुरू करा, त्यानंतर Ctrl-b आणि नंतर d दाबून detach करा. यामुळे तुमचा SSH कनेक्शन संपल्यानंतरही सर्व्हरवर सेशन चालू राहील. tmux attach -t opencode वापरून तुम्ही कधीही पुन्हा जोडू शकता आणि तुमचे संभाषण तसेच चालू असलेले टास्क तिथेच उपलब्ध असतील. सर्व्हर रीबूट केल्यास सेशन बंद होते, त्यामुळे रीबूटनंतर नवीन सेशन सुरू करा.
OpenCode ला माझ्या VPS वर कमांड्स चालवू देणे सुरक्षित आहे का?
जर तुम्ही त्यावर नियंत्रण ठेवले तर हे व्यवस्थापित करण्यायोग्य आहे. OpenCode साठी एक स्वतंत्र, विना-विशेषाधिकार (unprivileged) वापरकर्ता तयार करा ज्याला sudo अधिकार नसतील. त्याचे प्रोजेक्ट्स git मध्ये ठेवा जेणेकरून प्रत्येक बदल पूर्ववत (reversible) करता येईल. API key ला 600 मोड असलेल्या फाईलमध्ये साठवा आणि Build एजंटला बदल करण्याची परवानगी देण्यापूर्वी, प्रथम read-only तपासणीसाठी त्याच्या Plan एजंटचा वापर करा. यामुळे एजंट फक्त त्याच्या खात्याच्या मालकीच्या फाईल्सचेच नुकसान करू शकेल आणि सर्व्हरचा उर्वरित भाग सुरक्षित राहील.
OpenCode आणि Claude Code मध्ये काय फरक आहे?
OpenCode हे ओपन सोर्स (MIT) आहे आणि ते कोणत्याही विशिष्ट प्रदात्यावर अवलंबून नाही. ते एकाच इंटरफेसद्वारे स्थानिक मॉडेल्ससह 75 पेक्षा जास्त मॉडेल प्रदात्यांशी जोडले जाऊ शकते. Claude Code हा Anthropic चा स्वतःचा टर्मिनल एजंट आहे, जो केवळ Anthropic च्या मॉडेल्ससाठी बनवला आहे. जर तुम्हाला अनेक प्रदात्यांसाठी एकच साधन हवे असेल किंवा स्थानिक मॉडेलसह पूर्णपणे self-hosted स्टॅक हवा असेल, तर OpenCode योग्य आहे. दोन्ही साधने VPS वर tmux मध्ये आणि समान unprivileged-user सेटअपसह उत्तम प्रकारे चालतात.