Entegrasyon rehberleri · 2026-08-29

Claude Code’u LLMTR’ye bağlama: Anthropic Messages ucu rehberi

Claude Code’u LLMTR’ye yönlendirmek için gereken ortam değişkenleri, model seçicinin kimlik filtresi, 200K bağlam penceresi varsayımı ve Anthropic Messages ucunda etkisiz kalan alanlar tek tek anlatılıyor.

Claude Code istemcisinden LLMTR gateway’inin Anthropic Messages ucuna giden istek yolunu ve aradaki ortam değişkeni katmanını gösteren LLMTR rehber şeması.

Claude Code hangi tel biçimini konuşuyor

Claude Code terminalde çalışan bir kodlama ajanıdır ve model isteklerini Anthropic Messages biçiminde üretir. LLMTR bu biçimi ayrı bir uçta karşılar: taban adrese /v1/messages yolu eklenir ve katalogdaki her sohbet modeli bu uçtan çağrılabilir. Araç tarafında değiştirilmiş bir sürüm, ek eklenti veya ara sunucu gerekmez.

Ucun iki ayrıntısı kurulumu doğrudan etkiler. Birincisi kimlik doğrulama: x-api-key başlığı da Authorization Bearer başlığı da aynı anahtarı kabul eder, bu yüzden aracın kendi başlık düzenini değiştirmeye gerek kalmaz. İkincisi max_tokens alanının zorunlu olması. Anthropic biçiminde bu alanın varsayılanı yoktur ve alanı taşımayan istek 400 döner. Claude Code alanı her istekte gönderdiği için gündelik kullanımda bunu fark etmezsiniz, ancak aynı uca kendi betiğinizle istek atarken hatırlamanız gerekir.

Üç ortam değişkeni ile bağlantı

Kurulumun tamamı ortam değişkenlerinden ibarettir. Taban adres uç yolunu içermez: istemci /v1/messages parçasını kendisi ekler, bu yüzden ANTHROPIC_BASE_URL değeri llmtr.com kökü olarak verilir. OpenAI uyumlu istemcilerde alışkanlık haline gelen /v1 sonekini buraya eklerseniz yol iki kez yazılmış olur ve istek gateway’in sunmadığı bir adrese düşer.

Kimlik ANTHROPIC_AUTH_TOKEN ile geçirilir; LLMTR anahtarları llmtr- ön ekiyle başladığı için değeri gözle ayırt etmek kolaydır. Oturumun varsayılan modeli ANTHROPIC_MODEL ile verilir ve değer katalogdaki canonical kimliktir, yani saglayici/model biçiminde yazılır. Kısaltılmış bir ad yerine tam kimliği yazmak, model seçici devrede olmadığında da doğru rotaya düşmenizi sağlar.

Claude Code kurulumunda kullanılan ortam değişkenleri
DeğişkenÖrnek değerNe yapar
ANTHROPIC_BASE_URLhttps://llmtr.comİstekler bu köke /v1/messages eklenerek gönderilir
ANTHROPIC_AUTH_TOKENllmtr-your_keyAnahtar Authorization başlığında taşınır
ANTHROPIC_MODELanthropic/claude-sonnet-5Oturumun varsayılan model kimliği
CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY1Model seçiciye gateway kataloğunu ekler
CLAUDE_CODE_MAX_CONTEXT_TOKENS1000000Bağlam penceresi varsayımını gerçek değerle değiştirir

Bash veya zsh oturumu için temel kurulum

export ANTHROPIC_BASE_URL=https://llmtr.com
export ANTHROPIC_AUTH_TOKEN=llmtr-your_key
export ANTHROPIC_MODEL=anthropic/claude-sonnet-5

Model seçicide hangi kimlikler görünüyor

Katalog /v1/models ucundan anahtarsız okunabilir; listeyi görmek için oturum açmanız gerekmez. Claude Code’un kendi model seçicisinde LLMTR kayıtlarının belirmesi için keşif bayrağını açmanız gerekir.

Seçicinin bir filtresi vardır: yalnızca kimliğinde claude veya anthropic geçen kayıtları listeler. Yani bayrağı açmak kataloğun tamamını seçiciye taşımaz. Filtreye takılmayan bir modeli kullanmak istediğinizde kimliği doğrudan ANTHROPIC_MODEL ile verirsiniz. Seçicide görünmemesi isteğin reddedileceği anlamına gelmez; bu yalnızca bir listeleme kuralıdır.

  • anthropic/claude-sonnet-5 dengeli varsayılan olarak seçicide görünür
  • anthropic/claude-opus-4.8 daha ağır düzenleme oturumları için listede yer alır
  • anthropic/claude-haiku-4.5 kısa ve sık çağrılarda tercih edilir
  • qwen/qwen3.8-max gibi kimlikler filtreye takılmaz ve yalnızca ANTHROPIC_MODEL ile verilir

Keşfi açmak ve katalogda kimlik aramak

export CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY=1

curl -s https://llmtr.com/v1/models \
  | grep -o '"id":"anthropic/[^"]*"'

200K varsayımı ve bağlam penceresi uyarısı

Claude Code kendi listesinde bulamadığı bir model kimliği gördüğünde bağlam penceresini 200K kabul eder ve bunu bir uyarı satırıyla bildirir. İstek yine gönderilir, yanıt yine döner; uyarı bir hata değildir. Asıl etkisi aracın bağlam bütçesini yanlış hesaplamasıdır: geniş pencereli bir modelde gereğinden erken özetleme yapabilir, dar pencereli bir modelde ise sınıra geç uyanabilir.

