OpenCode API Key और Auth: Astra, Grok, Proxy और Web Password
OpenCode के लिए व्यावहारिक गाइड: API keys, custom provider, GPT-6 Astra, सीधे Grok authentication, OpenCode Go, Astra Linux, regional proxy, Web password और आम errors का समाधान।
विषय-सूची

OpenCode authentication से जुड़े कई सवाल एक जैसे दिखाई देते हैं, लेकिन वे अलग-अलग परतों के बारे में होते हैं। किसी LLM provider की API Key, OpenCode Go login, xAI OAuth और opencode web की सुरक्षा के लिए इस्तेमाल होने वाला password एक ही चीज़ नहीं हैं।
यह गाइड इन सभी को अलग-अलग समझाती है। इसमें BetterToken के लिए काम करने वाला custom-provider setup, gpt-6-astra का copy-ready उदाहरण, Linux और Astra Linux के network settings, सीधे Grok authentication, OpenCode Go login और OpenCode Web को सुरक्षित करने का सही तरीका शामिल है।
OpenCode तेज़ी से बदलता है। Production में उपयोग करने से पहले नीचे दिए गए commands को मौजूदा OpenCode documentation से मिलाएँ और BetterToken model catalog में सही Model ID जाँचें।
तुरंत जवाब
| आपका लक्ष्य | सही जगह या command |
|---|---|
| Provider API Key को interactively save करना | OpenCode के अंदर /connect चलाएँ |
| Saved providers देखना | opencode auth list चलाएँ |
| Custom provider, Base URL और models तय करना | opencode.json या opencode.jsonc |
| BetterToken इस्तेमाल करना | Base URL: https://www.bettertoken.ai/v1 |
| GPT-6 Astra इस्तेमाल करना | Model ID: gpt-6-astra, यदि account में उपलब्ध हो |
| OpenCode Go में sign in करना | /connect → OpenCode Go → https://opencode.ai/auth |
| xAI/Grok को सीधे authenticate करना | /connect → xAI → subscription OAuth या API Key |
| OpenCode Web को password से सुरक्षित करना | opencode web से पहले OPENCODE_SERVER_PASSWORD सेट करें |
| Regional या corporate proxy इस्तेमाल करना | HTTP_PROXY, HTTPS_PROXY और NO_PROXY सेट करें |
शुरू करने से पहले
इन चीज़ों को तैयार रखें:
- OpenCode का हाल का version;
- shared production key की जगह अलग test API Key;
- provider catalog में दिखने वाला exact Model ID;
- एक छोटा test repository जहाँ agent महत्वपूर्ण files न बदले;
- ऐसा terminal जो OpenCode installer और API endpoint तक पहुँच सके।
API Key को password की तरह संभालें। असली key को prompt, screenshot, issue, article या Git repository में paste न करें।
OpenCode install करें
macOS और Linux पर official installer चलाएँ:
curl -fsSL https://opencode.ai/install | bash
npm से भी install किया जा सकता है:
npm install -g opencode-ai
Windows पर बेहतर compatibility के लिए OpenCode WSL की सलाह देता है। Documentation में Chocolatey और Scoop भी उपलब्ध हैं:
choco install opencode
scoop install opencode
Installation जाँचें:
opencode --version
Version number दिखना चाहिए। command not found आए तो terminal दोबारा खोलें और देखें कि installation directory PATH में शामिल है या नहीं।
Authentication की चार अलग परतें
1. Model provider API Key
यह key BetterToken, xAI, OpenAI या किसी दूसरे model provider को request भेजने की अनुमति देती है। OpenCode इसे /connect के ज़रिए save कर सकता है या config में refer की गई environment variable से पढ़ सकता है।
2. OpenCode Go या OpenCode Zen authentication
OpenCode Go और Zen, OpenCode team के model services हैं। इनके flow में https://opencode.ai/auth खुलता है, जहाँ sign in, billing setup और API Key copy करने के बाद key को /connect में paste किया जाता है।
यह key आपकी BetterToken key से अलग है।
3. xAI/Grok authentication
OpenCode का मौजूदा xAI flow किसी योग्य xAI subscription को device-code OAuth से या pay-as-you-go xAI API Key से authenticate कर सकता है। यह सीधे xAI से connection है, BetterToken से नहीं।
4. OpenCode Web password
OPENCODE_SERVER_PASSWORD Basic Auth के माध्यम से local OpenCode HTTP server और browser interface को सुरक्षित करता है। यह model requests को authorize नहीं करता और provider API Key की जगह नहीं ले सकता।
OpenCode में API Key कैसे सेट करें
OpenCode JSON और JSONC दोनों support करता है। Official examples अक्सर opencode.json इस्तेमाल करते हैं; comments चाहिए हों तो JSONC उपयोगी है। मुख्य बात यह है कि credential storage और provider definition अलग settings हैं।
तरीका 1: /connect से key save करें
एक सुरक्षित test directory में OpenCode चलाएँ:
mkdir opencode-first-test
cd opencode-first-test
opencode
TUI के अंदर चलाएँ:
/connect
BetterToken के लिए:
- Other चुनें।
- Provider ID में
bettertokenलिखें। - Credential field में BetterToken API Key paste करें।
- Provider config जोड़ने के बाद OpenCode को पूरी तरह restart करें।
/connect से जोड़े गए credentials यहाँ save होते हैं:
~/.local/share/opencode/auth.json
Secret दिखाए बिना provider registration जाँचें:
opencode auth list
/connect में दिया provider ID config के ID से बिल्कुल समान होना चाहिए। यदि आपने bettertoken लिखा है, तो config key भी bettertoken ही होनी चाहिए।
तरीका 2: opencode.json या opencode.jsonc configure करें
हर project में provider उपलब्ध कराना हो तो global file इस्तेमाल करें:
~/.config/opencode/opencode.json
किसी एक repository को अपना model या endpoint चाहिए हो तो उसके root में opencode.json या opencode.jsonc रखें।
यह BetterToken और मौजूदा API Model ID gpt-6-astra का पूरा example है:
{
"$schema": "https://opencode.ai/config.json",
"model": "bettertoken/gpt-6-astra",
"provider": {
"bettertoken": {
"npm": "@ai-sdk/openai-compatible",
"name": "BetterToken",
"options": {
"baseURL": "https://www.bettertoken.ai/v1"
},
"models": {
"gpt-6-astra": {
"name": "GPT-6 Astra"
}
}
}
}
}
इसे चलाने से पहले यह पक्का करें कि gpt-6-astra आपके current BetterToken catalog और access group में मौजूद है। Catalog में दूसरा ID हो तो ऊपर का bettertoken/gpt-6-astra और models के अंदर gpt-6-astra key, दोनों बदलें।
Base URL में /chat/completions manually न जोड़ें। Adapter request path स्वयं बनाता है।
/connect की जगह environment variable
macOS या Linux:
export BETTERTOKEN_API_KEY="YOUR_API_KEY"
PowerShell:
$env:BETTERTOKEN_API_KEY = "YOUR_API_KEY"
फिर provider options में variable refer करें:
{
"$schema": "https://opencode.ai/config.json",
"model": "bettertoken/gpt-6-astra",
"provider": {
"bettertoken": {
"npm": "@ai-sdk/openai-compatible",
"name": "BetterToken",
"options": {
"baseURL": "https://www.bettertoken.ai/v1",
"apiKey": "{env:BETTERTOKEN_API_KEY}"
},
"models": {
"gpt-6-astra": {
"name": "GPT-6 Astra"
}
}
}
}
}
यह literal secret को JSON में लिखने से सुरक्षित है। Environment variable न मिलने पर OpenCode empty string डालता है, जिससे आम तौर पर 401 आता है।
OpenCode आपकी config क्यों ignore कर सकता है
OpenCode कई config sources को merge करता है। एक ही field में conflict हो तो बाद में load हुआ source पहले वाले को override करता है। आम उपयोगकर्ता के लिए महत्वपूर्ण क्रम है:
- Organization की remote defaults;
- global
~/.config/opencode/opencode.json; OPENCODE_CONFIGसे बताई गई custom file;- project की
opencode.jsonयाopencode.jsonc; - inline
OPENCODE_CONFIG_CONTENT; - administrator-managed settings, जो user files को override कर सकती हैं।
गलत model या endpoint चुना जाए तो files को अंदाज़े से delete न करें। सभी active configs खोजकर इन values की तुलना करें:
- top-level
model; provider.bettertoken.options.baseURL;provider.bettertoken.modelsकी model keys;- current shell में
OPENCODE_CONFIGऔरOPENCODE_CONFIG_CONTENT।
Provider settings बदलने के बाद OpenCode restart करें।
OpenCode Astra: model या Astra Linux?
“OpenCode Astra” दो अलग चीज़ों के लिए खोजा जा सकता है।
OpenCode में GPT-6 Astra इस्तेमाल करें
यदि आपका मतलब OpenAI model है, तो exact API ID gpt-6-astra इस्तेमाल करें। ऊपर दिए BetterToken provider के साथ यह model चुनें:
bettertoken/gpt-6-astra
OpenCode में model picker खोलें:
/models
Model न दिखे तो provider ID, models map, BetterToken access group और current catalog जाँचें। Display name देखकर Model ID का अनुमान न लगाएँ।
Astra Linux पर OpenCode चलाएँ
OpenCode documentation Linux installation methods बताती है, लेकिन Astra Linux के लिए अलग compatibility guarantee नहीं देती। Astra Linux को Linux environment की तरह जाँचें और specific machine व distribution version verify करें।
Architecture और आवश्यक tools देखें:
uname -m
command -v curl
command -v bash
Installer और API routes को अलग-अलग test करें। Model API का reachable होना यह साबित नहीं करता कि OpenCode installer, npm registry, GitHub या update server भी reachable हैं।
Standard proxy settings:
export HTTP_PROXY=http://proxy.example.com:8080
export HTTPS_PROXY=http://proxy.example.com:8080
export NO_PROXY=localhost,127.0.0.1,::1
opencode
NO_PROXY ज़रूरी है, क्योंकि TUI local OpenCode HTTP server से बात करता है। Loopback traffic को proxy में भेजने से routing loop, connection failure या frozen interface हो सकता है।
Private certificate authority के लिए:
export NODE_EXTRA_CA_CERTS=/etc/company/ca.pem
opencode
असली proxy credentials को shared shell scripts में hardcode न करें। Protected environment configuration या organization secret manager इस्तेमाल करें।
OpenCode Grok auth: direct xAI या gateway?
xAI से सीधे connection
चलाएँ:
/connect
xAI चुनें। मौजूदा OpenCode documentation में दो रास्ते हैं:
- समर्थित xAI subscription के साथ device-code OAuth;
- xAI Console से मिली API Key को manually enter करना।
Authorization के बाद चलाएँ:
/models
और account में उपलब्ध Grok model चुनें।
BetterToken या किसी अन्य gateway से Grok
Custom gateway तभी काम करेगा जब वह इस समय valid Grok model और सही protocol देता हो। Grok का Model ID न गढ़ें और यह न मानें कि हर OpenAI-compatible gateway में xAI models होते हैं।
पहले live catalog देखें। Grok सूची में न हो तो OpenCode का direct xAI provider इस्तेमाल करें। Community Grok-auth plugins official flow से अलग हैं; install करने से पहले maintenance, permissions और credential handling जाँचें।
OpenCode Go auth क्या है
OpenCode Go हर provider को authenticate करने वाला generic command नहीं, बल्कि OpenCode की subscription service है।
इसे connect करने के चरण:
/connectचलाएँ।- OpenCode Go चुनें।
https://opencode.ai/authखोलें।- Sign in करें, ज़रूरत हो तो billing पूरी करें और generated key copy करें।
- Key को OpenCode में paste करें।
/modelsचलाकर plan में उपलब्ध model चुनें।
यह flow केवल OpenCode Go के लिए इस्तेमाल करें। BetterToken के लिए provider ID और key bettertoken के अंतर्गत ही रखें।
OpenCode Web password: environment variable इस्तेमाल करें
opencode web password खोजने पर कुछ unofficial examples -p flag बताते हैं। Documented तरीका OPENCODE_SERVER_PASSWORD environment variable है।
macOS या Linux:
OPENCODE_SERVER_PASSWORD='replace-with-a-strong-password' opencode web
Custom username भी चाहिए हो तो:
OPENCODE_SERVER_USERNAME='developer' \
OPENCODE_SERVER_PASSWORD='replace-with-a-strong-password' \
opencode web
PowerShell:
$env:OPENCODE_SERVER_USERNAME = "developer"
$env:OPENCODE_SERVER_PASSWORD = "replace-with-a-strong-password"
opencode web
Default username opencode है। केवल 127.0.0.1 पर local उपयोग में password का निर्णय environment के अनुसार लिया जा सकता है, लेकिन network access के लिए authentication आवश्यक है। Auth और network controls के बिना service को 0.0.0.0 पर bind या tunnel से public न करें।
Web password OpenCode server को सुरक्षित करता है। Provider key कहीं और leak हो जाए तो यह provider account को नहीं बचा सकता।
पहली request verify करें
JSON बदलने के बाद OpenCode restart करें:
opencode
Model selector खोलें:
/models
bettertoken/gpt-6-astra चुनें और एक छोटा, आसानी से जाँचा जा सकने वाला prompt भेजें:
केवल यह JSON लौटाएँ और किसी file में बदलाव न करें: {"tool":"opencode","sum":4}
Setup सफल माना जाए जब:
- OpenCode valid JSON लौटाए;
- project files न बदलें;
- selected model
bettertoken/gpt-6-astraहो; - BetterToken dashboard में संबंधित request दिखाई दे;
- model, status, input tokens, output tokens और charge अपेक्षित हों।
उत्तर मिल जाए लेकिन BetterToken में request न दिखे तो कोई higher-priority config traffic को दूसरे provider पर भेज रही हो सकती है।
Troubleshooting
401 या credential error
/connectफिर चलाएँ और provider IDbettertokenरखें।opencode auth listचलाएँ।{env:BETTERTOKEN_API_KEY}इस्तेमाल करते समय केवल variable मौजूद है या नहीं जाँचें; secret print न करें।- Key active है और balance या permissions पर्याप्त हैं, यह पक्का करें।
404 या API path error
BetterToken Base URL यह होना चाहिए:
https://www.bettertoken.ai/v1
/chat/completions manually न जोड़ें।
model not found
Model catalog में exact current ID देखें। Top-level model और models की key सही provider और model से मेल खानी चाहिए।
गलत endpoint या model इस्तेमाल हो रहा है
Global, custom, project, inline और managed configs जाँचें। फिर OpenCode restart करें और /models से model दोबारा चुनें।
Proxy चालू करने पर OpenCode अटकता है
Loopback addresses को exclude करें:
export NO_PROXY=localhost,127.0.0.1,::1
OpenCode Web पर Unauthorized
Browser में configured username और password इस्तेमाल हो रहे हैं या नहीं देखें। Shell में पुराना OPENCODE_SERVER_PASSWORD बचा है या किसी client process ने अलग value inherit की है, यह भी जाँचें।
opencode: command not found
Terminal दोबारा खोलें, PATH जाँचें और package manager की global binary location देखें। यह जाने बिना कि कौन-सा executable चल रहा है, कई package managers से OpenCode install न करें।
FAQ
OpenCode में API Key कैसे सेट करूँ?
Recommended interactive तरीका /connect है। Custom provider के लिए Other चुनें, provider ID लिखें और key paste करें। Provider और models को opencode.json या opencode.jsonc में define करना फिर भी आवश्यक है।
File का नाम opencode.json है या opencode.jsonc?
OpenCode दोनों formats support करता है। Comments चाहिए हों तो JSONC चुनें। जब तक merging rules साफ़ न हों, एक project में कई competing config files न रखें।
OpenCode API keys कहाँ store करता है?
/connect से जोड़े गए credentials ~/.local/share/opencode/auth.json में रहते हैं। इस file को publish, sync या commit न करें।
क्या API Key सीधे config में लिख सकता हूँ?
OpenCode options.apiKey support करता है, लेकिन Git-tracked JSON में literal secret जोखिमपूर्ण है। /connect, {env:VARIABLE_NAME} या {file:path/to/secret} बेहतर हैं।
क्या OpenCode Go auth और provider auth एक ही हैं?
नहीं। OpenCode Go अलग OpenCode service है। BetterToken, xAI और अन्य provider keys स्वतंत्र रहती हैं।
OpenCode Web password कैसे सेट करूँ?
opencode web चलाने से पहले OPENCODE_SERVER_PASSWORD सेट करें। Official तरीका environment variable है, generic -p password flag नहीं।
OpenCode में Grok authenticate कैसे करूँ?
/connect चलाएँ, xAI चुनें और समर्थित subscription OAuth flow या manual xAI API Key entry उपयोग करें। Gateway तभी मान्य है जब उसके catalog में सचमुच Grok model हो।
“OpenCode Astra” का अर्थ GPT-6 Astra है या Astra Linux?
दोनों हो सकते हैं। Model के लिए gpt-6-astra इस्तेमाल करें; Astra Linux के लिए Linux installation और network checks को specific distribution पर verify करें।
Russia से OpenCode चलाने के लिए VPN ज़रूरी है?
एक ही जवाब नहीं है, क्योंकि installation download, GitHub, npm, OpenCode website और model API अलग network paths हैं। हर path अलग test करें और ज़रूरत पर compliant corporate या regional network configuration इस्तेमाल करें।