feat: add Firecrawl search provider#192
Conversation
|
firecrawl is already supported |
You are right that Firecrawl is already supported today as a scraper. I think this PR is a different integration point: it adds Firecrawl as a search provider using Firecrawl's I checked both export type SearchProvider = 'serper' | 'searxng' | 'tavily';
export type ScraperProvider = 'firecrawl' | 'serper' | 'tavily';
Invalid search provider: ${searchProvider}. Must be 'serper', 'searxng', or 'tavily'And the tool docs make the same distinction: Search providers: Serper, SearXNG, Tavily
Scraper providers: Firecrawl, Serper, TavilySo today If you do not want Firecrawl as a search provider, that is totally fair; I just wanted to clarify that the current support is scraper support, not search-provider support. |
|
My mistake, I could've sworn we had firecrawl as a search provider since the firecrawl team itself has contributed code here. Will review as soon as I can |
Target:
danny-avila/agents:mainBranch:
feature/firecrawl-searchCommit:
f6ae68013d93310729444a2b2d99d1040f896366Companion PR:
danny-avila/LibreChat#13262feat/firecrawl-web-searchdevWhy This Matters
Firecrawl is a strong fit for agent web search because it is not just another SERP adapter. Its search API can combine web discovery with Firecrawl scraping, so agents can request search results and page content through one provider instead of wiring a separate search engine plus scraper stack.
That matters for LibreChat deployments that already want Firecrawl for AI-ready page extraction: one provider can cover the common "find sources, fetch readable content, pass clean context to the model" workflow.
References:
Summary
Adds Firecrawl search support to the agents search tool, including:
scrapeOptionspassthrough.env.exampleentries for Firecrawl configurationTests
git diff --check, env-line format check,git show --check)Dependency Notes
No new runtime dependency is added. The companion LibreChat PR requires a published
@librechat/agentsversion that acceptssearchProvider: "firecrawl".Residual Risks
Coverage uses mocked axios responses, not a live Firecrawl API call.