dsh-plugin-llmtr
已验证dsh-plugin-llmtr · v0.1.0 · MIT
LLMTR AI gateway provider for the DeepSeek Harness LLM seam: 170+ chat models and Türkiye-hosted LLMs behind one OpenAI-compatible key
安装
dsh plugin add dsh-plugin-llmtr 用 dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南。
源码
标签
作者
说明文档
dsh-plugin-llmtr
English | Türkçe
DeepSeek Harness (dsh) için LLMTR sağlayıcı rotası.
LLMTR, OpenAI uyumlu bir yapay zekâ ağ geçidi. Tek API anahtarıyla OpenAI, Anthropic, Google, Qwen, Mistral, xAI ve diğerlerinden 170'ten fazla sohbet modeline erişilir — ayrıca istemlerin yurt içinde kalması gereken kurumlar için LLMTR'nin Türkiye'deki kendi altyapısında barındırdığı modellere.
Bu eklenti söz konusu modelleri ctx.llm üzerinde llmtr sağlayıcı rotası olarak kaydeder; böylece modeller harness model seçicisinde görünür ve diğer rotalar gibi oturum, agent ve subagent bazında seçilebilir.
Kurulum
dsh plugin add dsh-plugin-llmtr
Paket bir bundle yaması içerdiği için satırı plugin add sizin yerinize ekler. Ardından Ayarlar → Modeller sayfasını açın, LLMTR kartını bulun, llmtr.com üzerinden aldığınız anahtarı yapıştırın ve kaydedin. Anahtar $DSH_HOME/.credentials.yaml içinde saklanır; ayarlarda yalnızca referansı tutulur.
Model seçici kendini ağ geçidinin canlı listesinden doldurur — elle bir şey yazmanız gerekmez ve LLMTR'nin sonradan eklediği modeller sürüm yükseltmeden görünür.
Eklenti CLI'si olmadan
Satırı kendi cordis.yml dosyanıza ya da bir --patch katmanına ekleyin:
- insert:
- id: llm-llmtr
name: dsh-plugin-llmtr
Anahtarı saklamak yerine ortam değişkeni olarak da verebilirsiniz:
export LLMTR_API_KEY=llmtr-...
Model kimlikleri
Model kimlikleri ağ geçidinin kendi sahip/model biçimidir ve olduğu gibi iletilir:
openai/gpt-5.4 anthropic/claude-... google/gemini-3.7-flash
qwen/qwen3-8-... mistral/... deepseek/deepseek-v4-...
llmtr/muse-glimmer-30b-tr llmtr/trendyol-asure-12b llmtr/gemma-4
llmtr/ ile başlayan kimlikler LLMTR'nin Türkiye'de barındırdığı modellerdir; seçici bunları "Hosted in Türkiye on LLMTR infrastructure" notuyla işaretler. Diğerleri kendi sağlayıcısına yönlendirilir ve o sağlayıcının koşullarına göre işlenir — eklenti onlar için başka bir şey iddia etmez.
Veri yerleşimi
Yalnızca yurt içi modelleri sunmak için katalog kapsamını daraltın:
llm-llmtr:
catalogScope: turkey-hosted
Seçici başka hiçbir modeli listelemez; böylece istemleri yurt dışına çıkan bir modelle oturum başlatılamaz.
Yapılandırma
Tüm alanlar isteğe bağlıdır ve $DSH_HOME/settings.yaml dosyasının llm-llmtr bölümünde (ya da eklenti satırının config alanında) yaşar. Değişiklikler yeniden başlatma olmadan bir sonraki isteğe ulaşır; sürmekte olan bir akış başladığı değerlerle devam eder.
| Alan | Varsayılan | Neyi belirler |
|---|---|---|
apiKeyEnv |
LLMTR_API_KEY |
Her istekte çözülen kimlik bilgisi referansı |
baseURL |
https://llmtr.com/v1 |
Uç nokta; güvenilir katmandan gelen $LLMTR_BASE_URL varsayılanı geçersiz kılar |
headers |
{} |
Ek istek başlıkları; kimlik doğrulama ve atıf adları daima kazanır |
catalogScope |
chat |
chat, turkey-hosted veya all |
catalogTtlMs |
900000 |
Çekilen listenin ne kadar süre yeniden kullanılacağı |
models |
[] |
Sabit liste; boş değilse canlı listenin tamamının yerine geçer |
modelOverrides |
{} |
Canlı listenin üzerine uygulanan model bazlı düzeltmeler |
reasoningEfforts |
[] |
Ağ geçidinin modelleriniz için kabul ettiği efor kimlikleri |
maxTokens |
32768 |
İstek başına varsayılan çıktı üst sınırı |
defaultContextWindow |
131072 |
Boyutlandırmadığınız modeller için varsayılan kapasite |
streamIdleTimeoutMs |
300000 |
Bir akış okuması sürerken boşta kalma tavanı |
retryPolicy |
harness varsayılanı | Sağlayıcıya ait yeniden deneme politikası |
Bağlam pencereleri
LLMTR listesi kimlik ve operasyonları yayınlar, kapasiteleri değil. Bu yüzden aksini söyleyene kadar her model defaultContextWindow ile boyutlandırılır. Gerçekten kullandıklarınızı düzeltin:
llm-llmtr:
modelOverrides:
openai/gpt-5.4:
contextWindow: 400000
llmtr/muse-glimmer-30b-tr:
contextWindow: 32768
maxTokens: 8192
Akıl yürütme eforu
Akıl yürütme çıktısı kutudan çıktığı gibi çalışır: adaptör hem reasoning_content hem reasoning deltalarını okur, dolayısıyla bir akıl yürütme modelinin düşünme adımları hiçbir ayar yapmadan transkriptte görünür.
Efor seviyesi seçimi ise isteğe bağlıdır, çünkü ağ geçidi istekleri reasoning_effort alanını akıl yürütmeyen modellerde reddeden sağlayıcılara da dağıtır. Modellerinizin kabul ettiklerini bildirin, harness tam olarak onları sunsun:
llm-llmtr:
reasoningEfforts: [low, medium, high]
Liste boşken hiçbir seçici gösterilmez ve tel üzerine hiçbir şey gitmez. Bildirilmemiş bir efor taşıyan istek sessizce düşürülmek yerine adıyla reddedilir.
Model listesini sabitleme
Kullanıcılarının erişebileceği modelleri tam olarak sabitlemesi gereken bir kurulum, listeyi filtrelemek yerine değiştirir:
llm-llmtr:
models:
- id: llmtr/muse-glimmer-30b-tr
name: Muse Glimmer 30B
contextWindow: 32768
- id: llmtr/trendyol-asure-12b
models boş değilken ağ geçidi listesi hiç çekilmez.
Kapsam
- Yalnızca sohbet tamamlama. İstekler akış ve kullanım raporlaması açık şekilde
/v1/chat/completionsadresine gider. LLMTR'nin gömme, görsel, video, yeniden sıralama ve gerçek zamanlı modellericatalogScope: allile listelenir ama bu adaptörle yönlendirilemez; varsayılanınchatolmasının nedeni budur. - Metin girer, metin çıkar. Görsel içerik düzleştirilip yok sayılmak yerine, modeli adıyla belirtilerek gönderilmeden önce reddedilir.
- Çağrı başına tek deneme. Yeniden denemeler harness'ın yeniden deneme politikasına aittir; böylece hata adaptörün içinde gizlenmek yerine bir kez görünür olur.
Gizlilik
Eklenti harness'ın standart User-Agent başlığını, bu paketi ve sürümünü belirten x-llmtr-client başlığını ve API anahtarınızı gönderir. Hiçbir başlığa oturum kimliği, istem metni, dosya yolu veya kullanıcı tanımlayıcısı eklenmez.
Geliştirme
npm install
npm test # 80 birim testi; ağ bağlantısı ve anahtar gerektirmez
npm run typecheck
npm run build
tests/mock-server.ts ağ geçidinin yerine geçer, bu yüzden test paketi çevrimdışı çalışır.
Lisans
MIT. Bazı bölümler DeepSeek Harness'tan türetilmiştir — bkz. NOTICE.