<p align="center"> <img src="assets/readme/hero.svg" alt="dsh-all-search — AnySearch web search for DeepSeek Harness" width="100%"> </p>
dsh-all-search
Adds an AnySearch web-search provider to DeepSeek Harness, registered into ctx.web. AnySearch is a single MCP gateway that aggregates exa / tavily / firecrawl / context7 behind one API key.
With an optional firecrawl_api_key, developer-intent queries (repo / issue / PR / commit / skill) are answered by the Firecrawl Developer Index first — a semantic artifact index over READMEs, issues, PRs, OpenAPI specs and skills — falling back to AnySearch when it fails or returns nothing.
> Port of pi-all-search.
Why
dsh ships Exa / Perplexity / DeepSeek search. This plugin adds AnySearch: one key, many backends, no per-backend credentials.
Quick start
dsh plugin --profile web add dsh-all-searchThe provider registers as anysearch on ctx.web — the built-in web_search tool picks it up alongside the stock providers.
- id: all-search
name: dsh-all-search
config:
api_key: <your anysearch key>| key | required | meaning |
|---|---|---|
api_key | ✅ | your AnySearch key |
base_url | – | MCP endpoint override |
firecrawl_api_key | – | enables the Firecrawl Developer Index branch for repo/issue/PR/skill queries |
Without a key the provider reports available() = false and the seam skips it.
Privacy
- The key lives only in your config file — never logged.
- Only your query and result count go to the AnySearch gateway.
Development
npm install
npm run typecheck
npm test # result parsing / maxResults / HTTP errors
npm run buildLive search test:
node --import tsx tests/real/real-search.mjsLicense
MIT