From 63daf33b485cd60ecc1c0378862cfa0cec377570 Mon Sep 17 00:00:00 2001 From: Leonardo Grigorio <48296347+leonardogrig@users.noreply.github.com> Date: Thu, 2 Apr 2026 13:47:59 -0300 Subject: [PATCH] docs: add Firecrawl section to README --- README.md | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/README.md b/README.md index 0a8e0d2a..cdfd9142 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,27 @@ Best if you want local inference on Apple Silicon with Atomic Chat. See [Advance --- +## Web Search and Fetch + +By default, `WebSearch` is disabled for all non-Anthropic providers. The native search backend requires either the Anthropic API or the Codex responses endpoint, so users on GPT-4o, DeepSeek, Gemini, Ollama, and other OpenAI-compatible providers get no web search at all. + +`WebFetch` works but uses basic HTTP plus HTML-to-markdown conversion. That fails on JavaScript-rendered pages (React, Next.js, Vue SPAs) and sites that block plain HTTP requests. + +Set a [Firecrawl](https://firecrawl.dev) API key to fix both: + +```bash +export FIRECRAWL_API_KEY=your-key-here +``` + +With this set: + +- `WebSearch` is enabled for all providers and routes through Firecrawl's search API +- `WebFetch` uses Firecrawl's scrape endpoint instead of raw HTTP, handling JS-rendered pages correctly + +Free tier at [firecrawl.dev](https://firecrawl.dev) includes 500 credits. The key is optional — if not set, both tools fall back to their original behavior. + +--- + ## How It Works The shim (`src/services/api/openaiShim.ts`) sits between Claude Code and the LLM API: