VPS पर OpenCode कैसे install करें
OpenCode को VPS पर सुरक्षित रूप से चलाने के लिए unprivileged user, tmux और API key security का उपयोग करने की पूरी विधि यहाँ विस्तार से दी गई है।
OpenCode क्या है, और आप क्या सेटअप कर रहे हैं
OpenCode एक open source AI coding agent है जिसे terminal के लिए बनाया गया है। आप इसे किसी project directory के अंदर शुरू करते हैं। यह आपके code को पढ़ता है, बदलावों का सुझाव देता है, files को edit करता है, और commands चलाता है। यह सब एक terminal user interface (TUI) के माध्यम से होता है। यह MIT licensed है और 75 से अधिक model providers से जुड़ा है। mid-2026 तक, लगभग 165,000 GitHub stars के साथ, यह सबसे अधिक starred open source coding agent है। VPS पर OpenCode चलाने के लिए, आपको इसे एक dedicated unprivileged user के अंतर्गत install करना होगा। आपको अपनी model API key को एक private file में रखना होगा। अंत में, इसे tmux के अंदर शुरू करें ताकि connection टूटने पर भी session चलता रहे। यह guide ठीक यही प्रक्रिया, इसी क्रम में सिखाती है।
नाम को लेकर एक स्पष्टीकरण है। इसका canonical repository anomalyco/opencode है, जिसे Anomaly team (जिसे पहले SST कहा जाता था) द्वारा maintain किया जाता है। पहले यह project sst/opencode पर था। GitHub पर opencode-ai/opencode नाम का एक पुराना और असंबंधित repository भी मौजूद है, इसलिए सुनिश्चित करें कि आप सही project के docs पढ़ रहे हैं। आधिकारिक site opencode.ai है।
VPS पर OpenCode क्यों चलाएं
एक coding agent session काफी लंबा होता है। OpenCode किसी refactor या test suite को पूरा करने में कई मिनट लगा सकता है। यदि यह आपके laptop पर चल रहा है, तो lid बंद होने या Wi-Fi connection टूटने से session बीच में ही रुक जाएगा। VPS पर tmux के अंदर, disconnect होने के बाद भी agent काम करना जारी रखता है। आप बाद में reattach करके देख सकते हैं कि उसने क्या किया। यह tmux के साथ VPS पर Claude Code चलाने के समान ही है। agent को अपने laptop से हटाकर VPS पर ले जाने से सबसे अधिक सुविधा मिलती है।
दूसरा कारण placement है। VPS आपके deployed code के करीब होता है: repository, build tools, test database, और अक्सर staging environment भी वहीं या उसके पास होते हैं। एक agent जो code edit करता है और tests चलाता है, वह उसी machine पर सबसे अच्छा काम करता है जहाँ वे tests वास्तव में चलते हैं। चूंकि यह server आपके नियंत्रण में है, इसलिए आप agent को एक contained environment दे सकते हैं, जैसा कि अगले section में बताया गया है।
यदि आप अभी भी किसी tool का चुनाव कर रहे हैं, तो VPS पर coding AI agent चलाना अन्य options जैसे Aider और Goose की तुलना करता है।
OpenCode के लिए एक अलग user बनाएँ
वास्तविक स्थिति यह है: एक coding agent files को edit करता है और commands चलाता है। यही उसका काम है, और यही जोखिम भी है। OpenCode builds, tests, और वे सभी shell commands चलाएगा जिनकी task को आवश्यकता हो सकती है। model का निर्णय अच्छा होता है लेकिन perfect नहीं होता। agent जिस account से चलता है, वह उसकी पहुँच की सीमा (ceiling) तय करता है। इसलिए इसे root के रूप में न चलाएँ, और न ही उसी user के रूप में चलाएँ जो server को administer करता है।
Background agent के विपरीत, OpenCode interactive है, इसलिए इसके user को एक real shell और home directory की आवश्यकता होती है:
sudo useradd --create-home --shell /bin/bash opencode
sudo -iu opencodeजिन projects पर आप इसे काम करना चाहते हैं, उन्हें /home/opencode के अंतर्गत रखें, और उन्हें उसी user द्वारा clone करें। उस account को sudo rights न दें। यदि agent कोई destructive command चलाता है, तो वह केवल उसी चीज़ को नष्ट कर पाएगा जिसका स्वामित्व इस account के पास है। यही कारण है कि services को unprivileged user के रूप में चलाना बेहतर है। हमेशा git repository के भीतर काम करें, क्योंकि एक repository किसी भी गलत edit को नुकसान के बजाय एक git revert में बदल देती है।
OpenCode इंस्टॉल करें
इस प्रोजेक्ट में दो इंस्टॉलेशन विकल्प दिए गए हैं। इंस्टॉलेशन स्क्रिप्ट सबसे तेज़ तरीका है। यदि आप इसे opencode यूजर के रूप में चलाते हैं, तो सभी फाइलें उसी यूजर के home directory में रहेंगी:
curl -fsSL https://opencode.ai/install | bashयहाँ भी वही सामान्य curl | bash नियम लागू होता है: किसी भी महत्वपूर्ण server पर, पहले स्क्रिप्ट डाउनलोड करें, उसे पढ़ें, और फिर चलाएं। इंस्टॉलेशन के बाद, एक नया shell शुरू करें ताकि installer द्वारा किया गया PATH बदलाव प्रभावी हो सके। इसके बाद, binary की जांच करने के लिए ये कमांड चलाएं:
opencode --versionयदि आप package manager का उपयोग करना चाहते हैं और system में Node.js पहले से इंस्टॉल है, तो npm तरीका समान टूल को system-wide इंस्टॉल करता है। इससे opencode binary सभी users के लिए PATH में आ जाता है:
sudo npm install -g opencode-aiदोनों ही तरीकों में, जांचने का तरीका समान है: opencode --version एक version number प्रिंट करता है। यदि script install करने के बाद command not found आता है, तो इसका मतलब है कि वर्तमान shell ने अपडेटेड PATH को अभी तक नहीं पढ़ा है। ऐसे में, opencode यूजर के रूप में log out करें और फिर से log in करें।
API key को एक private file में रखें
OpenCode को आपके द्वारा उपयोग किए जाने वाले model provider की key की आवश्यकता होती है। यह key आपके पैसे खर्च कर सकती है, इसलिए इसे password की तरह ही सुरक्षित रखें। mode 600 के साथ एक ऐसी file बनाएँ जिसे केवल opencode user ही पढ़ सके। key को commands में टाइप न करें ताकि वह shell history में न आ जाए; इसके बजाय उसे इस file में रखें:
install -m 600 /dev/null ~/opencode.env
nano ~/opencode.envइसमें अपने provider का variable डालें, जैसे कि ANTHROPIC_API_KEY=... या आपके provider के लिए समकक्ष variable, क्योंकि OpenCode standard provider environment variables का उपयोग करता है। agent शुरू करने से पहले इस file को अपने shell में load करें:
set -a; source ~/opencode.env; set +aOpenCode में एक interactive विकल्प भी है: TUI के अंदर /connect command आपको provider जोड़ने में मदद करता है और credential को user के home directory में ~/.local/share/opencode/auth.json में save कर देता है। यदि आप इस तरीके का उपयोग करते हैं, तो chmod 600 ~/.local/share/opencode/auth.json के साथ पुष्टि करें कि file private है। दोनों ही तरीके key को आपकी command lines से दूर रखते हैं; किसी एक को चुनें और उसी का पालन करें।
tmux के अंदर OpenCode शुरू करें
tmux इस VPS setup को उपयोगी बनाता है, क्योंकि SSH connection समाप्त होने पर भी tmux session चलता रहता है। एक session शुरू करें, अपने project में जाएँ, और agent लॉन्च करें:
tmux new -s opencode
cd ~/my-project
opencodeआपको नीचे एक prompt के साथ TUI खुलता हुआ और interface में अपने project का नाम दिखाई देना चाहिए। इसे साधारण भाषा में कोई task दें, और यह files पढ़ना और changes propose करना शुरू कर देगा। जब आप निकलना चाहें, तो Ctrl-b फिर d दबाकर detach करें; agent आपके laptop बंद होने पर भी काम करना जारी रखेगा। बाद में reattach करने के लिए उपयोग करें:
tmux attach -t opencodeSession, conversation, और कोई भी running task वहीं रहेंगे जहाँ आपने उन्हें छोड़ा था। यह disconnections से सुरक्षित रहता है, लेकिन server reboot होने पर नहीं। इसलिए reboot के बाद, उसी तरह एक नया tmux session शुरू करें।
इसे एक model से जोड़ें
OpenCode provider agnostic है। यह 75 से अधिक providers को support करने के लिए AI SDK और Models.dev catalog का उपयोग करता है। इसलिए, यही tool Anthropic, OpenAI, Google और local servers सहित दर्जनों अन्य के साथ काम करता है। सबसे तेज़ तरीका TUI के अंदर /connect command का उपयोग करना है, जो providers की सूची दिखाता है और credentials को manage करता है। एक ऐसा setup बनाने के लिए जिसे आप commit और reproduce कर सकें, project root में opencode.json रखें और model को provider/model-id के रूप में सेट करें:
{
"$schema": "https://opencode.ai/config.json",
"model": "anthropic/claude-sonnet-4-20250514"
}Local model भी इसी file के माध्यम से काम करता है, क्योंकि किसी भी OpenAI-compatible server को provider के रूप में declare किया जा सकता है। यदि आप Ollama on the same VPS के साथ model चला रहे हैं, तो config उसके local API को point करता है, और model name वही होगा जो ollama list आपके system पर दिखाता है:
{
"$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" } }
}
}
}पहले दिन से ही एक built-in आदत अपनाना फायदेमंद है। OpenCode दो agents के साथ आता है जिन्हें आप Tab key से switch कर सकते हैं: Build, जो full access वाला default agent है, और Plan, जो changes करने की क्षमता को disable कर देता है। Plan में एक नया task शुरू करें, उसे code पढ़ने और approach propose करने दें, और Build पर तभी switch करें जब आप plan से सहमत हों। Server पर, पहले pass के लिए read-only mode का उपयोग करना एक सुरक्षित तरीका है।
Blast radius का वास्तविक प्रभाव
Coding agent निष्क्रिय नहीं होता है, इसलिए यह स्पष्ट रूप से समझें कि यह setup क्या कर सकता है और क्या नहीं। इसमें file damage का जोखिम है: opencode user केवल अपने home directory का मालिक है, इसलिए edits और deletions उसी सीमा तक सीमित रहेंगे। इसमें credential exposure का जोखिम है: key mode 600 के साथ केवल एक account के एक file में रहती है। इसमें वह जोखिम शामिल नहीं है जो account वैध रूप से कर सकता है; यदि project directory में production deploy credentials हैं, तो agent उनका उपयोग कर सकता है। इसलिए, उन्हें agent account से पूरी तरह बाहर रखें।
OpenClaw जैसे gateway agent के विपरीत, OpenCode एक interactive terminal program है, daemon नहीं। यह कोई listening port नहीं खोलता और इसमें कोई long-running service नहीं होती है, इसलिए agent के लिए कोई systemd unit लिखने या port को firewall करने की आवश्यकता नहीं है। Containment केवल user account और project directory तक सीमित है, इसीलिए इस guide का पहला section सबसे महत्वपूर्ण है।
इसके बावजूद, standard care की आवश्यकता बनी रहती है, क्योंकि coding VPS अभी भी एक public server है: SSH hardening on a VPS की तरह root login disabled के साथ key-only SSH, default-deny firewall, और routine updates का उपयोग करें। साथ ही, agent द्वारा किए गए काम का review करें। Agent के diffs को push करने से पहले पढ़ें, ठीक वैसे ही जैसे आप किसी नए contributor के pull request को पढ़ते हैं, क्योंकि deployment आप ही करेंगे।
अंत में, tool को update रखें। OpenCode के releases अक्सर आते हैं, और updates में महत्वपूर्ण fixes होते हैं जो आपके server पर commands चलाने वाले program के लिए आवश्यक हैं। Update करने की प्रक्रिया वही है जिससे आपने इसे install किया था: opencode user के रूप में install script को फिर से चलाएँ, या यदि आपने npm के माध्यम से install किया है तो sudo npm update -g opencode-ai चलाएँ, फिर opencode --version के साथ नया version confirm करें। समय-समय पर किया गया थोड़ा सा maintenance, महीनों पुराने build द्वारा fix किए जा चुके bugs को debug करने से बेहतर है।
FAQ
क्या OpenCode paid API के बजाय local model का उपयोग कर सकता है?
हाँ। OpenCode किसी भी OpenAI-compatible server को provider मानता है, इसलिए उसी VPS पर Ollama द्वारा चलाया गया model काम करेगा: opencode.json में local baseURL और Ollama द्वारा दिया गया model name declare करें। मुख्य चुनौती hardware है, क्योंकि coding के लिए सक्षम model को अधिक memory की आवश्यकता होती है, इसलिए model download करने से पहले server की capacity जांच लें।
laptop बंद करने के बाद भी OpenCode को कैसे चालू रखें?
इसे VPS पर tmux के अंदर चलाएं। tmux new -s opencode का उपयोग करके एक named session में agent शुरू करें, Ctrl-b फिर d दबाकर detach करें, और आपकी SSH connection समाप्त होने के बाद भी session server पर चलता रहेगा। tmux attach -t opencode के साथ किसी भी समय reattach करें; conversation और सभी running tasks वहीं रहेंगे। Server reboot होने पर session समाप्त हो जाता है, इसलिए reboot के बाद नया session शुरू करें।
क्या OpenCode को मेरे VPS पर commands चलाने देना सुरक्षित है?
यदि आप इसे सीमित रखते हैं, तो यह सुरक्षित है। OpenCode को बिना sudo वाला एक dedicated unprivileged user दें, अपने projects को git में रखें ताकि हर edit को revert किया जा सके, API key को mode 600 वाली file में store करें, और Build agent को कुछ भी बदलने देने से पहले Plan agent का उपयोग करके read-only pass चलाएं। इसके बाद agent केवल उसी data को नुकसान पहुँचा सकता है जिसका वह owner है, और server का बाकी हिस्सा सुरक्षित रहेगा।
OpenCode और Claude Code में क्या अंतर है?
OpenCode open source (MIT) है और provider agnostic है; यह एक ही interface के माध्यम से local providers सहित 75 से अधिक model providers से जुड़ सकता है। Claude Code Anthropic का अपना terminal agent है, जो Anthropic के models के लिए बना है। यदि आपको कई providers के लिए एक tool चाहिए, या local model के साथ पूरी तरह self-hosted stack चाहिए, तो OpenCode सही विकल्प है; दोनों ही VPS पर tmux के अंदर समान unprivileged-user setup के साथ अच्छी तरह चलते हैं।