crayonlu / dsh-web-search-firecrawl

Listed

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

mainModelTool View source

Installation

npx -y @deepseek-ai/dsh plugin --profile web add github:crayonlu/dsh-web-search-firecrawl

This installation command is an unverified starting point generated from the GitHub repository address.

README

Maintainer-authored documentation snapshot.

View on GitHub ↗
Commit a7ad160Synced Aug 18, 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

Project files and signals

Shown items are public repository signals detected in the directory snapshot.

TestsDetected

Repository information

Language
JavaScript
License
MIT
Last updated
Aug 13, 2026, 2:46 PM

Install deliberately

Review source code, permissions, lifecycle hooks, dependencies and network access. Test untrusted plugins in an isolated environment.