Untuk kesalahan provider atau model tidak ditemukan di OpenCode, pertama-tama cocokkan model yang dipilih dengan ID provider dan model yang benar-benar dimuat OpenCode. Referensinya biasanya berbentuk providerId/modelId. Kunci API yang benar tidak dapat memperbaiki ID yang salah eja, model khusus yang tidak dideklarasikan, atau file konfigurasi yang tidak pernah dibaca oleh proses yang berjalan.
Ikuti kesalahannya, bukan hanya frasa “masalah provider”
| Yang Anda lihat | Cabang pertama yang perlu diperiksa |
|---|---|
ProviderModelNotFoundError | Identitas provider/model, katalog yang dimuat, dan adaptor model |
| v2: model tidak tersedia | Provider tidak aktif, model tidak ada atau dinonaktifkan, discovery atau alias berubah |
ProviderInitError | Paket provider dan konfigurasi inisialisasi |
| HTTP 401 atau 403 dari endpoint | Kredensial, host, dan izin akun |
| HTTP 429 atau pesan penagihan | Batas laju dan pengeluaran provider yang merespons |
Panduan pemecahan masalah resmi mengarahkan kesalahan model tidak ditemukan ke referensi model. Di sumber provider, pencarian memeriksa entri provider dan map modelnya. Kesalahan yang sama juga dapat membungkus kesalahan model yang hilang dari adaptor. Catat pesan persisnya sebelum mengubah kredensial atau membeli kredit tambahan.
1. Identifikasi versi dan model yang dipilih
Jalankan pemeriksaan ini dari proyek tempat kegagalan terjadi. Jika aplikasi desktop menggunakan server yang berbeda, bandingkan versi dan konfigurasinya dengan instalasi terminal ini:
opencode --version
opencode models
opencode auth listTemukan referensi model lengkap dalam daftar, lalu bandingkan karakter demi karakter dengan pilihan Anda. Awalan provider merupakan bagian dari identitas. Model yang ditawarkan melalui gateway khusus tidak menjadi provider Anthropic bawaan hanya karena namanya mengandung Claude.
Jangan menganggap kredensial yang tersimpan sebagai bukti autentikasi jarak jauh yang berhasil. Kredensial tersebut hanya menunjukkan bahwa kredensial ada secara lokal; endpoint tetap harus menerimanya ketika permintaan dibuat.
2. Perbaiki pasangan provider/model
Contoh ini menggunakan format provider v1 dan menunjukkan tiga identifier yang harus cocok. Tetapkan variabel lingkungan yang dirujuk dalam proses yang menjalankan OpenCode, atau gunakan alur kredensial yang terdokumentasi. Gabungkan field yang relevan ke konfigurasi, bukan menimpa pengaturan yang tidak berkaitan:
{
"$schema": "https://opencode.ai/config.json",
"model": "kunavo/claude-sonnet-5",
"provider": {
"kunavo": {
"npm": "@ai-sdk/openai-compatible",
"name": "Kunavo",
"options": {
"baseURL": "https://api.kunavo.com/v1",
"apiKey": "{env:KUNAVO_API_KEY}"
},
"models": {
"claude-sonnet-5": {
"name": "Claude Sonnet 5"
}
}
}
}
}Di sini, kunavo adalah kunci provider dan claude-sonnet-5 adalah kunci model. Jadi pilihannya adalah kunavo/claude-sonnet-5. Memilih anthropic/claude-sonnet-5 memilih provider yang berbeda; memilih Kunavo/Claude Sonnet 5 mengganti kunci pencarian dengan nama tampilan. Tidak ada yang merujuk ke entri yang ditunjukkan di atas.
Saat menggunakan /connect dan Other untuk provider khusus, masukkan ID provider yang sama. Kredensial itu sendiri tidak mendefinisikan katalog model. Periksa juga adaptor: adaptor kompatibel v1 yang ditunjukkan di sini menggunakan Chat Completions; endpoint Responses memerlukan adaptor yang sesuai.
3. Pisahkan konfigurasi v1 dan v2
Dokumentasi provider v2 menggunakan providers, package dan settings, bukan provider, npm dan options dari v1. Gunakan pengaturan khusus versinya, bukan menyalin blok sebelumnya ke konfigurasi v2 tanpa perubahan.
Di v2, kunci map model juga dapat berbeda dari modelID upstream. Jika map berisi coder dan mengirim model upstream upstream/coder-v2, pilih company/coder untuk provider company. Mengubah pilihan ke nama upstream akan melewati alias yang telah dikonfigurasi.
4. Periksa konfigurasi mana yang berlaku
OpenCode menggabungkan sumber konfigurasi. File proyek dapat menimpa model global; jalur khusus, konfigurasi inline, dan pengaturan terkelola juga dapat berpengaruh. Periksa file proyek yang gagal, konfigurasi global, dan semua override yang dikonfigurasi. Periksa allowlist provider atau entri provider yang dinonaktifkan.
Lakukan satu perubahan yang terarah, mulai ulang proses yang terdampak, lalu tampilkan daftar model lagi. Jika model kini tersedia tetapi permintaan pertamanya mengembalikan kesalahan HTTP, ikuti kesalahan baru tersebut. Simpan file dan data sesi asli selama diagnosis; menghapus seluruh direktori data dapat menghilangkan kredensial dan riwayat tanpa memperbaiki referensi model yang salah.
Akhiri dengan permintaan singkat
Setelah pemilihan selesai, coba satu prompt singkat sebelum tugas repositori. Pastikan provider yang dimaksud menerimanya dan mencatat model yang diharapkan. Jika masih gagal, kumpulkan versi, konfigurasi yang telah disanitasi, error persisnya, dan cuplikan log yang relevan. Tinjau log untuk memastikan tidak ada kunci dan konten proyek sebelum membagikannya.
Untuk Kunavo, lanjutkan dengan panduan integrasi OpenCode dan periksa catatan penggunaan Anda. Tarif Claude Sonnet 5 saat ini adalah $1,40 untuk input dan $7,00 untuk output per sejuta token. Perbandingan harga menjadi berguna setelah klien memilih rute yang dimaksud.
Pertanyaan umum
Apa arti ProviderModelNotFoundError di OpenCode?
OpenCode tidak dapat menyelesaikan pasangan provider/model yang dipilih, atau adaptor modelnya tidak dapat menyelesaikan model tersebut. Periksa ID provider yang dimuat, kunci model, dan konfigurasi aktif sebelum menganggapnya sebagai masalah saldo atau kunci API. Respons HTTP provider seperti 401 merupakan cabang diagnosis yang berbeda.
Mengapa menambahkan kunci API saya tidak menambahkan model khusus?
Kredensial tersimpan dan definisi provider/model memiliki tujuan yang berbeda. Dalam alur custom-provider v1, ID provider yang dimasukkan melalui /connect harus cocok dengan kunci konfigurasi, dan model harus dideklarasikan dalam map models provider tersebut.
Haruskah saya menggunakan provider atau providers di opencode.json?
Ikuti dokumentasi versi yang terpasang. Dokumentasi v1 menggunakan provider dengan npm dan options. Dokumentasi v2 menggunakan providers dengan package dan settings. Mencampur kedua format bukan migrasi yang andal; ikuti skema dan panduan provider yang sesuai.
Mengapa model berfungsi di satu proyek tetapi tidak di proyek lain?
Pengaturan proyek dapat menimpa pengaturan global, sementara konfigurasi lingkungan, inline, atau terkelola juga dapat memengaruhi hasil. Periksa model dan pengaturan provider yang dipilih dari direktori kerja proyek yang gagal. Jika klien desktop terhubung ke server yang berbeda, periksa juga konfigurasi server tersebut.
Dokumentasi resmi dan sumber provider diperiksa pada 17 September 2026. Contoh ini menjelaskan identitas konfigurasi; ini bukan tolok ukur tugas end-to-end.