Entegrasyon rehberleri · 2026-08-29

Cline ile LLMTR: editör panelinde sağlayıcı kurulumu

Cline eklentisinde LLMTR sağlayıcısını ayarlar panelinden seçmeyi, Plan ve Act modlarının neden ayrı model alanı tuttuğunu ve SDK tarafındaki builtin kaydının varsayılan modelindeki emeklilik sorununu anlatıyoruz.

Cline ayarlar panelindeki sağlayıcı girdisi, anahtar alanı ve model seçici arasındaki akışı kutularla gösteren LLMTR entegrasyon rehberi şeması.

Entegrasyon editörün üç ayrı katmanına dokunuyor

Entegrasyon knowhycodata/cline deposunun feat/add-llmtr-provider dalında yaşıyor; eklentinin resmi sürümünde bu sağlayıcı kaydı bulunmaz, dolayısıyla kurulumu o daldan yapmanız gerekir. Cline tarafında LLMTR desteği tek bir dosyada durmaz. Sağlayıcı listesine bir kayıt eklenir, ayarlar arayüzüne bir bileşen konur ve isteği kuran bir işleyici sınıfı yazılır. Liste kaydı sağlayıcıyı açılır menüde görünür yapar; arayüz bileşeni anahtar alanı ile model seçiciyi çizer; işleyici sınıfı seçilen modeli gerçek isteğe çevirir.

Bu üçlü ayrım kurulumda işe yarar. Sağlayıcı menüde görünmüyorsa sorun liste kaydındadır; görünüyor ama alanlar boş geliyorsa arayüz bileşenindedir; alanlar dolu ama istek hata veriyorsa işleyicidedir. Hata mesajını hangi katmanın ürettiğini bilmek arama alanını daraltır.

  • Sağlayıcı listesi kaydı: llmtr değeri ve LLMTR etiketi
  • Ayarlar arayüzü bileşeni: anahtar alanı, model seçici ve model bilgi görünümü
  • İstek işleyicisi: gateway adresine bağlanan akışlı sohbet tamamlama çağrısı
  • Cline dokümantasyonunda LLMTR, aynı desende kurulan sağlayıcılar sayfasında listelenir

Ayarlar panelinde anahtar ve model

Panelde sağlayıcı olarak LLMTR seçildiğinde önce anahtar alanı gelir. Bu alanın yardım metni anahtarın yerel olarak saklandığını ve yalnızca eklentinin isteklerinde kullanıldığını söyler; aynı metin Cline'ın karmaşık istem şablonlarıyla çalıştığını, yeteneği daha düşük modellerin beklendiği gibi davranmayabileceğini de hatırlatır.

Anahtar girildikten sonra model seçici, eklentiyle birlikte gelen LLMTR model tanımlarından beslenir. Seçim yapıldığında altındaki bilgi görünümü o modelin tanımlı özelliklerini gösterir. Anahtarı yer tutucu değil gerçek değeriyle girmeniz gerekir; örneklerimizde anahtar llmtr-your_key biçiminde temsil edilir.

Plan ve Act modları ayrı model alanı tutar

Cline'ın en belirgin davranışı burada ortaya çıkar: model seçimi tek bir alana yazılmaz. Panel, o an hangi moddaysanız o modun alanını günceller. Yani planlama sırasında geniş bağlamlı bir modeli, uygulama sırasında daha hızlı bir modeli seçili bırakabilirsiniz; iki seçim birbirinin üzerine yazmaz.

Anahtar alanı ise moda bağlı değildir. Tek bir anahtar iki modu da besler, çünkü ikisi de aynı gateway adresine gider. Aşağıdaki tablo hangi eylemin hangi yapılandırma alanına yazıldığını özetler.

Panel eylemlerinin yazdığı yapılandırma alanları
Panelde yaptığınızYazılan alanEtkisi
Plan modundayken model seçmekplanModeApiModelIdYalnızca planlama turlarında kullanılacak model kaydedilir
Act modundayken model seçmekactModeApiModelIdYalnızca uygulama turlarında kullanılacak model kaydedilir
Anahtarı girmekllmtrApiKeyMod ayrımı yoktur, tek anahtar iki modu da besler
Sağlayıcıyı seçmekSağlayıcı listesindeki llmtr değeriPanelde LLMTR bileşeni çizilir ve isteği LLMTR işleyicisi kurar

İşleyici isteği nasıl kuruyor

İşleyici sınıfı istemciyi ilk kullanımda oluşturur ve gateway adresini sabit tutar. İstek her zaman akışlı gönderilir, kullanım sayaçları akışa dahil edilir ve sıcaklık sıfırlanır. Araç tanımları varsa OpenAI biçiminde eklenir, gelen parçalardaki araç çağrısı deltaları ayrı bir işleyiciden geçirilir.

Akışta üç tür parça ayrıştırılır: metin içeriği, araç çağrısı deltaları ve düşünme içeriği. Düşünme içeriği taşıyan modellerde bu parça metne karışmaz, ayrı bir akış türü olarak yayımlanır. Son parçadaki kullanım bilgisi giriş ve çıkış jetonu olarak raporlanır; ücretlendirme jeton bazlı olduğu için bu sayaç harcamayı izlemenin en doğrudan yoludur.

