Skip to content
howdoaiagentswork.com

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

DeepSeek Harness open-source agent runtime

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/dsh went 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)

FieldValue
Package@deepseek-ai/dsh (note the @ scope — not deepseek-ai/dsh)
Version0.1.0-rc.6, Public, published ~14h ago
LicenseMIT
Repogithub.com/deepseek-ai/deepseek-harness
Core ideaEverything 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 web

dsh 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:

  1. Paste your DeepSeek API key (create one at platform.deepseek.com; it starts with sk- and is shown only once — copy it immediately).
  2. If the DEEPSEEK_API_KEY env var is already set, you can skip this.
  3. 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

CommandPurpose
dsh webLaunch 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 8080Pass args to the Web app (the launcher only parses its own flags, the rest go to the profile)
dsh --dump-default-config / --dump-configInspect the composed config tree without booting

The invoking directory is the default workspace root. Any profile other than web / headless must be created through dsh 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)

  1. v0.1 preview — breaking changes can land anytime. DeepSeek explicitly says later releases may break compatibility. Don't put it in production.
  2. The package name has an @ scope: npx @deepseek-ai/dsh web. Writing npx deepseek-ai/dsh web will fail to resolve.
  3. You must select a workspace, or the input won't send and the send button stays greyed out.
  4. Set the API key via env var (export DEEPSEEK_API_KEY=sk-...) to skip the in-UI setup.
  5. Sandbox, remote access, and messaging-platform integration are incomplete — wait for stability before any cloud-multi-platform deployment.
  6. 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)

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.

Share this page