Commands
Search command
Use Brave, Tavily, and Exa together, filter noisy domains, run Exa keyword mode, and understand result formatting.
Basic usage
webctx search "golang http client retries"
The normal search path queries Brave, Tavily, and Exa concurrently. Each provider has a 40-second context timeout. Results are deduplicated, scored, ranked, and returned as markdown links with short summaries.
Output shape
Search output starts with a count, then a list of markdown links:
Total Results: 12
- [Result title](https://go.dev/doc/effective_go)
- Result overview text
The final output is capped at 35 ranked results.
Default excluded domains
webctx excludes common video and social domains by default:
youtube.com
vimeo.com
dailymotion.com
twitch.tv
tiktok.com
instagram.com
facebook.com
This keeps agent-facing search results focused on pages that are more likely to contain readable documentation, articles, issues, or reference content.
Custom exclusions
Add more domains with --exclude:
webctx search "react useEffect cleanup" --exclude medium.com,dev.to
Domain matching normalizes www. and compares hostnames.
Keyword mode
Use --keyword when you want Exa include-text filtering:
webctx search "drizzle orm" --keyword "migration guide"
In keyword mode, webctx queries Exa only. The keyword phrase is truncated to five words before it is sent as includeText.
Provider request details
Brave request behavior:
endpoint: https://api.search.brave.com/res/v1/web/search
limit: 20
result_filter: web
text_decorations: false
Tavily request behavior:
endpoint: https://api.tavily.com/search
max_results: 20
Exa request behavior:
endpoint: https://api.exa.ai/search
numResults: 25
type: auto
contents.livecrawl: preferred