Skip to content

feat: add Exa as default web search provider - #3442

Open
kesku wants to merge 1 commit into
charmbracelet:mainfrom
kesku:exa-web-search
Open

feat: add Exa as default web search provider#3442
kesku wants to merge 1 commit into
charmbracelet:mainfrom
kesku:exa-web-search

Conversation

@kesku

@kesku kesku commented Jul 27, 2026

Copy link
Copy Markdown

Related to #2664

Summary

web_search (inside agentic_fetch) currently scrapes DDG and is pretty flaky! This makes Exa the default via its free hosted MCP (https://mcp.exa.ai/mcp) with no signup or API key required

Engine selection is configured in crush.json:

{
  "tools": {
    "web_search": {
      "search_engine": "exa",
      "exa_api_key": "$EXA_API_KEY"
    }
  }
}
  • EXA_API_KEY is optional if you need higher rate limits otherwise it's free without API key
  • this keeps DDG as both an explicit config choice and the automatic fallback when Exa fails

Testing

  • go test ./internal/agent/tools ./internal/config ./internal/cmd
  • go test -tags integration ./internal/agent/tools -run TestExaHostedIntegration -v
  • Local testing:
CleanShot 2026-07-27 at 16 57 36@2x CleanShot 2026-07-27 at 17 01 17@2x

@charmcli

charmcli commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

All contributors have signed the CLA ✍️ ✅
Posted by the CLA Assistant Lite bot.

@kesku

kesku commented Jul 27, 2026

Copy link
Copy Markdown
Author

I have read the Contributor License Agreement (CLA) and hereby sign the CLA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants