SSD Nodes Learn 🎉 VPS vanaf $5.50/mnd
Gidsen Matt ConnorDoor Matt Connor · Bijgewerkt 2026-08-21

DeepSeek Harness installatie en versie fouten oplossen

Elke DeepSeek Harness build is een release candidate. Voorkom fouten door een exacte dsh versie te pinnen, de npx cache te legen en uw actieve npm versie te controleren.

Wat de DeepSeek Harness-installatie werkelijk inhoudt

De DeepSeek Harness-installatie bestaat uit één commando: npx @deepseek-ai/dsh web. Er is geen installer en er is geen service die geconfigureerd moet worden. De meeste problemen waar gebruikers tegenaan lopen, hebben niets met de installatie te maken. Het gaat om versie-resolutie: welke build van @deepseek-ai/dsh npx vandaag besluit uit te voeren, en of uw Node.js-versie deze kan draaien.

Twee feiten bepalen alles wat hieronder volgt. Ten eerste is elke versie van @deepseek-ai/dsh die tot nu toe op npm is gepubliceerd een release candidate, en de latest-tag wijst naar een van deze versies. Per 18 augustus 2026 is dat 0.1.0-rc.7, gepubliceerd op 17 augustus 2026. Ten tweede vermeldt de README van het project dat de harness zich in een developer preview-fase bevindt, snel evolueert en wijzigingen zal bevatten die de compatibiliteit verbreken. Een flag die vorige week werkte, kan deze week verdwenen zijn. Pin een versie vast voordat u er iets op bouwt.

Eerst enkele termen. dsh is de command-line tool van DeepSeek Harness. Node.js is de JavaScript-runtime die hiervoor nodig is. npx is de package runner die wordt meegeleverd met npm (node package manager); deze haalt een pakket op verzoek op in plaats van het permanent te installeren.

Welke Node.js-versie is vereist voor dsh?

De root van de repository package.json declareert "engines": {"node": "^22.19.0 || >=24.0.0"}, gelezen op 18 augustus 2026 bij versie 0.1.0-rc.7. Dit betekent Node 22.19.0 of nieuwer binnen de 22-lijn, of Node 24 en hoger. Node 20 wordt niet ondersteund.

Controleer eerst welke versie u heeft geïnstalleerd.

node -v
npm -v

Dit is het punt dat vaak voor verrassingen zorgt. Het gepubliceerde @deepseek-ai/dsh-pakket bevat zelf geen engines-veld. Alleen de root van de monorepo declareert er een, en dat rootbestand wordt nooit naar npm gepubliceerd. npm heeft daarom niets om te controleren, geeft geen EBADENGINE-waarschuwing en blokkeert niets. Op Node 20 lijkt de installatie geslaagd, maar de fout treedt later op wanneer de geladen code syntax of een API aanroept die uw runtime niet ondersteunt. Er is geen enkele stabiele foutmelding om op te zoeken, omdat de regel die als eerste faalt afhangt van welke module als eerste wordt geladen. Lees node -v in plaats van te vertrouwen op de crashmelding.

Als uw Node-versie te oud is, is nvm (node version manager) de minst ingrijpende oplossing op een VPS, omdat deze onder uw home-directory installeert en de systeem-Node ongemoeid laat.

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 hoort nu een versie te tonen die begint met v24.. Als de shell nog steeds de oude versie rapporteert, is de nvm-shellfunctie niet geladen; open in dat geval een nieuwe login-shell en probeer het opnieuw. Node 24.19.0 is de actieve LTS-release (long term support) per augustus 2026, en dit is om een tweede reden, die hieronder wordt behandeld, het betere doel.

Waarom voert npx elke dag een andere versie uit?

npx @deepseek-ai/dsh web specificeert geen versie, dus vraagt npx aan het register naar de versie waar de latest-tag naar verwijst. Die tag verandert. Wanneer DeepSeek 0.1.0-rc.8 publiceert, voert het commando in uw notities andere code uit, zonder waarschuwing en zonder dat u een changelog ziet.

U kunt elk bewegend onderdeel inspecteren vanaf de command line.

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

