Dokümantasyon

Dokümantasyon

Jan Agent

Jan Agent herhangi bir çıkarım motoruyla gelmez; bu nedenle her zaman belirttiğiniz bir uç noktayı çağırır. Tek bir jan config set komutu, Kunavo'yu ~/.jan/config.toml dosyasına yazar; terminal aracısı Claude ve GPT modellerinde tek bir anahtarla çalışır.

Tek bir `jan config set --base-url https://api.kunavo.com/v1` satırı Kunavo'yu ~/.jan/config.toml dosyasına yazar; çıkarım motoru içermeyen Jan Agent önizleme CLI'sı bu anahtarla çalışır.

jan config set — ~/.jan/config.toml dosyasına yazar
# Jan Agent is a preview on a nightly channel — check your build first.
jan --version

jan config set \
  --provider kunavo \
  --api-key sk-kn-... \
  --base-url https://api.kunavo.com/v1 \
  --model claude-sonnet-5 \
  --model claude-haiku-4-5 \
  --api-type openai

jan config list   # configured providers as JSON, keys redacted
Her iki iletişim türünde de temel URL /v1 son ekini korur. Jan yalnızca rotayı ekler: sağlayıcı katkı sayfası oturum açmanın “anahtarı GET {base_url}/models adresine karşı doğruladığını”, sağlayıcılar sayfası ise yapılandırılmış bir girdiye GET /models sorgusunun bir oturumda /model sayfasını ilk kez açtığınızda gönderildiğini söylüyor. Bu belgelerde yer alan tüm temel URL'ler /v1 ile biter; buna jan cli models list örneğindeki Anthropic adresi de dahildir. Bu nedenle --api-type anthropic seçeneği de https://api.kunavo.com/v1 adresini kullanır. Bu, aynı son ekin /v1/v1/messages oluşturup 404 hatasına yol açtığı Claude Code ve resmî Anthropic SDK'larının kullandığı kuralın tersidir. Hata mesajındaki çiftlenmiş yol, hangi kuralın geçerli olduğunu gösterir.
Jan Agent bir önizleme sürümüdür; bunu kendisi de belirtiyor. Hızlı başlangıç kılavuzu, dev adresindeki yükleyicinin agent-nightly kanalından indirme yaptığını ve “gecelik derleme kalitesinde sürümler beklemeniz” gerektiğini söylüyor. Atıfta bulunabileceğiniz etiketli bir sürüm yok. Bu nedenle jan --version komutunu çalıştırıp çıktıyı bu yapılandırmanın yanına not edin: aşağıdaki seçenekler sayfanın altındaki tarihte belgelerden alınmıştır ve gecelik bir derlemede adları değişebilir. Kaynak koddan derlenen sürüm (scripts/install-jan-agent.sh --source) kendini güncellemez; sürümü sabit tutmanın bir yolu budur.
Bu yapılandırma Jan'ın kendi belgelerinden derlendi. Kunavo, Jan Agent'ı kendi uç noktasına karşı çalıştırmadı — oturum, akışlı bir tur veya araç gidiş dönüşü test edilmedi; bu ailedeki diğer istemciler için de durum aynı. Yayımlanmış bir kurulum sayfası uyumluluk testi sayılmaz. Bu yapılandırmayı denerken çalışır durumdaki mevcut rotanızı kullanıma hazır bulundurun ve jan config unset --provider kunavo komutunun geri alma işleminin tamamı olduğunu unutmayın.
Kunavo hiçbir gömme, metinden konuşmaya veya konuşmadan metne modeli sunmadığından Kunavo sağlayıcı girişi yalnızca sohbeti yanıtlar. Jan Agent daha fazlasını istemez: belleği bir vektör deposu yerine <project>/.jan/agent/memory/ altında düz dosyalardan oluştuğundan aracının kendi döngüsünde başka türde bir modele ihtiyaç yoktur.
Henüz anahtarınız yok mu? Bir Kunavo hesabı oluşturun, bir anahtar oluşturun ( 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 Jan Agent kurulumunda açılır.

Adım adım

  1. /app/keys adresinde bir anahtar oluşturup kopyalayın — anahtar yalnızca bir kez gösterilir.
  2. Neyi yapılandırdığınızı kontrol edin: jan --version. Jan Desktop'ta jan olarak çağrılan bir CLI de bulunur, ancak komut kümesi farklıdır. Bu nedenle devam etmeden önce jan config set --help komutunun --base-url listelediğini doğrulayın.
  3. Yukarıdaki jan config set satırını çalıştırın. --provider, sabit bir listedeki ad değil, sizin seçtiğiniz bir kimliktir; belgelerdeki yerel donanım örneğinde --provider local kullanılır. --model yinelenebilir ve yeni bir listeye ekleme yapmak yerine mevcut listenin tamamını değiştirir.
  4. Gizli anahtarlarla birlikte yapılandırmanın uygulandığını jan config list ile veya dosyanın kendisi için jan config path ile doğrulayın; ardından tüm sağlayıcıların sunduklarını görmek için jan cli models list çalıştırın. Elle girilmiş bir model kimliği, uç nokta onu listelemeyi bıraksa da kalır; jan cli models refresh --provider kunavo ise uç noktanın listesini esas alır.
  5. Bir projeye geçin, jan komutunu çalıştırın ve ardından /model ile modeli seçin. İlk çalıştırmada jan --plan komutunu tercih edin: salt okunurdur, bu nedenle protokol uyuşmazlığı diske bir şey yazılmadan ortaya çıkar.
  6. Bir dosyayı düzenleyen görev verin. Jan Agent bir aracı olduğundan, ilk çalıştırmada araç çağrısı ve akışı sınayın; yalnızca kısmen uyumlu bir uç noktada ilk bozulacak şeyler bunlardır, selamlaşma ise ikisini de sınamaz.

Jan Agent'ın Providers sayfası 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.

Kısa sürüm budur. Model seçimi, gerçek bir oturumun maliyeti ve hata durumlarını içeren tam rehber Jan modelleri ve API maliyet kılavuzu; Jan Desktop'ı da kapsar içindedir.

İ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 Jan 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ğiKunavo giriş / çıkışJan Agent içinde kullanım alanı
claude-sonnet-5$1.40 / $7.00varsayılan çalışma modeli — --model seçeneğinin başına eklenecek kimlik
claude-opus-5$3.50 / $17.50yanlış seçilmesi pahalıya mal olacak bir plan; bunu jan --plan ile birlikte kullanın
claude-haiku-4-5$0.70 / $3.50ucuz turlar: ön inceleme, özetler ve gün boyu çalışan döngü
gpt-5-6-sol$2.00 / $12.00aynı anahtar ve aynı temel URL ile başka bir aileden ikinci görüş
gpt-5-6-terra$0.70 / $4.20uzun bağlamlı okuma; openai api-type değerinde kalır
Faturalandırma aylık ücret olmadan, ön ödemeli bakiyeden token başına yapılır — faturalandırmaya bakın. Tekrarlanan bağlamda — bir düzenleyicinin veya sohbet istemcisinin gönderdiği içeriğin çoğu budur — istem önbellekleme, faturayı model seçiminden daha fazla değiştirir.

Jan API anahtarı adı verilen iki farklı şey var

İkisi aynı dosyada yer alır ve birbirinin zıddı anlam taşır; bu nedenle jan config list, diğerini bekleyen birine yanlış görünebilir.

NeNereden alınırNeyi doğrular
jan loginKabuktan veya konsoldaki /login komutuyla kendi barındırdığınız arka uç Tokamak'ta oturum açmaKendi Tokamak dağıtımınız. Jan Agent, aldığı anahtarı sizin için ~/.jan/config.toml dosyasına yazar
jan config set --api-keyBir uç nokta için zaten sahip olduğunuz kimlik bilgisi — burada Kunavo'nun sk-kn- anahtarıİstek başına ücretlendirilen uç nokta. Bu sayfanın ele aldığı satır budur

Jan Desktop ikisini de sağlamaz: hesabı yoktur, dolayısıyla oluşturacak bir şey de yoktur. Yerel API sunucusu, sizin uydurduğunuz bir anahtar ister; bu da ifadenin üçüncü bir anlamıdır ve başka bir ana makineye aittir.

Jan Desktop'ın sağladıkları ve bunların kapsamı

Jan Agent, sağlayıcı ayarları için her biri kendisinden önce geleni geçersiz kılan dört kaynağı okur; bunlardan ikincisi insanları şaşırtır.

  1. ~/.jan/config.toml — temel yapılandırma ve jan config set tarafından yazılan tek dosya.
  2. Jan Desktop'ın settings.json dosyası — yalnızca devralınır. Agent'ta yapılandırmadığınız sağlayıcıları ekler, yapılandırdığınız hiçbir sağlayıcıyı geçersiz kılmaz ve hiçbir zaman bu dosyaya geri yazılmaz.
  3. Bir projenin agent.toml dosyasındaki [provider] bloğu — proje başına açık bir seçim olduğundan ikisini de geçersiz kılar. Bu dosya genellikle depoya kaydedilir, bu yüzden api_key değerini dosyaya koymayın.
  4. Komut satırında --provider / --api-key ya da JAN_API_KEY / <PROVIDER>_API_KEY — en açık ve en geçici seçenek.

Yanlış şeyi hata ayıklamadan önce bilmenizde fayda olan iki sonuç var. jan config list, sağlayıcı olmadığını bildirebilirken jan cli models list birçok sağlayıcı döndürebilir — ikinci komut, ~/.jan/config.toml içinde saklanmayan ve Desktop'tan devralınanları da içerir. Ayrıca devralınan bir sağlayıcı hiçbir zaman yenilenmez; burada yeniden yazılacak bir girdi yoktur. Kunavo'nun model listesinin güncel kalmasını istiyorsanız, yukarıdaki bloğun oluşturduğu gibi, ayrıca bir jan config set girdisi oluşturmanız gerekir.

İki sağlayıcı aynı model kimliğini sunduğunda

Kunavo claude-sonnet-5 gibi kimlikler sunar; doğrudan satıcıya yönlendirilen bir sağlayıcı girdisi de aynı kimlikleri sunabilir. Jan Agent bunlardan birini seçmek zorundadır. Belgelenmiş öncelik sırası şöyledir: önce sağlayıcının models listesindeki tam eşleşme, ardından yapılandırılmış bir sağlayıcıyı adlandıran <provider>/<model> öneki; aynı kimliği birden fazla sağlayıcı sunuyorsa kimlik bilgisi olan sağlayıcı anahtarsız eşinden önce gelir. Dolayısıyla hangisini kastettiğinizi belirtmek için kunavo/claude-sonnet-5 kullanılır. Bu niteleyici yalnızca Jan içindir — yukarı akış hizmetleri sağlayıcı nitelemeli kimlikleri reddettiğinden istek gönderilmeden önce kaldırılır.

Aynı girdi, konsol içinden

Bayrakları yazmak istemiyorsanız: /settings > providers, aynı ~/.jan/config.toml girdilerini yönetir; a ise alanları name, base url, api key ve boşlukla ayrılmış models olan bir ekleme formu açar. Formun bayraklarda olmayan iki özelliği var: ana URL https:// olmalıdır (localhost uç noktası içinse http://), böylece anahtar uzak bir bağlantı üzerinden düz metin olarak gönderilmez — Kunavo https:// olduğundan bu bir engel değildir — ayrıca düzenleme sırasında API anahtarı alanı (unchanged) gösterir ve siz alana bir şey yazmadıkça kayıtlı değeri korur. Alanı boş bırakmak anahtarı olduğu gibi bırakmaz, siler.

Sık sorulan sorular

Jan Agent'ı özel bir API uç noktasına nasıl yönlendiririm?

Tek komutla: jan config set --provider <id> --api-key <key> --base-url <url> --model <model> --api-type openai. Sağlayıcı kimliğini sabit bir listedeki adlardan seçmek yerine kendiniz belirlersiniz; --model birden çok kez kullanılabilir ve mevcut listenin yerine geçer. --api-type varsayılan olarak OpenAI uyumlu olduğundan OpenAI biçimli bir uç nokta için bu seçeneği belirtmeyebilirsiniz. Girdi ~/.jan/config.toml dosyasına yazılır; bu dosyayı konsolda /settings > providers üzerinden de düzenleyebilirsiniz. Jan'ın kendi sağlayıcı ekleme sayfasına göre, OpenAI uyumlu standart bir uç nokta için hiç kod yazmanız gerekmez; yalnızca bu yapılandırma arayüzü yeterlidir.

Jan Agent ana URL'sinin sonuna /v1 eklenmesi gerekir mi?

Evet; Anthropic protokol türü için de gerekir. Jan yalnızca yolu ekler: sağlayıcı ekleme sayfasında, oturum açma sırasında anahtarın GET {base_url}/models isteğiyle doğrulandığı; sağlayıcılar sayfasında ise oturumda /model ilk açıldığında yapılandırılmış bir girdinin GET /models isteğiyle sorgulandığı belirtiliyor. Eklenen yol /v1/models değil /models olduğundan, kayıtlı ana URL'nin zaten /v1 kökü olması gerekir — Kunavo için https://api.kunavo.com/v1. Jan belgelerinde yazdırılan tüm ana URL'ler aynı şekilde biter; jan cli models list örneğindeki Anthropic girdisi de buna dahildir. Bu, Claude Code ve resmi Anthropic SDK'larının davranışının tersidir: onlarda /v1 eklenmesi /v1/v1/messages yolunu ve 404 hatasını doğurur.

jan login ile jan config set --api-key arasındaki fark nedir?

Bunlar farklı şeyler için kimlik doğrulaması yapar. jan login, kendi barındırdığınız arka uç Tokamak'ta oturum açar ve aldığı anahtarı ~/.jan/config.toml dosyasına kaydeder — bu, kendi dağıtımınızda oturum açmaktır. jan config set --api-key ise bir uç nokta için zaten sahip olduğunuz kimlik bilgisini kaydeder; Kunavo gibi üçüncü taraf sağlayıcılar için kullanacağınız yöntem budur. Jan Desktop bunların hiçbirini sağlamaz, çünkü anahtar oluşturabileceği bir hesabı yoktur. Yerel API sunucusunun istediği anahtar, sizin uydurduğunuz bir dizgedir; bu da ifadenin üçüncü bir anlamıdır.

jan config list hiçbir şey göstermiyorken jan cli models list neden modeller gösteriyor?

Çünkü iki komut farklı kümeleri okur. jan config list yalnızca ~/.jan/config.toml dosyasında saklananları bildirirken jan cli models list Jan Desktop'tan devralınan ve bu dosyada saklanmayan sağlayıcıları da içerir. Jan'ın belgeleri bunu doğrudan belirtiyor. Bunun pratik sonucu, devralınan bir sağlayıcının hiçbir zaman yenilenmemesidir — yeniden yazılacak bir girdi yoktur. Bir sağlayıcının model listesinin güncel kalmasını istiyorsanız önce jan config set ile ekleyin.

Jan Agent, Anthropic hesabı olmadan Claude modellerini çalıştırabilir mi?

Evet. Jan Agent herhangi bir çıkarım motoruyla gelmez; bu nedenle model her zaman yapılandırdığınız uç noktada çalışır ve --api-type satıcıyı değil, kablo protokolünü belirtir. Claude kimliği, ayarladığınız ana URL'de çözümlenir; dolayısıyla sahip olduğunuz kimlik bilgileri o uç noktaya aittir. Kunavo, Claude ve GPT kimliklerini tek anahtarla OpenAI uyumlu arayüzü üzerinden sunar. Bu yapılandırma, istemciyle yapılan bir test çalıştırmasına değil Jan'ın kendi belgelerine dayanarak yayımlanmıştır. Jan Agent da nightly kanalında önizleme aşamasında olduğundan, bayrakların kullandığınız jan --version derlemesi için geçerli olduğunu varsayın.

Jan Agent her istekte 404 döndürüyor. Sorun ne?

Neredeyse her zaman sorun ana URL'dir. /v1 eksikse Jan, /models ve /chat/completions isteklerini kaynağa gönderir; kimlik doğrulamasının başarısız olması yerine 404 alırsınız. Hata mesajındaki yinelenen /v1/v1, bu ekin zaten /v1 içeren bir ana URL'ye eklendiğini gösterir. Önce bunu istemci dışında sınayın: uç noktada aynı anahtarla düz bir curl kullanarak GET /v1/models çağrısı yapın. JSON yanıtı uç noktanın ve anahtarın doğru olduğunu, sorunun yapılandırılmış girdide bulunduğunu gösterir; 401 anahtarda, 404 ise URL'de sorun olduğunu gösterir. Ardından jan config path komutunu çalıştırıp kayıtlı base_url değerini doğrudan okuyun.