SSD Nodes Learn Hosting plans →
Rehberler Matt ConnorYazan Matt Connor

DeepSeek Harness kurulum ve surum hatalari nasil cozulur

DeepSeek Harness kurulumunda karsilasilan surum hatalarini gidermek icin belirli bir surumu sabitleyin, npx onbellegini temizleyin ve Node.js surum uyumunu kontrol edin.

DeepSeek Harness kurulumunun gerçek mahiyeti

DeepSeek Harness kurulumu tek bir komuttan ibarettir: npx @deepseek-ai/dsh web. Bir yükleyici veya yapılandırılacak bir servis yoktur. Kullanıcıların karşılaştığı sorunların çoğu kurulumla ilgili değildir. Sorun, sürüm çözümlemesidir: npx'in bugün @deepseek-ai/dsh'nin hangi derlemesini çalıştırmaya karar verdiği ve Node.js sürümünüzün bunu çalıştırıp çalıştıramayacağıdır. Çalışmaya başladığında, yazdırdığı adres localhost'a bağlıdır ve Web arayüzünün neden yalnızca 127.0.0.1:3080 adresinde yanıt verdiği bu sayfadaki sorunlardan ayrı bir problemdir.

Aşağıdaki her şeyi iki gerçek belirler. Birincisi, npm'de yayınlanan her @deepseek-ai/dsh sürümü şu ana kadar bir ön sürümdür. Çoğu sürüm adayıdır (-rc.N) ve 30 Ağustos 2026'dan beri alfa derlemeleri (-alpha.N) de mevcuttur. latest etiketi bir sürüm adayını işaret eder. 6 Ekim 2026 itibarıyla bu, 29 Eylül 2026'da yayınlanan 0.2.0-rc.2 sürümüdür. İkincisi, proje README dosyası harness'ın geliştirici önizlemesi aşamasında olduğunu, hızla değiştiğini ve uyumluluğu bozan değişiklikler içereceğini belirtir. Geçen hafta çalışan bir bayrak bu hafta kaldırılmış olabilir. Üzerine bir şey inşa etmeden önce bir sürümü sabitleyin.

Önce bazı terimler. dsh, DeepSeek Harness komut satırı aracıdır. Node.js, ihtiyaç duyduğu JavaScript çalışma zamanıdır. npx, npm (node package manager) ile birlikte gelen paket çalıştırıcıdır ve bir paketi kalıcı olarak yüklemek yerine talep üzerine getirir. Eğer harness kelimesi bu cümlede alışılmadık bir işlev görüyorsa, bir agent harness, modelin etrafına sarılmış programdır; döngüyü, araçları, izinleri ve oturum durumunu tutar. Bu nedenle, seçmediğiniz bir sürüm numarası agent'ınızın davranışını değiştirebilir.

dsh hangi Node.js sürümüne ihtiyaç duyar?

Deponun kök dizinindeki package.json, 6 Ekim 2026 tarihinde, depo 0.2.1-alpha.1 sürümündeyken "engines": {"node": "^22.19.0 || >=24.0.0"} dosyasını beyan eder. Bu nedenle Node 22.19.0 veya 22 serisinden daha yeni bir sürüm ya da Node 24 ve üzeri gereklidir. Node 20 desteklenmemektedir.

Herhangi bir işlem yapmadan önce mevcut sürümünüzü kontrol edin.

node -v
npm -v

İnsanları şaşırtan kısım şudur: Yayınlanan @deepseek-ai/dsh paketi kendi içinde herhangi bir engines alanı barındırmaz. Yalnızca monorepo kök dizini bir tane beyan eder ve bu kök dosya asla npm üzerinde yayınlanmaz. Bu nedenle npm'in kontrol edeceği bir şey yoktur; herhangi bir EBADENGINE uyarısı vermez ve hiçbir şeyi reddetmez. Node 20 üzerinde kurulum başarılı görünür ancak hata, yüklü kod çalışma zamanınızda bulunmayan bir söz dizimine veya API'ye dokunduğunda ortaya çıkar. Hangi modülün önce yüklendiğine bağlı olarak ilk hata veren satır değiştiği için aranabilecek tek ve kararlı bir hata dizgisi yoktur. Çökme raporunu okumak yerine node -v dosyasını okuyun.

