Research a topic by searching the web and academic papers, fetching page content, and producing a structured Markdown research report.
Conduct in-depth research on any topic. Search the web (and academic databases for scholarly topics), fetch and read source content, then compile a well-structured Markdown research report. Follow the steps below in order.
Parse the user's request to determine:
If the request is ambiguous, ask the user to clarify before proceeding.
Based on the topic type, plan your searches:
web_search with 2–3 diverse queries covering different angles.web_search and arxiv to gather web articles and scholarly papers.Formulate 2–4 search queries that cover:
Execute web searches:
web_search(query="<query 1>", count=5)
web_search(query="<query 2>", count=5)
Collect all result URLs and titles. Deduplicate URLs across searches.
For academic or scientific topics, also search arXiv:
arxiv(query="<academic query>", max_results=5)
For important papers, download and read them:
exec(command="mkdir -p research_papers && curl -L -o research_papers/<arxiv_id>.pdf https://arxiv.org/pdf/<arxiv_id>.pdf", timeout=120)
On Windows:
exec(command="if not exist research_papers mkdir research_papers && curl -L -o research_papers/<arxiv_id>.pdf https://arxiv.org/pdf/<arxiv_id>.pdf", timeout=120)
Then extract key content:
pdf_reader(path="research_papers/<arxiv_id>.pdf", start_page=1, end_page=5)
Focus on Abstract, Introduction, and Conclusion sections to extract core findings efficiently.
From the search results in Step 3, select the top 3–5 most relevant URLs and fetch their content:
web_fetch(url="<url>", extractMode="markdown")
For each fetched page:
If a fetch fails, try the next URL from your list. Do not waste iterations on broken links.
Before writing the report, organize your findings:
Compose a comprehensive Markdown report. The report MUST follow this structure:
# [Research Topic Title]
> **研究日期**: [current date, YYYY-MM-DD]
> **研究类型**: [学术研究 / 行业研究 / 综合研究]
> **数据来源**: Web搜索, [arXiv论文 if applicable], 网页内容抓取
---
## 摘要
[A concise 150–300 word executive summary of the key findings.]
## 1. 背景介绍
[Context and background information on the topic. Why is this topic important? What is the current state of the field?]
## 2. 主要发现
### 2.1 [Subtopic / Theme 1]
[Detailed findings with citations.]
### 2.2 [Subtopic / Theme 2]
[Detailed findings with citations.]
### 2.3 [Subtopic / Theme 3]
[Detailed findings with citations.]
[Add more subsections as needed.]
## 3. 学术研究综述
> Include this section ONLY for academic topics.
[Summary of key academic papers found, their methods, and conclusions. Reference specific papers by title and authors.]
| 论文 | 作者 | 年份 | 核心贡献 |
|------|------|------|----------|
| [Paper Title 1] | [Authors] | [Year] | [Key contribution] |
| [Paper Title 2] | [Authors] | [Year] | [Key contribution] |
## 4. 分析与讨论
[Your synthesis of the findings. Identify trends, contradictions, and implications. Compare different viewpoints.]
## 5. 结论与建议
[Concise conclusions based on the research. Actionable recommendations if applicable.]
## 6. 研究局限性
[Note any limitations: topics not fully covered, potential biases in sources, paywalled content that could not be accessed, etc.]
## 参考来源
[List all sources used, formatted as:]
1. [Title](URL) — [brief description of what was extracted]
2. [Title](URL) — [brief description]
3. [Paper Title, Authors, Year](arXiv link) — [brief description]
Adapt the section titles to the user's language. If the user writes in English, use English headings; if in Chinese, use Chinese headings as shown above.
Create the output directory and write the report:
write_file(path="research/<topic_slug>.md", content="<full report markdown>")
Use a URL-safe slug for the filename (e.g. research/llm-fine-tuning-2025.md).
Confirm the file was saved:
list_dir(path="research")
Report to the user:
maxChars parameter to limit content: web_fetch(url="...", maxChars=20000).research/ directory is relative to the workspace root. Create it if it doesn't exist.research_papers/ directory stores downloaded PDFs for academic research. Create it only when needed.web_search returns poor results, try rephrasing the query or using more specific terminology. If arxiv returns no results, the topic may not have academic coverage — note this in the report.