VNAI Pro
Client tools

DeepSeek Harness

Connect DeepSeek Harness through a Custom model API

DeepSeek Harness (dsh) supports custom gateways, not only DeepSeek models. It is a developer preview; menus may change between versions.

1. Start the Web UI

Install Node.js as required by the project, then run:

npx @deepseek-ai/dsh web

Open http://127.0.0.1:3080 if it does not launch automatically. Keep the terminal running.

2. Add a Custom model API

Open Settings → Models → Add model provider and switch to Custom model API.

FieldChat Completions value
Provider IDvnaipro-chat
Display nameVNAI Pro
Base URLhttps://api.vnaipro.app/v1
API protocolOpenAI Chat Completions (openai-completions)
API key / CredentialA key created on your gateway website

Use a lowercase provider ID; it cannot be renamed after creation. Do not choose the built-in DeepSeek provider for a custom gateway; the preset uses the vendor's endpoint/catalog.

3. Add models

Under Model catalog, choose Fetch available models, select models available to your key, then Add selected. If discovery fails, enter IDs manually from Check models. Save/create the provider to persist the configuration.

Set context/output limits and input types to the model's actual capabilities when needed. Enable Image only for a model that accepts images.

4. Choose another protocol when needed

Model/channelSuggested provider IDAPI protocolBase URL
Responsesvnaipro-responsesOpenAI Responses (openai-responses)https://api.vnaipro.app/v1
Native Claudevnaipro-claudeAnthropic Messages (anthropic-messages)https://api.vnaipro.app

Each provider uses one protocol. Create separate providers for a gateway offering multiple protocols. If Anthropic discovery fails at the root URL, add model IDs manually; do not change the inference URL just to fetch a catalog.

5. Test a new session

Select the model in the picker, create a new session, send a short prompt, and test a file read. A session that has already sent a request may retain its logged model; changing the default does not update all old sessions. Check gateway usage history.

  • MISSING_CREDENTIAL: save the correct provider's key.
  • UNKNOWN_MODEL: add/select the exact model ID.
  • Rejected developer or max_completion_tokens: compare the error with Request compatibility in the official guide; change only fields required by your channel.
  • Model changes apply to the next request and normally need no server restart.

Sources: README and launch instructions, Configure models.

On this page