Skip to main content
DeepSeek Harness (dsh) is an open-source agent harness developed by DeepSeek. This guide connects Step 5 Preview through a custom provider and covers the Web UI, configuration files, verification, and troubleshooting.
dsh is in developer preview, so its interface and configuration may change. This guide follows the current official model configuration documentation. Read the project’s safety notice before running it, use a trusted working directory, and review permissions for file operations and command execution.

Configuration reference

Prerequisites

Install and start dsh

Prepare Node.js 22.19+ (22.x) or 24+ and npm. A current LTS release is recommended; follow dsh’s official requirements. Run this command in a trusted working directory:
The first run downloads the required packages. A local launch opens http://127.0.0.1:3080 by default; an SSH launch may only print the address. See the official dsh repository for launch options.

Obtain an API Key

Create an API Key in the console. For Step Plan, confirm your subscription and model access. For pay-as-you-go access, check your account balance and permissions. Never commit a real key or share it in screenshots.

Option 1: Configure through the Web UI

To use Step Plan quota, select /step_plan/v1 and ensure your subscription and model access are active. The standard /v1 endpoint uses pay-as-you-go billing; a Step Plan subscription does not automatically apply to it. Examples below use Step Plan. For pay-as-you-go access, replace the Base URL consistently.
1

Open model settings

In the dsh Web UI, open Settings → Models and choose Add a custom provider.
2

Configure the provider

A saved Provider ID cannot be renamed directly. Create a new provider to use a different identifier.
3

Add models

Choose Add model and set both the model ID and display name to step-5-preview. Under Model options, set the context window to 1000000 (1,000,000 tokens; enter the value without commas). For image input, keep Text selected and enable Image under Input types.Optionally add step-3.7-flash with a context window of 256,000 tokens (enter 256000). See Step 5 Preview and Step 3.7 Flash for the respective model specifications. Model availability depends on your account permissions.
Model IDs cannot be empty. Clicking Add model without entering an ID prevents saving. The Provider ID is stepfun; the model ID is step-5-preview.
4

Save and select the model

Click Create provider, start a new session, select step-5-preview under StepFun in the model picker, and send a simple message. An existing session may retain its previous model.
Keys saved through the Web UI are stored in $DSH_HOME/.credentials.yaml on the machine running dsh, while settings retain a credential reference. If dsh runs on a remote server, the key is stored there. Model requests still send the key to the configured API service for authentication. Verify the Base URL.

Option 2: Configure through YAML

To use Step Plan quota, select /step_plan/v1 and ensure your subscription and model access are active. The standard /v1 endpoint uses pay-as-you-go billing; a Step Plan subscription does not automatically apply to it. Examples below use Step Plan. For pay-as-you-go access, replace the Base URL consistently.
Edit ~/.dsh/settings.yaml. If DSH_HOME is set, use settings.yaml in that directory instead. Merge this configuration into the existing llm-pi-ai.providers section without overwriting other providers or duplicating YAML keys.
compat uses a compatible role for system instructions and max_tokens for the output limit; see dsh request compatibility. input declares what dsh can send, rather than every modality the model supports.

Configure credentials

Choose one method:
  • Web UI (recommended): Start dsh, open Settings → Models, edit stepfun, enter the API Key, and save.
  • Environment variable: Replace YOUR_STEP_API_KEY with your API Key, set the variable in the same terminal that starts dsh, then launch the process. These commands target Bash or Zsh on macOS / Linux / WSL:
Changes to settings.yaml and credentials saved through the Web UI normally take effect on the next request without a restart. A running process does not inherit new variables exported in another shell. When using environment variables, restart dsh from the terminal where the variable is set.

Verify the configuration

First confirm that a new dsh session selects step-5-preview under stepfun, send a simple message, and check the response. To test API connectivity separately, set STEPFUN_API_KEY in your terminal and run the following command. Saving a key only in the Web UI does not set a terminal environment variable.
HTTP 200 with a valid choices response means this API request succeeded; it does not independently verify dsh’s provider, credentials, or session selection. If output is truncated, increase max_tokens and retry. Test requests consume the corresponding account quota.

Troubleshooting