DSH Plugins Marketplace

DSH Plugins

Plugins

/

dsh-web-search-brave

C

dsh-web-search-brave

Manifest valid

Brave Search API-backed web search provider for [DeepSeek Harness](https://github.com/deepseek-ai/deepseek-harness) (`dsh`)

hasBundlePatch

@deads-inc/dsh-web-search-brave

Brave Search API-backed web search provider for DeepSeek Harness (dsh). It registers a WebSearchProvider into the ctx.web seam, so the built-in web_search tool works out of the box when you have a Brave Search API key.

  • MIT license, ~270 lines of code, zero runtime dependencies
  • Concurrency-safe rate limiting (1500ms gap between requests)
  • Exponential backoff with jitter on 429s
  • Configurable via DSH Settings or env vars

Install

Requires BRAVE_API_KEY from brave.com/search/api.

From npm (recommended):

dsh plugin --profile web add @deads-inc/dsh-web-search-brave
export BRAVE_API_KEY=<your-key>

From this repo:

git clone https://github.com/ChrisDeadman/dsh-web-search-brave.git
cd dsh-web-search-brave
export BRAVE_API_KEY=<your-key>
bash install.sh

Restart dsh web. Verify the provider is active:

dsh --profile web --dump-config | grep -A3 brave

How it works

  • Registers the brave-search provider on the ctx.web seam.
  • Resolves the API key in this order:
    1. Literal apiKey in the config (not recommended).
    2. The BRAVE_API_KEY credential stored in the DSH credentials service.
    3. The BRAVE_API_KEY env var at launch time.
  • Serializes concurrent calls through an in-process rate limiter (1500ms gap, configurable).
  • On 429/403, honors Retry-After, backs off with exponential + jittered backoff (capped at 30s), up to 3 attempts.

Configuration

All options are optional; sensible defaults are used.

| Option | Env / Config Key | Default | Notes | |---|---|---|---| | API key | BRAVE_API_KEY | — | Required. | | API base URL | BRAVE_SEARCH_BASE_URL | https://api.search.brave.com/res/v1/web/search | Override for proxies or testing. | | Throttle (ms) | — | 1500 | Min gap between outbound requests. | | Max attempts | — | 3 | Retries on 429/403 before failing. |

Enabling as the active search provider

The plugin registers brave-search but does not forcibly enable it. To use it as your search backend, add this to your profile's cordis.patch.yml:

- id: web
  config:
    searchProvider: brave-search

bash install.sh does this automatically for you.

Security notes

  • Your BRAVE_API_KEY is only ever sent to the configured baseURL (default: Brave's official endpoint).
  • Custom baseURL is an escape hatch for proxies or testing; use it deliberately. The plugin does not validate the URL's domain.
  • There are no postinstall scripts, no network calls other than the search API, no telemetry.

Development

This package is plain ESM with no build step and no runtime dependencies — everything it imports (@deepseek-ai/*) is provided by the host DSH install as peer dependencies.

To test a local change, run bash install.sh, then in a fresh terminal:

# 1. Confirm the bundle is wired into the composed profile config:
dsh --profile web --dump-config | grep -A3 brave

# 2. (Optional) Import the module directly. This needs the profile's
#    node_modules to already carry the @deepseek-ai/* peers (a web profile
#    that has any dshmarket package does). It fails harmlessly otherwise —
#    dsh itself always resolves the peers from its own installation at boot:
node --input-type=module -e "
  const m = await import('@deads-inc/dsh-web-search-brave');
  if (typeof m.apply !== 'function' || m.name !== 'web-search-brave') throw new Error('bad module');
  console.log('OK: exports:', Object.keys(m).join(', '));
"

# 3. With BRAVE_API_KEY set, run a real end-to-end search:
dsh --profile web "Use web_search to find one page about Node.js 24. Reply with just the URL."

See AGENTS.md for guidance for AI coding agents working on this repo.

License

MIT.

Similar plugins

dsh-free-search

by DDDMUC

Free web search provider for DeepSeek Harness - DuckDuckGo backend, no API key needed

Tools & CapabilitiesModels & ProvidersManifest valid

189

MIT

JavaScript

Sep 13, 2026

dsh plugin --profile web add dsh-free-search

by X-C1811

Tavily web-search provider for DeepSeek Harness (ctx.web). Keyless or API-key modes with a configurable UI card; provider framework designed to be extended to more search APIs.

Manifest valid

3

269/wk

MIT

JavaScript

Sep 10, 2026

dsh plugin --profile web add dsh-web-search-plugin

by nitrazepam01

Tavily-backed web search provider bundle for DeepSeek Harness (dsh) with hot-switchable backend (Tavily / DeepSeek search)

Manifest valid

3

MIT

JavaScript

Aug 14, 2026

dsh plugin --profile web add dsh-web-search-tavily

by cinob

🌐 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

Manifest valid

6

72/wk

MIT

JavaScript

Aug 26, 2026

dsh plugin --profile web add dsh-web-search-multi

by mcxianyujun

Native AnySearch /v1/search WebSearchProvider for DeepSeek Harness with Web UI, credentials integration, and Web/Headless support.

Manifest valid

4

306/wk

MIT

TypeScript

Sep 9, 2026

dsh plugin --profile web add dsh-web-search-anysearch

by hiyms

Improve web search in Deepseek Harness, use server-side search service.

Manifest valid

4

124/wk

MIT

TypeScript

Sep 1, 2026

dsh plugin --profile web add dsh-web-search-provider