dist-tags toont waar latest op dit moment naar verwijst. Op 18 augustus 2026 wezen zowel latest als next naar 0.1.0-rc.7, er is dus geen apart stabiel kanaal om naar over te schakelen. De versions-lijst is interessanter, omdat deze gaten bevat: 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. Nummers ontbreken in die reeks omdat sommige release candidates nooit zijn gepubliceerd. Gissen naar de volgende -rc.N in een deploy-script zal mislukken, lees daarom de lijst in plaats van omhoog te tellen.

Waarom blijft npx een oude versie uitvoeren?

Dit is de tegenovergestelde klacht, en beide zijn waar, afhankelijk van welke npm u gebruikt.

npx houdt zijn eigen pakketmap bij, gescheiden van de tarball-cache, in een map genaamd _npx binnen de npm-cache. Print het pad en bekijk het.

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

Jarenlang hergebruikte npx alles wat het daar vond voor een kale pakketnaam en vroeg het nooit meer aan de registry. npm 11.2.0 heeft dat veranderd. Wanneer de specificatie een kale naam of een versiebereik is, haalt npx nu het manifest op en hergebruikt de gecachte kopie alleen wanneer de opgeloste tarball overeenkomt met wat de registry zojuist heeft geretourneerd.

Welk gedrag u krijgt, wordt bepaald door uw Node-release, omdat Node een specifieke npm bundelt:

  • Node 20.20.2 bundelt npm 10.8.2.
  • Node 22.19.0 bundelt npm 10.9.3.
  • Node 22.23.2, de nieuwste 22-release, bundelt npm 10.9.8.
  • Node 24.19.0 bundelt npm 11.17.0.

De gehele Node 22-lijn, die de harness officieel ondersteunt, levert dus een oudere npm dan 11.2.0. Op Node 22 zal een kale npx @deepseek-ai/dsh web de release candidate blijven uitvoeren die weken geleden is gecachet. Hetzelfde commando op Node 24 lost bij elke uitvoering opnieuw op. Eén commando, twee gedragingen, en geen van beide waarschuwt u. Vraag de tool wat het is:

npx @deepseek-ai/dsh --version

De npx-cache wissen

Op npm 11.2.0 en nieuwer zijn er speciale subcommando's.

npm cache npx ls
npm cache npx rm --force

Zonder --force weigert npm alles te wissen en print het Please use --force to remove entire npx cache. Gebruik eerst npm cache npx ls wanneer u één item op sleutel wilt verwijderen in plaats van ze allemaal.

Op npm 10 bestaan deze subcommando's niet, dus verwijder de map zelf.

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

npm cache clean --force helpt hier niet. Het wist _cacache, de tarball-opslag, en laat _npx ongemoeid. Die scheiding is precies de reden waarom npm later de npm cache npx-subcommando's heeft toegevoegd. Het wissen van _npx kost u ook niets permanents: het bevat gedownloade pakketten, terwijl uw harness-status onder $DSH_HOME/profiles/<name> leeft en onaangeroerd blijft.

Hoe pin ik een specifieke release candidate?

Geef de volledige versiestring op, inclusief het -rc.N-gedeelte.

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

--yes is van belang in een script, omdat npx anders een prompt toont voordat het een pakket installeert dat het nog niet kent. Het wacht vervolgens op een antwoord dat nooit komt.

Een exact versienummer is bovendien de snelste methode. npx baseert de cache-directory op de opgegeven specificatiestring. Bij een exact versienummer vergelijkt npx dit direct met de reeds geïnstalleerde pakket-ID en voert het commando uit zonder contact te maken met het register. Vanaf npm 11.2.0 en nieuwer kost een kale naam u bij elke start een manifest-fetch.

Een globale installatie pin je op dezelfde wijze, wat u een kort commando oplevert.

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

No matching version found for @deepseek-ai/dsh@^0.1.0

Een caret- of tilde-bereik werkt niet bij dit pakket. npm install -g @deepseek-ai/dsh@^0.1.0 reageert met foutcode ETARGET en de regel No matching version found for @deepseek-ai/dsh@^0.1.0. Het register functioneert naar behoren. Dit is een semver-regel: een versiebereik komt niet overeen met een prerelease-versie, tenzij het bereik zelf een prerelease benoemt. Elke gepubliceerde build van dit pakket is -rc.N, wat een prerelease is; daarom komt ^0.1.0 nergens mee overeen. Gebruik het exacte versienummer.

