โ† Back to home

cinob

dsh-web-search-multi

๐ŸŒ Multi-provider web search plugin for DeepSeek Harness: Zero-key Bing/Baidu direct search, free-tier APIs (Tavily/Brave/Serper/Bocha), SearXNG token auth, auto-fallback, and a built-in Web Settings GUI.

Stars
0
Language
JavaScript
Created
Aug 15, 2026
Updated
Aug 15, 2026

Introduction

dsh-web-search-multi

Multi-provider web search plugin for DeepSeek Harness (DSH) supporting free-tier providers (Bing, Baidu, Tavily, Brave, Serper, Bocha, SearXNG, DuckDuckGo) with auto-fallback and Web Settings UI.

English | ็ฎ€ไฝ“ไธญๆ–‡

license GitHub dsh-plugin


1. Overview

dsh-web-search-multi connects DeepSeek Harness to multiple search engines with automated fault tolerance:

  • Free Zero-Key Engines: Bing (RSS structured + HTML parsing) and Baidu direct search without any API keys.
  • AI-Native Free Tiers: Tavily (1,000/mo), Brave Search (2,000/mo), Serper/Google (2,500 free), Bocha AI.
  • Private & Self-Hosted: SearXNG with token authentication.
  • Global Fallback: DuckDuckGo.
  • Web GUI Control: Full graphical settings tab inside DSH Web UI (Settings -> Web Search) with live connection testing and instant persistence.

2. Compatibility

  • Node.js: >= 20.0.0
  • DeepSeek Harness: Verified on mainline v0.1.0+
  • Platform: Linux / macOS / Windows

3. Install

dsh plugin --profile web add github:cinob/dsh-web-search-multi

Then add the provider to the profile patch layer at $DSH_HOME/profiles/web/cordis.patch.yml (hot-reloaded โ€” no restart needed):

- insert:
    - id: web-search-multi
      name: dsh-web-search-multi
      config:
        provider: auto
        enableFallback: true

- id: web
  name: '@deepseek-ai/dsh-web'
  config:
    searchProvider: multi-search

Uninstallation

  1. Remove the web-search-multi and web searchProvider overrides from $DSH_HOME/profiles/web/cordis.patch.yml.
  2. Uninstall the plugin:
dsh plugin --profile web remove dsh-web-search-multi

4. Quick Start

  1. Start DSH Web:
    dsh web
    
  2. Open Web GUI (http://127.0.0.1:3080) -> Click Settings (Gear icon) -> Select ๅคšๆบ Web ๆœ็ดข in the sidebar.
  3. Choose your preferred search engine or leave it on ่‡ชๅŠจ็ญ–็•ฅ (Auto).
  4. (Optional) Enter your API keys for Tavily, Brave, Serper, or Bocha.

5. Configuration

Environment Variables

VariableDescription
DSH_WEB_SEARCH_PROVIDERSet to multi-search
TAVILY_API_KEYTavily API Key (1,000 searches/mo)
BRAVE_API_KEYBrave Search API Key (2,000 searches/mo)
SERPER_API_KEYSerper Google API Key (2,500 searches)
BOCHA_API_KEYBocha AI Search API Key
SEARXNG_URLSearXNG instance URL (e.g. http://localhost:8888)
SEARXNG_TOKENSearXNG access token (optional)

6. Permissions & Data Disclosures

  • Risk Level: low
  • Network: Outbound HTTPS requests to selected search providers.
  • Filesystem: Reads/writes local persistent configuration under ~/.dsh/web-search-multi.json.
  • Credentials: API keys are saved strictly to your local configuration document.

7. Troubleshooting

  • DuckDuckGo fetch failed: In mainland China, DuckDuckGo requires a network proxy (HTTP_PROXY). Switch to Bing or Baidu for zero-proxy direct access.
  • Config not applied: Changes to cordis.patch.yml hot-reload automatically without requiring a server restart.

8. Development

# Clone repository
git clone https://github.com/cinob/dsh-web-search-multi.git
cd dsh-web-search-multi

# Build client and server bundles
npm run build

# Run unit tests
npm test

9. License

MIT License.