DeepSeek Harness
Last updated August 26, 2026
Point DeepSeek Harness at RouterOne by changing one baseURL and one key variable in settings.yaml.
DeepSeek Harness (the dsh command) speaks the OpenAI-compatible protocol, so one address in the config file is all it takes.
1. Create an RouterOne key
Create one on the keys page in the console. The key remains viewable there after creation, so you do not need to rotate it just to retrieve it again.
export ROUTERONE_API_KEY=your RouterOne keyPut it in ~/.zshrc or ~/.bashrc.
2. Configure
Edit ~/.dsh/settings.yaml (or $DSH_HOME/settings.yaml if you set it):
config.yaml
llm-deepseek:
apiKeyEnv: ROUTERONE_API_KEY
baseURL: https://gateway.routerone.ai/v1| Field | Notes |
|---|---|
apiKeyEnv | The name of the environment variable, not the key. Put the key here and it looks up a variable by that name, finds nothing, and reports an authentication failure |
baseURL | Keep the /v1 |
3. Run it
source ~/.zshrc
dsh webPick a model in the picker and send a message.
Choosing models
Names are canonical IDs. Despite the tool's name, you are not limited to DeepSeek models — anthropic/claude-opus-5 and openai/gpt-5.6 work too, with conversion handled for you.
To pin a provider or choose a routing strategy, append a colon — see the API reference.
Troubleshooting
Authentication failure
First confirm apiKeyEnv holds a variable name rather than the key:
echo $ROUTERONE_API_KEYIf that prints a value, check whether the key is still enabled in the console and whether the workspace has balance.
Configuration is not picked up
source ~/.zshrc, then open a fresh terminal. Confirm the path is ~/.dsh/settings.yaml — if you set DSH_HOME, it reads the copy there instead.
Cannot connect behind a proxy
Node does not read the system proxy variables by default:
export NODE_USE_ENV_PROXY=1
export HTTPS_PROXY=http://127.0.0.1:7890
dsh webUse your own port.
Model unavailable
Model IDs need the vendor prefix (deepseek/deepseek-v3.2, not deepseek-v3.2). And not every model supports every protocol — each model's page says which.