Open source · MIT · v0.1.1-rc.2

DeepSeek Harness

DeepSeek's local agent harness gives models a plugin-composed body: tools, sessions, permissions, subagents, workflows, and multimodal input. This guide tracks the current release while keeping the official repository and versioned documentation as the technical source of truth.

Run HarnessView sourcev0.1.1-rc.2 · Developer preview

Agent = Model + Harness

Give the model a body built from plugins.

DeepSeek Harness is not just a chat box. It assembles the model, tools, session history, approval rules, workspace access, and delegation behavior into a local coding agent.

License
MIT
Default UI
127.0.0.1:3080
npm latest
0.1.1-rc.2
Newest preview
0.1.2-alpha.3
terminal
$ npx @deepseek-ai/dsh@0.1.1-rc.2 web

dsh web: http://127.0.0.1:3080

Release snapshot · checked September 1, 2026

npm defaults to v0.1.1-rc.2; alpha.3 is the newest preview

The default npm line remains rc.2, while the separate alpha line has advanced to v0.1.2-alpha.3. All remain developer previews with compatibility-breaking changes expected.

v0.1.0-rc.8 · Multimodal workflow

Release notes

Native image requests can be enabled for compatible models; /goal and /plan accept image input; the @ menu can reference files or sessions; oversized and accumulated historical image payloads are bounded before the model request.

v0.1.1-rc.2 · Files API image handling

Release notes

The DeepSeek adapter now prioritizes Files API uploads, reuses uploaded files, and applies automatic resizing and format conversion based on model requirements. It carries forward the rc.1 vision model and Bubblewrap security fix.

Upgrade note: the rc.8 SQLite storage format is not backward-compatible. Pin the CLI and source tag when repeatable behavior matters, and review plugin, Profile, and stored-session compatibility before replacing an existing installation. The official safety notice says Harness has not been security-audited and its sandbox, approvals, and permissions do not guarantee isolation.

Read the official safety notice

Release status · September 1, 2026 Beijing time

v0.1.2-alpha.3 improves long sessions and queued images

The newest GitHub release is an alpha pre-release, not the npm default. It adds navigation across unloaded turns, reduces memory use and syntax-highlighting stalls in long conversations, and fixes image delivery for messages queued during a running turn and for follow-ups to continuable subagents.

  • read_image now detects extensionless image attachments
  • Tab completes the highlighted slash command
  • Backend stalls are no longer reported as disconnects
  • Schedule lists stay inside narrow conversation headers
The optional SQLite Session persistence backend was removed. Existing data is not deleted, but the release notes say to use an older version if you need to export it.

Choose the release line deliberately

npm latest0.1.1-rc.2

The unversioned quick-start command still resolves to this RC.

default npm tag
$ npx @deepseek-ai/dsh@0.1.1-rc.2 web
exact alpha preview0.1.2-alpha.3

Pin the version to test the new preview without depending on a moving dist-tag.

pinned preview
$ npx @deepseek-ai/dsh@0.1.2-alpha.3 web
Read the official alpha.3 release notes

Architecture

The important ideas, without reading the whole monorepo

The V2EX walkthrough is useful because it follows the system from plugin composition to modes, PTC mode, session events, delegation, and governance. The summary below keeps that path but uses the public repository as the factual baseline.

01

Everything is a plugin

Model adapters, the tool registry, the session log, and the agent loop are mounted as Cordis plugins. A plugin can add or replace a capability without patching a privileged core.

02

Four built-in agent presets

Standard, PTC, Minimal, and Creator presets package different tools, prompts, and behaviors. The current Python SDK runtime includes all four presets plus the dependencies needed for rg, glob, and MCP stdio tools.

03

PTC mode

PTC mode exposes tools through a generated TypeScript SDK, allowing the model to combine conditions, loops, parallel calls, filtering, and nested image forwarding in one program.

04

Append-only session log

Model-visible inputs, assistant output, tool calls, and tool results are reconstructed from durable events. MCP and ACP can persist image attachments, while the composer can reference files and earlier sessions through @.

05

Multi-agent workflows

Claude Code and Codex are now optional Profile Bundles. Codex supports non-interactive permission modes and named instances, while reportDelivery can wake the parent task as soon as a child reports back.

