DeepSeek Harness kurulum ve sürüm hataları nasıl çözülür?
DeepSeek Harness kurulumunda yaşanan sürüm çakışmalarını gidermek için dsh sürümünü sabitleyin, npx önbelleğini temizleyin ve Node.js ile npm uyumluluğunu mutlaka 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ılması gereken bir servis bulunmamaktadır. Kullanıcıların karşılaştığı sorunların çoğu kurulumla ilgili değildir. Sorun genellikle sürüm çözümlemesidir: npx'in bugün @deepseek-ai/dsh paketinin hangi sürümünü çalıştırmaya karar verdiği ve Node.js sürümünüzün bunu çalıştırıp çalıştıramayacağı belirleyicidir.
Aşağıdaki her şey iki temel gerçeğe dayanır. Birincisi, npm üzerinde yayınlanan her @deepseek-ai/dsh sürümü şu ana kadar bir sürüm adayıdır (release candidate) ve latest etiketi bunlardan birini işaret eder. 18 Ağustos 2026 itibarıyla bu sürüm, 17 Ağustos 2026 tarihinde yayınlanan 0.1.0-rc.7 sürümüdür. İkincisi, proje README dosyası harness'ın geliştirici önizleme aşamasında olduğunu, hızla değiştiğini ve uyumluluğu bozan değişiklikler içereceğini belirtmektedir. Geçen hafta çalışan bir bayrak bu hafta kaldırılmış olabilir. Üzerine bir yapı inşa etmeden önce sürümü sabitleyin.
Öncelikle bazı terimleri tanımlayalım. 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; bir paketi kalıcı olarak kurmak yerine talep üzerine getirir.
dsh hangi Node.js sürümüne ihtiyaç duyar?
Deponun kök dizinindeki package.json dosyası, 18 Ağustos 2026 tarihinde 0.1.0-rc.7 sürümünde okunduğu üzere "engines": {"node": "^22.19.0 || >=24.0.0"} bildirimini içerir. Bu nedenle Node 22.19.0 veya 22 serisindeki 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 burasıdır. Yayınlanan @deepseek-ai/dsh paketi kendi içinde herhangi bir engines alanı barındırmaz. Sadece monorepo kök dizini bir bildirim içerir 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 kurulumu reddetmez. Node 20 üzerinde kurulum başarılı gibi görünür, ancak hata daha sonra, yüklenen kod çalışma zamanınızda bulunmayan bir sözdizimine veya API'ye erişmeye çalıştığında ortaya çıkar. Hangi modülün önce yüklendiğine bağlı olarak ilk hata veren satır değişeceğinden, arama yapılabilecek tek bir kararlı 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 -vnode -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.19.0, Ağustos 2026 itibarıyla güncel LTS (uzun süreli destek) sürümüdür ve 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 (registry) latest etiketinin işaret ettiği sürümü sorar. Bu etiket sürekli değişir. DeepSeek 0.1.0-rc.8 sürümünü yayınladığında, notlarınızda kayıtlı olan komut, herhangi bir uyarı veya değişiklik günlüğü sunmadan farklı bir kod çalıştırmaya başlar.
Komut satırı üzerinden 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 --jsondist-tags, latest öğesinin şu anda nereyi işaret ettiğini gösterir. 18 Ağustos 2026 tarihinde hem latest hem de next, 0.1.0-rc.7 adresini işaret etmekteydi; bu nedenle geçiş yapılabilecek ayrı bir kararlı kanal bulunmamaktadır. versions listesi daha ilgi çekicidir çünkü içerisinde boşluklar barındırır: 0.0.1-rc.1, 0.0.1-rc.2, 0.0.1-rc.5, 0.1.0-rc.2, 0.1.0-rc.3, 0.1.0-rc.6, 0.1.0-rc.7. Bazı sürüm adayları (release candidate) hiçbir zaman yayınlanmadığı için bu dizide bazı sayılar eksiktir. Bir dağıtım betiğinde (deploy script) bir sonraki -rc.N sürümünü tahmin etmeye çalışmak 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, karşılaşılan şikayetin tam tersidir ve hangi npm sürümünü çalıştırdığınıza bağlı olarak her iki durum da geçerlidir.
npx, npm önbelleği içindeki _npx adlı bir klasörde, tarball önbelleğinden ayrı olarak kendi paket dizinini tutar. Yolu yazdırmak ve incelemek için şu komutu kullanın:
npm config get cache
ls "$(npm config get cache)/_npx"Yıllar boyunca 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 ile bu durum değişti. Belirtim yalın bir isim veya sürüm aralığı olduğunda, npx artık manifest dosyasını getirir ve yalnızca çözümlenen tarball, kayıt defterinden yeni dönenle eşleşirse önbelleğe alınmış kopyayı 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 olarak içerir:
- Node 20.20.2, npm 10.8.2 sürümünü içerir.
- Node 22.19.0, npm 10.9.3 sürümünü içerir.
- En yeni 22 sürümü olan Node 22.23.2, npm 10.9.8 sürümünü içerir.
- Node 24.19.0, npm 11.17.0 sürümünü içerir.
Dolayısıyla, 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 komutu, 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ırıldığında 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 --versionnpx önbelleğini temizleme
npm 11.2.0 ve daha yeni sürümlerde özel alt komutlar mevcuttur.
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ünü silmek 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 olarak 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şlemden etkilenmez.
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--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 asla gelmeyecek bir yanıtı bekler.
Tam bir sürüm numarası aynı zamanda en hızlı yoldur. npx, önbellek dizinini yazdığınız belirtim dizisine göre anahtarlar; tam bir sürüm için ise bunu halihazırda kurulu olan paket kimliğiyle karşılaştırır ve kayıt defterine (registry) hiçbir gidiş-dönüş yapmadan doğrudan çalıştırır. npm 11.2.0 ve sonraki sürümlerde, yalın bir isim kullanmak 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 belirtmediği sürece bir ön sürümle eşleşmez. Bu paketin yayınlanan her yapısı -rc.N şeklindedir ve bu bir ön sürümdür; dolayısıyla ^0.1.0 hiçbir şeyle eşleşmez. Tam sürüm numarasını yazın.
Bu kuralın yararlı 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) üzerindesinizdir.
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ışması gereken her şey için, örneğin bir VPS üzerinde sürekli çalıştırdığınız kodlama aracı gibi, sabitlenmiş (pinned) bir global kurulum tercih edin.
Her ikisini de kullandığınız bir sunucuda bu iki yöntem çakışabilir, bu nedenle aralarındaki farkları kontrol edin.
which dsh
dsh --version
npx @deepseek-ai/dsh --versionwhich dsh Başarılı bir global kurulumun hemen ardından hiçbir şey bulunamaması, genellikle npm global bin dizininin PATH içerisinde tanımlı olmamasından kaynaklanır. Kök dizini yazdırmak için npm prefix -g komutunu çalıştırın; ikili dosyalar bunun altındaki bin klasöründe yer alır.
Bir güvenlik notu: npx, yeni bir paket çözümlerken kodu registry üzerinden çeker ve çalıştırır; bu durum bir sunucuda teorik değil, gerçek bir güvenlik açığı oluşturur. 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, 0.1.0-rc.7 ise 17 Ağustos 2026 tarihinde yayımlandı. Aralarında dört gün var. Bu hızla, bir ay önce yazılmış talimatlar artık var olmayan bir komut satırını tarif edebilir; bu sayfa da buna dahildir. Yazdığınız her sürüm iddiasını, kendi notlarınız dahil olmak üzere tarihleyin.
İ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-configTekrarlanabilirliğin ikinci yarısı profildir. dsh --profile <name>, $DSH_HOME/profiles/<name> konumunda saklanan profili başlatır; web ve headless profilleri ise ilk kullanımda sunulan şablonlardan kendilerini oluşturur. Bu dizin aynı zamanda altyapının API anahtarını, modelini ve uç nokta ayarlarını okuduğu yerdir; 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ışan 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 (out-of-tree) eklentiler farklı davranır. Bunlar profil dizininde yaşar ve dsh plugin --profile <name> add <package>, argümanlarını yüklenmeleri için pnpm'e iletir. Bu nedenle pnpm'in PATH üzerinde bulunması gerekir; dsh, pnpm bulunmadığında bunu açıkça belirtir. Profilin kendi package.json dosyası bu eklentileri sabitleyen şeydir; dolayısıyla tam bir sabitleme işlemi tek değil, iki dosyayı kapsar.
Eğer 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 şeyler 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 rehberindeki daha kapsamlı anlatım devreye girer.
Gerçekte karşılaşacağınız argüman hataları
Bu hatalar CLI'ın kendi ayrıştırıcısından kaynaklanır, bu nedenle sürüm adayı serisi boyunca kararlıdır ve her biri tam olarak sorunun ne olduğunu belirtir.
error: --profile <name> is required
npx @deepseek-ai/dsh komutunu alt komut ve profil belirtmeden çalıştırdınız. Yalın komut bir profili başlatır, bu yüzden bir isme ihtiyaç duyar. dsh web, --profile gerektirmeyen alt komuttur; çünkü sizin için yüklü gelen web profilini başlatır.
error: --patch needs a path
--patch bayrağından 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. --dump-default-config, yüklü gelen paket katmanlarını yazdırır ve --patch kabul etmez. --dump-config ise bir profil için oluşturulan yapılandırmayı yazdırır. Her ikisi de harness'ı başlatmadan çıktı verir ve sonlanır; bu da yeni bir sürüm adayının sizin bilginiz dışında neleri değiştirdiğini görmenin en güvenli yoludur.
error: plugin needs pnpm arguments to forward (e.g. add <package>)
dsh plugin --profile <name> komutuna iletilecek hiçbir şey verilmedi. Bu 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 package.json dosyasında 18 Ağustos 2026 itibarıyla 0.1.0-rc.7 sürümü için ^22.19.0 || >=24.0.0 değerini belirtmektedir. Bu nedenle Node 22.19.0 veya 22 serisinden daha güncel bir sürüm ya da Node 24 ve üzeri gereklidir. Node 20 çalışmayacaktır. Yayınlanan npm paketi kendi içinde bir engines alanına sahip değildir; bu yüzden 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 her halükarda daha iyi bir tercihtir.
npx'i önbellekteki yerine en güncel dsh sürümünü kullanmaya nasıl zorlarım?
npm 11.2.0 ve sonraki sürümlerde npx @deepseek-ai/dsh, çıplak paket isimleri için her çalıştırmada kayıt defterini zaten yeniden kontrol eder. Node 22 sürümlerinin tamamında bulunan npm 10'da ise bu özellik yoktur. npm 11 kullanıyorsanız npx önbelleğini npm cache npx rm --force ile temizleyin veya npm 10 kullanıyorsanız 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ı ile birlikte ETARGET hata kodunu döndürür. Yayınlanan her yapı, 0.1.0-rc.7 gibi bir ön sürümdür (prerelease) ve semver aralığı, aralığın kendisi bir ön sürüm belirtmediği sürece bu sürümlerle eşleşmez. -rc.N soneki dahil olmak üzere tam sürüm dizgisini kurun. Hangi sürümlerin mevcut olduğunu görmek için npm view @deepseek-ai/dsh versions --json komutunu çalıştırın; çünkü yayınlanmamış sürüm adayları nedeniyle dizide boşluklar olabilir.
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, çalışmaya devam etmesi gereken her şey için uygundur çünkü sürüm yalnızca siz değiştirdiğinizde değişir. 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 yolu 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 önizleme 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 yayınlanmıştır. Belirli bir sürümü 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.