APIMaster.ai

DeepSeek Harness Third-Party Key Setup — APIMaster.ai Custom Provider

How to add an APIMaster.ai OpenAI-compatible API key in DeepSeek Harness (dsh). Open Settings → Models → Add a custom provider, set Base URL, API key, and model IDs, then pick the model in chat.

DeepSeek Harness (dsh) is DeepSeek's open-source local agent framework. The Web UI defaults to http://127.0.0.1:3080. The built-in DeepSeek card only accepts an official DeepSeek key. To use GPT / Claude / DeepSeek and other marketplace models via APIMaster, add a custom provider.

Get an API Key first. Keys stay on this machine in $DSH_HOME/.credentials.yaml (default ~/.dsh/). Do not share them in chat or screenshots.


Prerequisites

  1. Node.js 22.19+ or 24+.
  2. DeepSeek Harness Web UI running. Fastest start:
npx @deepseek-ai/dsh web

Open the URL printed in the terminal (usually http://127.0.0.1:3080).
3. API Key copied from the APIMaster console.
4. Target model id from the marketplace (e.g. gpt-5.6-sol, claude-sonnet-4-6, deepseek-v4-pro).


Step 1 — Open Models settings

  1. Open Settings in the Web UI.
  2. Select Models in the sidebar.
  3. You will see the built-in DeepSeek card (green dot = official route configured). Do not click Edit on that card — it is the official DeepSeek key, not APIMaster.

Settings → Models: built-in DeepSeek provider

Two buttons at the bottom:

Button Use
+ Add provider Catalog providers (Anthropic, OpenAI, …)
+ Add a custom provider APIMaster (use this)

Step 2 — Fill in the custom provider

Click + Add a custom provider and set:

Field Value
Provider ID apimaster (lowercase, starts with a letter; cannot be renamed after save)
Display name apimaster or APIMaster.ai (group name in the model picker)
Base URL https://apimaster.ai/v1 (include /v1)
API protocol openai-completions
API key Your APIMaster key (write-only; UI shows a mask afterward)

Add at least one model. Left box = request model id, right box = display name. Use the same marketplace id on both, e.g. gpt-5.6-sol / gpt-5.6-sol. Or click Fetch available models (GET /v1/models) and pick from the list.

Use Add model for more ids (claude-sonnet-4-6, deepseek-v4-pro, …). Click Create provider.

Custom provider: Base URL apimaster.ai/v1, protocol openai-completions

Notes:

  • Omitting /v1 breaks Fetch available models and chat.
  • The Models list is a whitelist for that route. An id not listed fails locally with UNKNOWN_MODEL and never leaves the machine.

Step 3 — Confirm the provider is saved

Back on Models you should see:

  • DeepSeek (official; keep it if you want — it does not conflict)
  • apimaster with a grey Custom badge and a green dot

Models list: official DeepSeek + apimaster Custom

To change the key or models later, click Edit. Do not create a second custom provider with the same ID.


Step 4 — Select the model in chat

  1. Return to the home / session composer.
  2. Click the model name on the right of the input bar.
  3. Under the apimaster group, select the model (e.g. gpt-5.6-sol).
    • The picker may also list a DeepSeek group. Choose the row under apimaster so traffic uses your third-party key.

Model picker: gpt-5.6-sol under the apimaster group


Step 5 — Send a test message

  1. Send a short message such as hi.
  2. A normal reply plus footer metrics (LLM / TTFT / tok) means the key and Base URL work.
  3. Context injection · @deepseek-ai/dsh-system-prompt is Harness's own system prompt, unrelated to APIMaster.

Test chat: apimaster model replies


Troubleshooting

Issue Fix
Cannot find the custom form Settings → Models+ Add a custom provider (not + Add provider, not DeepSeek Edit)
401 / MISSING_CREDENTIAL Edit and paste the full key; stored in ~/.dsh/.credentials.yaml
404 / connection error Base URL must be https://apimaster.ai/v1
UNKNOWN_MODEL Add that model id under the custom provider's Models list
Fetch available models fails Check the key and /v1; otherwise type ids by hand
Chat still uses official DeepSeek Pick the model under the apimaster group
Images refused Hand-entered models default to text-only; add input: [text, image] in ~/.dsh/settings.yaml
Wrong Provider ID IDs cannot be renamed; create a new provider and Delete the old one

Checklist

  • npx @deepseek-ai/dsh web is running
  • Used + Add a custom provider, not official DeepSeek Edit
  • API protocol = openai-completions
  • Base URL = https://apimaster.ai/v1
  • Model id from the marketplace appears under the apimaster group
  • hi gets a reply

Related