Connect DeepSeek Harness
Add Orbis as a custom provider in dsh, use the correct model ID and disable built-in search that sends the key to DeepSeek's endpoint.
Add a custom provider, use the Orbis model ID and disable built-in web search.
This page covers Orbis settings and troubleshooting. For installation, workspaces and a first file task, see the illustrated DeepSeek Harness beginner guide.
DeepSeek Harness (dsh) defaults to DeepSeek's official settings. Merely changing the endpoint on its built-in DeepSeek card can break chat because the model names differ. Its built-in search also sends your Orbis key to DeepSeek's official endpoint.
These instructions follow the dsh 0.1.5 interface and documentation. dsh is a developer preview; menu names may change between versions.
1. Prepare a key and model ID
Open DeepSeek V4.1 Flash or DeepSeek V4 Pro, choose a route and create a key for it. The key determines the route. Use the exact ID shown on the model page:
| Model | Orbis model ID | Do not use this official DeepSeek name |
|---|---|---|
| DeepSeek V4.1 Flash | deepseek-v4.1-flash | deepseek-flash |
| DeepSeek V4 Pro | deepseek-v4-pro-0813 | deepseek-v4-pro |
For new models, check the model page's Model ID field rather than assuming the official name is accepted.
2. Add Orbis as a custom provider
In the dsh web interface, open Settings → Models → Add custom provider:
| Field | Value |
|---|---|
| Provider ID | orbis — lowercase; cannot be changed after saving |
| Display name | Orbis |
| Base URL | https://api.orbiorbi.com/v1 |
| API protocol | openai-completions |
| Credential | Your Orbis key |
| Models | Manually add the ID from step 1, such as deepseek-v4.1-flash |
Save, then select a model under orbis in your conversation. Do not put the Orbis key in the built-in DeepSeek card or only set DEEPSEEK_BASE_URL. The built-in route sends official DeepSeek model names, which can produce Orbis's “no available channel” error.
Optional file-based settings
The same provider can be configured in a file. Newer versions use $DSH_HOME/profiles/web/cordis.patch.yml; early versions use $DSH_HOME/settings.yaml. Follow your version's documentation for the location and surrounding structure.
Set api: openai-completions, baseURL: https://api.orbiorbi.com/v1 and apiKeyEnv: ORBIS_API_KEY, and add the exact IDs under models. Set ORBIS_API_KEY before starting dsh; do not write the key into the configuration file.
Keep these compatibility settings under the provider's compat:
| Setting | Purpose |
|---|---|
thinkingFormat: deepseek | Send reasoning settings in DeepSeek's format; check this first if changing reasoning effort returns 400 |
supportsDeveloperRole: false | Do not send a developer role |
maxTokensField: max_tokens | Use max_tokens for the output-token limit |
Add input: [text, image] only to a model that supports image input. V4.1 Flash supports images; V4 Pro is text-only.
3. Disable built-in web search
The built-in search plugin uses a fixed official DeepSeek endpoint instead of your configured Base URL, while sending the same key. Chat may work but searching returns 401, and your Orbis key has been sent to DeepSeek.
Turn off Settings → Plugins → Web search, or disable web-search-deepseek in the configuration. If you need search, use a third-party plugin that does not depend on DeepSeek's official endpoint.
If you already used the official-provider setup and triggered search, the key may have been sent to DeepSeek. Disable that key under API keys, create a replacement and update dsh.
4. Verify the connection
- For a free check, request
GET https://api.orbiorbi.com/v1/modelsusing the key. The list should contain your model ID. For a 401, check the key's validity; if the model is missing, check the key's route and model permissions. - Create a conversation in dsh and send a short message.
- Check that the request appears in Usage logs.
After receiving an answer, ask dsh to read a small file in a practice directory and inspect its tool record. A text response does not prove every tool is compatible. Generation tests use API allowance.
Troubleshooting
| Error | Cause and action |
|---|---|
No available channel for deepseek-flash / model_not_found | An official DeepSeek model name was used, or the key's route lacks the model. Use the Orbis ID from step 1 and check the route |
UNKNOWN_MODEL | Add that model ID to Models under the Orbis custom provider |
MISSING_CREDENTIAL | Save the key again, or set the referenced environment variable and restart dsh |
| Fetching available models returns 401 | Check the key; you can also enter the model ID manually |
Search returns Authentication Fails, Your api key … is invalid | Disable built-in search and replace the key as described in step 3 |
| Changing reasoning effort returns 400 | Set thinkingFormat: deepseek under the provider's compat |
| Image input rejected | Check model support and its input declaration; add input: [text, image] only for V4.1 Flash |
Still unable to connect? Contact us with the model ID, route name and a redacted error message. For installation, conversations and file exercises, see the full illustrated tutorial.