Doğru davranış, kullandığınız modelin gerçek penceresini CLAUDE_CODE_MAX_CONTEXT_TOKENS ile bildirmektir. Değeri katalogdaki context_length alanından okuyabilirsiniz; o alan girdi ve çıktının toplam penceresini verir. Model değiştirdiğinizde bu değişkeni de birlikte güncelleyin, aksi halde eski pencere yeni modele uygulanır.

PowerShell oturumunda pencere değeriyle birlikte kurulum

$env:ANTHROPIC_BASE_URL = "https://llmtr.com"
$env:ANTHROPIC_AUTH_TOKEN = "llmtr-your_key"
$env:ANTHROPIC_MODEL = "anthropic/claude-sonnet-5"
$env:CLAUDE_CODE_MAX_CONTEXT_TOKENS = "1000000"

Bu uçta karşılığı olmayan alanlar

Entegrasyonun açıkça söylenmesi gereken tarafı burasıdır. Anthropic Messages ucunda üç alan şu an etkisizdir. İstek reddedilmez, alan sessizce yoksayılır; bu yüzden farkı bir hata mesajından değil, yanıtın içeriğinden anlarsınız.

Pratik sonucu şudur: uzun sistem talimatlarını prompt cache ile ucuzlatmayı planlıyorsanız bu uçta o kazancı hesaba katmayın. Araç yüzeyinde düşünme bloklarını gösteren bir görünüm varsa boş kalır. Araç çağrısı akışı ise normal çalışır; tool_use bloğu döner ve sonucu bir sonraki turda tool_result olarak geri gönderirsiniz.

  • thinking alanı gönderilebilir ama yanıtta thinking bloğu dönmez
  • cache_control işaretleri uygulanmaz ve fiyatlandırmaya etki etmez
  • context_management alanı dikkate alınmaz
  • Yanıt gövdesi yalnızca text ve tool_use bloklarından oluşur

Doğrulama ve hata zarfının okunması

Kurulumu ajanı başlatmadan önce tek bir istekle sınayın. Yanıt 200 dönüyorsa taban adres, anahtar ve model kimliği üçü birden doğrudur. Sınama isteğinde max_tokens değerini küçük tutmak yeterlidir; amacınız içerik almak değil, rotayı doğrulamaktır.

Hatalar Anthropic zarfıyla gelir: gövdedeki type alanı error olur ve error.type değeri HTTP durumundan türetilir. Bu eşleme, terminalde gördüğünüz tek satırlık hatayı kurulumun hangi parçasına bakmanız gerektiğine çevirir. Aşağıdaki tablo o çeviriyi doğrudan veriyor.

HTTP durumu ile Anthropic hata türü eşlemesi
HTTPerror.typeKurulumda bakılacak yer
400invalid_request_errorEksik max_tokens veya geçersiz gövde alanı
401authentication_errorANTHROPIC_AUTH_TOKEN değeri ve anahtarın geçerliliği
403permission_errorAnahtarın bu modele erişim izni
404not_found_errorTaban adrese fazladan yol eklenmesi veya kimliğin yanlış yazımı
413request_too_largeGönderilen bağlamın boyutu
429rate_limit_errorİstek sıklığı
5xxapi_errorYukarı akış sağlayıcı tarafındaki geçici durum

Bağlantıyı tek istekle sınama

curl https://llmtr.com/v1/messages \
  -H "Authorization: Bearer $ANTHROPIC_AUTH_TOKEN" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"anthropic/claude-sonnet-5","max_tokens":16,"messages":[{"role":"user","content":"test"}]}'

Sık sorulan sorular

Claude Code’un LLMTR için ayrı bir sürümünü kurmam gerekir mi?

Hayır. Entegrasyon tamamen ortam değişkeniyle yapılır. ANTHROPIC_BASE_URL, ANTHROPIC_AUTH_TOKEN ve ANTHROPIC_MODEL ayarlandığında araç isteklerini LLMTR’nin Anthropic Messages ucuna gönderir. Depo değiştirmeye, yama uygulamaya veya eklenti kurmaya gerek yoktur.

Model seçicide neden kataloğun tamamı görünmüyor?

Seçici yalnızca kimliğinde claude veya anthropic geçen kayıtları listeler. Keşif bayrağını açmak bu filtreyi kaldırmaz. Listede görünmeyen bir modeli ANTHROPIC_MODEL değişkenine tam canonical kimliğiyle yazarak kullanabilirsiniz.

Bağlam penceresi uyarısını görmezden gelebilir miyim?

İstek çalışmaya devam eder, ama araç pencereyi 200K varsaydığı için bağlam bütçesini yanlış hesaplar. Modelin gerçek penceresini CLAUDE_CODE_MAX_CONTEXT_TOKENS ile bildirmek hem uyarıyı hem de yanlış hesabı ortadan kaldırır.

Prompt cache işaretleri bu uçta maliyeti düşürür mü?

Hayır. cache_control alanı bu uçta yoksayılır ve fiyatlandırmaya etkisi olmaz. İstek hata vermediği için farkı yalnızca beklediğiniz kazancın gerçekleşmemesinden anlarsınız. Ücretlendirme token bazlıdır ve kullandığınız modelin kendi tarifesine göre işler.

İlgili yazılar