İstemci oluşturma ve akışlı istek çağrısı, işleyici sınıfından

this.client = createOpenAIClient({
  baseURL: "https://llmtr.com/v1",
  apiKey: this.options.llmtrApiKey,
})

const stream = await client.chat.completions.create({
  model: model.id,
  messages: openAiMessages,
  temperature: 0,
  stream: true,
  stream_options: { include_usage: true },
  ...getOpenAIToolParams(tools),
})

SDK tarafındaki builtin kaydı ve emekli varsayılan

Editör eklentisinin yanında Cline'ın SDK paketleri de LLMTR'yi yerleşik bir sağlayıcı olarak tanır. Kayıt, sağlayıcıyı OpenAI uyumlu ailede tutar, ortam değişkeni olarak LLMTR_API_KEY okur ve model listesini ayrı bir üretici fonksiyondan alır.

Bu kayıtta dikkat edilmesi gereken bir nokta var. Varsayılan model kimliği llmtr/sincap olarak yazılmış; oysa bu rota herkese açık katalogda emekli durumda. Aynı kimlik SDK'nın statik Türkiye barındırmalı model listesinde de bulunuyor. Kurulumu yaparken varsayılana güvenmeyin, panelden canlı bir model seçin: llmtr/gemma-4 ve llmtr/qwen3-6-35b bu listedeki canlı seçeneklerdir. Aynı listedeki llmtr/medgemma-4b ve llmtr/ornith-1-35b ise 21 Ağustos 2026'da geri çekildi ve halefleri tanımlı değil; ikisi de artık istek karşılamıyor.

SDK yerleşik sağlayıcı kaydı, varsayılan model kimliği dahil

{
  id: "llmtr",
  name: "LLMTR",
  description: "Turkey-based AI gateway with Turkey-hosted and global models",
  family: "openai-compatible",
  defaultModelId: "llmtr/sincap",
  apiKeyEnv: ["LLMTR_API_KEY"],
  modelsFactory: buildLlmtrModels,
  defaults: { baseUrl: "https://llmtr.com/v1" },
}

Doğrulama ve hata okuma

Kurulumdan sonra ilk denemeyi küçük bir düzenleme isteğiyle yapın: eklenti araç çağrısı üretiyorsa hem akış hem araç yolu çalışıyor demektir. Hata alırsanız mesajın metni hangi katmanda durduğunuzu söyler.

Aşağıdaki tablo işleyici kodunda üretilen davranışları listeler. Bunlar tahmin değil, dal üzerindeki kodun doğrudan karşılıklarıdır.

İşleyici kodundaki durumlar ve gözlenen sonuç
DurumNerede oluşurSonuç
Anahtar alanı boş bırakılmışİstemci oluşturma adımıİstek hiç gönderilmez, anahtarın zorunlu olduğunu söyleyen hata atılır
İstemci kurulurken hata oluşuyorİstemci oluşturma adımıAsıl hata mesajı, istemci oluşturma hatası olduğunu belirten bir önekle sarılır
Seçili model kimliği eklenti listesinde yokModel çözümleme adımıKimlik yok sayılır ve varsayılan model kimliğine düşülür
Model düşünme içeriği döndürüyorAkış döngüsüİçerik metne karıştırılmaz, ayrı bir düşünme parçası olarak yayımlanır
Akışın son parçası kullanım bilgisi taşıyorAkış döngüsüGiriş ve çıkış jeton sayıları arayüze raporlanır

Sık sorulan sorular

Plan modunda başka, Act modunda başka model kullanabilir miyim?

Evet. Model seçimi moda göre ayrı alanlara yazılır, bu yüzden planlama ve uygulama turları farklı modellerde çalışabilir. Anahtar alanı ortaktır; iki mod da aynı anahtarla aynı gateway adresine gider.

Girdiğim API anahtarı nerede saklanıyor?

Anahtar alanının yardım metni anahtarın yerel olarak saklandığını ve yalnızca bu eklentinin isteklerinde kullanıldığını belirtiyor. Anahtarı paylaşılan bir depoya veya proje yapılandırmasına yazmayın; panel dışında bir kopya tutmanız gerekiyorsa ortam dosyası kullanın.

Model listesinde olmayan bir kimlik yazarsam ne olur?

İşleyicinin model çözümleme adımı, kimliği eklentinin model tanımları içinde arar. Bulamazsa kimliği yok sayıp varsayılan modele düşer. Yani sessizce başka bir modelle çalışıyor olabilirsiniz; seçimi panelden doğrulayın.

SDK kaydındaki varsayılan model neden çalışmıyor?

Kayıttaki varsayılan model kimliği llmtr/sincap; bu rota herkese açık katalogda emekli durumda. Emekli bir rotaya giden istek 410 model_retired hatasıyla reddedilir ve yanıt halefi adıyla söyler, yani varsayılana bırakılan bir kurulum ilk istekte durur. Panelden canlı bir model kimliği seçmek bu durumu ortadan kaldırır.

İlgili yazılar