Deze regel heeft een nuttig neveneffect. Omdat bereiken niet automatisch kunnen verspringen naar een nieuwe release candidate, is er geen onduidelijke 'half-gepinde' status. U werkt ofwel met een exact versienummer, ofwel met een variabele tag.

Moet ik npx gebruiken of dsh globaal installeren?

Gebruik npx voor een eerste verkenning, omdat er niets achterblijft behalve een cache-directory die u nu weet te verwijderen. Gebruik een vastgezette globale installatie voor alles wat na een herstart moet blijven werken, zoals een coding agent die u op een VPS laat draaien.

De twee kunnen conflicteren op een systeem waar u beide heeft gebruikt, dus vergelijk ze.

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

which dsh niets vinden direct na een succesvolle globale installatie betekent bijna altijd dat de globale bin-directory van npm ontbreekt in uw PATH. Voer npm prefix -g uit om de root weer te geven; de binaries bevinden zich in de bin-map daaronder.

Een beveiligingsopmerking. npx haalt code op uit de registry en voert deze uit zodra het iets nieuws oplost, wat op een server een reëel risico vormt in plaats van een theoretisch risico. Vastzetten is een deel van de oplossing. De rest staat in hoe npm supply chain-aanvallen een server bereiken.

Wat een developer preview betekent voor reproduceerbaarheid

0.1.0-rc.6 werd gepubliceerd op 13 augustus 2026 en 0.1.0-rc.7 op 17 augustus 2026. Vier dagen verschil. In dat tempo kunnen instructies die een maand geleden zijn geschreven een command line beschrijven die niet meer bestaat, en dat geldt ook voor deze pagina. Voorzie elke versieclaim die u noteert van een datum, inclusief uw eigen aantekeningen.

Twee gewoontes maken de preview werkbaar. Pin de exacte versie in elk commando en elk script, zodat het opnieuw opbouwen van een server hetzelfde resultaat oplevert. Lees vervolgens de help-output van de gepinde build in plaats van die uit een handleiding.

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

De tweede helft van reproduceerbaarheid is het profiel. dsh --profile <name> start het profiel dat is opgeslagen op $DSH_HOME/profiles/<name>, en de web en headless profielen maken zichzelf aan op basis van meegeleverde templates bij het eerste gebruik. Die directory is ook de plek waar de harness zijn API-sleutel, model- en endpoint-instellingen leest, dus een gepinde versie en een werkende configuratie zijn twee afzonderlijke zaken die correct moeten zijn. In-box bundles worden opgelost vanuit de dsh-installatie die momenteel draait, wat betekent dat het wijzigen van uw gepinde versie ook die bundles wijzigt. Out-of-tree plugins gedragen zich anders. Deze bevinden zich in de profieldirectory en dsh plugin --profile <name> add <package> stuurt zijn argumenten door naar pnpm om ze te installeren. pnpm moet dus in uw PATH staan, en dsh geeft dit duidelijk aan wanneer dat niet het geval is. Het eigen package.json van het profiel is wat die plugins pint, dus een volledige pin beslaat twee bestanden, niet één.

Die splitsing zal bekend aanvoelen als u Python-tools in geïsoleerde omgevingen op een server heeft beheerd: de tool en de zaken die u eraan toevoegt, worden op afzonderlijke plaatsen gepind. Zodra de harness start, is de volgende vraag meestal netwerkgerelateerd in plaats van versiegerelateerd; hier nemen het bereiken van de dsh Web UI op een externe VPS en de uitgebreidere walkthrough in het installeren van DeepSeek Harness op een VPS het over.

Argumentfouten die u daadwerkelijk zult zien

Deze zijn afkomstig van de eigen parser van de CLI; ze zijn daarom stabiel gedurende de gehele release candidate-reeks en benoemen elk het exacte probleem.

error: --profile <name> is required

