Dokümantasyon
mini-SWE-agent
mini'de temel URL için bir ortam değişkeni veya tıklanacak bir ayar yoktur. Uç nokta, mini'nin doğrudan litellm'e ilettiği dört satırlık YAML yapılandırmasıyla tanımlanır. Buna bir fiyat kayıt defteri de eklenmelidir; çünkü mini'nin çalışma başına bütçesi, ücret tanımlanmamış token'ları sayamaz.
mini-SWE-agent'de temel URL ortam değişkeni yoktur — uç nokta YAML yapılandırmasında model.model_kwargs.api_base altına girer; mini bunu doğrudan litellm.completion'a iletir.
# mini has no base-URL environment variable and no settings UI. The endpoint
# goes in an agent config file, under model.model_kwargs — which mini's docs
# describe as "directly passed to litellm.completion".
model:
model_name: "openai/claude-sonnet-5"
model_kwargs:
custom_llm_provider: "openai"
api_base: "https://api.kunavo.com/v1" # keep the /v1
litellm_model_registry: "kunavo-registry.json" # see "Cost tracking" below
# The key does not live in this file. With custom_llm_provider: "openai",
# litellm reads OPENAI_API_KEY, and mini documents two ways to set it:
#
# export OPENAI_API_KEY=sk-kn-... # environment, wins over .env
# mini-extra config set OPENAI_API_KEY sk-kn-... # mini's own .env
#
# Then run it: mini -c kunavo.yaml
# Or make it the default: mini-extra config set MSWEA_MINI_CONFIG_PATH kunavo.yaml/v1 ifadesini koruyun ve mini'nin bunu cümleyle belirtmediğini bilin; bu noktayı açıklığa kavuşturan bilgiler şunlardır. mini bu değeri hiç okumaz: belgelerinde model_kwargs değerinin “doğrudan litellm.completion işlevine aktarıldığı” belirtilir ve çağrı litellm.completion(model=model_name, messages=messages, **model_kwargs) olarak gösterilir. Dolayısıyla kural litellm'e aittir. mini'nin bastığı tek somut api_base örneğinde de son ek bulunur: vLLM örneğindeki http://localhost:8000/v1. litellm'in OpenAI uyumlu kendi sayfası da bir istek Not Found döndürdüğünde “api_base değerinin /v1 son ekiyle bittiğinden emin olun” der. Kilo Code ve Aider aynı biçimi kullanırken Anthropic tarzı istemciler ve goose yalnızca temel adresi kullanır.openai/ öneki ve custom_llm_provider aynı işi görür; mini'nin kendi örneğinde yalnızca ikincisi kullanılır. İkisinden biri de ikisi birlikte de kullanılabilir, ancak hangisini seçerseniz seçin fiyat kayıt defterindeki litellm_provider ile eşleşmesi gerekir. Önek, satıcıyı değil, iletişim protokolünü belirtir: openai/ öneki altında bir Claude kimliği kullanmak amaçlanan birleşimdir; çünkü kimlik litellm içinde değil, uç noktada çözülür.openai/ yolunun, mini'nin v2 varsayılanı olan modele yerleşik araç çağrısı için Kunavo'nun /v1/chat/completions uç noktasıyla uyum sağlayıp sağlayamadığı ve bu yüzeyin mini'nin Claude adlı kimliklere kendiliğinden eklediği cache_control işaretleyicilerini işleyip işlemediği. Aşağıdaki curl, on saniyede doğrulayabileceğiniz kısımdır; geri kalanını kısa bir ilk çalıştırmayla kendiniz sınamanız gerekir.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 mini-SWE-agent kurulumunda açılır.Adım adım
/app/keysadresinde bir anahtar oluşturup kopyalayın — anahtar yalnızca bir kez gösterilir.- Yolların oluşması için bir kez kurup çalıştırın:
pip install mini-swe-agent, ardındanmini. İlk çalıştırma,.envdosyasının ve aracı yapılandırmasının nerede olduğunu gösterir vemini-extra config setupkomutunu sunar. - Anahtarı litellm'in arayacağı yere koyun:
export OPENAI_API_KEY=sk-kn-...komutunu kullanın veyamini-extra config set OPENAI_API_KEY sk-kn-...ile kalıcı olarak kaydedin. mini, “Ortam değişkenleri,.envdosyasında ayarlanan değişkenlere göre önceliklidir” diye belirtir. Yeni değiştirdiğiniz anahtarın değişmemiş gibi görünmesinin yaygın nedeni budur. - Yukarıdaki YAML'ı diğer aracı yapılandırmalarınızın yanına
kunavo.yamlolarak kaydedin ve aşağıdaki bölümden fiyat kayıt defterini ekleyin. Bu kayıt olmadan çalışma kötü bir yanıt vermek yerine maliyet hesaplama hatasıyla durur. mini -c kunavo.yamlile başlatın veya tek bir çalıştırmada kimliği değiştirmek içinmini -c kunavo.yaml -m openai/claude-haiku-4-5'i kullanın. mini, her komutu onayladığınızconfirmkipinde açılır; yeni bir uç noktaya ilk kez bağlanırken bu iyi bir varsayılandır.- Selamlama yerine gerçekten komut çalıştıran bir görev verin. mini'nin v2 varsayılanı modele yerleşik araç çağrısıdır ve dağıtımla gelen istemi “Her yanıtın komutları çalıştırmak için en az bir kez 'bash' aracını kullanması gerekir” diye belirtir. Bu nedenle eşleşmenin çalıştığını anlamak için gerçek bir araç gidiş dönüşü gerekir. Araç çağrıları boş veya hatalı biçimlendirilmiş dönerse mini'de eski metin ayrıştırma yolu da bulunur:
mini -c mini_textbased.yamlveya kendi dosyanızdamodel_class: litellm_textbased.
mini-SWE-agent'in yerel modeller kılavuzu ile 21 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 mini-SWE-agent 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ış | mini-SWE-agent içinde kullanım alanı |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | çalışan bir oturum için varsayılan kimlik — mini her adımda bağlamı yeniden gönderir, dolayısıyla fatura bu modelden kaynaklanır |
claude-opus-5 | $3.50 / $17.50 | yanlış planın pahalıya mal olacağı bir çalıştırma; bunu daha yüksek değil, daha düşük bir cost_limit ile birlikte kullanın |
claude-haiku-4-5 | $0.70 / $3.50 | çok sayıda görev üzerinde toplu çalışmalar ve yolo kipinde bıraktığınız her döngü |
gpt-5-6-sol | $2.00 / $12.00 | aynı api_base arkasında ikinci bir aile — model_name'i değiştirip bir kayıt girdisi ekleyin |
Burada isteğe bağlı olmayan maliyet takibi
mini'nin dağıtımla gelen mini.yaml dosyası cost_limit: 3. içerir; bu, dolar cinsinden çalışma başına bir üst sınırdır. Bu sınır, litellm'in maliyet hesaplayıcısı tarafından uygulanır; hesaplayıcı bir çalışmanın fiyatını, model kimliğini kayıt defterinde arayarak belirler. Kunavo'nun kimlikleri bu kayıt defterinde bulunmadığından, çoğu kişinin ilk karşılaştığı şey kötü bir yanıt değil, bir hatadır: mini'nin kendi sorun giderme sayfasında bu hata Exception: This model isn't mapped yet. model=…, custom_llm_provider=… olarak gösterilir.
Bu durumdan çıkmanın iki yolu vardır ve bunlar birbirine eşdeğer değildir. Genel anahtar MSWEA_COST_TRACKING="ignore_errors" (veya dosyadaki cost_tracking: "ignore_errors"), sorunu düzeltmek yerine korumayı kaldırır; mini bunu “DİKKAT: Bu, denetlenmeyen harcamalara yol açabilir!” diye tanımlar. Diğer yol, litellm'e ücretleri bildirmektir; kurulum bloğundaki litellm_model_registry bunun içindir. Aşağıdaki ücretler bu sitenin güncel katalog ücretleridir ve litellm'in token başına biçimine dönüştürülmüştür:
{
"claude-sonnet-5": {
"input_cost_per_token": 0.0000014,
"output_cost_per_token": 0.000007,
"litellm_provider": "openai",
"mode": "chat"
},
"claude-opus-5": {
"input_cost_per_token": 0.0000035,
"output_cost_per_token": 0.0000175,
"litellm_provider": "openai",
"mode": "chat"
},
"claude-haiku-4-5": {
"input_cost_per_token": 0.0000007,
"output_cost_per_token": 0.0000035,
"litellm_provider": "openai",
"mode": "chat"
}
}- Model adları tam eşleşmeyle ve büyük/küçük harfe duyarlı olarak karşılaştırılır; ayrıca mini'nin örnek yapılandırmasında kayıt girdisinin anahtarı, sağlayıcı öneki olmadan yazılan addır. Dolayısıyla burada
claude-sonnet-5kullanılır; yapılandırmadaopenai/claude-sonnet-5yazsa da. litellm_provider, önekle vecustom_llm_providerile eşleşmelidir. mini'nin uyarısı açıktır: “custom_llm_providerayarını kullanıyorsanız veya model adında bir sağlayıcı öneki varsa (ör.openai/…), bunun da yapılandırmadakilitellm_providerile eşleşmesi gerekir!”- Yol, yapılandırma anahtarı yerine
LITELLM_MODEL_REGISTRY_PATHortam değişkeninden de alınabilir. Bu, toplu iş çalıştırıcıları için kullanışlıdır; örneğinLITELLM_MODEL_REGISTRY_PATH=kunavo-registry.json mini-extra swebench … - Bu ücretler bütçeleme girdisidir, fatura değildir. Gerçekte tahsil edilen tutar Kunavo bakiyenizde kaydedilendir; katalog değişirse ücretleri yeniden kopyalayın veya
GET /v1/modelsyanıtından alın.
Sık sorulan sorular
mini-SWE-agent'i özel bir API uç noktasına nasıl yönlendirebilirim?
Bir ortam değişkeniyle değil, yapılandırma dosyasıyla; mini'de temel URL için hiç ortam değişkeni yoktur. Bir aracı yapılandırma dosyasında model.model_name'i kullanacağınız model kimliğine ayarlayın (isteğe bağlı olarak openai/ önekiyle), ardından model.model_kwargs altında custom_llm_provider: "openai" ayarını belirtin ve api_base'i uç noktanın temel URL'sine ayarlayın. mini'nin belgeleri bunun neden işe yaradığını açıklar: model_kwargs “doğrudan litellm.completion'a aktarılır”. Dosyayı `mini -c kunavo.yaml` ile seçin veya MSWEA_MINI_CONFIG_PATH ile varsayılan yapın. Kunavo için temel URL https://api.kunavo.com/v1'dir.
mini-SWE-agent API anahtarını nereden alır?
Seçtiğiniz sağlayıcıya karşılık gelen litellm anahtar değişkeninden alır. custom_llm_provider: "openai" için bu OPENAI_API_KEY'dir; değişkeni kabukta dışa aktarabilir veya `mini-extra config set OPENAI_API_KEY <key>` ile kalıcı hâle getirebilirsiniz. Bu komut mini'nin .env dosyasına yazar. mini, ortam değişkenlerinin dosyadakilere göre öncelikli olduğunu belirtir. Anahtar, aracı yapılandırmasında bir alan değildir. Eski bir öğreticiyi izliyorsanız v2 geçiş kılavuzunda MSWEA_MODEL_API_KEY için “Artık API anahtarlarını geçersiz kılmak için kullanılmıyor” dendiğini unutmayın.
mini-SWE-agent api_base'in sonuna /v1 eklenmesi gerekir mi?
Evet, OpenAI uyumlu bir uç nokta için; örneğin https://api.kunavo.com/v1. Ancak mini bunu bir kural olarak değil, örnekle belirtir. mini, model_kwargs'i doğrudan litellm.completion'a aktarır; dolayısıyla bu kural litellm'e aittir. mini'nin belgelerinde api_base için verilen tek somut değer, vLLM örneğindeki http://localhost:8000/v1'dir. Bunu açıklığa kavuşturan cümle litellm'in OpenAI uyumlu sayfasındadır: istek Not Found döndürürse api_base'te /v1 son ekinin bulunduğundan emin olun. Bu nedenle eksik /v1, kimlik doğrulama hatası yerine 404 olarak görünür.
mini-SWE-agent neden “This model isn't mapped yet” hatası veriyor?
Çünkü litellm model kimliğine fiyat atayamıyordur; dağıtımla gelen mini.yaml dosyasındaki 3. dolar tutarındaki çalışma başına cost_limit, litellm'in maliyet hesaplayıcısı üzerinden uygulanır. mini'nin önerdiği çözüm, litellm'in model fiyatı biçiminde bir JSON dosyası olan model kayıt defteridir. Dosya, sağlayıcı öneki olmayan model adıyla anahtarlanmalı ve litellm_provider değeri, custom_llm_provider için belirlediğiniz değerle veya ad önekiyle eşleşmelidir. Yapılandırmadaki litellm_model_registry ya da ortamdaki LITELLM_MODEL_REGISTRY_PATH değerini bu dosyanın konumuna ayarlayın. MSWEA_COST_TRACKING="ignore_errors" ayarı da hatayı susturur, ancak harcama korumasını düzeltmek yerine kaldırır.
mini-SWE-agent, OpenAI uyumlu bir uç nokta üzerinden Claude modellerini kullanabilir mi?
Evet. openai/ öneki ve custom_llm_provider bir satıcıyı değil, kablodaki protokolü belirtir: litellm, yapılandırdığınız api_base'e OpenAI biçimli bir sohbet tamamlaması gönderir ve model kimliğini aynen iletir. Böylece Claude kimliği litellm'in sağlayıcı tablosunda değil, uç noktada çözülür. mini'ye özgü bir yan etkiyi bilmekte fayda var: çözümlenen model adı "anthropic", "claude", "sonnet" veya "opus" içerdiğinde mini önbellek denetimi ayarlarını kendiliğinden ekler; openai/claude-… önekli kimlikte de durum böyledir.
Kunavo, mini-SWE-agent'i kendi uç noktasında test etti mi?
Hayır. 21 Eylül 2026'da kontrol edilen, mini'nin kendi belgeleridir; anahtarlar, sıraları ve api_base biçimi bu belgelerden alınmıştır. Kunavo, kendi uç noktasında bir mini oturumu çalıştırmamıştır ve bu istemcide akış, araç gidiş dönüşleri veya maliyet raporlaması hakkında herhangi bir iddiada bulunmaz. Özellikle açıklığa kavuşmamış iki konu vardır: litellm'in openai/ yolunun, v2.0'dan beri mini'nin varsayılanı olan modele yerleşik araç çağrısı için bir sohbet tamamlamaları uç noktasıyla uyum sağlayıp sağlayamadığı ve bu uç noktanın mini'nin Claude adlı kimliklere eklediği cache_control işaretleyicilerini işleyip işlemediği. Bu sayfadaki curl komutu uç noktayı ve anahtarı doğrular; confirm modunda yapılacak kısa bir ilk çalıştırma ise geri kalanını doğrular.