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: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
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.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
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_KEYwith 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 selectsstep-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.
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.

