Skip to main content
DeepSeek Harness (dsh) is DeepSeek’s open-source agent harness, released under MIT and built so that everything is a plugin — the model adapter, the tool registry, the sandbox, and the agent loop itself. It runs as a local web UI or headless from the terminal, and accepts any OpenAI-compatible endpoint as a custom provider.

Setup

Web UI

Open the UI (served at http://127.0.0.1:3080 by default), go to Settings → Models → Add a custom provider, and fill in: Under Model catalog, click Fetch available modelsdsh queries Opper’s OpenAI-compatible GET /models endpoint and lists the full catalog. Select the models you want, save, then pick one in the model picker to make it the default for new sessions.

Config file, and headless mode

The Models page writes to $DSH_HOME/settings.yaml (default ~/.dsh). To configure the same thing by hand — for example for one-shot headless jobs:
Models entered by hand are treated as text-only; for a vision model, add input: [text, image] to its entry. The API key itself never lands in settings.yaml — the UI stores it in $DSH_HOME/.credentials.yaml, and apiKeyEnv reads it from the environment instead.

Troubleshooting

Check the base URL has no trailing path — dsh appends /models itself. It should be exactly https://api.opper.ai/v3/compat.
Hand-written model entries default to text-only. Add input: [text, image] under that model’s entry in settings.yaml.
The provider ID is permanent once saved. Delete the provider and re-add it with the correct ID.

Model catalog

Browse the catalog for model IDs and capabilities.

All integrations

Every app that runs on Opper.