Eğer Node sürümünüz çok eskiyse, bir VPS üzerinde en az müdahaleci çözüm nvm (node version manager) kullanmaktır; çünkü bu araç kurulumu ev dizininiz altına yapar ve sistemin kendi Node sürümüne dokunmaz.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.6/install.sh | bash
exec $SHELL -l
nvm install 24
nvm use 24
node -v

node -v komutu artık v24. ile başlayan bir sürüm numarası yazdırmalıdır. Eğer kabuk hala eski sürümü bildiriyorsa, nvm kabuk fonksiyonu yüklenmemiş demektir; yeni bir oturum açın ve tekrar deneyin. Node 24, 6 Ekim 2026 itibarıyla aktif LTS (uzun süreli destek) serisidir ve bu tarihteki en yeni sürümü 24.21.0'dır. Bu sürüm, aşağıda açıklanan ikinci bir nedenden dolayı daha iyi bir hedeftir.

npx neden her gün farklı bir sürüm çalıştırıyor?

npx @deepseek-ai/dsh web herhangi bir sürüm belirtmediği için npx, kayıt defterine latest etiketinin işaret ettiği sürümü sorar. Bu etiket sık sık değişir. 0.1.0-rc.8, 0.1.0-rc.7 tarihinden iki gün sonra, 19 Ağustos 2026'da yayınlandı ve 6 Ekim 2026 itibarıyla latest, 0.2.0-rc.2 sürümüne geçti. Etiket her değiştiğinde, notlarınızdaki komut, herhangi bir uyarı veya değişiklik günlüğü sunmadan farklı bir kod çalıştırmaya başlar.

Komut satırından hareketli tüm parçaları inceleyebilirsiniz.

npm view @deepseek-ai/dsh dist-tags
npm view @deepseek-ai/dsh versions --json
npm view @deepseek-ai/dsh time --json

dist-tags, latest etiketinin şu anda nereyi işaret ettiğini gösterir. 6 Ekim 2026 tarihinde hem latest hem de next, 0.2.0-rc.2 sürümünü işaret ediyordu; üçüncü bir etiket olan alpha ise 0.2.1-alpha.1 sürümünü işaret etmekteydi. Bunların hiçbiri geçiş yapılabilecek kararlı bir kanal değildir. versions listesi, boşluklar içerdiği için daha ilgi çekicidir. 6 Ekim 2026 tarihinde bu liste, 0.0.1-rc.1 ile 0.2.1-alpha.1 arasında 30 sürüm barındırıyordu. 0.0.1 satırı -rc.2 sürümünden -rc.5 sürümüne atlar, 0.1.0 satırı -rc.3 sürümünden -rc.6 sürümüne atlar, alfa sürümleri 0.1.2-alpha.2 ve 0.1.3-alpha.2 ile başlar ve 0.1.4 sürümü hiç mevcut değildir. Bazı sürümler hiçbir zaman yayınlanmadığı, alfa sürümleri ve aday sürümler (release candidate) aynı listede iç içe geçtiği için numaralar eksiktir. Bir dağıtım betiğinde bir sonraki -rc.N sürümünü tahmin etmek başarısızlıkla sonuçlanacaktır; bu nedenle yukarı doğru saymak yerine listeyi okuyun.

npx neden eski bir sürümü çalıştırmaya devam ediyor?

Bu, tam tersi bir şikayettir ve hangi npm sürümünü çalıştırdığınıza bağlı olarak her ikisi de doğrudur.

npx, kendi paket dizinini tarball önbelleğinden ayrı olarak, npm önbelleği içindeki _npx adlı bir klasörde tutar. Yolu yazdırın ve inceleyin.

npm config get cache
ls "$(npm config get cache)/_npx"

