Skip to content
RU

DeepSeek Harness

DeepSeek Harness is an open-source agent harness from DeepSeek AI with a local Web UI: chat and multi-step agentic tasks in your working directory, custom models via a provider form. One of the most popular agentic projects on GitHub; the status is developer preview — the interface and configuration may change between versions.

Harness has no inference of its own — models attach as providers. Mixen speaks the OpenAI protocol and serves its catalog via GET /models, so the model list loads itself.

Node.js is required. One command to start:

npx @deepseek-ai/dsh web

The Web UI comes up at http://127.0.0.1:3080 (the browser opens by itself; --no-open keeps it from opening; an SSH launch just prints the URL). If port 3080 is taken, Harness refuses to start.

From source:

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

Settings → Models → Add a custom provider:

Field Value
Provider ID mixen (lowercase letters, digits, hyphens; starts with a letter)
Display name Mixen
Base URL https://api.mixen.ai/v1
API protocol openai-completions
API key your mxn-… key from the dashboard

Press Fetch available models — Harness calls GET /models with your key and pulls in the whole Mixen catalog. Take the Model ID exactly from the list (e.g. deepseek/deepseek-v4-pro), not the display name. The key is stored in $DSH_HOME/.credentials.yaml.

Task Model Input / output per 1M
Routine, drafts GLM 5.3 Flash (z-ai/glm-5.3-flash) 0.50 / 20.60 ₽
Code and agentic tasks DeepSeek V4 Pro (deepseek/deepseek-v4-pro) 47.70 / 95.40 ₽
Hard sessions Claude Sonnet 5.5 (anthropic/claude-sonnet-5.5) 213.80 / 1069.20 ₽

Full tables with cache columns — in the catalog.

  • 401 on Fetch available models — the key was pasted with quotes or spaces; copy it again, whole.
  • The model list is empty — check the Base URL (https://api.mixen.ai/v1, no typos) and the openai-completions protocol.
  • The Create provider button is inactive — not every required field is filled, or not a single model has loaded.
  • Port 3080 is taken — free the port or check the launch flags in dsh web --help.

The rest of the integrations — in the overview.