research
"Runs a complete web research query in one call: searches, fetches top pages, and returns an evidence brief with cited URLs."
Instructions
One-call research: search + fetch the top pages and return an evidence brief. Use this instead of chaining search/fetch_page yourself. Pages are selected for domain diversity (top hit per domain, then by rank) so one anti-bot 403 site can't sink the brief. Output: {"query":str,"engine":str,"cached":bool, "overview":{"total":int,"results":[{"id":str,"title":str,"url":str,"snippet":str,"domain":str}]}, "pages":[{"id":str,"url":str,"rank":int,"title":str,"headings":[{level:int,text:str}],"content":str,"length":int,"truncated":bool}|{"url":str,"rank":int,"error":str}]} Base your answer on the pages' content and cite their URLs.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| site | No | Restrict to one domain, e.g. github.com (alias for a single includeDomains entry) | |
| query | Yes | The web search query (required) | |
| region | No | Region hint. DuckDuckGo: kl code (cn-zh, us-en). Bing: setlang. Brave: country | |
| fetchTopN | No | How many of the top results to fetch as full pages (default 2, 0 = overview only) | |
| freshness | No | Only results from the last day|week|month|year (auto-applied as year when a Chinese query drops a 20xx年 year token) | |
| timeRange | No | Exact window "YYYY-MM-DD..YYYY-MM-DD" (takes precedence over freshness) | |
| maxResults | No | Max results (1-20, default from SEARCH_MAX_RESULTS) | |
| extractMode | No | summary = de-noised main text per page (default, token-efficient); full = whole page Markdown | |
| maxPageLength | No | Characters of Markdown kept per page (default 8000) | |
| excludeDomains | No | Never return results from these domains, e.g. [baidu.com] | |
| includeDomains | No | Only return results from these domains, e.g. [github.com, arxiv.org] |