Yıllarca npx, yalın bir paket adı için orada bulduğu her şeyi yeniden kullandı ve kayıt defterine (registry) bir daha asla sormadı. npm 11.2.0 bunu değiştirdi. Belirtim yalın bir ad veya sürüm aralığı olduğunda, npx artık manifest dosyasını getirir ve önbelleğe alınmış kopyayı yalnızca çözümlenen tarball, kayıt defterinin az önce döndürdüğü değerle eşleştiğinde yeniden kullanır.

Hangi davranışla karşılaşacağınız Node sürümünüz tarafından belirlenir, çünkü Node belirli bir npm sürümünü paket halinde sunar:

  • Node 20.20.2, npm 10.8.2 ile gelir.
  • Node 22.19.0, npm 10.9.3 ile gelir.
  • 6 Ekim 2026 itibarıyla en yeni 22 sürümü olan Node 22.23.3, npm 10.9.9 ile gelir.
  • Node 24.19.0, npm 11.17.0 ile gelir.
  • 6 Ekim 2026 itibarıyla en yeni 24 sürümü olan Node 24.21.0, npm 11.19.0 ile gelir.

Bu nedenle, harness'ın resmi olarak desteklediği tüm Node 22 serisi, 11.2.0'dan daha eski bir npm sürümüyle gelir. Node 22 üzerinde yalın bir npx @deepseek-ai/dsh web, haftalar önce önbelleğe aldığı sürüm adayını (release candidate) çalıştırmaya devam edecektir. Aynı komut Node 24 üzerinde her çalıştırmada yeniden çözümleme yapar. Tek bir komut, iki farklı davranış ve hiçbiri sizi uyarmıyor. Araca ne olduğunu sorun:

npx @deepseek-ai/dsh --version

npx önbelleğini temizleme

npm 11.2.0 ve daha yeni sürümlerde özel alt komutlar bulunur.

npm cache npx ls
npm cache npx rm --force

--force olmadan npm her şeyi silmeyi reddeder ve Please use --force to remove entire npx cache çıktısını verir. Tüm girdiler yerine anahtara göre tek bir girdiyi kaldırmak istediğinizde önce npm cache npx ls kullanın.

npm 10 sürümünde bu alt komutlar mevcut değildir, bu yüzden dizini kendiniz silin.

rm -rf "$(npm config get cache)/_npx"

npm cache clean --force burada işe yaramaz. Bu komut, tarball deposu olan _cacache dizinini temizler ve _npx dizinine dokunmaz. Bu ayrım, npm'in daha sonra npm cache npx alt komutlarını eklemesinin tam nedenidir. _npx dizinini temizlemenin kalıcı bir maliyeti de yoktur: burası indirilen paketleri tutar, oysa harness durumunuz $DSH_HOME/profiles/<name> altında yaşar ve bu işleme dokunulmaz.

Tam bir sürüm adayını (release candidate) nasıl sabitlerim?

-rc.N kısmını da içerecek şekilde tam sürüm dizisini belirtin.

npx --yes @deepseek-ai/dsh@0.1.0-rc.7 web

Bu sayfadaki örnekler 0.1.0-rc.7 kullanmaktadır. Kendi test ettiğiniz sürümü yerine yazın. 6 Ekim 2026 tarihinde latest etiketi 0.2.0-rc.2 sürümünü işaret etmekteydi.

--yes bir betik içerisinde önemlidir; aksi takdirde npx, daha önce görmediği bir paketi kurmadan önce bir istem görüntüler ve gelmeyecek bir yanıtı bekler.

Tam bir sürüm belirtmek aynı zamanda en hızlı yoldur. npx, önbellek dizinini yazdığınız belirtim dizisine göre anahtarlar; tam bir sürüm belirtildiğinde, bunu halihazırda kurulu olan paket kimliğiyle karşılaştırır ve kayıt defterine (registry) hiçbir ağ isteği göndermeden doğrudan çalıştırır. npm 11.2.0 ve sonraki sürümlerde, yalnızca paket adını yazmak her başlatmada bir manifest getirme maliyeti doğurur.

Global kurulum da aynı şekilde sabitlenir ve size kısa bir komut sağlar.

npm install -g @deepseek-ai/dsh@0.1.0-rc.7
dsh --version

