Dokümantasyon
DeepSeek Harness
DeepSeek Harness kendi DeepSeek kartını korur ve sizinkini yanına ekler. “Add model provider” → “Custom model API” altındaki beş alan, Claude ve GPT'yi tek bir anahtarla aynı model seçicisine ekler.
Settings → Models → “Add model provider” → “Custom model API” beş alan alır — Provider ID, display name, base URL, API protocol ve API key — ve Claude ile GPT'yi yerleşik DeepSeek kartıyla aynı seçiciye koyar.
# Settings → Models → Add model provider → Custom model API
#
# Provider ID kunavo (lowercase, and permanent)
# display name Kunavo
# base URL https://api.kunavo.com/v1
# API protocol OpenAI Chat Completions (openai-completions)
# API key sk-kn-...
#
# Then Model catalog → Fetch available models → Add selected,
# or type the ids by hand. The page writes the active profile's
# $DSH_HOME/profiles/<profile>/cordis.patch.yml — profile "web" under
# `dsh web`. The same provider there, plus an optional second one
# that sends Claude ids over Anthropic Messages, whose base URL has
# NO /v1. This entry replaces the whole llm-pi-ai config: keep any
# provider already in it.
- id: llm-pi-ai
config:
providers:
kunavo:
apiKeyEnv: KUNAVO_API_KEY
api: openai-completions
baseURL: https://api.kunavo.com/v1 # → /v1/chat/completions
models:
- id: claude-sonnet-5
- id: claude-opus-5
- id: claude-haiku-4-5
- id: gpt-5-6-sol
kunavo-claude:
apiKeyEnv: KUNAVO_API_KEY
api: anthropic-messages
baseURL: https://api.kunavo.com # → /v1/messages
models:
- id: claude-sonnet-5
- id: claude-haiku-4-5openai-completions https://api.kunavo.com/v1 kullanır; anthropic-messages ise https://api.kunavo.com kullanır, /v1 kullanmaz; çünkü dsh /v1/messages yolunu kendisi ekler. dsh 0.2.0-rc.2 ile kayıt alan bir taklit uç noktaya yapılan bir çalıştırma her ikisini de doğruladı: ilki /v1/chat/completions adresine, ikincisi yalın kökten /v1/messages?beta=true adresine istek gönderdi; temel URL'de /v1 bırakıldığında ise /v1/v1/messages adresine gönderdi. Gerçek bir ağ geçidi buna kimlik doğrulama hatası yerine 404 ile yanıt verir.reasoningEfforts, sistem isteminin rolünü değiştirir; istemin ulaşıp ulaşmadığını değil. Harness belgelerine göre, akıl yürütme özelliği tanımlanmış bir modelin sistem istemi role: "developer" olarak gönderilir. Kunavo bu rolü Claude dâhil her model ailesinde sistem turu olarak okur; dolayısıyla bunun için compat geçişine gerek yoktur. 2026-09-30 tarihine kadar Claude yolu rolü düşürüyordu ve bu kart compat.supportsDeveloperRole: false ayarını yapmanızı söylüyordu; yaptıysanız sorun yok, olduğu gibi kalabilir.deepseek- kimlikleri için DeepSeek anahtarınızı olduğu yerde tutun; aşağıdaki tablodaki Claude ve GPT kimlikleri için bu anahtarı kullanın. Bu aynı zamanda Harness belgelerindeki “OpenAI uyumlu bir ağ geçidinde DeepSeek V4” için kullanılan compat.thinkingFormat: deepseek geçişinin burada yapacağı bir şey olmadığı anlamına gelir.dsh_session_log, çalışma dizininizin yolu dâhil oturum olayları ve dsh_plugin_packages. Bu çalıştırmada hiçbir özel sağlayıcı bu alanlardan hiçbirini göndermedi; dolayısıyla Kunavo sağlayıcısı bunları almaz. Ağırlıkları ve yüklemeyi kapatan geçiş için DeepSeek Harness fiyatlandırması sayfasına bakın.curl Kunavo tarafıdır ve on saniyede kontrol edebilirsiniz; dsh bir geliştirici önizlemesidir ve hâlâ değişmektedir.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 DeepSeek Harness kurulumunda açılır.Adım adım
/app/keysadresinde bir anahtar oluşturup kopyalayın — anahtar yalnızca bir kez gösterilir.- Web Arayüzünü (
dsh web) başlatıp Ayarlar → Modeller bölümüne gidin. Model sağlayıcısı ekle seçeneğini belirleyin. Kart, yalnızcadshile birlikte gelen sağlayıcıları listeleyen Üçüncü taraf model sağlayıcısı seçeneğinde açılır; bunu Özel model API'si olarak değiştirin. - Sağlayıcı kimliği (küçük harfle ve kalıcı olmalıdır; belgelere göre istekler, kaydedilmiş oturumlar, model varsayılanları ve kimlik bilgisi referanslarının tümü bunu kullanır; adını değiştirmek için yeni bir sağlayıcı ekleyip eskisini silmeniz gerekir), görünen ad, temel URL
https://api.kunavo.com/v1, API protokolü OpenAI Chat Completions ve API anahtarı alanlarını doldurun. Anahtar yalnızca yazılabilir; dsh anahtarı$DSH_HOME/.credentials.yamliçinde tutar ve profil dosyasında yalnızca ona bir referans saklar. - Model kataloğu altında Kullanılabilir modelleri getir seçeneğini belirleyin. Kunavo
GET /v1/modelsyanıtı verdiğinden model seçici otomatik olarak dolar. İstediğiniz modelleri işaretleyip Seçilenleri ekle seçeneğini belirleyin. Kimlikleri elle yazmak da aynı şekilde çalışır; belgeler, keşif hiçbir şey listelemediğinde bu yönteme geçilmesini söylüyor. - İsteğe bağlı: Claude kimliklerini Anthropic'in kendi protokolü üzerinden kullanmak için kendi Sağlayıcı Kimliği, temel URL'si
https://api.kunavo.com—/v1olmadan — ve Anthropic Messages API protokolü bulunan ikinci bir özel model API'si ekleyin; aynı anahtarı kullanın. Buradaki Getir seçeneği de tüm kataloğu listeler; yalnızcaclaude-kimliklerini ekleyin (neden yalnızca bunlar). - Oluşturucuda bir model seçin ve selamlaşma yerine bir dosyaya dokunan bir tur gönderin. Harness, yaptığı işlerin çoğunda araç çağrısına dayanır; bu nedenle bir şeyi okuyup düzenleyen ilk çalıştırma size daha fazla bilgi verir. Model değişiklikleri bir sonraki istekte geçerli olur; belgelere göre yeniden başlatma gerekmez.
DeepSeek Harness “Modelleri yapılandırma” sayfası (docs/user/guide/providers.md dosyasındaki dsh-v0.2.0-rc.2 etiketiyle aynı metin) ile 1 Ekim 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.
İ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 DeepSeek Harness 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ği | Kunavo giriş / çıkış | DeepSeek Harness içinde kullanım alanı |
|---|---|---|
claude-sonnet-5 | $1.40 / $7.00 | dosyaları düzenleyen oturumlar için varsayılan çalışma modeli |
claude-opus-5 | $3.50 / $17.50 | yanlış yapmanın pahalıya mal olacağı bir değişikliği planlama |
claude-haiku-4-5 | $0.70 / $3.50 | ucuz turlar — önceliklendirme, özetler, gün boyu çalışan döngü |
gpt-5-6-sol | $2.00 / $12.00 | aynı anahtar ve sağlayıcıyla başka bir model ailesinden ikinci bir görüş |
gpt-5-6-terra | $0.70 / $4.20 | token başına ücretin faturayı belirlediği uzun girdiler |
Anthropic Messages üzerinden Claude
Kunavo Anthropic Messages API'sini de yanıtlar ve anthropic-messages, formun sunduğu üç protokolden biridir. Harness belgelerinde açıkça şöyle denir: “Bir sağlayıcı tek bir protokol kullanır; dolayısıyla iki protokol sunan bir ağ geçidi için iki sağlayıcı gerekir.” Yani bu, ilk sağlayıcının bir ayarı değil, onun yanındaki ikinci bir sağlayıcıdır.
- Temel URL
https://api.kunavo.com, yalın kök adres olmalıdır. Çalıştırmada bu kök,/v1/messages?beta=trueadresine istek gönderdi; bu, Claude Code'un da kullandığı ve Kunavo'nun yanıt verdiği yoldur. Sonuna/v1eklendiğinde istek/v1/v1/messagesadresine gitti. DeepSeek Harness ile Claude Code karşılaştırması iki istemcinin isteklerini yan yana gösterir. - Yalnızca Claude kimlikleri. Kunavo'nun
/v1/messageshizmeti yalnızcaclaude-kimliklerini sunar; orada birgpt-kimliği kullanıldığında404döner ve bu yanıt/v1/chat/completionsbilgisini belirtir. GPT'yiopenai-completionssağlayıcısında tutun. - Getir tüm modelleri listeler; yalnızca Claude modellerini ekleyin. dsh'nin
llm-pi-aiREADME dosyasında, bu protokolde keşfin Anthropic'inx-api-keybaşlığıylaGET /v1/modelsadresine istek gönderdiği belirtilir. Kunavo'nun model listesi deAuthorization: Bearerbaşlığında olduğu gibi bu başlıktaki anahtarı kabul eder. Bu bilgi dsh'nin kaynak kodundan ve Kunavo'nun kendi testlerinden gelir, bu çalıştırmadan değil. Kullanılabilir modelleri getir seçeneğinin döndürdüğü sonuçta GPT ve görsel modelleri de dâhil tüm katalog bulunur; bu nedenle yalnızcaclaude-kimliklerini işaretleyin. Bunları elle yazmak da aynı şekilde çalışır. Tam bir listenin gösterdiği şey göründüğünden azdır: aynı README dosyasına göre listeleme URL'si, sonunda/v1olsun veya olmasın kabul edilir; model isteklerinde ise temel URL değiştirilmeden kullanılır. Bu nedenle Getir, listeyihttps://api.kunavo.com/v1adresinden de doldurur ve bu temel URL'den yapılan ilk tur/v1/v1/messagesadresine gider. - Ne sağlar? İstek Anthropic'in biçiminde ulaşır; çalıştırmada sistem istemi üst düzey
systemalanında taşındı, dolayısıyladeveloperrolü kullanılmaz. Kunavo, isteği OpenAI biçiminden dönüştürmek yerine olduğu gibi iletir.openai-completionssağlayıcısı aynı Claude kimliklerine çeviri yoluyla erişir; adımlarda yer almasının nedeni budur.
Formun arkasındaki dosya
Modeller sayfası $DSH_HOME/profiles/<profile>/cordis.patch.yml dosyasına yazar — bu dosya, $DSH_HOME/profiles/web/cordis.patch.yml yolundadır; başlangıç komutunuz dsh web olduğunda bu yol kullanılır. Eski dsh belgeleri $DSH_HOME/settings.yaml dosyasını gösteriyordu; 0.2.0-rc.2 belgeleri göstermiyor. Tarayıcı sunucuyla aynı makinedeyse, Ayarlar başlığındaki Yapılandırma dosyasını aç seçeneği dosyayı açar ve bağdaştırıcılar bir sonraki istekte dosyayı yeniden okur. Bu uç nokta için beş unsur önemlidir:
- Bağlam penceresi ve azami çıktı token sayısı — formda Özelleştirilmiş ayarlar → Model seçenekleri altında. Elle yazılan bir kimlik bu değerleri taşımaz; bu nedenle rotanın varsayılanları geçerli olur:
llm-pi-aiREADME dosyasına göre 262,144 bağlam token'ı ve 32,768 çıktı token'ı. Çalıştırmada iki özel sağlayıcı da tam olarakmax_tokens: 32768istedi. Yukarıdaki tablodaki her kimlik daha fazlasını alabilir; her durumda satırı kontrol edin ve daha fazlasını istiyorsanız bunları modelin katalog kaydından yükseltin. Kunavo, sınırın değil modelin ürettiği token'ların ücretini alır. compat.supportsDeveloperRole— gerekli değil. Harness bunudeveloperrolünü kabul etmeyen ağ geçitleri için önerir; Kunavo ise Claude dâhil her model ailesinde bu rolü sistem turu olarak okur. (2026-09-30 tarihine kadar Claude yolu bu rolü düşürüyordu ve bu madde geçişi ayarlamanızı söylüyordu; açık kalması sorun yaratmaz.)compat.maxTokensField— değiştirmeden bırakın. Harness bunu yukarıdaki geçişle birlikte olağan ilk çözüm olarak sunar; ancak Kunavo'nun kendi işleyicisimax_completion_tokensalanını okur ve bu alan yoksamax_tokensalanını kullanır, dolayısıyla varsayılan zaten çalışır.reasoningEfforts— formda alan yoktur. Elle girdiğiniz bir model hiçbir düzey tanımlamaz; bu nedenle Çaba menüsü görünmez ve modelin düşünüp düşünmeyeceğine uç noktanın kendi varsayılanı karar verir. Menüyü istiyorsanız düzeyleri kendiniz tanımlayın;openai-completionsyapılandırmasında her anahtar bir düzey, değeri isereasoning_effortolarak gönderilen yazımdır. Bu,gpt-kimliğine ulaşır;claude-kimliğinde ise etkisi olmaz, çünkü Kunavo'nun sohbet arayüzüreasoning_effortparametresini Anthropic'e iletmez (/docs/chat#reasoning).- Girdi türleri (dosyada
input: [text, image]) — belgeler bunun “uç noktanızla ilgili bir iddia belirttiğini, onu denetlemediğini” açıkça söyler. Görsel almayan bir kimlikte Görsel'i işaretlemek Harness tarafından saptanmaz; istek ileride reddedilir. Kutuyu işaretlemeden önce/models'de kimliği kontrol edin.
Bir oturumun gönderdiği diğer şeyler — tur başına 24 araç tanımı, her yeni oturum için kısa bir başlık isteği ve DeepSeek'in kendi rotasındaki ek alanlar — DeepSeek Harness fiyatlandırması sayfasında ölçülür.
Sık sorulan sorular
DeepSeek Harness'a özel API sağlayıcısını nasıl eklerim?
dsh web komutuyla Web Arayüzünü başlatın, Ayarlar → Modeller bölümüne gidin ve “Model sağlayıcısı ekle” seçeneğini belirleyin. Kart, yalnızca dsh ile gelen sağlayıcıları listeleyen “Üçüncü taraf model sağlayıcısı” seçeneğinde açılır; bunu “Özel model API'si” olarak değiştirin. Formda küçük harfle bir Sağlayıcı Kimliği, görünen ad, temel URL, API protokolü ve API anahtarı; ardından Model kataloğu altında en az bir model istenir. Sağlayıcı Kimliği kalıcıdır; çünkü istekler, kaydedilmiş oturumlar, model varsayılanları ve kimlik bilgisi referanslarının tümü bunu kullanır. Adını değiştirmek için yeni bir sağlayıcı ekleyip eskisini silmeniz gerekir. 0.2.0-rc.2 sürümünde sayfa, etkin profilin cordis.patch.yml dosyasına kaydeder — dsh web altında $DSH_HOME/profiles/web/cordis.patch.yml.
DeepSeek Harness temel URL'sinin sonunda /v1 olması gerekiyor mu?
API protokolüne bağlıdır. openai-completions için evet: https://api.kunavo.com/v1; dsh 0.2.0-rc.2 çalıştırmasında /v1/chat/completions adresine istek gönderdi. anthropic-messages için hayır: https://api.kunavo.com; çünkü dsh /v1/messages yolunu kendisi ekler. Yalın kök, /v1/messages?beta=true adresine istek gönderirken sonunda /v1 bulunan bir temel URL /v1/v1/messages adresine gönderdi; gerçek bir ağ geçidi buna kimlik doğrulama hatası yerine 404 ile yanıt verir. Çalıştırma Kunavo'ya karşı değil, istekleri kaydeden yerel bir taklit uç noktaya karşı yapıldı.
DeepSeek Harness, DeepSeek yerine Claude veya GPT modellerini kullanabilir mi?
Evet. API protokolü alanı satıcıyı değil, kablo biçimini belirtir: openai-completions, OpenAI Chat Completions; openai-responses, Responses API; anthropic-messages ise Anthropic Messages API'dir. Özel bir sağlayıcı model kimliğinizi doğrudan yapılandırdığınız temel URL'ye iletir; böylece Claude veya GPT kimliği Harness içinde değil, o uç noktada çözümlenir. Kunavo'da https://api.kunavo.com/v1 adresindeki openai-completions sağlayıcısı Claude ve GPT kimliklerine ulaşır; https://api.kunavo.com adresindeki ikinci bir anthropic-messages sağlayıcısıysa yalnızca Anthropic'in kendi istek biçimiyle Claude kimliklerine ulaşır. Her ikisi de yerleşik DeepSeek kartının yanında bulunur, onun yerini almaz; bu nedenle DeepSeek kimlikleri DeepSeek anahtarınızı kullanmayı sürdürür.
DeepSeek Harness özel bir sağlayıcıya ne gönderir?
dsh 0.2.0-rc.2'nin kaydedilmiş bir çalıştırmasında iki özel sağlayıcı da — openai-completions ve anthropic-messages — her aracı turunda 24 araç tanımı gönderdi, Harness'ın boyutu belirtilmeden elle girilmiş bir model için kullandığı varsayılan değer olan max_tokens 32,768'i istedi ve her yeni oturumda max_tokens 64 ile kısa bir başlık isteğinde bulundu. İkisi de dsh_session_log veya dsh_plugin_packages göndermedi: oturumun olay günlüğü ve yüklü eklenti listesi olan bu iki alan yalnızca yerleşik DeepSeek rotasına gönderildi. Çalıştırmada Kunavo yerine istekleri kaydeden bir taklit uç nokta kullanıldı; dolayısıyla bu, dsh'nin ne gönderdiğini gösterir, herhangi bir sağlayıcının bu isteklerle ne yaptığını değil.
DeepSeek Harness neden sistem istemimi yok saymış gibi davranıyor?
Modelin akıl yürütme düzeyleri tanımlayıp tanımlamadığını kontrol edin. openai-completions üzerinde Harness, akıl yürütme modeli için sistem istemini "system" yerine "developer" rolüyle gönderir; çünkü istek biçimini uç nokta URL'sinden çıkarır ve tanımadığı bir adresi doğrudan OpenAI olarak kabul etmez. Kunavo bu rolü Claude dâhil her model ailesinde sistem turu olarak okur; dolayısıyla Kunavo'da istem her iki durumda da ulaşır. 2026-09-30 tarihine kadar Claude yolu bu rolü sessizce düşürüyordu; daha önce istem kaybolduysa nedeni buydu ve profilin cordis.patch.yml dosyasındaki rotada veya modelde bulunan compat.supportsDeveloperRole: false geçici çözümdü. Artık gerekli değil; kalması zararsızdır. anthropic-messages sağlayıcısı bu rolü hiç göndermez: sistem istemi Anthropic'in üst düzey system alanına gider.
“Kullanılabilir modelleri getir” DeepSeek Harness'ta neden hiçbir şey döndürmüyor ya da 401 veriyor?
Keşif, formda o anda bulunan temel URL'yi, protokolü ve anahtarı kullanır; bu nedenle 401 genellikle anahtara, boş liste ise temel URL'ye veya keşfin okuyamadığı bir listeleme biçimine işaret eder. Harness her iki sonucu da belgeler ve kimlikleri elle girmenizi söyler; bu yöntem aynı şekilde çalışır. İki protokol anahtarı farklı biçimde gönderir: openai-completions için Authorization: Bearer, anthropic-messages için Anthropic'in x-api-key başlığı kullanılır. Kunavo'nun model listesi her ikisini de kabul eder. Sorunun hangi tarafta olduğunu aynı anahtarla ve aynı başlıkla https://api.kunavo.com/v1/models adresine basit bir curl isteği göndererek belirleyin: JSON gelirse sorun formdadır, 401 anahtardadır, 404 URL'dedir. anthropic-messages üzerinde tam bir liste iki noktayı açık bırakır: keşif listeleme URL'sinden sondaki /v1 bölümünü çıkarırken model isteklerinin çıkarmaması nedeniyle temel URL'nin doğru olup olmadığı ve listenin tüm kataloğu içermesi, ancak orada yalnızca claude- kimliklerinin çalışması nedeniyle sağlayıcının hangi kimlikleri çağırabildiği. Yerleşik sağlayıcıya her zaman yüklü katalogdan yanıt verilir; temel URL başka bir yere işaret etse bile. Uç noktanın gerçekte ne sunduğunu görmek için özel sağlayıcı üzerinden getirme işlemi yapın.