- DeepSeek Harness (
dsh) is DeepSeek’s open-source AI agent: it writes and tests code, works with documents and spreadsheets, researches with citations and runs scheduled tasks. MIT licensed. - The app is free, the model is not. It runs on a DeepSeek API key. The default model, V4.1 Flash, costs $0.15 input / $0.60 output per million tokens off-peak.
- On September 29, 2026 DeepSeek shipped a desktop app for Windows and macOS (Apple silicon) in worldwide public preview. No Node.js needed.
- No Claude or ChatGPT subscription login. You can add Anthropic, OpenAI, Kimi and GLM, but only with API keys.
- Everything is a plugin, and you can have the agent write a plugin for you through chat (Creator mode).
- It is still a developer preview: breaking changes are expected and DeepSeek says it has not been security audited.
An open-source Claude Code that you point at whatever model you like, paying only for tokens. That is the pitch behind DeepSeek Harness, and it explains why the repository is closing in on 240,000 GitHub stars about seven weeks after it went public. Until today you needed Node.js and a terminal to run it. The new desktop app removes that step. Below: what it costs in practice, how to set it up in about five minutes, and when it makes more sense than Claude Code.
Is DeepSeek Harness Free?
Yes and no. The harness itself is free software under the MIT license, with no subscription, seat fee or usage cap of its own. What you pay for is the model behind it, billed per token by whichever provider you connect.
With DeepSeek’s own API, prices depend on the time of day:
| Per 1M tokens | V4.1 Flash, off-peak | V4.1 Flash, peak | V4 Pro, off-peak |
|---|---|---|---|
| Input (cache miss) | $0.15 | $0.30 | $0.66 |
| Input (cache hit) | $0.003 | $0.006 | $0.022 |
| Output | $0.60 | $1.20 | $1.98 |
| Context window | 1M | 1M | 1M |
Peak hours are 01:00-04:00 and 06:00-10:00 UTC, Monday to Friday. For the US that is roughly 9 PM to midnight and 2 AM to 6 AM Eastern, so most American working hours already fall in the half-price window. Weekends are off-peak all day.
The row that matters most for an agent is the cache hit. Agents resend the same growing context on every turn, and a cached input token is 50 times cheaper than a fresh one. That is where the harness design shows up on the bill; we measured how much the harness alone can change cost in our coding agent harness cost comparison . To price your own workload against Claude, GPT and others, use the LLM cost calculator .
Is there a free API? DeepSeek does not list a free tier on its pricing page. Its billing rules mention a “granted balance” that is spent before your top-up, so promotional credit exists at times, but plan on topping up a few dollars.
Can I use my Claude subscription? No. The Models page supports Anthropic, OpenAI, Kimi (moonshotai) and GLM (zai) with API keys, and the docs state that providers which sign in with OAuth, Codex being the example, are not supported yet. A Claude Pro or Max plan therefore does not carry over; Anthropic API billing does.
How to Install DeepSeek Harness
Pick one of three routes. The steps after installing are the same for all of them.
1. Desktop app (easiest). Download it from deepseek.com/en/harness . The Windows 64-bit installer is about 290 MB, the macOS build about 370 MB, and the download page only offers it for Apple silicon. It bundles its own Node runtime, so nothing else to install. There is no Linux package yet.
2. One command, web UI. With Node.js installed, on any OS including Linux:
npx @deepseek-ai/dsh web
It serves the UI at http://127.0.0.1:3080 and opens your browser. Add --port 8080 for another port or --no-open to skip the browser, which is what you want over SSH.
3. From source.
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web
Video: Sharbel A., DeepSeek Harness setup walkthrough
Add your API key and a workspace
Open Settings → Models, paste a key from platform.deepseek.com into the DeepSeek card and save. No restart needed. Keys are write-only: the UI never shows them back, and they live in $DSH_HOME/.credentials.yaml.

To use another model, choose Add model provider. Built-in providers only need a key. For anything else, a company gateway, a self-hosted server or a relay, switch to Custom model API and pick the protocol your endpoint speaks: OpenAI Chat Completions, OpenAI Responses or Anthropic Messages. Fetch available models asks the endpoint what it serves.
Then click Choose workspace and add your project folder; the message box stays disabled until you do. A good first prompt, straight from the docs: “Summarize this repository and identify its main packages.” The agent asks before any action your permission policy marks as needing approval.
Beyond the GUI
dsh --profile headless "run the tests"runs one job, prints the answer and exits. Handy in CI.dsh --profile acpserves editors over the Agent Client Protocol.dsh --profile sdkbacks the Python SDK over JSON-RPC.
How to update: the desktop app updates itself; with npx, run npx @deepseek-ai/dsh@latest web so a cached older copy is not reused. From source, git pull and rebuild. Today’s release (0.2.0-rc.2) removed some older third-party model IDs, so a saved model choice may need picking again.
Plugins and Creator Mode
The official plugin list currently has Agent Teams (a team roster and shared task board), Voice input (local transcription with SenseVoice), Shell, Agent loop, Subagent and Web search through DeepSeek’s search provider. The product page also lists Scheduled tasks, Auto approval review and Terminal as experimental.

