dshplugin.devDeepSeek Harness Plugins
DSH Web Search Firecrawl plugin logo
DeepSeek Harness Plugin

DSH Web Search Firecrawl

0
Published by crayonlu

Firecrawl-backed web search provider for DeepSeek Harness (ctx.web) — no DeepSeek API key required

Developer Toolsdeepseek-harnessdsh-pluginfirecrawlweb-search

Get this plugin

Review the source, then continue to the publisher.

dsh plugin add @crayonlu/dsh-web-search-firecrawl@latest
Get this plugin
Share on X ↗

About this plugin

Source snapshot 8/13/2026

@crayonlu/dsh-web-search-firecrawl

Firecrawl-backed WebSearchProvider for the DeepSeek Harness web capability seam (ctx.web). Lets dsh's web_search tool run entirely on Firecrawl (v2 /search) — no DeepSeek API key required.

Install

dsh plugin --profile web add github:crayonlu/dsh-web-search-firecrawl

Then add the provider to the profile patch layer at $DSH_HOME/profiles/web/cordis.patch.yml (hot-reloaded — no restart needed):

- insert:
  - id: web-search-firecrawl
    name: '@crayonlu/dsh-web-search-firecrawl'
- id: web
  config:
    searchProvider: firecrawl
# Optional: drop the DeepSeek-backed search (and chat route) entirely.
- id: web-search-deepseek
  disabled: true
- id: llm-deepseek
  disabled: true

Configuration

Every field is optional:

FieldDefaultMeaning
apiKeyLiteral Firecrawl key (write it here instead of apiKeyEnv only if you must; it lands in a config file).
apiKeyEnvFIRECRAWL_API_KEYCredential reference resolved per search through ctx.credentials (inherited env > $DSH_HOME/.credentials.yaml > project/user .env).
baseURLhttps://api.firecrawl.dev/v2Firecrawl v2 endpoint base; /search is appended.
maxResults5Default result count when a request carries no maxResults.

The key resolves once per search, so an empty FIRECRAWL_API_KEY fails the request with WEB_MISSING_CREDENTIAL rather than falling through to an unrelated credential.

Tests

npm install
npm test

Unit tests mock the HTTP layer; the smoke test runs a real Firecrawl search when FIRECRAWL_API_KEY is set.

License

MIT