@deepseek-ai/dsh@^0.1.0 için eşleşen sürüm bulunamadı

Caret (^) veya tilde (~) aralıkları bu paketle çalışmaz. npm install -g @deepseek-ai/dsh@^0.1.0, ETARGET hata kodu ve No matching version found for @deepseek-ai/dsh@^0.1.0. satırı ile yanıt verir. Kayıt defterinde bir sorun yoktur. Bu bir semver kuralıdır: Bir sürüm aralığı, aralığın kendisi bir ön sürüm (prerelease) belirtmediği sürece ön sürümlerle eşleşmez. Bu paketin yayınlanan her derlemesi, ya -rc.N ya da -alpha.N şeklinde bir ön sürümdür, bu nedenle ^0.1.0 hiçbir şeyle eşleşmez. Tam sürüm numarasını yazın.

Bu kuralın faydalı bir yan etkisi vardır. Aralıklar yeni bir sürüm adayına kayamadığı için, üzerinde düşünülmesi gereken "yarı sabitlenmiş" bir durum oluşmaz. Ya tam bir sürüm üzerindesinizdir ya da hareketli bir etiket (tag) üzerinde.

npx mi kullanmalıyım yoksa dsh paketini global olarak mı kurmalıyım?

İlk inceleme için npx kullanın; çünkü nasıl temizleyeceğinizi bildiğiniz bir önbellek dizini dışında sistemde hiçbir kalıntı bırakmaz. Yeniden başlatma sonrasında da çalışmaya devam etmesi gereken her şey için, örneğin bir VPS üzerinde sürekli çalıştırdığınız kodlama ajanı gibi, sabitlenmiş (pinned) bir global kurulum tercih edin.

Her ikisini de kullandığınız bir sunucuda bu iki yöntem çakışabilir, bu nedenle karşılaştırma yapın.

which dsh
dsh --version
npx @deepseek-ai/dsh --version

which dsh başarılı bir global kurulumun hemen ardından hiçbir şey bulunamaması, neredeyse her zaman npm global ikili (bin) dizininin PATH içerisinde eksik olduğu anlamına gelir. Kök dizini yazdırmak için npm prefix -g komutunu çalıştırın; ikili dosyalar bunun altındaki bin klasöründe bulunur.

Bir güvenlik notu: npx, yeni bir şey çözümlediğinde registry üzerinden kod indirip çalıştırır; bu durum bir sunucuda teorik değil, gerçek bir güvenlik açığıdır. Sabitleme (pinning), çözümün bir parçasıdır. Geri kalanı ise npm tedarik zinciri saldırılarının bir sunucuya nasıl ulaştığı konusundadır.

Geliştirici önizlemesinin tekrarlanabilirlik açısından anlamı

0.1.0-rc.6, 13 Ağustos 2026 tarihinde ve 0.1.0-rc.7 ise 17 Ağustos 2026 tarihinde yayımlandı. Aralarında dört gün var. O tarihten bu yana hız kesilmedi: 19 Ağustos ile 3 Ekim 2026 arasında 23 sürüm daha yayımlandı; buna 28 Eylül'deki 0.2.0-rc.1 ve ertesi günkü 0.2.0-rc.2 de dahil. Bu hızda, bir ay önce yazılmış talimatlar artık var olmayan bir komut satırını tarif edebilir; bu sayfa da buna dahildir. Kendi notlarınız dahil olmak üzere yazdığınız her sürüm iddiasına tarih ekleyin.

İki alışkanlık, önizleme sürecini yönetilebilir kılar. Her komutta ve her betikte tam sürümü sabitleyin; böylece bir sunucuyu yeniden oluşturduğunuzda aynı altyapı elde edilir. Ardından, herhangi bir kılavuzdan değil, sabitlediğiniz yapıdan gelen yardım çıktısını okuyun.

npx @deepseek-ai/dsh@0.1.0-rc.7 --help
npx @deepseek-ai/dsh@0.1.0-rc.7 web --dump-config

