dsh-web-search-order
Run the following command in DeepSeek Harness:
dsh plugin install killcerr/dsh-web-search-order
Paste the following prompt into your AI chat to install this plugin:
Run dsh plugin install killcerr/dsh-web-search-order inside DeepSeek Harness to install; the source repository is https://github.com/killcerr/dsh-web-search-order
About this plugin
By default, DSH web_search relies on a single search provider. When that provider times out, throws an error, or returns an empty result, the entire tool call fails with no fallback. dsh-web-search-order inserts an ordered fallback chain at that point: it strings together the multiple providers already registered on ctx.web (exa, deepseek-official, etc.) so that when one is unavailable, the next one is tried automatically. The model-side call shape, agent presets, and web_fetch remain untouched.
The plugin does not implement a search backend or manage credentials. It only sorts and chains the providers you have already installed. You set the order of preference, permanently exclude providers, and cap each attempt with an independent timeout budget (default 20 seconds). Every attempt races the budget deadline against caller cancellation and the provider response; whichever comes first wins, and a late-arriving result is discarded. If the entire chain fails, the raised error lists each provider result verbatim (401, missing key, etc.) so the root cause is immediately visible. A caller-initiated cancellation short-circuits with WEB_ABORTED, keeping the semantics unambiguous.
This is for teams that have registered multiple search services in their DSH deployment and want redundancy with minimal change: no model-side code edits, no custom routing logic, just a few config keys and search requests flow between providers automatically.
Use Cases
- Automatically fail over to a backup provider when the primary one times out or errors, preventing the tool call from failing
- Add redundancy and availability to a multi-provider search setup with a few config keys
- Enforce an independent timeout budget per provider attempt so one slow service cannot stall the whole chain
- Permanently exclude unreliable or overdue providers and let the remaining ones take over in priority order
Best For
- DSH users who have registered multiple search services and want zero-code search fault tolerance
- Developers who prefer configuring order and timeouts over writing custom routing and retry logic
- Ops teams that include search availability in their SLO or on-call playbook and need clear per-provider error reporting on total chain failure
Related Plugins
Free web search plugin for DeepSeek Harness with web search, X search, and page fetch; no signup or API key required, with automatic multi-engine failover.
AnySearch-powered web and vertical search plugin for DeepSeek Harness, offering real-time search, cleaned URL content, concurrent batch search via native web_search/web_fetch, no API key required.
Pixel-perfect webpage clone tool that uses an agent harness to turn any webpage into a scored, full-page React replica.
A bilingual cost-tracking plugin for DeepSeek Harness with session/daily cost, budget, official & custom provider balance, coding plan quotas, peak/off-peak pricing alerts, and history stats.