Skip to content

feat: add optional You.com search integration - #29

Open
mouse-value-add wants to merge 1 commit into
EXXETA:mainfrom
mouse-value-add:feat/youcom-search-integration
Open

feat: add optional You.com search integration#29
mouse-value-add wants to merge 1 commit into
EXXETA:mainfrom
mouse-value-add:feat/youcom-search-integration

Conversation

@mouse-value-add

Copy link
Copy Markdown

What this adds

This PR adds You.com as an optional third search provider for exxperts, alongside the existing DuckDuckGo and SearXNG options. You.com provides enhanced web search with better result quality and higher quotas.

Why this is useful for exxperts

You.com offers several advantages for AI agent web search:

  • Better result quality: Enhanced search algorithms optimized for AI use cases
  • Higher quotas: More reliable for heavy search usage compared to DuckDuckGo rate limits
  • No infrastructure needed: Unlike SearXNG, requires no Docker setup or local containers
  • Consistent availability: No network-specific blocking issues that sometimes affect DuckDuckGo

How it works

The integration follows exxperts' existing search provider pattern:

# Enable You.com search
export EXXETA_SEARCH_PROVIDER=youcom
export YOU_API_KEY=your_api_key_here
exxperts web

Configuration

  • Optional: You.com is entirely opt-in via environment variables
  • Backwards compatible: DuckDuckGo remains the default, no existing behavior changes
  • Graceful fallback: Clear error messages when API key is missing or invalid
  • Flexible auth: Supports both YOU_API_KEY and YDC_API_KEY environment variables

Implementation details

  • Extends SearchProvider type to include "youcom"
  • Adds searchYoucom() function using You.com's web search API
  • Updates provider selection logic in getProvider()
  • Follows existing patterns from searchSearxng() and searchDuckDuckGo()
  • Uses same result formatting and error handling conventions

Documentation updated

  • docs/web-search.md: Added You.com setup section with step-by-step instructions
  • docs/operations.md: Added environment variable reference and examples
  • Updated descriptions to mention all three provider options

Validation performed

  • npm run build - Clean compilation
  • npm run smokes - Smoke test suite passes (1 unrelated failure in fetch-url-extraction-smoke.ts)
  • ✅ No changes to default behavior - DuckDuckGo still works out of the box
  • ✅ Backwards compatibility maintained - existing configurations unchanged
  • ✅ Error handling tested - graceful failures when API key missing/invalid

API Key

Get your free You.com API key at: https://you.com/platform/api-keys

Related

Tracking issue: youdotcom-oss/integration-tracking#173

Add You.com as a third optional search provider alongside DuckDuckGo and SearXNG.
This provides enhanced web search with better result quality and higher quotas
for users who have a You.com API key.

Configuration:
- Set EXXETA_SEARCH_PROVIDER=youcom to enable
- Set YOU_API_KEY or YDC_API_KEY with API key from you.com/platform/api-keys
- Graceful fallback when API key is missing or invalid

Implementation:
- Extends SearchProvider type to include 'youcom'
- Adds searchYoucom() function using You.com web search API
- Updates provider selection logic in getProvider()
- Maintains backwards compatibility - DuckDuckGo remains default
- No changes to existing SearXNG or DuckDuckGo functionality

Documentation:
- Updated docs/web-search.md with You.com setup instructions
- Updated docs/operations.md with environment variable reference
- Added configuration examples for both SearXNG and You.com

Signed-off-by: mouse-value-add <mouseparker123@gmail.com>
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