Dokumentasi
Mistral Vibe CLI
Vibe CLI terhubung ke endpoint pihak ketiga melalui blok TOML yang diedit secara manual, dan dokumentasi Mistral sendiri menggunakan gateway sebagai contoh. Tambahkan lima baris di bawah [[providers]], lalu agen siap menjalankan Claude atau GPT dengan kunci Anda.
Blok [[providers]] lima baris di .vibe/config.toml — api_base, api_key_env_var, api_style — mengarahkan Vibe CLI ke Kunavo, dengan key disimpan dalam variabel lingkungan, bukan file.
# ./.vibe/config.toml (project) or ~/.vibe/config.toml (user).
# "Project-level configuration takes precedence over user-level
# configuration", and the project file loads only in a trusted folder.
active_model = "sonnet-kunavo"
[[providers]]
name = "kunavo"
api_base = "https://api.kunavo.com/v1"
api_key_env_var = "KUNAVO_API_KEY"
api_style = "openai"
backend = "generic"
[[models]]
name = "claude-sonnet-5"
provider = "kunavo"
alias = "sonnet-kunavo"
# Optional, and documented on the api-keys-profiles page:
# temperature sampling temperature
# input_price indicative per-input cost, fed to --max-price
# output_price indicative per-output cost, fed to --max-price
# Take the two prices from the table further down this page if you want
# --max-price to mean anything.
# The key never goes in config.toml. api_key_env_var names the variable:
# export KUNAVO_API_KEY="sk-kn-..."api_base tetap menyertakan /v1. Referensi Mistral hanya menjelaskan kolom tersebut sebagai “URL dasar untuk API penyedia” dan tidak menetapkan aturan tentang akhiran. Yang memastikan hal ini adalah nilai dalam contoh kerja pada kedua halaman dokumentasinya sendiri, api_base = "https://openrouter.ai/api/v1", beserta alasannya di kode sumber v2.25.5: adaptor openai menambahkan /chat/completions ke api_base dan tidak menambahkan apa pun lagi, dan penyedia Mistral bawaan CLI menetapkan URL dasar /v1 karena alasan yang sama. Hapus akhirannya, lalu permintaan Anda akan menuju /chat/completions di jalur root, yang menghasilkan 404, bukan kesalahan autentikasi.curl di bawah dapat Anda pastikan dalam sepuluh detik; semua yang dilakukan klien setelah itu dapat Anda uji dengan Vibe.temperature, sementara beberapa ID Claude — termasuk claude-sonnet-5 dan claude-opus-5 — di hulu menjawab 400 untuk seluruh trio parameter sampling. Kunavo menghapus parameter-parameter tersebut sebelum meneruskannya tepat untuk ID yang menolaknya, sehingga kolom yang selalu disertakan klien tidak menyebabkan penolakan. Karena itu, kunci temperature pada preset [[models]] tidak bermasalah di sini, dan juga tidak berpengaruh pada ID tersebut.sk-kn-) dan tambahkan kredit mulai dari $10 — panggilan dibayar dari saldo tersebut, dan panggilan yang gagal tidak ditagihkan. Dasbor kemudian terbuka pada penyiapan Mistral Vibe CLI.Langkah demi langkah
- Buat key di
/app/keysdan salin — key hanya ditampilkan sekali. - Buka
~/.vibe/config.toml(atau buat./.vibe/config.tomldi repositori tempat Anda ingin konfigurasi ini berlaku), lalu tempel blok di atas. Tidak ada alur penyedia baru yang perlu diklik: Mistral menyatakan bahwa berkas ini diedit secara manual, sementara/configdan/modelhanya beralih di antara preset yang sudah ada. - Ekspor variabel yang Anda beri nama di
api_key_env_var—export KUNAVO_API_KEY="sk-kn-...". Halaman kredensial Mistral menyebut~/.vibe/.envsebagai berkas yang dimuat CLI saat mulai untuk mengambil kredensial, dan contoh pihak ketiga mereka sendiri menggunakanexportshell untuk kunci non-Mistral. - Tambahkan satu preset
[[models]]untuk setiap ID yang diinginkan, masing-masing denganaliastersendiri, lalu arahkanactive_modelke salah satu alias tersebut. Alias ini hanya berlaku secara lokal — alias inilah yang ditampilkan oleh/model, sementaranameadalah ID yang benar-benar dikirim ke endpoint. - Jalankan
vibedi folder tepercaya dan berikan tugas yang menyentuh berkas, bukan sekadar sapaan. Giliran pertama yang membaca dan mengedit berkas akan menguji pemanggilan alat, yang biasanya menjadi tempat terlihatnya kesalahan konfigurasi penyedia.
Diperiksa terhadap halaman konfigurasi Mistral Vibe Code CLI pada 21 September 2026. Pengaturan pihak ketiga dapat berubah; jika nama bidang di sini tidak lagi sama dengan yang Anda lihat, halaman tersebut adalah acuan, bukan halaman ini.
Verifikasi sebelum men-debug klien
Satu permintaan menentukan apakah masalahnya ada pada endpoint, kunci, atau berkas konfigurasi. Jika ini mengembalikan JSON, base URL dan kunci yang sama berfungsi di Mistral Vibe CLI.
# Settles whether a failure is the endpoint, the key, or the client.
curl -sS https://api.kunavo.com/v1/models \
-H "Authorization: Bearer sk-kn-..."ID model yang harus dimasukkan ke bidang
Setiap model teks dapat diakses melalui ID model — daftar terkininya ada di GET /v1/models, dan katalog beserta harga ada di halaman model. Tarif dalam USD per 1 juta token, input / output.
| ID model | Kunavo masuk / keluar | Kegunaannya di Mistral Vibe CLI |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | alias kerja — yang paling sering dituju oleh active_model |
claude-opus-5 | $3.50 / $17.50 | preset kedua untuk mode plan, saat rencana yang salah menjadi bagian yang mahal |
claude-haiku-4-5 | $0.70 / $3.50 | giliran murah dan triase berkas cepat, sebagai alias tersendiri yang dapat dipilih |
gpt-5-6-sol | $2.00 / $12.00 | keluarga lain di balik blok penyedia yang sama, dengan kunci yang sama |
Tidak semua lalu lintas Anda menuju penyedia ini
Inilah hal yang tidak dapat Anda ketahui dari blok konfigurasi, dan ini khusus untuk Vibe, bukan Kunavo. Pada v2.25.5, CLI mengarahkan penyelesaian “utilitas” latar belakang — panggilan kecil untuk memberi nama pada percakapan dan worktree — ke model mistral-vibe-cli-fast milik Mistral setiap kali penyedia Mistral dapat digunakan. Setelan bawaan yang disertakan selalu mengonfigurasi salah satunya, bahkan saat model aktif dalam sesi adalah milik Anda. Kode sumber menjelaskan preferensi dan pilihan alternatif ini secara eksplisit: jika tidak ada penyedia Mistral yang dapat digunakan, panggilan utilitas akan menggunakan model aktif sesi.
Jadi, jika Anda ingin setiap permintaan dalam sesi diarahkan ke penyedia yang Anda konfigurasi, salah satu kondisi berikut harus terpenuhi:
MISTRAL_API_KEYtidak ditetapkan, sehingga kredensial model cepat tidak dapat diresolusikan dan panggilan utilitas beralih ke model alternatif; atau- alias model cepat dikecualikan melalui
allowed_models, sehingga hasilnya sama melalui daftar yang diizinkan, bukan melalui kuncinya.
Pengklasifikasi Smart Approve bertindak lebih jauh — entri changelog 2.25.1 menyatakan bahwa pengklasifikasi tersebut berjalan pada model cepat Mistral terlepas dari model aktif sesi — jadi sesi yang hanya menggunakan Kunavo secara realistis akan memakai accept-edits atau plan, bukan Smart Approve. Hal ini tidak merusak konfigurasi di atas; artinya, blok penyedia Anda mengatur giliran model, bukan setiap paket yang dikirim oleh biner.
Nilai api_style lainnya
Dokumentasi mencantumkan satu nilai untuk api_style dan menjelaskannya sebagai contoh: "openai". Kode sumber v2.25.5 memuat empat nilai lainnya — "anthropic", "openai-responses", "reasoning" dan "vertex-anthropic" — dalam kamus sederhana tanpa validasi. Karena itu, kesalahan pengetikan baru terlihat saat permintaan dikirim, bukan ketika berkas dimuat. Anggap nilai-nilai ini telah diverifikasi dari kode sumber, tetapi tidak didokumentasikan. Perhatikan satu jebakan jika Anda mencoba nilai Anthropic: endpoint adaptornya adalah /v1/messages, jadi api_base harus berupa origin dasar, https://api.kunavo.com, tanpa /v1 — kebalikan dari blok di atas. Kunavo memang menjawab /v1/messages untuk ID yang diawali claude-. Halaman ini menggunakan gaya openai karena itulah yang didokumentasikan Mistral.
Pertanyaan umum
Bagaimana cara menambahkan penyedia kustom ke Mistral Vibe CLI?
Secara manual, di config.toml — tidak ada antarmuka untuk menambahkan penyedia. Halaman konfigurasi Mistral mendokumentasikan ./.vibe/config.toml di direktori kerja dan ~/.vibe/config.toml di direktori utama Anda, dengan berkas proyek diutamakan. Contoh lengkapnya menggunakan tabel [[providers]] yang memuat name, api_base, api_key_env_var, api_style, dan backend, serta tabel [[models]] yang memuat name, provider, dan alias, lalu active_model yang merujuk ke alias tersebut. Kunci itu sendiri tidak pernah disimpan di dalam berkas: api_key_env_var menyebutkan nama variabel lingkungan yang menyimpannya.
Apakah api_base Vibe CLI perlu diakhiri dengan /v1?
Untuk api_style “openai”, ya. Referensi konfigurasi Mistral hanya menjelaskan api_base sebagai URL dasar untuk API penyedia dan tidak menyatakan aturan apa pun tentang sufiksnya. Namun, contoh lengkap di kedua halamannya menggunakan nilai yang berakhir dengan /v1, dan kode sumber v2.25.5 menunjukkan alasannya: adaptor bergaya OpenAI menambahkan /chat/completions ke api_base tanpa tambahan lain, dan penyedia Mistral bawaan CLI sendiri secara default menggunakan URL dasar /v1. Jadi, untuk Kunavo nilainya adalah https://api.kunavo.com/v1. Menghilangkan sufiks tersebut menghasilkan 404, bukan kegagalan autentikasi. Gaya “anthropic” yang tidak didokumentasikan merupakan kasus sebaliknya — endpoint-nya adalah /v1/messages, sehingga api_base untuk gaya tersebut tidak boleh menyertakan /v1.
Bisakah Mistral Vibe CLI menjalankan model Claude?
Ya, melalui preset penyedia, bukan melalui opsi pengalih. api_style menentukan protokol komunikasi, bukan vendor, dan kolom name pada preset model dikirim ke endpoint persis seperti yang ditulis. Jadi, ID Claude diresolusikan pada endpoint yang Anda konfigurasikan, bukan di dalam CLI. Dokumentasi Mistral sendiri menunjukkan pola ini dengan gateway pihak ketiga, sehingga cara ini merupakan jalur yang terdokumentasi, bukan solusi sementara.
Mengapa Vibe CLI masih memanggil Mistral setelah saya mengonfigurasi penyedia sendiri?
Karena permintaan utilitas di latar belakang dirutekan secara terpisah. Pada v2.25.5, CLI mengutamakan model mistral-vibe-cli-fast milik Mistral untuk panggilan kecil di latar belakang — memberi nama percakapan dan worktree — setiap kali penyedia Mistral dapat digunakan. Konfigurasi default yang disertakan selalu mengonfigurasi satu penyedia tersebut, meskipun model aktif sesi Anda adalah model lain. CLI beralih ke model aktif ketika tidak ada penyedia Mistral yang dapat digunakan, yang dalam praktiknya berarti MISTRAL_API_KEY belum diatur atau alias tersebut dikecualikan melalui allowed_models. Pengklasifikasi Smart Approve bahkan lebih ketat: catatan perubahannya menyatakan bahwa pengklasifikasi ini berjalan pada model cepat Mistral terlepas dari model aktif sesi.
Apakah Kunavo telah menguji Mistral Vibe CLI?
Belum. Yang diperiksa pada 21 September 2026 adalah dokumentasi Mistral sendiri — nama kolom, urutannya, dan persoalan /v1 diambil dari dokumentasi tersebut, dengan penjelasan tentang URL dasar dikonfirmasi melalui kode sumber paket mistral-vibe v2.25.5. Kunavo belum menjalankan sesi Vibe dengan endpoint-nya dan tidak membuat klaim tentang streaming, siklus panggilan dan respons alat, atau perilaku klien selama tugas yang panjang. Endpoint dan kunci dapat diverifikasi secara terpisah dengan curl di halaman ini; selebihnya bergantung pada Anda dan klien.
Dari mana Vibe CLI membaca kunci API?
Dari variabel lingkungan yang namanya disebutkan dalam api_key_env_var — untuk blok penyedia Kunavo, nama apa pun yang Anda tetapkan, misalnya KUNAVO_API_KEY. Halaman kredensial Mistral mendokumentasikan tiga sumber untuk kuncinya sendiri beserta prioritasnya: alur penyiapan interaktif, yang menulis ke ~/.vibe/.env; variabel lingkungan yang diekspor, yang diutamakan dibandingkan berkas tersebut; dan pengeditan langsung ~/.vibe/.env, yang dimuat CLI saat dijalankan. Contoh pihak ketiganya menggunakan perintah export di shell. Halaman yang sama mencatat bahwa .env hanya untuk kredensial dan konfigurasi umum harus ditempatkan di config.toml.