TonyDua/dsh-web-search-exa

Zero-config Exa web search provider for DeepSeek Harness (dsh): keyless anonymou

A zero-config Exa web search provider for DeepSeek Harness. No API key required — searches route through Exa's documented anonymous MCP path (mcp.exa.ai/mcp, rate-limited) out of the box. Set EXA_API_KEY to upgrade to the keyed REST API automatically. Registers into the ctx.web seam as a drop-in provider, so web_search and web_fetch work without any other changes. Difference from the official package: adds the keyless anonymous MCP fallback the official one lacks.

Other ★ 6 updated 2026-09-09 ⚠️ needs adapt
View on GitHub ↗

Install

dsh plugin --profile web add @tonydua/dsh-web-search-exa

npm package @tonydua/dsh-web-search-exa 0.1.2 (registry-verified 2026-08-24). Zero-config by default — no API key required. If you have an Exa API key, set the EXA_API_KEY environment variable and the plugin automatically switches to the keyed REST path (higher rate limits). Can coexist with the official @deepseek-ai/dsh-web-search-exa in one profile (different providerId, no conflicts).

Compatibility

DeepSeek Harness web profile. Node.js >=18. Registers into the dsh ctx.web seam; existing web_search / web_fetch tools and prompt sections work unchanged. Can coexist with the official @deepseek-ai/dsh-web-search-exa.

Details

Recent updates

0.1.2: zero-config anonymous MCP fallback (mcp.exa.ai/mcp); keyed REST path auto-enabled when EXA_API_KEY set; configurable providerId (default: exa) to coexist with the official package; MIT, ESM, bundled types.

FAQ

Do I need an Exa API key to use this?
No — the anonymous MCP path (mcp.exa.ai/mcp) works without any credentials. You get Exa's documented public rate limits. Set EXA_API_KEY for higher limits — the plugin switches to the REST API automatically when the key is present.
Can I use this alongside the official @deepseek-ai/dsh-web-search-exa?
Yes — configure a different providerId (e.g. exa-anon) for this package in the Harness patch. The two providers coexist without collisions or silent overrides.
Does this change how web_search works in the model's eyes?
No — it registers as a WebSearchProvider for the ctx.web seam. The model-facing web_search / web_fetch tools, prompt sections, and result cards all work exactly as before, with Exa as the search backend.

Alternatives

omdsh-dev-dsh-web-review · yangzhe1003/dsh-web-search-firecrawl · Edge-Echo/dsh-mcp-bridge

More plugins in Other

Browse more in Other

Guides for Other plugins