Introduction¶
The core design philosophy of DeepSeek Harness (DSH) is “everything is a plugin.” When using the web search capability, specific search engines typically need to be configured for different scenarios. The dsh-web-search-multi plugin solves this problem by allowing multiple search providers, such as SearXNG, Brave, Tavily, Gemini, and Wikipedia, to be configured directly within DSH and used with DSH’s native web_search tool.
Core Features¶
- Multi-provider support: Provides five search backends: SearXNG, Brave, Tavily, Gemini, and Wikipedia.
- Independent switch: In the chat interface, each message row includes a search switch that can independently enable or disable search for the current session.
- Zero configuration to start: The default Wikipedia backend can be used without an API key.
- Precise routing: Queries are sent only to the selected provider, with no implicit fallback mechanism.
Installation and Activation¶
-
Environment preparation
- Ensure that Node.js
^22.19or>=24is installed on the system. - Check the DeepSeek Harness version. Plugin
0.2.3requires DSH version0.1.5-rc.2. If using an older DSH version (0.1.1-rc.2), install plugin0.2.0instead.
- Ensure that Node.js
-
Install the plugin
Run the following command to add the plugin to thewebconfiguration file:
dsh plugin --profile web add dsh-web-search-multi@latest
After installation, restart the `dsh web` service.
Configuration and Usage¶
Web Interface Configuration¶
After installation, go to Settings → Plugins → Plugin configuration → Multi-provider web search in the web interface.
* Select a default provider (such as Wikipedia, Brave, or SearXNG).
* If needed, configure the provider credentials or the SearXNG access URL.
* Click Test configuration to run a real query and verify that the setup was successful.
In-Session Control¶
In the Composer toolbar of the chat interface, each row has a two-part pill control.
* The left side controls the switch state (Off / On).
* Selecting Off removes web_search from the session’s available tool list and prevents direct invocation.
* This switch does not affect web_fetch or the built-in search feature in Grok Build.
File Configuration¶
For advanced configuration, edit the configuration file $DSH_HOME/profiles/web/cordis.patch.yml. This file completely replaces the top-level config value, so keep all required keys from the chosen example.
Notes¶
- Version compatibility: Plugin
0.2.0and earlier versions are based on the legacy settings API and are not compatible with DSH versions after0.1.5-rc.2. - SearXNG deployment: This plugin does not install or start the SearXNG service. If you need to use SearXNG, deploy a Docker container or instance yourself.
- Security: Do not publicly expose SearXNG endpoints or API key configuration values without authentication, rate limiting, or other security controls.
- Knowledge scope: The default Wikipedia backend provides only encyclopedic knowledge and does not cover real-time web information.
Summary¶
The plugin enhances DeepSeek Harness’s adaptability for web search by providing flexible multi-backend configuration and session-level control. For scenarios that require integrating multiple search sources or controlling search costs, it is a practical tool.