Upstream’s source install is explicit: clone the GitHub repo, install with pnpm, build, then pnpm dsh web:
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
Use this when you will write plugins, read docs/development.md, or track CI. For UI-only trials, prefer npx one-command start. Concepts: what Harness is. Restricted-network egress: proxy guide.
Environment: Node, pnpm, Git
- Node.js: 22.19+ or 24+ per current development docs.
-
pnpm: Corepack-pinned; run
corepack enableif the version is wrong. - Git: Upstream documents a minimum Git version for hooks/worktree helpers.
Optional: set DEEPSEEK_API_KEY (or documented equivalents) so Web/headless demos can call a model. Without a key you may still install and open the UI, but agent tasks stop at auth.
Steps: clone → install → build → web
-
git clone https://github.com/deepseek-ai/deepseek-harness.gitand enter the directory. -
pnpm installfor the workspace; if postinstall was skipped, follow upstream’s hook repair scripts—do not delete hooks to “speed up.” -
pnpm run build. -
pnpm dsh webfor the Web UI (often port3080—trust process output).
If README disagrees with this page, README wins—the preview moves faster than blogs.
Source vs npx
| npx @deepseek-ai/dsh web | git clone + pnpm | |
|---|---|---|
| Goal | Fast UI trial | Dev, plugins, mainline |
| Cost | Lighter | Full tree + build |
| Egress | Mostly npm | GitHub + npm (+ CDNs) |
| Upgrade | Re-run npx | git pull, then reinstall/rebuild per docs |
Restricted networks: verify GitHub and registry apart
Clone stuck on GitHub and install stuck on npm are different failures. With Clash Verge Rev, use Rule + Tun (or shell HTTP(S)_PROXY), open a new shell, prove a tiny git operation, then run pnpm install. The connections page should show both classes of traffic. Overview: Tun & AI. Ports: 7890/7897. Client: download center.
Do not DIRECT github.com or registry.npmjs.org by accident. After rule edits, redo a minimal clone/install—not a permanent Global mode.
Acceptance and stop rules
Pass: repo present, deps installed, build OK, UI opens, and (with a key) a read-only smoke task works. Debug one layer at a time: git → registry/Node → build/UI logs. Do not disable corporate EDR for a source install, and do not reinstall Clash on every timeout.