OpenCode
Siapkan OpenCode dengan GetVibe API melalui ~/.config/opencode/opencode.json: penyedia yang kompatibel dengan OpenAI dengan baseURL getvibeapi.com/v1.
OpenCode adalah paket npm untuk agentic coding di terminal. Provider dikonfigurasi di ~/.config/opencode/opencode.json.
Config siap pakai dengan semua model
OpenCode tidak membaca ukuran context dari /v1/models: model yang Anda tambahkan secara manual menampilkan context 0 dan riwayat tidak dipadatkan tepat waktu. Daripada mengetikkan angkanya sendiri, unduh konfigurasi yang dihasilkan — konfigurasi itu dibangun dari katalog kami: setiap model yang dipublikasikan beserta nama, context, batas output, dan flag image / reasoning / tool-nya. Isinya tidak memuat key, hanya referensi {env:GETVIBE_API_KEY}.
# 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"Jika opencode.json Anda sudah dikustomisasi, jangan timpa — ganti hanya blok penyedianya dan pertahankan sisanya:
# 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 secara manual
{
"$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"
}Atur GETVIBE_API_KEY sebelum menjalankan OpenCode dan jalankan dari jendela yang sama: export GETVIBE_API_KEY="sk-pv-…" (macOS/Linux) atau setx GETVIBE_API_KEY "sk-pv-…" dan jendela PowerShell baru (Windows). Tanpa variabel tersebut, OpenCode mengirim kunci kosong dan menerima 401 “kunci API tidak valid”. Tidak ingin menggunakan variabel? Masukkan kunci itu sendiri sebagai pengganti {env:GETVIBE_API_KEY} di kolom apiKey.
models, cantumkan hanya public model ID yang Anda butuhkan. Daftar lengkapnya ada di katalog. Untuk penggunaan normal, tulis nama polosnya tanpa :suffix: suffix akan mengunci satu channel dan menonaktifkan peralihan otomatis ke channel yang sehat."attachment": true. OpenCode mengambil kemampuan model dari registry models.dev, yang tidak mencantumkan GetVibe, sehingga model yang dideklarasikan dengan {} kosong dianggap tidak menerima lampiran dan OpenCode mengirim permintaan tanpa gambar. Model kemudian dengan jujur mengatakan tidak dapat melihatnya, padahal ia punya kemampuan vision. Tambahkan attachment dan modalities untuk setiap model yang ditampilkan katalog dengan input gambar. Kami juga memeriksa integrasi lain yang dipublikasikan: Cline, Cursor, Roo Code, Kilo Code, Aider, dan Continue tidak memiliki peta kemampuan model terpisah dalam contoh mereka, jadi pengaturan khusus OpenCode ini memang tidak hilang dari konfigurasi tersebut.