Creator mode is the standout. Ask for “a floating Pomodoro timer plugin” and the agent loads its plugin-development skill, inspects where the UI can host an always-on-top window, writes the package, installs it and verifies it is live. DeepSeek’s own demo of exactly that took 5 minutes 24 seconds. Because the whole thing runs on Cordis , a framework DeepSeek describes in a 92-page paper (arXiv 2608.25512 ), plugins load and unload without a restart, and removing one reverts its side effects. Community plugins are tagged dsh-plugin on GitHub.
With Scheduled tasks enabled you can say “every Friday at 17:00, turn this week’s project notes into a weekly report” and it becomes a recurring job. When something breaks, the developer tools view lays out every turn and tool call with its payload, result and timing.

How to add an MCP server
There is no MCP screen yet. MCP servers go in through the bundled MCP client plugin as a Cordis config patch: either pass a YAML overlay at launch with dsh web --patch <file>.cordis.yml, or merge it into $DSH_HOME/cordis.patch.yml to keep it across runs. Both stdio commands and Streamable HTTP URLs work, and the tools show up as mcp__<serverName>__<tool>. The repo ships ready examples under apps/cli/config/examples/mcp-memory/ for three memory servers; copy one and change the command.
DeepSeek Harness vs Claude Code
| DeepSeek Harness | Claude Code | |
|---|---|---|
| Source | Open, MIT | Proprietary |
| Models | DeepSeek, Claude, GPT, Kimi, GLM, any compatible endpoint | Claude (can be redirected to other providers) |
| Payment | API usage only | Claude subscription or API |
| Interfaces | Desktop, web, headless, ACP, Python SDK | Terminal, IDE extensions, desktop, web |
| Extending | Everything is a plugin, plugins written via chat | Skills, subagents, hooks, MCP, plugins |
| Maturity | Developer preview | Stable |
The two are not walled off from each other. DeepSeek serves an Anthropic-compatible endpoint at https://api.deepseek.com/anthropic, so Claude Code can run on DeepSeek models too; the steps are the same as in our guide to using Claude Code with Ollama, Kimi and GLM . New to Claude Code itself? Start with how to use Claude Code .
A rough rule: already paying for Claude and want something stable, stay with Claude Code. Want the lowest bill, free choice of model, or an agent you can take apart and extend, try DeepSeek Harness. Against opencode, the other popular open-source, multi-model option, the difference is focus: opencode is terminal-first, while DeepSeek Harness leads with a desktop GUI, a plugin runtime and built-in scheduling.
Read This Before You Install
Take the safety notice seriously. DeepSeek’s own SAFETY.md says the project has not been security audited and that model output, bugs or untrusted plugins can delete files or leak credentials. It recommends least privilege, a disposable VM or container where possible, backups of anything the agent can reach, and reviewing plugins before installing them.
The desktop app sends usage analytics by default. Per the docs it reports selected interactions with no toggle in the UI; the only off switch is the product-analytics setting in the config file. Prompts, responses and API keys are never event fields. The npx web version sends none of it.
Expect churn. Eight pre-releases shipped in the last two weeks, and the README warns in capitals that compatibility-breaking changes are coming.
Frequently Asked Questions (FAQ)
Is DeepSeek Harness free?
The software is free and open source under MIT. The model is paid per token by the provider you connect. With DeepSeek’s default V4.1 Flash that is $0.15 per million input tokens and $0.60 per million output tokens off-peak, double during peak hours.
Does DeepSeek Harness work with a Claude subscription?
No. You can add Anthropic and OpenAI models, but only with API keys. Providers that log in through OAuth, such as Codex, are not supported yet, so Claude Pro, Max or ChatGPT plans do not carry over.
Is there a DeepSeek Harness desktop app for Mac and Windows?
Yes, since September 29, 2026, in public preview: a Windows 64-bit installer and a macOS build for Apple silicon, both at deepseek.com/en/harness. On Linux, or any machine without a build, use the web UI via npx @deepseek-ai/dsh web.
DeepSeek Harness vs Claude Code: which is better?
Claude Code is proprietary, stable and included with Claude subscriptions. DeepSeek Harness is open source, model-agnostic and costs only API usage, but it is a developer preview. For a low bill or model freedom, try Harness; for stability on a Claude plan, keep Claude Code.
How do I add an MCP server to DeepSeek Harness?
Through a Cordis config patch for the bundled MCP client plugin: pass it with dsh web --patch <file>.cordis.yml or merge it into $DSH_HOME/cordis.patch.yml. Stdio and Streamable HTTP servers are supported, and their tools appear as mcp__<serverName>__<tool>.

