Skip to content

feat(web-search): add Exa as a web search provider#39

Open
10ishq wants to merge 1 commit intodeepgram:mainfrom
10ishq:exa-web-search-deepclaw
Open

feat(web-search): add Exa as a web search provider#39
10ishq wants to merge 1 commit intodeepgram:mainfrom
10ishq:exa-web-search-deepclaw

Conversation

@10ishq
Copy link
Copy Markdown

@10ishq 10ishq commented Feb 23, 2026

feat(web-search): add Exa as a web search provider

Adds Exa as a web search provider.

Changes

  • Add "exa" to SEARCH_PROVIDERS
  • runExaSearch with x-exa-integration: "openclaw" header for usage tracking
  • Config resolvers: resolveExaConfig, resolveExaApiKey, resolveExaContents, resolveExaMaxChars
  • Zod schema validation and TypeScript types for Exa config
  • Auto-detection via EXA_API_KEY env var

Configuration

{
  tools: {
    web: {
      search: {
        provider: "exa",
        exa: {
          apiKey: "your-exa-api-key",
          contents: true,
          maxChars: 1500,
        },
      },
    },
  },
}

Exa options

Option Description Default
contents Include page text in results true
maxChars Max characters per result 1500

@10ishq
Copy link
Copy Markdown
Author

10ishq commented Feb 25, 2026

Hey @billgetman — would love your review on this. Adds Exa as a web search provider alongside the existing Brave, Perplexity, and Grok providers. Adapted to deepclaw's specific codebase.

Key changes in src/agents/tools/web-search.ts:

  • runExaSearch with x-exa-integration: "openclaw" header
  • Exa config resolvers (resolveExaApiKey, resolveExaContents, resolveExaMaxChars)
  • Updated runWebSearch and createWebSearchTool to handle exa provider

Exa's neural search with category filters (company, research paper, news, etc.) should pair well with deepclaw's voice-focused workflow.

Adds Exa (https://exa.ai) as a web search provider alongside Brave, Perplexity, and Grok.

- runExaSearch with x-exa-integration header for usage tracking
- Config types and zod schema validation
- Auto-detection via EXA_API_KEY env var
- Configurable contents and maxChars options

Co-Authored-By: unknown <>
@10ishq 10ishq force-pushed the exa-web-search-deepclaw branch from 98d9213 to 822d699 Compare February 25, 2026 16:03
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.

1 participant