Blog

DeepSeek Harness Install Guide: Run the Agent Framework with One Command | TeamoRouter

Quick Answer

DeepSeek Harness (dsh) is DeepSeek AI's open-source agent harness — an agent framework built on an "everything is a plugin" architecture, powered by Cordis and released under the MIT license. It is currently in developer preview and iterating fast, so expect compatibility-breaking changes.

Installation needs only Node.js. The fastest way to run it:

bash
npx @deepseek-ai/dsh web

This pulls the package and starts the Web UI at http://127.0.0.1:3080 by default. To run it on DeepSeek V4 Pro / Flash — including the 200-request-per-day free tier — point the API key and base URL at TeamoRouter. Details below.

What DeepSeek Harness Is

First, what it is and isn't. The industry has converged on a clean formula:

text
Agent = Model + Harness

The model is the brain — the weights that predict tokens. The harness is everything else: the tools the agent can call, the filesystem and shell it can touch, how sub-agents pass information to each other, how context is stored and retrieved, and — critically — when execution stops. A bare model is bad at memory, code execution, and tool calling on its own; the harness turns a chat model into a worker that can actually edit code and run commands.

DeepSeek Harness's defining trait is its architecture: everything is a plugin. The filesystem, the shell, the model adapter, the Web UI, and sub-agents are all swappable Cordis plugins. That gives you two things: you can trim an agent's capability surface (give it only terminal + file ops, no network), and you can swap one provider (e.g. move the model from the official API to TeamoRouter) without touching anything else.

Prerequisites

  • Node.js — any recent version (for npx). Building from source additionally needs pnpm and git.
  • A working model backend: a DeepSeek API key, or a TeamoRouter key (sk-teamo-...), which gives you deepseek-v4-pro-free / deepseek-v4-flash-free access.

Method 1: One command via npm (recommended)

bash
npx @deepseek-ai/dsh web

The first run downloads the package, then the Web UI starts. Open http://127.0.0.1:3080 for the console. This is the lowest-friction, everyday path — no clone, no build.

To make the agent actually do work, configure the model backend. DeepSeek Harness reads model config from environment variables — two matter most:

bash
export DEEPSEEK_API_KEY="sk-teamo-your-key"
export DEEPSEEK_BASE_URL="https://api.teamorouter.com/v1"

Put these in your shell profile (~/.zshrc or ~/.bashrc), or export them before launch, and dsh sends model requests to TeamoRouter's OpenAI-compatible endpoint instead of DeepSeek's official API. Full wiring steps in Connect DeepSeek Harness to TeamoRouter.

Method 2: Build from source

Use this when you want to modify, track the latest code, or contribute to the plugin ecosystem:

bash
git clone https://github.com/deepseek-ai/deepseek-harness.git
cd deepseek-harness
pnpm install
pnpm run build
pnpm dsh web

pnpm dsh web and npx @deepseek-ai/dsh web are the same command — the former uses local source, the latter the published npm build. Source builds make sense during developer preview, since main often runs a few minor versions ahead of the release.

After Launch: What's in the Web UI

http://127.0.0.1:3080 is a local web console with these capabilities:

  • Session management — create / switch / rename sessions, run several in parallel.
  • Model selection — switch between configured models (e.g. deepseek-v4-pro vs deepseek-v4-flash).
  • Tool panel — the tools the agent can actually call: bash, file read/write, sub-agents, web search, and more.
  • Goals — break long tasks into stateful goals, pause / resume / mark complete.

A common misconception is treating dsh as "yet another chat window." It is really the front-end of an agent runtime: you give a goal, the agent loops over tools until done, and the UI is your window for observation and intervention.

A Minimal Working Example

After setting DEEPSEEK_API_KEY / DEEPSEEK_BASE_URL, give the agent this task in the Web UI:

text
List the current directory, find the README, summarize its first paragraph in one sentence, and write it to /tmp/summary.txt

dsh calls bash (list files, read the file) and the file tools in sequence, then reports back. That is the most direct demonstration of "the harness turns a model into a worker."

FAQ

Is dsh tied to DeepSeek's official API?

No. dsh is model-agnostic; DEEPSEEK_BASE_URL can point at any OpenAI-compatible endpoint. With TeamoRouter it runs the DeepSeek V4 family, and can route Claude, GPT, and Gemini from a single key.

What does "developer preview" mean?

Interfaces and config will still change, so don't depend on a specific API detail in production. For solo developers, learning agent architecture, and cheap agent experiments, it is already fully usable.

I installed it but the agent won't run / I get auth errors?

Nine times out of ten the env vars aren't applied. Run echo $DEEPSEEK_API_KEY to confirm the key is set; make sure DEEPSEEK_BASE_URL includes /v1 (the OpenAI SDK needs it); and confirm the key starts with sk-teamo- with no stray whitespace.

How does the free quota work?

TeamoRouter's deepseek-v4-pro-free and deepseek-v4-flash-free are each 200 requests/account/day, counted by request (one full turn), not tokens. In an agent loop, each tool round-trip is one request — see deepseek-v4-pro-free 200 Requests a Day.

To try the agent loop cheaply, register TeamoRouter, grab a key, point DEEPSEEK_BASE_URL at it, and run DeepSeek V4 Pro free inside dsh.

Ready to connect?Log in · top up · create an API key — three steps to start.
DeepSeek Harness Install Guide: Run the Agent Framework with One Command | TeamoRouter · TeamoRouter