Run DeepSeek Harness on Mingles Router
An agent harness is the program around the model: it reads your files, runs commands, and loops until the job is done — the same idea as Claude Code or OpenAI Codex, except the model is yours to choose. DeepSeek Harness (dsh) is MIT-licensed and takes any OpenAI-compatible endpoint, so Mingles Router drops in as one provider and every model behind it becomes selectable.
Pick your model and paste your key — every command and value on this page updates live.
Endpoint: https://router.mingles.ai/v1 · key stays in your browser ·
no key entered? commands show <your-key>.
Install + configure
1. Install and start it
Needs Node.js. This starts the Web UI on http://127.0.0.1:3080 — dsh is a local web app, not a terminal CLI.
npx @deepseek-ai/dsh web 2. Add us as a custom provider
Open Settings → Models → Add a custom provider (not “Add provider” — that one picks from the built-in catalog). Fill in the Provider ID, base URL, protocol and key from the table below.
The Provider ID is permanent — sessions and saved defaults reference it. To rename it later you add a new provider and delete the old one.
3. Pull the model list
Under Model catalog, hit Fetch available models. It calls GET /v1/models on the base URL you just entered, so all four of our models show up and you tick the ones you want — no typing ids by hand.
A 401 here means the key is wrong, not the URL.
4. Pick a model and go
Save, then choose the model in the composer’s model picker. Whatever you select also becomes the default for new sessions. Start on deepseek-ai/DeepSeek-V4-Flash-0731 — cheapest, and the model plan sizes are quoted in.
Exact values for “Add a custom provider”
| Provider ID | mingles |
| Base URL | https://router.mingles.ai/v1 |
| API protocol | openai-completions |
| API key | <your-key> |
| Model | deepseek-ai/DeepSeek-V4-Flash-0731 |
Already running dsh? Add the provider by file
Edit settings.yaml
The form writes the same thing, but if you configure machines from a repo, this is the shape. Lives at $DSH_HOME/settings.yaml.
llm-pi-ai:
providers:
mingles:
apiKeyEnv: MINGLES_API_KEY
api: openai-completions
baseURL: https://router.mingles.ai/v1
models:
- id: deepseek-ai/DeepSeek-V4-Flash-0731
- id: moonshotai/Kimi-K2.6
- id: MiniMaxAI/MiniMax-M2.7 Note apiKeyEnv, not the key itself — dsh keeps secrets in $DSH_HOME/.credentials.yaml and settings.yaml holds only a reference. Model changes apply on the next request, no restart.
Switch model
Coming from Claude Code or Codex: the mental model is the same — a model plus shell and file tools, looping on your repo. What changes is that the model is a dropdown rather than a fixed vendor, so you can run the cheap model for the bulk of a task and switch for the hard steps.
Before you file a bug: read the limits
Reasoning models spend the output budget on internal thinking, output is capped at 8192 tokens, there is no KV cache, and there are no built-in web tools. Most “it broke on Mingles Router” reports are one of these. See Model limits & behavior →
Frequently asked
What actually is a “harness”, in one sentence? +
The program that wraps a model and gives it hands — reading files, running commands, calling tools, and looping until a task is finished. Claude Code, OpenAI Codex and DeepSeek Harness are three harnesses; the model inside is a separate choice, which is the part we supply.
How is this different from Claude Code or Codex? +
Mainly on lock-in and interface. Claude Code runs Anthropic models, Codex runs OpenAI models; dsh is MIT-licensed and takes any OpenAI-compatible endpoint, so the model is yours to pick. It also runs as a local web UI on port 3080 rather than in your terminal. Being honest about the trade: Claude Code and Codex are mature products, dsh is in developer preview.
Developer preview — should I put it on real work? +
DeepSeek states plainly that dsh is in developer preview and that there will be compatibility-breaking changes. Treat it as something to evaluate, and keep a stable setup (Cursor, Cline, Aider) for work you cannot have interrupted by an upgrade.
Can I run Kimi or MiniMax in it, not just DeepSeek? +
Yes — that is the point of pointing it at us. dsh only sees one OpenAI-compatible provider; which model each request lands on is the id you picked in the model picker. It never needs to know the models come from different vendors.
Is this a fair way to compare models? +
It is the fairest one available: same harness, same tools, same repo, only the model id changes. Comparing Claude Code against Codex against a vendor CLI also compares three different harnesses, so you cannot tell which half of the result came from the model.
MISSING_CREDENTIAL or UNKNOWN_MODEL? +
MISSING_CREDENTIAL means the key was never stored — save it on the Models page, or set the environment variable that apiKeyEnv names. UNKNOWN_MODEL means the id is not on the provider: re-run “Fetch available models”, or check the id is exact — they are case-sensitive.
Can I send images? +
Not to our models — they are text-only, and a hand-entered model in dsh is treated as text-only until its config says otherwise, so an image is refused before it is sent rather than failing upstream.