MiroThinker is a deep research agent optimized for complex research and prediction tasks, open-sourced by MiroMindAI on GitHub. Its goal is to match the deep research experience of OpenAI Deep Research and Gemini Deep Research, completing long-chain research tasks through tool-augmented reasoning and real-world information retrieval.
Purpose: MiroThinker is primarily used for complex research, information retrieval, prediction, and agent reasoning on long-chain tasks. It emphasizes "interactive scaling" as a third dimension of performance improvement beyond model scale and context length, by training agents to handle deeper and more frequent agent-environment interactions, and leveraging environmental feedback and external information acquisition to correct errors and optimize trajectories.
Main capabilities: The project provides multiple versions including MiroThinker-1.7, MiroThinker-v1.5, MiroThinker-v1.0, MiroThinker-v0.2, and MiroThinker-v0.1. MiroThinker-1.7 supports a 256K context window, long-horizon reasoning, and multi-step deep analysis, supporting up to 300 tool interactions per task; MiroThinker-v1.5 supports up to 400 tool calls per task; v1.0 supports up to 600 tool calls per task. MiroThinker-1.7 achieves 74.0%, 75.3%, 82.7%, and 42.9% on BrowseComp, BrowseComp-ZH, GAIA-Val-165, and HLE-Text respectively, with BrowseComp-ZH reaching SOTA; MiroThinker-1.7-mini achieves 72.3 on BrowseComp-ZH with only 30B parameters. MiroThinker-H1, as a proprietary agent, leads among open-source and commercial models on BrowseComp and BrowseComp-ZH. The project also includes an open-source agent framework that supports tool integration, trajectory collection (including duration and estimated completion time, in minutes, usable for SFT and DPO), and multi-benchmark evaluation.
Usage: The project provides a quick start guide and a Gradio interactive demo. Installation requires the uv package manager and configuration of the necessary API keys. The minimal .env configuration includes 3 MCP servers, covering the three core capabilities of web search, content extraction, and code execution; the remaining servers are optional enhancements. SUMMARY_LLM can use small models such as Qwen3-14B or GPT-5-Nano, with minimal impact on overall performance. To run benchmark evaluations, an OPENAI_API_KEY (and optionally OPENAI_BASE_URL) is also required for LLM-as-a-Judge. For GAIA multimodal tasks, since MiroThinker is a text-only LLM, GPT-4o is used to preprocess image/audio/video files into text descriptions. For MiroThinker-1.7, the mirothinker_1.7_keep5_max200 configuration is recommended, using keep5_max300 only on BrowseComp and BrowseComp-ZH; MCP servers can be freely combined via YAML files under apps/miroflow-agent/conf/agent/. The keep_tool_result parameter implements a recency-based context retention strategy, retaining only the most recent K tool responses while preserving the complete sequence of thoughts and actions.
Applicable scenarios: complex deep research, web information retrieval and understanding, factual retrieval and reasoning, future event prediction, financial forecasting, long-context decision-intensive tasks, etc.
Limitations: MiroThinker is a text-only LLM, and multimodal tasks require preprocessing with GPT-4o. The training data of MiroThinker-v0.2, MiroVerse-v0.1, is primarily English, with limited Chinese capability. Open-source tools are used by default in evaluations, except for the code tool E2B and the Google search tool Serper; the implementation uses Whisper, Qwen2.5-VL-72B-Instruct, and Qwen3-235B-A22B-Thinking-2507. To prevent information leakage, access to specific websites such as HuggingFace was blocked during evaluation, and canary string testing was performed on the tool outputs of all trajectories, with contaminated trajectories treated as incorrect answers. Performance data is based on tests with this repository and open-source tools, while other agents' results come from their papers and official websites. The best usage is to combine with this repository's tool-augmented agent framework and enable thinking mode.