DeepSeek Harness v0.1 Explained: An Open-Source Claude Code Alternative (Hands-On)

DeepSeek released Harness v0.1 — its first agent product — on the night of August 13, 2026. It is a developer-preview, MIT-licensed, fully open-source agent runtime framework built on a "Everything is a Plugin" architecture. Its stated formula is Model + Harness = Agent: the model reasons, and the Harness owns everything else — tool calls, task planning, context management, retries.
In plain terms: it is DeepSeek's direct answer to Claude Code and OpenAI Codex, except the whole thing is open source under MIT.
Why this post exists: the npm package
@deepseek-ai/dshwent public about 14 hours ago, and the official GitHub README is still an empty file tree. This is the classic "documentation vacuum" window — so I verified the actual commands against the npm package and GitHub commit history and wrote down what actually works. Anything the official docs haven't confirmed yet is flagged as "unverified."
What is confirmed (from npm + GitHub)
| Field | Value |
|---|---|
| Package | @deepseek-ai/dsh (note the @ scope — not deepseek-ai/dsh) |
| Version | 0.1.0-rc.6, Public, published ~14h ago |
| License | MIT |
| Repo | github.com/deepseek-ai/deepseek-harness |
| Core idea | Everything is a Plugin, built on the Cordis plugin runtime |
| Built-in bundles | @deepseek-ai/dsh-base, @deepseek-ai/dsh-web-app, @deepseek-ai/dsh-headless |
Run it in 5 minutes (verified commands)
Prerequisite: a recent Node.js LTS.
# Option A: run without installing (try this first)
npx @deepseek-ai/dsh web
# Option B: install globally, then use the dsh command
npm i -g @deepseek-ai/dsh
dsh webdsh web is an alias for --profile web. On first launch it auto-initializes from a built-in template and prints a local URL. In the browser:
- Paste your DeepSeek API key (create one at
platform.deepseek.com; it starts withsk-and is shown only once — copy it immediately). - If the
DEEPSEEK_API_KEYenv var is already set, you can skip this. - You must pick a workspace directory, or the input box won't send messages. Use an empty folder to experiment — don't point it at a real project yet.
All verified commands
| Command | Purpose |
|---|---|
dsh web | Launch the Web UI (= --profile web), the default onboarding path |
dsh --profile <name> | Boot a named profile under $DSH_HOME/profiles/<name> |
dsh --profile headless "task" | Run one headless session, print the final answer, exit — great for scripts / CI |
dsh plugin --profile <name> <pnpm args> | Manage a profile's plugins via pnpm |
dsh --profile web --port 8080 | Pass args to the Web app (the launcher only parses its own flags, the rest go to the profile) |
dsh --dump-default-config / --dump-config | Inspect the composed config tree without booting |
The invoking directory is the default workspace root. Any profile other than
web/headlessmust be created throughdsh plugin.
Architecture in one paragraph (confirmed)
A profile is an ordered stack of plugin-bundle patch layers: dsh.profile.bundles (in order) → the profile's cordis.patch.yml → the home-level $DSH_HOME/cordis.patch.yml → --patch overlays. Each profile directory holds three things: a package.json (for out-of-tree plugin deps), a dsh.profile manifest (with the bundles list), and a cordis.patch.yml (your own patch layer). Use --dump-config to see the final composition without launching.
Gotchas (the part worth bookmarking)
- v0.1 preview — breaking changes can land anytime. DeepSeek explicitly says later releases may break compatibility. Don't put it in production.
- The package name has an
@scope:npx @deepseek-ai/dsh web. Writingnpx deepseek-ai/dsh webwill fail to resolve. - You must select a workspace, or the input won't send and the send button stays greyed out.
- Set the API key via env var (
export DEEPSEEK_API_KEY=sk-...) to skip the in-UI setup. - Sandbox, remote access, and messaging-platform integration are incomplete — wait for stability before any cloud-multi-platform deployment.
- The Chinese docs live at
apps/cli/README.zh.md, but as of publishing the README body is still empty — which is the vacuum.
Unverified but widely reported (treat as pending)
- Four run modes — Standard / PTC (programmatic tool calling, write flows in TS) / Minimal / Creative — not yet in official docs; likely map to different profiles or presets.
- Supports ~40 third-party models (OpenAI / Anthropic / Google, etc.); not locked to DeepSeek.
- ~769 internal testers and ~ 300 community plugins during the closed beta.
- Led by Cui Tianyi (a six-time ACM gold medalist, ex-Jane Street), who joined DeepSeek in March 2026.
Why it matters
DeepSeek isn't content to be "the model you call." Harness is a land grab for the developer entry point above the model. Shipping it under MIT is a signal: don't live under Anthropic's rule. For builders, the documentation vacuum is a small but real window — write the first clear guide, and it ranks before the official docs catch up.
Next Steps
If you want the architecture behind any agent runtime — not just DeepSeek Harness — start with the fundamentals, then pick a framework path.
What DeepSeek Harness is and why it shipped →Learn how AI agents work →Build your own AI agent →Compare agent frameworks →how do AI agents work — return to the complete AI agent architecture guide.
Was this helpful?
Your feedback stays on this page — no tracking.