Agent iş akışları · 2026-08-29
HarnessRouter LLMTR sağlayıcısı: tek anahtarla üç harness
HarnessRouter’ın llmtr satırı Claude Code, Codex ve Hermes’i tek base URL ve tek anahtarla besler. Bağlantı biçimleri, model kesişim tablosu ve eleme kuralları bu rehberde.
llmtr satırı harnessrouter’da neyi çözer
harnessrouter üç ayrı kodlama harness’ını tek konsoldan besleyen bir yönlendiricidir: Claude Code, Codex ve Hermes. Bu üçü aynı modeli çağırırken bile aynı teli konuşmaz. Biri Anthropic mesaj zarfı bekler, biri OpenAI Responses gövdesi üretir, biri klasik chat gövdesi gönderir. Yönlendiricinin işi, bir sağlayıcıyı bağladığınızda hangi harness’ın o sağlayıcıyla gerçekten çalışabileceğini bilmek ve yalnızca çalışanları önünüze koymaktır.
knowhycodata/harnessrouter deposundaki feat/llmtr-provider dalı README’deki sağlayıcı tablosuna tek bir satır ekler ve o satır üç harness’ın üçünde de işaretlidir. Pratikte bunun anlamı şu: konsolda tek bir LLMTR bağlantısı tanımlarsınız, üç harness da onu kullanabilir. Her harness için ayrı hesap, ayrı anahtar, ayrı base URL tutmazsınız.
Bu yazı kurulum adımlarını değil, o satırın arkasındaki iki kararı anlatıyor: bağlantının hangi tel biçimlerine kablolandığı ve model listesinin neden bilinçli olarak kısaltıldığı.
Bağlantı kaydı: ek alan istemeyen bir sağlayıcı
Yönlendiricinin entegrasyon tablosundaki LLMTR girdisi dört şey taşır: görünen ad, base URL, saklanacak sırrın türü ve anahtar biçimi ipucu. Alanlar listesi boştur. Bölge, proje kimliği, hesap kimliği ya da dağıtım adı gibi ek bir alan sorulmaz; çünkü uçta bunların karşılığı yok. Bu, bulut sağlayıcılarının satırlarından en görünür farkıdır.
Anahtar ipucu llmtr ön ekini gösterir. Konsol bu ipucunu yalnızca yapıştırdığınız değerin biçimini kontrol etmek için kullanır; doğrulama isteği anahtarı olduğu gibi Authorization başlığında taşır.
harnessrouter entegrasyon tablosundaki LLMTR girdisinin taşıdığı alanlar
label: LLMTR
base_url: https://llmtr.com/v1
fields: [] # bolge, proje, hesap kimligi sorulmaz
secret: api_key
secret_label: API Key
key_hint: "llmtr-..."
Üç harness, üç tel biçimi, tek base URL
Yönlendiricinin içinde her sağlayıcı ve harness çifti bir bağlantı biçimine eşlenir. LLMTR için Claude Code ve Codex çiftleri tokenrouter biçimine, Hermes çifti openai-api biçimine bağlanır. Aynı base URL iki farklı gövde şekline birden yanıt verdiği için satır, aynı davranışı gösteren bir başka çok yüzeyli sağlayıcıyla aynı şekilde kablolanmıştır.
Buradaki asıl not, kaynak dosyanın kendi yorumudur: LLMTR’nin Anthropic yüzeyi yayımlanan katalogda ayrıca ilan edilmiyor, katalogdaki her model OpenAI uçlarını listeliyor. Yine de yüzey gerçek. Dal sahibi 19 Ağustos 2026’da canlı denemiş: anthropic/claude-sonnet-4.6 ile gönderilen bir POST /v1/messages isteği 200 ve düzgün bir Anthropic mesaj zarfı döndürmüş, /v1 altında var olmayan bir yol ise not_found tipinde yapısal bir hata vermiş. Yani yüzeyin varlığı katalogdan değil, çağrıdan okunmuş.
Aşağıdaki tablo, üç harness’ın aynı bağlantıyı kullanırken isteği hangi uca gönderdiğini ve o gün hangi modelle gerçek bir ajan turu tamamlandığını gösterir.
| Harness | Bağlantı biçimi | İsteğin gittiği uç | Turu tamamlayan model |
|---|---|---|---|
| Claude Code | tokenrouter | /v1/messages | anthropic/claude-sonnet-4.6 ve anthropic/claude-opus-4.8 |
| Codex | tokenrouter | /v1/responses | openai/gpt-5.3-codex ve openai/gpt-5.5 |
| Hermes | openai-api | /v1/chat/completions | anthropic/claude-haiku-4.5 |
Kesişim mantığı: bağlantı seçiciye yeni isim eklemez
Yönlendiricinin LLMTR tablosu, uçta yayımlanan her modeli değil, yönlendiricinin kendi model kataloğuyla kesişen kısmı içerir. Bu bilinçli bir daraltmadır ve tek cümleyle şöyle özetlenebilir: sağlayıcıyı bağlamak hiçbir seçiciye yeni bir isim eklemez, yalnızca zaten orada olan modelleri Türkiye üzerinden erişilebilir kılar. Kullanıcı açısından değişen şey, listedeki isimler değil, o isimlerin arkasındaki yol.
Ölçüm de kayıtlı. 19 Ağustos 2026’da anahtarsız okunabilen genel katalog okunmuş: yayımlanan 245 kimlikten 131’i yönlendiricinin ajan döngüsü ölçütünü geçiyor. Bunların yalnızca LLMTR’de bulunan 107 tanesi, aralarında Türkiye’de barındırılan modeller de olmak üzere, ayrı bir öneri olarak bırakılmış; yönlendiricinin yetenek testi bu kataloğu da tarayabildiğinde ele alınacak.
Eleme dört kuralla yapılmış. Kuralların yazılı olması, sonraki kişinin bir sayıya güvenmek yerine ölçümü tekrar edebilmesi için.
| Eleme kuralı | Neyi tabloya almaz | Örnek |
|---|---|---|
| Ajan döngüsü ölçütü | Metin üretmeyen ya da araç parametresi bildirmeyen kimlikler | Gömme, görüntü, video ve konuşma modelleri |
| Tarihli anlık görüntü | Listede zaten bulunan bir modelin tarih ekli ikinci adı | Sabitlenmiş tarihli bir qwen-plus kopyası, qwen-plus zaten listedeyken |
| Taşıma uyuşması | Harness’ın o kimlik için gerçekte kullandığından farklı uca yayımlanmış kimlikler | Hermes gpt-5 ailesini /v1/responses üzerinden sürerken kimliğin yalnızca sohbet ucuna yayımlanmış olması |
| Canlı yanıt | Ölçüm gününde iki kez çağrıldığı halde yanıtlamayan kimlikler | Katalog kaydı reklamdır, ürün olan yanıttır; ölçüm o güne aittir |
Kısa ad ile kanonik kimlik arasındaki eşleme
Harness’lar model adını kısa biçimde tutar, LLMTR ise sağlayıcı ön ekli kanonik kimlik bekler. Yönlendirici bu ikisi arasında bir eşleme tablosu taşır. Kural basit: kanonik kimlik, kısa adın önüne sağlayıcı ön eki getirilerek elde edilir.
İki satır bu kuralın dışında kalır ve dosyada gerekçesiyle yazılıdır. Kısa ad için yönlendiricide zaten başka bir kanonik kimlik tanımlıysa, yeni bir isim üretmek yerine var olan kimlik korunur. Aynı modelin seçicide iki farklı adla iki satır olarak görünmesi, biraz tuhaf okunan bir isimden daha kötü kabul edilmiş.
Harness tarafındaki kısa ad ile LLMTR kanonik kimliği arasındaki eşlemeden bir kesit
claude-sonnet-5 -> anthropic/claude-sonnet-5
claude-opus-4.8 -> anthropic/claude-opus-4.8
claude-haiku-4.5 -> anthropic/claude-haiku-4.5
gpt-5.3-codex -> openai/gpt-5.3-codex
gpt-5.5 -> openai/gpt-5.5
gemini-3.6-flash -> google/gemini-3.6-flash
deepseek-v4-pro -> deepseek/deepseek-v4-pro
kimi-k3 -> moonshot/kimi-k3
qwen3.8-max -> qwen/qwen3.8-max
minimax-m3 -> minimax/minimax-m3
# kuralin disinda kalan iki satir
hunyuan-3 -> tencent/hy3
nemotron-3-ultra -> nvidia/nemotron-3-ultra-550b-a55b
Kendi kesişiminizi çıkarmak
Tablodaki liste ölçüm gününe ait bir fotoğraftır. Katalog değiştiğinde tabloyu güncellemek yerine kesişimi kendiniz çıkarabilirsiniz: genel katalog anahtarsız okunur, bu yüzden kontrol için anahtar harcamanız gerekmez.
Aşağıdaki kısa döküm, uçtaki kimlikleri alır ve harness tarafındaki listenizle karşılaştırmanız için dosyaya yazar. Kimliğin listede olması yeterli değildir; kuralda geçen taşıma uyuşmasını da kontrol edin, çünkü bir kimliği yanlış uçtan çağırmak seçicide görünen ama gönderimde düşen bir satır üretir.
Genel kataloğu anahtarsız okuyup harness listenizle karşılaştırma
# Genel katalog anahtar istemez
curl -s https://llmtr.com/v1/models \
| jq -r '.data[].id' | sort > llmtr-ids.txt
# Harness tarafindaki kisa adlari kanonige cevirip karsilastirin
sort harness-canonical-ids.txt > harness-ids.txt
comm -12 llmtr-ids.txt harness-ids.txt # kesisim: bugun surulebilir olanlar
comm -13 llmtr-ids.txt harness-ids.txt # harness'ta var, ucta yok
Codex 0.148.0 ile gpt-5.6 ailesi: sağlayıcı kaynaklı olmayan bir sınır
Canlı turlar bir şey daha ortaya çıkardı ve kaynak dosya bunu, sonraki kişinin yeniden keşfetmesin diye ayrıca not etmiş. Codex tarafından sürüldüğünde gpt-5.6-sol, gpt-5.6-terra ve gpt-5.6-luna bir turu bitiriyor ama hiç araç teklif edilmiyor; model kabuğu olmadığını söyleyip duruyor.
Nedeni sağlayıcı değil, istemci. Ne gönderdiğini kaydeden yerel bir uca yöneltildiğinde codex 0.148.0, bu üç kimlik için isteği hiç araç ve hiç talimat alanı olmadan üretiyor; aynı ikili aynı uca gpt-5.5 için on bir araç ve uzun bir talimat bloğu gönderiyor. Yani sağlayıcıya düşürebileceği bir şey hiç ulaşmıyor. Aile önce bir WebSocket oturumu deniyor ve isteği pencere kimliği başlığıyla taşıyor; düz HTTPS’e düştüğünde ikisini de göndermiyor.
Aynı üç kimlik Hermes tarafından aynı uç ve aynı base URL üzerinden sürüldüğünde araçlar yerinde kalıyor. Bu yüzden sınır tek bir sağlayıcıya özgü değil, OpenAI dışındaki her sağlayıcı için geçerli. Yönlendiricide tek bir satıra özel geçici çözüm yazılmamış, durum olduğu gibi kayda geçirilmiş.
- Codex ile araç kullanan bir tur istiyorsanız gpt-5.3-codex veya gpt-5.5 kimlikleri o gün turu tamamladı
- gpt-5.6 ailesini araçlı sürmek istiyorsanız Hermes tarafını kullanın
- Sorunun istemciden geldiğini doğrulamak için isteği kaydeden yerel bir uca yöneltip gövdede araç alanı olup olmadığına bakın
- Bu gözlem codex 0.148.0 sürümüne aittir; başka sürümlerde doğrulanmadı
Sık sorulan sorular
LLMTR bağlantısını açmak harness model seçicime yeni isimler ekler mi?
Hayır. Yönlendiricinin LLMTR tablosu bilinçli olarak kendi model kataloğuyla kesişimdir. Bağlantı, seçicide zaten bulunan modellerin Türkiye üzerinden erişilebilmesini sağlar; yeni satır açmaz. Yalnızca LLMTR’de bulunan kimlikler ayrı bir öneri olarak bekliyor.
Claude Code, Codex ve Hermes için ayrı anahtar tanımlamam gerekir mi?
Gerekmez. Üç harness aynı bağlantı kaydını kullanır: aynı base URL ve aynı anahtar. Değişen tek şey isteğin gönderildiği uçtur; Claude Code mesaj ucunu, Codex responses ucunu, Hermes sohbet ucunu kullanır.
Eşleme tablosunda hunyuan-3 neden tencent/hy3 kimliğine gidiyor?
Çünkü o model için yönlendiricide zaten bir kanonik kimlik tanımlıydı. Kısa adın önüne ön ek getirip ikinci bir isim üretmek, aynı modeli seçicide iki satır haline getirirdi. Tuhaf okunan tek bir ad, çift kayıttan daha az sorun çıkarır.
Tablodaki model listesi ne kadar günceldir?
Liste 19 Ağustos 2026 ölçümüne dayanır ve o güne ait bir fotoğraftır. Katalog değiştikçe kesişim de değişir. Güncel durumu görmek için genel kataloğu anahtarsız okuyup kendi harness listenizle karşılaştırın; yazıdaki dökümde bunun komutu var.