dsh and in a local web UI.
Using the Requesty integration, you can:
- Access 300+ models from DeepSeek, OpenAI, Anthropic, Google, Mistral and many other providers through one API key.
- Keep every request, its cost and its latency in one dashboard.
- Apply fallback policies, load balancing and latency routing to your agent runs.
- Switch models without reinstalling or reconfiguring the harness.
Prerequisites
- DeepSeek Harness installed on your machine.
npx @deepseek-ai/dsh webruns it without a global install, and Node 22.19 or later is required. - A Requesty API key from the API Keys page.
How the configuration works
DeepSeek Harness keeps user configuration in its harness home, which is~/.dsh unless you set DSH_HOME:
Requesty is an OpenAI compatible endpoint, so it plugs into the harness as a custom provider on the
llm-pi-ai plugin. No plugin needs to be installed for this.
Configuration
1
Install DeepSeek Harness
Run the web UI once to create the harness home:You can also install from source. See the DeepSeek Harness README for that path.
2
Store your Requesty API key
Add your key to Replace
~/.dsh/.credentials.yaml:rqsty-sk-.... with your key from the API Keys page.The harness requires this file to be readable by you only. Set the permissions after creating it:Exporting
REQUESTY_API_KEY in your shell works as well, and a value from the environment wins over the stored one. Use the file when you want the key to survive across terminals.3
Add Requesty as a provider
Create or edit What each field does:
~/.dsh/settings.yaml:A model that accepts images needs
input: [text, image] on its entry. Text only is the default.4
Start the harness
Run a task in your terminal:Or open the web UI:From source, prefix the commands with
pnpm, for example pnpm dsh web.Configuring from the web UI
The web UI writes the same files, so you can skip the YAML:- Run
dsh weband open the printed URL. - Go to Settings, then Models.
- Choose Add a custom provider and fill in the form:
- Provider id:
requesty - Base URL:
https://router.requesty.ai/v1 - Protocol: OpenAI Chat Completions
- API key: your Requesty key
- Provider id:
- Select Fetch available models to load the Requesty catalog, then pick the models you want.
- Select a Requesty model as the default model for new sessions.
Selecting a model
The model picker lists every model on therequesty provider. Add or remove entries under models in settings.yaml to change that list, and set agent-default-model to the model new sessions should start with.
Browse ids in the Requesty model library. Policies work here too: use the policy id as the model id, for example policy/coding-fallback.
Verifying the integration
Run one task, then open the Requesty analytics dashboard. The request appears within seconds with its model, token counts and cost. Requests configured with the headers above are taggedDeepSeek Harness, so you can filter your dashboard by this integration.
You can also confirm that the harness reaches the router at all:
Troubleshooting
MISSING_CREDENTIAL: no API key for provider route
MISSING_CREDENTIAL: no API key for provider route
The harness found the provider but no key. Check that the name in
apiKeyEnv matches a key in ~/.dsh/.credentials.yaml exactly, or export that variable in the shell you start dsh from. The harness reads the environment at launch, so exporting a key after startup has no effect.Credentials file rejected
Credentials file rejected
The harness refuses to read
~/.dsh/.credentials.yaml if the file is readable by other users. Run chmod 600 ~/.dsh/.credentials.yaml. The file must be a plain mapping of credential name to key, with no wrapper level and no empty values.404 page not found
404 page not found
The base URL does not match the protocol. Use
https://router.requesty.ai/v1 with api: openai-completions. For api: anthropic-messages, use https://router.requesty.ai without the /v1 suffix, because the harness appends /v1/messages itself.Model not found
Model not found
Add the provider prefix to the id, for example
openai/gpt-5.4. Confirm the id in the model library, and check approved models if your organization restricts which models a key may use.Changes to settings.yaml do not apply
Changes to settings.yaml do not apply
The harness watches its settings file, so most edits take effect immediately. If a run still uses the old provider, stop the process and start it again. Confirm you edited the file under the harness home in use, which is
$DSH_HOME when that variable is set.