Configuring DeepSeek Harness
DeepSeek Harness (dsh) is an open-source agent harness with a web UI and CLI. Add wylon as a custom OpenAI Chat Completions provider.
Prerequisites
- Node.js 22.15.0 or later. Verify it with
node --version. - A wylon API key in the format
sk-.... - A directory the agent is allowed to read and write.
dshuses the directory where it is launched as the workspace root.
1. Configure the provider
Set the API key
Set the key in your shell:
# Linux / macOS
export WYLON_API_KEY="<your_wylon_API_key>"
# Windows PowerShell
$env:WYLON_API_KEY="<your_wylon_API_key>"Create the configuration file
| System | Path |
|---|---|
| Linux / macOS | ~/.dsh/settings.yaml |
| Windows | %USERPROFILE%\.dsh\settings.yaml |
agent-default-model:
provider: wylon
model: ZhipuAI/GLM-5.3
llm-pi-ai:
providers:
wylon:
displayName: wylon
api: openai-completions
baseURL: https://api.wylon.cn/v1
apiKeyEnv: WYLON_API_KEY
models:
- id: ZhipuAI/GLM-5.3| Field | Meaning |
|---|---|
agent-default-model | Default provider and model for new sessions |
providers | An object keyed by provider ID, not an array |
api | Use openai-completions |
baseURL | Must include /v1 |
apiKeyEnv | The environment-variable name, not the key itself |
models | Complete IDs shown in the model selector, such as ZhipuAI/GLM-5.3 |
Copy a valid model ID from the Model Plaza, or request GET https://api.wylon.cn/v1/models to retrieve the list.
key
Keep the key in an environment variableDo not put the key in
settings.yaml. This file has no apiKey field; adding one invalidates that configuration block. Launch dsh from the same terminal where the variable was set.2. Launch and verify
Run a read-only command-line smoke test first. This mode does not occupy a port and prints any error code directly.
npx @deepseek-ai/dsh --profile headless "In one sentence, identify your model. Do not modify any files."The first npx run downloads the package. A normal one-sentence response confirms the API key, Base URL, and model ID.
After the smoke test passes, launch the web UI:
npx @deepseek-ai/dsh web- Confirm that the selected provider is
wylon. - Confirm that the model is
ZhipuAI/GLM-5.3. - Create a session and start with a read-only task.
- Review the read scope and command policy before allowing file changes or command execution.
3. Manage the provider in the web UI
You can also create and maintain the provider under Settings → Models → Add custom provider. After entering the provider ID and API key, expand Custom settings and complete the following fields.
| Field | Value |
|---|---|
| Display name | wylon |
| API URL | https://api.wylon.cn/v1 |
| API protocol | openai-completions |
| Model catalog | Complete wylon model IDs, such as ZhipuAI/GLM-5.3 |
- Fetch available models calls
GET /v1/models. You can also add a model manually. - After saving, a green dot beside the provider name means a credential is configured. Use Open configuration file to inspect
settings.yaml. - A key entered in the UI is stored write-only in
~/.dsh/.credentials.yaml, and its derived reference is written to the profile'sapiKeyEnv. - Do not edit the credential file manually.
priority_high
Environment variables have the highest priorityCredentials are resolved in this order: the launch process environment,
~/.dsh/.credentials.yaml, the current directory's .env, then ~/.dsh/.env. When WYLON_API_KEY is set, the API key field in the UI is read-only. Clear that environment variable before changing the key in the UI.