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 | ็ฎไฝไธญๆ
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
- Remove the
web-search-multiandwebsearchProvider overrides from$DSH_HOME/profiles/web/cordis.patch.yml. - Uninstall the plugin:
dsh plugin --profile web remove dsh-web-search-multi
4. Quick Start
- Start DSH Web:
dsh web - Open Web GUI (
http://127.0.0.1:3080) -> Click Settings (Gear icon) -> Select ๅคๆบ Web ๆ็ดข in the sidebar. - Choose your preferred search engine or leave it on ่ชๅจ็ญ็ฅ (Auto).
- (Optional) Enter your API keys for Tavily, Brave, Serper, or Bocha.
5. Configuration
Environment Variables
| Variable | Description |
|---|---|
DSH_WEB_SEARCH_PROVIDER | Set to multi-search |
TAVILY_API_KEY | Tavily API Key (1,000 searches/mo) |
BRAVE_API_KEY | Brave Search API Key (2,000 searches/mo) |
SERPER_API_KEY | Serper Google API Key (2,500 searches) |
BOCHA_API_KEY | Bocha AI Search API Key |
SEARXNG_URL | SearXNG instance URL (e.g. http://localhost:8888) |
SEARXNG_TOKEN | SearXNG 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 toBingorBaidufor zero-proxy direct access. - Config not applied: Changes to
cordis.patch.ymlhot-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.
- Repository: https://github.com/cinob/dsh-web-search-multi