dshkit
Developer preview · MIT

Everything is
a plugin.

DeepSeek Harness wraps a model and turns it into a coding agent — and every part of that wrapping is a config row you can override. This is the unofficial manual: install steps that work, the errors you will actually hit, and what the docs leave unsaid.

Install
npm install -g @deepseek-ai/dsh
Then
dsh web

The web profile builds itself from a shipped template on first boot and serves at 127.0.0.1:3080.

The part everyone gets wrong

Four layers decide what your agent actually is

Resolution order

Applies to every profile, and overrides the profile's own patch file. This is the layer people forget — a setting here silently wins over the one you just edited.

Print the composed resultdsh --profile web --dump-config
Agent modes

Four wrappings, one model

A mode is not special-cased code. It is a particular composition of plugin rows — which is why you can build a fifth.

Standard

File editing, shell, file and web search, skills, planning, goals, sub-agents, workflows.

Use for

The default, and the right one for almost all real work.

Code

zh: PTC 模式

Same capabilities, exposed through the Code Mode SDK — the model writes one TypeScript program instead of many tool round-trips.

Use for

Long mechanical chains, where the steps are knowable up front.

Minimal

Two tools: persistent bash and str_replace_editor. Nothing between the model and a shell.

Use for

Benchmarking a model honestly. Teaching.

Creator

Standard plus runtime inspection and in-memory plugin experiments.

Use for

Authoring the fifth mode, once these four are close but wrong.

Everything on this site

25 pages, written against the source

Each page is traced to the upstream repository or the official docs. Where the docs are silent, we say so instead of guessing.

Guides

11 articles

Troubleshooting

5 articles

Comparisons

2 articles

Plugins

7 articles

Frequently asked

Is DeepSeek Harness free?

The harness is MIT-licensed and free to run. You still pay for model tokens — unless you point it at a local model or a provider you already have credit with.

Do I need a DeepSeek API key to use dsh?

You need a model credential, but not necessarily DeepSeek's. Settings → Add provider takes a key for a catalog provider such as Anthropic or OpenAI. Custom providers read their key from an environment variable you name yourself via apiKeyEnv.

What is the difference between Code mode and PTC mode?

They are the same preset. The shipped preset directory is named code, and its own preset.yml gives it the Chinese display name PTC 模式 — so both names are official, one per locale, not a nickname the community invented.

Is it stable enough for real work?

It is a v0.1 developer preview whose maintainers state that core plugins and APIs will keep evolving. Pin your version and keep your profile under version control.

Is this the official DeepSeek Harness website?

No. The official repository is github.com/deepseek-ai/deepseek-harness. DSHKit is independent and unaffiliated.