OpenCode dengan APIMaster.ai
Tambahkan APIMaster sebagai penyedia yang kompatibel dengan OpenAI di OpenCode Desktop, dengan tingkatan Reasoning opsional melalui opencode.jsonc.
OpenCode Desktop adalah klien grafis untuk OpenCode (saat ini beta): sesi agen lokal, pengeditan file, dan eksekusi shell. APIMaster.ai kompatibel dengan OpenAI — tambahkan di bawah Pengaturan → Penyedia → Penyedia Kustom.
Dapatkan Kunci API terlebih dahulu. Gunakan placeholder
your_apimaster_keydi bawah; tangkapan layar menyembunyikan kunci asli.
Prasyarat
- OpenCode Desktop terinstal dari opencode.ai/download.
- Windows:
opencode-desktop-win-x64.exe - macOS:
brew install --cask opencode-desktopatau.dmg - Linux:
.deb/.rpm/ AppImage
- Windows:
- Kunci API APIMaster dari konsol.
Langkah 1 — Buka Penyedia
- Luncurkan OpenCode Desktop dan buka ruang kerja.
- Klik ikon roda gigi (kiri bawah).
- Pilih Penyedia di bilah sisi.
- Gulir ke Penyedia Kustom (Tambahkan penyedia yang kompatibel dengan OpenAI berdasarkan URL dasar).
- Klik + Hubungkan.

Langkah 2 — Formulir penyedia kustom
| Bidang | Nilai |
|---|---|
| ID Penyedia | apimaster |
| Nama Tampilan | APIMaster.ai |
| URL Dasar | https://apimaster.ai/v1 |
| Kunci API | Kunci APIMaster Anda |

Biarkan Header kosong kecuali Anda melakukan autentikasi hanya melalui header.
Langkah 3 — Tambahkan model & Kirim
Pada layar berikutnya, petakan model (kiri = label di OpenCode, kanan = id model yang dikirim ke APIMaster — biasanya sama):
| Kiri | Kanan |
|---|---|
gpt-5.4 |
gpt-5.4 |
claude-sonnet-4-6 |
claude-sonnet-4-6 |
- Klik + Tambah model untuk baris tambahan.
- Klik Kirim.

Pilih id dari marketplace. Hindari model khusus gambar (mis. gpt-image-2) untuk obrolan agen.
Langkah 4 — Pilih model
- Mulai atau buka sesi.
- Buka dropdown model di bawah input.
- Di bawah APIMaster.ai, pilih model (mis.
claude-sonnet-4-6).

Langkah 5 — Uji coba
Kirim hello atau tugas coding kecil. Balasan Asisten normal (pengeditan file / shell) berarti APIMaster terhubung.

