dsh-web-search-firecrawl

by crayonlu

工具与能力github收录于 08-23

DeepSeek Harness web 能力缝(ctx.web)的 Firecrawl 网页搜索 provider:让 dsh 的网页搜索完全跑在 Firecrawl(v2 /search)上——无需 DeepSeek API key

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…

安装

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

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

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:

Field Default Meaning
apiKey — Literal Firecrawl key (write it here instead of apiKeyEnv only if you must; it lands in a config file).
apiKeyEnv FIRECRAWL_API_KEY Credential reference resolved per search through ctx.credentials (inherited env > $DSH_HOME/.credentials.yaml > project/user .env).
baseURL https://api.firecrawl.dev/v2 Firecrawl v2 endpoint base; /search is appended.
maxResults 5 Default 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

原始 README: https://github.com/crayonlu/dsh-web-search-firecrawl/blob/main/README.md ↗