Introduction¶
In DeepSeek Harness (DSH), a common problem when integrating Web search for agents is that different search engines have different access methods. Free, keyless engines and API key engines are often mixed together, and configuration, fallback, and persistence logic can easily become scattered. dsh-web-search-multi converges these requirements into a single DSH plugin: providing multi-provider Web search, DuckDuckGo global fallback, and a Web Settings UI within DSH Web.
What is it¶
dsh-web-search-multi is a multi-provider Web search plugin for DeepSeek Harness, maintained by cinob and licensed under the MIT License. It supports free, keyless direct connection engines such as 360, Bing, and Baidu, as well as providers like Tavily, Brave Search, Serper/Google, Bocha AI, and SearXNG. It also provides DuckDuckGo global fallback and DSH Web UI settings pages.
Core Capabilities¶
- Free, keyless direct connection:
360,Bing,Baidu. - Free tier providers:
Tavily(1,000/month),Brave Search(2,000/month),Serper/Google(2,500 requests),Bocha AI. SearXNG: Supports private/self-hosted instances and token authentication;SEARXNG_TOKENis an optional configuration.- Fallback:
DuckDuckGoglobal fallback. - Web GUI: Provides
Settings->Multi-source Web Searchpage in DSH Web UI, supporting real-time connection testing and immediate persistence. - Credential Storage: Secrets are saved to
~/.dsh/.credentials.yaml(mode 0600), and non-secret settings are saved to~/.dsh/settings.yaml. - Permissions and Risks: Risk level is
low; network permissions involve making outbound HTTPS requests to the selected search provider. - Compatibility Requirements: Node.js
>=20.0.0, DeepSeek Harness mainlinev0.1.0+,Linux/macOS/Windows.
Installation and Enablement¶
First, execute the installation command below. This plugin is installed as a Profile Bundle; the built-in cordis.patch.yml automatically mounts and activates multi-search, so there is no need to manually insert web-search-multi.
dsh plugin --profile web add github:cinob/dsh-web-search-multi
If you need to remove it later, execute the uninstall command:
dsh plugin --profile web remove dsh-web-search-multi
Typical Usage¶
The following introduces enabling and configuring search sources in DSH Web. First, start the Web service:
dsh web
Then open http://127.0.0.1:3080 and go to Settings -> Multi-source Web Search.
- Select a search engine, or keep
Auto Strategy. - If you need to call a free-tier provider, you can optionally fill in
TAVILY_API_KEY,BRAVE_API_KEY,SERPER_API_KEY,BOCHA_API_KEY, orSEARXNG_TOKEN. - Save and perform a real-time test.
Applicable Scenarios and Notes¶
Suitable for the following situations:
- Want to use free, keyless direct connection engines like
360,Bing, orBaidufirst. - Already using the free tiers of
Tavily,Brave Search,Serper/Google, orBocha AI. - Need to integrate private/self-hosted
SearXNG. - Want to maintain search sources, credentials, and connection status via DSH Web UI.
Notes:
- The plugin initiates outbound HTTPS requests to the selected search provider.
- Secrets like API keys are saved to
~/.dsh/.credentials.yaml(mode 0600), and ordinary settings are saved to~/.dsh/settings.yaml. - The plugin runs within the dsh process context and executes with the current dsh process permissions; it is recommended to check the source code and
MITLicense before installation. - Confirm that the environment meets Node.js
>=20.0.0and DeepSeek Harness mainlinev0.1.0+, and the platform isLinux/macOS/Windowsbefore use.
Conclusion¶
The value of dsh-web-search-multi lies in consolidating multi-provider Web search, fallback logic, and the Web settings page into the DSH plugin system, reducing the switching cost between searching for sources, configuration, and testing. Project repository address: https://github.com/cinob/dsh-web-search-multi.