MomomaiHimeki/DeepseekHarnessBootstrapper

DeepseekHarnessBootstrapper

Install the Node.js environment and Deepseek Harness in one go, and launch them via desktop shortcut. 一次性安装node.js环境和Deepseek Harness,以及桌面快捷方式启动

Uncategorizeddeepseekdeepseek-harnessdeepseek-harness-plugin

DeepSeek Harness Bootstrapper

中文说明(主 README)

A small, third-party Windows bootstrapper for installing the Node.js runtime when needed, launching DeepSeek Harness, and opening its local web UI. It is not an official DeepSeek installer and is not affiliated with DeepSeek.

The release EXE contains only PowerShell/CMD launcher material. It does not bundle Node.js or DeepSeek Harness. At run time it fetches the latest Windows LTS MSI from https://nodejs.org, then runs DeepSeek's documented command: npx.cmd --yes @deepseek-ai/dsh web --no-open.

Safety and privacy

  • No proxy, DNS, firewall, VPN, service, startup, or PATH changes.
  • No PowerShell ExecutionPolicy change; node.exe, npm.cmd and npx.cmd are used explicitly and npx.ps1 is never selected.
  • No telemetry and no API-key collection or logging; authentication URLs are never written to the log.
  • Node.js is never removed. An MSI is only offered when Node/npm/npx is absent or the installed Node does not meet the package's published engine range.
  • Node discovery checks the current process, common official install locations, and both user/machine PATH values.
  • The launcher never terminates arbitrary node.exe processes. It only stops a process tree it recorded as its own, addressed by PID.

Launch decision

The launcher distinguishes four states: already running, starting, not running, and port taken by a different program. A running Harness is identified over HTTP (the unauthenticated 401 contract or the authenticated page carrying the DeepSeek Harness title and __DSH_BOOT__); an open TCP port alone is never treated as ready. A running instance is reused and opened directly, without starting another npx process and without requesting a new authentication URL.

Build

powershell -NoProfile -ExecutionPolicy Bypass -File .\scripts\Build-Release.ps1

This uses the built-in .NET Framework C# compiler and IExpress; no Electron, Tauri, Node runtime, or third-party packager is required. The result is dist\release\DeepSeekHarnessBootstrapper-Setup-vX.YY.exe.

Offline tests (no network, no installation):

powershell -NoProfile -ExecutionPolicy Bypass -File .\tests\SmokeTests.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File .\tests\HarnessReadiness.Tests.ps1

Project layout

  • src\Bootstrapper.ps1 — installation checks, Node LTS retrieval, DSH launch, readiness verification, retry and logging.
  • src\HarnessReady.ps1 — shared running-state detection: Web fingerprint, port state, authentication URL reuse, opening the UI.
  • src\Launcher.ps1 — desktop launcher logic (same decision).
  • installer\Program.cs — .NET Framework shell embedding the PowerShell payload (Setup / Runtime / Uninstall modes).
  • installer\Install.ps1 and installer\Install.cmd — install into the current user's Local AppData folder and verify the shortcut.
  • scripts\Build-Release.ps1 — ICO generation and the three EXE builds.
  • tests\ — syntax and offline decision tests.
  • VERSION.txt — single release-version source.

Logs live under %LocalAppData%\DeepSeekHarnessBootstrapper\logs, not in the repository. They record command outcomes and diagnostic tails, never environment variables, API keys, or full token URLs.

Limitations

The official Node MSI can require elevation. If Windows displays UAC, the user must approve it; the bootstrapper then refreshes discovery without requiring a reboot. Network access to nodejs.org and the npm registry is required, and the first npx download can take several minutes.

Third-party notices

Node.js is obtained only from nodejs.org and remains subject to its own license. DeepSeek Harness is installed from the @deepseek-ai/dsh npm package and remains subject to its upstream license and terms. This repository does not include either product or its branding assets.

assets/dsh.png and assets/dsh.ico are local build inputs; the project does not claim ownership of the DeepSeek Harness mark. Before redistributing, confirm that redistribution of this upstream artwork is permitted; otherwise replace or remove the artwork and supply it as a local build input.