Dokümantasyon
opencode
opencode, sağlayıcılarını Vercel AI SDK üzerine kurar; dolayısıyla yeni bir uç noktaya yönlendirmek için npm paketini ve baseURL değerini belirten tek bir blok yeterlidir. Belirteceğiniz paket, kullanılacak iki aktarım biçiminden hangisi olduğunu belirler.
opencode.json içinde tek bir sağlayıcı bloğu — sohbet tamamlamaları için @ai-sdk/openai-compatible, /v1/responses yüzeyini istediğinizde @ai-sdk/openai.
{
"$schema": "https://opencode.ai/config.json",
"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",
"limit": { "context": 200000, "output": 64000 }
},
"claude-haiku-4-5": { "name": "Claude Haiku 4.5" }
}
}
}
}npm alanı aktarım biçimini seçer. @ai-sdk/openai-compatible, /v1/chat/completions kullanır; @ai-sdk/openai ise /v1/responses kullanır. Kunavo her ikisini de sunar, dolayısıyla ikisi de çalışır — GPT ailesinde akıl yürütme öğelerinin aktarım boyunca korunmasını istiyorsanız Responses paketini, diğer her şey için chat-completions paketini kullanın."apiKey": "{env:KUNAVO_API_KEY}", anahtarı yükleme sırasında ortamdan okur. opencode.json, depolara eklenebilecek bir dosyadır; dosyaya düz metin olarak yazılan anahtar gizli kalmaz.limit.context ve limit.output değerlerini ayarlayın. opencode, kalan bağlamı bu sayılara göre takip eder; bu nedenle bu değerler belirtilmeyen bir model, kendi değerleri olmayan varsayılan bir bütçeye göre hesaplanır.sk-kn- ile başlar) ve $10'dan kredi ekleyin — çağrılar bu bakiyeden ödenir ve başarısız çağrılar ücretlendirilmez. Ardından kontrol paneli opencode kurulumunda açılır.Adım adım
/app/keysadresinde bir anahtar oluşturup kopyalayın — anahtar yalnızca bir kez gösterilir.- Dışa aktarın:
export KUNAVO_API_KEY=sk-kn-... - Sağlayıcı bloğunu
opencode.jsondosyasına ekleyin — her proje için geçerli olacak genel dosyaya,~/.config/opencode/opencode.jsonyoluna ya da yalnızca bu depo için proje kökündeki dosyaya. opencodebaşlatın ve model listesinden bir model seçin; sağlayıcı, verdiğiniznameadı altında görünür.- Daha sonra model eklemek için
modelsaltına başka bir anahtar ekleyin — aktarımda model kimliği kullanılır,nameise yalnızca etikettir.
opencode sağlayıcı belgeleri ile 6 Eylül 2026 tarihinde kontrol edilmiştir. Üçüncü taraf ayarları değişebilir; buradaki alan adı gördüğünüzle artık eşleşmiyorsa yetkili kaynak bu sayfa değil, ilgili sayfadır.
İstemcide hata ayıklamadan önce doğrulayın
Tek bir istek, hatanın uç noktadan mı, anahtardan mı yoksa yapılandırma dosyasından mı kaynaklandığını kesinleştirir. Bu JSON döndürürse aynı temel URL ve anahtar opencode içinde çalışır.
# 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-..."Alana hangi model kimliği yazılmalı
Her metin modeline model kimliğiyle erişilebilir — güncel liste GET /v1/models, fiyatları içeren katalog ise modeller sayfasında. Ücretler 1 milyon token başına USD cinsindendir; giriş / çıkış.
| Model kimliği | Kunavo giriş / çıkış | opencode içinde kullanım alanı |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | varsayılan kodlama modeli |
claude-opus-5 | $3.50 / $17.50 | sonraki her şeyi planın belirlediği planlama modu |
claude-haiku-4-5 | $0.70 / $3.50 | istek sayısının yüksek olduğu alt ajan ve arama çalışmaları |
gpt-5-6-sol | $2.00 / $12.00 | akıl yürütme öğelerinin gidiş dönüş boyunca korunması için @ai-sdk/openai ile kullanın |
Sık sorulan sorular
opencode'a özel bir sağlayıcıyı nasıl eklerim?
opencode.json dosyasında "provider" altına npm paketini, görünen adı, options.baseURL değerini, options.apiKey değerini ve bir models eşlemesini belirten bir blok ekleyin. /v1/chat/completions sunan bir uç nokta için @ai-sdk/openai-compatible, /v1/responses sunan bir uç nokta içinse @ai-sdk/openai kullanın. Sağlayıcı, verdiğiniz adla opencode'un model listesinde görünür.
API anahtarını opencode.json dosyasından nasıl uzak tutarım?
options.apiKey alanında {env:VAR_NAME} değişken yerleştirme söz dizimini kullanın — örneğin "apiKey": "{env:KUNAVO_API_KEY}" — ve değişkeni kabuğunuzda dışa aktarın. opencode, yapılandırmayı yüklerken bu değeri çözümler; böylece dosyayı yapılandırdığı projeyle birlikte güvenle depoya ekleyebilirsiniz.
opencode'da @ai-sdk/openai ile @ai-sdk/openai-compatible arasındaki fark nedir?
Bunlar aynı temel URL'de farklı uç noktaları seçer. @ai-sdk/openai-compatible, hemen her ağ geçidinin uyguladığı /chat/completions uç noktasını; @ai-sdk/openai ise OpenAI'ın daha yeni arayüzü olan /responses uç noktasını çağırır. Uç noktanızın gerçekten sunduğu paketi seçin — yanlış paketi kullanırsanız, diğer yönlerden doğru olan bir temel URL'den 404 alırsınız.
opencode neden beklenenden önce bağlam sınırına ulaşıyor?
Çünkü model girdisinde limit bloğu yoktur ve opencode, modelin gerçek penceresi yerine varsayılan bir değere göre bütçe hesaplar. Sağlayıcının kataloğundaki rakamları kullanarak opencode.json dosyasındaki ilgili modele "limit": { "context": <window>, "output": <max output> } ekleyin; böylece bağlam göstergesi ve sıkıştırma noktaları gerçek değerlerle eşleşir.