DDDMUC/dsh-free-search
Free, keyless web search for DSH: 7 engines (DuckDuckGo/Bing/SearXNG free + Exa/Perplexity/DeepSeek paid), auto-failover, settings-page UI with API key inputs and official links, web_fetch, and an engine test tool.
dsh-free-search replaces DSH's default search provider (which needs a DeepSeek official API key) with multiple free engines and automatic fallback. Any engine failure — rate-limited free engine, missing or invalid paid key, network error — automatically tries the next engine, so search never fails outright, and a note on the results names the engine that actually served them. It adds a web settings UI for engine switching and API keys, a /free-search-engine popup switcher, a free_search_test tool, time filtering on advanced_search, an LRU result cache (50 entries, up to 5 minutes), and FREE vs API KEY badges so costs are visible at a glance.
Install
git clone https://github.com/DDDMUC/dsh-free-search.git && dsh plugin --profile web add /path/to/dsh-free-searchClone the repo and add it with dsh plugin --profile web add /path/to/dsh-free-search, then restart with dsh web. The README warns to always install via dsh plugin --profile <profile> add and never copy DSH core packages into a profile-local node_modules, because @deepseek-ai/dsh-settings and @deepseek-ai/dsh-tools are peerDependencies that must come from a single install tree.
Compatibility
DSH Web profile. Implements the official WebSearchProvider seam, so it coexists with official plugins. Engines: DuckDuckGo HTML/Lite, Bing (default), AnySearch AI, SearXNG, Exa, Tavily, Keenable, Perplexity, DeepSeek Official. Adds web_fetch (official dsh-web-fetch-http provider) and platform_search for GitHub/V2EX/Bilibili/Reddit/Hacker News/Stack Overflow/Wikipedia/npm.
Details
- Repo: DDDMUC/dsh-free-search
- Category: Tools & Capabilities
- Stars: 48
- Version: v0.4.12 (settings card version shown in README)
- Last push: 2026-08-21
- First seen: 2026-08-14
Recent updates
The current README documents the multi-engine fallback chain, settings UI with masked keys, popup engine switcher, engine test tool, timeRange filtering, result caching, and the zero-key engines (AnySearch anonymous REST quota, Exa and Keenable public MCP endpoints, Tavily keyless access mode).
FAQ
- Do I need a DeepSeek API key?
- No — the whole point is escaping the DEEPSEEK_API_KEY dependency; free engines (Bing default, DuckDuckGo, AnySearch, SearXNG, plus keyless Exa/Tavily/Keenable) work with zero keys.
- What happens if an engine fails?
- The README says any failure (rate limit, bad key, network) automatically falls back to the next engine and search never fails outright; the result note names the engine that actually served it.
- Is it safe alongside official plugins?
- Yes — it implements the official WebSearchProvider seam interface. Install with dsh plugin add and never copy DSH core packages into profile-local node_modules, or duplicate copies can break the tool scheduler.
Alternatives
anweat/dsh-web-search-pro · liustack/modsearch · anysearch-team/anysearch-dsh