Tekrarlanabilirliğin ikinci yarısı profildir. dsh --profile <name>, $DSH_HOME/profiles/<name> konumunda depolanan profili başlatır; web ve headless profilleri ise ilk kullanımda sunulan şablonlardan kendilerini oluşturur. Altyapının API anahtarını, modelini ve uç nokta ayarlarını okuduğu yer de bu dizindir; dolayısıyla sabitlenmiş bir sürüm ile çalışan bir yapılandırma, doğru yapılması gereken iki ayrı konudur. Kutudan çıkan paketler, o an çalışmakta olan dsh kurulumundan çözümlenir; bu da sabitlenmiş sürümünüzü değiştirmenin bu paketleri de değiştireceği anlamına gelir. Dışarıdan eklenen eklentiler farklı davranır. Bunlar profil dizininde yaşar ve dsh plugin --profile <name> add <package>, bunları kurmak için argümanlarını pnpm'e iletir. Bu nedenle pnpm'in PATH üzerinde bulunması gerekir; dsh, pnpm bulunmadığında bunu açıkça belirtir. Eklediğiniz her eklenti, aracınızın sahip olduğu izinlerle çalışır; bu da bir eklentiyi kurmadan önce nelere erişebileceğini kontrol etmeyi gerektirir. Profilin kendi package.json dosyası bu eklentileri sabitler; dolayısıyla tam bir sabitleme işlemi, tek değil iki dosyayı kapsar.

Python araçlarını bir sunucuda yalıtılmış ortamlarda tuttuysanız, bu ayrım size tanıdık gelecektir: araç ve ona eklediğiniz öğeler ayrı yerlerde sabitlenir. Altyapı başladıktan sonra bir sonraki soru genellikle sürümlerden ziyade ağ iletişimi ile ilgilidir; bu noktada uzak bir VPS üzerinde dsh Web arayüzüne erişim ve DeepSeek Harness'ın bir VPS üzerine kurulumu konusundaki daha kapsamlı rehber devreye girer.

Karşılaşacağınız argüman hataları

Bu hatalar CLI'ın kendi ayrıştırıcısından kaynaklanır ve her biri tam sorunu belirtir. İfadeler sürümler arasında büyük ölçüde sabit kalmıştır ancak tamamen değil; bu nedenle aşağıdaki mesajlar 6 Ekim 2026 tarihinde 0.2.0-rc.2 sürümü ile doğrulanmıştır.

error: --profile <name> is required

npx @deepseek-ai/dsh komutunu alt komut ve profil belirtmeden çalıştırdınız. Yalın komut bir profil başlattığı için bir isme ihtiyaç duyar. dsh web, --profile olmadan çalışır çünkü ayrıştırıcı, ilk kelimeyi profil ismi olarak okur ve sizin için varsayılan web profilini başlatır.

error: --patch needs a path

--patch komutundan sonra hiçbir şey belirtilmedi. Bu bayrak tekrarlanabilir ve her kullanım bir dosya yolu gerektirir.

error: --dump-config and --dump-default-config are mutually exclusive

Birini seçin. 6 Ekim 2026 tarihinde işaret edilen latest sürümü olan 0.2.0-rc.2 içerisinde, mesaj üçüncü bir bayrağı da isimlendirerek error: --dump-config, --dump-default-config, and --dump-config-schema are mutually exclusive şeklinde görünür; çünkü profil girdileri ve yamalar için JSON şemasını yazdıran --dump-config-schema, diğer ikisine katılmıştır. --dump-default-config, yüklü paket katmanlarını yazdırır ve herhangi bir --patch kabul etmez. --dump-config, bir profil için oluşturulan yapılandırmayı yazdırır. Bunların hepsi, harness'ı başlatmadan çıktı verir ve sonlanır; bu da yeni bir sürüm adayının neleri değiştirdiğini görmenin güvenli yoludur.

error: plugin needs pnpm arguments to forward (e.g. add <package>)

dsh plugin --profile <name> komutuna iletilecek hiçbir şey verilmedi. Alt komut, eksik olduğunda profili başlatır ve ardından komut satırının geri kalanını pnpm'e devreder; bu nedenle add @scope/dsh-plugin-example gibi argümanlara ihtiyaç duyar.