06

Sandbox and approvals

Read-only, workspace-write, and full-access policies separate file effects from approval decisions. The v0.1.1-rc.1 security fix also closes a Bubblewrap escape path through /proc/<pid>/root.

Composition model

Profiles stack bundles, then patches

A running dsh process is a plugin tree. A profile selects ordered bundles; profile, home, and command-line patches can then replace or insert configuration rows. Claude Code and Codex now arrive as optional Profile Bundles, so they can be installed only where a composition needs them instead of shipping with the base runtime.

Read the official architecture

Profile

Named composition stored in the Harness home

Bundles

Base, Web UI, headless, Claude Code, or Codex rows

Patches

Profile → home → optional CLI overlay

Cordis plugin tree

Model · tools · session · loop · policies

Agent presets

Four modes, four plugin compositions

Selecting a mode selects the complete tool, prompt, and capability set for the next session. The current release keeps the four-mode model while extending multimodal transport and Windows terminal behavior inside those existing presets.

Standard mode

standard

The full coding agent: file editing, shell, concurrent `web_search`, Skills, planning, goals, subagents, workflows, and image-aware /goal and /plan commands when the selected model supports images.

PTC mode

code

All Standard capabilities, with tools presented through a generated SDK so multi-step work can be composed in TypeScript and nested image attachments can be forwarded.

Minimal mode

minimal

A focused two-tool coding agent with a persistent terminal and str_replace_editor. On Windows, the preset now enables a persistent PowerShell session by default.

Creator mode

cordis

Standard capabilities plus runtime inspection, plugin experiments, and guidance for authoring a custom agent preset.

Quick start

From zero to the first workspace task

The npm path is the shortest way to open the Web UI. Both commands below are pinned to v0.1.1-rc.2; use the moving master branch only when you intentionally want unreleased changes. Use the pinned command in the release section to test alpha.3.

01

Start the Web UI

Install a supported Node.js version, run the version-pinned npm command, and let dsh open the local Web UI at 127.0.0.1:3080.

02

Configure a model

Open Settings → Models and add a DeepSeek API key. Since v0.1.1-rc.1, the adapter lists DeepSeek-V4-Flash, DeepSeek-V4-Pro, and the image-capable DeepSeek-V4-Flash-Vision-Exp.

03

Choose a workspace

Add the project directory where dsh was started and select it. The session composer stays disabled until a workspace is selected.

04

Run a real task

Create a session, choose a preset, then combine text, screenshots, local files, or an earlier session reference in one request. Image input requires a model declared with inputModalities: [text, image].

Fastest path

Run from npm

npm
$ npx @deepseek-ai/dsh@0.1.1-rc.2 web

The command starts the local Web UI and normally opens a browser automatically. Keep it local unless you intentionally configure a trusted network boundary.

Contributor path

Run from source

source
git clone --branch dsh-v0.1.1-rc.2 --depth 1 https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
Check current prerequisites

More ways to use Harness

Web UI, one-shot CLI, SDKs, and plugins

Web UI

Local browser interface for sessions, workspaces, model settings, approvals, preset selection, and @ references to files or earlier sessions.

Headless profile

A one-shot runner that accepts a task, prints the final assistant response, and opens no HTTP port.

Python SDK

0.1.1rc1 packages a high-level turns API, a lower-level JSON-RPC client, all four built-in presets, and their search and MCP stdio dependencies.

Plugin development

Build tools, providers, services, events, and presets on Cordis. Use DSH in project names and follow the official registered-trademark guidelines.

Downloads and links

Use the official distribution paths

Use the versioned npm CLI, matching source tag, or separately versioned Python SDK below. The repository master branch continues to move faster than these release snapshots and may contain compatibility-breaking changes.

Looking for a Harness plugin?

Browse the DeepSeek Plugins marketplace to discover tools, providers, integrations, and other plugins for Harness.

Browse plugin marketplace

Sources

Version, install, architecture, and capability claims are grounded in versioned DeepSeek release notes and repository documentation. The supplied WeChat article is retained as the rc.8 editorial reference and cross-checked against those official sources. The earlier V2EX walkthrough remains useful for system context, but unverified anecdotes and ecosystem counts are not repeated as official facts.