What is DeepSeek Harness
DeepSeek Harness is the Node command line tool dsh: it boots a profile of layered plugins and runs agent sessions on your machine.
DeepSeek Harness is the program behind the dsh command. It runs an agent loop on your own machine, keeps each conversation in a session file on disk, and is assembled from plugins rather than shipped as one fixed binary.
The npm package is @deepseek-ai/dsh. Its bin entry is dsh, and it declares Node.js 24.9.0 or newer. At the time of writing the published versions are 0.2.2-rc.1 (latest), 0.2.2-rc.3 (next) and 0.2.2-alpha.3 (alpha).
A profile, not a single mode
dsh <name> boots the profile stored under $DSH_HOME/profiles/<name>. A profile is a directory with two files: package.json (plugin dependencies plus a dsh.profile.bundles list) and cordis.patch.yml (your own patch layer).
The shipped profiles are web, headless, sdk, sdk-minimal and acp. The name desktop is reserved for the Electron app, so the CLI refuses to boot it. On first use, the shipped profiles initialise themselves from templates.
Where your files go
Everything lives under $DSH_HOME, which defaults to ~/.dsh. Profiles sit in profiles/, sessions under sessions/, and the workspace index under storages/.
A session is not one file. The payload is session*.jsonl.zstd, the list entry is an id inside storages/workspace.json, and the title and statistics live in storages/session_projcache.json. Treating those three as one thing is why "my session disappeared" reports keep happening.
How it is put together
The profile tree composes over an empty root: each bundle patch in dsh.profile.bundles order, then the profile's cordis.patch.yml, then $DSH_HOME/cordis.patch.yml, then any --patch overlay you pass.
--dump-default-config, --dump-config and --dump-config-schema print that composed tree without booting it, which is the fastest way to see what a plugin actually changed.
Common questions
Is DeepSeek Harness the same as the DeepSeek chat app?
No. The chat app is a hosted product. DeepSeek Harness is a local command line tool that runs agent sessions on your machine and stores them in your own ~/.dsh directory.
Do I need Node.js?
Yes. The package declares Node.js 24.9.0 or newer. There is no standalone installer that avoids Node.
What does the web profile do?
dsh web serves the browser UI from your machine. It accepts --port, --host, --no-open, --public-url and optional TLS certificate flags.
Where are sessions stored?
Under $DSH_HOME/sessions/, as session*.jsonl.zstd. The session list is a separate index in storages/workspace.json.