FAQ

DeepSeek Harness hangi Node.js sürümüne ihtiyaç duyar?

Depo, kök dizinindeki ^22.19.0 || >=24.0.0 dosyasında, 6 Ekim 2026 tarihinde (depo 0.2.1-alpha.1 sürümündeyken) okunduğu üzere package.json belirtmektedir. Bu nedenle Node 22.19.0 veya 22 serisinin daha güncel sürümleri ya da Node 24 ve üzeri gereklidir. Node 20 çalışmayacaktır. Yayınlanan npm paketinin kendi engines alanı bulunmadığından, npm sizi hiçbir zaman uyarmaz veya kurulumu engellemez; hata çalışma zamanında ortaya çıkar. Öncelikle node -v kontrol edilmelidir. Node 24, npx sürüm yeniden kullanım sorununu çözen npm 11 ile birlikte geldiği için daha iyi bir tercihtir.

npx'i önbelleğe alınmış bir dsh yerine en yenisini kullanmaya nasıl zorlarım?

npm 11.2.0 ve sonraki sürümlerde npx @deepseek-ai/dsh, her çalıştırmada yalın paket adı için kayıt defterini (registry) zaten yeniden kontrol eder. Her Node 22 sürümüyle birlikte gelen npm 10'da ise bu durum geçerli değildir. npm 11'de npx önbelleğini npm cache npx rm --force ile temizleyin veya npm 10'da rm -rf "$(npm config get cache)/_npx" ile klasörü silin. Ardından npx @deepseek-ai/dsh --version ile doğrulayın. npm cache clean --force komutunun farklı bir dizini temizlediğini ve bu sorunu çözmeyeceğini unutmayın.

@deepseek-ai/dsh@^0.1.0 kurulumu neden başarısız oluyor?

npm, No matching version found for @deepseek-ai/dsh@^0.1.0. satırıyla birlikte ETARGET hata kodunu döndürür. Yayınlanan her yapı, 0.2.0-rc.2 veya 0.2.1-alpha.1 gibi bir ön sürümdür (prerelease) ve bir semver aralığı, aralığın kendisi bir ön sürüm belirtmediği sürece ön sürümlerle eşleşmez. Sürüm dizisini, son eki de dahil ederek tam olarak belirtin. Hangi sürümlerin mevcut olduğunu görmek için npm view @deepseek-ai/dsh versions --json komutunu çalıştırın; çünkü dizide hiç yayınlanmamış yapıların olduğu boşluklar mevcuttur.

dsh'yi global olarak mı kurmalıyım yoksa npx ile mi çalıştırmalıyım?

npx, bir önbellek dizini dışında hiçbir şey kalıcı olmadığından ilk inceleme için uygundur. npm install -g @deepseek-ai/dsh@0.1.0-rc.7 gibi sabitlenmiş bir global kurulum, sürüm yalnızca siz değiştirdiğinizde değişeceği için çalışmaya devam etmesi gereken her durum için uygundur. Global kurulumdan sonra dsh komutu bulunamazsa, npm'in global bin dizini PATH değişkeninizde eksiktir; npm prefix -g komutu, bu dizinin bulunduğu kök dizini yazdırır.

DeepSeek Harness üzerine inşa edilecek kadar kararlı mı?

Kendi tanımına göre henüz değil. README dosyası, projenin geliştirici önizlemesi aşamasında olduğunu, hızla değiştiğini ve uyumluluğu bozacak değişiklikler içereceğini belirtmektedir. 0.1.0-rc.6 ve 0.1.0-rc.7 sürüm adayları Ağustos 2026'da dört gün arayla, 0.2.0-rc.1 ve 0.2.0-rc.2 ise Eylül 2026'da bir gün arayla yayınlanmıştır. Sürümü tam olarak sabitleyin ve herhangi bir rehber yerine o sabitlenmiş yapıdan --help dosyasını okuyun. Kendi notlarınıza tarih atın, böylece ne kadar eskidiğini anlayabilirsiniz.