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

  1. Environment preparation

    • Ensure that Node.js ^22.19 or >=24 is installed on the system.
    • Check the DeepSeek Harness version. Plugin 0.2.3 requires DSH version 0.1.5-rc.2. If using an older DSH version (0.1.1-rc.2), install plugin 0.2.0 instead.
  2. Install the plugin
    Run the following command to add the plugin to the web configuration 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.0 and earlier versions are based on the legacy settings API and are not compatible with DSH versions after 0.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.

GitHub repository