Preface¶
The design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” The default deepseek-official provider is usually suitable for general scenarios, but manually registering a custom provider is necessary when you need to integrate a specific gateway, proxy, or model that supports native web access. dsh-websearch-custom addresses this by allowing users to take over the web channel’s web access capability by configuring an OpenAI Responses-compatible endpoint.
Plugin Introduction¶
dsh-websearch-custom is an open-source plugin maintained by Jyjays (MIT license), and falls under DSH’s “Live Web Tools” category. It registers a configurable ctx.web provider, calls any OpenAI Responses-compatible API endpoint, and includes a browser-based settings interface. The plugin itself does not include vendor-specific default configuration; all key parameters (endpoint, model, and API key reference) are determined by the user.
Core Features¶
- Register a custom provider: Registers a provider named
custom-openaiin the DSH environment for thewebchannel to select. - OpenAI Responses compatibility: Calls endpoints that support the
POST /responsesinterface and leverages the native web search tool. - Runtime configuration interface: Provides a browser settings page to dynamically adjust the endpoint, model, and API key reference without modifying configuration files.
- Behavioral constraints:
- No web page crawling: Relies on the endpoint’s native search capability instead of the plugin’s own crawler.
- No regular chat completions: Strictly uses the Responses API format.
- No fabricated citations: A response is considered valid only when it includes native URL citations; otherwise it returns
WEB_PROVIDER_ERROR.
Installation and Activation¶
Installing the plugin requires DSH plugin management commands, with the plugin path pointing to locally checked-out code or a Git repository.
dsh plugin --profile web add /absolute/path/to/dsh-websearch-custom
After installation, DSH Host must be restarted for the plugin to take effect.
Configuration Methods¶
After installation, the plugin registers the custom-openai provider. You can configure it in two ways:
1. Using the Browser Settings Interface¶
Open the DSH settings page and navigate to WebSearch Custom. Here you can edit the same parameters as in the configuration file. Changes take effect immediately after saving, with no restart required.
Main configuration options:
* Provider ID: The stable ID used for web channel selection (default custom-openai).
* API Key: Optional, stored as a settings key, and not echoed.
* API Key Env: Recommended. An environment variable name or DSH credential reference, resolved on each search.
* Base URL: The base address of the OpenAI Responses-compatible endpoint (without /responses); required.
* Model: The name of the model that supports native web access; required.
* Search tool type: web_search or web_search_preview, set according to the gateway documentation.
* Search context size: low / medium / high.
* Max output tokens: The output token limit.
* Allowed / Blocked domains: Comma-separated domain filter lists.
2. Modifying the Configuration File Directly¶
In DSH’s configuration layer (such as an overlay or composition), manually specify the web channel’s searchProvider as custom-openai.
- id: web
name: '@deepseek-ai/dsh-web'
config:
searchProvider: custom-openai
For security reasons, avoid writing apiKey directly in the configuration file. It is recommended to use apiKeyEnv. The plugin prioritizes resolving the key through DSH credentials and falls back to environment variables.
Full configuration example:
- id: web-search-custom
name: dsh-websearch-custom
config:
providerId: custom-openai
apiKeyEnv: MY_PROVIDER_API_KEY
baseURL: https://api.example.com/v1
model: my-search-enabled-model
searchToolType: web_search
searchContextSize: low
maxOutputTokens: 1024
allowedDomains:
- arxiv.org
- openreview.net
Notes¶
- Does not replace the default provider: This plugin only registers
custom-openaiand does not override DSH’s defaultdeepseek-officialprovider. You need to explicitly point thewebchannel’ssearchProviderto it through configuration. - Endpoint compatibility: Ensure that the target endpoint supports
POST /responsesand returns URL citations. If the endpoint only supports regular chat completions or lacks native search capability, the plugin will return an error. - Response validation: Because the plugin does not generate fabricated citations, if the model’s returned text does not include URL citations, the provider will return
WEB_PROVIDER_ERROR. - Development environment: If installing from Git, ensure that the
preparescript has been run to build thedist/folder. You may also need to adddsh-websearch-custom: trueinpnpm-workspace.yamlto allow the build.
Conclusion¶
dsh-websearch-custom provides DSH users with the ability to integrate custom OpenAI Responses gateways. Through its strict “no crawling, no completions, no fabricated citations” policy, it ensures controllable and accurate web access behavior. If you need to use a specific proxy service or private gateway, this is a ready-to-deploy solution.