U voerde npx @deepseek-ai/dsh uit zonder subcommando en zonder profiel. Het kale commando start een profiel op, dus heeft het een naam nodig. dsh web is het subcommando dat geen --profile vereist, omdat het automatisch het meegeleverde web-profiel voor u opstart.

error: --patch needs a path

--patch werd aangeroepen zonder argumenten erachter. De flag is herhaalbaar en bij elk gebruik is één bestandspad vereist.

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

Kies er één. --dump-default-config toont de meegeleverde bundellagen en accepteert geen --patch. --dump-config toont de samengestelde configuratie voor een profiel. Beide opties tonen de informatie en sluiten af zonder de harness te starten; dit is de veilige manier om te zien wat een nieuwe release candidate voor u heeft gewijzigd.

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

dsh plugin --profile <name> kreeg niets mee om door te sturen. Het subcommando initialiseert het profiel wanneer dit ontbreekt en geeft vervolgens de rest van de command line door aan pnpm; hiervoor zijn argumenten nodig, zoals add @scope/dsh-plugin-example.

FAQ

Welke Node.js-versie heeft DeepSeek Harness nodig?

De repository declareert ^22.19.0 || >=24.0.0 in zijn root package.json, gelezen op 18 augustus 2026 bij versie 0.1.0-rc.7. Gebruik dus Node 22.19.0 of later in de 22-lijn, of Node 24 en nieuwer. Node 20 werkt niet. Het gepubliceerde npm-pakket bevat zelf geen engines-veld, waardoor npm u nooit waarschuwt en de installatie niet blokkeert; de fout treedt pas op tijdens runtime. Controleer eerst node -v. Node 24 is sowieso de betere keuze, omdat deze npm 11 bundelt, wat het hergebruik van npx-versies oplost.

Hoe dwing ik npx om de nieuwste dsh te gebruiken in plaats van een gecachte versie?

Op npm 11.2.0 en nieuwer controleert npx @deepseek-ai/dsh bij elke uitvoering al opnieuw het register voor een kale pakketnaam. Op npm 10, dat bij elke Node 22-release wordt gebundeld, gebeurt dit niet. Leeg de npx-cache met npm cache npx rm --force op npm 11, of verwijder de map met rm -rf "$(npm config get cache)/_npx" op npm 10. Bevestig daarna met npx @deepseek-ai/dsh --version. Let op: npm cache clean --force wist een andere map en lost dit probleem niet op.

Waarom mislukt het installeren van @deepseek-ai/dsh@^0.1.0?

npm geeft foutcode ETARGET terug met de regel No matching version found for @deepseek-ai/dsh@^0.1.0.. Elke gepubliceerde build is een prerelease zoals 0.1.0-rc.7, en een semver-bereik komt niet overeen met prerelease-versies tenzij het bereik zelf een specifieke versie benoemt. Installeer de exacte versie-string, inclusief het -rc.N-achtervoegsel. Voer npm view @deepseek-ai/dsh versions --json uit om te zien welke versies bestaan, aangezien de reeks gaten bevat waar release candidates nooit zijn gepubliceerd.

Moet ik dsh globaal installeren of via npx uitvoeren?

npx is geschikt voor een eerste verkenning, aangezien er niets behouden blijft behalve een cache-map. Een vastgezette globale installatie zoals npm install -g @deepseek-ai/dsh@0.1.0-rc.7 is geschikt voor alles wat moet blijven werken, omdat de versie alleen verandert wanneer u dat zelf doet. Als het dsh-commando na een globale installatie niet wordt gevonden, ontbreekt de globale bin-map van npm in uw PATH, en npm prefix -g toont de root-map waar deze zich bevindt.

Is DeepSeek Harness stabiel genoeg om op te bouwen?

Nog niet, volgens de eigen beschrijving. De README stelt dat het project zich in een developer preview bevindt, snel itereert en wijzigingen zal bevatten die de compatibiliteit verbreken. Release candidates 0.1.0-rc.6 en 0.1.0-rc.7 werden in augustus 2026 met vier dagen tussenruimte gepubliceerd. Pin een exacte versie vast en lees --help van die specifieke build in plaats van uit een handleiding. Voorzie uw eigen aantekeningen van een datum, zodat u kunt zien hoe verouderd ze zijn geworden.