DeepSeek Harness OpenAI-Compatible Endpoint Setup
Use Custom model API for an OpenAI-compatible gateway, choose its documented protocol and URL, add an exact served model ID, and save before testing a new session. The dsh-v0.2.1-alpha.1 documentation reviewed on 2026-10-04 distinguishes discovery from inference and the native DeepSeek adapter from custom pi-ai routes.
Sharing includes the public link only, without local progress or private configuration.
Prepare the custom API connection
Record the gateway’s documented API root, protocol and one model ID. In Settings → Models → Custom model API, choose OpenAI Chat Completions, OpenAI Responses or Anthropic Messages explicitly. The provider ID is permanent; a gateway offering two protocols needs two provider configurations.
- Use the protocol the gateway actually exposes.
- Enter the key only in your local DSH provider settings.
- The built-in DeepSeek adapter is Messages-only in the reviewed GitHub version; do not add a protocol field to llm-deepseek.
Fetch models and save the provider
For custom Chat Completions and Responses routes, discovery uses GET {baseURL}/models with bearer authentication. Anthropic Messages discovery uses /v1/models?limit=1000 and its native authentication headers. The form can read a data array or enriched models object. Select entries and save: discovery alone does not persist the provider.
- For an endpoint without model listing, enter the documented model ID manually.
- A built-in provider shows its installed catalog, even with a custom base URL.
- A 401 listing result calls for a credential check; it is distinct from a later inference result.
Check the first model request
Choose the saved provider and model in a new session and send a small inspectable question. Existing sessions can retain an earlier model. Check missing credentials, unknown model IDs and request-shape rejection as separate failures. Declare image input only for models whose endpoint actually accepts it.
Repair gateway request compatibility
Some gateways reject the developer role or max_completion_tokens even though their endpoint and key are valid. The official guide shows compat.supportsDeveloperRole: false and compat.maxTokensField: max_tokens for that specific mismatch. Apply only fields accepted by the selected protocol; a switch without a value is rejected. These settings live in the profile patch, not the basic form.
Edit the active configuration layer
The standard dsh web profile writes $DSH_HOME/profiles/web/cordis.patch.yml. A custom launch uses its selected profile. A later home or command-line patch can override the whole config row, so preserve all provider entries and inspect dsh --profile web --dump-config before changing it. Ordinary valid edits reload through HMR when enabled; otherwise restart. The rc.7 config builder remains a labeled historical tool.
First-party sources
Open the pinned or retrieved source before acting on a changed release candidate.
- Official docs/user/guide/providers.mdOfficial documentation · retrieved 2026-10-04↗
- Official packages/llm/llm-pi-ai/README.mdOfficial documentation · retrieved 2026-10-04↗
- Official packages/llm/llm-deepseek/README.mdOfficial documentation · retrieved 2026-10-04↗
- Official apps/cli/reference/README.mdOfficial documentation · retrieved 2026-10-04↗