OpenCode
~/.config/opencode/opencode.json के माध्यम से GetVibe API के साथ OpenCode स्थापित करें: baseURL getvibeapi.com/v1 वाला एक OpenAI-संगत प्रदाता।
OpenCode टर्मिनल में agentic coding के लिए एक npm package है। Providers ~/.config/opencode/opencode.json में configure किए जाते हैं।
हर model के साथ ready-made config
OpenCode /v1/models से context sizes नहीं पढ़ता: हाथ से जोड़ा गया model 0 का context दिखाता है और history समय पर compact नहीं होती। संख्याएँ टाइप करने के बजाय जनरेट किया गया config डाउनलोड करें — यह हमारे catalog से बनता है: हर प्रकाशित model उसके नाम, context, output limit और image / reasoning / tool flags के साथ। इसमें कोई key नहीं होती, केवल {env:GETVIBE_API_KEY} reference।
# macOS / Linux — a fresh config with every model and its context
mkdir -p ~/.config/opencode
curl -fsSL https://getvibeapi.com/api/integrations/opencode.json -o ~/.config/opencode/opencode.json# Windows PowerShell
New-Item -ItemType Directory -Force "$HOME\.config\opencode" | Out-Null
Invoke-WebRequest https://getvibeapi.com/api/integrations/opencode.json -OutFile "$HOME\.config\opencode\opencode.json"यदि आपका opencode.json पहले से customised है, तो उसे overwrite न करें — केवल provider block बदलें और बाकी रखें:
# Already have an opencode.json — replace only the provider block (needs jq)
cd ~/.config/opencode && cp opencode.json opencode.json.bak
curl -fsSL https://getvibeapi.com/api/integrations/opencode.json -o provider.json
jq --slurpfile pv provider.json '.provider = ((.provider // {}) + $pv[0].provider)' opencode.json.bak > opencode.json# Only the models you need (comma-separated IDs); ?variants=1 adds pinned channels too
curl -fsSL "https://getvibeapi.com/api/integrations/opencode.json?models=claude-opus-5.5,openai/gpt-6.1-sol"opencode.json को हाथ से
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"getvibe": {
"npm": "@ai-sdk/openai-compatible",
"name": "GetVibe",
"options": {
"baseURL": "https://getvibeapi.com/v1",
"apiKey": "{env:GETVIBE_API_KEY}"
},
"models": {
"gpt-6.1-sol": {
"name": "GPT-6.1 Sol",
"attachment": true,
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"claude-opus-5.5": {
"name": "Claude Opus 5.5",
"attachment": true,
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"deepseek-v4.1-flash": {
"name": "DeepSeek V4.1 Flash",
"attachment": true,
"modalities": {
"input": [
"text",
"image"
],
"output": [
"text"
]
}
},
"kimi-k3.1-pro": {
"name": "Kimi K3.1 Pro",
"attachment": false,
"modalities": {
"input": [
"text"
],
"output": [
"text"
]
}
}
}
}
},
"model": "getvibe/gpt-6.1-sol"
}OpenCode शुरू करने से पहले GETVIBE_API_KEY सेट करें और उसे उसी विंडो से शुरू करें: export GETVIBE_API_KEY="sk-pv-…" (macOS/Linux) या setx GETVIBE_API_KEY "sk-pv-…" और एक नई PowerShell विंडो (Windows)। चर के बिना OpenCode खाली कुंजी भेजता है और उसे 401 “अमान्य एपीआई कुंजी” मिलता है। चर का उपयोग नहीं करना चाहते? apiKey फ़ील्ड में {env:GETVIBE_API_KEY} की जगह स्वयं कुंजी डालें।
models में केवल वे public model IDs list करें जिनकी आपको आवश्यकता है। पूरी list catalog में है। सामान्य उपयोग के लिए, बिना :suffix के सीधा नाम लिखें: suffix एक channel pin कर देता है और healthy channel पर automatic switching बंद कर देता है।"attachment": true चाहिए। OpenCode model capabilities models.dev registry से लेता है, जिसमें GetVibe सूचीबद्ध नहीं है, इसलिए खाली {} के रूप में घोषित model को कोई attachment स्वीकार न करने वाला माना जाता है और OpenCode request image के बिना भेजता है। तब model सच ही कहता है कि उसे image दिखाई नहीं दे रही, भले ही उसमें vision हो। हर उस model के लिए attachment और modalities जोड़ें जिसे catalog image input के साथ दिखाता है। हमने अन्य प्रकाशित integrations भी जाँचे: Cline, Cursor, Roo Code, Kilo Code, Aider, और Continue के examples में अलग model-capability map नहीं है, इसलिए यह OpenCode-only setting उन configs में छूटी हुई नहीं है।