Lanjutan: opencode.jsonc & Reasoning
Alur UI di atas cukup untuk memulai dengan cepat. Untuk mengonfigurasi tingkatan Reasoning / thinking effort (low, high, max, …) untuk id model yang sama, edit opencode.jsonc.
Lokasi file konfigurasi
| OS | Jalur |
|---|---|
| macOS / Linux | ~/.config/opencode/opencode.jsonc |
| Windows | C:\Users\<username>\.config\opencode\opencode.jsonc |
Buat file jika tidak ada. Restart OpenCode Desktop atau mulai sesi baru setelah menyimpan.
Kunci API (jangan dimasukkan ke jsonc)
Jangan menyimpan Kunci API Anda di opencode.jsonc.
Gunakan:
/connectdi terminal, atau- Pengaturan → Penyedia → Hubungkan Penyedia (sama dengan Langkah 1–2 di atas).
Simpan rahasia di penyimpanan autentikasi OpenCode; jsonc hanya mendefinisikan penyedia, model, dan varian Reasoning.
Penyedia APIMaster di jsonc
Provider id: apimaster. npm package: @ai-sdk/openai-compatible.
baseURL harus:
https://apimaster.ai/v1
Bukan https://apimaster.ai/ — OpenCode menambahkan /chat/completions. Tanpa /v1 Anda mendapatkan https://apimaster.ai/chat/completions → 404 Tidak Ditemukan.
Contoh lengkap dengan varian Reasoning — unduh dan timpa konfigurasi OpenCode:
- Unduh opencode.jsonc
- Timpa (atau simpan sebagai):
- macOS / Linux:
~/.config/opencode/opencode.jsonc - Windows:
C:\Users\<username>\.config\opencode\opencode.jsonc
- macOS / Linux:
- Konfigurasikan Kunci API melalui
/connectatau UI (jangan pernah di jsonc). - Restart OpenCode Desktop atau mulai sesi baru.
Cadangkan file yang ada sebelum menimpa, atau gabungkan hanya blok
provider.apimaster.
Minimal shape:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"apimaster": {
"name": "APIMaster.ai",
"npm": "@ai-sdk/openai-compatible",
"options": { "baseURL": "https://apimaster.ai/v1" },
"models": {
"gpt-5.4": {
"name": "gpt-5.4",
"variants": {
"low": { "reasoningEffort": "low" },
"high": { "reasoningEffort": "high" }
}
}
}
}
}
}
Prinsip Reasoning
variants= beberapa tingkatan Reasoning untuk satu id model di UI.- Untuk API yang kompatibel dengan OpenAI, OpenCode memetakan
reasoningEffort→reasoning_effortdi body permintaan. - Nama varian harus cocok dengan parameter sebenarnya (
high→"reasoningEffort": "high"). - Setiap model mendukung tingkatan yang berbeda — konfigurasikan sesuai dokumen resmi; tidak ada pemetaan ulang tersembunyi.
Tingkatan Reasoning per model
| Model | Varian Reasoning | Catatan |
|---|---|---|
gpt-5.4 |
low, medium, high, xhigh |
Penalaran GPT |
gpt-5.5 |
low, medium, high, xhigh |
Penalaran GPT |
deepseek-v4-flash |
high, max |
Pemikiran DeepSeek (disarankan) |
deepseek-v4-pro |
high, max |
Pemikiran DeepSeek (disarankan) |
claude-sonnet-4-6 |
low, medium, high, max |
Upaya Claude Sonnet |
claude-opus-4-7 |
low, medium, high, xhigh, max |
Upaya Claude Opus |
claude-opus-4-8 |
low, medium, high, xhigh, max |
Upaya Claude Opus |
claude-haiku-4-5 |
none | Tidak ada tingkatan upaya yang belum dikonfirmasi |
minimax-m3 |
none | Tidak ada tingkatan upaya yang belum dikonfirmasi |
Lihat opencode.jsonc untuk file lengkap.
Mengganti Reasoning di OpenCode
- Simpan
opencode.jsonc, lalu restart atau sesi baru. - Gunakan dropdown model / Reasoning (mis.
gpt-5.4 / high). - Jika didukung di build Anda:
Ctrl + Shift + Dmengganti tingkatan Reasoning.
Pemecahan Masalah
Pengaturan UI
| Masalah | Perbaikan |
|---|---|
| 401 | Periksa kunci; rotasi jika terekspos |
| Model tidak ditemukan | URL Dasar harus https://apimaster.ai/v1; id model harus cocok dengan marketplace |
| Tidak ada model APIMaster | Edit penyedia di Pengaturan → tambahkan pemetaan → Kirim |
| Lambat / waktu habis | Coba model lain; gunakan Penguji Kunci API |
Reasoning / jsonc
Mengapa hanya high dan max untuk DeepSeek?
Upaya pemikiran resmi yang kompatibel dengan OpenAI untuk DeepSeek adalah high dan max. Hindari low / medium / xhigh yang dipetakan ulang secara tidak terduga.
Mengapa max untuk Claude Sonnet, bukan xhigh?
Tingkatan tertinggi Sonnet adalah max; xhigh untuk Opus (claude-opus-4-7 / claude-opus-4-8).
Mengapa tidak ada varian untuk Haiku atau MiniMax M3?
Tanpa nilai reasoningEffort yang terdokumentasi, lewati varian — model tetap berfungsi; UI hanya tidak akan menampilkan sub-tingkatan Reasoning.
Masih mendapatkan 400?
baseURL=https://apimaster.ai/v1(bukan root situs).- Ejaan id model cocok dengan marketplace.
- Kunci dikonfigurasi melalui
/connectatau UI. - Hapus
variantssementara — jika permintaan biasa berfungsi,reasoning_effortyang dipilih mungkin tidak didukung untuk model tersebut.
Keamanan
- Jangan pernah membagikan kunci di obrolan atau tangkapan layar yang tidak disunting.
- Rotasi kunci yang muncul di tangkapan layar atau log.
- OpenCode dapat membaca/menulis file dan menjalankan perintah shell — gunakan hanya ruang kerja tepercaya.
Daftar Periksa
- OpenCode Desktop terinstal
- Penyedia kustom terhubung atau
apimasterdiopencode.jsonc - URL Dasar /
baseURL=https://apimaster.ai/v1(bukanhttps://apimaster.ai/) - Kunci API melalui
/connectatau UI (bukan di jsonc) - Setidaknya satu model obrolan dipetakan
- (Opsional) Varian Reasoning sesuai dengan tingkatan resmi
- Pesan uji berhasil
Ringkasan
- Kunci:
baseURL(https://apimaster.ai/v1), id model, Kunci API (/connectatau UI), opsional varian Reasoning. - Nama varian = nilai
reasoning_effortsebenarnya. - Konfigurasikan tingkatan per model; lewati varian jika tidak didukung (Haiku, MiniMax M3).