Introduction¶
DSH extends capabilities via plugins. Search capabilities like web_search are plugged into DSH’s ctx.web search slot; the model-visible tool schema can remain unchanged, only requiring a change of the underlying search provider. dsh-web-search-firecrawl is a provider plugin that integrates Firecrawl into this slot.
What is this¶
One-sentence positioning: It is a Firecrawl-backed search provider targeting the DeepSeek Harness web capability seam (ctx.web).
It addresses: sending search requests to Firecrawl’s POST /v1/search without directly registering model-visible tools, while the web_search tool schema still comes from @deepseek-ai/dsh-tool-web, and mapping the returned results back to DSH’s normalized search structure.
The package name is @pionai/dsh-web-search-firecrawl. The source material contains capitalization differences such as PionsAI, PionAI, and @pionai; this article does not treat any one spelling as the confirmed unique official owner, with installation and reference based on the package name and commands.
Core Capabilities¶
Registering the search provider¶
The plugin registers a WebSearchProvider with id: firecrawl into the DeepSeek Harness ctx.web search slot.
It does not directly register model-visible tools; the web_search tool schema still comes from @deepseek-ai/dsh-tool-web.
Calling Firecrawl and mapping results¶
The plugin calls Firecrawl’s POST /v1/search interface and maps the flat data[] to normalized WebSearchResult / WebSearchSource.
Settings page configuration¶
The plugin supports configuring the following fields via the Firecrawl page in DSH Settings:
- API Key
baseURLlimitmaxSnippetChars
When the API Key in the settings page is empty, it can fallback to the environment variable $FIRECRAWL_API_KEY.
Switching the search route¶
After installation, it defaults to switching the web profile’s searchProvider to firecrawl.
It can also be switched back to DeepSeek via the Use Firecrawl switch in DSH Settings or via a profile patch.
Installation and Enabling¶
Prerequisites¶
- The license is MIT.
- Requires DeepSeek Harness
0.1.0-rc.6official package version line and a Firecrawl API key. - Node engines require
>=22.
Installing to the web profile¶
The following command installs the plugin to DSH’s web profile:
dsh plugin --profile web add @pionai/dsh-web-search-firecrawl@latest
Restart and Refresh¶
After installation, the DSH web page needs to be restarted, and the browser refreshed, to load the new provider in the settings page and running pages:
dsh web
Use hard-refresh (Cmd/Ctrl+Shift+R) when refreshing.
State after installation¶
After installation, the web profile’s search provider is switched to Firecrawl by default.
The Firecrawl page should be visible in the settings page. When no key is available, search fails and returns WEB_PROVIDER_CONFIGURED_UNAVAILABLE.
Typical Usage¶
Configuring the API Key in DSH Settings¶
- Open the Firecrawl page in DSH Settings.
- Enter
fc-...in the API Key field and save. - The field is saved as a secret, so plaintext is not echoed back.
- If the field is saved empty, the current key is retained; use Clear to remove it.
Using environment variable¶
If the API Key in the settings page is empty, you can also use the environment variable as a fallback:
export FIRECRAWL_API_KEY=fc-...
dsh --profile web
Updating¶
Update to the latest released version:
dsh plugin --profile web update --latest @pionai/dsh-web-search-firecrawl
After updating, restart DSH web and hard-refresh the page (Cmd/Ctrl+Shift+R).
Uninstalling¶
dsh plugin --profile web remove @pionai/dsh-web-search-firecrawl
Uninstalling removes the package and mount but does not delete the API key value in the settings page. If you also want to delete the saved key, clear it first in the Firecrawl settings page.
Optional profile patch¶
In profile cordis.patch.yml, you can only fix the needed configuration items, for example limit:
- id: web-search-firecrawl
name: '@pionai/dsh-web-search-firecrawl'
config:
limit: 10
Applicable Scenarios and Notes¶
Suitable for developers or users already using DeepSeek Harness who wish to switch the web_search backend to Firecrawl.
Note the following points:
- The plugin runs with the current DSH process permissions; you should check the source code and license before installing.
- The license is MIT.
- Requires DeepSeek Harness
0.1.0-rc.6official package version line and a Firecrawl API key. - Node engines require
>=22. - When no Firecrawl key is available, search is unavailable and returns
WEB_PROVIDER_CONFIGURED_UNAVAILABLE. - Provider failures, request aborts, etc., are mapped to
WebErrorerror codes. - HTTP redirects are rejected before contacting the
Locationtarget. - When the settings page key is empty, it falls back to
$FIRECRAWL_API_KEY; if neither is present, the provider is unavailable. - If owner clues contain capitalization differences like
PionsAI/PionAI, please verify them yourself when referencing the repository or package name.
Links¶
- Community directory page provided by clues:
https://www.skillhub.cn/plugins/PionsAI/dsh-web-search-firecrawl - GitHub repository (documentation):
https://github.com/PionAI/dsh-web-search-firecrawl